<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from rtf -->
<style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<font face="Calibri" size="2"><span style="font-size:11pt;">
<div>On 11 October 2017 at 07:13, Guttula, Suresh <<a href="mailto:Suresh.Guttula@amd.com">Suresh.Guttula@amd.com</a>> wrote:</div>
<div>> HI,</div>
<div>></div>
<div>>>- why do we need "surfaceless" support</div>
<div>>    ChromeOS supports surfacelsess and we need this va enablement for surfaceless in chromium.</div>
<div>Ack, that should have been part of the commit message.</div>
<div><font color="#0070C0">   >>>I will update the commit message.</font></div>
<div> </div>
<div>>> - does upstream VAAPI has surfaceless platform</div>
<div>>     Yes. It uses headless support of VA-API for decoding.</div>
<div>There's no VA_DISPLAY_SURFACELESS in libva [1]. Thus adding one here is _very_ confusing and misleading.</div>
<div>  <font color="#0070C0">>>></font><font color="#0070C0">Sorry I understood wron</font><font color="#0070C0">gly the question, I thought you are asking about mesa-vaapi. In libva it is using drm path only</font><font color="#0070C0">.</font><font color="#0070C0">
If I understood correctly ,</font> <font color="#0070C0">no need of any macro  </font>VA_DISPLAY_SURFACELESS<font color="#0070C0"> in libva as there is no problem to use drm path for egl platform surfaceless.</font><font color="#0070C0"> The problem exists
in mesa side as the check is added to enable va based on platform.</font></div>
<div><a href="https://github.com/01org/libva/blob/master/va/va_backend.h#L39">https://github.com/01org/libva/blob/master/va/va_backend.h#L39</a></div>
<div><font color="#0070C0">  >>>libva uses “VA_DISPLAY_DRM_RENDERNODES”  in this case. In libva ,Chromium (Ozone) for egl surfaceless platform goes for drm display <font color="black">.</font></font></div>
<div><font face="Calibri"> <font face="Times New Roman" size="3" color="#880000"><span style="font-size:12pt;"> </span></font><a href="https://cs.chromium.org/chromium/src/media/gpu/vaapi_wrapper.cc?rcl=e1a85cf02acf0b4ccaad6e37afcf41d1fd26ce24&l=1188"><font face="Times New Roman" size="3" color="#0563C1"><span style="font-size:12pt;"><u>https://cs.chromium.org/chromium/src/media/gpu/vaapi_wrapper.cc?rcl=e1a85cf02acf0b4ccaad6e37afcf41d1fd26ce24&l=1188</u></span></font></a></font></div>
<div> </div>
<div>>>  - why is the surfaceless implementation identical to the DRM one</div>
<div>>     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.</div>
<div>></div>
<div>To put it otherwise:</div>
<div> </div>
<div>You're "adding" support for surfaceless for the sake of adding a name.</div>
<div>There's no functional difference nor upstream (see the libva question</div>
<div>above) demand for it.</div>
<div><font color="#0070C0">   >>>The reason for adding "surfaceless"  in mesa is the condition checks for platform "drm/wayland/x11" to enable va. </font></div>
<div><font color="#0070C0"> But in case of chromium ,we build mesa <b>with_egl_platforms=surfaceless</b> and <font color="red"><b>not mesa_gbm</b></font> because chromium uses <b>minigbm</b> .So echo $platform is surfaceless,</font></div>
<div><font color="#0070C0"> even it is using drm path, condition check fail because of platform type picked as <b>surfaceless</b> and va is not enabled.</font></div>
<div> </div>
<div>What is stopping you from using --with-platforms=drm ?</div>
<div>  <font color="#0070C0">because if we use </font><font color="#0070C0"><b>with_platforms=drm</b></font><font color="#0070C0">, we need to enable </font><font color="#0070C0"><b>mesa_gbm</b></font><font color="#0070C0"> which is not required for chromium(</font><font color="#0070C0"><b>with_egl_platforms=surfaceless</b></font><font color="#0070C0">).</font></div>
<div> </div>
<div><font color="#0070C0">Thanks,</font></div>
<div><font color="#0070C0">Suresh G</font></div>
<div> </div>
</span></font>
</body>
</html>