<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - [HSW] GPU HANG: ecode 0:0x87d3bffa on ctx load"
href="https://bugs.freedesktop.org/show_bug.cgi?id=83677#c57">Comment # 57</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - [HSW] GPU HANG: ecode 0:0x87d3bffa on ctx load"
href="https://bugs.freedesktop.org/show_bug.cgi?id=83677">bug 83677</a>
from <span class="vcard"><a class="email" href="mailto:fernetmenta@online.de" title="Rainer Hochecker <fernetmenta@online.de>"> <span class="fn">Rainer Hochecker</span></a>
</span></b>
<pre>Not sure if this is realated: currently vaapi lacks a good interop method with
gl so we use vaPutSurface and texture-from-pixmap. The entire render pipeline
is : decode with vaapi, vaapi postprocessing (deinterlacing), vaPutSurface
(render vaapi video surface into pixmap), map pixmap to texture, render
texture, place fence
when fence signals, we know that video surface (and some other resources) are
ready for reuse
this places the fence:
<a href="https://github.com/FernetMenta/xbmc/blob/master/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp#L1202">https://github.com/FernetMenta/xbmc/blob/master/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp#L1202</a>
this function checks for signaled fences:
<a href="https://github.com/FernetMenta/xbmc/blob/master/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp#L2022">https://github.com/FernetMenta/xbmc/blob/master/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp#L2022</a>
I have had video playing for 4 hours today without any issues. but as soon as I
stop playback it waits for all fences to be signaled, which is
COutput::ProcessSyncPicture to return false but this does not happen. There is
at least one fence not in GL_SIGNALED state.
When playback is stopped there is a glFlush before COutput::ProcessSyncPicture
<a href="https://github.com/FernetMenta/xbmc/blob/master/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp#L1709">https://github.com/FernetMenta/xbmc/blob/master/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp#L1709</a>
It never comes out of the while loop at the next line.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>