TW200821988A - Systems and methods for storing texture map data - Google Patents

Systems and methods for storing texture map data Download PDF

Info

Publication number
TW200821988A
TW200821988A TW096122024A TW96122024A TW200821988A TW 200821988 A TW200821988 A TW 200821988A TW 096122024 A TW096122024 A TW 096122024A TW 96122024 A TW96122024 A TW 96122024A TW 200821988 A TW200821988 A TW 200821988A
Authority
TW
Taiwan
Prior art keywords
texture
slice
level
mip
map data
Prior art date
Application number
TW096122024A
Other languages
Chinese (zh)
Other versions
TWI367455B (en
Inventor
Jim Xu
John Brother
Jin Shao
Original Assignee
Via Tech Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Via Tech Inc filed Critical Via Tech Inc
Publication of TW200821988A publication Critical patent/TW200821988A/en
Application granted granted Critical
Publication of TWI367455B publication Critical patent/TWI367455B/en

Links

Landscapes

  • Image Generation (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

Systems and methods for graphics data management are described. One embodiment includes a graphics processing system comprising a texture management unit configured to organize texture map data according to a slice major format, wherein the texture map data spans at least one mip level. Furthermore, the graphics processing system comprises a texture cache, wherein the texture cache is coupled to the texture management unit and configured to receive the reorganized texture map data from the texture management unit.

Description

200821988 S3U06-0026-TW 24383twf.doc/n 九、發明說明: 【發明所屬之技術領域】 本發明是關於圖形處理,且特別是關於圖形資料管理 的系統以及方法。 ' 【先前技術】 ‘ 如已知之先前技術,電腦圖形處理系統需處理大量資 料,其中包括紋理(texture)資料。紋理為具有—(u v)座 標空間的數位影像(通常為矩形的)。紋理之最小可定址單 元為紋理元素(texel),根據其位置而被指派—特定(u 座標。在紋理映射(mapping)運算中,紋理被映射至圖解模 型之表面來呈現模型以建立目的影像。在目的影像中,紋 理元素位於(X,y)座標系統中之特定座標處。紋理映射 之目的為在物件之表面上提供實際外觀。 、 —紋理資料通f内存在系統記㈣巾,系統記憶體為共 用貧源。在許多電腦系統中,其他元件可能嘗試存取由圖 形處理系統使用之資料或利用共用之系統匯流排,兩種情 G $可能會導致圖形處理系統之資料存取時間增加。此外, 請^來自系統記憶體之資料出於其他原因可能會花費過量200821988 S3U06-0026-TW 24383twf.doc/n IX. Description of the Invention: TECHNICAL FIELD OF THE INVENTION The present invention relates to graphics processing, and more particularly to systems and methods for graphical data management. [Prior Art] ‘As is known in the prior art, computer graphics processing systems need to process a large amount of information, including texture data. The texture is a digital image (usually rectangular) with a -(u v) coordinate space. The smallest addressable unit of texture is a texel, assigned according to its position—specific (u coordinate. In a texture mapping operation, the texture is mapped to the surface of the graphical model to render the model to create the target image. In the destination image, the texel is located at a specific coordinate in the (X, y) coordinate system. The purpose of texture mapping is to provide the actual appearance on the surface of the object. - Texture data is stored in the system (4) towel, system memory In many computer systems, other components may attempt to access data used by the graphics processing system or utilize a shared system bus. Two situations may increase the data access time of the graphics processing system. In addition, please ^ the data from the system memory may be excessive for other reasons

之日守間目此’存取系統記憶體可能會對圖形處理系统且 有效能抑制效應。 、A 在現代電腦圖形中,紋理處理可包括許多不同類型之 紋理映射技術,包括立方映射(cubic mapping)、mip映射 mipmappmg;) ’以及各種異性㈣論叩⑹映射。由於 行紋理處理所需的算術以及邏輯運算十分複雜以及大量, 5 200821988 S3U06-0026-TW 24383twf.doc/n 使得除了用於其他圖形處理運算的電路之外,紋理處理專 用電路之使用成為必要。因此,此等紋理處理專用電路可 包括頻著百分比之構成圖形處理單元的硬體閘(gate)。 Ο ο 紋理映射在計算與記憶體存取上須需付出昂貴的代 ,。改良資料可存祕之-種技術驗由專祕儲存紋理 資料之紋理快取記憶體,在資料需要進行紋理處理之前, 將紋理貧料自系統記憶體提供給紋理快取記憶體,藉此提 供圖形系賴需的肢㈣,域少對存取魏記^體之 需要。此方式又可減少與記憶體延遲(latency^a關之問 題。然而,由於對紋理資料之管理以及儲存並非十分有效 率,所以即使使驗理快取記憶體,記憶體輯仍繼續成 為問題。因此,產業中存在對紋理像磚(則資料於記 體儲存中改良的需要。 “ 【發明内容】 本發明揭露之實施例提供用於以紋理片為主之格式 (Sllce-maj0r f0rmat)壓縮並儲存紋理圖資料⑽伽re data)的系統以及方法。 以纹22丨!例包括_處理系統’其包含根據 乂、、文理片$主之格式組、織紋理^資料的紋理管理 豆 中紋理圖資料至少跨越一個mip #級(mip ievei)。此外、, 圖形處理系統還包含紋理快取記憶體,其技理 體耗接至紋理管理單元,朋以接收來自紋理管理= 經重組的紋理圖資料。 早凡之 本發明之另一實施例包括在圖形處理器中儲存紋理圖 6 200821988 S3U06-0026-TW 24383twf.doc/n 貧料之方法’且所述方法可藉由以下步驟大致加以概括: 根據imp等級將紋理圖資料之紋理片分組在―起;根據模 式旗標將多舰理片排列在同—像射;計算關於每」 imp,級之每-紋理片的參數;根據前—步驟所計算之參 數計算紋關㈣狀每—紋則的記紐位址;以及將 經重組之紋理片儲存在紋理快取記憶體中。On the day of the day, the access to the system memory may have an effective suppression effect on the graphics processing system. A In modern computer graphics, texture processing can include many different types of texture mapping techniques, including cubic mapping, mip mapping mipmappmg;) ' and various anisotropic (four) arguments (6) mapping. Since the arithmetic and logic operations required for row texture processing are complex and large, 5 200821988 S3U06-0026-TW 24383twf.doc/n makes it necessary to use a dedicated circuit for texture processing in addition to circuits used for other graphics processing operations. Therefore, such texture processing specific circuits may include a frequency percentage of hardware gates constituting the graphics processing unit. Ο ο Texture mapping requires an expensive generation of computation and memory access. Improved data can be stored in a secret--technical test by the secret storage texture data texture cache memory, before the data needs to be textured, the texture poor material from the system memory is provided to the texture cache memory, thereby providing The graphics depend on the required limbs (4), and the domain needs less access to Wei Ji. This method can reduce the problem of delay with memory. However, since the management and storage of texture data is not very efficient, even if the memory is verified, the memory series continues to be a problem. Therefore, there is a need for a texture like brick in the industry (there is a need for improvement in the storage of the record.) [Invention] The disclosed embodiment provides a format for compressing a texture-based format (Sllce-maj0r f0rmat) and System and method for storing texture map data (10) gamma re data). 以22丨! Examples include _processing system' which contains texture maps based on textures, textures, textures, textures, textures, and textures. The data spans at least one mip #level (mip ievei). In addition, the graphics processing system also includes texture cache memory, the technical body is consumed by the texture management unit, and the friend receives the texture map data from texture management = reorganization. Another embodiment of the present invention includes storing textures in a graphics processor. Figure 6 200821988 S3U06-0026-TW 24383 tw.doc/n method of poor material' and the method can It is roughly summarized by the following steps: grouping the texture pieces of the texture map data according to the imp level; arranging the multi-satellite pieces in the same image-image according to the pattern flag; calculating each of the imp-levels The parameter is calculated according to the parameters calculated in the previous step: the four-dimensional shape of each mark; and the reconstructed texture piece is stored in the texture cache memory.

Ο 本發明之又-實施例包括在圖形處理器中儲存紋理圖 資料之方法,且所述方法可藉㈣下步驟大致加以概括: 用以紋理片為主之格式重組紋理圖資料之紋理片,其中具 有相同細節等級的紋理片被分組在—起;若具有㈣細節 等級的所有紐片之總量小於像叙大小,縣具有相同 細節等級的紋理片儲存在同一像磚内;計算關於每一紋理 片之參數,其中這些參數是針對每一細節等級來計算;基 根據所計算之參數計算紋理圖資料内之每—紋理^新ς 憶體位址;以及將經重組之紋理片以及新記憶體位址儲存 在紋理快取記憶體中。 在檢查以下圖式以及實施方式時,本發明之其他系 統、方法、特徵以及益處將對於熟f此項技術者為顯而易 見的或變得顯而易見。所有此等額外系統、方法、特徵以 及ϋ處疋意圖被包括在此描述内,在本發明之範嘴内,且 猎由隨附申請專利範圍加以保護。 ~ 【貫施方式】 在概括了本發明之各種觀點之後,現將詳細參看如圖 式中所說明之本發明的描述。雖然將結合此等圖式來插述 200821988 S3U06-0026-TW24383twf.doc/n 本^日^,但疋不意欲將本發明限制於本文所揭露之一或多 個貝施例。而疋意欲涵蓋包括在由隨附申請專利範圍界定 之本發明之精神以及範曹内之所有替代、修改以及均等物。 、纟,騎揭露之系統以及綠可驗有效地管理並組 、織紋理#料,以使(例如)紋理過濾器處理時所需的任何 f理資料^形處理系統中可易於擷取。通常,自系統記 憶體接收眾多不同格式以及大小之紋理資料,若未慮及此 〇 貧料之^小或組成方式可能會導致紋理快取記憶體資源之 4吏用上較無效率。此種無效率的導因之一為在擷取紋理資 料時存在過多延遲。可理解地,擷取紋理像碑資料 tiling data)之延遲導致在處理此資料中之延遲。因此存在 更有效率地儲存紋理像磚資料之系統以及方法的需要,以 達到在電腦圖形環境中快速處理圖形資料。 因此,本發明揭露根據以紋理片為主之格式壓縮並儲 存、、文理圖資料的系統以及方法。mip貼圖(mipmap )通常 是指伴隨主要紋理的影像之預定聚集。此等影像之預定聚 CJ 集僅為主要紋理較低解析度的複本。當自一距離觀察特定 物件以致物件以及周圍紋理變得更小時,mip貼圖為有用 的。當觀察物件之較小版本時,可基於解析度等級來切換 至一適合之mip貼圖影像,以呈現適合等級之紋理解析 度。與即時計算相比,由於僅需簡單地查找預定影像,所 以使用mip貼圖減少了再現物件所需之時間。 mip貼圖鏈内之每一 mip等級皆被指派一細節等級 (level of detail, LOD)值,以指示解析度等級。LOD值越 8 200821988 S3U06-0026-TW 24383twf.doc/r Γ ο 高,影像越小且解析度越低。意即,隨著物件距離 越來越遠,物件之複雜度隨之(例如在紋理中)變祭者 於本發明所使用之命名法之目的,術語“細節等級,,:出 術語“mip等級,,之間可互換地使用。對於給定顯—以及 能必須儲存多個表面。此等表面之每一者以連浐:,可 儲存。此外,此等表面之紋理圖資料可以若干方法力口以 存。舉一非限制性實例,可根據“以mip為主,,之=儲 存紋理資料。亦即,紋理資料之紋理片的組織方 - mip等級的第一個紋理片(例如,紋理片 =每 起。因此,mip等級!之紋理片〇、mip等級2之纹理子一 卿等級3之紋理片〇等皆以連續方式儲存在—起^ ,延績至所有mip等級之下—紋理片(例如紋理片= 荨。或者,可根據miP等級或用“以紋理片為主 = 儲存紋理資料。目此,mip等級i之紋理片q、 ^ 之紋理片卜mip等級i之紋理片2等皆儲存在一起:立 :二:有相同—等級之所有紋理片皆以連續之方式儲; 等等。。此過程延續至下—最高mip等級之所有紋理片, 通常紋理圖資料是根據以mip為主之格式來儲存 施例集中在用、“以紋理片為主,,之格式儲存紋理 «法上。如本文進一步描述’本發明之實施例藉由 =貝科顧,,或壓縮在一起,以使得較小之紋理片不佔 fir夫取記憶體内之整個紋理像碑,進而增加了擷取紋 負辟之效率,藉此避免浪費記憶體空間。 9 200821988 S3U06-0026-TW 24383twf.doc/n η ο 通常,紋理片是指用於再現3D物件之2D影像。紋理 元素(texel)為影像中之2D點,且為用於圖形處理之紋 理空間之基礎構建塊(building bl〇ck)。紋理元素通常藉由 兩個座標(u以及v)來定址。紋理通常藉由紋理元素^陣 列來表示。在紋職射過程巾’會進行紋理賴以找出每 、’文,兀素中“落在紋理上之何處。因為紋理化表面相對 於觀察者可能在任意距離以及方位處,所以一像素通常不 直接,應於-紋理元素’必須應用某種過濾形式來確定像 ίίίΐ色彩,然而無效或不正確之過濾將呈現出如加工 過的影像。 通常,在討論體積(V〇lume)紋理映射 =見的。首先,當再現體積紋理時,通常:逐= 現每4理片°當讀取—體積紋理時,通常 本”於紋理表面之移動方向。當指定紋理樣 理)Τ。座;^固座標指派給犯(三維)紋理(亦即,體積紋 )座‘在三個維度之每一者中的 等。因此,物株於勒办、M w 又在機革上通φ相 在同-紋理Η #夕動〜疋紋理片之機率通常與物件 纹理藓由r #動之機率相同。作為說明,假設一 3D 雄合座標空間來界定,U以及V方向上之改 口 :==;=而,上之改變會 理片彼此盡可能緊密地儲存在快取記憶體内 等鄰==汐便允許更有效之資料榻取。理想地,此 接、麵A會齡在紋理快取記髓内之同―快取頁 200821988 S3U06-0026-TW 24383twf.doc/n 中’且甚至在同-快取線㈣内。通常,特定紋理 ΐ面^不同視圖將涵蓋錄量之紋理片以及_等級。因 if Η 6^圖的產生可藉由包含跨越驗目之_等級之紋 ==3目標_來建立。作為非限制性實例,某一視 回°月仏3紋理片〇至紋理片5以及_等級。因 c u ,’ ^圖涵蓋在六個紋理片且跨越三個不同的_等 :,助確保可藉由某整數之紋理片以及某整數之_ 荨、,及截取特定視圖,紋理資料會儲存為2D (二維)_貼 狀陣列。此外,紋理㈣會整理為根據_等級將紋理 片刀、、且在起且加以儲存。因此’處於某-給S mip等級 之所有紋理片會儲存在—起,且處於下—較低响等級之 ,有紋理片也會被分組並儲存在一起。以此方式,用“以 紋理片為主,,之格式儲存紋理片。雖然三個維度(x,y,z) 上戶^包含的紋理 以及所跨越之mip等級之數目為任意, 但是,mip映射之體積紋理通常為2維之某次冪(power)。 作為貫例’體積紋理圖可能為2〇48χ2048χ2048,或21!χ21〗 X2=像素。本文所描述之某些實施例之至少一個益處為紋 理資料根據以上所論述之特性可受到較佳的管理以及儲 存。 現參看圖1,其說明電腦系統100之簡化方塊圖。電 腦系統100包括CPU 102、系統記憶體1〇4以及圖形處】 系統110。CPU 102可執行各種功能,包括確定可產生圖 形顯示之資訊(諸如觀察點位置)。系統記憶體104儲存各 種資料,包括諸如紋理資料106之類的圖形顯示資料。基 200821988 S3U06-0026-TW 24383twf.doc/n Ο ϋ 於=PU 102所確定之資訊以及在系統記憶體1〇4中所儲存 ,貝,’圖形處理系、統11〇產生用於顯示裝置13〇(諸如, 監視⑸之顯示資料。紋理映射用於對物件添加紋理。圖 形‘處,,系統11。再現3D物件之紋理片,紋理片基本上經 堆豐起來以形成物件。一旦建立了 3D紋理,便將纹 理添加至物件㈣成影像,藉此使物件得餘理化。、 CPU 102經由系統介面1〇8向圖形處理系統11〇提出 印求’包括處理並顯示圖形資訊之請求。來自CPU 102之 =青2圖形處理系統m接收並提供給前離_ H巧處理器112赵含雜素鍊之像素流。 資料ΐ理:-?:2產生之關於像素座標的資訊經由紋理 =二= 紋理快取記憶體系統116提供至紋 理過118。紋理資料管理單元114 接收資訊’且在將龍魏錢 ^ 在儲存之前組織資料。 Γ、取。己I&quot;思體糸統116以 紋理過遽器118隨後藉由執行(例如) :線丄生過濾或其組合來過濾資訊且產生:辛: =知二過;=括=r内插器一累加器) 以結合其倾雜絲元件來^^表=器⑽le 料為發送至圖框緩衝器120最心?慮知作。紋理貧 於在顯示裝置130上產生顯示= 象色外料的分量,其用 紋理快取記憶體系統丨丨6可 括(例如)等級i αυ 夕個快取記憶體,包 體以及等級2(L2)快 200821988 S3U06-0026-TW 24383twf.doc/n 取記憶體。紋理資訊是以個別紋理元素而加以儲存,紋理 元素在圖形處理期間用於界定在像素座標處顯示之色彩資 料。紋理資料自系統記憶體104流至紋理資料管理單元 114,且隨後流至紋理快取記憶體系統116,再流至紋理過 濾器118。應注意對於某些實施例,紋理資料管理單元ιΐ4 可整合在紋理快取記憶體系統116中。 現參看圖2,其說明電腦圖形系統内之紋理資料管理 n 單兀之某些基本元件。應注意出於簡要之目的省略了對於 描述紋理資料管理單元非必要之某些元件。電腦圖形系統 210包括用以接收紋理資料106之紋理資料管理單元212, 資料在轉發至紋理快取記憶體系統116之前經壓縮並重 組。對於某些實施例,紋理資料管理單元212包括紋理資 料格式器218、參數計算邏輯模組22〇,以及位址計算邏輯 模組214。 、簡要蒼看圖3,其為一實施例之L2快取記憶體組織格 式的方塊圖。如以上所述,紋理快取記憶體系統116可包 ◎ 括夕個决取5己仏體,包括(例如)L1快取記憶體以及 ,取記憶體。L2快取記憶體31〇可包括多個L2頁315, 每一頁315可分為多個L2資料線320,每一 L2資料線320 進一步分為偶數區塊340以及奇數區塊33〇。偶數區塊34〇 用於處理來自偶數管線或快取線之紋理資料,而奇數區塊 330用於處理來自奇數管線或快取線之紋理資料 。在區塊 ^^、34〇中之每一者内,U再分割為記憶庫(bank) 350。 锰g所揭不為每一區塊包括兩個記憶庫,但熟習此項技術 13 200821988 S3U06-0026-TW 24383twf.doc/n 者應瞭解快取記憶體可包括更多或更少之記憶庫。應注意 儘管所示的L2資料線320包括2個區塊、4個記憶庫以及 8個頁,但熟習此項技術者應瞭解與給定實例具有不同架 構之區塊、記憶庫、頁以及通道的快取記憶體仍在本揭露 内容之範疇内。此外,L2快取記憶體310可包含多個L2 資料線320,包括(例如)64個、128個、256個,或512 個。此外,每一 L2資料線320可具有變化之寬度,包括 (例如)128個、256個、512個、1024個或2048個位元 之寬度。 現參看圖4,其為一實施例之32 BPP (位元/像素)的 紋理像碑(以下簡稱像磚)。圖4中之每一頁360進一步被 分為多個像磚。以實例說明之,圖4中展示之每一像磚420 為16 kB,每一像磚420進一步再被分為複數個通道。在 所展示之實例中,像磚420包含8x8之通道排列,共64 個通道’編號為Ch 0至Ch 63。最後,每一通道430進一 步再被分為個別紋理元素。在所展示之實例中,每一通道 Ο 430包含總共64個紋理元素之8x8的紋理元素排列。對於 本文所揭露之實施例而言,紋理圖資料内之紋理片儲存在 像磚420内。 再參看圖2,紋理資料格式器218接收紋理資料1〇6 且以有利於對資料將來擷取更有效之方法來組織紋理。紋 理資料格式器218排列紋理資料内之紋理片,以使處於相 同mip等級之紋理片分組在一起。紋理片根據漸增之 等級(亦即,漸減之解析度等級)加以排列。以此方法, 14 200821988 S3U06-0026-TW 24383twf.doc/n 、、文理片根據以紋理片為主之格式加以排列。此外,以 此方式將紋理資料之紋理片“擠壓,,或壓縮在像磚内,以 使得小於像磚大小之個別紋理片不佔據個別像碑且留下未 使用之圯憶體空間。因此,若一給定mip等級之所有紋理 片可谷納至單一像磚,則僅將一像磚用來儲存被壓縮之該 mip等級之所有紋理片。 w 若用以紋理片為主之格式重組紋理資料且將其壓縮在 一起,便可藉由參數計算邏輯模組220確定與每一㈤屮等 級内之每一紋理片相關的參數。此等參數稍後用於確定經 重組排列之紋理資料内之每個紋理片的位址,以使得資= 在將來可自紋理快取記憶體擷取。參數計算邏輯模組2如 對所有mip等級計算以下參數之每一者··所有紋理片大 小、紋理寬度、紋理高度、紋理片索引數(index,N)、第 -個紋理片(亦即,紋理片〇)之乂以及y偏移,以及χ 跨步值(stride value)。所有紋理片大小之值為儲存具有相同 細節等級之所有紋理片所需之像磚的數目。在某一給定 U mip等級之所有紋理片可被“擠壓,,或壓縮至單一像磚之 ^況下,將所纽理片大小值設定為零以便指示此独 ,二旦财參數之斜算完輕,便將值傳發至位址計 =輯她214。位址計算邏輯模组214接收這些值並 了包禮理貞料之所有紋理#的位址,以使得此資料在將 來可自紋理快取記憶體系統116提取。 、位址計算邏輯模組214計算以下參數:剩餘紋理片之 X以及y偏移、每-mip等級之每—紋理片的(x,y)座標, 15 Ο ο 200821988 S3U06-0026-TW 24383twfMoc/n 及儲存,紐圖貧料内之所有紋理片所需之 S。-旦已重排所有紋理資料且已確定新位址資訊的:J 備儲存紋理資料。與每一 mip等級相關之新(X灼: 目會被傳發至紋理快取記憶體系統1 j 貝料gi早兀114耦接至紋理快取記憶體系統 應瞭解儲存在紋理快取記龍巾之紋理資料現需用以纹理 片為主之格式壓縮並組織,以便減少存取_以及最故地 減少記憶體延遲。 '' ,此外,由於紋理資料在記憶體中之有效儲存,擷取資 =所需之計算資源量得以減少。亦應瞭解因為紋理片與適 ^之記憶體位址對準,所以擷取資料所需之位址計算^輯 模組得以簡化。最終,本發明揭露一種替代體積紋理貼圖 才。式,其可使用由熟習此項技術者已知之用於體積紋理貼 圖之相同參數加以實施。此替代紋理貼圖格式之格式是基 於以紋理片為主之格式的。 圖5描緣用於執行紋理像磚資料之以紋理片為主之壓 縮方法之實施例之流程圖。在以下步驟中,可確定各種參 數’所述參數隨後用於計算根據某些實施例用以紋理片為 主之拼貼(tiling)格式儲存之每一紋理片的位址。以此方 法可有效地儲存紋理片,以便提供較有效率之資料存取。 某些實施例中最大體積紋理大小可設定為尺寸2kx2kx 2k °對於某些實施例,可藉由將mip等級之最大數目設定 為一預定數目(諸如12)來進一步簡化位址計算。對於以 下參數是針對每一 mip等級來計算參數。出於本文所使用 16 200821988 S3U06-0026-TW 24383twf.doc/n 之命名法之目的,索引數N是用來指示紋理片之數目。此 外,索引數d疋用來指示mip等級。作為非限制性實例, Slice[0][d]是指處於mip等級d之紋理片[〇]。 像碑之覓度以及咼度是以像素來量測,且按照Bpp(bit per pixel,每像素之位元)來量測解析度。出於本文所使用 之命名法之目的,術語BPP可與術語BPE( bk per dement,Still another embodiment of the present invention includes a method of storing texture map data in a graphics processor, and the method can be roughly summarized by the following steps: a texture sheet for reconstructing texture map data in a texture-based format, The texture pieces with the same level of detail are grouped together; if the total amount of all the cards with the (four) level of detail is smaller than the size of the image, the pieces of the same level of detail are stored in the same tile; The parameters of the texture slice, wherein the parameters are calculated for each level of detail; the basis is calculated according to the calculated parameters, each texture-texture address in the texture map data; and the reconstructed texture piece and the new memory bit position The address is stored in texture cache memory. Other systems, methods, features, and advantages of the present invention will be apparent or apparent to those skilled in the <RTIgt; All such additional systems, methods, features, and advantages are intended to be included within the scope of the invention, and are protected by the scope of the accompanying claims. ~ [Comprehensive Mode] After summarizing various aspects of the present invention, reference will now be made in detail to the description of the invention as illustrated in the drawings. Although the present invention will be described in conjunction with the drawings, it is not intended to limit the invention to one or more of the embodiments disclosed herein. It is intended to cover all alternatives, modifications, and equivalents of the invention and the scope of the invention as defined by the appended claims. , 纟, riding the uncovering system and green can effectively manage and organize and weave textures so that, for example, any texture processing required for texture filter processing can be easily retrieved. In general, many different formats and sizes of texture data are received from the system memory. If the structure or composition of the poor material is not taken into account, the texture cache memory resources may be inefficient. One of the causes of this inefficiency is the excessive delay in extracting texture data. Understandably, the delay in tiling data results in a delay in processing this material. There is therefore a need for systems and methods for storing textures like brick data more efficiently to achieve rapid processing of graphical data in a computer graphics environment. Accordingly, the present invention discloses a system and method for compressing and storing, text and texture data based on a texture-based format. A mipmap usually refers to a predetermined aggregation of images that accompany the main texture. The predetermined poly CJ set of these images is only a copy of the lower resolution of the main texture. Mip maps are useful when observing a particular object from a distance such that the object and surrounding texture become smaller. When viewing a smaller version of an object, it can be switched to a suitable mip texture image based on the resolution level to present a suitable level of texture resolution. Compared to real-time calculations, the use of mip maps reduces the time required to reproduce objects, simply by looking for a predetermined image. Each mip level within the mip map chain is assigned a level of detail (LOD) value to indicate the resolution level. The higher the LOD value is 8 200821988 S3U06-0026-TW 24383twf.doc/r Γ ο High, the smaller the image and the lower the resolution. That is, as the object distance is getting farther and farther, the complexity of the object is (for example, in the texture) changed to the purpose of the nomenclature used in the present invention, the term "detail level,: the term "mip level" ,, are used interchangeably. For a given display - and can have to store multiple surfaces. Each of these surfaces is connected: it can be stored. In addition, the texture map data for these surfaces can be stored in several ways. As a non-limiting example, according to "mip-based, = storage texture data. That is, the texture of the texture sheet of the organization side - mip level of the first texture piece (for example, texture piece = each Therefore, the mip level! texture sheet, mip level 2 texture sub-clear grade 3 texture sheet, etc. are stored in a continuous manner - from ^, to all mip levels - texture (such as texture Piece = 荨. Or, according to miP level or use "texture-based = store texture data. For this reason, mip level i texture piece q, ^ texture piece mip level i texture piece 2 are stored in Together: Li: 2: There are the same - all textures of the grade are stored in a continuous manner; etc. This process continues to the next - the highest mip grade of all textures, usually the texture map data is based on mip The format is used to store the application in a "texture-based, format-based storage texture" method. As further described herein, the embodiment of the present invention is made by =beco, or compressed together to make The smaller texture piece does not occupy the memory of the fir The entire texture of the body is like a monument, which increases the efficiency of the extraction of the texture, thereby avoiding wasting memory space. 9 200821988 S3U06-0026-TW 24383twf.doc/n η ο Generally, the texture sheet is used for reproduction. 2D image of a 3D object. The texel is the 2D point in the image and is the building block of the texture space used for graphics processing. The tiling usually consists of two coordinates (u and v). The texture is usually represented by an array of texels. In the striate process, the texture will be textured to find out where each of the 'text, morpheme' falls on the texture. Because the textured surface Relative to the observer may be at any distance and orientation, so a pixel is usually not directly, the -texture element 'must apply some kind of filtering form to determine the color like ίίίΐ, but the invalid or incorrect filtering will appear as processed Image. Usually, in the discussion volume (V〇lume) texture mapping = see. First, when reproducing the volume texture, usually: every = 4 per block ° when reading - volume texture, usually "on the texture" table The direction of movement. When the texture is specified) 座. Block; ^ solid coordinates assigned to the guilty (three-dimensional) texture (ie, volumetric) seat 'in each of the three dimensions, etc. Therefore, the strain勒, M w and φ phase in the same machine - texture Η #夕动~疋 texture film probability is usually the same as the object texture 藓 by r # moving probability. As an illustration, assume a 3D male coordinate space To define, the change in the U and V directions: ==;=, and the change will be stored as close as possible to each other in the cache memory, etc. ==汐 allows more efficient data accommodation. Ideal Ground, the face and face A are in the same texture in the texture cache - cache page 200821988 S3U06-0026-TW 24383twf.doc / n 'and even in the same - cache line (four). Usually, a specific texture ^ ^ ^ different views will cover the footage of the record and _ level. The generation of the if Η 6^ map can be established by including the _ level of the grading ==3 target _ across the inspection. As a non-limiting example, a certain texture is sliced to the texture sheet 5 and the _ level. Because cu , ' ^ map is covered in six texture slices and spans three different _ etc.: Helps ensure that textures can be stored as a texture slice of an integer and an integer _ 荨, and a specific view is intercepted 2D (two-dimensional) _ stick array. In addition, the texture (4) will be sorted to the texture knife according to the _ level, and will be stored and stored. Therefore, all texture pieces that are at a certain level of S mip will be stored in the lower-lower level, and the texture pieces will be grouped and stored together. In this way, use the "texture-based, format to store texture tiles. Although the three dimensions (x, y, z) on the ^ ^ texture and the number of mip levels are arbitrary, but, mip The mapped volume texture is typically a power of 2 dimensions. As a general example, the volume texture map may be 2〇48χ2048χ2048, or 21!χ21〗 X2=pixels. At least one benefit of certain embodiments described herein. The texture data can be better managed and stored according to the features discussed above. Referring now to Figure 1, a simplified block diagram of a computer system 100 is illustrated. The computer system 100 includes a CPU 102, system memory 1〇4, and graphics. System 110. CPU 102 can perform various functions, including determining information that can produce a graphical display, such as a viewing point location. System memory 104 stores various materials, including graphical display material such as texture data 106. Base 200821988 S3U06-0026 -TW 24383twf.doc/n Ο 资讯 Information determined by =PU 102 and stored in system memory 1〇4, 'Graphic processing system, system 11〇 is generated for display device 13〇 (For example, monitor (5) display material. Texture mapping is used to add texture to objects. Graphics ', system 11. Reproduce texture pieces of 3D objects, texture pieces are basically piled up to form objects. Once 3D texture is established The texture is added to the object (4) as an image, thereby making the object more and more physical. The CPU 102 sends a request to the graphics processing system 11 via the system interface 1 to include a request to process and display the graphic information. From the CPU 102. The = Qing 2 graphics processing system m receives and provides the pixel stream of the Zhao-containing hybrid chain to the front-end processor. Data processing: -?: 2 generates information about the pixel coordinates via texture = two = texture The cache memory system 116 provides a texture over 118. The texture data management unit 114 receives the information 'and organizes the data before storing the dragon Wei Qian ^. Γ, 取. I&quot; 思体糸 116 is a texture filter 118 then filters the information by performing, for example, line-filtering or a combination thereof, and produces: symplectic: = knowing twice; = including =r interpolator-accumulator) to combine the tilting wire components to ^^ Table = device (10) is sent to The frame buffer 120 is most conceivable. The texture is depleted in producing a component of the display = image-like material on the display device 130, which may include, for example, a level i α 夕 夕Cache memory, body and level 2 (L2) faster 200821988 S3U06-0026-TW 24383twf.doc/n Memory. Texture information is stored as individual texels, which are used during graphics processing. The color data displayed at the pixel coordinates. The texture data flows from system memory 104 to texture data management unit 114 and then to texture cache memory system 116 and to texture filter 118. It should be noted that for some embodiments, the texture data management unit ι4 may be integrated in the texture cache system 116. Referring now to Figure 2, there is illustrated some of the basic elements of texture data management in a computer graphics system. It should be noted that some of the elements that are not necessary for describing the texture data management unit are omitted for the sake of brevity. The computer graphics system 210 includes a texture data management unit 212 for receiving texture data 106 that is compressed and recomposed before being forwarded to the texture cache memory system 116. For some embodiments, the texture data management unit 212 includes a texture data formatter 218, a parameter calculation logic module 22, and an address calculation logic module 214. Briefly, FIG. 3 is a block diagram of the L2 cache memory organization format of an embodiment. As described above, the texture cache memory system 116 can include a hexadecimal hexagram, including, for example, an L1 cache memory and a memory. The L2 cache memory 31 can include a plurality of L2 pages 315, each page 315 can be divided into a plurality of L2 data lines 320, and each L2 data line 320 is further divided into an even block 340 and an odd block 33. The even block 34〇 is used to process texture data from even pipelines or cache lines, while the odd block 330 is used to process texture data from odd pipelines or cache lines. Within each of the blocks ^^, 34, U is further divided into banks 350. Manganese g does not reveal that each block includes two memory banks, but those skilled in the art 13 200821988 S3U06-0026-TW 24383twf.doc/n should understand that the cache memory can include more or less memory. . It should be noted that although the L2 data line 320 shown includes 2 blocks, 4 memory banks, and 8 pages, those skilled in the art should be aware of blocks, memories, pages, and channels having different architectures for a given instance. The cache memory is still within the scope of this disclosure. In addition, the L2 cache memory 310 can include a plurality of L2 data lines 320 including, for example, 64, 128, 256, or 512. In addition, each L2 data line 320 can have a varying width including, for example, a width of 128, 256, 512, 1024, or 2048 bits. Referring now to Figure 4, there is shown a 32 BPP (bit/pixel) texture image monument (hereinafter referred to as a tile). Each page 360 in Figure 4 is further divided into a plurality of tiles. By way of example, each tile 420 shown in FIG. 4 is 16 kB, and each tile 420 is further divided into a plurality of channels. In the example shown, tile 420 contains an 8x8 channel arrangement with a total of 64 channels' numbered Ch 0 to Ch 63. Finally, each channel 430 is further divided into individual texels. In the example shown, each channel 430 430 contains an 8x8 texel arrangement of a total of 64 texels. For the embodiments disclosed herein, the texture tiles within the texture map data are stored in tiles 420. Referring again to Figure 2, texture data formatter 218 receives texture data 1 〇 6 and organizes the texture in a manner that facilitates more efficient retrieval of the data in the future. The texture data formatter 218 arranges the texture tiles within the texture data to group the texture tiles at the same mip level. The texture tiles are arranged according to the increasing level (i.e., the decreasing resolution level). In this way, 14 200821988 S3U06-0026-TW 24383twf.doc/n, and the arts and sciences are arranged according to the format of the texture film. In addition, the texture sheet of the texture material is "squeezed, or compressed in the brick like bricks in such a way that individual tiles smaller than brick size do not occupy individual image monuments and leave unused space for the memory. If all the texture pieces of a given mip level can be used to a single tile, then only one tile is used to store all the texture slices of the mip level that are compressed. w If the texture is mainly used for format reorganization The texture data is compressed and compressed together, and parameters associated with each texture slice within each (five) level are determined by the parameter calculation logic module 220. These parameters are later used to determine the restructured texture data. The address of each texture slice so that it can be retrieved from the texture cache in the future. The parameter calculation logic module 2 calculates each of the following parameters for all mip levels. , texture width, texture height, texture index number (index, N), texture of the first texture (ie, texture slice) and y offset, and str stride value. The value of size is stored with The number of bricks required for all textures of the same level of detail. All textures at a given U mip level can be "squeezed, or compressed to a single brick". The size value is set to zero to indicate this independence, and the value of the second parameter is passed to the address count = 214. The address calculation logic module 214 receives these values and wraps the address of all textures# of the texture so that the data can be extracted from the texture cache memory system 116 in the future. The address calculation logic module 214 calculates the following parameters: X and y offset of the remaining texture slice, each of the -mip levels - (x, y) coordinates of the texture slice, 15 Ο ο 200821988 S3U06-0026-TW 24383twfMoc/ n and storage, the S required for all textures in the map. - Once all the texture data has been rearranged and the new address information has been determined: J reserves the texture data. New with each mip level (X: The eye will be transmitted to the texture cache system 1 j bei gi early 兀 114 coupled to the texture cache memory system should know the storage in the texture cache The texture data of the towel is now compressed and organized in a texture-based format to reduce access _ and to minimize memory delay. '' In addition, due to the effective storage of texture data in memory, = The amount of computing resources required is reduced. It should also be understood that because the texture slice is aligned with the appropriate memory address, the address calculation module required to retrieve the data is simplified. Finally, the present invention discloses an alternative. Volume texture maps can be implemented using the same parameters known to those skilled in the art for volume texture maps. The format of this alternate texture map format is based on a texture-based format. A flow chart of an embodiment of a texture-based compression method for performing texture-like brick data. In the following steps, various parameters can be determined, which are then used to calculate according to certain implementations. The address of each texture slice stored in the tile-based tiling format. This method effectively stores texture tiles to provide more efficient data access. The maximum volume in some embodiments The texture size can be set to a size of 2kx2kx 2k °. For some embodiments, the address calculation can be further simplified by setting the maximum number of mip levels to a predetermined number (such as 12). For the following parameters, for each mip level The parameters are calculated. For the purpose of the nomenclature of 16 200821988 S3U06-0026-TW 24383 twf.doc/n, the index number N is used to indicate the number of texture patches. In addition, the index number d is used to indicate the mip level. As a non-limiting example, Slice[0][d] refers to the texture slice [〇] at mip level d. The curvature and curvature of the monument are measured in pixels, and according to Bpp (bit per pixel, per The pixel is measured to determine the resolution. For the purposes of the nomenclature used herein, the term BPP can be used with the term BPE (bk per dement,

每,素之位元)互換地使用。每一 Bpp值將具有對應之像 磚寬度以及像碑高度。作為非限制性實例,32之Bpp值 (位元/像素)對應於六十四個像素之像碑寬度(Tile Width ) 以及/、十四個像素之像磚高度(TileHeight)。以下表工說 明對於各種BPP值之不同像磚寬度以及高度: ΒΡΕ TileWidth eTW TileHeight eTH 128 32 5 32 5 64 64 6 32 5 32 ι64 6 μ64 6 16 128 7 64 6 8 128 7 l28~ 7 4 —----—,~. 1 ^56 T28 7 512 9 256 8 值表1對於各種BPE值之TileWidth以及 表1中之苓數eTW對應於表示TileWidth所需之位元 舉例而言,需要5位元以儲存TileWidth值32。同樣, 二數=ΓΗ對,於表示TileHdght所需之位元數。如以下進 一步論述,參數eTW以及eTH用於逐位元運算(盼^⑻ 17 200821988 S3U06-0026-TW 24383twf.doc/n 〇rrion)。應注意對於本文所揭露之實施例,赃值將為 4寸疋的。基於此值’便可知道對應之像碑寬度以及高度:、 方法開始於步驟51G,根據mip等級將紋理圖内之纹 理^組。接著,在步驟520中,根據模式旗標將多個纹 理片排列在同一像碑中。在步驟530中,針對每一 Ο ϋ 級計算關於每-紋理片之參數:所有紋理片大小(以像碑數 目表不)、紋理寬度、紋理高度,以及紋理片索引數。紋理 片大小之值為零表示所有紋理4的大小是小於像碑之大 小。在此情況下’像磚紋理資料之儲存可進一步“擠壓” 或麼縮至單-像射,使紋則不單親佔據整個像碍, 且也不留下未使狀記憶體空間,所以此處理為較佳的。 若某一 mip等級之所有紋理片之總和大於一個像碑,則將 彼等紋理片與料料,且計算齡此敎則所需之像 磚的數I °否則’若確定所有紋理片之總和小於一個像碑, 則紋理見度以及高度值與二之冪數(power)對準,且將所有 1理片,大小之值設定為零,以指示可將多個紋理片儲存或 ,壓於單—像磚中。以上參數會針對每一 mip等級來 計算,mip等級之數目將視體積紋理貼圖之尺寸而定。作 為非限制性實例,假設將體積紋理大小設定為2kx2kx2k 之尺寸,則會針對d = 〇至11,共12個mip等級,計算以 上所描述之參數。 P通後。十t以下參數·· slice[〇](亦即,每一 mip等級之 第一個紋理片)之X偏移、slice[0]之y偏移 ,以及X跨步 值。應注意此等參數之值將視選擇何種模式而定。在圖5 18 200821988 之貝把例中兩種主要模式可用於執行紋理像磚資料之以 如藉由模式旗標所指示。在第一模式 每一 mip等級d之第一個紋理片(亦Each, the prime bit is used interchangeably. Each Bpp value will have a corresponding image brick width and image height. As a non-limiting example, the Bpp value (bits/pixels) of 32 corresponds to the tile width (Tile Width) of sixty-four pixels and /, the tile height of fourteen pixels (TileHeight). The following table shows the difference between brick width and height for various BPP values: ΒΡΕ TileWidth eTW TileHeight eTH 128 32 5 32 5 64 64 6 32 5 32 ι64 6 μ64 6 16 128 7 64 6 8 128 7 l28~ 7 4 —- ----,~. 1 ^56 T28 7 512 9 256 8 Value Table 1 For the TileWidth of various BPE values and the number of turns in Table 1 eTW corresponds to the bit required to represent TileWidth, for example, 5 bits are required. To store the TileWidth value of 32. Similarly, the two numbers = ΓΗ pairs represent the number of bits needed for TileHdght. As discussed further below, the parameters eTW and eTH are used for bitwise operations (hope ^(8) 17 200821988 S3U06-0026-TW 24383twf.doc/n 〇rrion). It should be noted that for the embodiments disclosed herein, the threshold will be 4 inches. Based on this value, the corresponding image monument width and height can be known: The method starts at step 51G, and the texture within the texture map is grouped according to the mip level. Next, in step 520, a plurality of texture patches are arranged in the same image monument according to the pattern flag. In step 530, parameters for each texture slice are calculated for each ϋ : level: all texture tile sizes (in the number of image books), texture width, texture height, and texture slice index number. The value of the slice size is zero, indicating that the size of all textures 4 is smaller than the size of the monument. In this case, 'the storage of brick texture data can be further "squeezed" or reduced to single-image, so that the grain does not occupy the entire image, and does not leave space for the memory, so this Processing is preferred. If the sum of all the texture pieces of a mip level is larger than one image monument, then the texture pieces and materials are calculated, and the number of bricks required for the age is calculated. Otherwise, if the sum of all the texture pieces is determined Less than one image monument, the texture visibility and height values are aligned with the power of the two, and the value of all 1 slices, the size is set to zero, to indicate that multiple texture tiles can be stored or pressed Single—like bricks. The above parameters are calculated for each mip level, and the number of mip levels will depend on the size of the volume texture map. As a non-limiting example, assuming the volume texture size is set to a size of 2kx2kx2k, the parameters described above are calculated for a total of 12 mip levels for d = 〇 to 11. After P pass. The parameter below ten t·· slice[〇] (that is, the first texture slice of each mip level), the X offset of slice[0], the y offset of slice[0], and the X step value. It should be noted that the value of these parameters will depend on which mode is selected. The two main modes in Figure 5 18 200821988 can be used to perform texture-like brick data as indicated by the mode flag. In the first mode, the first texture piece of each mip level d (also

紋理片為主的儲存,如箱 (亦即,模式二0)中,每一 即,slice[0])未與零對準 未無雜理#之料崎左祕對準。在第二模式(亦 即,模式=1)中,每—mip等級d之第一個紋理片(亦即, Slice[0])與零對準。t即,每一 _等級之sHce[()]與儲存 紋理片之像碑的最左邊界對準。簡要地參看圖6A以及 6B ’其說明用於圖5中之實施例的兩麵式。在圖6a中 所展示,像碑片610内每一 mip等級之第一個紋理片(亦 即,shce[0])未與像碑61〇之最左邊界對準。此情形對應 於模式0。相反,圖6B展示每一 mip等級之第一個紋理片 與像磚620之最左邊界對準。此情形對應於模式丨。應瞭 解可視再現物件所需之紋理片以及mip等級之數目而使用 更多或更少之紋理片。 再參看圖5,X跨步值是視何模式(模式〇或模式〇 C 當前正用於紋理像磚資料之以紋理片為主的儲存而計算。 若利用模式0,則基於以下關係式使用χ偏移(&amp;由Texture-based storage, such as box (ie, mode 2 0), each of which, slice[0]) is not aligned with zero. In the second mode (i.e., mode = 1), the first texture slice (i.e., Slice[0]) per-mip level d is aligned with zero. That is, each _ level of sHce[()] is aligned with the leftmost boundary of the image monument storing the texture. Referring briefly to Figures 6A and 6B', a two-sided version of the embodiment for use in Figure 5 is illustrated. As shown in Figure 6a, the first texture slice (i.e., shce[0]) of each mip level in the tablet 610 is not aligned with the leftmost boundary of the image book 61. This case corresponds to mode 0. In contrast, Figure 6B shows that the first texture piece of each mip level is aligned with the leftmost boundary of tile 620. This situation corresponds to the mode 丨. You should use more or less texture tiles to understand the number of texture tiles and mip levels required to visually reproduce the object. Referring again to Figure 5, the X stride value is determined by the mode (mode 〇 or mode 〇 C is currently being used for texture-like storage of tiles based on texture data. If mode 0 is used, it is based on the following relationship χ Offset (&amp; by

XoffsetMipSlice[0][d]表示)以及像碑寬度、eTw來計瞀χ 跨步(藉由以下XStrideMip[d]表示)之值: # XStrideMip[d] == (1 « eTW) ~ XOffsetMipSlice[0][d];模式 0 運算子“《”表示逐位元左移運算。若利用模式丨(亦 即,其中每一 mip等級之slice[0]與像磚之最左邊界對準), 19 200821988 S3U06-0026-TW 24383twf.doc/n 則值XStrideMip[d]僅等於像磚寬度(TileWidth)之值(見 於以上表1中)。 麥數XOffsetMipSlice[0][d]表示某一 mip等級d之第 一個紋理片(亦即slice[0])在X方向上的偏移。此外,XoffsetMipSlice[0][d] indicates) and the value of the image width, eTw, and the value of the step (represented by XStrideMip[d]): # XStrideMip[d] == (1 « eTW) ~ XOffsetMipSlice[0 ][d]; Mode 0 The operator "" indicates a bitwise left shift operation. If the mode 丨 is used (that is, the slice[0] of each mip level is aligned with the leftmost boundary of the brick), 19 200821988 S3U06-0026-TW 24383twf.doc/n then the value XStrideMip[d] is only equal to The value of the tile width (see Table 1 above). The worm XOffsetMipSlice[0][d] represents the offset of the first texture slice (ie slice[0]) of a mip level d in the X direction. In addition,

