nv2a/vk: Enable synchronization validation

This commit is contained in:
Matt Borgerson 2024-07-26 17:21:02 -07:00 committed by mborgerson
parent c41853a3f3
commit a562007f84
1 changed files with 12 additions and 0 deletions

View File

@ -271,12 +271,24 @@ static bool create_instance(PGRAPHState *pg, Error **errp)
enable_validation = g_config.display.vulkan.validation_layers;
VkValidationFeatureEnableEXT enables[] = {
VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT,
// VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT,
};
VkValidationFeaturesEXT validationFeatures = {
.sType = VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT,
.enabledValidationFeatureCount = ARRAY_SIZE(enables),
.pEnabledValidationFeatures = enables,
};
if (enable_validation) {
if (check_validation_layer_support()) {
fprintf(stderr, "Warning: Validation layers enabled. Expect "
"performance impact.\n");
create_info.enabledLayerCount = ARRAY_SIZE(validation_layers);
create_info.ppEnabledLayerNames = validation_layers;
create_info.pNext = &validationFeatures;
} else {
fprintf(stderr, "Warning: validation layers not available\n");
enable_validation = false;