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>
(cherry picked from commit 6673c40011)
This commit is contained in:
Lionel Landwerlin 2021-02-11 17:38:11 +02:00 committed by Dylan Baker
parent 5b023a1fb8
commit f41b4cafeb
2 changed files with 17 additions and 5 deletions

View file

@ -6601,7 +6601,7 @@
"description": "anv: discard all timeline wait/signal value=0",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"master_sha": null,
"because_sha": "34f32a6d6648073e2fda3fb78377124fb32bb288"
},

View file

@ -993,18 +993,24 @@ anv_queue_submit(struct anv_queue *queue,
}
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)
goto error;
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)
goto error;
break;
@ -1057,17 +1063,23 @@ anv_queue_submit(struct anv_queue *queue,
}
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)
goto error;
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)
goto error;
break;