From 335aa039200eda6f395055d79177b42410db6f95 Mon Sep 17 00:00:00 2001 From: Janos Pantos Date: Thu, 15 Jun 2017 14:53:00 +0200 Subject: [PATCH] Add support for GL_EXT_base_instance --- renderdoc/driver/gl/gl_driver.cpp | 1 + renderdoc/driver/gl/gl_hookset.h | 6 +++--- renderdoc/driver/gl/gl_hookset_defs.h | 9 +++------ 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/renderdoc/driver/gl/gl_driver.cpp b/renderdoc/driver/gl/gl_driver.cpp index e8a7543e9..5af74ee6f 100644 --- a/renderdoc/driver/gl/gl_driver.cpp +++ b/renderdoc/driver/gl/gl_driver.cpp @@ -757,6 +757,7 @@ void WrappedOpenGL::BuildGLESExtensions() m_GLESExtensions.push_back("GL_OES_vertex_array_object"); m_GLESExtensions.push_back("GL_OES_texture_storage_multisample_2d_array"); + m_GLESExtensions.push_back("GL_EXT_base_instance"); m_GLESExtensions.push_back("GL_EXT_copy_image"); m_GLESExtensions.push_back("GL_EXT_disjoint_timer_query"); m_GLESExtensions.push_back("GL_EXT_draw_buffers"); diff --git a/renderdoc/driver/gl/gl_hookset.h b/renderdoc/driver/gl/gl_hookset.h index 74b138042..b5415f072 100644 --- a/renderdoc/driver/gl/gl_hookset.h +++ b/renderdoc/driver/gl/gl_hookset.h @@ -587,13 +587,13 @@ struct GLHookSet PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC glProgramUniformMatrix4x3dv; // aliases glProgramUniformMatrix4x3dvEXT PFNGLDRAWRANGEELEMENTSPROC glDrawRangeElements; // aliases glDrawRangeElementsEXT PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC glDrawRangeElementsBaseVertex; - PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC glDrawArraysInstancedBaseInstance; + PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC glDrawArraysInstancedBaseInstance; // aliases glDrawArraysInstancedBaseInstanceEXT PFNGLDRAWARRAYSINSTANCEDPROC glDrawArraysInstanced; // aliases glDrawArraysInstancedARB, glDrawArraysInstancedEXT PFNGLDRAWELEMENTSINSTANCEDPROC glDrawElementsInstanced; // aliases glDrawElementsInstancedARB, glDrawElementsInstancedEXT - PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC glDrawElementsInstancedBaseInstance; + PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC glDrawElementsInstancedBaseInstance; // aliases glDrawElementsInstancedBaseInstanceEXT PFNGLDRAWELEMENTSBASEVERTEXPROC glDrawElementsBaseVertex; PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glDrawElementsInstancedBaseVertex; - PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC glDrawElementsInstancedBaseVertexBaseInstance; + PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC glDrawElementsInstancedBaseVertexBaseInstance; // aliases glDrawElementsInstancedBaseVertexBaseInstanceEXT PFNGLMULTIDRAWARRAYSPROC glMultiDrawArrays; // aliases glMultiDrawArraysEXT PFNGLMULTIDRAWELEMENTSPROC glMultiDrawElements; PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC glMultiDrawElementsBaseVertex; diff --git a/renderdoc/driver/gl/gl_hookset_defs.h b/renderdoc/driver/gl/gl_hookset_defs.h index 41fcc1f8c..1e4c4141e 100644 --- a/renderdoc/driver/gl/gl_hookset_defs.h +++ b/renderdoc/driver/gl/gl_hookset_defs.h @@ -791,8 +791,11 @@ HookExtension(PFNGLGETDOUBLEI_VPROC, glGetDoublei_v); \ HookExtensionAlias(PFNGLGETDOUBLEI_VPROC, glGetDoublei_v, glGetDoublei_vEXT); \ HookExtension(PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC, glDrawArraysInstancedBaseInstance); \ + HookExtensionAlias(PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC, glDrawArraysInstancedBaseInstance, glDrawArraysInstancedBaseInstanceEXT); \ HookExtension(PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC, glDrawElementsInstancedBaseInstance); \ + HookExtensionAlias(PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC, glDrawElementsInstancedBaseInstance, glDrawElementsInstancedBaseInstanceEXT); \ HookExtension(PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC, glDrawElementsInstancedBaseVertexBaseInstance); \ + HookExtensionAlias(PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC, glDrawElementsInstancedBaseVertexBaseInstance, glDrawElementsInstancedBaseVertexBaseInstanceEXT); \ HookExtension(PFNGLGETINTERNALFORMATIVPROC, glGetInternalformativ); \ HookExtension(PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC, glGetActiveAtomicCounterBufferiv); \ HookExtension(PFNGLBINDIMAGETEXTUREPROC, glBindImageTexture); \ @@ -3598,9 +3601,6 @@ HookWrapper3(void, glwaitsyncapple, GLsync, sync, GLbitfield, flags, GLuint64, timeout); \ HookWrapper2(void, glgetinteger64vapple, GLenum, pname, GLint64 *, params); \ HookWrapper5(void, glgetsyncivapple, GLsync, sync, GLenum, pname, GLsizei, bufSize, GLsizei *, length, GLint *, values); \ - HookWrapper5(void, gldrawarraysinstancedbaseinstanceext, GLenum, mode, GLint, first, GLsizei, count, GLsizei, instancecount, GLuint, baseinstance); \ - HookWrapper6(void, gldrawelementsinstancedbaseinstanceext, GLenum, mode, GLsizei, count, GLenum, type, const void *, indices, GLsizei, instancecount, GLuint, baseinstance); \ - HookWrapper7(void, gldrawelementsinstancedbasevertexbaseinstanceext, GLenum, mode, GLsizei, count, GLenum, type, const void *, indices, GLsizei, instancecount, GLint, basevertex, GLuint, baseinstance); \ HookWrapper4(void, glbindfragdatalocationindexedext, GLuint, program, GLuint, colorNumber, GLuint, index, const GLchar *, name); \ HookWrapper3(GLint, glgetprogramresourcelocationindexext, GLuint, program, GLenum, programInterface, const GLchar *, name); \ HookWrapper2(GLint, glgetfragdataindexext, GLuint, program, const GLchar *, name); \ @@ -5580,9 +5580,6 @@ HandleUnsupported(PFNGLWAITSYNCAPPLEPROC, glwaitsyncapple); \ HandleUnsupported(PFNGLGETINTEGER64VAPPLEPROC, glgetinteger64vapple); \ HandleUnsupported(PFNGLGETSYNCIVAPPLEPROC, glgetsyncivapple); \ - HandleUnsupported(PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEEXTPROC, gldrawarraysinstancedbaseinstanceext); \ - HandleUnsupported(PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEEXTPROC, gldrawelementsinstancedbaseinstanceext); \ - HandleUnsupported(PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEEXTPROC, gldrawelementsinstancedbasevertexbaseinstanceext); \ HandleUnsupported(PFNGLBINDFRAGDATALOCATIONINDEXEDEXTPROC, glbindfragdatalocationindexedext); \ HandleUnsupported(PFNGLGETPROGRAMRESOURCELOCATIONINDEXEXTPROC, glgetprogramresourcelocationindexext); \ HandleUnsupported(PFNGLGETFRAGDATAINDEXEXTPROC, glgetfragdataindexext); \