summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorameerj <52414509+ameerj@users.noreply.github.com>2021-10-08 05:55:40 +0200
committerFernando Sahmkow <fsahmkow27@gmail.com>2021-11-16 22:11:30 +0100
commit3233fa5dc8780975497dc8ce70d10d0186e50b62 (patch)
treeff5960cfbed17a36b9cfce6d993604c245149a86
parentvk_texture_cache: Fix unsupported blit format error checking (diff)
downloadyuzu-3233fa5dc8780975497dc8ce70d10d0186e50b62.tar
yuzu-3233fa5dc8780975497dc8ce70d10d0186e50b62.tar.gz
yuzu-3233fa5dc8780975497dc8ce70d10d0186e50b62.tar.bz2
yuzu-3233fa5dc8780975497dc8ce70d10d0186e50b62.tar.lz
yuzu-3233fa5dc8780975497dc8ce70d10d0186e50b62.tar.xz
yuzu-3233fa5dc8780975497dc8ce70d10d0186e50b62.tar.zst
yuzu-3233fa5dc8780975497dc8ce70d10d0186e50b62.zip
-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() {
dst_info.size.height = scaled_height;
upscaled_backup = MakeImage(dst_info, gl_internal_format);
}
+ // TODO (ameerj): Investigate other GL states that affect blitting.
+ GLboolean scissor_test;
+ glGetBooleani_v(GL_SCISSOR_TEST, 0, &scissor_test);
+ glDisablei(GL_SCISSOR_TEST, 0);
+
const GLuint read_fbo = runtime->rescale_read_fbos[fbo_index].handle;
const GLuint draw_fbo = runtime->rescale_draw_fbos[fbo_index].handle;
for (s32 layer = 0; layer < info.resources.layers; ++layer) {
@@ -955,6 +960,9 @@ bool Image::Scale() {
0, dst_level_width, dst_level_height, mask, filter);
}
}
+ if (scissor_test != GL_FALSE) {
+ glEnablei(GL_SCISSOR_TEST, 0);
+ }
current_texture = upscaled_backup.handle;
return true;
}