9751 Commits

Author SHA1 Message Date
Henrik Rydgård 471f50c7be More sprite detection
Fixes #15757

Fixes #15755
2026-06-15 00:17:41 +02:00
Henrik Rydgård 64e55324c7 Fix initialization bug in TextureCacheCommon 2026-06-14 14:02:09 +02:00
Henrik Rydgård 5676e90896 Rename some stencil enums 2026-06-14 13:33:13 +02:00
Henrik Rydgård 49b3b4462c ImGeDebugger: Allow viewing the alpha channel (so you can compare it to stencil...) 2026-06-14 13:23:49 +02:00
Henrik Rydgård ea8a648737 Refactor UI shader presets, prepare for some updates to the ImGe debugger 2026-06-14 11:08:56 +02:00
Henrik Rydgård 536c4ace73 Fix the ugly line on Ridge Racer lens flares
Turns out we were not updating one column and row of the lens flare
image, which is done in a strange way by the game (CLUT in framebuffer).

Some math of the game is a little off and for some reason it's not
noticeable on hardware.
2026-06-14 01:09:33 +02:00
Henrik Rydgård 1a38b91d31 Fix compilation error on x86-32 2026-06-13 17:44:39 +02:00
Henrik Rydgård 7c1f052b87 ImGe debugger fix 2026-06-13 17:09:06 +02:00
Henrik Rydgård e0634f3df9 Assorted cleanup and tweaks 2026-06-13 13:34:41 +02:00
Henrik Rydgård d6e0dd1478 Always enable the secondary texture cache 2026-06-13 13:34:41 +02:00
Henrik Rydgård 0501dc4ec1 Just minor optimizations 2026-06-13 13:34:41 +02:00
Henrik Rydgård 3ff52b3c90 Software transform: Share the fog coef computation with the hardware transform code 2026-06-13 10:14:44 +02:00
Henrik Rydgård c5931ea690 Unify more shader uniform update code, fix bug in fallback for Uint8x3ToFloat4. 2026-06-13 10:14:39 +02:00
Henrik Rydgård 40a345bff8 Fix a filtering issue, enable this for Fushigi no Dungeon 4. 2026-06-12 23:52:50 +02:00
Henrik Rydgård 484b94c3f3 Build and warning fixes 2026-06-12 17:28:52 +02:00
Henrik Rydgård f3e590b059 Experiment with a compat flag that forces shader depal 2026-06-12 12:19:17 +02:00
Henrik Rydgård 87cc608df1 Add the necessary logic to use in-shader CLUT lookups for regular textures 2026-06-11 12:42:16 +02:00
Henrik Rydgård 4f925fa5f2 Minor code cleanup 2026-06-11 11:59:00 +02:00
Henrik Rydgård 0bf1d12053 Prepare for shader depal (CLUT palette lookup) for ordinary textures 2026-06-11 11:58:58 +02:00
Henrik Rydgård d33425d01d Split out the CLUT texture cache from "TextureShaderCache" 2026-06-11 10:57:30 +02:00
Henrik Rydgård f034cb45bb Unify UpdateCurrentClut between D3D11 and Vulkan (GLES is still different) 2026-06-11 10:40:21 +02:00
Henrik Rydgård 73fbea4b3b Make the shader compilation test for D3D happy 2026-06-11 00:24:21 +02:00
Henrik Rydgård c9623374b1 Fix some issues with sprite border fix for RECT primitives 2026-06-10 15:29:18 +02:00
Henrik Rydgård 63a51dc6c2 Minor code cleanup 2026-06-10 15:10:03 +02:00
Henrik Rydgård ef111c0297 FragmentShader: Add support for two more shader depal formats: CLUT8 and DEPTH16. Unused.. but maybe not for long. 2026-06-10 15:09:56 +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 8faf6d9a3d Oops, fix regression from previous PR 2026-06-10 11:42:24 +02:00
Henrik Rydgård cd0802b9c8 Remove redundant flag from vertex shader IDs 2026-06-10 10:46:05 +02:00
Henrik Rydgård 5c340ccd09 Remove the concept of scaled/offset depth buffers. 2026-06-10 10:41:30 +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 9c9e709bfa Restore and plug back in some of the texture invalidation logic. Fixes GT, not much other impact. 2026-06-09 23:49:54 +02:00
Henrik Rydgård ce7da78b17 Invalidate texture hashes on readbacks 2026-06-09 23:49:54 +02:00
Henrik Rydgård 5691440442 Clean out some more stuff we don't need anymore 2026-06-09 23:49:54 +02:00
Henrik Rydgård 1781f693b5 Implement the new SyncDomain concept for texture hashing, remove minihash 2026-06-09 23:49:54 +02:00
Henrik Rydgård 36bdde68f9 Delete the "Lazy texture cache" option 2026-06-09 23:49:54 +02:00
Henrik Rydgård 79a81186a6 Add some new stats (enqueues, stall address updates) 2026-06-09 23:49:54 +02:00
Henrik Rydgård c300c8fa82 Shrink the TexCacheEntry struct a bit 2026-06-09 11:25:51 +02:00
Henrik Rydgård a38c52601c Turn TexCacheEntry::TexStatus into an enum class 2026-06-09 11:25:51 +02:00
Henrik Rydgård 7ced074154 Rearrange the texture status flags, rename Full alpha to Solid alpha for textures 2026-06-09 11:25:50 +02:00
Henrik Rydgård ec6c7b08f5 Add a common TextureAlpha enum, replacing CheckAlphaResult and ReplacedTextureAlpha. 2026-06-09 11:25:50 +02:00
Henrik Rydgård fdcf923c75 TexCache: Stop bitpacking the hash status into the status flags 2026-06-09 11:25:50 +02:00
Henrik Rydgård 54d5c1d5e3 Improve some initialization in CrossSIMD.h. Add comments about CLUT variants 2026-06-09 10:15:08 +02:00
Henrik Rydgård e0a961ddc5 Just some basic code cleanup in TextureCacheCommon. 2026-06-08 22:51:00 +02:00
Henrik Rydgård 2534eb4480 Disable anisotropic filtering for all flat draws.
May improve performance slightly, and should fix the last instances of #19555
2026-06-08 15:28:58 +02:00
Henrik Rydgård 644f1b6caf Fix SpriteBorderFix problem where it was affecting the main render 2026-06-07 19:38:35 +02:00
Henrik Rydgård 2da3df75d7 Oops, lost a check for smart 2D texture filtering 2026-06-07 17:38:28 +02:00
Henrik Rydgård a7f62d763a Make the MaxZ test a bit more lenient to fix Taiko no Tatsujin. Debugger improvement
Fixes #21797
2026-06-07 13:47:42 +02:00
Henrik Rydgård d19f8b72f9 Warning fixes 2026-06-06 14:24:16 +02:00
Henrik Rydgård 5bfc87ffd5 Improve the sprite border fix to work with RECTs, add some conditions 2026-06-06 12:31:41 +02:00
Henrik Rydgård cf9c0c5c84 Restructure the sprite detection, no longer require Smart 2D texture filtering to apply 2026-06-06 11:21:46 +02:00