mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-08-11 09:11:00 +00:00
Track if transform feedback is active, and ensure we deactivate
This commit is contained in:
@@ -370,6 +370,7 @@ WrappedOpenGL::WrappedOpenGL(const char *logfile, const GLHookSet &funcs)
|
||||
|
||||
RDCEraseEl(m_ActiveQueries);
|
||||
m_ActiveConditional = false;
|
||||
m_ActiveFeedback = false;
|
||||
|
||||
m_LastIndexSize = eGL_NONE;
|
||||
m_LastIndexOffset = 0;
|
||||
@@ -2376,6 +2377,12 @@ void WrappedOpenGL::ContextReplayLog(LogState readType, uint32_t startEventID, u
|
||||
m_Real.glEndConditionalRender();
|
||||
m_ActiveConditional = false;
|
||||
}
|
||||
|
||||
if(m_ActiveFeedback)
|
||||
{
|
||||
m_Real.glEndTransformFeedback();
|
||||
m_ActiveFeedback = false;
|
||||
}
|
||||
}
|
||||
|
||||
GetResourceManager()->MarkInFrame(true);
|
||||
|
||||
@@ -119,6 +119,7 @@ class WrappedOpenGL
|
||||
GLResourceRecord *m_ReadFramebufferRecord;
|
||||
bool m_ActiveQueries[8][8]; // first index type, second index (for some, always 0)
|
||||
bool m_ActiveConditional;
|
||||
bool m_ActiveFeedback;
|
||||
ResourceId m_Renderbuffer;
|
||||
GLint m_TextureUnit;
|
||||
GLuint m_ProgramPipeline;
|
||||
|
||||
@@ -1453,6 +1453,7 @@ bool WrappedOpenGL::Serialise_glBeginTransformFeedback(GLenum primitiveMode)
|
||||
if(m_State <= EXECUTING)
|
||||
{
|
||||
m_Real.glBeginTransformFeedback(Mode);
|
||||
m_ActiveFeedback = true;
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -1461,6 +1462,7 @@ bool WrappedOpenGL::Serialise_glBeginTransformFeedback(GLenum primitiveMode)
|
||||
void WrappedOpenGL::glBeginTransformFeedback(GLenum primitiveMode)
|
||||
{
|
||||
m_Real.glBeginTransformFeedback(primitiveMode);
|
||||
m_ActiveFeedback = true;
|
||||
|
||||
if(m_State == WRITING_CAPFRAME)
|
||||
{
|
||||
@@ -1522,6 +1524,7 @@ bool WrappedOpenGL::Serialise_glEndTransformFeedback()
|
||||
if(m_State <= EXECUTING)
|
||||
{
|
||||
m_Real.glEndTransformFeedback();
|
||||
m_ActiveFeedback = false;
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -1530,6 +1533,7 @@ bool WrappedOpenGL::Serialise_glEndTransformFeedback()
|
||||
void WrappedOpenGL::glEndTransformFeedback()
|
||||
{
|
||||
m_Real.glEndTransformFeedback();
|
||||
m_ActiveFeedback = false;
|
||||
|
||||
if(m_State == WRITING_CAPFRAME)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user