Vulkan无法找到验证层
我正在关注Vulkan教程,当我尝试检查验证层支持时。 当应该返回true时,该函数始终返回false。 这是代码:
bool app::checkValidationLayersSupport() {
uint32_t layersCount = 0;
vkEnumerateInstanceLayerProperties(&layersCount, nullptr);
std::vector<VkLayerProperties> availableLayers(layersCount);
vkEnumerateInstanceLayerProperties(&layersCount, availableLayers.data());
std::cout << layersCount << "\n";
for (const char* layerName : validationLayers) {
std::cout << layerName << "\n";
for (const auto& layerProperties : availableLayers) {
if (strcmp(layerName, layerProperties.layerName) == 0) {
std::cout << layerProperties.layerName << std::endl;
return true;
}
}
}
return false;}
validationlayers
值是{“ vk_layer_khronos_validation”}(std :: vector&lt; const&lt; const char*&gt;)
vkenumerateStancelayerRayerProperties vkenumerateInstancelayerProperties
无法更改availablelayers
的值,因此它仍然是空的
编辑: 我检查了一下,第二个vkenumerateInstancelayerProperties
正在初始化矢量,但所需的验证层不在其中。
修复:我重新安装了SDK
I'm following a vulkan tutorial and when i'm trying to check for validation layer support.
the function always returns false when it is supposed to return true.
this is the code:
bool app::checkValidationLayersSupport() {
uint32_t layersCount = 0;
vkEnumerateInstanceLayerProperties(&layersCount, nullptr);
std::vector<VkLayerProperties> availableLayers(layersCount);
vkEnumerateInstanceLayerProperties(&layersCount, availableLayers.data());
std::cout << layersCount << "\n";
for (const char* layerName : validationLayers) {
std::cout << layerName << "\n";
for (const auto& layerProperties : availableLayers) {
if (strcmp(layerName, layerProperties.layerName) == 0) {
std::cout << layerProperties.layerName << std::endl;
return true;
}
}
}
return false;}
validationLayers
value is { "VK_LAYER_KHRONOS_validation" } (std::vector<const char*>)
after vkEnumerateInstanceLayerProperties
LayersCount
value is 5 so i think the problem is that the second vkEnumerateInstanceLayerProperties
can't change the value of availableLayers
so it remains empty
edit:
I checked it and the second vkEnumerateInstanceLayerProperties
is initializing the vector but the needed validation layer is not in it.
fix: i reinstalled the sdk
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论