[Mesa-dev] [PATCH] radv: allocate enough space in CS when copying query results with compute

Samuel Pitoiset samuel.pitoiset at gmail.com
Mon Nov 5 09:35:36 UTC 2018


Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
---
 src/amd/vulkan/radv_query.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/amd/vulkan/radv_query.c b/src/amd/vulkan/radv_query.c
index 494dc24016..47e7f08001 100644
--- a/src/amd/vulkan/radv_query.c
+++ b/src/amd/vulkan/radv_query.c
@@ -1283,6 +1283,8 @@ void radv_CmdCopyQueryPoolResults(
 				unsigned query = firstQuery + i;
 				uint64_t src_va = va + query * pool->stride + pool->stride - 4;
 
+				radeon_check_space(cmd_buffer->device->ws, cs, 7);
+
 				/* Waits on the upper word of the last DB entry */
 				radv_cp_wait_mem(cs, WAIT_REG_MEM_GREATER_OR_EQUAL,
 						 src_va, 0x80000000, 0xffffffff);
@@ -1360,6 +1362,8 @@ void radv_CmdCopyQueryPoolResults(
 				unsigned query = firstQuery + i;
 				uint64_t src_va = va + query * pool->stride;
 
+				radeon_check_space(cmd_buffer->device->ws, cs, 7 * 4);
+
 				/* Wait on the upper word of all results. */
 				for (unsigned j = 0; j < 4; j++, src_va += 8) {
 					radv_cp_wait_mem(cs, WAIT_REG_MEM_GREATER_OR_EQUAL,
-- 
2.19.1



More information about the mesa-dev mailing list