Commit Graph
8324 Commits
Author SHA1 Message Date
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
Henrik Rydgård 5b3ac098ae Fix for old typo in OpenGL texture allocation 2023-01-12 19:45:40 +01:00
Henrik RydgårdandGitHub 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årdandGitHub 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årdandGitHub 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årdandGitHub 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årdandGitHub 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årdandGitHub 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årdandGitHub 49e42f59c7 Merge pull request #16758 from unknownbrackets/softgpu-neon
GPU: Use NEON for vector length/normalize
2023-01-08 22:37:22 +01:00
Henrik RydgårdandGitHub 10d7b2d410 Merge pull request #16756 from unknownbrackets/replace-stride
Replacement: Always return w/h from GetMipSize()
2023-01-08 22:34:50 +01:00
Unknown W. Brackets d90aec6f63 GPU: Use NEON for vector length/normalize.
This is a bit less accurate for normalize, but it's faster.
2023-01-08 12:32:55 -08:00
Unknown W. Brackets 1f91993e7d GLES: Apply vertex limit only to GLES2. 2023-01-08 11:06:35 -08:00
Unknown W. Brackets 0f92afb0c1 Replacement: Check replaceValid before load. 2023-01-08 10:20:52 -08:00
Unknown W. Brackets 26aedbe2f5 Replacement: Always return w/h from GetMipSize(). 2023-01-08 10:12:04 -08:00
Henrik RydgårdandGitHub 25e41aebc1 Merge pull request #16753 from unknownbrackets/softgpu-neon
Use NEON intrinsics in software renderer
2023-01-08 12:36:41 +01:00
Unknown W. Brackets 1215714240 softgpu: Use NEON for lighting. 2023-01-07 19:06:35 -08:00
Unknown W. Brackets 62fe03dcb4 softgpu: Use NEON for texture blending. 2023-01-07 19:06:35 -08:00
Unknown W. Brackets 587a322207 softgpu: Use NEON SIMD for alpha blending, etc. 2023-01-07 19:06:34 -08:00
Unknown W. Brackets b55dbdab7f softgpu: Use NEON for some color conv. 2023-01-07 19:06:34 -08:00
Unknown W. Brackets e0ed080d8b softgpu: Use NEON more in triangle rasterization.
Some of these places weren't getting converted well.
2023-01-07 19:06:34 -08:00