util/queue: don't require a fence when adding a job
sometimes we just want to fire jobs off into the void and don't care if or when they finish Reviewed-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10719>
This commit is contained in:
committed by
Marge Bot
parent
4da88060d0
commit
776ddfc858
+6
-3
@@ -311,7 +311,8 @@ util_queue_thread_func(void *input)
|
||||
|
||||
if (job.job) {
|
||||
job.execute(job.job, thread_index);
|
||||
util_queue_fence_signal(job.fence);
|
||||
if (job.fence)
|
||||
util_queue_fence_signal(job.fence);
|
||||
if (job.cleanup)
|
||||
job.cleanup(job.job, thread_index);
|
||||
}
|
||||
@@ -323,7 +324,8 @@ util_queue_thread_func(void *input)
|
||||
for (unsigned i = queue->read_idx; i != queue->write_idx;
|
||||
i = (i + 1) % queue->max_jobs) {
|
||||
if (queue->jobs[i].job) {
|
||||
util_queue_fence_signal(queue->jobs[i].fence);
|
||||
if (queue->jobs[i].fence)
|
||||
util_queue_fence_signal(queue->jobs[i].fence);
|
||||
queue->jobs[i].job = NULL;
|
||||
}
|
||||
}
|
||||
@@ -552,7 +554,8 @@ util_queue_add_job(struct util_queue *queue,
|
||||
return;
|
||||
}
|
||||
|
||||
util_queue_fence_reset(fence);
|
||||
if (fence)
|
||||
util_queue_fence_reset(fence);
|
||||
|
||||
assert(queue->num_queued >= 0 && queue->num_queued <= queue->max_jobs);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user