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

圖形處理系統(tǒng)中的隱藏面消除的制作方法

文檔序號:6524115閱讀:194來源:國知局
圖形處理系統(tǒng)中的隱藏面消除的制作方法
【專利摘要】圖形處理系統(tǒng)中的隱藏面消除。圖形處理流水線(1)的早期深度測試階段(4、13)被配置為:將關(guān)于具有與其關(guān)聯(lián)的附條件的丟棄測試并且通過那些早期深度測試的片段的信息廣播(9、10、11、14)至流水線中的其它階段(3、4、6、12)。流水線中的其它階段隨后利用早期深度測試通過信息來確定對它們當(dāng)前處理的任何片段的處理是否可減慢。如果觸發(fā)減慢對已在流水線中的片段的處理的片段通過所述片段要經(jīng)受的所有附條件的丟棄測試,則發(fā)送觸發(fā)停止其處理已預(yù)先減慢的片段的處理的信號。如果片段未通過其要經(jīng)受的附條件的丟棄測試,則發(fā)送觸發(fā)恢復(fù)其處理已預(yù)先減慢的片段的處理的信號。
【專利說明】圖形處理系統(tǒng)中的隱藏面消除
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機圖形處理,并且具體地說,涉及圖形處理中的隱藏面消除。
【背景技術(shù)】
[0002]如本領(lǐng)域中已知的,通常通過以下步驟執(zhí)行圖形處理:首先將圖形處理(渲染)輸出(諸如要顯示的幀)分為多個相似的基本組成(稱為“基元”)以使得能夠更加容易地執(zhí)行圖形處理操作。這些“基元”通常采用簡單多邊形(諸如三角形)的形式。
[0003]用于輸出(諸如要顯示的幀)的基元通常利用從需要圖形處理的應(yīng)用(例如游戲)接收到的圖形繪制指令(請求)由用于圖形處理系統(tǒng)的應(yīng)用程序接口生成。
[0004]各個基元在這個階段通常通過一組頂點限定并由其表示。基元的各個頂點與表示所述頂點的一組數(shù)據(jù)(諸如位置、顏色、紋理和其它屬性數(shù)據(jù))關(guān)聯(lián)。隨后例如當(dāng)對所述頂點(與所述頂點相關(guān)的基元)進行柵格化和渲染時,使用該數(shù)據(jù),例如以用于顯示。
[0005]一旦生成和限定了基元和它們的頂點,它們可通過圖形處理系統(tǒng)進行處理,以例如顯示中貞。
[0006]該處理基本上涉及以下步驟:確定在將要處理的覆蓋輸出區(qū)域的一系列采樣點中哪些采樣點被基元覆蓋,以及隨后確定各個采樣點應(yīng)該具有的外觀(例如,就其顏色等而言)以在所述采樣點表示基元。這些處理通常分別被稱作柵格化和渲染。
[0007]柵格化處理確定應(yīng)該用于基元的采樣點(B卩,要用于在渲染輸出(例如,要顯示的幀)中表示基元的采樣點的(X,y)位置)。這通常利用基元的頂點的位置來實現(xiàn)。
[0008]渲染處理因此導(dǎo)出在所述采樣點表示基元所需的數(shù)據(jù),諸如紅色、綠色和藍色(RGB)顏色值和“Alpha”(透明度)值(即,為各個采樣點“著色”)。如本領(lǐng)域中所知的,這個過程可涉及施加紋理、混合采樣點數(shù)據(jù)值等。
[0009](在3D圖形文獻中,術(shù)語“柵格化”通常用于意指基元轉(zhuǎn)換至采樣位置和渲染這二者。然而,本文中,“柵格化”將僅用于表示將基元數(shù)據(jù)轉(zhuǎn)換至采樣點地址。)
[0010]這些處理通常通過以下步驟執(zhí)行:測試多組一個或一個以上采樣點,以及隨后針對發(fā)現(xiàn)包括在關(guān)注的(正被測試的)基元內(nèi)(或被所述基元覆蓋)的采樣點的各組采樣點生成離散圖形實體(通常稱作“片段”,在其上執(zhí)行圖形處理操作(諸如渲染))。因此,覆蓋的采樣點實際上作為片段被處理,所述片段將用于在關(guān)注的采樣點渲染基元?!捌巍笔墙?jīng)過渲染處理(渲染流水線)的圖形實體。根據(jù)圖形處理系統(tǒng)的配置方式,生成和處理的各個片段可例如表示單個采樣點或一組多個采樣點。
[0011](因此,“片段”是插值到基元的給定輸出空間采樣點中的有效的一組基元數(shù)據(jù)(與所述一組基元數(shù)據(jù)關(guān)聯(lián))?!捌巍边€可包括每基元和在關(guān)注的采樣點(片段位置)處為基元著色所需要的其它狀態(tài)數(shù)據(jù)。各個圖形片段通??梢耘c輸出的像素(例如,輸出幀)具有相同尺寸和處于相同位置(由于像素在最終顯示中是奇點,因此在圖形處理器進行工作(渲染)的“片段”與顯示的像素之間可一一映射)。然而,可存在片段和顯示像素之間不一一對應(yīng)的情況,例如在顯示最終圖像之前,在渲染的圖像上執(zhí)行具體形式的后處理,諸如縮減采樣。)
[0012](還存在這樣的情況:隨著在給定位置的例如來自不同交疊基元的多個片段可彼此影響(例如,由于透明度和/或混合),最終像素輸出可取決于在該像素位置的多個或全部片段。)
[0013](對應(yīng)地,在采樣點和顯示器像素之間可一一對應(yīng),但在采樣點和顯示器像素之間更通常不一一對應(yīng),由于可在渲染的采樣值上執(zhí)行縮減采樣以生成用于顯示最終圖像的輸出像素值。類似地,隨著在給定位置的例如來自不同交疊基元的多個采樣點值彼此影響(例如,由于透明度和/或混合),最終像素輸出將還取決于在該像素位置的多個交疊采樣值。)
[0014]在通常稱作“立即模式”圖形處理或渲染的圖形處理的一個已知技術(shù)中,基元逐個地隨著生成而被處理(柵格化和渲染)。
[0015]在這種系統(tǒng)中,基元(它們的頂點)按照先來先處理的原則被遞送至圖形系統(tǒng),并因此按照基元的接收順序渲染基元。
[0016]還已知,在圖形處理系統(tǒng)中,使用所謂的“基于拼塊的”渲染或“延遲”渲染。在基于拼塊的渲染處理中,不是整個渲染輸出(例如在按照立即模式進行渲染的一個系統(tǒng)中有效地進行處理的幀),而是例如要顯示的幀的渲染輸出被分為多個較小的子區(qū)域,通常稱作“拼塊”。各個拼塊(子區(qū)域)被獨立地渲染(通常逐個地渲染),并且渲染的拼塊(子區(qū)域)隨后再組合以提供完整的渲染輸出,例如,用于顯示的幀。在這些布置方式中,渲染輸出通常分為規(guī)則大小和形狀的子區(qū)域(拼塊)(它們通常為例如方形或矩形),但這不是必要的。
[0017]在立即模式和基于拼塊的渲染處理這二者中,柵格化和渲染處理的輸入將通常包括要由圖形處理器執(zhí)行的一系列圖形命令。如本領(lǐng)域中所知的,該“命令列表”將包括指示圖形處理器繪制基元的命令和指示其它圖形處理的命令(諸如渲染狀態(tài)變化、開始和結(jié)束拼塊命令(在基于拼塊的系統(tǒng)中)等)。
[0018]在立即模式渲染中,該命令列表將簡單地列出要逐個地執(zhí)行的命令,而在基于拼塊的渲染中,所述列表可以并且通常分為“拼塊”(即,將針對各個拼塊(獨立于針對其它拼塊的命令)列出命令)。
[0019]當(dāng)前圖形處理系統(tǒng)的一個缺點在于,因為基元被按順序處理,并且通常不是按照完美的從前向后的順序處理,所以隨著一個輸出被處理(例如以用于顯示),給定采樣點(進而片段和像素)可多次著色。當(dāng)?shù)谝粋€接收到和渲染的基元隨后被后來的基元覆蓋時,發(fā)生這種情況,從而在關(guān)注的像素(和采樣點)實際上看不到渲染的第一基元?;砂凑者@種方式被覆寫許多次,并且這通常導(dǎo)致針對被渲染的各個渲染輸出(例如幀)執(zhí)行多個最終冗余的渲染操作。這種現(xiàn)象通常稱作“重復(fù)渲染”。
[0020]執(zhí)行這些最終冗余的操作的結(jié)果包括幀率降低和內(nèi)存帶寬需求增大(例如,作為針對將被后來的基元覆寫的基元獲取數(shù)據(jù)的結(jié)果)。這二者均是不期望的,并且降低了圖形處理系統(tǒng)的整體性能。隨著渲染輸出(諸如要渲染的幀)變大和變得更加復(fù)雜(如在潛在可視圖中將出現(xiàn)更多面),并且隨著可編程片段著色的使用增加(隨著利用可編程片段著色為給定片段著色的開銷相對更大),這些問題將往往變得嚴(yán)重。
[0021]通過按照從前向后順序發(fā)送基元以用于渲染可明顯減小“重復(fù)渲染”的問題。然而,其它圖形處理需求(諸如針對資源(諸如紋理)的相干入口需求和最小化每幀的API調(diào)用的次數(shù)的需求)通常批準(zhǔn)基元的其它優(yōu)選的順序需求。另外,在仍保持基元至圖形處理單元的足夠輸送量的同時,在渲染之前,完全從前向后對基元進行排序可能不實際。這些和其它因素意味著針對給定渲染輸出(例如幀)的基元的從前向后排序在實際中通常是不可能或不期望的。
[0022]因此,提出了嘗試減小當(dāng)處理渲染輸出(諸如用于顯示的幀)時執(zhí)行的“重復(fù)渲染”的量(隱藏面的冗余處理量)(即,避免渲染不可見的基元和/或片段等)的其它多種技術(shù)。
[0023]例如,已知在發(fā)送基元和/或片段以進行渲染之前執(zhí)行各種形式的隱藏面消除,以觀察基元或片段等是否將被已被渲染的基元遮蔽(在這種情況下,不需要渲染新的片段和/或基元)。這種隱藏面消除可包括例如早期遮擋剔除,諸如本領(lǐng)域中所知的早期Z (深度)和/或模板測試處理。
[0024]這些布置方式嘗試在后來的片段發(fā)送至渲染流水線之前識別例如將被已經(jīng)處理的基元遮擋(并且因此不需要處理)的片段。在這些布置方式中,針對深度緩沖器中的片段位置,將例如要處理的新片段的深度值與當(dāng)前深度值進行比較,以確定新片段是否被遮擋。這可有助于避免通過渲染流水線發(fā)送被已經(jīng)處理的基元遮擋的片段。
[0025]然而,這些“早期”(在渲染之前)隱藏面消除技術(shù)僅考慮了在例如新的基元或片段(正進行“早期”測試的基元或片段)正被測試的同時已經(jīng)完成它們的處理(已被渲染)的片段。這是因為相關(guān)測試數(shù)據(jù)(諸如Z-緩沖器)僅包含來自已經(jīng)被處理的片段的數(shù)據(jù)。

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

