By creating the KMS side handles we allow GBM to return the proper KMS
side GEM handles for imported buffers. Always creating the KMS side
handles adds a bit of overhead, as we don't need them on all imported
resources, but seems like the most robust solution for now.
Cc: mesa-stable
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12018>
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: