Henrik Rydgård
1b2f87bf1a
Rename GPUgstate to GEState
2026-07-02 20:34:09 +02:00
Henrik Rydgård
471f50c7be
More sprite detection
...
Fixes #15757
Fixes #15755
2026-06-15 00:17: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
484b94c3f3
Build and warning fixes
2026-06-12 17:28:52 +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
8faf6d9a3d
Oops, fix regression from previous PR
2026-06-10 11:42:24 +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
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
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
Henrik Rydgård
d59cdcad61
GTA sprite fix: Detect sprites, clip them slightly to avoid filtering artifacts
2026-06-05 11:48:46 +02:00
Henrik Rydgård
19d6850789
Apply the correct culling epsilons both in fastcull and in software transform. Fixes NBA again.
2026-06-05 00:18:06 +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
195455a7f4
Break out VertexReader, prepare VertexReader for CrossSIMD use in software transform
2026-06-04 12:45:17 +02:00
Henrik Rydgård
84c366971c
Software transform: Scope some variables properly. Remove unnecessary & on parameter.
2026-06-04 12:45:17 +02:00
Henrik Rydgård
00d201b216
Correct software transform stats in all-cull and through mode cases
2026-06-04 12:45:17 +02:00
Henrik Rydgård
c270e8766e
Correct depth clear translation. Fixes #21780
2026-06-04 11:30:52 +02:00
Henrik Rydgård
d0f4e5c2d1
Visualize bounding boxes in ImGe debugger by drawing their corners
2026-06-03 13:46:30 +02:00
Henrik Rydgård
1624a6da83
Delete some old now-unused variables, and remove an accidental use.
2026-06-03 13:28:40 +02:00
Henrik Rydgård
79328a99b3
Vertex preview works again in both debuggers.
2026-06-02 15:40:37 +02:00
Henrik Rydgård
c46774c923
Fix the ImGe debugger vertex list
2026-06-02 14:53:37 +02:00
Henrik Rydgård
bb573e6e0c
Well, it builds, but doesn't work yet.
2026-06-02 12:33:53 +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
847953fd31
Fix wrong logic causing excessive software transform fallback if cull planes are missing. Minor cleanup.
2026-05-31 13:31:16 +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
058b1af285
Revert to software on out-of-bounds projected depth
2026-05-30 19:07:59 +02:00
Henrik Rydgård
49557580e9
disable debug colors
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
280ddbf86c
Remove state from SoftwareTransform class
2026-05-30 19:07:59 +02:00
Henrik Rydgård
5cc2f71038
Software transform: More Z clamping updates
2026-05-30 19:07:59 +02:00
Henrik Rydgård
83dcd24043
Small SIMD optimization in software transform
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
a6b146b74b
Some work on software transform
2026-05-30 19:07:59 +02:00
Henrik Rydgård
f55adcc3a1
Apply a small depth bias to simulate rounding of Z. Fix min/max clip plane math
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
d3543e16b3
Simplify line expansion
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
Henrik Rydgård
f60e27a9b7
Just some refactoring of the GPUStatistics struct, and more use of StringWriter
2026-05-29 14:40:31 +02:00
Henrik Rydgård
db99de8575
Rename BuildDrawParams to ProjectClipAndExpand, call it directly from Transform
2026-05-26 16:05:53 +02:00
Henrik Rydgård
9ad9a6c0bb
DrawEngines: Move the clear-detection to a more sensible place, reorder things to make more sense.
2026-05-26 16:05:53 +02:00
Henrik Rydgård
f40e487a61
Simplify the TransformedVertex struct
2026-05-24 12:48:26 +02:00
Henrik Rydgård
65c99beea7
Remove some old debris
2026-05-19 15:43:25 +02:00
Henrik Rydgård
afb764e6ae
Rendering: Unify the Y-flipping state across backends (now only applied in-shader, not through matrices).
2026-05-14 23:30:06 +02:00
Henrik Rydgård
991d7bdfab
VertexDecoder: Refactor away lowerbound/upperbound parameters
2026-02-05 13:26:17 +01:00
Henrik Rydgård
6cfea96e58
Remove D3D9 support, to make future changes easier
2025-06-10 15:07:16 +02:00