diff --git a/.pick_status.json b/.pick_status.json index 8a07e42ae74..ec79f1ec43f 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -355,7 +355,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 92db4b1365c..bac4b75614a 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_resource.c +++ b/src/gallium/drivers/etnaviv/etnaviv_resource.c @@ -562,6 +562,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: