<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Jun 15, 2017 at 9:14 AM, Chris Wilson <span dir="ltr"><<a href="mailto:chris@chris-wilson.co.uk" target="_blank">chris@chris-wilson.co.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Quoting Jason Ekstrand (2017-06-15 16:59:19)<br>
<span class="">> On Thu, Jun 15, 2017 at 4:11 AM, Chris Wilson <<a href="mailto:chris@chris-wilson.co.uk">chris@chris-wilson.co.uk</a>> wrote:<br>
</span><span class="">>     The kernel does have a LRI after a flush before signaling the batch is<br>
>     complete. I don't see a need to add another...<br>
><br>
>     The question is whether this posting is required for GPU visibility of<br>
>     results or just CPU? I suspect this is just for CPU in which case it<br>
>     doesn't belong here at all, but before flagging rendering as ready for<br>
>     async (i.e. not involving the kernel) inspection.<br>
><br>
><br>
> The docs, if you choose to believe them, seem to indicate that this is needed<br>
> for GPU visibility as well as CPU.<br>
<br>
</span>The kernel has LRI (for semaphore updates) not LRM, is that significant?<br>
Took me long enough to notice the difference.<span class="HOEnZb"><font color="#888888"><br>
</font></span></blockquote></div><br></div><div class="gmail_extra">I don't know.  We're getting so far outside the realm of documentation here that it's crazy.  What I do know is that the comments in the windows source indicate that SDI is insufficient on Haswell.  My gut says it has something to do with forcing a round-trip through the memory controller.  For semaphore updates, LRI may be sufficient since they're register-based on gen7.<br></div></div>