<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Nov 4, 2016 at 9:55 AM, Strasser, Kevin <span dir="ltr"><<a href="mailto:kevin.strasser@intel.com" target="_blank">kevin.strasser@intel.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Thursday, 2016-11-03 20:51:59 -0700, Jason Ekstrand wrote:<br>
</span><span class="">> From: Kevin Strasser <<a href="mailto:kevin.strasser@intel.com">kevin.strasser@intel.com</a>><br>
><br>
> In order to support FIFO mode without blocking the application on calls<br>
> to vkQueuePresentKHR it is necessary to enqueue the request and defer<br>
> calling the server until the next vblank period. The xcb present api<br>
> doesn't offer a way to register a callback, so we will have to spawn a<br>
> worker thread that will wait for a request to be added to the queue, call<br>
> to the server, and then make the image available for reuse.  This commit<br>
> introduces the queue data structure needed to implement this.<br>
><br>
> Signed-off-by: Jason Ekstrand <<a href="mailto:jason@jlekstrand.net">jason@jlekstrand.net</a>><br>
<br>
</span>With this series applied, I'm having trouble getting the cube demo [1] working<br>
in FIFO mode. It seems to stall out after presenting 2 images. ofc the demo<br>
could be wrong somehow.</blockquote><div><br></div><div>Thanks, I'll take a look.  I just tested with vkcube which probably has sligntly different semantics.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Not sure if it is related, but in the threaded case it looks like we dont wait<br>
for xshmfence.<br></blockquote><div><br></div><div>Oops... Yeah, we should call that.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Thanks,<br>
Kevin<br>
<br>
[1] <a href="https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/blob/master/demos/cube.c" rel="noreferrer" target="_blank">https://github.com/<wbr>KhronosGroup/Vulkan-<wbr>LoaderAndValidationLayers/<wbr>blob/master/demos/cube.c</a></blockquote></div><br></div></div>