summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/ir_opt/texture_pass.cpp
diff options
context:
space:
mode:
authorGravatar FernandoS272021-03-28 19:47:52 +0200
committerGravatar ameerj2021-07-22 21:51:25 -0400
commit613b48c4a2ce71a0d0eaba17fe164f4a2e4a3db5 (patch)
treea8d2d2eb8284f1b35184e4ee07e25709ecce0596 /src/shader_recompiler/ir_opt/texture_pass.cpp
parentshader: Implement TLDS (diff)
downloadyuzu-613b48c4a2ce71a0d0eaba17fe164f4a2e4a3db5.tar.gz
yuzu-613b48c4a2ce71a0d0eaba17fe164f4a2e4a3db5.tar.xz
yuzu-613b48c4a2ce71a0d0eaba17fe164f4a2e4a3db5.zip
shader,spirv: Implement ImageQueryLod.
Diffstat (limited to 'src/shader_recompiler/ir_opt/texture_pass.cpp')
-rw-r--r--src/shader_recompiler/ir_opt/texture_pass.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/shader_recompiler/ir_opt/texture_pass.cpp b/src/shader_recompiler/ir_opt/texture_pass.cpp
index dfacf848f..6eb286b83 100644
--- a/src/shader_recompiler/ir_opt/texture_pass.cpp
+++ b/src/shader_recompiler/ir_opt/texture_pass.cpp
@@ -57,6 +57,9 @@ IR::Opcode IndexedInstruction(const IR::Inst& inst) {
57 case IR::Opcode::BoundImageQueryDimensions: 57 case IR::Opcode::BoundImageQueryDimensions:
58 case IR::Opcode::BindlessImageQueryDimensions: 58 case IR::Opcode::BindlessImageQueryDimensions:
59 return IR::Opcode::ImageQueryDimensions; 59 return IR::Opcode::ImageQueryDimensions;
60 case IR::Opcode::BoundImageQueryLod:
61 case IR::Opcode::BindlessImageQueryLod:
62 return IR::Opcode::ImageQueryLod;
60 default: 63 default:
61 return IR::Opcode::Void; 64 return IR::Opcode::Void;
62 } 65 }
@@ -72,6 +75,7 @@ bool IsBindless(const IR::Inst& inst) {
72 case IR::Opcode::BindlessImageGatherDref: 75 case IR::Opcode::BindlessImageGatherDref:
73 case IR::Opcode::BindlessImageFetch: 76 case IR::Opcode::BindlessImageFetch:
74 case IR::Opcode::BindlessImageQueryDimensions: 77 case IR::Opcode::BindlessImageQueryDimensions:
78 case IR::Opcode::BindlessImageQueryLod:
75 return true; 79 return true;
76 case IR::Opcode::BoundImageSampleImplicitLod: 80 case IR::Opcode::BoundImageSampleImplicitLod:
77 case IR::Opcode::BoundImageSampleExplicitLod: 81 case IR::Opcode::BoundImageSampleExplicitLod:
@@ -81,6 +85,7 @@ bool IsBindless(const IR::Inst& inst) {
81 case IR::Opcode::BoundImageGatherDref: 85 case IR::Opcode::BoundImageGatherDref:
82 case IR::Opcode::BoundImageFetch: 86 case IR::Opcode::BoundImageFetch:
83 case IR::Opcode::BoundImageQueryDimensions: 87 case IR::Opcode::BoundImageQueryDimensions:
88 case IR::Opcode::BoundImageQueryLod:
84 return false; 89 return false;
85 default: 90 default:
86 throw InvalidArgument("Invalid opcode {}", inst.Opcode()); 91 throw InvalidArgument("Invalid opcode {}", inst.Opcode());