mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 06:58:05 +02:00
radv: Handle VK_SUBOPTIMAL_KHR in trace layers
vkQueuePresentKHR might return VK_SUBOPTIMAL_KHR which is not VK_SUCCESS
but presentation succeeded anyway. We should capture a trace even if
VK_SUBOPTIMAL_KHR is returned.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24052>
(cherry picked from commit b8edd19358)
This commit is contained in:
parent
de8707b7c5
commit
793d8b876c
4 changed files with 4 additions and 4 deletions
|
|
@ -2614,7 +2614,7 @@
|
|||
"description": "radv: Handle VK_SUBOPTIMAL_KHR in trace layers",
|
||||
"nominated": true,
|
||||
"nomination_type": 0,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": null
|
||||
},
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ rmv_QueuePresentKHR(VkQueue _queue, const VkPresentInfoKHR *pPresentInfo)
|
|||
struct radv_device *device = queue->device;
|
||||
|
||||
VkResult res = queue->device->layer_dispatch.rmv.QueuePresentKHR(_queue, pPresentInfo);
|
||||
if (res != VK_SUCCESS || !device->vk.memory_trace_data.is_enabled)
|
||||
if ((res != VK_SUCCESS && res != VK_SUBOPTIMAL_KHR) || !device->vk.memory_trace_data.is_enabled)
|
||||
return res;
|
||||
|
||||
vk_rmv_log_misc_token(&device->vk, VK_RMV_MISC_EVENT_TYPE_PRESENT);
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ rra_QueuePresentKHR(VkQueue _queue, const VkPresentInfoKHR *pPresentInfo)
|
|||
{
|
||||
RADV_FROM_HANDLE(radv_queue, queue, _queue);
|
||||
VkResult result = queue->device->layer_dispatch.rra.QueuePresentKHR(_queue, pPresentInfo);
|
||||
if (result != VK_SUCCESS)
|
||||
if (result != VK_SUCCESS && result != VK_SUBOPTIMAL_KHR)
|
||||
return result;
|
||||
|
||||
radv_rra_handle_trace(_queue);
|
||||
|
|
|
|||
|
|
@ -588,7 +588,7 @@ sqtt_QueuePresentKHR(VkQueue _queue, const VkPresentInfoKHR *pPresentInfo)
|
|||
VkResult result;
|
||||
|
||||
result = queue->device->layer_dispatch.rgp.QueuePresentKHR(_queue, pPresentInfo);
|
||||
if (result != VK_SUCCESS)
|
||||
if (result != VK_SUCCESS && result != VK_SUBOPTIMAL_KHR)
|
||||
return result;
|
||||
|
||||
radv_handle_thread_trace(_queue);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue