Vulkan 基本類型,Vulkan 開發需要設計的類型非常多,整理其基本類型如下,主要包含設備、隊列、命令緩沖、隊列家族、渲染通,管線等,具體內容如下所示:
Vulkan類型 | 功能說明 |
---|---|
實例(VkInstance) | 用于存儲Vulkan程序相關狀態的軟件結構,可以在邏輯上區分不同的Vulkan應用程序或者同一應用程序內部不同的Vulkan上下文 |
物理設備(VkPhysicalDevice) | 對系統中 GPU 硬件的抽象,每個 GPU 對應一個物理設備。另外,每個實例下可以有多個物理設備 |
設備(VkDevice) | 基于物理設備創建的邏輯設備,本質上是存儲信息的軟件結構,其中主要保留了與對應物理設備相關的資源。每個物理設備可以對應多個邏輯設備 |
命令池(VkCommandPool) | 服務高效分配命令緩沖 |
命令緩沖(VkCommandBuffer) | 用于記錄組成繪制或計算任務的各個命令,在命令池中分配。若執行的是不變的繪制命令,可以對記錄了命令的命令緩沖進行重用 |
命令緩沖啟動信息(VkCommandBufferBeginInfo) | 攜帶了命令緩沖啟動時必要信息的對象 |
命令緩沖提交信息(VkSubmitInfo) | 攜帶了命令緩沖提交給隊列執行時必要信息的對象,包括需要等待的信息量數量、等待的信號量列表、命令緩沖數量、命令緩沖列表、觸發的信號量數量觸發的信號量列表等 |
列表家族屬性( VkQueueFamilyProperties) | 攜帶了特定隊列家族屬性信息的軟件結構,包括家族中隊列的數量、能力標志等。每一個隊列家族中可能含有多個能力相近的隊列,常用的隊列家族主要有支持圖形任務和計算任務的兩大類 |
隊列( VkQueue) | 功能為接收提交的任務,將任務按序由所屬GPU硬件依次執行 |
格式(VkFormat) | 一個枚舉類型,包含了Vulkan開發中用到的各種內存組織形式,如VK_FORMAT_R8G8B8A8_UNORM 就表示支持RGBA四個色彩通道,每個通道8個數據比特 |
2D尺寸(VkExtent2D) | 用于記錄2D尺寸的結構體,有width和height兩個屬性 |
圖像(VkImage) | 設備內存的一種使用模式,這種模式下對應的內存用于存儲圖像像素數據,其中存儲的像素數據可能是來自于紋理圖像也可能是來自于繪制任務的結果等 |
圖像視圖(VkImageView) | 配合圖像對象使用,其中攜帶了對應圖像的類型、格式、色彩通道交換設置等方面的信息 |
交換鏈( VkSwapchainKHR) | 將畫面呈現到特定目標平臺(如windows, Android, Linux等)窗體或者表面的機制,通過它可以提供多個用于呈現的圖像。這些圖像與目標平臺相關,可以看作目標平臺呈現用KHR表面的抽象接口。持續換幀呈現時交替使用其中的多個圖形執行,避免用戶看到繪制過程中的畫面引起畫面撕裂。一般情況下,交換鏈中至少有兩個用于呈現的圖像,有些設備中數量會更多 |
幀緩沖(VkFrameBuffer) | 為繪制服務,其中可以包含顏色附件(用于記錄一幀畫面中各個像素的顏色值)、深度附件(用于記錄一幀畫面中各個像素的深度值)、模板附件(用于記錄一幀畫面中各個像素的模板值)等 |
緩沖( VkBuffer) | 設備內存的一種使用模式,這種模式下對應的內存用于存儲各種數據。比如:繪制用頂點信息數據、繪制用一致變量數據等 |
緩沖描述信息( VkDescriptorBufferInfo) | 攜帶了描述緩沖信息的結構體,包含對應緩沖、內存偏移量、范圍等 |
渲染通道(VkRenderPass) | 其中包含了一次繪制任務需要的各方面信息,諸如顏色附件、深度附件情況,子通道列表、子通道相互依賴信息等,用于向驅動描述繪制工作的結構、過程。一般來說,每個渲染通道從開始到結束將產生一幀完成的畫面 |
清除內容(VkClearValue) | 包含了每次繪制前清除幀緩沖所用數據的相關值,主要有清除用顏色值,深度值、模板值 |
渲染通道啟動信息(VkRenderPassBeginInfo) | 攜帶了啟動渲染通道時所需的信息,包括對應的渲染通道、渲染區域的位置及尺寸、繪制前的清除數據值等 |
渲染子通道描述(VkSubpassDescription) | 一個渲染通道由多個子通道組成,至少需要一個子通道。每個子通道用一個VkSubpassDescription實例描述,其中包含了此子通道的輸入附件,顏色附件,深度附件等方面的信息 |
描述集布局(VkDescriptionSetLayout) | 服務于描述集,給出布局接口。通俗講就是給出著色器中包含了哪些一致變量、分別是什么類型、綁定編號是什么、對應于哪個管線階段(比如頂點著色器、片源著色器)等 |
描述集(VkDescriptorSet) | 用于繪制前更新著色器所需的一致變量等 |
寫入描述集( VkWriteDescriptorSet) | 用于繪制前更新著色器所需的一致變量等 |
描述集池( VkDescriptorPool) | 用于高效地分配描述集 |
管線布局( VkPipelineLayout) | 描述管線整體布局,包括哪些推送常量、有哪些描述集等 |
管線( VkPipeline) | 包含了執行指定繪制工作對應管線的各方面信息、諸如管線布局、頂點數據輸入情況、圖元組裝設置、光柵化設置、混合設置、視口于剪裁設置、深度及模板測試設置、多重采樣設置等 |
著色器階段創建信息(VkPipelineShaderStageCreateInfo) | 攜帶了單個著色器階段信息的對象,包括著色器的SPIR-V模板、著色器主方法名稱、著色器對應階段(比如頂點著色器、片元著色器、幾何著色器、曲面細分著色器)等 |
頂點輸入綁定描述(VkVertexInputBindingDescription) | 用于描述管線的頂點數據輸入情況,包括綁定點編號,數據數據頻率(比如每頂點一套數據)、數據間隔等 |
頂點輸入屬性描述(VkVertexInputAttributeDescription) | 描述頂點輸入的某項數據信息(比如頂點位置、頂點顏色),包括綁定點編號、位置編號、數據格式、偏移量等 |
管線緩沖(VkPipelineCache) | 為高效地創建管線提供支持 |
格式屬性(VkFormatProperties) | 用于存儲執行格式類型(比如 VK_FORMAT_D16_UNORM)的格式屬性,包括線性瓦片特征標志、最優化瓦片特征標志、緩沖特種標志等 |
物理設備內存屬性(VkPhysicalDeviceMemoryProperties) | 用于存儲獲取的基于指定GPU的設備內存屬性,包括內存類型數量、內存類型列表、內存堆數量、內存堆列表等 |
設備內存(VkDeviceMemory) | 設備內存的邏輯抽象,前面提到的緩沖(VuBuffer)、圖形(VkImage)都需要綁定設備內存才能正常工作 |
信號量(VkSemaphore) | 用于一個設備(GPU)內部相同或不同隊列并發執行任務時的同步工作,一般與方法VkQueueSubmit配合使用,以確保通過VkQueueSubmit方法提交的任務在指定信號量未觸發前阻塞直至信號量觸發后才執行。要特別注意的是,若有多個提交的任務同時等待同一個信號量觸發,則此信號量的觸發僅僅會被一個等待的任務接收到,其他等待的任務還將繼續等待。這里的“同步”指的是并發執行時解決沖突的一種策略,有興趣的讀者可以進一步查閱相關資料 |
柵欄(VkFence) | 用于主機和設備之間的同步,通俗地講就是用于CPU和GPU并發執行任務時的同步 |
KHR表面(VkSurfaceKHR) | 此類對象服務于幀畫面的呈現 |
KHR表面能力(VkSurfaceCapabilitiesKHR) | 攜帶了用于呈現畫面的表面相關呈現能力的信息,比如畫面尺寸范圍、交換鏈中的圖像數量、是否支持屏幕交換等 |
呈現信息(VkPresentInfoKHR) | 攜帶了執行呈現時所需的一些信息,包括需要等待的信號量數量、信號量列表、交換鏈的數量、交換鏈列表、此次呈現的圖像在交換鏈中的索引等 |
來源:電子創新網
審核編輯:何安
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
API
+關注
關注
2文章
1552瀏覽量
63246 -
Vulkan
+關注
關注
0文章
28瀏覽量
5826
發布評論請先 登錄
相關推薦
集成API設計+測試+文檔管理,全新一站式解決方案SmartBear API Hub功能介紹
SmartBear全新推出API Hub,助力高效應對API開發挑戰!
API Hub專為API開發者、架構師、產品經理和QA團隊打造,將設計、測試、治理和文檔集成到一個單一平臺中,帶

