Henrik Rydgård
de0dc2d7d4
Remove the leftover geometry shader scaffolding
...
Nothing has generated or used a geometry shader since the GS paths were removed
- GeometryShaderGenerator is gone, and ShaderWriter's BeginGSMain/EndGSMain had
no callers at all. Removes ShaderStage::Geometry and everything hanging off it:
the GS preambles and GSMain helpers in ShaderWriter, the stage mappings in all
three thin3d backends, the D3D11 geometry shader plumbing (curGS_, the pipeline
and module members, gs_4_0 compilation), CreateGeometryShaderD3D11, the unused
PipelineFlags::USES_GEOMETRY_SHADER and PipelineManagerVulkan's
UsesGeometryShader().
Also stop enabling the Vulkan geometryShader device feature, since we no longer
have any use for it.
Kept on purpose: the device feature is still listed in the feature dumps (like
other capabilities we don't use), and the Vulkan shader cache header keeps its
now-always-zero geometry shader count so the on-disk format stays compatible.
2026-09-03 11:24:03 -06:00
Henrik Rydgård
92ec6a992b
Remove "pixelMapped" from gstate_c.
2026-07-16 17:45:22 +02:00
Henrik Rydgård
66014870d2
Remove unnecessary "DirtyLastShader" mechanism.
2026-07-16 15:47:59 +02:00
Henrik Rydgård
cd40e2d4f0
Delete more code related to hardware skinning
2026-07-14 17:17:40 +02:00
Henrik Rydgård
61e1ef8f7a
Remove the "Software skinning" option. Now always on.
2026-07-14 17:02:57 +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
d70697d3ae
Vulkan simplification: in PipelineCacheKey, use shader IDs instead of pointers to shaders.
2026-07-09 18:40:58 +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
0c7ff6000d
Remove geometry shader tab from DevScreens.cpp
2026-07-08 18:25:08 +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
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
7b3405ab86
Fix a Vulkan lifetime issue causing invalid descriptors on shutdown
...
Also simplifies the code a little
2026-06-25 21:56:33 +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
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
702088c2d0
Fix backwards check for minZ/maxZ in fragment shader
2026-05-31 10:40:14 +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
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
66fd3e65d8
Remove some redundant function parameters
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
ae98055cec
Delete a lot of legacy depth and viewport code, fix OpenGL
2026-05-30 19:07:58 +02:00
Henrik Rydgård
28166cb35d
Add "allocation slack" to our pushbuffers. Fixes a memory overwrite bug
...
Reported by Joseph on Discord.
Sometimes, things could align perfectly so allocations happend exactly
at the end of a pushbuffer. At the same time, we allow our vertex decoder to write an extra few
bytes if it needs to for speed. Unfortunately I missed this interaction,
resulting in some uncommon crashes that were especially common with
heavy-geometry things like modified GTA LCS with PS2 assets, for
example.
The problem was reported with Vulkan, but our OpenGL backend had the
same issue too.
2026-05-13 15:55:34 +02:00
Herman Semenoff
1e2e04b9d2
shadermanagervk: fix possible typo in Clear() function
...
After set_invalid(), shader pointers are not nulled as in DirtyLastShader()
2026-04-28 10:45:45 +02:00
刘皓
5716cbd41d
Use the libretro VFS interface in libretro builds
2026-01-01 00:24:01 -05:00
Henrik Rydgård
4cc5b230ce
The ritual bump of the shader cache version
2025-06-05 11:01:25 +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
4016539c85
Pre-release shader cache version bump for safety
2024-10-29 13:19:58 +01:00
Henrik Rydgård
f54d701a2e
Decentralize the assert for AllocateAlignedMemory failures
2024-10-22 21:49:50 +02:00
Henrik Rydgård
dfca3dd87a
Work around annoying assert in debug memory allocator on 32-bit Windows
2024-09-25 23:24:25 +02:00
Herman Semenov
3c66f149d3
[Common/Core/Windows] Removed excess check pointer before delete or free()
2024-09-17 11:34:42 +02:00
Henrik Rydgård
e01ca5b057
Logging API change (refactor) ( #19324 )
...
* Rename LogType to Log
* Explicitly use the Log:: enum when logging. Allows for autocomplete when editing.
* Mac/ARM64 buildfix
* Do the same with the hle result log macros
* Rename the log names to mixed case while at it.
* iOS buildfix
* Qt buildfix attempt, ARM32 buildfix
2024-07-14 14:42:59 +02:00
Henrik Rydgård
d479b74ed9
v1.17.1
2024-02-04 14:08:02 +01:00
Henrik Rydgård
493122a2fc
v1.17
2024-01-27 14:48:00 +01:00
Henrik Rydgård
126d88ecfc
Back out clearly inconsequential/useless .reserve() calls
2023-12-29 08:27:56 +01:00
Herman Semenov
0748ce610f
[GPU/Common/D3D11/Directx9/GLES/Vulkan] Using reserve if possible
2023-12-15 14:08:22 +03:00
Henrik Rydgård
ced821169e
Bump shader cache versions
2023-10-09 19:39:25 +02:00
Henrik Rydgård
48d3efc473
Bump shader cache versions again, just because.
2023-09-27 17:38:15 +02:00
Henrik Rydgård
01035f48a4
Fix for crash when changing backends in-game
2023-09-26 00:13:53 +02:00
Henrik Rydgård
6e303e8f1d
Vulkan: Simplify GetShaders and DirtyLastShader, making them internally consistent.
2023-09-24 11:55:15 +02:00
Henrik Rydgård
d31ba393af
Don't load the shader cache on a separate thread - all it does is already async
2023-09-24 10:53:23 +02:00
Henrik Rydgård
964f606a9c
Fix some issues around geometry shaders - like, loading them from shader cache while disabled
2023-09-24 01:29:38 +02:00
Henrik Rydgård
dbd3045f87
Join the shader cache load thread on exit
2023-09-24 01:07:08 +02:00
Henrik Rydgård
9a515c851f
Vulkan: Extend the cacheLock usage in GetShaders (was unsafe, though mildly)
2023-09-24 00:58:45 +02:00
Henrik Rydgård
6a8f65b566
Some assert paranoia, remove unused "failed_" variable
2023-09-23 10:09:32 +02:00
Henrik Rydgård
1aab1c4b09
Be a bit smarter when loading the shader cache, avoid duplicating work
2023-09-21 10:44:04 +02:00
Henrik Rydgård
052747aa30
Add reporting of GLSL shader gen errors
2023-09-11 15:37:35 +02:00
Henrik Rydgård
10f93875c6
Fix the semantics of DenseHashMap to be consistent even when inserting nulls
2023-09-11 12:07:18 +02:00
Henrik Rydgård
162b363063
Bump shader cache version, just because.
2023-09-09 15:13:52 +02:00