mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-08-08 07:41:12 +00:00
Separate out calls to glLabelObjectEXT from glObjectLabel
* This is necessary since some of the identifiers are different.
This commit is contained in:
@@ -616,6 +616,7 @@ class WrappedOpenGL : public IFrameCapturer
|
||||
GLenum glCheckFramebufferStatus(GLenum target);
|
||||
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void, glObjectLabel(GLenum identifier, GLuint name, GLsizei length, const GLchar *label));
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void, glLabelObjectEXT(GLenum identifier, GLuint name, GLsizei length, const GLchar *label));
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void, glObjectPtrLabel(const void *ptr, GLsizei length, const GLchar *label));
|
||||
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void, glDebugMessageCallback(GLDEBUGPROC callback, const void *userParam));
|
||||
@@ -928,6 +929,7 @@ class WrappedOpenGL : public IFrameCapturer
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void, glGetNamedStringivARB(GLint namelen, const GLchar *name, GLenum pname, GLint *params));
|
||||
IMPLEMENT_FUNCTION_SERIALISED(GLenum, glGetGraphicsResetStatus());
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void, glGetObjectLabel(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label));
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void, glGetObjectLabelEXT(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label));
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void, glGetObjectPtrLabel(const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label));
|
||||
IMPLEMENT_FUNCTION_SERIALISED(GLuint, glGetDebugMessageLog(GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog));
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void, glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params));
|
||||
|
||||
@@ -161,7 +161,8 @@ struct GLHookSet
|
||||
PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC glGetProgramResourceLocationIndex;
|
||||
PFNGLGETPROGRAMSTAGEIVPROC glGetProgramStageiv;
|
||||
PFNGLGETGRAPHICSRESETSTATUSPROC glGetGraphicsResetStatus; // aliases glGetGraphicsResetStatusARB
|
||||
PFNGLGETOBJECTLABELPROC glGetObjectLabel; // aliases glGetObjectLabelEXT
|
||||
PFNGLGETOBJECTLABELPROC glGetObjectLabel;
|
||||
PFNGLGETOBJECTLABELEXTPROC glGetObjectLabelEXT;
|
||||
PFNGLGETOBJECTPTRLABELPROC glGetObjectPtrLabel;
|
||||
PFNGLGETDEBUGMESSAGELOGPROC glGetDebugMessageLog; // aliases glGetDebugMessageLogARB
|
||||
PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glGetFramebufferAttachmentParameteriv; // aliases glGetFramebufferAttachmentParameterivEXT
|
||||
@@ -270,7 +271,8 @@ struct GLHookSet
|
||||
PFNGLDEBUGMESSAGEINSERTPROC glDebugMessageInsert; // aliases glDebugMessageInsertARB
|
||||
PFNGLPUSHDEBUGGROUPPROC glPushDebugGroup;
|
||||
PFNGLPOPDEBUGGROUPPROC glPopDebugGroup;
|
||||
PFNGLOBJECTLABELPROC glObjectLabel; // aliases glLabelObjectEXT
|
||||
PFNGLOBJECTLABELPROC glObjectLabel;
|
||||
PFNGLLABELOBJECTEXTPROC glLabelObjectEXT;
|
||||
PFNGLOBJECTPTRLABELPROC glObjectPtrLabel;
|
||||
PFNGLENABLEIPROC glEnablei; // aliases glEnableIndexedEXT
|
||||
PFNGLDISABLEIPROC glDisablei; // aliases glDisableIndexedEXT
|
||||
|
||||
@@ -804,9 +804,7 @@
|
||||
HookExtension(PFNGLPUSHDEBUGGROUPPROC, glPushDebugGroup); \
|
||||
HookExtension(PFNGLPOPDEBUGGROUPPROC, glPopDebugGroup); \
|
||||
HookExtension(PFNGLOBJECTLABELPROC, glObjectLabel); \
|
||||
HookExtensionAlias(PFNGLOBJECTLABELPROC, glObjectLabel, glLabelObjectEXT); \
|
||||
HookExtension(PFNGLGETOBJECTLABELPROC, glGetObjectLabel); \
|
||||
HookExtensionAlias(PFNGLGETOBJECTLABELPROC, glGetObjectLabel, glGetObjectLabelEXT); \
|
||||
HookExtension(PFNGLOBJECTPTRLABELPROC, glObjectPtrLabel); \
|
||||
HookExtension(PFNGLGETOBJECTPTRLABELPROC, glGetObjectPtrLabel); \
|
||||
HookExtension(PFNGLBUFFERSTORAGEPROC, glBufferStorage); \
|
||||
@@ -973,6 +971,8 @@
|
||||
HookExtension(PFNGLGETNAMEDSTRINGARBPROC, glGetNamedStringARB); \
|
||||
HookExtension(PFNGLGETNAMEDSTRINGIVARBPROC, glGetNamedStringivARB); \
|
||||
HookExtension(PFNGLBLENDBARRIERKHRPROC, glBlendBarrierKHR); \
|
||||
HookExtension(PFNGLLABELOBJECTEXTPROC, glLabelObjectEXT); \
|
||||
HookExtension(PFNGLGETOBJECTLABELEXTPROC, glGetObjectLabelEXT); \
|
||||
HookExtension(PFNGLINSERTEVENTMARKEREXTPROC, glInsertEventMarkerEXT); \
|
||||
HookExtension(PFNGLPUSHGROUPMARKEREXTPROC, glPushGroupMarkerEXT); \
|
||||
HookExtension(PFNGLPOPGROUPMARKEREXTPROC, glPopGroupMarkerEXT); \
|
||||
@@ -1815,6 +1815,8 @@
|
||||
HookWrapper5(void, glGetNamedStringARB, GLint, namelen, const GLchar *, name, GLsizei, bufSize, GLint *, stringlen, GLchar *, string); \
|
||||
HookWrapper4(void, glGetNamedStringivARB, GLint, namelen, const GLchar *, name, GLenum, pname, GLint *, params); \
|
||||
HookWrapper0(void, glBlendBarrierKHR); \
|
||||
HookWrapper4(void, glLabelObjectEXT, GLenum, type, GLuint, object, GLsizei, length, const GLchar *, label); \
|
||||
HookWrapper5(void, glGetObjectLabelEXT, GLenum, type, GLuint, object, GLsizei, bufSize, GLsizei *, length, GLchar *, label); \
|
||||
HookWrapper2(void, glInsertEventMarkerEXT, GLsizei, length, const GLchar *, marker); \
|
||||
HookWrapper2(void, glPushGroupMarkerEXT, GLsizei, length, const GLchar *, marker); \
|
||||
HookWrapper0(void, glPopGroupMarkerEXT); \
|
||||
|
||||
@@ -31,6 +31,8 @@ bool WrappedOpenGL::Serialise_glObjectLabel(GLenum identifier, GLuint name, GLsi
|
||||
{
|
||||
ResourceId liveid;
|
||||
|
||||
bool extvariant = false;
|
||||
|
||||
string Label;
|
||||
if(m_State >= WRITING)
|
||||
{
|
||||
@@ -44,27 +46,33 @@ bool WrappedOpenGL::Serialise_glObjectLabel(GLenum identifier, GLuint name, GLsi
|
||||
case eGL_TEXTURE:
|
||||
liveid = GetResourceManager()->GetID(TextureRes(GetCtx(), name));
|
||||
break;
|
||||
case eGL_BUFFER:
|
||||
case eGL_BUFFER_OBJECT_EXT:
|
||||
extvariant = true;
|
||||
case eGL_BUFFER:
|
||||
liveid = GetResourceManager()->GetID(BufferRes(GetCtx(), name));
|
||||
break;
|
||||
case eGL_PROGRAM_OBJECT_EXT:
|
||||
extvariant = true;
|
||||
case eGL_PROGRAM:
|
||||
liveid = GetResourceManager()->GetID(ProgramRes(GetCtx(), name));
|
||||
break;
|
||||
case eGL_PROGRAM_PIPELINE_OBJECT_EXT:
|
||||
extvariant = true;
|
||||
case eGL_PROGRAM_PIPELINE:
|
||||
liveid = GetResourceManager()->GetID(ProgramPipeRes(GetCtx(), name));
|
||||
break;
|
||||
case eGL_VERTEX_ARRAY_OBJECT_EXT:
|
||||
extvariant = true;
|
||||
case eGL_VERTEX_ARRAY:
|
||||
liveid = GetResourceManager()->GetID(VertexArrayRes(GetCtx(), name));
|
||||
break;
|
||||
case eGL_SHADER:
|
||||
case eGL_SHADER_OBJECT_EXT:
|
||||
extvariant = true;
|
||||
case eGL_SHADER:
|
||||
liveid = GetResourceManager()->GetID(ShaderRes(GetCtx(), name));
|
||||
break;
|
||||
case eGL_QUERY_OBJECT_EXT:
|
||||
extvariant = true;
|
||||
case eGL_QUERY:
|
||||
liveid = GetResourceManager()->GetID(QueryRes(GetCtx(), name));
|
||||
break;
|
||||
@@ -95,12 +103,29 @@ bool WrappedOpenGL::Serialise_glObjectLabel(GLenum identifier, GLuint name, GLsi
|
||||
if(m_State == READING && GetResourceManager()->HasLiveResource(id))
|
||||
{
|
||||
GLResource res = GetResourceManager()->GetLiveResource(id);
|
||||
m_Real.glObjectLabel(Identifier, res.name, Length, HasLabel ? Label.c_str() : NULL);
|
||||
|
||||
if(extvariant && m_Real.glLabelObjectEXT)
|
||||
m_Real.glLabelObjectEXT(Identifier, res.name, Length, HasLabel ? Label.c_str() : NULL);
|
||||
else
|
||||
m_Real.glObjectLabel(Identifier, res.name, Length, HasLabel ? Label.c_str() : NULL);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void WrappedOpenGL::glLabelObjectEXT(GLenum identifier, GLuint name, GLsizei length, const GLchar *label)
|
||||
{
|
||||
m_Real.glLabelObjectEXT(identifier, name, length, label);
|
||||
|
||||
if(m_State >= WRITING)
|
||||
{
|
||||
SCOPED_SERIALISE_CONTEXT(OBJECT_LABEL);
|
||||
Serialise_glObjectLabel(identifier, name, length, label);
|
||||
|
||||
m_DeviceRecord->AddChunk(scope.Get());
|
||||
}
|
||||
}
|
||||
|
||||
void WrappedOpenGL::glObjectLabel(GLenum identifier, GLuint name, GLsizei length, const GLchar *label)
|
||||
{
|
||||
m_Real.glObjectLabel(identifier, name, length, label);
|
||||
|
||||
@@ -570,6 +570,11 @@ void WrappedOpenGL::glGetObjectLabel(GLenum identifier, GLuint name, GLsizei buf
|
||||
m_Real.glGetObjectLabel(identifier, name, bufSize, length, label);
|
||||
}
|
||||
|
||||
void WrappedOpenGL::glGetObjectLabelEXT(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label)
|
||||
{
|
||||
m_Real.glGetObjectLabelEXT(identifier, name, bufSize, length, label);
|
||||
}
|
||||
|
||||
void WrappedOpenGL::glGetObjectPtrLabel(const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label)
|
||||
{
|
||||
m_Real.glGetObjectPtrLabel(ptr, bufSize, length, label);
|
||||
|
||||
Reference in New Issue
Block a user