Mesa (master): radv: sync before resetting query pools if timestamps have been written

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Oct 10 12:28:13 UTC 2019


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

Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Wed Oct  9 14:30:49 2019 +0200

radv: sync before resetting query pools if timestamps have been written

Otherwise, the GPU might write timestamp queries after the reset
operation. This is similar to other query operations.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>

---

 src/amd/vulkan/radv_query.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/amd/vulkan/radv_query.c b/src/amd/vulkan/radv_query.c
index ba9723244ee..cafe0253864 100644
--- a/src/amd/vulkan/radv_query.c
+++ b/src/amd/vulkan/radv_query.c
@@ -1773,5 +1773,15 @@ void radv_CmdWriteTimestamp(
 		}
 		query_va += pool->stride;
 	}
+
+	cmd_buffer->active_query_flush_bits |= RADV_CMD_FLAG_PS_PARTIAL_FLUSH |
+					       RADV_CMD_FLAG_CS_PARTIAL_FLUSH |
+					       RADV_CMD_FLAG_INV_L2 |
+					       RADV_CMD_FLAG_INV_VCACHE;
+	if (cmd_buffer->device->physical_device->rad_info.chip_class >= GFX9) {
+		cmd_buffer->active_query_flush_bits |= RADV_CMD_FLAG_FLUSH_AND_INV_CB |
+						       RADV_CMD_FLAG_FLUSH_AND_INV_DB;
+	}
+
 	assert(cmd_buffer->cs->cdw <= cdw_max);
 }




More information about the mesa-commit mailing list