From 461c24092ae6e148d896c18aa3e86220c89981f8 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Tue, 1 Dec 2020 23:13:27 +0000 Subject: Implement Force Early Z Register (#1755) --- Ryujinx.Graphics.Gpu/Shader/Cache/CacheHelper.cs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'Ryujinx.Graphics.Gpu/Shader/Cache/CacheHelper.cs') diff --git a/Ryujinx.Graphics.Gpu/Shader/Cache/CacheHelper.cs b/Ryujinx.Graphics.Gpu/Shader/Cache/CacheHelper.cs index 1d492214..d10e4671 100644 --- a/Ryujinx.Graphics.Gpu/Shader/Cache/CacheHelper.cs +++ b/Ryujinx.Graphics.Gpu/Shader/Cache/CacheHelper.cs @@ -332,6 +332,23 @@ namespace Ryujinx.Graphics.Gpu.Shader.Cache return null; } + /// + /// Builds gpu state flags using information from the given gpu accessor. + /// + /// The gpu accessor + /// The gpu state flags + private static GuestGpuStateFlags GetGpuStateFlags(IGpuAccessor gpuAccessor) + { + GuestGpuStateFlags flags = 0; + + if (gpuAccessor.QueryEarlyZForce()) + { + flags |= GuestGpuStateFlags.EarlyZForce; + } + + return flags; + } + /// /// Create a new instance of from an gpu accessor. /// @@ -347,6 +364,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.Cache ComputeLocalMemorySize = gpuAccessor.QueryComputeLocalMemorySize(), ComputeSharedMemorySize = gpuAccessor.QueryComputeSharedMemorySize(), PrimitiveTopology = gpuAccessor.QueryPrimitiveTopology(), + StateFlags = GetGpuStateFlags(gpuAccessor) }; } -- cgit v1.2.3