2017-04-04 126 views
0

我安裝了NVIDIA驅動程序v 378.92,並且根據自驅動程序版本377.14以來的nvidia網站,驅動程序支持vulkan api 1.0.42.1。我的vulkan SDK api版本是1.0.42.2。但是,當我檢查我的設備支持信息時,使用vulkan SDK中的vkjson_info.exe,聲明只支持apiVersion 1.0.37。Vulkan驅動程序api vs sdk api支持

我有點困惑這是如何工作的,任何人都可以啓發這一點?

回答

1

報告的版本可能受到它發現的Vulkan Loader/Runtime的限制。首先是這個Windows或Linux?

如果您安裝了Vulkan SDK 1.0.42.2,您可以運行威盛工具嗎?它應該生成一個HTML輸出。如果你看看「Runtimes」部分,你應該看看哪些是可用的以及它正在使用哪一個。爲了獲得最佳效果,請嘗試從與vkjson_info.exe相同的文件夾運行它。但是,如果你只是在任何地方運行,它應該給你一個好主意。

1

「1.0.42.1」不是Vulkan版本。 Vulkan只有三個級別(即major.minor.patch)。所以「1.0.37」很可能是正確的,「1.0.42.1」可能是一些LunarG Vulkan SDK的版本,或者可能是Vulkan Runtime的版本。

通常有飛來飛去幾種版本:

  • 的福爾康驅動程序版本。它是major.minor.patch格式,它在VkPhysicalDeviceProperties::apiVersion或可以通過諸如VHCV之類的工具獲得。
  • 可選的運行時機器上的SDK /圖層版本。 LunarG Vulkan SDK版本號vulkan_major.vulkan_minor.vulkan_patch.optionally_SDK_patch
  • Vulkan運行時間機器的運行時間—它基本上是Vulkan Loader DLL(如果應用程序使用它的話)。 SDK和驅動程序都安裝這個(和共存),並且他們使用他們自己的版本控制方案。 SDK版本還將驗證圖層安裝到系統。
  • 應用程序開發人員計算機上的SDK/Header。如上所述進行版本控制。所述vulkan.h頭總是1.0,因此僅具有單一的數字版本— VK_HEADER_VERSION(其在將來匹配福爾康補丁版本—但不必)
  • SDK /頭驅動顯影劑的機器上。如上所述進行版本控制。應該和Vulkan驅動版本一樣。而且驅動程序安裝的Vulkan RT很可能是相同的版本。但我認爲我已經看到這一點不同。

它不應該的問題,因爲所有的補丁版本應該是既-方式兼容(在現實中不是真的—出現了一些變化,但司機廠商似乎跟不上到目前爲止提供更新的驅動程序,所以它是沒什麼大不了)。實際上,這是我在driver documentation中唯一能找到的:「Vulkan 1.0」支持。

我希望你是如此開明,現在你已經達到無聊的終極狀態。

377是來自https://developer.nvidia.com/vulkan-driver的測試版驅動程序。不能保證測試版功能將被轉移到後續版本。並且根據http://vulkan.gpuinfo.org/listreports.php它沒有(378確實有1.0.37和377有1.0.42,更重要的是有你想要的擴展)。如果您想要其中的功能,請繼續使用測試版。至於圖層和其他SDK功能,您不應該需要更新的驅動程序—實際上,您應始終使用最新版本以從驗證層錯誤修正和改進中受益。

+0

感謝您的回覆。我問,因爲我試圖使用一些較新的SDK功能,我推測在1.0.39(獨特的句柄)。我很困惑,因爲根據NVIDIA我的驅動程序應該支持這一點,因爲它們支持vulkan API 1.0.41,但顯然,加載程序或RT每個設備不同 – mezo

+0

@mezo啊,377是Vulkan的測試版驅動程序。更新答案。 – krOoze

+0

@mezo如果你的意思是'VK_LAYER_GOOGLE_unique_objects'層,那麼它就是從1.0.0開始的。有時候驅動程序會重新安裝卸載圖層(IMO是一個bug)。您可以通過在SDK_path \ RunTimeInstaller \文件夾中重新安裝SDK附帶的RT來恢復它們。 – krOoze