新四季網

具有任意塊(tile)形狀的自適應劃分機制以用於基於塊的渲染GPU架構的製作方法

2023-05-17 07:36:26 2


概括地說,本公開內容涉及電子領域。具體地說,本公開內容涉及具有任意塊(tile)形狀的自適應劃分機制以用於基於塊的渲染GPU(圖形處理單元)架構。



背景技術:

隨著集成電路(IC)製造技術提高,製造商能夠將另外的功能集成到單個矽片基底上。但是,隨著這些功能的數量增加,單個IC晶片上的組件的數量也增加。另外的組件增加另外的信號切換,轉而產生更多的熱量。這種另外的熱量可能由於例如熱膨脹而損害IC晶片。此外,這種另外的熱量可能限制包括這些晶片的計算設備的使用位置和/或應用。例如,可攜式計算設備可能完全地依賴於電池功率。因此,隨著將另外的功能集成到可攜式計算設備,減少功耗的需求變得日益重要,例如,以便將電池電量維持延長的一段時間。此外,隨著非可攜式計算系統的IC組件使用更多的功率和產生更多的熱量,其還面臨著冷卻和能量生成問題。

趨向於使用相對大量的功率並對性能具有顯著影響的一種類型的組件,是一些集成電路晶片上包括的圖形電路。因此,控制圖形電路的功耗和/或操作,可以對於整體系統功耗和/或性能具有直接影響。

附圖說明

參照附圖提供具體實施方式。在這些附圖中,附圖標記的最左側數字標識該附圖標記第一次出現時的附圖。在不同的附圖中對於相同附圖標記的使用,指示類似或相同的項。

圖1、圖3A、圖3B和圖7-9示出了可以用於實現本文所討論的各種實施例的計算系統的實施例的框圖。

圖2根據實施例,示出了一種具有塊劃分的場景。

圖4A根據實施例,示出了一種兩級塊結構。

圖4B根據實施例,示出了超級塊表的框圖。

圖4C根據實施例,示出了圖元交叉代價緩衝區的框圖。

圖5A根據實施例,示出了用於樣本幀的圖元交叉代價結果。

圖5B根據實施例,示出了一種基於搜索的超級塊生成機制。

圖5C根據實施例,示出了圖像數據從塊緩衝區到幀緩衝區的流動。

圖6根據一些實施例,示出了一種用於執行基於塊的渲染操作的方法的流程圖。

具體實施方式

在下面的描述中,為了提供對於各個實施例的透徹理解,對眾多特定細節進行了闡述。但是,可以在不使用這些特定細節的情況下,實現各個實施例。在其它實例中,為了不對特定的實施例造成模糊,沒有詳細地描述公知的方法、過程、組件和電路。此外,可以使用諸如集成半導體電路(「硬體」)、組織成一個或多個程序的計算機可讀指令(「軟體」)或者硬體和軟體的某種組合之類的各種方式,來執行實施例的各個方面。為了便於本公開內容的說明目的,對於「邏輯」的引用應當意味著硬體、軟體、固件或者其某種組合。

一些實施例提供了一種具有任意塊(tile)形狀的自適應劃分機制以用於基於塊的渲染圖形邏輯。如本文所討論的,「塊(tile)」通常指代進行考慮的場景或圖像幀的一部分,以用於由圖形邏輯進行處理(例如,用於圖形處理、渲染等等)。該圖形邏輯可以包括GPU(圖形處理單元)或者其它類型的與執行圖形任務有關的計算(例如,對圖像、幀、場景等等進行操縱的操作)的邏輯,例如,如本文所進一步討論的。雖然參照圖形邏輯討論了一些實施例,但實施例並不限於與圖形有關的邏輯,其還可以應用於其它類型的非圖形(例如,通用目的)邏輯。此外,針對諸如桌面型計算機、移動計算機(例如,智慧型電話、平板設備、UMPC(超級移動個人計算機)、膝上型計算機、UltrabookTM(超級本)計算設備、智能手錶、智能眼鏡等)、工作站等等之類的任何類型的計算設備,可以執行各種實施例,在一個實施例中,這些計算設備可以在SOC(片上系統)平臺上體現。

此外,本文所討論的場景、圖像或者幀(例如,在各個實施例中,其可以由圖形邏輯來處理)可以由圖像捕捉設備(例如,數位相機(其可以嵌入在諸如智慧型電話、平板設備、膝上型計算機、獨立照相機等等之類的另一設備中)或模擬設備(其捕捉的圖像隨後被轉換成數字形式))進行捕捉。此外,本文討論的場景、圖像或者幀可以由藝術設計、遊戲設計或者任何類型的3D/2D(二維/三維)工業設計來生成。例如,場景可以指代一組幾何結構和相關的紋理圖、照明效果等等。此外,在一個實施例中,圖像捕捉設備能夠捕捉多個幀。此外,在一些實施例中,在計算機上設計/生成場景的幀中的一個或多個。此外,可以經由顯示器(例如,參照圖7和/或圖8所討論的顯示器,其包括例如平板顯示設備等等)來呈現場景的幀中的一個或多個。

此外,一些基於塊的SOC GPU架構可以使用參數緩衝區自由設計,這種設計可以通過避免針對參數數據的讀操作和寫操作,來提高性能和減少功耗。相應地,可以使用兩遍頂點著色機制來獲得用於塊映射(例如,以發現圖元所屬於的塊)和屬性計算的參數位置。如本文所討論的,「圖元」通常指代圖形邏輯能夠進行處理(例如,繪製、存儲等等)的(例如,幾何)形狀(比如點、線、三角等等)。由於重複的讀操作和頂點數據的計算,因此跨越幾個塊的圖元的頂點渲染將耗費更多的代價(例如,就功率和/或性能損失而言)。

為此,一些實施例提供了一種自適應塊劃分方式,以緩解參數緩衝區自由設計中的冗餘頂點數據讀操作和計算操作。因此,這些實施例減少了功耗和/或增加了性能,並且其還可以減少緩衝區大小要求和半導體凸塊代價。

一些實施例可以應用於包括一個或多個處理器(例如,具有一個或多個處理器核)的計算系統,比如參照圖1-9所討論的那些,例如,其包括諸如智慧型電話、平板設備、UMPC(超級移動個人計算機)、膝上型計算機、UltrabookTM(超級本)計算設備、智能手錶、智能眼鏡等等等之類的移動計算設備。具體而言,圖1根據一個實施例,示出了一種計算系統100的框圖。系統100可以包括一個或多個處理器102-1到102-N(本文通常稱為「處理器(多個)102」或「處理器102」)。在各個實施例中,處理器102可以是通用CPU和/或GPU。處理器102可以經由互連或總線104來進行通信。每一個處理器可以包括各種組件,為了清楚說明起見,僅僅參照處理器102-1來討論這些組件中的一些。因此,剩餘的處理器102-2到102-N中的每一個可以包括參照處理102-1所討論的相同或者類似組件。

在實施例中,處理器102-1可以包括一個或多個處理器核106-1到106-M(本文稱為「核106(多個)」或「核106」)、高速緩存108和/或路由器110。可以將處理器核106實現在單個集成電路(IC)晶片上。此外,該晶片可以包括一個或多個共享的和/或專用的高速緩存(例如,高速緩存108)、總線或者互連(例如,總線或者互連112)、圖形和/或存儲器控制器(例如,參照圖7-9所討論的那些)或者其它組件。

在一個實施例中,路由器110可以用於處理器102-1的各個組件和/或系統100之間的通信。此外,處理器102-1可以包括一個以上的路由器110。此外,眾多的路由器110可以進行通信,以使數據在位於處理器102-1之內或者之外的各個組件之間進行路由。

高速緩存108可以存儲由處理器102-1的一個或多個組件(例如,核106)使用的數據(例如,其包括指令)。例如,高速緩存108可以對存儲器114中存儲的數據進行本地高速緩存,以便處理器102的組件進行更快速地訪問(例如,核106進行更快速地訪問)。如圖1中所示,存儲器114可以經由互連104,與處理器102進行通信。在一個實施例中,(可以進行共享的)高速緩存108可以是中級高速緩存(MLC)、最後一級高速緩存(LLC)等等。此外,核106中的每一個都可以包括一級(L1)高速緩存(116-1)(本文通常稱為「L1高速緩存116」)或者其它級的高速緩存(如,二級(L2)高速緩存)。此外,處理器102-1的各個組件可以直接通過總線(例如,總線112)和/或存儲器控制器或集線器,與高速緩存108進行通信。

如圖1中所示,處理器102還可以包括圖形邏輯140,以執行諸如本文所討論的與各種圖形有關的操作。邏輯140可以訪問本文所討論的一個或多個存儲設備(例如,高速緩存108、L1高速緩存116、存儲器114、寄存器或者系統100中的另一個存儲器),以存儲與邏輯140的操作有關的信息,比如,利用系統100的各個組件進行傳輸的信息(如本文所討論的)。此外,雖然將邏輯140示出為位於處理器102之內,但在各個實施例中,其可以位於系統100中的任意位置。例如,邏輯140可以替換核106中的一個,可以直接耦合到互連112和/或互連104等等。

基於圖元的屏幕位置信息,圖形邏輯(例如,邏輯140)自適應地劃分具有任意形狀的塊(例如,但不必需是矩形),以減少跨不同的塊的圖元的數量;因此,減少了冗餘計算和存儲器讀操作。這種塊劃分機制自適應地設置塊形狀來匹配高代價圖元的形狀,並自動地避免塊邊界穿過密集的圖元區域。

圖2根據實施例,示出了具有傳統的塊劃分(A)和自適應塊劃分(B)的場景。該場景具有三個drawcall(繪製調用):drawcall#1渲染月亮和星星,drawcall#2渲染雲彩,以及drawcall#3渲染建築物。假定雲彩的網格包含針對每一個頂點的非常複雜的屬性列表,並且需要進行某種凹凸紋理映射來給出從模型空間到屏幕空間的最終位置,則如果將雲彩網格中的圖元分隔到幾個塊之中,其將耗費更多的代價(例如,就計算量、處理功率和/或功耗而言)。在屏幕上存在四個塊T1、T2、T3和T4,線示出了塊的邊界。

如圖2中所可以觀察到的,傳統的塊劃分方法(A)產生圖元和塊之間的很多交叉,而自適應塊劃分機制(B)通過改變塊的形狀,可以避免高代價交叉。此外,傳統的塊劃分解決方案(B)採用較大的塊,例如,以便減少冗餘計算和其參數緩衝區自由設計的存儲器訪問。但是,其至少需要考慮下面兩個問題:(a)其需要較大的塊緩衝區,這產生較大的晶片面積和高代價(例如,該解決方案下的塊由幾百像素乘以幾百像素構成,故硬體需要提供一MB的塊緩衝區來進行容納);(b)較大的塊可以減少「圖元和塊之間的交叉」的概率(但是,當前實現方式並不足夠智能,例如,由於圖元通常隨機地跨不同的塊,並且對於某些基準而言,可以平均觀察到大約10%-20%的冗餘計算)。

相比而言,一些實施例使用能夠避免高代價圖元的冗餘處理的自適應塊劃分機制。

圖3A根據實現,示出了具有參數緩衝區的圖形處理計算系統的組件的框圖。在實施例中,圖3A的核側示出了可以在邏輯140中提供的相同邏輯。在存貯器件/存儲器側(例如,其可以與參照圖1或圖7-9所討論的存貯器件/存儲器設備相同或者類似),給出了VBO(頂點緩衝對象)存貯器件302和參數緩衝區304,以便分別存儲頂點對象和中間頂點著色數據。通常,基於塊的渲染架構以圖元方式來執行頂點著色,但以塊方式來執行像素著色。為了支持這種類型的方式轉換,使用稱為參數緩衝區304的存儲器緩衝區來存儲頂點著色(VS)邏輯306所產生的中間結果。如圖3A中所示,將VBO數據(例如,其存儲在VOB存貯器件302中)傳送到邏輯VS 306(以執行頂點著色操作),接著傳送到剔除(culling)邏輯308(例如,以刪除位於檢視區之外的圖元),並隨後存儲在參數緩衝區304中,以便柵格邏輯310進行後續處理(例如,對幀中的圖元進行柵格化)。

結果,參數緩衝區304造成了使用另外的存儲器業務,這是由於圖元數據可能位於一個以上的塊之中(這稱為圖元和塊的交叉)。參數緩衝區304需要存儲器的相對較大部分來記錄頂點著色邏輯306所生成的屬性和每一塊的數據結構。對於某些基準來說,參數緩衝區的大小可以是10MB到100MB。此外,對於參數緩衝區304的每一次訪問將耗費額外的帶寬。

圖3B示出了可以在一些實施例中使用的,不具有參數緩衝區的圖形處理計算系統的組件的框圖。在實施例中,圖3B的核側示出了可以在邏輯140中提供的樣本邏輯。具體而言,一些實現可以使用兩遍頂點著色(例如,如圖3B中的VS邏輯306-1和306-2所示出的),以便能夠省略圖3A的參數緩衝區304。對於這種參數緩衝區自由設計而言,頂點著色邏輯沒有位置來存儲頂點著色結果。具體而言,將頂點著色流程劃分成兩遍:(1)第一遍(例如,在邏輯306-1處)計算繪製調用(例如,邏輯312,其轉而決定圖元所落入到的塊)的每一次頂點繪製調用的屏幕空間位置;以及(2)第二遍(例如,在邏輯306-2處)是例如針對於每一個塊,以塊方式進行操作,VS邏輯306-2遍歷所有相關的圖元,並且執行完整的頂點著色操作。在該設計方案中,由於頂點數據的重複的讀操作和計算操作,跨幾個塊的圖元的頂點渲染將耗費更多的代價。使用更大的塊大小(例如,幾百像素乘以幾百像素)可以將這種交叉緩解到某種程度。

此外,更大的塊大小可能不能有效地避免所述交叉。對於現有的大塊解決方案來說,關於某些基準而言,其可能產生大約10%-20%的冗餘頂點著色計算。由這些計算進行的冗餘存儲器訪問可能甚至更大。此外,較大的塊大小設計方案需要裝備相對較大大小的片上塊緩衝區(例如,一些情況下的一MB),這顯著地增加晶片面積和代價。

在一些實施例中,減少圖元和塊的交叉,其轉而減少或者避免另外的存儲器業務和計算所產生的浪費。

圖4A根據實施例,示出了一種兩級塊結構。如圖4A中所示,使用兩層的塊。將上級的層規定成超級塊,即,由402和403所形成的結構。將下級塊結構規定成原子塊401,其是不可劃分的矩形像素塊,如本文所討論的。轉而,超級塊由一組原子塊構成。在一些實施例中,超級塊不需要是矩形的。其可以是任何形狀。但是,超級塊的大小不能超過塊緩衝區大小。

在圖4A中,原子塊具有16x16像素。矩形的超級塊402可以是256x256像素。所以,超級塊402包含256個原子塊。可以向每一個原子塊401分配二維標識符(ID),其直接映射到其屏幕位置。可以使用圖4B(其中,圖4B根據實施例,示出了超級塊表的框圖)中所示出的超級塊表(「STT」),來管理超級塊。如圖4B中所示,每一個STT可以包含超級塊ID和原子塊ID(二維屏幕位置)的列表。

圖4C根據實施例,示出了圖元交叉代價緩衝區的框圖。可以將圖元交叉代價(PIC)值規定成用於該代價的度量,其中圖元跨多個塊。該度量可以與頂點屬性數字和頂點著色複雜度成比例。在實施例中,根據下面的公式來計算PIC值:

PIC=(αS+βL)*V

在上面的公式中,「S」指代頂點元素的字節大小,「L」是頂點著色長度(其對應於著色邏輯中的指令的數量),α和β分別是PIC中的S和L的權重,α+β=1.0(它們可以進行調整),「V」是圖元的頂點的數量。此外,屬於相同的繪製調用的圖元具有相同的PIC值。

可以將「原子塊的PIC」(PICT)規定成:跨當前原子塊的圖元的PIC值的總和。較高的PICT意味著在相應的原子塊中的這些圖元的較高渲染代價。這些類型的原子塊沒有資格被用作超級塊的邊界。此外,可以將每一個原子塊的PICT值存儲在圖元交叉代價緩衝區(PICB)中,例如,如圖4C中所示。將這種緩衝區索引成二維數據結構,例如,其每一個元素映射到屏幕的原子塊中(例如,如圖4C中所示)。

在實施例中,通過下面的偽代碼來創建PICB:

將PICB初始化成零;

For each primitive(對於每一個圖元)

For each atomic-Tile[X,Y]intersect with primitive(對於與圖元交叉的每一個原子塊[X,Y])

PICB[X,Y]+=PIC;

圖5A根據實施例,示出了用於樣本幀的圖元交叉代價結果。在該例子中,屏幕大小是1920x1080像素,其被劃分成120x68個大小為16x16像素的原子塊。圖5A的部分A是PICB的視覺圖像,明亮意味著較高的圖元交叉代價,灰暗意味著較低的圖元交叉代價。圖5A的部分B是相應的最終渲染圖像。因此,PICB可以僅僅記錄用於16x16原子塊的一個數字,其採用16比特。與全HD屏幕的16KB片上緩衝區相比,其耗費更少的代價。

在實施例中,使用超級塊生成算法(例如,其由邏輯140執行)來獲得超級塊劃分機制。在超級塊的邊界中,將多個高代價圖元組織成彼此之間不跨越的超級塊。在實施例中,該超級塊生成是基於PICB的擴展過程。其以使用較小的矩形超級塊來覆蓋最高代價原子塊開始。隨後,該算法使用基於搜索的第三部分算法(例如,諸如Knapsack問題解算器),對該超級塊從其(例如,四個)邊界的種子進行增長。該超級塊的大小不超過片上可用的塊緩衝區大小。圖5B根據實施例,示出了基於搜索的超級塊生成機制。下一個超級塊的生成,將遵循相同的處理,直到生成所有的超級塊為止。

