⚠️⚠️ This section is still WIP and not ready for use today! ⚠️⚠️
The Vulkan Working Group plans to continue to grow the list of what is deprecated functionality. These are things that will not be removed from the API, but have a “newer” way to use that developers should try to use instead.
This all works by first marking things with a <deprecate> tags in the vk.xml. From here the Validation Layers can generated the deprecation.cpp file.
When the Deprecation Detection setting is enabled, it will report warnings when using deprecated functionality of the API in Vulkan.
WARNING-deprecation-*⚠️ If you have your own callback, make sure the VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT flag is not being ignored. If turning on warnings is a concern, we suggest turning off Core Validation and only have Deprecation Detection on.
The Deprecation Detection is just a normal layer setting that can be turned on.
The main 3 ways to turn on Sync
We highly suggest people to use VkConfig. There is a preset as well to only turn on Deprecation Detection.
Use VK_EXT_layer_settings
const VkBool32 verbose_value = true; const VkLayerSettingEXT layer_setting = {"VK_LAYER_KHRONOS_validation", "deprecation_detection", VK_LAYER_SETTING_TYPE_BOOL32_EXT, 1, &verbose_value}; VkLayerSettingsCreateInfoEXT layer_settings_create_info = {VK_STRUCTURE_TYPE_LAYER_SETTINGS_CREATE_INFO_EXT, nullptr, 1, &layer_setting}; VkInstanceCreateInfo instance_ci = GetYourCreateInfo(); instance_ci.pNext = &layer_settings_create_info;
# Windows set VK_LAYER_DEPRECATION_DETECTION=1 # Linux export VK_LAYER_DEPRECATION_DETECTION=1 # Android adb setprop debug.vulkan.khronos_validation.deprecation_detection=1
There is a Vulkan Guide chapter that will go more into depth how to replace older deprecated code.