1
0
Fork 0
mirror of https://github.com/Ryujinx/Ryujinx.git synced 2024-11-14 18:16:40 +00:00
Ryujinx/Ryujinx.Graphics.Gpu/Engine/Threed
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
..
ConditionalRendering.cs Separate GPU engines (part 2/2) (#2440) 2021-07-11 17:20:40 -03:00
ConstantBufferUpdater.cs Separate GPU engines (part 2/2) (#2440) 2021-07-11 17:20:40 -03:00
DrawManager.cs Removed unused usings. (#3593) 2022-08-18 18:04:54 +02:00
DrawState.cs Separate GPU engines (part 2/2) (#2440) 2021-07-11 17:20:40 -03:00
IbStreamer.cs Fix instanced indexed inline draw index count (#3389) 2022-06-10 23:44:49 -03:00
SemaphoreUpdater.cs Scale SamplesPassed counter by RT scale on report (#3680) 2022-09-11 15:58:15 +00:00
StateUpdater.cs Use RGBA16 vertex format if RGB16 is not supported on Vulkan (#3552) 2022-08-20 16:20:27 -03:00
StateUpdateTracker.cs Separate GPU engines (part 2/2) (#2440) 2021-07-11 17:20:40 -03:00
ThreedClass.cs Implement HLE macros for render target clears (#3528) 2022-08-04 21:30:08 +00:00
ThreedClassState.cs Use RGBA16 vertex format if RGB16 is not supported on Vulkan (#3552) 2022-08-20 16:20:27 -03:00