專利名稱:拼貼式圖形系統(tǒng)和操作這種系統(tǒng)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及拼貼式圖形系統(tǒng)(tile-based graphics system)和操作這種系統(tǒng)的方法。
背景技術(shù):
已經(jīng)開發(fā)出拼貼式圖形系統(tǒng),其中,對于要顯示的每一幀,該幀被分割成稱為拼貼塊(tile)的多個區(qū)域。針對幀中要被顯示的每一個圖元(通常是點、線或三角形),提供了用于執(zhí)行裝倉(binning)操作以確定圖元與各個拼貼塊中的哪些相交的裝倉單元。具體地,裝倉單元通常將指定多個倉,例如針對每一個拼貼塊指定一個倉,然后基于圖元的坐標(biāo)數(shù)據(jù),將確定圖元與哪個或哪些拼貼塊相交,并且對于相交的每個拼貼塊,將在相關(guān)倉內(nèi)記錄針對該圖元的標(biāo)識符。、雖然在倉和拼貼塊之間可能存在一一對應(yīng)關(guān)系,以使得針對每一個拼貼塊提供單獨的倉,但是以這種方式來布置倉并不是必要的,而是,可將多個拼貼塊與各個倉相關(guān)聯(lián)。這使得能夠減小需要存儲的裝倉數(shù)據(jù)的量。但是,不管裝倉單元以何種方式來構(gòu)造實際倉,在裝倉操作完成時,幀內(nèi)要被顯示的所有圖元都將已被考慮,并且通過裝倉操作產(chǎn)生的裝倉數(shù)據(jù)將提供針對每一個拼貼塊的拼貼塊列表。具體地,拼貼塊列表將針對相應(yīng)的拼貼塊標(biāo)識出與該拼貼塊相交的圖元。僅在裝倉操作完成之后,圖形系統(tǒng)才能夠在隨后繼續(xù)生成針對每一個拼貼塊的圖形數(shù)據(jù)(這里也稱為像素數(shù)據(jù))。具體地,在此階段,圖形系統(tǒng)的光柵化單元將被分配一特定拼貼塊,并且將依據(jù)適用于該拼貼塊的拼貼塊列表來生成針對所分配的拼貼塊的圖形數(shù)據(jù)。針對在拼貼塊列表中標(biāo)識出的那些圖元,光柵化處理確定各個圖元位于哪些像素中,然后應(yīng)用著色算法(shader algorithm)以生成針對每一個像素的像素數(shù)據(jù)。由于在光柵化階段,存在針對每一個拼貼塊的單獨拼貼塊列表,于是如果在圖形系統(tǒng)中提供了多個光柵化引擎,則可以通過向不同的光柵化引擎分配不同拼貼塊來并行化光柵化處理,從而提高性能。但是,在執(zhí)行光柵化之前,通常要完成裝倉操作,這是因為僅在裝倉操作完成,從而幀的所有圖元都已被考慮時,針對任何特定拼貼塊的拼貼塊列表才會被認(rèn)為完成了。執(zhí)行裝倉操作所需的專用裝倉單元占據(jù)了采用硬件裝倉單元的圖形系統(tǒng)內(nèi)的大幅區(qū)域。即使在用軟件執(zhí)行裝倉操作的系統(tǒng)中,裝倉的實施也完全與圖形系統(tǒng)的其它部分分離。此外,不管提供的是硬件還是軟件的裝倉實施方式,裝倉操作通常都花費大量時間,這對圖形渲染處理的整體性能產(chǎn)生了不利影響。因此,希望提供一種改進(jìn)的拼貼式圖形系統(tǒng)和操作這種系統(tǒng)的方法。
發(fā)明內(nèi)容
從第一方面看,本發(fā)明提供了一種用于針對包括多個拼貼塊的幀生成圖形數(shù)據(jù)的拼貼式圖形系統(tǒng),所述系統(tǒng)包括輸入裝置,用于接收所述幀的多個圖元;圖形處理電路,被配置為在第一操作模式中和第二操作模式中操作;在所述第一操作模式中,所述圖形處理電路從所述輸入裝置接收所述多個圖元,并被配置為執(zhí)行裝倉操作以針對所述多個拼貼塊中的每一個拼貼塊來確定拼貼塊列表,該拼貼塊列表標(biāo)識出所述多個圖元中的與該拼貼塊相交的圖元;在所述第二操作模式中,所述圖形處理電路接收所分配的拼貼塊的所述拼貼塊列表,并被配置為執(zhí)行光柵化操作以依據(jù)所述拼貼塊列表來生成所述所分配的拼貼塊的所述圖形數(shù)據(jù);以及控制電路,用于控制圖形處理電路在所述第一操作模式和所述第二操作模式之間切換。根據(jù)本發(fā)明,提供了圖形處理電路,其能夠在第一操作模式和第二操作模式之間切換。在第一操作模式中,圖形處理電路接收要被顯示的多個圖元,并執(zhí)行裝倉操作以針每一個拼貼塊來產(chǎn)生拼貼塊列表。在第二操作模式中,圖形處理電路接收針對特定拼貼塊的拼貼塊列表,并執(zhí)行光柵化操作以生成針對該拼貼塊的圖形數(shù)據(jù)。本發(fā)明的發(fā)明人觀察到在圖形系統(tǒng)中執(zhí)行的裝倉操作和光柵化操作之間具有潛在的相似之處。具體地,兩個處理都計算幾何圖元與矩形區(qū)域(在裝倉操作的情況下是拼 貼塊,而在光柵化操作的情況下是像素)的相交點,然后針對該矩形區(qū)域來生成某種存儲數(shù)據(jù)(對于裝倉操作而言是拼貼塊列表,而對于光柵化操作而言是像素數(shù)據(jù))。基于此觀察,發(fā)明人制作了一種圖形處理單元,其可被布置為在一種操作模式中執(zhí)行裝倉操作并在另一操作模式中執(zhí)行光柵化操作。這相對于采用單獨裝倉單元的已知現(xiàn)有技術(shù)而言顯著地降低了拼貼式圖形系統(tǒng)的尺寸和復(fù)雜度,并在特定實施例中使得實現(xiàn)了多種性能改進(jìn)。在一個實施例中,圖形處理電路包括工作存儲器,該工作存儲器包括多個存儲器塊。在所述第一操作模式中,每一個存儲器塊被與一個拼貼塊相關(guān)聯(lián),并且在裝倉操作期間被用于記錄所述多個圖元中與關(guān)聯(lián)拼貼塊相交的圖元;并且在所述第二操作模式中,每一個存儲器塊與所分配拼貼塊的一個像素相關(guān)聯(lián),并且在所述光柵化操作期間被用于存儲針對關(guān)聯(lián)像素生成的像素數(shù)據(jù)。因此,根據(jù)這樣的實施例,可在兩種操作模式中使用相同的存儲器結(jié)構(gòu),其中信息被存儲在取決于操作模式而不同的各個存儲器塊中。這再次使得通過降低所需的存儲器量而實現(xiàn)了顯著的尺寸改進(jìn)。此外,在工作存儲器被設(shè)置在圖形處理電路的本地而不是被設(shè)置為系統(tǒng)存儲器的一部分的情況下,這種方案顯著地降低了所需的系統(tǒng)存儲器訪問次數(shù)。對于裝倉操作而言尤其如此,因為在典型的現(xiàn)有系統(tǒng)中,裝倉單元在每次一圖元被確定為與拼貼塊相交時就與系統(tǒng)存儲器進(jìn)行通信,因而需要對倉進(jìn)行更新。圖形處理電路可以多種方式來形成。但是,在一個實施例中,圖形處理電路是被修改為支持所述第一操作模式的光柵化電路;并且所述工作存儲器是被提供來由所述光柵化電路在執(zhí)行光柵化操作時使用的拼貼塊存儲器,并且被布置為在所述第一操作模式期間被重用來記錄所述多個圖元中的、與和每一個存儲器塊相關(guān)聯(lián)的拼貼塊相交的圖元。典型的光柵化電路在檢測圖元與各個像素的相交點方面很高效,并且當(dāng)圖形處理電路被修改為還支持裝倉操作模式時,與使用專用裝倉單元進(jìn)行裝倉操作的已知現(xiàn)有方案相比,這些效率還可被用于改進(jìn)裝倉操作的性能和在裝倉操作期間消耗的功耗。此外,典型的光柵化電路設(shè)有在光柵化操作期間用于記錄拼貼塊的每一個像素的像素數(shù)據(jù)的拼貼塊存儲器,并且通過將拼貼塊存儲器再利用來存儲在圖形處理電路操作于第一操作模式以執(zhí)行裝倉操作時生成的拼貼塊列表信息,這與使用典型的已知現(xiàn)有專用裝倉單元來執(zhí)行裝倉操作時所需的存儲器訪問相比,產(chǎn)生了顯著的性能改進(jìn)。
在圖形處理電路由經(jīng)修改的光柵化電路形成的實施例中,該經(jīng)修改的光柵化電路可以采取多種形式。但是,在一個實施例中,光柵化電路包括選擇電路,該選擇電路從單元陣列中選擇各個單元,在第一操作模式中每一個單元包括所述拼貼塊之一,并且在第二操作模式中每一個單元包括所分配拼貼塊的像素。光柵化電路還包括單元處理電路,用于針對所選擇的單元來計算要與該單元相關(guān)聯(lián)的輸出數(shù)據(jù),在第一操作模式中該輸出數(shù)據(jù)指示出所述多個圖元中的與所選擇的單元相交的圖元,并且在第二操作模式中該輸出數(shù)據(jù)提供所選擇的單元的像素數(shù)據(jù),該像素數(shù)據(jù)取決于所選擇的單元是如何與所述多個圖元相交的。在一個具體實施例中,在第一操作模式中,單元處理電路執(zhí)行幾何相交算法,并且在第二操作模式中,單元處理電路執(zhí)行基于樣本的著色算法。因此,在這種實施例中,可以看出對光柵化電路的所需修改是相對較小的。具體地,由選擇電路處理的單元僅僅取決于操作模式而具有不同含義,并且單元處理電路取決于操作模式而執(zhí)行不同算法。 在工作存儲器在兩種操作模式之間共享的實施例中,工作存儲器被共享的方式(特別是在第一操作模式中使用工作存儲器的方式)可以采取多種形式。但是,在一個實施例中,每一個存儲器塊包括n個比特;并且在所述第一操作模式期間,圖形處理電路針對多達(dá)n個圖元執(zhí)行裝倉操作。因此,在這種實施例中,在執(zhí)行光柵化操作時被用來存儲針對特定像素的像素數(shù)據(jù)的n個比特數(shù)據(jù)被在第一操作模式中再利用來存儲針對多達(dá)n個圖元的裝倉信息。特別地,在一個實施例中,存儲器塊中的每一個比特位置與特定圖元相關(guān)聯(lián),并且取決于圖元是否被確定為與該存儲器塊所關(guān)聯(lián)的拼貼塊相交,該比特的值被置位或清除。在一個實施例中,如果所述多個圖元超過n個,則控制電路被布置來致使圖形處理電路在所述第一操作模式中迭代地執(zhí)行所述裝倉操作,對于每一次迭代,不同的n個圖元被考慮。此方案因而提供了這樣的圖形系統(tǒng),該圖形系統(tǒng)可以靈活地使其能夠處理針對特定幀指定的不同數(shù)目的圖元。在一個實施例中,如果幀中的拼貼塊數(shù)目超過拼貼塊中的像素數(shù)目,則控制電路被布置來致使圖形處理電路在所述第一操作模式中迭代地執(zhí)行所述裝倉操作,對于每一次迭代,幀的不同區(qū)域被考慮,其中每一個區(qū)域具有不超過拼貼塊中的像素數(shù)目的多個拼貼塊。因此,此方案使得實施例的圖形處理系統(tǒng)可以靈活地處理各種幀大小,并因而具有各種顯示分辨率。典型地,在需要迭代地執(zhí)行裝倉操作的情形中,工作存儲器的內(nèi)容將在各次迭代之間被寫入倉存儲器,這種內(nèi)容例如在各次迭代中被用于更新倉存儲器的內(nèi)容以使得到所需迭代已經(jīng)完成之時,倉存儲器包含每一個拼貼塊的完整拼貼塊列表。在一個實施例中,圖形處理電路包括多個圖形處理引擎,所述多個圖形處理引擎各自被控制電路控制來操作于所述第一操作模式或所述第二操作模式。在一個這樣的實施例中,控制電路被布置來將數(shù)個所述圖形處理引擎置于所述第一操作模式并將所述幀的不同區(qū)域分配給那些圖形處理引擎中不同的圖形處理引擎,以使得在所述數(shù)個圖形處理引擎之間并行地執(zhí)行裝倉操作。在使用專用裝倉單元來執(zhí)行裝倉操作的典型現(xiàn)有系統(tǒng)中,裝倉操作表示圖形流水線中的序列化點,而本發(fā)明的這種實施例去除了裝倉操作的序列化,使得可跨數(shù)個圖形處理引擎來并行地執(zhí)行裝倉操作,從而顯著地提高了性能。
在一個實施例中,由圖形處理電路產(chǎn)生的拼貼塊列表包括比特序列,其中每一個比特與相應(yīng)一個圖元相關(guān)聯(lián)并且其值指示出該相應(yīng)圖元是否與關(guān)聯(lián)拼貼塊相交。在這樣的實施例中,拼貼式圖形系統(tǒng)還可包括合并引擎,用于接收拼貼塊列表和對每一個圖元的描述并用于產(chǎn)生包括多個向量的向量文件,其中每一個向量提供了對所述圖元中的不與關(guān)聯(lián)拼貼塊相交的一個圖元的描述,所述向量文件被操作于所述第二操作模式時的圖形處理電路用于生成針對所述關(guān)聯(lián)拼貼塊的圖形數(shù)據(jù)。通過使用這樣的合并引擎,可以提供優(yōu)化,借此操作于第二操作模式時的圖形處理電路所使用的向量文件僅包含用于生成針對關(guān)聯(lián)拼貼塊的圖形數(shù)據(jù)所需的最小信息量。這因而促使了性能的關(guān)聯(lián)增長。合并引擎可以多種方式來提供。但是,在一個實施例中,合并引擎包括由圖形處理電路提供的著色引擎。在圖形處理電路處于第一操作模式時用于執(zhí)行裝倉操作的圖形處理電路內(nèi)所提 供的結(jié)構(gòu)可以采取多種形式。但是,在一個實施例中,圖形處理電路包括用于執(zhí)行所述裝倉操作的著色引擎。從第二方面看,本發(fā)明提供了一種用于操作數(shù)據(jù)處理系統(tǒng)以生成包括多個拼貼塊的幀的圖形數(shù)據(jù)的方法,所述方法包括以下步驟在生成所述圖形數(shù)據(jù)的處理期間,選擇性地在第一操作模式和第二操作模式之間切換圖形處理邏輯;當(dāng)在所述第一操作模式中時,所述圖形處理邏輯接收所述幀的多個圖元,并執(zhí)行裝倉操作以針對所述多個拼貼塊中的每一個拼貼塊來確定拼貼塊列表,所述拼貼塊列表標(biāo)識出所述多個圖元中的與該拼貼塊相交的圖元;當(dāng)在所述第二操作模式中時,所述圖形處理邏輯接收所分配的拼貼塊的所述拼貼塊列表,并執(zhí)行光柵化操作以依據(jù)所述拼貼塊列表來生成所述所分配的拼貼塊的所述圖形數(shù)據(jù);以及當(dāng)已經(jīng)針對每一個所述拼貼塊執(zhí)行了光柵化操作時,輸出所述幀的所述圖形數(shù)據(jù)。雖然本發(fā)明的一個實施例的圖形系統(tǒng)可被提供作為專用的圖形硬件系統(tǒng),但是在另一實施例中,圖形系統(tǒng)可通過在通用處理器上執(zhí)行的軟件來實現(xiàn)。特別地,根據(jù)本發(fā)明第三方面,本發(fā)明提供了一種包括計算機(jī)程序的非瞬時性存儲介質(zhì),該計算機(jī)程序當(dāng)被在計算機(jī)上執(zhí)行時致使所述計算機(jī)執(zhí)行本發(fā)明第二方面所述的生成針對幀的圖形數(shù)據(jù)的方法,其中所述幀包括多個拼貼塊。在又一個實施例中,可以使用硬件和軟件元素的混合來實現(xiàn)圖形系統(tǒng)。從第四方面看,本發(fā)明提供了一種用于針對包括多個拼貼塊的幀生成圖形數(shù)據(jù)的拼貼式圖形系統(tǒng),所述系統(tǒng)包括輸入裝置,用于接收所述幀的多個圖元;圖形處理裝置,用于在第一操作模式中和第二操作模式中操作;在所述第一操作模式中,所述圖形處理裝置用于從所述輸入裝置接收所述多個圖元,并用于執(zhí)行裝倉操作以針對所述多個拼貼塊中的每一個拼貼塊來確定拼貼塊列表,所述拼貼塊列表標(biāo)識出所述多個圖元中的與該拼貼塊相交的圖元;在所述第二操作模式中,所述圖形處理裝置用于接收所分配的拼貼塊的所述拼貼塊列表,并用于執(zhí)行光柵化操作以依據(jù)所述拼貼塊列表來生成所述所分配的拼貼塊的所述圖形數(shù)據(jù);以及控制裝置,用于控制所述圖形處理裝置在所述第一操作模式和所述第二操作模式之間切換。
僅作為示例,將參考如附圖所示的本發(fā)明的實施例來進(jìn)一步描述本發(fā)明,在附圖中圖I是圖示出根據(jù)一個實施例的、包含拼貼式圖形系統(tǒng)的數(shù)據(jù)處理系統(tǒng)的框圖;圖2是示意性地圖示出當(dāng)一個實施例的裝倉/光柵化引擎正操作于其第二操作模式下時對拼貼塊存儲器的使用的示圖;圖3是示意性地圖示出當(dāng)一個實施例的裝倉/光柵化引擎正操作于其第一操作模式下時對拼貼塊存儲器的使用的示圖;圖4圖示出了根據(jù)一個實施例如何針對每一個圖元來更新在拼貼塊存儲器中維護(hù)的各種拼貼塊列表;
圖5是圖示出根據(jù)一個實施例的、圖I的系統(tǒng)的操作的流程圖;圖6是更詳細(xì)圖示出根據(jù)一個實施例的、在圖5的步驟210執(zhí)行的步驟的流程圖;圖7是圖示出根據(jù)一個實施例的、在圖6的步驟315執(zhí)行的步驟的流程圖;圖8是圖示出一個實施例的裝倉/光柵化引擎的示圖;圖9是圖示出一個實施例的合并引擎的操作的示圖;以及圖10示意性地圖示出了在一個實施例中可用于實現(xiàn)拼貼式圖形系統(tǒng)的那種類型的通用計算機(jī)。
具體實施例方式圖I是包含一個實施例的拼貼式圖形系統(tǒng)的數(shù)據(jù)處理系統(tǒng)的框圖。該拼貼式圖形系統(tǒng)包括圖形處理單元10,圖形處理單元10具有多個裝倉/光柵化引擎25、30,這些裝倉/光柵化引擎25、30經(jīng)由內(nèi)部總線40耦合到用于控制這些裝倉/光柵化引擎的每一個的操作模式的控制電路20。圖形處理單元10還包括變換電路15和輸入/輸出接口 35,變換電路15以標(biāo)準(zhǔn)方式操作以基于視角來將3D圖元轉(zhuǎn)換為2D坐標(biāo),并且輸入/輸出接口 35用于將圖形處理單元10連接到系統(tǒng)總線50。與系統(tǒng)總線50相連的還有用于執(zhí)行應(yīng)用75的中央處理單元(CPU) 70,應(yīng)用75針對要被顯示的圖形數(shù)據(jù)的每一個幀來生成圖元。系統(tǒng)存儲器55被提供用于存儲在圖形渲染處理期間生成的各種數(shù)據(jù)。具體地,系統(tǒng)存儲器55將包括圖元存儲器66,用于存儲由在CPU 70上執(zhí)行的應(yīng)用75生成的圖元。當(dāng)應(yīng)用已經(jīng)針對特定幀生成一圖元集時,通知將被發(fā)出給圖形處理單元10以致使其開始處理那些圖元。具體地,變換電路15將經(jīng)由輸入/輸出接口 35接收到存儲在圖元存儲器66內(nèi)的該圖元集,并且將執(zhí)行頂點著色操作,以便例如關(guān)于圖形數(shù)據(jù)將被觀看的視角將3D圖元轉(zhuǎn)換為等效的2D表示。圖元的這些2D表示隨后將被變換電路15存儲到系統(tǒng)存儲器55內(nèi)的變換存儲器64。一旦已經(jīng)完成此操作,則圖形處理單元10被布置來執(zhí)行裝倉操作。為了執(zhí)行裝倉操作,控制電路20被布置來經(jīng)由路徑45向裝倉/光柵化引擎25、30的至少一者發(fā)出模式控制信號,以致使將裝倉/光柵化引擎的至少一者置于第一操作模式。所選擇的(一個或多個)裝倉/光柵化引擎隨后被布置來從變換存儲器64接收多個圖元(即,2D版本)并執(zhí)行裝倉操作以產(chǎn)生裝倉數(shù)據(jù),該裝倉數(shù)據(jù)針對構(gòu)成幀的多個拼貼塊的每一者提供標(biāo)識出與該拼貼塊相交的那些圖元的拼貼塊列表。如后面將更詳細(xì)論述的,在該處理期間,與裝倉/光柵化引擎25、30相關(guān)聯(lián)的拼貼塊存儲器27、32被用于存儲在裝倉操作期間生成的裝倉數(shù)據(jù)。在已由這(一個或多個)裝倉/光柵化引擎執(zhí)行裝倉操作之后,裝倉數(shù)據(jù)被從拼貼塊存儲器寫入系統(tǒng)存儲器55的倉存儲器62。如后面將更詳細(xì)論述的,控制電路可以僅分配單個裝倉/光柵化引擎來執(zhí)行裝倉操作,或者可以分配多個裝倉/光柵化引擎來執(zhí)行裝倉操作,以使得幀的不同區(qū)域被分配給不同的裝倉/光柵化引擎,其中每一個區(qū)域包含幀的一個或多個拼貼塊。通過向裝倉處理分配多于一個的裝倉/光柵化引擎25、30,裝倉處理的速度可以得到極大提高,從而增大圖形系統(tǒng)的整體性能。在拼貼塊存儲器27、32沒有足夠的空間用于存儲由關(guān)聯(lián)的裝倉/光柵化引擎25、30在操作于第一操作模式時創(chuàng)建的所有裝倉信息的情況下,該裝倉/光柵化引擎可被布置來迭代地對信息的不同部分進(jìn)行操作,其中,存儲在拼貼塊存儲器中的內(nèi)容在每一次迭代結(jié)束時被寫出到倉存儲器62。例如,拼貼塊存儲器可以包括多個存儲器塊,每一個存儲器塊包括n個比特。在第一操作模式期間在每一個存儲器塊與一拼貼塊相關(guān)聯(lián)的情況下,這允許在單次迭代中針對多達(dá)n個圖元執(zhí)行裝倉操作。但是,如果多個圖元超過n,則關(guān)聯(lián)的裝倉/光柵化引擎可被布置來迭代地操作以便執(zhí)行裝倉操作,針對每一次迭代,考慮多達(dá)n個圖元的不同集合。類似地,如果在第一操作模式期間被分配給裝倉/光柵化引擎的拼貼塊的數(shù)目超過一個拼貼塊中的像素數(shù)目,則這通常意味著拼貼塊存儲器27將沒有足夠的存儲器塊用于針對每一個拼貼塊提供單獨的存儲器塊(通常,拼貼塊存儲器包括針對拼貼塊內(nèi)的每一個像素的存儲器塊),并因此,裝倉/光柵化引擎可再次被布置來迭代地操作以便執(zhí)行裝倉操作,其中,針對每一次迭代,幀的不同區(qū)域被考慮,其中每一個區(qū)域具有不超過一個拼貼塊中的像素數(shù)目的拼貼塊數(shù)目。一旦已經(jīng)完成裝倉操作,并且因此系統(tǒng)存儲器55內(nèi)的倉存儲器62包括通過裝倉操作生成的所有裝倉數(shù)據(jù),則倉存儲器62中的累積裝倉數(shù)據(jù)將提供針對每一個拼貼塊的拼貼塊列表,其中,每一個拼貼塊列表標(biāo)識出與相應(yīng)拼貼塊相交的那些圖元。處理現(xiàn)在可以進(jìn)行到光柵化階段。在光柵化階段期間,控制電路被布置來致使將一個或多個裝倉/光柵化引擎25、30置于第二操作模式,其中,特定拼貼塊被分配給一裝倉/光柵化引擎25,并且該裝倉/光柵化引擎隨后針對該拼貼塊執(zhí)行光柵化操作。具體地,裝倉/光柵化引擎25將經(jīng)由輸入/輸出接口 35從倉存儲器62取回相應(yīng)的拼貼塊列表,并且將使用該拼貼塊列表來執(zhí)行光柵化操作以便生成針對所分配的拼貼塊的圖形數(shù)據(jù)。光柵化操作以傳統(tǒng)的方式進(jìn)行操作,并且產(chǎn)生本領(lǐng)域技術(shù)人員將理解的多種圖形數(shù)據(jù)。例如,這種圖形數(shù)據(jù)通常將包括顏色數(shù)據(jù)(例如,RGB值)、半透明值A(chǔ)、一些深度信息、一些模版信息等。這種信息是針對拼貼塊內(nèi)的每一個像素來產(chǎn)生的,其中,該信息被存儲在拼貼塊存儲器的相應(yīng)存儲器塊中。一旦整個拼貼塊都已被處理,存儲在拼貼塊存儲器中的圖形數(shù)據(jù)就經(jīng)由輸入/輸出接口 35被寫入系統(tǒng)存儲器55的幀緩沖器60的相關(guān)部分。一旦所有拼貼塊都已被處理,則幀緩沖器60將包含針對整個幀的圖形數(shù)據(jù),在這之后,該圖形數(shù)據(jù)可被路由到顯示器驅(qū)動器80以致使該幀被顯示在所連接的顯示設(shè)備上。 圖2示意性地圖示出了拼貼塊存儲器27、32被其關(guān)聯(lián)的裝倉/光柵化引擎25、30在操作于第二操作模式時(即,在執(zhí)行光柵化操作時)以何種方式使用。在此情況中,裝倉/光柵化引擎25將正在處理包括多個像素110的拼貼塊100。在所示出的示例中,該拼貼塊包括16 X 16像素的陣列。在該示例中,拼貼塊存儲器120通常將包括多個存儲器塊125,其中,每一個存儲器塊與像素之一相關(guān)聯(lián)。因此,在此示例中,拼貼塊存儲器120將包括256個存儲器塊,即,針對拼貼塊中的每一個像素有一個存儲器塊。每一個存儲器塊被用于存儲在執(zhí)行光柵化操作期間生成的針對關(guān)聯(lián)像素的像素數(shù)據(jù)。如早先論述的并且如圖2所示,這種像素數(shù)據(jù)通常將包括RGB值(或者顏色值的某種其它表示)、半透明值A(chǔ)和各種其它像素數(shù)據(jù)。圖3示意性地圖示出了當(dāng)裝倉/光柵化引擎正操作于第一操作模式下(S卩,正在執(zhí)行裝倉操作)時使用相同拼貼塊存儲器的方式。在此示例中,裝倉/光柵化引擎25將對包括多個拼貼塊145的幀(或幀區(qū)域)140進(jìn)行處理。在圖2的、拼貼塊存儲器具有256個存儲器塊的示例的情況下,則將了解,如果幀具有小于或等于256個拼貼塊,則這些拼貼塊·中的每一者都可被分配拼貼塊存儲器中的單獨存儲器塊。在圖3所示的示例中,假設(shè)存在256個拼貼塊,因此在假定圖2的每一拼貼塊的像素比率的情況下,幀具有256 X 256像素的分辨率。如早先所論述的,如果幀具有更大的分辨率,因此存在多于256個拼貼塊,則裝倉/光柵化引擎25之一可被布置來迭代地操作,在每一次迭代期間,幀的不同區(qū)域被考慮,或者可替代地幀的不同區(qū)域可被分配給不同的裝倉/光柵化引擎。如圖3所示,拼貼塊存儲器120的每一個存儲器塊125被分配一特定拼貼塊,并且該存儲器塊內(nèi)的n個比特的每一個與不同圖元相關(guān)聯(lián)。因此,在由應(yīng)用75針對特定幀生成的圖元的數(shù)目沒有超過n的情況下,則在裝倉/光柵化引擎25內(nèi)的裝倉操作的單次迭代期間,可對所有的圖元進(jìn)行處理。如果圖元的數(shù)目超過n,則如早先所論述的,可在裝倉/光柵化引擎內(nèi)執(zhí)行多次迭代的裝倉處理,其中,在每一次迭代中,不同的n個圖元被考慮。因此,如圖3所示,與特定拼貼塊相關(guān)聯(lián)的存儲器塊內(nèi)的每一個比特被置位或者被清除以指示出關(guān)聯(lián)的圖元是否被確定為與該拼貼塊相交。在圖3所圖示出的示例中,假設(shè)每一個比特被清除為邏輯0值并被置位為邏輯I值。當(dāng)被置位時,這指示出關(guān)聯(lián)的圖元已被確定為與相關(guān)拼貼塊相交。因此,在圖3所示的示例中,圖元2和3已被確定為與拼貼塊0相交。圖4進(jìn)一步圖示出拼貼塊存儲器內(nèi)的各個比特在裝倉操作期間是如何被設(shè)置的。在此示例中,假設(shè)圖元4是在幀150內(nèi)繪制的三角形157,在此簡單示例中為了便于圖示而假設(shè)幀150包括16個拼貼塊155。在拼貼塊存儲器160中,每一個存儲器塊165與不同拼貼塊相關(guān)聯(lián)。在裝倉操作已被應(yīng)用之后,每一個存儲器塊中的每一個比特將已被置位或被清除以指示出關(guān)聯(lián)圖元是否與相應(yīng)拼貼塊相交。圖4中示出了在與圖元4相關(guān)聯(lián)的裝倉操作結(jié)束時存儲的信息。具體地,每一個存儲器塊的第四比特表示圖元4,并且可以看出,該比特在與拼貼塊4至10相關(guān)聯(lián)的存儲器塊內(nèi)已被置位,并且在所有其它存儲器塊內(nèi)已被清除。圖5是圖示出根據(jù)一個實施例的、圖I的數(shù)據(jù)處理系統(tǒng)的操作的流程圖。在步驟200,判斷圖形處理單元10是否具有待處理的幀,S卩,應(yīng)用75是否已針對特定幀生成圖元集。一旦該判斷已被確定,處理就進(jìn)行到步驟205,其中,由變換電路15提供的頂點著色器被用于對圖元執(zhí)行所需的3D至2D的變換。之后,在步驟210,裝倉/光柵化引擎25、30中的至少一者被控制來操作于第一操作模式中,以便執(zhí)行早先描述的裝倉操作。將在后面參考圖6和圖7來更詳細(xì)地論述在步驟210執(zhí)行的操作。在裝倉操作已經(jīng)完成之后,針對每一個拼貼塊的拼貼塊列表將被存儲在倉存儲器62中,如步驟215所表示的。如早先所論述的,在拼貼塊存儲器足夠用于存儲針對整個幀的裝倉信息的情況下,可在裝倉操作結(jié)束時執(zhí)行的單次存儲操作期間將拼貼塊列表信息存儲在倉存儲器中。但是,在拼貼塊存儲器不足夠大用于存儲所有裝倉信息的情況下,則所需裝倉操作可在一個或多個裝倉/光柵化引擎內(nèi)被迭代地執(zhí) 行,和/或跨多個裝倉/光柵化引擎來并行執(zhí)行,并且在這種情況下,倉存儲器62可在裝倉操作期間被更新多次,以使得在裝倉操作結(jié)束時,倉存儲器的內(nèi)容則提供了針對每一個拼貼塊的拼貼塊列表。在步驟215之后,拼貼塊列表被分配給已由控制電路20控制來操作于第二操作模式的裝倉/光柵化引擎(參見步驟220)。之后,在步驟225,該被分配的裝倉/光柵化引擎執(zhí)行光柵化操作以生成針對拼貼塊中的每一個像素的像素數(shù)據(jù)。該像素數(shù)據(jù)將被保留在拼貼塊存儲器內(nèi)直到光柵化操作結(jié)束,之后在步驟230,像素數(shù)據(jù)將被輸出到幀緩沖器60。之后,在步驟235,判斷是否已經(jīng)處理了所有拼貼塊,并且如果沒有,則在步驟240識別下一個拼貼塊,并且處理返回到步驟220。雖然步驟220、225、230、235和240被順序示出,但是將從早先的論述中理解到可并行地向不同的裝倉/光柵化引擎分配不同拼貼塊,以使得可并行地處理多個拼貼塊。但是,在某一點處將在步驟235判斷出所有拼貼塊都已被處理,之后處理將返回到步驟200以等待要處理的下一個幀。圖6圖示出了根據(jù)一個實施例在圖5的步驟210執(zhí)行的處理。在步驟300,判斷是否要分配多個裝倉/光柵化引擎用于執(zhí)行裝倉處理。如果不要,則處理進(jìn)行到步驟315,其中,裝倉/光柵化引擎被布置來應(yīng)用幾何相交算法以針對幀中的每一個拼貼塊來確定哪些圖元與該拼貼塊相交。如早先所論述的,可在必要時使用多次迭代的裝倉操作以便確保針對幀中的每一個拼貼塊考慮了所有圖元。如果要分配多個裝倉/光柵化引擎用于裝倉,則處理進(jìn)行到步驟305,其中,向每一個所分配的引擎分配幀的不同區(qū)域??商娲鼗蛘叱酥?,在要考慮的圖元的數(shù)目超過拼貼塊存儲器的每一個存儲器塊中的可用空間的情況下,則可向不同的裝倉/光柵化引擎分配不同的圖元群組,于是每一個裝倉/光柵化引擎對同一幀或幀區(qū)域進(jìn)行操作。存儲在每一個拼貼塊存儲器中的信息隨后可在其被寫入倉存儲器時被合并。在步驟305之后,在步驟310在每一個所分配的引擎內(nèi)應(yīng)用幾何相交算法,以便針對所分配區(qū)域中的每一個拼貼塊來確定哪些圖元與該拼貼塊相交,其中,拼貼塊存儲器被相應(yīng)地更新。圖7是更詳細(xì)圖示出根據(jù)一個實施例的、可在圖6的步驟315執(zhí)行的步驟的流程圖。具體地,圖7識別以下情形其中,如果單個裝倉/光柵化引擎被使用,則執(zhí)行多次迭代的裝倉操作是適當(dāng)?shù)?。具體地,當(dāng)在步驟350分配了單個裝倉/光柵化引擎用于裝倉時,則在步驟355判斷圖元的數(shù)目是否超過n,即,拼貼塊存儲器的每一個存儲器塊內(nèi)的比特數(shù)目。如果是超過了,則處理進(jìn)行到步驟360,其中,迭代地執(zhí)行裝倉操作,并且針對每一次迭代考慮不同的n個圖元。明顯地,在最后一次迭代中,可能有少于n個圖元被考慮,這是因為圖元的總數(shù)可能不是n的倍數(shù)。如果在步驟355,判斷出圖元的數(shù)目不大于n,則處理進(jìn)行到步驟365,其中,判斷幀中的拼貼塊的數(shù)目是否大于拼貼塊中的像素數(shù)目。如果是,則處理進(jìn)行到步驟370,其中,迭代地執(zhí)行裝倉操作,并且針對每一次迭代考慮幀的不同區(qū)域。如果在步驟365判斷出幀中的拼貼塊的數(shù)目沒有超過拼貼塊中的像素數(shù)目,則可在步驟375執(zhí)行單次迭代。另外,將理解,如果圖元的數(shù)目超過n并且?guī)械钠促N塊的數(shù)目超過了拼貼塊中的像素數(shù)目,則可能有必要針對特定幀區(qū)域執(zhí)行步驟360,并在隨后往前移動到另一幀區(qū)域,其中針對該幀區(qū)域再次執(zhí)行步驟360,直到已經(jīng)針對所有幀區(qū)域考慮了所有圖元為止。在實踐中,在這種情形下,有利的是 在裝倉處理期間分配多個裝倉/光柵化引擎,以便允許顯著增大裝倉操作的速度。圖8圖示出了根據(jù)一個實施例的裝倉/光柵化引擎的基本結(jié)構(gòu)。具體地,裝倉/光柵化引擎400具有選擇單元410,該選擇單元410被布置來從單元陣列405中選擇各個單元。在裝倉/光柵化引擎400執(zhí)行裝倉操作的第一操作模式中,每一個單元包括拼貼塊,而在裝倉/光柵化引擎執(zhí)行光柵化操作的第二操作模式中,每一個單元包括所分配拼貼塊的像素。適于選擇供在光柵化引擎內(nèi)處理的像素的選擇單元是公知的,并且任何這種選擇單元都可被用來實現(xiàn)組合的裝倉/光柵化引擎400中的選擇單元410。就選擇單元而言,基本操作不管是在執(zhí)行裝倉操作的情況下還是在執(zhí)行光柵化操作的情況下是相同的,并且僅僅被處置的單元的含義改變了。當(dāng)每一個單元被選擇單元選擇時,該單元被傳遞到單元處理器415供處理。具體地,單元處理器415運算要與所選單元相關(guān)聯(lián)的輸出數(shù)據(jù)。在裝倉操作被執(zhí)行的第一操作模式中,輸出數(shù)據(jù)指示出多個圖元中的哪些圖元與所選單元相交,并且單元處理器應(yīng)用幾何相交算法420以確定哪些圖元與所選單元相交。在第二操作模式中,輸出數(shù)據(jù)提供針對所選單元的像素數(shù)據(jù)(這取決于所選單元是如何被圖元相交的),一個實施例中的單元處理器應(yīng)用基于樣本的著色算法425以確定像素數(shù)據(jù)。在光柵化引擎中使用基于樣本的著色算法是公知的,并且任何這種公知的基于樣本的著色算法都可用作著色算法425。根據(jù)這種基于樣本的著色算法,像素內(nèi)的多個離散采樣點被用于確定一像素是否應(yīng)當(dāng)被視作圖元的一部分。雖然原則上這種基于樣本的算法仍然可被用于裝倉操作,但是使用這種離散采樣點很可能將在裝倉操作中錯過某些相交點,這是因為在裝倉操作中,圖元可能在拼貼塊內(nèi)的任何地方與拼貼塊相交。因此,在一個實施例中,在由裝倉/光柵化引擎400執(zhí)行的裝倉操作期間,單元處理器使用單獨的幾何相交算法420。存在數(shù)種本領(lǐng)域技術(shù)人員將理解的合適幾何相交算法,因此這里將不再進(jìn)一步論述這種算法。如從早先對圖3和圖4的論述中清楚可見的,通過裝倉操作產(chǎn)生的拼貼塊列表包括0和I的序列,其中每一個比特與特定圖元相關(guān)聯(lián),邏輯0值指示出該圖元不在拼貼塊內(nèi),而邏輯I值指示出圖元在拼貼塊內(nèi)(很好理解的是,在替代實施例中,邏輯0和邏輯I值的含義可以互換)。圖9圖示出如何在上述處理的優(yōu)化實施方式中使用合并引擎500來產(chǎn)生供光柵化引擎使用的向量文件。具體地,除了存儲在倉存儲器62中的上述拼貼塊列表之外,還將理解變換存儲器64包含針對由變換電路15輸出的每一個2D圖兀的圖兀描述。合并引擎500接收針對特定拼貼塊的拼貼塊列表505和針對每一個圖元的圖元描述510。基于此信息,其在隨后產(chǎn)生向量文件520,該向量文件520包括針對與該拼貼塊相交的每一個圖元的標(biāo)識符525以及針對該圖元的關(guān)聯(lián)描述530。因此,在圖9所示的圖元2、3、6和7與拼貼塊相交的示例中,可以看出向量文件520如圖9的右上方所示。向量文件隨后由被分配用于在第二操作模式中處理相應(yīng)拼貼塊的裝倉/光柵化引擎25、30進(jìn)行使用。合并引擎可以各種方式進(jìn)行構(gòu)造,但是在一個實施例中其由著色弓I擎形成。在一個實施例中,這可以是已經(jīng)在所分配的裝倉/光柵化引擎內(nèi)提供的用于執(zhí)行作為光柵化處理的一部分的所需著色操作的著色引擎。雖然一個實施例的圖形系統(tǒng)可通過合適硬件(例如,通過諸如圖I所示的專用圖形處理單元10)來提供,但是在另一個實施例中,圖形系統(tǒng)可通過在通用處理器上執(zhí)行的軟件來實現(xiàn)。例如,圖10示意性地圖示出了可在一個實施例中使用的通用計算機(jī)600。通用計算機(jī)600包括中央處理單元602、隨機(jī)訪問存儲器(RAM) 604、只讀存儲器(ROM) 606、網(wǎng)絡(luò)接口卡608、硬盤驅(qū)動器610、顯示驅(qū)動器612和監(jiān)視器614、以及具有鍵盤618和鼠標(biāo)620的用戶輸入/輸出電路616,它們都經(jīng)由公共總線622相連。在操作時,中央處理單元602將執(zhí)行存儲在隨機(jī)訪問存儲器604、只讀存儲器606和硬盤驅(qū)動器610中的一個或多個中的或者經(jīng)由網(wǎng)絡(luò)接口卡608動態(tài)下載的計算機(jī)程序指令。所執(zhí)行的處理的結(jié)果可經(jīng)由顯示驅(qū)動器612和監(jiān)視器614向用戶顯示。用于控制通用計算機(jī)600的操作的用戶輸入可經(jīng)由用戶輸入/輸出電路616從鍵盤618或鼠標(biāo)620接收。將了解,計算機(jī)程序可用各種不同的 計算機(jī)語言來編寫。計算機(jī)程序可被存儲以及分發(fā)在記錄介質(zhì)上,或者可被動態(tài)下載到通用計算機(jī)600。當(dāng)在適當(dāng)計算機(jī)程序的控制下操作時,通用計算機(jī)600可執(zhí)行上述圖形處理技術(shù),并且可被視為形成了用于執(zhí)行那些技術(shù)的裝置。具體地,通用軟件例程可被提供用于實現(xiàn)裝倉/光柵化引擎的功能,在一個操作模式中,該軟件例程實現(xiàn)幾何相交算法以執(zhí)行裝倉操作,而在另一個操作模式中,該軟件例程執(zhí)行基于樣本的著色算法以執(zhí)行光柵化操作。這避免了作為圖形系統(tǒng)的一部分來提供完全分離的裝倉實現(xiàn)方式的必要,并且使得提高了圖形渲染處理的運行效率。從上面對實施例的描述中將了解,這種實施例通過允許用于執(zhí)行裝倉和光柵化兩者的組合實現(xiàn)方式,避免了在圖形系統(tǒng)內(nèi)提供專用裝倉實現(xiàn)方式的必要。在一個具體實施例中,現(xiàn)有光柵化實現(xiàn)方式被修改為支持裝倉,于是其能夠在第一操作模式中操作來執(zhí)行裝倉操作,或者在第二操作模式中操作來執(zhí)行光柵化。這可以通過降低能耗和提高性能來顯著地改進(jìn)圖形系統(tǒng)的整體操作。在硬件實現(xiàn)方式中,還可以使得減小圖形硬件的尺寸,從而促使成本的關(guān)聯(lián)降低。雖然這里已經(jīng)描述了具體實施例,但是將了解,本發(fā)明不限于此并且在本發(fā)明的范圍內(nèi)可以對其進(jìn)行許多修改和添加。例如,在不脫離本發(fā)明的范圍的情況下,可將后跟的從屬權(quán)利要求的特征與獨立權(quán)利要求的特征進(jìn)行各種組合。
權(quán)利要求
1.一種用于針對包括多個拼貼塊的幀生成圖形數(shù)據(jù)的拼貼式圖形系統(tǒng),所述系統(tǒng)包括 輸入裝置,用于接收所述幀的多個圖元; 圖形處理電路,被配置為在第一操作模式中和第二操作模式中操作; 在所述第一操作模式中,所述圖形處理電路從所述輸入裝置接收所述多個圖元,并被配置為執(zhí)行裝倉操作以針對所述多個拼貼塊中的每一個拼貼塊來確定拼貼塊列表,所述拼貼塊列表標(biāo)識出所述多個圖元中的與該拼貼塊相交的圖元; 在所述第二操作模式中,所述圖形處理電路接收所分配的拼貼塊的所述拼貼塊列表,并被配置為執(zhí)行光柵化操作以依據(jù)所述拼貼塊列表來生成所述所分配的拼貼塊的圖形數(shù)據(jù);以及 控制電路,用于控制所述圖形處理電路在所述第一操作模式和所述第二操作模式之間切換。
2.根據(jù)權(quán)利要求I所述的拼貼式圖形系統(tǒng),其中 所述圖形處理電路包括工作存儲器,該工作存儲器包括多個存儲器塊; 在所述第一操作模式中,每一個存儲器塊被與一個拼貼塊相關(guān)聯(lián),并且在裝倉操作期間被用于記錄所述多個圖元中與關(guān)聯(lián)拼貼塊相交的圖元;并且 在所述第二操作模式中,每一個存儲器塊與所分配拼貼塊的一個像素相關(guān)聯(lián),并且在所述光柵化操作期間被用于存儲針對關(guān)聯(lián)像素生成的像素數(shù)據(jù)。
3.根據(jù)權(quán)利要求2所述的拼貼式圖形系統(tǒng),其中 所述圖形處理電路是被修改為支持所述第一操作模式的光柵化電路;并且 所述工作存儲器是被提供來由所述光柵化電路在執(zhí)行光柵化操作時使用的拼貼塊存儲器,并且被布置為在所述第一操作模式期間被重用來記錄所述多個圖元中的、與和每一個存儲器塊相關(guān)聯(lián)的拼貼塊相交的圖元。
4.根據(jù)權(quán)利要求3所述的拼貼式圖形系統(tǒng),其中,所述光柵化電路包括 選擇電路,該選擇電路從單元陣列中選擇各個單元,在所述第一操作模式中每一個單元包括所述拼貼塊之一,并且在所述第二操作模式中每一個單元包括所分配拼貼塊的一個像素;以及 單元處理電路,用于針對所選擇的單元來計算要與該單元相關(guān)聯(lián)的輸出數(shù)據(jù),在所述第一操作模式中該輸出數(shù)據(jù)指示出所述多個圖元中的與所選擇的單元相交的圖元,并且在所述第二操作模式中該輸出數(shù)據(jù)提供所選擇的單元的像素數(shù)據(jù),該像素數(shù)據(jù)取決于所選擇的單元是如何與所述多個圖元相交的。
5.根據(jù)權(quán)利要求4所述的拼貼式圖形系統(tǒng),其中,在所述第一操作模式中,所述單元處理電路執(zhí)行幾何相交算法,并且在所述第二操作模式中,所述單元處理電路執(zhí)行基于樣本的著色算法。
6.根據(jù)權(quán)利要求2所述的拼貼式圖形系統(tǒng),其中 每一個存儲器塊包括η個比特;并且 在所述第一操作模式期間,所述圖形處理電路針對多達(dá)η個圖元執(zhí)行裝倉操作。
7.根據(jù)權(quán)利要求6所述的拼貼式圖形系統(tǒng),其中 如果所述多個圖元超過η個,則所述控制電路被布置來致使所述圖形處理電路在所述第一操作模式中迭代地執(zhí)行所述裝倉操作,對于每一次迭代,不同的η個圖元被考慮。
8.根據(jù)權(quán)利要求7所述的拼貼式圖形系統(tǒng),其中 在各次迭代之間,所述工作存儲器的內(nèi)容被寫入倉存儲器。
9.根據(jù)權(quán)利要求2所述的拼貼式圖形系統(tǒng),其中,如果幀中的拼貼塊數(shù)目超過拼貼塊中的像素數(shù)目,則所述控制電路被布置來致使所述圖形處理電路在所述第一操作模式中迭代地執(zhí)行所述裝倉操作,對于每一次迭代,幀的不同區(qū)域被考慮,其中每一個區(qū)域具有不超過拼貼塊中的像素數(shù)目的多個拼貼塊。
10.根據(jù)權(quán)利要求9所述的拼貼式圖形系統(tǒng),其中 在各次迭代之間,所述工作存儲器的內(nèi)容被寫入倉存儲器。
11.根據(jù)權(quán)利要求2所述的拼貼式圖形系統(tǒng),其中,所述工作存儲器被設(shè)置在所述圖形處理電路的本地。
12.根據(jù)權(quán)利要求I所述的拼貼式圖形系統(tǒng),其中 所述圖形處理電路包括多個圖形處理引擎,所述多個圖形處理引擎中的每個被所述控制電路控制來在所述第一操作模式中或所述第二操作模式中操作。
13.根據(jù)權(quán)利要求12所述的拼貼式圖形系統(tǒng),其中 所述控制電路被布置來將數(shù)個所述圖形處理引擎置于所述第一操作模式中并將所述幀的不同區(qū)域分配給這些圖形處理引擎中不同的圖形處理引擎,以使得在所述數(shù)個圖形處理引擎之間并行地執(zhí)行裝倉操作。
14.根據(jù)權(quán)利要求6所述的拼貼式圖形系統(tǒng),其中 由所述圖形處理電路產(chǎn)生的拼貼塊列表包括比特序列,其中每一個比特與相應(yīng)一個圖元相關(guān)聯(lián)并且其值指示出該相應(yīng)圖元是否與關(guān)聯(lián)拼貼塊相交; 所述拼貼式圖形系統(tǒng)還包括 合并引擎,用于接收所述拼貼塊列表和對每一個圖元的描述并用于產(chǎn)生包括多個向量的向量文件,其中每一個向量提供對所述圖元中與關(guān)聯(lián)拼貼塊相交的一個圖元的描述,所述向量文件被在所述第二操作模式中操作時的所述圖形處理電路用于生成所述關(guān)聯(lián)拼貼塊的圖形數(shù)據(jù)。
15.根據(jù)權(quán)利要求14所述的拼貼式圖形系統(tǒng),其中,所述合并引擎包括由所述圖形處理電路提供的著色引擎。
16.如權(quán)利要求I所述的拼貼式圖形系統(tǒng),其中,所述圖形處理電路包括用于執(zhí)行所述裝倉操作的著色引擎。
17.一種用于操作數(shù)據(jù)處理系統(tǒng)以生成包括多個拼貼塊的幀的圖形數(shù)據(jù)的方法,所述方法包括以下步驟 在生成所述圖形數(shù)據(jù)的處理期間,選擇性地在第一操作模式和第二操作模式之間切換圖形處理邏輯; 當(dāng)在所述第一操作模式中時,所述圖形處理邏輯接收所述幀的多個圖元,并執(zhí)行裝倉操作以針對所述多個拼貼塊中的每一個拼貼塊來確定拼貼塊列表,所述拼貼塊列表標(biāo)識出所述多個圖元中的與該拼貼塊相交的圖元; 當(dāng)在所述第二操作模式中時,所述圖形處理邏輯接收所分配的拼貼塊的所述拼貼塊列表,并執(zhí)行光柵化操作以依據(jù)所述拼貼塊列表來生成所述所分配的拼貼塊的所述圖形數(shù)據(jù);以及 當(dāng)已經(jīng)針對每一個所述拼貼塊執(zhí)行了光柵化操作時,輸出所述幀的所述圖形數(shù)據(jù)。
18.—種包括計算機(jī)程序的非瞬時性存儲介質(zhì),該計算機(jī)程序當(dāng)被在計算機(jī)上執(zhí)行時致使所述計算機(jī)執(zhí)行根據(jù)權(quán)利要求17所述的生成包括多個拼貼塊的幀的圖形數(shù)據(jù)的方法。
19.一種用于針對包括多個拼貼塊的幀生成圖形數(shù)據(jù)的拼貼式圖形系統(tǒng),所述系統(tǒng)包括 輸入裝置,用于接收所述幀的多個圖元; 圖形處理裝置,用于在第一操作模式中和第二操作模式中操作; 在所述第一操作模式中,所述圖形處理裝置用于從所述輸入裝置接收所述多個圖元,并用于執(zhí)行裝倉操作以針對所述多個拼貼塊中的每一個拼貼塊來確定拼貼塊列表,所述拼貼塊列表標(biāo)識出所述多個圖元中的與該拼貼塊相交的圖元; 在所述第二操作模式中,所述圖形處理裝置用于接收所分配的拼貼塊的所述拼貼塊列表,并用于執(zhí)行光柵化操作以依據(jù)所述拼貼塊列表來生成所述所分配的拼貼塊的所述圖形數(shù)據(jù);以及 控制裝置,用于控制所述圖形處理裝置在所述第一操作模式和所述第二操作模式之間切換。
全文摘要
本發(fā)明涉及拼貼式圖形系統(tǒng)和操作這種系統(tǒng)的方法。拼貼式圖形系統(tǒng)和操作這種系統(tǒng)的方法被提供用于針對包括多個拼貼塊的幀來生成圖形數(shù)據(jù)。提供了圖形處理電路,其被布置來在第一操作模式和第二操作模式之間切換。在第一操作模式中,圖形處理電路接收幀的多個圖元,并執(zhí)行裝倉操作以針對多個拼貼塊中的每一個拼貼塊來確定拼貼塊列表,該拼貼塊列表標(biāo)識出與該拼貼塊相交的圖元。在第二操作模式中,圖形處理電路接收針對所分配的拼貼塊的拼貼塊列表,并執(zhí)行光柵化操作以依據(jù)該拼貼塊列表來生成針對所分配的拼貼塊的圖形數(shù)據(jù)。這使得針對裝倉操作和光柵化操作二者使用同一圖形處理單元,從而顯著地減小了圖形系統(tǒng)的尺寸,同時還使得改進(jìn)了性能和能耗。
文檔編號G06T11/40GK102708579SQ201210037229
公開日2012年10月3日 申請日期2012年2月16日 優(yōu)先權(quán)日2011年2月16日
發(fā)明者大衛(wèi)·羅伯特·什雷納 申請人:Arm有限公司