Separate out calls to glLabelObjectEXT from glObjectLabel

* This is necessary since some of the identifiers are different.
This commit is contained in:
baldurk
2015-07-23 23:30:06 +02:00
parent 5de056135a
commit 8fd2fe5932
5 changed files with 43 additions and 7 deletions
+2
View File
@@ -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));
+4 -2
View File
@@ -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
+4 -2
View File
@@ -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);