Mesa (master): anv: discard all timeline wait/signal value=0
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Feb 11 17:23:26 UTC 2021
Module: Mesa
Branch: master
Commit: 6673c40011c0183953718f45bf0b9b4cba06bee5
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6673c40011c0183953718f45bf0b9b4cba06bee5
Author: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Date: Thu Feb 11 17:38:11 2021 +0200
anv: discard all timeline wait/signal value=0
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Fixes: 34f32a6d664807 ("anv: implement VK_KHR_timeline_semaphore")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4277
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8987>
---
src/intel/vulkan/anv_queue.c | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
diff --git a/src/intel/vulkan/anv_queue.c b/src/intel/vulkan/anv_queue.c
index 220a02441b1..bf6381a332f 100644
--- a/src/intel/vulkan/anv_queue.c
+++ b/src/intel/vulkan/anv_queue.c
@@ -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;
More information about the mesa-commit
mailing list