diff options
| author | gdkchan <gab.dark.100@gmail.com> | 2022-09-13 03:53:55 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-09-13 08:53:55 +0200 |
| commit | 66f16f43921bdd6d0f706d09aa37166d374dec2e (patch) | |
| tree | e3d9d8c67f3ccfa4ce13c2c43ba2ea6e0d160c00 /Ryujinx.Graphics.Shader/IntermediateRepresentation | |
| parent | 729ff5337cab8d1fd4cc66d7792d410172f25f62 (diff) | |
Fix bindless 1D textures having a buffer type on the shader (#3697)
* Fix bindless 1D textures having a buffer type on the shader
* Shader cache version bump
Diffstat (limited to 'Ryujinx.Graphics.Shader/IntermediateRepresentation')
| -rw-r--r-- | Ryujinx.Graphics.Shader/IntermediateRepresentation/Operation.cs | 12 | ||||
| -rw-r--r-- | Ryujinx.Graphics.Shader/IntermediateRepresentation/TextureOperation.cs | 5 |
2 files changed, 17 insertions, 0 deletions
diff --git a/Ryujinx.Graphics.Shader/IntermediateRepresentation/Operation.cs b/Ryujinx.Graphics.Shader/IntermediateRepresentation/Operation.cs index 955beafd..96132633 100644 --- a/Ryujinx.Graphics.Shader/IntermediateRepresentation/Operation.cs +++ b/Ryujinx.Graphics.Shader/IntermediateRepresentation/Operation.cs @@ -180,6 +180,18 @@ namespace Ryujinx.Graphics.Shader.IntermediateRepresentation _sources[index] = source; } + public void InsertSource(int index, Operand source) + { + Operand[] newSources = new Operand[_sources.Length + 1]; + + Array.Copy(_sources, 0, newSources, 0, index); + Array.Copy(_sources, index, newSources, index + 1, _sources.Length - index); + + newSources[index] = source; + + _sources = newSources; + } + protected void RemoveSource(int index) { SetSource(index, null); diff --git a/Ryujinx.Graphics.Shader/IntermediateRepresentation/TextureOperation.cs b/Ryujinx.Graphics.Shader/IntermediateRepresentation/TextureOperation.cs index ea9ae39c..8cfcb0e9 100644 --- a/Ryujinx.Graphics.Shader/IntermediateRepresentation/TextureOperation.cs +++ b/Ryujinx.Graphics.Shader/IntermediateRepresentation/TextureOperation.cs @@ -60,5 +60,10 @@ namespace Ryujinx.Graphics.Shader.IntermediateRepresentation CbufSlot = cbufSlot; Handle = handle; } + + public void SetLodLevelFlag() + { + Flags |= TextureFlags.LodLevel; + } } }
\ No newline at end of file |
