專利名稱:紋理處理器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及在計算機圖形圖像領(lǐng)域和其它領(lǐng)域中使用的用來進行雙線性過濾的紋理處理器。
背景技術(shù):
在最近幾年,許多游戲機和汽車導(dǎo)航系統(tǒng)使用紋理繪圖,借助于該紋理繪圖對物體繪制圖案,以得到真實圖像。在紋理繪圖中,計算與構(gòu)成物體的每個象素的(X,Y)坐標相對應(yīng)的紋理坐標(U,V),從而根據(jù)紋理坐標(U,V)由在兩維柵格上的紋理取出和再現(xiàn)紋理數(shù)據(jù)。
紋理坐標(U,V)具有小數(shù),并因而該坐標不會總是與在紋理的兩維柵格上的坐標重合。用來獲得紋理數(shù)據(jù)的方法的例子包括點抽樣,其中紋理坐標(U,V)被四舍五入成整數(shù),并且取出在兩維柵格上的紋理數(shù)據(jù);及雙線性過濾,其中使用紋理坐標(U,V)的小數(shù)計算在四個相鄰點處的紋理數(shù)據(jù)的平均值。即使紋理坐標(U,V)不能被四舍五入成整數(shù),雙線性過濾也允許紋理數(shù)據(jù)的內(nèi)插。因而,即使在改變物體形狀或旋轉(zhuǎn)物體的情況下,雙線性過濾通常也比點抽樣提供更高的圖像質(zhì)量。
圖19表示雙線性過濾的概念。在圖19中,T是由紋理坐標(U,V)指示的位置,p是U的小數(shù),q是V的小數(shù),0≤p<1及0≤q<1。T0,T1,T2和T3是在兩維柵格上與T最近的各自四個點處的紋理數(shù)據(jù)。假定T的整數(shù)部分是(u,v),T0的坐標是(u,v),T1的坐標是(u+1,v),T2的坐標是(u,v+1),及T3的坐標是(u+1,v+1)。
雙線性過濾使用如下公式T=(1-p)×(1-q)×T0+p×(1-q)×T1+(1-p)×q×T2+p×q×T3使用該公式計算T0、T1、T2及T3的RGB值。
如上所述,雙線性過濾需要四個點處的紋理數(shù)據(jù),以便創(chuàng)建一個紋理。為了用LSI進行紋理繪圖,紋理一次被存儲在一個內(nèi)部存儲器中,并且然后被參考。在雙線性過濾的情況下,為了創(chuàng)建一個紋理必須參考內(nèi)部存儲器四次。因此,處理速度很慢。
為了以高速進行雙線性過濾,提出了一種技術(shù),其中一個紋理被劃分成在兩維柵格上分別具有坐標(2m,2n)、(2m+1,2n)、(2m,2n+1)及(2m+1,2n+1)的數(shù)據(jù)組(其中m和n是整數(shù)),并且所劃分的紋理數(shù)據(jù)組被存儲在各自四個存儲器中,從而在雙線性過濾期間同時從四個存儲器讀出這些紋理數(shù)據(jù)組(例如日本未審查專利出版物(Kokai)No.11-154237)。
發(fā)明內(nèi)容
在上述常規(guī)技術(shù)中,必須把紋理數(shù)據(jù)劃分成四個數(shù)據(jù)組,從而這些所劃分的數(shù)據(jù)組被分別存儲在相關(guān)存儲器中。因此,在其中紋理數(shù)據(jù)的多個象素能同時經(jīng)一條數(shù)據(jù)總線被傳輸?shù)酱鎯ζ鞯那闆r下,例如出現(xiàn)不能以最大速度進行傳輸?shù)膯栴}。
例如,如果一個紋理繪圖裝置處理16位(/象素)紋理數(shù)據(jù)和32位(/象素)紋理數(shù)據(jù),則在內(nèi)部存儲器中的每個地址中存儲的構(gòu)成數(shù)據(jù)的位數(shù)通常是32。如果用來把紋理數(shù)據(jù)傳輸?shù)絻?nèi)部存儲器的數(shù)據(jù)總線是用于32位,則一次傳輸16位紋理數(shù)據(jù)的兩個象素。然而,在常規(guī)技術(shù)中,紋理數(shù)據(jù)的這兩個象素需要存儲在不同的存儲器中。因此,讀/修改/寫處理也被包括在存儲器中。結(jié)果,紋理數(shù)據(jù)不能以最大速度傳輸,并且數(shù)據(jù)總線的傳輸速度很低。
另外,由于在常規(guī)技術(shù)中在雙線性過濾期間總是從四個存儲器讀出紋理數(shù)據(jù),所以在存儲器部分中出現(xiàn)高功率消耗的另一個問題。
因此本發(fā)明的一個目的在于,能夠?qū)崿F(xiàn)紋理數(shù)據(jù)到紋理存儲器的高速傳輸,從而在用來進行雙線性過濾的紋理處理器中以高速進行雙線性過濾。
為了解決上述問題,根據(jù)本發(fā)明,一種紋理處理器包括第一、第二、第三及第四紋理存儲器,用來存儲紋理數(shù)據(jù);一個存儲器寫部分,用來控制在第一至第四紋理存儲器中的供給紋理數(shù)據(jù)的寫;一個存儲器讀部分,用來控制從第一至第四紋理存儲器靠近紋理坐標的四個點處的紋理數(shù)據(jù)的讀;及一個雙線性過濾計算部分,用來使用由存儲器讀部分從第一至第四紋理存儲器讀出的四個點處的紋理數(shù)據(jù),進行雙線性過濾計算。在本紋理處理器中,在單次寫操作中,存儲器寫部分按能夠一次傳輸且能寫在一個地址中的數(shù)量,把紋理數(shù)據(jù)共同寫在第一至第四紋理存儲器之一中,并且如果要寫的紋理數(shù)據(jù)的V坐標是偶數(shù),則紋理數(shù)據(jù)順序?qū)懺诘谝弧⒌诙?、第三及第四紋理存儲器中,而如果V坐標是奇數(shù),則紋理數(shù)據(jù)順序?qū)懺诘谌⒌谒?、第一及第二紋理存儲器中。
在本處理器中,能夠一次傳輸且能寫在一個地址中的數(shù)量的紋理數(shù)據(jù)被寫在第一至第四紋理存儲器之一中。因而,消除了在紋理數(shù)據(jù)傳輸期間的不必要處理,并且以通過利用數(shù)據(jù)總線的傳輸能力實現(xiàn)的速度寫數(shù)據(jù)。另外,如果紋理數(shù)據(jù)的V坐標是偶數(shù),則紋理數(shù)據(jù)順序?qū)懺诘谝?、第二、第三及第四紋理存儲器中,而如果V坐標是奇數(shù),則紋理數(shù)據(jù)順序?qū)懺诘谌?、第四、第一及第二紋理存儲器中。因而,其U坐標相同而其V坐標彼此相差“1”的紋理數(shù)據(jù)組總是被存儲在不同的紋理存儲器中。這允許在雙線性過濾期間一次讀出在四個點處的必要紋理數(shù)據(jù)。
在紋理處理器中,在讀數(shù)據(jù)時,存儲器讀部分能夠關(guān)于對其訪問是不必要的第一至第四紋理存儲器的至少一個,可以使芯片賦能無效。可選擇地,對于對其訪問是不必要的第一至第四紋理存儲器的至少一個,存儲器讀部分可以停止時鐘的輸入。于是,降低紋理處理器的功率消耗。
在紋理處理器中,存儲器寫部分最好接收指示供給的紋理數(shù)據(jù)的首部V坐標是偶數(shù)還是奇數(shù)的V線模式,并且按照V線模式確定紋理數(shù)據(jù)的V坐標是偶數(shù)還是奇數(shù)。
在紋理處理器中,存儲器寫部分可以被配置成這樣,從而用于數(shù)據(jù)寫的開始地址是可設(shè)置的。可選擇地,存儲器寫部分可以把供給的紋理數(shù)據(jù)移動一個規(guī)定的移動值,并且把移動的紋理數(shù)據(jù)寫在第一至第四紋理存儲器中。
根據(jù)本發(fā)明的紋理處理器最好還包括一個存儲器數(shù)據(jù)移動控制部分,用來把第一紋理數(shù)據(jù)組的、具有最大V坐標的紋理數(shù)據(jù)移動到一個位置,在該位置第二紋理數(shù)據(jù)組的、具有最小V坐標的紋理數(shù)據(jù)被存儲在第一至第四紋理存儲器中,當?shù)诙y理數(shù)據(jù)組寫在其中存儲第一紋理數(shù)據(jù)組的第一至第四紋理存儲器中時,緊跟在第一紋理數(shù)據(jù)組之后將使用第二紋理數(shù)據(jù)組。
在紋理處理器中,存儲器寫部分最好把除第二紋理數(shù)據(jù)組的、具有最小V坐標的紋理數(shù)據(jù)之外的紋理數(shù)據(jù)寫在第一紋理數(shù)據(jù)組的、具有最大V坐標的紋理數(shù)據(jù)的隨后位置,當?shù)诙y理數(shù)據(jù)組寫在其中存儲第一紋理數(shù)據(jù)組的第一至第四紋理存儲器中時,緊跟在第一紋理數(shù)據(jù)組之后將使用第二紋理數(shù)據(jù)組,并且存儲器讀部分參照其中存儲第一紋理數(shù)據(jù)組的、具有最大V坐標的紋理數(shù)據(jù)的位置,讀第二紋理數(shù)據(jù)組的紋理數(shù)據(jù)。
在紋理處理器中,如果紋理數(shù)據(jù)由每象素16位組成,則最好傳輸兩個紋理數(shù)據(jù),而如果紋理數(shù)據(jù)由每象素32位組成,則最好傳輸一個紋理數(shù)據(jù)。
根據(jù)本發(fā)明,在其中紋理數(shù)據(jù)的多個象素經(jīng)一根數(shù)據(jù)總線一次傳輸?shù)那闆r下,以利用數(shù)據(jù)總線的傳輸能力得到的速度把紋理數(shù)據(jù)寫在紋理存儲器中。在雙線性過濾期間,從紋理存儲器一次讀出四個必需的紋理數(shù)據(jù)。結(jié)果,以高速傳輸紋理數(shù)據(jù)并且也以高速進行雙線性過濾。
圖1是方塊圖,表示根據(jù)本發(fā)明第一和第二實施例的紋理處理器的配置。
圖2是表示在圖1中表示的存儲器寫部分的內(nèi)部配置的圖。
圖3是用來解釋在圖2中表示的存儲器寫部分的操作的表格,并且表示用來確定要寫在存儲器中的紋理數(shù)據(jù)的V坐標是偶數(shù)還是奇數(shù)的要求。
圖4是用來解釋在圖2中表示的存儲器寫部分的操作的表格,并且表示用來確定寫使能的要求。
圖5是表示存儲器寫操作的定時圖。
圖6是表示在圖1中表示的存儲器讀部分的內(nèi)部配置的圖。
圖7是用來解釋在圖1中表示的存儲器讀部分的操作的表格,并且表示由一個T0地址發(fā)生器產(chǎn)生的存儲器地址。
圖8是用來解釋在圖1中表示的存儲器讀部分的操作的表格,并且表示選擇信號。
圖9是用來解釋在圖1中表示的存儲器讀部分的操作的表格,并且表示芯片賦能。
圖10是用來解釋紋理選擇器的操作的表格,并且表示紋理數(shù)據(jù)T0至T3。
圖11A和11B是表示在第一實施例中紋理數(shù)據(jù)的寫和讀操作的概念的表格。
圖12是方塊圖,表示根據(jù)本發(fā)明第二實施例的存儲器寫部分的配置。
圖13是用來解釋圖12中表示的存儲器寫部分的操作的表格,并且表示用來確定在紋理數(shù)據(jù)組的V坐標以奇數(shù)開始的情況下要寫在存儲器中的紋理數(shù)據(jù)的V坐標是偶數(shù)還是奇數(shù)的要求。
圖14是方塊圖,表示根據(jù)本發(fā)明第三實施例的紋理處理器的配置。
圖15表示在劃分和傳輸紋理數(shù)據(jù)時數(shù)據(jù)劃分例子的概念。
圖16是定時圖,表示在紋理存儲器中數(shù)據(jù)移動的例子。
圖17是方塊圖,表示根據(jù)本發(fā)明第四實施例的紋理處理器的配置。
圖18A至18C表示其中所劃分的紋理數(shù)據(jù)組按順序存儲在紋理存儲器中的狀態(tài)。
圖19表示雙線性過濾的概念。
具體實施例方式
以下,將參照附圖描述本發(fā)明的實施例。
實施例1圖1是方塊圖,表示根據(jù)本發(fā)明第一實施例的紋理處理器的配置。在圖1中,第一、第二、第三及第四紋理存儲器1a、1b、1c及1d是用來存儲紋理數(shù)據(jù)的存儲器。在該實施例中,存儲器的每一個由32位×256字構(gòu)成。紋理處理器被配置成允許一次傳輸32位數(shù)據(jù)。紋理存儲器1a至1d在時鐘的上升沿接收寫使能、地址或數(shù)據(jù)。
存儲器寫部分2控制從外部存儲裝置等裝載在紋理存儲器1a至1d中的紋理數(shù)據(jù)的寫,并且輸出寫數(shù)據(jù)DI、寫地址WADa、WADb、WADc及WADd和寫使能NWEa、NWEb、NWEc及NWEd。在這個實施例中,供給的紋理數(shù)據(jù)和寫數(shù)據(jù)DI的每一個由32位組成,并且寫地址WADa至WADd的每一個由8位組成。對于寫使能NWEa至NWEd,“0”指示寫狀態(tài),而“1”指示讀狀態(tài)。
一個存儲器讀部分3根據(jù)供給的紋理坐標(已經(jīng)四舍五入成整數(shù))控制從紋理存儲器1a至1d讀雙線性過濾所必需的紋理數(shù)據(jù),并且輸出讀地址RADa、RADb、RADc及RADd和芯片賦能NCEa、NCEb、NCEc、及NCEd。在這個實施例中,讀地址RADa至RADd的每一個由8位組成。對于芯片賦能NCEa至NCEd,“0”指示使存儲器1a至1d進入操作,而“1”指示暫停存儲器1a至1d。當存儲器1a至1d被暫停時,功率消耗降低。
提供與各自紋理存儲器1a至1d相關(guān)的選擇器4a、4b、4c及4d。在紋理數(shù)據(jù)寫在紋理存儲器1a至1d中的時段內(nèi),選擇器4a至4d選擇從存儲器寫部分2輸出的寫地址WADa至WADd。在一個雙線性過濾計算時段內(nèi),選擇器4a至4d選擇從存儲器讀部分3輸出的讀地址RADa至RADd,并且分別輸出所選擇的地址RADa至RADd作為存儲器地址ADa、ADb、ADc及ADd。
一個紋理選擇器5從自紋理存儲器1a至1d讀出的數(shù)據(jù)DOa、DOb、DOc及DOd中,選擇和輸出在圖19中表示的雙線性過濾計算所必需的四個點處的紋理數(shù)據(jù)T0至T3。一個雙線性過濾計算部分6使用從紋理選擇器5輸出的在四個點處的選擇紋理數(shù)據(jù)T0至T3,進行雙線性過濾計算,并且輸出雙線性過濾數(shù)據(jù)。這種雙線性過濾數(shù)據(jù)被寫在未示出的幀存儲器的與描繪坐標(X,Y)相對應(yīng)的一個區(qū)域中。在幀存儲器中的目標數(shù)據(jù)用諸如顯示監(jiān)視器之類的顯示裝置顯示。
以下,將具體描述存儲器寫部分2的配置和操作。
圖2是表示在圖1中表示的存儲器寫部分2的內(nèi)部配置的圖。在圖2中,一個控制計數(shù)器7產(chǎn)生一個寫計數(shù)值wcnt,并且由一個加法器8、一個選擇器9及一個寄存器10構(gòu)成。加法器8把“1”加到寄存器10的值上。選擇器9在開始信號是“0”時選擇加法器8的結(jié)果,而當開始信號是“1”時選擇“0”。寄存器10是一個用來存儲來自選擇器9的輸出的10位觸發(fā)器。寄存器10的值用作寫計數(shù)值wcnt。
在這個實施例中,在數(shù)據(jù)的名稱之后的“[]”,例如“wcnt[9:0]”,指示數(shù)據(jù)的位置。具體地說,[i:j]代表從第i位到第j位的連續(xù)(i-j+1)位。例如,wcnt[9:0]代表從數(shù)據(jù)wcnt的第9位到第0位的連續(xù)10位。同樣,[i]代表數(shù)據(jù)的第i位的一位。例如,wcnt
代表數(shù)據(jù)wcnt的第0位,而wcnt[1]代表數(shù)據(jù)wcnt的第一位。
一個邏輯電路19a得到wcnt
和wcnt[1]的邏輯和,并且輸出得到的邏輯和作為數(shù)據(jù)nwcnt00。僅當wcnt[1:0]=00(二進制數(shù))時,數(shù)據(jù)nwcnt00是“0”。同樣,一個邏輯電路19b得到wcnt
的邏輯非與wcnt[1]的邏輯和,并且輸出得到的邏輯和作為數(shù)據(jù)nwcnt01。僅當wcnt[1:0]=01(二進制數(shù))時,數(shù)據(jù)nwcnt01是“0”。一個邏輯電路19c得到wcnt
與wcnt[1]的邏輯非的邏輯和,并且輸出得到的邏輯和作為數(shù)據(jù)nwcnt10。僅當wcnt[1:0]=10(二進制數(shù))時,數(shù)據(jù)nwcnt10是“0”。一個邏輯電路19d得到wcnt
和wcnt[1]的邏輯與的邏輯非,并且輸出得到的邏輯非作為數(shù)據(jù)nwcnt11。僅當wcnt[1:0]=11(二進制數(shù))時,數(shù)據(jù)nwcnt11是“0”。
一個寫使能發(fā)生器11根據(jù)紋理數(shù)據(jù)的位數(shù)(每象素)和寬度及寫計數(shù)值wcnt[9:0],把數(shù)據(jù)nwcnt00、nwcnt01、nwcnt10及nwcnt11的一個分別選作寫使能NWEa、NWEb、NWEc或NWEd。圖3和4表示用來選擇寫使能NWEa至NWEd的要求的例子。從寫使能發(fā)生器11輸出的寫使能NWEa至NWEd存儲在各自寄存器12至15中,并且被確定。
寫使能NWEa至NWEd這樣產(chǎn)生,從而當要寫的紋理數(shù)據(jù)的V坐標是偶數(shù)時,按紋理存儲器1a→1b→1c→1d→1a...的順序進行寫,而當V坐標是奇數(shù)時,按1c→1d→1a→1b→1c...的順序進行寫。
就是說,根據(jù)圖3中表示的要求確定要寫的紋理數(shù)據(jù)的V坐標是偶數(shù)還是奇數(shù)。例如,如果紋理的位數(shù)是16(位/象素)并且寬度是8(象素),則能傳輸32位數(shù)據(jù)。因而,通過進行存儲器寫操作一次而寫紋理數(shù)據(jù)的兩個象素。為了把紋理數(shù)據(jù)的八個象素存儲在一個存儲器中,寫操作需要進行四次。具體地說,每當進行總共進行四次的寫操作時,在偶數(shù)與奇數(shù)之間切換V坐標,從而當wcnt[2]=0時,V坐標是偶數(shù),而當wcnt[2]=1時,V坐標是奇數(shù)。
然后,如圖4中所示,依據(jù)V坐標是偶數(shù)還是奇數(shù),切換寫使能NWEa至NWEd。
寄存器16是一個8位觸發(fā)器,并且存儲wcnt[9:2],即寫計數(shù)值的八個最高有效位。寄存器16的值用作由寫地址WADa至WADd共享的數(shù)據(jù)。寫地址WADa至WADd使用wcnt[9:2]的值,并因而每當進行總共進行四次的存儲器寫操作時增加“1”。寄存器17是一個32位觸發(fā)器,并且存儲供給的紋理數(shù)據(jù)。寄存器17的值被作為寫數(shù)據(jù)DI輸出。一個寫終止確定部分18監(jiān)視寫計數(shù)值wcnt[9:0],并且當存儲器寫操作的數(shù)量達到處理所必需的給定數(shù)量時,存儲器寫操作終止。
圖5是表示存儲器寫操作的定時圖。在圖5中表示的例子中,紋理數(shù)據(jù)的位數(shù)是16(位/象素),并且寬度是8(象素)。如圖5中所示,在其期間寫地址WADa至WADd是“0”的時段中,要寫的紋理數(shù)據(jù)的V坐標是偶數(shù),并且按NWEa→NWEb→NWEc→NWEd的順序維持寫使能NWEa至NWEd。因而,按第一紋理存儲器1a→第二紋理存儲器1b→第三紋理存儲器1c→第四紋理存儲器1d的順序進行在第一至第四紋理存儲器1a至1d中的寫操作。另一方面,在其期間寫地址WADa至WADd是“1”的時段中,要寫的紋理數(shù)據(jù)的V坐標是奇數(shù),并且按NWEc→NWEd→NWEa→NWEb的順序維持寫使能NWEa至NWEd。因而,按第三紋理存儲器1c→第四紋理存儲器1d→第一紋理存儲器1a→第二紋理存儲器1b的順序進行在第一至第四紋理存儲器1a至1d中的寫操作。
以這種方式,通過單次寫操作把一次能傳輸?shù)囊粋€或多個紋理數(shù)據(jù)寫在第一至第四紋理存儲器1a至1d之一中,從而紋理數(shù)據(jù)能在連續(xù)周期中以高速寫在存儲器中。
現(xiàn)在將具體描述存儲器讀部分3的配置和操作。
圖6是表示在圖1中表示的存儲器讀部分3的內(nèi)部配置的圖。在圖6中,加法器19和20分別把“1”加到供給的U和V坐標上。一個T0地址發(fā)生器21產(chǎn)生并輸出與坐標(U,V)相對應(yīng)的紋理數(shù)據(jù)的存儲器地址radr0。同樣,一個T1地址發(fā)生器22產(chǎn)生并輸出與坐標(U+1,V)相對應(yīng)的紋理數(shù)據(jù)的存儲器地址radr1。一個T2地址發(fā)生器23產(chǎn)生并輸出與坐標(U,V+1)相對應(yīng)的紋理數(shù)據(jù)的存儲器地址radr2。一個T3地址發(fā)生器24產(chǎn)生并輸出與坐標(U+1,V+1)相對應(yīng)的紋理數(shù)據(jù)的存儲器地址radr3。存儲器地址radr0至r adr3的每一個由八位組成。
圖7表示由T0地址發(fā)生器21產(chǎn)生的存儲器地址。在圖7中,例如{V[5:0],U[4:3]}代表通過把坐標值V的從第五位到第0位連續(xù)六位和坐標值U的從第四位到第三位連續(xù)兩位連接起來得到的八位的值。T1地址發(fā)生器22、T2地址發(fā)生器23及T3地址發(fā)生器24也以相同方式產(chǎn)生存儲器地址。
一個選擇器25按照一個2位選擇信號SELa選擇存儲器地址radr0至radr3之一。同樣,選擇器26、27和28的每一個分別按照一個2位選擇信號SELb、SELc或SELd選擇存儲器地址radr0至radr3之一。選擇器25至28在選擇信號SELa至SELd是“00”(二進制數(shù))時,選擇radr0,在信號是“01”(二進制數(shù))時,選擇radr1,在信號是“10”(二進制數(shù))時,選擇radr2,及在信號是“11”(二進制數(shù))時,選擇radr3。寄存器29至32分別存儲由選擇器25至28選擇的地址,并且分別輸出存儲的地址作為讀出地址RADa至RADd。
一個存儲器讀控制部分33根據(jù)坐標(U,V)產(chǎn)生選擇信號SELa至SELd,并且也產(chǎn)生到紋理存儲器1a至1d的芯片賦能NCEa至NCEd。圖8表示由存儲器讀控制部分33產(chǎn)生的選擇信號SELa至SELd。在圖8中,V
、U[2:0]、SELa至SELd由二進制數(shù)表示。在圖8中,陰影部分與在讀數(shù)據(jù)時不需訪問的存儲器相對應(yīng)。這些部分在圖8中表示為“00”(二進制數(shù)),但可以由任何值表示。
在讀數(shù)據(jù)時,最好對于不需訪問的紋理存儲器使芯片賦能無效。圖9表示由存儲器讀控制部分33產(chǎn)生的芯片賦能NCEa至NCEd。在圖9中,陰影部分是在與圖8中那些相同的條件下。在這種情況下,這些部分指示不必訪問存儲器,并因而到該存儲器的芯片賦能被設(shè)置為“1”以便被無效。這停止存儲器操作,并且降低功率消耗。代替使芯片賦能無效或除此之外,可以停止對不必訪問的紋理存儲器的時鐘輸入。
紋理選擇器5按照在圖10中表示的關(guān)系,從自紋理存儲器1a至1d讀出的數(shù)據(jù)DOa至DOd中,選擇在雙線性過濾計算所必需的四個點處的紋理數(shù)據(jù)T0至T3。在其中紋理數(shù)據(jù)的位數(shù)是16(位/象素)的情況下,選擇32位數(shù)據(jù)DOa至DOd中的16位,但以這樣一種方式輸出紋理數(shù)據(jù)T0至T3,從而增加用于R、G及B的每個值的位數(shù),以便允許由雙線性過濾計算部分6進行雙線性過濾計算。
圖11A和11B表示在本實施例中紋理數(shù)據(jù)的寫和讀操作的概念。圖11A是對于其中位數(shù)是16的情形。圖11b是對于其中位數(shù)是32的情形。在圖11A和11B中,符號a至d分別指示在第一至第四紋理存儲器1a至1d中寫入紋理數(shù)據(jù)。如圖11A中所示,在其中紋理數(shù)據(jù)由16位組成的情形下,紋理數(shù)據(jù)按一次能傳輸?shù)膬蓚€單元寫在紋理存儲器1a至1d的每一個中。也就是說,紋理數(shù)據(jù)以高速傳輸。如由虛線矩形A、B及C指示的那樣,四個必需的紋理數(shù)據(jù)在相同周期內(nèi)從多個紋理存儲器讀出。例如,在矩形A的情形下,數(shù)據(jù)只需從第一和第三紋理存儲器1a和1c讀出,而對第二和第四紋理存儲器1b和1d的訪問是不必要的。因而,如上所述,使芯片賦能NCEb和NCEd無效。
如上所述,在本實施例中,為了把紋理數(shù)據(jù)傳輸?shù)郊y理存儲器,總是在連續(xù)周期中進行寫,從而以高速傳輸紋理數(shù)據(jù)。另外,在雙線性過濾所必需的四個點處的紋理數(shù)據(jù)在相同周期內(nèi)讀出,從而以高速進行過濾。在讀數(shù)據(jù)中,通過使芯片賦能無效并停止對于不需訪問的紋理存儲器的時鐘輸入,降低處理器的功率消耗。
在本實施例中,32位數(shù)據(jù)能寫入紋理存儲器的每一個地址中,32位數(shù)據(jù)能一次傳輸,并且使用兩種類型的紋理數(shù)據(jù),即16位紋理數(shù)據(jù)和32位紋理數(shù)據(jù)。然而,本發(fā)明不限于本實施例,并且不脫離本發(fā)明的精神和范圍可以進行各種變更。例如,在配置成能一次傳輸64位數(shù)據(jù)的處理器中,如果紋理數(shù)據(jù)由16位組成,則每次可以傳輸四個紋理數(shù)據(jù)并且該數(shù)據(jù)的兩個可以同時被寫入例如第一和第二紋理存儲器中;而如果紋理數(shù)據(jù)由32位組成,則同時兩個紋理數(shù)據(jù)可以分別傳輸并寫在第一和第二紋理存儲器中。也就是說,能夠一次傳輸和寫在一個地址中的數(shù)量的紋理數(shù)據(jù)共同寫在一個紋理存儲器中,導(dǎo)致以利用數(shù)據(jù)總線的傳輸能力得到的速度寫數(shù)據(jù)。
實施例2根據(jù)本發(fā)明第二實施例的紋理處理器的配置基本與在圖1中表示的相同,但與第一實施例的不同之處在于一個存儲器寫部分2A的配置。圖12是方塊圖,表示第二實施例的存儲器寫部分2A的配置。在圖12中,參照圖2在第一實施例中已經(jīng)描述的元件由相同的標號指示,并且這里將省略其詳細描述。
一個寫使能發(fā)生器34除接收寫計數(shù)值wcnt和數(shù)據(jù)nwcnt00、nwcnt01、nwcnt10及nwcnt11之外,還接收一個V線模式VM。寫使能發(fā)生器34根據(jù)紋理數(shù)據(jù)的位數(shù)和寬度、寫計數(shù)值wcnt[9:0]及V線模式VM,把數(shù)據(jù)nwcnt00、nwcnt01、nwcnt10及nwcnt11的一個分別選作寫使能NWEa、NWEb、NWEc或NWEd。
V線模式VM是一個指示供給紋理數(shù)據(jù)的首部V坐標是偶數(shù)還是奇數(shù)的信號。如果V線模式VM是“0”,則首部V坐標是偶數(shù),而如果V線模式VM是“1”,則首部V坐標是奇數(shù)。
如果V線模式VM是“0”,即要寫的紋理數(shù)據(jù)的V坐標從偶數(shù)開始,則與對于第一實施例在圖3中表示的那些相同的要求用來確定紋理數(shù)據(jù)的V坐標是偶數(shù)還是奇數(shù)。另一方面,如果V線模式VM是“1”,即要寫的紋理數(shù)據(jù)的V坐標從奇數(shù)開始,則用來確定紋理數(shù)據(jù)的V坐標是偶數(shù)還是奇數(shù)的要求表示在圖13中。然后,如圖4中所示,以與第一實施例中相同的方式,依據(jù)V坐標是偶數(shù)還是奇數(shù)切換寫使能NWEa至NWEd。
一個寄存器39是一個用來對開始信號施加一周期延遲的觸發(fā)器。一個寫地址發(fā)生器40產(chǎn)生寫地址WADa至WADd,并且由一個加法器41、選擇器42和43及一個寄存器44構(gòu)成。加法器41把“1”加到寄存器44的值上。選擇器42在開始信號和寄存器39的值的邏輯和的信號是“0”時選擇加法器41的結(jié)果,而在該信號是“1”時選擇開始地址。這個開始地址可從紋理處理器的外部設(shè)置。選擇器43在數(shù)據(jù)nwcnt00是“0”時選擇選擇器42的輸出,而當該數(shù)據(jù)是“1”時選擇寄存器44的值。寄存器44是一個用來存儲選擇器43的輸出的8-位觸發(fā)器。
寄存器44的值,即wadr[7:0],對于寫地址WADa至WADd是共用的。數(shù)據(jù)nwcnt00在四個周期中是“0”一次,從而寄存器44的值在四個周期中被更新一次。就是說,每在存儲器寫的第四次時,寫地址WADa至WADd的每一個增加“1”。
一個寄存器45是一個32位觸發(fā)器,并且把紋理數(shù)據(jù)負載[31:0]保持為數(shù)據(jù)負載1[31:0]。一個左移位器46按照規(guī)定的移動值,把通過使在寄存器45中保持的數(shù)據(jù)負載1[31:0]和供給的紋理數(shù)據(jù)負載[31:0]連接起來得到的64位數(shù)據(jù)向左移位。該移動值能從紋理處理器的外部供給。一個寄存器47是一個32位觸發(fā)器,并且存儲左移位器46的輸出的32個最高有效位。寄存器47的值用作寫數(shù)據(jù)DI。
在這個實施例中,按照V線模式VM確定紋理數(shù)據(jù)的V坐標是偶數(shù)還是奇數(shù)。因而,不管供給的紋理數(shù)據(jù)的首部V坐標是偶數(shù)還是奇數(shù),都如在第一實施例中那樣進行數(shù)據(jù)寫。另外,數(shù)據(jù)寫的開始地址是可設(shè)置的,從而供給的紋理數(shù)據(jù)寫在紋理存儲器的任意地址中。例如,要傳輸?shù)募y理數(shù)據(jù)的橫向線每次能寫在紋理存儲器的任意地址中。因而,這個實施例能夠?qū)崿F(xiàn)例如其中切出與在外部存儲裝置中的大紋理數(shù)據(jù)中的矩形區(qū)域相對應(yīng)的區(qū)域并且傳輸?shù)郊y理存儲器的操作,而第一實施例具有要傳輸?shù)募y理數(shù)據(jù)總是存儲在外部存儲裝置中的連續(xù)地址中的限制。
另外,有可能移動正在傳輸?shù)募y理數(shù)據(jù)。因而,紋理數(shù)據(jù)的開始位置不必位于字接口上,從而紋理數(shù)據(jù)被更靈活地傳輸。
實施例3圖14是方塊圖,表示根據(jù)本發(fā)明第三實施例的紋理處理器的配置。在圖14中,已經(jīng)表示在圖1中的元件由相同標號指示,并且這里將省略其詳細描述。紋理存儲器1a至1d、存儲器讀部分3、紋理選擇器5及雙線性過濾計算部分6與在第一實施例中描述的那些相同,并且存儲器寫部分2A與在第二實施例中描述的相同。
一個存儲器數(shù)據(jù)移動控制部分48,具有將以前雙線性過濾期間在第一至第四紋理存儲器1a至1d中存儲的紋理數(shù)據(jù)組中的具有最大V坐標的紋理數(shù)據(jù)移動到一個區(qū)域的功能,在該區(qū)域中,用在下次雙線性過濾中的紋理數(shù)據(jù)組中的具有最小V坐標(在這種情況下為零)的紋理數(shù)據(jù)存儲在第一至第四紋理存儲器1a至1d中。
圖15表示在通過劃分在外部存儲裝置中的紋理數(shù)據(jù)和把劃分的紋理數(shù)據(jù)組傳輸?shù)絻?nèi)部紋理存儲器而進行雙線性過濾的情況下數(shù)據(jù)劃分的一個例子的一種概念。圖15表示作為例子其中紋理劃分成每個8象素×5象素組成的區(qū)域的情形。在圖15中,第一紋理數(shù)據(jù)組和第二紋理數(shù)據(jù)組在區(qū)域AR中彼此重疊。具體地說,用于雙線性過濾的紋理數(shù)據(jù)的劃分這樣進行,從而紋理數(shù)據(jù)組在其邊界處的一行中彼此重疊。這是因為在紋理數(shù)據(jù)組之間的邊界上進行的雙線性過濾需要相應(yīng)紋理數(shù)據(jù)組的相鄰紋理數(shù)據(jù)部分。
鑒于這點,在其中第一紋理存儲器組存儲在紋理存儲器1a至1d中并且經(jīng)受雙線性過濾而然后第二紋理存儲器組存儲在紋理存儲器1a至1d中的情況下,在重疊區(qū)域AR中的紋理數(shù)據(jù)一般寫入在紋理存儲器1a至1d中兩次。
另一方面,在這個實施例中,提供存儲器數(shù)據(jù)移動控制部分48,以防止在重疊區(qū)域AR中的寫進行兩次,并因而減少從外部存儲裝置傳輸?shù)募y理數(shù)據(jù)的量。具體地說,在對第一紋理存儲器組進行雙線性過濾終止之后,存儲器數(shù)據(jù)移動控制部分48在一個存儲器數(shù)據(jù)移動時段內(nèi)移動在紋理存儲器1a至1d每一個內(nèi)在重疊區(qū)域AR中的紋理數(shù)據(jù)。
存儲器數(shù)據(jù)移動控制部分48輸出一個存儲器地址MAD和一個用于數(shù)據(jù)移動的寫使能NMWE,并且控制一個選擇器49、選擇器50a至50d及選擇器52a至52d。
選擇器49在數(shù)據(jù)移動時段期間選擇寫使能NMWE,而否則選擇寫使能NWEa至NWEd。選擇器49輸出這些被選擇的寫使能作為寫使能NWEa’至NWEd’。
選擇器50a至50d在其中紋理數(shù)據(jù)寫在紋理存儲器1a至1d中的時段期間分別選擇寫地址WADa至WADd,在雙線性過濾計算時段期間分別選擇讀地址RADa至RADd,及在數(shù)據(jù)移動時段期間選擇地址MAD。選擇器50a至50d分別輸出選擇的地址,作為存儲器地址ADa至ADd。
寄存器51a至51d是32位觸發(fā)器,并且分別存儲已經(jīng)從紋理存儲器1a至1d讀出的數(shù)據(jù)DOa至DOd。選擇器52a至52d在數(shù)據(jù)移動時段期間選擇來自相應(yīng)寄存器51a至51d的輸出,而否則選擇寫數(shù)據(jù)DI。選擇器52a至52d分別輸出選擇的數(shù)據(jù),作為寫數(shù)據(jù)DIa至DId。
圖16是定時圖,表示在紋理存儲器1a至1d中數(shù)據(jù)移動的例子。同時對四個紋理存儲器1a至1d進行數(shù)據(jù)移動。圖16表示作為一個例子其中具有最大V坐標的紋理數(shù)據(jù),即在重疊區(qū)域中的紋理數(shù)據(jù),呈現(xiàn)在兩個地址a和b中的情形。
如圖16中所示,存儲器數(shù)據(jù)移動控制部分48在兩個周期中輸出“地址a”作為地址MAD。同時,存儲數(shù)據(jù)移動控制部分48也在存儲器讀狀態(tài)(NMWE=“1”)下在兩個周期中輸出寫使能NMWE,從而在地址a中的數(shù)據(jù)被從紋理存儲器1a至1d中讀出,并且被存儲在相應(yīng)寄存器51a至51d中。
在下個周期中,存儲器數(shù)據(jù)移動控制部分48在一個周期中輸出“0”作為地址MAD。同時,存儲器數(shù)據(jù)移動控制部分48也在存儲器寫狀態(tài)(NMWE=“0”)下在一個周期中輸出寫使能NMWE,從而將在寄存器51a至51d每一個中存儲的數(shù)據(jù)寫在紋理存儲器1a至1d每一個中與地址0相對應(yīng)的區(qū)域中。此后,在“地址b”中的數(shù)據(jù)以相同方式讀出,并且被存儲在紋理存儲器1a至1d每一個中與地址1相對應(yīng)的區(qū)域中。
借助于以上操作,在每個紋理存儲器中,在紋理數(shù)據(jù)組的重疊區(qū)域中的紋理數(shù)據(jù)從其中V坐標處于最大的區(qū)域移動到其中V坐標是零的區(qū)域。在圖16中,其中具有最大V坐標的紋理數(shù)據(jù)呈現(xiàn)在兩個地址中的情形作為例子表示??蛇x擇地,具有最大V坐標的紋理數(shù)據(jù)可以呈現(xiàn)在一個地址、或者三個或更多個地址中。
在重疊區(qū)域中的紋理數(shù)據(jù)已經(jīng)在紋理存儲器1a至1d每一個中移動之后,下個紋理數(shù)據(jù)組寫在紋理存儲器1a至1d中。在這時,足以把其在重疊區(qū)域中的部分已經(jīng)被除去的紋理數(shù)據(jù)從在該移動的紋理數(shù)據(jù)隨后的地址起寫在紋理存儲器1a至1d中。
如上所述,在本實施例中,在通過劃分在外部存儲裝置中的紋理數(shù)據(jù)并且把劃分的紋理數(shù)據(jù)組傳輸?shù)絻?nèi)部紋理存儲器而進行雙線性過濾時,在重疊區(qū)域中的紋理數(shù)據(jù)預(yù)先在紋理存儲器的每一個中被移動。因而,減小了要傳輸?shù)南聜€紋理數(shù)據(jù)組的量,導(dǎo)致紋理數(shù)據(jù)的高速傳輸。
實施例4圖17是方塊圖,表示根據(jù)本發(fā)明第四實施例的紋理處理器的配置。在圖17中,已經(jīng)表示在圖1中的元件由相同標號指示,并且這里將省略其詳細描述。紋理存儲器1a至1d、存儲器讀部分3、選擇器4a至4d、紋理選擇器5及雙線性過濾計算部分6與在第一實施例中描述的那些相同,并且存儲器寫部分2A與在第二實施例中描述的相同。
在本實施例中,為了通過劃分在外部存儲裝置中的紋理數(shù)據(jù)和把劃分的紋理數(shù)據(jù)組傳輸?shù)郊y理存儲器1a至1d而進行雙線性過濾,存儲器寫部分2 A設(shè)置用來存儲在紋理存儲器1a至1d中存儲的紋理數(shù)據(jù)中的具有最大V坐標的紋理數(shù)據(jù)的地址之后的寫開始地址,并且然后將通過從下個紋理數(shù)據(jù)組除去在重疊區(qū)域中的紋理數(shù)據(jù)而得到的紋理數(shù)據(jù)寫在紋理存儲器1a至1d中。
在從開始地址起按順序把紋理數(shù)據(jù)寫在紋理存儲器中時,如果寫地址超過紋理存儲器的最大地址,則寫地址被復(fù)位到零,并且然后按順序?qū)懸院蟮募y理數(shù)據(jù)。在這種情況下,在寫地址發(fā)生器40中的寄存器44是一個8位觸發(fā)器,并且具有允許存儲器地址產(chǎn)生的最少功能。因此,當寫地址超過最大地址時,寫地址自動復(fù)位到零。
在這種情況下,一個如CPU的、未表示的外部控制部分以如下方式操作。外部控制部分保持寫地址,并且把該寫地址隨后的地址設(shè)置為寫開始地址。這允許識別具有最大V坐標的紋理數(shù)據(jù)的地址。另外,外部控制部分從重疊區(qū)域隨后的地址傳輸下個紋理數(shù)據(jù)組。因而從下個紋理數(shù)據(jù)組除去在重疊區(qū)域中的紋理數(shù)據(jù)。
圖18A至18C顯示所劃分的紋理數(shù)據(jù)組如何按順序存儲在紋理存儲器中。在圖18A至18C中,作為例子顯示一種情況,其中32位紋理數(shù)據(jù)被分成每個由128象素寬×8象素高組成的紋理數(shù)據(jù)組,并且以統(tǒng)一的方式表示了在四個紋理存儲器1a至1d中的存儲區(qū)域。
圖18A表示其中第一紋理數(shù)據(jù)組存儲在紋理存儲器中并且Va是第一紋理數(shù)據(jù)組的V坐標的狀態(tài)。圖18B表示其中第二紋理數(shù)據(jù)組存儲在紋理存儲器中并且Vb是第二紋理數(shù)據(jù)組的V坐標的狀態(tài)。一個其中Va=7、作為其中第二紋理數(shù)據(jù)組重疊第一紋理數(shù)據(jù)組的重疊區(qū)域的區(qū)域,用作其中Vb=0而沒有變化的區(qū)域。具有Vb=1至7的紋理數(shù)據(jù)存儲在其中Vb=0的區(qū)域隨后的相應(yīng)區(qū)域中。由于其中Vb=0的區(qū)域是在最大存儲器地址處,所以具有Vb=1的紋理數(shù)據(jù)存儲在地址0處的區(qū)域中,并且隨后的紋理數(shù)據(jù)按順序存儲在隨后地址處的相應(yīng)區(qū)域中。
圖18C表示其中存儲第三紋理數(shù)據(jù)組并且Vc是第三紋理數(shù)據(jù)組的V坐標的狀態(tài)。一個其中Vb=7、作為其中第三紋理數(shù)據(jù)組重疊第二紋理數(shù)據(jù)組的重疊區(qū)域的區(qū)域,用作其中Vc=0而沒有變化的區(qū)域。具有Vc=1至7的紋理數(shù)據(jù)存儲在其中Vc=0的區(qū)域隨后的相應(yīng)區(qū)域中。由于其中Vc=1的區(qū)域是在最大存儲器地址處,所以具有Vc=2的紋理數(shù)據(jù)存儲在地址0處的區(qū)域中,并且隨后的紋理數(shù)據(jù)按順序存儲在隨后地址處的相應(yīng)區(qū)域中。
一個紋理坐標轉(zhuǎn)換部分53把紋理坐標(U,V)轉(zhuǎn)換成(U’,V’),并且輸出轉(zhuǎn)換的坐標,從而存儲器讀部分3正確地讀以在圖18A至18C中表示的方式存儲的紋理數(shù)據(jù)。具體地說,紋理坐標轉(zhuǎn)換部分53輸出坐標值U作為坐標值U’而沒有變化。按照其中在紋理存儲器1a至1d中存儲的紋理數(shù)據(jù)的V坐標是零的區(qū)域的位置,將坐標值V轉(zhuǎn)換成坐標值V’。這是因為根據(jù)其中V坐標是零的區(qū)域呈現(xiàn)在存儲器地址0處的假定,存儲器讀部分3讀紋理數(shù)據(jù)。其中V坐標是零的位置存儲在以上描述的諸如CPU的外部控制部分中。其中V坐標是零的區(qū)域的位置從外部設(shè)置在紋理坐標轉(zhuǎn)換部分53中。
坐標值V按如下方式轉(zhuǎn)換成V’如果V<VM,則V’=V+VS如果V≥VM,則V’=V-VM其中VS是其中在紋理存儲器1a至1d中存儲的紋理數(shù)據(jù)的V坐標是零的區(qū)域的位置,TH是在紋理數(shù)據(jù)組的高度方向上的象素長度,及TM是TH-VS。在圖18C中表示的情況下,VS=6,TH=8及VM=TH-VS=8-6=2。如果V=1,V<VM,并因而V’=V+VS=1+6=7。如果V=4,V≥VM,并因而V’=V-VM=4-2=2。以這種方式轉(zhuǎn)換紋理坐標,從而正確地讀出紋理數(shù)據(jù)。
如上所述,在本實施例中,在通過劃分紋理數(shù)據(jù)并把所劃分的紋理數(shù)據(jù)組傳輸?shù)郊y理存儲器而進行雙線性過濾時,不必如在第三實施例中那樣在紋理存儲器中預(yù)先移動在重疊區(qū)域中的紋理數(shù)據(jù)。因而,減少在移動數(shù)據(jù)時使用的電路,并且省略在紋理存儲器內(nèi)移動數(shù)據(jù)的過程。結(jié)果,以更高的速度傳輸紋理數(shù)據(jù)。
根據(jù)本發(fā)明,紋理數(shù)據(jù)以高速傳輸?shù)郊y理存儲器并以高速進行雙線性過濾。結(jié)果,例如在游戲機或汽車導(dǎo)航系統(tǒng)中以更高速度進行紋理繪圖。
權(quán)利要求
1.一種紋理處理器,包括第一、第二、第三及第四紋理存儲器,用來存儲紋理數(shù)據(jù);存儲器寫部分,用來控制供給的紋理數(shù)據(jù)寫入所述第一至第四紋理存儲器中;存儲器讀部分,用來控制從所述第一至第四紋理存儲器讀出在靠近紋理坐標的四個點處的紋理數(shù)據(jù);及雙線性過濾計算部分,用來使用由所述存儲器讀部分從所述第一至第四紋理存儲器讀出的四個點處的所述紋理數(shù)據(jù),進行雙線性過濾計算,其中在單次寫操作中,所述存儲器寫部分將能夠一次傳輸且能寫在一個地址中的數(shù)量的紋理數(shù)據(jù),共同寫在所述第一至第四紋理存儲器之一中,并且如果要寫的紋理數(shù)據(jù)的V坐標是偶數(shù),則所述紋理數(shù)據(jù)順序?qū)懺谒龅谝?、第二、第三及第四紋理存儲器中,而如果所述V坐標是奇數(shù),則所述紋理數(shù)據(jù)順序?qū)懺谒龅谌?、第四、第一及第二紋理存儲器中。
2.根據(jù)權(quán)利要求1所述的紋理處理器,其中,在讀數(shù)據(jù)中,所述存儲器讀部分對于對其訪問是不必要的所述第一至第四紋理存儲器的至少一個,使芯片賦能無效。
3.根據(jù)權(quán)利要求1所述的紋理處理器,其中,在讀數(shù)據(jù)中,所述存儲器讀部分停止對于對其訪問是不必要的所述第一至第四紋理存儲器的至少一個的時鐘輸入。
4.根據(jù)權(quán)利要求1所述的紋理處理器,其中,所述存儲器寫部分接收指示供給的紋理數(shù)據(jù)的首部V坐標是偶數(shù)還是奇數(shù)的V線模式,并且按照所述V線模式確定所述紋理數(shù)據(jù)的所述V坐標是偶數(shù)還是奇數(shù)。
5.根據(jù)權(quán)利要求4所述的紋理處理器,其中,所述存儲器寫部分被配置成這樣,從而用于數(shù)據(jù)寫的開始地址是可設(shè)置的。
6.根據(jù)權(quán)利要求4所述的紋理處理器,其中,所述存儲器寫部分把供給的紋理數(shù)據(jù)移動規(guī)定的移動值,并且把所述移動的紋理數(shù)據(jù)寫在所述第一至第四紋理存儲器中。
7.根據(jù)權(quán)利要求1所述的紋理處理器,還包括存儲器數(shù)據(jù)移動控制部分,用來在所述第一至第四紋理存儲器中把第一紋理數(shù)據(jù)組的、具有最大V坐標的紋理數(shù)據(jù)移動到其中存儲第二紋理數(shù)據(jù)組的、具有最小V坐標的紋理數(shù)據(jù)的位置,當所述第二紋理數(shù)據(jù)組寫入其中存儲所述第一紋理數(shù)據(jù)組的所述第一至第四紋理存儲器中時,所述第二紋理數(shù)據(jù)組緊鄰所述第一紋理數(shù)據(jù)組使用。
8.根據(jù)權(quán)利要求1所述的紋理處理器,其中,所述存儲器寫部分把除第二紋理數(shù)據(jù)組的、具有最小V坐標的紋理數(shù)據(jù)之外的紋理數(shù)據(jù)寫在第一紋理數(shù)據(jù)組的、具有最大V坐標的紋理數(shù)據(jù)的隨后位置處,當所述第二紋理數(shù)據(jù)組寫入其中存儲所述第一紋理數(shù)據(jù)組的所述第一至第四紋理存儲器中時,所述第二紋理數(shù)據(jù)組緊鄰所述第一紋理數(shù)據(jù)組使用,并且所述存儲器讀部分參照其中存儲所述第一紋理數(shù)據(jù)組的、具有所述最大V坐標的所述紋理數(shù)據(jù)的位置,讀所述第二紋理數(shù)據(jù)組的所述紋理數(shù)據(jù)。
9.根據(jù)權(quán)利要求1所述的紋理處理器,其中,如果紋理數(shù)據(jù)由每象素16位組成,則傳輸兩個紋理數(shù)據(jù),而如果紋理數(shù)據(jù)由每象素32位組成,則傳輸一個紋理數(shù)據(jù)。
全文摘要
一個存儲器寫部分2通過單次寫操作將能夠一次傳輸并寫在一個地址中的數(shù)量的紋理數(shù)據(jù),共同寫在第一至第四紋理存儲器1a至1d之一中。如果要寫的紋理數(shù)據(jù)的V坐標是偶數(shù),則紋理數(shù)據(jù)順序?qū)懺诘谝?、第二、第三及第四紋理存儲器1a、1b、1c及1d中。如果V坐標是奇數(shù),則數(shù)據(jù)順序?qū)懺诘谌?、第四、第一及第二紋理存儲器1c、1d、1a及1b中。
文檔編號G06T15/04GK1619590SQ20041009108
公開日2005年5月25日 申請日期2004年11月16日 優(yōu)先權(quán)日2003年11月17日
發(fā)明者重永哲資 申請人:松下電器產(chǎn)業(yè)株式會社