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
Henrik Rydgård
c4d8ebcad5
D3D11 fix
2023-01-11 14:16:46 +01:00
Henrik Rydgård
3d376b0ab7
Remove the rather redundant DoTexture flag from vshaders.
...
Slightly reduces the number of unique vertex shaders but doesn't do much
for the pipeline count, as the fragment shader has a tex flag. Still
worth doing for the simplification.
2023-01-11 14:16:46 +01:00
Henrik Rydgård
1b4018d19a
Fix shader cache clearing in D3D11 - need to clear the input layout maps too
2023-01-11 14:16:12 +01:00
Henrik Rydgård
5c79b930e9
Merge pull request #16783 from unknownbrackets/gl-cleanup
...
GLES: Remove some unused depth related code
2023-01-11 09:50:39 +01:00
Unknown W. Brackets
4e67194147
GLES: Remove some unused depth related code.
2023-01-11 00:20:11 -08:00
Henrik Rydgård
289206fee0
Merge pull request #16782 from unknownbrackets/gl-shader-del
...
GLES: Delete LinkedShaders after the program
2023-01-11 09:07:30 +01:00
Unknown W. Brackets
5102ef8a31
GLES: Delete LinkedShaders after the program.
...
The program references the shader, so we have to delete in this order.
Caused problems on useFlag change as well as probably DeviceLost.
2023-01-10 22:13:40 -08:00
Henrik Rydgård
56261af697
Uniform dirty-bits: Make room for four more uniforms. Then we're out and need to merge.
2023-01-11 00:16:17 +01:00
Henrik Rydgård
ffb8a9be47
Fix another subtle NEON type mismatch.
...
Fixes #16777
2023-01-10 14:56:30 +01:00
Henrik Rydgård
edaa5246d1
Merge pull request #16771 from hrydgard/more-getpointer-cleanup
...
Core: A bit more GetPointer cleanup.
2023-01-10 14:36:08 +01:00
Henrik Rydgård
088d0c39dc
Remove the FS_TEXTURE_AT_OFFSET fragment shader flag
2023-01-10 12:37:21 +01:00
Henrik Rydgård
2f6579ea98
Merge pull request #16770 from hrydgard/color-double-flag
...
Shader generator: Switch the 2x flag to a uniform
2023-01-10 12:36:46 +01:00
Henrik Rydgård
c7c48abb37
Switch the 2x flag to a uniform
2023-01-10 12:36:28 +01:00
Henrik Rydgård
ee3618290b
Typo fix in NEON code.
...
Fixes #16772
2023-01-10 12:32:33 +01:00
Henrik Rydgård
e1a48d74c4
A bit more GetPointer cleanup.
...
Probably not worth it for performance reasons, but some semantic cleanup
is good, especially the accidental GetPointer -> writable casts without
using GetPointerWrite.
Using Unchecked on already checked pointers, or when we'd crash anyway
if it returned nullptr, is good for clarity.
2023-01-10 12:13:47 +01:00
Henrik Rydgård
0a6d226ddc
Remove the unused bool utilities
2023-01-10 10:25:41 +01:00
Henrik Rydgård
00c44ea799
Get rid of the bool, not worth it.
2023-01-10 10:23:29 +01:00
Henrik Rydgård
7df9545195
Fix D3D9 uniform update
2023-01-10 09:42:54 +01:00
Henrik Rydgård
5022ddc4fc
D3D9 bool constants have a separate register space, oops.
2023-01-10 09:42:54 +01:00
Henrik Rydgård
d4ce134292
Shader generator: Move FS_TEX_ALPHA to a uniform bool.
...
Part of #16567
2023-01-10 09:42:54 +01:00
Henrik Rydgård
7672556e5c
Better pipeline descriptions in shader viewer (shorter in overview, longer after click)
2023-01-09 11:22:35 +01:00
Henrik Rydgård
cf52324e9e
Vulkan: Fix pipeline cache clearing.
...
Extracted from #16759 and bugfixed. Fixes a leak of Vulkan pipelines.
I guess another way would be to queue the variants for destruction at
the same time as we queue the callback, but I like this better.
2023-01-09 09:49:55 +01:00
Unknown W. Brackets
f09c09caa8
GLES: Avoid GLSL redefinition error.
2023-01-08 22:30:15 -08:00
Henrik Rydgård
10625a6e00
Merge pull request #16757 from unknownbrackets/truncate-verts
...
GLES: Apply vertex limit only to GLES2
2023-01-08 22:37:44 +01:00
Henrik Rydgård
49e42f59c7
Merge pull request #16758 from unknownbrackets/softgpu-neon
...
GPU: Use NEON for vector length/normalize
2023-01-08 22:37:22 +01:00