Я пытаюсь создать экземпляр базового средства визуализации Vulkan. При создании экземпляра на Mac я использую тот же код, который я использовал в Visual Studio для Windows. Я использую Xcode на Mac с C++. Сразу после создания экземпляра при создании мессенджера отладки в Vulkan.h вызывается утверждение под названием VULKAN_HPP_ASSERT. При добавлении экземпляра create в оператор try catch с ошибкой выполнения throw я получаю сообщение об ошибке, в котором говорится, что это связано с неправильным использованием vkWaitForFences. Этот код работает в Windows без ошибок. Я понятия не имею, что вызывает ошибку.
Я попробовал проверить версию и настроил несколько операторов отладки, чтобы убедиться, что поддерживаются все уровни и расширения. Все они успешны и поддерживаются.
отладка операторов печати:
System can Support vulkan variant: 0,
Major: 1,
Minor: 3,
Patch: 280
Supperted Extensions:
VK_KHR_device_group_creation
VK_KHR_external_fence_capabilities
VK_KHR_external_memory_capabilities
VK_KHR_external_semaphore_capabilities
VK_KHR_get_physical_device_properties2
VK_KHR_get_surface_capabilities2
VK_KHR_surface
VK_EXT_debug_report
VK_EXT_debug_utils
VK_EXT_headless_surface
VK_EXT_layer_settings
VK_EXT_metal_surface
VK_EXT_surface_maintenance1
VK_EXT_swapchain_colorspace
VK_MVK_macos_surface
VK_KHR_portability_enumeration
VK_LUNARG_direct_driver_loading
Required Extensions:
"VK_KHR_surface
"VK_EXT_metal_surface
"VK_EXT_debug_utils
VK_KHR_surface is a supported extension
VK_EXT_metal_surface is a supported extension
VK_EXT_debug_utils is a supported extension
Requested Layers:
VK_LAYER_KHRONOS_validation
Supperted Layers:
VK_LAYER_LUNARG_api_dump
VK_LAYER_KHRONOS_profiles
VK_LAYER_KHRONOS_validation
VK_LAYER_LUNARG_screenshot
VK_LAYER_KHRONOS_synchronization2
VK_LAYER_KHRONOS_shader_object
VK_LAYER_KHRONOS_validation is a supported layer
код:
void Engine::createInstance(const char* appName)
{
if (m_Debug)
{
std::cout
Подробнее здесь: https://stackoverflow.com/questions/783 ... sert-error
Почему при создании экземпляра с помощью Vulkan на Mac он вызывает ошибку утверждения, и если он помещается в оператор t ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение