v3dv: return OOM error if we fail to import or export sync objects

Typically, these functions would error out if we exceed the user limit
for open file descriptors, so this seems more appropriate.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6766>
This commit is contained in:
Iago Toral Quiroga 2020-03-13 11:48:17 +01:00 committed by Marge Bot
parent 8ed2e53e0d
commit 2fc31a4d28

View file

@ -86,7 +86,7 @@ process_semaphores_to_signal(struct v3dv_device *device,
int fd;
drmSyncobjExportSyncFile(device->render_fd, device->last_job_sync, &fd);
if (fd == -1)
return VK_ERROR_DEVICE_LOST;
return VK_ERROR_OUT_OF_HOST_MEMORY;
for (uint32_t i = 0; i < count; i++) {
struct v3dv_semaphore *sem = v3dv_semaphore_from_handle(sems[i]);
@ -97,7 +97,7 @@ process_semaphores_to_signal(struct v3dv_device *device,
int ret = drmSyncobjImportSyncFile(device->render_fd, sem->sync, fd);
if (ret)
return VK_ERROR_DEVICE_LOST;
return VK_ERROR_OUT_OF_HOST_MEMORY;
sem->fd = fd;
}
@ -120,11 +120,11 @@ process_fence_to_signal(struct v3dv_device *device, VkFence _fence)
int fd;
drmSyncobjExportSyncFile(device->render_fd, device->last_job_sync, &fd);
if (fd == -1)
return VK_ERROR_DEVICE_LOST;
return VK_ERROR_OUT_OF_HOST_MEMORY;
int ret = drmSyncobjImportSyncFile(device->render_fd, fence->sync, fd);
if (ret)
return VK_ERROR_DEVICE_LOST;
return VK_ERROR_OUT_OF_HOST_MEMORY;
fence->fd = fd;