欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

平鋪式預(yù)取和高速緩沖存儲的深度緩沖器的制作方法

文檔序號:6567458閱讀:205來源:國知局
專利名稱:平鋪式預(yù)取和高速緩沖存儲的深度緩沖器的制作方法
技術(shù)領(lǐng)域
本發(fā)明大體上涉及圖形處理器,且更特定來說本發(fā)明涉及包含在圖形處理器中的3D 圖形管線。
背景技術(shù)
已利用圖形引擎在固定的顯示裝置(例如計(jì)算機(jī)和電視機(jī)屏幕)上顯示三維(3D) 圖像。這些引擎通常包含在由常規(guī)交流電源插座供電的桌面系統(tǒng)中,且因此不會顯著受 到功率消耗限制的約束。然而目前的趨勢是將3D圖形引擎并入到電池供電的手持裝置 中。此類裝置的實(shí)例包含移動電話和個(gè)人數(shù)字助理(PDA)。然而不幸的是,常規(guī)圖形引 擎消耗大量的功率且因此不能良好地適用于這些低功率操作環(huán)境。
圖l是包含在常規(guī)3D圖形引擎中的基本Open GL光柵化管線的示意性框圖。如圖 示,此實(shí)例的光柵化管線包含三角形設(shè)置級101、像素遮影級102、紋理映射級103、紋 理混合級104、剪切測試級105、 alpha測試級106、模板測試級107、隱藏表面去除(HSR) 級108、 alpha混合級109以及邏輯操作級110。
在3D圖形系統(tǒng)中,要顯示的每一對象通常被劃分為由頂點(diǎn)信息界定的表面三角形, 但也可利用其它圖元形狀。而且通常,圖形管線經(jīng)設(shè)計(jì)以處理對象或圖像的連續(xù)成批的 三角形。任一給定批次的三角形可能與另一批次的三角形在視覺上重疊,且給定批次內(nèi) 的三角形也可能彼此重疊。
參看圖1,三角形設(shè)置級101通過計(jì)算在稍后管線級執(zhí)行的計(jì)算中將使用的設(shè)置系 數(shù)來"設(shè)置"每一三角形。
像素遮影級102使用設(shè)置系數(shù)來計(jì)算每個(gè)三角形涵蓋哪些像素。由于三角形可能彼 此重疊,因此具有不同深度的多個(gè)像素可能位于屏幕顯示上的同一點(diǎn)處。特定來說,像 素遮影級101使用頂點(diǎn)信息對每一像素插入顏色、模糊度、深度值、紋理坐標(biāo)、alpha值 等??刹捎枚喾N遮影技術(shù)中的任一種來實(shí)現(xiàn)此目的,且遮影操作可基于每個(gè)三角形或每 個(gè)像素而發(fā)生。
紋理映射級103和紋理混合級104用以將紋理添加和混合到三角形處理批次中的每 一像素內(nèi)。非常概括地,這是通過根據(jù)包含在頂點(diǎn)信息內(nèi)的紋理坐標(biāo)將預(yù)定義紋理映射 到像素上來完成的。和遮影的情況一樣,可采用多種技術(shù)來實(shí)現(xiàn)紋理化。而且,也可實(shí)
施已知為模糊度處理的技術(shù)。
剪切測試級105用以丟棄包含在落在經(jīng)顯示場景的視場外的三角形部分(片段)中 的像素。通常,這是通過確定像素是否位于所謂的剪切矩形內(nèi)來完成的。
Alpha測試單元106基于與三角形的片段(更準(zhǔn)確地說,包含在片段中的像素)相關(guān) 聯(lián)的alpha值(透明度值)與參考alpha值之間的比較而有條件地丟棄所述片段。類似地, 模板測試基于每一片段與存儲的模板值之間的比較而有條件地丟棄片段。
HSR級108 (也稱為深度測試級)基于具有相同顯示位置的其它像素的深度值而丟 棄包含在三角形片段中的像素。通常,這是通過將正經(jīng)受深度測試的像素的z軸值(深 度值)與存儲在所謂z緩沖器(或深度緩沖器)的相應(yīng)位置中的z軸值相比較來完成的。 在經(jīng)測試像素的z軸值指示該像素將被z軸值存儲在z緩沖器中的另一像素阻擋而看不 見時(shí)丟棄所述經(jīng)測試像素。另一方面,在經(jīng)測試像素將不被阻擋而看不見的情況下用經(jīng) 測試像素的z軸值覆寫z緩沖器值。在所述方式中,丟棄被阻擋而看不見的下層像素, 而保留上覆像素。
alpha混合級109基于alpha值將經(jīng)渲染像素與顏色緩沖器中先前存儲的像素組合,
以實(shí)現(xiàn)對象的透明度。
邏輯操作單元110 —般地表示用于最終獲得像素顯示數(shù)據(jù)的其余雜項(xiàng)管線處理。
在任何圖形系統(tǒng)中,期望盡可能地節(jié)省處理器和存儲器帶寬,同時(shí)維持滿意的性能。
在帶寬可能受限的便攜式或手持裝置的情況下尤其如此。而且,如先前說明,行業(yè)中尤
其需要在處理3D圖形以用于在便攜式或手持裝置上顯示時(shí)最小化功率消耗并提高帶寬效率。

