vulkan

    2熱度

    2回答

    據我所知,VK_DEFINE_NON_DISPATCHABLE_HANDLE是struct object##_T *object或uint64_t object,具體取決於架構。 我不不明白是爲什麼使用這個,它有什麼好處和/或效果。 例如,如果我想從我的VkShaderModule中獲得pCode,爲什麼我不能僅僅去myShaderModule.pCode?

    0熱度

    1回答

    根據vkGetPhysicalDeviceSurfaceFormatsKHR,參數pSurfaceFormats是指向VkSurfaceFormatKHR結構數組的指針。如果pSurfaceFormats爲NULL,則在pSurfaceFormatCount中返回給定曲面支持的格式對數。支持的格式對的數量將大於或等於1. 我已使用vkGetPhysicalDeviceSurfaceFormatsK

    0熱度

    1回答

    使用多顯示器設置和OpenGL/Direct3D 11,Windows會選擇主顯示器所連接的設備。我試圖用Vulkan來模擬這種行爲。如何確定由vkEnumeratePhysicalDevices返回的物理設備是否連接到主監視器?

    0熱度

    1回答

    我在問,因爲我想知道我應該如何使我的程序對抗設備損失。 在硬件錯誤,驅動程序錯誤,不正確的API使用或非終止着色器程序的情況下,我是否應該只希望設備丟失;或者我是否也應該期望設備丟失,例如暫停和恢復筆記本電腦,最小化應用程序窗口,或只是隨機執行,因爲實現感覺如此?

    1熱度

    2回答

    嘿,我試圖用Vulkan 創建一個Windows Surface,但不知何故vkGetInstanceProcAddr無法加載vkCreateWin32SurfaceKHR函數,即使擴展程序已正確加載。 編輯: 在這裏,我試圖讓函數指針: vkCreateWin32SurfaceKHR = (PFN_vkCreateWin32SurfaceKHR)vkGetInstanceProcAddr(vul

    1熱度

    1回答

    當我閱讀Vulkan示例代碼時。它有2或3 SwapchainImageResources。每個SwapchainImageResources都有一個幀緩衝區。然後對於每個VkFramebuffer,示例代碼創建一個VkCommandBuffer。

    0熱度

    1回答

    我正在關注vulkan-tutorial.com教程和即時通訊驗證層步驟。在Alexander Overvoorde教程中,作者將用於創建實例的可用擴展集合移至其自己的函數中。 std::vector<const char*> getRequiredExtensions() 此前我已經收集這些信息有點不同,因爲我使用SDL2代替GLFW,但我的程序運行與實例創建並沒有驗證錯誤。問題是當我將代碼

    1熱度

    1回答

    我們何時在同一場景的vulkan中創建單獨的渲染通道?如果我們必須實現陰影映射,我們不能創建2個子路徑,並且FBO有3個附件,首先是深度傳遞,其餘2個是正常場景渲染?我看到一些教程使用單獨的renderpass進行陰影映射,但我不明白爲什麼?

    0熱度

    2回答

    對於這個問題的目的,我們會說vkMapMemory這樣的設備上的所有分配不能失敗;它們是普通的主機可見的,其結果是直接指向其他某些主機內存區域(不需要完成任何工作)。 有什麼方法可以檢測到這種情況嗎? 記住的目的是基於競技場的分配器,主動映射任何主機可見內存,目標是避免在這樣的硬件上進行冗餘分配。

    2熱度

    1回答

    假設我有一個VkBuffer綁定到每個設備分配,並使用vkCmdCopyBuffer的適當組合來逐塊執行碎片整理。 說一個競技場可能包含任何適當排列的線性和非線性數據。由於綁定後VkImage的不變性,碎片整理將涉及在已移動的圖像數據的新位置構建和綁定新的VkImage。 在舞臺上進行碎片整理的任何資源都不受任何約束,或者可能被視爲「正在使用」。 這並不難實現,但我有一個擔憂: 是否UB使用vkC