mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-28 21:10:12 +01:00
lavapipe: add host query reset
This just resets the queries on the host size. Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9594>
This commit is contained in:
parent
6865ec210b
commit
b0de4468c2
3 changed files with 27 additions and 1 deletions
|
|
@ -466,7 +466,7 @@ Vulkan 1.2 -- all DONE: anv
|
|||
VK_KHR_uniform_buffer_standard_layout DONE (anv, lvp, radv)
|
||||
VK_KHR_vulkan_memory_model DONE (anv, radv)
|
||||
VK_EXT_descriptor_indexing DONE (anv/gen9+, radv)
|
||||
VK_EXT_host_query_reset DONE (anv, radv, tu)
|
||||
VK_EXT_host_query_reset DONE (anv, lvp, radv, tu)
|
||||
VK_EXT_sampler_filter_minmax DONE (anv/gen9+, lvp, radv, tu)
|
||||
VK_EXT_scalar_block_layout DONE (anv, lvp, radv/gfx7+)
|
||||
VK_EXT_separate_stencil_usage DONE (anv)
|
||||
|
|
|
|||
|
|
@ -120,6 +120,7 @@ static const struct vk_device_extension_table lvp_device_extensions_supported =
|
|||
.EXT_calibrated_timestamps = true,
|
||||
.EXT_conditional_rendering = true,
|
||||
.EXT_extended_dynamic_state = true,
|
||||
.EXT_host_query_reset = true,
|
||||
.EXT_index_type_uint8 = true,
|
||||
.EXT_post_depth_coverage = true,
|
||||
.EXT_private_data = true,
|
||||
|
|
@ -518,6 +519,12 @@ VKAPI_ATTR void VKAPI_CALL lvp_GetPhysicalDeviceFeatures2(
|
|||
features->scalarBlockLayout = true;
|
||||
break;
|
||||
}
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT: {
|
||||
VkPhysicalDeviceHostQueryResetFeaturesEXT *features =
|
||||
(VkPhysicalDeviceHostQueryResetFeaturesEXT *)ext;
|
||||
features->hostQueryReset = true;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -193,3 +193,22 @@ VKAPI_ATTR VkResult VKAPI_CALL lvp_GetQueryPoolResults(
|
|||
}
|
||||
return vk_result;
|
||||
}
|
||||
|
||||
VKAPI_ATTR void VKAPI_CALL lvp_ResetQueryPool(
|
||||
VkDevice _device,
|
||||
VkQueryPool queryPool,
|
||||
uint32_t firstQuery,
|
||||
uint32_t queryCount)
|
||||
{
|
||||
LVP_FROM_HANDLE(lvp_device, device, _device);
|
||||
LVP_FROM_HANDLE(lvp_query_pool, pool, queryPool);
|
||||
|
||||
for (uint32_t i = 0; i < queryCount; i++) {
|
||||
uint32_t idx = i + firstQuery;
|
||||
|
||||
if (pool->queries[idx]) {
|
||||
device->queue.ctx->destroy_query(device->queue.ctx, pool->queries[idx]);
|
||||
pool->queries[idx] = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue