午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

具有共享數(shù)據(jù)信道的著色器管線的制作方法

文檔序號(hào):10663684閱讀:357來源:國(guó)知局
具有共享數(shù)據(jù)信道的著色器管線的制作方法
【專利摘要】圖形處理單元GPU可分配所述GPU的片上圖形存儲(chǔ)器中由圖形處理管線的至少兩個(gè)級(jí)共享的共享數(shù)據(jù)信道。所述GPU中的著色器單元可執(zhí)行所述圖形處理管線的所述至少兩個(gè)級(jí)。所述GPU可在片上圖形存儲(chǔ)器中的所述共享數(shù)據(jù)信道中存儲(chǔ)由執(zhí)行于所述著色器單元上的所述圖形處理管線的所述至少兩個(gè)級(jí)中的每一者產(chǎn)生的數(shù)據(jù)。
【專利說明】
具有共享數(shù)據(jù)信道的著色器管線
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及用于存儲(chǔ)由圖形處理管線的級(jí)產(chǎn)生及消耗的數(shù)據(jù)的共享數(shù)據(jù)信道。
【背景技術(shù)】
[0002] 計(jì)算裝置的圖形處理單元(GPU)可執(zhí)行包含用于處理圖形命令的多個(gè)級(jí)的圖形處 理管線以呈現(xiàn)三維場(chǎng)景的二維表示。三維場(chǎng)景通常由頂點(diǎn)組成,且圖形處理管線包含一系 列級(jí),所述級(jí)針對(duì)三維場(chǎng)景中的每一頂點(diǎn)以固定次序執(zhí)行以呈現(xiàn)三維場(chǎng)景的二維表示。
[0003] 圖形處理管線可包含著色器級(jí)鏈,所述級(jí)執(zhí)行以轉(zhuǎn)換三維場(chǎng)景的頂點(diǎn)。著色器級(jí) 中的每一者消耗由前一級(jí)產(chǎn)生的數(shù)據(jù)且產(chǎn)生用于下一級(jí)的數(shù)據(jù)。由于大量數(shù)據(jù)流經(jīng)著色器 級(jí)鏈,管理用于著色器級(jí)鏈的數(shù)據(jù)的方式可影響GPU的性能和存儲(chǔ)器效率。

【發(fā)明內(nèi)容】

