Fix FEZ not showing anything

Does not fix the underlying shortcomings of the cache system
This commit is contained in:
Isaac Marovitz 2024-06-20 21:08:28 +01:00 committed by Isaac Marovitz
parent 84f3b4a3e1
commit 49781fde65
3 changed files with 1 additions and 7 deletions

View file

@ -1,4 +1,3 @@
using Ryujinx.Common.Memory;
using Ryujinx.Graphics.GAL; using Ryujinx.Graphics.GAL;
using SharpMetal.Metal; using SharpMetal.Metal;
using System.Linq; using System.Linq;

View file

@ -485,10 +485,6 @@ namespace Ryujinx.Graphics.Metal
// Inlineable // Inlineable
public void UpdateStencilState(StencilTestDescriptor stencilTest) public void UpdateStencilState(StencilTestDescriptor stencilTest)
{ {
// Cleanup old state
_currentState.FrontFaceStencil.Dispose();
_currentState.BackFaceStencil.Dispose();
_currentState.FrontFaceStencil = new MTLStencilDescriptor _currentState.FrontFaceStencil = new MTLStencilDescriptor
{ {
StencilFailureOperation = stencilTest.FrontSFail.Convert(), StencilFailureOperation = stencilTest.FrontSFail.Convert(),

View file

@ -329,8 +329,7 @@ namespace Ryujinx.Graphics.Metal
_pipeline.SetPrimitiveTopology(PrimitiveTopology.TriangleStrip); _pipeline.SetPrimitiveTopology(PrimitiveTopology.TriangleStrip);
_pipeline.SetViewports(viewports); _pipeline.SetViewports(viewports);
_pipeline.SetDepthTest(new DepthTestDescriptor(true, depthMask, CompareOp.Always)); _pipeline.SetDepthTest(new DepthTestDescriptor(true, depthMask, CompareOp.Always));
// TODO: Figure out why this causes a crash _pipeline.SetStencilTest(CreateStencilTestDescriptor(stencilMask != 0, stencilValue, 0xFF, stencilMask));
// _pipeline.SetStencilTest(CreateStencilTestDescriptor(stencilMask != 0, stencilValue, 0xFF, stencilMask));
_pipeline.GetOrCreateRenderEncoder(true).SetFragmentBytes(ptr, ClearDepthBufferSize, 0); _pipeline.GetOrCreateRenderEncoder(true).SetFragmentBytes(ptr, ClearDepthBufferSize, 0);
_pipeline.Draw(4, 1, 0, 0); _pipeline.Draw(4, 1, 0, 0);