From 8d0133009af0188d5adf3a3cf7a98ade6988b915 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Wed, 15 Apr 2026 10:22:26 +0100 Subject: [PATCH 1/6] Removed erroneous header version check --- include/vsg/vk/vulkan.h | 9 --------- 1 file changed, 9 deletions(-) diff --git a/include/vsg/vk/vulkan.h b/include/vsg/vk/vulkan.h index 2c25d49214..121bc1a731 100644 --- a/include/vsg/vk/vulkan.h +++ b/include/vsg/vk/vulkan.h @@ -308,12 +308,6 @@ typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT; #endif -//////////////////////////////////////////////////////////////////////////////////////////////////// -// -// Definitions not provided prior to 1.1.106 -// -#if VK_HEADER_VERSION < 105 - #define VK_EXT_host_query_reset 1 #define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1 #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset" @@ -325,9 +319,6 @@ typedef struct VkPhysicalDeviceHostQueryResetFeaturesEXT { typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount); - - - #endif //////////////////////////////////////////////////////////////////////////////////////////////////// From b05787b4f78a43ff81c5b0fd5a3909eebe2b4213 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Wed, 15 Apr 2026 10:27:27 +0100 Subject: [PATCH 2/6] Fixed comment --- include/vsg/vk/vulkan.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/vsg/vk/vulkan.h b/include/vsg/vk/vulkan.h index 121bc1a731..80c95447b3 100644 --- a/include/vsg/vk/vulkan.h +++ b/include/vsg/vk/vulkan.h @@ -894,7 +894,7 @@ typedef VkResult(VKAPI_PTR* PFN_vkCreateRenderPass2KHR_Compatibility)(VkDevice d typedef VkDeviceAddress(VKAPI_PTR* PFN_vkGetBufferDeviceAddressKHR_Compatibility)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); // -// Definitions not provided prior to 1.3.211 +// Definitions not provided prior to 1.3.204 // #if VK_HEADER_VERSION < 204 #define VK_API_VERSION_1_3 VK_MAKE_VERSION(1, 3, 0) From e8d09173076e63e393f680c3040bd2fb6c82f3ec Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Wed, 15 Apr 2026 10:53:33 +0100 Subject: [PATCH 3/6] Removed stray #endif --- include/vsg/vk/vulkan.h | 1 - 1 file changed, 1 deletion(-) diff --git a/include/vsg/vk/vulkan.h b/include/vsg/vk/vulkan.h index 80c95447b3..58377c02dc 100644 --- a/include/vsg/vk/vulkan.h +++ b/include/vsg/vk/vulkan.h @@ -306,7 +306,6 @@ typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkBool32 bufferDeviceAddressCaptureReplay; VkBool32 bufferDeviceAddressMultiDevice; } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT; -#endif #define VK_EXT_host_query_reset 1 #define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1 From 0db4ca368a3194089a2d07e2ad2536a506dbf444 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Wed, 15 Apr 2026 11:07:01 +0100 Subject: [PATCH 4/6] Moved the definition of VK_EXT_validation_features into non versioned check to workout lack of information which version. --- include/vsg/vk/vulkan.h | 77 +++++++++++++++++++---------------------- 1 file changed, 36 insertions(+), 41 deletions(-) diff --git a/include/vsg/vk/vulkan.h b/include/vsg/vk/vulkan.h index 58377c02dc..e1608f401d 100644 --- a/include/vsg/vk/vulkan.h +++ b/include/vsg/vk/vulkan.h @@ -289,6 +289,42 @@ typedef struct VkPhysicalDeviceFloatControlsPropertiesKHR #endif +#ifndef VK_EXT_validation_features + +#define VK_EXT_validation_features 1 +#define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 4 +#define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features" + +typedef enum VkValidationFeatureEnableEXT { + VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0, + VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1, + VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2, + VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3, + VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4, + VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF +} VkValidationFeatureEnableEXT; + +typedef enum VkValidationFeatureDisableEXT { + VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0, + VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1, + VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2, + VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3, + VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4, + VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5, + VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6, + VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF +} VkValidationFeatureDisableEXT; +typedef struct VkValidationFeaturesEXT { + VkStructureType sType; + const void* pNext; + uint32_t enabledValidationFeatureCount; + const VkValidationFeatureEnableEXT* pEnabledValidationFeatures; + uint32_t disabledValidationFeatureCount; + const VkValidationFeatureDisableEXT* pDisabledValidationFeatures; +} VkValidationFeaturesEXT; + +#endif + //////////////////////////////////////////////////////////////////////////////////////////////////// // // Definitions not provided prior to 1.1.106 @@ -563,47 +599,6 @@ typedef enum VkRayTracingShaderGroupTypeKHR #endif - -//////////////////////////////////////////////////////////////////////////////////////////////////// -// -// Definitions not provided prior to 1.2.150 -// -#if VK_HEADER_VERSION < 150 - -#define VK_EXT_validation_features 1 -#define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 4 -#define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features" - -typedef enum VkValidationFeatureEnableEXT { - VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0, - VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1, - VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2, - VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3, - VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4, - VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF -} VkValidationFeatureEnableEXT; - -typedef enum VkValidationFeatureDisableEXT { - VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0, - VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1, - VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2, - VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3, - VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4, - VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5, - VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6, - VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF -} VkValidationFeatureDisableEXT; -typedef struct VkValidationFeaturesEXT { - VkStructureType sType; - const void* pNext; - uint32_t enabledValidationFeatureCount; - const VkValidationFeatureEnableEXT* pEnabledValidationFeatures; - uint32_t disabledValidationFeatureCount; - const VkValidationFeatureDisableEXT* pDisabledValidationFeatures; -} VkValidationFeaturesEXT; - -#endif - //////////////////////////////////////////////////////////////////////////////////////////////////// // // Definitions not provided prior to 1.2.162 From 470f15461e32f3aef1b2623f59b0c74e952aac8c Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Wed, 15 Apr 2026 12:07:47 +0100 Subject: [PATCH 5/6] Added handling of revisions of VK_EXT_validation_features extension --- include/vsg/vk/vulkan.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/include/vsg/vk/vulkan.h b/include/vsg/vk/vulkan.h index e1608f401d..8891878715 100644 --- a/include/vsg/vk/vulkan.h +++ b/include/vsg/vk/vulkan.h @@ -323,6 +323,13 @@ typedef struct VkValidationFeaturesEXT { const VkValidationFeatureDisableEXT* pDisabledValidationFeatures; } VkValidationFeaturesEXT; +#else + +#if (VK_EXT_VALIDATION_FEATURES_SPEC_VERSION < 4) +#define VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT static_cast(4) +#endif + + #endif //////////////////////////////////////////////////////////////////////////////////////////////////// From 4f3804d644119a8dcddd4cf11f265186b1d94146 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Wed, 15 Apr 2026 13:55:02 +0100 Subject: [PATCH 6/6] Removed unused entries that were causing conflicts --- include/vsg/vk/vulkan.h | 4 ---- 1 file changed, 4 deletions(-) diff --git a/include/vsg/vk/vulkan.h b/include/vsg/vk/vulkan.h index 8891878715..b110de3d96 100644 --- a/include/vsg/vk/vulkan.h +++ b/include/vsg/vk/vulkan.h @@ -415,10 +415,6 @@ typedef enum VkDescriptorBindingFlagBits { VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002, VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004, VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008, - VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT, - VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT, - VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT, - VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT, VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF } VkDescriptorBindingFlagBits; typedef VkFlags VkDescriptorBindingFlags;