值 YOffsetMipSlice[0][d]表示某一 mip 等級 d 之 siice[〇]在 Y方向上的偏移。在使用每一 mip等級之siice[〇](第一個 紋理片)與像素磚之最左邊界對準之模式1的情況下,X 偏移之值被設定為零;否則,使用先前所計算之X跨步值 來計算X偏移之值。此外,若X偏移之值不是二之冪數個 紋理像素,則將值四捨五入至最接近二之冪數值。對於X 偏移之值,隨後基於以下關係式計算 XOffsetMipSlice[0][d]: 對於模式 1,XOffsetMipSlice[0][d] = 0 對於模式 0,XOffsetMipSlice[0][d]= XOffsetMipSlice[0][d]-l + (N[d-1] « ew[d-l]) &amp; ((1 &lt;&lt;eXStrideMip[d]-l) -1) ϋ 亦考慮對準模式是模式〇或是模式1來計算值 YOffsetMipSlice[d]。若利用模式1,則藉由以下關係式來 癌定值 YOffsetMipSlice[d]: 對於模式卜 Y〇ffsetMipSlice[0][d]= YOffsetMipSlice[0][d-l] + (((N[d-1] « ew[d-l]) + (1 « eTW) - 1)» eTW) « eh[d-l] 對於模式 〇,Y〇ffsetMipSlice[0][d]= YOffsetMipSlice[0][d] = YOffsetMipSlice[0][d-l] + 20 200821988 S3U06-0026-TW 24383twf.doc/n (n[d-l] « (ew[d-l] + eh[d-l] - eXStrideMip[d-l])) 在步驟540中,基於以上所計算之參數來計算紋理圖 内之母一紋理片的記憶體位址。隨後針對X與y方向計算 某一 mip等級之每一紋理片N之偏移。如以上所論述的, 參數XOffsetMipSlice[N]指示某一 mip等級之紋理片N在 X方向上的偏移。此外,值YOffsetMipSlice[N]為某一 mip 等級之紋理片N在Y方向上的偏移。此等偏移用於計算每 一紋理片之新(x,y)座標。使每一 mip等級之siice[〇]在 X與y方向上之偏移與記憶體位址零或為二之冪數的位址 對+對於X方向上之偏移為零的實施例,(每一 mip等 級之)shce[0]將總是與像磚之左邊界對準。此外,χ跨步 值將等於像碑寬度Tile Width。最終,應注意若多個紋理片 之大小小於一個像碑,則將彼等紋理片“擠壓,,或壓縮於 單一像碑中,以使得個別紋理片各自不會佔據整個像磚。 用以紋理片為主之方式執行壓縮,其中將具有相同mip等 級值之紋理片分組在一起。最終,在步驟550中,將經重 排之紋理片儲存在紋理快取記憶體中以用於將來之擷取。 麥看圖6A,其說明用於計算處於不同mip等級之每— 紋理片之位址的不同參數。每一 mip等級之此啦]的偏移 I與零對準或與為二之冪數的位址值對準。具體言之,可 ^不兩種不同模式以用於儲存之目的。模式Q可用於指示 母一 πυρ等級之siice[0]未與零對準(亦即,未與像磚之最 左邊界對準)。 現麥看圖7,其描繪用於將體積紋理貼圖用以紋理片 21 200821988 S3U06-0026-TW 24383twf.doc/n Ο ο 為主之格式儲存在紋理快取記憶體内的實施例。如所展示 的,用以紋理片為主之格式儲存紋理片,其中處於相同 等級之紋理片以連縯之方式儲存在一起。亦應瞭解將紋理 片“擠壓”或壓縮在一起,以致小於一像磚之個別紋理片 不會佔據整個像磚,從而留下浪費之記憶體空間。如圖6 中所描繪的,紋理片亦儲存在紋理快取記憶體内之連續頁 面(頁面N至頁面(N+2))巾。如較早所論述的,在記憶 體中將處於補mip等級之紋理片緊密地儲存在—起通^ 為有益的,紋理片最好可儲存在.快取頁面巾且甚至儲 存在同-快取軸(若可能),如此可加快#料存取且最终 導致記憶體延遲的減少。 、 圖8描緣用於執行像碑紋理資料的以紋理片為主之壓 另—實施例之流程®。方法開始於步驟_,將 ^理=料内之紋理⑽據以紋理片為主之格式重排。接 li她r=82G中具有相同細節等級之所有紋理片的 像磚大小’則將具有相同細節等級之紋理 片儲存在-像磚内。在步驟㈣中,計算關於每一纹 後在步驟840中根據步驟請中所計算之參數 叶异紋理圖資料内之每—紋理片的新記憶體位^玖數 在步驟850中,將經重排之紋理片 、、 存在紋職取記㈣巾。、相新的記憶體位址儲 處程圖中之任何 或多個可執行指令的邏輯、程式心= 二 22 200821988 S3U06-0026-TW 24383twf.doc/n 實施例包括在本發明之較佳實施例的範疇内,其中可視所 包含之功能性而以不同於所展示或所論述之次序執行功能 (包括實質上同時或逆序執行)。 此外’應_以上所描述之實施懸為可能實施例之 科。在不背縣發明之原制情況下可對以上所描述之 實施例進行許多變化以及修改。所有此等修改以及變化在 本文中意欲包括在本發明之範疇内且藉由以下申請專利範 圍保護。 〇 舉例而言,基於本發明所提供之描述,熟習此項技術 者?、瞭?實施例包括圖形處理單元,圖形處理單元包含紋 理管理單元,紋理管理單元用以根據以紋理片為主之格式 來組織紋理圖資料,其中紋理圖資料跨越至少一個m 級。此外,圖形處理系統包含紋理快取記憶體,其中紋理 快,記憶體轉接至紋理管理單元,並用以接收來自纹理 理單元之經重組的紋理圖資料。 K衫些巾,®形處理單元更包含紋理資料格式 其根據以紋理片為主之格式排列紋理圖資料内之紋理 片,苓數計异邏輯模組,其用以針對紋理圖資料内之一 紋理片計算參數;以及位址計算邏輯模組,其用 ^算之參數來較紐圖資_之每—紋理片的快取^ 體位址。 ^ 在其他實施例中’紋理資料格式器進—步可用以在紋 理片小於-像碑的情況下將多個紋理片儲存在同 内。在其他實施例中,紋理資料格式器可根據模式〇或模 23 200821988 S3U06-0026-TW 24383twf.doc/n 式1排列紋理圖資料内之紋理片,其中模式〇指示每一 mip 等級之第一個紋理片與儲存紋理片之像磚的最左邊界對 準’且其中模式1指示每一 mip等級之第一個紋理片不與 儲存紋理片之像磚的最左邊界對準。 在其他實施例中,參數包含以像磚數目來表示的紋理 片大小、紋理寬度、紋理高度,以及每一紋理片之紋理片 索引數。對於某些實施例,參數更包含紋理片〇之χ偏移, 广、 其指示每一 mip等級之第一個紋理片在x方向上的位址偏 移,紋理片〇之y偏移,其指示每一 mip等級之第一個紋 理片在y方向上的偏移;以及x跨步值,其指示每一 mip =級,紋理片之每一集合的總寬度。對於某些實施例而 。、疋針對母個mip等級計算參數。對於某些實施例,若 換式為1,則將第一個紋理片之χ偏移設定為〇。對於某些 貝施例,若模式為〇,則將第一個紋理片之X偏移四捨五 入為二之冪數。對於某些實施例,紋理圖資料内之每一紋The value YOffsetMipSlice[0][d] represents the offset of the siice[〇] of a mip level d in the Y direction. In the case of using mode 1 in which each mip level of siice [〇] (the first texture piece) is aligned with the leftmost boundary of the pixel brick, the value of the X offset is set to zero; otherwise, the previously calculated The X step value is used to calculate the value of the X offset. In addition, if the value of the X offset is not a power of two, then the value is rounded to the nearest power of two. For the value of the X offset, XOffsetMipSlice[0][d] is then calculated based on the following relationship: For mode 1, XOffsetMipSlice[0][d] = 0 For mode 0, XOffsetMipSlice[0][d]= XOffsetMipSlice[0] [d]-l + (N[d-1] « ew[dl]) &amp; ((1 &lt;&lt;eXStrideMip[d]-l) -1) 亦 Also consider whether the alignment mode is mode or mode 1 to calculate the value YOffsetMipSlice[d]. If mode 1 is used, the cancer value YOffsetMipSlice[d] is obtained by the following relation: For the mode, Y〇ffsetMipSlice[0][d]= YOffsetMipSlice[0][dl] + (((N[d-1] « ew[dl]) + (1 « eTW) - 1)» eTW) « eh[dl] For mode 〇, Y〇ffsetMipSlice[0][d]= YOffsetMipSlice[0][d] = YOffsetMipSlice[0][ Dl] + 20 200821988 S3U06-0026-TW 24383twf.doc/n (n[dl] « (ew[dl] + eh[dl] - eXStrideMip[dl])) In step 540, based on the parameters calculated above Calculates the memory address of the mother-texture in the texture map. The offset of each texture slice N of a certain mip level is then calculated for the X and y directions. As discussed above, the parameter XOffsetMipSlice[N] indicates the offset of the texture slice N of a certain mip level in the X direction. In addition, the value YOffsetMipSlice[N] is the offset of the texture sheet N of a certain mip level in the Y direction. These offsets are used to calculate the new (x,y) coordinates for each texture slice. An embodiment in which the offset of the siice [〇] in each of the mip levels is in the X and y directions and the address of the memory address zero or the power of two is zero for the offset in the X direction, A mip level) shce[0] will always be aligned with the left border of the brick. In addition, the χ step value will be equal to the monument width Tile Width. Finally, it should be noted that if the size of multiple texture tiles is smaller than one image monument, then the texture tiles are "squeezed, or compressed into a single image monument, so that the individual texture tiles do not occupy the entire image brick. The texture slice performs compression in a main mode in which texture pieces having the same mip level value are grouped together. Finally, in step 550, the rearranged texture pieces are stored in texture cache memory for future use. See Figure 6A, which illustrates the different parameters used to calculate the address of each texture slice at different mip levels. The offset I of each mip level is aligned with zero or The address value of the power is aligned. In particular, there are no two different modes for storage purposes. Mode Q can be used to indicate that the siise[0] of the parent-πυρ level is not aligned with zero (ie, Not aligned with the leftmost boundary of the brick.) Now look at Figure 7, which is used to map the volume texture to the texture sheet. 200821988 S3U06-0026-TW 24383twf.doc/n Ο ο The main format is stored in An embodiment of a texture cache memory, as shown, for The texture-based format stores the texture tiles, in which the texture tiles of the same level are stored together in a continuous manner. It should also be understood that the texture tiles are "squeezed" or compressed together so that they are smaller than the individual texture tiles of a tile. It does not occupy the entire brick, leaving a wasted memory space. As depicted in Figure 6, the texture is also stored in a continuous page of texture cache memory (page N to page (N+2)). As discussed earlier, it is beneficial to store the texture sheets in the mip level in the memory in the memory. The texture sheets are preferably stored in the cache page and even stored in the same - The cache axis (if possible) can speed up the #material access and ultimately lead to a reduction in memory delay. Figure 8 depicts the texture-based compression of the image texture data. ®. The method starts with step _, and the texture (10) in the material is rearranged according to the texture pattern. The image brick size of all the texture pieces with the same level of detail in the r=82G will be Texture pieces with the same level of detail are stored in - In step (4), calculating a new memory location for each texture in the parameter leaf texture data calculated in step 840 according to the step in step 840, in step 850, The rearranged texture piece, the presence of the tattoo (4) towel, the logic of any or more executable instructions in the new memory address storage map, the program heart = 2 22 200821988 S3U06-0026-TW The embodiments are intended to be within the scope of the preferred embodiments of the present invention, in which the functions may be performed in a different order than the ones shown or discussed, including substantially concurrent or reverse. Furthermore, the implementation described above should be the subject of a possible embodiment. Many variations and modifications of the embodiments described above are possible without departing from the scope of the invention. All such modifications and variations are intended to be included within the scope of the present invention and are protected by the following claims. 〇 For example, based on the description provided by the present invention, those skilled in the art are familiar with this technology? The embodiment includes a graphics processing unit, the graphics processing unit includes a texture management unit, and the texture management unit is configured to organize the texture map data according to the texture-based format, wherein the texture map data spans at least one m level. In addition, the graphics processing system includes texture cache memory in which the texture is fast, the memory is transferred to the texture management unit, and is used to receive the reconstructed texture map material from the texture unit. K-shirts, the K-shaped processing unit further includes a texture data format, which arranges the texture pieces in the texture map data according to the texture-based format, and the number of different logic modules is used for one of the texture map data. The texture slice calculation parameter; and the address calculation logic module, which uses the parameter of the calculation to compare the cache address of each texture-texture. ^ In other embodiments, the 'texture data formatter' step can be used to store multiple texture tiles in the same context if the texture slice is smaller than - like a monument. In other embodiments, the texture data formatter may arrange the texture tiles in the texture map data according to the mode 模 or modulo 23 200821988 S3U06-0026-TW 24383 twf.doc/n, where the mode 〇 indicates the first of each mip level. The texture tiles are aligned with the leftmost boundary of the tile that stores the texture tiles and wherein mode 1 indicates that the first texture tile of each mip level is not aligned with the leftmost boundary of the tiles that store the texture tiles. In other embodiments, the parameters include the tile size, texture width, texture height, and the number of texture slice indices per tile. For some embodiments, the parameter further includes a texture slice offset, which indicates an address offset in the x direction of the first texture slice of each mip level, and a y offset of the texture slice, An offset indicating the first texture slice of each mip level in the y direction; and an x stride value indicating each mip = level, the total width of each set of texture tiles. For some embodiments.疋 Calculate the parameters for the parent mip level. For some embodiments, if the transition is 1, the offset of the first texture slice is set to 〇. For some examples, if the mode is 〇, the X offset of the first texture is rounded to the power of two. For some embodiments, each pattern within the texture map data

理片的快取記憶體位址包含新值χ,其指示每一紋理片之X G 座‘,新值y,其指示每一紋理片之y座標;以及像磚索 引數,其指示儲存紋理圖資料内之所有紋理片所的 總數目。 根據本發明之其他實施例,提供用於在圖形處理哭中 f;紋理圖資料之方法,且方法可藉由以下步驟大致加以 既·根據miP等級將紋理圖資料之紋理片分組在一起; f據模式旗標將多餘理片排列在同—像碑中;計算關於 母lip等級之每-紋理片的參數;根據所計算之參數計 24 200821988 S3U06-0026-TW 24383twf.doc/n 算紋理圖資料内之每一紋理片的記憶體位址;以及將經重 排之紋理片儲存在紋理快取記憶體中。 、在某些實施例中,排列紋理片更包含在模式旗標設定 為1的情況下,沿儲存紋理片之像磚的最左邊界對準每一 mip等級之第一紋理片。對於某些實施例中,排列紋理片 的方式更包含在模式旗標設定為〇的情況下,沿下一較低 m/p等級中之最後紋理片的最右邊界對準每一❿中等級之 〇 帛—個。在某實關巾,計算參數包含計算紋理寬 度,計异紋理高度;計算每一像磚的紋理片大小;計算每 理片之紋理片索引數;計算紋理片〇之义偏移,其指 一 miP等級之第一個紋理片在X方向上的位址偏移; 计异紋理片〇之y偏移,其指示每一 mip等級之第一個紋 ,片在y方向上的位址偏移;以及計跨步值,其指示 母mip專級之紋理片的每一集合之總寬度。對於某些實 施=,計算紋理圖資料内之每一紋理片的記憶體位址^含 ΐ异,值x’其指示每一紋理片之x座標;計算新值y,其 G ^不每^理片之y座標;以及計算像磚指數,其指示儲 存紋理圖資料内之所有紋理片所需之像碑的總數目。 根據本發明之其他實施例,提供用於在圖形處理器中 儲存紋理圖貝料之方法,且方法可藉由以下步驟大致加以 概括·用以紋理片為主之格式重排紋理圖資料之紋理片, 其中具^相同細節等級的紋理片得以分組在一起;若具有 相同細節等級的所有紋理片之總和小於一像磚之大小,則 將具有相同細節等級的紋理片儲存在一像磚内;針對每一 25 200821988 S3U06-0026-TW 24383twf.doc/n 細節等級計算關於每-紋理片之參數;根據所計算之參數 計算紋理圖資料内之每-紋理片的新記憶體位址;以及將 經重排之紋理片以及新記憶體位址儲存在紋理快取記憶體 中。 卜對於某些實施例,計算關於每一紋理片之參數包含計 算儲存具有相同細節等級之所有紋理片所需像碑的數目; 計异紋理之尺寸;計算每一紋理片之紋理片索引數;計算 紋理片0之X偏移,其指示每一細節等級之第一個纹理片 在X方向上的位址偏移;計算紋理片〇之乂偏移,盆指示 每-細節等級之第-個紋理片在y方向上的位址偏移;以 及計算X跨步值,其指示每一細節等級之紋理片之每一集 合的總見度。對於某些實施例,將具有相同細節等級之紋 理片儲存在一像磚内更包含沿像碑之最右邊界對準每一細 $等級之第-個紋理片。對於某些實施例,將具有相同細 節等級之紋理片儲存在一像磚内更包含··對準每一細節等 級之第一個紋理片緊跟在下一較低細節等級之最後紋理片 G 之後。對於某些實施例,計算新記憶體位址包含計算每一 mip等級之每一經重排紋理片的(x,y)座標,以及ί算儲 存紋理圖資料内之所有紋理片所f之像磚的總數目。 【圖式簡單說明】 圖1為多圖形處理器系統之實施例的方塊圖。 圖2說明電腦圖形系統内之紋理資料管理之某些美 元件。 /、二土个 圖3為說關示性L 2快取記紐組祕式的方塊圖。 26 200821988 S3U06-0026-TW 24383twf.doc/n 圖4說明例示性32位元紋理像磚。 圖5描繪用於執行像磚紋理資料之以紋理片為主之壓 縮方法之實施例之流程圖。 圖6A說明用於圖5中之實施例的模式0。 圖6B說明用於圖5中之實施例的模式1。 圖7描繪用以紋理片為主之格式將體積紋理貼圖儲存 在紋理快取記憶體内的實施例。 圖8描繪用於執行像磚紋理資料之以紋理片為主之壓 f 縮方法之另一實施例之流程圖。 【主要元件符號說明】 100 :電腦系統The cache memory address of the slice contains a new value χ indicating the XG block of each texture slice, a new value y indicating the y coordinate of each texture slice, and a brick index number indicating the storage texture map data The total number of all texture tiles within. According to other embodiments of the present invention, there is provided a method for crying f; texture map data in a graphics process, and the method can roughly combine the texture slices of the texture map data according to the miP level by the following steps; According to the pattern flag, the redundant textures are arranged in the same-like monument; the parameters of each texture sheet with respect to the parent lip level are calculated; according to the calculated parameters 24 200821988 S3U06-0026-TW 24383twf.doc/n The memory address of each texture slice in the data; and the rearranged texture slice is stored in the texture cache memory. In some embodiments, arranging the texture tiles further includes aligning the first texture slice of each mip level along the leftmost boundary of the tiles storing the texture tiles with the mode flag set to one. For some embodiments, the manner of arranging the texture slices further includes aligning each of the median levels along the rightmost boundary of the last texture slice in the next lower m/p level with the mode flag set to 〇. After that - one. In a real towel, the calculation parameters include calculating the texture width, calculating the texture height; calculating the texture slice size of each tile; calculating the texture slice index of each tile; calculating the texture slice mean offset, which refers to The address offset of the first texture slice of the miP level in the X direction; the y offset of the different texture slice, which indicates the first groove of each mip level, and the address offset of the slice in the y direction And a step value indicating the total width of each set of texture tiles of the parent mip level. For some implementations =, the memory address of each texture slice in the texture map data is calculated to be different, the value x' indicates the x coordinate of each texture slice; the new value y is calculated, and its G ^ is not every The y coordinate of the slice; and a computed brick index indicating the total number of image monuments required to store all of the texture tiles within the texture map data. According to other embodiments of the present invention, there is provided a method for storing a texture map in a graphics processor, and the method can be roughly summarized by the following steps: texture texture data is rearranged in a texture-based format a piece of texture in which the same level of detail is grouped together; if the sum of all pieces of the same level of detail is less than the size of a tile, the pieces of texture having the same level of detail are stored in a tile; Calculate parameters for each texture sheet for each 25 200821988 S3U06-0026-TW 24383twf.doc/n detail level; calculate a new memory address for each texture sheet in the texture map data based on the calculated parameters; The rearranged texture tiles and the new memory address are stored in texture cache memory. For some embodiments, calculating the parameters for each texture slice includes calculating the number of image monuments required to store all texture tiles having the same level of detail; calculating the size of the texture; calculating the texture slice index for each texture slice; Calculate the X offset of the texture slice 0, which indicates the address offset of the first texture slice in each detail level in the X direction; calculate the offset of the texture slice, the basin indicates the first - per level of detail The address offset of the texture slice in the y direction; and the calculation of the X step value, which indicates the total visibility of each set of texture tiles for each level of detail. For some embodiments, storing the tiles of the same level of detail in a tile also includes aligning the first tile of each fine $ level along the rightmost border of the monument. For some embodiments, storing texture pieces having the same level of detail in a tile and including the first texture piece of each level of detail immediately following the last texture piece G of the next lower level of detail . For some embodiments, calculating the new memory address includes calculating the (x, y) coordinates of each of the reordered texture slices for each mip level, and calculating the tiles of all the texture patches in the texture map data. The total number. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a block diagram of an embodiment of a multi-graphics processor system. Figure 2 illustrates some of the beauty components of texture data management within a computer graphics system. /, two soils Figure 3 is a block diagram of the secret L 2 cache. 26 200821988 S3U06-0026-TW 24383twf.doc/n Figure 4 illustrates an exemplary 32-bit texture tile. Figure 5 depicts a flow diagram of an embodiment of a texture-based compression method for performing brick texture data. Figure 6A illustrates mode 0 for the embodiment of Figure 5. Figure 6B illustrates mode 1 for the embodiment of Figure 5. Figure 7 depicts an embodiment of storing a volume texture map in a texture cache memory in a texture-based format. Figure 8 depicts a flow diagram of another embodiment of a texture-based compression method for performing brick texture data. [Main component symbol description] 100 : Computer system