[0004] 在本發(fā)明的一個(gè)實(shí)例中,用于圖形處理的方法可包含由圖形處理單元(GPU)分配 GPU的片上圖形存儲(chǔ)器中由圖形處理管線的至少兩個(gè)級(jí)共享的共享數(shù)據(jù)信道。方法可進(jìn)一 步包含在GPU中的著色器單元上執(zhí)行圖形處理管線的至少兩個(gè)級(jí)。方法可進(jìn)一步包含由GPU 將由著色器單元上執(zhí)行的圖形處理管線的至少兩個(gè)級(jí)中的每一者產(chǎn)生的數(shù)據(jù)存儲(chǔ)在片上 圖形存儲(chǔ)器中的共享數(shù)據(jù)信道中。
[0005] 在本發(fā)明的另一實(shí)例中,用于圖形處理的設(shè)備可包含經(jīng)配置以進(jìn)行以下操作的圖 形處理單元(GPU):分配GPU的片上圖形存儲(chǔ)器中由圖形處理管線的至少兩個(gè)級(jí)共享的共享 數(shù)據(jù)信道;在GHJ中的著色器單元上執(zhí)行圖形處理管線的至少兩個(gè)級(jí);及將由著色器單元上 執(zhí)行的圖形處理管線的至少兩個(gè)級(jí)中的每一者產(chǎn)生的數(shù)據(jù)存儲(chǔ)在片上圖形存儲(chǔ)器中的共 享數(shù)據(jù)信道中。
[0006] 在本發(fā)明的另一實(shí)例中,用于圖形進(jìn)行圖形處理的設(shè)備可包含用于分配圖形處理 單元(GHJ)的片上圖形存儲(chǔ)器中由圖形處理管線的至少兩個(gè)級(jí)共享的共享數(shù)據(jù)信道的裝 置。設(shè)備可進(jìn)一步包含用于執(zhí)行圖形處理管線的至少兩個(gè)級(jí)的裝置。設(shè)備可進(jìn)一步包含用 于將由圖形處理管線的至少兩個(gè)級(jí)中的每一者的執(zhí)行產(chǎn)生的數(shù)據(jù)存儲(chǔ)在片上圖形存儲(chǔ)器 中的共享數(shù)據(jù)信道中的裝置。
[0007] 在本發(fā)明的另一實(shí)例中,計(jì)算機(jī)可讀存儲(chǔ)媒體可存儲(chǔ)指令,所述指令在執(zhí)行時(shí)導(dǎo) 致一或多個(gè)可編程處理器進(jìn)行以下操作:分配片上圖形存儲(chǔ)器中由圖形處理管線的至少兩 個(gè)級(jí)共享的共享數(shù)據(jù)信道;在著色器單元上執(zhí)行圖形處理管線的至少兩個(gè)級(jí);及將由著色 器單元上執(zhí)行的圖形處理管線的至少兩個(gè)級(jí)中的每一者產(chǎn)生的數(shù)據(jù)存儲(chǔ)在片上圖形存儲(chǔ) 器中的共享數(shù)據(jù)信道中。
[0008] 隨圖及以下描述中陳述一或多個(gè)實(shí)例的細(xì)節(jié)。其它特征、目標(biāo)和優(yōu)點(diǎn)將從所述描 述和圖式以及權(quán)利要求書而顯而易見。
【附圖說明】
[0009] 圖1為說明可經(jīng)組配以實(shí)施本發(fā)明用于在多個(gè)圖形管線級(jí)之中共享數(shù)據(jù)信道的一 個(gè)或多個(gè)方面的實(shí)例計(jì)算裝置的框圖。
[0010] 圖2為說明可由GPU執(zhí)行以產(chǎn)生三維場(chǎng)景的二維表示的實(shí)例圖形處理管線的框圖。
[0011] 圖3為進(jìn)一步詳細(xì)地說明圖1的CPU、GPU和系統(tǒng)存儲(chǔ)器的實(shí)例實(shí)施方案的框圖。
[0012] 圖4為說明用于圖形處理管線中的共享數(shù)據(jù)信道的實(shí)例的框圖。
[0013] 圖5為進(jìn)一步詳細(xì)地說明圖4的高速緩存模式共享信道的框圖。
[0014] 圖6為說明用于通過圖形處理管線的級(jí)共享數(shù)據(jù)信道的實(shí)例過程的流程圖。
【具體實(shí)施方式】
[0015] -般來說,本發(fā)明描述用于使用具有共享數(shù)據(jù)信道的產(chǎn)生器到消耗器模型的單程 著色器管線的技術(shù)。計(jì)算裝置中的圖形處理單元(GPU)可在著色器單元上執(zhí)行著色器管線, 所述著色器單元可在GPU上同時(shí)執(zhí)行著色器管線的多個(gè)級(jí)。由于與存儲(chǔ)于計(jì)算裝置的系統(tǒng) 存儲(chǔ)器中的數(shù)據(jù)相比,通??筛焖俸陀行У卮嫒〈鎯?chǔ)于GHJ中的片上存儲(chǔ)器中的數(shù)據(jù),因 此可通過消耗來自GPU中的片上存儲(chǔ)器中的數(shù)據(jù)信道的數(shù)據(jù)且通過產(chǎn)生也存儲(chǔ)于GPU中的 片上存儲(chǔ)器中的數(shù)據(jù)信道中的數(shù)據(jù)來增大GPU中的著色器單元的效率。
[0016] 在一個(gè)實(shí)例中,GPU可分配相同大小的數(shù)據(jù)信道以存儲(chǔ)由GPU中的著色器單元上的 著色器管線的執(zhí)行消耗和產(chǎn)生的數(shù)據(jù)。然而,由于GPU中的片上存儲(chǔ)器通常包含比計(jì)算裝置 的系統(tǒng)存儲(chǔ)器小許多的存儲(chǔ)空間,GPU中的片上存儲(chǔ)器可不具有充足存儲(chǔ)空間來分配用于 由GPU中的著色器單元消耗和產(chǎn)生的全部數(shù)據(jù)的單獨(dú)數(shù)據(jù)信道。此外,由于著色器管線的級(jí) 可為不均衡的,使得著色器管線的一些級(jí)往往會(huì)產(chǎn)生比著色器管線的其它級(jí)更多的數(shù)據(jù), 為由著色器管線的每一級(jí)產(chǎn)生的數(shù)據(jù)分配片上存儲(chǔ)器中的相同空間可浪費(fèi)片上存儲(chǔ)器中 的存儲(chǔ)空間。另外,片上存儲(chǔ)器可不具有充足存儲(chǔ)空間來為由著色器管線的每一級(jí)產(chǎn)生的 數(shù)據(jù)分配相同空間,使得由著色器管線的級(jí)產(chǎn)生的數(shù)據(jù)中的至少一些可需要存儲(chǔ)在較慢系 統(tǒng)存儲(chǔ)器中,因此降低GHJ的性能。
[0017] 根據(jù)本發(fā)明的各方面,GPU可分配GPU中的片上存儲(chǔ)器中的共享數(shù)據(jù)信道使得著色 器管線的兩個(gè)或兩個(gè)以上級(jí)可共享單一共享數(shù)據(jù)信道,使得共享數(shù)據(jù)信道中不用于存儲(chǔ)來 自共享共享數(shù)據(jù)信道的著色器管線的第一級(jí)的數(shù)據(jù)的空間可用于存儲(chǔ)來自共享數(shù)據(jù)信道 的著色器管線的第二級(jí)的數(shù)據(jù)。以此方式,GPU中的片上存儲(chǔ)器可以更有效的方式利用。此 外,與其它途徑相比,通過以更有效的方式利用GPU中的片上存儲(chǔ)器來潛在地存儲(chǔ)由著色器 管線產(chǎn)生的更多數(shù)據(jù),GPU中的片上存儲(chǔ)器可存儲(chǔ)準(zhǔn)備由執(zhí)行著色器管線的各級(jí)的著色器 單元消耗的更多數(shù)據(jù),因此增大著色器單元的利用率且提高GPU的性能。
[0018] 圖1為說明可經(jīng)組配以實(shí)施本發(fā)明用于在多個(gè)圖形管線級(jí)之中共享數(shù)據(jù)信道的一 個(gè)或多個(gè)方面的實(shí)例計(jì)算裝置的框圖。如圖1中所展示,裝置2可為計(jì)算裝置,包含但不限于 視頻裝置、媒體播放器、機(jī)頂盒、無線手持機(jī)(例如移動(dòng)電話和所謂的智能電話)、個(gè)人數(shù)字 助理(PDA)、臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)、游戲控制臺(tái)、視頻會(huì)議單元、平板計(jì)算裝置及類似 者。在圖1的實(shí)例中,裝置2可包含中央處理單元(CPU)6、系統(tǒng)存儲(chǔ)器10和GPU 12。裝置2還可 包含顯示處理器14、收發(fā)器模塊3、用戶接口 4和顯示器8。收發(fā)器模塊3和顯示處理器14兩者 可為如同CPU 6及/或GPU 12的同一集成電路(1C)的部分,兩者可在包含CPU 6及/或GPU 12 的一或多個(gè)1C的外部,或可形成于在包含CPU 6及/或GPU 12的1C外部的1C中。
[0019] 出于清晰性的目的,裝置2可包含圖1中未展示的額外模塊或單元。舉例來說,裝置 2可包含揚(yáng)聲器和麥克風(fēng)(其均未在圖1中展示)以在裝置2為移動(dòng)無線電話或揚(yáng)聲器(其中 裝置2為媒體播放器)的實(shí)例中實(shí)現(xiàn)電話通信。裝置2還可包含攝像機(jī)。此外,裝置2中所展示 的各種模塊和單元可不必在裝置2的每個(gè)實(shí)例中。舉例來說,在裝置2為臺(tái)式計(jì)算機(jī)或經(jīng)裝 備以與外部用戶接口或顯示器介接的其它裝置的實(shí)例中,用戶接口4和和顯示器8可在裝置 2外部。
[0020] 用戶接口 4的實(shí)例包含(但不限于)軌跡球、鼠標(biāo)、鍵盤和其它類型的輸入裝置。用 戶接口 4還可為觸摸屏且可作為顯示器8的一部分并入。收發(fā)器模塊3可包含電路以允許計(jì) 算裝置2與另一裝置或網(wǎng)絡(luò)之間無線或有線通信。收發(fā)器模塊3可包含調(diào)制器、解調(diào)器、放大 器和用于有線或無線通信的其它此類電路。
[0021] CPU 6可為經(jīng)配置以處理用于執(zhí)行的計(jì)算機(jī)程序的指令的微處理器,例如中央處 理單元(CPU) XPU 6可包括控制計(jì)算裝置2的操作的通用或?qū)S锰幚砥?。用戶可將輸入提?到計(jì)算裝置2以導(dǎo)致CPU 6執(zhí)行一或多個(gè)軟件應(yīng)用程序。在CPU 6上執(zhí)行的軟件應(yīng)用程序可 包含(例如)操作系統(tǒng)、文字處理器應(yīng)用程序、電子郵件應(yīng)用程序、電子數(shù)據(jù)表應(yīng)用程序、媒 體播放器應(yīng)用程序、視頻游戲應(yīng)用程序、圖形用戶接口應(yīng)用程序或另一程序。另外,CPU 6可 執(zhí)行用于控制GPU 12的操作的GPU驅(qū)動(dòng)程序22。用戶可經(jīng)由一或多個(gè)輸入裝置(圖中未展 示)(例如鍵盤、鼠標(biāo)、麥克風(fēng)、觸摸墊或經(jīng)由用戶接口 4耦合到計(jì)算裝置2的另一輸入裝置) 將輸入提供到計(jì)算裝置2。
[0022] 在CPU 6上執(zhí)行的軟件應(yīng)用程序可包含一或多個(gè)指示CPU 6以導(dǎo)致向顯示器8呈現(xiàn) 圖形數(shù)據(jù)的圖形呈現(xiàn)指令。在一些實(shí)例中,軟件指令可符合圖形應(yīng)用編程接口(API),例如 開放圖形庫(kù)K)pcnGI_/)API、開放圖形庫(kù)嵌入系統(tǒng)(OpenGL ES)API、Direct3D API、X3D API、RenderMan API、WebGL API或任何其它公共或?qū)S袠?biāo)準(zhǔn)圖形API。為了處理圖形呈現(xiàn)指 令,CPU 6可將一或多個(gè)圖形呈現(xiàn)命令發(fā)布到GPU 12(例如,經(jīng)由GPU驅(qū)動(dòng)程序22)以導(dǎo)致GPU 12執(zhí)行呈現(xiàn)圖形數(shù)據(jù)中的一些或全部。在一些實(shí)例中,待呈現(xiàn)的圖形數(shù)據(jù)可包含一列圖形 圖元,例如,點(diǎn)、線、三角形、四邊形、三角帶等。
[0023] GPU 12可經(jīng)配置以執(zhí)行圖形操作,從而向顯示器8呈現(xiàn)一或多個(gè)圖形圖元。因此, 當(dāng)CPU 6上執(zhí)行的軟件應(yīng)用程序中的一者需要圖形處理時(shí),CPU 6可將圖形命令和圖形數(shù)據(jù) 提供到GPU 12以用于向顯示器8呈現(xiàn)。圖形數(shù)據(jù)可包含(例如)繪制命令、狀態(tài)信息、圖元信 息、紋理信息等。在一些情況下,GPU 12可內(nèi)置有高度并行結(jié)構(gòu),所述高度并行結(jié)構(gòu)提供比 CPU 6更有效的復(fù)雜圖形相關(guān)操作的處理。舉例來說,GPU 12可包含經(jīng)配置從而以并行方式 對(duì)多個(gè)頂點(diǎn)或像素進(jìn)行操作的多個(gè)處理元件,例如著色器單元。在一些情況下,GPU 12的高 度并行性質(zhì)允許GPU 12比使用CPU 6直接將場(chǎng)景繪制到顯示器8更快速地將圖形圖像(例 如,GUI及二維(2D)及/或三維(3D)圖形場(chǎng)景)繪制到顯示器8上。
[0024]在一些情況下,可將GPU 12集成到計(jì)算裝置2的母板中。在其它情況下,GPU 12可 存在于圖形卡上,所述圖形卡安裝在計(jì)算裝置2的母板中的端口中或可以其它方式并入經(jīng) 配置以與計(jì)算裝置2互操作的外圍裝置內(nèi)。GPU 12可包含一或多個(gè)處理器,例如一或多個(gè)微 處理器、專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門陣列(FPGA)、數(shù)字信號(hào)處理器(DSP)或其它等 效的集成或離散邏輯電路。GPU 12還可包含一或多個(gè)處理器核心,使得GPU 12可被稱作多 核處理器。
[0025] GPU 12可直接耦合到圖形存儲(chǔ)器40。因此,GPU 12可在不使用總線的情況下從圖 形存儲(chǔ)器40讀取數(shù)據(jù)且將數(shù)據(jù)寫入到圖形存儲(chǔ)器40。換句話說,GPU 12可使用本地存儲(chǔ)裝 置而不是片外存儲(chǔ)器在本地處理數(shù)據(jù)。此類圖形存儲(chǔ)器40可被稱作片上存儲(chǔ)器。此允許GPU 12通過消除GPU 12經(jīng)由總線讀取及寫入數(shù)據(jù)的需要而以更有效的方式操作,其中經(jīng)由總線 操作可經(jīng)歷繁重的總線業(yè)務(wù)。然而,在一些情況下,GPU 12可不包含單獨(dú)的存儲(chǔ)器,而是經(jīng) 由總線利用系統(tǒng)存儲(chǔ)器10。圖形存儲(chǔ)器40可包含一或多個(gè)易失性或非易失性存儲(chǔ)器或存儲(chǔ) 裝置,例如,隨機(jī)存取存儲(chǔ)器(RAM )、靜態(tài)RAM (SRAM )、動(dòng)態(tài)RAM (DRAM )、可擦除可編程ROM (EPROM)、電可擦除可編程R0M(EEPROM)、快閃存儲(chǔ)器、磁性數(shù)據(jù)媒體或光學(xué)存儲(chǔ)媒體。
[0026]在一些實(shí)例中,GPU 12可將完全形成的圖像存儲(chǔ)在系統(tǒng)存儲(chǔ)器10中。顯示處理器 14可從系統(tǒng)存儲(chǔ)器10檢索圖像且輸出導(dǎo)致顯示器8的像素照亮以顯示圖像的值。顯示器8可 為裝置2顯示由GPU 12產(chǎn)生的圖像內(nèi)容的顯示器。顯示器8可為液晶顯示器(IXD)、有機(jī)發(fā)光 二極管顯示器(0LED)、陰極射線管(CRT)顯示器、等離子顯示器或另一類型的顯示裝置。 [0027]根據(jù)本發(fā)明的各方面,GPU 12可執(zhí)行其著色器單元上的多個(gè)圖形管線級(jí)。GPU 12 可產(chǎn)生圖形存儲(chǔ)器40中由著色器單元上執(zhí)行的多個(gè)圖形管線級(jí)中的兩個(gè)級(jí)共享的共享數(shù) 據(jù)信道。GPU 12可將由著色器單元上執(zhí)行的多個(gè)圖形管線中的兩個(gè)級(jí)中的每一者產(chǎn)生的數(shù) 據(jù)存儲(chǔ)在共享數(shù)據(jù)信道中。
[0028]圖2為說明可由GPU 12執(zhí)行以產(chǎn)生三維場(chǎng)景的二維表示的實(shí)例圖形處理管線24的 框圖。圖形處理管線24可包含多個(gè)圖形處理級(jí),所述多個(gè)圖形處理級(jí)一起操作以執(zhí)行圖形 處理命令。如圖2中所展示,圖形處理管線24可包含輸入?yún)R編程序26、頂點(diǎn)著色器級(jí)28、外殼 著色器級(jí)30、棋盤形布置器級(jí)32、域著色器級(jí)34、幾何著色器級(jí)36和像素著色器級(jí)38。圖形 處理管線24中的組分中的每一者可實(shí)施為固定功能組分、可編程組分(例如,為可編程著色 器單元上執(zhí)行的著色器程序的部分),或?qū)嵤楣潭üδ芎涂删幊探M分的組合。
[0029] GPU 12可經(jīng)配置以經(jīng)由GPU驅(qū)動(dòng)程序22從CPU 6接收一或多個(gè)圖形處理命令,且經(jīng) 配置以經(jīng)由圖形處理管線24執(zhí)行圖形處理命令以產(chǎn)生可顯示的圖形圖像。如上文所論述, 圖形處理管線24包含一起操作以執(zhí)行圖形處理命令的多個(gè)級(jí)。
[0030] 圖形處理管線24中的輸入?yún)R編程序26可為通常負(fù)責(zé)將圖形數(shù)據(jù)(例如,三角形、線 和點(diǎn))供應(yīng)到圖形處理管線24的固定功能級(jí)。舉例來說,輸入?yún)R編程序級(jí)26可收集高階表 面、圖元及類似者的頂點(diǎn)數(shù)據(jù),且將頂點(diǎn)數(shù)據(jù)和屬性輸出到頂點(diǎn)著色器級(jí)28。因此,輸入?yún)R 編程序級(jí)26可使用固定功能操作從片外存儲(chǔ)器(例如系統(tǒng)存儲(chǔ)器10)讀取頂點(diǎn)。輸入?yún)R編程 序級(jí)26可接著根據(jù)這些頂點(diǎn)創(chuàng)建管線工作項(xiàng),同時(shí)還產(chǎn)生頂點(diǎn)識(shí)別符("VertexID")、實(shí)例 識(shí)別符("InstancelD",其可供頂點(diǎn)著色器使用)和圖元識(shí)別符("PrimitivelD",其可供幾 何著色器和像素著色器使用)。在讀取頂點(diǎn)時(shí),輸入?yún)R編程序級(jí)26可自動(dòng)地產(chǎn)生VertexID、 InstanceID和PrimitiveID〇
[0031] 頂點(diǎn)著色器級(jí)28可處理所接收頂點(diǎn)數(shù)據(jù)和屬性。舉例來說,頂點(diǎn)著色器級(jí)28可執(zhí) 行每頂點(diǎn)處理,例如,變換、結(jié)皮、頂點(diǎn)移位及計(jì)算每頂點(diǎn)材料屬性。在一些實(shí)例中,頂點(diǎn)著 色器級(jí)28可產(chǎn)生紋理坐標(biāo)、頂點(diǎn)顏色、頂點(diǎn)照明、霧效因子及類似者。頂點(diǎn)著色器級(jí)28-般 采用單個(gè)輸入頂點(diǎn)且輸出單個(gè)經(jīng)處理輸出頂點(diǎn)。
[0032] 外殼著色器級(jí)30、棋盤形布置器32和域著色器級(jí)34可統(tǒng)稱為棋盤形布置級(jí)。棋盤 形布置級(jí)將低細(xì)節(jié)細(xì)分表面轉(zhuǎn)換為高細(xì)節(jié)圖元,且將圖塊高階表面轉(zhuǎn)換為適合的表面(例 如,三角形)以供呈現(xiàn)。外殼著色器級(jí)30從頂點(diǎn)著色器級(jí)28接收?qǐng)D元且負(fù)責(zé)執(zhí)行至少兩個(gè)動(dòng) 作。第一,外殼著色器級(jí)30通常負(fù)責(zé)確定一組棋盤形布置因子。外殼著色器級(jí)30可每圖元產(chǎn) 生一次棋盤形布置因子。棋盤形布置因子可供棋盤形布置器級(jí)32使用以確定對(duì)給定圖元進(jìn) 行棋盤形布置的精細(xì)程度(例如,將圖元分裂成較小部分)。外殼著色器級(jí)30還負(fù)責(zé)產(chǎn)生稍 后將由域著色器級(jí)34使用的控制點(diǎn)。也就是說,例如,外殼著色器級(jí)30負(fù)責(zé)產(chǎn)生將供域著色 器級(jí)34使用以創(chuàng)建最終在呈現(xiàn)中使用的實(shí)際的經(jīng)棋盤形布置的頂點(diǎn)的控制點(diǎn)。
[0033]當(dāng)棋盤形布置器級(jí)32從外殼著色器級(jí)30接收數(shù)據(jù)時(shí),棋盤形布置器級(jí)32使用若干 算法中的一者來確定用于當(dāng)前圖元類型的適當(dāng)采樣模式。舉例來說,一般來說,棋盤形布置 器級(jí)32將所請(qǐng)求的棋盤形布置的量(如通過外殼著色器級(jí)30確定)轉(zhuǎn)換成當(dāng)前"±或"內(nèi)的一 群組坐標(biāo)點(diǎn)。也就是說,取決于來自外殼著色器級(jí)30的棋盤形布置因子,以及棋盤形布置器 級(jí)32的特定配置,棋盤形布置器級(jí)32確定需要對(duì)當(dāng)前圖元中的哪些點(diǎn)進(jìn)行采樣以便將輸入 圖元棋盤形布置為較小部分。棋盤形布置器級(jí)32的輸出可為一組域點(diǎn),其可包含重心坐標(biāo)。 [0034]除由外殼著色器級(jí)30產(chǎn)生的控制點(diǎn)以外,域著色器級(jí)34采用域點(diǎn),且使用域點(diǎn)來 創(chuàng)建新頂點(diǎn)。域著色器級(jí)34可使用針對(duì)當(dāng)前圖元、紋理、程序算法或任何其它內(nèi)容產(chǎn)生的控 制點(diǎn)的完整列表,來將每一經(jīng)棋盤形布置的點(diǎn)的重心"位置"轉(zhuǎn)換成傳遞到管線中的下一級(jí) 的輸出幾何。
[0035]幾何著色器級(jí)36可接收由其頂點(diǎn)數(shù)據(jù)(例如,三角形的三個(gè)頂點(diǎn)、線的兩個(gè)頂點(diǎn)或 點(diǎn)的單一頂點(diǎn))定義圖元且進(jìn)一步處理所述圖元。舉例來說,幾何著色器級(jí)36可執(zhí)行每圖元 處理,例如,輪廓邊緣檢測(cè)和陰影體擠出,以及其它的可能處理操作。因此,幾何著色器級(jí)36 可接收一個(gè)圖元作為輸入(其可包含一或多個(gè)頂點(diǎn))且輸出零個(gè)、一個(gè)或多個(gè)圖元(其再次 可包含一或多個(gè)頂點(diǎn))。輸出圖元可含有比有可能在無幾何著色器級(jí)36的情況下更多的數(shù) 據(jù)。輸出數(shù)據(jù)的總量可等于頂點(diǎn)大小乘以頂點(diǎn)計(jì)數(shù)的所得值,且可根據(jù)調(diào)用來限制。來自幾 何著色器級(jí)36的流輸出可允許圖元達(dá)到此級(jí)以存儲(chǔ)到片外存儲(chǔ)器(例如系統(tǒng)存儲(chǔ)器10)。流 輸出通常連接到幾何著色器級(jí)36,且兩者可編程在一起(例如,使用API)。
[0036]光柵化器級(jí)37通常為負(fù)責(zé)剪輯圖元及準(zhǔn)備圖元以供像素著色器級(jí)38使用的固定 功能級(jí)。舉例來說,光柵器級(jí)37可執(zhí)行剪輯(包含定制的剪輯邊界)、透視分割、觀察口 /剪刀 選擇及實(shí)施方案、顯現(xiàn)目標(biāo)選擇及圖元設(shè)置。以此方式,光柵器級(jí)37可產(chǎn)生供像素著色器級(jí) 38著色的數(shù)個(gè)片段。
[0037]像素著色器級(jí)38從光柵化器級(jí)37接收片段且產(chǎn)生每像素?cái)?shù)據(jù),例如色彩。像素著 色器級(jí)38還可執(zhí)行每像素處理,例如紋理混合和照明模型計(jì)算。因此,像素著色器級(jí)38可接 收一個(gè)像素作為輸入且可在相同的相對(duì)位置處輸出一個(gè)像素(或?qū)τ谙袼兀瑸榱阒担?br>[0038]根據(jù)本發(fā)明的各方面,圖形處理管線24的兩個(gè)或兩個(gè)以上級(jí)可共享圖形存儲(chǔ)器40 中的共享數(shù)據(jù)信道。舉例來說,由頂點(diǎn)著色器級(jí)28和域著色器級(jí)34產(chǎn)生的頂點(diǎn)可存儲(chǔ)于共 享數(shù)據(jù)信道中。此外,由外殼著色器級(jí)30和幾何著色器級(jí)36產(chǎn)生的圖元可存儲(chǔ)于另一共享 數(shù)據(jù)信道中。以此方式,GPU 12可更高效地利用圖形存儲(chǔ)器40。
[0039] 圖3為進(jìn)一步詳細(xì)地說明圖1的CPU 6、GPU 12和系統(tǒng)存儲(chǔ)器10的實(shí)例實(shí)施方案的 框圖。如圖3中所展示,CPU 6可包含至少一個(gè)軟件應(yīng)用程序18、圖形API 20和GPU驅(qū)動(dòng)程序 22,其中的每一者可為CPU 6上執(zhí)行的一或多個(gè)軟件應(yīng)用程序或服務(wù)。
[0040] 可用于CPU 6和GPU 12的存儲(chǔ)器可包含系統(tǒng)存儲(chǔ)器10和幀緩沖器16。幀緩沖器16 可為系統(tǒng)存儲(chǔ)器10的一部分或可與系統(tǒng)存儲(chǔ)器10分離。幀緩沖器16可存儲(chǔ)經(jīng)呈現(xiàn)圖像數(shù) 據(jù)。
[0041] 軟件應(yīng)用程序18可為利用GPU 12的功能性的任何應(yīng)用程序。舉例來說,軟件應(yīng)用 程序18可為GUI應(yīng)用程序、操作系統(tǒng)、便攜式制圖應(yīng)用程序、用于工程或藝術(shù)應(yīng)用的計(jì)算機(jī) 輔助設(shè)計(jì)程序、視頻游戲應(yīng)用程序或使用2D或3D圖形的另一類型的軟件應(yīng)用程序。
[0042]軟件應(yīng)用程序18可包含指示GPU 12呈現(xiàn)圖形用戶接口(GUI)及/或圖形場(chǎng)景的一 或多個(gè)繪制指令。舉例來說,繪制指令可包含定義將由GPU 12呈現(xiàn)的一或多個(gè)圖形基元的 集合的指令。在一些實(shí)例中,繪制指令可共同地定義用于GUI中的多個(gè)開視窗表面中的全部 或部分。在額外實(shí)例中,所述繪圖指令可共同地定義圖形場(chǎng)景的全部或部分,所述圖形場(chǎng)景 包含在由應(yīng)用程序定義的模型空間或世界空間內(nèi)的一或多個(gè)圖形對(duì)象。
[0043] 軟件應(yīng)用程序18可經(jīng)由圖形API 20調(diào)用GPU驅(qū)動(dòng)程序22以將一或多個(gè)命令發(fā)布到 GPU 12,以用于將一或多個(gè)圖形基元再現(xiàn)為可顯示的圖形圖像。舉例來說,軟件應(yīng)用程序18 可經(jīng)由圖形API 20調(diào)用GPU驅(qū)動(dòng)程序22以將圖元定義提供到GPU 12。在一些情況下,可以繪 圖基元(例如,三角形、矩形、三角扇、三角帶等)的列表的形式將基元定義提供到GPU 12?;?元定義可包含指定與將呈現(xiàn)的基元相關(guān)聯(lián)的一或多個(gè)頂點(diǎn)的頂點(diǎn)規(guī)格。所述頂點(diǎn)規(guī)格可包 含每一頂點(diǎn)的位置坐標(biāo),且在一些情況下,包含與頂點(diǎn)相關(guān)聯(lián)的其它屬性,例如色彩坐標(biāo)、 法向量及紋理坐標(biāo)。所述基元定義還可包含基元類型信息(例如,三角形、矩形、三角扇、三 角帶等)、縮放信息、旋轉(zhuǎn)信息及類似者?;谟绍浖?yīng)用程序18發(fā)布到GPU驅(qū)動(dòng)程序22的指 令,GPU驅(qū)動(dòng)程序22可調(diào)配指定供GPU 12執(zhí)行的一或多個(gè)操作以便呈現(xiàn)圖元的一或多個(gè)命 令。當(dāng)GPU 12從CPU 6接收命令時(shí),圖形處理管線24解碼命令且配置圖形處理管線24以執(zhí)行 命令中指定的操作。舉例來說,圖形處理管線24中的輸入?yún)R編程序26可讀取圖元數(shù)據(jù)且將 數(shù)據(jù)匯編成供圖形處理管線24中的其它圖形管線級(jí)使用的圖元。在執(zhí)行指定操作之后,圖 形處理管線24將所呈現(xiàn)數(shù)據(jù)輸出到與顯示裝置相關(guān)聯(lián)的幀緩沖器16。
[0044]幀緩沖器16存儲(chǔ)用于GPU 12的目的地像素。每一目的地像素可與唯一屏幕像素位 置相關(guān)聯(lián)。在一些實(shí)例中,幀緩沖器16可存儲(chǔ)每一目的地像素的色彩分量和目的地阿爾法 值。舉例來說,幀緩沖器16可存儲(chǔ)每一像素的紅色、綠色、藍(lán)色、阿爾法(RGBA)分量,其中 "RGB"分量對(duì)應(yīng)于色彩值且"A"對(duì)應(yīng)于目的地阿爾法值。盡管將幀緩沖器16和系統(tǒng)存儲(chǔ)器10 說明為單獨(dú)存儲(chǔ)器單元,在其它實(shí)例中,幀緩沖器16可為系統(tǒng)存儲(chǔ)器10的部分。
[0045] 在一些實(shí)例中,圖形處理管線24的頂點(diǎn)著色器級(jí)28、外殼著色器級(jí)30、域著色器級(jí) 34、幾何著色器級(jí)和像素著色器級(jí)38可被認(rèn)為是著色器級(jí)。這些著色器級(jí)可實(shí)施為GPU 12 中的著色器單元46上執(zhí)行的一或多個(gè)著色器程序。著色器單元46可配置成處理分量的可編 程管線。在一些實(shí)例中,著色單元46可被稱作"著色器處理器"或"統(tǒng)一著色器"且可執(zhí)行幾 何、頂點(diǎn)、像素或其它著色操作以呈現(xiàn)圖形。著色器單元46可包含處理器核心48,所述處理 器核心中的每一者可包含用于獲取及解碼操作的一或多個(gè)組件、用于執(zhí)行算術(shù)計(jì)算的一或 多個(gè)算術(shù)邏輯單元、一或多個(gè)存儲(chǔ)器、高速緩存和寄存器。
[0046] GPU 12可通過將命令發(fā)送到著色器單元46來指定著色器單元46執(zhí)行各種著色操 作,例如頂點(diǎn)著色、外殼著色、域著色、幾何著色、像素著色及類似者,以執(zhí)行圖形處理管線 24中的頂點(diǎn)著色器級(jí)28、外殼著色器級(jí)30、域著色器級(jí)34、幾何著色器級(jí)36和像素著色器級(jí) 38中的一或多者。在一些實(shí)例中,GPU驅(qū)動(dòng)程序22可經(jīng)配置以編譯一或多個(gè)著色器程序,且 經(jīng)配置以將經(jīng)編譯著色器程序下載到含于GPU 12內(nèi)的一或多個(gè)可編程著色器單元上??墒?用高級(jí)著色語言著編寫色器程序,所述語言例如OpenGL著色語言(GLSL)、高級(jí)著色語言 (HLSL)、C for Graphics(Cg)著色語言等。經(jīng)編譯著色器程序可包含控制GPU 12內(nèi)的著色 器單元46的操作的一或多個(gè)指令。舉例來說,著色器程序可包含:頂點(diǎn)著色器程序,可由著 色器單元46執(zhí)行以執(zhí)行頂點(diǎn)著色器級(jí)28的功能;外殼著色器程序,可由著色器單元46執(zhí)行 以執(zhí)行外殼著色器級(jí)30的功能;域著色器程序,可由著色器單元46執(zhí)行以執(zhí)行域著色器級(jí) 34的功能;幾何著色器程序,可由著色器單元46執(zhí)行以執(zhí)行幾何著色器級(jí)36的功能;及/或 像素著色器程序,可由著色器單元46執(zhí)行以執(zhí)行像素著色器38的功能。頂點(diǎn)著色器程序可 控制可編程頂點(diǎn)著色器單元或統(tǒng)一著色器單元的執(zhí)行,且包含指定一或多個(gè)每頂點(diǎn)操作的 指令。
[0047]圖形存儲(chǔ)器40為物理上集成到GPU 12的集成電路中的片上存儲(chǔ)裝置或存儲(chǔ)器。由 于圖形存儲(chǔ)器40為片上存儲(chǔ)器,因此與經(jīng)由系統(tǒng)總線從系統(tǒng)存儲(chǔ)器10讀取值或?qū)⒅祵懭氲?所述系統(tǒng)存儲(chǔ)器相比,GPU 12可能能夠更快速地從圖形存儲(chǔ)器40讀取值或?qū)⒅祵懭氲剿?圖形存儲(chǔ)器。同樣,可通過從圖形存儲(chǔ)器40存儲(chǔ)及讀取由圖形處理管線24的著色器級(jí)產(chǎn)生 及消耗的數(shù)據(jù)來提高著色器單元46的性能。
[0048] 根據(jù)本發(fā)明的各方面,著色器單元46可在處理器核心48上同時(shí)執(zhí)行多個(gè)著色操 作。GPU 12可將使得圖形處理管線24的不同著色級(jí)能夠在不同處理器核心48上執(zhí)行的命令 發(fā)送到著色單元46,因此使圖形處理管線24的級(jí)交錯(cuò)。舉例來說,GPU 12可將命令發(fā)送到導(dǎo) 致著色單元46在著色器單元46的不同處理器核心48上同時(shí)執(zhí)行頂點(diǎn)著色器級(jí)28和幾何著 色器級(jí)36的著色單元46。在另一實(shí)例中,GPU 12可將命令發(fā)送到導(dǎo)致著色單元46在多個(gè)處 理器上同時(shí)執(zhí)行幾何著色器級(jí)36的多個(gè)實(shí)例的著色單元46。
[0049]根據(jù)本發(fā)明的各方面,圖形存儲(chǔ)器40可包含使得由圖形處理管線24的不同級(jí)產(chǎn)生 的數(shù)據(jù)能夠共享單一數(shù)據(jù)信道的共享數(shù)據(jù)信道50A到50N( "共享數(shù)據(jù)信道50")中的一或多 者,因此使得GPU 12能夠更高效地利用圖形存儲(chǔ)器40中的有限空間以及使得著色器處理器 集群46能夠提高其處理器核心48的利用率以同時(shí)執(zhí)行圖形處理管線24的多個(gè)級(jí)。
[0050] 共享數(shù)據(jù)信道50中的每一共享數(shù)據(jù)信道可存儲(chǔ)由圖形處理管線24的兩個(gè)或兩個(gè) 以上級(jí)產(chǎn)生的數(shù)據(jù)。通過共享共享數(shù)據(jù)信道50中的共享數(shù)據(jù)信道,與分配用于圖形處理管 線,的個(gè)別級(jí)的數(shù)據(jù)信道24相反,如果圖形處理管線24中的級(jí)產(chǎn)生較少數(shù)據(jù),那么共享同一 共享數(shù)據(jù)信道的另一級(jí)可能能夠通過存儲(chǔ)其在共享數(shù)據(jù)信道中產(chǎn)生的更多數(shù)據(jù)來利用所 述事實(shí)。
[0051] 根據(jù)本發(fā)明的一方面,幾何處理單元(GPC)42可基于共享數(shù)據(jù)信道50的狀態(tài)調(diào)度 著色器處理器集群46的執(zhí)行。GPC 42可監(jiān)視共享數(shù)據(jù)信道50以確定共享數(shù)據(jù)信道50中是否 存在將由待由著色器處理器集群46執(zhí)行的圖形處理管線24的級(jí)消耗的足夠數(shù)據(jù)。GPC 42還 可監(jiān)視共享數(shù)據(jù)信道50以確定共享數(shù)據(jù)信道50中是否存在存儲(chǔ)由待由著色器處理器集群 46執(zhí)行的圖形處理管線24的級(jí)產(chǎn)生的數(shù)據(jù)的充足自由空間。如果GPC 42確定共享數(shù)據(jù)信道 50中存在充足數(shù)據(jù)和自由空間,那么GPC 42可將執(zhí)行命令發(fā)送到著色器處理器集群46以執(zhí) 行圖形處理管線24的一批級(jí)。響應(yīng)于完成所述批次的級(jí)的執(zhí)行,著色器處理器集群46可將 指示處理器集群46已經(jīng)完成所述批次的級(jí)的執(zhí)行的信號(hào)發(fā)送到GPC 42。作為響應(yīng),數(shù)據(jù)信 道管理器44可更新用于共享數(shù)據(jù)信道50的相關(guān)讀取和寫入指針。GPC 42可包含管理共享數(shù) 據(jù)信道50的數(shù)據(jù)信道管理器44。數(shù)據(jù)信道管理器44可管理用于共享數(shù)據(jù)信道50的讀取和寫 入指針,所述指針指向共享數(shù)據(jù)信道50內(nèi)的位置以用于將數(shù)據(jù)寫入到共享數(shù)據(jù)信道50中或 從所述共享數(shù)據(jù)信道讀取數(shù)據(jù)。
[0052]根據(jù)本發(fā)明的各方面,共享數(shù)據(jù)信道50A可為由圖形處理管線24的兩個(gè)或兩個(gè)以 上級(jí)共享的數(shù)據(jù)信道,使得共享數(shù)據(jù)信道50A可存儲(chǔ)由圖形處理管線24的第一級(jí)輸出的數(shù) 據(jù)55A和由圖形處理管線24的第二級(jí)輸出的數(shù)據(jù)55B兩者。共享數(shù)據(jù)信道50A可為環(huán)形緩沖 器,使得在產(chǎn)生和/或消耗數(shù)據(jù)55A和55B時(shí)兩者可動(dòng)態(tài)地增大及減小其大小,因此允許更有 效使用分配到共享數(shù)據(jù)信道50A的存儲(chǔ)器塊。GPC 42可管理寫入指針51A和51B以及讀取指 針53A和53B。寫入指針51A可指向共享數(shù)據(jù)信道50A的存儲(chǔ)器位置以寫入數(shù)據(jù)55A,且讀取指 針53A可指向共享數(shù)據(jù)信道50A存儲(chǔ)器位置,從所述位置讀取數(shù)據(jù)55A。
[0053] 通常,GPU 12以先進(jìn)先出(FIFO)次序存儲(chǔ)共享數(shù)據(jù)信道50A中的數(shù)據(jù)55A和55B,使 得讀取指針53A和53B分別指向存儲(chǔ)數(shù)據(jù)55A和55B中的最老數(shù)據(jù)段(有時(shí)被稱作隊(duì)列的頭 部)的共享數(shù)據(jù)信道50A的存儲(chǔ)器位置,且使得寫入指針51A和51B分別指向存儲(chǔ)數(shù)據(jù)55A和 55B中最新數(shù)據(jù)段(有時(shí)被稱作隊(duì)列的尾部)的共享數(shù)據(jù)信道50A的存儲(chǔ)器位置。
[0054]共享數(shù)據(jù)信道50A還可在FIFO模式下操作,使得從共享數(shù)據(jù)信道50A刪除從數(shù)據(jù) 55A和55B讀取的數(shù)據(jù)且那些存儲(chǔ)器位置可解除分配。如可看出,當(dāng)GPU 12從共享數(shù)據(jù)信道 50A讀取數(shù)據(jù)55A時(shí),共享數(shù)據(jù)信道50A中的自由空間57增大,因此允許用于GPU 12的共享數(shù) 據(jù)信道50A中的額外空間將數(shù)據(jù)寫入到數(shù)據(jù)55B中。類似地,當(dāng)GPU12從共享數(shù)據(jù)信道50A讀 取數(shù)據(jù)55B時(shí),共享數(shù)據(jù)信道50A中的自由空間59增大,因此允許用于GPU 12的共享數(shù)據(jù)信 道50A中的額外空間將數(shù)據(jù)寫入到數(shù)據(jù)55A中。盡管上文已經(jīng)詳細(xì)地描述僅共享數(shù)據(jù)信道 50A,但應(yīng)理解共享數(shù)據(jù)信道50中的每一共享數(shù)據(jù)信道可共享上文關(guān)于共享數(shù)據(jù)信道50A所 描述的功能。
[0055]圖4為說明用于圖形處理管線24中的共享數(shù)據(jù)信道50的實(shí)例的框圖。如圖4中所展 示,共享數(shù)據(jù)信道50A可由圖形處理管線24的級(jí)共享以存儲(chǔ)由所述級(jí)產(chǎn)生的數(shù)據(jù)。
[0056]具體地說,共享數(shù)據(jù)信道50A可存儲(chǔ)由圖形處理管線24的外殼著色器級(jí)30產(chǎn)生的 數(shù)據(jù)52且可進(jìn)一步存儲(chǔ)由圖形處理管線24的幾何著色器級(jí)36產(chǎn)生的數(shù)據(jù)54。數(shù)據(jù)52可由圖 形處理管線24的域著色器級(jí)34消耗且數(shù)據(jù)54可由圖形處理管線24的像素著色器級(jí)消耗。 [0057] 通過外殼著色器級(jí)30和幾何著色器級(jí)36存儲(chǔ)到共享數(shù)據(jù)信道50A中的數(shù)據(jù)52和數(shù) 據(jù)54可分別包含由外殼著色器級(jí)30輸出的補(bǔ)丁控制點(diǎn)和由幾何著色器級(jí)36輸出的頂點(diǎn)。由 于數(shù)據(jù)信道50A不高速緩存數(shù)據(jù)52和54,因此數(shù)據(jù)52和54可分別充當(dāng)FIFO隊(duì)列,其中從共享 數(shù)據(jù)信道50A刪除從數(shù)據(jù)52和54讀取的數(shù)據(jù)。
[0058] 在一些實(shí)例中,由圖形處理管線24的一些級(jí)產(chǎn)生的相同數(shù)據(jù)可由圖形處理管線24 的其它級(jí)消耗多次。由于當(dāng)從FIFO隊(duì)列讀取存儲(chǔ)到FIFO隊(duì)列中的數(shù)據(jù)時(shí)可刪除所述數(shù)據(jù), 因此,如果數(shù)據(jù)存儲(chǔ)到充當(dāng)FIFO隊(duì)列的共享數(shù)據(jù)信道50中的一者中,那么圖形處理管線24 產(chǎn)生數(shù)據(jù)的的級(jí)可需要執(zhí)行多次以產(chǎn)生相同數(shù)據(jù)代替多次執(zhí)行頂點(diǎn)著色器28或域著色器 34以多次產(chǎn)生同一頂點(diǎn),GPU 12可替代地將由頂點(diǎn)著色器28和域著色器34產(chǎn)生的數(shù)據(jù)高速 緩存在高速緩存模式共享信道56中。
[0059]舉例來說,由圖形處理管線24的頂點(diǎn)著色器級(jí)28產(chǎn)生的數(shù)據(jù)(包含由頂點(diǎn)著色器 級(jí)28轉(zhuǎn)換的頂點(diǎn))可由圖形處理管線24的外殼著色器級(jí)30消耗。類似地,由圖形處理管線24 的域著色器級(jí)34產(chǎn)生的數(shù)據(jù)(例如由域著色器級(jí)34輸出的頂點(diǎn)位置)可由圖形處理管線24 的幾何著色器級(jí)36消耗。舉例來說,由于鄰近圖元(例如,三角形)可共享頂點(diǎn),同一頂點(diǎn)可 用于形成兩個(gè)鄰近三角形。因此,由頂點(diǎn)著色器級(jí)28和域著色器級(jí)34產(chǎn)生的頂點(diǎn)數(shù)據(jù)可消 耗多次。由于由頂點(diǎn)著色器級(jí)28和域著色器級(jí)34產(chǎn)生的數(shù)據(jù)可消耗多次,由這些級(jí)產(chǎn)生的 數(shù)據(jù)可高速緩存在高速緩存模式共享信道56中,使得響應(yīng)于從高速緩存模式共享信道56讀 取高速緩存的數(shù)據(jù)而可不刪除所述高速緩存的數(shù)據(jù)。
[0060] 圖5為說明高速緩存模式共享信道56的框圖。如圖5中所展示,高速緩存模式共享 信道56可包含兩個(gè)共享數(shù)據(jù)信道:共享圖元隊(duì)列50B共享頂點(diǎn)高速緩存50C,以及高速緩存 窗70。共享頂點(diǎn)高速緩存50C可在高速緩存模式下操作,使得在存儲(chǔ)到共享頂點(diǎn)高速緩存 50C中的數(shù)據(jù)從共享頂點(diǎn)高速緩存50C讀取后可不被刪除。存儲(chǔ)到共享圖元隊(duì)列50B中的數(shù) 據(jù)62和數(shù)據(jù)64可包含由頂點(diǎn)著色器級(jí)28和域著色器級(jí)34產(chǎn)生的圖元數(shù)據(jù)。舉例來說,數(shù)據(jù) 62可包含由用于每一圖元的頂點(diǎn)著色器級(jí)28產(chǎn)生的存儲(chǔ)在共享頂點(diǎn)高速緩存50C處的頂點(diǎn) 數(shù)據(jù)的頂點(diǎn)標(biāo)號(hào)和位置,且數(shù)據(jù)64可包含由用于每一圖元的域著色器級(jí)34產(chǎn)生的存儲(chǔ)在共 享頂點(diǎn)高速緩存50C處的頂點(diǎn)數(shù)據(jù)的頂點(diǎn)標(biāo)號(hào)和位置。數(shù)據(jù)62和64還可包含相關(guān)聯(lián)圖元中 的每一者的解除分配旗標(biāo)。存儲(chǔ)到共享頂點(diǎn)高速緩存50C中的數(shù)據(jù)66可包含由頂點(diǎn)著色器 級(jí)28轉(zhuǎn)換的頂點(diǎn),而存儲(chǔ)到共享頂點(diǎn)高速緩存50C中的數(shù)據(jù)68可包含由域著色器級(jí)34輸出 的頂點(diǎn)位置。GPC 42可檢查共享圖元隊(duì)列50B和共享頂點(diǎn)高速緩存50C兩者的自由空間以確 定高速緩存模式共享信道56是否具有接受數(shù)據(jù)的足夠自由空間。
[0061] 如果特定頂點(diǎn)已經(jīng)存儲(chǔ)于共享高速緩存50C的限制窗中,那么高速緩存窗70可存 儲(chǔ)指不。舉例來說,尚速緩存窗70可充當(dāng)完全關(guān)聯(lián)尚速緩存且存儲(chǔ)頂點(diǎn)指標(biāo),共孚頂點(diǎn)尚速 緩存50C內(nèi)的頂點(diǎn)的數(shù)據(jù)位置和著色器的指示(例如旗標(biāo))可消耗頂點(diǎn)。
[0062] GPC 42通過圖元處理幾何圖元。對(duì)于頂點(diǎn)著色器28和域著色器34,如果GPC 42基 于檢查頂點(diǎn)指標(biāo)上的高速緩存窗70和/或頂點(diǎn)屬于的著色器確定圖元的特定頂點(diǎn)不在共享 頂點(diǎn)高速緩存50C中,那么高速緩存未命中可出現(xiàn),且GPC 42可將命令發(fā)送到著色器單元46 以執(zhí)行適當(dāng)?shù)闹骷?jí)(例如,頂點(diǎn)著色器28或域著色器34),從而產(chǎn)生所需頂點(diǎn)且從而將 所產(chǎn)生頂點(diǎn)數(shù)據(jù)存儲(chǔ)在高速緩存模式共享信道56中。GPC 42可將共享頂點(diǎn)高速緩存50C處 的頂點(diǎn)數(shù)據(jù)的頂點(diǎn)標(biāo)號(hào)和位置添加到共享圖元隊(duì)列50B中。GPC 42可將現(xiàn)高速緩存于高速 緩存模式共享信道56中的頂點(diǎn)的適當(dāng)數(shù)據(jù)添加到高速緩存窗70。高速緩存窗70可以先入先 出(FIFO)方式起作用,使得如果高速緩存窗70在高速緩存未命中之后不存在空間,那么在 高速緩存窗70中的最老槽中相關(guān)聯(lián)且使具有共享圖元隊(duì)列50B中其解除分配旗標(biāo)集合的頂 點(diǎn)可為具有關(guān)于添加到高速緩存模式共享信道56中的最新頂點(diǎn)的信息的集合。然而,如果 GPC 42確定特定頂點(diǎn)高速緩存于高速緩存模式共享信道56中,那么GPC 42可使用所需頂點(diǎn) 的共享頂點(diǎn)高速緩存50C中的存儲(chǔ)器位置且將共享頂點(diǎn)高速緩存50C處的頂點(diǎn)數(shù)據(jù)的頂點(diǎn) 標(biāo)號(hào)和位置添加到共享圖元隊(duì)列50B中。以此方式,GPU 12可減少圖形處理管線24中的級(jí)的 額外處理。
[0063] 為了執(zhí)行外殼著色器30和幾何著色器36,GPC 42可消耗來自共享圖元隊(duì)列50B和 共享頂點(diǎn)高速緩存50C兩者的數(shù)據(jù)。GPC 42可從共享圖元隊(duì)列50B讀取共享頂點(diǎn)高速緩存 50C中的頂點(diǎn)數(shù)據(jù)的頂點(diǎn)標(biāo)號(hào)和位置。GPC 42可隨后使用從共享圖元隊(duì)列50B讀取的位置從 共享頂點(diǎn)高速緩存50C讀取頂點(diǎn)數(shù)據(jù)。GPC 42可在讀取數(shù)據(jù)之后移動(dòng)共享圖元隊(duì)列50B的讀 取指針。然而,由于后續(xù)圖元還可使用僅從共享頂點(diǎn)高速緩存50C讀出的同一頂點(diǎn),因此GPC 42可在從共享頂點(diǎn)高速緩存50C讀取高速緩存的頂點(diǎn)之后不立即移動(dòng)共享頂點(diǎn)高速緩存 50C的讀取指針。如果設(shè)定用于圖元消耗頂點(diǎn)的共享圖元隊(duì)列50B中的相關(guān)聯(lián)解除分配旗 標(biāo),那么可允許GPC 42移動(dòng)讀取指針且將來自高速緩存模式共享信道56的頂點(diǎn)解除分配。 GPC 42可將命令發(fā)送到著色器單元46以執(zhí)行著色器級(jí)(例如,外殼著色器30和幾何著色器 36),從而消耗頂點(diǎn)數(shù)據(jù),且從而產(chǎn)生用于下一著色器級(jí)的頂點(diǎn)并將所產(chǎn)生頂點(diǎn)數(shù)據(jù)存儲(chǔ)在 共享數(shù)據(jù)信道50A中。
[0064] GPC 42可監(jiān)視高速緩存模式共享信道56和共享數(shù)據(jù)信道50A是否死鎖。在一個(gè)實(shí) 例中,如果高速緩存模式共享信道56充滿由頂點(diǎn)著色器級(jí)28產(chǎn)生的數(shù)據(jù),或如果共享數(shù)據(jù) 信道50A充滿由外殼著色器級(jí)30產(chǎn)生的數(shù)據(jù),那么死鎖可出現(xiàn)。在此情況下,由于外殼著色 器級(jí)30消耗由頂點(diǎn)級(jí)28產(chǎn)生的數(shù)據(jù),外殼著色器級(jí)30無法消耗由頂點(diǎn)著色器級(jí)28產(chǎn)生且存 儲(chǔ)于高速緩存模式共享信道56中的數(shù)據(jù)以產(chǎn)生存儲(chǔ)到共享數(shù)據(jù)信道50A中的數(shù)據(jù),因?yàn)轲I 共享數(shù)據(jù)信道50A中不存在存儲(chǔ)新近所產(chǎn)生數(shù)據(jù)的自由空間。此外,由于高速緩存模式共享 信道56充滿由頂點(diǎn)著色器級(jí)28產(chǎn)生的數(shù)據(jù),且沒有數(shù)據(jù)可由外殼著色器30消耗,因此不可 將數(shù)據(jù)解除分配來釋放高速緩存模式共享信道56的空間以存儲(chǔ)由域著色器34產(chǎn)生的數(shù)據(jù)。 此外,由于域著色器34消耗由外殼著色器級(jí)30產(chǎn)生且存儲(chǔ)于共享數(shù)據(jù)信道50A中的數(shù)據(jù),因 此由外殼著色器30A產(chǎn)生且存儲(chǔ)于共享數(shù)據(jù)信道50A中的數(shù)據(jù)不可由域著色器34消耗來釋 放共享數(shù)據(jù)信道50A中的空間以供共享數(shù)據(jù)信道50A存儲(chǔ)由幾何著色器36產(chǎn)生的數(shù)據(jù)。 [0065]為了防止高速緩存模式共享信道56與共享數(shù)據(jù)信道50A之間的死鎖情況,GPC 42 可保留用于存儲(chǔ)分別由域著色器34和幾何著色器36產(chǎn)生的數(shù)據(jù)的高速緩存模式共享信道 56和共享數(shù)據(jù)信道50A中的空間,使得高速緩存模式共享信道56和共享數(shù)據(jù)信道50A并不僅 存儲(chǔ)分別由頂點(diǎn)著色器28和外殼著色器30產(chǎn)生的數(shù)據(jù)。通過(例如)確定存儲(chǔ)來自域著色器 34和幾何著色器36用于給定數(shù)目的著色器集群46中的波的輸出必需的空間量,GPC 42可確 定分量共享圖元隊(duì)列50B和共享頂點(diǎn)高速緩存50C兩者中的高速緩存模式共享信道56的空 間量,和保留共享數(shù)據(jù)信道50A的空間量。
[0066]圖6為說明用于通過圖形處理管線的級(jí)共享數(shù)據(jù)信道的實(shí)例過程的流程圖。如圖6 中所展示,所述過程可包含由GPU 12分配GPU 12的片上圖形存儲(chǔ)器40中由圖形處理管線24 的至少兩個(gè)級(jí)共享的共享數(shù)據(jù)信道50A(502)。所述過程可進(jìn)一步包含在GPU 12中的著色器 單元46上執(zhí)行圖形處理管線24的至少兩個(gè)級(jí)(504)。所述過程可進(jìn)一步包含由GPU 12將由 在著色器單元46上執(zhí)行的圖形處理管線24的至少兩個(gè)級(jí)產(chǎn)生的數(shù)據(jù)存儲(chǔ)在片上圖形存儲(chǔ) 器40中的共享數(shù)據(jù)信道50A中(506)。
[0067] 在一些實(shí)例中,所述過程可進(jìn)一步包含由GPU 12分配GPU 12的片上圖形存儲(chǔ)器40 中由圖形處理管線24的第二至少兩個(gè)級(jí)共享的第二高速緩沖模式共享信道56,其中共享數(shù) 據(jù)信道50A為第一共享數(shù)據(jù)信道。在一些實(shí)例中,所述過程可進(jìn)一步包含在GPU12中的著色 器單元46上執(zhí)行圖形處理管線24的第二至少兩個(gè)級(jí)。在一些實(shí)例中,所述過程可進(jìn)一步包 含由GPU 12將由在著色器單元46上執(zhí)行的圖形處理管線24的第二至少兩個(gè)級(jí)中的每一者 產(chǎn)生的第二數(shù)據(jù)存儲(chǔ)在第二高速緩沖模式共享信道56中。
[0068]在一些實(shí)例中,所述過程可進(jìn)一步包含至少部分地基于第一共享數(shù)據(jù)信道50A或 第二高速緩沖模式共享信道56的狀態(tài)由GPU 12調(diào)度由著色器單元46執(zhí)行的圖形處理管線 24的一個(gè)或多個(gè)級(jí),使得數(shù)據(jù)在第一共享數(shù)據(jù)信道50A或第二高速緩沖模式共享信道56中 可用以由圖形處理管線24(當(dāng)在著色器單元46上執(zhí)行時(shí))一個(gè)或多個(gè)級(jí)消耗,且自由空間在 第一共享數(shù)據(jù)信道50A或第二高速緩沖模式共享信道56中可用以存儲(chǔ)由圖形處理管線24 (當(dāng)在著色器單元46上執(zhí)行時(shí))的一個(gè)或多個(gè)級(jí)產(chǎn)生的數(shù)據(jù)。
[0069] 在一些實(shí)例中圖形處理管線24的至少兩個(gè)級(jí)包含頂點(diǎn)著色器28和域著色器34。在 一些實(shí)例中,圖形處理管線24的第二至少兩個(gè)級(jí)包含外殼著色器30和幾何著色器36。
[0070] 在一些實(shí)例中,所述過程可進(jìn)一步包含由GPU 12保留第一共享數(shù)據(jù)信道50A和第 二高速緩沖模式共享信道56中的至少一者中的自由空間以防止第一共享數(shù)據(jù)信道50A與第 二高速緩沖模式共享信道56之間的死鎖。
[0071] 在一或多個(gè)實(shí)例中,所描述的功能可實(shí)施在硬件、軟件、固件或其任何組合中。如 果在軟件中實(shí)施,則可將功能作為一或多個(gè)指令或代碼而存儲(chǔ)在計(jì)算機(jī)可讀媒體上或經(jīng)由 計(jì)算機(jī)可讀媒體發(fā)射。計(jì)算機(jī)可讀媒體可包含計(jì)算機(jī)數(shù)據(jù)存儲(chǔ)媒體或通信媒體,通信媒體 包含促進(jìn)將計(jì)算機(jī)程序從一處傳遞到另一處的任何媒體。數(shù)據(jù)存儲(chǔ)媒體可以是可由一或多 個(gè)計(jì)算機(jī)或一或多個(gè)處理器存取以檢索用于實(shí)施本發(fā)明中描述的技術(shù)的指令、代碼和/或 數(shù)據(jù)結(jié)構(gòu)的任何可用媒體。舉例來說且非限制,此類計(jì)算機(jī)可讀媒體可包括RAM、R0M、 EEPR0M、⑶-ROM或其它光盤存儲(chǔ)裝置、磁盤存儲(chǔ)裝置或其它磁性存儲(chǔ)裝置,或可用于攜載或 存儲(chǔ)呈指令或數(shù)據(jù)結(jié)構(gòu)的形式的所要程序代碼且可由計(jì)算機(jī)存取的任何其它媒體。而且, 任何連接可恰當(dāng)?shù)胤Q為計(jì)算機(jī)可讀媒體。舉例來說,如果使用同軸纜線、光纖纜線、雙絞線、 數(shù)字訂戶線(DSL)或例如紅外線、無線電和微波等無線技術(shù)從網(wǎng)站、服務(wù)器或其它遠(yuǎn)程源發(fā) 射軟件,那么同軸纜線、光纖纜線、雙絞線、DSL或例如紅外線、無線電和微波等無線技術(shù)包 含于媒體的定義中。如本文中所使用,磁盤及光盤包含壓縮光盤(CD)、激光光盤、光學(xué)光盤、 數(shù)字多功能光盤(DVD)、軟性磁盤和藍(lán)光光盤,其中磁盤通常以磁性方式再現(xiàn)數(shù)據(jù),而光盤 利用激光以光學(xué)方式再現(xiàn)數(shù)據(jù)。以上的組合也應(yīng)該包含在計(jì)算機(jī)可讀媒體的范圍內(nèi)。
[0072] 代碼可以由一或多個(gè)處理器執(zhí)行,所述一或多個(gè)處理器例如一或多個(gè)數(shù)字信號(hào)處 理器(DSP)、通用微處理器、專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程邏輯陣列(FPGA)、或其它等效 的集成或離散邏輯電路。因此,如本文中所使用的術(shù)語"處理器"和"處理單元"可指前述結(jié) 構(gòu)或適于實(shí)施本文中所描述的技術(shù)的任何其它結(jié)構(gòu)中的任一者。另外,在一些方面中,本文 中所描述的功能性可提供于經(jīng)配置以用于編碼和解碼的專用硬件和/或軟件模塊內(nèi),或者 并入于組合式編解碼器中。另外,可以將所述技術(shù)完全實(shí)施于一或多個(gè)電路或邏輯元件中。
[0073] 本發(fā)明的技術(shù)可實(shí)施于廣泛多種裝置或設(shè)備中,所述裝置或設(shè)備包含無線手持 機(jī)、集成電路(1C)或一組IC(即,芯片組)。本發(fā)明中描述各種組件、模塊或單元以強(qiáng)調(diào)經(jīng)配 置以執(zhí)行所揭示的技術(shù)的裝置的功能性方面,但未必需要通過不同硬件單元實(shí)現(xiàn)。確切地 說,如上文所描述,各種單元可結(jié)合合適的軟件和/或固件組合在一個(gè)編解碼器硬件單元 中,或由互操作硬件單元的集合來提供,所述硬件單元包括如上文所描述的一個(gè)或一個(gè)以 上處理器。
[0074] 已經(jīng)描述各種實(shí)例。所述及其它實(shí)例屬于所附權(quán)利要求書的范圍內(nèi)。
【主權(quán)項(xiàng)】
1. 一種圖形處理方法,其包括: 由圖形處理單元GPU分配所述GPU的片上圖形存儲(chǔ)器中由圖形處理管線的至少兩個(gè)級(jí) 共享的共享數(shù)據(jù)信道; 在所述GRJ中的著色器單元上執(zhí)行所述圖形處理管線的所述至少兩個(gè)級(jí);及 由所述GPU在片上圖形存儲(chǔ)器中的所述共享數(shù)據(jù)信道中存儲(chǔ)由所述著色器單元上執(zhí)行 的所述圖形處理管線的所述至少兩個(gè)級(jí)中的每一者產(chǎn)生的數(shù)據(jù)。2. 根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包括: 由所述GPU分配所述GPU的片上圖形存儲(chǔ)器中由所述圖形處理管線的第二至少兩個(gè)級(jí) 共享的第二共享數(shù)據(jù)信道,其中所述共享數(shù)據(jù)信道為第一共享數(shù)據(jù)信道; 在所述GRJ中的所述著色器單元上執(zhí)行所述圖形處理管線的所述第二至少兩個(gè)級(jí);及 由所述GPU在所述第二共享數(shù)據(jù)信道中存儲(chǔ)由所述著色器單元上執(zhí)行的所述圖形處理 管線的所述第二至少兩個(gè)級(jí)中的每一者產(chǎn)生的第二數(shù)據(jù)。3. 根據(jù)權(quán)利要求2所述的方法,其進(jìn)一步包括: 至少部分地基于所述第一共享數(shù)據(jù)信道或所述第二共享數(shù)據(jù)信道的狀態(tài)由所述GPU調(diào) 度所述著色器單元上的所述圖形處理管線的一個(gè)或多個(gè)級(jí)的執(zhí)行,使得數(shù)據(jù)在所述第一共 享數(shù)據(jù)信道或所述第二共享數(shù)據(jù)信道中可用以由所述著色器單元上執(zhí)行的所述圖形處理 管線的所述一個(gè)或多個(gè)級(jí)消耗,且自由空間在所述第一共享數(shù)據(jù)信道或所述第二共享數(shù)據(jù) 信道中可用以存儲(chǔ)由所述著色器單元上執(zhí)行的所述圖形處理管線的所述一個(gè)或多個(gè)級(jí)產(chǎn) 生的數(shù)據(jù)。4. 根據(jù)權(quán)利要求2所述的方法,其中,所述第一共享數(shù)據(jù)信道在高速緩存模式下操作以 高速緩存存儲(chǔ)于所述第一共享數(shù)據(jù)信道中的數(shù)據(jù),且所述第二共享數(shù)據(jù)信道在先進(jìn)先出 FIFO模式下操作。5. 根據(jù)權(quán)利要求2所述的方法,其中所述第一共享數(shù)據(jù)信道為第一環(huán)形緩沖器,且所述 第二共享數(shù)據(jù)信道為第二環(huán)形緩沖器。6. 根據(jù)權(quán)利要求2所述的方法,其中存儲(chǔ)于所述第一共享數(shù)據(jù)信道中的所述數(shù)據(jù)包含 由所述圖形處理管線的所述至少兩個(gè)級(jí)產(chǎn)生的頂點(diǎn)數(shù)據(jù),且存儲(chǔ)于所述第二共享數(shù)據(jù)信道 中的所述第二數(shù)據(jù)包含由所述圖形處理管線的所述第二至少兩個(gè)級(jí)產(chǎn)生的圖元。7. 根據(jù)權(quán)利要求6所述的方法,其中所述圖形處理管線的所述至少兩個(gè)級(jí)包含頂點(diǎn)著 色器和域著色器。8. 根據(jù)權(quán)利要求6所述的方法,其中所述圖形處理管線的所述第二至少兩個(gè)級(jí)包括外 殼著色器和幾何著色器。9. 根據(jù)權(quán)利要求2所述的方法,其進(jìn)一步包括: 由所述GPU保留所述第一共享數(shù)據(jù)信道和所述第二共享數(shù)據(jù)信道中的至少一者中的自 由空間以防止所述第一共享數(shù)據(jù)信道與所述第二數(shù)據(jù)共享信道之間的死鎖。10. -種經(jīng)配置以處理圖形數(shù)據(jù)的設(shè)備,其包括: 圖形處理單元GRJ,其經(jīng)配置以: 分配所述GHJ的片上圖形存儲(chǔ)器中由圖形處理管線的至少兩個(gè)級(jí)共享的共享數(shù)據(jù)信 道; 在所述GPU中的著色器單元上執(zhí)行所述圖形處理管線的所述至少兩個(gè)級(jí);及將由所述 著色器單元上執(zhí)行的所述圖形處理管線的所述至少兩個(gè)級(jí)中的每一者產(chǎn)生的數(shù)據(jù)存儲(chǔ)在 片上圖形存儲(chǔ)器上的所述共享數(shù)據(jù)信道中。11. 根據(jù)權(quán)利要求10所述的設(shè)備,其中所述GHJ經(jīng)進(jìn)一步配置以: 分配所述GPU的片上圖形存儲(chǔ)器中由所述圖形處理管線的第二至少兩個(gè)級(jí)共享的第二 共享數(shù)據(jù)信道,其中所述共享數(shù)據(jù)信道為第一共享數(shù)據(jù)信道; 在所述GRJ中的所述著色器單元上執(zhí)行所述圖形處理管線的所述第二至少兩個(gè)級(jí);及 將由所述著色器單元上執(zhí)行的所述圖形處理管線的所述第二至少兩個(gè)級(jí)中的每一者 產(chǎn)生的第二數(shù)據(jù)存儲(chǔ)在所述第二共享數(shù)據(jù)信道中。12. 根據(jù)權(quán)利要求11所述的設(shè)備,其中所述GRJ經(jīng)進(jìn)一步配置以: 至少部分地基于所述第一共享數(shù)據(jù)信道或所述第二共享數(shù)據(jù)信道的狀態(tài)調(diào)度所述著 色器單元上的所述圖形處理管線的一個(gè)或多個(gè)級(jí)的執(zhí)行,使得數(shù)據(jù)在所述第一共享數(shù)據(jù)信 道或所述第二共享數(shù)據(jù)信道中可用以由所述圖形處理管線的所述一個(gè)或多個(gè)級(jí)消耗,且自 由空間在所述第一共享數(shù)據(jù)信道或所述第二共享數(shù)據(jù)信道中可用以存儲(chǔ)由所述著色器單 元上執(zhí)行的所述圖形處理管線的所述一個(gè)或多個(gè)級(jí)產(chǎn)生的數(shù)據(jù)。13. 根據(jù)權(quán)利要求11所述的設(shè)備,其中,所述第一共享數(shù)據(jù)信道在高速緩存模式下操作 以高速緩存存儲(chǔ)于所述第一共享數(shù)據(jù)信道中的數(shù)據(jù),且所述第二共享數(shù)據(jù)信道在先進(jìn)先出 FIFO模式下操作。14. 根據(jù)權(quán)利要求11所述的設(shè)備,其中所述第一共享數(shù)據(jù)信道為第一環(huán)形緩沖器,且所 述第二共享數(shù)據(jù)信道為第二環(huán)形緩沖器。15. 根據(jù)權(quán)利要求11所述的設(shè)備,其中存儲(chǔ)于所述第一共享數(shù)據(jù)信道中的所述數(shù)據(jù)包 含由所述著色器單元上執(zhí)行的所述圖形處理管線的所述至少兩個(gè)級(jí)產(chǎn)生的頂點(diǎn)數(shù)據(jù),且存 儲(chǔ)于所述第二共享數(shù)據(jù)信道中的所述第二數(shù)據(jù)包含由所述著色器單元上執(zhí)行的所述圖形 處理管線的所述第二至少兩個(gè)級(jí)產(chǎn)生的圖元。16. 根據(jù)權(quán)利要求11所述的設(shè)備,其中所述GRJ經(jīng)進(jìn)一步配置以: 保留所述第一共享數(shù)據(jù)信道和所述第二共享數(shù)據(jù)信道中的至少一者中的自由空間以 防止所述第一共享數(shù)據(jù)信道與所述第二共享數(shù)據(jù)信道之間的死鎖。17. -種設(shè)備,其包括: 用于分配圖形處理單元GPU的片上圖形存儲(chǔ)器中由圖形處理管線的至少兩個(gè)級(jí)共享的 共享數(shù)據(jù)信道的裝置; 用于執(zhí)行所述圖形處理管線的所述至少兩個(gè)級(jí)的裝置;及 用于將由所述圖形處理管線的所述至少兩個(gè)級(jí)中的每一者的執(zhí)行產(chǎn)生的數(shù)據(jù)存儲(chǔ)在 片上圖形存儲(chǔ)器中的所述共享數(shù)據(jù)信道中的裝置。18. 根據(jù)權(quán)利要求17所述的設(shè)備,其進(jìn)一步包括: 用于分配所述GPU的片上圖形存儲(chǔ)器中由所述圖形處理管線的第二至少兩個(gè)級(jí)共享的 第二共享數(shù)據(jù)信道的裝置,其中所述共享數(shù)據(jù)信道為第一共享數(shù)據(jù)信道; 用于執(zhí)行所述圖形處理管線的所述第二至少兩個(gè)的裝置;及 用于將由所述圖形處理管線的所述第二至少兩個(gè)級(jí)中的每一者的執(zhí)行產(chǎn)生的第二數(shù) 據(jù)存儲(chǔ)在所述第二共享數(shù)據(jù)信道中的裝置。19. 根據(jù)權(quán)利要求18所述的設(shè)備,其進(jìn)一步包括: 用于至少部分地基于所述第一共享數(shù)據(jù)信道或所述第二共享數(shù)據(jù)信道的狀態(tài)調(diào)度所 述圖形處理管線的一個(gè)或多個(gè)級(jí)的執(zhí)行的裝置,使得數(shù)據(jù)在所述第一共享數(shù)據(jù)信道或所述 第二共享數(shù)據(jù)信道中可用以由所述圖形處理管線的所述一個(gè)或多個(gè)級(jí)消耗,且自由空間在 所述第一共享數(shù)據(jù)信道或所述第二共享數(shù)據(jù)信道中可用以存儲(chǔ)由所述圖形處理管線的所 述一個(gè)或多個(gè)級(jí)產(chǎn)生的數(shù)據(jù)。20. 根據(jù)權(quán)利要求18所述的設(shè)備,其中,所述第一共享數(shù)據(jù)信道在高速緩存模式下操作 以高速緩存存儲(chǔ)于所述第一共享數(shù)據(jù)信道中的數(shù)據(jù),且所述第二共享數(shù)據(jù)信道在先進(jìn)先出 FIFO模式下操作。21. 根據(jù)權(quán)利要求18所述的設(shè)備,其中所述第一共享數(shù)據(jù)信道為第一環(huán)形緩沖器,且所 述第二共享數(shù)據(jù)信道為第二環(huán)形緩沖器。22. 根據(jù)權(quán)利要求18所述的設(shè)備,其中存儲(chǔ)于所述第一共享數(shù)據(jù)信道中的所述數(shù)據(jù)包 含由所述圖形處理管線的所述至少兩個(gè)級(jí)產(chǎn)生的頂點(diǎn)數(shù)據(jù),且存儲(chǔ)于所述第二共享數(shù)據(jù)信 道中的所述第二數(shù)據(jù)包含由所述圖形處理管線的所述第二至少兩個(gè)級(jí)產(chǎn)生的圖元。23. 根據(jù)權(quán)利要求18所述的設(shè)備,其進(jìn)一步包括: 用于保留所述第一共享數(shù)據(jù)信道和所述第二共享數(shù)據(jù)信道中的至少一者中的自由空 間的裝置以防止所述第一共享數(shù)據(jù)信道與所述第二共享數(shù)據(jù)信道之間的死鎖。24. -種存儲(chǔ)指令的計(jì)算機(jī)可讀存儲(chǔ)媒體,所述指令在被執(zhí)行時(shí)致使一或多個(gè)可編程 處理器進(jìn)行以下操作: 分配片上圖形存儲(chǔ)器中由圖形處理管線的至少兩個(gè)級(jí)共享的共享數(shù)據(jù)信道; 在著色器單元上執(zhí)行所述圖形處理管線的所述至少兩個(gè)級(jí);及 將由所述著色器單元上執(zhí)行的所述圖形處理管線的所述至少兩個(gè)級(jí)中的每一者產(chǎn)生 的數(shù)據(jù)存儲(chǔ)在片上圖形存儲(chǔ)器上的所述共享數(shù)據(jù)信道中。25. 根據(jù)權(quán)利要求24所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述指令在執(zhí)行時(shí)進(jìn)一步致使 所述一或多個(gè)可編程處理器進(jìn)行以下操作: 分配片上圖形存儲(chǔ)器中由所述圖形處理管線的第二至少兩個(gè)級(jí)共享的第二共享數(shù)據(jù) 信道,其中所述共享數(shù)據(jù)信道為第一共享數(shù)據(jù)信道; 在所述著色器單元上執(zhí)行所述圖形處理管線的所述第二至少兩個(gè)級(jí);及 將由所述著色器單元上執(zhí)行的所述圖形處理管線的所述第二至少兩個(gè)級(jí)中的每一者 產(chǎn)生的第二數(shù)據(jù)存儲(chǔ)在所述第二共享數(shù)據(jù)信道中。26. 根據(jù)權(quán)利要求25所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述指令在執(zhí)行時(shí)進(jìn)一步致使 所述一或多個(gè)可編程處理器進(jìn)行以下操作: 至少部分地基于所述第一共享數(shù)據(jù)信道或所述第二共享數(shù)據(jù)信道的狀態(tài)調(diào)度所述著 色器單元上的所述圖形處理管線的一個(gè)或多個(gè)級(jí)的執(zhí)行,使得數(shù)據(jù)在所述第一共享數(shù)據(jù)信 道或所述第二共享數(shù)據(jù)信道中可用以由所述著色器單元上執(zhí)行的所述圖形處理管線的所 述一個(gè)或多個(gè)級(jí)消耗,且自由空間在所述第一共享數(shù)據(jù)信道或所述第二共享數(shù)據(jù)信道中可 用以存儲(chǔ)由所述著色器單元上執(zhí)行的所述圖形處理管線的所述一個(gè)或多個(gè)級(jí)產(chǎn)生的數(shù)據(jù)。27. 根據(jù)權(quán)利要求25所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中,所述第一共享數(shù)據(jù)信道在高速 緩存模式下操作以高速緩存存儲(chǔ)于所述第一共享數(shù)據(jù)信道中的數(shù)據(jù),且所述第二共享數(shù)據(jù) 信道在先進(jìn)先出FIFO模式下操作。28. 根據(jù)權(quán)利要求25所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述第一共享數(shù)據(jù)信道為第一 環(huán)形緩沖器,且所述第二共享數(shù)據(jù)信道為第二環(huán)形緩沖器。29. 根據(jù)權(quán)利要求25所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中存儲(chǔ)于所述第一共享數(shù)據(jù)信道 中的所述數(shù)據(jù)包含由所述著色器單元上執(zhí)行的所述圖形處理管線的所述至少兩個(gè)級(jí)產(chǎn)生 的頂點(diǎn)數(shù)據(jù),且存儲(chǔ)于所述第二共享數(shù)據(jù)信道中的所述第二數(shù)據(jù)包含由所述著色器單元上 執(zhí)行的所述圖形處理管線的所述第二至少兩個(gè)級(jí)產(chǎn)生的圖元。30. 根據(jù)權(quán)利要求25所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述指令在執(zhí)行時(shí)進(jìn)一步致使 所述一或多個(gè)可編程處理器進(jìn)行以下操作: 保留所述第一共享數(shù)據(jù)信道和所述第二共享數(shù)據(jù)信道中的至少一者中的自由空間以 防止所述第一共享數(shù)據(jù)信道與所述第二共享數(shù)據(jù)信道之間的死鎖。
【文檔編號(hào)】G06T15/00GK106030663SQ201580008868
【公開日】2016年10月12日
【申請(qǐng)日】2015年1月26日
【發(fā)明人】梅春惠, 維尼特·戈?duì)? 金東炫
【申請(qǐng)人】高通股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1