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
533fa14e27
Add a stat for number of verts decoded. It's quite high but not crazy for UFC 2010...
...
See #18806
2024-02-01 19:19:53 +01:00
Henrik Rydgård
0615ba3e54
Some paranoia and a comment
2024-01-29 00:54:18 +01:00
Henrik Rydgård
8b4f80c562
GPUCommonHW: Check range of indexes for indexed draws.
2024-01-28 22:58:20 +01:00
Henrik Rydgård
822ebf9dfb
Use the correct culling function in the fast draw-continuation loop
2023-12-28 10:40:56 +01:00
Henrik Rydgård
e488189723
Inline UpdateUVScaleOffset
2023-12-21 12:10:10 +01:00
Henrik Rydgård
50bcb2a77a
Add "Disable culling" as a speedhack for experimentation
...
Range culling (which we'll just call culling in the setting
name) still is problematic enough that it can be useful to have this
way to turn it off as an escape route. Since disabling it can break some
games like famously TOCA, it needs to be under speedhacks, though likely
the performance change is minimal.
See for example #17061
2023-12-18 13:13:44 +01:00
Henrik Rydgård
33e48e9675
OpenGL: Fix some confusion between gpu->BeginHostFrame and gpu->BeginFrame, fixing black screen
2023-12-11 23:05:37 +01:00
Henrik Rydgård
8d8ff5886b
Fix issue where nothing had started a render pass when we wanted to clear the screen.
2023-12-11 13:06:15 +01:00
Henrik Rydgård
7e85d3d10a
Disable the new culling on RISC-V for now.
2023-12-09 16:49:02 +01:00
Henrik Rydgård
a043962447
World space planes
2023-12-09 15:55:51 +01:00
Henrik Rydgård
89d8ef87ec
Use a less accurate but faster frustum cull for the general draws.
2023-12-09 15:55:51 +01:00
Henrik Rydgård
0905b6a5ad
Frustum-cull small draws
...
Some games do a poor job of culling stuff, and some transparent
sprites can be very expensive if they cause a copy.
Skipping them if outside the viewport makes sense in that case.
One example are the flame sprites in #17797 .
Additionally, we should be able to cull through-mode draws easily, this
one doesn't even try.
2023-12-09 15:55:51 +01:00
Henrik Rydgård
8588b11a6a
Rename MayIntersectFramebuffer to MayInteresectFramebufferColor
2023-12-06 09:42:44 +01:00
Henrik Rydgård
fd73522efc
Changing UV scale/offset requires us to stop "extending" prims
...
This is because we currently can't change these scales mid-decode, so we
need to break up the collection there. Note that this still won't cause
a full flush, just that the new extra-efficient tristrip merging can't go
through these commands.
2023-12-03 19:21:55 +01:00
Henrik Rydgård
6d977b4a12
Remove unnecessary struct FramebufferInfo
2023-12-02 13:56:18 +01:00
Henrik Rydgård
632fa1c9d6
Cache and hash data for DrawPixels.
...
We already had a cache to reuse texture objects so just
opportunistically reuse them when easy to do so.
2023-11-11 19:58:12 +01:00
Henrik Rydgård
e4ea4831e9
Delete the vertex cache option from the code.
2023-10-10 15:43:43 +02:00
Henrik Rydgård
078018a943
Move the clockwise calculation out of DrawEngineCommon
2023-10-10 13:16:34 +02:00
Henrik Rydgård
35fcec1e4b
Another small fix, helps Toca series games.
2023-10-10 02:13:25 +02:00
Henrik Rydgård
f6ba4ee4de
Only support extending triangle-based draw calls. Fixes Crazy Taxi.
2023-10-09 21:14:00 +02:00
Henrik Rydgård
10bc6b4cd8
Safety check that doesn't fix crazy taxi
2023-10-09 21:10:53 +02:00
Henrik Rydgård
a8b8580756
Don't forget to check the stall address, even in the optimized primitive loop
2023-10-09 14:08:11 +02:00
Henrik Rydgård
ae58fe3828
In GL and Vulkan soft-skin, we might not be fully done decoding when we reach flush. Take that into account.
2023-10-08 16:51:58 +02:00
Henrik Rydgård
cd35252400
DrawEngine; Convert strip sequences in a tight loop
2023-10-06 16:25:13 +02:00