102 : CPU 104 ·糸統記憶體 106 :紋理資料 108 :系統介面 110 ··圖形處理系統 112 :前端處理器 114 :紋理資料管理單元 116 :紋理快取記憶體系統 118 :紋理過濾器 120 :圖框緩衝器 130 :顯示裝置 210 ·.電腦圖形系統 212 :紋理資料管理單元 27 200821988 S3U06-0026-TW 24383twf.doc/n 214 ··位址計算邏輯模組 218 ··紋理資料格式器 220 ··參數計算邏輯模組 310 : L2快取記憶體 315 : L2頁面/頁面 320 : L2資料線 330 :奇數區塊/區塊 340 :偶數區塊/區塊 350 :記憶庫 360 :頁面 420 :像磚 610 :像磚 620 :像磚102: CPU 104 糸 memory 106: texture data 108: system interface 110 · graphics processing system 112: front end processor 114: texture data management unit 116: texture cache memory system 118: texture filter 120: diagram Frame buffer 130: display device 210. Computer graphics system 212: texture data management unit 27 200821988 S3U06-0026-TW 24383twf.doc/n 214 · Address calculation logic module 218 · Texture data formatter 220 ·· Parameter calculation logic module 310: L2 cache memory 315: L2 page/page 320: L2 data line 330: odd block/block 340: even block/block 350: memory bank 360: page 420: like brick 610: Like Brick 620: Like Brick

