anv: Check VkResult of perf query batch buffer

On i915 it could be executing the main batch buffer in
i915_queue_exec_locked() even if the perf query batch buffer failed.

Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32850>
This commit is contained in:
José Roberto de Souza 2025-01-07 10:14:34 -08:00 committed by Marge Bot
parent 6d2749539b
commit 4c6194cae0

View file

@ -969,11 +969,11 @@ i915_queue_exec_locked(struct anv_queue *queue,
ANV_RMV(bos_gtt_map, device, execbuf.bos, execbuf.bo_count);
int ret = queue->device->info->no_hw ? 0 :
anv_gem_execbuffer(queue->device, &execbuf.execbuf);
if (ret) {
anv_i915_debug_submit(&execbuf);
result = vk_queue_set_lost(&queue->vk, "execbuf2 failed: %m");
if (result == VK_SUCCESS && !queue->device->info->no_hw) {
if (anv_gem_execbuffer(queue->device, &execbuf.execbuf)) {
anv_i915_debug_submit(&execbuf);
result = vk_queue_set_lost(&queue->vk, "execbuf2 failed: %m");
}
}
if (cmd_buffer_count != 0 && cmd_buffers[0]->companion_rcs_cmd_buffer) {