Henrik Rydgård
3eb056ad86
Move Common/GraphicsContext.h to Common/GPU/GraphicsContext.h
2026-07-26 13:58:17 +02:00
Henrik Rydgård
1ffdc52111
Remove another "next" variable, cleanup
2026-07-18 11:57:48 +02:00
Henrik Rydgård
40bce17f53
Some cleanup
2026-07-16 20:27:44 +02:00
Henrik Rydgård
0528646ea3
Invert the relationship between the two functions
2026-07-16 19:08:18 +02:00
Henrik Rydgård
e81055db16
Remove the need to call SetTexture() externally.
2026-07-16 18:32:47 +02:00
Henrik Rydgård
b4d1b3d469
Reshuffle so that SetTexture and ApplyTexture are always called together (will merge them later)
2026-07-16 18:23:58 +02:00
Henrik Rydgård
7c73ed71bf
Remove the ability to "set safe size" from SoftwareTransformCommon, now redundant
2026-07-16 18:05:59 +02:00
Henrik Rydgård
fef50f5348
Remove obsolete software transform vertex decoder hack that forced software skinning
2026-07-16 17:52:14 +02:00
Henrik Rydgård
92ec6a992b
Remove "pixelMapped" from gstate_c.
2026-07-16 17:45:22 +02:00
Henrik Rydgård
6f4f0c41b4
Split ApplyTexture into ApplyTexture and ApplySampler
2026-07-16 17:45:22 +02:00
Henrik Rydgård
2e012b8966
Unify the "BindSampler" function between the backends
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
d2ae8af2bf
Start splitting apart Texture vs Sampler binding code
2026-07-16 15:03:23 +02:00
Henrik Rydgård
ea95eb420d
Clean up GetFramebufferSamplingParams
2026-07-16 15:03:20 +02:00
Henrik Rydgård
c3eafeb005
Remove obsolete vertex decoder code and options
2026-07-14 17:26:00 +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
9e687c3282
Make Description a member function of VShaderID / FShaderID. Assorted cleanup
2026-07-09 17:46:07 +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
90c48671d7
D3D11: Remove support for BGRA textures and preferred framebuffer formats
2026-07-03 16:20:22 +02:00
Henrik Rydgård
ebc564a465
Centralize handling of another GPU flag
2026-06-27 13:50:03 +02:00
Henrik Rydgård
d2f1193afc
Remove another unused GPU_USE_* flag
2026-06-27 13:19:13 +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
e0634f3df9
Assorted cleanup and tweaks
2026-06-13 13:34:41 +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
a38c52601c
Turn TexCacheEntry::TexStatus into an enum class
2026-06-09 11:25:51 +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
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
169f473b95
Smart 2D texture filtering: Use the new vertex path to check for pixel mapping in transformed geometry
...
Previously, "Smart 2D texture filtering" was limited to through-mode
draws, but many games use fully transformed draws to do 2D elements.
An example of this is Outrun in the menus, and it's always been plagued by
horrible filtering artifacts.
With the improved Smart 2D texture filtering, the artifacts are gone!
Of course, instead of glitchy bilinear you instead get point sampled
texturing so it looks more pixellated, but no more ugly borders between letters
in the game.
2026-06-04 17:04:04 +02:00
Henrik Rydgård
5151df7366
Remove fbman, texcache parameters from SoftwareTransformParams
2026-06-02 11:39:33 +02:00
Henrik Rydgård
77d5ca3116
Remove the SoftwareTransform class, there's no state anymore
2026-06-02 11:39:33 +02:00
Henrik Rydgård
8113cb9147
Misc cleanup and renaming
2026-06-02 11:39:33 +02:00
Henrik Rydgård
bdd72c08f3
Fix dirtying caused by clip flag state. This could probably be a bit smarter.
2026-05-30 21:47:21 +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
0e8ba0d6fe
Bugfixes, cleanup
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
66fd3e65d8
Remove some redundant function parameters
2026-05-30 19:07:59 +02:00
Henrik Rydgård
058b1af285
Revert to software on out-of-bounds projected depth
2026-05-30 19:07:59 +02:00
Henrik Rydgård
280ddbf86c
Remove state from SoftwareTransform class
2026-05-30 19:07:59 +02:00
Henrik Rydgård
d60d190236
Implement depth clamp (for safe cases) in the software transform pipeline, and make sure triangle culling is always done.
2026-05-30 19:07:59 +02:00
Henrik Rydgård
08f4c8fae8
Compute min/max Z and W from the culling loop, use to cull some more
2026-05-30 19:07:58 +02:00
Henrik Rydgård
5808afef10
Implement minZ/maxZ through user clip planes
2026-05-30 19:07:58 +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
62d8cf22de
Move the viewport transform to software in SW transform mode
...
transform fix
2026-05-30 19:07:58 +02:00
Henrik Rydgård
69c7c75124
Replace u_proj_through with a simple scale/offset
...
First reasonable output appears.
2026-05-30 19:07:58 +02:00