diff --git a/.pick_status.json b/.pick_status.json index 6a1c13229a3..7fd6ada5674 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -274,7 +274,7 @@ "description": "etnaviv: always try to create KMS side handles for imported resources", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null }, diff --git a/src/gallium/drivers/etnaviv/etnaviv_resource.c b/src/gallium/drivers/etnaviv/etnaviv_resource.c index 3d1552e4c23..aa47be8ed07 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_resource.c +++ b/src/gallium/drivers/etnaviv/etnaviv_resource.c @@ -566,6 +566,16 @@ etna_resource_from_handle(struct pipe_screen *pscreen, if (!rsc->pending_ctx) goto fail; + if (screen->ro) { + struct pipe_resource *imp_prsc = prsc; + do { + etna_resource(imp_prsc)->scanout = + renderonly_create_gpu_import_for_resource(imp_prsc, screen->ro, + NULL); + /* failure is expected for scanout incompatible buffers */ + } while ((imp_prsc = imp_prsc->next)); + } + return prsc; fail: