Re: [PATCH v9 00/23] drm/rockchip: RK356x VOP2 support

Daniel Stone
2022-04-12T11:31:01Z

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:
> > 1. 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)
>
>
> > 2. 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