mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 13:38:06 +02:00
venus: force async pipeline create on threads creating descriptor pools
This works around some Unity engine behaivor with ANGLE-on-Venus, when cmd pools are created on main thread once while the render thread only does descriptor pool creation for set allocations during recording time. This change also explicitly forces async pipeline create for threads creating the device instead of implicitly via feedback cmd pool create. This ensures intended behavior when feedback is disabled. Fixes:d17ddcc847("venus: dispatch background shader tasks to secondary ring") Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27347> (cherry picked from commit1718980e85)
This commit is contained in:
parent
c1b9d9118f
commit
000135abe1
3 changed files with 5 additions and 1 deletions
|
|
@ -11884,7 +11884,7 @@
|
|||
"description": "venus: force async pipeline create on threads creating descriptor pools",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": "d17ddcc84773899ef8b022d94969ffc0909db0bc",
|
||||
"notes": null
|
||||
|
|
|
|||
|
|
@ -390,6 +390,8 @@ vn_CreateDescriptorPool(VkDevice device,
|
|||
vn_async_vkCreateDescriptorPool(dev->primary_ring, device, pCreateInfo,
|
||||
NULL, &pool_handle);
|
||||
|
||||
vn_tls_set_async_pipeline_create();
|
||||
|
||||
*pDescriptorPool = pool_handle;
|
||||
|
||||
return VK_SUCCESS;
|
||||
|
|
|
|||
|
|
@ -570,6 +570,8 @@ vn_CreateDevice(VkPhysicalDevice physicalDevice,
|
|||
vn_log(instance, "%s", physical_dev->properties.vulkan_1_2.driverInfo);
|
||||
}
|
||||
|
||||
vn_tls_set_async_pipeline_create();
|
||||
|
||||
*pDevice = vn_device_to_handle(dev);
|
||||
|
||||
return VK_SUCCESS;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue