简体   繁体   English

Vulkan驱动程序API与SDK API支持

[英]Vulkan driver api vs sdk api support

I have NVIDIA driver v 378.92 installed, and according to the nvidia website since driver version 377.14, driver supports vulkan api 1.0.42.1. 我安装了NVIDIA驱动程序v 378.92,根据nvidia网站的描述,从驱动程序版本377.14开始,该驱动程序支持vulkan api 1.0.42.1。 My vulkan SDK api version is 1.0.42.2. 我的vulkan SDK api版本是1.0.42.2。 However when I check for my device support info, using vkjson_info.exe in the vulkan SDK, there's stated that only apiVersion 1.0.37 is supported. 但是,当我在vulkan SDK中使用vkjson_info.exe检查设备支持信息时,表明仅支持apiVersion 1.0.37。

I'm a bit confused how this works, can anyone enlighten this? 我有点困惑这是如何工作的,有人可以启发一下吗?

The reported version could be limited by the Vulkan Loader/Runtime it finds. 报告的版本可能受其发现的Vulkan Loader / Runtime的限制。 First is this Windows or Linux? 首先是Windows还是Linux?

If you have the Vulkan SDK 1.0.42.2 installed, can you run the VIA tool? 如果已安装Vulkan SDK 1.0.42.2,可以运行VIA工具吗? It should generate an HTML output. 它应该生成一个HTML输出。 If you look at the "Runtimes" section, you should see which ones are available and which one it's using. 如果查看“运行时”部分,则应查看哪些可用和正在使用的。 For best results, try running it from the same folder as vkjson_info.exe. 为了获得最佳结果,请尝试从与vkjson_info.exe相同的文件夹中运行它。 But, it should give you a good idea if you just run it anywhere. 但是,如果您仅在任何地方运行它,就应该给您一个好主意。

"1.0.42.1" is not a Vulkan version. “ 1.0.42.1”不是Vulkan版本。 Vulkan only has three levels (ie major.minor.patch). Vulkan仅具有三个级别(即major.minor.patch)。 So the "1.0.37" is likely correct and the "1.0.42.1" is likely the version of some LunarG Vulkan SDK or possibly Vulkan Runtime that comes with it. 因此,“ 1.0.37”可能是正确的,“ 1.0.42.1”可能是某些LunarG Vulkan SDK或随附的Vulkan Runtime的版本。

There are usually several types of versions flying around: 通常有几种类型的版本飞来飞去:

  • The Vulkan driver version. Vulkan驱动程序版本。 It is of the major.minor.patch format and it is in VkPhysicalDeviceProperties::apiVersion or can be obtained by a tool such as VHCV . 它具有major.minor.patch格式,格式为VkPhysicalDeviceProperties::apiVersion ,也可以通过VHCV之类的工具获得。
  • Optionally SDK/Layers version on the runtime machine. 运行时计算机上的可选SDK / Layers版本。 LunarG Vulkan SDK versioning of the form vulkan_major.vulkan_minor.vulkan_patch.optionally_SDK_patch . LunarG Vulkan SDK版本,格式为vulkan_major.vulkan_minor.vulkan_patch.optionally_SDK_patch
  • Vulkan Runtime of the runtime machine — It is basically The Vulkan Loader dll (if the application uses that). 运行时计算机的Vulkan Runtime —基本上是Vulkan Loader dll(如果应用程序使用该dll)。 Both SDK and drivers install this (and coexist) and they use their own versioning scheme. SDK和驱动程序都将安装此文件(并共存),并且它们使用自己的版本控制方案。 The SDK version also installs the Validation Layers to the system. SDK版本还将验证层安装到系统中。
  • SDK/Header on the application developer machine. 应用程序开发人员计算机上的SDK /标头。 Versioning as described above. 如上所述的版本控制。 The vulkan.h header is always 1.0 and so has only single number version — VK_HEADER_VERSION (which matches the Vulkan patch version — but does not have to in the future) vulkan.h标头始终为1.0,因此只有一个数字版本VK_HEADER_VERSION (与Vulkan修补程序版本匹配,但将来不必如此)
  • SDK/Header on the driver developer machine. 驱动程序开发人员计算机上的SDK /标头。 Versioning as described above. 如上所述的版本控制。 Should really be the same as Vulkan driver version. 确实应该与Vulkan驱动程序版本相同。 And most likely the Vulkan RT installed by the driver will be the same version. 驱动程序安装的Vulkan RT最有可能是相同版本。 But I think I have seen this to differ. 但是我想我已经看到了不同。

It should not matter, because all patch versions are supposed to be both-ways compatible (in reality not really — there were some changes, but driver makers seem to keep up so far providing updated drivers, so it is not an issue). 没关系,因为所有补丁程序版本都应该是双向兼容的(实际上不是真的-进行了一些更改,但是驱动程序制造商到目前为止似乎仍在提供更新的驱动程序,因此这不是问题)。 And in fact that is the only thing I could find in the driver documentation : "Vulkan 1.0" support. 实际上,这是我可以在驱动程序文档中找到的唯一东西:“ Vulkan 1.0”支持。

I hope you are so enlightened now that you reached the ultimate state of boredom. 我希望您现在已经很开明,以至达到无聊的终极状态。

377 is a beta version driver from https://developer.nvidia.com/vulkan-driver . 377是来自https://developer.nvidia.com/vulkan-driver的Beta版驱动程序。 There is no guarantee that beta feature will be carried over to the subsequent release version. 无法保证Beta功能会被延续到后续发行版本中。 And according to http://vulkan.gpuinfo.org/listreports.php it didn't (378 indeed have 1.0.37 and 377 have 1.0.42 and more importantly has the extensions you want to try). 而且根据http://vulkan.gpuinfo.org/listreports.php并没有(378实际上具有1.0.37,而377具有1.0.42,更重要的是,您具有要尝试的扩展名)。 Continue to use the beta for now if you want the features within it. 如果您想在Beta中使用其功能,请立即继续使用。 As for Layers and other SDK features you should not need newer drivers — in fact you should always use the latest to benefit from Validation Layer bugfixes and improvements. 至于Layers和其他SDK功能,您不需要更新的驱动程序-实际上,您应该始终使用最新的驱动程序,以从Validation Layer错误修正和改进中受益。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM