From 9b385b480f5aad0d628424841dbc9e5dca106738 Mon Sep 17 00:00:00 2001 From: Lynne Date: Tue, 14 Mar 2023 20:45:45 +0100 Subject: hwcontext_vulkan: enable GPU-assisted validation when debugging --- libavutil/hwcontext_vulkan.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'libavutil/hwcontext_vulkan.c') diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c index 3d3b82af4c..2825592925 100644 --- a/libavutil/hwcontext_vulkan.c +++ b/libavutil/hwcontext_vulkan.c @@ -696,6 +696,9 @@ static int create_instance(AVHWDeviceContext *ctx, AVDictionary *opts) LIBAVUTIL_VERSION_MINOR, LIBAVUTIL_VERSION_MICRO), }; + VkValidationFeaturesEXT validation_features = { + .sType = VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT, + }; VkInstanceCreateInfo inst_props = { .sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO, .pApplicationInfo = &application_info, @@ -726,6 +729,17 @@ static int create_instance(AVHWDeviceContext *ctx, AVDictionary *opts) if (err < 0) goto fail; + if (debug_mode) { + VkValidationFeatureEnableEXT feat_list[] = { + VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT, + VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT, + VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT, + }; + validation_features.pEnabledValidationFeatures = feat_list; + validation_features.enabledValidationFeatureCount = FF_ARRAY_ELEMS(feat_list); + inst_props.pNext = &validation_features; + } + /* Try to create the instance */ ret = vk->CreateInstance(&inst_props, hwctx->alloc, &hwctx->inst); -- cgit v1.2.3