Herman Semenov
b57dab2812
[GPU] Make static and const methods if possible
2024-04-05 17:04:31 +03: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
db94b0b696
Pass the limit on the number of indices to generate to BuildDrawingParams.
2024-01-15 10:09:04 +01:00
Henrik Rydgård
61acce195c
Avoid decoding indices when we don't need them.
2023-12-20 14:25:19 +01:00
Henrik Rydgård
f86189c951
Show vertex decoders separately in profiles
2023-12-19 12:25:54 +01:00
Henrik Rydgård
aca3bbc9a0
DrawEngine: Remove the confusing MaxIndex accessor, replace with directly reading numDecodedVerts_
2023-12-10 11:58:47 +01:00
Henrik Rydgård
62c936babf
Flip the cull plane data around to avoid transforming each vertex multiple times.
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
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
82606b6eb2
Move the clockwise calculation out of the AddPrim loop
2023-10-10 13:00:57 +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
cd35252400
DrawEngine; Convert strip sequences in a tight loop
2023-10-06 16:25:13 +02:00
Henrik Rydgård
10ccbfd68c
Unify the clearing of variables after a draw call
2023-10-06 15:39:59 +02:00
Henrik Rydgård
4d95250052
Optimize further
2023-10-03 11:01:37 +02:00
Henrik Rydgård
0260aebc26
Implement fast-path for merging non-indexed draws quickly.
2023-10-03 11:01:37 +02:00
Henrik Rydgård
1c49d5718c
Add an offset field that we'll need later
2023-10-03 11:01:37 +02:00
Henrik Rydgård
92ffef2626
Remove some state from IndexGenerator, fix bugs. Mostly works except vertex cache.
2023-10-03 11:01:37 +02:00
Henrik Rydgård
9b411af1f5
It's running.
2023-10-03 11:01:37 +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
061131ec8a
Cache planes used for BBOX culling
...
This isn't a huge performance boost for the games that use BBOX (like
Tekken), but it'll be more valuable if we start using soft culling more
widely automatically, see #17808
2023-07-30 14:42:22 +02:00
Henrik Rydgård
22632b82bd
Merge pull request #17565 from hrydgard/breakout-vcache-vulkan
...
Vulkan: Breakout the vertex cache logic from DoFlush()
2023-06-13 09:56:52 +02:00
Henrik Rydgård
963ca50ba7
Merge pull request #17567 from hrydgard/uvscale-as-argument
...
Pass uvScale in as a fourth argument to the vertex decoder
2023-06-13 09:49:31 +02:00