VK_KHR_uniform_buffer_standard_layout DONE (anv, dzn, hasvk, lvp, nvk, pvr, radv, tu, v3dv, vn)
VK_KHR_vulkan_memory_model DONE (anv, hasvk, lvp, radv, tu, v3dv, vn)
VK_EXT_descriptor_indexing DONE (anv/gen9+, dzn, lvp, nvk, radv, tu, vn)
- VK_EXT_host_query_reset DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn)
+ VK_EXT_host_query_reset DONE (anv, hasvk, lvp, nvk, pvr, radv, tu, v3dv, vn)
VK_EXT_sampler_filter_minmax DONE (anv/gen9+, lvp, nvk, radv, tu, vn)
VK_EXT_scalar_block_layout DONE (anv, dzn, hasvk, lvp, pvr, radv/gfx7+, tu, vn)
VK_EXT_separate_stencil_usage DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn)
.KHR_timeline_semaphore = true,
.KHR_uniform_buffer_standard_layout = true,
.EXT_external_memory_dma_buf = true,
+ .EXT_host_query_reset = true,
.EXT_private_data = true,
.EXT_scalar_block_layout = true,
.EXT_texel_buffer_alignment = true,
/* Vulkan 1.2 / VK_KHR_uniform_buffer_standard_layout */
.uniformBufferStandardLayout = true,
+ /* Vulkan 1.2 / VK_EXT_host_query_reset */
+ .hostQueryReset = true,
+
/* Vulkan 1.3 / VK_EXT_private_data */
.privateData = true,
#include <assert.h>
#include <stddef.h>
#include <stdint.h>
+#include <string.h>
#include <vulkan/vulkan.h>
#include "pvr_bo.h"
pvr_add_query_program(cmd_buffer, &query_info);
}
+void pvr_ResetQueryPool(VkDevice _device,
+ VkQueryPool queryPool,
+ uint32_t firstQuery,
+ uint32_t queryCount)
+{
+ PVR_FROM_HANDLE(pvr_query_pool, pool, queryPool);
+ uint32_t *availability =
+ pvr_bo_suballoc_get_map_addr(pool->availability_buffer);
+
+ memset(availability + firstQuery, 0, sizeof(uint32_t) * queryCount);
+}
+
void pvr_CmdCopyQueryPoolResults(VkCommandBuffer commandBuffer,
VkQueryPool queryPool,
uint32_t firstQuery,