aboutsummaryrefslogtreecommitdiff
path: root/src/shader_recompiler/frontend/maxwell/translate/impl/texture_fetch_swizzled.cpp
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2021-04-09 01:45:39 -0300
committerameerj <52414509+ameerj@users.noreply.github.com>2021-07-22 21:51:26 -0400
commit7cb2ab358517d95ebcd35c94c72b9e91762906c3 (patch)
tree3f75959e255026665a4dde406cb8c4cc34fb45a0 /src/shader_recompiler/frontend/maxwell/translate/impl/texture_fetch_swizzled.cpp
parent094da34456bbf56353211b47fcb227c09637aa15 (diff)
shader: Implement SULD and SUST
Diffstat (limited to 'src/shader_recompiler/frontend/maxwell/translate/impl/texture_fetch_swizzled.cpp')
-rw-r--r--src/shader_recompiler/frontend/maxwell/translate/impl/texture_fetch_swizzled.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/shader_recompiler/frontend/maxwell/translate/impl/texture_fetch_swizzled.cpp b/src/shader_recompiler/frontend/maxwell/translate/impl/texture_fetch_swizzled.cpp
index fe2c7db85..3500a4559 100644
--- a/src/shader_recompiler/frontend/maxwell/translate/impl/texture_fetch_swizzled.cpp
+++ b/src/shader_recompiler/frontend/maxwell/translate/impl/texture_fetch_swizzled.cpp
@@ -95,18 +95,21 @@ IR::Value Sample(TranslatorVisitor& v, u64 insn) {
{}, info);
case 4: // 2D.DC
CheckAlignment(reg_a, 2);
- info.type.Assign(TextureType::Shadow2D);
+ info.type.Assign(TextureType::Color2D);
+ info.is_depth.Assign(1);
return v.ir.ImageSampleDrefImplicitLod(handle, Composite(v, reg_a, reg_a + 1), v.F(reg_b),
{}, {}, {}, info);
case 5: // 2D.LL.DC
CheckAlignment(reg_a, 2);
CheckAlignment(reg_b, 2);
- info.type.Assign(TextureType::Shadow2D);
+ info.type.Assign(TextureType::Color2D);
+ info.is_depth.Assign(1);
return v.ir.ImageSampleDrefExplicitLod(handle, Composite(v, reg_a, reg_a + 1),
v.F(reg_b + 1), v.F(reg_b), {}, {}, info);
case 6: // 2D.LZ.DC
CheckAlignment(reg_a, 2);
- info.type.Assign(TextureType::Shadow2D);
+ info.type.Assign(TextureType::Color2D);
+ info.is_depth.Assign(1);
return v.ir.ImageSampleDrefExplicitLod(handle, Composite(v, reg_a, reg_a + 1), v.F(reg_b),
zero, {}, {}, info);
case 7: // ARRAY_2D
@@ -124,7 +127,8 @@ IR::Value Sample(TranslatorVisitor& v, u64 insn) {
case 9: // ARRAY_2D.LZ.DC
CheckAlignment(reg_a, 2);
CheckAlignment(reg_b, 2);
- info.type.Assign(TextureType::ShadowArray2D);
+ info.type.Assign(TextureType::ColorArray2D);
+ info.is_depth.Assign(1);
return v.ir.ImageSampleDrefExplicitLod(
handle, v.ir.CompositeConstruct(v.F(reg_a + 1), v.F(reg_b), ReadArray(v, v.X(reg_a))),
v.F(reg_b + 1), zero, {}, {}, info);