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