diff options
| author | 2021-03-29 02:00:43 +0200 | |
|---|---|---|
| committer | 2021-07-22 21:51:25 -0400 | |
| commit | d5bfc630886d98ed77959a9771c67293244aff0e (patch) | |
| tree | 5816db6c236f9884c8900dd8a2c1e7ba9936b757 /src/shader_recompiler/ir_opt/texture_pass.cpp | |
| parent | shader: Implement TMML partially (diff) | |
| download | yuzu-d5bfc630886d98ed77959a9771c67293244aff0e.tar.gz yuzu-d5bfc630886d98ed77959a9771c67293244aff0e.tar.xz yuzu-d5bfc630886d98ed77959a9771c67293244aff0e.zip | |
shader: Implement ImageGradient
Diffstat (limited to 'src/shader_recompiler/ir_opt/texture_pass.cpp')
| -rw-r--r-- | src/shader_recompiler/ir_opt/texture_pass.cpp | 5 |
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 6eb286b83..da8977b76 100644 --- a/src/shader_recompiler/ir_opt/texture_pass.cpp +++ b/src/shader_recompiler/ir_opt/texture_pass.cpp | |||
| @@ -60,6 +60,9 @@ IR::Opcode IndexedInstruction(const IR::Inst& inst) { | |||
| 60 | case IR::Opcode::BoundImageQueryLod: | 60 | case IR::Opcode::BoundImageQueryLod: |
| 61 | case IR::Opcode::BindlessImageQueryLod: | 61 | case IR::Opcode::BindlessImageQueryLod: |
| 62 | return IR::Opcode::ImageQueryLod; | 62 | return IR::Opcode::ImageQueryLod; |
| 63 | case IR::Opcode::BoundImageGradient: | ||
| 64 | case IR::Opcode::BindlessImageGradient: | ||
| 65 | return IR::Opcode::ImageGradient; | ||
| 63 | default: | 66 | default: |
| 64 | return IR::Opcode::Void; | 67 | return IR::Opcode::Void; |
| 65 | } | 68 | } |
| @@ -76,6 +79,7 @@ bool IsBindless(const IR::Inst& inst) { | |||
| 76 | case IR::Opcode::BindlessImageFetch: | 79 | case IR::Opcode::BindlessImageFetch: |
| 77 | case IR::Opcode::BindlessImageQueryDimensions: | 80 | case IR::Opcode::BindlessImageQueryDimensions: |
| 78 | case IR::Opcode::BindlessImageQueryLod: | 81 | case IR::Opcode::BindlessImageQueryLod: |
| 82 | case IR::Opcode::BindlessImageGradient: | ||
| 79 | return true; | 83 | return true; |
| 80 | case IR::Opcode::BoundImageSampleImplicitLod: | 84 | case IR::Opcode::BoundImageSampleImplicitLod: |
| 81 | case IR::Opcode::BoundImageSampleExplicitLod: | 85 | case IR::Opcode::BoundImageSampleExplicitLod: |
| @@ -86,6 +90,7 @@ bool IsBindless(const IR::Inst& inst) { | |||
| 86 | case IR::Opcode::BoundImageFetch: | 90 | case IR::Opcode::BoundImageFetch: |
| 87 | case IR::Opcode::BoundImageQueryDimensions: | 91 | case IR::Opcode::BoundImageQueryDimensions: |
| 88 | case IR::Opcode::BoundImageQueryLod: | 92 | case IR::Opcode::BoundImageQueryLod: |
| 93 | case IR::Opcode::BoundImageGradient: | ||
| 89 | return false; | 94 | return false; |
| 90 | default: | 95 | default: |
| 91 | throw InvalidArgument("Invalid opcode {}", inst.Opcode()); | 96 | throw InvalidArgument("Invalid opcode {}", inst.Opcode()); |