Implement GREMEDY string marker and frame terminator extensions

* We don't try and detect duplicate markers between GREMEDY and KHR_debug,
  just assume the program is smart enough to detect that both are available
  and pick only one to use.
This commit is contained in:
baldurk
2014-12-20 19:54:50 +00:00
parent 00ee02eabc
commit c02a8d7786
5 changed files with 27 additions and 4 deletions
@@ -167,6 +167,22 @@ void WrappedOpenGL::glDebugMessageInsert(GLenum source, GLenum type, GLuint id,
m_Real.glDebugMessageInsert(source, type, id, severity, length, buf);
}
void WrappedOpenGL::glFrameTerminatorGREMEDY()
{
Present(NULL);
}
void WrappedOpenGL::glStringMarkerGREMEDY(GLsizei len, const void *string)
{
if(m_State == WRITING_CAPFRAME)
{
SCOPED_SERIALISE_CONTEXT(SET_MARKER);
Serialise_glDebugMessageInsert(eGL_NONE, eGL_NONE, 0, eGL_NONE, len, (const GLchar *)string);
m_ContextRecord->AddChunk(scope.Get());
}
}
bool WrappedOpenGL::Serialise_glPushDebugGroup(GLenum source, GLuint id, GLsizei length, const GLchar *message)
{
string name = message ? string(message, message + (length > 0 ? length : strlen(message))) : "";