[英]device validation layer 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”。
在这里,您可以看到那家伙得到了什么。
我虽然教程可能不是最新的,但我找不到与此主题相关的任何内容。
感谢您的帮助:)
考虑使用vkEnumerateInstanceLayerProperties
。
早在Vulkan中已弃用了设备层,实际上使所有层成为实例层。 在这种情况下,Optimus层可能同时注册为实例层和设备层,这是允许的,这就是为什么在您列出设备层时显示它的原因。
如果这样做没有帮助,则可能是安装问题导致您无法看到这些层。 考虑运行vulkaninfo
或via
来帮助解决问题。
最后,并非所有层都是验证层。 枚举图层时,您会找到执行其他功能的图层,如您提供的屏幕截图所示。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.