<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>