Commit Graph

8335 Commits

Author SHA1 Message Date
Henrik Rydgård
d7605c6877 Use dedicated threads for the shader object creation. Bypasses the deadlock possibility. 2023-02-01 11:15:33 +01:00
Unknown W. Brackets
08ac34bae0 GPU: Allow depth above 65535.
Hopefully it rounds down for any == or <= tests.
2023-01-31 18:41:06 -08:00
Henrik Rydgård
1f3969aff3 Merge pull request #16873 from hrydgard/dedicated-thread
Add facility to run tasks on dedicated threads using the ThreadManager interface
2023-01-31 11:50:59 +01:00
Henrik Rydgård
6b0903f566 Add facility to run tasks on dedicated threads using the ThreadManager interface.
Useful for things that should be run ASAP even if the threadpool is full,
at a small extra cost. (Not recommended for very small tasks).

Considering using this to resolve the deadlocks in #16802.
2023-01-31 11:07:40 +01:00
Henrik Rydgård
b62572a78f Refactor the framedata/GPU thread management. 2023-01-30 11:49:31 +01:00
Serena
30f6296767 Remove some Windows + Qt stuff + meow 2023-01-27 19:12:41 +03:00
Unknown W. Brackets
1c8bedbed9 Vulkan: Align for all Apple devices, not just M1. 2023-01-18 07:28:12 -08:00
Unknown W. Brackets
8d4007ce3f Vulkan: Force align verts to 4 on Apple devices. 2023-01-18 07:24:18 -08:00
Henrik Rydgård
e410bc355a Merge pull request #16808 from unknownbrackets/shader-errors
GLES: More uint const paranoia
2023-01-15 10:41:13 +01:00
Unknown W. Brackets
3a6fa9b4ba ThreadManager: Don't allow reordering of queue.
Allowing a priority item is faster, but can cause confusion when you
expect things to run in the same sequence they're enqueued.
2023-01-14 16:35:01 -08:00
Henrik Rydgård
784e8ab782 Fix a race condition during Vulkan shader cache load.
Could lead to unnecessary pipelines being created.
2023-01-13 10:35:04 +01:00
Unknown W. Brackets
0f3f2e361f GLES: More uint const paranoia.
We don't use indexing on GLES now, but better to stay consistent.
2023-01-12 17:41:55 -08:00
Henrik Rydgård
5b3ac098ae Fix for old typo in OpenGL texture allocation 2023-01-12 19:45:40 +01:00
Henrik Rydgård
0604e51272 Merge pull request #16734 from hrydgard/remove-nonindexed-optimization-vk
Vulkan: Don't use non-indexed draws for pure tristrips and fans (only PowerVR for now)
2023-01-12 08:09:21 +01:00
Henrik Rydgård
86f34c52a4 Revert bad shader optimization 2023-01-12 00:30:41 +01:00
Henrik Rydgård
1cfc7b11b8 Only force indexed draws on PowerVR / Vulkan. 2023-01-11 22:59:30 +01:00
Henrik Rydgård
beed3c06d2 Vulkan: Don't use non-indexed draws for pure tristrips and fans, creates extra pipelines.
Bump shader cache version
2023-01-11 22:57:23 +01:00
Henrik Rydgård
ca63bb1e5b Even more optimization/cleanup. Don't need to check ldot that we already know is >= 0.0. 2023-01-11 19:34:58 +01:00
Henrik Rydgård
965007d65b Tighten up the lighting shader code a bit, hopefully eliminating a branch or two. 2023-01-11 19:29:02 +01:00
Henrik Rydgård
1c8e456c97 Also apply this to OpenGL and D3D9 2023-01-11 19:29:02 +01:00
Henrik Rydgård
4c2a41cc83 Break out the attenuation term, too 2023-01-11 19:29:02 +01:00
Henrik Rydgård
a508f7e345 Shave a few instructions from lighting shaders by prenormalizing the light dir used for spotlights 2023-01-11 19:29:02 +01:00
Henrik Rydgård
7b62b4626f Comment fixes 2023-01-11 15:29:52 +01:00
Henrik Rydgård
3b46409350 Vertex shaders: On platforms with uniform buffers, use indexing and loop for real over the lights.
Strangely, greatly speeds up pipeline creation on PowerVR.
2023-01-11 15:24:56 +01:00
Henrik Rydgård
d894906a7e Fix formatting of lights uniform buffer (tabs->spaces) 2023-01-11 14:18:14 +01:00