aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.Shader/Instructions/InstEmitTexture.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.Graphics.Shader/Instructions/InstEmitTexture.cs')
-rw-r--r--Ryujinx.Graphics.Shader/Instructions/InstEmitTexture.cs30
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,