From 613b48c4a2ce71a0d0eaba17fe164f4a2e4a3db5 Mon Sep 17 00:00:00 2001
From: FernandoS27 <fsahmkow27@gmail.com>
Date: Sun, 28 Mar 2021 19:47:52 +0200
Subject: shader,spirv: Implement ImageQueryLod.

---
 src/shader_recompiler/ir_opt/texture_pass.cpp | 5 +++++
 1 file changed, 5 insertions(+)

(limited to 'src/shader_recompiler/ir_opt/texture_pass.cpp')

diff --git a/src/shader_recompiler/ir_opt/texture_pass.cpp b/src/shader_recompiler/ir_opt/texture_pass.cpp
index dfacf848f4..6eb286b838 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) {
     case IR::Opcode::BoundImageQueryDimensions:
     case IR::Opcode::BindlessImageQueryDimensions:
         return IR::Opcode::ImageQueryDimensions;
+    case IR::Opcode::BoundImageQueryLod:
+    case IR::Opcode::BindlessImageQueryLod:
+        return IR::Opcode::ImageQueryLod;
     default:
         return IR::Opcode::Void;
     }
@@ -72,6 +75,7 @@ bool IsBindless(const IR::Inst& inst) {
     case IR::Opcode::BindlessImageGatherDref:
     case IR::Opcode::BindlessImageFetch:
     case IR::Opcode::BindlessImageQueryDimensions:
+    case IR::Opcode::BindlessImageQueryLod:
         return true;
     case IR::Opcode::BoundImageSampleImplicitLod:
     case IR::Opcode::BoundImageSampleExplicitLod:
@@ -81,6 +85,7 @@ bool IsBindless(const IR::Inst& inst) {
     case IR::Opcode::BoundImageGatherDref:
     case IR::Opcode::BoundImageFetch:
     case IR::Opcode::BoundImageQueryDimensions:
+    case IR::Opcode::BoundImageQueryLod:
         return false;
     default:
         throw InvalidArgument("Invalid opcode {}", inst.Opcode());
-- 
cgit v1.2.3-70-g09d2