From 2e39757f17cc8cd7dde01d25e9cadb196f01831d Mon Sep 17 00:00:00 2001 From: Peter Gal Date: Thu, 4 May 2017 13:50:57 +0200 Subject: [PATCH] Expose GL_KHR_debug for GL ES backend Added KHR suffixed aliases for the methods defined in the GL_KHR_debug extension: * glDebugMessageControlKHR * glDebugMessageInsertKHR * glDebugMessageCallbackKHR * glGetDebugMessageLogKHR * glPushDebugGroupKHR * glPopDebugGroupKHR * glObjectLabelKHR * glGetObjectLabelKHR * glObjectPtrLabelKHR * glGetObjectPtrLabelKHR --- renderdoc/driver/gl/gl_driver.cpp | 1 + renderdoc/driver/gl/gl_hookset.h | 20 ++++++++++---------- renderdoc/driver/gl/gl_hookset_defs.h | 10 ++++++++++ 3 files changed, 21 insertions(+), 10 deletions(-) diff --git a/renderdoc/driver/gl/gl_driver.cpp b/renderdoc/driver/gl/gl_driver.cpp index 96bfffa29..6a23515d2 100644 --- a/renderdoc/driver/gl/gl_driver.cpp +++ b/renderdoc/driver/gl/gl_driver.cpp @@ -722,6 +722,7 @@ void WrappedOpenGL::BuildGLESExtensions() { m_GLESExtensions.push_back("GL_ARM_rgba8"); + m_GLESExtensions.push_back("GL_KHR_debug"); m_GLESExtensions.push_back("GL_KHR_no_error"); m_GLESExtensions.push_back("GL_KHR_context_flush_control"); m_GLESExtensions.push_back("GL_KHR_robust_buffer_access_behavior"); diff --git a/renderdoc/driver/gl/gl_hookset.h b/renderdoc/driver/gl/gl_hookset.h index a55fd6962..9a6fef1bf 100644 --- a/renderdoc/driver/gl/gl_hookset.h +++ b/renderdoc/driver/gl/gl_hookset.h @@ -163,10 +163,10 @@ struct GLHookSet PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC glGetProgramResourceLocationIndex; PFNGLGETPROGRAMSTAGEIVPROC glGetProgramStageiv; PFNGLGETGRAPHICSRESETSTATUSPROC glGetGraphicsResetStatus; // aliases glGetGraphicsResetStatusARB - PFNGLGETOBJECTLABELPROC glGetObjectLabel; + PFNGLGETOBJECTLABELPROC glGetObjectLabel; // aliases glGetObjectLabelKHR PFNGLGETOBJECTLABELEXTPROC glGetObjectLabelEXT; - PFNGLGETOBJECTPTRLABELPROC glGetObjectPtrLabel; - PFNGLGETDEBUGMESSAGELOGPROC glGetDebugMessageLog; // aliases glGetDebugMessageLogARB + PFNGLGETOBJECTPTRLABELPROC glGetObjectPtrLabel; // aliases glGetObjectPtrLabelKHR + PFNGLGETDEBUGMESSAGELOGPROC glGetDebugMessageLog; // aliases glGetDebugMessageLogARB, glGetDebugMessageLogKHR PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glGetFramebufferAttachmentParameteriv; // aliases glGetFramebufferAttachmentParameterivEXT PFNGLGETFRAMEBUFFERPARAMETERIVPROC glGetFramebufferParameteriv; PFNGLGETRENDERBUFFERPARAMETERIVPROC glGetRenderbufferParameteriv; // aliases glGetRenderbufferParameterivEXT @@ -268,14 +268,14 @@ struct GLHookSet PFNGLACTIVESHADERPROGRAMPROC glActiveShaderProgram; PFNGLDELETEPROGRAMPIPELINESPROC glDeleteProgramPipelines; PFNGLVALIDATEPROGRAMPIPELINEPROC glValidateProgramPipeline; - PFNGLDEBUGMESSAGECALLBACKPROC glDebugMessageCallback; // aliases glDebugMessageCallbackARB - PFNGLDEBUGMESSAGECONTROLPROC glDebugMessageControl; // aliases glDebugMessageControlARB - PFNGLDEBUGMESSAGEINSERTPROC glDebugMessageInsert; // aliases glDebugMessageInsertARB - PFNGLPUSHDEBUGGROUPPROC glPushDebugGroup; - PFNGLPOPDEBUGGROUPPROC glPopDebugGroup; - PFNGLOBJECTLABELPROC glObjectLabel; + PFNGLDEBUGMESSAGECALLBACKPROC glDebugMessageCallback; // aliases glDebugMessageCallbackARB, glDebugMessageCallbackKHR + PFNGLDEBUGMESSAGECONTROLPROC glDebugMessageControl; // aliases glDebugMessageControlARB, glDebugMessageControlKHR + PFNGLDEBUGMESSAGEINSERTPROC glDebugMessageInsert; // aliases glDebugMessageInsertARB, glDebugMessageInsertKHR + PFNGLPUSHDEBUGGROUPPROC glPushDebugGroup; // aliases glPushDebugGroupKHR + PFNGLPOPDEBUGGROUPPROC glPopDebugGroup; // aliases glPopDebugGroupKHR + PFNGLOBJECTLABELPROC glObjectLabel; // aliases glObjectLabelKHR PFNGLLABELOBJECTEXTPROC glLabelObjectEXT; - PFNGLOBJECTPTRLABELPROC glObjectPtrLabel; + PFNGLOBJECTPTRLABELPROC glObjectPtrLabel; // aliases glObjectPtrLabelKHR PFNGLENABLEIPROC glEnablei; // aliases glEnableIndexedEXT PFNGLDISABLEIPROC glDisablei; // aliases glDisableIndexedEXT PFNGLISENABLEDIPROC glIsEnabledi; // aliases glIsEnabledIndexedEXT diff --git a/renderdoc/driver/gl/gl_hookset_defs.h b/renderdoc/driver/gl/gl_hookset_defs.h index 0e747b6b9..2951dfff5 100644 --- a/renderdoc/driver/gl/gl_hookset_defs.h +++ b/renderdoc/driver/gl/gl_hookset_defs.h @@ -798,18 +798,28 @@ HookExtension(PFNGLVERTEXBINDINGDIVISORPROC, glVertexBindingDivisor); \ HookExtension(PFNGLDEBUGMESSAGECONTROLPROC, glDebugMessageControl); \ HookExtensionAlias(PFNGLDEBUGMESSAGECONTROLPROC, glDebugMessageControl, glDebugMessageControlARB); \ + HookExtensionAlias(PFNGLDEBUGMESSAGECONTROLPROC, glDebugMessageControl, glDebugMessageControlKHR); \ HookExtension(PFNGLDEBUGMESSAGEINSERTPROC, glDebugMessageInsert); \ HookExtensionAlias(PFNGLDEBUGMESSAGEINSERTPROC, glDebugMessageInsert, glDebugMessageInsertARB); \ + HookExtensionAlias(PFNGLDEBUGMESSAGEINSERTPROC, glDebugMessageInsert, glDebugMessageInsertKHR); \ HookExtension(PFNGLDEBUGMESSAGECALLBACKPROC, glDebugMessageCallback); \ HookExtensionAlias(PFNGLDEBUGMESSAGECALLBACKPROC, glDebugMessageCallback, glDebugMessageCallbackARB); \ + HookExtensionAlias(PFNGLDEBUGMESSAGECALLBACKPROC, glDebugMessageCallback, glDebugMessageCallbackKHR); \ HookExtension(PFNGLGETDEBUGMESSAGELOGPROC, glGetDebugMessageLog); \ HookExtensionAlias(PFNGLGETDEBUGMESSAGELOGPROC, glGetDebugMessageLog, glGetDebugMessageLogARB); \ + HookExtensionAlias(PFNGLGETDEBUGMESSAGELOGPROC, glGetDebugMessageLog, glGetDebugMessageLogKHR); \ HookExtension(PFNGLPUSHDEBUGGROUPPROC, glPushDebugGroup); \ + HookExtensionAlias(PFNGLPUSHDEBUGGROUPPROC, glPushDebugGroup, glPushDebugGroupKHR); \ HookExtension(PFNGLPOPDEBUGGROUPPROC, glPopDebugGroup); \ + HookExtensionAlias(PFNGLPOPDEBUGGROUPPROC, glPopDebugGroup, glPopDebugGroupKHR); \ HookExtension(PFNGLOBJECTLABELPROC, glObjectLabel); \ + HookExtensionAlias(PFNGLOBJECTLABELPROC, glObjectLabel, glObjectLabelKHR); \ HookExtension(PFNGLGETOBJECTLABELPROC, glGetObjectLabel); \ + HookExtensionAlias(PFNGLGETOBJECTLABELPROC, glGetObjectLabel, glGetObjectLabelKHR); \ HookExtension(PFNGLOBJECTPTRLABELPROC, glObjectPtrLabel); \ + HookExtensionAlias(PFNGLOBJECTPTRLABELPROC, glObjectPtrLabel, glObjectPtrLabelKHR); \ HookExtension(PFNGLGETOBJECTPTRLABELPROC, glGetObjectPtrLabel); \ + HookExtensionAlias(PFNGLGETOBJECTPTRLABELPROC, glGetObjectPtrLabel, glGetObjectPtrLabelKHR); \ HookExtension(PFNGLBUFFERSTORAGEPROC, glBufferStorage); \ HookExtension(PFNGLCLEARTEXIMAGEPROC, glClearTexImage); \ HookExtension(PFNGLCLEARTEXSUBIMAGEPROC, glClearTexSubImage); \