aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Graphics.Shader/Translation/Optimizations/BindlessElimination.cs
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2023-10-03 19:43:11 -0300
committerGitHub <noreply@github.com>2023-10-03 22:43:11 +0000
commita2a97e1b11d38b51231e05a1da5202481cdf4df8 (patch)
tree97565f52001cbb1dbe2d0899ef60c371bfc5c8ff /src/Ryujinx.Graphics.Shader/Translation/Optimizations/BindlessElimination.cs
parent8b2625b0be3020740a90f167e46f8f665102fef5 (diff)
Implement textureSamples texture query shader instruction (#5750)1.1.1039
* Implement textureSamples texture query shader instruction * Shader cache version bump
Diffstat (limited to 'src/Ryujinx.Graphics.Shader/Translation/Optimizations/BindlessElimination.cs')
-rw-r--r--src/Ryujinx.Graphics.Shader/Translation/Optimizations/BindlessElimination.cs7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/Ryujinx.Graphics.Shader/Translation/Optimizations/BindlessElimination.cs b/src/Ryujinx.Graphics.Shader/Translation/Optimizations/BindlessElimination.cs
index 43d98d3c..19b7999a 100644
--- a/src/Ryujinx.Graphics.Shader/Translation/Optimizations/BindlessElimination.cs
+++ b/src/Ryujinx.Graphics.Shader/Translation/Optimizations/BindlessElimination.cs
@@ -27,9 +27,7 @@ namespace Ryujinx.Graphics.Shader.Translation.Optimizations
continue;
}
- if (texOp.Inst == Instruction.Lod ||
- texOp.Inst == Instruction.TextureSample ||
- texOp.Inst == Instruction.TextureSize)
+ if (texOp.Inst == Instruction.TextureSample || texOp.Inst.IsTextureQuery())
{
Operand bindlessHandle = Utils.FindLastOperation(texOp.GetSource(0), block);
@@ -40,7 +38,8 @@ namespace Ryujinx.Graphics.Shader.Translation.Optimizations
// as long bindless elimination is successful and we know where the texture descriptor is located.
bool rewriteSamplerType =
texOp.Type == SamplerType.TextureBuffer ||
- texOp.Inst == Instruction.TextureSize;
+ texOp.Inst == Instruction.TextureQuerySamples ||
+ texOp.Inst == Instruction.TextureQuerySize;
if (bindlessHandle.Type == OperandType.ConstantBuffer)
{