gfx/skia/trunk/src/gpu/gl/GrGLNoOpInterface.h

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/gfx/skia/trunk/src/gpu/gl/GrGLNoOpInterface.h	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,376 @@
     1.4 +/*
     1.5 + * Copyright 2013 Google Inc.
     1.6 + *
     1.7 + * Use of this source code is governed by a BSD-style license that can be
     1.8 + * found in the LICENSE file.
     1.9 + */
    1.10 +
    1.11 +#ifndef GrGLNoOpInterface_DEFINED
    1.12 +#define GrGLNoOpInterface_DEFINED
    1.13 +
    1.14 +#include "gl/GrGLDefines.h"
    1.15 +#include "gl/GrGLFunctions.h"
    1.16 +
    1.17 +// These are constants/functions that are common to the Null and Debug GL interface implementations.
    1.18 +
    1.19 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLBlendColor(GrGLclampf red,
    1.20 +                                              GrGLclampf green,
    1.21 +                                              GrGLclampf blue,
    1.22 +                                              GrGLclampf alpha);
    1.23 +
    1.24 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLBindFragDataLocation(GrGLuint program,
    1.25 +                                                        GrGLuint colorNumber,
    1.26 +                                                        const GrGLchar* name);
    1.27 +
    1.28 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLBlendFunc(GrGLenum sfactor,
    1.29 +                                             GrGLenum dfactor);
    1.30 +
    1.31 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLBufferSubData(GrGLenum target,
    1.32 +                                                 GrGLintptr offset,
    1.33 +                                                 GrGLsizeiptr size,
    1.34 +                                                 const GrGLvoid* data);
    1.35 +
    1.36 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLClear(GrGLbitfield mask);
    1.37 +
    1.38 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLClearColor(GrGLclampf red,
    1.39 +                                              GrGLclampf green,
    1.40 +                                              GrGLclampf blue,
    1.41 +                                              GrGLclampf alpha);
    1.42 +
    1.43 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLClearStencil(GrGLint s);
    1.44 +
    1.45 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLColorMask(GrGLboolean red,
    1.46 +                                             GrGLboolean green,
    1.47 +                                             GrGLboolean blue,
    1.48 +                                             GrGLboolean alpha);
    1.49 +
    1.50 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLCompileShader(GrGLuint shader);
    1.51 +
    1.52 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLCompressedTexImage2D(GrGLenum target,
    1.53 +                                                        GrGLint level,
    1.54 +                                                        GrGLenum internalformat,
    1.55 +                                                        GrGLsizei width,
    1.56 +                                                        GrGLsizei height,
    1.57 +                                                        GrGLint border,
    1.58 +                                                        GrGLsizei imageSize,
    1.59 +                                                        const GrGLvoid* data);
    1.60 +
    1.61 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLCopyTexSubImage2D(GrGLenum target,
    1.62 +                                                     GrGLint level,
    1.63 +                                                     GrGLint xoffset,
    1.64 +                                                     GrGLint yoffset,
    1.65 +                                                     GrGLint x,
    1.66 +                                                     GrGLint y,
    1.67 +                                                     GrGLsizei width,
    1.68 +                                                     GrGLsizei height);
    1.69 +
    1.70 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLCullFace(GrGLenum mode);
    1.71 +
    1.72 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLDepthMask(GrGLboolean flag);
    1.73 +
    1.74 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLDisable(GrGLenum cap);
    1.75 +
    1.76 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLDisableVertexAttribArray(GrGLuint index);
    1.77 +
    1.78 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLDrawArrays(GrGLenum mode, GrGLint first, GrGLsizei count);
    1.79 +
    1.80 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLDrawBuffer(GrGLenum mode);
    1.81 +
    1.82 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLDrawBuffers(GrGLsizei n,
    1.83 +                                                const GrGLenum* bufs);
    1.84 +
    1.85 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLDrawElements(GrGLenum mode,
    1.86 +                                                GrGLsizei count,
    1.87 +                                                GrGLenum type,
    1.88 +                                                const GrGLvoid* indices);
    1.89 +
    1.90 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLEnable(GrGLenum cap);
    1.91 +
    1.92 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLEnableVertexAttribArray(GrGLuint index);
    1.93 +
    1.94 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLEndQuery(GrGLenum target);
    1.95 +
    1.96 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLFinish();
    1.97 +
    1.98 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLFlush();
    1.99 +
   1.100 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLFrontFace(GrGLenum mode);
   1.101 +
   1.102 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLLoadIdentity();
   1.103 +
   1.104 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLLoadMatrixf(const GrGLfloat*);
   1.105 +
   1.106 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLLineWidth(GrGLfloat width);
   1.107 +
   1.108 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLLinkProgram(GrGLuint program);
   1.109 +
   1.110 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLMatrixMode(GrGLenum);
   1.111 +
   1.112 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLQueryCounter(GrGLuint id,
   1.113 +                                                GrGLenum target);
   1.114 +
   1.115 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLReadBuffer(GrGLenum src);
   1.116 +
   1.117 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLScissor(GrGLint x,
   1.118 +                                           GrGLint y,
   1.119 +                                           GrGLsizei width,
   1.120 +                                           GrGLsizei height);
   1.121 +
   1.122 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLShaderSource(GrGLuint shader,
   1.123 +                                                GrGLsizei count,
   1.124 +#if GR_GL_USE_NEW_SHADER_SOURCE_SIGNATURE
   1.125 +                                                const char* const * str,
   1.126 +#else
   1.127 +                                                const char** str,
   1.128 +#endif
   1.129 +                                                const GrGLint* length);
   1.130 +
   1.131 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLStencilFunc(GrGLenum func, GrGLint ref, GrGLuint mask);
   1.132 +
   1.133 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLStencilFuncSeparate(GrGLenum face,
   1.134 +                                                       GrGLenum func,
   1.135 +                                                       GrGLint ref,
   1.136 +                                                       GrGLuint mask);
   1.137 +
   1.138 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLStencilMask(GrGLuint mask);
   1.139 +
   1.140 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLStencilMaskSeparate(GrGLenum face, GrGLuint mask);
   1.141 +
   1.142 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLStencilOp(GrGLenum fail, GrGLenum zfail, GrGLenum zpass);
   1.143 +
   1.144 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLStencilOpSeparate(GrGLenum face,
   1.145 +                                                     GrGLenum fail,
   1.146 +                                                     GrGLenum zfail,
   1.147 +                                                     GrGLenum zpass);
   1.148 +
   1.149 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLTexImage2D(GrGLenum target,
   1.150 +                                              GrGLint level,
   1.151 +                                              GrGLint internalformat,
   1.152 +                                              GrGLsizei width,
   1.153 +                                              GrGLsizei height,
   1.154 +                                              GrGLint border,
   1.155 +                                              GrGLenum format,
   1.156 +                                              GrGLenum type,
   1.157 +                                              const GrGLvoid* pixels);
   1.158 +
   1.159 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLTexParameteri(GrGLenum target, GrGLenum pname, GrGLint param);
   1.160 +
   1.161 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLTexParameteriv(GrGLenum target,
   1.162 +                                                  GrGLenum pname,
   1.163 +                                                  const GrGLint* params);
   1.164 +
   1.165 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLTexStorage2D(GrGLenum target,
   1.166 +                                                GrGLsizei levels,
   1.167 +                                                GrGLenum internalformat,
   1.168 +                                                GrGLsizei width,
   1.169 +                                                GrGLsizei height);
   1.170 +
   1.171 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLTexGenf(GrGLenum, GrGLenum, GrGLfloat);
   1.172 +
   1.173 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLTexGenfv(GrGLenum, GrGLenum, const GrGLfloat*);
   1.174 +
   1.175 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLTexGeni(GrGLenum, GrGLenum, GrGLint);
   1.176 +
   1.177 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLDiscardFramebuffer(GrGLenum target,
   1.178 +                                                      GrGLsizei numAttachments,
   1.179 +                                                      const GrGLenum* attachments);
   1.180 +
   1.181 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLTexSubImage2D(GrGLenum target,
   1.182 +                                                 GrGLint level,
   1.183 +                                                 GrGLint xoffset,
   1.184 +                                                 GrGLint yoffset,
   1.185 +                                                 GrGLsizei width,
   1.186 +                                                 GrGLsizei height,
   1.187 +                                                 GrGLenum format,
   1.188 +                                                 GrGLenum type,
   1.189 +                                                 const GrGLvoid* pixels);
   1.190 +
   1.191 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform1f(GrGLint location, GrGLfloat v0);
   1.192 +
   1.193 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform1i(GrGLint location, GrGLint v0);
   1.194 +
   1.195 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform1fv(GrGLint location,
   1.196 +                                              GrGLsizei count,
   1.197 +                                              const GrGLfloat* v);
   1.198 +
   1.199 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform1iv(GrGLint location,
   1.200 +                                              GrGLsizei count,
   1.201 +                                              const GrGLint* v);
   1.202 +
   1.203 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform2f(GrGLint location,
   1.204 +                                             GrGLfloat v0,
   1.205 +                                             GrGLfloat v1);
   1.206 +
   1.207 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform2i(GrGLint location, GrGLint v0, GrGLint v1);
   1.208 +
   1.209 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform2fv(GrGLint location,
   1.210 +                                              GrGLsizei count,
   1.211 +                                              const GrGLfloat* v);
   1.212 +
   1.213 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform2iv(GrGLint location,
   1.214 +                                              GrGLsizei count,
   1.215 +                                              const GrGLint* v);
   1.216 +
   1.217 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform3f(GrGLint location,
   1.218 +                                             GrGLfloat v0,
   1.219 +                                             GrGLfloat v1,
   1.220 +                                             GrGLfloat v2);
   1.221 +
   1.222 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform3i(GrGLint location,
   1.223 +                                             GrGLint v0,
   1.224 +                                             GrGLint v1,
   1.225 +                                             GrGLint v2);
   1.226 +
   1.227 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform3fv(GrGLint location,
   1.228 +                                              GrGLsizei count,
   1.229 +                                              const GrGLfloat* v);
   1.230 +
   1.231 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform3iv(GrGLint location,
   1.232 +                                               GrGLsizei count,
   1.233 +                                               const GrGLint* v);
   1.234 +
   1.235 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform4f(GrGLint location,
   1.236 +                                              GrGLfloat v0,
   1.237 +                                              GrGLfloat v1,
   1.238 +                                              GrGLfloat v2,
   1.239 +                                              GrGLfloat v3);
   1.240 +
   1.241 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform4i(GrGLint location,
   1.242 +                                             GrGLint v0,
   1.243 +                                             GrGLint v1,
   1.244 +                                             GrGLint v2,
   1.245 +                                             GrGLint v3);
   1.246 +
   1.247 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform4fv(GrGLint location,
   1.248 +                                              GrGLsizei count,
   1.249 +                                              const GrGLfloat* v);
   1.250 +
   1.251 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform4iv(GrGLint location,
   1.252 +                                              GrGLsizei count,
   1.253 +                                              const GrGLint* v);
   1.254 +
   1.255 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniformMatrix2fv(GrGLint location,
   1.256 +                                                    GrGLsizei count,
   1.257 +                                                    GrGLboolean transpose,
   1.258 +                                                    const GrGLfloat* value);
   1.259 +
   1.260 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniformMatrix3fv(GrGLint location,
   1.261 +                                                    GrGLsizei count,
   1.262 +                                                    GrGLboolean transpose,
   1.263 +                                                    const GrGLfloat* value);
   1.264 +
   1.265 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniformMatrix4fv(GrGLint location,
   1.266 +                                                    GrGLsizei count,
   1.267 +                                                    GrGLboolean transpose,
   1.268 +                                                    const GrGLfloat* value);
   1.269 +
   1.270 + GrGLvoid GR_GL_FUNCTION_TYPE noOpGLVertexAttrib4fv(GrGLuint indx, const GrGLfloat* values);
   1.271 +
   1.272 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLVertexAttribPointer(GrGLuint indx,
   1.273 +                                                       GrGLint size,
   1.274 +                                                       GrGLenum type,
   1.275 +                                                       GrGLboolean normalized,
   1.276 +                                                       GrGLsizei stride,
   1.277 +                                                       const GrGLvoid* ptr);
   1.278 +
   1.279 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLViewport(GrGLint x,
   1.280 +                                            GrGLint y,
   1.281 +                                            GrGLsizei width,
   1.282 +                                            GrGLsizei height);
   1.283 +
   1.284 +  GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetFramebufferAttachmentParameteriv(GrGLenum target,
   1.285 +                                                                         GrGLenum attachment,
   1.286 +                                                                         GrGLenum pname,
   1.287 +                                                                         GrGLint* params);
   1.288 +
   1.289 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetRenderbufferParameteriv(GrGLenum target,
   1.290 +                                                              GrGLenum pname,
   1.291 +                                                              GrGLint* params);
   1.292 +
   1.293 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLRenderbufferStorage(GrGLenum target,
   1.294 +                                                       GrGLenum internalformat,
   1.295 +                                                       GrGLsizei width,
   1.296 +                                                       GrGLsizei height);
   1.297 +
   1.298 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLRenderbufferStorageMultisample(GrGLenum target,
   1.299 +                                                                  GrGLsizei samples,
   1.300 +                                                                  GrGLenum internalformat,
   1.301 +                                                                  GrGLsizei width,
   1.302 +                                                                  GrGLsizei height);
   1.303 +
   1.304 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLBlitFramebuffer(GrGLint srcX0,
   1.305 +                                                   GrGLint srcY0,
   1.306 +                                                   GrGLint srcX1,
   1.307 +                                                   GrGLint srcY1,
   1.308 +                                                   GrGLint dstX0,
   1.309 +                                                   GrGLint dstY0,
   1.310 +                                                   GrGLint dstX1,
   1.311 +                                                   GrGLint dstY1,
   1.312 +                                                   GrGLbitfield mask,
   1.313 +                                                   GrGLenum filter);
   1.314 +
   1.315 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLResolveMultisampleFramebuffer();
   1.316 +
   1.317 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLBindFragDataLocationIndexed(GrGLuint program,
   1.318 +                                                               GrGLuint colorNumber,
   1.319 +                                                               GrGLuint index,
   1.320 +                                                               const GrGLchar * name);
   1.321 +
   1.322 +GrGLenum GR_GL_FUNCTION_TYPE noOpGLCheckFramebufferStatus(GrGLenum target);
   1.323 +
   1.324 +// this function can be used for all glGen*(GLsize i, GLuint*) functions
   1.325 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGenIds(GrGLsizei n, GrGLuint* ids);
   1.326 +
   1.327 +// this function function can be used for all glDelete*(GLsize i, const GLuint*)
   1.328 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLDeleteIds(GrGLsizei n, const GrGLuint* ids);
   1.329 +
   1.330 +GrGLenum GR_GL_FUNCTION_TYPE noOpGLGetError();
   1.331 +
   1.332 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetIntegerv(GrGLenum pname, GrGLint* params);
   1.333 +
   1.334 +// can be used for both the program and shader info logs
   1.335 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetInfoLog(GrGLuint program,
   1.336 +                                              GrGLsizei bufsize,
   1.337 +                                              GrGLsizei* length,
   1.338 +                                              char* infolog);
   1.339 +
   1.340 +// can be used for both the program and shader params
   1.341 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetShaderOrProgramiv(GrGLuint program,
   1.342 +                                                        GrGLenum pname,
   1.343 +                                                        GrGLint* params);
   1.344 +
   1.345 +// Queries on bogus GLs just don't do anything at all. We could potentially make the timers work.
   1.346 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetQueryiv(GrGLenum GLtarget,
   1.347 +                                              GrGLenum pname,
   1.348 +                                              GrGLint *params);
   1.349 +
   1.350 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetQueryObjecti64v(GrGLuint id,
   1.351 +                                                      GrGLenum pname,
   1.352 +                                                      GrGLint64 *params);
   1.353 +
   1.354 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetQueryObjectiv(GrGLuint id, GrGLenum pname, GrGLint *params);
   1.355 +
   1.356 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetQueryObjectui64v(GrGLuint id,
   1.357 +                                                       GrGLenum pname,
   1.358 +                                                       GrGLuint64 *params);
   1.359 +
   1.360 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetQueryObjectuiv(GrGLuint id,
   1.361 +                                                     GrGLenum pname,
   1.362 +                                                     GrGLuint *params);
   1.363 +
   1.364 +const GrGLubyte* GR_GL_FUNCTION_TYPE noOpGLGetString(GrGLenum name);
   1.365 +
   1.366 +const GrGLubyte* GR_GL_FUNCTION_TYPE noOpGLGetStringi(GrGLenum name, GrGLuint i);
   1.367 +
   1.368 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetTexLevelParameteriv(GrGLenum target,
   1.369 +                                                          GrGLint level,
   1.370 +                                                          GrGLenum pname,
   1.371 +                                                          GrGLint* params);
   1.372 +
   1.373 +GrGLint GR_GL_FUNCTION_TYPE noOpGLGetUniformLocation(GrGLuint program, const char* name);
   1.374 +
   1.375 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLInsertEventMarker(GrGLsizei length, const char* marker);
   1.376 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLPushGroupMarker(GrGLsizei length  , const char* marker);
   1.377 +GrGLvoid GR_GL_FUNCTION_TYPE noOpGLPopGroupMarker();
   1.378 +
   1.379 +#endif

mercurial