Merge pull request #2165 from ReinUsesLisp/unbind-tex
gl_rasterizer: Unbind textures but don't apply the gl_state
This commit is contained in:
commit
07e13d6728
|
@ -739,22 +739,10 @@ void RasterizerOpenGL::DrawArrays() {
|
||||||
state.Apply();
|
state.Apply();
|
||||||
|
|
||||||
res_cache.SignalPreDrawCall();
|
res_cache.SignalPreDrawCall();
|
||||||
|
|
||||||
// Execute draw call
|
|
||||||
params.DispatchDraw();
|
params.DispatchDraw();
|
||||||
|
|
||||||
res_cache.SignalPostDrawCall();
|
res_cache.SignalPostDrawCall();
|
||||||
|
|
||||||
// Disable scissor test
|
|
||||||
state.viewports[0].scissor.enabled = false;
|
|
||||||
|
|
||||||
accelerate_draw = AccelDraw::Disabled;
|
accelerate_draw = AccelDraw::Disabled;
|
||||||
|
|
||||||
// Unbind textures for potential future use as framebuffer attachments
|
|
||||||
for (auto& texture_unit : state.texture_units) {
|
|
||||||
texture_unit.Unbind();
|
|
||||||
}
|
|
||||||
state.Apply();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void RasterizerOpenGL::FlushAll() {}
|
void RasterizerOpenGL::FlushAll() {}
|
||||||
|
|
|
@ -461,7 +461,7 @@ void OpenGLState::ApplyTextures() const {
|
||||||
|
|
||||||
if (has_delta) {
|
if (has_delta) {
|
||||||
glBindTextures(static_cast<GLuint>(first), static_cast<GLsizei>(last - first + 1),
|
glBindTextures(static_cast<GLuint>(first), static_cast<GLsizei>(last - first + 1),
|
||||||
textures.data());
|
textures.data() + first);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -482,7 +482,7 @@ void OpenGLState::ApplySamplers() const {
|
||||||
}
|
}
|
||||||
if (has_delta) {
|
if (has_delta) {
|
||||||
glBindSamplers(static_cast<GLuint>(first), static_cast<GLsizei>(last - first + 1),
|
glBindSamplers(static_cast<GLuint>(first), static_cast<GLsizei>(last - first + 1),
|
||||||
samplers.data());
|
samplers.data() + first);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Reference in New Issue