Флаги в Vulkan работают так же, как флаги в любом другом месте, и представляют собой простые битовые маски для передачи информации в реализацию, точно так же, как те, которые вы передаете через messageSeverity
в приведенном выше примере.
Но на данный момент нет действительных флагов, которые вы действительно можете установить для утилит отладки. Создайте информационную структуру согласно specs :
flags is 0и зарезервировано для будущего использования.
И в действующей главе об использовании четко указано:
флаги должны быть 0
Этот элемент зарезервирован длябудущее использование, например, для расширений, поэтому сейчас оно всегда должно быть равно нулю.
В исходном фрагменте кода вы явно не очищаете структуру VkDebugUtilsMessengerCreateInfoEXT
, что может привести к тому, что pFlags
будет иметь некоторое случайное значение, котороене соответствует правилам, установленным спецификацией.
Это также относится ко всем другим структурам Vulkan, которые используют, например, флаги.Поэтому, если вы явно не устанавливаете какие-либо флаги, вы всегда должны очищать структуры создания информации, чтобы любой элемент pFlags
был установлен на ноль.Невыполнение этого требования может привести к неопределенному поведению.