mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 04:38:03 +02:00
radv: Add timeout to video encode query
Reviewed-by: Dave Airlie <airlied@redhat.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36645>
(cherry picked from commit 142d54817a)
This commit is contained in:
parent
8476bd5002
commit
043d2f43f0
2 changed files with 6 additions and 3 deletions
|
|
@ -5784,7 +5784,7 @@
|
||||||
"description": "radv: Add timeout to video encode query",
|
"description": "radv: Add timeout to video encode query",
|
||||||
"nominated": true,
|
"nominated": true,
|
||||||
"nomination_type": 1,
|
"nomination_type": 1,
|
||||||
"resolution": 0,
|
"resolution": 1,
|
||||||
"main_sha": null,
|
"main_sha": null,
|
||||||
"because_sha": null,
|
"because_sha": null,
|
||||||
"notes": null
|
"notes": null
|
||||||
|
|
|
||||||
|
|
@ -2063,6 +2063,7 @@ radv_get_rel_timeout_for_query(VkQueryType type)
|
||||||
case VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT:
|
case VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT:
|
||||||
case VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT:
|
case VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT:
|
||||||
case VK_QUERY_TYPE_MESH_PRIMITIVES_GENERATED_EXT:
|
case VK_QUERY_TYPE_MESH_PRIMITIVES_GENERATED_EXT:
|
||||||
|
case VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR:
|
||||||
return radv_get_tdr_timeout_for_ip(AMD_IP_GFX) * 2;
|
return radv_get_tdr_timeout_for_ip(AMD_IP_GFX) * 2;
|
||||||
default:
|
default:
|
||||||
return radv_get_tdr_timeout_for_ip(AMD_IP_COMPUTE) * 2;
|
return radv_get_tdr_timeout_for_ip(AMD_IP_COMPUTE) * 2;
|
||||||
|
|
@ -2392,11 +2393,13 @@ radv_GetQueryPoolResults(VkDevice _device, VkQueryPool queryPool, uint32_t first
|
||||||
uint32_t value;
|
uint32_t value;
|
||||||
do {
|
do {
|
||||||
value = p_atomic_read(&src32[1]);
|
value = p_atomic_read(&src32[1]);
|
||||||
} while (value != 1 && (flags & VK_QUERY_RESULT_WAIT_BIT));
|
} while (value != 1 && (flags & VK_QUERY_RESULT_WAIT_BIT) && !(timed_out = (atimeout < os_time_get_nano())));
|
||||||
|
|
||||||
available = value != 0;
|
available = value != 0;
|
||||||
|
|
||||||
if (!available && !(flags & VK_QUERY_RESULT_PARTIAL_BIT))
|
if (timed_out)
|
||||||
|
result = VK_ERROR_DEVICE_LOST;
|
||||||
|
else if (!available && !(flags & VK_QUERY_RESULT_PARTIAL_BIT))
|
||||||
result = VK_NOT_READY;
|
result = VK_NOT_READY;
|
||||||
|
|
||||||
if (flags & VK_QUERY_RESULT_64_BIT) {
|
if (flags & VK_QUERY_RESULT_64_BIT) {
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue