ryujinx-mirror/Ryujinx.Graphics.OpenGL
riperiperi 6e9bd4de13
GPU: Scale counter results before addition (#4471)
* GPU: Scale counter results before addition

Counter results were being scaled on ReportCounter, which meant that the _total_ value of the counter was being scaled. Not only could this result in very large numbers and weird overflows if the game doesn't clear the counter, but it also caused the result to change drastically.

This PR changes scaling to be done when the value is added to the counter on the backend. This should evaluate the scale at the same time as before, on report counter, but avoiding the issue with scaling the total.

Fixes scaling in Warioware, at least in the demo, where it seems to compare old/new counters and broke down when scaling was enabled.

* Fix issues when result is partially uploaded.

Drivers tend to write the low half first, then the high half. Retry if the high half is FFFFFFFF.
2023-03-12 18:01:15 +01:00
..
Effects Add Support for Post Processing Effects (#3616) 2023-02-27 18:11:55 -03:00
Helper Replace DllImport usage with LibraryImport (#4084) 2022-12-15 18:07:31 +01:00
Image Add copy dependency for some incompatible texture formats (#4380) 2023-02-21 19:21:57 -03:00
Queries GPU: Scale counter results before addition (#4471) 2023-03-12 18:01:15 +01:00
BackgroundContextWorker.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
Buffer.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
Constants.cs Fix transform feedback errors caused by host pause/resume and multiple uses (#1634) 2020-10-25 17:23:42 -03:00
Debugger.cs Rename DebugLevel Performance to Slowdowns (#1450) 2020-08-07 15:30:06 +02:00
DrawTextureEmulation.cs Implement DrawTexture functionality (#2747) 2021-11-10 15:37:49 -03:00
EnumConversion.cs Add support for advanced blend (part 1/2) (#2801) 2023-02-19 22:37:37 -03:00
FormatInfo.cs Make structs readonly when applicable (#4002) 2022-12-05 14:47:39 +01:00
FormatTable.cs Vulkan: Add ETC2 texture formats (#3576) 2022-08-16 15:42:42 +02:00
Framebuffer.cs OpenGL: Fix clears of unbound color targets (#3564) 2022-08-08 17:39:22 +00:00
Handle.cs Spanify Graphics Abstraction Layer (#1226) 2020-05-23 11:46:09 +02:00
HwCapabilities.cs Add support for advanced blend (part 1/2) (#2801) 2023-02-19 22:37:37 -03:00
IOpenGLContext.cs Miria: The Death of OpenTK 3 (#2194) 2021-04-14 12:28:43 +02:00
OpenGLRenderer.cs GPU: Scale counter results before addition (#4471) 2023-03-12 18:01:15 +01:00
PersistentBuffers.cs Minor code formatting (#4498) 2023-03-04 14:43:08 +01:00
Pipeline.cs GPU: Scale counter results before addition (#4471) 2023-03-12 18:01:15 +01:00
Program.cs Log shader compile errors with Warning level (#2617) 2023-02-09 03:50:18 +01:00
ResourcePool.cs Texture/Buffer Memory Management Improvements (#1408) 2020-09-10 16:44:04 -03:00
Ryujinx.Graphics.OpenGL.csproj Add Support for Post Processing Effects (#3616) 2023-02-27 18:11:55 -03:00
Sync.cs GPU: Track buffer migrations and flush source on incomplete copy (#3952) 2022-12-01 16:30:13 +01:00
VertexArray.cs Ensure that vertex attribute buffer index is valid on GPU (#3942) 2022-11-30 18:06:40 -03:00
Window.cs Add Support for Post Processing Effects (#3616) 2023-02-27 18:11:55 -03:00