diff options
| author | Takoroka <137927095+Takoroka@users.noreply.github.com> | 2026-10-31 20:04:22 -0400 |
|---|---|---|
| committer | Takoroka <137927095+Takoroka@users.noreply.github.com> | 2026-10-31 20:04:22 -0400 |
| commit | dbd9572a5a03b1e0bb00946750cf866420a25596 (patch) | |
| tree | 5ecc84f1e4fcfb8b7b9057d77cf34ae8164a8646 /src/video_core/vulkan_common/vulkan_device.cpp | |
| parent | e36d46693b0cc1324861625ee90e90b4799811d4 (diff) | |
texture_cache: delete images without walking every channel's tables
Deleting an image stamped every entry of every channel's view-id map
with CORRUPT_ID (validation, which is on in release builds) and cleared
every channel's descriptor table bitmaps on the spot. On Mario Kart
World's title screen (~5,400 entries in 5 channels) that took 362 us
per deleted image, with dozens deleted a frame while the collector runs:
~10% of the time in its frames over 100 ms.
The stamp is debug-only now. The tables are invalidated along with it,
so every entry is written again before it is read. Invalidate() marks a
table and its bitmap is cleared on the next read, once however many
images were deleted in between. Same title screen: 3.7 us per deleted
image.
Diffstat (limited to 'src/video_core/vulkan_common/vulkan_device.cpp')
0 files changed, 0 insertions, 0 deletions
