mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-23 19:50:11 +01:00
etnaviv: always try to create KMS side handles for imported resources
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>
This commit is contained in:
parent
1bc22a2eab
commit
826f95778a
1 changed files with 10 additions and 0 deletions
|
|
@ -566,6 +566,16 @@ etna_resource_from_handle(struct pipe_screen *pscreen,
|
||||||
if (!rsc->pending_ctx)
|
if (!rsc->pending_ctx)
|
||||||
goto fail;
|
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;
|
return prsc;
|
||||||
|
|
||||||
fail:
|
fail:
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue