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

映射多速率著色到單片程序的制作方法

文檔序號:9261764閱讀:637來源:國知局
映射多速率著色到單片程序的制作方法
【專利說明】映射多速率著色到單片程序
【背景技術(shù)】
[0001] 3D管線中的功率消耗的很大一部分是由于像素著色。特別是在手持設(shè)備中,更高 的顯示分辨率和圖形質(zhì)量與最小化功率耗散的需求不一致。因此,更有效地運(yùn)行像素著色 器將尤其有利。
[0002] 粗像素著色利用如下事實(shí);與表面著色相比,幾何遮蔽(occlusion)通常引入更 高頻率細(xì)節(jié),并且W比可見性測試更低的速率執(zhí)行著色。粗像素著色很適合高像素密度顯 示,其中減小著色速率的效果從正常的觀看距離幾乎不可辨別??蒞在對用戶而言模糊的 或者W其它方式不太可感知的屏幕區(qū)域中進(jìn)一步降低著色速率,例如受運(yùn)動(dòng)或散焦模糊影 響的區(qū)域,或者在用戶的中央窩視覺之外的區(qū)域。
[0003] 在著色器W每像素或者每樣本速率執(zhí)行的當(dāng)前圖形架構(gòu)上,難于利用該些機(jī)會(huì)。 通過改變帖緩沖器分辨率,可W粗趟地控制著色速率,但是該不允許著色速率更細(xì)粒度的 變化,例如仍然禪合到可見性采樣速率的每對象、每=角形、或者每圖像區(qū)域。
[0004] 粗像素著色(CP巧是用于在保持可見性采樣速率恒定的同時(shí)改變光柵化管線中 的著色速率的架構(gòu)。
[0005] 已經(jīng)提出了通過W比可見性采樣速率更低的速率對著色進(jìn)行采樣來改善著色效 率的許多方法。多重采樣抗銀齒(MSAA)是經(jīng)常由圖形處理器硬件支持的一種該樣的技術(shù)。 利用MSAA,每像素地存儲多個(gè)覆蓋樣本(也被稱為可見性樣本),但是針對由基元覆蓋的每 一個(gè)像素,僅執(zhí)行一次像素著色器。該與超采樣形成對比,在超采樣中,每被覆蓋的樣本執(zhí) 行一次著色器。
【附圖說明】
[0006] 關(guān)于W下附圖描述了一些實(shí)施例:
[0007] 圖1描繪了根據(jù)一個(gè)實(shí)施例的粗四元組像素布局及其4寬度SIMD執(zhí)行序列; [000引圖2描繪了根據(jù)一個(gè)實(shí)施例的另一粗像素布局及其4寬度SIMD執(zhí)行序列;
[0009] 圖3A是根據(jù)一個(gè)實(shí)施例用于內(nèi)核處理粗速率著色和像素速率著色的流程圖;
[0010] 圖3B是根據(jù)一個(gè)實(shí)施例用于固定功能加速器的流程圖;
[0011] 圖4是后光柵化級的管線抽象;
[0012] 圖5描繪了用于粗像素著色的一部分圖形管線;
[001引圖6描繪了利用在4寬度SIMD處理器上的單個(gè)線程中調(diào)度的粗像素四元組的多 速率著色;
[0014] 圖7是根據(jù)一個(gè)實(shí)施例的數(shù)據(jù)處理系統(tǒng)的框圖;
[0015] 圖8是根據(jù)一個(gè)實(shí)施例在圖7中示出的處理器的框圖;
[0016] 圖9是根據(jù)一個(gè)實(shí)施例的圖7的圖形處理器的框圖。
[0017] 圖10是根據(jù)一個(gè)實(shí)施例的圖形處理引擎的框圖;
[0018] 圖11是根據(jù)另一實(shí)施例的圖形處理器的框圖;
[0019] 圖12說明了用于一個(gè)實(shí)施例的線程執(zhí)行邏輯;
[0020] 圖13是根據(jù)一個(gè)實(shí)施例的圖形處理器執(zhí)行單元指令格式的框圖;W及
[0021] 圖14是用于一個(gè)實(shí)施例的圖形軟件架構(gòu)。
【具體實(shí)施方式】
[0022] 在粗像素著色(CP巧中,W去禪合的方式對著色和可見性進(jìn)行采樣。像素著色在 圖像空間著色網(wǎng)格上被怠惰地評估并且被暫時(shí)存儲在記憶高速緩存中W重用于規(guī)則的或 者隨機(jī)的光柵化(SR)。在另一粗像素采樣方案中,在優(yōu)化的雷耶斯架構(gòu)中在參數(shù)塊空間中 對著色進(jìn)行均勻采樣。該些技術(shù)允許具有任意柵格間距的著色網(wǎng)格,該在一些實(shí)施例中使 能著色速率的更靈活的控制。
[0023] 在一些實(shí)施例中,在多速率著色中,將粗速率著色階段添加到現(xiàn)有的像素速率階 段的頂部W便顯著地改善性能,同時(shí)對圖像質(zhì)量具有最小影響。可W將W不同的速率評估 的兩個(gè)著色階段映射到在處理器圖形單指令多數(shù)據(jù)(SIMD)引擎上運(yùn)行的一個(gè)單片程序。 單片程序是單層軟件,該單層軟件的執(zhí)行不依賴于另一個(gè)程序。在一個(gè)實(shí)施例中,多速率 著色允許單個(gè)擅染通路(pass)W-個(gè)或多個(gè)不同的速率執(zhí)行著色代碼:每像素組、每像 素、W及每樣本。
[0024] 新的匯編指令(到固定功能硬件加速器的接口)使程序執(zhí)行能夠從粗速率快速切 換到在SIMD機(jī)器上運(yùn)行的相同內(nèi)核程序內(nèi)的像素速率。
[0025] 在一些實(shí)施例中,新的固定功能邏輯加速了粗到像素映射,與管理單獨(dú)程序所要 求的邏輯相比,該新的固定功能邏輯具有低得多的復(fù)雜性/成本。同時(shí),使用新邏輯的軟件 開銷最?。灰蚨?,在一些實(shí)施例中,其不妨礙單片程序的性能。
[0026] 圖1說明了針對粗像素的不同布局映射到一個(gè)SIMD程序的1x2像素的粗像素四 元組布局的多速率著色器執(zhí)行的示例。粗像素是共享單個(gè)粗像素著色器評估的結(jié)果的像素 組。圖2說明了針對2x2粗像素四元組布局的多速率著色器執(zhí)行的示例。為了簡單起見, 上述圖僅示出了一個(gè)4寬度SIMD四元組,但是該一解決方案適用于映射到更寬SIMD機(jī)器 的任何數(shù)量的四元組。數(shù)字(〇、1、2、3)表示粗像素,而大寫字母(A、B、0,)表示像素。每 一幅圖的左側(cè)說明了像素在光柵化之后的2維視圖,其中顏色較淺的文本中的數(shù)字/字母 表示未點(diǎn)亮的像素。右側(cè)示出了在SIMD機(jī)器上在單片程序中階段的執(zhí)行順序。
[0027] 在第一階段粗階段")中,所有四個(gè)SIMD通道執(zhí)行針對粗像素四元組的粗速率 指令。在下一個(gè)階段(像素階段# 1)中,相同的SIMD通道用于執(zhí)行由粗四元組覆蓋的像 素四元組的隨后組。像素著色器四元組及其到粗像素的映射的集合取決于粗像素布局(例 如,Ixl、lx2、2xl、2x2、2x4、4x2、4x4)和光柵化掩碼(一些四元組可能完全未被點(diǎn)亮)二者。 而且,對于每一個(gè)組,SIMD執(zhí)行掩碼可W都不相同。
[0028] 在第一階段中,前S個(gè)像素點(diǎn)亮并且第四個(gè)像素未點(diǎn)亮,執(zhí)行掩碼是(1、1、1、0), 使得不執(zhí)行未點(diǎn)亮的像素。針對階段# 1的粗到像素映射是(〇、1、〇、1),或者粗像素0映 射到像素A、粗像素1映射到像素B、像素C也映射到粗像素0并且像素D映射到粗像素1。 對于階段# 2,粗到像素映射是2、3、2、3。所有該些條信息在著色器編譯時(shí)都是未知的,如 果在使用現(xiàn)有的匯編指令集的軟件中實(shí)現(xiàn)粗到像素轉(zhuǎn)換,則該將導(dǎo)致顯著的軟件開銷。
[0029] 圖1和圖2中右側(cè)的執(zhí)行序列說明了使用新的匯編指令的單片程序(粗到像素速 率切換)W減小與階段轉(zhuǎn)換相關(guān)聯(lián)的軟件開銷。該新的指令將pixelgroup_id作為輸入, 并且針對每一個(gè)像素組,其返回:
[0030]pixel_mask-指示在每一個(gè)組中哪些像素被點(diǎn)亮
[00扣pixel_to_coarse_mapping-指示針對每一個(gè)像素的父粗像素,
[0032](用于調(diào)和來自粗階段輸出的階段間數(shù)據(jù)),
[003引pixel_rate_ba巧-用于評估輸入屬性的質(zhì)屯、空間中的像素位置
[0034] next_group_id-要處理的下一個(gè)像素組的標(biāo)識符
[0035] 該新的指令是到固定功能硬件加速器的接口。當(dāng)要處理的像素四元組的數(shù)量隨著 粗四元組布局和光柵化掩碼變化時(shí),加速器確定粗四元組到像素四元組的2維映射并且管 理該一映射的其可變擴(kuò)展。具體地說,如果全部像素未被點(diǎn)亮,則加速器抑制整個(gè)四元組。 利用該一方案,單片著色器程序從特定的粗四元組布局和映射進(jìn)行抽象,并且處理回路中 的像素組,直到硬件加速器通知處理完成(next_group_id= 0)。
[0036]
[0037]
[0038] 根據(jù)一些實(shí)施例,單個(gè)內(nèi)核運(yùn)行針對粗速率著色和像素速率著色二者的程序。在 一些實(shí)施例中,可W使用SIMD機(jī)器,在該SIMD機(jī)器中,相同的通道用于粗四元組和由該粗 四元組覆蓋的像素四元組。
[0039] 圖3A中示出的序列可W在軟件、固件和/或硬件中實(shí)現(xiàn)。在軟件和固件實(shí)施例中, 它可W由存儲在諸如磁性的、光學(xué)的或者半導(dǎo)體存儲裝置的一個(gè)或多個(gè)非暫態(tài)計(jì)算機(jī)可讀 介質(zhì)中的計(jì)算機(jī)執(zhí)行指令實(shí)現(xiàn)。
[0040] 對于圖3A中的序列,如在框10中指示的,針對所有的組或四元組實(shí)現(xiàn)粗階段。其 后是在框12中,使用粗到像素映射和執(zhí)行掩碼來針對每一個(gè)組實(shí)現(xiàn)像素階段,使得相同的 SIMD通道能夠用于執(zhí)行粗四元組和由該粗四元組覆蓋的像素四元組二者。
[0041] 接著,該序列接收像素組標(biāo)識符(pixel group_id)(框14) W標(biāo)識諸如四元組的 特定像素組?;谟稍趫D3B中描繪的固定功能加速器確定的像素點(diǎn)亮掩碼來針對當(dāng)前的 像素組設(shè)置執(zhí)行掩碼(框16)。接著,如在框18中指示的,粗到像素映射用于在相對應(yīng)的粗 階段和像素階段之間傳遞用戶定義的級間數(shù)據(jù)。在框20,確定每像素輸入屬性值并且針對 每一個(gè)組執(zhí)行像素速率著色階段。在框22,識別要處理的下一個(gè)組。
[0042] 根據(jù)一些實(shí)施例,可W在軟件、固件和/或硬件中實(shí)現(xiàn)固定功能加速器。在軟件和 固件實(shí)施例中,可W通過存儲在諸如磁性的、光學(xué)的或半導(dǎo)體存儲裝置的一個(gè)或多個(gè)非暫 態(tài)計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)可讀指令來實(shí)現(xiàn)加速器。
[004引如在圖3B中示出的,序列30可W開始于接收新像素組的標(biāo)識符,如在框32中指 示的。它確定二維粗到像素映射。在該基礎(chǔ)上,它確定新像素組、管理可變的擴(kuò)展和抑制。 如在框34中指示的,針對該四元組確定點(diǎn)亮哪些像素。接著,在框36中,針對該組定義粗 到像素映射并且確定像素位置和質(zhì)屯、形狀。如在框38中指示的,可W確定粗像素到像素四 元組的2D映射。接著,如在框40中指示的,管理該映射的可變擴(kuò)展。最后,如在框42中指 示的,如果所有像素都未被點(diǎn)亮,則抑制整個(gè)四元組。當(dāng)接收到新的像素組時(shí),該流程繼續(xù) 循環(huán)。加速器返回該新的像素組、它們的執(zhí)行掩碼(圖3A的框16) W及針對該一組的粗到 像素映射(圖3A的框18)。
[0044] 在一個(gè)實(shí)施例中,軟件(SIMD程序)和硬件(固定功能加速器)之間的唯一接口 和功能劃分能夠?qū)崿F(xiàn)多速率著色階段到一個(gè)單片SIMD程序的有效映射。在一個(gè)實(shí)施例中, 該一方案顯著降低了硬件復(fù)雜性(邏輯、緩沖)并且不影響性能。
[004引為了允許W低于每像素一次的速率進(jìn)行著色,引入了粗像素(C巧的概
當(dāng)前第1頁1 2 3 4 5 6 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1