Fix 3D semaphore counter type 0 handling (#3380)

Counter type 0 actually releases the semaphore payload rather than a constant zero as was previously thought. This is required by Skyrim.
This commit is contained in:
Billy Laws 2022-06-02 23:51:36 +01:00 committed by GitHub
parent 59490d54b5
commit d03124a992
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -44,7 +44,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed
/// </summary> /// </summary>
private enum ReportCounterType private enum ReportCounterType
{ {
Zero = 0, Payload = 0,
InputVertices = 1, InputVertices = 1,
InputPrimitives = 3, InputPrimitives = 3,
VertexShaderInvocations = 5, VertexShaderInvocations = 5,
@ -169,8 +169,8 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed
switch (type) switch (type)
{ {
case ReportCounterType.Zero: case ReportCounterType.Payload:
resultHandler(null, 0); resultHandler(null, (ulong)_state.State.SemaphorePayload);
break; break;
case ReportCounterType.SamplesPassed: case ReportCounterType.SamplesPassed:
counter = _context.Renderer.ReportCounter(CounterType.SamplesPassed, resultHandler, false); counter = _context.Renderer.ReportCounter(CounterType.SamplesPassed, resultHandler, false);