U 28U 28

Claims (1)

200821988 S3U06-0026-TW 24383twf.d〇c/n 十、申請專利範圍: 1·一種圖形處理系統,其包含: 紋理管理單元,用以根據以紋理片為主之格式組織 紋理圖資料,其中所述紋理圖資料跨越至少一個mip等 級;以及 紋理快取記憶體,其中所述紋理快取記憶體耦接至 所述紋理管理單元,且用以接收來自所述紋理管理單元 之所述經組織後的紋理圖資料。 2·如申請專利範圍第1項所述之圖形處理系統,其中 所述紋理管理單元更包含: 紋理資料格式器,用以根據以紋理片為主之格式排 列所述紋理圖資料内之紋理片; 茶數計算邏輯模組,用以計算所述紋理圖資料内之 每一紋理片的參數;以及 位址計算邏輯模組,用以使用所述之參數來計算所 述紋理圖資料内之每一紋理片的快取記憶體位址。 ◎ 3·如申請專利範圍第2項所述之圖形處理系統,其中 所述紋理資料格式器進一步用以在所述紋理片小於一像磚 的情況下將多個紋理片儲存在所述像磚内。 4·如申請專利範圍第2項所述之圖形處理系統,其中 所述紋理貧料格式器根據一模式〇或一模式丨排列所述紋 理圖資料内的紋理片, 其中所述模式〇表示所述每一 mip等級之第一個紋 理片與儲存所述紋理片之所述像碑之最左邊界對準丨且 29 200821988 S3U06-0026-TW 24383twf.doc/n 其中所述模式1表示所述每一 mip等級之所述第一 個紋理片未與儲存所述紋理#之所述㈣之所述最 界對準。 5·如申請專利範㈣2項所狀圖形處理彡統,其中 所述參數包含: 以所述像磚之數目而計算的紋理片大小; 紋理寬度; 紋理高度;以及 p 所述每一紋理片之紋理片索引數。 6·如申請專利範圍第2項所述之圖形處理系統,其中 所述參數更包含: ^ 、、文理片〇之x偏移,其指示所述每一 mip等級之第 一個紋理片在x方向上的位址偏移; 紋理片〇之y偏移,其指示所述每一 mip等級之所 述第一個紋理片在y方向上的位址偏移;以及 X跨步值,其指示所述每一 mip等級之紋理片之每 一集合的總寬度。 e ) 7·如申請專利範圍第2項所述之圖形處理系統,其中 所述參數是針對所述每個mip等級而加以計算。 务8·如申請專利範圍第6項所述之圖形處理系統,其中 若模式為一模式1,則所述第一個紋理片之所述X偏移經 設定為0。 ^ 9.如申請專利範圍第6項所述之圖形處理系統,其中 右杈式為一模式〇,則所述第一個紋理片之所述χ偏移經 30 200821988 S3U06-0026-TW 24383twf.doc/n 四捨五入為二之冪數。 所、fL0·^申請專利範圍第2項所述之_處理系統,其中 含目貝·之每-紋理片的所述快取記憶體位址包 新值X ’其指示所述每-紋理片之X座標; =y,其指示所述每一紋理片之y座標;以及200821988 S3U06-0026-TW 24383twf.d〇c/n X. Patent application scope: 1. A graphics processing system, comprising: a texture management unit for organizing texture map data according to a texture-based format, wherein And the texture cache data is coupled to the texture management unit, and Texture map material. 2. The graphics processing system of claim 1, wherein the texture management unit further comprises: a texture data formatter for arranging the texture slices in the texture map data according to a texture-based format. a tea number calculation logic module for calculating parameters of each texture slice in the texture map data; and an address calculation logic module for calculating each of the texture map data using the parameter The cache memory address of a texture slice. 3. The graphics processing system of claim 2, wherein the texture data formatter is further configured to store a plurality of texture tiles in the tile when the texture tile is smaller than a tile. Inside. 4. The graphics processing system of claim 2, wherein the texture poor formatter arranges texture patches in the texture map data according to a pattern or a pattern, wherein the pattern indicates that The first texture piece of each mip level is aligned with the leftmost boundary of the image book storing the texture piece and 29 200821988 S3U06-0026-TW 24383twf.doc/n wherein the mode 1 indicates the The first texture piece of each mip level is not aligned with the outermost boundary of said (4) storing said texture #. 5. The graphic processing system of claim 2, wherein the parameter comprises: a texture piece size calculated by the number of bricks; a texture width; a texture height; and p each of the texture pieces The number of texture slices. 6. The graphics processing system of claim 2, wherein the parameter further comprises: ^, a x-offset of the texture sheet, indicating that the first texture slice of each mip level is at x An address offset in the direction; a y offset of the texture slice indicating an address offset of the first texture slice in the y direction of each mip level; and an X stride value indicating The total width of each set of texture pieces per mip level. The graphics processing system of claim 2, wherein the parameters are calculated for each of the mip levels. The graphics processing system of claim 6, wherein if the mode is a mode 1, the X offset of the first texture slice is set to zero. The graphics processing system of claim 6, wherein the right side is a mode, and the first texture slice is offset by 30 200821988 S3U06-0026-TW 24383twf. Doc/n is rounded to the power of two. The processing system of claim 2, wherein the cache memory address packet new value X' containing each of the meshes of the meshes indicates the per-texture sheet X coordinate; = y, which indicates the y coordinate of each texture slice; Ο 像磚索引數,其指示儲存所述紋理貼圖資料内之所 有所述紋理片所需之像磚的總數目。 A · 11.帛在圖形處理4巾儲存紋理圖資料的方法,其包 3 · 根據mip等級將紋理圖資料之紋理片分組在一起; 根據杈式旗標將多個所述紋理片排列在同一像 中; ' 針對每一 mip等級計算所述每一紋理片的參數; 根據所述麥數計算所述紋理圖資料内之每一紋理片 的記憶體位址;以及 將所述 '纟k排列後之紋理片儲存在一紋理快取記憶體 中。 〜 12·如申請專利範圍第丨丨項所述之方法,其中排列紋 理片更包含在所述模式旗標設定為丨的情況下,沿儲存所 述紋理片之所述像磚的最左邊界對準每一 mip等級之第一 紋理片。 13·如申請專利範圍第u項所述之方法,其中排列紋 理片之步驟更包含在所述模式旗標設定為〇的情況下,沿 31 200821988 S3U06-0026-TW 24383twf.doc/n 下一較低mip等級中之最後紋理片的最右邊界對準每— mip等級之第一個紋理片。 H·如申請專利範圍第丨丨項所述之方法,其中計算來 數包含: / 計算紋理寬度; 計算紋理高度; 计异以像磚之數目表示的紋理片大小; 計算每一紋理片之紋理片索引數;像 Like a brick index number, which indicates the total number of tiles required to store all of the texture tiles in the texture map data. A · 11. The method of storing texture map data in the graphics processing 4, the package 3 · grouping the texture pieces of the texture map data according to the mip level; arranging the plurality of texture pieces in the same according to the 杈 flag Calculating a parameter of each texture slice for each mip level; calculating a memory address of each texture slice in the texture map data according to the mering number; and arranging the '纟k The texture tiles are stored in a texture cache. The method of claim 2, wherein the arranging the texture piece further comprises, when the mode flag is set to 丨, along the leftmost boundary of the tile storing the texture piece. Align the first texture piece of each mip level. 13. The method of claim 5, wherein the step of arranging the texture sheets further comprises, in the case where the mode flag is set to ,, along 31 200821988 S3U06-0026-TW 24383 twf.doc/n The rightmost boundary of the last texture slice in the lower mip level is aligned to the first texture slice per mip level. H. The method of claim 2, wherein calculating the number comprises: / calculating the texture width; calculating the texture height; calculating the texture piece size represented by the number of bricks; calculating the texture of each texture piece Number of slice indexes; 口十#紋理片0之X偏移,其指示每一 mip等級之第 一個紋理片在X方向上的位址偏移; 。十异紋理片〇之y偏移,其指示每一 mip等級之所 述第一個紋理片在y方向上的位址偏移;以及 計算x跨步值,其指示每一 mip等級之紋理片之每 一集合的總寬度。 15·如申請專利範圍第u項所述之方法,其中計算所 述紋理圖,料内之每一紋理片的記憶體位址包含: 計,新值X,其指示每一紋理片之X座標; :十=新值y,其指示每一紋理片之y座標;以及 口十异像碑索引數,其指示儲存所述紋理圖資料内之 所有所迷紋理片所需之像碑的總數目。 16·-種在_處理器中儲存紋理貼圖資料的方法,其 包含: 根據以紋理片為主之格式排列紋理 圖資料内之紋理 片,/、中具有相同細節等級之紋理片被分組在一起; 32 200821988 S3U06-0026-TW 24383twf.doc/n 若具有所述相同細節等級之所有所述紋理片的總和 小於一像磚之大小,則將具有所述相同細節等級之所述 紋理片儲存在所述像碑内; 計算關於每一紋理片之參數,其中所述參數是針對 每一細節等級來計算; 根據所述參數計算所述紋理圖資料内之每一紋理片 的新記憶體位址;以及 將所述經排列之紋理片以及新記憶體位址儲存在紋 理快取記憶體中。 17·如申請專利範圍第16項所述之方法,其中計算關 於每一紋理片之參數包含: 。十异儲存具有所述相同細節等級之所有紋理片所需 之像磚的數目; @ 計算所述紋理圖資料之尺寸; 計算每一紋理片之紋理片索引數; 计异紋理片0之X偏移,其指示每一細節等級之第 ϋ 一個紋理片在X方向上的位址偏移; 計算紋理片0之y偏移,其指示每一細節等級之所 迹第一個紋理片在y方向上的位址偏移;以及 计异X跨步值,其指示每一細節等級之紋理片之每 一集合的總寬度。 18·如申請專利範圍第μ項所述之方法,其中將具有 =述相同細節等級之所述紋理片儲存在所述像磚内更包含 沿所述像磚之最右邊界對準每一細節等級之第一個紋理 33 200821988 S3U06-0026-TW 24383twf.doc/n 19·如申請專利範圍第i6項所述之方法,其中將具有 所述相同細節等級之所述紋理片儲存在所述像碑内更包含 對準每一細節等級之第一個紋理片緊跟在下一較低細節等 級之最後紋理片之後。 20.如申請專利範圍第16項所述之方法,其中計算新 記憶體位址包含: °十异母一 mip專級之每一\組排列的纹理片的x、y 〇 今標;以及 计异儲存所述紋理圖資料内之所有所述紋理片所需之像磚 的總數目。The X offset of the texture slice 0 indicates the address offset of the first texture slice of each mip level in the X direction; a y offset of a ten-dimensional texture sheet indicating an address offset of the first texture slice of each mip level in the y direction; and calculating an x step value indicating a texture slice for each mip level The total width of each set. The method of claim 5, wherein the texture map is calculated, and the memory address of each texture slice in the material includes: a new value X indicating the X coordinate of each texture slice; : ten = new value y, which indicates the y coordinate of each texture slice; and a port ten-dimensional monument index number indicating the total number of image monuments required to store all of the texture tiles within the texture map material. 16-- A method for storing texture map data in a processor, comprising: arranging texture slices in texture map data according to a texture-based format, and texture patches having the same level of detail in /, are grouped together 32 200821988 S3U06-0026-TW 24383twf.doc/n If the sum of all of the texture tiles having the same level of detail is less than the size of a tile, the texture tiles having the same level of detail are stored in Calculating parameters for each texture slice, wherein the parameters are calculated for each level of detail; calculating a new memory address of each texture slice in the texture map data according to the parameter; And storing the arranged texture tiles and the new memory address in the texture cache memory. 17. The method of claim 16, wherein calculating the parameters for each texture sheet comprises: The number of bricks required to store all texture tiles of the same level of detail; @ calculate the size of the texture map data; calculate the number of texture slice indexes for each texture slice; Shift, which indicates the address offset of the first texture slice in the X direction of each detail level; calculates the y offset of the texture slice 0, which indicates that the first texture slice of each detail level is in the y direction The address offset on the top; and the X-spacing value, which indicates the total width of each set of texture tiles for each level of detail. 18. The method of claim 5, wherein storing the texture sheet having the same level of detail in the tile comprises aligning each detail along a rightmost boundary of the tile. The method of claim 1, wherein the texture piece having the same level of detail is stored in the image, the method of claim i. The monument also includes the first texture piece aligned to each level of detail immediately following the last texture piece of the next lower level of detail. 20. The method of claim 16, wherein calculating the new memory address comprises: x, y, y, and y, each of the set of textures of the ten-mother-mip class; The total number of tiles required to store all of the texture tiles within the texture map data. 3434
TW096122024A 2006-06-20 2007-06-20 Systems and methods for storing texture map data TWI367455B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US81505306P 2006-06-20 2006-06-20

