VkLayer_param_checker.dll Нарушение прав доступа

У меня установлена ​​программа Vulkan 1.0.5.0 с использованием программы установки LunarG, и она работает без включения каких-либо слоев.

Когда я пытаюсь включить любой из:

VK_LAYER_LUNARG_param_checker
VK_LAYER_LUNARG_api_dump
VK_LAYER_LUNARG_standard_validation

Я получаю нарушение прав доступа в VkLayer_param_checker.dll или VkLayer_api_dump.dll при попытке вызвать vkCreateInstance.

Они также терпят неудачу, если я пытаюсь загрузить любой из них в качестве единственного слоя.

Файлы JSON присутствуют в реестре под ExplicitLayers, и сами файлы выглядят нормально.

Я также получаю сообщение в Visual Studio, что DLL загружены.

Эти слои работали в более старой тестовой программе 1.0.3.1, что странно, и я могу включить все следующее:

VK_LAYER_LUNARG_device_limits
VK_LAYER_LUNARG_draw_state
VK_LAYER_LUNARG_image
VK_LAYER_LUNARG_mem_tracker
VK_LAYER_LUNARG_object_tracker
VK_LAYER_LUNARG_screenshot
VK_LAYER_LUNARG_swapchain
VK_LAYER_GOOGLE_threading
VK_LAYER_GOOGLE_unique_objects
VK_LAYER_VALVE_steam_overlay

Существует ли определенный порядок загрузки слоев? Я уверен, что где-то читал, но не могу найти это снова. Любая помощь приветствуется.

1

Решение

Я нашел проблему. И мне немного стыдно признать, что это неинициализированная переменная.

После того, как я перешел на Vulkan 1.0.8, я смог найти и загрузить правильный VkLayer_parameter_validation.dll, который был встроен в отладку.

Проблема в том, что в информации о моем приложении мне не удалось назначить имя pEngineName. Даже назначая "" работал бы. Однако я ничего не назначил. Учитывая, что это неназначенный const char*Мгновенно переносит нас к неопределенному поведению земли. Вулкан не должен назначать его nullptr либо, в противном случае слой пометил бы его как таковой и фактически дал бы мне этот вывод. (Но я не виню в этом)

Технически я мог бы избежать этого. Я сам виноват в предположении, что это будет ноль или просто "", Я уверен, что я также где-то читал, что вам нужно убедиться, что все было назначено во всех структурах Вулкана.

Я надеюсь, что это может помешать людям совершить эту же ошибку, или если у вас есть что-то подобное и вы столкнетесь с этим вопросом, который побудит вас ПРОВЕРИТЬ ВАШИ ПЕРЕМЕННЫЕ!

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]