Henrik Rydgård
8f3045cf9e
Cleanup
2025-05-15 18:20:47 +02:00
Henrik Rydgård
751e4fad2e
Move more of GPU init to the loader thread. Some log cleanup.
2025-05-15 11:43:37 +02:00
Henrik Rydgård
4fcf5a4fab
Start reordering things in the GPU init, with the goal of doing most of it on the loader thread.
2025-05-15 10:24:30 +02:00
Henrik Rydgård
088a02bfdb
Cleanup a lot of the bootup state management.
2025-03-30 14:02:29 +02:00
Henrik Rydgård
c23c3e8d03
Measure the available time for "background depth raster". The idea is viable.
2024-12-29 09:45:55 +01:00
Henrik Rydgård
ef934df0f2
Compute and cull by triangle area early before writing 4-groups of triangles
2024-12-29 01:21:16 +01:00
Henrik Rydgård
e8786fc401
Cull 4-groups of triangles early
2024-12-29 01:12:53 +01:00
Henrik Rydgård
6d539cc5e0
More fixes
2024-12-28 23:50:42 +01:00
Henrik Rydgård
8b10ee3937
Depth Z: Add a stat for Z-culling, correctly distinguish the small/backface stats
2024-12-28 18:45:03 +01:00
Henrik Rydgård
3ccb01b09c
Depth Raster: Add more stats, discard triangles with < 10 px area. Still good results.
2024-12-22 10:32:20 +01:00
Henrik Rydgård
0629a98f97
Add some depth raster stats
2024-12-22 10:32:15 +01:00
Henrik Rydgård
0df2a40487
Remove the "GPUInterface" base class. Not really useful, GPUCommon is pretty much the same thing.
2024-12-02 11:12:14 +01:00
Henrik Rydgård
ab1072224f
Cleanup, add another GPU stat
2024-10-29 08:18:41 +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
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
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
226d25721a
Add a block transfer GPU stat, remove a redundant one
2023-10-03 13:15:55 +02:00
Henrik Rydgård
e63bb0459c
Add a new stat, so we can see per game if the optimization has an effect
2023-10-03 11:01:37 +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
ea552bc573
Add a new GPU stat (DrawPixels), kinda heavy since creates textures. GoW does 20-ish per frame.
2023-05-30 10:15:34 +02:00
Henrik Rydgård
06b83115a5
Replacer: Avoid tracking video textures
2023-03-10 12:20:55 +01:00
Henrik Rydgård
2d0252feb8
Merge pull request #16916 from hrydgard/implement-delayed-readback
...
Implement delayed depth readbacks, Vulkan only
2023-02-08 21:34:29 +01:00
Henrik Rydgård
9827dd536c
Count listsyncs and drawsyncs in gpu stats. Eat some cycles in listSync
...
Chose a conservative number (same as sceGeContinue)
2023-02-08 00:41:26 +01:00
Henrik Rydgård
b3e6b81e43
Implement delayed depth readbacks for Vulkan only
2023-02-07 23:13:36 +01:00
Henrik Rydgård
62484f01ed
Make ReadbackFramebufferSync able to use the stretch ability of ReadbackDepthbufferSync
2023-02-04 12:05:50 +01:00
Henrik Rydgård
d49b39e422
Remove gpuCommandsAtCallLevel stats, compute another stat more efficiently
...
These stats have proven rather useless since we don't plan to cache and
optimize display lists.
2023-01-04 17:07:45 +01:00
Unknown W. Brackets
be84bc9934
softgpu: Detect binner alloc fail and bail.
2023-01-01 06:59:14 -08:00
Henrik Rydgård
694dbe1271
Add ShaderDepalMode enum, use in shader ID. Replaces smoothed bit.
2022-09-11 14:40:01 +02:00
Henrik Rydgård
e69bb4f616
Buildfix, warn fixes while at it
2022-09-05 23:40:43 +02:00
Henrik Rydgård
16212cae73
NFS speed effect: Improve framebuffer choice logging, tighten up stride checks.
2022-09-05 23:31:30 +02:00
Henrik Rydgård
847e05140b
Add another stat, for self-tex
2022-08-29 17:41:29 +02:00
Henrik Rydgård
f228de76ef
Fix OpenGL bug when framebuffer fetch is available. Add two new stats.
2022-08-29 15:39:29 +02:00
Henrik Rydgård
51686f4936
Copy color from overlapping framebuffers on bind, under certain conditions.
...
Leads to much faster performance in Juiced 2.
This will later be expanded to handle more things in a more elegant way,
like the framebuffer overlap in God of War for the shadows and
color reinterpretation in a generic way.
Fixes #15728
2022-08-22 16:06:55 +02:00
Henrik Rydgård
886679c7ec
Remove the color-to-depth mode
2022-08-20 08:29:33 +02:00
Henrik Rydgård
131098c4d4
Some enum renaming, move RasterChannel to GPU.h.
2022-08-09 19:58:48 +02:00
Henrik Rydgård
90a44579bf
Implement color-to-depth for Vulkan, start implementing for D3D11
2022-08-01 11:30:36 +02:00
Henrik Rydgård
89845eae7a
Add GPU stat for number of depth copies per frame
...
Will be useful for evaluating #15700
2022-07-24 17:12:43 +02:00
Henrik Rydgård
3093b9c7bf
Share GPUS stats formatting code between the backends (easier to add new stats)
2020-09-20 22:09:25 +02:00
Henrik Rydgård
7630fae4b9
Fix bug in new framebuffer code, reducing unnecessary texture invalidations.
...
Improves the performance issue in #13431
2020-09-16 01:03:56 +02:00
Henrik Rydgård
f6db1c2b01
Show how many times we evaluate framebuffers per frame in debug statistics.
2020-09-12 15:37:03 +02:00
Unknown W. Brackets
5871ab0538
UI: Stop caching the draw context in coreParam.
...
This is possibly getting outdated in some paths of graphics reinit, and
then causing crashes. Let's just always get it from the graphicsContext.
2019-09-28 21:58:15 -07:00
Unknown W. Brackets
0151c5e649
GPU: Track stats on uploads.
...
A lot can lead to slowdown, so it's useful when logging frame drops.
2017-12-28 19:27:45 -08:00
Unknown W. Brackets
f9750dd137
Display: Avoid limiting FPS without a clear.
...
A bit of a dirty heuristic to avoid the slowdown in #8538 .
2017-12-26 19:37:40 -08:00
Unknown W. Brackets
60c4ac58f0
System: Allow GPU to have delayed loading.
2017-12-03 11:29:07 -08:00
Henrik Rydgård
d618b3673b
Count readbacks in a frame and show in GPU debug stats.
2017-11-08 11:57:53 +01:00
Henrik Rydgård
f86b9f7900
Guess what? More renaming
2016-12-27 11:59:06 +01:00
Henrik Rydgård
10393f5d4e
Move Thin3D into the Draw namespace.
2016-12-27 11:58:03 +01:00
Henrik Rydgard
727058fc27
Remove an entry from GPUStats that didn't really belong.
2016-04-02 11:06:05 +02:00
Henrik Rydgard
c1e9df0777
Adjust the displayed debug stats for each backend. Cleanup.
2016-03-31 10:23:40 +02:00