亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

著色器函數(shù)鏈接圖表的制作方法_5

文檔序號(hào):9732003閱讀:來(lái)源:國(guó)知局
現(xiàn)在轉(zhuǎn)向圖5,描述依照本發(fā)明的實(shí)施例的施行著色器鏈接的方法500。方法500可 W通過(guò)諸如計(jì)算設(shè)備206之類(lèi)的一個(gè)或多個(gè)計(jì)算系統(tǒng)施行,并且用于組裝要呈現(xiàn)給諸如GPU 驅(qū)動(dòng)器210之類(lèi)的GPU驅(qū)動(dòng)器的著色器。
[0069] 如上文結(jié)合步驟360描述的,F(xiàn)LG實(shí)例鏈接到從方法300的步驟330所確定的一個(gè)或 多個(gè)庫(kù)模塊實(shí)例。如上文描述的,F(xiàn)LG確定用于最終著色器的結(jié)構(gòu)。方法500的實(shí)施例將FLG 實(shí)例鏈接到庫(kù)模塊實(shí)例。依照方法500的用于施行著色器鏈接的一個(gè)示例過(guò)程在圖6C的項(xiàng) 660處示出。
[0070] 在一些鏈接實(shí)施例中,在步驟510處,創(chuàng)建鏈接器對(duì)象。在一些實(shí)施例中,創(chuàng)建鏈接 器接口 W促進(jìn)創(chuàng)建施行鏈接的鏈接器。創(chuàng)建鏈接器接口的過(guò)程的示例在下文提供。 H挑化LT- D:城C巧躬冷U純當(dāng)時(shí)CBDn L柄kef ** PPb ii輪j;
[0071 ]在步驟520處,寄存庫(kù)模塊實(shí)例。在實(shí)施例中,與鏈接器對(duì)象一起寄存要在著色器 中使用的那些庫(kù)模塊實(shí)例。在使用化化的一些實(shí)施例中,援引UseL化rary函數(shù)W寄存庫(kù)模 塊實(shí)例。用于寄存庫(kù)實(shí)例的一個(gè)示例過(guò)程在圖6C的項(xiàng)660內(nèi)示出。
[0072]在步驟530處,F(xiàn)LG實(shí)例(FLG模塊實(shí)例)鏈接到一個(gè)或多個(gè)庫(kù)模塊實(shí)例。在一些實(shí)施 例中,步驟530的輸出是用于GPU驅(qū)動(dòng)器的著色器的部分或著色器。僅作為類(lèi)比,F(xiàn)LG模塊實(shí) 例像是程序的主函數(shù)。FLG結(jié)構(gòu)中的每一個(gè)函數(shù)節(jié)點(diǎn)是指所寄存的庫(kù)模塊實(shí)例中的對(duì)應(yīng)函 數(shù)。
[0073] 下文提供依照方法500的用于確定鏈接器接口的過(guò)程的示例。
[0074] 在該示例中,首先調(diào)用UseL化rary方法W寄存將供應(yīng)用于函數(shù)的字節(jié)碼和用于所 鏈接的著色器的資源的模塊實(shí)例。AddciipPlaneFromCBuffer使得能夠寄存10L9樣式剪輯 平面,其中平面系數(shù)從綁定在插槽uCBufferSlot處的Cbuffer的uCBuffer化化y取得。在此 之后,使用鏈接方法創(chuàng)建適合于在現(xiàn)有D3D運(yùn)行時(shí)上運(yùn)行的著色器。在該示例中,鏈接方法 使用:用于進(jìn)入點(diǎn)(ent巧point)的模塊實(shí)例(FLG、著色器或庫(kù));進(jìn)入點(diǎn)的名稱(chēng);著色器模 型。該特定示例在成功時(shí)返回PP化aderBlob中的準(zhǔn)備好運(yùn)行的著色器二進(jìn)制大物件(blob) W及PP化ro巧Uf fer二進(jìn)制大物件中的可選診斷。
[00巧]現(xiàn)在轉(zhuǎn)向圖6A-6C,說(shuō)明性地提供用于使用著色器鏈接W創(chuàng)建著色器的示例計(jì)算 機(jī)程序并且在本文中將其稱(chēng)為鏈接器600,其是跨圖6A-6C示出的。繼續(xù)參照鏈接器600,在 610處,將庫(kù)加載到存儲(chǔ)器中W創(chuàng)建庫(kù)模塊。在620處,從庫(kù)模塊確定庫(kù)實(shí)例。在630處,綁定 庫(kù)實(shí)例的資源。在640處,創(chuàng)建FLG。在642和646處,分別確定輸入簽名和輸出簽名。在644處, 確定著色器的函數(shù)調(diào)用。在648處,確定用于FLG邊緣的參數(shù)值傳遞。在650處,從FLG確定FLG 模塊實(shí)例。在660處,施行鏈接并且釋放資源。示例鏈接器600的輸出是適合于在GPU 124上 運(yùn)行的D3D著色器。
[0076]轉(zhuǎn)向圖7A和7B,提供傳統(tǒng)化化著色器進(jìn)入點(diǎn)701的示例(在圖7A中示出)W用于與 使用依照本發(fā)明的實(shí)施例的化G API的著色器構(gòu)造700(在圖7B中示出)相比較。參照?qǐng)D7A, 示例傳統(tǒng)著色器包括寫(xiě)入和編譯化化"膠合"程序,其援引預(yù)編譯的外部函數(shù)705。運(yùn)些外部 函數(shù)705包括在包括文件中或者包括在代碼內(nèi),并且需要在編譯時(shí)間處可用。另一方面,示 例著色器構(gòu)造700使用FLG API并且使得能夠在運(yùn)行時(shí)處非常快速地構(gòu)造新著色器,因?yàn)槠?避免完備的編譯。參照?qǐng)D7B,在710處,確定用于化G的節(jié)點(diǎn)的句柄。在7 20處,確定輸入和輸 出簽名。在730處,經(jīng)由FLG API構(gòu)造著色器。在740處,確定用于化G的圖表節(jié)點(diǎn)。此處,次序 限定函數(shù)調(diào)用的序列。在750處,確定FLG的圖表邊緣。在760處,從FLG確定FLG模塊實(shí)例。 [OOW]示例性方法被圖示為表示可W在硬件、軟件、固件或其組合中實(shí)現(xiàn)的操作序列的 邏輯流程圖中的塊的集群。其中描述方法的次序不意圖解釋為限制,并且任何數(shù)目的所描 述的方法塊可WW任何次序組合W實(shí)現(xiàn)方法或者可替換的方法。附加地,可W從方法省略 各個(gè)操作而不脫離本文描述的主題的精神和范圍。在軟件的上下文中,塊表示計(jì)算機(jī)指令, 其在由一個(gè)或多個(gè)處理器執(zhí)行時(shí)施行所敘述的操作。
[0078]已經(jīng)與特定實(shí)施例有關(guān)地描述了本發(fā)明的實(shí)施例,其在所有方面中意圖為說(shuō)明性 的而非約束性的??商鎿Q實(shí)施例是可能的而不脫離其范圍。將理解到,某些特征和子組合具 有實(shí)用性并且可W被采用而不參照其它特征和子組合。運(yùn)通過(guò)權(quán)利要求設(shè)想到并且在權(quán)利 要求的范圍內(nèi)。
【主權(quán)項(xiàng)】
1. 具有體現(xiàn)在其上的計(jì)算機(jī)可執(zhí)行指令以用于施行用于促進(jìn)著色器的創(chuàng)建的方法的 計(jì)算機(jī)存儲(chǔ)介質(zhì),所述方法包括: 基于所接收的函數(shù)的集合以及所接收的資源插槽信息確定庫(kù)的集合,所述所接收的函 數(shù)的集合包括與圖形處理相關(guān)聯(lián)的一個(gè)或多個(gè)指令和指定一個(gè)或多個(gè)圖形資源的信息,所 述資源插槽信息指定與一個(gè)圖形資源相關(guān)聯(lián)的存儲(chǔ)器的部分,庫(kù)的集合中的每一個(gè)庫(kù)包括 指定一個(gè)或多個(gè)虛擬插槽的信息,其中每一個(gè)虛擬插槽與一個(gè)圖形資源相關(guān)聯(lián); 從庫(kù)的集合中的至少一個(gè)庫(kù)確定一個(gè)或多個(gè)模塊; 確定模塊實(shí)例的集合,每一個(gè)模塊實(shí)例基于模塊來(lái)確定并且包括指定一個(gè)或多個(gè)虛擬 插槽的信息; 對(duì)于每一個(gè)模塊實(shí)例,基于指定一個(gè)或多個(gè)虛擬插槽的信息和資源插槽信息,將一個(gè) 或多個(gè)虛擬插槽綁定到資源插槽; 基于指定一個(gè)或多個(gè)節(jié)點(diǎn)和圖表邊緣的所接收的節(jié)點(diǎn)和邊緣信息,生成包括節(jié)點(diǎn)和圖 表邊緣的函數(shù)鏈接圖表(FLG)實(shí)例,每一個(gè)節(jié)點(diǎn)對(duì)應(yīng)于函數(shù)的集合中的函數(shù)、輸入簽名或輸 出簽名,并且每一個(gè)圖表邊緣對(duì)應(yīng)于在節(jié)點(diǎn)之間傳遞的一個(gè)或多個(gè)邊緣值;以及 將FLG實(shí)例鏈接到模塊實(shí)例的集合。2. 權(quán)利要求1的計(jì)算機(jī)存儲(chǔ)介質(zhì),其中從至少一個(gè)庫(kù)確定一個(gè)或多個(gè)模塊包括將至少 一個(gè)庫(kù)加載到存儲(chǔ)器中并且通過(guò)將它解析成存儲(chǔ)器中的一個(gè)或多個(gè)數(shù)據(jù)結(jié)構(gòu)而對(duì)庫(kù)進(jìn)行 反串行化。3. 權(quán)利要求1的計(jì)算機(jī)存儲(chǔ)介質(zhì),其中將FLG實(shí)例鏈接到模塊實(shí)例的集合包括: 創(chuàng)建鏈接器接口; 利用鏈接器接口寄存模塊實(shí)例的集合中的每一個(gè)模塊實(shí)例;以及 向FLG實(shí)例鏈接每一個(gè)所寄存的模塊實(shí)例。4. 權(quán)利要求1的計(jì)算機(jī)存儲(chǔ)介質(zhì),還包括: 接收指定著色器的輸入?yún)?shù)和輸出參數(shù)的信息; 基于輸入?yún)?shù)確定輸入簽名;以及 基于輸出參數(shù)確定輸出簽名。5. 權(quán)利要求1的計(jì)算機(jī)存儲(chǔ)介質(zhì),其中著色器在運(yùn)行時(shí)處創(chuàng)建。6. 權(quán)利要求1的計(jì)算機(jī)存儲(chǔ)介質(zhì),其中著色器用于以數(shù)據(jù)并行方式在數(shù)據(jù)上進(jìn)行操作。7. 具有體現(xiàn)在其上的計(jì)算機(jī)可執(zhí)行指令以用于施行用于創(chuàng)建用于確定著色器的函數(shù) 鏈接圖表的實(shí)例的方法的計(jì)算機(jī)存儲(chǔ)介質(zhì),所述方法包括: 接收指定著色器的輸入?yún)?shù)和輸出參數(shù)的參數(shù)信息; 基于參數(shù)信息,生成輸入簽名的集合和輸出簽名的集合; 接收函數(shù)調(diào)用的集合;每一個(gè)函數(shù)調(diào)用對(duì)應(yīng)于要包括在著色器中的函數(shù),每一個(gè)函數(shù) 包括與圖形處理相關(guān)聯(lián)的一個(gè)或多個(gè)操作; 確定圖表節(jié)點(diǎn)的集合,其中每一個(gè)圖表節(jié)點(diǎn)對(duì)應(yīng)于函數(shù)調(diào)用、輸入簽名或輸出簽名; 確定圖表邊緣的集合,其中每一個(gè)圖表邊緣對(duì)應(yīng)于要在節(jié)點(diǎn)或節(jié)點(diǎn)序列之間傳遞的一 個(gè)或多個(gè)邊緣值,邊緣值被確定為(a)與函數(shù)調(diào)用所對(duì)應(yīng)的函數(shù)相關(guān)聯(lián)的輸入值或輸出值 或者(b)著色器的輸入?yún)?shù)或輸出參數(shù);以及 確定圖表邊緣與圖表節(jié)點(diǎn)之間的關(guān)聯(lián)性的集合,從而創(chuàng)建函數(shù)鏈接圖表實(shí)例,其中確 定特定圖表邊緣與特定圖表節(jié)點(diǎn)之間的關(guān)聯(lián)性,其中特定圖表邊緣對(duì)應(yīng)于傳遞到特定圖表 節(jié)點(diǎn)或者從特定圖表節(jié)點(diǎn)傳遞的邊緣值。8. 權(quán)利要求7的計(jì)算機(jī)存儲(chǔ)介質(zhì),其中要在節(jié)點(diǎn)之間傳遞的一個(gè)或多個(gè)邊緣值中的每 一個(gè)邊緣值包括整數(shù)、浮點(diǎn)數(shù)、無(wú)符號(hào)整數(shù)、布爾值或資源中的一個(gè),并且其中邊緣值具有 包括標(biāo)量、矢量或矩陣中的一個(gè)的維度。9. 權(quán)利要求7的計(jì)算機(jī)存儲(chǔ)介質(zhì),還包括將函數(shù)鏈接圖表實(shí)例鏈接到庫(kù)模塊實(shí)例的集 合,其中基于對(duì)應(yīng)于要包括在著色器中的函數(shù)的庫(kù)來(lái)確定每一個(gè)庫(kù)模塊實(shí)例。10. -種用于確定著色器的計(jì)算機(jī)實(shí)現(xiàn)的方法,所述方法包括: (a) 編譯用于施行圖形處理的函數(shù)的集合;其中函數(shù)包括指定一個(gè)或多個(gè)圖形資源的 信息,并且其中編譯包括虛擬化一個(gè)或多個(gè)圖形資源; (b) 確定用于在具有一個(gè)或多個(gè)物理資源的圖形管線中實(shí)現(xiàn)的著色器的一個(gè)或多個(gè)圖 形處理操作;以及 (c) 基于所確定的一個(gè)或多個(gè)圖形處理操作: (1) 將所編譯的函數(shù)的集合的一個(gè)或多個(gè)虛擬化資源綁定到圖形管線的一個(gè)或多個(gè)物 理資源;以及 (2) 以用于由圖形處理器執(zhí)行的次序布置所編譯的函數(shù),所編譯的函數(shù)在由圖形處理 器執(zhí)行時(shí)實(shí)現(xiàn)所確定的一個(gè)或多個(gè)圖形處理操作。
【專(zhuān)利摘要】提供了用于著色器組裝和計(jì)算的方法、系統(tǒng)和計(jì)算機(jī)存儲(chǔ)介質(zhì)??梢源_定著色器函數(shù)而沒(méi)有對(duì)特定著色器模型的專(zhuān)門(mén)化和最終化或資源綁定。本發(fā)明的實(shí)施例通過(guò)在將著色器呈現(xiàn)給GPU驅(qū)動(dòng)器之前進(jìn)行鏈接來(lái)促進(jìn)最終著色器組裝和資源綁定。以此方式,本發(fā)明的實(shí)施例緩解了組合著色器激增并且通過(guò)不要求源代碼的分發(fā)或生成而提供了對(duì)知識(shí)產(chǎn)權(quán)的保護(hù)。
【IPC分類(lèi)】G06F9/44
【公開(kāi)號(hào)】CN105493030
【申請(qǐng)?zhí)枴緾N201380077104
【發(fā)明人】Y.多森科, C.G.里德?tīng)? R.L.普羅特克, M.D.桑迪, A.J.格萊斯特
【申請(qǐng)人】微軟技術(shù)許可有限責(zé)任公司
【公開(kāi)日】2016年4月13日
【申請(qǐng)日】2013年9月20日
【公告號(hào)】EP3005081A1, US20140354658, WO2014193446A1
當(dāng)前第5頁(yè)1 2 3 4 5 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1