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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Vulkan API 基本類型介紹

電子設(shè)計 ? 來源:電子設(shè)計 ? 作者:電子設(shè)計 ? 2022-02-12 16:19 ? 次閱讀

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

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


來源:電子創(chuàng)新網(wǎng)
審核編輯:何安

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    1563

    瀏覽量

    63613
  • Vulkan
    +關(guān)注

    關(guān)注

    0

    文章

    28

    瀏覽量

    5876
收藏 人收藏

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    HarmonyOS NEXT應(yīng)用開發(fā)-Notification Kit(用戶通知服務(wù))通知類型、級別與渠道

    1. ContentType 支持設(shè)備Phone2in1TabletCarWearable 通知內(nèi)容類型。 元服務(wù)API: 從API version 12開始,該接口支持在元服務(wù)中使用。 系統(tǒng)能力
    發(fā)表于 06-09 14:39

    如何獲取 OpenAI API Key?API 獲取與代碼調(diào)用示例 (詳解教程)

    Key 并非易事。本指南旨在提供全面深入的技術(shù)指導(dǎo),系統(tǒng)梳理 OpenAI API Key 的獲取、類型、計費(fèi)、安全及管理
    的頭像 發(fā)表于 05-04 11:42 ?816次閱讀
    如何獲取 OpenAI <b class='flag-5'>API</b> Key?<b class='flag-5'>API</b> 獲取與代碼調(diào)用示例 (詳解教程)

    ZU+RFSoC之RFDC API介紹和使用

    RF Data Converters驅(qū)動API是AMD Xilinx為RFSoC提供的一套軟件接口,用于控制Data Converters(RF-ADC和RF-DAC)的硬件功能。它作為用戶應(yīng)用程序
    的頭像 發(fā)表于 04-16 10:05 ?870次閱讀
    ZU+RFSoC之RFDC <b class='flag-5'>API</b><b class='flag-5'>介紹</b>和使用

    集成API設(shè)計+測試+文檔管理,全新一站式解決方案SmartBear API Hub功能介紹

    SmartBear全新推出API Hub,助力高效應(yīng)對API開發(fā)挑戰(zhàn)! API Hub專為API開發(fā)者、架構(gòu)師、產(chǎn)品經(jīng)理和QA團(tuán)隊打造,將設(shè)計、測試、治理和文檔集成到一個單一平臺中,帶
    的頭像 發(fā)表于 04-08 17:52 ?266次閱讀
    集成<b class='flag-5'>API</b>設(shè)計+測試+文檔管理,全新一站式解決方案SmartBear <b class='flag-5'>API</b> Hub功能<b class='flag-5'>介紹</b>

    英偉達(dá)RTX 5070顯卡獲Vulkan1.4認(rèn)證

    Vulkan API 的兼容性進(jìn)行跟蹤,涵蓋從獨(dú)立顯卡到集成顯卡的多種產(chǎn)品。RTX 5070 Ti 和 5070 被列入其中,意味著它們能全面支持未來的圖形技術(shù),為玩家和開發(fā)者帶來更出色的視覺
    的頭像 發(fā)表于 02-05 14:56 ?1419次閱讀

    艾體寶方案 全面提升API安全:AccuKnox 接口漏洞預(yù)防與修復(fù)

    API 安全已成為企業(yè)信息保護(hù)的重中之重。本文通過央視財經(jīng)報道的多起通過API侵權(quán)公民隱私案件分析,揭示了 API 安全的隱患,闡明 CNAPP 在身份驗證、數(shù)據(jù)保護(hù)等方面的保護(hù)能力,并詳細(xì)
    的頭像 發(fā)表于 12-30 11:46 ?460次閱讀
    艾體寶方案 全面提升<b class='flag-5'>API</b>安全:AccuKnox 接口漏洞預(yù)防與修復(fù)

    LG全面開放ThinQ智能家居平臺API

    近日,LG宣布將全面開放其ThinQ智能家居平臺的應(yīng)用程序編程接口(API)。此舉旨在構(gòu)建更加廣泛的智能家居生態(tài)系統(tǒng),推動智能家居技術(shù)的創(chuàng)新與發(fā)展。 據(jù)悉,LG將API分為了兩種類型,分別是面向
    的頭像 發(fā)表于 12-18 11:11 ?755次閱讀

    Java集合API的改進(jìn)介紹

    簡介 本文我們將探討不同 jdk 版本中各類的起源,以及新引入的類和接口背后的目的。我們將分析之前版本存在的問題,以及為何需要引入新的類或接口。此外,我們還將介紹集合類和接口中的新特性。文章將逐一
    的頭像 發(fā)表于 11-22 11:12 ?523次閱讀
    Java集合<b class='flag-5'>API</b>的改進(jìn)<b class='flag-5'>介紹</b>

    api驅(qū)動的云服務(wù)是什么意思?

    API驅(qū)動的云服務(wù)是指利用API技術(shù)來驅(qū)動和提供云服務(wù)的模式。在這種模式下,云服務(wù)提供商會公開一系列的API接口,允許開發(fā)者或應(yīng)用程序通過調(diào)用這些API來實現(xiàn)對云服務(wù)的訪問和操作。
    的頭像 發(fā)表于 11-14 10:06 ?510次閱讀

    充電機(jī)常見基本類型有哪些?如何分類?

    充電機(jī),也稱為充電器或充電樁,是一種將電能轉(zhuǎn)換為化學(xué)能,為電池充電的設(shè)備。隨著電動汽車和便攜式電子設(shè)備的普及,充電機(jī)的應(yīng)用越來越廣泛。充電機(jī)的類型繁多,可以根據(jù)不同的標(biāo)準(zhǔn)進(jìn)行分類。以下是一些常見
    的頭像 發(fā)表于 10-24 10:57 ?3060次閱讀

    不同類型變電所的特點(diǎn)

    變電所作為電力系統(tǒng)中不可或缺的組成部分,其主要功能是實現(xiàn)電壓的轉(zhuǎn)換與電能的有效分配。根據(jù)變電所在電力系統(tǒng)中的位置、作用以及設(shè)計參數(shù)的不同,可以將它們分為幾種基本類型。每種類型的變電所都設(shè)計有特定
    的頭像 發(fā)表于 08-30 10:40 ?1273次閱讀

    API :軟件程序間溝通的橋梁

    或許我們不清楚API是什么,但在現(xiàn)實生活中,API的應(yīng)用場景卻遠(yuǎn)遠(yuǎn)超出了我們的想象。舉個例子來說,當(dāng)我們想要搜索某個IP地址時,通常是利用API與離線庫兩種方式去獲取數(shù)據(jù)信息,那么或許你會疑惑到底
    的頭像 發(fā)表于 08-27 15:54 ?504次閱讀

    負(fù)反饋放大電路的基本類型及應(yīng)用

    電子設(shè)備中。 本文將詳細(xì)介紹負(fù)反饋放大電路的基本類型,包括電壓串聯(lián)負(fù)反饋、電流串聯(lián)負(fù)反饋、電壓并聯(lián)負(fù)反饋和電流并聯(lián)負(fù)反饋。 一、電壓串聯(lián)負(fù)反饋放大電路 特點(diǎn) 電壓串聯(lián)負(fù)反饋放大電路是一種將輸出電壓的一部分以相反相
    的頭像 發(fā)表于 08-02 10:59 ?2602次閱讀

    水冷液冷負(fù)載系統(tǒng)的六種基本類型

    您可以選擇六種基本類型的冷卻系統(tǒng),以滿足負(fù)載的冷卻需求。每個人都有其優(yōu)點(diǎn)和缺點(diǎn)。本文旨在識別不同類型的冷卻系統(tǒng)并確定它們的優(yōu)缺點(diǎn),以便您可以根據(jù)自己的需求做出明智的選擇。
    的頭像 發(fā)表于 07-08 07:35 ?925次閱讀
    水冷液冷負(fù)載系統(tǒng)的六種基<b class='flag-5'>本類型</b>

    如何判斷濾波器的類型 濾波電路四種基本類型

    濾波器是一種用于信號處理的設(shè)備,它可以去除信號中的噪聲或干擾,保留有用的信號成分。濾波器的類型有很多,不同類型的濾波器具有不同的特性和應(yīng)用場景。 濾波器的基本概念 濾波器是一種信號處理設(shè)備,它可
    的頭像 發(fā)表于 06-20 16:11 ?5802次閱讀
    如何判斷濾波器的<b class='flag-5'>類型</b> 濾波電路四種基<b class='flag-5'>本類型</b>

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品