From 9f12e50a546b15533778ed0d8290202af91c10a2 Mon Sep 17 00:00:00 2001 From: gdkchan Date: Tue, 25 Apr 2023 19:51:07 -0300 Subject: Refactor attribute handling on the shader generator (#4565) * Refactor attribute handling on the shader generator * Implement gl_ViewportMask[] * Add back the Intel FrontFacing bug workaround * Fix GLSL transform feedback outputs mistmatch with fragment stage * Shader cache version bump * Fix geometry shader recognition * PR feedback * Delete GetOperandDef and GetOperandUse * Remove replacements that are no longer needed on GLSL compilation on Vulkan * Fix incorrect load for per-patch outputs * Fix build --- Ryujinx.Graphics.Shader/Translation/GlobalMemory.cs | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'Ryujinx.Graphics.Shader/Translation/GlobalMemory.cs') diff --git a/Ryujinx.Graphics.Shader/Translation/GlobalMemory.cs b/Ryujinx.Graphics.Shader/Translation/GlobalMemory.cs index 3915c0d5..774a128d 100644 --- a/Ryujinx.Graphics.Shader/Translation/GlobalMemory.cs +++ b/Ryujinx.Graphics.Shader/Translation/GlobalMemory.cs @@ -16,20 +16,15 @@ namespace Ryujinx.Graphics.Shader.Translation public const int UbeDescsSize = StorageDescSize * UbeMaxCount; public const int UbeFirstCbuf = 8; - public static bool UsesGlobalMemory(Instruction inst) + public static bool UsesGlobalMemory(Instruction inst, StorageKind storageKind) { - return (inst.IsAtomic() && IsGlobalMr(inst)) || + return (inst.IsAtomic() && storageKind == StorageKind.GlobalMemory) || inst == Instruction.LoadGlobal || inst == Instruction.StoreGlobal || inst == Instruction.StoreGlobal16 || inst == Instruction.StoreGlobal8; } - private static bool IsGlobalMr(Instruction inst) - { - return (inst & Instruction.MrMask) == Instruction.MrGlobal; - } - public static int GetStorageCbOffset(ShaderStage stage, int slot) { return GetStorageBaseCbOffset(stage) + slot * StorageDescSize; -- cgit v1.2.3