Merge pull request #3799 from wwylele/sigh

gl_rasterizer: reset texture state context after every draw
This commit is contained in:
Weiyi Wang 2018-06-01 14:24:28 +03:00 committed by GitHub
commit 08b119153d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -786,6 +786,13 @@ bool RasterizerOpenGL::Draw(bool accelerate, bool is_indexed) {
vertex_batch.clear(); vertex_batch.clear();
// Reset textures in rasterizer state context because the rasterizer cache might delete them
for (unsigned texture_index = 0; texture_index < pica_textures.size(); ++texture_index) {
state.texture_units[texture_index].texture_2d = 0;
}
state.texture_cube_unit.texture_cube = 0;
state.Apply();
// Mark framebuffer surfaces as dirty // Mark framebuffer surfaces as dirty
MathUtil::Rectangle<u32> draw_rect_unscaled{ MathUtil::Rectangle<u32> draw_rect_unscaled{
draw_rect.left / res_scale, draw_rect.top / res_scale, draw_rect.right / res_scale, draw_rect.left / res_scale, draw_rect.top / res_scale, draw_rect.right / res_scale,