diff --git a/renderdoc/driver/gl/gl_common.h b/renderdoc/driver/gl/gl_common.h index 7e2bc6436..7997d0f04 100644 --- a/renderdoc/driver/gl/gl_common.h +++ b/renderdoc/driver/gl/gl_common.h @@ -2151,6 +2151,7 @@ enum class GLChunk : uint32_t glGetPerfQueryInfoINTEL, glBlendEquationARB, + glPrimitiveBoundingBoxARB, Max, }; diff --git a/renderdoc/driver/gl/gl_dispatch_table.h b/renderdoc/driver/gl/gl_dispatch_table.h index f6a493902..71fa70090 100644 --- a/renderdoc/driver/gl/gl_dispatch_table.h +++ b/renderdoc/driver/gl/gl_dispatch_table.h @@ -611,7 +611,7 @@ struct GLDispatchTable PFNGLBLITFRAMEBUFFERPROC glBlitFramebuffer; // aliases glBlitFramebufferEXT // GLES core - PFNGLPRIMITIVEBOUNDINGBOXPROC glPrimitiveBoundingBox; // aliases glPrimitiveBoundingBoxEXT, glPrimitiveBoundingBoxOES + PFNGLPRIMITIVEBOUNDINGBOXPROC glPrimitiveBoundingBox; // aliases glPrimitiveBoundingBoxARB, glPrimitiveBoundingBoxEXT, glPrimitiveBoundingBoxOES PFNGLBLENDBARRIERPROC glBlendBarrier; // GLES: EXT_multisampled_render_to_texture diff --git a/renderdoc/driver/gl/gl_dispatch_table_defs.h b/renderdoc/driver/gl/gl_dispatch_table_defs.h index 3afe0a19f..ea383b57e 100644 --- a/renderdoc/driver/gl/gl_dispatch_table_defs.h +++ b/renderdoc/driver/gl/gl_dispatch_table_defs.h @@ -976,6 +976,7 @@ FUNC(glBlitFramebuffer, glBlitFramebuffer); \ FUNC(glBlitFramebuffer, glBlitFramebufferEXT); \ FUNC(glPrimitiveBoundingBox, glPrimitiveBoundingBox); \ + FUNC(glPrimitiveBoundingBox, glPrimitiveBoundingBoxARB); \ FUNC(glPrimitiveBoundingBox, glPrimitiveBoundingBoxEXT); \ FUNC(glPrimitiveBoundingBox, glPrimitiveBoundingBoxOES); \ FUNC(glBlendBarrier, glBlendBarrier); \ @@ -2236,6 +2237,7 @@ FuncWrapper10(void, glBlitFramebuffer, GLint, srcX0, GLint, srcY0, GLint, srcX1, GLint, srcY1, GLint, dstX0, GLint, dstY0, GLint, dstX1, GLint, dstY1, GLbitfield, mask, GLenum, filter); \ AliasWrapper10(void, glBlitFramebufferEXT, glBlitFramebuffer, GLint, srcX0, GLint, srcY0, GLint, srcX1, GLint, srcY1, GLint, dstX0, GLint, dstY0, GLint, dstX1, GLint, dstY1, GLbitfield, mask, GLenum, filter); \ FuncWrapper8(void, glPrimitiveBoundingBox, GLfloat, minX, GLfloat, minY, GLfloat, minZ, GLfloat, minW, GLfloat, maxX, GLfloat, maxY, GLfloat, maxZ, GLfloat, maxW); \ + AliasWrapper8(void, glPrimitiveBoundingBoxARB, glPrimitiveBoundingBox, GLfloat, minX, GLfloat, minY, GLfloat, minZ, GLfloat, minW, GLfloat, maxX, GLfloat, maxY, GLfloat, maxZ, GLfloat, maxW); \ AliasWrapper8(void, glPrimitiveBoundingBoxEXT, glPrimitiveBoundingBox, GLfloat, minX, GLfloat, minY, GLfloat, minZ, GLfloat, minW, GLfloat, maxX, GLfloat, maxY, GLfloat, maxZ, GLfloat, maxW); \ AliasWrapper8(void, glPrimitiveBoundingBoxOES, glPrimitiveBoundingBox, GLfloat, minX, GLfloat, minY, GLfloat, minZ, GLfloat, minW, GLfloat, maxX, GLfloat, maxY, GLfloat, maxZ, GLfloat, maxW); \ FuncWrapper0(void, glBlendBarrier); \ @@ -3705,7 +3707,6 @@ FUNC(glPopName); \ FUNC(glPresentFrameDualFillNV); \ FUNC(glPresentFrameKeyedNV); \ - FUNC(glPrimitiveBoundingBoxARB); \ FUNC(glPrimitiveRestartIndexNV); \ FUNC(glPrimitiveRestartNV); \ FUNC(glPrioritizeTexturesEXT); \ @@ -5618,7 +5619,6 @@ UnsupportedWrapper0(void, glPopName); \ UnsupportedWrapper13(void, glPresentFrameDualFillNV, GLuint, video_slot, GLuint64EXT, minPresentTime, GLuint, beginPresentTimeId, GLuint, presentDurationId, GLenum, type, GLenum, target0, GLuint, fill0, GLenum, target1, GLuint, fill1, GLenum, target2, GLuint, fill2, GLenum, target3, GLuint, fill3); \ UnsupportedWrapper11(void, glPresentFrameKeyedNV, GLuint, video_slot, GLuint64EXT, minPresentTime, GLuint, beginPresentTimeId, GLuint, presentDurationId, GLenum, type, GLenum, target0, GLuint, fill0, GLuint, key0, GLenum, target1, GLuint, fill1, GLuint, key1); \ - UnsupportedWrapper8(void, glPrimitiveBoundingBoxARB, GLfloat, minX, GLfloat, minY, GLfloat, minZ, GLfloat, minW, GLfloat, maxX, GLfloat, maxY, GLfloat, maxZ, GLfloat, maxW); \ UnsupportedWrapper1(void, glPrimitiveRestartIndexNV, GLuint, index); \ UnsupportedWrapper0(void, glPrimitiveRestartNV); \ UnsupportedWrapper3(void, glPrioritizeTexturesEXT, GLsizei, n, const GLuint *, textures, const GLclampf *, priorities); \ diff --git a/renderdoc/driver/gl/gl_driver.cpp b/renderdoc/driver/gl/gl_driver.cpp index 93d4f6722..a75726a40 100644 --- a/renderdoc/driver/gl/gl_driver.cpp +++ b/renderdoc/driver/gl/gl_driver.cpp @@ -65,6 +65,7 @@ void WrappedOpenGL::BuildGLExtensions() m_GLExtensions.push_back("GL_ARB_enhanced_layouts"); m_GLExtensions.push_back("GL_ARB_ES2_compatibility"); m_GLExtensions.push_back("GL_ARB_ES3_1_compatibility"); + m_GLExtensions.push_back("GL_ARB_ES3_2_compatibility"); m_GLExtensions.push_back("GL_ARB_ES3_compatibility"); m_GLExtensions.push_back("GL_ARB_explicit_attrib_location"); m_GLExtensions.push_back("GL_ARB_explicit_uniform_location"); @@ -283,7 +284,6 @@ void WrappedOpenGL::BuildGLExtensions() * GL_KHR_texture_compression_astc_ldr <- could be difficult. Maybe falls into the category of 'only support if it's supported on replaying driver'? - * GL_ARB_ES3_2_compatibility * GL_ARB_gpu_shader_int64 * GL_ARB_sample_locations * GL_ARB_texture_filter_minmax @@ -3625,6 +3625,7 @@ bool WrappedOpenGL::ProcessChunk(ReadSerialiser &ser, GLChunk chunk) case GLChunk::glPolygonOffsetClamp: return Serialise_glPolygonOffsetClamp(ser, 0, 0, 0); case GLChunk::glPrimitiveBoundingBoxEXT: case GLChunk::glPrimitiveBoundingBoxOES: + case GLChunk::glPrimitiveBoundingBoxARB: case GLChunk::glPrimitiveBoundingBox: return Serialise_glPrimitiveBoundingBox(ser, 0, 0, 0, 0, 0, 0, 0, 0);