v3dv: only export the last job sync object once
Instead of exporting the very same object once per signal semaphore Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6766>
This commit is contained in:
committed by
Marge Bot
parent
5cfc3b5cc9
commit
d9152cb949
@@ -83,6 +83,11 @@ process_semaphores_to_signal(struct v3dv_device *device,
|
||||
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]);
|
||||
|
||||
@@ -90,11 +95,6 @@ process_semaphores_to_signal(struct v3dv_device *device,
|
||||
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;
|
||||
|
||||
Reference in New Issue
Block a user