diff --git a/src/gallium/drivers/lima/lima_resource.c b/src/gallium/drivers/lima/lima_resource.c index 0a122ced287..2c2c1a3cd5d 100644 --- a/src/gallium/drivers/lima/lima_resource.c +++ b/src/gallium/drivers/lima/lima_resource.c @@ -361,6 +361,18 @@ lima_resource_from_handle(struct pipe_screen *pscreen, else res->levels[0].width = pres->width0; + if (screen->ro) { + /* Make sure that renderonly has a handle to our buffer in the + * display's fd, so that a later renderonly_get_handle() + * returns correct handles or GEM names. + */ + res->scanout = + renderonly_create_gpu_import_for_resource(pres, + screen->ro, + NULL); + /* ignore failiure to allow importing non-displayable buffer */ + } + return pres; err_out: