From b4fa70416db0e4d949286b17f8934c99ba08b12c Mon Sep 17 00:00:00 2001 From: Gabriel A Date: Sun, 26 May 2024 13:40:20 -0300 Subject: [PATCH] Re-enable it for constant buffers, paper mario does actually need it --- .../Translation/Optimizations/BindlessElimination.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/Ryujinx.Graphics.Shader/Translation/Optimizations/BindlessElimination.cs b/src/Ryujinx.Graphics.Shader/Translation/Optimizations/BindlessElimination.cs index 997c0a85f0..02a83fbe40 100644 --- a/src/Ryujinx.Graphics.Shader/Translation/Optimizations/BindlessElimination.cs +++ b/src/Ryujinx.Graphics.Shader/Translation/Optimizations/BindlessElimination.cs @@ -143,6 +143,13 @@ namespace Ryujinx.Graphics.Shader.Translation.Optimizations private static bool IsBindlessAccessAllowed(Operand nvHandle) { + if (nvHandle.Type == OperandType.ConstantBuffer) + { + // Bindless access with handles from constant buffer is allowed. + + return true; + } + if (nvHandle.AsgOp is not Operation handleOp || handleOp.Inst != Instruction.Load || (handleOp.StorageKind != StorageKind.Input && handleOp.StorageKind != StorageKind.StorageBuffer))