mirror of
https://git.ryujinx.app/ryubing/ryujinx.git
synced 2026-05-06 13:09:51 +00:00
* GPU: Avoid using garbage size for non-cb0 storage buffers In the depths area, Tears of the Kingdom uses a global memory access with address on constant buffer slot 6. This isn't standard and thus doesn't actually have a size 8 bytes after it, so we were reading back a garbage size that ended up very large (at least in version 1.1.0), and would synchronize a lot of data per frame. This PR makes storage buffers created from addresses outside constant buffer slot 0 get their size as the number of bytes remaining in the GPU mapping starting at the given virtual address. This should bound the buffer to a reasonable size, and ideally stop it crossing into other memory. * Limit max size * Add TODO * Feedback |
||
|---|---|---|
| .. | ||
| Blender | ||
| ConditionalRendering.cs | ||
| ConstantBufferUpdater.cs | ||
| DrawManager.cs | ||
| DrawState.cs | ||
| IbStreamer.cs | ||
| IndirectDrawType.cs | ||
| RenderTargetUpdateFlags.cs | ||
| SemaphoreUpdater.cs | ||
| SpecializationStateUpdater.cs | ||
| StateUpdater.cs | ||
| StateUpdateTracker.cs | ||
| ThreedClass.cs | ||
| ThreedClassState.cs | ||