1.一種在圖形處理系統(tǒng)中渲染子圖元的方法,其中所述子圖元經(jīng)由一個或多個處理級的序列從一個或多個輸入圖形數(shù)據(jù)項目可推導,以及其中高速緩存被配置用于存儲圖形數(shù)據(jù)項目的分級,所述分級包括所述輸入圖形數(shù)據(jù)項目中的一個或多個輸入圖形數(shù)據(jù)項目和代表所述序列的處理級的結(jié)果的一個或多個圖形數(shù)據(jù)項目,所述方法包括:
確定所述子圖元是否被存儲在所述高速緩存中;
如果確定所述子圖元被存儲在所述高速緩存中,則從所述高速緩存獲取所述子圖元并且渲染獲取的所述子圖元;
如果確定所述子圖元未被存儲在所述高速緩存中,則確定所述分級的更高級別的一個或多個圖形數(shù)據(jù)項目是否被存儲在所述高速緩存中,其中所述子圖元從所述分級的所述更高級別的所述一個或多個圖形數(shù)據(jù)項目可推導;以及
如果確定所述分級的所述更高級別的所述一個或多個圖形數(shù)據(jù)項目被存儲在所述高速緩存中:
從所述高速緩存獲取所述分級的所述更高級別的所述一個或多個圖形數(shù)據(jù)項目;
使用獲取的所述分級的所述更高級別的所述一個或多個圖形數(shù)據(jù)項目來推導所述子圖元;以及
渲染推導的所述子圖元。
2.根據(jù)權(quán)利要求1所述的方法,還包括:
如果不能從在所述高速緩存中存儲的圖形數(shù)據(jù)項目推導所述子圖元:
從圖形存儲器取回一個或多個輸入圖形數(shù)據(jù)項目;
執(zhí)行所述序列的所述處理級中的一個或多個處理級以推導所述子圖元;以及
渲染推導的所述子圖元。
3.根據(jù)任一前述權(quán)利要求所述的方法,其中所述序列的所述處理級包括(i)刪減、(ii)幾何陰影化、(iii)鑲嵌和(iv)頂點陰影化中的一個或多個。
4.根據(jù)任一前述權(quán)利要求所述的方法,其中以下中的至少一個:
所述圖形數(shù)據(jù)項目中的至少一些圖形數(shù)據(jù)項目是頂點、圖元列表、圖元條或者三角扇;以及
所述圖形數(shù)據(jù)項目中的一些圖形數(shù)據(jù)項目包括每補塊數(shù)據(jù)和描述補塊的控制點,所述補塊將被鑲嵌以生成多個鑲嵌的圖元。
5.根據(jù)任一前述權(quán)利要求所述的方法,其中以下中的至少一個:
所述輸入圖形數(shù)據(jù)項目描述待渲染的在3D場景內(nèi)的幾何結(jié)構(gòu),以及其中渲染的所述子圖元用于在形成所述場景的渲染的圖像時使用;以及
所述輸入圖形數(shù)據(jù)項目描述紋理,以及其中根據(jù)所述子圖元的渲染的所述輸出圖像用于在后續(xù)渲染中用作紋理。
6.一種被配置為渲染子圖元的圖形處理系統(tǒng),其中所述子圖元經(jīng)由一個或多個處理級的序列從一個或多個輸入圖形數(shù)據(jù)項目可推導,所述系統(tǒng)包括:
一個或多個處理單元,用于渲染子圖元以由此生成渲染輸出;
高速緩存,被配置用于存儲圖形數(shù)據(jù)項目的分級,所述分級包括所述輸入圖形數(shù)據(jù)項目中的一個或多個輸入圖形數(shù)據(jù)項目和代表所述序列的處理級的結(jié)果的一個或多個圖形數(shù)據(jù)項目;以及
高速緩存控制器,被配置為:
確定所述子圖元是否被存儲在所述高速緩存中;
如果確定所述子圖元被存儲在所述高速緩存中,則從所述高速緩存獲取所述子圖元并且提供獲取的所述子圖元用于由所述一個或多個處理單元渲染;
如果確定所述子圖元未被存儲在所述高速緩存中,則確定所述分級的更高級別的一個或多個圖形數(shù)據(jù)項目是否被存儲在所述高速緩存中,其中所述子圖元從所述分級的所述更高級別的所述一個或多個圖形數(shù)據(jù)項目可推導;以及
如果確定所述分級的所述更高級別的所述一個或多個圖形數(shù)據(jù)項目被存儲在所述高速緩存中:
從所述高速緩存獲取所述分級的所述更高級別的所述一個或多個圖形數(shù)據(jù)項目;以及
使所述子圖元使用獲取的所述分級的所述更高級別的所述一個或多個圖形數(shù)據(jù)項目被推導,其中推導的所述子圖元將被提供到所述一個或多個處理單元用于渲染。
7.根據(jù)權(quán)利要求6所述的圖形處理系統(tǒng),還包括取回單元和圖元處理邏輯,其中:
所述高速緩存控制器被配置為在不能從在所述高速緩存中存儲的圖形數(shù)據(jù)項目推導所述子圖元的情況下,向所述取回單元傳遞控制流數(shù)據(jù);
所述取回單元被配置為從圖形存儲器取回一個或多個輸入圖形數(shù)據(jù)項目;
所述圖元處理邏輯被配置為執(zhí)行所述序列的所述處理級中的一個或多個處理級以推導所述子圖元;以及
所述一個或多個處理單元被配置為渲染推導的所述子圖元。
8.根據(jù)權(quán)利要求7所述的圖形處理系統(tǒng),其中所述圖元處理邏輯包括:
變換和子圖元推導邏輯,被配置為從取回的所述輸入圖形數(shù)據(jù)項目推導所述子圖元。
9.根據(jù)權(quán)利要求7或者8所述的圖形處理系統(tǒng),其中所述高速緩存控制器被配置為在所述高速緩存中存儲取回的所述輸入圖形數(shù)據(jù)項目和代表所述執(zhí)行所述序列的所述處理級中的所述一個或多個處理級以推導所述子圖元的結(jié)果的圖形數(shù)據(jù)項目,其中存儲的所述圖形數(shù)據(jù)項目用于在渲染更多子圖元時后續(xù)使用,以及其中所述高速緩存控制器還被配置為響應(yīng)于推導所述子圖元在所述高速緩存中存儲推導的所述子圖元。
10.根據(jù)權(quán)利要求6至9中的任一權(quán)利要求所述的圖形處理系統(tǒng),其中所述高速緩存控制器還被配置為如果確定所述分級的所述更高級別的所述一個或多個圖形數(shù)據(jù)項目中的任何圖形數(shù)據(jù)項目未被存儲在所述高速緩存中:
確定所述分級的又一更高級別的一個或多個更多圖形數(shù)據(jù)項目是否被存儲在所述高速緩存中,其中所述子圖元使用所述一個或多個更多圖形數(shù)據(jù)項目可推導;以及
如果確定所述分級的所述又一更高級別的所述一個或多個更多圖形數(shù)據(jù)項目被存儲在所述高速緩存中:
從所述高速緩存獲取所述分級的所述更高級別的所述一個或多個更多圖形數(shù)據(jù)項目;以及
使所述序列的多個處理級被執(zhí)行以使用獲取的所述分級的所述又一更高級別的所述一個或多個更多圖形數(shù)據(jù)項目來推導所述子圖元,其中推導的所述子圖元將被提供到所述一個或多個處理單元用于渲染。
11.根據(jù)權(quán)利要求10所述的圖形處理系統(tǒng),其中所述高速緩存控制器還被配置為在所述高速緩存中存儲代表執(zhí)行所述序列的所述多個處理級中的每個處理級的結(jié)果的圖形數(shù)據(jù)項目,其中存儲的所述圖形數(shù)據(jù)項目用于在渲染更多子圖元時后續(xù)使用。
12.根據(jù)權(quán)利要求6至11中的任一權(quán)利要求所述的圖形處理系統(tǒng),其中所述高速緩存控制器被配置為:
維護一個或多個查找表以指示所述高速緩存的來自圖形數(shù)據(jù)項目的所述分級的一個或多個級別的當前內(nèi)容;以及
確定所述子圖元是否被存儲在所述高速緩存中并且通過查詢所述查找表中的一個或多個查找表來確定一個或多個圖形數(shù)據(jù)項目是否被存儲在所述高速緩存中。
13.根據(jù)權(quán)利要求6至12中的任一權(quán)利要求所述的圖形處理系統(tǒng),其中所述高速緩存控制器還被配置為:
為一個或多個圖形數(shù)據(jù)項目的多個集合中的每個集合維護參考計數(shù),其中針對一個或多個圖形數(shù)據(jù)項目的相應(yīng)集合的參考計數(shù)指示當前正在處理的子圖元數(shù)目,所述子圖元是所述一個或多個圖形數(shù)據(jù)項目的相應(yīng)集合的圖形數(shù)據(jù)項目的后代;
在發(fā)送子圖元用于處理時遞增針對為了生成所述子圖元而需要的所有所述圖形數(shù)據(jù)項目的所述參考計數(shù);
在已經(jīng)處理子圖元之后遞減針對為了生成所述子圖元而需要的所有所述圖形數(shù)據(jù)項目的所述參考計數(shù);以及
使用針對一個或多個圖形數(shù)據(jù)項目的集合的所述參考計數(shù)以確定是否可以從所述高速緩存安全地逐出所述集合的圖形數(shù)據(jù)項目。
14.根據(jù)權(quán)利要求6至12中的任一權(quán)利要求所述的圖形處理系統(tǒng),其中所述高速緩存控制器還被配置為:
維護針對一個或多個圖形數(shù)據(jù)項目的多個集合中的每個集合的鎖定掩碼,其中針對一個或多個圖形數(shù)據(jù)項目的相應(yīng)集合的鎖定掩碼包括針對其中正在處理所述圖形數(shù)據(jù)項目的渲染空間的每個圖塊的鎖定位;
在發(fā)送相應(yīng)集合的圖形數(shù)據(jù)項目之一用于處理時設(shè)置在針對所述一個或多個圖形數(shù)據(jù)項目的所述相應(yīng)集合的所述鎖定掩碼內(nèi)的針對圖塊的所述鎖定位;
在已經(jīng)處理相應(yīng)集合的所有圖形數(shù)據(jù)項目時清除在針對所述一個或多個圖形數(shù)據(jù)項目的所述相應(yīng)集合的所述鎖定掩碼內(nèi)的針對圖塊的所述鎖定位;以及
使用針對一個或多個圖形數(shù)據(jù)項目的集合的所述鎖定掩碼的所述鎖定位以確定是否可以從所述高速緩存安全地逐出所述集合的圖形數(shù)據(jù)項目。
15.根據(jù)權(quán)利要求6至14中的任一權(quán)利要求所述的圖形處理系統(tǒng),其中所述一個或多個處理單元包括:
隱藏表面去除單元,被配置為去除隱藏的圖元片段;以及
紋理化/陰影化單元,被配置為向圖元片段應(yīng)用紋理化和陰影化之一或者二者。
16.根據(jù)權(quán)利要求15所述的圖形處理系統(tǒng),其中:
所述高速緩存被布置為在所述圖形處理系統(tǒng)的處理流水線中在所述隱藏表面去除單元和所述紋理化/陰影化單元之前被使用;或者
所述高速緩存包括:(i)第一高速緩存子系統(tǒng),被布置為在所述圖形處理系統(tǒng)的處理流水線中在所述隱藏表面去除單元之前被使用;以及(ii)第二高速緩存子系統(tǒng),被布置為在所述圖形處理系統(tǒng)的所述處理流水線中在所述隱藏表面去除單元之后和在所述紋理化/陰影化單元之前被使用,其中所述第一高速緩存子系統(tǒng)被配置為存儲所述圖形數(shù)據(jù)項目的位置數(shù)據(jù),并且其中所述第二高速緩存子系統(tǒng)被配置為存儲所述圖形數(shù)據(jù)項目的非位置屬性。
17.根據(jù)權(quán)利要求6至16中的任一權(quán)利要求所述的圖形處理系統(tǒng),其中所述圖形處理系統(tǒng)被配置為使用被細分成多個圖塊的渲染空間,以及其中所述圖形處理系統(tǒng)包括:
幾何處理邏輯,被配置為針對所述圖塊中的每個圖塊生成控制流數(shù)據(jù),所述控制流數(shù)據(jù)包括將用于渲染所述圖塊的輸入圖形數(shù)據(jù)項目的標識符;以及
光柵化邏輯,被配置為渲染由針對所述圖塊中的每個圖塊的所述控制流數(shù)據(jù)標識的圖形數(shù)據(jù)項目,所述光柵化邏輯包括所述一個或多個處理單元、所述高速緩存和所述高速緩存控制器。
18.根據(jù)引用權(quán)利要求15的權(quán)利要求17所述的圖形處理系統(tǒng),其中所述高速緩存被布置為在所述圖形處理系統(tǒng)的處理流水線中在所述隱藏表面去除單元之后和在所述紋理化/陰影化單元之前被使用,
其中所述幾何處理邏輯被配置為針對所述圖形數(shù)據(jù)項目生成變換的位置數(shù)據(jù),以及
其中所述光柵化邏輯被配置為取回針對所述圖形數(shù)據(jù)項目的所述變換的位置數(shù)據(jù)用于由所述隱藏表面去除單元使用。
19.根據(jù)權(quán)利要求17或者18所述的圖形處理系統(tǒng),其中針對圖塊的所述控制流數(shù)據(jù)也包括指示所述子圖元中的哪些子圖元將用于渲染所述圖塊的子圖元指示,以及其中所述光柵化邏輯還被配置為嘗試根據(jù)針對所述圖塊的所述控制流數(shù)據(jù)中的所述子圖元指示從所述高速緩存獲取將用于渲染所述圖塊的所述子圖元。
20.根據(jù)權(quán)利要求17至19中的任一權(quán)利要求所述的圖形處理系統(tǒng),其中所述幾何處理邏輯還被配置為基于所述分級的圖形數(shù)據(jù)項目覆蓋的圖塊數(shù)目生成針對所述圖形數(shù)據(jù)模型的優(yōu)先級,以及
其中所述高速緩存控制器還被配置為將圖形數(shù)據(jù)項目基于它們的優(yōu)先級從所述高速緩存逐出。