Publications (2)

Publication Number Publication Date
TW200821988A true TW200821988A (en) 2008-05-16
TWI367455B TWI367455B (en) 2012-07-01

Family

ID=39022707

Family Applications (3)

Application Number Title Priority Date Filing Date
TW096122024A TWI367455B (en) 2006-06-20 2007-06-20 Systems and methods for storing texture map data
TW096122026A TWI341976B (en) 2006-06-20 2007-06-20 Systems and methods for performing a bank swizzle operation to reduce bank collisions
TW096122072A TWI395152B (en) 2006-06-20 2007-06-20 A graphics processing unit and a method of processing border color information

Family Applications After (2)

Application Number Title Priority Date Filing Date
TW096122026A TWI341976B (en) 2006-06-20 2007-06-20 Systems and methods for performing a bank swizzle operation to reduce bank collisions
TW096122072A TWI395152B (en) 2006-06-20 2007-06-20 A graphics processing unit and a method of processing border color information

Country Status (2)

Country Link
CN (3) CN101145239A (en)
TW (3) TWI367455B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9727392B2 (en) 2014-09-16 2017-08-08 Nvidia Corporation Techniques for render pass dependencies in an API

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8368701B2 (en) * 2008-11-06 2013-02-05 Via Technologies, Inc. Metaprocessor for GPU control and synchronization in a multiprocessor environment
TWI474280B (en) * 2010-04-21 2015-02-21 Via Tech Inc System and method for improving throughput of a graphics processing unit
US9230517B2 (en) * 2012-05-31 2016-01-05 Microsoft Technology Licensing, Llc Virtual surface gutters
CN106611401B (en) * 2015-10-22 2020-12-25 阿里巴巴集团控股有限公司 Method and device for storing image in texture memory
CN112381715B (en) * 2020-11-16 2024-04-09 航天科工(北京)空间信息应用股份有限公司 Method and device for parallel generation of map tiles by mass remote sensing images

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5765182A (en) * 1995-04-13 1998-06-09 Lsi Logic Corporation Interleaving memory on separate boards
US5828382A (en) * 1996-08-02 1998-10-27 Cirrus Logic, Inc. Apparatus for dynamic XY tiled texture caching
AU5686199A (en) * 1998-08-20 2000-03-14 Apple Computer, Inc. Deferred shading graphics pipeline processor
US6300953B1 (en) * 1998-10-15 2001-10-09 Nvidia Apparatus and method for grouping texture cache requests
US6266733B1 (en) * 1998-11-12 2001-07-24 Terarecon, Inc Two-level mini-block storage system for volume data sets
US7050063B1 (en) * 1999-02-11 2006-05-23 Intel Corporation 3-D rendering texture caching scheme
US6650333B1 (en) * 1999-06-09 2003-11-18 3Dlabs Inc., Ltd. Multi-pool texture memory management
US6825848B1 (en) * 1999-09-17 2004-11-30 S3 Graphics Co., Ltd. Synchronized two-level graphics processing cache
WO2003065308A2 (en) * 2002-02-01 2003-08-07 Koninklijke Philips Electronics N.V. Stepless 3d texture mapping in computer graphics
TWI249144B (en) * 2003-02-21 2006-02-11 Via Tech Inc Single level MIP filtering algorithm for anisotropic texturing
US7053904B1 (en) * 2003-12-15 2006-05-30 Nvidia Corporation Position conflict detection and avoidance in a programmable graphics processor
CN1273940C (en) * 2004-04-12 2006-09-06 浙江大学 Fast drawing forest method of graded hierarchical assembling depth paste-up atlas

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9727392B2 (en) 2014-09-16 2017-08-08 Nvidia Corporation Techniques for render pass dependencies in an API

