diff options
Diffstat (limited to 'Ryujinx.Graphics.Shader/Instructions/InstEmitTexture.cs')
-rw-r--r-- | Ryujinx.Graphics.Shader/Instructions/InstEmitTexture.cs | 30 |
1 files changed, 13 insertions, 17 deletions
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, |