<div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Tue, Dec 11, 2018 at 5:32 PM Rafael Antognolli <<a href="mailto:rafael.antognolli@intel.com">rafael.antognolli@intel.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Mon, Dec 10, 2018 at 01:52:15PM -0600, Jason Ekstrand wrote:<br>
> This seems very much over-the-top.  It would be better to either find the<br>
> specific bug or else just allocate the BOs we use for states as snooped.  See<br>
> also the anv_gem_set_caching call in genX_query.c.<br>
<br>
It seems we were missing some flushes in the states allocated in<br>
anv_shader_bin_create(). I added them there and apparently I don't need<br>
this patch anymore.<br></blockquote><div><br></div><div>Glad you found it!</div><div><br></div><div>--Jason<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
> On Fri, Dec 7, 2018 at 6:06 PM Rafael Antognolli <<a href="mailto:rafael.antognolli@intel.com" target="_blank">rafael.antognolli@intel.com</a>><br>
> wrote:<br>
> <br>
>     TODO: This is just flushing the entire dynamic states on every execbuf.<br>
>     Maybe it's too much. However, in theory we should be already flushing<br>
>     the states as needed, but I think we didn't hit any bug due to the<br>
>     coherence implied by userptr.<br>
>     ---<br>
>      src/intel/vulkan/anv_batch_chain.c | 4 ++++<br>
>      1 file changed, 4 insertions(+)<br>
> <br>
>     diff --git a/src/intel/vulkan/anv_batch_chain.c b/src/intel/vulkan/<br>
>     anv_batch_chain.c<br>
>     index 65df28ccb91..99009679435 100644<br>
>     --- a/src/intel/vulkan/anv_batch_chain.c<br>
>     +++ b/src/intel/vulkan/anv_batch_chain.c<br>
>     @@ -1366,6 +1366,10 @@ anv_reloc_list_add_dep(struct anv_cmd_buffer<br>
>     *cmd_buffer,<br>
> <br>
>         anv_block_pool_foreach_bo(bo_list, iter, bo) {<br>
>            _mesa_set_add(relocs->deps, bo);<br>
>     +      if (!cmd_buffer->device->info.has_llc) {<br>
>     +         for (uint32_t i = 0; i < bo->size; i += CACHELINE_SIZE)<br>
>     +            __builtin_ia32_clflush(bo->map + i);<br>
>     +      }<br>
>         }<br>
>      }<br>
> <br>
>     --<br>
>     2.17.1<br>
> <br>
>     _______________________________________________<br>
>     mesa-dev mailing list<br>
>     <a href="mailto:mesa-dev@lists.freedesktop.org" target="_blank">mesa-dev@lists.freedesktop.org</a><br>
>     <a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
> <br>
</blockquote></div></div>