From 90a0556c27c40e3520d645f2512d4596a109c55c Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Mon, 30 Aug 2021 10:31:15 -0400 Subject: [PATCH] radv: use pool stride when copying single query results the specified stride is irrelevant for this case since there's only one result to write Cc: mesa-stable Reviewed-by: Bas Nieuwenhuizen Reviewed-by: Samuel Pitoiset Part-of: --- src/amd/vulkan/radv_query.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/amd/vulkan/radv_query.c b/src/amd/vulkan/radv_query.c index b0b8453cf4c..f5353e8dacb 100644 --- a/src/amd/vulkan/radv_query.c +++ b/src/amd/vulkan/radv_query.c @@ -854,7 +854,8 @@ radv_query_shader(struct radv_cmd_buffer *cmd_buffer, VkPipeline *pipeline, old_predicating = cmd_buffer->state.predicating; cmd_buffer->state.predicating = false; - struct radv_buffer dst_buffer = {.bo = dst_bo, .offset = dst_offset, .size = dst_stride * count}; + uint64_t dst_buffer_size = count == 1 ? src_stride : dst_stride * count; + struct radv_buffer dst_buffer = {.bo = dst_bo, .offset = dst_offset, .size = dst_buffer_size}; struct radv_buffer src_buffer = { .bo = src_bo,