電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>人工智能>Vulkan API 基本類型 小結

Vulkan API 基本類型 小結

2021-02-23 | pdf | 108.4KB | 次下載 | 2積分

資料介紹

Vulkan 基本類型,Vulkan 開發(fā)需要設計的類型非常多,整理其基本類型如下,主要包含設備、隊列、命令緩沖、隊列家族、渲染通,管線等,具體內(nèi)容如下所示:

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



來源:電子創(chuàng)新網(wǎng)

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1電子電路原理第七版PDF電子教材免費下載
  2. 0.00 MB  |  1491次下載  |  免費
  3. 2單片機典型實例介紹
  4. 18.19 MB  |  95次下載  |  1 積分
  5. 3S7-200PLC編程實例詳細資料
  6. 1.17 MB  |  27次下載  |  1 積分
  7. 4筆記本電腦主板的元件識別和講解說明
  8. 4.28 MB  |  18次下載  |  4 積分
  9. 5開關電源原理及各功能電路詳解
  10. 0.38 MB  |  11次下載  |  免費
  11. 6100W短波放大電路圖
  12. 0.05 MB  |  4次下載  |  3 積分
  13. 7基于單片機和 SG3525的程控開關電源設計
  14. 0.23 MB  |  4次下載  |  免費
  15. 8基于AT89C2051/4051單片機編程器的實驗
  16. 0.11 MB  |  4次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234313次下載  |  免費
  3. 2PADS 9.0 2009最新版 -下載
  4. 0.00 MB  |  66304次下載  |  免費
  5. 3protel99下載protel99軟件下載(中文版)
  6. 0.00 MB  |  51209次下載  |  免費
  7. 4LabView 8.0 專業(yè)版下載 (3CD完整版)
  8. 0.00 MB  |  51043次下載  |  免費
  9. 5555集成電路應用800例(新編版)
  10. 0.00 MB  |  33562次下載  |  免費
  11. 6接口電路圖大全
  12. 未知  |  30320次下載  |  免費
  13. 7Multisim 10下載Multisim 10 中文版
  14. 0.00 MB  |  28588次下載  |  免費
  15. 8開關電源設計實例指南
  16. 未知  |  21539次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935053次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537793次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234313次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191183次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183277次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138039次下載  |  免費