I did wonder about using a PIPE_CONTROL with WriteImmediate, but there is a workaround in gpgpu mode so not really worth it...

On 15/09/2018 04:14, Jason Ekstrand wrote:
Each query slot is a uint64_t and we were only zeroing half of it.

Fixes: 7ec6e4e68980 "anv/query: implement multiview interactions"
---
  src/intel/vulkan/genX_query.c | 5 +++++
  1 file changed, 5 insertions(+)

diff --git a/src/intel/vulkan/genX_query.c b/src/intel/vulkan/genX_query.c
index 1b26401c9ff..817a3a3c4e2 100644
--- a/src/intel/vulkan/genX_query.c
+++ b/src/intel/vulkan/genX_query.c
@@ -347,6 +347,11 @@ emit_zero_queries(struct anv_cmd_buffer *cmd_buffer,
              sdi.Address.offset = slot_offset + j * sizeof(uint64_t);
              sdi.ImmediateData = 0ull;
           }
+         anv_batch_emit(&cmd_buffer->batch, GENX(MI_STORE_DATA_IMM), sdi) {
+            sdi.Address.bo = &pool->bo;
+            sdi.Address.offset = slot_offset + j * sizeof(uint64_t) + 4;
+            sdi.ImmediateData = 0ull;
+         }
        }
        emit_query_availability(cmd_buffer, &pool->bo, slot_offset);
     }


_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to