發(fā)明內(nèi)容
根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供一種圖形處理器,其包含光柵化管線,所述光 柵化管線包含多個(gè)連續(xù)布置的處理級,所述處理級從輸入圖元對象數(shù)據(jù)渲染出顯示像素 數(shù)據(jù)。所述處理器進(jìn)一步包含存儲器,其存儲由所述光柵化管線的處理級中的至少一者 利用的數(shù)據(jù),且還包含預(yù)取機(jī)制,其在經(jīng)處理像素到達(dá)所述至少一個(gè)處理級之前檢索由 所述至少一個(gè)處理級利用的關(guān)于所述經(jīng)處理像素的數(shù)據(jù)。
根據(jù)本發(fā)明實(shí)施例的又一方面,提供一種圖形處理器,其包含光柵化管線,所述光 柵化管線包含多個(gè)連續(xù)布置的處理級,所述處理級從輸入圖元對象數(shù)據(jù)渲染出顯示像素
數(shù)據(jù),其中所述處理級包含隱藏表面去除(HSR)級。所述處理器進(jìn)一步包含深度緩 沖器,其存儲先前渲染的像素的深度值;存儲器控制器,其檢索所述先前渲染的像素的深度值;以及高速緩沖存儲器,其耦合到所述管線的HSR級且存儲由存儲器控制器檢索 的深度值。
根據(jù)本發(fā)明實(shí)施例的又一方面,提供一種圖形處理器,其包含光柵化管線,所述光 柵化管線包含多個(gè)連續(xù)布置的處理級,所述處理級從輸入圖元對象數(shù)據(jù)渲染出顯示像素 數(shù)據(jù),其中處理級包含隱藏表面去除(HSR)級。所述處理器進(jìn)一步包含深度緩沖器, 其存儲二維像素塊的深度值;塊地址生成器,其產(chǎn)生包含經(jīng)處理像素的二維像素塊的塊 地址;高速緩沖存儲器,其耦合到所述光柵化處理器的HSR級;以及存儲器控制器,其 響應(yīng)于所述塊地址而從深度緩沖器中檢索所述二維像素塊的深度值,并將所述深度值存 儲在所述高速緩沖存儲器中。
根據(jù)本發(fā)明實(shí)施例的又一方面,提供一種圖形處理器,其包含光柵化管線,所述光柵化管線包含多個(gè)連續(xù)布置的處理級,所述處理級從輸入圖元對象數(shù)據(jù)渲染出顯示像素?cái)?shù)據(jù);以及用于從主存儲器預(yù)取數(shù)據(jù)并在像素?cái)?shù)據(jù)通過所述光柵化管線到達(dá)所述處理 級中的至少一者之前將所述數(shù)據(jù)供應(yīng)到所述至少一個(gè)處理級的裝置。
根據(jù)本發(fā)明實(shí)施例的又一方面,提供一種圖形處理器,其包含光柵化管線,所述光 柵化管線包含多個(gè)連續(xù)布置的處理級,所述處理級從輸入圖元對象數(shù)據(jù)渲染出顯示像素 數(shù)據(jù),其中處理級包含隱藏表面去除(HSR)級。所述處理器進(jìn)一步包含分級深度緩 沖器,其存儲二維像素塊的深度值;隨機(jī)存取存儲器,其耦合到所述HSR級且存儲所述 二維像素塊的深度值的最大深度值和最小深度值;塊地址生成器,其產(chǎn)生包含經(jīng)處理像 素的二維像素塊的塊地址;高速緩沖存儲器,其耦合到所述光柵化處理器的HSR級;以 及存儲器控制器,其響應(yīng)于所述塊地址而從深度緩沖器中檢索所述二維像素塊的深度值, 并將所述深度值存儲在所述高速緩沖存儲器中。
根據(jù)本發(fā)明實(shí)施例的又一方面,提供一種圖形處理器,其包含光柵化管線,所述光 柵化管線包含多個(gè)連續(xù)布置的處理級,所述處理級從輸入圖元對象數(shù)據(jù)渲染出顯示像素 數(shù)據(jù),其中所述處理級包含隱藏表面去除(HSR)級。所述處理器進(jìn)一步包含深度緩沖 器,所述深度緩沖器包含與由所述光柵化管線渲染的像素?cái)?shù)據(jù)相關(guān)聯(lián)的深度值數(shù)據(jù)的二 維塊,其中所述圖元對象數(shù)據(jù)指示圖元形狀,且其中二維塊的深度值數(shù)據(jù)在所述二維塊 完全包含在含有經(jīng)處理像素的圖元形狀內(nèi)的情況下被壓縮。
根據(jù)本發(fā)明實(shí)施例的又一方面,提供一種圖形處理方法,其包含將圖元對象數(shù)據(jù)供應(yīng)到光柵化管線,所述光柵化管線包含多個(gè)連續(xù)布置的處理級,所述處理級從輸入圖元對象數(shù)據(jù)渲染出顯示像素?cái)?shù)據(jù);將由所述光柵化管線的處理級中的至少一者利用的數(shù)據(jù)存儲在存儲器中;以及在所述經(jīng)處理像素到達(dá)所述至少一個(gè)處理級之前從所述存儲器 預(yù)取由所述至少一個(gè)處理級利用的關(guān)于經(jīng)處理像素的數(shù)據(jù)。
根據(jù)本發(fā)明實(shí)施例的又一方面,提供一種圖形處理方法,其包括將圖元對象數(shù)據(jù) 供應(yīng)到光柵化管線,所述光柵化管線包含多個(gè)連續(xù)布置的處理級,所述處理級從輸入圖 元對象數(shù)據(jù)渲染出顯示像素?cái)?shù)據(jù),其中所述處理級包含隱藏表面去除(HSR)級;以及 選擇性壓縮深度緩沖器中的深度值數(shù)據(jù)的二維塊。所述圖元對象數(shù)據(jù)指示圖元形狀,且 二維塊的深度值數(shù)據(jù)在所述二維塊完全包含在含有經(jīng)處理像素的圖元形狀內(nèi)時(shí)被壓縮。


