| /* |
| * Copyright 2013 Google Inc. |
| * |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| */ |
| |
| #ifndef GrGLNoOpInterface_DEFINED |
| #define GrGLNoOpInterface_DEFINED |
| |
| #include "gl/GrGLDefines.h" |
| #include "gl/GrGLFunctions.h" |
| |
| // These are constants/functions that are common to the Null and Debug GL interface implementations. |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLBlendColor(GrGLclampf red, |
| GrGLclampf green, |
| GrGLclampf blue, |
| GrGLclampf alpha); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLBindFragDataLocation(GrGLuint program, |
| GrGLuint colorNumber, |
| const GrGLchar* name); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLBlendFunc(GrGLenum sfactor, |
| GrGLenum dfactor); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLBufferSubData(GrGLenum target, |
| GrGLintptr offset, |
| GrGLsizeiptr size, |
| const GrGLvoid* data); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLClear(GrGLbitfield mask); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLClearColor(GrGLclampf red, |
| GrGLclampf green, |
| GrGLclampf blue, |
| GrGLclampf alpha); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLClearStencil(GrGLint s); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLColorMask(GrGLboolean red, |
| GrGLboolean green, |
| GrGLboolean blue, |
| GrGLboolean alpha); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLCompileShader(GrGLuint shader); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLCompressedTexImage2D(GrGLenum target, |
| GrGLint level, |
| GrGLenum internalformat, |
| GrGLsizei width, |
| GrGLsizei height, |
| GrGLint border, |
| GrGLsizei imageSize, |
| const GrGLvoid* data); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLCompressedTexSubImage2D(GrGLenum target, |
| GrGLint level, |
| GrGLint xoffset, |
| GrGLint yoffset, |
| GrGLsizei width, |
| GrGLsizei height, |
| GrGLenum format, |
| GrGLsizei imageSize, |
| const GrGLvoid* data); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLCopyTexSubImage2D(GrGLenum target, |
| GrGLint level, |
| GrGLint xoffset, |
| GrGLint yoffset, |
| GrGLint x, |
| GrGLint y, |
| GrGLsizei width, |
| GrGLsizei height); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLCullFace(GrGLenum mode); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLDepthMask(GrGLboolean flag); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLDisable(GrGLenum cap); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLDisableVertexAttribArray(GrGLuint index); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLDrawArrays(GrGLenum mode, GrGLint first, GrGLsizei count); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLDrawBuffer(GrGLenum mode); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLDrawBuffers(GrGLsizei n, |
| const GrGLenum* bufs); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLDrawElements(GrGLenum mode, |
| GrGLsizei count, |
| GrGLenum type, |
| const GrGLvoid* indices); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLEnable(GrGLenum cap); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLEnableVertexAttribArray(GrGLuint index); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLEndQuery(GrGLenum target); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLFinish(); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLFlush(); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLFrontFace(GrGLenum mode); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLMatrixLoadf(GrGLenum, const GrGLfloat*); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLMatrixLoadIdentity(GrGLenum); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLLineWidth(GrGLfloat width); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLLinkProgram(GrGLuint program); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLQueryCounter(GrGLuint id, |
| GrGLenum target); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLReadBuffer(GrGLenum src); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLScissor(GrGLint x, |
| GrGLint y, |
| GrGLsizei width, |
| GrGLsizei height); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLShaderSource(GrGLuint shader, |
| GrGLsizei count, |
| #if GR_GL_USE_NEW_SHADER_SOURCE_SIGNATURE |
| const char* const * str, |
| #else |
| const char** str, |
| #endif |
| const GrGLint* length); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLStencilFunc(GrGLenum func, GrGLint ref, GrGLuint mask); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLStencilFuncSeparate(GrGLenum face, |
| GrGLenum func, |
| GrGLint ref, |
| GrGLuint mask); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLStencilMask(GrGLuint mask); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLStencilMaskSeparate(GrGLenum face, GrGLuint mask); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLStencilOp(GrGLenum fail, GrGLenum zfail, GrGLenum zpass); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLStencilOpSeparate(GrGLenum face, |
| GrGLenum fail, |
| GrGLenum zfail, |
| GrGLenum zpass); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLTexImage2D(GrGLenum target, |
| GrGLint level, |
| GrGLint internalformat, |
| GrGLsizei width, |
| GrGLsizei height, |
| GrGLint border, |
| GrGLenum format, |
| GrGLenum type, |
| const GrGLvoid* pixels); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLTexParameteri(GrGLenum target, GrGLenum pname, GrGLint param); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLTexParameteriv(GrGLenum target, |
| GrGLenum pname, |
| const GrGLint* params); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLTexStorage2D(GrGLenum target, |
| GrGLsizei levels, |
| GrGLenum internalformat, |
| GrGLsizei width, |
| GrGLsizei height); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLDiscardFramebuffer(GrGLenum target, |
| GrGLsizei numAttachments, |
| const GrGLenum* attachments); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLTexSubImage2D(GrGLenum target, |
| GrGLint level, |
| GrGLint xoffset, |
| GrGLint yoffset, |
| GrGLsizei width, |
| GrGLsizei height, |
| GrGLenum format, |
| GrGLenum type, |
| const GrGLvoid* pixels); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform1f(GrGLint location, GrGLfloat v0); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform1i(GrGLint location, GrGLint v0); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform1fv(GrGLint location, |
| GrGLsizei count, |
| const GrGLfloat* v); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform1iv(GrGLint location, |
| GrGLsizei count, |
| const GrGLint* v); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform2f(GrGLint location, |
| GrGLfloat v0, |
| GrGLfloat v1); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform2i(GrGLint location, GrGLint v0, GrGLint v1); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform2fv(GrGLint location, |
| GrGLsizei count, |
| const GrGLfloat* v); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform2iv(GrGLint location, |
| GrGLsizei count, |
| const GrGLint* v); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform3f(GrGLint location, |
| GrGLfloat v0, |
| GrGLfloat v1, |
| GrGLfloat v2); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform3i(GrGLint location, |
| GrGLint v0, |
| GrGLint v1, |
| GrGLint v2); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform3fv(GrGLint location, |
| GrGLsizei count, |
| const GrGLfloat* v); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform3iv(GrGLint location, |
| GrGLsizei count, |
| const GrGLint* v); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform4f(GrGLint location, |
| GrGLfloat v0, |
| GrGLfloat v1, |
| GrGLfloat v2, |
| GrGLfloat v3); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform4i(GrGLint location, |
| GrGLint v0, |
| GrGLint v1, |
| GrGLint v2, |
| GrGLint v3); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform4fv(GrGLint location, |
| GrGLsizei count, |
| const GrGLfloat* v); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniform4iv(GrGLint location, |
| GrGLsizei count, |
| const GrGLint* v); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniformMatrix2fv(GrGLint location, |
| GrGLsizei count, |
| GrGLboolean transpose, |
| const GrGLfloat* value); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniformMatrix3fv(GrGLint location, |
| GrGLsizei count, |
| GrGLboolean transpose, |
| const GrGLfloat* value); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLUniformMatrix4fv(GrGLint location, |
| GrGLsizei count, |
| GrGLboolean transpose, |
| const GrGLfloat* value); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLVertexAttrib4fv(GrGLuint indx, const GrGLfloat* values); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLVertexAttribPointer(GrGLuint indx, |
| GrGLint size, |
| GrGLenum type, |
| GrGLboolean normalized, |
| GrGLsizei stride, |
| const GrGLvoid* ptr); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLViewport(GrGLint x, |
| GrGLint y, |
| GrGLsizei width, |
| GrGLsizei height); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetFramebufferAttachmentParameteriv(GrGLenum target, |
| GrGLenum attachment, |
| GrGLenum pname, |
| GrGLint* params); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetRenderbufferParameteriv(GrGLenum target, |
| GrGLenum pname, |
| GrGLint* params); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLRenderbufferStorage(GrGLenum target, |
| GrGLenum internalformat, |
| GrGLsizei width, |
| GrGLsizei height); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLRenderbufferStorageMultisample(GrGLenum target, |
| GrGLsizei samples, |
| GrGLenum internalformat, |
| GrGLsizei width, |
| GrGLsizei height); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLBlitFramebuffer(GrGLint srcX0, |
| GrGLint srcY0, |
| GrGLint srcX1, |
| GrGLint srcY1, |
| GrGLint dstX0, |
| GrGLint dstY0, |
| GrGLint dstX1, |
| GrGLint dstY1, |
| GrGLbitfield mask, |
| GrGLenum filter); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLResolveMultisampleFramebuffer(); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLBindFragDataLocationIndexed(GrGLuint program, |
| GrGLuint colorNumber, |
| GrGLuint index, |
| const GrGLchar * name); |
| |
| GrGLenum GR_GL_FUNCTION_TYPE noOpGLCheckFramebufferStatus(GrGLenum target); |
| |
| // this function can be used for all glGen*(GLsize i, GLuint*) functions |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGenIds(GrGLsizei n, GrGLuint* ids); |
| |
| // this function function can be used for all glDelete*(GLsize i, const GLuint*) |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLDeleteIds(GrGLsizei n, const GrGLuint* ids); |
| |
| GrGLenum GR_GL_FUNCTION_TYPE noOpGLGetError(); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetIntegerv(GrGLenum pname, GrGLint* params); |
| |
| // can be used for both the program and shader info logs |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetInfoLog(GrGLuint program, |
| GrGLsizei bufsize, |
| GrGLsizei* length, |
| char* infolog); |
| |
| // can be used for both the program and shader params |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetShaderOrProgramiv(GrGLuint program, |
| GrGLenum pname, |
| GrGLint* params); |
| |
| // Queries on bogus GLs just don't do anything at all. We could potentially make the timers work. |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetQueryiv(GrGLenum GLtarget, |
| GrGLenum pname, |
| GrGLint *params); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetQueryObjecti64v(GrGLuint id, |
| GrGLenum pname, |
| GrGLint64 *params); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetQueryObjectiv(GrGLuint id, GrGLenum pname, GrGLint *params); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetQueryObjectui64v(GrGLuint id, |
| GrGLenum pname, |
| GrGLuint64 *params); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetQueryObjectuiv(GrGLuint id, |
| GrGLenum pname, |
| GrGLuint *params); |
| |
| const GrGLubyte* GR_GL_FUNCTION_TYPE noOpGLGetString(GrGLenum name); |
| |
| const GrGLubyte* GR_GL_FUNCTION_TYPE noOpGLGetStringi(GrGLenum name, GrGLuint i); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLGetTexLevelParameteriv(GrGLenum target, |
| GrGLint level, |
| GrGLenum pname, |
| GrGLint* params); |
| |
| GrGLint GR_GL_FUNCTION_TYPE noOpGLGetUniformLocation(GrGLuint program, const char* name); |
| |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLInsertEventMarker(GrGLsizei length, const char* marker); |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLPushGroupMarker(GrGLsizei length , const char* marker); |
| GrGLvoid GR_GL_FUNCTION_TYPE noOpGLPopGroupMarker(); |
| |
| #endif |