mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-28 08:10:09 +01:00
venus: allow to retrieve pipeline cache on TLS ring
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26838>
This commit is contained in:
parent
bec287b2a2
commit
0b0c0511b8
1 changed files with 5 additions and 2 deletions
|
|
@ -457,13 +457,16 @@ vn_get_target_ring(struct vn_device *dev)
|
|||
return NULL;
|
||||
|
||||
if (ring != dev->primary_ring) {
|
||||
/* Ensure pipeline create dependencies are ready on the renderer side.
|
||||
/* Ensure pipeline create and pipeline cache retrieval dependencies are
|
||||
* ready on the renderer side.
|
||||
*
|
||||
* TODO:
|
||||
* - For pipeline objects, avoid object id re-use between async pipeline
|
||||
* destroy on the primary ring and sync pipeline create on TLS ring.
|
||||
* - For pipeline create, track ring seqnos of layout and renderpass
|
||||
* objects it depends on, and only wait for those seqnos once.
|
||||
* - For pipeline cache retrieval, track ring seqno of pipeline cache
|
||||
* object it depends on. Treat different sync mode separately.
|
||||
*/
|
||||
vn_ring_wait_all(dev->primary_ring);
|
||||
}
|
||||
|
|
@ -479,7 +482,7 @@ vn_GetPipelineCacheData(VkDevice device,
|
|||
VN_TRACE_FUNC();
|
||||
struct vn_device *dev = vn_device_from_handle(device);
|
||||
struct vn_physical_device *physical_dev = dev->physical_device;
|
||||
struct vn_ring *target_ring = dev->primary_ring;
|
||||
struct vn_ring *target_ring = vn_get_target_ring(dev);
|
||||
|
||||
struct vk_pipeline_cache_header *header = pData;
|
||||
VkResult result;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue