188 : vk_(p_vk), application_(application), valid_(false) {
189 if (!vk_.CreateDebugReportCallbackEXT || !vk_.DestroyDebugReportCallbackEXT) {
190 return;
191 }
192
193 if (!application_) {
194 return;
195 }
196
199 flags |= kVulkanInfoFlags;
200 }
203 .pNext = nullptr,
206 .pUserData = nullptr,
207 };
208
211 application_, &create_info,
nullptr, &handle)) !=
VK_SUCCESS) {
212 return;
213 }
214
215 handle_ = VulkanHandle<VkDebugReportCallbackEXT>{
216 handle, [this](VkDebugReportCallbackEXT handle) {
217 vk_.DestroyDebugReportCallbackEXT(application_, handle, nullptr);
218 }};
219
220 valid_ = true;
221}
FlutterSemanticsFlag flags
static VKAPI_ATTR VkBool32 OnVulkanDebugReportCallback(VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT object_type, uint64_t object, size_t location, int32_t message_code, const char *layer_prefix, const char *message, void *user_data)
bool ValidationLayerInfoMessagesEnabled()
VkFlags VkDebugReportFlagsEXT
@ VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT
#define VK_CALL_LOG_ERROR(expression)