diff options
Diffstat (limited to 'Ryujinx.Graphics.Shader')
| -rw-r--r-- | Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs | 2 | ||||
| -rw-r--r-- | Ryujinx.Graphics.Shader/StructuredIr/AstTextureOperation.cs | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs index c743a274..ea83061e 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs @@ -1829,7 +1829,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv if (texOp.Index < 2 || (type & SamplerType.Mask) == SamplerType.Texture3D) { - result = ScalingHelpers.ApplyUnscaling(context, texOp, result, isBindless, isIndexed); + result = ScalingHelpers.ApplyUnscaling(context, texOp.WithType(type), result, isBindless, isIndexed); } return new OperationResult(AggregateType.S32, result); diff --git a/Ryujinx.Graphics.Shader/StructuredIr/AstTextureOperation.cs b/Ryujinx.Graphics.Shader/StructuredIr/AstTextureOperation.cs index 7d1d0ae3..957a956f 100644 --- a/Ryujinx.Graphics.Shader/StructuredIr/AstTextureOperation.cs +++ b/Ryujinx.Graphics.Shader/StructuredIr/AstTextureOperation.cs @@ -27,5 +27,10 @@ namespace Ryujinx.Graphics.Shader.StructuredIr CbufSlot = cbufSlot; Handle = handle; } + + public AstTextureOperation WithType(SamplerType type) + { + return new AstTextureOperation(Inst, type, Format, Flags, CbufSlot, Handle, Index); + } } }
\ No newline at end of file |
