anv: discard all timeline wait/signal value=0

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 34f32a6d66 ("anv: implement VK_KHR_timeline_semaphore")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4277
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8987>
This commit is contained in:
Lionel Landwerlin 2021-02-11 17:38:11 +02:00 committed by Marge Bot
parent aad3135ec9
commit 6673c40011
1 changed files with 16 additions and 4 deletions

View File

@ -997,18 +997,24 @@ anv_queue_submit_add_in_semaphores(struct anv_queue_submit *submit,
}
case ANV_SEMAPHORE_TYPE_TIMELINE:
assert(in_values);
if (in_values[i] == 0)
break;
result = anv_queue_submit_add_timeline_wait(submit, device,
&impl->timeline,
in_values ? in_values[i] : 0);
in_values[i]);
if (result != VK_SUCCESS)
return result;
break;
case ANV_SEMAPHORE_TYPE_DRM_SYNCOBJ_TIMELINE:
assert(in_values);
if (in_values[i] == 0)
break;
result = anv_queue_submit_add_syncobj(submit, device,
impl->syncobj,
I915_EXEC_FENCE_WAIT,
in_values ? in_values[i] : 0);
in_values[i]);
if (result != VK_SUCCESS)
return result;
break;
@ -1074,17 +1080,23 @@ anv_queue_submit_add_out_semaphores(struct anv_queue_submit *submit,
}
case ANV_SEMAPHORE_TYPE_TIMELINE:
assert(out_values);
if (out_values[i] == 0)
break;
result = anv_queue_submit_add_timeline_signal(submit, device,
&impl->timeline,
out_values ? out_values[i] : 0);
out_values[i]);
if (result != VK_SUCCESS)
return result;
break;
case ANV_SEMAPHORE_TYPE_DRM_SYNCOBJ_TIMELINE:
assert(out_values);
if (out_values[i] == 0)
break;
result = anv_queue_submit_add_syncobj(submit, device, impl->syncobj,
I915_EXEC_FENCE_SIGNAL,
out_values ? out_values[i] : 0);
out_values[i]);
if (result != VK_SUCCESS)
return result;
break;