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