On Tue, 12 Apr 2022 at 11:14, Piotr Oniszczuk piotr.oniszczuk@gmail.com wrote:
Wiadomość napisana przez Lucas Stach l.stach@pengutronix.de w dniu 12.04.2022, o godz. 10:10:
- The application feeds a wrong modifier list to the GBM
implementation, as it may have queried another plane in the assumption that supported modifiers are uniform across all planes.
This will be cardinal design error. (keeping in mind we have multiple producers (GPU/video decoder) and multiple consumers (base & overlay DRM planes)
- The GBM implementation (Panfrost) actually allocates a surface
instead of failing the allocation, even if it does not support any combination of the provided format and modifier list.
Testing Sacha patch (see today's email from Sascha) i'm getting
Qt: EGL Error : Could not create the egl surface: error = 0x3009
i'm reading this as: Qt tries allocate EGL surface and EGL returns error. or i'm wrong?
Correct, that's EGL_BAD_MATCH. There are very few ways that can happen; by far the most likely is that Qt has chosen an EGLConfig which does not correctly correspond to the format. (If it was an impossible format/modifier combination, then this would be already caught when allocating the gbm_surface.)
Either way, it seems quite clear that the VOP2 driver is totally fine here, and that you have a Qt (likely) or Mesa (tbh less likely) issue to debug to get the app working.
Cheers, Daniel