ecore drm2 - use last plane found not first. makes it work on rk3588

this is a temporary hack until things change a bit...
This commit is contained in:
Carsten Haitzler 2024-02-13 14:28:57 +00:00
parent ae0c1783d4
commit 11cd98e119
1 changed files with 9 additions and 4 deletions

View File

@ -43,7 +43,7 @@ ecore_drm2_plane_assign(Ecore_Drm2_Output *output, Ecore_Drm2_Fb *fb, int x, int
{ {
Eina_List *l; Eina_List *l;
Ecore_Drm2_Plane *plane; Ecore_Drm2_Plane *plane;
Ecore_Drm2_Plane_State *pstate; Ecore_Drm2_Plane_State *pstate, *pstate_chosen = NULL;
if (!_ecore_drm2_use_atomic) return NULL; if (!_ecore_drm2_use_atomic) return NULL;
@ -68,12 +68,12 @@ ecore_drm2_plane_assign(Ecore_Drm2_Output *output, Ecore_Drm2_Fb *fb, int x, int
continue; continue;
/* if we reach here, this FB can go on the cursor plane */ /* if we reach here, this FB can go on the cursor plane */
goto out; pstate_chosen = pstate;
} }
else if (pstate->type.value == DRM_PLANE_TYPE_OVERLAY) else if (pstate->type.value == DRM_PLANE_TYPE_OVERLAY)
{ {
/* there are no size checks for an overlay plane */ /* there are no size checks for an overlay plane */
goto out; pstate_chosen = pstate;
} }
else if (pstate->type.value == DRM_PLANE_TYPE_PRIMARY) else if (pstate->type.value == DRM_PLANE_TYPE_PRIMARY)
{ {
@ -82,10 +82,15 @@ ecore_drm2_plane_assign(Ecore_Drm2_Output *output, Ecore_Drm2_Fb *fb, int x, int
continue; continue;
/* if we reach here, this FB can go on the primary plane */ /* if we reach here, this FB can go on the primary plane */
goto out; pstate_chosen = pstate;
} }
} }
if (pstate_chosen)
{
pstate = pstate_chosen;
goto out;
}
return NULL; return NULL;
out: out: