From 49745cfa37b247c3e49bfae126bafbe41e166bc6 Mon Sep 17 00:00:00 2001 From: gdkchan Date: Wed, 19 May 2021 18:15:26 -0300 Subject: Move shader resource descriptor creation out of the backend (#2290) * Move shader resource descriptor creation out of the backend * Remove now unused code, and other nits * Shader cache version bump * Nits * Set format for bindless image load/store * Fix buffer write flag --- .../Instructions/InstEmitTexture.cs | 30 ++++++++++------------ 1 file changed, 13 insertions(+), 17 deletions(-) (limited to 'Ryujinx.Graphics.Shader/Instructions/InstEmitTexture.cs') diff --git a/Ryujinx.Graphics.Shader/Instructions/InstEmitTexture.cs b/Ryujinx.Graphics.Shader/Instructions/InstEmitTexture.cs index a3906294..69d3ffb3 100644 --- a/Ryujinx.Graphics.Shader/Instructions/InstEmitTexture.cs +++ b/Ryujinx.Graphics.Shader/Instructions/InstEmitTexture.cs @@ -95,7 +95,7 @@ namespace Ryujinx.Graphics.Shader.Instructions Operand rd = Register(rdIndex++, RegisterType.Gpr); - TextureOperation operation = new TextureOperation( + TextureOperation operation = context.CreateTextureOperation( Instruction.ImageLoad, type, flags, @@ -132,17 +132,15 @@ namespace Ryujinx.Graphics.Shader.Instructions Operand rd = Register(rdIndex++, RegisterType.Gpr); - TextureOperation operation = new TextureOperation( + TextureOperation operation = context.CreateTextureOperation( Instruction.ImageLoad, type, + GetTextureFormat(op.Size), flags, handle, compIndex, rd, - sources) - { - Format = GetTextureFormat(op.Size) - }; + sources); context.Add(operation); @@ -266,17 +264,15 @@ namespace Ryujinx.Graphics.Shader.Instructions TextureFlags flags = op.IsBindless ? TextureFlags.Bindless : TextureFlags.None; - TextureOperation operation = new TextureOperation( + TextureOperation operation = context.CreateTextureOperation( Instruction.ImageStore, type, + format, flags, handle, 0, null, - sources) - { - Format = format - }; + sources); context.Add(operation); } @@ -615,7 +611,7 @@ namespace Ryujinx.Graphics.Shader.Instructions { Operand dest = GetDest(); - TextureOperation operation = new TextureOperation( + TextureOperation operation = context.CreateTextureOperation( Instruction.TextureSample, type, flags, @@ -764,7 +760,7 @@ namespace Ryujinx.Graphics.Shader.Instructions { Operand dest = GetDest(); - TextureOperation operation = new TextureOperation( + TextureOperation operation = context.CreateTextureOperation( Instruction.TextureSample, type, flags, @@ -888,7 +884,7 @@ namespace Ryujinx.Graphics.Shader.Instructions { Operand tempDest = Local(); - TextureOperation operation = new TextureOperation( + TextureOperation operation = context.CreateTextureOperation( Instruction.Lod, type, flags, @@ -1027,7 +1023,7 @@ namespace Ryujinx.Graphics.Shader.Instructions { Operand dest = GetDest(); - TextureOperation operation = new TextureOperation( + TextureOperation operation = context.CreateTextureOperation( Instruction.TextureSample, type, flags, @@ -1112,7 +1108,7 @@ namespace Ryujinx.Graphics.Shader.Instructions { Operand dest = GetDest(); - TextureOperation operation = new TextureOperation( + TextureOperation operation = context.CreateTextureOperation( inst, type, flags, @@ -1277,7 +1273,7 @@ namespace Ryujinx.Graphics.Shader.Instructions { Operand dest = GetDest(); - TextureOperation operation = new TextureOperation( + TextureOperation operation = context.CreateTextureOperation( Instruction.TextureSample, type, flags, -- cgit v1.2.3