<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">2017-03-30 16:17 GMT+02:00 Emil Velikov <span dir="ltr"><<a href="mailto:emil.l.velikov@gmail.com" target="_blank">emil.l.velikov@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 30 March 2017 at 11:55, Tomasz Figa <<a href="mailto:tfiga@chromium.org" target="_blank">tfiga@chromium.org</a>> wrote:<br>
> Android buffer queues can be abandoned, which results in failing to<br>
> dequeue next buffer. Currently this would fail somewhere deep within<br>
> the DRI stack calling loader's getBuffers*(), without any error<br>
> reporting to the client app. However Android framework code relies on<br>
> proper signaling of this event, so we move buffer dequeue to<br>
> createWindowSurface() and swapBuffers() call, which can generate proper<br>
> EGL errors. To keep the performance benefits of delayed buffer handling,<br>
> if any, fence wait and DRI image creation is kept delayed until<br>
> getBuffers*() is called by the DRI driver.<br>
><br>
Thank you Tomasz.<br>
<br>
I'm fairly confident that this should resolve the crash [in<br>
swap_buffers] that Mauro was seeing.<br>
Mauro can you give it a test ?<br></blockquote><div><br></div><div>After applying last version of Tomasz patch, </div><div>I could not boot nougat-x86, the same way as per Tapani get_back_bo() throwing and EGL_BAD_ALLOC<br></div><div>which is a show stopper for surfaceflinger</div><div><br></div><div>So I reverted [1] and now I can boot and I also see the black wallpaper like Tapani.</div><div>dumpsys SurfaceFlinger output shows a buffer allocated,</div><div>but for some reason both HWC and GLES composition (used in nougat-x86) show black wallpaper.</div><div><br></div><div><font face="monospace, monospace">----</font></div><div><font face="monospace, monospace">h/w composer state:<br></font></div><div><div><font face="monospace, monospace">  h/w composer not present and enabled</font></div><div><font face="monospace, monospace">Allocated buffers:</font></div><div><font face="monospace, monospace">...</font></div><div><font face="monospace, monospace">0x7b60f301e380: 29440.00 KiB | 2880 (2944) x 2560 |        5 | 0x00000900 | com.android.systemui.ImageWallpaper</font></div><div><font face="monospace, monospace">...</font></div><div><font face="monospace, monospace">Total allocated (estimate): 54728.50 KB</font></div></div><div><font face="monospace, monospace">----</font></div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Not that huge of an expert on the Android specifics, so just a humble request:<br>
Can we seek the code resuffle (droid_{alloc,free}_local_buff<wbr>er,<br>
other?) separate from the functionality changes ?<br>
<span class="gmail-m_8574972092718795955gmail-m_5623334474704414093HOEnZb"><font color="#888888"><br>
-Emil<br></font></span></blockquote><div><br></div><div>I'd also kindly request to confirm the test environment used to verify Tomasz patch v2,</div><div>which in my understanding has been the following, common between ChomiumOS and Android-IA:</div><div><ul><li>minigbm based gralloc<br></li><li>dma FDs for buffers<br></li><li>kernel based explicit fences with FDs</li><li>HWC2 for compositing<br></li><li>(?) Render nodes - but I don't know if/when they are used</li></ul></div><div>In android-x86 (nougat-x86) situation is the following:</div><div><ul><li>drm_gralloc based gralloc<br></li><li>buffer handles<br></li><li>Not 100% sure about sync/fences, but I don't recall about using explicit fences with FDs</li><li>GLES for compositing<br></li><li>we don't use render nodes</li></ul></div><div>Pardon me if this seems a long checklist or if it's not 100% accurate,<br></div><div>but I would assume that this patch should just work Out-Of-The-Box with android-x86 (nougat-x86)</div><div>even if most of CrOS/Android-IA optimizations are not (yet) used there.<br></div><div><br></div><div>Is this assumption correct?</div><div><br></div><div><div>In this moment the only way to boot nougat-x86 is to revert [1] </div><div>but besides this and black wallpaper, which both require investigation,</div><div>I've not seen any particular regression.</div></div><div><br></div><div>Thanks for feeedbacks</div><div>Mauro</div><div><br></div><div>PS: Question for Tapani: if you apply Tomasz patch and revert [1], do you still see the segfault in Android-IA?</div><div><br></div><div>[1]  <a href="https://cgit.freedesktop.org/mesa/mesa/commit/?id=4d4558411db166d2d66f8cec9cb581149dbe1597" target="_blank">https://cgit.freedesktop.org/<wbr>mesa/mesa/commit/?id=<wbr>4d4558411db166d2d66f8cec9cb581<wbr>149dbe1597</a></div><div><br></div><div><br></div></div><br></div></div>