ryujinx/Ryujinx.Graphics.Gpu/Engine
riperiperi 36172ab43b
Scale SamplesPassed counter by RT scale on report (#3680)
* Scale SamplesPassed counter by RT scale on report

Adds a scale factor for samples passed counter report based on the render target scale at the time. This ensures that when a game reads this counter, it appears similar to the result at 1x.

This doesn't cover cases where the the render target scale changes during the queried draws, though that might be better to handle along with other scope related issues in a future rework of counters. Games generally don't count for occlusion queries over render target changes anyways.

Fixes an issue in the Splatoon games where the special charge would scale too quickly at high res, points at the end of the game would be broken (but still provide a correct winner), and playing at a low res would make it impossible to swim in ink.

May also affect LOD scaling in The Witcher 3.

* Update Ryujinx.Graphics.Gpu/Engine/Threed/SemaphoreUpdater.cs

Co-authored-by: gdkchan <gab.dark.100@gmail.com>

Co-authored-by: gdkchan <gab.dark.100@gmail.com>
2022-09-11 15:58:15 +00:00
..
Compute
Dma
GPFifo
InlineToMemory
MME
Threed Scale SamplesPassed counter by RT scale on report (#3680) 2022-09-11 15:58:15 +00:00
Twod
Types
ConditionalRenderEnabled.cs
DeviceStateWithShadow.cs
MmeShadowScratch.cs
SetMmeShadowRamControlMode.cs
ShaderTexture.cs