圖6根據一些實施例,示出了用於執行基於塊的渲染操作的方法600的流程圖。可以使用本文參照圖1-5C和圖7-9所討論的一個或多個組件(例如,其包括圖形邏輯140),來執行參照圖6所討論的一個或多個操作。

參見圖1-6,響應於在操作602處確定有更多的繪製調用要進行處理,在操作604處,圖3B的VS邏輯306-1裝載頂點數據(例如,諸如頂點位置、頂點法線和紋理坐標),並以圖元方式來執行屏幕位置計算。在操作606處,(例如,邏輯140的)圖元交叉代價計算模塊計算每一個原子塊的PICT。在實施例中,操作604和操作606可以是流水線執行的,或者並行地執行(例如,操作604完成drawcall#1,並且將結果傳送到操作606,而操作606對drawcall#1進行處理,同時操作604開始處理drawcall#2)。

一旦沒有更多的繪製調用要在操作602處進行處理,則操作608判斷是否需要生成更多的超級塊。在操作610處,(例如,邏輯410的)超級塊生成模塊決定超級塊的形狀和布局。在實施例中,針對操作610的輸入來自於(例如,圖4C的)PICB。此外,在各個實施例中,可以根據需求,在專用硬體或者統一著色器上執行方法600。在生成一個超級塊之後,將超級塊表發送給VS邏輯(例如,圖3B的VS邏輯306-2),以便在操作612處進行處理。在操作614處,以塊方式來執行後續處理(例如,由圖3B的柵格邏輯310、像素著色(PS))。在實施例中,操作610可以是流水線工作的,或者與操作612和操作614進行並發地工作。

參見圖5C,該圖根據實施例,示出了圖像數據從塊緩衝區到幀緩衝區的流動。如圖5C所示,當渲染超級塊時,按照一個原子塊接一個原子塊的方式,將深度和顏色結果高速緩存在片上塊緩衝區中。當完全地渲染與該超級塊有關的所有繪製調用時,將最終的結果從片上塊緩衝區存儲在幀緩衝區中,以便在顯示設備(例如,本文所討論的顯示設備)上進行後續呈現。

圖7根據實施例,示出了計算系統700的框圖。計算系統700可以包括經由互連網絡(或總線)704進行通信的一個或多個中央處理單元(CPU)702或者處理器。處理器702可以包括通用處理器、網絡處理器(其對於在計算機網絡703上傳輸的數據進行處理)、或者其它類型的處理器(其包括精簡指令集計算機(RISC)處理器或複雜指令集計算機(CISC))。

此外,處理器702可以具有單個或者多個核設計。具有多核設計的處理器702可以將不同類型的處理器核集成在同一集成電路(IC)晶片上。此外,可以將具有多核設計的處理器702實現成對稱或者非對稱多處理器。在實施例中,處理器702中的一個或多個可以與圖1的處理器102相同或者類似。例如,系統700的一個或多個組件可以包括參照圖1-6所討論的邏輯140。此外,參照圖1-6所討論的操作可以由系統700中的一個或多個組件來執行。

晶片集706還可以與互連網絡704進行通信。晶片集706可以包括圖形存儲器控制集線器(GMCH)708,後者可以位於系統700的各個組件中(例如,如圖7中所示出的那些)。GMCH 708可以包括與存儲器712(其可以與圖1的存儲器114相同或者類似)進行通信的存儲器控制器710。存儲器712可以存儲數據(其包括指令序列),其中該數據可以由CPU 702或者計算系統700中包括的任何其它設備來執行。在一個實施例中,存儲器712可以包括諸如隨機存取存儲器(RAM)、動態RAM(DRAM)、同步DRAM(SDRAM)、靜態RAM(SRAM)或者其它類型的存貯器件之類的一個或多個易失性存貯(或者存儲器)器件。此外,還可以使用諸如硬碟之類的非易失性存儲器。另外的設備可以經由互連網絡704進行通信,例如,多個CPU和/或多個系統存儲器。

GMCH 708還可以包括與顯示設備716進行通信的圖形接口714。在一個實施例中,圖形接口714可以經由加速圖形埠(AGP)或者外圍組件互連(PCI)(或者PCI快速(PCIe)接口),與顯示設備716進行通信。在實施例中,顯示器716(例如,平板顯示器)可以通過例如信號轉換器,與圖形接口714進行通信,其中該信號轉換器將諸如視頻存儲器或系統存儲器之類的存貯器件中存儲的圖像的數字表示,轉換成由顯示器716進行解釋和顯示的顯示信號。在顯示設備所產生的顯示信號被解釋並在顯示器716上進行後續顯示之前,可以傳送通過各種控制設備。

集線器接口718可以允許GMCH 708和輸入/輸出控制集線器(ICH)720進行通信。ICH 720可以提供針對與計算系統700進行通信的I/O設備的接口。ICH 720可以通過諸如外圍組件互連(PCI)橋、通用串行總線(USB)控制器或者其它類型的外圍橋或控制器之類的外圍橋(或控制器)724,與總線722進行通信。橋724可以提供CPU 702和外圍設備之間的數據路徑。可以使用其它類型的拓撲。此外,多個總線可以例如通過多個橋或控制器,與ICH 720進行通信。此外,在各個實施例中,與ICH 720進行通信的其它外圍設備可以包括電子集成驅動器(IDE)或者小型計算機系統接口(SCSI)硬碟驅動器、USB埠、鍵盤、滑鼠、並行埠、串行埠、軟盤驅動器、數字輸出支持(例如,數字視頻接口(DVI))或者其它設備。

總線722可以與音頻設備726、一個或多個盤驅動器728和網絡接口設備730(其與計算機網絡703進行通信)進行通信。其它設備可以經由總線722進行通信。此外,在一些實施例中,各個組件(例如,網絡接口設備730)可以與GMCH 708進行通信。此外,可以對處理器702和GMCH 708進行組合以形成單個晶片。此外,在其它實施例中,可以將圖形加速器包括在GMCH 708中。

此外,計算系統700可以包括易失性和/或非易失性存儲器(或存貯器件)。例如,非易失性存儲器可以包括下面中的一個或多個:只讀存儲器(ROM)、可編程ROM(PROM)、可擦除PROM(EPROM)、電子EPROM(EEPROM)、磁碟驅動器(例如,728)、軟盤、壓縮盤ROM(CD-ROM)、數字多用途光碟(DVD)、快閃記憶體、磁光碟或者能夠存儲電數據(例如,其包括指令)的其它類型的非易失性機器可讀介質。

圖8根據實施例,示出了以點對點(PtP)配置來布置的計算系統800。具體而言,圖8示出了在其中通過多個點對點接口來進行互連的處理器、存儲器和輸入/輸出設備的系統。參照圖1-7所討論的操作可以由系統800的一個或多個組件來執行。

如圖8中所示,系統800可以包括幾個處理器,為了清楚說明起見,只示出了兩個,處理器802和處理器804。處理器802和處理器804中的每一個可以包括本地存儲器控制器集線器(MCH)806和MCH 808,以實現與存儲器810和存儲器812的通信。存儲器810和/或存儲器812可以存儲諸如參照圖7的存儲器712所討論的那些數據之類的各種數據。

在實施例中,處理器802和處理器804可以是參照圖7所討論的處理器702中的一個。處理器802和處理器804可以分別使用點對點(PtP)接口電路816和818,經由PtP接口814來交換數據。此外,處理器802和804中的每一個可以使用點對點接口電路826、828、830和832,經由單獨的PtP接口822和824與晶片集820交換數據。此外,晶片集820還可以經由圖形接口836(例如,使用PtP接口電路837),與圖形電路834交換數據。

可以在處理器802和處理器804中提供至少一個實施例。例如,系統800的一個或多個組件可以包括圖1-7的邏輯140,後者包括位於處理器802和處理器804之內。但是,其它實施例可以位於圖8的系統800中的其它電路、邏輯單元或者設備之內。此外,其它實施例可以分布在圖8中所示出的幾個電路、邏輯單元或者設備之中。

晶片集820可以使用PtP接口電路841,與總線840進行通信。總線840可以與一個或多個設備(例如,總線橋842和I/O設備843)進行通信。經由總線844,總線橋842可以與諸如鍵盤/滑鼠845、通信設備846(例如,數據機、網絡接口設備或者與計算機網絡703進行通信的其它通信設備)、音頻I/O設備847和/或數據存儲設備848之類的其它設備進行通信。數據存儲設備848可以存儲能由處理器802和/或處理器804進行執行的代碼849。

在一些實施例中,本文所討論的組件中的一個或多個可以體現成片上系統(SOC)設備。圖9根據實施例,示出了SOC封裝的框圖。如圖9中所示,SOC 902包括一個或多個中央處理單元(CPU)核920、一個或多個圖形處理器單元(GPU)核930、輸入/輸出(I/O)接口940和存儲器控制器942。SOC封裝902的各個組件可以耦合到諸如本文參照其它附圖所討論的互連或者總線。此外,SOC封裝902可以包括更多或者更少的組件,例如,本文參照其它附圖所討論的那些組件。此外,SOC封裝920的每一個組件可以包括一個或多個其它組件,例如,如參照本文的其它附圖所討論的。在實施例中,在一個或多個集成電路(IC)晶片(例如,其封裝在單個半導體器件中)上提供SOC封裝902(以及其組件)。

如圖9中所示,SOC封裝902經由存儲器控制器942,耦合到存儲器960(其可以與本文參照其它附圖所討論的存儲器相似或者相同)。在實施例中,可以將存儲器960(或者其一部分)集成在SOC封裝902上。

I/O接口940可以例如經由諸如本文參照其它附圖所討論的互連和/或總線,耦合到一個或多個I/O設備970。I/O設備970可以包括下面中的一個或多個:鍵盤、滑鼠、觸摸板、顯示器、圖像/視頻捕捉設備(例如,照相機或者可攜式攝像機/視頻記錄儀)、觸控螢幕、揚聲器等等。此外,在實施例中,SOC封裝902可以包括/集成邏輯140。替代地,可以在SOC封裝902之外,提供邏輯140(即,作為分立邏輯)。

下面的例子與另外的實施例有關。示例1包括一種裝置,該裝置包括邏輯,其中該邏輯至少部分地包括硬體邏輯,用於至少部分地基於圖像的圖元的頂點元素大小、頂點著色器長度和頂點的數量,來確定該圖像的每一個原子塊的圖元交叉代價值。示例2包括示例1所述的裝置,其中,所述原子塊包括不可劃分的矩形像素塊。示例3包括示例1所述的裝置,其中,所述邏輯進一步基於每一個原子塊值的圖元交叉代價值,來生成超級塊。示例4包括示例3所述的裝置,其中,所述邏輯進一步針對所述超級塊來執行一個或多個頂點著色操作。示例5包括示例3所述的裝置,其中,所述邏輯進一步針對所述超級塊來執行一個或多個柵格化操作。示例6包括示例1所述的裝置,其中,所述邏輯進一步裝載頂點數據並且執行屏幕位置計算,其中所述頂點數據包括頂點位置、頂點法線和紋理坐標。示例7包括示例1所述的裝置,其中,所述邏輯用於至少部分地基於所述頂點元素大小、所述頂點著色器長度、所述頂點的數量、所述頂點元素大小的權重和所述頂點著色器長度的權重,來確定所述圖元交叉代價值。示例8包括示例1所述的裝置,其中,處理器包括所述邏輯。示例9包括示例1所述的裝置,其中,具有一個或多個處理器核的處理器、所述邏輯或者存儲器,位於單個集成電路晶片上。

示例10包括一種方法,該方法包括:至少部分地基於圖像的圖元頂點元素大小、頂點著色器長度和的頂點的數量,來確定該圖像的每一個原子塊的圖元交叉代價值。示例11包括示例10所述的方法,其還包括基於每一個原子塊值的圖元交叉代價值,來生成超級塊。示例12包括示例11所述的方法,其還包括針對所述超級塊來執行一個或多個頂點著色操作。示例13包括示例11所述的方法,其還包括針對所述超級塊來執行一個或多個柵格化操作。示例14包括示例10所述的方法,其還包括裝載頂點數據並且執行屏幕位置計算,其中所述頂點數據包括頂點位置、頂點法線和紋理坐標。示例15包括示例10所述的方法,其還包括至少部分地基於所述頂點元素大小、所述頂點著色器長度、所述頂點的數量、所述頂點元素大小的權重和所述頂點著色器長度的權重,來確定所述圖元交叉代價值。

示例16包括一種包含一個或多個指令的計算機可讀介質,其中當所述一個或多個指令在處理器上執行時,配置該處理器執行示例10到15中的任何一個方面的一個或多個操作。

示例17包括一種系統,該系統包括:具有一個或多個處理器核的處理器;存儲器,其用於存儲與場景的至少一個幀相對應的數據,以便由所述一個或多個處理器核中的至少一個進行訪問;顯示設備,其用於呈現所述場景的所述至少一個幀;用於至少部分地基於所述幀的圖元的頂點元素大小、頂點著色器長度和頂點的數量,來確定所述幀的每一個原子塊的圖元交叉代價值的邏輯。示例18包括示例17所述的系統,其中,所述原子塊包括不可劃分的矩形像素塊。示例19包括示例17所述的系統,其中,所述邏輯進一步基於每一個原子塊值的圖元交叉代價值,來生成超級塊。示例20包括示例19所述的系統,其中,所述邏輯進一步針對所述超級塊執行一個或多個頂點著色操作。示例21包括示例19所述的系統,其中,所述邏輯進一步針對所述超級塊執行一個或多個柵格化操作。示例22包括示例17所述的系統,其中,所述邏輯進一步裝載頂點數據並且執行屏幕位置計算,其中所述頂點數據包括頂點位置、頂點法線和紋理坐標。示例23包括示例17所述的系統,其中,所述邏輯用於至少部分地基於所述頂點元素大小、所述頂點著色器長度、所述頂點的數量、所述頂點元素大小的權重和所述頂點著色器長度的權重,來確定所述圖元交叉代價值。示例24包括示例17所述的系統,其中,所述處理器包括所述邏輯。示例25包括示例17所述的系統,其中,所述處理器核中的一個或多個、所述邏輯或者所述存儲器,位於單個集成電路晶片上。

示例26包括一種包含一個或多個指令的計算機可讀介質,其中當所述一個或多個指令在處理器上執行時,配置該處理器執行一個或多個操作,以用於:至少部分地基於圖像的圖元的頂點元素大小、頂點著色器長度和頂點的數量,來確定該圖像的每一個原子塊的圖元交叉代價值。示例27包括示例26所述的計算機可讀介質,其還包括一個或多個指令,當所述一個或多個指令在處理器上執行時,配置該處理器執行一個或多個操作,以使超級塊的生成基於每一個原子塊值的圖元交叉代價值。示例28包括示例27所述的計算機可讀介質,其還包括一個或多個指令,當所述一個或多個指令在處理器上執行時,配置該處理器執行一個或多個操作,以引起針對所述超級塊執行一個或多個頂點著色操作。示例29包括示例27所述的計算機可讀介質,其還包括一個或多個指令,當所述一個或多個指令在處理器上執行時,配置該處理器執行一個或多個操作,以引起針對所述超級塊執行一個或多個柵格化操作。示例30包括示例26所述的計算機可讀介質,其還包括一個或多個指令,當所述一個或多個指令在處理器上執行時,配置該處理器執行一個或多個操作,以使得裝載頂點數據和執行屏幕位置計算,其中所述頂點數據包括頂點位置、頂點法線和紋理坐標。示例31包括示例26所述的計算機可讀介質,其還包括一個或多個指令,當所述一個或多個指令在處理器上執行時,配置該處理器執行一個或多個操作,以至少部分地基於所述頂點元素大小、所述頂點著色器長度、所述頂點的數量、所述頂點元素大小的權重和所述頂點著色器長度的權重,來確定所述圖元交叉代價值。

示例32包括一種裝置,該裝置包括:用於執行如任何前述示例中所闡述的方法的單元。

示例33包括一種包含機器可讀指令的機器可讀存儲器件,當所述機器可讀指令被執行時,實現如任何前述示例中所闡述的方法或者意識到如任何前述示例中所闡述的裝置。

在各個實施例中,本文例如參照圖1-9所討論的操作可以實現成硬體(例如,邏輯電路)、軟體、固件或者其組合,它們可以提供成電腦程式產品,例如,該電腦程式產品包括其上存儲有指令(或者軟體過程)的有形(如,非臨時性)機器可讀介質或者計算機可讀介質,其中這些指令用於對計算機進行編程以執行本文所討論的處理。該機器可讀介質可以包括諸如參照圖1-9所討論的那些之類的存貯器件。

另外,可以將該計算機可讀介質下載作為電腦程式產品,其中,可以通過在載波波形或者其它傳播介質中提供的數據信號的方式,經由通信鏈路(例如,總線、數據機或者網絡連接),將該程序從遠程計算機(例如,伺服器)傳送到請求計算機(例如,客戶端)。

說明書中對於「一個實施例」或者「某個實施例」的引用,意味著結合該實施例所描述的特徵、結構和/或特性可以包括在至少一個實現中。說明書中各個地方出現的短語「在一個實施例中」,可以全部指代同一實施例,也可以不是指代同一實施例。

此外,在說明書和權利要求書中,可以使用術語「耦合」和「連接」以及它們的派生詞。在一些實施例中,可以使用「連接」來指示兩個或更多元件彼此之間直接地物理接觸或者電接觸。「耦合」可以意味著兩個或更多元件處於直接地物理接觸或者電接觸。但是,「耦合」還可以意味著兩個或更多元素不是處於彼此之間的直接接觸,但仍然可以彼此之間協作或者相互作用。

因此,雖然利用特定於結構特徵和/或方法動作的語言來描述實施例,但應當理解的是,所主張的主題並不限於所描述的特定特徵或者動作。相反,只是將這些特定的特徵和動作公開成實現所主張的主題的示例性形式。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