aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.Shader/Instructions/InstEmitTexture.cs
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2021-05-19 18:15:26 -0300
committerGitHub <noreply@github.com>2021-05-19 23:15:26 +0200
commit49745cfa37b247c3e49bfae126bafbe41e166bc6 (patch)
tree1a37f2f2c23791244b22529f6e228f008f984409 /Ryujinx.Graphics.Shader/Instructions/InstEmitTexture.cs
parentb5c72b44dee2fd977d7cca5aa3c29ef1e2286aa7 (diff)
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
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,