aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuel Pitoiset <[email protected]>2018-11-05 10:35:36 +0100
committerSamuel Pitoiset <[email protected]>2018-11-07 11:31:34 +0100
commit1e7c3379e1ab6bc7f7a0a6590f63ad779dd01724 (patch)
treef324f6ee7a3f6ce8cbff14c295b0059992c140ec
parent9aa3c1915ea039a0301849f2ac78fbe579972864 (diff)
radv: allocate enough space in CS when copying query results with compute
Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Dave Airlie <[email protected]>
-rw-r--r--src/amd/vulkan/radv_query.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/amd/vulkan/radv_query.c b/src/amd/vulkan/radv_query.c
index 494dc24016e..47e7f08001a 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,