Vulkan Cookbook 第一章 譯者總結篇
本篇對第一章進行總結。
要想使用Vulkan進行計算,必須使用佇列(Queue)來提交命令。為了得到我們想要的佇列,需要先建立或啟用一些東西。順序是:例項->物理裝置->邏輯裝置->佇列族->佇列。
拿到佇列前每個部分,都要經過三到四個步驟:查詢->選擇->獲取 或 查詢->選擇->建立->獲取
例項:
查詢:在Vulkan Loader庫中查詢所有支援的例項功能(擴充套件資訊)。
選擇:在查找出來支援的例項功能(擴充套件資訊)中, 選擇我們需要的例項功能。
建立:用我們選擇出來的例項功能(擴充套件資訊)作為資訊,來建立例項。
獲取:我們可以獲取建立完成的例項支援的功能(核心函式於擴充套件函式),例如可以用來建立物理裝置的函式。
注:注意這裡說的函式是例項級函式!
物理裝置: 查詢:在例項中查詢所有支援的物理裝置。 選擇:在查找出來的物理裝置根據(屬性、特性(Features)、擴充套件以及佇列族資訊)選擇具有期望能力的裝置。 注:屬性是物理裝置的通用資訊,例如硬體名稱、是否是獨立顯示卡、儲存器大小等。特性是不同物理硬體支援的不同功能例如是否支援幾何和片段著色器、多個視口、幾何和曲面細分著色器等功能。擴充套件是除了核心函式之外擴展出的函式例如建立交換鏈我們可以直接獲取函式指標地址使用這些函式。注意這裡說的函式是裝置級函式!獲取:物理裝置不能建立,因為他代表了安裝在裝置裡的硬體,你只能用洪荒之力去插拔。所以我們直接獲取選擇好的裝置就可以了,但是為了使用它需要建立邏輯裝置。
邏輯裝置: 查詢:獲取選擇好的物理裝置。 選擇:獲取在物理裝置裡挑選好的功能(擴充套件以及佇列族資訊)。 建立:用選好的功能(擴充套件以及佇列族資訊)作為資訊,建立邏輯裝置,這個邏輯裝置代表了我們想要支援一組特定功能的裝置。 獲取:我們可以獲取建立完成的邏輯裝置支援的功能(核心函式於擴充套件函式)。 注:這裡的函式就是物理裝置裡所說的裝置級函式,它既可以用於物理裝置也可以用於邏輯裝置。
佇列族: 查詢:佇列族已經在選擇物理裝置時查詢過了,因為有什麼佇列族可用是特定的物理裝置決定的。 選擇:我們需要選擇佇列族中的一個佇列,一個佇列族是一組相同功能佇列的列表。 獲取:通過將選擇的
佇列:然後我們就拿到隊列了。之後會用他提交命令。
如有錯誤請批評指正。