Henrik Rydgård
7e61f82826
Cleanup the output of the pipeline analyzer
2026-07-10 19:07:30 +02:00
Henrik Rydgård
254e10fd4e
Correct another couple of shader bit problems, found by the analyzer
2026-07-10 19:07:29 +02:00
Henrik Rydgård
a207a46fba
VertexShaderGenerator: The hasColor bit is only relevant in hw transform.
2026-07-10 12:49:57 +02:00
Henrik Rydgård
9e687c3282
Make Description a member function of VShaderID / FShaderID. Assorted cleanup
2026-07-09 17:46:07 +02:00
Henrik Rydgård
2e9ee49679
Reorganize the FS shader bits too, for a better sort order in the shader viewer
2026-07-07 20:16:37 +02:00
Henrik Rydgård
d07ade200e
Convert FragmentShaderDesc to use ShaderWriter, add missing bit Fog
2026-07-07 20:16:37 +02:00
Henrik Rydgård
93b570f8c7
Reverse the bits so we actually get the desired shader sorting order in the debug shader viewer
2026-07-07 20:16:37 +02:00
Henrik Rydgård
6508ae0aae
Reorganize the vertex ShaderId bits, better sorting order
2026-07-07 20:16:32 +02:00
Henrik Rydgård
90c48671d7
D3D11: Remove support for BGRA textures and preferred framebuffer formats
2026-07-03 16:20:22 +02:00
Henrik Rydgård
a4d21d23bb
Remove some remains of HW tessellation
2026-06-26 18:53:35 +02:00
Henrik Rydgård
623545bd24
Delete the "Hardware tessellation" feature.
...
Very hard to maintain and debug, not worth it.
2026-06-16 16:17:14 +02:00
Henrik Rydgård
5676e90896
Rename some stencil enums
2026-06-14 13:33:13 +02:00
Henrik Rydgård
83d82dcf66
Shader depal: Don't generate a big switch in the shader, generate specialized shaders instead.
2026-06-10 12:22:11 +02:00
Henrik Rydgård
cd0802b9c8
Remove redundant flag from vertex shader IDs
2026-06-10 10:46:05 +02:00
Henrik Rydgård
5265422c0e
Remove the old "Fragment ubershader" setting. It's been on by default for years and is not really an ubershader.
2026-06-10 09:54:52 +02:00
Henrik Rydgård
f8b153ba2b
Fix some issues with depth rounding, and depth clamp in D3D11
2026-05-30 19:07:59 +02:00
Henrik Rydgård
44ece6dfa2
Determine the clip flags directly when culling, simplifying the code.
2026-05-30 19:07:59 +02:00
Henrik Rydgård
e75d9f8a5f
Unify the bounding depth checks, correct them if minmax clip is needed
2026-05-30 19:07:59 +02:00
Henrik Rydgård
0eede05f5f
Implement fragment shader depth clamp and min/max discard. Slow on some hardware, but it's a fallback.
2026-05-30 19:07:59 +02:00
Henrik Rydgård
0b47955c64
Delete geometry shader culling support. Is mostly replaced, and will be fully replaced with software transform.
2026-05-30 19:07:59 +02:00
Henrik Rydgård
8b84fd555d
Apply triangle near-clipping in software transform.
...
Fixes, but only in SW transform, #10914
Re-enable range culling, oops.
2026-05-30 19:07:59 +02:00
Henrik Rydgård
f0d715feaa
During culling, evaluate minZ,maxZ,minW,maxW, and use them to cull some things. Also, assorted vshader work.
2026-05-30 19:07:58 +02:00
Henrik Rydgård
8ed898c5e6
GPU: Constify VertexDecoder pointers, remove in some cases
2025-05-14 15:13:59 +02:00
Henrik Rydgård
df6ed8cfc9
Do some cleanup of #includes in GPU
2024-12-18 13:57:26 +01:00
Henrik Rydgård
1b769b61b1
Fragment shader: Don't error on bad blend eqs, instead use default eq (add)
2024-10-25 21:54:57 +02:00
Henrik Rydgård
b4eecf3d5c
Mali: Turn off any depth writes if depth test is set to NEVER.
2024-02-02 11:11:31 +01:00
Henrik Rydgård
6ce4933db8
Split the discard-stencil-bug flag into separate flags for Adreno and Mali
2024-02-02 11:11:31 +01:00
Herman Semenov
ca94de8d4b
[GPU/Common/DX9/GLES/Software] Object out of scope optimization for better codegeneration (lower level scope)
2023-12-20 12:34:34 +03:00
Unknown W. Brackets
b610e2f314
GPU: Handle invalid blendeq more accurately.
2023-09-23 13:08:25 -07:00
Henrik Rydgård
f4b0cddda3
ShaderId: Safer way to check for backend.
2023-09-18 16:25:00 +02:00
Henrik Rydgård
946d4b6251
Avoid causing shader gen failures due to bad blend eq values
2023-09-18 16:12:27 +02:00
Henrik Rydgård
80e47b7bd3
Only dirty the uniform UVSCALEOFFSET when really needed
...
Broken out from #17479
With OpenGL, greatly reduces the amount of glUniform4fv calls in many games (and
similar in the other backends).
2023-05-25 15:00:57 +02:00
Henrik Rydgård
7178c0cd42
Restore fragmentshader ID flags double and texalpha. Add a ubershader mode that uses dynamic state.
2023-05-25 10:19:01 +02:00
Henrik Rydgård
b42670cf59
Manually revert the rest of the lmode optimization
2023-05-09 18:44:24 +02:00
Henrik Rydgård
0babac5c5f
Manually revert "Remove LM flag from vshader too" ( #16718 )
...
Reverts #16718
Though maybe we can keep this one? Let's see.
2023-05-09 18:44:18 +02:00
Henrik Rydgård
f42c682d34
Revert "Merge pull request #16628 from hrydgard/remove-fog-fshader-flag"
...
This reverts commit 10dee90c83 , reversing
changes made to 34c11c8acf .
2023-05-08 22:01:38 +02: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
088d0c39dc
Remove the FS_TEXTURE_AT_OFFSET fragment shader flag
2023-01-10 12:37:21 +01:00
Henrik Rydgård
c7c48abb37
Switch the 2x flag to a uniform
2023-01-10 12:36:28 +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
a58bf45540
Removes LM flag from vshader in the common case, if ubershader is enabled.
2023-01-05 13:09:49 +01:00
Henrik Rydgård
389c7bf44c
FragmentShaderDesc improvement (debugging)
2023-01-05 11:49:03 +01:00
Henrik Rydgård
18d00b0718
Remove lmode flag bit from fragment and geometry shaders
2023-01-04 11:04:23 +01:00
Henrik Rydgård
10dee90c83
Merge pull request #16628 from hrydgard/remove-fog-fshader-flag
...
Make fog-enable driven by uniform instead of fragment shader flag bit
2023-01-04 11:01:19 +01:00
Henrik Rydgård
26c748f959
Make fog-enable driven by uniform instead of fragment shader flag bit
2023-01-04 10:14:11 +01:00
Henrik Rydgård
f069de2dd2
Pass the vertex decoder into the vertex shader IDs generator
...
Instead of just the vertex type.
This will allow things like the vertex decoder supplying defaults, in
order to reduce the number of unique vertex shaders at the cost of
slightly larger vertex data.
This doesn't actually do that yet though, it's just a refactor that can
be done separately.
Part of #16567
2022-12-30 22:57:05 +01:00
Henrik Rydgård
61eaa4ea2d
Just a very minor optimization
2022-12-27 17:15:31 +01:00
Unknown W. Brackets
106d730a20
GPU: Optimize out common case texture proj.
...
NFS Most Wanted 5-1-0 uses this when it could use uv scale/offset.
2022-12-01 23:20:25 -08:00
Henrik Rydgård
d72ad3b3f4
Fragment shader generator: Move the framebuffer fetch bit to the shader ID.
...
Will resolve a future issue in the multisampling PR, where the
GPU_USE_FRAMEBUFFER_FETCH flag changes at runtime if you switch between no AA and MSAA.
Just figured I'd get it in separately for safety.
2022-11-30 00:26:15 +01:00
Henrik Rydgård
7eee7f2573
Fix shader debug description issue.
2022-11-23 15:41:20 +01:00