Unbind annoying buffer binds on GL that mess with normal functionality

This commit is contained in:
baldurk committed 2019-07-02 17:22:53 +01:00
1 parent 534f39c723
commit ffaa445cf2
2 files changed
+11

No files matched your search

+6
View File
@@ -612,6 +612,10 @@ void WrappedOpenGL::CreateReplayBackbuffer(const GLInitParams &params, 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 &params, ResourceI
GetReplay()->GetResourceDesc(depthId).initialisationChunks.push_back(m_InitChunkIndex);
}
}
GL.glBindBuffer(eGL_PIXEL_UNPACK_BUFFER, unpackbuf);
}
std::string WrappedOpenGL::GetChunkName(uint32_t idx)
+5
View File
@@ -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])