mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-10-10 22:31:32 +00:00
Unbind annoying buffer binds on GL that mess with normal functionality
This commit is contained in:
2 files changed
+11
No files matched your search
@@ -612,6 +612,10 @@ void WrappedOpenGL::CreateReplayBackbuffer(const GLInitParams ¶ms, ResourceI
|
||||
|
||||
WrappedOpenGL &drv = *this;
|
||||
|
||||
GLuint unpackbuf = 0;
|
||||
GL.glGetIntegerv(eGL_PIXEL_UNPACK_BUFFER_BINDING, (GLint *)&unpackbuf);
|
||||
GL.glBindBuffer(eGL_PIXEL_UNPACK_BUFFER, 0);
|
||||
|
||||
drv.glGenFramebuffers(1, &fbo);
|
||||
drv.glBindFramebuffer(eGL_FRAMEBUFFER, fbo);
|
||||
|
||||
@@ -768,6 +772,8 @@ void WrappedOpenGL::CreateReplayBackbuffer(const GLInitParams ¶ms, ResourceI
|
||||
GetReplay()->GetResourceDesc(depthId).initialisationChunks.push_back(m_InitChunkIndex);
|
||||
}
|
||||
}
|
||||
|
||||
GL.glBindBuffer(eGL_PIXEL_UNPACK_BUFFER, unpackbuf);
|
||||
}
|
||||
|
||||
std::string WrappedOpenGL::GetChunkName(uint32_t idx)
|
||||
|
||||
@@ -72,6 +72,8 @@ void GLReplay::InitPostVSBuffers(uint32_t eventId)
|
||||
if(rs.VAO.name)
|
||||
drv.glGetIntegerv(eGL_ELEMENT_ARRAY_BUFFER_BINDING, (GLint *)&elArrayBuffer);
|
||||
|
||||
drv.glBindBuffer(eGL_QUERY_BUFFER, 0);
|
||||
|
||||
// reflection structures
|
||||
ShaderReflection *vsRefl = NULL;
|
||||
ShaderReflection *tesRefl = NULL;
|
||||
@@ -1681,6 +1683,9 @@ void GLReplay::InitPostVSBuffers(uint32_t eventId)
|
||||
drv.glBindBuffer(eGL_ARRAY_BUFFER, rs.BufferBindings[GLRenderState::eBufIdx_Array].name);
|
||||
drv.glBindBuffer(eGL_ELEMENT_ARRAY_BUFFER, elArrayBuffer);
|
||||
|
||||
if(HasExt[ARB_query_buffer_object])
|
||||
drv.glBindBuffer(eGL_QUERY_BUFFER, rs.BufferBindings[GLRenderState::eBufIdx_Query].name);
|
||||
|
||||
drv.glBindTransformFeedback(eGL_TRANSFORM_FEEDBACK, rs.FeedbackObj.name);
|
||||
|
||||
if(!rs.Enabled[GLRenderState::eEnabled_RasterizerDiscard])
|
||||
|
||||
Reference in new issue
Block a user