標(biāo)簽緩沖器6202的列514 2中。
[0060]標(biāo)簽分類器模塊606隨后可以針對(duì)下一個(gè)基元506(其是透明的)接收基元標(biāo)識(shí)符并且其將確定標(biāo)簽緩沖器62(^在基元506所覆蓋的瓦片500中的樣本位置是滿的,并且因此將選擇下一個(gè)層(即緩沖器6202)來存儲(chǔ)瓦片500中的基元506的基元標(biāo)識(shí)符。注意至IJ,基元506并不與基元504重疊并且因此基元504和506的基元標(biāo)識(shí)符能夠被存儲(chǔ)在相同的標(biāo)簽緩沖器6202中。這在圖5b中示出,其中基元標(biāo)識(shí)符針對(duì)基元506被存儲(chǔ)在標(biāo)簽緩沖器6202的列514 2中。
[0061]標(biāo)簽分類器模塊606隨后可以針對(duì)下一個(gè)基元508(其是透明的)接收基元標(biāo)識(shí)符并且其將確定標(biāo)簽緩沖器62(^在基元508所覆蓋的樣本位置是滿的。標(biāo)簽緩沖器620 2可用于基元508的一些樣本位置,但是標(biāo)簽緩沖器6202并不可用于基元508的一些其它樣本位置。在圖5b所示的示例中,基元標(biāo)識(shí)符5082在空間可用的位置被存儲(chǔ)在標(biāo)簽緩沖器6202的列514 2中。在標(biāo)簽緩沖器620 2中的空間不可用的位置,基元標(biāo)識(shí)符508 JP 508 3被存儲(chǔ)在標(biāo)簽緩沖器6203的列514 3中。也就是說,標(biāo)簽控制模塊622以每個(gè)樣本位置為基礎(chǔ)來選擇用于存儲(chǔ)基元標(biāo)識(shí)符的標(biāo)簽緩沖器620。
[0062]標(biāo)簽分類器模塊606隨后可以針對(duì)下一個(gè)基元510(其是透明的)接收基元標(biāo)識(shí)符并且其將確定標(biāo)簽緩沖器62(^620^0 620 3在基元510所覆蓋的樣本位置都不可用于列512。這在圖5b中進(jìn)行表示。因此,為了在標(biāo)簽緩沖器中存儲(chǔ)基元510的基元標(biāo)識(shí)符,對(duì)一個(gè)標(biāo)簽緩沖器進(jìn)行沖刷。也就是說,在步驟S710,基元標(biāo)識(shí)符從一個(gè)或多個(gè)標(biāo)簽緩沖器620被沖刷。標(biāo)簽控制模塊622控制標(biāo)簽緩沖器620的沖刷。當(dāng)基元標(biāo)識(shí)符從標(biāo)簽緩沖器620被沖刷時(shí),它們?cè)诩y理化引擎608處被接收。標(biāo)簽緩沖器620的沖刷將使得該標(biāo)簽緩沖器620可用從而基元510的基元標(biāo)識(shí)符隨后能夠被存儲(chǔ)在可用標(biāo)簽緩沖器620中。
[0063]在另一個(gè)示例中,標(biāo)簽控制模塊622選擇標(biāo)簽緩沖器620來存儲(chǔ)與特定微型瓦片相關(guān)的基元的所有基元標(biāo)識(shí)符,而使得針對(duì)微型瓦片中的每個(gè)微型瓦片而言,如果該微型瓦片內(nèi)的所有樣本位置都在一層中可用,則該基元的基元標(biāo)識(shí)符被存儲(chǔ)在對(duì)應(yīng)于該層的標(biāo)簽緩沖器中。然而,如果并非微型瓦片內(nèi)的所有樣本位置都在該層中可用的情形,則該基元的基元標(biāo)識(shí)符被存儲(chǔ)在下一層中。圖5c示出了與圖5a中相同的瓦片500、樣本位置512的列以及非透明的背景基元502。圖5d分別示出了標(biāo)簽緩沖器62(^620^0 620 3的列514 ^5142和514 3,其中列51七包含對(duì)應(yīng)于基元502的基元標(biāo)識(shí)符。線條530和532將瓦片500劃分為四個(gè)微型瓦片,每個(gè)均包含16個(gè)樣本位置。類似地,線條532將列514劃分為對(duì)應(yīng)于樣本位置512的列所相交的兩個(gè)微型瓦片的上和下部分。
[0064]在該示例中,標(biāo)簽分類器模塊606可以接收基元520(其是透明的)基元標(biāo)識(shí)符。標(biāo)簽緩沖器62(^Ε經(jīng)包含了非透明基元502的基元標(biāo)識(shí)符,因此標(biāo)簽控制模塊622選擇標(biāo)簽緩沖器6202來存儲(chǔ)基元520的基元標(biāo)識(shí)符。這在圖5d中示出,其中基元標(biāo)識(shí)符針對(duì)基元520被存儲(chǔ)在標(biāo)簽緩沖器6202的列514 2中。
[0065]標(biāo)簽分類器模塊606隨后可以接收下一個(gè)基元522 (其是透明的)的基元標(biāo)識(shí)符。在這種情況下,基元522的基元標(biāo)識(shí)符的一部分522i被存儲(chǔ)在標(biāo)簽緩沖器620 2的列514 2中,因?yàn)橄嚓P(guān)微型瓦片內(nèi)的所有樣本位置在標(biāo)簽緩沖器6202中都是可用的,而基元522的基元標(biāo)識(shí)符的部分52?則被存儲(chǔ)在標(biāo)簽緩沖器620 3的列514 3中,因?yàn)椴⒎鞘窍嚓P(guān)微型瓦片內(nèi)的所有樣本位置在標(biāo)簽緩沖器6202中都可用的情形。一般而言,針對(duì)每個(gè)微型瓦片,微型瓦片內(nèi)的樣本位置的基元標(biāo)識(shí)符被存儲(chǔ)在可用于該微型瓦片內(nèi)的所有樣本位置的標(biāo)簽緩沖器所表示的最遠(yuǎn)層中。也就是說,步驟S706中的選擇包括針對(duì)一個(gè)或多個(gè)樣本位置(即,針對(duì)微型瓦片)的塊選擇對(duì)應(yīng)于重疊層的最遠(yuǎn)可用層的一個(gè)標(biāo)簽緩沖器620。在其它示例中,針對(duì)每個(gè)微型瓦片,該微型瓦片內(nèi)的樣本位置的基元標(biāo)識(shí)符被存儲(chǔ)在可用于該微型瓦片內(nèi)的基元標(biāo)識(shí)符所覆蓋的樣本位置中的所有樣本位置的標(biāo)簽緩沖器所表示的最遠(yuǎn)層中。也就是說,步驟S706中的選擇可以包括針對(duì)一個(gè)或多個(gè)樣本位置(即,針對(duì)微型瓦片)的塊內(nèi)的基元標(biāo)識(shí)符選擇對(duì)應(yīng)于重疊層的最遠(yuǎn)可用層的標(biāo)簽緩沖器620中的一個(gè)標(biāo)簽緩沖器。
[0066]在步驟S712,紋理化引擎608對(duì)被沖刷的基元標(biāo)識(shí)符所標(biāo)識(shí)的基元應(yīng)用紋理化和陰影化。紋理化以以上關(guān)于步驟S408所描述的相對(duì)應(yīng)的方式來執(zhí)行。也就是說,紋理化引擎608 (例如,從存儲(chǔ)器)獲取紋理數(shù)據(jù)和所標(biāo)識(shí)的基元并且將該紋理數(shù)據(jù)應(yīng)用于被沖刷的基元標(biāo)識(shí)符所標(biāo)識(shí)的基元。如以上所描述的,在紋理化單元608向基元應(yīng)用紋理化的結(jié)果是圖像的像素值的集合。該像素值從紋理化單元608輸出并且被存儲(chǔ)在像素緩沖器610中。像素緩沖器610存儲(chǔ)圖像的像素值,該像素值隨后能夠以任意的方式被使用,例如輸出至顯示器或者存儲(chǔ)在存儲(chǔ)器中或者被傳送至另一個(gè)設(shè)備,等等。
[0067]在以上詳細(xì)描述的示例中,針對(duì)基元標(biāo)識(shí)符選擇標(biāo)簽緩沖器是針對(duì)每個(gè)個(gè)體樣本位置執(zhí)行,或者以微型瓦片的規(guī)模來執(zhí)行,例如針對(duì)對(duì)應(yīng)于一個(gè)微型瓦片的4X4的樣本位置塊執(zhí)行。然而,在其它示例中,對(duì)標(biāo)簽緩沖器的選擇可以以其它規(guī)模執(zhí)行,例如針對(duì)不同大小和/或形狀的樣本位置塊執(zhí)行。選擇更大的規(guī)??赡苡兄跍p少多個(gè)階段中出現(xiàn)的沖刷基元,而這在基元標(biāo)識(shí)符的不同部分被存儲(chǔ)在不同層中的時(shí)候可能發(fā)生。然而,選擇更大的規(guī)模減少了對(duì)標(biāo)簽緩沖器的層內(nèi)的間隙進(jìn)行填充的機(jī)會(huì)。因此,在設(shè)置塊的規(guī)模時(shí)要考慮權(quán)衡。
[0068]當(dāng)標(biāo)簽緩沖器620之一要被沖刷時(shí),標(biāo)簽控制模塊622基于沖刷策略確定要沖刷標(biāo)簽緩沖器中的哪個(gè)標(biāo)簽緩沖器。例如,該沖刷策略可以是在沖刷另一個(gè)標(biāo)簽緩沖器620之前沖刷包含最遠(yuǎn)層的基元標(biāo)識(shí)符的標(biāo)簽緩沖器620(例如,以上所描述示例中的標(biāo)簽緩沖器62(^)。作為另一個(gè)示例,沖刷策略可以是在沖刷另一個(gè)標(biāo)簽緩沖器620之前沖刷包含最多基元標(biāo)識(shí)符的標(biāo)簽緩沖器(即,最滿的標(biāo)簽緩沖器)。標(biāo)簽控制模塊622可以對(duì)從標(biāo)簽緩沖器620沖刷基元標(biāo)識(shí)符進(jìn)行控制而使得每次僅從一個(gè)標(biāo)簽緩沖器620沖刷基元標(biāo)識(shí)符??商鎿Q地,標(biāo)簽控制模塊622可以對(duì)從標(biāo)簽緩沖器620沖刷基元標(biāo)識(shí)符進(jìn)行控制而使得同時(shí)從多個(gè)標(biāo)簽緩沖器620沖刷基元標(biāo)識(shí)符。在渲染的正確表現(xiàn)取決于基元被渲染的順序的情況下,沖刷策略應(yīng)當(dāng)被選擇為對(duì)此加以保留。注意到,當(dāng)基元標(biāo)識(shí)符如圖5b和5d中所示被存儲(chǔ)在多個(gè)標(biāo)簽緩沖器中時(shí),分層反映了基元標(biāo)識(shí)符被標(biāo)簽分類器模塊606所接收的順序而不是基元的深度。因此,多個(gè)標(biāo)簽緩沖器能夠保留順序。
[0069]圖6示出了在存在三個(gè)標(biāo)簽緩沖器620的情況下可以如何布置圖形處理系統(tǒng)的示例。在其它示例中,圖形處理系統(tǒng)中可以有兩個(gè)或者多于三個(gè)的標(biāo)簽控制器,它們被配置為存儲(chǔ)瓦片內(nèi)的基元的不同分層的基元標(biāo)識(shí)符。
[0070]使用多個(gè)標(biāo)簽緩沖器620來表示基元的重疊的層的優(yōu)勢在于有時(shí)被寫入到標(biāo)簽緩沖器的基元標(biāo)識(shí)符可能標(biāo)識(shí)出隨后被發(fā)現(xiàn)由于處理模塊602所執(zhí)行的HSR而被其它基元所隱藏的基元。在這種情況下,使用多個(gè)標(biāo)簽緩沖器能夠減少被沖刷到紋理化引擎608的基元標(biāo)識(shí)符的數(shù)量。例如,如果在圖5a所示的示例中僅使用了一個(gè)標(biāo)簽緩沖器,則基元502的基元標(biāo)識(shí)符本來將會(huì)響應(yīng)于針對(duì)透明基元504的基元標(biāo)識(shí)符到達(dá)而被沖刷到紋理化引擎。如果所要處理的下一個(gè)基元是非透明的并且處于基元502和504之前,則基元502和504可能被完全或部分隱藏并且因此基元502和504的被隱藏部分將無需被紋理化。通過使用多個(gè)標(biāo)簽緩沖器620,基元502的基元標(biāo)識(shí)符將不會(huì)響應(yīng)于基元504的基元標(biāo)識(shí)符到達(dá)標(biāo)簽分類器模塊606而被沖刷到紋理化引擎608中,因?yàn)榛?04的基元標(biāo)識(shí)符能夠被寫入到第二標(biāo)簽緩沖器6202。因此,在標(biāo)簽分類器模塊606接收到覆蓋基元502和504的非透明基元的基元標(biāo)識(shí)符時(shí)不會(huì)進(jìn)行沖刷。在這種情況下,基元502和504的基元標(biāo)識(shí)符能夠被分別在標(biāo)簽緩沖器620jP 620 2中進(jìn)行重寫,其中它們無需被紋理化。以這種方式,能夠減少對(duì)最終被其它基元所隱藏的基元片段進(jìn)行不必要的紋理化。
[0071]以上所描述的兩種思想允許通過使用多個(gè)深度緩沖器而允許給定時(shí)間有多個(gè)瓦片處于處理之中,并且允許要存儲(chǔ)在多個(gè)標(biāo)簽緩沖器中的基元標(biāo)識(shí)符的重疊層能夠進(jìn)行合并以提供非常靈活的圖形處理系統(tǒng)。
[0072]圖8示出了圖形處理系統(tǒng)800,其組合了以上所描述并且分別在圖3和6中示出的圖形處理系統(tǒng)300和600的特征。特別地,圖形處理系統(tǒng)800包括與圖形處理系統(tǒng)300相同的一些部件并且這些部件在圖8中利用相同的參考標(biāo)號(hào)示出。也就是說,圖形處理系統(tǒng)800包括隊(duì)列模塊312,其包括四個(gè)隊(duì)列3叫至314 4;處理模塊302 ;深度緩沖器318 ^3144的模塊304 ;包括四個(gè)紋理化引擎324 1至324 4以及像素緩沖器310的紋理化單元308。這些部件如以上關(guān)于圖形處理系統(tǒng)300所描述的那樣進(jìn)行操作。圖8中所示的圖形處理系統(tǒng)800的所有部件可以以硬件、軟件或者其組合來實(shí)現(xiàn)。
[0073]如以下更為詳細(xì)描述的,圖形處理系統(tǒng)800包括控制模塊816,類似于圖形處理系統(tǒng)300的控制模塊316但并非與之完全相同。此外,圖形處理系統(tǒng)800包括標(biāo)簽分類器模塊806,其與圖形處理系統(tǒng)300的標(biāo)簽分類器模塊306并不相同。標(biāo)簽分類器模塊806包括便簽控制模塊822以及八個(gè)標(biāo)簽緩沖器8201至820 8。以這種方式,存在比深度緩沖器318更多的標(biāo)簽緩沖器820,如以上參考圖形處理系統(tǒng)600關(guān)于一個(gè)瓦片所描述的,因此有多于一個(gè)的標(biāo)簽緩沖器820能夠被用來存儲(chǔ)特定瓦片的基元的基元標(biāo)識(shí)符的重疊的層。因此能夠看到,八個(gè)標(biāo)簽緩沖器820的群組以及圖形處理系統(tǒng)800 (特別是標(biāo)簽控制模塊822)被配置為將八個(gè)標(biāo)簽緩沖器820中的一個(gè)或多個(gè)的相應(yīng)集合動(dòng)態(tài)地與每個(gè)深度緩沖器318相關(guān)聯(lián)。就其能夠被改變以適應(yīng)圖形處理系統(tǒng)800的當(dāng)前要求的意義而言,標(biāo)簽緩沖器與深度緩沖器的關(guān)聯(lián)(其對(duì)應(yīng)于標(biāo)簽緩沖器與被處理瓦片的關(guān)聯(lián))被動(dòng)態(tài)執(zhí)行。
[0074]例如,當(dāng)覆蓋樣本位置的基元的基元標(biāo)識(shí)符在標(biāo)簽分類器模塊806被接收時(shí),如果當(dāng)前與特定瓦片相關(guān)聯(lián)的集合中沒有標(biāo)簽緩沖器820在該樣本位置可用,則標(biāo)簽控制模塊822能夠?qū)⒖捎脴?biāo)簽緩沖器添加至與該瓦片相關(guān)聯(lián)的標(biāo)簽緩沖器的集合。集合中的附加標(biāo)簽緩沖器820表示該瓦片新的基元分層,并且基元標(biāo)識(shí)符能夠存儲(chǔ)在表示新的分層的附加標(biāo)簽緩沖器中。
[0075]如果(以與以上所給出的示例中相同的方式)基元標(biāo)識(shí)符要在樣本位置被存儲(chǔ)到與特定瓦片相關(guān)聯(lián)的標(biāo)簽緩沖器集合中的標(biāo)簽緩沖器,但是該集合中沒有標(biāo)簽緩沖器在該樣本位置可用,并且如果(不同于以上所給出的示例)標(biāo)簽緩沖器的群組(8201至820 8)中沒有可用的標(biāo)簽緩沖器,則標(biāo)簽控制模塊822可以從標(biāo)簽緩沖器82(^至820 8之一沖刷基元標(biāo)識(shí)符由此使得該標(biāo)簽緩沖器可用,而使得基元標(biāo)識(shí)符能夠存儲(chǔ)在該可用標(biāo)簽緩沖器中。被選擇進(jìn)行沖刷的標(biāo)簽緩沖器可以是當(dāng)前是與該瓦片相關(guān)聯(lián)的標(biāo)簽緩沖器集合的成員的標(biāo)簽緩沖