Mesa (master): radv: allocate enough space in CS when copying query results with compute

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Nov 7 10:33:46 UTC 2018


Module: Mesa
Branch: master
Commit: 1e7c3379e1ab6bc7f7a0a6590f63ad779dd01724
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1e7c3379e1ab6bc7f7a0a6590f63ad779dd01724

Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Mon Nov  5 10:35:36 2018 +0100

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

Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Dave Airlie <airlied at redhat.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,




More information about the mesa-commit mailing list