我正在通過API規範學習Vulkan(http://vulkan-spec-chunked.ahcox.com/ch02s09.html),我對Vulkan的物理設備有多混淆。我確實只有一個intel物理視頻卡設備,但vkEnumeratePhysicalDevices
返回2的計數。設備是相同的,但隊列標誌看起來不同,並且隊列標記未記錄(實際上它們是,但僅在第二個隊列中標記爲8我的標誌值是16和32)。Vulkan物理設備
typedef enum VkQueueFlagBits {
VK_QUEUE_GRAPHICS_BIT = 0x00000001,
VK_QUEUE_COMPUTE_BIT = 0x00000002,
VK_QUEUE_TRANSFER_BIT = 0x00000004,
VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008,
} VkQueueFlagBits;
這裏是我的Vulkan代碼的輸出:
GPU count: 2 (physical devices)
Physical Device 0:
Device API version: 1.0.42 - 4194346
Device Vendor Id: 0x8086
Device Id: 1916
Device Driver version: 0.0.1 - 1
Device type: 1
Device Name: Intel(R) HD Graphics 520 (Skylake GT2)
Device Pipeline UID: f557cfd4
Queue Properties:
Flags: 7
Count: 1
ts Valid Bits: 24
Physical Device 1:
Device API version: 1.0.42 - 4194346
Device Vendor Id: 0x8086
Device Id: 1916
Device Driver version: 0.0.1 - 1
Device type: 1
Device Name: Intel(R) HD Graphics 520 (Skylake GT2)
Device Pipeline UID: f557cfd4
Queue Properties:
Flags: 49
Count: 0
ts Valid Bits: 1
有人能幫助我瞭解爲什麼會出現對同一實際裝置2臺物理設備和缺少的標誌?
和計數爲0?看起來像一個bug TBH。 –
看起來像一個失敗的驅動程序安裝。我會嘗試卸載它,如果某些設備在此之後仍然存在,那麼可能需要手動清理。 – krOoze
棘輪怪胎,這裏的計數是'queueCount是此隊列系列中隊列的無符號整數計數。似乎不是我的錯誤。 – ton