virgl: honor winsys supplied metadata
To truly to do this correctly, we'll have to fix the discrepancy between drm_virtgpu_3d_transfer_to_host and virtio_gpu_transfer_host_3d. However, this is a good starting point. Since virtio-gpu only supports self-import and export, this should be fine. Let's only do WINSYS_HANDLE_TYPE_FD for this currently. Reviewed by: Robert Tarasov <tutankhamen@chromium.org>
This commit is contained in:
parent
9bde8f3a8f
commit
a1a5672118
|
@ -313,10 +313,15 @@ virgl_drm_winsys_resource_create_handle(struct virgl_winsys *qws,
|
|||
struct virgl_hw_res *res = NULL;
|
||||
uint32_t handle = whandle->handle;
|
||||
|
||||
if (whandle->offset != 0) {
|
||||
if (whandle->offset != 0 && whandle->type == WINSYS_HANDLE_TYPE_SHARED) {
|
||||
_debug_printf("attempt to import unsupported winsys offset %u\n",
|
||||
whandle->offset);
|
||||
return NULL;
|
||||
} else if (whandle->type == WINSYS_HANDLE_TYPE_FD) {
|
||||
*plane = whandle->plane;
|
||||
*stride = whandle->stride;
|
||||
*plane_offset = whandle->offset;
|
||||
*modifier = whandle->modifier;
|
||||
}
|
||||
|
||||
mtx_lock(&qdws->bo_handles_mutex);
|
||||
|
|
Loading…
Reference in New Issue