From b6e8e1cf372f33100544dfd15de92f2aa3293ac3 Mon Sep 17 00:00:00 2001 From: Rajnesh Kanwal Date: Thu, 6 Oct 2022 01:58:16 +0500 Subject: [PATCH] pvr: Implement vkCmdCopyQueryPoolResults API. Signed-off-by: Rajnesh Kanwal Reviewed-by: Frank Binns Part-of: --- src/imagination/vulkan/pvr_query.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/imagination/vulkan/pvr_query.c b/src/imagination/vulkan/pvr_query.c index c14c659f674..f2c5873a810 100644 --- a/src/imagination/vulkan/pvr_query.c +++ b/src/imagination/vulkan/pvr_query.c @@ -233,7 +233,22 @@ void pvr_CmdCopyQueryPoolResults(VkCommandBuffer commandBuffer, VkDeviceSize stride, VkQueryResultFlags flags) { - assert(!"Unimplemented"); + PVR_FROM_HANDLE(pvr_cmd_buffer, cmd_buffer, commandBuffer); + struct pvr_query_info query_info; + + PVR_CHECK_COMMAND_BUFFER_BUILDING_STATE(cmd_buffer); + + query_info.type = PVR_QUERY_TYPE_COPY_QUERY_RESULTS; + + query_info.copy_query_results.query_pool = queryPool; + query_info.copy_query_results.first_query = firstQuery; + query_info.copy_query_results.query_count = queryCount; + query_info.copy_query_results.dst_buffer = dstBuffer; + query_info.copy_query_results.dst_offset = dstOffset; + query_info.copy_query_results.stride = stride; + query_info.copy_query_results.flags = flags; + + pvr_add_query_program(cmd_buffer, &query_info); } void pvr_CmdBeginQuery(VkCommandBuffer commandBuffer,