[0026]因此, 申請人:相信仍有空間來改進用于圖形處理系統(tǒng)中的隱藏面消除的技術(shù)。
[0027]根據(jù)本發(fā)明的第一方面,提供了一種操作圖形處理流水線的方法,所述圖形處理流水線包括多個處理階段,其包括:柵格化器,其對輸入基元進行柵格化以生成要處理的圖形片段,各個圖形片段具有與其關(guān)聯(lián)的一個或更多個采樣點;以及渲染器,其處理由柵格化器生成的片段,以生成輸出片段數(shù)據(jù),所述方法包括以下步驟:
[0028]在由柵格化器生成的片段被發(fā)送至渲染器以進行處理之前,關(guān)于與該片段關(guān)聯(lián)的至少一個采樣點執(zhí)行早期剔除測試;以及
[0029]如果至少一個采樣點通過早期剔除測試,則向前發(fā)送片段以進行處理,并響應(yīng)于至少一個采樣點通過早期剔除測試,確定在圖形處理流水線中的另一采樣點的處理是否應(yīng)該減慢。
[0030]根據(jù)本發(fā)明的第二方面,提供了一種圖形處理流水線,該圖形處理流水線包括:
[0031]多個處理階段,其包括:柵格化器,其對輸入基元進行柵格化以生成要處理的圖形片段,各個圖形片段具有與其關(guān)聯(lián)的一個或更多個采樣點;渲染器,其處理由柵格化器生成的片段以生成輸出片段數(shù)據(jù);以及早期剔除測試階段,在由柵格化器生成的片段被發(fā)送至渲染器以進行處理之前,關(guān)于與所述片段關(guān)聯(lián)的采樣點執(zhí)行早期剔除測試;其中,所述圖形處理流水線被配置為:
[0032]響應(yīng)于與由柵格化器生成的片段關(guān)聯(lián)的至少一個采樣點通過早期剔除測試,向前發(fā)送片段以進行處理,并且確定在圖形處理流水線中的另一采樣點的處理是否應(yīng)該減慢。
[0033]本發(fā)明的圖形處理流水線在圖形處理流水線的渲染器階段之前包括早期剔除測試,諸如早期深度測試,以在圖形實體(諸如采樣點、片段和/或基元)通過渲染器處理之前嘗試剔除它們,如本領(lǐng)域中所知的。[0034]然而,響應(yīng)于采樣點通過早期剔除測試,本發(fā)明還確定圖形處理流水線中正處理的另一采樣點的處理是否應(yīng)該減慢(例如,圖形處理流水線中正處理的另一采樣點的圖形處理流水線的處理優(yōu)先級是否可降低)。換句話說,本發(fā)明在柵格化階段中或柵格化階段之后延伸早期剔除測試的效果,從而使得還能夠潛在地影響已被柵格化并發(fā)送至流水線的其余部分以進行處理的基元的采樣點的處理速度。
[0035]如將在以下進一步討論的,這可繼而使得早期剔除測試的結(jié)果能夠用于避免和/或停止處理(“終止”)已在流水線中的基元的采樣點,而不是簡單地停止新基元(例如,將被遮擋)的采樣點以防其被渲染。這樣做的優(yōu)點在于,例如,針對先前已通過早期剔除測試的基元在流水線中的采樣點,如果在它們的處理完成之前生成將遮擋它們的稍后的基元的片段,則對它們的處理仍可停止。
[0036]因此,例如,不同于現(xiàn)有技術(shù),本發(fā)明還可在基元和/或片段實際上被渲染順序中的稍后的基元遮擋的情況下降低或避免“重復(fù)渲染”。
[0037]這樣做的效果是,與例如現(xiàn)有的早期深度測試技術(shù)相比,本發(fā)明可進一步降低在圖形處理流水線中隱藏面被不必要地處理的程度。此外,在進行渲染之前,不需要執(zhí)行昂貴的采樣/片段的每采樣或每片段排序。
[0038]實際上,本發(fā)明的一個重要優(yōu)點在于,當(dāng)設(shè)置的基元順序最佳(B卩,從前向后)時,其將實際上不干涉,從而在這種情況下,在“標(biāo)準(zhǔn)的”早期深度測試布置方式上獲得最小的開銷增加,但當(dāng)基元順序“非最佳”時,本發(fā)明將起作用,以消除從后向前的基元使得不用處理它們。使用本發(fā)明的開銷也獨立于所使用的多點采樣的防混疊處理的水平,從而相對便宜地使用更高等級的多點采樣的防混疊處理(并且更高等級的多點采樣防混疊處理的使用更加便宜)。
[0039]此外,因為本發(fā)明降低了已在流水線中的采樣點通過流水線的處理速度,所以本發(fā)明仍然可用于在執(zhí)行早期剔除測試時可能不能確定新的基元(片段)是否將實際上遮擋已在流水線中的采樣點的情況中(而不像例如立即丟棄已在流水線中的采樣點,在這種情況下,已在流水線中的采樣點可僅在在執(zhí)行早期剔除測試時確定新的片段將遮擋它們的情況下被丟棄)。因此,這意味著,與例如立即簡單地丟棄已在流水線中的采樣點或片段的測試可能出現(xiàn)的情況相比,本發(fā)明可用于(潛在地)影響和停止更多的采樣點和片段的處理。
[0040]例如,當(dāng)早期剔除測試的新片段將可導(dǎo)致片段在其處理中被丟棄(諸如著色器附條件的丟棄)的一個或更多個狀態(tài)作為其狀態(tài)的一部分,以使得不能在早期剔除(例如,深度)測試階段獲知片段是否將實際上在渲染輸出中顯現(xiàn)(使得不能在早期剔除測試時斷定新片段是否將明確遮擋已在處理流水線中的其它片段)時,可使用本發(fā)明。
[0041]實際上, 申請人:已經(jīng)發(fā)現(xiàn),針對許多圖形內(nèi)容和處理,片段可相對普遍地具有與它們關(guān)聯(lián)的附條件的丟棄狀態(tài)。如將在以下進一步討論的,本發(fā)明可用于停止處理(“終止”)流水線中的片段和/或采樣點,即使早期剔除測試因為新片段具有與其關(guān)聯(lián)的附條件的丟棄測試而不能立即這樣做。
[0042]圖形處理流水線的柵格化器可被配置為按照任何合適和期望的方式操作,例如如按照已知的柵格化布置方式。如本領(lǐng)域中所知的,柵格化器應(yīng)該操作以生成用于處理的圖形片段,基于此,通過柵格化器接收到的給定基元等(至少部分地)覆蓋覆蓋圖形處理流水線的輸出區(qū)域的一系列采樣點中的采樣點(或多組采樣點)。柵格化器針對正被柵格化的(各個)基元覆蓋的各個采樣點,和/或針對包括正被柵格化的(各個)基元覆蓋的采樣點的各組多個采樣點(例如,采樣掩模)優(yōu)選地生成圖形片段。
[0043]由柵格化器生成的各個片段可根據(jù)需要表示單個采樣點或多個采樣點(與單個采樣點或多個采樣點關(guān)聯(lián))。在優(yōu)選實施方式中,各個片段表示一組多個(優(yōu)選地四個(2x2))采樣點。
[0044]柵格化器可被配置為一次生成一個片段,但是在優(yōu)選實施方式中,能夠(同時)一次生成多個片段(例如,在基元覆蓋多個空間上相鄰的采樣點或多組采樣點的情況下)。在這種情況下,如果柵格化器同時生成一組多個片段,則所述組中的片段仍通過流水線的片段處理部分(諸如片段著色器)被優(yōu)選地單獨處理。柵格化器同時生成多個片段有助于形成背壓,從而使渲染流水線中“充滿”片段。
[0045]在尤其優(yōu)選的實施方式中,柵格化器是分級柵格化器,其進行操作以相對于采樣點的越來越小的補片反復(fù)地測試基元直至優(yōu)選地選擇的(優(yōu)選地預(yù)定的)最小補片尺寸,從而丟棄不覆蓋(至少部分地)基元的任何補片,并且隨后生成一個或多個片段,以對應(yīng)于被基元至少部分地覆蓋的采樣點的一個或多個補片進行渲染。優(yōu)選地測試的采樣點的各個補片對應(yīng)于整數(shù)片段,諸如16xl6、8x8、4x4和/或2x2片段。
[0046]柵格化器優(yōu)選地從渲染目標(biāo)區(qū)域的大補片開始并測試關(guān)注的基元是否在該補片內(nèi)。如果否,則丟棄整個補片,并且測試下一補片,等等。另一方面,如果發(fā)現(xiàn)基元在所述補片內(nèi)(以至少部分地覆蓋所述補片),則將所述補片優(yōu)選地再次劃分為4份,并且隨后按照相同方式測試各個“子補片”,等等,直至達到最小補片尺寸(在優(yōu)選實施方式中,最小補片尺寸對應(yīng)于2x2片段組)(但是可例如為單獨的采樣點、單獨的片段或不同尺寸的片段組)。
[0047]在該布置方式中,最小補片尺寸包含多個采樣點,在最終補片中,柵格化器優(yōu)選地隨后測試單獨的采樣點以確定它們是否被基元覆蓋,并且隨后對應(yīng)地生成片段。
[0048]在由柵格化器生成的片段可與多組多個采樣點關(guān)聯(lián)(并對應(yīng)于多組多個采樣點并表示多組多個采樣點)的情況下,各個這種圖形片段優(yōu)選地與指示與片段對應(yīng)的所述一組采樣點中的哪些采樣點被覆蓋(例如,優(yōu)選地,被正被采樣的基元覆蓋)的數(shù)據(jù)關(guān)聯(lián),即,實際上,與指示與所述片段對應(yīng)的所述一組采樣點中的那些采樣點的數(shù)據(jù)關(guān)聯(lián),所述片段正被用于渲染。
[0049]指示所述片段的哪些覆蓋的采樣點正被用于渲染的信息優(yōu)選地與通過渲染器的片段的片段數(shù)據(jù)的一部分(諸如片段的RGB和透明值)關(guān)聯(lián)。優(yōu)選地,采用覆蓋掩模的形式,針對與所述片段關(guān)聯(lián)的一組采樣點的各個采樣位置,其指示采樣位置是否被覆蓋,即,實際上,片段是否正被用于渲染采樣點(即,針對該采樣點,其數(shù)據(jù)是否應(yīng)該被存儲)。優(yōu)選地,這種覆蓋掩模采用位圖的形式,其表示采樣位置。柵格化器優(yōu)選地生成覆蓋掩模。
[0050]本發(fā)明的操作使用的早期剔除測試可包括任何合適的這種測試,諸如早期遮擋測試,諸如深度(Z)測試和/或早期模板測試。在尤其優(yōu)選的實施方式中,本發(fā)明的操作使用的早期剔除測試包括早期深度(Z)測試(或多個測試)。在優(yōu)選實施方式中,本發(fā)明的操作使用的早期剔除測試包括早期深度和早期模板測試二者。
[0051]圖形處理流水線的可用的早期剔除測試(早期剔除測試階段)中的任一個或全部可被配置為按照本發(fā)明的方式操作(觸發(fā)操作)。在圖形處理流水線包括一個以上早期剔除測試(早期剔除測試階段)時,優(yōu)選地,所有的早期剔除測試階段可觸發(fā)按照本發(fā)明的方式的操作。因此,在流水線中優(yōu)選地存在一個以上早期剔除測試。
[0052]早期剔除測試階段可在(多組)多個片段的補片上操作。例如,在柵格化器可將基元柵格化為多個片段的補片時,這些補片可隨后作為一個整體經(jīng)受早期剔除測試。在這種情況下,早期剔除測試將因此涉及一組多個片段(即,被考慮的片段的補片),并且關(guān)于與片段關(guān)聯(lián)的至少一個采樣點執(zhí)行早期剔除測試將包括關(guān)于由柵格化器生成的多個片段的至少一組(補片)執(zhí)行早期剔除測試(確實關(guān)于與片段關(guān)聯(lián)的至少一個采樣點執(zhí)行剔除測試,這是由于其針對與所述一組多個片段中的片段關(guān)聯(lián)的所有采樣點有效地執(zhí)行早期剔除測試)。
[0053]因此,在優(yōu)選實施方式中,流水線包括共同測試多個片段的補片(組)的早期深度(或早期深度和模板)測試器。該測試優(yōu)選地僅針對完全(完整地)被關(guān)注的基元覆蓋的多個片段的補片(組)執(zhí)行,并且優(yōu)選地使用多個片段的補片(組)的深度值范圍。
[0054]優(yōu)選地,通過早期“補片”剔除(例如,深度和/或模板)測試的多個片段的任何補片(組)可觸發(fā)按照本發(fā)明的方式的操作。
[0055]早期剔除測試可(另外或作為替代)優(yōu)選地,以及(另外)優(yōu)選地在單個片段上操作。因此,流水線優(yōu)選地包括測試單獨的片段的早期剔除測試器,優(yōu)選地,早期深度(或早期深度和模板)測試器。該測試優(yōu)選地僅針對完全(完整地)被關(guān)注的基元覆蓋的片段執(zhí)行,并且優(yōu)選地針對片段整體使用深度值范圍或單個深度值。
[0056]優(yōu)選地,通過該(單個片段)早期剔除(例如,深度和/或模板)測試的任何片段可觸發(fā)按照本發(fā)明的方式的操作。
[0057]在優(yōu)選實施方式中,早期剔除測試(存在早期剔除測試)(另外或作為替代),并且優(yōu)選地(另外)在單個采樣點和/或與給定片段所關(guān)聯(lián)的多組采樣點相比包含較少采樣點的多組采樣點(諸如,針對與片段關(guān)聯(lián)的四個采樣點中的兩個)上操作(測試)。在這種情況下,早期剔除測試優(yōu)選地在單個(覆蓋的)采樣點上操作。在這種情況下,各個采樣點將具有用于剔除測試的關(guān)聯(lián)的深度值,即,將針對各個采樣點具有深度值(可與其它采樣點共享)。
[0058]再者,優(yōu)選地,通過該采樣點早期剔除(例如,深度和/或模板)測試的任何采樣點可觸發(fā)按照本發(fā)明的方式的操作。
[0059]在尤其優(yōu)選的實施方式中,流水線包括測試多組多個片段和/或單獨的片段(關(guān)于此,可觸發(fā)按照本發(fā)明的方式的操作)的早期剔除測試,接著是測試單獨的采樣點的早期剔除測試(再次,優(yōu)選地,關(guān)于此,可觸發(fā)按照本發(fā)明的方式的操作)。這可繼而使得本發(fā)明能夠從例如覆蓋基元的完全拼塊至單個片段和/或采樣點顆粒生成隱藏面消除事件。
[0060]在尤其優(yōu)選的實施方式中,所述系統(tǒng)包括早期剔除測試,其將與采樣點、片段和/或一組多個片段(的補片)關(guān)聯(lián)的深度值范圍與存儲的與關(guān)注的采樣點、片段或一組多個片段(的補片)的位置關(guān)聯(lián)的深度值范圍進行比較,以確定正被測試的采樣點、片段或一組多個片段(的補片)是否通過早期剔除測試。
[0061]優(yōu)選地針對可考慮的(剔除測試的)片段的各個補片存儲深度值范圍。
[0062]早期剔除測試本身可按照任何合適和期望的方式執(zhí)行,例如,按照本領(lǐng)域中已知的正常方式和/或關(guān)注的圖形處理系統(tǒng)中所使用的方式執(zhí)行。例如,它們可具體地測試所述采樣點(或各個采樣點),或者即使它們不具體地測試所述采樣點(或各個采樣點),也可為具有測試采樣點的效果的測試。[0063]在尤其優(yōu)選的實施方式中,早期剔除測試(響應(yīng)于該早期剔除測試,確定另一采樣點的處理是否可減慢)是一種保守的早期深度測試,其優(yōu)選地主要進行操作以在早期剔除測試階段預(yù)測(確定)新的采樣點和/或片段是否將通過流水線中存在的后期(在流水線的末端)深度測試。
[0064]在尤其優(yōu)選的實施方式中,在渲染一組基元(例如,針對拼塊或繪制調(diào)用)之前,系統(tǒng)(和優(yōu)選地柵格化器)針對各個采樣位置、多組采樣位置、片段、片段位置、片段的補片和/或多組片段位置生成和/或存儲期望的深度值和優(yōu)選地期望的深度值范圍,當(dāng)測試由柵格化器生成的基元和片段等時,剔除測試可以并且優(yōu)選地在該深度值范圍內(nèi)進行。這些期望的深度值范圍應(yīng)該針對關(guān)注的補片等表示(涵蓋)深度值的所有可能的結(jié)果,并且優(yōu)選地隨著繼續(xù)柵格化和渲染而利用針對單獨的采樣位置、片段、片段的補片等的深度值和深度值范圍進行更新,所述單獨的采樣位置、片段、片段的補片被生成并存儲為采樣點和片段,它們在通過圖形處理流水線處理時經(jīng)歷早期和后期深度測試。
[0065]早期剔除測試可實現(xiàn)為例如柵格化器的一部分,或在柵格化器之后(但在渲染器之前),或作為它們的組合(例如,存在一個以上早期剔除測試)。在優(yōu)選實施方式中,它或它們實現(xiàn)為柵格化處理的一部分和/或在柵格化器之后但在圖形處理流水線的其余部分之
N /.刖。
[0066]如果正被測試的采樣點或一個或多個片段未通過早期剔除測試(例如,發(fā)現(xiàn)被遮擋),則該采樣點或一個或多個片段優(yōu)選地從流水線中的進一步處理中“剔除”,如本領(lǐng)域中所知的。
[0067]可按照任何期望和合適的方式實現(xiàn)(和提供)這種剔除。例如,在剔除測試是關(guān)于整個片段(或一組多個整個片段)的時,則優(yōu)選地所述片段或一組多個片段未通過流水線向前發(fā)送以進行處理(例如,進行渲染)(即,它們“被剔除”),如本領(lǐng)域中所知的。
[0068]另一方面,如果剔除測試是關(guān)于比與要渲染的片段關(guān)聯(lián)的所有采樣點更少的采樣點的,則優(yōu)選地防止(停止)關(guān)注的采樣點(即,未通過剔除測試)的進一步處理,例如,通過將采樣點標(biāo)記為“失效”(例如,通過指示它們未被與關(guān)注的片段關(guān)聯(lián)的覆蓋掩模覆蓋),或者按照任何其它合適的方式,但是關(guān)注的片段仍然(通過流水線)向前發(fā)送,使得與片段關(guān)聯(lián)的“未剔除的”采樣點仍被處理。
[0069]如果正被測試的至少一個采樣點通過早期剔除測試,則被測試的采樣點(即,與采樣點關(guān)聯(lián)的片段)、片段或一組多個片段被向前發(fā)送以進行處理(例如,朝著渲染器),仍然如本領(lǐng)域中所知的。然而,在這種情況下,響應(yīng)于采樣點通過早期剔除測試(作為采樣點通過早期剔除測試的結(jié)果),還確定在流水線中的另一采樣點的處理是否應(yīng)該減慢(并且如果響應(yīng)于采樣點通過早期剔除測試等(作為采樣點通過早期剔除測試等的結(jié)果),確定已在流水線中的采樣點的處理應(yīng)該減慢,則采樣點的處理優(yōu)選地隨后減慢)。
[0070]在這點上,處理可在采樣點水平(分辨率)(而非例如關(guān)于整個片段)進行操作,并因此進行測試,并減慢與已在流水線中的片段關(guān)聯(lián)的單獨的采樣點的處理。在早期剔除測試測試單獨的采樣點時,這可尤其合適,并將使得例如所述處理能夠“除掉”與流水線中的片段關(guān)聯(lián)的采樣點(例如,使得一旦確定“減慢”與片段關(guān)聯(lián)的所有(覆蓋的)采樣點,整個片段的處理就可隨后減慢)。
[0071]同樣地,處理可被配置為另外或替代性地關(guān)于整個片段操作,S卩,使得如果整個片段(或一組多個片段)通過早期剔除測試,則確定流水線中的任何片段的處理是否應(yīng)該減慢。在早期剔除測試測試片段以及替代性地測試單獨的采樣點時,這可尤其合適。
[0072]因此,在優(yōu)選實施方式中,早期剔除測試測試片段和/或多組多個片段,并且如果正被測試的片段或一組片段通過早期剔除測試,則作為片段或一組片段通過早期剔除測試的結(jié)果,確定已在流水線中的片段和/或一組多個片段的處理是否應(yīng)該減慢。
[0073]各組多個片段優(yōu)選地為一組四個片段,優(yōu)選地為2x2片段組。
[0074]在優(yōu)選實施方式中,以渲染流水線在其上操作的實體(諸如(優(yōu)選地)片段或多組多個片段(例如2x2組片段))的分辨率執(zhí)行所述確定。
[0075]作為至少一個采樣點和/或片段通過早期剔除測試的結(jié)果,優(yōu)選地確定已在流水線中的多個采樣點和/或片段中的任一個的處理是否應(yīng)該減慢。
[0076]雖然可關(guān)于通過早期剔除測試的各個片段(與通過早期剔除測試的采樣點關(guān)聯(lián))執(zhí)行按照本發(fā)明的方式的操作(以減慢圖形流水線中的其它片段等的處理,和潛在地隨后“終止”所述其它片段),但是在尤其優(yōu)選的實施方式中,僅關(guān)于選擇的(并通過早期剔除測試的)片段(優(yōu)選地符合特定選定的(優(yōu)選地預(yù)定的)標(biāo)準(zhǔn)的片段)執(zhí)行按照本發(fā)明的方式的操作。
[0077]因此,在尤其優(yōu)選的實施方式中,對已在流水線中的任何其它采樣點和/或片段的處理是否應(yīng)該減慢的確定至少部分地基于通過早期剔除測試的片段和/或采樣點是否還具有特定的(優(yōu)選地選擇的)一個或多個屬性(符合必要的(選擇的)標(biāo)準(zhǔn)以(具有必要的屬性以)(潛在地)減慢另一采樣點的處理),并且如果所述片段等不具有所述屬性,則優(yōu)選地不響應(yīng)于至少一個采樣點通過早期剔除測試來確定圖形處理流水線中的另一采樣點的處理是否應(yīng)該減慢)。
[0078]因此,在優(yōu)選實施方式中,對采樣點和/或片段的處理是否應(yīng)該減慢的確定經(jīng)歷進一步的檢查和/或標(biāo)準(zhǔn)。
[0079]類似地,在優(yōu)選實施方式中,如果片段(或采樣點)通過早期剔除測試,則首先檢查片段(或采樣點)的其它屬性以在減慢流水線中的片段(或采樣點)處理的之前確定其(或它們的)處理是否應(yīng)該(潛在地)減慢。
[0080]通過早期剔除測試隨后觸發(fā)按照本發(fā)明的方式的操作的片段的標(biāo)準(zhǔn)可為任何選定和合適的標(biāo)準(zhǔn)。
[0081]在尤其優(yōu)選的實施方式中,在這點上,正被早期剔除測試的片段和/或采樣點的特定屬性是片段和/或采樣點是否將受到作為其處理的一部分的附條件的丟棄測試(即,具有與其關(guān)聯(lián)的指示片段和/或采樣點當(dāng)其通過圖形處理流水線被處理時可被稍后丟棄的狀態(tài),例如并優(yōu)選地,在與其關(guān)聯(lián)的著色器中具有附條件的丟棄)。(如本領(lǐng)域中所知的,要渲染的一些片段可受到作為渲染處理的一部分的可導(dǎo)致這些片段(例如)被丟棄的各種附條件的丟棄測試或狀態(tài)。這可用于例如當(dāng)渲染柵欄或樹上的樹葉時(在這種情況下,針對樹葉/柵欄之間的空間使用丟棄)。這些片段是優(yōu)選地應(yīng)用本發(fā)明的片段。)
[0082]因此,在優(yōu)選實施方式中,所述標(biāo)準(zhǔn)優(yōu)選地包括受到作為其處理的一部分的一個或更多個附條件的丟棄測試的片段。在優(yōu)選實施方式中,它們包括以下的一個或更多個以及優(yōu)選地全部:具有全RGB寫掩模的片段;不具有依賴于先前RGBA值的混合功能的片段;用于不從拼塊緩沖器讀取的片段的著色器程序;完全不透明的片段;以及未強制(通過應(yīng)用程序員)執(zhí)行后期深度更新的片段,其中基于以下原因執(zhí)行后期深度更新:透明測試;透明至覆蓋;著色器包含丟棄;混合著色器包含丟棄;或者著色器中具有相同位置的較早的片段強制進行后期深度更新。
[0083]換句話說,優(yōu)選地,允許(使用)由于透明測試、透明至覆蓋測試、著色器包含丟棄、混合著色器包含丟棄、或者著色器中的較早的片段強制進行后期深度更新而強制執(zhí)行后期深度更新的片段來觸發(fā)按照本發(fā)明的方式的操作,以(潛在地)減慢其它片段和/或采樣點的處理,但是不允許(不使用)針對任何其它原因強制執(zhí)行后期深度更新的片段觸發(fā)按照本發(fā)明的方式的操作以(潛在地)減慢其它片段和/或采樣點的處理。
[0084]在尤其優(yōu)選的實施方式中,除了其它的以外,對已在流水線中的任何其它采樣點和/或片段的處理是否應(yīng)該減慢的確定基于已通過剔除測試的采樣點和/或片段是否可重復(fù)渲染(并且優(yōu)選地,它們是否可遮擋)已在流水線中的采樣點和/或片段(由于如果稍后的采樣點和/或片段通過例如早期深度測試,則可表示這些采樣點和/或片段可位于表示已在流水線中的相同位置的任何采樣點和/或片段之前(并且如果它們是不透明的,則(潛在地)遮擋所述任何采樣點和/或片段))。
[0085]因此,優(yōu)選地,通過圖形處理流水線的一個或多個稍后的階段執(zhí)行在早期剔除測試“通過”事件中對其處理應(yīng)該被減慢的那些采樣點和/或片段的確定,所述一個或多個稍后的階段識別(確定)其當(dāng)前包含(例如,處理)的可潛在地通過通過早期剔除測試的一個或多個采樣點和/或一個或多個片段(合適地)重復(fù)渲染的任何采樣點和/或片段。
[0086]可按照任何合適和期望的方式執(zhí)行這種處理,但是優(yōu)選地通過將當(dāng)前占據(jù)流水線階段的采樣點和/或片段中的一個或一些或全部的(例如,(X,Y?位置與通過早期剔除測試的采樣點和/或片段的(例如,(X,Y?位置進行比較來實現(xiàn)。
[0087]在考慮采樣點(相對于整個片段)時,這一點通過將關(guān)注的采樣點的“實際”位置(但是在優(yōu)選實施方式中,通過將表示關(guān)注的采樣點的片段的位置)與片段中的采樣點的相對位置進行比較來實現(xiàn)(例如,基于與片段關(guān)聯(lián)的覆蓋掩模)。
[0088]在考慮片段時,這一點優(yōu)選地通過將當(dāng)前占據(jù)流水線階段的片段中的一個或一些或全部的位置與通過早期剔除測試的片段的位置進行比較來實現(xiàn)。
[0089]在考慮一組多個片段(B卩,已通過早期剔除測試)時,這優(yōu)選地通過將當(dāng)前占據(jù)流水線階段的片段或多組片段的一個或一些或全部的位置與通過早期剔除測試的所述一組多個片段中的片段覆蓋的位置(區(qū)域)的范圍進行比較來實現(xiàn)。
[0090]在渲染輸出(的平面)中與通過早期剔除測試的采樣點和/或片段(合適地)占據(jù)相同位置(即,具有相同的(X,y)位置)的任何當(dāng)前采樣點和/或片段的處理因此可(并且優(yōu)選地)(選擇性地)減慢(例如,以同樣符合的減慢采樣點的處理的其它標(biāo)準(zhǔn)為準(zhǔn))。
[0091]在優(yōu)選實施方式中,對采樣點和/或片段的處理是否應(yīng)該減慢的確定以其它檢查和/或標(biāo)準(zhǔn)為準(zhǔn)。優(yōu)選地,首先檢查已在流水線中的其處理潛在地將要減慢(例如,將潛在地被遮擋)的片段(或采樣點)的其它屬性,以在減慢流水線中的片段(或采樣點)的處理之前,確定其(或它們的)處理是否基于任何其它原因仍應(yīng)該以正常優(yōu)先級(以正常速度)進行,所述其它原因例如因為其具有諸如與仍被需要的遮擋查詢關(guān)聯(lián)的仍被需要的副作用。這種檢查優(yōu)選地包括確定已在流水線中的片段(或采樣點)是否因為遮擋查詢(具有其附帶的有效的遮擋查詢)或者因為其它副作用(在這種情況下,優(yōu)選地不減慢其處理)而被需要。[0092]因此,在尤其優(yōu)選的實施方式中,圖形處理流水線被配置為,響應(yīng)于與片段關(guān)聯(lián)的至少一個采樣點通過早期剔除測試,選擇性地減慢已在流水線中的采樣點和/或一個或多個片段的處理。
[0093]當(dāng)采樣點或一個或多個片段通過早期剔除測試時,可按照任何合適和期望的方式實施確定流水線中的任何采樣點和/或片段的處理是否應(yīng)該減慢的操作。
[0094]優(yōu)選地,采樣點或一個或多個片段通過早期剔除測試(并符合任何其它要求的標(biāo)準(zhǔn)以(潛在地)減慢其它片段的處理等)的事件觸發(fā)了將相關(guān)信息(諸如,并且優(yōu)選地通過測試的采樣點或片段的位置)廣播至處理流水線中的其它(例如,稍后的)階段,那些其它(例如,稍后的)階段優(yōu)選地隨后利用所述信息來估計它們當(dāng)前處理的任何采樣點或片段的處理是否應(yīng)該減慢(例如,并且優(yōu)選地,按照上面討論的方式)。
[0095]在測試關(guān)于整個片段時,該位置信息優(yōu)選地包括關(guān)注的片段的(x,y)位置,如上面的討論。在測試關(guān)于一組多個片段時,該位置信息優(yōu)選地包括由關(guān)注的所述一組多個片段中的片段覆蓋的(X,y)位置的范圍(仍然如上面的討論)。在測試關(guān)于采樣點時,位置信息優(yōu)選地包括與采樣點關(guān)聯(lián)的片段的U,y)位置,以及關(guān)于采樣點是哪個用于片段的采樣點位置的指示(優(yōu)選地,以覆蓋掩模的形式,如上面的討論)。
[0096]因此,在尤其優(yōu)選的實施方式中,圖形處理系統(tǒng)被配置為,如果與片段關(guān)聯(lián)的至少一個采樣點通過早期剔除測試,則將關(guān)于已通過早期剔除測試的至少一個采樣點(和/或關(guān)注的片段)的信息廣播至圖形處理流水線的至少一個(優(yōu)選地其它(以及優(yōu)選地,稍后的))階段,并且圖形處理流水線的至少一個階段被配置為利用廣播的與通過早期剔除測試的至少一個采樣點和/或片段關(guān)聯(lián)的信息來確定與當(dāng)前在該階段中的片段關(guān)聯(lián)的任何片段和/或采樣點的處理是否應(yīng)該減慢。根據(jù)上面的討論,優(yōu)選地,僅在通過早期剔除測試的至少一個采樣點和/或片段也符合其它標(biāo)準(zhǔn)(諸如,并且優(yōu)選地,以當(dāng)其通過圖形處理流水線處理時潛在地被丟棄為準(zhǔn))時將所述信息廣播至圖形處理流水線的其它階段。
[0097]如上面的討論,最優(yōu)選地,早期剔除測試包括早期深度測試,和/或圖形處理流水線的至少一個階段被配置為利用廣播的與通過早期剔除測試的采樣點和/或片段關(guān)聯(lián)的信息來確定當(dāng)前在該階段的任何采樣點和/或片段是否將被通過早期剔除測試的采樣點和/或片段潛在地重復(fù)渲染,并且如果存在任何這樣的采樣點或片段,則選擇性地減慢這些潛在地重復(fù)渲染的采樣點和/或片段的以后的處理。
[0098]因此,在尤其優(yōu)選的實施方式中,圖形處理流水線被配置為:
[0099]在通過流水線向前發(fā)送片段以進行處理之前,針對與片段關(guān)聯(lián)的至少一個采樣點和/或針對由柵格化器生成的至少一個片段執(zhí)行早期深度測試;
[0100]如果至少一個采樣點或至少一個片段通過早期深度測試(并且在優(yōu)選實施方式中,如果至少一個采樣點或至少一個片段當(dāng)其通過圖形處理流水線處理時潛在地被丟棄),則向前發(fā)送片段以進行處理,并且將關(guān)于通過早期深度測試的至少一個采樣點或至少一個片段的信息廣播至圖形處理流水線的至少一個(優(yōu)選地稍后的)階段;以及
[0101]圖形處理流水線的至少一個階段被配置為,使用與通過早期深度測試的至少一個采樣點或至少一個片段關(guān)聯(lián)的廣播信息來確定當(dāng)前在所述階段的任何采樣點和/或片段是否將潛在地被通過早期深度測試的至少一個采樣點或至少一個片段重復(fù)渲染,并且如果存在任何這樣的采樣點或片段,則選擇性地減慢對那些潛在地重復(fù)渲染的采樣點和/或片段的進一步處理。
[0102]如上面的討論,最優(yōu)選地,廣播至圖形處理流水線的階段的信息包括通過早期剔除測試的采樣點和/或片段的位置,和/或圖形處理流水線的至少一個階段被配置為利用廣播的與通過早期剔除測試的采樣點和/或片段關(guān)聯(lián)的位置信息來確定當(dāng)前在該階段的任何采樣點和/或片段是否與通過早期剔除測試的采樣點和/或片段在渲染目標(biāo)(目的地緩沖器)(例如,正被處理的拼塊)中占據(jù)相同位置,并且選擇性地減慢與通過早期剔除測試的采樣點和/或片段在渲染目標(biāo)中占據(jù)相同位置的任何采樣點和/或片段的以后的處理。
[0103]在早期剔除測試“通過”事件中確定任何采樣點和/或片段的處理是否可減慢的處理流水線的一個或多個階段可包括圖形處理流水線的任何期望和合適的階段。它們優(yōu)選地包括圖形處理流水線的至少一個稍后的階段(即,在早期剔除測試和/或柵格化器之后的階段)。為此,所述處理流水線可根據(jù)需要分為許多階段。
[0104]在一個優(yōu)選實施方式中,該階段是圖形處理流水線的渲染器(該確定由渲染器實現(xiàn))??赡艿氖牵?,渲染器作為整體按照本發(fā)明的方式操作的單個階段處理,或者作為(并分為)彼此獨立地起作用的多個分離的階段處理。因此,在優(yōu)選實施方式中,早期剔除測試“通過”事件信息被(至少)廣播至圖形處理流水線的渲染器和/或渲染器的一個或多個部分(渲染器或渲染器的一個或多個部分隨后按照本發(fā)明的方式操作)。
[0105]在早期剔除測試“通過”事件中確定任何采樣點或片段的處理是否可減慢的處理流水線的一個或多個階段優(yōu)選地另外或替代性地包括例如可以有效地剔除片段的流水線的其它階段,諸如早期剔除測試(從而嘗試減慢例如仍經(jīng)歷早期剔除測試的片段(例如稍后在早期剔除測試流水線中的片段)的處理,和/或柵格化器(從而嘗試減慢例如仍經(jīng)歷柵格化的較早的片段(和/或片段的補片)的處理(未完全柵格化的))。
[0106]在尤其優(yōu)選的實施方式中,多個片段(以及優(yōu)選地階段中的所有片段)和/或采樣點可并行測試。這隨后有利于有效地利用可一次測試?yán)缍鄠€片段的補片的早期剔除測試。優(yōu)選地,布置方式為使得流水線階段可以與早期剔除測試通過事件可生成潛在的“減慢”機會的速率相同的速率減慢采樣點和片段的處理等。
[0107]根據(jù)上面的討論,在確定采樣點和/或片段的處理應(yīng)該減慢時,優(yōu)選地減慢片段和/或采樣點通過流水線的處理。
[0108]“減慢的”片段等應(yīng)該與正常相比更慢地被處理,但是采樣點和/或片段的處理的減慢程度可根據(jù)需要選擇。這里應(yīng)該注意,期望的是,采樣點和/或片段的處理只是相對于其通過流水線正常處理的速度而言減慢或延遲,而非采樣點和/或片段此時被“減慢”丟棄(永遠停止)從而不通過流水線進行進一步處理。因此,雖然片段等的處理減慢了,但所述片段等并不(在減慢時)被丟棄從而不通過流水線進行進一步處理。
[0109]在尤其優(yōu)選的實施方式中,流水線中的片段和/或采樣點的處理減慢包括延遲流水線中的片段和/或采樣點的處理,使得觸發(fā)減慢流水線中超過“減慢的”片段或采樣點的關(guān)注的片段或采樣點的處理的采樣點或片段,以及優(yōu)選地使得觸發(fā)減慢關(guān)注的片段或采樣點的處理的采樣點或片段應(yīng)該(并優(yōu)選地)在完成流水線中的“減慢的”片段或采樣點的處理之前在流水線中完成其一個或多個附條件的丟棄測試。如將在稍后的描述,這隨后使得“觸發(fā)”片段或采樣點能夠用于(潛在地)丟棄(“終止”)減慢的片段等,以防止通過流水線的進一步處理。[0110]按照任何期望和合適的方式減慢確定其處理應(yīng)該減慢的采樣點和/或片段的處理。
[0111]在一個優(yōu)選實施方式中,流水線中的片段和/或采樣點的處理減慢包括暫停流水線中的片段和/或采樣點的處理,(例如,并且優(yōu)選地,直至“觸發(fā)”片段和/或采樣點已完成其一個或多個附條件的丟棄測試)。
[0112]可根據(jù)需要實現(xiàn)這種流水線中的片段等處理的暫停。在一個優(yōu)選實施方式中,暫停的片段等布置在“僵化池”(它們的處理在這里暫停)中。
[0113]在另一優(yōu)選實施方式中,流水線中的片段和/或采樣點的處理減慢包括(例如并優(yōu)選地)通過為“減慢的”片段賦予用于緩存區(qū)訪問和/或用于通過流水線的其它處理的較低優(yōu)先級(相對于未減慢的片段等)去優(yōu)先(de-prioritising)流水線中的片段和/或采樣點的處理(降低其優(yōu)先級)。
[0114]可實現(xiàn)或期望這種通過流水線去優(yōu)先片段等的處理。
[0115]在尤其優(yōu)選的實施方式中,具有要處理的指令的片段布置在片段池中,當(dāng)完成指令時,并且當(dāng)存在預(yù)備用于執(zhí)行的緩存命中和指令時,合適的片段隨后被從片段池中取出并執(zhí)行。通過當(dāng)確定是否應(yīng)該允許將片段從片段池中取出時增加優(yōu)先級狀態(tài)作為額外考慮因素,片段可隨后使它們的處理優(yōu)先級降低。
[0116]在優(yōu)選實施方式中,片段等通過將識別出的采樣點和/或片段標(biāo)記為“去優(yōu)先”(具有降低的處理優(yōu)先級)來去優(yōu)先。相關(guān)處理階段可隨后在對采樣點和/或片段進行任何處理之前例如檢查采樣點和/或片段是否已被去優(yōu)先,并且因此隨后處理具有正?;蚪档偷膬?yōu)先級的片段等。這將繼而減慢去優(yōu)先采樣點和/或片段的處理。
[0117]就采樣點而言,針對關(guān)注的片段,優(yōu)選地通過在諸如采樣點掩模的元數(shù)據(jù)中合適地設(shè)置值來將采樣點標(biāo)記為去優(yōu)先。
[0118]當(dāng)將要考慮片段整體時,各個片段可例如具有與其關(guān)聯(lián)的“去優(yōu)先”比特(例如作為其關(guān)聯(lián)的片段數(shù)據(jù)的一部分),該比特如果被設(shè)置,則指示片段的處理已被去優(yōu)先。在一個優(yōu)選實施方式中就是這樣做的。處理階段可隨后檢查它們接收以進行處理的各個片段的“去優(yōu)先”比特。如果單獨采樣點的測試最終去優(yōu)先與片段關(guān)聯(lián)的所有采樣點,則可設(shè)置該比特。
[0119]另選的布置方式(諸如使具有去優(yōu)先標(biāo)簽的像緩存區(qū)那樣操作的片段隊列在設(shè)置片段的去優(yōu)先標(biāo)簽時釋放隊列(緩存區(qū))行)可用作替代,或根據(jù)需要另外使用。
[0120]一旦片段和/或采樣點觸發(fā)了減慢已在流水線中的其它片段等,則在尤其優(yōu)選的實施方式中,一旦這種觸發(fā)片段完成(和通過)其可經(jīng)受的所有丟棄狀態(tài)(即,執(zhí)行了所有附條件的丟棄測試并未被丟棄),則隨后進一步確定仍在流水線中的任何較早的片段等的處理是否可停止(例如,基于已知“觸發(fā)”片段等將遮擋住那些其它片段等(因為其未被丟棄并且將不被丟棄))。例如,一旦“觸發(fā)”片段通過流水線完成其處理,和/或一旦其經(jīng)歷(并通過)其最終的附條件的丟棄測試,就可實現(xiàn)這個目的。
[0121]因此,在尤其優(yōu)選的實施方式中,如果預(yù)先觸發(fā)減慢流水線中的其它片段和/或采樣點的處理的采樣點和/或片段通過所有其關(guān)聯(lián)的附條件的丟棄測試(即,未被丟棄),則確定圖形處理流水線中正處理的另一采樣點和/或片段的處理是否可停止。
[0122]因此,這意味著片段通過所有其附條件的丟棄測試的結(jié)果可用于避免和/或停止處理(“終止”)仍在流水線中的較早的基元的采樣點。
[0123]這里應(yīng)該注意,該操作當(dāng)與本發(fā)明的操作結(jié)合以減慢或延遲可潛在地被早期剔除測試之后的片段遮擋的片段等的處理時,意味著“減慢”觸發(fā)片段通過其附條件的丟棄測試的結(jié)果可隨后用于在那些減慢的片段通過流水線徹底處理之前例如“終止”觸發(fā)片段在流水線中超過并且將實際上被觸發(fā)片段遮擋的任何“減慢的片段”。這樣,即使不能在早期剔除測試(例如深度測試)階段足夠無疑地確定新的片段(例如)是否將實際上遮擋已在流水線中的片段,也隨后使得稍后的片段能夠用于關(guān)于在流水線中的稍后的片段之前的較早的片段執(zhí)行隱藏面消除。
[0124]因此,例如,并且不像現(xiàn)有技術(shù)那樣,可使用本發(fā)明以降低或避免在基元和/或片段實際上被在渲染順序上稍后的基元遮擋的情況下的“重復(fù)渲染”。這樣做的效果是,與例如現(xiàn)有的早期深度測試技術(shù)相比,本發(fā)明可進一步降低在圖形處理流水線中不必要地處理隱藏面的程度。
[0125] 申請人:進一步認識到,對新的觸發(fā)片段等在流水線中可超過的已在流水線中的片段的“減慢”更多,這種操作將更加有效。因此,根據(jù)上面的討論,優(yōu)選的是,減慢片段等的處理為諸如使得觸發(fā)片段能夠超過其“減慢”的一些(以及優(yōu)選地全部)片段等。
[0126]據(jù)認為,使用采樣點和/或片段在圖形處理流水線中通過附條件的丟棄測試的結(jié)果以確定流水線中較早的片段等的處理是否可停止的想法本身可以是新穎的并且有益的。
[0127]因此,根據(jù)本發(fā)明的另一方面,提供了一種操作圖形處理流水線的方法,所述圖形處理流水線包括多個處理階段,該多個處理階段包括:柵格化器,其柵格化輸入基元以生成要處理的圖形片段,各個圖形片段具有與其關(guān)聯(lián)的一個或更多個采樣點;以及渲染器,其處理由柵格化器生成的片段以生成輸出片段數(shù)據(jù),所述方法包括以下步驟:
[0128]關(guān)于與由柵格化器生成的片段關(guān)聯(lián)的至少一個采樣點執(zhí)行附條件的丟棄測試;以及
[0129]如果至少一個采樣點通過附條件的丟棄測試,則在流水線中向前發(fā)送片段,并且作為至少一個采樣點通過附條件的丟棄測試的結(jié)果,確定圖形處理流水線中的另一采樣點的處理是否可停止。
[0130]根據(jù)本發(fā)明的另一方面,提供了一種圖形處理流水線,該圖形處理流水線包括:
[0131]多個處理階段,該多個處理階段包括:柵格化器,其柵格化輸入基元以生成要處理的圖形片段,各個圖形片段具有與其關(guān)聯(lián)的一個或更多個采樣點;渲染器,處理由柵格化器生成的片段以生成輸出片段數(shù)據(jù),并且其中:
[0132]可關(guān)于與由柵格化器生成的片段關(guān)聯(lián)的采樣點執(zhí)行附條件的丟棄測試;并且
[0133]其中,所述圖形處理流水線被配置為:
[0134]響應(yīng)于與由柵格化器生成的片段關(guān)聯(lián)的至少一個采樣點通過附條件的丟棄測試,在流水線中向前發(fā)送片段,并且作為至少一個采樣點通過附條件的丟棄的結(jié)果,確定圖形處理流水線中的另一采樣點的處理是否可停止。
[0135]本發(fā)明的操作使用的附條件的丟棄測試包括任何合適的這種測試,諸如當(dāng)渲染樹葉或柵欄時使用的形式的測試。
[0136]圖形處理流水線的任何或所有可用的附條件的丟棄測試(附條件的丟棄測試階段)可被配置為按照這種方式操作(按照這種方式觸發(fā)操作)。優(yōu)選地,一旦片段等通過其將要經(jīng)受的最終附條件的丟棄測試,就進行確定。
[0137]一個或多個附條件的丟棄測試本身可按照任何合適和期望的方式執(zhí)行,例如,按照本領(lǐng)域中已知的正常方式執(zhí)行和/或用于關(guān)注的圖形處理系統(tǒng)中。
[0138]另一方面,如果觸發(fā)減慢流水線中的其它片段等的處理的一個或多個采樣點或者一個或多個片段未通過其將要經(jīng)受的附條件的丟棄測試(即,作為附條件的丟棄測試的結(jié)果,被丟棄),則 申請人:認識到將不可能安全地丟棄流水線中的由關(guān)注的片段減慢的任何片段等(這是因為觸發(fā)片段已被丟棄,從而觸發(fā)片段等將實際上不遮擋“減慢的”片段)。因此,在這種情況下,作為關(guān)注的片段等通過早期剔除測試的結(jié)果而減慢的任何片段等應(yīng)該繼續(xù)(并且優(yōu)選地仍然)通過圖形處理流水線被處理。
[0139]在這種情況下,“減慢的”片段等將簡單地以較慢的速率繼續(xù)被處理。然而,在尤其優(yōu)選的實施方式中,如果觸發(fā)減慢它們的處理的片段等隨后被丟棄,則“減慢的”片段等復(fù)原以按照較高(并且優(yōu)選地按照正常)(它們“恢復(fù)的”)優(yōu)先級處理。優(yōu)選地,如果觸發(fā)片段等基于任何其它原因例如憑借本發(fā)明的操作被丟棄(“終止”),則可實現(xiàn)這一點。
[0140]因此,這些實施方式和本發(fā)明的方面優(yōu)選地還包括:如果至少一個采樣點未通過附條件的丟棄測試(被丟棄),則丟棄未通過附條件的丟棄測試的至少一個采樣點,并且作為至少一個采樣點未通過附條件的丟棄測試的結(jié)果,確定圖形處理流水線中的另一采樣點的處理是否應(yīng)該恢復(fù)。
[0141]可根據(jù)需要實現(xiàn)先前減慢片段等的這種“恢復(fù)”。在優(yōu)選實施方式中,通過發(fā)送將觸發(fā)關(guān)注的片段等的合適的“恢復(fù)”的“恢復(fù)”信號來實現(xiàn)。
[0142]這些“終止”和“恢復(fù)”處理可在采樣點水平(分辨率)(而非例如關(guān)于整個片段)進行操作,并因此進行測試,并停止進一步處理或恢復(fù)與在流水線中的較早的片段關(guān)聯(lián)的單獨的采樣點。在附條件的丟棄測試測試單獨的采樣點時,這可尤其合適,并將使得例如所述處理能夠“除掉”與仍在流水線中的片段關(guān)聯(lián)的采樣點(例如,直至其采樣點全部“停止”(或恢復(fù)),此時可隨后丟棄(或“恢復(fù)”)整個片段)。
[0143]同樣地,所述處理可被配置為關(guān)于整個片段另外或替代性地操作,S卩,使得如果整個片段(或一組多個片段)通過(最終)附條件的丟棄測試,則確定仍在流水線中的任何片段的處理是否可停止。
[0144]在優(yōu)選實施方式中,如果正被測試的片段整體通過(或未通過)附條件的測試,則作為片段通過(或未通過)附條件的丟棄測試的結(jié)果,確定流水線中的較早的片段的處理是否可停止(或分別恢復(fù))。
[0145]在優(yōu)選實施方式中,以渲染流水線在其上操作的實體(諸如(優(yōu)選地)片段)的分辨率執(zhí)行所述確定。
[0146]優(yōu)選地,作為至少一個采樣點和/或片段通過(或分別未通過)附條件的丟棄測試的結(jié)果,確定流水線中的較早的多個采樣點和/或片段中的任一個的處理是否可停止(或恢復(fù))。
[0147]對流水線中的較早的任何其它采樣點和/或片段的處理是否可停止的確定可基于任何期望和合適的標(biāo)準(zhǔn)。在尤其優(yōu)選的實施方式中,基于已經(jīng)通過所有它們的附條件的丟棄測試的采樣點和/或片段是否將重復(fù)渲染(并優(yōu)選地它們是否將遮擋)流水線中的采樣點和/或片段(由于如果采樣點和/或片段已通過所有它們的附條件的丟棄測試(和早期深度測試),則應(yīng)該指示這些采樣點和/或片段將在在它們之前進入流水線的表示相同位置的任何采樣點和/或片段前方(并因此遮擋(如果它們不透明)所述任何采樣點和/或片段))。
[0148]因此,在附條件的丟棄測試“通過”事件中對不再需要被處理的那些采樣點和/或片段的確定優(yōu)選地通過圖形處理流水線的一個或多個階段來執(zhí)行,所述一個或多個階段識別出(確定)其當(dāng)前包含(例如處理)的任何采樣點和/或片段將被通過附條件的丟棄測試的一個或多個采樣點和/或一個或多個片段(合適地)重復(fù)渲染。
[0149]對流水線中的任何其它采樣點和/或片段的處理是否可恢復(fù)的確定可類似地基于任何期望和合適的標(biāo)準(zhǔn)。在尤其優(yōu)選的實施方式中,這基于流水線中的減慢的采樣點和/或片段是否可不再被未通過附條件的丟棄測試的采樣點和/或片段重復(fù)渲染(并且優(yōu)選地它們是否可不再被遮擋)(由于如果采樣點和/或片段未通過附條件的丟棄測試并被丟棄,則將意味著這些采樣點和/或片段將不在在它們之前進入流水線的表示相同位置的任何采樣點和/或片段之前(并且因此不遮擋(如果它們不透明)所述任何采樣點和/或片段))。
[0150]因此,在附條件的丟棄測試“未通過”事件中對可恢復(fù)的這些采樣點和/或片段的確定優(yōu)選地通過圖形處理流水線的一個或多個階段來執(zhí)行,所述一個或多個階段識別出(確定)其當(dāng)前包含(例如,處理)的現(xiàn)在可不被未通過附條件的丟棄測試的一個或多個采樣點和/或一個或多個片段(合適地)重復(fù)渲染的任何采樣點和/或片段。
[0151]可按照任何合適和期望的方式執(zhí)行這些處理,但是優(yōu)選地通過將當(dāng)前占據(jù)流水線階段的采樣點和/或片段的一個或一些或全部的(例如(X,y))位置與通過(或未通過)附條件的丟棄測試的采樣點和/或片段的(例如(X,y)>位置進行比較來執(zhí)行。
[0152]在考慮采樣點(相對于整個片段)時,通過將關(guān)注的采樣點的“實際”位置(但是在優(yōu)選實施方式中,通過將表示關(guān)注的采樣點的片段的位置)與片段中的采樣點的相對位置(例如,基于與片段關(guān)聯(lián)的覆蓋掩模)進行比較來執(zhí)行。
[0153]在考慮片段時,優(yōu)選地通過將當(dāng)前占據(jù)流水線階段的片段中的一個或一些或全部的位置與通過或未通過附條件的丟棄測試的片段的位置進行比較來執(zhí)行。
[0154]在考慮(例如,通過后期剔除測試的)一組多個片段時,優(yōu)選地,通過將當(dāng)前占據(jù)流水線階段的片段中的一個或一些或全部的位置與通過附條件的丟棄測試的所述一組多個片段中的片段覆蓋的位置(區(qū)域)的范圍進行比較來執(zhí)行。
[0155]優(yōu)選地關(guān)于比觸發(fā)它們的減慢的片段等“更舊的”(在所述片段之前已在流水線中的)片段等執(zhí)行確定片段等是否應(yīng)該“終止”或“恢復(fù)”的處理。要處理的基元(進而片段和/或采樣點)可與時間戳關(guān)聯(lián)以有利于此。
[0156]在渲染輸出(的平面)中與通過(或未通過)附條件的丟棄測試的(合適的)采樣點和/或片段占據(jù)相同位置(即,具有相同(X,y)位置)的任何較舊的采樣點和/或片段的處理可隨后(并優(yōu)選地隨后)(選擇性地)停止(或分別恢復(fù))(例如,以同樣符合的停止(或恢復(fù))采樣點的處理的其它標(biāo)準(zhǔn)為準(zhǔn))。
[0157]在優(yōu)選實施方式中,對采樣點和/或片段是否可丟棄以防受到進一步處理的確定以其它檢查和/或標(biāo)準(zhǔn)為準(zhǔn)。優(yōu)選地,首先在停止對片段(或采樣點)的處理之前檢查潛在被丟棄的(例如,將被遮擋的)流水線中的片段(或采樣點)的其它屬性,以確定片段(或采樣點)是否應(yīng)該基于任何其它原因仍被處理,所述原因例如,因為其具有諸如與遮擋查詢關(guān)聯(lián)的仍被需要的副作用。所述檢查優(yōu)選地包括,確定片段(或采樣點)是否因為遮擋查詢(具有其附帶的有效的遮擋查詢)或因為其它副作用仍被需要(在這種情況下,不應(yīng)該將其丟棄)。
[0158]因此,在尤其優(yōu)選的實施方式中,圖形處理流水線被配置為,響應(yīng)于與通過附條件的丟棄測試的片段關(guān)聯(lián)的至少一個采樣點,選擇性地停止已在流水線中的采樣點和/或一個或多個片段的處理。
[0159]當(dāng)采樣點或一個或多個片段通過或未通過附條件的丟棄測試時,確定流水線中的任何采樣點和/或片段的處理是否可停止或恢復(fù)的操作可按照任何合適和期望的方式執(zhí)行。
[0160]優(yōu)選地,采樣點或一個或多個片段通過和/或未通過附條件的丟棄測試的事件觸發(fā)了將相關(guān)信息(諸如,并優(yōu)選地,通過(或未通過)測試的采樣點或片段的位置)廣播至處理流水線中的其它(例如,較早的)階段,所述其它(例如,較早的)階段優(yōu)選地利用所述信息來估計它們當(dāng)前處理的任何采樣點或片段的處理是否可停止或恢復(fù)(例如,并且優(yōu)選地,按照上面討論的方式)。
[0161]在關(guān)于整個片段進行測試時,根據(jù)上面的討論,該位置信息優(yōu)選地包括關(guān)注的片段的(X,y)位置。在關(guān)于一組多個片段進行測試時,該位置信息優(yōu)選地包括由關(guān)注的所述一組多個片段中的片段覆蓋的(x,y)位置的范圍(仍然根據(jù)上面的討論)。在關(guān)于采樣點進行測試時,位置信息優(yōu)選地包括與采樣點關(guān)聯(lián)的片段的(x,y)位置,以及關(guān)于所述采樣點位于所述片段哪個采樣點位置的指示(優(yōu)選地以覆蓋掩模的形式,根據(jù)上面的討論)。
[0162]廣播信息優(yōu)選地還包括指示經(jīng)歷附條件的丟棄測試的片段等的“新舊程度”的時間戳(并且觸發(fā)信息的廣播)和/或指示所述信號是“恢復(fù)”還是“終止”(“停止處理”)信號。
[0163]因此,在尤其優(yōu)選的實施方式中,圖形處理系統(tǒng)被配置為,如果與預(yù)先觸發(fā)減慢流水線中的采樣點和/或片段的片段關(guān)聯(lián)的至少一個采樣點通過其最終附條件的丟棄測試,則將關(guān)于通過附條件的丟棄測試的關(guān)注的至少一個采樣點(和/或片段)的信息廣播至圖形處理流水線的至少一個(優(yōu)選地其它(并且優(yōu)選地較早的))階段,并且圖形處理流水線的至少一個階段被配置為使用與通過附條件的丟棄測試的至少一個采樣點和/或片段關(guān)聯(lián)的廣播信息來確定與當(dāng)前在所述階段中的片段關(guān)聯(lián)的任何片段和/或采樣點的處理是否可停止。
[0164]類似地,在尤其優(yōu)選的實施方式中,圖形處理系統(tǒng)被配置為,如果與預(yù)先觸發(fā)減慢流水線中的采樣點和/或片段的片段關(guān)聯(lián)的至少一個采樣點未通過附條件的丟棄測試,則將關(guān)于未通過附條件的丟棄測試的至少一個采樣點(和/或關(guān)注的片段)的信息廣播至圖形處理流水線的至少一個(優(yōu)選地其它(以及優(yōu)選地較早的))階段,并且圖形處理流水線的至少一個階段被配置為使用與未通過附條件的丟棄測試的至少一個采樣點和/或片段關(guān)聯(lián)的廣播信息來確定與當(dāng)前在所述階段中的片段關(guān)聯(lián)的任何片段和/或采樣點的處理是否可恢復(fù)。
[0165]優(yōu)選地,圖形處理流水線被配置為進行這兩項處理(即,預(yù)先觸發(fā)減慢流水線中的采樣點和/或片段的各個片段將觸發(fā)廣播“恢復(fù)”或“終止”信號,這取決于其經(jīng)歷的附條件的丟棄測試的結(jié)果)。
[0166]因此,在尤其優(yōu)選的實施方式中,所述圖形處理流水線被配置為:
[0167]針對與預(yù)先觸發(fā)減慢流水線中的采樣點和/或片段的由柵格化器生成的片段關(guān)聯(lián)的至少一個采樣點執(zhí)行附條件的丟棄測試;
[0168]如果至少一個采樣點通過附條件的丟棄測試,則將關(guān)于通過附條件的丟棄測試的至少一個采樣點的信息廣播至圖形處理流水線的至少一個(優(yōu)選地較早的)階段;以及
[0169]圖形處理流水線的至少一個階段被配置為使用與通過附條件的丟棄測試的至少一個采樣點關(guān)聯(lián)的廣播信息來確定當(dāng)前在該階段中的任何采樣點是否將被通過附條件的丟棄測試的至少一個采樣點重復(fù)渲染,并且如果存在任何這樣的采樣點,則選擇性地停止這些重復(fù)渲染的采樣點的進一步處理。
[0170]類似地,在尤其優(yōu)選的實施方式中,圖形處理流水線被配置為:
[0171]針對與預(yù)先觸發(fā)減慢流水線中的采樣點和/或片段的由柵格化器生成的片段關(guān)聯(lián)的至少一個采樣點執(zhí)行附條件的丟棄測試;
[0172]如果至少一個采樣點未通過附條件的丟棄測試,則將關(guān)于未通過附條件的丟棄測試的至少一個采樣點的信息廣播至圖形處理流水線的至少一個(優(yōu)選地較早的)階段;以及
[0173]圖形處理流水線的至少一個階段被配置為使用與未通過附條件的丟棄測試的至少一個采樣點關(guān)聯(lián)的廣播信息來確定當(dāng)前在該階段中的任何采樣點是否將不被未通過附條件的丟棄測試的至少一個采樣點重復(fù)渲染,并且如果存在任何這樣的采樣點,則選擇性地恢復(fù)這些采樣點的處理。
[0174]根據(jù)上面的討論,最優(yōu)選地,廣播至圖形處理流水線的階段的信息包括通過(或未通過)附條件的丟棄測試的采樣點和/或片段的位置和優(yōu)選地新舊程度,和/或圖形處理流水線的至少一個階段被配置為,使用與通過或未通過附條件的丟棄測試的采樣點和/或片段關(guān)聯(lián)的廣播的位置信息來確定當(dāng)前在該階段中的任何采樣點和/或片段是否在渲染目標(biāo)(目的地緩沖器)(例如,被處理的拼塊)中與通過或未通過附條件的丟棄測試的采樣點和/或片段占據(jù)相同位置,并且選擇性地分別停止或恢復(fù)在渲染目標(biāo)中與分別通過或未通過附條件的丟棄測試的采樣點和/或片段占據(jù)相同位置的任何采樣點和/或片段的以后的處理。
[0175]在附條件的丟棄測試“通過”或“未通過”事件中,確定任何采樣點和/或片段是否不再需要被處理或應(yīng)該被恢復(fù)的處理流水線的一個或多個階段可包括圖形處理流水線的任何期望和合適的階段。它們優(yōu)選地包括圖形處理流水線的作為采樣點通過一個或多個早期剔除測試的結(jié)果可確定片段等的處理是否應(yīng)該被減慢的至少一個或多個階段。為此,處理流水線可根據(jù)需要分為許多階段。
[0176]在尤其優(yōu)選的實施方式中,多個片段(以及優(yōu)選地所述階段中的所有片段)和/或采樣點可并行地測試。這繼而有利于有效地利用可一次測試?yán)缍鄠€片段的補片的附條件的丟棄測試。
[0177]確定其處理可停止的采樣點和/或片段的處理可停止和/或按照任何期望和合適的方式省略。優(yōu)選地,這通過將識別出的采樣點和/或片段標(biāo)記為“終止”(無效)來實現(xiàn),相關(guān)處理階段隨后在對其進行任何進一步處理之前檢查采樣點和/或片段是否未終止(有效)。這將隨后避免和/或停止這些采樣點和/或片段的任何非必要的處理。
[0178]在將要考慮單獨采樣點時,采樣點優(yōu)選地通過針對關(guān)注的片段在覆蓋掩模中合適地設(shè)置其值而被標(biāo)記為無效。
[0179]當(dāng)考慮片段整體時,各個片段可例如具有與其關(guān)聯(lián)的“終止”(“無效”)比特(例如,作為其關(guān)聯(lián)的片段數(shù)據(jù)的一部分),該比特被設(shè)置時,指示片段不需要被處理(并且可被丟棄)。在一個優(yōu)選實施方式中是這樣做的。處理階段可隨后例如檢查它們接收的各個片段的無效比特以進行處理。如果單獨的采樣點的測試最終使與片段關(guān)聯(lián)的所有采樣點無效,則也可設(shè)置該比特。
[0180]另選的布置方式(諸如使具有有效標(biāo)簽的像緩存區(qū)那樣操作的片段隊列在設(shè)置片段的無效標(biāo)簽時釋放隊列(緩存區(qū))行)可用作替代,或根據(jù)需要另外使用。
[0181]雖然任何“終止”片段可仍在流水線中(但未處理),但是在優(yōu)選實施方式中,采取步驟以從流水線中去除無效片段。這一點可優(yōu)選地通過在流水線中設(shè)置可操作以從流水線中去除(它們接收的)無效片段的一個或多個壓縮階段來實現(xiàn)。所述壓縮階段可包括例如FIFO (先進先出)隊列,隨著片段通過FIFO前進,隊列進行操作以去除任何無效片段(以清除任何空位)。
[0182]就確定應(yīng)該“恢復(fù)”其處理的采樣點和/或片段而言,可按照任何期望和合適的方式執(zhí)行。這可首先取決于例如片段等的處理如何減慢。
[0183]在優(yōu)選實施方式中,通過(相對于其“減慢的”去優(yōu)先狀態(tài))增加其處理優(yōu)先級恢復(fù)片段等。優(yōu)選地,片段等復(fù)原至其初始(正常)處理優(yōu)先級和速度。
[0184]在其處理將被減慢的片段和/或采樣點的處理通過暫停它們通過流水線的處理而減慢時,片段和/或采樣點優(yōu)選地通過“停止暫?!?不再暫停)它們的處理而恢復(fù)。
[0185]在一個優(yōu)選實施方式中,待“恢復(fù)”的暫停的片段等從“僵化池”(它們的處理在這里暫停)取出,并返回至流水線以按照正常方式處理。
[0186]在其處理將被減慢的片段和/或采樣點的處理通過通過將識別出的采樣點和/或片段標(biāo)記為“去優(yōu)先”(如具有降低的處理優(yōu)先級)去優(yōu)先它們通過流水線的處理而減慢時,優(yōu)選地通過不再將采樣和/或片段標(biāo)記為“去優(yōu)先”來恢復(fù)片段和/或采樣點。因此,優(yōu)選地合適地更新(改變)與片段關(guān)聯(lián)的合適的“去優(yōu)先”元數(shù)據(jù)(諸如采樣點掩模)和/或“去優(yōu)先”比特。
[0187]類似地,在使用了具有去優(yōu)先標(biāo)簽的像緩存區(qū)那樣操作的片段隊列釋放(如果設(shè)置了片段的去優(yōu)先標(biāo)簽)隊列(緩存區(qū))行時,當(dāng)片段等將要恢復(fù)時去優(yōu)先標(biāo)簽可被合適地更新。
[0188]從上面可以理解,在尤其優(yōu)選的實施方式中,如果片段和/或采樣點通過早期剔除(例如,深度)測試并發(fā)送觸發(fā)減慢已在流水線中的一個或多個片段等的處理的信號,那么,如果其通過其將要經(jīng)受的所有附條件的丟棄測試,則發(fā)送觸發(fā)停止處理(丟棄)其處理已預(yù)先減慢的一個或多個片段等的信號;并且如果其未通過其將要經(jīng)受的附條件的丟棄測試,則發(fā)送觸發(fā)恢復(fù)其處理已預(yù)先減慢的一個或多個片段等的處理的信號。
[0189]從上面還可以理解,其處理已預(yù)先減慢的片段和/或采樣將隨后使其處理停止或恢復(fù),這首先取決于觸發(fā)減慢采樣點和/或片段的片段和/或采樣點的處理結(jié)果。
[0190]在尤其優(yōu)選的實施方式中,僅關(guān)于完全不透明的片段執(zhí)行本發(fā)明的將片段通過一個或多個早期剔除測試的事件隨后用于確定處理流水線中的任何片段的處理是否應(yīng)該減慢等的操作。因此,如果通過早期剔除測試的片段或一組多個片段為透明片段(即,非完全不透明的片段)或包括透明片段,則片段或一組片段優(yōu)選地仍然繼續(xù)進行處理,但是優(yōu)選地與片段或一組片段關(guān)聯(lián)的早期剔除測試通過事件不用于確定已在處理流水線中的任何片段的處理是否應(yīng)該減慢等。
[0191]這直接使得用于需要經(jīng)歷透明測試和透明至覆蓋測試的片段的本發(fā)明的潛在片段或采樣點減慢和“終止”操作操作失效(并等同于直接允許較近的透明的片段和/或采樣點可不防止較遠的片段和/或采樣點在最終輸出中仍可見的事實)。
[0192] 申請人:進一步認識到,在片段(或至少與片段關(guān)聯(lián)的采樣點)經(jīng)歷并通過早期剔除測試,并符合以上具有全RGB寫掩模的標(biāo)準(zhǔn);片段不具有依賴于先前RGBA值的混合功能;片段的著色器程序不從拼塊緩沖器讀??;片段完全不透明;片段未基于任何原因強制執(zhí)行后期深度更新時,針對這樣的片段和/或采樣點,實際上,可在早期剔除測試階段立即確定所述采樣點等將遮擋已在流水線中的具有相同位置的任何其它采樣點等。
[0193]這是可能的,因為例如在早期深度測試中,具有相同位置的已在流水線中的采樣點和/或片段可被假設(shè)位于通過早期剔除測試的新的采樣點和/或片段的后方,并且因此可假設(shè)將被那些稍后的采樣點和/或片段遮擋(如果稍后的采樣點和/或片段不透明)(如果通過早期深度測試,并且不強制進行后期深度更新,則通過測試的新的采樣點和/或片段必須位于具有相同位置的任何較早的采樣點和/或片段前方)。
[0194]雖然在這種情況下可能仍然簡單地將“減慢”信號發(fā)送至已在流水線中的片段等,但是 申請人:已經(jīng)認識到在所述片段等通過早期剔除測試時,其將實際上可能安全地立即(此時)停止處理已在流水線中的合適的片段等,。
[0195]因此,在優(yōu)選實施方式中,本發(fā)明可也(并且確實也)使用采樣點通過早期剔除測試的結(jié)果來確定圖形處理流水線中正處理的另一采樣點的處理是否可停止(至少在可在早期剔除測試階段中確知測試的采樣點和/或片段將“重復(fù)渲染”(遮擋)已在流水線中的采樣點和/或片段的情況下)。
[0196]這繼而使得本發(fā)明與例如現(xiàn)有的早期深度測試技術(shù)相比能夠進一步降低在圖形處理流水線中不必要地處理隱藏面的程度。
[0197]因此,在尤其優(yōu)選的實施方式中,本發(fā)明的方法包括以下步驟:
[0198]在片段被發(fā)送至渲染器以進行處理之前,關(guān)于與由柵格化器生成的片段關(guān)聯(lián)的至少一個采樣點執(zhí)行早期剔除測試;以及
[0199]如果至少一個采樣點通過早期剔除測試,則向前發(fā)送片段以進行處理;并且
[0200]針對具有選擇的屬性的片段,作為至少一個采樣點通過早期剔除測試的結(jié)果,根據(jù)片段的屬性確定圖形處理流水線中的另一采樣點的處理是否應(yīng)該減慢,或者圖形處理流水線中的另一采樣點的處理是否可停止。
[0201]針對符合(潛在地)立即停止已在圖形處理流水線中的其它片段等的處理的標(biāo)準(zhǔn)的那些采樣點和/或片段等,該操作優(yōu)選地與上述用于減慢流水線中的片段等的處理操作相似,只是作為減慢已在流水線中的片段等的處理的替代,片段等的處理(合適地)停止((立即)丟棄片段等)。這一點可以并且優(yōu)選地按照與上述操作對應(yīng)的方式實現(xiàn)并實施,以減慢流水線中的片段等的處理。
[0202]用于通過早期剔除測試的片段潛在地觸發(fā)“終止”(丟棄)流水線中的另一片段等的標(biāo)準(zhǔn)優(yōu)選地包括:具有全RGB寫掩模的片段;不具有依賴于先前RGBA值的混合功能的片段;用于不從拼塊緩沖器讀取的片段的著色器程序;完全不透明的片段;以及未強制(通過應(yīng)用程序員)執(zhí)行后期深度更新的片段。[0203]圖形處理流水線的階段可被配置為按照任何合適和期望的方式按照本發(fā)明的方式進行操作。在優(yōu)選實施方式中,所述階段包括組合的測試和更新邏輯,其可進行操作以執(zhí)行剔除和/或附條件的丟棄測試,并且如果通過(或未通過)測試(至少針對附條件的丟棄測試)并且所述片段符合任何要求的標(biāo)準(zhǔn),則將通過(或未通過)事件和與其關(guān)聯(lián)的必要信息“廣播”至圖形流水線的合適的階段。
[0204]響應(yīng)于早期剔除測試和附條件的丟棄測試“通過”(或“未通過”)(至少針對附條件的丟棄測試)事件的圖形處理流水線的一個或多個階段可被配置為按照任何合適和期望的方式執(zhí)行這個過程。優(yōu)選地,它們具有與它們關(guān)聯(lián)的代理,所述代理對關(guān)注的階段中的片段負責(zé)并接收測試“通過”或“未通過”信息,并且隨后可進行操作以在它們的“域”(階段)中識別任何其處理可被減慢或恢復(fù)和/或不再需要被處理的片段和/或采樣點,并且隨后減慢或恢復(fù)(復(fù)原)那些片段和/或采樣點的處理和/或防止那些片段和/或采樣點的任何不必要的進一步處理。
[0205]在一些實施方式中,圖形處理流水線包括存儲本文所述的數(shù)據(jù)和/或存儲用于執(zhí)行本文所述的處理的軟件的一個或更多個存儲器和/或存儲器裝置,和/或與它們進行通信。圖形處理流水線還可與主機微處理器進行通信,和/或與基于圖形處理器所生成的數(shù)據(jù)顯示圖像的顯示器進行通信。
[0206]圖形處理流水線的渲染器應(yīng)該可操作以渲染(著色)其接收的圖形片段,以生成期望的輸出圖形片段數(shù)據(jù),如本領(lǐng)域中所知的。圖形處理流水線的渲染器可包含任何合適和期望的渲染元件,并可按照任何合適和期望的方式被構(gòu)造。因此,例如,圖形處理流水線的渲染器可包括固定功能渲染流水線,包括一個或更多個固定功能渲染階段,諸如紋理映射器、混合器、霧化單元等。在優(yōu)選實施方式中,渲染器包括片段著色器(著色器流水線)(即可編程流水線階段,其可操作和可編程以在片段上執(zhí)行片段著色程序,從而渲染它們)。在使用片段著色時,本發(fā)明可尤其有利,由于片段著色可為相對昂貴的處理,并且更有效的早期隱藏面消除在進行了片段著色之處尤其有利。
[0207]本領(lǐng)域技術(shù)人員應(yīng)該理解,渲染器將處理其接收的片段,隨后生成輸出渲染的片段數(shù)據(jù),其中渲染的片段數(shù)據(jù)隨后優(yōu)選地寫至外部存儲器中的輸出緩沖器,諸如幀緩沖器,以進行使用(例如,在顯示器上顯示幀)。
[0208]不管圖形處理系統(tǒng)可提供的輸出形式如何,都可使用本發(fā)明。因此,例如,在渲染輸出旨在形成用于(例如,在屏幕或打印機上)顯示的圖像(幀)時,可使用本發(fā)明(并且在一個優(yōu)選實施方式中就是這種情況)。然而,本發(fā)明還可用于渲染輸出不旨在用于顯示的情況,例如渲染輸出是使用圖形處理系統(tǒng)生成的紋理(例如,在“渲染至紋理”操作中),或者實際上,使用圖形處理系統(tǒng)生成的輸出是任何其它形式的數(shù)據(jù)陣列。
[0209]可按照任何期望和合適的方式執(zhí)行本發(fā)明的各種功能。例如,本發(fā)明的功能可根據(jù)需要在硬件或軟件中實現(xiàn)。因此,例如,本發(fā)明的各種功能性元件、處理階段和“裝置”可包括可操作以執(zhí)行各種功能等的合適的一個或多個處理器,一個或多個控制器、功能性單元、電路、處理邏輯、微處理器布置方式等,諸如可編程以按照期望方式操作的合適地構(gòu)造的專用硬件元件或處理電路和/或可編程硬件元件或處理電路。
[0210]在這里還應(yīng)該注意,本領(lǐng)域技術(shù)人員應(yīng)該理解,本發(fā)明的各種功能等可在給定處理器上并行地復(fù)制和/或執(zhí)行。同樣地,各種處理階段可根據(jù)需要共享處理電路等。[0211]本發(fā)明可應(yīng)用于具有“流水線”布置方式的圖形處理系統(tǒng)、圖形處理器和渲染器的任何合適的形式或構(gòu)造。圖形處理流水線可包含圖形處理流水線正常包括的任何合適和期望的處理階段等。在尤其優(yōu)選的實施方式中,圖形處理系統(tǒng)是基于拼塊的圖形處理系統(tǒng)。類似地,在優(yōu)選實施方式中,所述圖形處理系統(tǒng)是多核系統(tǒng)(即,包括多個圖形處理核)。
[0212]因此,本發(fā)明延伸至包括根據(jù)本文描述的本發(fā)明的各方面中的任何一個或更多個的設(shè)備,或根據(jù)本文描述的本發(fā)明的各方面中的任何一個或更多個的方法操作圖形處理器和圖形處理平臺。以上面討論的執(zhí)行特定功能所必需的任何硬件為條件,所述圖形處理器可另外包括圖形處理器包括的通常功能性單元等的任何一個或更多個或全部。
[0213]本領(lǐng)域技術(shù)人員還應(yīng)該理解,本發(fā)明的所有描述的方面和實施方式可合適地包括本文所述的優(yōu)選和可選特征中的任何一個或更多個或全部。
[0214]根據(jù)本發(fā)明的方法可至少部分地利用例如計算機程序的軟件實施。因此,可看出,當(dāng)從其它方面看時,本發(fā)明提供了當(dāng)安裝在數(shù)據(jù)處理裝置上時特別適于執(zhí)行本文所述的方法的計算機軟件,和適于執(zhí)行本文所述的一個或多個方法的所有步驟的包括代碼裝置的計算機程序(當(dāng)所述程序在數(shù)據(jù)處理系統(tǒng)上運行時)。數(shù)據(jù)處理系統(tǒng)可為微處理器、可編程FPGA (現(xiàn)場可編程門陣列)等。
[0215]因此,本發(fā)明可合適地實現(xiàn)為用于計算機系統(tǒng)的計算機程序產(chǎn)品。這種實現(xiàn)可包括固定在有形介質(zhì)(諸如非暫時性計算機可讀介質(zhì),例如,磁盤、CD ROM、ROM、RAM、閃存或硬盤)上的一系列計算機可讀指令。這種實現(xiàn)還包括可通過調(diào)制解調(diào)器或其它接口裝置通過有形介質(zhì)(包括但不限于,光學(xué)或模擬通信線路)或利用無線技術(shù)(包括但不限于,微波、紅外或其它傳輸技術(shù))無形地傳輸至計算機系統(tǒng)的一系列計算機可讀指令。所述一系列計算機可讀指令實現(xiàn)本文先前描述的功能的全部或一部分。
【專利附圖】

【附圖說明】
[0216]現(xiàn)在將僅通過舉例的方式并參照附圖描述本發(fā)明的多個優(yōu)選實施方式,附圖中:
[0217]圖1示意性地示出了根據(jù)本發(fā)明的圖形處理系統(tǒng)的實施方式。
【具體實施方式】
[0218]現(xiàn)在將描述本發(fā)明的多個優(yōu)選實施方式。將主要參照本發(fā)明在圖形處理系統(tǒng)中的使用描述這些實施方式。然而,如上所述,本發(fā)明可應(yīng)用于包括早期“數(shù)據(jù)實體”剔除測試的其它流水線數(shù)據(jù)處理系統(tǒng)。
[0219]圖1示意性地示出了可根據(jù)本發(fā)明操作的圖形處理器I。
[0220]圖1示出了關(guān)于本實施方式的操作的圖形處理器I的主要元件和流水線階段。本領(lǐng)域技術(shù)人員應(yīng)該理解,可存在未在圖1中示出的圖形處理器的其它元件。在這里應(yīng)該注意,圖1僅是示意性的,并且即使示出的功能性單元和流水線階段在圖1中示意性地示出為分離的階段,例如在實踐中它們也可共享重要的硬件電路。還應(yīng)該理解,圖1所示的圖形處理器的各個階段、元件和單元等可根據(jù)需要實現(xiàn),并且將因此包括例如用于執(zhí)行必要的操作和功能的合適的電路和/或處理邏輯等。
[0221]圖1所示的圖形處理系統(tǒng)是基于拼塊的系統(tǒng)。因此,如本領(lǐng)域中所知的,圖形處理器I將生成渲染輸出數(shù)據(jù)陣列(諸如要生成的輸出幀)的拼塊。(本發(fā)明可等同地應(yīng)用于其它系統(tǒng),諸如上面討論的立即模式渲染系統(tǒng)。)如本領(lǐng)域中所知的,輸出數(shù)據(jù)陣列可通常為旨在顯示在顯示裝置(諸如屏幕或打印機)上的輸出幀,但可還例如包括圖形處理器的“渲染到紋理”輸出等。
[0222]圖1示意性地示出了已經(jīng)生成用于輸入至柵格化處理的圖形基元(多邊形)2之后的流水線階段。因此,此時圖形數(shù)據(jù)(頂點數(shù)據(jù))已經(jīng)歷變形和光照操作(未示出),并且基元設(shè)置階段(未示出)已響應(yīng)于命令和提供至圖形處理器I的頂點數(shù)據(jù)設(shè)置要被渲染的基元,如本領(lǐng)域中所知。
[0223]如圖1所示,圖形處理器I的這部分片段處理流水線包括多個處理階段,該多個處理階段包括:柵格化階段3、早期分級ZS (深度和模板)測試階段4、早期ZS (深度和模板)階段13、片段著色階段6形式的渲染階段和后期ZS (深度和模板)測試階段7。
[0224]如本領(lǐng)域中所知的,柵格化階段3進行操作以將構(gòu)成渲染輸出(例如,要顯示的圖像)的基元柵格化為單獨的圖形片段以進行處理。因此,柵格化器3接收圖形基元2以進行渲染,將基元柵格化為采樣點并生成具有合適的位置(表示合適的采樣位置)的圖形片段,以渲染基元。在本實施方式中,通過柵格化器3生成的各個圖形片段表示多個(通常4個)采樣位置(與所述多個采樣位置關(guān)聯(lián))。(當(dāng)然,其它布置方式將是可以的)。各個圖形片段與指示片段表示多個采樣位置的哪個采樣點的覆蓋掩模關(guān)聯(lián),它實際上用于渲染(即,實際由關(guān)注的基兀覆蓋)。
[0225]在本實施方式中,柵格化器3是分級柵格化器,其進行操作以相對于越來越小的采樣點補片(因此,相對應(yīng)地,片段補片)反復(fù)地測試基元,直至對應(yīng)于2x2片段組的最小補片尺寸(即,直至可被柵格化為2x2片段組的一系列采樣點),丟棄不(至少部分地)覆蓋基元的任何補片。測試的各個補片對應(yīng)于給定的一組片段。
[0226]通過柵格化器3來實現(xiàn)這一點:即從渲染目標(biāo)區(qū)域的大補片開始并測試關(guān)注的基元是否在該補片內(nèi)。如果不是這樣,則丟棄整個補片,并測試下一補片,等等。另一方面,如果發(fā)現(xiàn)基元位于所述補片內(nèi)(以至少部分地覆蓋所述補片),則將該補片再次劃分為4部分,并且隨后按照相同方式測試每個“子補片”,等等,直至達到最小補片尺寸。
[0227]—旦達到最小補片尺寸(B卩,至少部分地覆蓋已被識別的基元的2x2片段的補片),柵格化器3就隨后測試該最終補片中的單獨的采樣點以確定采樣點是否被所述基元覆蓋。柵格化器3隨后對應(yīng)于發(fā)現(xiàn)被基元覆蓋的采樣點生成和輸出單獨的片段,以進行渲染。
[0228]無論采樣位置是否被覆蓋(B卩,實際上,無論片段是否用于渲染該采樣點(即針對該采樣點,無論其數(shù)據(jù)是否應(yīng)該被存儲)),針對與片段關(guān)聯(lián)的一組采樣位置中的各個采樣位置,柵格化器3還與位圖形式的覆蓋掩模指示的各個片段關(guān)聯(lián)。
[0229]當(dāng)然,其它柵格化布置方式是可以的。
[0230]如圖1所示,柵格化器3還與早期“分級”深度(Z)和模板測試階段4關(guān)聯(lián)。該分級深度和模板測試階段4在通過柵格化器3生成的補片上執(zhí)行“早期”深度和模板測試以確定這些補片是否可被剔除。
[0231]因此,由柵格化器生成的采樣點(實際上,片段)的各個補片被發(fā)送至早期分級深度和模板測試階段4,其隨后在采樣點(片段)的補片上執(zhí)行Z (深度)測試以在該階段確定補片是否可被丟棄(剔除)。因此,早期分級深度和模板測試器4針對其從柵格化器3接收的各個補片通過在補片上進行合適的深度采樣導(dǎo)出深度值范圍,并且將該深度值范圍與先前導(dǎo)出并存儲的與補片覆蓋的采樣(片段)位置關(guān)聯(lián)的深度值范圍進行比較,以嘗試確定補片是否將被要渲染的其它片段和采樣點遮擋,或是否重復(fù)渲染要渲染的其它片段和采樣點(例如,將隨后出現(xiàn)在流水線上,或者已經(jīng)被渲染的片段和采樣點)。與此同時,執(zhí)行早期模板測試。
[0232]如果正被測試的補片未通過早期深度和模板測試,則在任何進一步處理中將其丟棄(剔除)。
[0233]如果正被測試的補片通過早期深度和模板測試,則其返回至柵格化器3以進一步再次劃分為更小的“子補片”,如上面的討論。各個“子補片”隨后返回至早期深度和模板測試器4以進行測試,等等,直至達到最小補片尺寸。
[0234]當(dāng)在從柵格化器3接收的多個采樣點的補片上執(zhí)行深度和模板測試時早期分級深度和模板測試階段4所使用的深度值范圍被存儲在深度和模板緩沖器5中。針對緩沖器表示的各個補片尺寸和位置,將深度值(和模板值)的范圍存儲在深度和模板緩沖器5中(尤其是針對柵格化器3針對正被處理的拼塊可生成的各個補片尺寸和位置)。
[0235]將針對各個補片存儲的深度值范圍初始設(shè)置為缺省值,或設(shè)置為補片的期望深度值范圍(如果可確定)。(在一些布置方式中,可預(yù)先已知用于拼塊的基元可具有的可能的深度值范圍。隨后,其可用于為深度緩沖器5設(shè)置關(guān)注的補片的期望深度值的范圍。)隨后,隨著通過早期分級深度和模板測試階段4、早期深度和模板測試階段13和后期深度和模板測試階段7測試的補片和/或采樣點通過各個深度和模板測試,存儲的補片深度值范圍得到更新。
[0236]即使已經(jīng)在相同位置的流水線中的較早的片段還未完成任何深度或模板測試(例如,未經(jīng)歷早期分級深度和模板測試4和早期深度和模板測試13,并且未經(jīng)歷后期深度和模板測試7),針對正在深度和模板緩沖器5中渲染的拼塊的多個采樣點位置(因此,片段)的補片存儲期望范圍的深度值也意味著早期分級深度和模板測試器4可仍關(guān)于柵格化器3生成的采樣點位置的補片執(zhí)行深度和模板測試。這是因為即使還未執(zhí)行關(guān)于較早的片段的深度測試,期望的深度值范圍也可用于確定深度測試(例如)可具有何種結(jié)果。因此,這允許早期分級深度和模板測試4用于(潛在地)按照本實施方式的方式使流水線中的較早的片段的處理停止,即使這些較早的片段實際上還未經(jīng)歷深度或模板測試也是如此。
[0237]針對采樣點位置的補片存儲和測試深度值的范圍意味著采樣點位置的較大補片可容易受到早期深度和模板測試(由于存儲的范圍允許測試以確定補片是否將完全在存儲的范圍之外,并且因此,例如完全通過早期分級深度和模板測試)。因此,如將在以下進一步討論的,這可有利于廣播在單個處理周期中影響渲染目標(biāo)的大得多的區(qū)域的早期深度和模板測試通過事件,從而其可因此能夠(潛在地)在一個處理周期中使補片區(qū)域中的整個片段組的處理停止(而不用例如必須潛在地使各個片段的處理逐個地停止)。
[0238]早期分級深度和模板測試階段4被配置為按照適當(dāng)?shù)乇J氐姆绞讲僮?,如本領(lǐng)域中所知的。
[0239]一旦達到最小補片尺寸(在該實施方式中,2x2片段的補片),柵格化器3就將表示通過早期分級Z和模板測試階段4的補片(因此,采樣點)的片段發(fā)布到圖形處理流水線的其余部分,以進行處理。
[0240]該處理的第一部分是在早期深度和模板測試階段13使通過柵格化器3發(fā)布(輸出)的各個片段受到早期深度和模板測試。這種早期深度和模板測試階段13在與通過柵格化器3發(fā)布的片段關(guān)聯(lián)的單獨的(覆蓋的)采樣位置上執(zhí)行深度和模板測試(即,每采樣點分
辨率)。
[0241]因此,早期深度和模板測試器13使用存儲在深度和模板緩沖器5中的每采樣位置深度和模板值。因此,除每補片深度值范圍之外,深度和模板緩沖器5針對緩沖器表示的各個采樣點(尤其是針對正被處理的拼塊的各個采樣點位置)分別存儲合適的深度(Z)值和模板值。當(dāng)正被早期深度和模板測試階段13和后期深度和模板測試階段7測試的采樣點通過各個深度和模板測試時,這些值被存儲在深度和模板緩沖器5中。
[0242]在該實施方式中,深度和模板緩沖器5被配置為兩個不同的緩沖器(但是它們可在同一物理存儲器中),一個緩沖器存儲每補片深度范圍,并且另一個存儲每采樣深度值。當(dāng)然,其它布置方式是可以的。
[0243]早期深度和模板測試階段13再次被配置為按照適當(dāng)?shù)乇J氐姆绞讲僮?,如本領(lǐng)域中所知的。
[0244]因此,通過“隊列”12 (這種隊列12的功能和目的將在下面更詳細地討論)將通過早期深度和模板測試階段13的片段(即,具有通過早期深度和模板測試階段13的至少一個關(guān)聯(lián)的采樣位置的片段)向前發(fā)送到片段著色階段6 (渲染器),如圖1所示。
[0245](未通過早期深度和模板測試階段13的片段被早期深度和模板測試階段13剔除,如本領(lǐng)域中所知的。)
[0246]片段著色階段6在其接收的片段上執(zhí)行合適的片段處理(渲染)操作,以針對渲染輸出(例如,用于片段的顯示)處理片段,從而生成合適的片段數(shù)據(jù)等,如本領(lǐng)域中所知的。
[0247]該片段處理可包括任何合適和期望的片段著色處理,諸如在片段上執(zhí)行片段著色程序、對片段應(yīng)用紋理、對片段應(yīng)用混合、霧化或其它操作等,以生成合適的片段數(shù)據(jù),如本領(lǐng)域中所知的。在本實施方式中,片段著色階段6采用著色器流水線(可編程片段著色)的形式,但是如果需要的話,諸如另外使用或取代固定功能片段著色單元的其它布置方式也是可以的。
[0248]接著是“后期”片段Z和模板測試階段7,除了別的以外,(如果要在例如未經(jīng)歷早期Z和模板測試的片段上執(zhí)行該階段7)該階段7在著色的片段(在與著色的片段關(guān)聯(lián)的覆蓋的采樣點上)上執(zhí)行流水線深度測試的末尾,以確定渲染的片段表示的采樣點是否將重復(fù)渲染其值被當(dāng)前存儲在拼塊緩沖器5中的片段(即,確定用于從片段著色階段6發(fā)布的片段的片段數(shù)據(jù)是否應(yīng)該被存儲在拼塊緩沖器中(應(yīng)該替代或修改已被渲染的片段的拼塊緩沖器中的片段數(shù)據(jù)))。
[0249]因此,后期深度測試階段7將從片段著色階段6發(fā)布的片段(與該片段關(guān)聯(lián))的深度值與針對關(guān)注的采樣位置的存儲在深度緩沖器5中的(每采樣位置)深度值進行比較。通過后期深度測試7的采樣點的深度值也合適地寫到Z-緩沖器5以進行更新,如本領(lǐng)域中所知的。
[0250]這種后期片段深度和模板測試階段7還在片段上執(zhí)行任何必要的模板測試。
[0251]通過后期片段測試階段7的片段隨后受到片段上所需的任何其余操作,諸如與幀緩沖器混合、抖動等(未示出)。
[0252]最后,輸出片段數(shù)據(jù)值寫到合適的拼塊緩沖器8,如本領(lǐng)域中所知,所述拼塊緩沖器8針對緩沖器表示的各個采樣點(本質(zhì)上針對正被處理的拼塊的各個采樣點)存儲合適的值(例如顏色值)。
[0253]一旦已經(jīng)處理了各個拼塊,其數(shù)據(jù)就例如從拼塊緩沖器8輸出至主存儲器(例如,主存儲器中的幀緩沖器)(未示出)以進行存儲,并且下一拼塊隨后被處理,等等,直至已經(jīng)處理了足夠多的拼塊以生成整個渲染輸出(例如,要顯示的幀(圖像))。
[0254]當(dāng)然,用于片段處理流水線的其它布置方式是可以的。
[0255]上面描述了圖1所示的圖形處理系統(tǒng)的基本柵格化和渲染處理?,F(xiàn)在,將相應(yīng)地描述根據(jù)本發(fā)明的實施方式的圖1所示的圖形處理系統(tǒng)的操作。
[0256]根據(jù)本發(fā)明,本實施方式分別使用通過早期分級深度測試4的補片的結(jié)果,或通過早期深度測試13的片段的結(jié)果,來確定在圖形處理流水線中的其它片段的處理是否應(yīng)該減慢或可停止。
[0257]因此,如圖1所示,早期分級深度和模板測試階段4和早期深度和模板測試階段13被配置為:如果片段的補片或片段分別通過對應(yīng)的早期剔除測試,則不僅將補片或片段傳遞至處理流水線中的其下一階段,而且還將與早期剔除測試“通過”事件相關(guān)的信息廣播至流水線的各階段(如圖1中的虛線9、10、11、14所示)。它們還被配置為針對與通過早期深度測試(可在此處實現(xiàn))的片段關(guān)聯(lián)的采樣點利用相關(guān)深度值和/或模板值更新深度和模板緩沖器5。
[0258]在本實施方式中,剔除測試“通過”事件的廣播和深度緩沖器的更新等并不針對通過早期分級深度測試4和早期深度測試13的所有補片和片段執(zhí)行,而是僅針對符合特定標(biāo)準(zhǔn)(具有特定屬性)的補片和片段執(zhí)行。這樣可避免當(dāng)稍后的片段通過早期深度測試時錯誤地減慢和丟棄流水線中的片段。
[0259]本實施方式在早期分級深度和模板測試單元4和早期深度和模板測試單元13中使用“自動檢測”方案來確定早期深度測試“通過”事件是否應(yīng)該廣播至流水線,以及早期深度測試“通過”事件廣播應(yīng)該采取的形式。
[0260]針對將可觸發(fā)圖形處理流水線中的其它片段的處理停止的早期深度測試“通過”事件廣播(發(fā)送)至流水線,這種自動檢測方案具有以下需求:新的補片或片段需要已通過早期z/s測試(并通過早期z/s測試而非后期z/s測試處理);新的補片或片段需要具有全rgb寫掩模(z/模板已寫至其上)和不依賴于先前的rgba值的混合功能;用于新的補片或片段的著色器不能讀拼塊緩沖器;以及新的補片或片段不需要強制進行后期z更新。
[0261](由于以下原因,新的補片或片段需要強制進行后期z更新:例如:透明測試;透明至覆蓋;著色器包含丟棄;混合著色器包含丟棄;或者著色器中的較早的片段強制進行后期z更新。因此,這種“強制后期z更新”需求意味著:當(dāng)通過早期Z測試時僅針對完全不透明的補片和片段執(zhí)行立即停止流水線中的其它片段的處理的操作。這直接地允許較近的透明的補片或片段可不防止較遠的片段在最終輸出中仍然可見的事實。)
[0262]符合以上標(biāo)準(zhǔn)的新的補片或片段觸發(fā)了將可觸發(fā)圖形處理流水線中的其它片段的處理的停止的早期深度測試“通過”事件廣播(發(fā)送)至流水線。如果補片或片段不符合這些標(biāo)準(zhǔn),則早期分級深度和模板測試單元4和早期深度和模板測試單元13中的“自動檢測”方案隨后確定通過早期深度測試的補片或片段是否應(yīng)該觸發(fā)將可觸發(fā)圖形處理流水線中的其它片段的處理的減慢的早期深度測試“通過”事件廣播(發(fā)送)至流水線。[0263]針對將可觸發(fā)圖形處理流水線中的其它片段的處理的減慢的早期深度測試“通過”事件廣播(發(fā)送)至流水線,所述自動檢測方案具有以下需求:新的補片或片段需要已通過早期z/s測試(并通過早期z/s測試而非后期z/s測試處理);新的補片或片段需要具有全rgb寫掩模(z/模板已寫至其上)和不依賴于先前的rgba值的混合功能;用于新的補片或片段的著色器不能讀拼塊緩沖器;以及新的補片或片段不需要強制進行后期z更新(后期z更新的原因有:透明測試、透明至覆蓋、著色器包含丟棄、混合著色器包含丟棄、或者著色器中的具有相同位置的較早的片段強制進行后期深度更新)。
[0264]因此,在本實施方式中,允許(使用)由于以下原因而強制執(zhí)行后期深度更新的片段觸發(fā)操作以(潛在地)減慢其它片段和/或采樣點的處理,所述原因即:透明測試、透明至覆蓋測試、著色器包含丟棄;混合著色器包含丟棄;或者著色器中的較早的片段強制進行后期深度更新。
[0265]這些標(biāo)準(zhǔn)的影響主要是將受到作為其處理的一部分的任何形式的附條件的丟棄測試的片段將觸發(fā)將可觸發(fā)圖形處理流水線中的其它片段的處理的減慢的早期深度測試“通過”事件廣播至流水線,而不是將可觸發(fā)圖形處理流水線中的其它片段的處理的停止的早期深度測試“通過”事件廣播至流水線。這是因為在片段受到附條件的丟棄狀態(tài)(測試)時,即使通過早期深度測試,其也不能在早期深度測試階段無疑地確定所述片段將最終遮擋已在流水線中的片段。
[0266]雖然本實施方式使用“自動檢測”方案來觸發(fā)與通過早期分級深度測試4或早期深度測試13的補片或片段有關(guān)的早期深度測試通過事件信息的廣播,但是也可使用狀態(tài)位作為用于此的備用布置方式。狀態(tài)位可設(shè)為關(guān)閉“自動檢測”方案,并且作為替代,通過另一(例如,剔除測試通過事件“激活”)狀態(tài)位的設(shè)置(與否)來觸發(fā)早期剔除測試通過事件信息廣播。這將繼而使得例如應(yīng)用程序員能夠設(shè)置是否將要執(zhí)行剔除測試通過事件操作(通過設(shè)置合適的狀態(tài)位)。
[0267]早期分級深度和模板測試階段4和早期深度和模板測試階段13包括組合的測試和更新邏輯,它們可進行操作以執(zhí)行剔除測試,以及如果通過測試并且補片或片段符合需要的標(biāo)準(zhǔn),則將通過事件和與其關(guān)聯(lián)的必要的位置信息“廣播”至圖形流水線的合適階段,并且更新例如深度緩沖器中的深度信息等。
[0268]在本實施方式中,當(dāng)“合格的”采樣點的補片(B卩,符合觸發(fā)“停止處理”或“減慢處理”信號的發(fā)送的標(biāo)準(zhǔn)的采樣點的補片)通過早期分級深度測試4時,早期分級深度和模板測試階段4將通過測試的補片覆蓋的(x,y)位置廣播9、10、11至隊列12、片段著色階段6、柵格化器3和早期分級深度和模板測試階段4本身(如圖1中的虛線11所示)。廣播信息還包括廣播信號是否用于確定任何片段的處理是否應(yīng)該停止(任何片段是否應(yīng)該被丟棄),或確定任何片段的處理是否應(yīng)該減慢的指示,即,廣播信號是否為片段“終止”信號或片段“減慢”信號的指示。如將在稍后的描述,圖形處理流水線的這些階段隨后利用廣播信號類型指示和位置信息來估計它們當(dāng)前處理的任何片段的處理是否可停止或是否應(yīng)該(適當(dāng)?shù)?減慢。
[0269]在本實施方式中,早期分級深度測試通過事件被廣播至分級深度和模板測試階段4和柵格化器3,因為柵格化器3和早期分級深度和模板測試階段4如上面討論地按照重復(fù)方式操作,并且可存在例如仍經(jīng)歷柵格化和早期分級深度和模板測試處理的先前生成的采樣點的補片,其中如果可確定稍后的例如采樣位置的補片重復(fù)渲染它們,則可省略它們的處理。
[0270]除將早期分級深度測試通過事件廣播至圖形處理流水線的其它階段之外,早期分級深度(Z)和模板測試階段4還被配置為(當(dāng)合適時)利用用于通過早期分級深度測試的采樣點的補片的相關(guān)深度值范圍和/或模板值更新深度和模板緩沖器5。因此,這使得這些緩沖器能夠包含(例如)已經(jīng)歷(并通過)早期分級深度和模板測試4的補片的深度值范圍的最新記錄,從而使得早期分級深度和模板測試更加有效。
[0271]深度緩沖器等的這種更新按照合適地保守方式執(zhí)行,以避免更新可在補片等的處理中導(dǎo)致錯誤的任何風(fēng)險。
[0272]相應(yīng)地,在本實施方式中,當(dāng)“合格的”片段通過早期深度測試13時,早期深度和模板測試階段13將通過測試的片段覆蓋的(x,y)位置和廣播信號類型指示(根據(jù)關(guān)注的片段的屬性)廣播14至隊列12,以及至片段著色階段6 (如圖1中的虛線14所示)。如將在稍后的描述,圖形處理流水線的這些階段隨后利用廣播信號類型指示和位置信息來估計它們當(dāng)前處理的任何片段的處理是否可停止或是否應(yīng)該(適當(dāng)?shù)?減慢。
[0273]再一次,除將早期深度測試通過事件廣播至圖形處理流水線的其它階段之外,早期深度(Z)模板測試階段13被配置為利用用于與通過早期深度測試的片段關(guān)聯(lián)的采樣點的相關(guān)深度值和/或模板值更新深度和模板緩沖器5。因此,這使得這些緩沖器能夠包含(例如)已經(jīng)歷(并通過)早期分級深度和模板測試13的采樣點的深度值范圍的最新記錄,從而使得早期和后期分級深度和模板測試更加有效。
[0274]響應(yīng)于通過早期分級深度和模板測試階段4和早期深度和模板測試階段13廣播早期深度測試“通過”事件片段“終止”信號(即,指示響應(yīng)于廣播信號應(yīng)該確定任何片段的處理是否可停止),作為早期剔除測試“通過”事件的結(jié)果,接收“終止”信號廣播的處理流水線的階段隨后利用廣播信號中的位置信息來確定它們當(dāng)前包含的任何片段是否不再需要被處理。通過將當(dāng)前占據(jù)流水線階段的所有片段的(x,y)位置與由通過早期分級深度和模板測試階段4或早期深度和模板測試階段13廣播的廣播“終止”信號指示的(X,y)位置(即,與通過早期剔除測試并觸發(fā)片段“終止”信號的廣播的片段和/或補片的U,y)位置)進行比較來執(zhí)行這個過程(這樣,實際上,將識別將被通過早期深度和模板測試的補片或片段遮擋的當(dāng)前在該階段中的任何片段)。
[0275]以同樣符合的用于使片段的處理停止的特定其它標(biāo)準(zhǔn)為準(zhǔn),隨后停止具有與通過早期剔除測試并觸發(fā)片段“終止”信號的補片或片段相同的(X,y)位置的任何當(dāng)前片段的處理。具體地說,還檢查潛在將要丟棄的(即,將被遮擋的)流水線中的片段是否應(yīng)該基于任何其它原因而繼續(xù)被處理,所述原因例如,因為其具有諸如與未解決的遮擋查詢關(guān)聯(lián)的仍被需要的副作用。如果被遮擋的片段不具有其附帶的仍然有效的遮擋查詢(并且不具有其它需要的副作用),則將其丟棄(其處理停止),當(dāng)如果其確實具有其附帶的有效的遮擋查詢(或一些其它仍被需要的副作用),則不將其丟棄(即,繼續(xù)其處理)。通過關(guān)注的圖形處理流水線的階段來執(zhí)行這種檢查。
[0276]在早期剔除測試片段“終止” “通過”事件中按照合適地保守的方式執(zhí)行對不再需要處理的片段的確定,以降低不正確地丟棄片段使其不再接受后面的處理的風(fēng)險。
[0277]圖形處理流水線的各個階段并行地測試所述階段中的所有片段。這使得流水線階段能夠以與早期剔除測試通過事件可生成可能的剔除機會的速率相同的速率丟棄片段。
[0278]通過將識別出的片段標(biāo)記為“終止”(無效)使稍后的處理階段中的片段的處理停止。為了促進這一點,使各個片段具有與其關(guān)聯(lián)的“終止”比特(例如,作為其關(guān)聯(lián)的片段數(shù)據(jù)的一部分),如果對該比特進行設(shè)置,則指示該片段不需要被處理(并且可丟棄)。流水線處理階段被配置為檢查它們接收以進行處理的各個片段的終止比特(并且因此隨后處理或不處理所述片段)。
[0279]另選的布置方式(諸如使具有有效標(biāo)簽的像緩存區(qū)那樣操作的片段隊列在設(shè)置片段的無效標(biāo)簽時釋放隊列(緩存區(qū))行)可用作替代,或根據(jù)需要另外使用。
[0280]將早期剔除測試片段“終止”通過事件廣播至其的圖形處理流水線的各個階段具有對在其本地域中(g卩,在關(guān)注的階段或處理階段的一部分中)的所有片段負責(zé)的對應(yīng)的代理。各個代理將關(guān)于所述片段的信息保持在其本地域中,并可進行操作以響應(yīng)于其接收的早期剔除測試片段“終止”通過事件將片段標(biāo)記為終止(無效),從而避免和/或停止對它們的不必要的處理。代理被配置為能夠并行地測試它們的本地域中的所有片段。
[0281]響應(yīng)于通過早期分級深度和模板測試階段4和早期深度和模板測試階段13廣播早期深度測試“通過”事件片段“減慢”信號(即,指示響應(yīng)于廣播信號應(yīng)該確定任何片段的處理是否應(yīng)該減慢),作為早期剔除測試“通過”事件的結(jié)果,接收“減慢”信號的處理流水線的階段廣播隨后利用廣播信號中的位置信息來確定它們當(dāng)前包含的任何片段的處理是否應(yīng)該減慢。
[0282]通過將當(dāng)前占據(jù)流水線階段的所有片段的(X,y)位置與由通過早期分級深度和模板測試階段4或早期深度和模板測試階段13廣播的廣播“減慢”信號指示的U,y)位置(即,與通過早期剔除測試并觸發(fā)片段“減慢”信號的廣播的片段和/或補片的U,y)位置)進行比較來執(zhí)行該過程(這樣,實際上,將識別將被通過早期深度和模板測試的補片或片段遮擋的當(dāng)前在該階段中的任何片段)。
[0283]以同樣符合的用于延遲片段的處理的特定其它標(biāo)準(zhǔn)為準(zhǔn),隨后減慢具有與通過早期剔除測試并觸發(fā)片段“減慢”信號的補片或片段相同的U,y)位置的任何當(dāng)前片段的處理。具體地說,還檢查潛在將被減慢的流水線中的片段是否應(yīng)該基于任何其它原因而繼續(xù)被處理,所述原因例如,因為其具有諸如與未解決的遮擋查詢關(guān)聯(lián)的仍被需要的副作用。如果將被減慢的片段不具有其附帶的仍然有效的遮擋查詢(并且不具有其它需要的副作用),則減慢其處理,但是如果其確實具有其附帶的有效的遮擋查詢(或一些其它仍被需要的副作用),則不減慢其處理。通過關(guān)注的圖形處理流水線的階段來執(zhí)行這種檢查。
[0284]在早期剔除測試片段“減慢” “通過”事件中按照合適地保守的方式執(zhí)行對應(yīng)該減慢其處理的片段的確定,以降低不正確或不合適地延遲流水線中的片段的處理的風(fēng)險。
[0285]圖形處理流水線的各個階段并行地測試所述階段中的所有片段。這使得流水線階段能夠以與早期剔除測試通過事件可生成可能的“減慢”機會的速率相同的速率延遲(減慢)片段。
[0286]將早期剔除測試片段“減慢”通過事件廣播至其的圖形處理流水線的各個階段具有對在其本地域中(g卩,在關(guān)注的階段或處理階段的一部分中)的所有片段負責(zé)的對應(yīng)的代理(其可為處理片段“終止”早期剔除測試通過事件的同一代理)。各個代理將關(guān)于所述片段的信息保持在其本地域中,并可進行操作以響應(yīng)于其接收的早期剔除測試片段“減慢”通過事件將片段標(biāo)記為去優(yōu)先(減慢)以減慢它們的處理。代理被配置為能夠并行地測試它們的本地域中的所有片段。
[0287]“減慢”片段的處理與正常相比更慢,但是應(yīng)該注意,期望的是,片段的處理只是相對于其通過流水線正常處理的速度而言減慢或延遲,而非片段此時被“減慢”丟棄(永遠停止)從而不通過流水線進行進一步處理。
[0288]在本實施方式中,布置方式是使得“減慢”片段的處理減慢至觸發(fā)片段的處理減慢的片段將往往超過流水線中的“減慢”片段點的程度,使得對觸發(fā)關(guān)注的“減慢”片段的處理減慢的片段的處理將往往(很可能)在“減慢”片段在流水線中的處理完成之前完成附條件的丟棄測試。如將在稍后的描述,這繼而使得“觸發(fā)”片段能夠用于(潛在地)丟棄(“終止”)減慢片段,以防其通過流水線被進一步處理。
[0289]在本實施方式中,通過以下步驟將其處理將被減慢的片段的處理減慢:通過流水線將它們的處理去優(yōu)先(即,通過降低它們流水線處理的優(yōu)先級)。這通過為“減慢”片段賦予用于緩存區(qū)訪問和/或用于通過流水線的其它處理的較低優(yōu)先級(相對于未減慢的片段)來實現(xiàn)。
[0290]通過將識別出的片段標(biāo)記為“去優(yōu)先”(為具有降低的處理優(yōu)先級)來將片段“去優(yōu)先”。相關(guān)流水線處理階段隨后在對片段進行任何處理之前檢查片段是否被標(biāo)記為“去優(yōu)先”,并且因此隨后用正常優(yōu)先級或降低的優(yōu)先級處理所述片段。
[0291]各個片段具有與其關(guān)聯(lián)的“去優(yōu)先”比特(例如,作為其關(guān)聯(lián)的片段數(shù)據(jù)的一部分),該比特如果被設(shè)置,則指示片段的處理已被去優(yōu)先。處理階段可隨后檢查它們接收以進行處理的各個片段的“去優(yōu)先”比特。
[0292]可根據(jù)需要使用用于減慢和延遲片段的處理的另選的布置方式。例如,具有去優(yōu)先標(biāo)簽的像緩存區(qū)那樣操作的片段隊列在設(shè)置了片段的去優(yōu)先標(biāo)簽時釋放隊列(緩存區(qū))行的布置方式可用作替代或根據(jù)需要另外使用。
[0293]另一合適的布置方式可為:將具有要處理的指令的片段布置在片段池中,當(dāng)完成指令時,并且當(dāng)存在預(yù)備用于執(zhí)行的緩存命中和指令時,合適的片段隨后被從片段池中取出并執(zhí)行。通過當(dāng)確定是否應(yīng)該允許將片段從片段池中取出時增加優(yōu)先級狀態(tài)作為額外考慮因素,片段可隨后使它們的處理優(yōu)先級降低。
[0294]類似地,片段通過暫停它們通過流水線的處理可使它們的處理減慢(例如,并且優(yōu)選地,直至“觸發(fā)”片段和/或采樣點完成其一個或多個附條件的丟棄測試)??蓪崿F(xiàn)這種流水線中的片段處理的暫停,例如,通過將其處理將被暫停的任何片段布置在“僵化池(zombie pool)”(它們的處理在這里暫停)中。
[0295]當(dāng)作為補片通過早期分級深度測試4或片段通過早期深度測試13的結(jié)果預(yù)先觸發(fā)了片段“減慢”信號的發(fā)送(廣播)的片段經(jīng)歷其附條件的丟棄測試時,本實施方式除利用附條件的丟棄測試的丟棄或繼續(xù)處理與(常規(guī)的)片段關(guān)聯(lián)的采樣點的結(jié)果之外還使用片段通過或未通過附條件的丟棄測試的結(jié)果來確定圖形處理流水線中的其它較早的片段的處理是否可停止或應(yīng)該被恢復(fù)。
[0296]因此,如圖1所示,將執(zhí)行附條件的丟棄測試的著色器流水線6被配置為,當(dāng)預(yù)先觸發(fā)了片段“減慢”信號的發(fā)送(廣播)的片段經(jīng)歷附條件的丟棄測試時,不僅丟棄片段或者使片段前進至其處理的下一階段(取決于測試結(jié)果),而且將關(guān)于附條件的丟棄測試“通過”或“未通過”事件的信息廣播至流水線的多個階段(如圖1中的虛線20、21、22和23所示)。
[0297]針對預(yù)先觸發(fā)了片段“減慢”信號的發(fā)送(廣播)的所有片段執(zhí)行附條件的丟棄測試“通過”或“未通過”事件的廣播。
[0298]在本實施方式中,著色器流水線6確定附條件的丟棄測試“通過”或“未通過”事件是否應(yīng)該廣播至流水線,以及附條件的丟棄測試“通過”或“未通過”事件廣播應(yīng)該采取的形式。廣播還包括基元的“時間戳”(從而僅較早的基元(潛在地)被信號影響)。
[0299]當(dāng)片段通過其將要經(jīng)受的最終附條件的丟棄測試(B卩,通過其將要經(jīng)受的所有附條件的丟棄測試)時,其觸發(fā)將附條件的丟棄測試“通過”事件廣播(發(fā)送)至流水線,所述附條件的丟棄測試“通過”事件可觸發(fā)圖形處理流水線中的和進入圖形處理流水線的在觸發(fā)將附條件的丟棄測試“通過”事件廣播(發(fā)送)至流水線的片段之前的其它片段的處理停止。
[0300]未通過附條件的丟棄測試的片段觸發(fā)將附條件的丟棄測試“未通過”事件廣播(發(fā)送)至流水線,所述附條件的丟棄測試“未通過”事件可觸發(fā)圖形處理流水線中的和進入圖形處理流水線的在觸發(fā)將附條件的丟棄測試“通過”事件廣播(發(fā)送)至流水線的片段之前的預(yù)先減慢片段的處理恢復(fù)(復(fù)原)。
[0301]著色器流水線階段6包括組合的測試和更新邏輯,其可進行操作以執(zhí)行附條件的丟棄測試,并且(如果片段符合要求的標(biāo)準(zhǔn),則)將通過或未通過事件和與其關(guān)聯(lián)的必要信息“廣播”至圖形流水線的合適階段。
[0302]在本實施方式中,當(dāng)“合格的”片段(B卩,符合觸發(fā)“向后的”、“停止處理”或“復(fù)原(恢復(fù))處理”信號的發(fā)送的標(biāo)準(zhǔn)的片段)經(jīng)歷其附條件的丟棄測試時,著色器流水線階段6將由經(jīng)歷測試的片段覆蓋的U,y)位置廣播20、21至片段著色階段6和隊列12 (根據(jù)需要,可還廣播至柵格化器3和早期分級深度和模板測試階段4)。廣播信息還包括關(guān)于廣播信號是否用于確定任何片段的處理是否應(yīng)該停止(任何片段是否應(yīng)該被丟棄)或確定任何片段的處理是否應(yīng)該恢復(fù)(復(fù)原)的指示(即,廣播信號是“向后的片段終止”信號還是“向后的片段恢復(fù)”信號)和指示關(guān)注的片段的“新舊”的時間戳。如將在稍后的描述,圖形處理流水線的這些階段隨后使用廣播信號類型指示以及位置和“新舊”信息來估計它們當(dāng)前處理的任何片段的處理是否可停止或是否應(yīng)該(適當(dāng)?shù)?恢復(fù)。
[0303]響應(yīng)于附條件的丟棄測試“通過”事件“向后的片段終止”信號的廣播(B卩,指示響應(yīng)于廣播信號應(yīng)該確定任何片段的處理是否可停止),作為附條件的丟棄測試“通過”事件的結(jié)果,處理流水線的接收“終止”信號廣播的階段隨后利用廣播信號中的位置信息來確定它們當(dāng)前包含的任何片段是否不再需要被處理。通過將當(dāng)前占據(jù)流水線階段的所有(較舊的)片段的(X,y)位置與由通過著色器流水線階段6廣播的廣播“終止”信號指示的(X,y)位置(即,通過附條件的丟棄測試并觸發(fā)廣播向后的片段“終止”信號的片段的(x,y)位置)進行比較來執(zhí)行這個處理(這樣實際上將識別出當(dāng)前在所述階段中將被通過其最終附條件的丟棄測試的片段遮擋的任何(較舊的)片段)。
[0304]以同樣符合的用于使片段的處理停止的特定其它標(biāo)準(zhǔn)為準(zhǔn),與通過其最終附條件的丟棄測試并觸發(fā)“向后的”片段“終止”信號的片段具有相同(x,y)位置的任何(較舊的)當(dāng)前片段的處理隨即停止。具體地說,還檢查流水線中潛在地將被丟棄的(即,將被遮擋的)片段是否基于任何其它原因而繼續(xù)被處理,所述其它原因例如,因為其具有諸如與未解決的遮擋查詢關(guān)聯(lián)的仍被需要的副作用。如果被遮擋的片段不具有其附帶的仍然有效的遮擋查詢(并且不具有其它需要的副作用),則將其丟棄(其處理停止),當(dāng)如果其確實具有其附帶的有效的遮擋查詢(或一些其它仍被需要的副作用),則不將其丟棄(即,繼續(xù)其處理)。通過關(guān)注的圖形處理流水線的階段來執(zhí)行這種檢查。
[0305]在附條件的丟棄測試片段“終止” “通過”事件中按照合適地保守的方式執(zhí)行對不再需要處理的片段的確定,以降低不正確地丟棄片段使其不再接受后面的處理的風(fēng)險。
[0306]圖形處理流水線的各個階段并行地測試所述階段中的所有片段。這使得流水線階段能夠以與附條件的丟棄測試通過事件可生成可能的剔除機會的速率相同的速率丟棄片段。
[0307]通過將識別出的片段標(biāo)記為“終止”(無效)使較早的處理階段中的片段的處理停止。根據(jù)上面的討論,因此,使各個片段具有與其關(guān)聯(lián)的“終止”比特(例如,作為其關(guān)聯(lián)的片段數(shù)據(jù)的一部分),如果對該比特進行設(shè)置,則指示該片段不需要被處理(并且可丟棄)。
[0308](再一次,另選的布置方式(諸如使具有有效標(biāo)簽的像緩存區(qū)那樣操作的片段隊列在設(shè)置片段的無效標(biāo)簽時釋放隊列(緩存區(qū))行)可用作替代,或根據(jù)需要另外使用)。)
[0309]將附條件的丟棄測試“向后的”片段“終止”通過事件廣播至其的圖形處理流水線的各個階段具有對在其本地域中(即,在關(guān)注的階段或處理階段的一部分中)的所有片段負責(zé)的對應(yīng)的代理。優(yōu)選地,該代理與處理通過早期深度測試階段發(fā)送的片段“終止”和“減慢”事件廣播的代理為同一代理。各個代理將關(guān)于所述片段的信息保持在其本地域中,并可進行操作以響應(yīng)于其接收的附條件的丟棄測試“向后的”片段“終止”通過事件將片段標(biāo)記為終止(無效),從而避免和/或停止對它們的不必要的處理。代理被配置為能夠并行地測試它們的本地域中的所有片段。
[0310]這種“向后的片段終止”信號操作允許片段(預(yù)先觸發(fā)進入流水線中在所述片段之前的其它片段的處理“減慢”)通過所有其附條件的丟棄測試的結(jié)果隨后被用于“終止”在流水線中被觸發(fā)片段超過并且將實際上被觸發(fā)片段遮擋的任何“減慢的片段”(在這些減慢的片段通過流水線被徹底處理之前)。即使在早期深度測試階段不能足夠無疑地確定新的片段是否將實際上遮擋已在流水線中的片段,這樣做也允許進入流水線的稍后的片段用于關(guān)于(在它們之前)進入流水線的較早的(在流水線中在所述稍后的片段之前的)片段執(zhí)行隱藏面消除。
[0311]響應(yīng)于通過著色器流水線階段6廣播附條件的丟棄測試“未通過”事件“向后的片段恢復(fù)”信號(即,指示響應(yīng)于廣播信號應(yīng)該確定任何片段的處理是否應(yīng)該恢復(fù)),作為附條件的丟棄測試“未通過”事件的結(jié)果,處理流水線的接收“恢復(fù)”信號廣播的階段隨后使用廣播信號中的位置和“新舊”信息來確定它們當(dāng)前包含的任何片段的處理是否應(yīng)該恢復(fù)。通過將當(dāng)前占據(jù)流水線階段的所有預(yù)先減慢片段的(X,y)位置和“新舊程度”與由通過著色器流水線階段6廣播的廣播“恢復(fù)”信號指示的U,y)位置和“新舊程度”(即,未通過附條件的丟棄測試并觸發(fā)廣播片段“恢復(fù)”信號的片段的(X,y)位置和“新舊程度”)進行比較來執(zhí)行這個處理(這樣實際上將識別出當(dāng)前在該階段中現(xiàn)在已知將不被未通過附條件的丟棄測試的片段遮擋的任何(較舊的)片段)。
[0312]圖形處理流水線的各個階段再次并行地測試所述階段中的所有片段。這使得流水線階段能夠以與附條件的丟棄測試未通過事件可生成可能的“恢復(fù)”機會的速率相同的速率恢復(fù)(減慢)片段。[0313]在本實施方式中,通過(相對于其“減慢”、去優(yōu)先狀態(tài))增加其處理優(yōu)先級來恢復(fù)片段。片段復(fù)原至它們初始(正常)處理優(yōu)先級和速度。通過不再將“恢復(fù)的”片段標(biāo)記為“去優(yōu)先”來實現(xiàn)這一點。因此,當(dāng)片段將要“恢復(fù)”時,更新(改變)(去設(shè)置)與所述片段關(guān)聯(lián)的合適的“去優(yōu)先”比特。
[0314]將附條件的丟棄測試“向后的片段恢復(fù)”未通過事件廣播至其的圖形處理流水線的各個階段具有對在其本地域中(即,在關(guān)注的階段或處理階段的一部分中)的所有片段負責(zé)的對應(yīng)的代理(再一次,該代理可與處理片段“終止”通過事件等的代理為同一代理)。各個代理將關(guān)于所述片段的信息保持在其本地域中,并可進行操作以響應(yīng)于其接收的附條件的丟棄測試片段“恢復(fù)”未通過事件將片段標(biāo)記為不再去優(yōu)先(不再減慢),從而恢復(fù)(復(fù)原)它們的處理。代理被配置為能夠并行地測試它們的本地域中的所有片段。
[0315](在其它布置方式用于減慢片段的處理時,片段應(yīng)該按照合適的方式恢復(fù)。例如,在使用具有去優(yōu)先標(biāo)簽的像緩存區(qū)那樣操作的片段隊列在設(shè)置片段的去優(yōu)先標(biāo)簽時釋放隊列(緩存區(qū))行的情況下,當(dāng)片段將要恢復(fù)時,可合適地更新去優(yōu)先標(biāo)簽。類似地,在片段通過暫停它們通過流水線的處理使它們的處理減慢的情況下,片段和/或采樣點可通過“停止暫?!彼鼈兊奶幚?例如,通過將它們從“僵化池”(它們的處理在這里暫停)去除并使它們返回到流水線以按照正常方式處理)而恢復(fù)。)
[0316]這種“向后的片段恢復(fù)”信號操作允許片段(預(yù)先觸發(fā)進入流水線中在所述片段之前的其它片段的處理“減慢”)未通過其附條件的丟棄測試中的一個的結(jié)果隨后被用于“恢復(fù)”(復(fù)原)在流水線中被觸發(fā)片段超過并且將實際上不被觸發(fā)片段遮擋的任何“減慢的片段”,從而所述減慢的片段隨后再次被正常地處理。
[0317]在本實施方式中,除如果觸發(fā)它們的處理減慢的片段接著未通過附條件的丟棄測試則恢復(fù)(復(fù)原)任何“減慢的”片段以在正常優(yōu)先級下進行處理之外,作為本實施方式的操作結(jié)果,如果憑借“向前的片段終止”信號丟棄(“終止”)觸發(fā)它們的處理減慢的片段,則丟棄(“終止”)“減慢的”片段。在這種情況下,“終止” “正減慢的”片段的“向前的片段終止”信號也用于在同一操作中“終止” “已減慢的”片段。
[0318]從上面應(yīng)該理解,在本實施方式中,如果一片段通過早期深度測試并發(fā)送可觸發(fā)已在流水線中的一個或更多個片段的處理減慢的信號,則隨后當(dāng)其經(jīng)歷其附條件的丟棄測試時,在其通過所有其附條件的丟棄測試時發(fā)送可觸發(fā)停止處理(丟棄)其處理已預(yù)先減慢的一個或多個片段的信號,或者在其未通過其附條件的丟棄測試中的一個時發(fā)送觸發(fā)恢復(fù)其處理已預(yù)先減慢的一個或多個片段的處理的信號。
[0319]類似地,作為稍后的片段通過早期和深度模板測試的結(jié)果,其處理已預(yù)先減慢的片段的處理隨后可停止或恢復(fù)(復(fù)原),這首先取決于觸發(fā)減慢片段的處理的片段的附條件的丟棄測試的結(jié)果。
[0320]如圖1所示,在本實施方式中,圖形處理流水線包括片段必須經(jīng)過的隊列12,其布置在圖形處理流水線的片段著色器6之前。隊列12被配置為能夠保持完整的拼塊尺寸的一組片段,但是其它布置方式當(dāng)然也是可以的。
[0321]隊列12具有增加可在早期剔除測試階段之后(即,在分級深度和模板測試器4和早期深度和模板測試器13之后)的流水線中的片段數(shù)量的效果,從而增加可按照本實施方式的方式受到操作的片段的數(shù)量。使用隊列12可明顯增大僅最終可見片段到達隊列12之后的片段著色階段6 (并被片段著色階段6處理)的可能性。這是有利的,因為片段著色通常對每片段而言是相對昂貴的處理,并且因此越少的片段進入片段著色器就越好。
[0322]進入隊列12的片段按照相同的順序退出隊列,但是“終止”片段在退出隊列時觸發(fā)資源的解除。
[0323]從上面可以看出,至少在本發(fā)明的優(yōu)選實施方式中,本發(fā)明提供了用于進一步減少可在流水線圖形處理系統(tǒng)中發(fā)生的隱藏面的(最終冗余的)處理量的機制。此外,本發(fā)明的布置方式為:當(dāng)用于經(jīng)典渲染流水線的渲染順序為最佳時,其將不干涉(從而在具有最佳渲染順序的現(xiàn)有渲染流水線布置方式上獲得最小開銷),但當(dāng)渲染順序并非最佳時,其將起作用,并且在這種情況下,至少在本發(fā)明的優(yōu)選實施方式中,其可消除從后向前的片段和隱藏面,以達到在隱藏面消除方面與每采樣或每片段預(yù)渲染排序處理一樣有效的程度。在要渲染的內(nèi)容使得排序算法不能容易地檢測最佳排序方式的情況下(例如,基元交叉或具有交疊的深度范圍),本發(fā)明可還能夠比排序更有效地進行這種操作。
[0324]本發(fā)明的技術(shù)還獨立于所使用的多點采樣的防混疊處理水平,從而使得較高等級的多點采樣的防混疊處理的使用明顯更便宜。
[0325]利用早期剔除測試通過事件的結(jié)果來確定已在流水線中的任何片段的處理是否應(yīng)該減慢尤其有利于接著停止較早進入流水線的片段的處理,但是不能在早期剔除測試階段無疑地確定稍后的片段將對其生成遮擋,這是因為例如稍后的片段在其通過圖形處理流水線的處理過程中將受到一個或更多個附條件的丟棄測試。這樣,因此與其中單獨使用早期剔除測試立即丟棄(“終止”)流水線中的可確定將被稍后的片段遮擋的任何片段的布置方式相比,使得更多片段的處理能夠在它們達到流水線的末端之前停止。
[0326]在本文中應(yīng)該注意,本實施方式(以及本發(fā)明)的這種片段減慢和后續(xù)的“終止”操作并不簡單地在當(dāng)前片段的幾個循環(huán)中局部對片段再排序,但是將具有使片段完全脫離秩序的效果(實際上通過延遲較早進入流水線的片段的處理),并且此外,所述操作并不會持續(xù)必然處理所有片段,而是進行操作以丟棄并且不處理發(fā)現(xiàn)不再需要的任何片段。
【權(quán)利要求】
1.一種操作圖形處理流水線的方法,所述圖形處理流水線包括多個處理階段,該多個處理階段包括:柵格化器,其將輸入基元柵格化以生成要處理的圖形片段,各個圖形片段具有與該圖形片段關(guān)聯(lián)的一個或更多個采樣點;以及渲染器,其對由所述柵格化器生成的片段進行處理以生成輸出片段數(shù)據(jù),所述方法包括以下步驟: 在由所述柵格化器生成的片段被發(fā)送至所述渲染器以進行處理之前,針對與該片段關(guān)聯(lián)的至少一個采樣點執(zhí)行早期剔除測試;以及 如果所述至少一個采樣點通過所述早期剔除測試,則向前發(fā)送所述片段以進行處理,并且響應(yīng)于所述至少一個采樣點通過所述早期剔除測試,確定在所述圖形處理流水線中的另一采樣點的處理是否應(yīng)該減慢。
2.根據(jù)權(quán)利要求1所述的方法,其中,對已在所述圖形處理流水線中的另一采樣點的處理是否應(yīng)該減慢的確定是基于通過所述早期剔除測試的采樣點是否還具有一個或多個特定屬性的。
3.根據(jù)權(quán)利要求2所述的方法,其中,所述特定屬性包括所述采樣點受到作為對所述采樣點的處理的一部分的一個或更多個附條件的丟棄測試。
4.根據(jù)權(quán)利要求1、2或3所述的方法,該方法包括以下步驟: 通過將流水線中的所述采樣點的處理去優(yōu)先來減慢流水線中的所述另一采樣點的處理。
5.根據(jù)前述權(quán)利要求中的任一項所述的方法,其中,響應(yīng)于所述至少一個采樣點通過所述早期剔除測試來確定所述圖形處理流水線中的另一采樣點的處理是否能夠減慢的步驟包括以下步驟:將`當(dāng)前占據(jù)流水線階段的采樣點和/或片段的位置與通過所述早期剔除測試的所述至少一個采樣點的位置進行比較。
6.根據(jù)前述權(quán)利要求中的任一項所述的方法,其中,響應(yīng)于所述至少一個采樣點通過所述早期剔除測試來確定所述圖形處理流水線中的另一采樣點的處理是否能夠減慢的步驟還包括以下步驟:在減慢所述另一采樣點的處理之前,檢查所述另一采樣點的其它屬性,以確定所述另一采樣點是否應(yīng)該仍然以正常優(yōu)先級進行處理。
7.根據(jù)前述權(quán)利要求中的任一項所述的方法,該方法還包括以下步驟: 針對與由所述柵格化器生成的片段關(guān)聯(lián)的至少一個采樣點執(zhí)行一個或更多個附條件的丟棄測試,由所述柵格化器生成的所述片段預(yù)先觸發(fā)所述圖形處理流水線中的另一采樣點的處理是否應(yīng)該減慢的確定;以及 如果所述至少一個采樣點通過所述至少一個采樣點要經(jīng)受的所有附條件的丟棄測試,并且作為所述至少一個采樣點通過所述早期剔除測試的結(jié)果,確定所述圖形處理流水線中的另一采樣點的處理應(yīng)該減慢,則作為所述至少一個采樣點通過所有附條件的丟棄測試的結(jié)果,確定所述另一采樣點的處理是否能夠停止; 或者 如果所述至少一個采樣點未通過所述至少一個采樣點要經(jīng)受的附條件的丟棄測試,并且作為所述至少一個采樣點通過所述早期剔除測試的結(jié)果,確定所述圖形處理流水線中的另一采樣點的處理應(yīng)該減慢,則作為所述至少一個采樣點未通過所述附條件的丟棄測試的結(jié)果,確定所述另一采樣點的處理是否應(yīng)該恢復(fù)。
8.一種操作圖形處理流水線的方法,所述圖形處理流水線包括多個處理階段,該多個處理階段包括:柵格化器,其將輸入基元柵格化以生成要處理的圖形片段,各個圖形片段具有與該圖形片段關(guān)聯(lián)的一個或更多個采樣點;以及渲染器,其對由所述柵格化器生成的片段進行處理以生成輸出片段數(shù)據(jù),所述方法包括以下步驟: 針對與由所述柵格化器生成的片段關(guān)聯(lián)的至少一個采樣點執(zhí)行附條件的丟棄測試;以及 如果所述至少一個采樣點通過所述附條件的丟棄測試,則在流水線中向前發(fā)送所述片段,并且作為所述至少一個采樣點通過所述附條件的丟棄測試的結(jié)果,確定所述圖形處理流水線中的另一采樣點的處理是否能夠停止。
9.一種圖形處理流水線,該圖形處理流水線包括: 多個處理階段,該多個處理階段包括:柵格化器,其將輸入基元柵格化以生成要處理的圖形片段,各個圖形片段具有與該圖形片段關(guān)聯(lián)的一個或更多個采樣點;渲染器,其對由所述柵格化器生成的片段進行處理以生成輸出片段數(shù)據(jù);以及早期剔除測試階段,在由所述柵格化器生成的片段被發(fā)送至所述渲染器以進行處理之前,該早期剔除測試階段針對與所述片段關(guān)聯(lián)的采樣點執(zhí)行早期剔除測試;其中,所述圖形處理流水線被配置為: 響應(yīng)于與由所述柵格化器生成的片段關(guān)聯(lián)的至少一個采樣點通過所述早期剔除測試,向前發(fā)送所述片段以進行處理,并且確定在所述圖形處理流水線中的另一采樣點的處理是否應(yīng)該減慢。
10.根據(jù)權(quán)利要求9所述的圖形處理流水線,其中,對已在所述圖形處理流水線中的另一采樣點的處理是否應(yīng)該減慢的確定是基于通過所述早期剔除測試的所述采樣點是否還具有一個或多個特定屬性的。
11.根據(jù)權(quán)利要求10所述的圖形處理流水線,其中,所述特定屬性包括所述采樣點受到作為對所述采樣點的處理的一部分的`一個或更多個附條件的丟棄測試。
12.根據(jù)權(quán)利要求9、10或11所述的圖形處理流水線,其中,流水線中的另一采樣點的處理的減慢包括以下步驟:將流水線中的所述采樣點的處理去優(yōu)先。
13.根據(jù)權(quán)利要求9至12中的任一項所述的圖形處理流水線,其中,所述圖形處理流水線被配置為:通過將當(dāng)前占據(jù)流水線階段的采樣點和/或片段的位置與通過所述早期剔除測試的所述至少一個采樣點的位置進行比較,來響應(yīng)于所述至少一個采樣點通過所述早期剔除測試,確定所述圖形處理流水線中的另一采樣點的處理是否能夠減慢。
14.根據(jù)權(quán)利要求9至13中的任一項所述的圖形處理流水線,其中,所述圖形處理流水線被配置為:在減慢所述另一采樣點的處理之前,檢查所述另一采樣點的其它屬性,以確定所述另一采樣點是否應(yīng)該仍然以正常優(yōu)先級進行處理。
15.根據(jù)權(quán)利要求9至14中的任一項所述的圖形處理流水線,其中,所述圖形處理流水線還被配置為: 針對與由所述柵格化器生成的片段關(guān)聯(lián)的至少一個采樣點執(zhí)行一個或更多個附條件的丟棄測試,由所述柵格化器生成的所述片段預(yù)先觸發(fā)所述圖形處理流水線中的另一采樣點的處理是否應(yīng)該減慢的確定;并且 如果所述至少一個采樣點通過所述至少一個采樣點要經(jīng)受的所有附條件的丟棄測試,并且作為所述至少一個采樣點通過所述早期剔除測試的結(jié)果,確定所述圖形處理流水線中的另一采樣點的處理應(yīng)該減慢,則作為所述至少一個采樣點通過所有附條件的丟棄測試的結(jié)果,確定所述另一采樣點的處理是否能夠停止; 或者 如果所述至少一個采樣點未通過所述至少一個采樣點要經(jīng)受的附條件的丟棄測試,并且作為所述至少一個采樣點通過所述早期剔除測試的結(jié)果,確定所述圖形處理流水線中的另一采樣點的處理應(yīng)該減慢,則作為所述至少一個采樣點未通過所述附條件的丟棄測試的結(jié)果,確定所述另一采樣點的處理是否應(yīng)該恢復(fù)。
16.一種圖形處理流水線,該圖形處理流水線包括: 多個處理階段,該多個處理階段包括:柵格化器,其將輸入基元柵格化以生成要處理的圖形片段,各個圖形片段具有與該圖形片段關(guān)聯(lián)的一個或更多個采樣點;以及渲染器,其對由所述柵格化器生成的片段進行處理以生成輸出片段數(shù)據(jù),并且其中, 能夠執(zhí)行針對與由所述柵格化器生成的片段關(guān)聯(lián)的采樣點的附條件的丟棄測試;并且 其中,所述圖形處理流水線被配置為: 響應(yīng)于與由所述柵格化器生成的片段關(guān)聯(lián)的至少一個采樣點通過附條件的丟棄測試,在流水線中向前發(fā)送所述片段,并且作為所述至少一個采樣點通過所述附條件的丟棄測試的結(jié)果,確定所述圖形處理流水線中的另一采樣點的處理是否能夠停止。
17.一種計算機程序,該計算機程序包括計算機軟件,當(dāng)所述計算機程序在數(shù)據(jù)處理裝置上運行時,該計算機軟 件執(zhí)行根據(jù)權(quán)利要求1至8中的任一項所述的方法。
【文檔編號】G06T1/20GK103871020SQ201310692576
【公開日】2014年6月18日 申請日期:2013年12月17日 優(yōu)先權(quán)日:2012年12月17日
【發(fā)明者】F·赫格倫德, K·奧斯特比 申請人:Arm有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
偃师市| 湘潭县| 宜君县| 荥经县| 淮安市| 英超| 河东区| 澜沧| 剑阁县| 彰化市| 明光市| 陇南市| 武川县| 通河县| 渭南市| 黄龙县| 河间市| 彭水| 陇川县| 醴陵市| 常熟市| 郁南县| 同江市| 佳木斯市| 额敏县| 靖州| 呈贡县| 久治县| 新宁县| 霍林郭勒市| 上杭县| 郯城县| 呼伦贝尔市| 东乡县| 辽宁省| 芜湖市| 淮北市| 屏边| 惠安县| 新乐市| 横山县|