summaryrefslogtreecommitdiff
path: root/src/video_core
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core')
-rw-r--r--src/video_core/renderer_opengl/gl_texture_cache.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/video_core/renderer_opengl/gl_texture_cache.cpp b/src/video_core/renderer_opengl/gl_texture_cache.cpp
index c68a51ebb..3dfd13d6a 100644
--- a/src/video_core/renderer_opengl/gl_texture_cache.cpp
+++ b/src/video_core/renderer_opengl/gl_texture_cache.cpp
@@ -939,6 +939,11 @@ bool Image::Scale() {
939 dst_info.size.height = scaled_height; 939 dst_info.size.height = scaled_height;
940 upscaled_backup = MakeImage(dst_info, gl_internal_format); 940 upscaled_backup = MakeImage(dst_info, gl_internal_format);
941 } 941 }
942 // TODO (ameerj): Investigate other GL states that affect blitting.
943 GLboolean scissor_test;
944 glGetBooleani_v(GL_SCISSOR_TEST, 0, &scissor_test);
945 glDisablei(GL_SCISSOR_TEST, 0);
946
942 const GLuint read_fbo = runtime->rescale_read_fbos[fbo_index].handle; 947 const GLuint read_fbo = runtime->rescale_read_fbos[fbo_index].handle;
943 const GLuint draw_fbo = runtime->rescale_draw_fbos[fbo_index].handle; 948 const GLuint draw_fbo = runtime->rescale_draw_fbos[fbo_index].handle;
944 for (s32 layer = 0; layer < info.resources.layers; ++layer) { 949 for (s32 layer = 0; layer < info.resources.layers; ++layer) {
@@ -955,6 +960,9 @@ bool Image::Scale() {
955 0, dst_level_width, dst_level_height, mask, filter); 960 0, dst_level_width, dst_level_height, mask, filter);
956 } 961 }
957 } 962 }
963 if (scissor_test != GL_FALSE) {
964 glEnablei(GL_SCISSOR_TEST, 0);
965 }
958 current_texture = upscaled_backup.handle; 966 current_texture = upscaled_backup.handle;
959 return true; 967 return true;
960} 968}