英偉達RTX 5070顯卡獲Vulkan1.4認證
與 Vulkan API 的兼容性進行跟蹤,涵蓋從獨立顯卡到集成顯卡的多種產品。RTX 5070 Ti 和 5070 被列入其中,意味著它們能全面支持未來的圖形技術,為玩家和開發者帶來更出色的視覺
艾體寶方案 全面提升API安全:AccuKnox 接口漏洞預防與修復
API 安全已成為企業信息保護的重中之重。本文通過央視財經報道的多起通過API侵權公民隱私案件分析,揭示了 API 安全的隱患,闡明 CNAPP 在身份驗證、數據保護等方面的保護能力,并詳細介

LG全面開放ThinQ智能家居平臺API
近日,LG宣布將全面開放其ThinQ智能家居平臺的應用程序編程接口(API)。此舉旨在構建更加廣泛的智能家居生態系統,推動智能家居技術的創新與發展。 據悉,LG將API分為了兩種類型,分別是面向
Java集合API的改進介紹
簡介 本文我們將探討不同 jdk 版本中各類的起源,以及新引入的類和接口背后的目的。我們將分析之前版本存在的問題,以及為何需要引入新的類或接口。此外,我們還將介紹集合類和接口中的新特性。文章將逐一

api驅動的云服務是什么意思?
API驅動的云服務是指利用API技術來驅動和提供云服務的模式。在這種模式下,云服務提供商會公開一系列的API接口,允許開發者或應用程序通過調用這些API來實現對云服務的訪問和操作。
充電機常見基本類型有哪些?如何分類?
充電機,也稱為充電器或充電樁,是一種將電能轉換為化學能,為電池充電的設備。隨著電動汽車和便攜式電子設備的普及,充電機的應用越來越廣泛。充電機的類型繁多,可以根據不同的標準進行分類。以下是一些常見
不同類型變電所的特點
變電所作為電力系統中不可或缺的組成部分,其主要功能是實現電壓的轉換與電能的有效分配。根據變電所在電力系統中的位置、作用以及設計參數的不同,可以將它們分為幾種基本類型。每種類型的變電所都設計有特定
負反饋放大電路的基本類型及應用
電子設備中。 本文將詳細介紹負反饋放大電路的基本類型,包括電壓串聯負反饋、電流串聯負反饋、電壓并聯負反饋和電流并聯負反饋。 一、電壓串聯負反饋放大電路 特點 電壓串聯負反饋放大電路是一種將輸出電壓的一部分以相反相
水冷液冷負載系統的六種基本類型
您可以選擇六種基本類型的冷卻系統,以滿足負載的冷卻需求。每個人都有其優點和缺點。本文旨在識別不同類型的冷卻系統并確定它們的優缺點,以便您可以根據自己的需求做出明智的選擇。

如何判斷濾波器的類型 濾波電路四種基本類型
濾波器是一種用于信號處理的設備,它可以去除信號中的噪聲或干擾,保留有用的信號成分。濾波器的類型有很多,不同類型的濾波器具有不同的特性和應用場景。 濾波器的基本概念 濾波器是一種信號處理設備,它可

反饋放大器的基本類型和拓撲組態
在電子工程領域中,反饋放大器是一種非常重要的電路組件,廣泛應用于信號放大、噪聲抑制和穩定性提升等方面。反饋放大器通過引入反饋機制,對放大器的輸出信號進行采樣并反饋到輸入端,從而實現對放大器性能的優化。本文將對反饋放大器的基本類型和拓撲組態進行深入的探討,以期為相關領域的研究和應用提供參考。
《星際公民》新增Vulkan API和NVIDIA DLSS技術支持,尚未完全支持
盡管如此,由于該游戲對處理器要求較高,因此即使采用 Vulkan 渲染器,DLSS 與 FSR 技術提升效果有限;另一方面,此舉也提示 CIG 需要繼續對游戲進行優化。
華為云發布 CodeArts API,為 API 護航
4 月 10 日,華為云正式發布 API 全生命周期管理一體化協作平臺 CodeArts API,支持開發者高效實現 API 設計、開發、測試、托管、運維、變現的一站式體驗。以 API

OpenAI API Key獲取與充值教程:助開發者解鎖GPT-4.0 API
在人工智能的浪潮中,OpenAI 的 GPT-4.0 模型以其卓越的語言理解和生成能力引領了技術的新高潮。為開發者提供了強大的工具來創建更智能、更互動的應用。本文將詳細介紹如何獲取并充值

評論