diff options
| author | gdkchan <gab.dark.100@gmail.com> | 2023-08-13 22:26:42 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-08-13 22:26:42 -0300 |
| commit | b423197619dd8d9dda1c255a76105bf30e255dae (patch) | |
| tree | e3898b3b1672f022b5de4522b51bd21583043996 /src/Ryujinx.Graphics.Shader/Translation/Optimizations/BindlessToIndexed.cs | |
| parent | 8edfb2bc7b8507d0ef51f0544eb32a65f0bf54a1 (diff) | |
Delete ShaderConfig and organize shader resources/definitions better (#5509)
* Move some properties out of ShaderConfig
* Stop using ShaderConfig on backends
* Replace ShaderConfig usages on Translator and passes
* Move remaining properties out of ShaderConfig and delete ShaderConfig
* Remove ResourceManager property from TranslatorContext
* Move Rewriter passes to separate transform pass files
* Fix TransformPasses.RunPass on cases where a node is removed
* Move remaining ClipDistancePrimitivesWritten and UsedFeatures updates to decode stage
* Reduce excessive parameter passing a bit by using structs more
* Remove binding parameter from ShaderProperties methods since it is redundant
* Replace decoder instruction checks with switch statement
* Put GLSL on the same plan as SPIR-V for input/output declaration
* Stop mutating TranslatorContext state when Translate is called
* Pass most of the graphics state using a struct instead of individual query methods
* Auto-format
* Auto-format
* Add backend logging interface
* Auto-format
* Remove unnecessary use of interpolated strings
* Remove more modifications of AttributeUsage after decode
* PR feedback
* gl_Layer is not supported on compute
Diffstat (limited to 'src/Ryujinx.Graphics.Shader/Translation/Optimizations/BindlessToIndexed.cs')
| -rw-r--r-- | src/Ryujinx.Graphics.Shader/Translation/Optimizations/BindlessToIndexed.cs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/Ryujinx.Graphics.Shader/Translation/Optimizations/BindlessToIndexed.cs b/src/Ryujinx.Graphics.Shader/Translation/Optimizations/BindlessToIndexed.cs index 4b1bf76e..2bd31fe1 100644 --- a/src/Ryujinx.Graphics.Shader/Translation/Optimizations/BindlessToIndexed.cs +++ b/src/Ryujinx.Graphics.Shader/Translation/Optimizations/BindlessToIndexed.cs @@ -9,7 +9,7 @@ namespace Ryujinx.Graphics.Shader.Translation.Optimizations { private const int NvnTextureBufferIndex = 2; - public static void RunPass(BasicBlock block, ShaderConfig config) + public static void RunPass(BasicBlock block, ResourceManager resourceManager) { // We can turn a bindless texture access into a indexed access, // as long the following conditions are true: @@ -44,7 +44,7 @@ namespace Ryujinx.Graphics.Shader.Translation.Optimizations Operand ldcSrc0 = handleAsgOp.GetSource(0); if (ldcSrc0.Type != OperandType.Constant || - !config.ResourceManager.TryGetConstantBufferSlot(ldcSrc0.Value, out int src0CbufSlot) || + !resourceManager.TryGetConstantBufferSlot(ldcSrc0.Value, out int src0CbufSlot) || src0CbufSlot != NvnTextureBufferIndex) { continue; @@ -88,7 +88,7 @@ namespace Ryujinx.Graphics.Shader.Translation.Optimizations continue; } - TurnIntoIndexed(config, texOp, addSrc1.Value / 4); + TurnIntoIndexed(resourceManager, texOp, addSrc1.Value / 4); Operand index = Local(); @@ -102,9 +102,9 @@ namespace Ryujinx.Graphics.Shader.Translation.Optimizations } } - private static void TurnIntoIndexed(ShaderConfig config, TextureOperation texOp, int handle) + private static void TurnIntoIndexed(ResourceManager resourceManager, TextureOperation texOp, int handle) { - int binding = config.ResourceManager.GetTextureOrImageBinding( + int binding = resourceManager.GetTextureOrImageBinding( texOp.Inst, texOp.Type | SamplerType.Indexed, texOp.Format, |