Also Published As

Publication number Publication date
CN100578542C (en) 2010-01-06
CN101122997A (en) 2008-02-13
TW200809691A (en) 2008-02-16
TWI367455B (en) 2012-07-01
CN101114376B (en) 2010-06-23
CN101145239A (en) 2008-03-19
TW200819987A (en) 2008-05-01
TWI395152B (en) 2013-05-01
CN101114376A (en) 2008-01-30
TWI341976B (en) 2011-05-11

Similar Documents

Publication Publication Date Title
US7965296B2 (en) Systems and methods for storing texture map data
US11676253B2 (en) Systems, methods, and media for hierarchical progressive point cloud rendering
TW200821988A (en) Systems and methods for storing texture map data
Pfister et al. The volumepro real-time ray-casting system
JP4158007B2 (en) Volume data collection / rendering method, volume graphics system
US7460117B2 (en) Sliding texture volume rendering
JP2009011827A5 (en)
US7889194B2 (en) System and method for in-context MPR visualization using virtual incision volume visualization
US7898551B2 (en) Systems and methods for performing a bank swizzle operation to reduce bank collisions
CN111179394A (en) Point cloud scene rendering method, device and equipment
Osborne et al. EM-Cube: An architecture for low-cost real-time volume rendering
US9013479B2 (en) Apparatus and method for tile-based rendering
JP2008167065A5 (en)
TW200832278A (en) Pixel cache for 3D graphics circuitry
TW200917228A (en) Compression of multiple-sample-anti-aliasing tile data in a graphics pipeline
EP1746541A3 (en) Rendering by using object symmetry
Vasilakis et al. S-buffer: Sparsity-aware Multi-fragment Rendering.
US7358969B2 (en) Method and system for partitioning the surface of a three dimentional digital object model in order to map a texture
KR100922780B1 (en) An efficient interface and assembler for a graphics processor
Lecocq et al. Sub-pixel shadow mapping
EP1272978B1 (en) Imaging volume data
EP1597706A2 (en) Caching for volume visualization
WO2021247171A1 (en) Methods and apparatus for occlusion handling techniques
Kooima et al. A gpu sub-pixel algorithm for autostereoscopic virtual reality
CN104992444B (en) A kind of cutting method and system of human body layer data