aboutsummaryrefslogtreecommitdiffstatsci
path: root/src
diff options
context:
space:
mode:
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>2022-01-24 21:47:39 +0100
committerJean-Philippe Bruyère <jp_bruyere@hotmail.com>2022-01-24 21:47:39 +0100
commitd4c367287ea50e854205e27cf814abbb23615b8a (patch)
tree9e86584a09938c489fab767f187949a91d15c338 /src
parent9bbc6569e4a3cf9bc2454d1af1f6161012ad0afb (diff)
add layer and instance ext check methods
Diffstat (limited to 'src')
-rw-r--r--src/vkhelpers.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/vkhelpers.c b/src/vkhelpers.c
index b457d69..03d32ff 100644
--- a/src/vkhelpers.c
+++ b/src/vkhelpers.c
@@ -287,3 +287,39 @@ void dumpLayerExts () {
}
free(vk_props);
}
+
+static VkExtensionProperties* instExtProps;
+static uint32_t instExtCount;
+bool vkh_instance_extension_supported (const char* instanceName) {
+ for (uint32_t i=0; i<instExtCount; i++) {
+ if (!strcmp(instExtProps[i].extensionName, instanceName))
+ return true;
+ }
+ return false;
+}
+void vkh_instance_extensions_check_init () {
+ VK_CHECK_RESULT(vkEnumerateInstanceExtensionProperties(NULL, &instExtCount, NULL));
+ instExtProps =(VkExtensionProperties*)malloc(instExtCount * sizeof(VkExtensionProperties));
+ VK_CHECK_RESULT(vkEnumerateInstanceExtensionProperties(NULL, &instExtCount, instExtProps));
+}
+void vkh_instance_extensions_check_release () {
+ free (instExtProps);
+}
+
+static VkLayerProperties* instLayerProps;
+static uint32_t instance_layer_count;
+bool vkh_layer_is_present (const char* layerName) {
+ for (uint32_t i=0; i<instance_layer_count; i++) {
+ if (!strcmp(instLayerProps[i].layerName, layerName))
+ return true;
+ }
+ return false;
+}
+void vkh_layers_check_init () {
+ VK_CHECK_RESULT(vkEnumerateInstanceLayerProperties(&instance_layer_count, NULL));
+ instLayerProps =(VkLayerProperties*)malloc(instance_layer_count * sizeof(VkLayerProperties));
+ VK_CHECK_RESULT(vkEnumerateInstanceLayerProperties(&instance_layer_count, instLayerProps));
+}
+void vkh_layers_check_release () {
+ free (instLayerProps);
+}