forked from Mirror/Ryujinx
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:
parent
59490d54b5
commit
d03124a992
1 changed files with 3 additions and 3 deletions
|
@ -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);
|
||||||
|
|
Loading…
Reference in a new issue