[Mesa-dev] [Mesa-stable] [PATCH 2/2] auxiliary: use vl_drm_screen_create method for surfaceless

Christian König christian.koenig at amd.com
Tue Oct 17 07:41:13 UTC 2017


Hi Suresh,

in general please don't use HTML mail (e.g. no color or bold formating 
etc.. in mails).

Mailing list usually reject that, but Mesa isn't so strict with that so 
it hopefully works out.

For more comments see below.

Am 17.10.2017 um 08:36 schrieb Guttula, Suresh:
> On 11 October 2017 at 07:13, Guttula, Suresh <Suresh.Guttula at amd.com 
> <mailto:Suresh.Guttula at amd.com>> wrote:
> > HI,
> >
> >>- why do we need "surfaceless" support
> >    ChromeOS supports surfacelsess and we need this va enablement for surfaceless in chromium.
> Ack, that should have been part of the commit message.
>    >>>I will update the commit message.
> >> - does upstream VAAPI has surfaceless platform
> >     Yes. It uses headless support of VA-API for decoding.
> There's no VA_DISPLAY_SURFACELESS in libva [1]. Thus adding one here 
> is _very_ confusing and misleading.
> >>>Sorry I understood wrongly the question, I thought you are asking 
> about mesa-vaapi. In libva it is using drm path only.If I understood 
> correctly , no need of any macro VA_DISPLAY_SURFACELESSin libva as 
> there is no problem to use drm path for egl platform surfaceless.The 
> problem exists in mesa side as the check is added to enable va based 
> on platform.
> https://github.com/01org/libva/blob/master/va/va_backend.h#L39
>   >>>libva uses “VA_DISPLAY_DRM_RENDERNODES”  in this case. In libva 
> ,Chromium (Ozone) for egl surfaceless platform goes for drm display .
> _https://cs.chromium.org/chromium/src/media/gpu/vaapi_wrapper.cc?rcl=e1a85cf02acf0b4ccaad6e37afcf41d1fd26ce24&l=1188_
> >>  - why is the surfaceless implementation identical to the DRM one
> >     If I understand your question correctly, In case of surfaceless platform ,it uses headless support of VAAPI, which 
> will use drm implementation. If I miss something here please provide 
> some more details on the question.
> >
> To put it otherwise:
> You're "adding" support for surfaceless for the sake of adding a name.
> There's no functional difference nor upstream (see the libva question
> above) demand for it.
>    >>>The reason for adding "surfaceless"  in mesa is the condition 
> checks for platform "drm/wayland/x11" to enable va.
> But in case of chromium ,we build mesa 
> *with_egl_platforms=surfaceless* and *not mesa_gbm* because chromium 
> uses *minigbm* .So echo $platform is surfaceless,
> even it is using drm path, condition check fail because of platform 
> type picked as *surfaceless* and va is not enabled.
> What is stopping you from using --with-platforms=drm ?
> because if we use *with_platforms=drm*, we need to enable 
> *mesa_gbm*which is not required for 
> chromium(*with_egl_platforms=surfaceless*).

That sounds reasonable to me and I think Emil can agree on that.

But we should add that to the commit message to make it obvious for 
everybody why we do this.

Regards,
Christian.

> Thanks,
> Suresh G




More information about the mesa-dev mailing list