Mesa (master): anv: Implement VK_EXT_host_query_reset
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Mon Mar 18 15:39:59 UTC 2019
Module: Mesa
Branch: master
Commit: 887041c7630e72c85d31712f3377d801239f22e4
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=887041c7630e72c85d31712f3377d801239f22e4
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date: Mon Mar 4 20:01:44 2019 -0600
anv: Implement VK_EXT_host_query_reset
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Reviewed-by: Eric Engestrom <eric at engestrom.ch>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
---
src/intel/vulkan/anv_device.c | 7 +++++++
src/intel/vulkan/anv_extensions.py | 1 +
src/intel/vulkan/genX_query.c | 14 ++++++++++++++
3 files changed, 22 insertions(+)
diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c
index 83fa3936c19..a6ecc657f4b 100644
--- a/src/intel/vulkan/anv_device.c
+++ b/src/intel/vulkan/anv_device.c
@@ -971,6 +971,13 @@ void anv_GetPhysicalDeviceFeatures2(
break;
}
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT: {
+ VkPhysicalDeviceHostQueryResetFeaturesEXT *features =
+ (VkPhysicalDeviceHostQueryResetFeaturesEXT *)ext;
+ features->hostQueryReset = true;
+ break;
+ }
+
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT: {
VkPhysicalDeviceInlineUniformBlockFeaturesEXT *features =
(VkPhysicalDeviceInlineUniformBlockFeaturesEXT *)ext;
diff --git a/src/intel/vulkan/anv_extensions.py b/src/intel/vulkan/anv_extensions.py
index 6fff293dee4..e4404c59f34 100644
--- a/src/intel/vulkan/anv_extensions.py
+++ b/src/intel/vulkan/anv_extensions.py
@@ -126,6 +126,7 @@ EXTENSIONS = [
Extension('VK_EXT_external_memory_host', 1, True),
Extension('VK_EXT_global_priority', 1,
'device->has_context_priority'),
+ Extension('VK_EXT_host_query_reset', 1, True),
Extension('VK_EXT_inline_uniform_block', 1, True),
Extension('VK_EXT_pci_bus_info', 2, True),
Extension('VK_EXT_post_depth_coverage', 1, 'device->info.gen >= 9'),
diff --git a/src/intel/vulkan/genX_query.c b/src/intel/vulkan/genX_query.c
index 794d92dc6c9..5d7b5fb458e 100644
--- a/src/intel/vulkan/genX_query.c
+++ b/src/intel/vulkan/genX_query.c
@@ -402,6 +402,20 @@ void genX(CmdResetQueryPool)(
}
}
+void genX(ResetQueryPoolEXT)(
+ VkDevice _device,
+ VkQueryPool queryPool,
+ uint32_t firstQuery,
+ uint32_t queryCount)
+{
+ ANV_FROM_HANDLE(anv_query_pool, pool, queryPool);
+
+ for (uint32_t i = 0; i < queryCount; i++) {
+ uint64_t *slot = pool->bo.map + (firstQuery + i) * pool->stride;
+ *slot = 0;
+ }
+}
+
static const uint32_t vk_pipeline_stat_to_reg[] = {
GENX(IA_VERTICES_COUNT_num),
GENX(IA_PRIMITIVES_COUNT_num),
More information about the mesa-commit
mailing list