30316246d0
This is to prepare for a new multi-ring design. A preview is as below: - primary ring will migrate to be asynchronous only - synchronous commands will be via thread local rings - pipeline creations will be synchronous and dispatched to thread local rings unless being forced to be async on primary ring - perf option no_multi_ring is made generic to force a single ring Pipeline cache retrieval is temporarily moved back to primary ring, but will be moved to thread local later since it's a synchronous command. The dependency resolving will follow the same with pipeline create with detailed rationale later. Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26838>