TWI377520B - Extrapolation of nonresident mipmap data using resident mipmap data and computer-readable medium containing related instructions - Google Patents

Extrapolation of nonresident mipmap data using resident mipmap data and computer-readable medium containing related instructions Download PDF

Info

Publication number
TWI377520B
TWI377520B TW097121013A TW97121013A TWI377520B TW I377520 B TWI377520 B TW I377520B TW 097121013 A TW097121013 A TW 097121013A TW 97121013 A TW97121013 A TW 97121013A TW I377520 B TWI377520 B TW I377520B
Authority
TW
Taiwan
Prior art keywords
mipmap
resident
extrapolation
texture
level
Prior art date
Application number
TW097121013A
Other languages
English (en)
Other versions
TW200905608A (en
Inventor
P Newhall William Jr
Original Assignee
Nvidia Corp
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 Nvidia Corp filed Critical Nvidia Corp
Publication of TW200905608A publication Critical patent/TW200905608A/zh
Application granted granted Critical
Publication of TWI377520B publication Critical patent/TWI377520B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/40Analysis of texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/36Level of detail

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Geometry (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)

Description

13ΊΊ520 九、發明說明: 【發明所屬之技術領域】 董田irr般係關於紋理映射’尤其係關於使用外推法來計 异用於無法取得的Mipmap之紋理映像值。 【先前技術】 隨著H £題的朗日鱗常,在_處理躺可以
受限於傳統儲存紋理映像的(區域或 =)實體疏體數1。紋理f料可儲存在其他 ϊίϊί tCD絲贼甚技具找實胁_更高存取 =延值,端,器。在處理期間於需要時擷取紋理資料。 不k ’不像疋從實體記憶體擷取紋理資料,在 他儲存資财娜時,該影像品财所妥協。“枓攸其 因為-紋理的高解析度mipmap比較大,所以將 源上制有好處。該紋理的低解析度—ap 3 體㈣朗城生雜,㈣财倾存資源 中取侍^析度mipmap。結果當該實體記憶體 ^晰特變成可用,則呈現出來的紋理映像資料會先模 ㈣為·:麵肢善#從高日摘延遲儲存資 源榻取冋解析度mipmap日寺使用的低解析度紋理映。 =法與系統。.因此,本發明係可順利的從使用外推過渡轉i 成使用内推過渡時產生過遽過的紋素值,一但冬古= mipmap可於高時間延遲儲存資源中取得。 …解析度 【發明内容】 中擷形處理f係被奴在高時間延遲儲存資源 低解析度_naP來赴外減雜, 5 從非常駐mipmap轉換成常駐mipmap。該等外推的紋理值提 供一改善過且更清晰的影像用於取代該高解析度mipmap等級 紋理資料,相較於使用該低解析度mipmap等級紋理資料。若 非吊駐的細節mipmap等級已經常駐,則使用一 mipmap渡鏡 將兩個常駐的詳細mipmap等級外推至大約經過過濾所會增加 的對比與細節程度,來產生固定的紋理值。 使用一外推臨界LOD來決定何時使用外推放大或縮小紋 理過濾’當一非常駐mipmap轉換成一常駐 mipmap時,可使 用δ亥外推臨界l〇D順利的從使用外推過滤轉換成使用内推過 濾。一經過計算之deltaLOD (細節程度)係為一理想mipmap的 LOD與一外推臨界LOD (—大於或等於該最高解析度常駐 mipmap之值)之間之差異。不同於儲存在一高存取時間延遲儲 存資源内的非常駐mipmap,一常駐mipmap係儲存在(低存取 ,間延遲)實體記憶體内。該deltaLOD用於決定一外推權值,
δ亥權值係用於產生取代該高解析度mipmap紋理資料的外文 理值上》 、 V 本毛明係將一紋理映像的非常駐mipmap等級轉換成該紋 理映像的常駐mipmap等級之許多方法具體實施例包含:接收 -將該非f駐mipmap #轉換成雜mipmap _並將其以 -影像來顯tf的要求n難動作觸非常駐鄉 ΐ從:"非記㈣崎裝置㈣到—常駐記龍儲存裝 ΐ過二常.駐—Ρ等級的複製時’將用於產生 level 〇f 【實施方式】 在以下描述中, 底之理解。但是,應 陳述衆多特殊細節以提供本發明之一更徹 明白熟知該項技藝者可略過一或多個該等 ινηψ 特定細節來實施本發明。其它示例未描述已知之特性以避免模 糊本發明。 、 第一圖說明根據本發明一或多個態樣用於改變L0D的紋 理影像mipmap之概念圖。每一 mipmap都是一特定解或 細節等級(LOD)的紋理影像之事先過濾版本,其中 mipmap 110具有隶咼解析度並且l〇dn mipmap 190且有最低 解析度’即是隨著L0D指數增加,對應miplevel的^析度降 低。當使用虛擬記憶體映射表示比實體記憶體内還要多的較大 位址空巧,則並非所有可定址的紋理資料都常駐在實體記憶體
内。如第一圖内所示,LODOmipmap 110、LODI mipmap 120 和LOD2 mipmap 130並沒有儲存在實體記憶體内,因此為非 常駐 mipmap 100。常駐 mipmap 14〇 包含 l〇D3 mipmap 15〇、 LOD4 mipmap 160 和 LODN mipmap 190,儲存在實體記情# 内,如此就可用低時間延遲來存取儲存在這些mipm内^'紋 理資料。 ^
§ 一軟體應用程式要求以所有要求的mjpmap都常駐在記 憶體内之細節等級來過濾紋理,則該紋理單元從要求的 mipmap t摘取紋素,並且套用滤鏡產生内推在從該f駐 mipmap等級中擷取的紋素間之值,如業界内所常見的。當一 軟體應用程式試圖存取在實體記憶體分頁的mipmap等級,即 是一非常駐mipmap ’本發明的具體實施例從兩個最近的常駐 mipmap中操取紋素’並且套用一濾鏡,如此產生從常駐 mipmap等級操取的紋素中外推之值。計算外推紋理值之後可 用於產生影像’直到該非常駐mipmap分頁進入實體記憶體, 變成一常駐mipmap。 例如:用於紋理映射所計算的L〇d為LOD2,並且LOD2 mipmap 130 為非常駐’運用常駐 mipmap,LOD3 mipmap 150 和LOD4 mipmap 160 ’計算外推紋理值,如第二a圖内所示。 一非常駐LOD的外推紋理值,像是l〇D2使用外推縮小濾鏡 7 來計算。當紋素對像素的比例小於一時,則使用—縮小。 縣—棘LQD mipmap,貞_整濾:鏡權 的L0D2紋素内之階段,來產生順利的視 見轉移而非在-早-訊框内從外推遽鏡切換成 鏡。當計雜麵L〇D祕L0DG,即是騎度高==;慮 則使用一外推放大濾鏡計算該外推紋理值。當紋素對像素的比 例大於一時,則一使用放大濾鏡。 精通此技術的人士知道傳統系統内一項技術,運用「柔和 遮罩,或「銳利紋理」增強當所計算L0D小於零時紋理^起 來的清晰度’即是所要的紋理解析度高於LODO,利用在lodo 與LODI之Μ外推級L〇D〇減去該低頻成分的貢獻。本發明 也使用外推法(放大外推法)產生紋素值,用於計算小於零的 L0D ’但是使用新外推濾鏡類型,例如用mipmap外推的&性 與mipmap外推的最近之鄰居。此外,執行縮小外推法來計算 用於任何非常駐紋理的紋理值,而不僅僅是L〇D〇底= LOD ° - 第二A圖說明根據本發明之一或多個態樣用於產生像是 非常駐mipmap 100的一非常駐mipmap等級外推紋理值之方 法步驟流程圖。在步驟200内’此方法使用精通此技術人士所 熟知的技術來計算一理想LOD。該理想LOD的整數部分對應 至月b夠與所套用紋理解析度最佳匹配的mipmap等級。在步驟 21〇内’該方法判斷理想LOD mipmap是否為一非常駐 mipmap ’若不是,則該理想l〇d mipmap為常駐,並且在步 驟225内’從該等細和粗mipmap中讀取紋素。步驟210的細 節與第二B圖一起說明。 傳統上,該細mipmap對應至該理想LOD mipmap的整數 部分’並且該粗mipmap對應至該LOD mipmap的整數部分 +1。在步驟228内’該方法計算用於該等細與粗mipmap的線 性過濾紋理值,然後使用該理想LOD的分數部分内推在線性 1377520 過;慮紋素值之間,以便當渡鏡類型為mipmap外推線性時產生 過濾的紋素值。當該濾&類型為mipmap外推最相近之鄰居, 則會從該等細與粗mipmap當中選擇最近的紋素值來產生兩個 點取樣的紋素值。然後該兩點取樣紋素值使用該理想L〇D的 分數部分進行線性内推,來產生過濾過的紋素值。步驟225和 228係使用傳統紋理映像過濾技術來執行。 如果在步驟210内該方法判斷該理想l〇D mipmap為一非 常駐mipmap,則在步驟230内,該方法通知一裝置驅動程式, σ知應s亥將該紋理的一或多個mipmap分頁進入實體記憶體, 將這些mipmap從非常駐mipmap轉換成常駐mipmap,用來產 生一影像。在步驟210内,該方法可判斷當該理想LOD小於 零並且該LODO mipmap不常駐時該理想LOD mipmap為非常 駐’指示紋素對像素的比例大於一並且應該使用外推放大濾 鏡。當該理想LOD大於零並且從該理想l〇D中減去最高常駐 mipmap時小於零,則應該使用外推放大濾鏡,指示紋素對像 素的比例小於一。當該理想LOD等於LODO,可使用外推放 大。 在步騾235内’該方法計算一 ddtaL〇D當成該理想l〇d 與該外推臨界LOD (大於或等於最高解析度常駐mipmap之 LOD)間之差異,即是deltaL〇D =理想L〇D —外推臨界 LOD。例如,請參閱第一圖,當該理想LOD為LOD1 (對應至 LODO mipmap 120) ’ 該 deltaLOD 為-2,因為外推臨界 LOD 為 L0D3 (對應至 L0D3 mipmap 150)。請注意,deltaLOD 也可具 有分數部分,因為該理想L0D和該外推臨界l〇D可且有分數 部分。 、 在步騾240内,該方法使用該ddtaL〇D決定外推權重。 一個表格儲存對應至deltaLOD值的外推權重值。在本發明的 具體實施例内’該表可程式規劃來指定用於判斷該外推權重值 的函數。本發明的某些具體實施例允許最多64 (L〇D,權重) 9 1377520 ‘ i 配對以遞咸的L〇D順序載入表内。依照預設,此表内含六對 {(0,0), (-1,0.25), (-2,0.5), (-4,1.125), (-8, 2.0), (-16, 3.0)} 考慮到一小於-16之deltaLOD,係為表⑼内的最新記錄, 則該外推權重係為表的最新記錄之權重(3.0),即是3。如果 deltaLOD小於〇但大於由該應用所指定表中的第一輸入,則 該外推權重係為該表之第一輸入之權重。考慮到deltaLOD值 為-5時落在表内兩LOD值之間,就是一低值(LqD=_4,權重 =1.125)與一高值(L〇D=-8 ’權重=2.0)之間,該外推權重為線性 内推: 鲁 權重低*(L0D 高-deltaL0D)/(L0D s-LOD 低)+ 權重,(deltaLOD-LOD 低)/(L0D 高-LOD 低)(方程式 1) 在步驟250内運用該外推權重,使用從該粗LOD mipmap和該 細LODmipmap讀取的紋素來產生已過濾的紋素。 在步驟245内’當指定的渡鏡類型為mipmap外推線性 時’該方法從該粗LOD mipmap中讀取四個紋素並且從該細 LOD mipmap中讀取四個紋素。當指定的濾鏡類型為外推 mipmap最近之鄰居,則該方法則從該細LODmipmap中讀取 # 一單一紋素並且從該粗LOD mipmap中讀取一單一紋素。該細 LOD mipmap為細節等級等於該截頭外推臨界l0D (該外推臨 界LOD的整數部分)的mipmap ’並且該粗l〇D mipmap為具 有一 LOD等於該細L0D加一的低解析度常駐mipmap。 在步驟250内’當該滤鏡類型為mipmap外推線性,該方 法使用紋理映像座標的分數部分,線性内推從該等粗與細 LODmipmap中讀取的紋素,來產生紋素值τ細和τ粒。當指定 的濾鏡類型為mipmap外推最近之鄰居,則該方法提供從該細 LOD mipmap中讀取的紋素當成丁細以及從該粗l〇d mipmap 中頃取的紋素當成Tfe。在步驟250内,然後該方法運用下列 方裎式,使用Tfine、TCC)arse以及外推權重W計算該外推紋素值: T,*(l.〇 + W)-Tft*W (方程式 2) 該外推紋素值可與額外外推紋素值結合來產生已過濾的紋素 ,,用於非等向性紋理映射或其他已過濾紋理功能。然後使用 該外,紋理值,產生已儲存以及/或已顯示的已取現影像。 第二B圖說明根據本發明一或多個態樣用於決定一 mipmap是否對應至一理想L〇D的第二A圖中方法步驟21〇 之,程圖。在步驟212内,該方法判斷該理想L〇D小於零, 即疋低於LODO,並且若是如此,則在步驟214内,該方法判 斷LODOmipmap是否為常駐mipmap。若在步驟214内,該方 斷該LODO mipmap為常駐,則在步驟216内將濾鏡類型 ,定為放大紋理濾鏡,並在步驟228内使用。若在步驟214内, 該方法判斷該LODO mipmap為非常駐,則在步驟217内將濾 鏡類巧指定為外推放大紋理濾鏡,並在步驟25〇内使用。〜 ,若在步驟212内,該方法判斷該理想L〇D是否不小於零, ,後在步驟218内,該方法判斷該理想L〇D是否大於或等於 該外推臨界LOD。若在步驟218内,該方法判斷該理想L〇D n^map大於或等於該外推臨界l〇d,然後在步驟22〇内使用 扣,為放大紋理濾鏡的濾鏡類型,並在步驟228内使用内推法 計算已過濾的紋素值。否則,在步驟221内使用指定為外推縮 小紋理濾鏡的濾鏡類型,然後在步驟25〇内使用外推法 過濾的紋素。 第一 C圖說明根據本發明一或多個態樣用於決定是否應 該從一常駐mipmap外推的紋理值之方法步驟流程圖。一用^ 處理圖形資料的陰影成形程式可配置成使用預測或條件碼,來 決定該像素陰影成雜式崎續分支行為。預測或條件指令可 用來包含條件執行路徑,其中當由指令指定的陰影成形程式預
影成形程式條件值指示該理 則用不同的指令集來產生一 件值時,該陰影成形程式執行— 法,以產生一内推紋素值。當該瘦 想mipmap為一非常駐mipmap, 外推紋素值。 系統概觀 之方:i圖ί說明f置,施本發明一或多態樣的電腦系統 ,圖u為根據本發明具體實施例的電腦系統細。 電月向糸統300包含一個中央處理單元(cpu) 3〇2和一個透過匯 流排路徑(包含記憶體橋接器305)通訊的系統記憶體如4。在 本,明的某些具體實施例内,像是常駐mipmap 325這些儲存 在系統記憶體304内的紋理資料都考慮為「常駐」,因&該資 料可提供給具有決定性時間延遲的平行處理子系統312。在本 ,明的其他具體實施例内’儲存在系統記憶體304内的紋理資 料都考慮為「非常駐」,因為該資料無法提供具有一合理的時 間延遲給平行處理子系統312。要支援一互動訊框率需要合理 的時間延遲。 系統記憶體304也包含一個裝置驅動程式322,其配置成 提供指定資料位置,像是mipmap的指令串流,以及程式指令 給平行處理子系統312。該等程式指令與資料由一軟體應用程 式產生,並且可儲存在系統記憶體304内或系統300的其他裝 置内之記憶體内。裝置驅動程式322由CPU 302執行來根據 1377520 平打處理子系統3!2的特定能力,轉譯由平 指令可由—應用程式編輯介面二= 像疋Direct3D或〇penGL這些傳統圖形,來 記憶體橋接器305,例如北橋晶片,可透過一曰 他通訊路控306 (例如HyperTransport連結)通訊至一 接°1/0橋接11307,例如—南僑晶片,可ί收 2者^置308(例如鍵盤、滑鼠)的使用者 =如平=子系統312係透過-匯流排二 在—健體實施_,‘二;^ 給顯示裝置310 (例如傳統crt或lcd il 統。一系統磁碟314也連接至1/0橋接器 7都尤其找要更多齡以摘高解析度等 f都儲存在南時間延遲儲存裝置内,像是磁 Ϊ =、CD光碟機、咖光碟機料。這些mipmap 1 Ϊ番335 ’依照需求載入低時間延遲記憶體儲存 裝置’ ft:成在互動取現期間平行處理子系統312可存取的 mipmap。 & 換盗316提供1/〇橋接器307與其他組件之間的連 ^,像疋網路配接卡318以及其他外接卡32〇和奶。其他組 確顯7^ ’包含USB或其他料接' CD光碟機、DVD 回’、機、錄影裝置等等,也連接至1/0橋接器307。透過第三 =許多組件互連的通訊路徑可使用任何合適的通訊協定來 貫施,像是週邊組件互連(PCI, “Peripheral c()mpQnet ^connect”)、週邊組件快速互連(ρα_Ε,“ρα e啊ss”)、加 迷圖形連接埠(AGP, “Accelerated Graphics Port”)、超傳送標準 (^jerTransport)或其他任何匯流排或點對點通訊協定,並且不 5裝置之間的連接可使用不同通訊協定,如業界内所熟知。 13 Ϊ377520 » 第四圖顯示一平行處理子系統312的具體實施例。平行處 理子系統312包含一或多個平行處理單元(ppu,“parallel Processing Unit”)402 ’每一都連接至一區域平行處理(pp, “Parallel Processing”)記憶體404。一般而言,一平行處理子系 統包含一些數量的PPU,其中仏1(其中類似物件的多重實 例都標示參考號碼來識別物件’並且括號内的號碼識別所需的 實例)。PPU 402和PP記憶體404可例如使用一或多個積體電 路裝置,像是可程式編輯處理器、應用程式專屬積體電路(ASIC, “Application Specific Integrated Circuit”)以及記憶體裝置,來實
施。 如MU 4Ui(U)的細節内所示’每一 PPU402都包含一主機 介面406,其透過通訊路徑313與系統300剩餘部份通訊,其 中忒路徑連接至記憶體橋接器3〇5 (或在另外的具體實施例 内,直接連接至CPU 302)。在一個具體實施例内,通訊路徑 313為一 PCI-E鏈結,其中專屬通道分配給每一 ppu 4〇2,如 業界内所熟知。也可使用其他通訊路徑。主機介面4〇6產生在 ,訊路徑313上傳輸的封包(或其他訊號),並且也接收來自通 成路徑313的所有傳入封包(或其他訊號),並將封包導引至
二U?2的適當組件。例如:可將關於處理工作的命令導引至 前端單元412,而將關於記憶體操作(例如寫入 或讀_命令導引至纖體介面414。錢介面4()^404 和記憶體介面4M可為傳統設計,該設 關緊要故可省略詳細說明。 402m^PP^i4G2對於實施一高平行處理器都有利。如PPU =〇=田郎所不,PPU 402包含數量c的核心姻,宜中 個)執都可同時執行大量(例如數十個或數百 H f Γ _具體實施例。核心_透過工作分配單 兀接收要執仃的處理工作,該分配單元接收命令定義來自 14 1377520 412的處理工作。工作分配單元41〇可實施許多演算 法或分配工作。例如:在一個具體實施 彻接收一來自每一核心·的「備妥 早? 否有足夠資源接受-新處理卫作。#—新處ς工核心疋 。指派該工作給主二二=。心 主張有備錢號,則玉作分配單元彻保留新處理 主張有—備妥訊號為止。精通此技術的人 料,可被使㈣其h作分配單元410分配 处理新工作的特定方式對本發明係無關緊要。 ㈣與記憶體介面414通訊來讀取或寫入許多外部記 ^體裝置。在-個具體實施例内,記憶體介面4丨4包含 成與區-域PP記憶體撕通訊的介面,並且連接至主機一 4〇6 ^藉此讓核心與系統記憶體3〇4或其他不與ppu 4犯 =記f體通訊’包含系統磁碟314。記憶體介面414可為一 般傳統設計’該設計储本發明無職要故可省略詳細說明。 理工可以程式編輯來執行與各種應難式相關的處 LI二二,不受限於,線性與非線性資料轉換、視訊以 過據、模式化操作(例如套用物理法則來決定物 :的位置、速度和其他屬性)、影像取現操作(例如: 成形、幾彳!陰影成形以及,或像素陰影成形程式)等等。PPU 4〇; y,來自系統記憶體304和/或區域ρρ記憶體4〇4的資料,像 ==mlpmap 42s ’轉移進入内部(晶片上)記憶體、處理資料 並且將結果資料寫回系統記憶體3〇4和/或區域pp =,其中这種資料可由其他系統組件存取,包含例如 或他平行處理子系統312。 312 ίΐΐΐϊ三圖’在某些具體實施例内’平行處理子系統 1 ^某些或全部PPU 402都為具有取現管路的圖形處理 為’八可配置成執行關於從透過記憶體橋接器3〇5和區流排 312由CPU 302和/或系統記憶體3〇4供應的圖形資料當中產 15 生像素資料之許多工作、與區域PP記憶體404 (可用來當成圖 形5己憶體’包含例如一傳統訊框緩衝器和mipmap)互動來儲存 並更新像素資料、將像素資料遞送給顯示裝置31()等等。在某 些具體實施例内,PP子系統312可包含一或多個操作當成^ 形處理器的PPU 402 ’以及一或多個泛用於計算的其他ppu 402。該等ppu可一致或不同,並且每一 ppu都可擁有自己 的專屬PP記憶體裝置或無專屬PP記憶體裝置。 在操作中,CPU 302為系統300的主處理器,控制並且協 調其他系統組件的操作。尤其是,CPU 302發出控制ppu402 操作的命令。在某些具體實施例内,cpu3〇2將每一 ρρυ4〇2 巧命令串流寫入一推送緩衝器(第三圖内未明確顯示),該緩衝 器可位於系統記憶體304、PP記憶體404或CPU 302和PPU 402可存取的其他儲存位置内。ppu 4〇2讀取來自該推送緩衝 器的命令串流,並與CPU 302的操作非同步執行命令。 吾人將瞭解,此處所示的系統為說明之用,並且可進行變 2與修改。該連接拓撲,包含橋接器的數量與配置,都可依照 需要來修改。例如:在某些具體實施例内,系統記憶體3〇4直' 接連接至CPU 302而非透過一橋接器,並且其他裝置透過記 憶體橋接器3〇5和Cpu 302與系統記憶體304通訊。在其他 替代拓撲中,平行處理子系統312連接至1/〇橋接器3〇7或直 接連接至CPU 302,而非連接至記憶體橋接器3〇5。仍舊在其 他f苎實,例内,I/O橋接器3〇7和記憶體橋接器3〇5可整: 成一單一晶片。此處所示的特定組件為選項;例如,任何數量 卜接卡或週邊裝置都可支援。在某些具體實施例内,免除交 、器316 ’並且網路配接卡318和外接卡320、321直接連接 至I/O橋接器307。 pPPIJ402連接至系統300剩餘部份也可改變。在某些具體 ^例内,PP系統312可實施當成可以插入系統300 -擴充 插槽的外接卡。在某些具體實施例内,- PPU4〇2可整合到具 1377520 有一匯流排橋接器像是記憶體橋接器305或I/O橋接器307的 一單一晶片上。仍舊在其他具體實施例内,PPU402的一些或 全部元件都可整合至具有CPU 302的一單一晶片上。 一 PPU可提供具有任何數量的區域pp記憶體,不包含區 域記憶體’並且可使用任意組合的區域記憶體和系統記憶體。 例如:一 PPU 402可為一統一記憶體架構(uma, “Unified MemoryAarchitecture”)具體實施例内的一圖形處理器;在這種 具體實施例内’提供一些或不提供專屬圖形(PP)記憶體,並且 PPU402應以專用或幾乎專用來使用系統記憶體,以儲存常駐 mipmap 325。在uma具體實施例内,一 ppu可整合入一橋 接器晶片或處理器晶片,或提供當成具有將該ppu以高速連 結(例如PCI-E)之分離式晶片連接至例如透過一橋接器晶片的 系統記憶體。 如上所提及,一平行處理子系統内可包含任何數量的 PPU。例如:在一單一外接卡上可提供多個ppu,或多張外接 卡可連接至通訊路徑313,或一或多個PPU應整合到一橋接器 晶片内。-多個PPU系統内的ppu可彼此一致或不同;例如: 不同的PPU可具林隨量的如、不同量的區域pp記憶體 等等。在存在多個PPU之處,其可_操作以比—單一 ^ 還要高的產量來處理資料。 併^^多個PPU的系統可在許多配置與形式因素之下 實施货上型、膝上型或手持式個人電腦、舰器、工作 站、遊戲主機、嵌入式系統等等。 核心概觀 料it據ί發明—衫態制於細圖巾平行處理 ===== 1377520 L · =^=StmetiGn’ Multiple_data)齡發出技術域 緒冋時執行,而不用提供多個獨立的指令單元。 里钒仃 個具體實施例内,每-核心顿都包含户個(例如8 ^于處理器引擎5〇2的陣列,這些引擎配置成U '
二=令單元512的SIMD指令。每—處理引擎502都H $單元可具有管線,允許在前-個指令完成之 7,如業界内所熟知。在此可提供功能單元的任何组八。在二 ,該等功能單元支援許多操作,包^數 如加法麟法)、味、布林運算(and、 )、位7G位移以及許多代數函數的計算(例如平面内 二 =來祕料);並料彻相_功能‘
每-處理引擎502都使用區域暫存器槽(LRp,“L 504内的空間來儲存其區域輸入資料中間結果 輯ϋ個λ體,例内’區域暫存器槽案5〇4實體上或邏 母—都具有一些記錄(其中每一記錄可儲存 丨70文子。將―道指派給每-處則擎5G2,並且不 應靖娜有#料,讓不隨行緒執行相同程式Ϊ 。在某些具體實施例内,每一處理引擎2 Τ記錄。區域暫存器檔案504内的記錄 ""數,夕到同時支援母一處理引擎502多個執行緒。 取避:一ίΓ引擎5G2也具有對一晶片上共享記憶體506的存 ίϊΙοΓ/隨意增大,並且在某些具體實施例内二ίίΐ 广。。辟安J!可彳火具有相對低時間延遲(例如相較於存取區域暫 共體506内任何位置讀取或寫入。在某 、 /、旱的5己憶體506實施成為一共享暫存器檔 18 ί享==施例内’共享的記憶體506可實施成為使用 曰Η 的記憶體506以外’某些具體實施例也提供額外 Γαμ二紐取5G8,其可實細如當成一傳統 以及/二ί:二數記憶體/快取508可用來例如保留狀態參數 〆夕重執行緒可能需要的其他資料( 。 5414 ΓΛΓίΓ其可包含例如ρρ記憶體撕以及/或系統記 ==用=面414透過主機介面,存取 域記二t ’ t^pu 4021外的任何記憶體都可用來當成全 情^如弟五圖内所示’全域記憶體520包含沖記 糸統記憶體304和系統磁碟314。如上面所述,儲 内的紋理資料,像是常駐—叩325和 的並= 考駐紋理貧料,並且儲存在全域記憶體520内 s二1玉貧料’像是非常駐mipmap335,則考慮成為非常 駐紋理資料。隨著非常駐纹理資料從系'統磁4 g到 體姻,紋理資料變成常駐』以 i B = 的-驅動程式可絲奴哪個 2駐並^個mipmap為轉駐。在本發_其他具體實施 魅。考根據^乂一部分紋素位址來決定mipmaP為常駐或非常 4145〇2_可透過互連(未明確顯示)麵合至記憶體介面 每可讓任何處理引擎5。2存取全域記憶體520。 ㈣個具?實施例内,每一處理引擎5。2都經過多重執行 i同時執礙數量G(例如24)的執行緒,例 504 1377520 * » 發出相同齡(INS^置已知的處理循環而言,已經 此,在一單-時脈獨f所有P處則擎跡如 支援最多G個執行緒多執行緒處理,同時 行最多W個執行緒。4^實的核心彻可同時執 最多同時支援584個執行緒 並且G-24,則核心408 細丨擎
行。如此處所使用,-「咖執==」=執行緒來執 =行緒,在此情況下當已經處理該 將Γ二職寺命。SI廳執行緒^^包Ϊ =在任何時間上都可在核心顿内執行最
在每-時脈週期上,將一個指令發出給所有 選擇G個SIMD騎料欧—。料料目前啟 =緒’則可在指令内包含相關執行緒的「㈣遮罩」動 ,^02使麟啟誠罩當成—上下文細碼,例如決定當執 才"時’應該使用執行區域暫存器稽案5〇4内指派的通道= 哪個部分:如此,在已知週期内,核心姐内所有處^ 502都正常執行相同SIMD執行緒群組内不同執行緒的 令。(在某些實例内,一 SIMD執行緒群組内的某些執 ; 暫時閒置,例如由於傳統或預測指令、程式内分支之上的分歧 等等) 20 1377520 透過核心介面503可有利控制核心408的操作。在某些具 體例内,核心介面503接收要處理的資料(例如原始資;「 向量資料以及/或像素資料),以及來自工作分配單元4⑴定 如何處理資料(例如要執行哪個程式)的狀態參數和命令。執疒 緒或SIMD執行緒群組可由其他執行緒啟動,或由像是三 柵波开>掃描器的固定功能單元所啟動。核心介面5〇3 理的資料載入共享記憶體506,並將參數載入參數記憔 508。核心介面5〇3也在指令單元512内將每一 二赤 巧Π行緒群組初始化’然後訊號指令單元512開始執行; ϋΛ已經完成執行緒或SIMD執行緒群組的執行,核心 知私介面5G3。然魅砂面⑽將其他處理初始化, 來自共享記憶體506的資料以及/或準備核心顿用 ;1外執行緒或SIMD執行緒群組的執行。 r瞭解,此處所示的核心架構為說明之用,並且可進 實i例内數量的處理引擎。在某些具體 定。己執行緒的分配可固定或依照需求設 可包含任何數量的核心,其 PPU 402 行行為與哪個核心4〇8接收 、:计,如此執 都可獨立於其他核心彻之^且擁;Γ核心408 享記憶體等等。 〈外並且擁有自己的處理弓丨擎、共 Μ# θ執行緒陣列與協同執行緒陣列 運用纖軸心彻可 ‘T獨二執:緒陣列内每-執== 執行期間存取該執行緒:^執^丁緒1D」),這可在執行緒 仃、有该執仃緒ID控制執行緒處理行為的 21 1377520 < 許多態樣,例如··一執行緒ID可用來決 iS:f,以及/或決定-執行緒要產生或寫入』 陣列在it體執行緒陣列為「協同」執行緒
輸出貢料集的多重執行緒所組成之群組。在一 Cf生 據,緒ID,利用彼此共享資料來合作=·’ C
^二/、體只%例内’同步指令可從要共享資料 2程式碼’確定在消耗執行緒試圖存取資料^, 讀已經確實生產出該資料。若任何在__ "念產, =,物容係由該CTA程式所決定;如此, 的特疋應用當中,根據該CTA程式 在cta 或不可以彼此共^ λ cta的執仃緒係可以 中政二-cta内的執行緒在使用第五圖 :子體506的相同CTA内,彼此共享輸入資 果。例如·’ — CTA程式可包含計算記二 内要寫入特定資料的位址之指令,而予/ j體506 Ϊ庫行緒使用自己的執行緒1D計算該函並St r預測任何執行== 定資a可包含轉丨要讀取共享記'随内特 c位址之指令,而該位址為執行緒ID的函 】 義合適的函數並提供同步技術,f料可由 執行緒以可預測方式從該位置中讀取。因此^可 ^^^^^要模式’並且—錢雜何執行^都 了/、相冋CTA内任何其他執行緒共享資料。 22 成為 種執行緒陣列)可運用來執行計算,讓其本身 含射利-「資料平行分解J包 來解決-計算問題,·例1一;固二^目同4算法產生輸出資料 -輪出ϋ'ιτ套至—輸人資料集的不同部分,以便產生 含矩陣h'任=2。曰可考驗資料平行分解的問題範例包 速傅立葉轉換)生以及/或分線性轉換(例如快 上的迴ίϊί ΛΛ寅鼻法,包含在任何尺寸數量
且&輸入貧料集每一部分的處理演算法,並 相同cta r 緒ΐ在該輸人·集的—個部分上執行 施、賓笪▲ = °一 ΤΑ程式可使用各種算術與邏輯運算來實 料的陰影成形程式可運用預測或條件指令,配 路徑。例如··根據—計算過的deltaLOD值來^定一 或條件碼’導致該陰影成形程式執行一使用外推法來產生
紋素值之指令。針對預測或條件碼,該陰影成形程式 執仃傳統内推法來產生一已過濾紋素值之指令。 在一個具體實施例内,在第三圖的CPU 3〇2上執行之驅 =式用於將該CTA定義至-推送緩衝器(未明確顯示)的命 々寫入至記憶體内(例如系統記憶體3〇4),如此一 ppu 4〇2可 讀取命^。這些命令與狀態參數相關聯,像是該CTA内執行 ’’者的數里、要使用该CTA處理的輸入資料集在全域記憶體520 内之位置、哪個mipmap針對紋理常駐、要執行的CTA程式 在全域記憶體520内之位置以及輸出資料要寫入全域記憶& 520内之位置。該狀態參數可和命令一起寫入該推送緩衝器。 為了回應這些命令,核心介面503將該等狀態參數載入^心 408 (例如载入參數記憶體5〇8),然後開始啟動執行緒直到已 23
r,/ /J/U 定的執行緒數量。在一個具體實施 的曰ΐ指派執行緒ω給已經啟動的執行緒。 行相π栽ϊ = 内所有執行緒在相同核心—内執 ,政執仃、,者ID都僅指派給一個執行緒 3但不受限於數字識別碼)都 :識 具體實施例内,若-CTA句人宜執仃緒ID在一個 緒ID的順序汽單從。M s '某二數置(叫)的執行緒,則執行 施例内在—_)。在其他具體實 #: 度索引法則。吾人應該瞭解,當利用袁昭 將不會影響該CTA的執行結果。如此 其所執行的狀硬體之外。 CTA私可獨立於 ^ 圖形管路架構 圖兀組合益646、光柵波形掃描器65 的功能i可由核心崎行或可由主機介面早70 665 並且=Ϊί= 表面、原始碼等等的向量資料, f且將加貝枓輸出至向I處理單元644。向量處 為-可程式編輯執行單元,討配£紐行向量陰 等向=陰影成形程式的規㈣換向量資料:例^ 曰可程式編輯從一物件式座標表示方式(物件 :間=該向置貧料轉換成一替代式座標系統,像是世 ^.^1^#(NDC, «Normalized Device Co〇rdina;e: J 間。向量處理單元644可透過記憶體 ^ 404内儲存的資料,來用於處理該向量資料。 ⑽體 24 ^/7520 *' 接收來自向量處理單元644的處理 =理==形,,像是點、線、三角形等等,來讓幾 行單元,其可喊缝行幾何陰f彡成雜 定=接收自圖元組合器646的圖形圖元。例如: 元分成—或多個新 同分#她外继Λ /干4式係數,這用於將新圖形 幾何處理單元⑽將參數以及
出至光栅波形掃描器655。幾何處理單元64 =讀取仲記憶體404内儲存的資料,來用於處理 光柵波形掃描器655可轉換該等新 與涵蓋龍至>{斷歧單元_。M 出片斷 式編輯執,柯 Π如=?規定轉換接收自先栅波形掃二5 :片 =是透娜正、_映射、紋理外推 執 雙線性、三線性、非等方向性等等。 例如 雜ϋΪ理單A _可透過記憶體介面4H讀取PP記帅 4〇4内儲存的資料,來用於處理片斷資料。 f體 儲存的#料產生讀取要求,“何壓嗜ΐ 科解堡縮。光栅操作單元66s為一 =縮貝 行近與遠=面切除與光栅操作,像是鏤空二ζ測性$ 且將像素資料當成處理過的圖形資料輸出來儲存 “ ’ 裝置31〇Ϊ。 柯儲存在圖形記憶體内,來顯示在顯示 25 卜 紋理單元 一第六B圖為根據本發明一或多態樣的第六A圖中紋理單 元6^ ^方塊圖。紋理單元610包含一 L〇D單元615、紋理 取樣器單元620、一個位址產生單元625以及一個濾鏡單元 630。紋理單元610接收用於處理的片斷資料,包含一紋理映 像識,碼和紋理映像座標,即是s、t等等。L〇D單元615可 ,理该紋理映像座標’運用精通此技術人士所熟知的技術來決 疋該理想LOD (第二A圖和第二C圖的步驟200)。 ,,用程式指定每一紋理濾鏡的濾鏡類型當成該紋理影 φ 像狀悲資料結構的成員。該等紋理濾鏡包含這些現代常用的濾 鏡(放大與縮小)以及兩個紋理濾鏡:外推放大與外推縮小。該 等濾鏡類型包含現代常用類型(最近之鄰居、線性、具有最近 mip過濾的mipmap最近之鄰居、具有線性mip過濾的mipmap 最近之鄰居、具有最近mip過滤的mipmap線性、具有線性 mip過濾的mipmap線性以及透明黑)。該透明黑濾鏡類型並不 會過濾,只是簡單回傳r=G=B=A=0,這在一預測值或條件碼 導致一陰影成形程式採取改變措施時非常有用。在〇penGL圖 形應用程式編輯介面(API,“Application PiOgmmming Interfaee,,;) 内,這些濾鏡類型稱為:GL_NEAREST、GL_UNEAR、 _ gl_nearest_mipmap_nearest 、 gl_nearest_mipmap_linear 、 gl_linear_mipmap_nearest 、 GL_LINE AR_MIPMAP_LINE AR。其他可讓外推放大與外推縮 小濾鏡4曰疋用來改善影像品質新濾鏡類型為:mipmap外推最 近之鄰居與mipmap外推線性。 裝置驅動程式322將決定L0D是否對應至一常駐或非常 駐mipmap所需的資訊提供給l〇D單元615。此資訊為儲存在 該紋理影像資料結構内並提供給L0D單元615的外推臨界 LOD。在本發明的較佳具體實施例内,該外推臨界l〇d為儲 26 1377520 < · 存在該紋理影像資料結構内的實數,代表該細節等級(包含分 數位兀)’在此之下為選擇的外推放大或外推縮小過濾。去新 mipmap等級攸非$駐mipmap轉換成常駐爪中⑺叩時該外推 臨界LOD允許驅動程式322順利的從外推過濾轉移成内推過 濾’而非突然轉變成一新常駐mipmap解析度。在本發明的替 代具體實施_,料獅界L〇D為整紐,代表儲存在該 紋理影像資料結構内的最低L〇D常駐mipmap等級。 / LOD單元615利用該理想L〇D與該外推臨界l〇d比較, 執行步驟210 (第二a圖、第二B圖和第二c圖當中)來選擇 紋理樣本單元620要使用哪個紋理濾鏡,例如放大、縮小、外 推放大或外推縮小,來取樣並過濾該紋理影像。[〇1)單元615 將紋理濾鏡、選取的紋理濾鏡類型、理想LOD、紋理映像座 標以及現代常見的其他取樣參數傳遞給紋理樣本單元62〇。此 外’ LOD單元615輸出該紋理濾鏡類型和紋理映像識別碼至 位址產生單元625。 若LOD單元615選擇指定給外推縮小或外推放大紋理濾 鏡的紋理濾鏡類型,則LOD單元615透過主機介面406 (第^ 圖中)通知裝置驅動程式322 (第三圖中),告知該應用程式已經 要求過濾來自一非常駐mipmap等級的紋素,並且指定該要求 的mipmap等級。裝置驅動程式322開始非常駐mipmap轉換 成常駐mipmap,如第七圖内之說明。 若選取的紋理濾鏡為外推放大或外推縮小,則紋理樣本單 元620利用計算deltaLOD與外推臨界LOD間之差異,來計算 該idealLOD (第二A圖和第二C圖的步驟235)。然後,紋理 樣本單元620計算該外推權重當成deltaLOD的一函數。 在本發明的一個具體實施例内,紋理樣本單元620包含一 個權重表627 ’内含儲存的(L0D,權重)配對,以便降低L0D (由正到負)。若deltaLOD小於權重表627内的最低L0D值, 則選擇來自表内記錄具有最低L0D的權重值當成該外推權 27 1377520 f。若deltaLOD大於權重表627内的最大L〇D值,則選 又内圮錄具有最高的權重值當成該外推權重。若 #於權重表627内記錄的L〇D值,則選擇該記錄的 ,重值‘成該外推權重。在本發明的某些具體實施例内,若 m〇D介於權重表627的兩記錄之間,則透過運用兩個最 ^ A值的線性内推來計算該外推權重。在本發明的其他具體 二施例内,若deltaLOD介於權重表627内兩相鄰記錄的l〇d 間’則運用-Catmull-R0m立方螺旋或精通此技術人士所 热知的任何其他内推螺旋來計算該外推權重。 在本發明的某些具體實施例内,權重表627的内容不變。 的其他具體實施例内,裝置驅動程式322根據應用程 ^所‘疋的外推遽鏡來載入權重表62?。在本發明的其他且體 =例内’裝置驅動程式322將權重表627 (或外推放大和外 ΪΪ:'、的錄權絲)載人敝理取樣資料結構中。該紋理取 構可儲存在PPU 402内的暫存器内,或者該级理取樣 一貝料二構可儲存在PP記憶體4〇4内並且在ppu 4〇2内快取。 若該理想LOD對應至一常駐mipmap等級,殃後 ,元_選擇該細(並且若有需要,選擇粗)mip==樣 二士士選取的mipmap等級上使用選取的紋理濾鏡類型取樣像 ,佔有面積。該LOD權重對應至該理想L〇D的分數部分,若 该理想LO精應至一非常駐mipmap $級,然後紋理樣本單 觸料_界值(通常為最低LQD棘响聊等級 一取咼解析度常駐mipmap等級),來產生該外推臨界值的整數 部分。該整數部分為該細mipmap等級L〇D (L〇Dfine)並且嗲 =$maP *級+1 (通常為第二低的L〇D常駐响卿等級;; 及-入向解析度常駐mipmap等級)為該粗mipmap等級l〇d (LODcoarse)。 當該濾鏡類型為mipmap外推最近之鄰居,紋理樣本單元 620取樣紋理空間内的像素佔用面積,將mip等級L0Dfme和 28 1377520 LODcoarse (對應於 lowestResidentMipmap 和 lowestResidentMipmap+1)上的最近之鄰居樣本輸出至位址產 生單元625。當該遽鏡類型為mipmap外推線性,紋理樣本單 元620取樣紋理空間内的像素佔用面積,將mip等級LODfine 和 LODcoarse (對應於 l〇westResidentMipmap 和 lowestResidentMipmap+1)上的樣本輸出至位址產生單元625。 當該濾鏡類型為mipmap外推線性或mipmap外推最近之鄰 居,則紋理樣本單元620使用1 +外推權重當成取樣LODfine mip等級的LOD權重,並且使用—外推權重當成取樣 LODcoarse mip 權重的 LOD 權重。 選取的濾鏡類型、LOD權重、非等向性權重、細mipmap LOD 等級(LODfme)、粗 mipmap LOD 等級(LODcoarse)和樣本 (對應至該紋理映像座標與選取的濾鏡類型)都由紋理樣本單 元620輸出至位址產生單元625。位址產生單元625根據選取 的濾鏡類型,運用精通此技術人士所瞭解的技術,來產生用於 每一紋素的uv權重(雙線性或最近之鄰居)。若該樣本的遽鏡 類型為mipmap外推線性’則位址產生單元625計算用於^一 樣本内紋素的雙線性(u,v)權重。若該樣本的濾鏡類型為 mipmap外推最近’則位址產生單元625計算用於每一樣本内 紋素的最近之鄰居權重。位址產生單元625使用該等樣本、紋 理映像識別碼、LODfme以及LODcoarse來決定從該常駐 mipmap中讀取紋素的位址。當使用虛擬記憶體定址,利用記 憶體介面414可執行額外位址轉換’來決定讀取該紋素所兩 實體位址。 ’、而 在本發明的一個具體實施例内,用於調整從mipmap讀取 的紋素比例之每一紋素權重為該紋素mip等級的權重、 佔用面積的非等向濾鏡權重(anisoweight)以及uv權重的組 合。位址產生單元625利用將該U)D權重乘與該anis〇Weight 乘與該紋素uv權重來計算一紋素權重,並將結果傳至紋理、廣 29 1377520 ' * /Α. οα __
單元630 存器。當 在運用遽鏡權重將總合-致的本發明具體實施例内 =6^將比例調整過的紋素值累加至—紋理顏色累加G 益。虽取後像素的最後財已經加權並且累加,紋理單元 T將該_顏色累加n暫存!!咖容_至㈣處 决在運㈣鏡權重未讓總合—致的本發明具體實施例内, ^兄單元63G將_調整過的紋素值累加至―紋理顏色累加 ,暫存斋,並且將紋素權重累加至一紋理權重累加暫存器。告 • 敢後紋素已經加權並且累加,紋理單元630將該紋理顏&累二 =暫存器的内容除以該權重累加器暫存器的内容,並將結果 濾紋理值回傳至片斷處理單元66〇。 紋理單元610可配置成以可由該像素陰影成形程式存取 - Λ選擇條件執行路徑的方式,來回傳每一像素的狀態資訊。在 本發明的一個具體實施例内,紋理單元61〇可根據像素來傳 達,像素紋理化動作是否需要紋理單元61〇運用外推過濾,並 且結果值設定可用來決定該像素陰影成形程式内後續分支行 為的預測或條件碼。該陰影成形程式可用從相同紋理中讀取的 額外紋理,有條件處置非常駐mipmap的紋素,來執行立方體 攀過渡’或發出從其他紋理中讀取的紋理來增加合成細節 行其他操作。 第七圖為根據本發明一或多個態樣用於將一非常駐 mipmap等級轉換成一常駐mipmap等級的方法步驟流程圖。 在步驟700内,裝置驅動程式322接收將一非常駐mipmap轉 換成一常駐mipmap的要求。在步驟710内,裝置驅動程式322 開始該非常駐mipmap複製到紋理單元61 〇可存取的常駐記憶 體,像是PP記憶體404。在步驟720内,裝置驅動程式322 決定轉換是否完成’例如,是否已經複製該mipmap,若否, 則重複步驟720。在本發明的某些具體實施例内,一資源管理 30 器可指示何時變更最高解析度常駐mipmap等級,以確認該非 常駐mipmap的複製已經完成。 一旦已經複製該mipmap,在步驟730内,裝置驅動程式 322更新外推臨界LOD。在本發明的某些具體實施例内,該外 推臨界更新成等於最低常駐mipmap等級之值。在本發明的其 他具體實施例内’該外推臨界LOD減少超過許多訊框讓從外 推過濾至内推過濾的轉移順利的,而非突然轉變成一新常駐 mipmap解析度,讓非常駐mipmap等級轉換成一常駐mipmap 等級。例如:3.0的外推臨界LOD可連續減少(U,直到等於 最低常駐mipmap等級的2.0之值。在步驟740内,裝置驅動 程式322決定是否已經達到該外推臨界l〇d的最終值,若否, 則重複步騾730。否則’在步驟750内,完成從該非常駐mipmap 等級轉換至一常駐mipmap等級。 §已啟用外推過濾、並且需要過滤的紋素來自於非常駐 mipmap等級,則使用外推過濾產生的紋素提供改善的影像, 清晰度隨著理想mip等級與常駐mip等級之間的差異呈正比。 相較於使用低解析度 mipmap # 資料取代該高解析产 mlpmap等級紋理資料,這表達出更適合的細節等級。^ ,子J統312配置成平行外推來自常駐响卿的細節,處J 夕個執行緒來產生外推的紋理值,同時從非當.駐钟格擁,〜,
m-ROM光碟片、快閃記憶體、 CD_R〇M光碟機可讀取的 R〇M晶或任何—種固態非 1377520 * » 揮發性半導體記憶體);以及(ii)内部資訊可更改的可寫入式儲 存媒體(例如磁碟機内的磁碟片、硬碟機或任何一種固態隨機 存取半導體記憶體)。 〜 上文已插述本發明。不過精通此技術的人士將會瞭解,在 不悖離申請專利範圍内公佈之本發明廣泛精神以及範疇下,可 進行許多修改與變更。因此前述說明與圖式僅供參考而不做限 制。 【圖式簡單說明】 • 如此上面簡單彙總可詳細了解本發明上述特色的方式,本 發明的更特定說明則參照具體實施例,某些具體實施例說明於 附圖内。不過吾人應該注意,附圖只說明本發明的典型具體實 施例,因此並不對發明範疇產生限制,本發明承認其他等效具 ' 體實施例。 ^ 第一圖說明根據本發明一或多個態樣用於改變細節等級 (LOD)的紋理mipmap之概念圖; 第二A圖說明根據本發明一或多個態樣用於產生一非常 駐mipmap等級的外推紋理值之方法步驟流程圖; φ 第二B圖說明根據本發明一或多個態樣用於決定mipmap 疋否對應至理想LOD的第二A圖中方法步驟210之流程圖; 乂第二C圖說明根據本發明一或多個態樣用於決定是否應 該從一常駐mipmap等級外推一紋理值之方法步驟流程圖; 第三圖為說明配置來實施本發明一或多態樣的電腦系統 之方塊圖; 第四圖為根據本發明一或多態樣用於第三圖中電腦系統 的一平行處理子系統之方塊圖; ,五圖為根據本發明一或多態樣用於第四圖中該平行處 理子系統的一平行處理單元之方塊圖; 32 ^377520 人第六A圖為根據本發明一或多態樣的圖形處理管路之概 念圖; β第六Β圖為根據本發明一或多態樣的第六a圖中該紋理 單元之方塊圖;以及 βΛ、·· 第七圖為根據本發明一或多個態樣用於將一非常駐 mipmap等級轉換成一常駐mipmap等級的方法步驟流程圖。
【主要元件符號說明】 100 非常駐Mipmap 320 110 LODO Mipmap 321 120 LODI Mipmap 322 130 LOD2 Mipmap 325 140 常駐Mipmap 335 150 LOD3 Mipmap 402 160 LOD4 Mipmap 404 190 LODN Mipmap 406 300 電腦系統 408 302 中央處理單元 410 304 系統記憶體 412 305 記憶體橋接器 414 306 通訊路徑 425 307 I/O橋接器 502 308 使用者輸入裝置 503 310 顯示裝置 504 312 平行處理子系統 506 313 通訊路徑 508 314 系統磁碟 512 316 交換器 520 318 網路配接卡 600 外接卡 外接卡 裝置驅動程式 常駐Mipmap 非常駐Mipmap 平行處理單元 區域平行處理記憶 主機介面 、 核心 體 工作分配單元 前端單元 記憶體介面 常駐Mipmap 處理引擎 核心介面 區域暫存器檔案 共享記憶體 參數記憶體 指令單元 全域記憶體 圖形處理管路 33 1377520 610 紋理單元 644 向量處理單元 615 LOD單元 646 圖元組合器 620 紋理樣本單元 648 幾何處理單元 625 位址產生單元 655 光栅波形掃描器 627 權重表 660 片斷處理單元 630 濾鏡單元 665 光柵操作單元 642 資料組合器
34

Claims (1)

1. 1377520 « · 申請專利範圍: 映像mi_p等級轉換成該紋理 映像的一常駐rmpmap等級之方法,該方法包含: 該非常駐响卿輪轉換成常等 級並用一影像來顯示的要求; 開始一複製動作將該非常駐mipmap等級從一 記憶體儲存裝置複製到一常駐記憶體儲存裝置;以及
當完成該非常駐mipmap等級的複製時,將用於產生 該影像的已過濾紋素值的一外推臨界細 level of detail)值更新。 寸观 v , 2. 如申5月專利範圍第1項之方法,進一步包含將一代表具有 deltaLCX)權重配對的一外推濾鏡之權重表載入之步驟了其 中該權重表内每-記錄包含—外推權重以及對應^ deltaLOD 值。 3.如申請專利範圍第2項之方法’其中該權重表係代表用於 一外推縮小紋理濾鏡的該外推濾鏡,並且進一步包含將一 代表用於一外推縮小紋理濾鏡的外推濾鏡的額外權重表 入之步驟。 4.如申凊專利範圍第1項之方法,該方法進一步包含:
計算對應至該紋理映像的一理想mipmap之一理相 L0D ; 心、 計算一 deltaLOD當成該理想L0D與該外推臨界L〇D 間之一差異;以及 根據該deltaLOD決定一外推權重。 5. 如申請專利範圍第4項之方法,進一步包含使用該外推權 重、來自一細節等級等於該外推臨界L〇D整數部分的 mipmap之紋素值以及來自一低解析度常駐mipmap等級的 紋素值’來計算該影像的該已過濾紋素值之步驟。 6. 如申請專利範圍第1項之方法,其中該更新步驟包含連續 35 1377520 降低該外推臨界lod值,直到達到等於或大於該非常駐 mipmap等級的LOD之一最終值,以便從使用外推過濾順 利的轉移成使用内推過濾,來產生該已過濾紋素值。 7. 一種内含指令來控制一電腦系統將一紋理映像的一非常駐 mipmap等級轉換成該紋理映像的一常駐mipmap等級之電 腦可讀取媒體,該媒體包含: 接收一將該非常駐mipimp等級轉換成常駐mipmap等 級並將其以一影像來顯示的要求; 開始一複製動作將該非常駐mipmap等級從一非常駐 s己憶If儲存裝置複製到一常駐記憶體儲存裝置;以及 當完成該非常駐mipmap等級的複製時,將用於產生 5亥影像的該已過渡紋素值的一外推臨界細節等級(“l〇d,,, level of detail)值更新。 ’ 8. 如申請專利範圍第7項之電腦可讀取媒體,進一步包含將 一代表具有deltaLOD權重配對的一外推濾鏡之權重表載入 之步驟,其中該權重表内每一記錄包含一外推權重以及對 應的deltaLOD值。 9. 如申請專利範圍第8項之電腦可讀取媒體,其中該權重表 係代表用於一外推縮小紋理濾鏡的該外推濾鏡,並且進一 步包含將一代表用於一外推縮小紋理濾鏡的外推濾鏡的額 外權重表載入之步驟。 10. 如申請專利範圍第7項之電腦可讀取媒體,進一步包含: °十算對應至s亥紋理映像的一理想mipj^ 之一理相 L0D ; 心、 計算一 deltaLOD當成該理想L0D與該外推臨界l〇d 間之一差異; 根據該deltaLOD決定一外推權重;以及 使用該外推權重、來自一細節等級等於該外推臨界 L0D整數部分的mipmap之紋素值以及來自—低解析度常 36 1377520 * * 駐mipmap等級的紋素值,來計算該影像的該已過渡紋素 值0
37
TW097121013A 2007-06-07 2008-06-06 Extrapolation of nonresident mipmap data using resident mipmap data and computer-readable medium containing related instructions TWI377520B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/759,598 US7948500B2 (en) 2007-06-07 2007-06-07 Extrapolation of nonresident mipmap data using resident mipmap data

Publications (2)

Publication Number Publication Date
TW200905608A TW200905608A (en) 2009-02-01
TWI377520B true TWI377520B (en) 2012-11-21

Family

ID=40092691

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097121013A TWI377520B (en) 2007-06-07 2008-06-06 Extrapolation of nonresident mipmap data using resident mipmap data and computer-readable medium containing related instructions

Country Status (6)

Country Link
US (1) US7948500B2 (zh)
JP (1) JP4799588B2 (zh)
KR (1) KR100965637B1 (zh)
CN (1) CN101344961B (zh)
DE (1) DE102008026431B4 (zh)
TW (1) TWI377520B (zh)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7944453B1 (en) * 2007-06-07 2011-05-17 Nvidia Corporation Extrapolation texture filtering for nonresident mipmaps
WO2009113034A1 (en) * 2008-03-12 2009-09-17 Nxp B.V. Look-ahead task management
US8217957B1 (en) * 2008-05-01 2012-07-10 Rockwell Collins, Inc. System and method for digital image storage and representation
KR20100046797A (ko) * 2008-10-28 2010-05-07 삼성전자주식회사 텍스쳐 팩터를 이용한 3차원 그래픽 데이터 처리 장치 및 그 방법
KR101508388B1 (ko) * 2008-12-15 2015-04-06 엘지전자 주식회사 밉맵 생성 장치 및 방법
US9013498B1 (en) * 2008-12-19 2015-04-21 Nvidia Corporation Determining a working set of texture maps
GB2469526B (en) * 2009-04-17 2015-06-24 Advanced Risc Mach Ltd Generating and resolving pixel values within a graphics processing pipeline
US8681169B2 (en) * 2009-12-31 2014-03-25 Nvidia Corporation Sparse texture systems and methods
US8823724B2 (en) * 2009-12-31 2014-09-02 Nvidia Corporation Sparse texture systems and methods
US8860743B2 (en) * 2009-12-31 2014-10-14 Nvidia Corporation Sparse texture systems and methods
US8610737B2 (en) * 2010-05-27 2013-12-17 National Taiwan University Graphic processing unit (GPU) with configurable filtering module and operation method thereof
US9727385B2 (en) * 2011-07-18 2017-08-08 Apple Inc. Graphical processing unit (GPU) implementing a plurality of virtual GPUs
US20130063462A1 (en) * 2011-09-08 2013-03-14 Microsoft Corporation Tile-based image processing using mipmaps
KR101926570B1 (ko) 2011-09-14 2018-12-10 삼성전자주식회사 포스트 프레그먼트 쉐이더를 사용하는 그래픽 처리 방법 및 장치
US8274524B1 (en) * 2011-09-28 2012-09-25 Google Inc. Map rendering using interpolation of style parameters across zoom levels
WO2013081556A1 (en) * 2011-12-01 2013-06-06 National University Of Singapore Polymorphic heterogeneous multi-core architecture
US8654124B2 (en) 2012-01-25 2014-02-18 Google Inc. Texture fading for smooth level of detail transitions in a graphics application
CN102799456B (zh) * 2012-07-24 2015-11-25 上海晨思电子科技有限公司 一种游戏引擎加载资源文件的方法、装置和计算机
US9111393B2 (en) * 2012-11-26 2015-08-18 Nvidia Corporation System, method, and computer program product for sampling a hierarchical depth map
US9659401B2 (en) 2012-11-30 2017-05-23 Arm Limited Methods of and apparatus for using textures in graphics processing systems
US9349210B2 (en) * 2012-11-30 2016-05-24 Arm Limited Methods of and apparatus for using textures in graphics processing systems
US9734598B2 (en) * 2013-01-15 2017-08-15 Microsoft Technology Licensing, Llc Engine for streaming virtual textures
US9165396B2 (en) * 2013-02-26 2015-10-20 Nvidia Corporation Graphics processing unit with a texture return buffer and a texture queue
US9607356B2 (en) 2013-05-02 2017-03-28 Arm Limited Graphics processing systems
US9070200B2 (en) 2013-05-02 2015-06-30 Arm Limited Graphics processing systems
US9767595B2 (en) 2013-05-02 2017-09-19 Arm Limited Graphics processing systems
US9741089B2 (en) 2013-05-02 2017-08-22 Arm Limited Graphics processing systems
US9626789B2 (en) * 2013-05-07 2017-04-18 Advanced Micro Devices, Inc. Implicit texture map parameterization for GPU rendering
US9542724B1 (en) * 2013-07-09 2017-01-10 Google Inc. Systems and methods for stroke rendering on digital maps
CN104331527B (zh) * 2013-07-22 2018-10-02 腾讯科技(深圳)有限公司 图片生成方法及装置
US9514563B2 (en) 2013-08-30 2016-12-06 Arm Limited Graphics processing systems
US20150279055A1 (en) * 2014-03-28 2015-10-01 Nikos Kaburlasos Mipmap compression
US9652882B2 (en) * 2014-04-05 2017-05-16 Sony Interactive Entertainment America Llc Gradient adjustment for texture mapping for multiple render targets with resolution that varies by screen location
US9495767B2 (en) 2014-05-15 2016-11-15 Google Inc. Indexed uniform styles for stroke rendering
US9934606B2 (en) * 2014-09-16 2018-04-03 Intel Corporation Deferred coarse pixel shading
KR20160032597A (ko) * 2014-09-16 2016-03-24 삼성전자주식회사 텍스쳐를 처리하는 방법 및 장치
KR102313020B1 (ko) 2014-11-27 2021-10-15 삼성전자주식회사 그래픽스 프로세싱 유닛과 이를 포함하는 장치
CN105574808B (zh) * 2015-12-11 2018-10-26 中国航空工业集团公司西安航空计算技术研究所 一种流水线纹理贴图单元系统
CN105957133B (zh) * 2016-05-10 2018-06-05 网易(杭州)网络有限公司 一种加载贴图的方法和装置
WO2017215899A2 (en) 2016-05-27 2017-12-21 Holobuilder Inc, Augmented and virtual reality
KR20180048081A (ko) * 2016-11-02 2018-05-10 삼성전자주식회사 텍스쳐 처리 방법 및 장치
GB2557657B (en) * 2016-12-14 2020-08-12 Samsung Electronics Co Ltd Mipmap rendering
WO2018111014A1 (en) 2016-12-14 2018-06-21 Samsung Electronics Co., Ltd. Method and apparatus for rendering object using mipmap including plurality of textures
CN106875483A (zh) * 2017-01-26 2017-06-20 北京航空航天大学 一种直升机地震救援仿真场景模块化构建方法和系统
US9990909B1 (en) 2017-07-12 2018-06-05 Rtom Corporation Cymbal
KR102489266B1 (ko) * 2018-08-13 2023-01-17 엘지전자 주식회사 모바일 디바이스 및 그 제어 방법
CN111311720B (zh) * 2018-12-12 2023-05-23 网易(杭州)网络有限公司 一种纹理图像的处理方法和装置
US11164293B2 (en) * 2019-01-30 2021-11-02 National Cheng Kung University Adaptive enhancement method for image contrast based on level of detail
US10540802B1 (en) * 2019-01-31 2020-01-21 Advanced Micro Devices, Inc. Residency map descriptors
GB2583154B (en) * 2019-10-17 2021-04-28 Imagination Tech Ltd Texture filtering
CN111179403A (zh) * 2020-01-21 2020-05-19 南京芯瞳半导体技术有限公司 并行生成纹理映射Mipmap图像的方法、装置及计算机存储介质
US11915337B2 (en) * 2020-03-13 2024-02-27 Advanced Micro Devices, Inc. Single pass downsampler
US20210304488A1 (en) * 2020-03-25 2021-09-30 Advanced Micro Devices, Inc. Sampling for partially resident textures
US12008732B2 (en) * 2020-04-02 2024-06-11 Sony Group Corporation Super-resolution of block-compressed texture for texture mapping applications
US11158110B1 (en) 2021-01-06 2021-10-26 Arm Limited Graphics texture mapping
CN113450444B (zh) * 2021-07-09 2023-03-24 网易(杭州)网络有限公司 生成光照贴图的方法、装置、存储介质及电子设备
GB2610371B (en) * 2021-07-22 2024-09-11 Imagination Tech Ltd Texture filtering

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5438654A (en) * 1993-07-09 1995-08-01 Silicon Graphics, Inc. System and method for sharpening texture imagery in computer generated interactive graphics
CA2229027A1 (en) 1995-08-04 1997-02-20 Microsoft Corporation Method and system for rendering graphical objects to image chunks and combining image layers into a display image
US5943242A (en) * 1995-11-17 1999-08-24 Pact Gmbh Dynamically reconfigurable data processing system
US7266725B2 (en) * 2001-09-03 2007-09-04 Pact Xpp Technologies Ag Method for debugging reconfigurable architectures
DE19651075A1 (de) * 1996-12-09 1998-06-10 Pact Inf Tech Gmbh Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen
DE19654595A1 (de) * 1996-12-20 1998-07-02 Pact Inf Tech Gmbh I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen
DE19654593A1 (de) * 1996-12-20 1998-07-02 Pact Inf Tech Gmbh Umkonfigurierungs-Verfahren für programmierbare Bausteine zur Laufzeit
US6338106B1 (en) * 1996-12-20 2002-01-08 Pact Gmbh I/O and memory bus system for DFPS and units with two or multi-dimensional programmable cell architectures
DE19704728A1 (de) * 1997-02-08 1998-08-13 Pact Inf Tech Gmbh Verfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines
US6542998B1 (en) * 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
DE19704742A1 (de) * 1997-02-11 1998-09-24 Pact Inf Tech Gmbh Internes Bussystem für DFPs, sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen, zur Bewältigung großer Datenmengen mit hohem Vernetzungsaufwand
DE19861088A1 (de) * 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Verfahren zur Reparatur von integrierten Schaltkreisen
DE19807872A1 (de) * 1998-02-25 1999-08-26 Pact Inf Tech Gmbh Verfahren zur Verwaltung von Konfigurationsdaten in Datenflußprozessoren sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstruktur (FPGAs, DPGAs, o. dgl.
US6373496B1 (en) * 1998-08-12 2002-04-16 S3 Graphics Co., Ltd. Apparatus and method for texture mapping
US6229553B1 (en) * 1998-08-20 2001-05-08 Apple Computer, Inc. Deferred shading graphics pipeline processor
US6452603B1 (en) * 1998-12-23 2002-09-17 Nvidia Us Investment Company Circuit and method for trilinear filtering using texels from only one level of detail
US7061500B1 (en) * 1999-06-09 2006-06-13 3Dlabs Inc., Ltd. Direct-mapped texture caching with concise tags
US6744438B1 (en) * 1999-06-09 2004-06-01 3Dlabs Inc., Ltd. Texture caching with background preloading
JP2001005950A (ja) 1999-06-21 2001-01-12 Fuji Photo Film Co Ltd 画像サーバ装置および画像転送方法
JP2001022948A (ja) * 1999-07-08 2001-01-26 Sega Corp 画像処理装置および画像処理方法、並びに記録媒体
EP1342158B1 (de) * 2000-06-13 2010-08-04 Richter, Thomas Pipeline ct-protokolle und -kommunikation
US7210129B2 (en) * 2001-08-16 2007-04-24 Pact Xpp Technologies Ag Method for translating programs for reconfigurable architectures
US7444531B2 (en) * 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
RU2216781C2 (ru) * 2001-06-29 2003-11-20 Самсунг Электроникс Ко., Лтд Основанные на изображениях способ представления и визуализации трехмерного объекта и способ представления и визуализации анимированного объекта
US20030030646A1 (en) * 2001-08-10 2003-02-13 Yeh Kwo-Woei Trilinear texture filtering method with proper texel selection
US7434191B2 (en) * 2001-09-03 2008-10-07 Pact Xpp Technologies Ag Router
JP2005513655A (ja) * 2001-12-20 2005-05-12 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 表示用画像を表現するコンピュータグラフィックシステムおよび方法
WO2003088203A1 (en) 2002-04-11 2003-10-23 Genoa Color Technologies Ltd. Color display devices and methods with enhanced attributes
JP4024072B2 (ja) 2002-04-18 2007-12-19 株式会社タイトー ミップマップデータの高速読出方式
JP2004078296A (ja) 2002-08-09 2004-03-11 Victor Co Of Japan Ltd 画像生成装置
AU2003289844A1 (en) * 2002-09-06 2004-05-13 Pact Xpp Technologies Ag Reconfigurable sequencer structure
EP1494175A1 (en) * 2003-07-01 2005-01-05 Koninklijke Philips Electronics N.V. Selection of a mipmap level
JP4170283B2 (ja) 2004-11-01 2008-10-22 株式会社ソニー・コンピュータエンタテインメント 描画処理装置および描画処理方法
JP2006244426A (ja) 2005-03-07 2006-09-14 Sony Computer Entertainment Inc テクスチャ処理装置、描画処理装置、およびテクスチャ処理方法
KR100601880B1 (ko) 2005-04-27 2006-07-18 에스케이 텔레콤주식회사 Gpu를 이용하여 실시간 3차원 그래픽 이미지를점진적으로 전송하는 방법
US7372468B1 (en) * 2005-10-11 2008-05-13 Nvidia Corporation Anisotropic texture filtering with a modified number of texture samples
CN100468461C (zh) * 2005-11-10 2009-03-11 北京航空航天大学 逼真三维地形几何模型的实时绘制方法
US7561156B2 (en) * 2006-02-08 2009-07-14 INOVO Limited Adaptive quadtree-based scalable surface rendering
US7528551B2 (en) * 2007-02-26 2009-05-05 Semiconductor Components Industries, L.L.C. LED control system

Also Published As

Publication number Publication date
JP2008305408A (ja) 2008-12-18
TW200905608A (en) 2009-02-01
KR20080108051A (ko) 2008-12-11
DE102008026431A1 (de) 2009-01-08
CN101344961A (zh) 2009-01-14
CN101344961B (zh) 2011-06-15
DE102008026431B4 (de) 2014-06-12
US20080303841A1 (en) 2008-12-11
KR100965637B1 (ko) 2010-06-23
US7948500B2 (en) 2011-05-24
JP4799588B2 (ja) 2011-10-26

Similar Documents

Publication Publication Date Title
TWI377520B (en) Extrapolation of nonresident mipmap data using resident mipmap data and computer-readable medium containing related instructions
TWI616846B (zh) 利用以空間及/或時間方式改變取樣圖案之增強型消鋸齒的一種圖形子系統、電腦實施方法及電腦裝置
TWI533255B (zh) 快取具有表面壓縮的統一l2快取內之自調適大小快取拼貼
US9697641B2 (en) Alpha-to-coverage using virtual samples
CN109978751A (zh) 多gpu帧渲染
US6002407A (en) Cache memory and method for use in generating computer graphics texture
CA2826416C (en) Rasterizer packet generator for use in graphics processor
US8605086B2 (en) Hybrid multisample/supersample antialiasing
JP4550878B2 (ja) グラフィックス処理装置
US8120607B1 (en) Boundary transition region stitching for tessellation
US20110243469A1 (en) Selecting and representing multiple compression methods
TW201019262A (en) Single pass tessellation
TWI425440B (zh) 複合多重樣本/超樣本抗頻疊
JP2008123519A (ja) グラフィックス処理装置、グラフィックスライブラリモジュール、およびグラフィックス処理方法
TW201432609A (zh) 已分配的拼貼快取
JPH11505644A (ja) 画像生成及び操作用装置
WO2013101150A1 (en) A sort-based tiled deferred shading architecture for decoupled sampling
TW201439975A (zh) 在光柵操作中處理後置z覆蓋率資料
JP4900051B2 (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US20220036632A1 (en) Post-processing in a memory-system efficient manner
US7484076B1 (en) Executing an SIMD instruction requiring P operations on an execution unit that performs Q operations at a time (Q<P)
CN110036375A (zh) 无序高速缓存返回
US8169437B1 (en) Distributed tessellation topology generator
US8605085B1 (en) System and method for perspective corrected tessellation using parameter space warping
US7944453B1 (en) Extrapolation texture filtering for nonresident mipmaps