參看附圖,從隨后的具體實(shí)施方式
將容易明了所揭示實(shí)施例的以上和其它方面,附 圖中
圖1是包含在3D圖形引擎中的基本OpenGL光柵化管線的實(shí)例的示意性框圖 圖2說明根據(jù)本發(fā)明實(shí)施例的圖形管線的電路塊配置的簡化實(shí)例; 圖3是用于解釋根據(jù)本發(fā)明另一實(shí)施例對像素塊的預(yù)測性預(yù)取的視圖; 圖4說明根據(jù)本發(fā)明另一實(shí)施例的圖形管線的電路塊配置的簡化實(shí)例; 圖5說明本發(fā)明另一實(shí)施例的框圖,其中預(yù)測性預(yù)取像素塊的z值并將其存儲在高 速緩沖存儲器中;
圖6說明用于解釋圖5說明的深度高速緩沖存儲器的操作的框圖;以及 圖7是用于根據(jù)本發(fā)明實(shí)施例解釋作為z壓縮的候選的像素塊的視圖。
具體實(shí)施例方式
本文的一些實(shí)施例的特征至少部分在于一種3D圖形管線,其包含對深度像素塊 (tile)的高速緩沖存儲器進(jìn)行饋送的預(yù)取機(jī)制。所述預(yù)取機(jī)制可為預(yù)測性的,其使用來 自先前管線級的三角形幾何信息來預(yù)裝填高速緩沖存儲器,因而實(shí)現(xiàn)存儲器帶寬效率的 增加。
其它實(shí)施例的特征至少部分在于一種z值壓縮技術(shù),其實(shí)現(xiàn)功率消耗和存儲器帶寬 的減少。
現(xiàn)在將描述若干優(yōu)選但不是限制性的實(shí)施例。
3D圖形管線的三角形設(shè)置塊的前面可以是本文提到的命令塊。命令塊含有關(guān)于每個(gè) 三角形的所有相關(guān)數(shù)據(jù),包含像素屏幕位置信息。根據(jù)本發(fā)明的實(shí)施例,像素屏幕位置 數(shù)據(jù)被向前饋送到管線中且由稍后管線級使用以計(jì)算像素處理所需要的數(shù)據(jù)的地址。到 像素到達(dá)給定級時(shí),與所述級相關(guān)聯(lián)的值將已經(jīng)在高速緩沖存儲器中,因此實(shí)現(xiàn)帶寬效
率的改進(jìn)。
圖2是說明本發(fā)明實(shí)施例的簡化框圖。3D圖形管線被描繪為具有命令塊200和第一 到第n管線塊201a.,.201n。管線塊中的至少一者可操作地配備有高速緩沖存儲器 202a…202d。通過預(yù)先將地址信息轉(zhuǎn)發(fā)到管線級1、 2、 n-l和/或n,可能在經(jīng)處理像素 到達(dá)管線級之前從主存儲器中檢索相關(guān)數(shù)據(jù)。以此方式,增加了存儲器吞吐量。
而且,在替代實(shí)施例中,預(yù)取機(jī)制伴隨有預(yù)測機(jī)制以進(jìn)一步提高存儲器效率。這在 稍后參看圖3進(jìn)行描述,圖3涉及從深度緩沖器預(yù)測性預(yù)取z值(深度值)的實(shí)例。
三維(3D)光柵化管線利用"深度測試"來確定新處理的像素是否被先前渲染的像 素遮擋。所述機(jī)制涉及存取"深度緩沖器"(也稱為"z緩沖器"),在其中深度值(即,z 值)被存儲且在光柵化期間被檢查。本質(zhì)上將任一可見像素與觀看者的距離存儲為深度 緩沖器中的深度值。隨后,另一經(jīng)處理的像素可能嘗試占據(jù)屏幕上的同一位置。讀取先 前渲染的像素的深度值(即,在像素位置處的存儲于深度緩沖器中的深度值)并將其與 新處理的像素的值進(jìn)行比較。如果比較結(jié)果指示新像素較靠近觀看者,那么將其視為可 見,且可用新像素的深度值覆寫深度緩沖器的先前深度值。新像素進(jìn)一步由管線處理, 且最終在幀緩沖器中渲染。另一方面,如果比較結(jié)果指示新像素離觀看者較遠(yuǎn),那么認(rèn) 為其不可見,且可丟棄新像素并維持深度緩沖器的先前深度值。此過程在本文中稱為隱 藏表面去除(HSR)。
圖3說明可如何將三角形條帶映射到z值像素塊上的實(shí)例。三角形標(biāo)記為A到E, 且以該次序出現(xiàn)在管線上。像素塊標(biāo)為1-13。為了處理三角形A,需要像素塊l、 2、 3、 4、 5和8。因此,從深度緩沖器中預(yù)取像素塊1、 2、 3、 4、 5和8的z值并將其存儲在 高速緩沖存儲器中。接著,為了處理三角形B,需要像素塊4、 5、 8和9。然而,由于像 素塊4、 5和8已存儲在高速緩沖存儲器中,因此僅必須從深度緩沖器中預(yù)取像素塊9。 三角形C也類似,僅必須預(yù)取像素塊6。通過以此方式預(yù)測性高速緩沖存儲像素塊而提 高存儲器帶寬效率。
圖4是3D圖形管線的實(shí)例的框圖,其經(jīng)配置以用于預(yù)取在管線的隱藏表面去除 (HSR)塊中將利用的z值。在圖中,管線包含命令塊400、三角形設(shè)置塊401、像素遮 影塊402、 HSR塊403、紋理映射塊404以及紋理混合塊405。另外,HSR塊403具備深 度高速緩沖存儲器406且可存取深度緩沖器407。
在操作中,將深度像素塊的地址信息從命令塊400直接轉(zhuǎn)發(fā)到HSR塊403。 HSR塊 403經(jīng)配置以根據(jù)地址信息從深度緩沖器407預(yù)取深度值,并接著將深度值存儲在深度高速緩沖存儲器406中。如此,當(dāng)經(jīng)處理像素通過管線到達(dá)HSR塊403時(shí),可從高速緩 沖存儲器406中快速檢索先前渲染像素的深度值以用于HSR處理。
本發(fā)明實(shí)施例的深度緩沖器管理的預(yù)測性預(yù)取技術(shù)使其本身極度適合于使用所謂的 分級z緩沖器,接下來描述其實(shí)例。
圖5和6是說明本發(fā)明的另一實(shí)施例的功能框圖,其中圖6是用于解釋圖5說明的 深度測試塊504的操作的功能框圖。
圖5說明了命令引擎501、三角形設(shè)置塊502、像素遮影塊503、深度測試塊504 (含 有分級z緩沖器,未圖示)、存儲器系統(tǒng)505 (含有深度緩沖器)以及其余的管線塊506。
在操作中,將來自命令引擎501的三角形數(shù)據(jù)施加于三角形設(shè)置塊502。三角形設(shè) 置塊輸出相應(yīng)的深度系數(shù)、幾何數(shù)據(jù)以及屬性系數(shù),其全部被施加于像素遮影塊503。 接著,像素屬性和像素地址被像素遮影塊503連同來自命令引擎501的三角形邊界框數(shù) 據(jù)和來自三角形設(shè)置塊502的深度系數(shù)一起供應(yīng)到深度測試塊504。深度測試塊504接 著關(guān)于經(jīng)處理像素和存儲在高速緩沖存儲器(未圖示)中的深度值而執(zhí)行深度測試。優(yōu) 選地,從存儲器系統(tǒng)505預(yù)測性地檢索深度值,并在深度測試實(shí)際執(zhí)行之前將其存儲在 高速緩沖存儲器中。經(jīng)處理像素接著由于深度測試的結(jié)果而被丟棄,或以像素地址和像 素屬性的形式傳輸?shù)狡溆喙芫€塊506。
如已經(jīng)提到,圖6是用于解釋圖5說明的深度測試塊504的操作的功能框圖。如圖 6所示,此實(shí)例的深度測試塊通常包含像素塊索引預(yù)測器601、像素塊索引生成器602、 深度插值器603、像素塊測試塊604、像素測試塊607、屬性緩沖器608以及深度高速緩 沖存儲器609。
屬性緩沖器608用于在沿管線向下傳遞像素時(shí)存儲傳入像素的像素屬性。深度塊是 管線,且屬性緩沖器608匹配于所述管線。如下文將解釋,discarcLpixel信號實(shí)際上是針 對流過管線621的像素的擦除或清除信號。
像素塊索引預(yù)測器601利用邊界框信息bounding—box來預(yù)測性產(chǎn)生指示由經(jīng)處理三 角形占據(jù)的像素塊的一系列像素塊索引。如先前結(jié)合圖3所論述,通過預(yù)測性高速緩沖 存儲關(guān)于經(jīng)處理三角形的像素塊而提高存儲器帶寬效率。預(yù)取邏輯610利用來自像素塊 索引預(yù)測器601的像素塊索引來控制深度高速緩沖存儲器609的高速緩沖存儲器讀取塊 612。稍后將解釋高速緩沖存儲器讀取塊612的操作。然而,預(yù)取邏輯塊610做出對高速 緩沖存儲器讀取塊612的早期像素塊請求,使得像素測試塊(下文解釋)稍后請求的像 素更有可能存在于高速緩沖存儲器RAM中。
像素塊索引生成器602從傳入像素地址pixeLaddressjn產(chǎn)生像素塊索引信號 tilejndejn。應(yīng)注意,由于相同的像素塊索引將已經(jīng)由像素塊索引預(yù)測器601較早預(yù)測, 因此在像素塊索引預(yù)測器601與像素塊索引生成器602之間可共享邏輯。
深度插值器603使用深度系數(shù)z—coefficients和邊界框信息bounding—box來針對傳入 的像素地址pixel—addressjn實(shí)際光柵化深度值z—in。也可能包含深度插值器603作為遮 影塊的一部分(見圖5)。然而在此實(shí)例中,深度插值器603已實(shí)施在深度測試塊中,因 為相同的插值器可用于在對于任何給定像素塊僅存儲系數(shù)的情況下解壓縮z。在此方面, 應(yīng)注意深度插值器也出現(xiàn)在深度高速緩沖存儲器塊609內(nèi)。
像素塊測試塊604本質(zhì)上是分級z測試塊且配置有極限表605和可見性檢查塊606。 極限表605含有每一屏幕像素塊的最大遠(yuǎn)深度值(z值)z_maX_far和最小近深度值(z 值)z—min—near。來自像素塊索引生成器602的tile—index用作進(jìn)入極限表605的地址, 且因此,極限表605產(chǎn)生包含經(jīng)處理像素的像素塊的最小深度值z一min—near和最大深度 值z—max—far。像素塊的最小深度值z—min—near和最大深度值z—max—far接著隨zjn施 加于可見性檢查塊606。可見性檢查塊606將z—in與z—min—near和z—max—far相比較, 其中比較結(jié)果具有三種可能的結(jié)論,即,z—in比像素塊的z—max—far遠(yuǎn),zjn比像素塊 的z—min—near近,或z—in比像素塊的z—max—far近但比像素土央的z—min—near遠(yuǎn)。
在z一in比像素塊的z—max—far遠(yuǎn)的情況下,通過discard—pixel信號對屬性緩沖器608 的操作而丟棄像素。
在zjn比像素塊的z—min—near近的情況下,像素可見且必須通過啟用update _pixel 信號并將圖6中表示為update—pixel—tile—index、 update—pixel—address、 update—pixel—z禾卩 update—pixel—z—coefficients的信號傳輸?shù)礁咚倬彌_存儲器寫入塊617來更新。高速緩沖存 儲器寫入塊617包含高速緩沖存儲器標(biāo)簽管理。當(dāng)更新像素時(shí),高速緩沖存儲器寫入塊 617用以更新高速緩沖存儲器RAM 619并維持與外部存儲器系統(tǒng)620的數(shù)據(jù)一致性。而 且,當(dāng)將像素塊存儲回高速緩沖存儲器619或外部存儲器系統(tǒng)620內(nèi)時(shí),高速緩沖存儲 器寫入塊617將像素塊的深度信息pixel—z串流傳輸?shù)綐O限生成器618。
極限生成器618在像素塊被存儲到存儲器系統(tǒng)620內(nèi)時(shí)計(jì)算其z一max一far和 z_min—near。接著,啟用update—tile信號,且將信號update—tile—index、 z—max—far禾口 z—min—near傳輸?shù)较袼貕K測試塊604以便更新極限表605。
如先前提到,高速緩沖存儲器寫入塊617接收信號叩date—pixe1—tile—index 、 update—pixel—address 、 update—pixel—z 和 update—pixel—z—coefficients 。
update—pixel—tile—index信號本質(zhì)上是高速緩沖存儲器塊索引(或高速緩沖存儲器線索引)。 update_pixel—address是用于定址個(gè)別像素的高速緩沖存儲器地址。update—pixel—z 是個(gè)別像素的個(gè)別深度值(z值)。update—pixel—z—coefficients信號含有用作z壓縮技術(shù) 的一部分的系數(shù)。也就是說,深度高速緩沖存儲器609的壓縮表611跟蹤哪些像素塊僅 存儲了其系數(shù)。當(dāng)高速緩沖存儲器讀取塊612遇到此類像素塊時(shí),從高速緩沖存儲器RAM 619讀取系數(shù),并接著使其通過深度插值器616以恢復(fù)個(gè)別深度值。
在z—in比像素塊的z—max—far近但比像素塊的z—min_near遠(yuǎn)的情況下,像素在像素 塊的最小值與最大值之間。如此,通過啟用pixel一test—enable信號而執(zhí)行個(gè)別像素測試。 作為響應(yīng),由像素觀lj試塊 607 將 request—pixel 、 request—pixel—tile—index 禾口 request—pixel—address信號發(fā)送到深度高速緩沖存儲器609以請求先前經(jīng)處理像素的深度 值。request_pixel信號本質(zhì)上是高速緩沖存儲器讀取命令,且request—pixeljile—index和 request_pixel—address分別是像素塊和像素地址。響應(yīng)于這些信號,高速緩沖存儲器讀取 塊612經(jīng)由存儲器接口 613從高速緩沖存儲器RAM 619檢索先前經(jīng)處理像素的所請求的 z值。高速緩沖存儲器讀取塊612包含高速緩沖存儲器標(biāo)簽檢查和管理。將請求的z值作 為request—pixel—z信號供應(yīng)到像素測試塊607,像素測試塊607接著確定經(jīng)處理像素是否 可見。如果像素被確定為不可見,那么如先前關(guān)于像素塊測試塊604所描述而啟用 discard—pixel信號。如果像素被確定為可見,那么啟用update _pixel信號,且以與先前結(jié) 合像素塊測試塊604所描述的相同方式來利用update_pixel—tilejndex 、 update—pixel—address、 update—pixel—z禾卩update—pixel—z—coefficients 信號。
應(yīng)注意可實(shí)施另一等級的分級z緩沖器,其中如果三角形完全在像素塊內(nèi),那么基 于像素塊的最大值和最小值而丟棄整個(gè)三角形。
圖5和6的實(shí)施例利用其中存儲并從深度緩沖器檢索像素塊的深度值的像素塊操作 模式。為了進(jìn)一步提高帶寬效率,可能期望壓縮代表像素塊的數(shù)據(jù)。下文描述根據(jù)本發(fā) 明實(shí)施例的一種此類z壓縮技術(shù)。
在此實(shí)施例的描述中,假定將深度緩沖器劃分為像素塊模式(例如4x4像素)且以 像素塊模式渲染三角形。
在管線過程早期,從與三角形相關(guān)聯(lián)的頂點(diǎn)信息計(jì)算每個(gè)三角形的像素的深度值。 通常,為此目的使用線性插值。
如此,如果像素塊對應(yīng)于z緩沖器中通過渲染三角形而更新的位置,那么像素塊中 的深度值可表示為線性函數(shù)
Z(x,y) = Azx + Bzy + Cz
這里,x和y表示4x4像素塊內(nèi)每一像素的水平和垂直坐標(biāo)。通過給出像素塊的左 上像素的深度值,所述值為(Zoo)、 Az和Bz,可通過插值以下方程來獲得像素塊的其余像 素
Zy=Az*i + Bz*j + Z00,(i = 0-3, J = 0~3)
因此,如果像素塊可壓縮,則不必向深度緩沖器更新其所有16個(gè)像素的深度值,而 僅必須更新ZQ。、 Az和Bz。這僅是常規(guī)像素塊的信息的3/16,假定Az和Bz與Z。o具有相 同的數(shù)據(jù)精度。當(dāng)從z緩沖器讀回同一經(jīng)壓縮的像素塊時(shí),僅必須讀取Zoo、 Az和Bz, 并執(zhí)行基于上述公式的解壓縮函數(shù)來獲得整個(gè)像素塊的深度值。
僅可在像素塊完全包含在三角形中時(shí)壓縮像素塊,如圖7所說明。如圖示,像素塊 A可壓縮,而像素塊B和C不可壓縮,因?yàn)槠渑c三角形邊界交叉。對于確定像素塊是否 完全落在三角形內(nèi)來說,檢查像素塊的所有四個(gè)角落像素是否均在三角形內(nèi)通常就足夠 了。
由于不是每個(gè)像素塊均可壓縮,因此可利用芯片上存儲器來存儲旗標(biāo)陣列(每個(gè)像 素塊l位),所述旗標(biāo)可指示特定像素塊在深度緩沖器中是否經(jīng)壓縮。當(dāng)從深度緩沖器讀 取像素塊時(shí),檢査其相應(yīng)壓縮旗標(biāo)以確定是否需要數(shù)據(jù)的解壓縮。當(dāng)向深度緩沖器更新 像素塊時(shí),如果其可壓縮,那么將經(jīng)壓縮數(shù)據(jù)寫入到深度緩沖器且設(shè)定相應(yīng)壓縮旗標(biāo)。
在圖式和說明書中,已揭示典型的優(yōu)選實(shí)施例且,盡管陳述了特定實(shí)例,但其僅以 一般和描述性意義而不是限制的目的來使用。因此應(yīng)了解,本發(fā)明的范圍將由所附權(quán)利 要求書解釋,而不是由示范性實(shí)施例解釋。
權(quán)利要求
1.一種圖形處理器,其包括光柵化管線,其包括多個(gè)連續(xù)布置的處理級,所述處理級從輸入圖元對象數(shù)據(jù)渲染出顯示像素?cái)?shù)據(jù);存儲器,其存儲由所述光柵化管線的所述處理級中的至少一者利用的數(shù)據(jù);以及預(yù)取機(jī)制,其在經(jīng)處理像素到達(dá)所述至少一個(gè)處理級之前檢索由所述至少一個(gè)處理級利用的關(guān)于所述經(jīng)處理像素的數(shù)據(jù)。
2. 根據(jù)權(quán)利要求1所述的圖形處理器,其中所述經(jīng)檢索數(shù)據(jù)存儲在所述光柵化管線的 所述處理級中的所述至少一者的高速緩沖存儲器中。
3. —種圖形處理器,其包括光柵化管線,其包括多個(gè)連續(xù)布置的處理級,所述處理級從輸入圖元對象數(shù)據(jù)渲 染出顯示像素?cái)?shù)據(jù),其中所述處理級包含隱藏表面去除(HSR)級; 深度緩沖器,其存儲由所述光柵化管線的HSR級利用的數(shù)據(jù);以及 預(yù)取機(jī)制,其在經(jīng)處理像素通過所述光柵化管線到達(dá)所述HSR級之前從所述深度 緩沖器中檢索由所述HSR級利用的關(guān)于所述經(jīng)處理像素的數(shù)據(jù)。
4. 根據(jù)權(quán)利要求3所述的圖形處理器,其中所述經(jīng)檢索數(shù)據(jù)存儲在所述光柵化管線的 所述HSR級的高速緩沖存儲器中。
5. —種圖形處理器,其包括光柵化管線,其包括多個(gè)連續(xù)布置的處理級,所述處理級從輸入圖元對象數(shù)據(jù)渲 染出顯示像素?cái)?shù)據(jù),其中處理級包含隱藏表面去除(HSR)級; 深度緩沖器,其存儲二維像素塊的深度值;像素塊地址生成器,其產(chǎn)生包含經(jīng)處理像素的所述二維像素塊的像素塊地址; 高速緩沖存儲器,其耦合到所述光柵化處理器的所述HSR級; 存儲器控制器,其響應(yīng)于所述像素塊地址而從所述深度緩沖器中檢索所述二維像 素塊的深度值,并將所述深度值存儲在所述高速緩沖存儲器中。
6. 根據(jù)權(quán)利要求5所述的圖形處理器,其中所述深度緩沖器是分級深度緩沖器。
7. —種圖形處理器,其包括-光柵化管線,其包括多個(gè)連續(xù)布置的處理級,所述處理級從輸入圖元對象數(shù)據(jù)渲 染出顯示像素?cái)?shù)據(jù);以及 用于從主存儲器預(yù)取數(shù)據(jù)并在像素?cái)?shù)據(jù)通過所述光柵化管線到達(dá)所述處理級中 的至少一者之前將所述數(shù)據(jù)供應(yīng)到所述至少一個(gè)處理級的裝置。
8. 根據(jù)權(quán)利要求7所述的圖形處理器,其中所述至少一個(gè)處理級是隱藏表面去除 (HSR)級。
9. 根據(jù)權(quán)利要求8所述的圖形處理器,其中所述裝置包括存儲來自所述主存儲器的數(shù) 據(jù)且耦合到所述HSR級的高速緩沖存儲器。
10. —種圖形處理器,其包括光柵化管線,其包括多個(gè)連續(xù)布置的處理級,所述處理級從輸入圖元對象數(shù)據(jù)渲 染出顯示像素?cái)?shù)據(jù),其中處理級包含隱藏表面去除(HSR)級; 分級深度緩沖器,其存儲二維像素塊的深度值;隨機(jī)存取高速緩沖存儲器,其耦合到所述HSR級且存儲所述二維像素塊的深度值中的最大深度值和最小深度值;像素塊地址生成器,其產(chǎn)生包含經(jīng)處理像素的所述二維像素塊的像素塊地址; 存儲器控制器,其響應(yīng)于所述像素塊地址而從所述深度緩沖器中檢索所述二維像素塊的深度值,并將所述深度值存儲在所述高速緩沖存儲器中。
11. 根據(jù)權(quán)利要求10所述的圖形處理器,其進(jìn)一步包括像素塊測試塊,所述像素塊測 試塊將經(jīng)處理像素的深度值與含有所述經(jīng)處理像素的像素塊的最小和最大深度值 相比較。
12. 根據(jù)權(quán)利要求11所述的圖形處理器,其中所述像素塊測試塊可操作以在所述經(jīng)處理 像素的深度值小于含有所述處理像素的所述像素塊的最小深度值的情況下丟棄所 述經(jīng)處理像素。
13. 根據(jù)權(quán)利要求11所述的圖形處理器,其中所述像素塊測試塊可操作以在所述經(jīng)處理 像素的深度值大于含有所述經(jīng)處理像素的所述像素塊的最大深度值的情況下更新 所述高速緩沖存儲器。
14. 根據(jù)權(quán)利要求13所述的圖形處理器,其進(jìn)一步包括像素測試塊,所述像素測試塊 將所述經(jīng)處理像素的深度值與存儲在所述高速緩沖存儲器中的先前存儲的深度值 相比較。
15. 根據(jù)權(quán)利要求14所述的圖形處理器,其中所述像素塊測試塊可操作以在所述經(jīng)處 理像素的深度值處于含有所述處理像素的所述像素塊的最小與最大深度值之間的 情況下啟用所述像素測試塊。
16. 根據(jù)權(quán)利要求10所述的圖形處理器,其進(jìn)一步包括像素塊索引預(yù)測器塊,所述 像素塊索引預(yù)測器塊基于與所述經(jīng)處理像素相關(guān)聯(lián)的圖元對象數(shù)據(jù)而產(chǎn)生像素塊 信息;及預(yù)取邏輯塊,所述預(yù)取邏輯塊基于由所述像素塊索引預(yù)測器塊產(chǎn)生的像素 塊信息來檢索所述像素塊的深度值。
17. —種圖形處理器,其包括光柵化管線,其包括多個(gè)連續(xù)布置的處理級,所述處理級從輸入圖元對象數(shù)據(jù)渲 染出顯示像素?cái)?shù)據(jù),其中所述處理級包含隱藏表面去除(HSR)級;深度緩沖器,其包括與由所述光柵化管線渲染的像素?cái)?shù)據(jù)相關(guān)聯(lián)的深度值數(shù)據(jù)的 二維像素塊,其中所述圖元對象數(shù)據(jù)指示圖元形狀,且其中二維像素塊的深度值數(shù) 據(jù)在所述二維像素塊完全包含在含有經(jīng)處理像素的圖元形狀內(nèi)的情況下被壓縮。
18. 根據(jù)權(quán)利要求17所述的圖形處理器,其中所述圖元形狀是三角形。
19. 根據(jù)權(quán)利要求18所述的圖形處理器,其中所述二維像素塊是4x4像素塊。
20. 根據(jù)權(quán)利要求17所述的圖形處理器,其中所述深度值數(shù)據(jù)是通過存儲描述所述二 維像素塊的深度值的相對值的方程的系數(shù)來壓縮的。
21. 根據(jù)權(quán)利要求20所述的圖形處理器,其中所述方程是線性方程。
22. —種圖形處理方法,其包括將圖元對象數(shù)據(jù)供應(yīng)到光柵化管線,所述光柵化管線包括多個(gè)連續(xù)布置的處理 級,所述處理級從輸入圖元對象數(shù)據(jù)渲染出顯示像素?cái)?shù)據(jù);將由所述光柵化管線的所述處理級中的至少一者利用的數(shù)據(jù)存儲在存儲器中;以及在經(jīng)處理像素到達(dá)所述至少一個(gè)處理級之前從所述存儲器預(yù)取由所述至少一個(gè) 處理級利用的關(guān)于所述經(jīng)處理像素的數(shù)據(jù)。
23. 根據(jù)權(quán)利要求22所述的方法,其進(jìn)一步包括將所述經(jīng)檢索數(shù)據(jù)存儲在所述光柵化 管線的所述處理級中的所述至少一者的高速緩沖存儲器中。
24. 根據(jù)權(quán)利要求23所述的方法,其中所述至少一個(gè)處理級是隱藏表面去除(HSR)級。
25. 根據(jù)權(quán)利要求24所述的圖形處理器,其進(jìn)一步包括執(zhí)行像素塊測試,所述像素塊 測試將經(jīng)處理像素的深度值與含有所述經(jīng)處理像素的二維像素塊的最小和最大深 度值相比較。
26. 根據(jù)權(quán)利要求25所述的圖形處理器,其中所述像素塊測試包含在所述經(jīng)處理像素 的深度值大于含有所述經(jīng)處理像素的所述像素塊的最大深度值的情況下更新所述 高速緩沖存儲器。
27. 根據(jù)權(quán)利要求26所述的圖形處理器,其進(jìn)一步包括選擇性執(zhí)行像素測試,所述像 素測試將所述經(jīng)處理像素的深度值與存儲在所述高速緩沖存儲器中的先前存儲的 深度值相比較。
28. 根據(jù)權(quán)利要求27所述的圖形處理器,其中所述像素塊測試包含在所述經(jīng)處理像素 的深度值處于含有所述經(jīng)處理像素的所述像素塊的最小與最大深度值之間的情況 下啟用所述像素測試。
29. 根據(jù)權(quán)利要求22所述的圖形處理器,其進(jìn)一步包括基于與所述經(jīng)處理像素相關(guān)聯(lián) 的圖元對象數(shù)據(jù)而產(chǎn)生像素塊信息,及基于所述像素塊信息來預(yù)取像素塊的深度值。
30. —種圖形處理方法,其包括將圖元對象數(shù)據(jù)供應(yīng)到光柵化管線,所述光柵化管線包含多個(gè)連續(xù)布置的處理 級,所述處理級從輸入圖元對象數(shù)據(jù)渲染出顯示像素?cái)?shù)據(jù),其中所述處理級包含隱 藏表面去除(HSR)級;選擇性壓縮深度緩沖器中的深度值數(shù)據(jù)的二維像素塊,其中所述圖元對象數(shù)據(jù)指 示圖元形狀,且其中二維像素塊的深度值數(shù)據(jù)在所述二維像素塊完全包含在含有經(jīng) 處理像素的圖元形狀內(nèi)時(shí)被壓縮。
全文摘要
一種3D圖形管線包含對深度像素塊的高速緩沖存儲器進(jìn)行饋送的預(yù)取機(jī)制。所述預(yù)取機(jī)制可為預(yù)測性的,其使用來自先前管線級的三角形幾何信息來預(yù)裝填所述高速緩沖存儲器,因而實(shí)現(xiàn)存儲器帶寬效率的增加。可視需要利用z值壓縮技術(shù)來實(shí)現(xiàn)功率消耗和存儲器帶寬的進(jìn)一步減少。
文檔編號G06T15/00GK101176119SQ200680016684
公開日2008年5月7日 申請日期2006年3月21日 優(yōu)先權(quán)日2005年3月21日
發(fā)明者丹·明倫·莊, 拉雅·拉金德爾庫馬爾·達(dá)萬, 杰弗里·希普佩, 邁克爾·休·安德森 申請人:高通股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
合作市| 德保县| 乌兰浩特市| 任丘市| 饶阳县| 毕节市| 宣威市| 威海市| 大同市| 叙永县| 江西省| 鄢陵县| 海林市| 平潭县| 咸宁市| 中西区| 股票| 龙口市| 行唐县| 宁化县| 宁乡县| 辉南县| 英山县| 景洪市| 中江县| 如东县| 焉耆| 无为县| 满城县| 阿瓦提县| 宜良县| 永清县| 沁源县| 饶平县| 钦州市| 永平县| 皮山县| 和龙市| 武邑县| 交城县| 会同县|