summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/renderer_opengl')
-rw-r--r--src/video_core/renderer_opengl/gl_texture_cache.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/video_core/renderer_opengl/gl_texture_cache.cpp b/src/video_core/renderer_opengl/gl_texture_cache.cpp
index ec1afd31a..944a3aa65 100644
--- a/src/video_core/renderer_opengl/gl_texture_cache.cpp
+++ b/src/video_core/renderer_opengl/gl_texture_cache.cpp
@@ -967,21 +967,24 @@ bool Image::ScaleUp() {
if (True(flags & ImageFlagBits::Rescaled)) {
return false;
}
+ flags |= ImageFlagBits::Rescaled;
if (!runtime->resolution.active) {
return false;
}
if (gl_format == 0 && gl_type == 0) {
// compressed textures
+ flags &= ~ImageFlagBits::Rescaled;
return false;
}
if (info.type == ImageType::Linear) {
- UNIMPLEMENTED();
+ UNREACHABLE();
+ flags &= ~ImageFlagBits::Rescaled;
return false;
}
if (!Scale()) {
+ flags &= ~ImageFlagBits::Rescaled;
return false;
}
- flags |= ImageFlagBits::Rescaled;
return true;
}
@@ -990,6 +993,9 @@ bool Image::ScaleDown() {
return false;
}
flags &= ~ImageFlagBits::Rescaled;
+ if (!runtime->resolution.active) {
+ return false;
+ }
current_texture = texture.handle;
return true;
}