设备验证层vulkan

时间:2017-12-04 14:11:10

标签: c++ vulkan

您好,我从Vulkan API开始,我正在尝试显示验证层。 但问题是我只能访问一个设备验证层:“VK_LAYER_NV_optimus”

{//Enumerating Device Verification Layers
    uint32_t layer_count = 0;
    vkEnumerateDeviceLayerProperties(_gpu, &layer_count, nullptr);
    std::vector<VkLayerProperties> layer_property_list(layer_count);
    vkEnumerateDeviceLayerProperties(_gpu, &layer_count, layer_property_list.data());
    std::cout << "Device Layers : \n";
    for (auto &i : layer_property_list) {
        std::cout << "  " << i.layerName << "\t\t | " << i.description << std::endl;
    }
    std::cout << std::endl;
}

在教程中,我跟着这些家伙有更多层,他正在使用“VK_LAYER_LUNARG_standard_validation”。

here你可以看到那个家伙得到了什么。

我可能虽然教程不是最新的,但我找不到任何与此主题相关的内容。

感谢您的帮助:)。

1 个答案:

答案 0 :(得分:5)

考虑使用vkEnumerateInstanceLayerProperties

前一段时间,Vulkan中不推荐使用设备层,实质上是在创建所有图层实例图层。在这种情况下,Optimus层可能被注册为实例和设备层,这是允许的,这也是列出设备层时显示的原因。

如果这样做没有帮助,您可能会遇到阻止您看到图层的安装问题。请考虑运行vulkaninfovia来帮助解决问题。

最后,并非所有图层都是验证图层。当您枚举图层时,您将找到执行其他功能的图层,如您提供的屏幕截图所示。