mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-06 15:20:17 +01:00
venus: add vn_renderer_submit_simple_sync
It submits a command stream to the renderer and waits. Signed-off-by: Chia-I Wu <olvaffe@gmail.com> Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org> Reviewed-by: Ryan Neph <ryanneph@google.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12568>
This commit is contained in:
parent
2996c707cf
commit
68eb682a23
1 changed files with 39 additions and 0 deletions
|
|
@ -482,4 +482,43 @@ vn_renderer_sync_write(struct vn_renderer *renderer,
|
|||
return renderer->sync_ops.write(renderer, sync, val);
|
||||
}
|
||||
|
||||
static inline VkResult
|
||||
vn_renderer_submit_simple_sync(struct vn_renderer *renderer,
|
||||
const void *cs_data,
|
||||
size_t cs_size)
|
||||
{
|
||||
struct vn_renderer_sync *sync;
|
||||
VkResult result =
|
||||
vn_renderer_sync_create(renderer, 0, VN_RENDERER_SYNC_BINARY, &sync);
|
||||
if (result != VK_SUCCESS)
|
||||
return result;
|
||||
|
||||
const struct vn_renderer_submit submit = {
|
||||
.batches =
|
||||
&(const struct vn_renderer_submit_batch){
|
||||
.cs_data = cs_data,
|
||||
.cs_size = cs_size,
|
||||
.sync_queue_cpu = true,
|
||||
.syncs = &sync,
|
||||
.sync_values = &(const uint64_t){ 1 },
|
||||
.sync_count = 1,
|
||||
},
|
||||
.batch_count = 1,
|
||||
};
|
||||
const struct vn_renderer_wait wait = {
|
||||
.timeout = UINT64_MAX,
|
||||
.syncs = &sync,
|
||||
.sync_values = &(const uint64_t){ 1 },
|
||||
.sync_count = 1,
|
||||
};
|
||||
|
||||
result = vn_renderer_submit(renderer, &submit);
|
||||
if (result == VK_SUCCESS)
|
||||
result = vn_renderer_wait(renderer, &wait);
|
||||
|
||||
vn_renderer_sync_destroy(renderer, sync);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
#endif /* VN_RENDERER_H */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue