Instead of exporting the very same object once per signal semaphore
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6766>
if (count == 0)
return VK_SUCCESS;
+ int fd;
+ drmSyncobjExportSyncFile(device->render_fd, device->last_job_sync, &fd);
+ if (fd == -1)
+ return VK_ERROR_DEVICE_LOST;
+
for (uint32_t i = 0; i < count; i++) {
struct v3dv_semaphore *sem = v3dv_semaphore_from_handle(sems[i]);
close(sem->fd);
sem->fd = -1;
- int fd;
- drmSyncobjExportSyncFile(device->render_fd, device->last_job_sync, &fd);
- if (fd == -1)
- return VK_ERROR_DEVICE_LOST;
-
int ret = drmSyncobjImportSyncFile(device->render_fd, sem->sync, fd);
if (ret)
return VK_ERROR_DEVICE_LOST;