diff --git a/renderdoc/driver/gl/gl_common.cpp b/renderdoc/driver/gl/gl_common.cpp index 77cedc946..d42b7e800 100644 --- a/renderdoc/driver/gl/gl_common.cpp +++ b/renderdoc/driver/gl/gl_common.cpp @@ -165,6 +165,8 @@ bool ValidateFunctionPointers(const GLHookSet &real) // these functions should all be present as part of a 3.2 context plus the extensions we require, // but let's just be extra-careful + + // both GL and GLES, some of them are emulated CHECK_PRESENT(glActiveTexture) CHECK_PRESENT(glAttachShader) CHECK_PRESENT(glBeginQuery) @@ -172,7 +174,6 @@ bool ValidateFunctionPointers(const GLHookSet &real) CHECK_PRESENT(glBindBuffer) CHECK_PRESENT(glBindBufferBase) CHECK_PRESENT(glBindBufferRange) - CHECK_PRESENT(glBindFragDataLocation) CHECK_PRESENT(glBindFramebuffer) CHECK_PRESENT(glBindProgramPipeline) CHECK_PRESENT(glBindSampler) @@ -192,7 +193,7 @@ bool ValidateFunctionPointers(const GLHookSet &real) CHECK_PRESENT(glClearBufferiv) CHECK_PRESENT(glClearBufferuiv) CHECK_PRESENT(glClearColor) - CHECK_PRESENT(glClearDepth) + CHECK_PRESENT(glClearDepthf) CHECK_PRESENT(glColorMaski) CHECK_PRESENT(glCompileShader) CHECK_PRESENT(glCopyImageSubData) @@ -223,11 +224,9 @@ bool ValidateFunctionPointers(const GLHookSet &real) CHECK_PRESENT(glEnable) CHECK_PRESENT(glEnablei) CHECK_PRESENT(glEnableVertexAttribArray) - CHECK_PRESENT(glEndConditionalRender) CHECK_PRESENT(glEndQuery) CHECK_PRESENT(glFramebufferTexture) CHECK_PRESENT(glFramebufferTexture2D) - CHECK_PRESENT(glFramebufferTexture3D) CHECK_PRESENT(glFramebufferTextureLayer) CHECK_PRESENT(glFrontFace) CHECK_PRESENT(glGenBuffers) @@ -243,8 +242,6 @@ bool ValidateFunctionPointers(const GLHookSet &real) CHECK_PRESENT(glGetBooleanv) CHECK_PRESENT(glGetBufferParameteriv) CHECK_PRESENT(glGetBufferSubData) - CHECK_PRESENT(glGetCompressedTexImage) - CHECK_PRESENT(glGetDoublev) CHECK_PRESENT(glGetError) CHECK_PRESENT(glGetFloatv) CHECK_PRESENT(glGetFragDataLocation) @@ -272,7 +269,6 @@ bool ValidateFunctionPointers(const GLHookSet &real) CHECK_PRESENT(glGetTexParameterfv) CHECK_PRESENT(glGetTexParameteriv) CHECK_PRESENT(glGetUniformBlockIndex) - CHECK_PRESENT(glGetUniformdv) CHECK_PRESENT(glGetUniformfv) CHECK_PRESENT(glGetUniformiv) CHECK_PRESENT(glGetUniformLocation) @@ -284,53 +280,33 @@ bool ValidateFunctionPointers(const GLHookSet &real) CHECK_PRESENT(glIsEnabledi) CHECK_PRESENT(glLineWidth) CHECK_PRESENT(glLinkProgram) - CHECK_PRESENT(glLogicOp) CHECK_PRESENT(glMapBufferRange) CHECK_PRESENT(glPixelStorei) - CHECK_PRESENT(glPointParameterf) - CHECK_PRESENT(glPointParameteri) - CHECK_PRESENT(glPointSize) - CHECK_PRESENT(glPolygonMode) CHECK_PRESENT(glPolygonOffset) - CHECK_PRESENT(glPrimitiveRestartIndex) CHECK_PRESENT(glProgramParameteri) - CHECK_PRESENT(glProgramUniform1dv) CHECK_PRESENT(glProgramUniform1fv) CHECK_PRESENT(glProgramUniform1iv) CHECK_PRESENT(glProgramUniform1ui) CHECK_PRESENT(glProgramUniform1uiv) - CHECK_PRESENT(glProgramUniform2dv) CHECK_PRESENT(glProgramUniform2fv) CHECK_PRESENT(glProgramUniform2iv) CHECK_PRESENT(glProgramUniform2uiv) - CHECK_PRESENT(glProgramUniform3dv) CHECK_PRESENT(glProgramUniform3fv) CHECK_PRESENT(glProgramUniform3iv) CHECK_PRESENT(glProgramUniform3uiv) - CHECK_PRESENT(glProgramUniform4dv) CHECK_PRESENT(glProgramUniform4fv) CHECK_PRESENT(glProgramUniform4iv) CHECK_PRESENT(glProgramUniform4ui) CHECK_PRESENT(glProgramUniform4uiv) - CHECK_PRESENT(glProgramUniformMatrix2dv) CHECK_PRESENT(glProgramUniformMatrix2fv) - CHECK_PRESENT(glProgramUniformMatrix2x3dv) CHECK_PRESENT(glProgramUniformMatrix2x3fv) - CHECK_PRESENT(glProgramUniformMatrix2x4dv) CHECK_PRESENT(glProgramUniformMatrix2x4fv) - CHECK_PRESENT(glProgramUniformMatrix3dv) CHECK_PRESENT(glProgramUniformMatrix3fv) - CHECK_PRESENT(glProgramUniformMatrix3x2dv) CHECK_PRESENT(glProgramUniformMatrix3x2fv) - CHECK_PRESENT(glProgramUniformMatrix3x4dv) CHECK_PRESENT(glProgramUniformMatrix3x4fv) - CHECK_PRESENT(glProgramUniformMatrix4dv) CHECK_PRESENT(glProgramUniformMatrix4fv) - CHECK_PRESENT(glProgramUniformMatrix4x2dv) CHECK_PRESENT(glProgramUniformMatrix4x2fv) - CHECK_PRESENT(glProgramUniformMatrix4x3dv) CHECK_PRESENT(glProgramUniformMatrix4x3fv) - CHECK_PRESENT(glProvokingVertex) CHECK_PRESENT(glReadBuffer) CHECK_PRESENT(glReadPixels) CHECK_PRESENT(glSampleCoverage) @@ -357,11 +333,42 @@ bool ValidateFunctionPointers(const GLHookSet &real) CHECK_PRESENT(glVertexAttribBinding) CHECK_PRESENT(glVertexAttribFormat) CHECK_PRESENT(glVertexAttribIFormat) - CHECK_PRESENT(glVertexAttribLFormat) CHECK_PRESENT(glVertexAttribPointer) CHECK_PRESENT(glVertexBindingDivisor) CHECK_PRESENT(glViewport) + // GL only + if(!IsGLES) + { + CHECK_PRESENT(glBindFragDataLocation) + CHECK_PRESENT(glEndConditionalRender) + CHECK_PRESENT(glFramebufferTexture3D) + CHECK_PRESENT(glGetCompressedTexImage) + CHECK_PRESENT(glGetDoublev) + CHECK_PRESENT(glGetUniformdv) + CHECK_PRESENT(glLogicOp) + CHECK_PRESENT(glPointParameterf) + CHECK_PRESENT(glPointParameteri) + CHECK_PRESENT(glPointSize) + CHECK_PRESENT(glPolygonMode) + CHECK_PRESENT(glPrimitiveRestartIndex) + CHECK_PRESENT(glProgramUniform1dv) + CHECK_PRESENT(glProgramUniform2dv) + CHECK_PRESENT(glProgramUniform3dv) + CHECK_PRESENT(glProgramUniform4dv) + CHECK_PRESENT(glProgramUniformMatrix2dv) + CHECK_PRESENT(glProgramUniformMatrix2x3dv) + CHECK_PRESENT(glProgramUniformMatrix2x4dv) + CHECK_PRESENT(glProgramUniformMatrix3dv) + CHECK_PRESENT(glProgramUniformMatrix3x2dv) + CHECK_PRESENT(glProgramUniformMatrix3x4dv) + CHECK_PRESENT(glProgramUniformMatrix4dv) + CHECK_PRESENT(glProgramUniformMatrix4x2dv) + CHECK_PRESENT(glProgramUniformMatrix4x3dv) + CHECK_PRESENT(glProvokingVertex) + CHECK_PRESENT(glVertexAttribLFormat) + } + // other functions are either checked for presence explicitly (like // depth bounds or polygon offset clamp EXT functions), or they are // only called when such a call is serialised from the logfile, and