@@ -633,6 +633,7 @@ bool Context::create_instance(const char * const *instance_ext, uint32_t instanc
633
633
};
634
634
635
635
force_no_validation = Util::get_environment_bool (" GRANITE_VULKAN_NO_VALIDATION" , false );
636
+ VkValidationFeaturesEXT validation_features = { VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT };
636
637
637
638
if (!force_no_validation && has_layer (" VK_LAYER_KHRONOS_validation" ))
638
639
{
@@ -644,24 +645,24 @@ bool Context::create_instance(const char * const *instance_ext, uint32_t instanc
644
645
std::vector<VkExtensionProperties> layer_exts (layer_ext_count);
645
646
vkEnumerateInstanceExtensionProperties (" VK_LAYER_KHRONOS_validation" , &layer_ext_count, layer_exts.data ());
646
647
647
- #if 0
648
- VkValidationFeaturesEXT validation_features = { VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT };
649
-
650
- // Tons of false positives around timeline semaphores atm, so don't bother.
651
- if (find_if(begin(layer_exts), end(layer_exts), [](const VkExtensionProperties &e) {
652
- return strcmp(e.extensionName, VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME) == 0;
653
- }) != end(layer_exts))
648
+ if (Util::get_environment_bool (" GRANITE_VULKAN_SYNC_VALIDATION" , false ))
654
649
{
655
- instance_exts.push_back(VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME);
656
- static const VkValidationFeatureEnableEXT validation_sync_features[1] = {
657
- VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT,
658
- };
659
- LOGI("Enabling VK_EXT_validation_features for synchronization validation.\n");
660
- validation_features.enabledValidationFeatureCount = 1;
661
- validation_features.pEnabledValidationFeatures = validation_sync_features;
662
- info.pNext = &validation_features;
650
+ // Tons of false positives around timeline semaphores atm, so don't bother.
651
+ if (find_if (begin (layer_exts), end (layer_exts), [](const VkExtensionProperties &e)
652
+ {
653
+ return strcmp (e.extensionName , VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME) == 0 ;
654
+ }) != end (layer_exts))
655
+ {
656
+ instance_exts.push_back (VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME);
657
+ static const VkValidationFeatureEnableEXT validation_sync_features[1 ] = {
658
+ VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT,
659
+ };
660
+ LOGI (" Enabling VK_EXT_validation_features for synchronization validation.\n " );
661
+ validation_features.enabledValidationFeatureCount = 1 ;
662
+ validation_features.pEnabledValidationFeatures = validation_sync_features;
663
+ info.pNext = &validation_features;
664
+ }
663
665
}
664
- #endif
665
666
666
667
if (!ext.supports_debug_utils &&
667
668
find_if (begin (layer_exts), end (layer_exts), [](const VkExtensionProperties &e) {
0 commit comments