radv: allocate enough space in CS when copying query results with compute

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
Samuel Pitoiset 2018-11-05 10:35:36 +01:00
parent 9aa3c1915e
commit 1e7c3379e1

View file

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