1
0
Fork 0
mirror of https://github.com/Ryujinx/Ryujinx.git synced 2024-10-01 12:30:00 +02:00
Ryujinx/Ryujinx.Graphics.Gpu
riperiperi 9ba73ffbe5
Prefetch capabilities before spawning translation threads. (#3338)
* Prefetch capabilities before spawning translation threads.

The Backend Multithreading only expects one thread to submit commands at a time. When compiling shaders, the translator may request the host GPU capabilities from the backend. It's possible for a bunch of translators to do this at the same time.

There's a caching mechanism in place so that the capabilities are only fetched once. By triggering this before spawning the thread, the async translation threads no longer try to queue onto the backend queue all at the same time.

The Capabilities do need to be checked from the GPU thread, due to OpenGL needing a context to check them, so it's not possible to call the underlying backend directly.

* Initialize the capabilities when setting the GPU thread + missing call in headless

* Remove private variables
2022-05-14 11:58:33 -03:00
..
Engine Implement Viewport Transform Disable (#3328) 2022-05-12 10:47:13 -03:00
Image Fix various issues with texture sync (#3302) 2022-04-29 18:34:11 -03:00
Memory New shader cache implementation (#3194) 2022-04-10 10:49:44 -03:00
Shader Implement Viewport Transform Disable (#3328) 2022-05-12 10:47:13 -03:00
Synchronization When waiting on CPU, do not return a time out error from EventWait (#2780) 2021-11-01 19:10:02 -03:00
ClassId.cs Separate GPU engines (part 2/2) (#2440) 2021-07-11 17:20:40 -03:00
Constants.cs Improve linear texture compatibility rules (#2099) 2021-03-19 02:17:38 +01:00
GpuChannel.cs Separate GPU engines (part 2/2) (#2440) 2021-07-11 17:20:40 -03:00
GpuContext.cs Prefetch capabilities before spawning translation threads. (#3338) 2022-05-14 11:58:33 -03:00
GraphicsConfig.cs Perform unscaled 2d engine copy on CPU if source texture isn't in cache. (#3112) 2022-02-22 11:21:29 -03:00
Ryujinx.Graphics.Gpu.csproj infra: Migrate to .NET 6 (#2829) 2021-11-28 21:24:17 +01:00
Window.cs misc: Make PID unsigned long instead of long (#3043) 2022-02-09 17:18:07 -03:00