Index: src/gpu/gl/GrGLTestInterface.cpp |
diff --git a/src/gpu/gl/GrGLTestInterface.cpp b/src/gpu/gl/GrGLTestInterface.cpp |
new file mode 100644 |
index 0000000000000000000000000000000000000000..72009813566daf9a9a06573787c6db521c16e6da |
--- /dev/null |
+++ b/src/gpu/gl/GrGLTestInterface.cpp |
@@ -0,0 +1,320 @@ |
+/* |
+ * Copyright 2016 Google Inc. |
+ * |
+ * Use of this source code is governed by a BSD-style license that can be |
+ * found in the LICENSE file. |
+ */ |
+ |
+#include <functional> |
+#include "GrGLTestInterface.h" |
+ |
+namespace { |
+template<typename R, typename... A> |
+std::function<R(A...)> bind_to_member(GrGLTestInterface* interface, R (GrGLTestInterface::*member)(A...)) { |
+ return [interface, member] (A... a) -> R { return (interface->*member)(a...); }; |
+} |
+} // anonymous namespace |
+ |
+GrGLTestInterface::GrGLTestInterface() { |
+ fFunctions.fActiveTexture = bind_to_member(this, &GrGLTestInterface::activeTexture); |
+ fFunctions.fAttachShader = bind_to_member(this, &GrGLTestInterface::attachShader); |
+ fFunctions.fBeginQuery = bind_to_member(this, &GrGLTestInterface::beginQuery); |
+ fFunctions.fBindAttribLocation = bind_to_member(this, &GrGLTestInterface::bindAttribLocation); |
+ fFunctions.fBindBuffer = bind_to_member(this, &GrGLTestInterface::bindBuffer); |
+ fFunctions.fBindFramebuffer = bind_to_member(this, &GrGLTestInterface::bindFramebuffer); |
+ fFunctions.fBindRenderbuffer = bind_to_member(this, &GrGLTestInterface::bindRenderbuffer); |
+ fFunctions.fBindTexture = bind_to_member(this, &GrGLTestInterface::bindTexture); |
+ fFunctions.fBindFragDataLocation = bind_to_member(this, &GrGLTestInterface::bindFragDataLocation); |
+ fFunctions.fBindFragDataLocationIndexed = bind_to_member(this, &GrGLTestInterface::bindFragDataLocationIndexed); |
+ fFunctions.fBindVertexArray = bind_to_member(this, &GrGLTestInterface::bindVertexArray); |
+ fFunctions.fBlendBarrier = bind_to_member(this, &GrGLTestInterface::blendBarrier); |
+ fFunctions.fBlendColor = bind_to_member(this, &GrGLTestInterface::blendColor); |
+ fFunctions.fBlendEquation = bind_to_member(this, &GrGLTestInterface::blendEquation); |
+ fFunctions.fBlendFunc = bind_to_member(this, &GrGLTestInterface::blendFunc); |
+ fFunctions.fBlitFramebuffer = bind_to_member(this, &GrGLTestInterface::blitFramebuffer); |
+ fFunctions.fBufferData = bind_to_member(this, &GrGLTestInterface::bufferData); |
+ fFunctions.fBufferSubData = bind_to_member(this, &GrGLTestInterface::bufferSubData); |
+ fFunctions.fCheckFramebufferStatus = bind_to_member(this, &GrGLTestInterface::checkFramebufferStatus); |
+ fFunctions.fClear = bind_to_member(this, &GrGLTestInterface::clear); |
+ fFunctions.fClearColor = bind_to_member(this, &GrGLTestInterface::clearColor); |
+ fFunctions.fClearStencil = bind_to_member(this, &GrGLTestInterface::clearStencil); |
+ fFunctions.fColorMask = bind_to_member(this, &GrGLTestInterface::colorMask); |
+ fFunctions.fCompileShader = bind_to_member(this, &GrGLTestInterface::compileShader); |
+ fFunctions.fCompressedTexImage2D = bind_to_member(this, &GrGLTestInterface::compressedTexImage2D); |
+ fFunctions.fCompressedTexSubImage2D = bind_to_member(this, &GrGLTestInterface::compressedTexSubImage2D); |
+ fFunctions.fCopyTexSubImage2D = bind_to_member(this, &GrGLTestInterface::copyTexSubImage2D); |
+ fFunctions.fCreateProgram = bind_to_member(this, &GrGLTestInterface::createProgram); |
+ fFunctions.fCreateShader = bind_to_member(this, &GrGLTestInterface::createShader); |
+ fFunctions.fCullFace = bind_to_member(this, &GrGLTestInterface::cullFace); |
+ fFunctions.fDeleteBuffers = bind_to_member(this, &GrGLTestInterface::deleteBuffers); |
+ fFunctions.fDeleteFramebuffers = bind_to_member(this, &GrGLTestInterface::deleteFramebuffers); |
+ fFunctions.fDeleteProgram = bind_to_member(this, &GrGLTestInterface::deleteProgram); |
+ fFunctions.fDeleteQueries = bind_to_member(this, &GrGLTestInterface::deleteQueries); |
+ fFunctions.fDeleteRenderbuffers = bind_to_member(this, &GrGLTestInterface::deleteRenderbuffers); |
+ fFunctions.fDeleteShader = bind_to_member(this, &GrGLTestInterface::deleteShader); |
+ fFunctions.fDeleteTextures = bind_to_member(this, &GrGLTestInterface::deleteTextures); |
+ fFunctions.fDeleteVertexArrays = bind_to_member(this, &GrGLTestInterface::deleteVertexArrays); |
+ fFunctions.fDepthMask = bind_to_member(this, &GrGLTestInterface::depthMask); |
+ fFunctions.fDisable = bind_to_member(this, &GrGLTestInterface::disable); |
+ fFunctions.fDisableVertexAttribArray = bind_to_member(this, &GrGLTestInterface::disableVertexAttribArray); |
+ fFunctions.fDrawArrays = bind_to_member(this, &GrGLTestInterface::drawArrays); |
+ fFunctions.fDrawArraysInstanced = bind_to_member(this, &GrGLTestInterface::drawArraysInstanced); |
+ fFunctions.fDrawArraysIndirect = bind_to_member(this, &GrGLTestInterface::drawArraysIndirect); |
+ fFunctions.fDrawBuffer = bind_to_member(this, &GrGLTestInterface::drawBuffer); |
+ fFunctions.fDrawBuffers = bind_to_member(this, &GrGLTestInterface::drawBuffers); |
+ fFunctions.fDrawElements = bind_to_member(this, &GrGLTestInterface::drawElements); |
+ fFunctions.fDrawElementsInstanced = bind_to_member(this, &GrGLTestInterface::drawElementsInstanced); |
+ fFunctions.fDrawElementsIndirect = bind_to_member(this, &GrGLTestInterface::drawElementsIndirect); |
+ fFunctions.fEnable = bind_to_member(this, &GrGLTestInterface::enable); |
+ fFunctions.fEnableVertexAttribArray = bind_to_member(this, &GrGLTestInterface::enableVertexAttribArray); |
+ fFunctions.fEndQuery = bind_to_member(this, &GrGLTestInterface::endQuery); |
+ fFunctions.fFinish = bind_to_member(this, &GrGLTestInterface::finish); |
+ fFunctions.fFlush = bind_to_member(this, &GrGLTestInterface::flush); |
+ fFunctions.fFlushMappedBufferRange = bind_to_member(this, &GrGLTestInterface::flushMappedBufferRange); |
+ fFunctions.fFramebufferRenderbuffer = bind_to_member(this, &GrGLTestInterface::framebufferRenderbuffer); |
+ fFunctions.fFramebufferTexture2D = bind_to_member(this, &GrGLTestInterface::framebufferTexture2D); |
+ fFunctions.fFramebufferTexture2DMultisample = bind_to_member(this, &GrGLTestInterface::framebufferTexture2DMultisample); |
+ fFunctions.fFrontFace = bind_to_member(this, &GrGLTestInterface::frontFace); |
+ fFunctions.fGenBuffers = bind_to_member(this, &GrGLTestInterface::genBuffers); |
+ fFunctions.fGenFramebuffers = bind_to_member(this, &GrGLTestInterface::genFramebuffers); |
+ fFunctions.fGenerateMipmap = bind_to_member(this, &GrGLTestInterface::generateMipmap); |
+ fFunctions.fGenQueries = bind_to_member(this, &GrGLTestInterface::genQueries); |
+ fFunctions.fGenRenderbuffers = bind_to_member(this, &GrGLTestInterface::genRenderbuffers); |
+ fFunctions.fGenTextures = bind_to_member(this, &GrGLTestInterface::genTextures); |
+ fFunctions.fGenVertexArrays = bind_to_member(this, &GrGLTestInterface::genVertexArrays); |
+ fFunctions.fGetBufferParameteriv = bind_to_member(this, &GrGLTestInterface::getBufferParameteriv); |
+ fFunctions.fGetError = bind_to_member(this, &GrGLTestInterface::getError); |
+ fFunctions.fGetFramebufferAttachmentParameteriv = bind_to_member(this, &GrGLTestInterface::getFramebufferAttachmentParameteriv); |
+ fFunctions.fGetIntegerv = bind_to_member(this, &GrGLTestInterface::getIntegerv); |
+ fFunctions.fGetMultisamplefv = bind_to_member(this, &GrGLTestInterface::getMultisamplefv); |
+ fFunctions.fGetProgramInfoLog = bind_to_member(this, &GrGLTestInterface::getProgramInfoLog); |
+ fFunctions.fGetProgramiv = bind_to_member(this, &GrGLTestInterface::getProgramiv); |
+ fFunctions.fGetQueryiv = bind_to_member(this, &GrGLTestInterface::getQueryiv); |
+ fFunctions.fGetQueryObjecti64v = bind_to_member(this, &GrGLTestInterface::getQueryObjecti64v); |
+ fFunctions.fGetQueryObjectiv = bind_to_member(this, &GrGLTestInterface::getQueryObjectiv); |
+ fFunctions.fGetQueryObjectui64v = bind_to_member(this, &GrGLTestInterface::getQueryObjectui64v); |
+ fFunctions.fGetQueryObjectuiv = bind_to_member(this, &GrGLTestInterface::getQueryObjectuiv); |
+ fFunctions.fGetRenderbufferParameteriv = bind_to_member(this, &GrGLTestInterface::getRenderbufferParameteriv); |
+ fFunctions.fGetShaderInfoLog = bind_to_member(this, &GrGLTestInterface::getShaderInfoLog); |
+ fFunctions.fGetShaderiv = bind_to_member(this, &GrGLTestInterface::getShaderiv); |
+ fFunctions.fGetShaderPrecisionFormat = bind_to_member(this, &GrGLTestInterface::getShaderPrecisionFormat); |
+ fFunctions.fGetString = bind_to_member(this, &GrGLTestInterface::getString); |
+ fFunctions.fGetStringi = bind_to_member(this, &GrGLTestInterface::getStringi); |
+ fFunctions.fGetTexLevelParameteriv = bind_to_member(this, &GrGLTestInterface::getTexLevelParameteriv); |
+ fFunctions.fGetUniformLocation = bind_to_member(this, &GrGLTestInterface::getUniformLocation); |
+ fFunctions.fInsertEventMarker = bind_to_member(this, &GrGLTestInterface::insertEventMarker); |
+ fFunctions.fInvalidateBufferData = bind_to_member(this, &GrGLTestInterface::invalidateBufferData); |
+ fFunctions.fInvalidateBufferSubData = bind_to_member(this, &GrGLTestInterface::invalidateBufferSubData); |
+ fFunctions.fInvalidateFramebuffer = bind_to_member(this, &GrGLTestInterface::invalidateFramebuffer); |
+ fFunctions.fInvalidateSubFramebuffer = bind_to_member(this, &GrGLTestInterface::invalidateSubFramebuffer); |
+ fFunctions.fInvalidateTexImage = bind_to_member(this, &GrGLTestInterface::invalidateTexImage); |
+ fFunctions.fInvalidateTexSubImage = bind_to_member(this, &GrGLTestInterface::invalidateTexSubImage); |
+ fFunctions.fIsTexture = bind_to_member(this, &GrGLTestInterface::isTexture); |
+ fFunctions.fLineWidth = bind_to_member(this, &GrGLTestInterface::lineWidth); |
+ fFunctions.fLinkProgram = bind_to_member(this, &GrGLTestInterface::linkProgram); |
+ fFunctions.fMapBuffer = bind_to_member(this, &GrGLTestInterface::mapBuffer); |
+ fFunctions.fMapBufferRange = bind_to_member(this, &GrGLTestInterface::mapBufferRange); |
+ fFunctions.fMapBufferSubData = bind_to_member(this, &GrGLTestInterface::mapBufferSubData); |
+ fFunctions.fMapTexSubImage2D = bind_to_member(this, &GrGLTestInterface::mapTexSubImage2D); |
+ fFunctions.fPixelStorei = bind_to_member(this, &GrGLTestInterface::pixelStorei); |
+ fFunctions.fPopGroupMarker = bind_to_member(this, &GrGLTestInterface::popGroupMarker); |
+ fFunctions.fPushGroupMarker = bind_to_member(this, &GrGLTestInterface::pushGroupMarker); |
+ fFunctions.fQueryCounter = bind_to_member(this, &GrGLTestInterface::queryCounter); |
+ fFunctions.fRasterSamples = bind_to_member(this, &GrGLTestInterface::rasterSamples); |
+ fFunctions.fReadBuffer = bind_to_member(this, &GrGLTestInterface::readBuffer); |
+ fFunctions.fReadPixels = bind_to_member(this, &GrGLTestInterface::readPixels); |
+ fFunctions.fRenderbufferStorage = bind_to_member(this, &GrGLTestInterface::renderbufferStorage); |
+ fFunctions.fRenderbufferStorageMultisample = bind_to_member(this, &GrGLTestInterface::renderbufferStorageMultisample); |
+ fFunctions.fResolveMultisampleFramebuffer = bind_to_member(this, &GrGLTestInterface::resolveMultisampleFramebuffer); |
+ fFunctions.fScissor = bind_to_member(this, &GrGLTestInterface::scissor); |
+ fFunctions.fBindUniformLocation = bind_to_member(this, &GrGLTestInterface::bindUniformLocation); |
+ fFunctions.fShaderSource = bind_to_member(this, &GrGLTestInterface::shaderSource); |
+ fFunctions.fStencilFunc = bind_to_member(this, &GrGLTestInterface::stencilFunc); |
+ fFunctions.fStencilFuncSeparate = bind_to_member(this, &GrGLTestInterface::stencilFuncSeparate); |
+ fFunctions.fStencilMask = bind_to_member(this, &GrGLTestInterface::stencilMask); |
+ fFunctions.fStencilMaskSeparate = bind_to_member(this, &GrGLTestInterface::stencilMaskSeparate); |
+ fFunctions.fStencilOp = bind_to_member(this, &GrGLTestInterface::stencilOp); |
+ fFunctions.fStencilOpSeparate = bind_to_member(this, &GrGLTestInterface::stencilOpSeparate); |
+ fFunctions.fTexBuffer = bind_to_member(this, &GrGLTestInterface::texBuffer); |
+ fFunctions.fTexImage2D = bind_to_member(this, &GrGLTestInterface::texImage2D); |
+ fFunctions.fTexParameteri = bind_to_member(this, &GrGLTestInterface::texParameteri); |
+ fFunctions.fTexParameteriv = bind_to_member(this, &GrGLTestInterface::texParameteriv); |
+ fFunctions.fTexStorage2D = bind_to_member(this, &GrGLTestInterface::texStorage2D); |
+ fFunctions.fDiscardFramebuffer = bind_to_member(this, &GrGLTestInterface::discardFramebuffer); |
+ fFunctions.fTexSubImage2D = bind_to_member(this, &GrGLTestInterface::texSubImage2D); |
+ fFunctions.fTextureBarrier = bind_to_member(this, &GrGLTestInterface::textureBarrier); |
+ fFunctions.fUniform1f = bind_to_member(this, &GrGLTestInterface::uniform1f); |
+ fFunctions.fUniform1i = bind_to_member(this, &GrGLTestInterface::uniform1i); |
+ fFunctions.fUniform1fv = bind_to_member(this, &GrGLTestInterface::uniform1fv); |
+ fFunctions.fUniform1iv = bind_to_member(this, &GrGLTestInterface::uniform1iv); |
+ fFunctions.fUniform2f = bind_to_member(this, &GrGLTestInterface::uniform2f); |
+ fFunctions.fUniform2i = bind_to_member(this, &GrGLTestInterface::uniform2i); |
+ fFunctions.fUniform2fv = bind_to_member(this, &GrGLTestInterface::uniform2fv); |
+ fFunctions.fUniform2iv = bind_to_member(this, &GrGLTestInterface::uniform2iv); |
+ fFunctions.fUniform3f = bind_to_member(this, &GrGLTestInterface::uniform3f); |
+ fFunctions.fUniform3i = bind_to_member(this, &GrGLTestInterface::uniform3i); |
+ fFunctions.fUniform3fv = bind_to_member(this, &GrGLTestInterface::uniform3fv); |
+ fFunctions.fUniform3iv = bind_to_member(this, &GrGLTestInterface::uniform3iv); |
+ fFunctions.fUniform4f = bind_to_member(this, &GrGLTestInterface::uniform4f); |
+ fFunctions.fUniform4i = bind_to_member(this, &GrGLTestInterface::uniform4i); |
+ fFunctions.fUniform4fv = bind_to_member(this, &GrGLTestInterface::uniform4fv); |
+ fFunctions.fUniform4iv = bind_to_member(this, &GrGLTestInterface::uniform4iv); |
+ fFunctions.fUniformMatrix2fv = bind_to_member(this, &GrGLTestInterface::uniformMatrix2fv); |
+ fFunctions.fUniformMatrix3fv = bind_to_member(this, &GrGLTestInterface::uniformMatrix3fv); |
+ fFunctions.fUniformMatrix4fv = bind_to_member(this, &GrGLTestInterface::uniformMatrix4fv); |
+ fFunctions.fUnmapBuffer = bind_to_member(this, &GrGLTestInterface::unmapBuffer); |
+ fFunctions.fUnmapBufferSubData = bind_to_member(this, &GrGLTestInterface::unmapBufferSubData); |
+ fFunctions.fUnmapTexSubImage2D = bind_to_member(this, &GrGLTestInterface::unmapTexSubImage2D); |
+ fFunctions.fUseProgram = bind_to_member(this, &GrGLTestInterface::useProgram); |
+ fFunctions.fVertexAttrib1f = bind_to_member(this, &GrGLTestInterface::vertexAttrib1f); |
+ fFunctions.fVertexAttrib2fv = bind_to_member(this, &GrGLTestInterface::vertexAttrib2fv); |
+ fFunctions.fVertexAttrib3fv = bind_to_member(this, &GrGLTestInterface::vertexAttrib3fv); |
+ fFunctions.fVertexAttrib4fv = bind_to_member(this, &GrGLTestInterface::vertexAttrib4fv); |
+ fFunctions.fVertexAttribDivisor = bind_to_member(this, &GrGLTestInterface::vertexAttribDivisor); |
+ fFunctions.fVertexAttribIPointer = bind_to_member(this, &GrGLTestInterface::vertexAttribIPointer); |
+ fFunctions.fVertexAttribPointer = bind_to_member(this, &GrGLTestInterface::vertexAttribPointer); |
+ fFunctions.fViewport = bind_to_member(this, &GrGLTestInterface::viewport); |
+ fFunctions.fMatrixLoadf = bind_to_member(this, &GrGLTestInterface::matrixLoadf); |
+ fFunctions.fMatrixLoadIdentity = bind_to_member(this, &GrGLTestInterface::matrixLoadIdentity); |
+ fFunctions.fPathCommands = bind_to_member(this, &GrGLTestInterface::pathCommands); |
+ fFunctions.fPathParameteri = bind_to_member(this, &GrGLTestInterface::pathParameteri); |
+ fFunctions.fPathParameterf = bind_to_member(this, &GrGLTestInterface::pathParameterf); |
+ fFunctions.fGenPaths = bind_to_member(this, &GrGLTestInterface::genPaths); |
+ fFunctions.fDeletePaths = bind_to_member(this, &GrGLTestInterface::deletePaths); |
+ fFunctions.fIsPath = bind_to_member(this, &GrGLTestInterface::isPath); |
+ fFunctions.fPathStencilFunc = bind_to_member(this, &GrGLTestInterface::pathStencilFunc); |
+ fFunctions.fStencilFillPath = bind_to_member(this, &GrGLTestInterface::stencilFillPath); |
+ fFunctions.fStencilStrokePath = bind_to_member(this, &GrGLTestInterface::stencilStrokePath); |
+ fFunctions.fStencilFillPathInstanced = bind_to_member(this, &GrGLTestInterface::stencilFillPathInstanced); |
+ fFunctions.fStencilStrokePathInstanced = bind_to_member(this, &GrGLTestInterface::stencilStrokePathInstanced); |
+ fFunctions.fCoverFillPath = bind_to_member(this, &GrGLTestInterface::coverFillPath); |
+ fFunctions.fCoverStrokePath = bind_to_member(this, &GrGLTestInterface::coverStrokePath); |
+ fFunctions.fCoverFillPathInstanced = bind_to_member(this, &GrGLTestInterface::coverFillPathInstanced); |
+ fFunctions.fCoverStrokePathInstanced = bind_to_member(this, &GrGLTestInterface::coverStrokePathInstanced); |
+ fFunctions.fStencilThenCoverFillPath = bind_to_member(this, &GrGLTestInterface::stencilThenCoverFillPath); |
+ fFunctions.fStencilThenCoverStrokePath = bind_to_member(this, &GrGLTestInterface::stencilThenCoverStrokePath); |
+ fFunctions.fStencilThenCoverFillPathInstanced = bind_to_member(this, &GrGLTestInterface::stencilThenCoverFillPathInstanced); |
+ fFunctions.fStencilThenCoverStrokePathInstanced = bind_to_member(this, &GrGLTestInterface::stencilThenCoverStrokePathInstanced); |
+ fFunctions.fProgramPathFragmentInputGen = bind_to_member(this, &GrGLTestInterface::programPathFragmentInputGen); |
+ fFunctions.fBindFragmentInputLocation = bind_to_member(this, &GrGLTestInterface::bindFragmentInputLocation); |
+ fFunctions.fGetProgramResourceLocation = bind_to_member(this, &GrGLTestInterface::getProgramResourceLocation); |
+ fFunctions.fCoverageModulation = bind_to_member(this, &GrGLTestInterface::coverageModulation); |
+ fFunctions.fMultiDrawArraysIndirect = bind_to_member(this, &GrGLTestInterface::multiDrawArraysIndirect); |
+ fFunctions.fMultiDrawElementsIndirect = bind_to_member(this, &GrGLTestInterface::multiDrawElementsIndirect); |
+ fFunctions.fGetTextureHandle = bind_to_member(this, &GrGLTestInterface::getTextureHandle); |
+ fFunctions.fGetTextureSamplerHandle = bind_to_member(this, &GrGLTestInterface::getTextureSamplerHandle); |
+ fFunctions.fMakeTextureHandleResident = bind_to_member(this, &GrGLTestInterface::makeTextureHandleResident); |
+ fFunctions.fMakeTextureHandleNonResident = bind_to_member(this, &GrGLTestInterface::makeTextureHandleNonResident); |
+ fFunctions.fGetImageHandle = bind_to_member(this, &GrGLTestInterface::getImageHandle); |
+ fFunctions.fMakeImageHandleResident = bind_to_member(this, &GrGLTestInterface::makeImageHandleResident); |
+ fFunctions.fMakeImageHandleNonResident = bind_to_member(this, &GrGLTestInterface::makeImageHandleNonResident); |
+ fFunctions.fIsTextureHandleResident = bind_to_member(this, &GrGLTestInterface::isTextureHandleResident); |
+ fFunctions.fIsImageHandleResident = bind_to_member(this, &GrGLTestInterface::isImageHandleResident); |
+ fFunctions.fUniformHandleui64 = bind_to_member(this, &GrGLTestInterface::uniformHandleui64); |
+ fFunctions.fUniformHandleui64v = bind_to_member(this, &GrGLTestInterface::uniformHandleui64v); |
+ fFunctions.fProgramUniformHandleui64 = bind_to_member(this, &GrGLTestInterface::programUniformHandleui64); |
+ fFunctions.fProgramUniformHandleui64v = bind_to_member(this, &GrGLTestInterface::programUniformHandleui64v); |
+ fFunctions.fTextureParameteri = bind_to_member(this, &GrGLTestInterface::textureParameteri); |
+ fFunctions.fTextureParameteriv = bind_to_member(this, &GrGLTestInterface::textureParameteriv); |
+ fFunctions.fTextureParameterf = bind_to_member(this, &GrGLTestInterface::textureParameterf); |
+ fFunctions.fTextureParameterfv = bind_to_member(this, &GrGLTestInterface::textureParameterfv); |
+ fFunctions.fTextureImage1D = bind_to_member(this, &GrGLTestInterface::textureImage1D); |
+ fFunctions.fTextureImage2D = bind_to_member(this, &GrGLTestInterface::textureImage2D); |
+ fFunctions.fTextureSubImage1D = bind_to_member(this, &GrGLTestInterface::textureSubImage1D); |
+ fFunctions.fTextureSubImage2D = bind_to_member(this, &GrGLTestInterface::textureSubImage2D); |
+ fFunctions.fCopyTextureImage1D = bind_to_member(this, &GrGLTestInterface::copyTextureImage1D); |
+ fFunctions.fCopyTextureImage2D = bind_to_member(this, &GrGLTestInterface::copyTextureImage2D); |
+ fFunctions.fCopyTextureSubImage1D = bind_to_member(this, &GrGLTestInterface::copyTextureSubImage1D); |
+ fFunctions.fCopyTextureSubImage2D = bind_to_member(this, &GrGLTestInterface::copyTextureSubImage2D); |
+ fFunctions.fGetTextureImage = bind_to_member(this, &GrGLTestInterface::getTextureImage); |
+ fFunctions.fGetTextureParameterfv = bind_to_member(this, &GrGLTestInterface::getTextureParameterfv); |
+ fFunctions.fGetTextureParameteriv = bind_to_member(this, &GrGLTestInterface::getTextureParameteriv); |
+ fFunctions.fGetTextureLevelParameterfv = bind_to_member(this, &GrGLTestInterface::getTextureLevelParameterfv); |
+ fFunctions.fGetTextureLevelParameteriv = bind_to_member(this, &GrGLTestInterface::getTextureLevelParameteriv); |
+ fFunctions.fTextureImage3D = bind_to_member(this, &GrGLTestInterface::textureImage3D); |
+ fFunctions.fTextureSubImage3D = bind_to_member(this, &GrGLTestInterface::textureSubImage3D); |
+ fFunctions.fCopyTextureSubImage3D = bind_to_member(this, &GrGLTestInterface::copyTextureSubImage3D); |
+ fFunctions.fCompressedTextureImage3D = bind_to_member(this, &GrGLTestInterface::compressedTextureImage3D); |
+ fFunctions.fCompressedTextureImage2D = bind_to_member(this, &GrGLTestInterface::compressedTextureImage2D); |
+ fFunctions.fCompressedTextureImage1D = bind_to_member(this, &GrGLTestInterface::compressedTextureImage1D); |
+ fFunctions.fCompressedTextureSubImage3D = bind_to_member(this, &GrGLTestInterface::compressedTextureSubImage3D); |
+ fFunctions.fCompressedTextureSubImage2D = bind_to_member(this, &GrGLTestInterface::compressedTextureSubImage2D); |
+ fFunctions.fCompressedTextureSubImage1D = bind_to_member(this, &GrGLTestInterface::compressedTextureSubImage1D); |
+ fFunctions.fGetCompressedTextureImage = bind_to_member(this, &GrGLTestInterface::getCompressedTextureImage); |
+ fFunctions.fNamedBufferData = bind_to_member(this, &GrGLTestInterface::namedBufferData); |
+ fFunctions.fNamedBufferSubData = bind_to_member(this, &GrGLTestInterface::namedBufferSubData); |
+ fFunctions.fMapNamedBuffer = bind_to_member(this, &GrGLTestInterface::mapNamedBuffer); |
+ fFunctions.fUnmapNamedBuffer = bind_to_member(this, &GrGLTestInterface::unmapNamedBuffer); |
+ fFunctions.fGetNamedBufferParameteriv = bind_to_member(this, &GrGLTestInterface::getNamedBufferParameteriv); |
+ fFunctions.fGetNamedBufferPointerv = bind_to_member(this, &GrGLTestInterface::getNamedBufferPointerv); |
+ fFunctions.fGetNamedBufferSubData = bind_to_member(this, &GrGLTestInterface::getNamedBufferSubData); |
+ fFunctions.fProgramUniform1f = bind_to_member(this, &GrGLTestInterface::programUniform1f); |
+ fFunctions.fProgramUniform2f = bind_to_member(this, &GrGLTestInterface::programUniform2f); |
+ fFunctions.fProgramUniform3f = bind_to_member(this, &GrGLTestInterface::programUniform3f); |
+ fFunctions.fProgramUniform4f = bind_to_member(this, &GrGLTestInterface::programUniform4f); |
+ fFunctions.fProgramUniform1i = bind_to_member(this, &GrGLTestInterface::programUniform1i); |
+ fFunctions.fProgramUniform2i = bind_to_member(this, &GrGLTestInterface::programUniform2i); |
+ fFunctions.fProgramUniform3i = bind_to_member(this, &GrGLTestInterface::programUniform3i); |
+ fFunctions.fProgramUniform4i = bind_to_member(this, &GrGLTestInterface::programUniform4i); |
+ fFunctions.fProgramUniform1fv = bind_to_member(this, &GrGLTestInterface::programUniform1fv); |
+ fFunctions.fProgramUniform2fv = bind_to_member(this, &GrGLTestInterface::programUniform2fv); |
+ fFunctions.fProgramUniform3fv = bind_to_member(this, &GrGLTestInterface::programUniform3fv); |
+ fFunctions.fProgramUniform4fv = bind_to_member(this, &GrGLTestInterface::programUniform4fv); |
+ fFunctions.fProgramUniform1iv = bind_to_member(this, &GrGLTestInterface::programUniform1iv); |
+ fFunctions.fProgramUniform2iv = bind_to_member(this, &GrGLTestInterface::programUniform2iv); |
+ fFunctions.fProgramUniform3iv = bind_to_member(this, &GrGLTestInterface::programUniform3iv); |
+ fFunctions.fProgramUniform4iv = bind_to_member(this, &GrGLTestInterface::programUniform4iv); |
+ fFunctions.fProgramUniformMatrix2fv = bind_to_member(this, &GrGLTestInterface::programUniformMatrix2fv); |
+ fFunctions.fProgramUniformMatrix3fv = bind_to_member(this, &GrGLTestInterface::programUniformMatrix3fv); |
+ fFunctions.fProgramUniformMatrix4fv = bind_to_member(this, &GrGLTestInterface::programUniformMatrix4fv); |
+ fFunctions.fProgramUniformMatrix2x3fv = bind_to_member(this, &GrGLTestInterface::programUniformMatrix2x3fv); |
+ fFunctions.fProgramUniformMatrix3x2fv = bind_to_member(this, &GrGLTestInterface::programUniformMatrix3x2fv); |
+ fFunctions.fProgramUniformMatrix2x4fv = bind_to_member(this, &GrGLTestInterface::programUniformMatrix2x4fv); |
+ fFunctions.fProgramUniformMatrix4x2fv = bind_to_member(this, &GrGLTestInterface::programUniformMatrix4x2fv); |
+ fFunctions.fProgramUniformMatrix3x4fv = bind_to_member(this, &GrGLTestInterface::programUniformMatrix3x4fv); |
+ fFunctions.fProgramUniformMatrix4x3fv = bind_to_member(this, &GrGLTestInterface::programUniformMatrix4x3fv); |
+ fFunctions.fNamedRenderbufferStorage = bind_to_member(this, &GrGLTestInterface::namedRenderbufferStorage); |
+ fFunctions.fGetNamedRenderbufferParameteriv = bind_to_member(this, &GrGLTestInterface::getNamedRenderbufferParameteriv); |
+ fFunctions.fNamedRenderbufferStorageMultisample = bind_to_member(this, &GrGLTestInterface::namedRenderbufferStorageMultisample); |
+ fFunctions.fCheckNamedFramebufferStatus = bind_to_member(this, &GrGLTestInterface::checkNamedFramebufferStatus); |
+ fFunctions.fNamedFramebufferTexture1D = bind_to_member(this, &GrGLTestInterface::namedFramebufferTexture1D); |
+ fFunctions.fNamedFramebufferTexture2D = bind_to_member(this, &GrGLTestInterface::namedFramebufferTexture2D); |
+ fFunctions.fNamedFramebufferTexture3D = bind_to_member(this, &GrGLTestInterface::namedFramebufferTexture3D); |
+ fFunctions.fNamedFramebufferRenderbuffer = bind_to_member(this, &GrGLTestInterface::namedFramebufferRenderbuffer); |
+ fFunctions.fGetNamedFramebufferAttachmentParameteriv = bind_to_member(this, &GrGLTestInterface::getNamedFramebufferAttachmentParameteriv); |
+ fFunctions.fGenerateTextureMipmap = bind_to_member(this, &GrGLTestInterface::generateTextureMipmap); |
+ fFunctions.fFramebufferDrawBuffer = bind_to_member(this, &GrGLTestInterface::framebufferDrawBuffer); |
+ fFunctions.fFramebufferDrawBuffers = bind_to_member(this, &GrGLTestInterface::framebufferDrawBuffers); |
+ fFunctions.fFramebufferReadBuffer = bind_to_member(this, &GrGLTestInterface::framebufferReadBuffer); |
+ fFunctions.fGetFramebufferParameteriv = bind_to_member(this, &GrGLTestInterface::getFramebufferParameteriv); |
+ fFunctions.fNamedCopyBufferSubData = bind_to_member(this, &GrGLTestInterface::namedCopyBufferSubData); |
+ fFunctions.fVertexArrayVertexOffset = bind_to_member(this, &GrGLTestInterface::vertexArrayVertexOffset); |
+ fFunctions.fVertexArrayColorOffset = bind_to_member(this, &GrGLTestInterface::vertexArrayColorOffset); |
+ fFunctions.fVertexArrayEdgeFlagOffset = bind_to_member(this, &GrGLTestInterface::vertexArrayEdgeFlagOffset); |
+ fFunctions.fVertexArrayIndexOffset = bind_to_member(this, &GrGLTestInterface::vertexArrayIndexOffset); |
+ fFunctions.fVertexArrayNormalOffset = bind_to_member(this, &GrGLTestInterface::vertexArrayNormalOffset); |
+ fFunctions.fVertexArrayTexCoordOffset = bind_to_member(this, &GrGLTestInterface::vertexArrayTexCoordOffset); |
+ fFunctions.fVertexArrayMultiTexCoordOffset = bind_to_member(this, &GrGLTestInterface::vertexArrayMultiTexCoordOffset); |
+ fFunctions.fVertexArrayFogCoordOffset = bind_to_member(this, &GrGLTestInterface::vertexArrayFogCoordOffset); |
+ fFunctions.fVertexArraySecondaryColorOffset = bind_to_member(this, &GrGLTestInterface::vertexArraySecondaryColorOffset); |
+ fFunctions.fVertexArrayVertexAttribOffset = bind_to_member(this, &GrGLTestInterface::vertexArrayVertexAttribOffset); |
+ fFunctions.fVertexArrayVertexAttribIOffset = bind_to_member(this, &GrGLTestInterface::vertexArrayVertexAttribIOffset); |
+ fFunctions.fEnableVertexArray = bind_to_member(this, &GrGLTestInterface::enableVertexArray); |
+ fFunctions.fDisableVertexArray = bind_to_member(this, &GrGLTestInterface::disableVertexArray); |
+ fFunctions.fEnableVertexArrayAttrib = bind_to_member(this, &GrGLTestInterface::enableVertexArrayAttrib); |
+ fFunctions.fDisableVertexArrayAttrib = bind_to_member(this, &GrGLTestInterface::disableVertexArrayAttrib); |
+ fFunctions.fGetVertexArrayIntegerv = bind_to_member(this, &GrGLTestInterface::getVertexArrayIntegerv); |
+ fFunctions.fGetVertexArrayPointerv = bind_to_member(this, &GrGLTestInterface::getVertexArrayPointerv); |
+ fFunctions.fGetVertexArrayIntegeri_v = bind_to_member(this, &GrGLTestInterface::getVertexArrayIntegeri_v); |
+ fFunctions.fGetVertexArrayPointeri_v = bind_to_member(this, &GrGLTestInterface::getVertexArrayPointeri_v); |
+ fFunctions.fMapNamedBufferRange = bind_to_member(this, &GrGLTestInterface::mapNamedBufferRange); |
+ fFunctions.fFlushMappedNamedBufferRange = bind_to_member(this, &GrGLTestInterface::flushMappedNamedBufferRange); |
+ fFunctions.fTextureBuffer = bind_to_member(this, &GrGLTestInterface::textureBuffer); |
+ fFunctions.fDebugMessageControl = bind_to_member(this, &GrGLTestInterface::debugMessageControl); |
+ fFunctions.fDebugMessageInsert = bind_to_member(this, &GrGLTestInterface::debugMessageInsert); |
+ fFunctions.fDebugMessageCallback = bind_to_member(this, &GrGLTestInterface::debugMessageCallback); |
+ fFunctions.fGetDebugMessageLog = bind_to_member(this, &GrGLTestInterface::getDebugMessageLog); |
+ fFunctions.fPushDebugGroup = bind_to_member(this, &GrGLTestInterface::pushDebugGroup); |
+ fFunctions.fPopDebugGroup = bind_to_member(this, &GrGLTestInterface::popDebugGroup); |
+ fFunctions.fObjectLabel = bind_to_member(this, &GrGLTestInterface::objectLabel); |
+} |