From dd663844513c82a24456dbc68b9ad6665506bea9 Mon Sep 17 00:00:00 2001
From: ameerj <52414509+ameerj@users.noreply.github.com>
Date: Sun, 26 Sep 2021 22:43:06 -0400
Subject: [PATCH] rescaling_pass: Enable PatchImageQueryDimensions on fragment
 stages

---
 src/shader_recompiler/ir_opt/rescaling_pass.cpp | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/src/shader_recompiler/ir_opt/rescaling_pass.cpp b/src/shader_recompiler/ir_opt/rescaling_pass.cpp
index 357e41f2be..51125f45a3 100644
--- a/src/shader_recompiler/ir_opt/rescaling_pass.cpp
+++ b/src/shader_recompiler/ir_opt/rescaling_pass.cpp
@@ -249,6 +249,7 @@ void PatchImageRead(IR::Block& block, IR::Inst& inst) {
 
 void Visit(const IR::Program& program, IR::Block& block, IR::Inst& inst) {
     const bool is_fragment_shader{program.stage == Stage::Fragment};
+    const bool is_compute_shader{program.stage == Stage::Compute};
     switch (inst.GetOpcode()) {
     case IR::Opcode::GetAttribute: {
         const IR::Attribute attr{inst.Arg(0).Attribute()};
@@ -265,21 +266,19 @@ void Visit(const IR::Program& program, IR::Block& block, IR::Inst& inst) {
         break;
     }
     case IR::Opcode::ImageQueryDimensions:
-        if (program.stage == Stage::Compute) {
-            PatchImageQueryDimensions(block, inst);
-        }
+        PatchImageQueryDimensions(block, inst);
         break;
     case IR::Opcode::ImageFetch:
         if (is_fragment_shader) {
             SubScaleImageFetch(block, inst);
-        } else if (program.stage == Stage::Compute) {
+        } else if (is_compute_shader) {
             PatchImageFetch(block, inst);
         }
         break;
     case IR::Opcode::ImageRead:
         if (is_fragment_shader) {
             SubScaleImageRead(block, inst);
-        } else if (program.stage == Stage::Compute) {
+        } else if (is_compute_shader) {
             PatchImageRead(block, inst);
         }
         break;