aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.Shader/Instructions
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2019-12-07 18:31:17 -0300
committerThog <thog@protonmail.com>2020-01-09 02:13:00 +0100
commit6b13c5b439a54d0bb0139a2e33a2f76707db5fe7 (patch)
tree00ff3f8c7ac2dc7e499a52434fa2f96460387c95 /Ryujinx.Graphics.Shader/Instructions
parent7ce5584f9e0d86f17ea4fc781483f60cfa288340 (diff)
Support bindless texture gather shader instruction
Diffstat (limited to 'Ryujinx.Graphics.Shader/Instructions')
-rw-r--r--Ryujinx.Graphics.Shader/Instructions/InstEmitTexture.cs9
1 files changed, 8 insertions, 1 deletions
diff --git a/Ryujinx.Graphics.Shader/Instructions/InstEmitTexture.cs b/Ryujinx.Graphics.Shader/Instructions/InstEmitTexture.cs
index 41ba740e..59096869 100644
--- a/Ryujinx.Graphics.Shader/Instructions/InstEmitTexture.cs
+++ b/Ryujinx.Graphics.Shader/Instructions/InstEmitTexture.cs
@@ -417,7 +417,7 @@ namespace Ryujinx.Graphics.Shader.Instructions
public static void Tld4(EmitterContext context)
{
- OpCodeTld4 op = (OpCodeTld4)context.CurrOp;
+ IOpCodeTld4 op = (IOpCodeTld4)context.CurrOp;
if (op.Rd.IsRZ)
{
@@ -455,6 +455,13 @@ namespace Ryujinx.Graphics.Shader.Instructions
TextureFlags flags = TextureFlags.Gather;
+ if (op.Bindless)
+ {
+ sourcesList.Add(Rb());
+
+ flags |= TextureFlags.Bindless;
+ }
+
int coordsCount = type.GetDimensions();
for (int index = 0; index < coordsCount; index++)