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

Guttula, Suresh Suresh.Guttula at amd.com
Tue Oct 17 06:36:13 UTC 2017


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_SURFACELESS in 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).

Thanks,
Suresh G

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20171017/d80c96cd/attachment.html>


More information about the mesa-dev mailing list