aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/macro.cpp
diff options
context:
space:
mode:
authorTakoroka <137927095+Takoroka@users.noreply.github.com>2026-10-29 02:06:56 -0400
committerTakoroka <137927095+Takoroka@users.noreply.github.com>2026-10-29 02:06:56 -0400
commit0380b0628d4be15fb3eec4e32585c39e507c3851 (patch)
tree731ccf6e7e7ec389dc82f67e312233ae62202dad /src/video_core/macro.cpp
parent9deafb484abc0c286a78b48bd52830c652687339 (diff)
shader_recompiler: linear-time breadth-first search; cache storage buffer tracking
Translating title 1's 28,102-instruction compute shader took 3.4 s on the GPU thread (a freeze the first time it runs), three quarters of it in GlobalMemoryToStorageBufferPass: - BreadthFirstSearch checked "visited" with a linear scan per argument, quadratic once a search walks thousands of instructions; past 64 it now uses a hash set (same visit order, same result). - The pass searched again for every global memory access; accesses through the same address now share the result (the IR does not change while storage buffers are collected). That shader now takes 0.85 s; other new pipelines also cost less.
Diffstat (limited to 'src/video_core/macro.cpp')
0 files changed, 0 insertions, 0 deletions