[go: up one dir, main page]

TWI378355B - Method, integrated circuit, wireless device, computer program product, and processor for varying packing and linking in graphics systems - Google Patents

Method, integrated circuit, wireless device, computer program product, and processor for varying packing and linking in graphics systems Download PDF

Info

Publication number
TWI378355B
TWI378355B TW097128649A TW97128649A TWI378355B TW I378355 B TWI378355 B TW I378355B TW 097128649 A TW097128649 A TW 097128649A TW 97128649 A TW97128649 A TW 97128649A TW I378355 B TWI378355 B TW I378355B
Authority
TW
Taiwan
Prior art keywords
shader
vertex
input
variables
output
Prior art date
Application number
TW097128649A
Other languages
English (en)
Other versions
TW200910110A (en
Inventor
Guofang Jiao
Alexei V Bourd
Chun Yu
Lingjun Chen
Yun Du
Original Assignee
Qualcomm 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=39940557&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=TWI378355(B) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of TW200910110A publication Critical patent/TW200910110A/zh
Application granted granted Critical
Publication of TWI378355B publication Critical patent/TWI378355B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)
  • Devices For Executing Special Programs (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Complex Calculations (AREA)

Description

^i78355 九、發明說明: 【發明所屬之技術領域】 本揭示案大體上係關於圖形處理領域,且更特定言之係 關於用於在圖形系統中參數宣告變動(varying)包裝及連結 的技術。 【先前技術】 公共圖形標準OpenGL或OpenGL ES具有可使用頂點及片 段著色器在每頂點及每像素操作期間進行改變的固定函 式。已開發出頂點及片段著色器以呈現預設〇penGL函式 尚未達成之待殊效果。 現參看圖1,其展示具有著色器之圖形處理單元(Gpu)中 之習知管線層級的一般流程圖。存在三個主要管線層級: 表示於區塊S 10處之頂點著色器、表示於區塊S12處之基元 組合器(primitive assembler)及光柵處理器以及表示於區塊 S14處之片段著色器。提供另一區塊S16以進行每樣本操 作。 頂點著色器(VS)SIO係針對幾何物件之每一頂點而執行 的程式或電腦程式產品。VS S10之輸入稱作屬性,其表示 於區塊A2處。VS S10亦接受頂點統一 VU2作為輸入,其可 包括若干頂點統一〇至95(亦即,96個頂點統一)。來自 sio及隨後基元組合器及光柵處理器S12之輸出通常稱 數宣告變動(表示於區塊V3處),且通常位於頂點快取記憶 體(儲存VS輸出)或其他儲存媒體(儲存光柵處理器輸出 中。參數宣告變動V3可能係與幾何物件之三角形之像素相 133465.doc 1378355 關聯的值i像素相關聯之值為基於與幾何物件之三角形 之頂點相關聯之vs結果來計算的基元組合器及光栅處理器 S12之結果。與頂點相關聯之vs結果及與像素相關聯之參 數宣告變動V3具有相同名稱或1〇、類型及排序。與像素相 關聯之參數宣告變動…為至片段著色器(Fs)si4之輸入。 FS Sl4亦接受片段統一 FU3作為輸心其大體包括若干(例 如,16個)片段統一。
圖2展示具有著色器之習知管線層級的一般方塊圖。對 於位於圖形處理單元(GPU)内部之vs s】〇,大體存在八 個W屬性暫存器RA2以儲存屬性0至7。A體存在八個輸 出參數宣告變動暫存器抓八以儲存參數i告變動〇至7。 參數宣告變動暫存器RV3A儲存vs輸出,其通常為頂點快
取圯憶體。大體存在八個輸出參數宣告變動暫存器Rv3B 以儲存參數宣告變動〇至7。參數宣告變動暫存器尺乂⑶儲 存對應於與像素相關聯<參數宣告變動@光柵處理器結 果屬性暫存11 RA2及參數宣告變動暫存器RV3A分別為 藉由屬性0至7來編以索引之輸入暫存器及藉由參數宣告 變動0至7來編以索引之輸出#數宣告變動暫存器RV3。 ,等暫存器ID係、由-編譯器指派,該編譯器將頂點著色 器及片段著色器程式自高階語言編譯為機器層級語言 (^machine level language)。藉由名稱而非索引來命名 :階語言中在著色器程式中使用的暫存器。僅可自應用 程式開發者處相暫存^稱。應用程式藉由暫存器名 稱來存取暫存器。僅可由Gpu硬體(Hw)中之Μ 或Μ 133465.doc 1378355 S14看到暫存器IDe因&,將由編譯器建立符號表,諸如 vs輸入符號表、輸出符號表及FS輸入符號表。然而,就 内容、ID及名稱而言’观人或輸人符號表與輸出或輸 出符號表並無關係。 就内容及名稱而言,VS輸出或輸出符號表應匹配FS Sl4 之輸入或輸入符號表,但FS S14之輸入或輸入符號表可能 為VSS10之輸出或輸出符號表之一子集。 VS S10亦接受儲存在儲存媒體中之頂點統一 VU2以及表 示為T2之紋理及表示為TV2之臨時變數作為輸入。基元組 合器及光柵處理器S12接收藉由參數宣告變動〇至7來編以 索引之輸出參數宣告變動暫存器RV3 A中的參數宣告變動 及參數gl—Position P。基元組合器及光柵處理器S12輸出藉 由參數旦告變動〇至7來編以索引之輸出參數宣告變動暫存 器RV;3B中的參數旦告變動及參數p。μ s 14接 受儲存在儲存媒體中之片段統—FU3以及表示為丁3之紋理 及表不為TV3之臨時變數作為輸入e]ps S14接收藉由參數 宣告變動0至7來編以索引之輸出參數宣告變動暫存器 RV3B中的參數宣告變動及表示為P之參數gl_P〇siti〇n。FS S 14亦接收表示為ff之額外參數gi-Frontfacing及表示為pp 之gl—PointPosition。FS S14輸出 gl—FragC〇1〇r FC。屬性及 參數宣告變動亦稱作著色器變數。 【發明内容】 本文中描述用於圖形管線中之參數宣告變動包裝及連結 的技術。著色器變數之包裝在行動GPU中係有益的以便更 133465.doc 1378355 有效地使用儲存器或記憶體。著色器變數之包裝亦可減小 訊務頻寬、節省功率且改進效能。 在,’且態中,一種裝置包含一具有複數個共用河維(MD) 暫存器的健存媒體。該裝置亦包括處理單it以實施-組 操作從而在每一共用MD暫存器中包裝一或多個著色器變 數,該一或多個著色器變數之分量總和等於Μ。 在另,·且態中,一種積體電路包含一具有複數個共用Μ 維(MD)暫存器的儲存媒體。該積體電路亦包括—處理單元 以實施一組操作從而在每一共用MD暫存器中包裝一或多 個著色器變數,該一或多個著色器變數之分量總和等於 Μ。 另-組態包括一種電腦程式產品。該電腦程式產品包括 一電腦可讀媒體,丨具有用於使-電腦將分量總和等於Μ 之一組著色器變數中之—或多個著色器變數包裝在複數個 共用助向量暫存器中的每一共用Μ維(MD)向量暫存器内 的指令。 . ° 再一組態包括-種處理器,其包含-具有複數個共用Μ 維(MD)暫存器的儲存媒體。該處理器亦包括—積體電路以 實施組細作從而在每一共用MD暫存器中包裝一或多個 者色器變數’肖-或多個著色器變數之分量總和等於Μ。 [實&方式]更輕易地顯見額外態樣,在結合附 慮時尤其如此。 【實施方式】 當結合圖式考慮時,將自以下提出之·描述更顯見本 133465.doc 1378355 揭示案之態樣及組態,在圖式中,相同參考符號貫穿圖式 識別相應者。 本文中使用詞語"例示性"以意謂"充當實例、例子或說 月 不必將本文中描述為"例示性"之任何組態或設計理 解為較之其他組態或設計較佳或有利。 本文中描述之技術可用於無線通信、計算、個人電子 等。下文中描述用於無線通信之技術的例示性使用。 圖3展示用於在無線通信系統中使用之無線裝置1 〇之組 態的方塊圖。無線裝置1〇可為蜂巢式或攝影電話、終端 機、手持裝置、個人數位助理(PDA)或某一其他裝置。無 線通信系統可為分碼多重存取(CDMA)系統、全球行動通 b系統(GSM)或某一其他系統。 無線裝置10能夠經由接收路徑及傳輸路徑而提供雙向通 信。在接收路徑上,基地台傳輸之信號由天線丨2接收並提 供至接收器(RCVR)14。接收器14調節並數位化所接收之 “號且將樣本提供至數位區段20以供進一步處理。在傳輸 路徑上,傳輸器(TMTR)16接收待由數位區段2〇傳輸之資 料、處理並調節該資料且產生一經調變之信號,該信號經 由天線12傳輸至基地台。 數位區段20包括各種處理、介面及記憶體單元,諸如數 據機處理器22、視訊處理器24、控制器/處理器26、顯示 處理器28、ARM/DSP :32、圖形處理單元(Gpu)34、内部記 憶體36及外部匯流排介面(ΕΒί)38。數據機處理器22執行 處理以用於資料傳輸及接收(例如’編碼、調變、解調變 133465.doc ,Λ 靜態影像、移
形處理單元34執行圖形管線之圖形處理。 及解碼)。視訊處理器24對視訊内容(例如, 動視訊及移動文字)執行處理以用於諸如揭 放及視訊會議之視訊應用。控制器/虚 可使用本文中描述之技術以用於數位區段2〇中之處理器 。内部記憶體36儲存 中的任一者’例如,圖形處理單元34 用於數位區段20内之各個單元的資料及/或指令。EBI “有 助於沿匯流排或資料線DL在數位區段2〇(例如,内部記憶 體36)與主記憶體40之間轉移資料。 可藉由一或多個DSP、微處理器、RISC等來建構數位區 段20。數位區段20亦可製造於一或多個特殊應用積體電路 (ASIC)或某一其他類型之積體電路(Ic)上。 可在各種硬體單元中實施本文中描述之技術。舉例而 言,該等技術可實施於ASIC、DSP、RISC、ARM、數位 信號處理裝置(DSPD)、可程式化邏輯裝置(pld)、場可程 式化閘陣列(FPGA)、處理器、控制器、微控制器、微處理 器及其他電子單元中。 GPU 34 亦可符合諸如 〇penGL2.〇、OpenGL ES2.0 或 D3D9.0之公共圖形標準。 圖4展示用於頂點著色器及包裝操作之圖形處理單元 (GPU)34的一般方塊圖。GPU 34包括一向VS輸入暫存器槽 133465.doc 1378355
=出複數個屬性的流解碼器50β此等屬性由頂 接受…60之輸出包括儲存在以輸 案57中的參數宣告變動。如可瞭解,"暫存器"楷案為諸! 用於儲存資訊之儲存媒體的硬體組件。在此例子中, 輸入暫存器㈣"料待發送謂6G之輸人㈣4簡化 起見’在大多數例子中,當提及VS輸人暫存器檔案56時, 係才日VS 60及/或用於儲;^ "輸入檀案"之硬體的"輸人斤。 同,地’為簡化起見,在大多數例子中,當提及”::暫 存器檀案57時’係指Vs 6〇及/或用於儲存"輸出檔案”之硬 體的”輸出槽案、如稍後將更詳細描述的,由編譯器Μ(圖 6)智慧地包裝此等參數宣告變動以用於第一層級參數宣告 變動包裝。連續地以亊列形式或以鏈式順序將以輸出暫存 益擋案57中之參數宣告變動發送至包裝緩衝器“,其將該 等參數宣告變動包裝成第二層級參數宣告變動包裝。當填
充包裝緩衝器58時,接著將經包裝之參數宣告變動儲存在 頂點快取記憶體5 4中。 如將在以下描述中所見,VS輸出暫存器檔案57及乂8輸 入暫存器檔案56各包括複數個共用暫存器。包裝 緩衝器58及52中之每一者包括至少一共用M維(MD)暫存 器。 在圖4之組態中’流解碼器5〇產生兩個流:一略過 (bypassed)流及一非略過(n〇n_bypassecj)流。非略過流被發 送至VS輸入暫存器檔案56且較佳亦以表i所示之方式包 裝°在包裝緩衝器52中包裝略過屬性。稍後將關於圖8A、 133465.doc 12 1J/8355 圖 8B、圖 9A、_、圓 1〇A、圖、圖 ua、圖 uB 12A及圖12B詳細描述略過屬性。 圖5展示具有片段著色器及連結操作之圖形處理單元 (㈣)的-般方塊圖。將經包裝之參數宣告變動儲存在頂 點快取記憶體54中。基元組合器及光柵處理器90接受頂點 快取記憶體54中之參數宣告變動作為輸入。基元組合器及 光柵處理器90將經包裝之參數宣告變動輸出至參數言告變 動緩衝器㈣。連結單元88具有由參數宣告變動重新映射 及載入模組8 4使用的-組連結指令8 2。6中之連結器⑽ 產生-連結表86,其由驅動器61载入用於圖5中之連 令82的儲存器中。以下提出 f θ r钗aj之表4及表6中展示連結表86之 一實例’其將VS輸出符號表(表2)中之經包裝之參數宣告 變動連結至FS輸人符號表(表3)。FS輸人符號表可具有少 於VS輸出符號表之符號。在由連結單元⑼執行連結過程之 後,將來自參數宣告變動重新映射及载入模組84之參數宣 告變動發送至FS輸入暫存器檔案79以供片段著色器(fs)7〇 使用。 圖6展示驅動器之一般方塊圖。驅動器。包括一編譯器 62及連結㈣。編譯器62產生—㈣人符號表Μ及一 Μ 輸出符號表66。下文於表卜展示一例示性…輸入符號 表。下文於表2中展示一例*性^輸出符號表。由於編譯 ㈣可獨立編譯頂點著色器6〇與片段著色器7〇,故編譯器 62可在VS輸出符號表66中自同一符號指派不同於fs輸入 符號表74中之10輯。因此,存在一連結㈣以使驅動器 133465.doc -13· I378355 61藉由在VS輸出符號表66與以輸入符號表74中查找相同 •符號而在㈣出符號表Μ中之暫存器_FS輸入符號表 74中之暫存㈣之間進行映射。連結請與咖34通信 以:對同一參數宣告變動符號向片段著色器70之輸入暫 存器檔案79中的相應輸入暫存器載入一參數宣告變動(對 , 應於頂點快取記憶體54或參數宣告變動緩衝器92中之位 置)。 • 驅動器61為具有一組指令之軟體驅動器。編譯器62及連 結請為在⑽32或控制器/處理器26上執行之軟體驅動 器。的部分’而GPU 34為受驅動器61指示之特殊聯合處理 器。 表1所示之VS輸入符號表包括以下表值:屬性名稱、類 型' 最初指派之屬性輸人暫存器ID、原始遮罩、新指派之 屬性輸入暫存器職新遮軍。表2所示之vs輸出符號表包 括以下表值:參數宣告變動名稱、類型、最初指派之灸數 • 冑告變動輸出暫存器ID、原始遮罩、新指浪之參數宣主變 動輸出暫存器⑴及新遮罩。表中之遮罩表示屬性向量或參 數宣告變動向量之有效分量,其對應於在GPU 34之硬體 (,中分配的預設MD(M=4)向量暫存器儲存。僅為說明 起見而將最初指派之ID與遮罩及新指派之m與遮罩一起置 於下表+。實際上,最初指派之1〇與遮罩可能為臨時結 果,且將藉由在操作期間使用同—儲存位置而變為 之ID與遮罩。 日派 編譯器62產生一 FS輸入符號表74及一 FS輸出%,其表示 133465.doc -14 · 1378355 為gl_FragColor FC(圖2)。表3所示之FS輸入符號表74包括 以下表值:參數宣告變動名稱、類型、最初指派之參數宣 告變動輸入暫存器ID、原始遮罩、新指派之參數宣告變動 輸入暫存器ID及新遮罩。 在以下表1及表2中,根據稍後描述之包裝過程而新近更 新最後兩行。 表1 : VS輸入符號表 屬性名稱 類型 最初指派之 屬性輸入 暫存器ID 原始 遮罩 新指派之 屬性輸入 暫存器ID 新遮罩 positionO 浮動向量4 0 1111 0 1111 position 1 浮動向量3 1 0111 1 0111 Weight 浮動 5 0001 2 1000 Normal 短浮勤向量3 2 0111 2 0111 TexcoordO 浮動向量2 3 0011 3 0011 Texcoordl 浮動向量2 4 0011 3 1100
表2 : VS輸出符號表 參數宣告 變動名稱 類型 最初指派之參 數宣告變動 輸出暫存器ID 原始遮罩 新指派之 參數宣告 變動輸出 暫存器ID 新遮罩 position 浮動向量4 1 1111 1 1111 colorO 浮動向量4 2 1111 2 1111 color 1 浮動向量3 3 0111 3 0111 TexcoordO 浮動向量2 0 0011 0 0011 Texcoordl 浮動向量2 5 0011 0 1100 Texcoord2 浮動向量3 4 0111 4 0111
-15- 133465.doc 1378355 表3 : ?8輸^ 、符號表 ______1 參數宣告 變動名稱 類型 最初指派之 參數宣告變動 輸入暫存器ID 原始遮罩 新指派之 參數宣杳 變動輸入 暫存器1D — 新遮罩 _____ colorO 浮動向量4 0 1111 2 1ΙΠ ---- color 1 浮動向量3 1 0111 0 0111 ----- texcoordO 浮動向量2 3 〇〇11 1 0011 ------- texcoordl 浮動向量2 2 0011 1 —1100 一
參數宣告變動可能為浮動、二維(2D)向量、三維。 量、四維(4D)向量、陣列及2D/3D/4D矩陣等。〇penGL)向 著色語言規範要求在行動GPU 34中支援至少32個參數= 變動分量。每—參數宣告變動具有不同大小且通常佔:: 自有的暫存器/緩衝器空間。在頂點快取記憶體54中,“ 存器通常為41)向*。此外’對應於vs輸入暫存器暫 之暫存态及對應於vs輸出暫存器檔案57之暫存器通二6 4D向量。參數宣告變動包裝在每一頂點或像素之連續2 中將不同參數宣告變動緊緊置於—起。舉 +工日 u叩5 ’本文中 133465.doc
表4 : VS輸出及FS輸入之連結表 參數宣告 變動名稱 最初指派之 vs參數宣 告變動輸出 暫存器 ID 最初指派之 FS參數宣 告變動輸入 暫存器 ID 原始遮罩 新指派之 VS參數宣 告變動輸 出暫存器 ID position 1 colorO 2 2 1111 2 color 1 3 3 0111 3 ' TexcoordO 0 ~οοπ~ Texcoordl 5 1 1100 0 Texcoord2 4 4 '
新指派之 FS參數宣 告變動輸 入暫存器 ID
•16- 1378355 描述之參數宣告變動包裝將兩個2D向量置於一扣向量暫 2器中。在另-實例中,參數宣告變動包裝將置放一扣向 量及-浮動(1D)於-4D向量暫存器中。若不緊緊地包裝 其’則其可能被鬆散地儲存。 以上描述係關於參數宣告變動。然而,❺了參數宣告變 動,亦可包裝屬性。 圖7展示二層級著色器變數包裝過程1〇〇的一般流程圖。 該過程100於區塊102開始,其中發生由編譯器“指示之智 慧包裝。在區塊102,將分量總和等於河之兩個或兩個以 上著色器變數指派至一共用Μ維(MD)向量暫存器。為允許 說明,以行及列來展示vs輸出暫存器檔案57。每一列具有 表示為X、Υ、Ζ及W之四個(4)區塊。區塊1〇2之後為區塊 104,在區塊104處,在包裝緩衝器58中發生硬體參數宣告 變動包裝,其將VS輸出暫存器槽案57中之著色器變數連貫 地且以串列形式包裝在頂點快取記憶體54之ΝχΜ儲存媒體 區塊中。圖7之著色器變數為參數宣告變動。 如將自以下描述中所見’類似於關於圖丨3 Α描述之區塊 104的過程,在包裝緩衝器52中包裝略過屬性。可使用上 文中關於區塊1 02描述之過程來包裝非略過屬性。因此, 包裝過程100之諸階可用於屬性。因此,著色器變數包括 參數宣告變動或屬性。 第一層級:編譯器層級包裝 下文將關於以上表1及表2來描述受編譯器62之指示的區 塊1 02處之智慧包裝。該智慧包裝適用於著色器變數(參數 133465.doc 17 宣告變動及屬性卜表】說明屬 却 <王c裝’且表2說明袁鲁6 告變動包裝。編譯器62藉由將罝 ^旦
〃有,、之相關聯之暫存琴I =:共—)向量暫存器重新指派至分量總和等D m夫:兩個或兩個以上參數宣告變動來執行非略過 屬性或參數宣告變動包裝’且相應地更新遮罩。屬性之 MD向量暫存器對應於圖4中 „ Λ ^之”輸入暫存器檔案56的儲存 态。參數宣告變動2MD向量 J里臀存益對應於圖4^之vs輸出 暫存器檔案5 7的儲存器。在例
^ 丁性,,且態中,Μ=4 ,因此向 置表示為Χ、γ、Ζ及”。缺而 .. …、而’可使用具有更多或更少維 度之其他組態。 ”料具有Μ位元位置…’使用與特定向量暫存 器之每-重新指派及/或組合之屬性或參數宣告變動(著色 器變數)相關聯的遮罩來指定或區分將共用md向量暫存器 之哪-部分指派給(組合之)每—相異屬性或參數宣告變動 以供猶後再調用及使用。
舉例而t,藉由特定參看以上表i及 texcoord 1刀別為彳了最初指派之屬性輸人暫存器a中藉由 號3及4來表示之最初指派之不同屬性輸入暫存器。此外, ^ oordO及texcoordl之原始遮罩分別為〇〇1丨及〇〇1丨。編譯 器62判定texcoord0及texc〇〇rdl均為2〇向量其向量總和 等於4D(M 4)向量。因此,編譯器62指示將及 texcoordl包裝至由行新指派之屬性輸入暫存器①中之⑴號 3來表示的同一屬性暫存器中。在包裝期間,可向 texcoordO指派遮罩之最低有效位元位置〇〇ιι,且可向 133465.doc •18- 13783.55 texc_dl指派表丨中之新遮罩行中所表示之遮罩的最高有 效位凡位置11⑼。遮罩⑽11指定可在MD向量暫存器3之哪 中找到對應於16)^〇〇1^〇之資料。同樣,遮罩11〇〇指 疋:在MD向量暫存器3之哪一部分中找到對應於texcoordl 資料此命名法允許兩個或兩個以上屬性以非重疊之方 式共用#同暫存器。如可瞭解,遮罩令之位元數目將視 維度而改變。 藉由特疋參看VS輸出符號表66之參數宣告變動 texcoordO及texcoordl,如最佳在表2中所見,其被包裝至 具有表不於行新指派之參數宣告變動暫存器輸出①中之ι〇 號〇的同一參數宣告變動暫存器中。texc〇〇rd〇之新遮罩為 0011其與舊遮罩相同。然而,texcoordl之新遮罩為 1100,其與舊遮罩不同。因此遮罩具有Μ個位元,每一 位元表示在共ffiMD向量暫存器中的一位置。 在另一實例中,VS輸入符號表64之屬性Weight及Normal 被包裝至具有表示於表1之新指派之屬性輸入暫存器ID中 之ID號2的同一屬性暫存器中。在編譯器62指示重新指派 暫存器ID及新遮罩之後’ Gpu 34之硬體(HW)將自動地根 據表樣指令(其具有更新之遮罩)將相應著色器變數(屬性或 參數宣告變動)載入所指派之暫存器中,此完成由編譯器 62指示之第一層級包裝。 可在邏輯上將一陣列或矩陣劃分為2D/3D/4D向量或單個 浮動,接著可執行由編譯器62指示之包裝。可由一系列浮 動、2D向量、3D向量或40向量來表示一陣列。舉例而 133465.doc 19 13783*55 言,可將具有ίο個浮動之陣列劃分為兩個4D向量加上一個 2D向重,或1 〇個個別浮動。可分別將矩陣八2劃分為兩個 213向量,將矩陣劃分為三個3D向量且將矩陣4χ4劃分 為四個4D向量。因此,編譯器62可指示以下情形之包裝: 2D向量+2D向量;3D向量+浮動;2D向量+浮動[+浮動]; 及浮動+浮動[+浮動[+浮動]]。此等實例係針對4D向量暫 存器。可基於維度數目來預想其他組合。可藉由第一層級 包裝來最小化對輸入暫存器檔案及輸出暫存器檔案之使 用0 在進行編譯器62指示之包裝之後,所有著色器變數(參 數宣告變動)可能仍未配置在4D(MD)向量中,舉例而言, 可能存在一些3D向量、一些4D向量等。在例示性組態 中,執行一機制以針對第二層級參數宣告變動包裝使11贾 將 > 數2告變動緊緊包裝在參數宣告變動儲存器或頂點快 取記憶體54令。 第二層級:HW包裝 在參數亘告變動儲存器或頂點快取記憶體54中,將頂點 或像素之所有參數宣告變動儲存在ΝχΜ緩衝器區塊中。n 為參數旦告變動之數目;M=4意謂4D向量。可將儲存區塊 視為右干(ΝχΜ個)連續(連貫)分量。對於32位元/分量及 Μ 4,可藉由〇至分量進行編號。舉例而言, Ν~8 ,可將8χ4儲存媒體區塊視為藉由〇至編號之κ個連 續(連貫)分量》 在圖4中,將包裝緩衝器58表示為2 χΜ(Μ=4)槽陣列。箭 I33465.doc 1378355 向包裝緩衝器58之 -列表示為工作緩衝 頭指示包裝緩衝器58中之槽的填充方 頂部列表示為臨時緩衝器58A,而第 器58B。表5說明HW包裝結果。 喷仔咨或頂點快取 記憶體轉移時的包裝
表5-自VS輪出暫存器檔案向參數宣告變動
可藉由首先連貫地以串列形式填充臨時緩衝器“A(包裝 緩衝㈣之第一列)而在冊中完成第二層級包裝。在包裝 緩衝器58之臨時緩衝器58A填滿之後,可轉移臨時緩衝器 58A之内容以用於儲存在頂點快取記憶體54中。在此組態 中’包裝緩衝器58包括指定為臨時緩衝器58A之第一列M 個槽及指定為工作緩衝器之第二列Μ個槽。 使用表5中提出之實例,以自VS輸出暫存器檔案57處讀 取具有表示為vo.x、v〇.y及VO.z之三個分量的參數宣告變 動V0且連貫地以參數宣告變動v〇 X、v〇 z來填充臨 時緩衝器58A(上部列)之槽χ、γ、ZAW來開始Hw包裝。 如可見,臨時緩衝器58A之槽w為空的。不將參數宣告變 動VO.x、VO.y及V〇.z發送至頂點快取記憶體54,直至臨時 緩衝器58A填滿為止。 133465.doc 1378355
藉由自vs輸出暫存器檔案57處讀取具有表示為νι χ、 vi.y、νι.2及V1 w之四個分量的參數宣告變動乂丨且填充臨 時緩衝器58A中之剩餘槽來繼續HW包裝。在此情形中,以 參數旦告變動V1.x來填充臨時緩衝器58A(上部列)之槽w。 將幻餘參數宣告變動分量νι .y、νι ·ζ及vi .w連貫地填充在 第一列或工作緩衝器58B之槽χ、¥及2中。當完全填滿臨 時緩衝器58A時’可將臨時緩衝器58A之内容寫入至頂點 快取圮憶體54之(第一)列中以清空臨時緩衝器58八。 。若臨時緩衝器58A為空的,則將連貫地填充在工作緩衝 器58B之槽X、丫及2中的剩餘參數宣告變動分量π 乂、 Vl.z及Vl.w之内容轉移至臨時緩衝器58A中。再次,臨時 緩衝器58A未填滿。因此’藉由自观出暫存器槽案57處 讀取具有表示為V2.x及V2.y之兩個分量的參數宣告變動v2 且填充臨時緩衝器58A中之剩餘槽來繼續Hw包裝。在此情 形中,以參數宣告變動V2.x來填充臨時緩衝器似(上部 列)之槽w。將剩餘參數宣告變動分量V2 y填充在第二列或 工作緩衝器獅之槽又中。當完全填滿臨時緩衝器58a時, 可將臨時緩衝器58A之内容“至頂點快取記憶體处(第 二)列中以清空臨時緩衝器58A。 針對VS輸出暫存器棺案57中之參數宣告變動繼續此過 程。在該實例中,由於最後之參數宣告變動僅填充臨時緩 衝器58A之X、Y及Z槽,故藉由诚署_ ^ 稭由遮罩一 W或(111)將内容寫 入至參數宣告變動儲存器或頂點快取記憶體54中。 包裝緩衝器58之臨時緩衝 御器58八及工作緩衝器58Β係針 133465.doc -22- 生月匕。备臨時緩衝器58八被填滿且準備好寫出至參數宣 。變動儲存器或頂點快取記憶體54中時另—緩衝: 作緩衝器58B)可同時被填充。 - 入薙士从 使用璜取匯流排與寫 八“排用於四個㈤分量。若一讀取或寫入資料小於4個 或用讀取或寫入遮罩來指示哪些分量有效以進行 在完成第二層級冊包裝之後,對應於與Μ輸出符號表 、2)中之經包裝之參數宣告變動對應的表4中之新指派之 vs參數宣告變動輸出暫存請的暫存請將改變以對應 於表6中之行新指派之辦數宣告變動輸出暫存器⑴中^ 表丁的參數旦告變動儲存器或頂點快取記憶體Η。為簡化 及靈活起見,基於分量單元而非向量暫存器來指派與㈣ 快取記憶體54中之位置的輸請關係。對於此實例,假設 將ID=〇之_〇〇_及m=2之包裝至參數宣告^ 動儲存器或頂點快取記憶體54之第一列中,將ID—之 colorO包裝至第二列中且將11)=8之c〇l〇ri包裝至第:^ 中。FS 70令不使用位置&texc〇〇rd2,故fs輸入暫存器檔 案79中不針對其分配儲存/包裝。因此,表4或表6中不^ 供新指派之FS參數宣告變動輸入暫存器ID。 藉由1^%來完成第二層級HW包裝,但由驅動器61之連結 器80來更新諸如表6所示之連結表%。驅動器61能夠基^ 與圖4中相同之包裝機構及vs輸入符號表㈠及輸出符^表 66以及FS輸入符號表74等來計算每一參數宣告變動分量之 參數宣告變動儲存器或頂點快取記憶體54中的新暫存器 133465.doc •23 1378355 ID/分量ID。表4說明在不進行第二層級HW包裝時連結表 將表示之意義。表6說明在進行HW包裝之後連結表將表示 之意義。 表6-第二層級HW包裝之後的VS輸出及FS輸入之連結表 參數宣告變 動名稱 新指派之vs (參數宣告變動)輸出ID 新指派之FS (參數宣告變動)輸入ID 新遮罩 位置 colorO 4 2 1111 colorl 8 3 0111 TexcoordO 0 1 0011 Texcoordl 2 1 1100 Texcoord2
略過屬性 諸如VS 60之可程式化頂點著色器為PC遊戲裝置及行動 裝置中之現代GPU中的關鍵計算單元。VS 60在計算方面 消耗功率且通常亦為效能瓶頸。然而,一些應用可能不使 用著色器函式。另一考慮在於,VS 60之一些輸入可無需 進行任何計算而直接移動至輸出。 函式之最簡單之解決方案係將所有輸入傳遞至頂點著色 器内,其中頂點著色器執行移動指令。然而,該解決方案 將消耗大量計算功率且使頂點著色器之效能降低。效能降 低係因為:1)資料輸入/輸出之不必要之訊務頻寬;及i)在 頂點著色器中執行之不必要之移動指令。 因此,藉由來自輸入流解碼器50之輸入略過路徑來建構 及配置GPU 3 4。輸入略過路徑可直接通向頂點快取記憶體 54。驅動器61或編譯器62可指定哪些輸入可直接略過至頂 點快取記憶體54且哪些輸入應載入頂點著色器60。編譯器 133465.doc -24- 13783*55 62將針對略過輸人自著色器程式中移除所有不必要的移動 指令 圖4中在虛線框中展示之小型硬體控制邏輯川立於輸入 流解碼器50中。因& ’當將所接收之輸入指定為”略過" 時,在進行輸人格式解碼後,將沿略料徑發送輸入並將 其储存在頂點快取記憶體54中。僅所接收之未表示為"略 過"的輸入將被包裝在vs輸入暫存器檔案56中且發送至頂 點著色器60。 在例示性實施例中,在儲存於頂點快取記憶體54中之前 在包裝緩衝器52中包裝略過屬性。編譯器62將以上文中關 於包裝緩衝器58 Α描述之方式來修改遮罩及/或暫存器1〇。 將連同略過輸入將快取記憶體索引傳遞至頂點快取記憶體 54。來自頂點著色器6〇之輸出對於同一頂點將具有相同之 ID/索引,因此,頂點快取記憶體M可輕易地使略過輸入 與頂點著色器輸出同步。 圖8A及圖8B展示移除略過屬性之前及之後的頂點著色 器程式。一些頂點著色器具有位於由“及“表示之指令行 上的MOV指令。M0V指令導致自與屬性相關聯之輸入暫 存器移動至與參數宣告變動相關聯之輸出暫存器。該等屬 性可自頂點著色器60處略過。舉例而言,在圖8A中,參數 v〇、vl、V2為輸入屬性,且oPos、〇F〇g、〇丁〇及〇D〇為輸 出參數宣告變動。在此實例中,指令行匕丨及]^上之輸入屬 性vl與指令行L2及L4上之輸入屬性V2不涉及頂點著色器6〇 中之任何計算且僅移動至〇Τ0及〇DO。因此,可在執行頂 133465.doc -25· _著色60之程式(指令集)之前將屬性vl&v2直接略過至 參數宣告變動儲存器或頂點快取記憶體M,在屬性…及… 被略過之後,其將不會被發送至頂點著色器60,其係藉由 刪除圖犯中之指令行[1、1^2、1^及]14來表示的。此外, 輸出參數宣告變動0T0及〇D0未自頂點著色器60予以輸 出’其係藉由圖8B中缺少指令行L3及L4來表示的。因 此’略過函式(bypassing functi〇n)節省訊務頻寬及頂點著 色器計算功率。 對於屬性略過,如下文所述調整第二層級HW包裝。略 過之屬性僅在包裝緩衝器52中經受第二層級Hw包裝。包 裝緩衝器5 2自流解碼器5 〇處接收略過之屬性。流解碼器5 〇 負責自主(外部)記憶體4〇處提取頂點流(屬性)及自不同屬 性格式轉換為IEEE浮動格式的格式轉換。驅動器“將向流 解碼器50傳達哪些屬性將被略過且哪些屬性將被發送至頂 著色60之VS輸入暫存器樓案%。將使用以上臨時緩衝 器58A及工作緩衝器58B以與上文所述相同之方式來包裝 略過之屬性。非略過之屬性將被發送至頂點著色器6〇之^8 輸入暫存器擋案56並在其中包裝。 來自略過屬性及VS輸出暫存器擋案57兩者之參數宣告 變動將填充在整個參數宣告變動儲存器或頂點快取記憶體 54中以作為整個參數宣告變動佔據區域。為簡化起見,來 自略過屬性之參數宣告變動被包裝並儲存在參數宣告變動 儲存裔或頂點快取記憶體54之前數列中,且在包裝緩衝器 58中包裝之VS輸出隨後被儲存在參數宣告變動儲存器或頂 133465.doc -26- 點快取記憶體54中。舉例而言,再次參看圖8A,在包裝緩 U52之臨時緩衝器52A中包裝參數宣告變動輸出(略過屬 :)〇D0 (v2)且將其儲存在參數宣告變動儲存器或頂點快 5己憶體54之第一列令。參數宣告變動輸出(略過屬性) 叫υ被包裝或儲存在參數宣告變動錯存器或頂點快取 冗憶體54之第二列的兩個低有效分量中。隨後將自第二列 之兩個最高有效分量開始包裝或儲存vs輸出oPoShFog。 j此情形中’將在臨時緩衝器之2讀上包裝〇p〇sxy且接 者藉由寫入遮罩=2續其寫入至參數宣告變動儲存器或頂 點快取記憶體54之第二列中。因此,其在。T0之後於同一 列中但在不同分量位置處連貫地進行包裝。。Μ·及 •g將在工作緩衝器52B中於xyz分量槽上被包裝且藉由寫 入遮罩=xyz而寫入至參數宣告變動儲存器或頂點快取記憶 體之第二列中。將相應地更新連結表86。 料圖9A及圖9B展示移除略過屬性之前及之後的另一頂點 :色器程式。位於由箭頭L5、L6、L7、以及㈣示之指 切上的移動指令可被略過。舉例而言在由箭頭Η表示 之扣令打上,參數宣告變動輸出〇τ〇 (vi)可被略過。其他 參數宣告變動輸出。T1 (vl)、。T2 (v3)、。D〇 (v4)及。m (v5)亦可被略過。在圖卯中,移除圖9八之箭頭L5、U、 L7、L8及L9所表示的指令行β 圖1〇Α及圖10Β展示移除略過屬性之前及之後的又一頂 點著色器程式。位於由箭頭L1〇及Lu表示之指令行上的移 動指令可被略過。在圖10B中’辛多除圖1〇A中由箭頭u〇及 133465.d〇c •27- I378J55 L11表不之指令行。 圖11A及圖11B展示移除略過屬性之前及之後的又一頂 點著色器程式。位於由箭頭L12、L13、L14、L15及L16表 示之指令行上的移動指令可被略過。在圖11B中,移除圖 11八之箭頭1^2、1^13、1^14、1^15及1^16所表示的指令行。 圖12A及圖12B展示移除略過屬性之前及之後的又一頂 點著色器程式。位於由箭頭L17及L18表示之指令行上的移 動指令可被略過。在圖12B中,移除由圖12A之箭頭L17及 L18表示之指令行。圖8A、圖8B、圖9A、圖9B、圖10A、 圖10B、圖11A、圖11B、圖12A及圖UB中所示之實例僅出 於說明目的,且可將不要求計算之其他移動指令或屬性指 定為••略過屬性”。 如可易見,略過屬性處理之優勢包括:丨)減小著色器程 式碼大小及執行指令;2)減小輸入/輸出之訊務頻寬;3)減 小暫存器檔案大小以允許更多頂點覆蓋ALU(算術及邏輯 單元)潛時及紋理載入潛時;4)歸因於更少指令及更多頂點 來覆蓋潛時之更佳效能;5)歸因於更少之所執行指令及更 少訊務的功率節省;6)著色器略過/停用之通用性;7)使驅 動器61藉由將著色器程式之一部分移動至cpu或DSP以用 於CPIJ/DSP 32與GPU 34之間的負載平衡而調諧效能的選 項;及8)使驅動器61針對意外問題工作的選項。 已判定,來自真實遊戲及基準之頂點著色器(vs)中之大 多者的一些輸入直接移動至輸出。表7說明不同著色器程 式以及基於本文中描述之略過函式的所節省之輸入訊務與 133465.doc -28- 1378355 所節省之輸出訊務的比較。表7亦提供所儲存之指令之 比。 表7訊務頻寬及計算節省 著色器 所節省之輸入訊務 (DW) 所節省之輸出訊務 (DW) 所節省之指令 (純量) VSF8(3DMark06) (圖12A及圖12B) 4/17=23.5% 4/27-14.8% 4/97=4.1% VSF12(FarCry) (圖8A及圖8B) 6/10=60% 6/11=54.5% 4/28=14.3% VSF14(FarCry) (圖9A及圖9B) 13/21=61.9% 15/20=75% 15/70=21.4% VSF17(FarCry) (圖10A及圖10B) 0% 3/7=42.8% 3/19=16.8% VSF25(FarCry) (圖11A及圖11B) 9/13=69.2% 15/21=71.4% 15/61=24.6%
圖13A至圖13C展示與屬性之略過相結合的著色器變數 包裝過程200之一般流程圖。將關於圖4之方塊圖來描述著 色器變數包裝過程200。著色器變數包裝過程200以區塊 201開始,在區塊201處,由(諸如)流解碼器50來解碼輸入 屬性格式。區塊201之後為區塊202,在區塊202處,做出 來自流解碼器50之屬性是否為π略過屬性”的判定。若判定 為”是”,則區塊202之後為區塊204,在區塊204處,有效 (略過)屬性分量積聚至臨時緩衝器52Α中。區塊204之後為 區塊206,在區塊206處,做出臨時緩衝器52Α是否填滿的 判定。作為實例,可將至多Μ(Μ=4)個略過屬性分量填入 於臨時緩衝器52Α中。藉由亦填充工作緩衝器52Β來填充 臨時緩衝器52Α。 然而,若區塊206之判定為"否",則過程循環至區塊 2 11。區塊21 1為判定區塊,其評估是否已達到最後一個輸 133465.doc -29- 1378355 入屬性。稍後將描述區塊2 1丨之細節。 當臨時緩衝器52A填滿時,區塊206之後為區塊2〇8 ,在 區塊208處,將儲存或填充在臨時緩衝器52A中之略過屬性 分量發送至並儲存於頂點快取記憶體54中。如上文所述, 接著將工作緩衝器52B中之略過屬性轉移至臨時緩衝器 52 A,直至填充或重新填入。區塊2〇8之後為稍後將描述之 區塊2 11。 再次返回區塊202,若屬性為非略過屬性(意謂區塊2〇2 之判定為"否")”則根據預先界定之包裝指令,將在區塊 210將非略過屬性包裝至VS輸入暫存器檔案56令◊區塊21〇 之後為區塊2 1 1,在區塊2 11處,做出是否已達到最後一個 輸入屬性的判定。若判定為"否”,則區塊21丨循環返回至 區塊201,在區塊201處,解碼更多輸入屬性。否則,若判 定為”是",則區塊2 11之後為區塊2 1 2,在區塊2 12處,將 臨時緩衝器5 2 A中之剩餘略過屬性發送至頂點快取記憶體 54 ° £塊212之後為區塊213 ’在區塊213處,做出是否存在 任何可用之非略過屬性的判定。若判定為"否",則過程 200結束。然而,若區塊213之判定為,,是",則區塊213之 後為圖13B之區塊214。在區塊214處,接著將非略過屬性 發送至VS 60。在已將非略過屬性分量發送至vs 60之後, VS 60在區塊216處執行頂點著色操作。在vs 6〇完成之 後’在執行著色器指令期間將有效輸出參數宣告變動分量 自動包裝至VS輸出暫存器檔案57中,此在區塊218處完成 133465.doc •30- 13783*55 第一層級編譯器包裝。區塊218之包裝對應於圖7之區塊 102 ° 區塊218之後為圖nc之區塊222。如上文中關於表5所描 述,來自VS輸出暫存器稽案57之輸出參數宣告變動積聚在 臨時緩衝器58A中。臨時緩衝器58八結合工作緩衝器被 填充。區塊222之後為區塊224以判定臨時緩衝器a是否 填滿。若"否”,則過程返回至區塊222。若判定為”是,,,則 區塊224之後為區塊226,在區塊226處,將臨時緩衝器58A 之内容發送至頂點快取記憶體54。區塊226之後為區塊 228,在區塊228處,做出VS輸出暫存器檔案57中之檔案是 否已結束的判定。若判定為"否 '則過程返回至區塊 222 〇若判定為"是",則區塊228之後為區塊23〇,在區塊 230處,將臨時緩衝器58A中之剩餘參數宣告變動分量發送 至頂點快取記憶體54。 包裝之後,訊務頻寬減小。儲存器被高度利用且效能亦 得以改良。 可使用替代性包裝機制,例而言,並非使用第二層級 HW包裝來包裝VS輸出暫存器檔案”中之參數宣告變動。 實情為’在頂點快取記憶體54中照原樣複製檔案57。關於 表5將表5之左手側複製至頂點快取記憶體54。此保持相 同布局及形狀。在基元組合器及光柵處理器9()之後完成相 同包裝機制,其中將光栅處理器結果發送至參數宣告變動 緩衝器92 °基元組合11及光柵處理If 9G將跳過基於表2中 之遮罩來。十算無棼(遮罩=〇)分量從而節省計算。 I33465.doc -31 - 13783*55 連結器及連結 來自VS 60之參數宣告變動將為Fs 7〇之輸入。因此,由 編譯器62產生VS 60之參數宣告變動符號且將其記入¥3輸 出符號表661 FS 70之各別輸入限於以輸出符號表财 之如由#參數宣告變動符號或參數宣告變動名㈣界定之 各別參數宣告變動符號輸出。因此,若vs輸出符號表 66(表1)中由參數宣告變動名稱表示之參數宣告變動符號與 FS輸入符號表74(表3)中由FS參數宣告變動名稱表示之一 表值相匹配,則來自vs 60之輸出(參數宣告變動)限於fs 70之輸入。連結器80判定哪一 vs輸出限於哪一 FS輸入, 。為VS 60令之次序及包裝通常不同於Fs 7〇。連結器為 驅動器61之部分,其產生連結指令82或連結表86以用於圖 5中之參數宣告變動重新映射及載入模組84。 將類似之連結解決方案應用於頂點流解碼器5 0與vs 輸入符號表64所表示之VS輸入之間的連結。此外,應用一 連結解決方案以用於連結FS輸出符號表76所表示之FS輸出 ”每樣本操作單元之輸入。可使用連結器80以用於任何兩 個相鄰之可程式化處理層級。 圖14展不連結過程30〇之一般流程圖。連結過程300以區 1。其中連結器在區塊302處搜尋並比較來自vs 輸出符號表66與FS輸入符號表76之相同符號。在區塊3〇4 处自參教宣告變動緩衝器92中讀取與匹配符號相關聯之 ίίΐ ^ t ~ σ變勤。區塊3〇6將參數宣告變動發送至!^輸入暫 存器檔宰7Q . " 由此元成連結。表6中展示一例示性所得連 133465.doc -32- I3783*55 結表。針對FS 70所要求之每一參數宣告變動重複連結過 程 300。 歸因於編譯器62中之包裝,vs輸出符號表66不同於fs 輸入符號表76。因此,在每參數宣告變動分量基礎上界定 較佳連結指令。 如可見,二層級包裝使得可能且易於進行緊密之參數宣 告變動包裝。第一層級編譯器包裝使得輸入及輸出較少, 其減小暫存器檔案佔據區域大小。Hw包裝簡單且有效。 包裝過程進一步減小輸入/輸出之訊務頻寬。包裝過程1〇〇 或200高度利用快取儲存器且歸因於較少訊務而節省功 率 〇 圖4及圖5所示之GPU管線使用通用連結以用於任何兩個 相鄰之可程式化處理層 '級。此允許階層式連結以將諸如陣 歹J及矩陣之大型且複雜之參數宣告變動結構映射至向量及 浮動。包裝過程允許編譯器62自由地重新排序或重新分配 φ 暫存器以達到最佳化。若FS中不使用VS輸出中之一些, 則該過程允許驅動器/連結器藉由修改連結指令中之I些 來輕易地將其移除。 在一或多個例示性組態中,所描述之功能可在硬體、軟 • =物體或其任—組合中實施。若在軟體中實施,則可^ 该等功能作為一或多個指令或程式碼儲存於電腦可讀媒體 上或在電腦可讀媒體上傳輸。電腦可讀媒體包括電腦儲存 媒體及通信媒體,其包括有助於將電腦程式自—處轉移至 另處的任何媒體。儲存媒體可為可由電腦存取的任何可 133465.doc -33· 1378355 用媒體。作為實例而非限制,該等電腦可讀媒體可包含 MM、ROM、EEPR〇M、CD r〇m或其他光碟儲存器磁 碟儲存器或其他磁性儲存裝置,或可用以載運或儲存採取 才曰令或貧料結構之形式的所要程式碼且可由電腦存取之任 何其他媒體。又,任何連接均可適#地稱作電腦可讀媒 體。舉例而言,若使用同袖電境、光纖電镜、雙絞線、數 位用戶線(DSL)或諸如紅外、無線電及微波之無線技術自 網站、词服器或其他遠端源傳輸軟體,則同轴電境、光纖 電镜、雙絞線、亂或諸如紅外、無線電及微波之無線技 術包括於媒體之定義中。在用於本文中時,磁碟及光碟包 括緊密光碟(CD)、雷射光碟、光碟、數位化通用光碟 (DVD)、軟性磁碟及藍Mm磁碟通常以磁性方式 再現資料,而光碟以雷射光學地再現資^上述各項之組 合亦應包括在電腦可讀媒體之範疇中。 ,提供所揭示組態的先前描述以使得熟習此項技術者能夠 製&或使用本揭不案。熟習此項技術者將易於顯見對此等 ^態之各種修改,且可在不偏離本揭示案之精神或範略的 刖提下將本文"斤界定之一般原理應用於其他組態。因 此,本揭示案並非意欲限於本文中所示之組態,而應符合 與本文所揭示之原理及新㈣徵—致的最廣泛範嗜。 【圖式簡單說明】 圖1展示具有著色器之圖形處理單元中之習知管線層級 的一般流程圖》 圖2展示具有著色器之習知管線層級的—般方塊圖。 I33465.doc -34- 1378355 圖3展示無線裝置之方塊圖。 圖4展示用於頂點著色器及包裝操作之圖形處理單元 (GPU)的一般方塊圖。 圖5展示具有片段著色器及連培操作之圖形處理單元 (GPU)的一般方塊圖。 圖6展示驅動器之一般方塊圖。 圖7展示二層級著色器變數包裝過程之一般流程圖。 圖8Α及圖8Β展示移除略過屬性之前及之後的頂點著色 器程式。 圖9A及圖9B展示移除略過屬性之前及之後的另一頂點 著色器程式。 圖10A及圖10B展示移除略過屬性之前及之後的又一頂 點著色器程式* 圖11A及圖11B展示移除略過屬性之前及之後的又—頂 點著色器程式。 圖12A及圖12B展示移除略過屬性之前及之後的又一頂 點著色器程式。 圖13A至圖13C展示與屬性之略過相結合的著色器變數 包裝過程之一般流程圖。 圖14展示連結過程之一般流程圖。 圖式中之圖像出於說明之目的而被簡化,且並未按比例 描繪。為了便於理解,在可能的情況下均使用相同參考數 字來指示諸圖中所共用的相同元件,但在適當的時候可附 加後綴來區分該等元件。 133465.doc •35· 13783.55 所附圖式說明本發明之例示性組態,且因而, A , 句不應解釋 為限制本發明之範疇,本發明之範疇可容許其他同等有六 之組態。預期一組態之特徵或步驟可有利地併入於其他組 態中,而無需進一步陳述。 在以上各種組態中,以所描繪之次序執行流程圖區塊或 可同時、並行或以不同次序勃/ n 吁執仃此等區塊或其部分。 【主要元件符號說明】
10 無線裝置 12 天線 14 接收器 16 傳輸器 20 數位區段 22 敫據機處理器 24 視訊處理器 26 控制器/處理器 28 顯示處理器 30 顯示單元 32 ARM/DSP 34 圖形處理單元 36 内部記憶體 ' 38 外部匯流排介面 40 主記憶體 50 流解碼器 51 控制邏輯 133465.doc • 36 13783*55 52 包裝緩衝器 52A 臨時緩衝器 52B 工作緩衝器 • 54 頂點快取記憶體 56 VS輸入暫存器檔案 57 VS輸出暫存器檔案 58 包裝緩衝器 58A 臨時緩衝器 # 58B 工作緩衝器 60 頂點著色器 61 驅動器 62 編譯 64 VS輸入符號表 66 VS輸出符號表 70 片段著色器 74 FS輸入符號表 • 76 FS輸出 79 FS輸入暫存器檔案 80 連結器 - 82 連結指令 84 參數宣告變動重新映射及載入模組 86 連結表 88 連結單元 90 基元組合器及光栅處理器 133465.doc -37- I378355
92 參數宣告變動緩衝器 A2 屬性 DL 資料線 FC gl_FragColor FF 額外參數gl_Frontfacing FU3 片段統一 LI 指令行 L2 指令行 L3 指令行 L4 指令行 L5 指令行 L6 指令行 L7 指令行 L8 指令行 L9 指令行 L10 指令行 LI 1 指令行 L12 指令行 L13 指令行 L14 指令行 L15 指令行 L16 指令行 L17 指令行 L18 指令行 133465.doc -38- 1378355 P 參數 gl_Position PP glPointPosition S10 頂點著色器 S12 基元組合器及光柵處理器 S 1 4 片段著色器 S 1 6 每樣本操作 T2 紋理
T3 紋理 TV2 臨時變數 TV3 臨時變數 RA2 屬性暫存器 RV3A 輸出參數宣告變動暫存器 RV3B 輸出參數宣告變動暫存器 V3 參數宣告變動 VU2 頂點統一 W 區塊 Y 區塊 Z 區塊 133465.doc -39-

Claims (1)

1378355 ]〇(. i rVt------ 第097128649號專利申請案 中文申請專利範圍替換本(101年4月) 牟月日修正本 十、申請專利範圍: ^ —種用於在圖形系統中參數宣告變動包裝及連結之裝 置,該裝置包含: • 一第一儲存媒體,其具有複數個共用Μ維暫存器; 一處理單元,其用以實施一第一組操作以在每一共用 以維暫存器中包裝一或多個著色器變數,該一或多個著 色器變數之各分量總和等於Μ; 一頂點快取記憶體,其具有複數個Μ維快取暫存器; • 及 巴裒緩衝器,其具有 用Μ維暫存器之Μ個分量連貫地包裝在其中,且在填滿 時將該包裝緩衝器之該Μ維暫存器的各内容轉移至該頂 點快取記憶體中之一各別Μ維快取暫存器。 2. 3. 如請求項1之裝置,其中該第一組操作包裝以下中之一 者兩個2D向里著色器變數;一 3D向量著色器變數盥一 =動著色器變數;,向量著色器變數與兩個相異料 著色器變數;及四個浮動著色器變數。 如:求項1之裝置’其中該等著色器變數包含來自一頂 點著色器之一組輸出參數官土. 〜®令数旦告變動,且其中該第一組操 用二::將該組輸出參數宣告變動包裝在該複數個共 ’·子器中且將任何剩餘參數宣 存媒體中以建立A ㈣ 如-灰m 輸出檔案的若干操作。 如滑求項1之裝署,廿丄 以將,頂… 處理單元實施-第二組操作 以將該頂點快取記憶體 宁之該荨輸出參數宣告變動連結 133465-IOI0427.doc 1378355 至一片段著色器之一組輸入參數宣告變動。 5.如請求項4之裝置,其中該第二組操作包括使對應於該 頂點著色器中之該等輸出參數宣告變動的各參數宣告變 動符號名稱與該片段著色器之該組輸入參數宣告變動中 的各相應參數宣告變動符號名稱相匹配的若干操作。 6·如請求項1之裝置,其進一步包含: 一具有第二複數個共用]^維暫存器之第二儲存媒體; 其中該等著色器變數進-步包含用於輸入至該頂點著 色器之若干非略過輸入屬性及若干略過輸入屬性;且 其中該第-經操作包括用於將該等非略過輸入屬性包 裝在該第二複數個共用轉暫存器h將任何剩餘非略 過輸入屬性填入於該第二儲存媒體令以建立一頂點著色 器輸入檔案的若干操作。 7·如請求項6之裝置’其中該頂點快取記憶體進__步包含 2二複數個Μ維快取暫存器;且其中該裝置進一步包 -具有-MD暫存器之第二包裝緩衝器,用以將該等 =輸入屬性之Μ個分量連貫地包裝在其中,且在填滿 時將該第二包裝緩衝器之該Μ維暫存器的各内容轉移至 =點快取記憶體中之該第二複數飢維快取暫 的每一Μ維快取暫存器令。 ° 8·如請求項1之裝置,其進一步包含一且 用Μ維暫存||之帛:儲存 複數個共 含用Β…等著色器變數包 含用於輪人至該頂點以器之—組輸人屬性且其中該 133465-I010427.doc 1378355 組操作包括以下操作:將該組輸入屬性包裝在該 ^個共用M維暫存Μ直至在包裝情況下未包裝之剩餘 】入屬性的各分量將超過河為止,且將該等剩餘輸入屬 性填入於該第二儲存媒體中以建立—頂點著色器輸入播 案0 9.如請求们之裝置,其中該處理單元為一蜂巢式電話、 一無線裝置、-無線通信裝置一視訊遊戲控制台、一
個人數位助理(PDA)、一膝上型電腦及一具備音訊/視訊 月b力型裝置中之一者的一部分。 10· 一種用於在圖形线中參數宣告變動包裝及連結之積體 電路’該積體電路包含: 一第一儲存媒體,其具有複數個共用M維暫存器; 一處理單m α實施一第—組㈣以在每—共用 Μ維暫存器中包裝一或多個著色器變數該一或多個著 色器變數之各分量總和等於Μ;
一頂點快取記憶體,其具有複數個河維快取暫存器; 及 W * 一包裝緩衝器,其具有一Μ維暫存器以將該複數個共 用Μ維暫存器之Μ個分量連貫地包裝在其中,且在填滿 時將該包裝緩衝器之該Μ維暫存器的各内容轉移至該頂 點快取記憶體中之一各別Μ維快取暫存器。 11.如請求項10之積體電路,其中該第一組操作包裝以下中 之一者:兩個2D向量著色器變數;一 31)向量著色器變數 與一浮動著色器變數丨一 2D向量著色器變數與兩個相異 133465-1010427.doc 1378355 浮動著色器變數;及四個浮動著色器變數。 12.如請求項ίο之積體電路,其中該等著色器變數包含來自 一頂點著色器之一組輸出參數宣告變動;且其中該第一 組操作包括將該組輸出參數宣告變動包裝在該複數個共 用Μ維暫存器中且將任何剩餘參數宣告變動填人於該儲 存媒體中以建立一頂點著色器輸出檔案的若干操作。 Π.如請求項10之積體電路,其中該處理單元實施一第二組 操作以將該頂點快取記憶體中之該等輸出參數宣告變動 連結至一片段著色器之一組輸入參數宣告變動。 ⑷如請求項13之積體f路’其中該第二组操作包括使對應 於該頂點著色Μ之該等輸出參數宣告變動的若干參數 宣告變動符號名稱與該片段著色器之該組輸人參數宣告 變動中的各相應參數宣告變動符號名稱相匹配的若干操 作。 ’、 I5·如請求項10之積體電路,其進一步包含: -具有第二複數個共㈣維暫存器之第二儲存媒體; 其中該等著色器變數進-步包含用於輸入至該頂點著 色器之若干非略過輸入屬性及若干略過輸入屬性;且 其中該第-組操作包括將該等非略過輸入屬性包裳在 該第二複數個共賴維暫存器中且將任何剩餘非略過輪 入屬性填人於該第二儲存媒體中以建立—頂點著色器輸 入檔案的若干操作。 ] 16·如請求項15之積體電路,其中該頂點快取記憶體進—步 包含第二複數個Μ維快取暫存器;且其中該積體電路進 133465-1010427.doc -4 - 1378355 一步包含·’ -具有-Μ維暫存器之第二包裝緩衝器以將該等略過 輸入屬性之Μ個分量連貫地包裝在其令,且在填滿時將 該第二包裝鍰衝器之該Μ維暫存器的各内容轉移至該頂 點快取記憶體中之該第二複數個Μ維快取暫存器中的每 一Μ維快取暫存器申。 17.如請求項10之積體電路,其進一步包含· 一具有第二複數個共用馗維暫存器之第二儲存媒體; 其中該等著色器變數包含用於輸入至該頂點著色器之 一組輸入屬性;且 其中該组操作包括以下操作:將該組輸入屬性包裝在 該第二複數個共用Μ維暫存器中直至在包裝情況下未包 裝之剩餘輸入屬性的各分量將超過Μ為止,且將該等剩 餘輸入屬性填入於該第二儲存媒體中以建立一頂點著色 器輸入槽案。 18. 如請求項10之積體電路,其中該處理單元為一蜂巢式電 話、一無線裝置、一無線通信裝置、一視訊遊戲控制 台、一個人數位助理(PDA)、一膝上型電腦及一具備音 訊/視訊能力型裝置中之一者的一部分。 19. 一種無線裝置,其包含: 第儲存構件’其具有複數個共用Μ維暫存器,其用 於儲存—虹著色器變數; 包裝構件,其用於在每一共用Μ維暫存器中包裝該纽 著色器變敫中之一或多個著色器變數,該一或多個著色 133465-1010427.doc 器變數之各分量總和等於Μ; 快取構件,其包含複數個Μ維快取暫存器;及 緩衝器構件’其包含一Μ維暫存器以將該複數個共用 Μ維暫存器之Μ個分量連貫地包裝在其中,且在填滿時 將該包襄缓衝器之該Μ維暫存器的各内容轉移至該頂點 快取記憶體中之一各別Μ維快取暫存器。 20.如請求項19之無線裝置,其中該包裝構件包含用於包裝 以下中之至少一者的構件:兩個2D向量著色器變數;— 向量著色器變數與一浮動著色器變數;一 2D向量著色 器變數與兩個相異浮動著色器變數;及四個浮動著色器 變數。 21. 22. 23. 如請求項19之無線裝置,其中該組著色器變數包含來自 一頂點著色器之一組輸出參數宣告變動;且其中該包枣 構件包含用於將該組輸出參數宣告變動包裝在該複數個 共用Μ維暫存器中的參數宣告變動包裝構件及用於將任 何剩餘參數宣告變動填入於該儲存構件中以建立一頂點 著色器輸出檔案的填入構件》 如請求項19之無線裝置,其中該組著色器變數包含至一 頂點著色器之一組輸入屬性;且其令豸包裝構件包含用 於將該組輸入屬性包裝在該複數個共用M維暫存器中的 屬性包裝構件及用於將任何剩餘輸入屬性填入於該儲存 構件中以建立一頂點著色器輸入檔案的填入構件。 子 一蜂巢式電 梘訊遊戲控制 如請求項19之無線裝置, 話 '一無線裝置、一無線通信裝置 133465-1010427.doc • 6 · 13783*55 台、—個人數位助理(PDA)、一膝上型電腦及一具備音 訊/視訊能力型裝置中之一者的一部分。 24· —種包括一電腦可讀媒體之電腦程式產品,該電腦可讀 媒體具有若干指令以用於使一電腦: 將各向量總和等於Μ之一組著色器變數中的一或多個 著色器變數包裝在複數個共用河維向量暫存器中之每一 共用Μ維向量暫存器中; 在該複數個共用Μ維向量暫存器中重複該包裝直至所 有剩餘著色器變數不可包裝為止; 以該組經包裝之若干輸出參數宣告變動及剩餘輸出參 數宣告變動建立一頂點著色器輸出檔案; 將該頂點著色器輸出檔案之河個分量連貫地包裝在一 包裝緩衝器之一Μ維臨時暫存器中;及 在填滿時將該Μ維臨時暫存器之各内容轉移至一頂點 快取記憶體中之一各別Μ維快取暫存器。 25.如請求項24之電腦程式產品,其中該組著色器變數包括 來自-頂點著色器之一組輸出參數宣告變動;且其中該 等指令使該電腦包裝該組輸出參數宣告變動且將剩餘輸 出參數宣告變動填入於剩餘向量暫存器。 、J %如請求項25之電腦程式產品,其進一步包含若干指令以 使該電腦將該組經包裝之輸出參數宣告變動連結至: 段著色器之一組輸入參數宣告變動。 27.如請求項26之電腦程式產品,其中該連結指令 電腦將對應於來自該頂點著色器之該組經包裝之輪出: 133465-10l0427.doc 1378355 數宣告變動的若干參數宣告變動符號名稱與該片段著色 器之該組輸人參數宣告變動中的各相應參數宣告變動符 號名稱相匹配的指令。 28. 如請求項24之電腦程式產品,其中該組著色器變數包括 至-頂點著色器之-組輸人屬性;且其中該等指令使該 電腦包裝該組輸入屬性且將剩餘輸入屬性填入於剩餘= 量暫存器。 '° 29. —種用於在圖形系統中參數宣告變動包裝及連結之 法,該方法包含: 將各向量總和等於Μ之一組著色器變數㈣—或多個 著色器變數包裝在複數個共用]^維向量暫存器中之每〜 共用Μ維向量暫存器中; 在該複數個共用Μ維向量暫存器令重複該包裝直至 有剩餘著色器變數不可包裝為止; 以該組經包裝之若干輪出參數宣告變動及剩餘輸出參 數宣告變動建立一頂點著色器輸出檔案; 將該頂點著色器輸出稽案之Μ個分量連貫地包裝在〜 包裝緩衝器之一Μ維臨時暫存器中;及 在填滿時將該Μ維臨時暫#器之各内轉移至一頂點 快取記憶體中之一各別^^維快取暫存器。 ” 30. 如請求項29之方法,纟中該組著色器變數包含來自—項 點著色器之-組輸出參數宣告變動,且其中該包裝包括 將該組輸出參數宣告變動包裝在該複數個共用Μ維向瞀 暫存器中。 133465-1010427.doc 13783*55 31 •如請求項29之方法,其中該組著色器冑 32 著色器之-組非略過輸人屬性,且其中該包裝包括將= 組輸入屬性包裝在該複數個共用M維向量暫存器中。 如請求項31之方法,其進一步包含: 將若干略過輸入屬性之Μ個分量連貫地包裝在 緩衝器之一 Μ維臨時暫存器中;及 L # 33. 在填滿時將該Μ維臨時暫存器之各内容轉移 快取記憶體中之一各別Μ維快取暫存器。 -種用於在圖形系統中參數宣告變動包裝及連 器,該處理器包含: 一具有複數個共用Μ維暫存器之儲存媒體; 一積體電路,其實施一組操作 。 尔从隹母一共用Μ維暫存 器中包裝一或多個著色器變數,續一 X双^或多個著色器變數 之各分量總和等於Μ ; 一頂點快取記憶體,装且古雄叔_ w m具具有複數個Μ維快取暫存器; 及 -包裝緩衝器’其具有—Μ維暫存器以將該複數個共 用Μ維暫存器之Μ個分量連貫地包裝在其中,且在填滿 時將該包裝緩衝器之該_暫存器的各内容轉移至該頂 點快取記憶體中之一各別Μ維快取暫存器。 34. 如請求項33之處理器,其中該等著色器變數包含來自一 頂點著色器之—組輸出參數^變動;且其中該組操作 包括將該組輸出參數宣告變動包裝在該複數個共用Μ維 暫存器中且將任何剩餘參數Η變動填人於該儲存媒體 中以建立-頂點著色器輸出檔案的若干操作。 133465-1010427.doc
TW097128649A 2007-07-30 2008-07-29 Method, integrated circuit, wireless device, computer program product, and processor for varying packing and linking in graphics systems TWI378355B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/830,667 US8355028B2 (en) 2007-07-30 2007-07-30 Scheme for varying packing and linking in graphics systems

Publications (2)

Publication Number Publication Date
TW200910110A TW200910110A (en) 2009-03-01
TWI378355B true TWI378355B (en) 2012-12-01

Family

ID=39940557

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097128649A TWI378355B (en) 2007-07-30 2008-07-29 Method, integrated circuit, wireless device, computer program product, and processor for varying packing and linking in graphics systems

Country Status (11)

Country Link
US (1) US8355028B2 (zh)
EP (1) EP2023285B8 (zh)
JP (1) JP5048836B2 (zh)
KR (1) KR101118814B1 (zh)
CN (1) CN101779219B (zh)
BR (1) BRPI0813854B1 (zh)
CA (1) CA2693344C (zh)
MX (1) MX2010001064A (zh)
RU (1) RU2448369C2 (zh)
TW (1) TWI378355B (zh)
WO (1) WO2009018385A2 (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9123151B2 (en) * 2008-08-05 2015-09-01 Autodesk, Inc. Exchanging data between vertex shaders and fragment shaders on a graphics processing unit
US8947444B1 (en) * 2008-12-09 2015-02-03 Nvidia Corporation Distributed vertex attribute fetch
GB201103699D0 (en) * 2011-03-03 2011-04-20 Advanced Risc Mach Ltd Graphic processing
GB201103698D0 (en) * 2011-03-03 2011-04-20 Advanced Risc Mach Ltd Graphics processing
US9412193B2 (en) * 2011-06-01 2016-08-09 Apple Inc. Run-time optimized shader program
US9214008B2 (en) * 2013-01-18 2015-12-15 Nvidia Corporation Shader program attribute storage
US9395988B2 (en) * 2013-03-08 2016-07-19 Samsung Electronics Co., Ltd. Micro-ops including packed source and destination fields
BR112015019510A2 (pt) * 2013-03-14 2017-12-12 Intel Corp suporte de compositor para funções gráficas.
US10096079B2 (en) 2013-06-10 2018-10-09 Sony Interactive Entertainment Inc. Fragment shaders perform vertex shader computations
US10134102B2 (en) 2013-06-10 2018-11-20 Sony Interactive Entertainment Inc. Graphics processing hardware for using compute shaders as front end for vertex shaders
US10102603B2 (en) 2013-06-10 2018-10-16 Sony Interactive Entertainment Inc. Scheme for compressing vertex shader output parameters
US10176621B2 (en) 2013-06-10 2019-01-08 Sony Interactive Entertainment Inc. Using compute shaders as front end for vertex shaders
WO2016090535A1 (en) * 2014-12-08 2016-06-16 Intel Corporation Graphic rendering quality improvements through automated data type precision control
KR20160074154A (ko) 2014-12-18 2016-06-28 삼성전자주식회사 컴파일러
US10460513B2 (en) 2016-09-22 2019-10-29 Advanced Micro Devices, Inc. Combined world-space pipeline shader stages
KR20180038793A (ko) * 2016-10-07 2018-04-17 삼성전자주식회사 영상 데이터 처리 방법 및 장치
CN108986014A (zh) * 2018-07-19 2018-12-11 芯视图(常州)微电子有限公司 适用乱序顶点染色的图元装配单元
US11748839B2 (en) 2020-04-16 2023-09-05 Samsung Electronics Co., Ltd. Efficient fast random access enabled geometry attribute compression mechanism
US11508124B2 (en) 2020-12-15 2022-11-22 Advanced Micro Devices, Inc. Throttling hull shaders based on tessellation factors in a graphics pipeline
US11776085B2 (en) 2020-12-16 2023-10-03 Advanced Micro Devices, Inc. Throttling shaders based on resource usage in a graphics pipeline
US11710207B2 (en) 2021-03-30 2023-07-25 Advanced Micro Devices, Inc. Wave throttling based on a parameter buffer

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9413169D0 (en) 1994-06-30 1994-08-24 Thomson Consumer Electronics Modulator data frame interfacing
GB2317464A (en) 1996-09-23 1998-03-25 Advanced Risc Mach Ltd Register addressing in a data processing apparatus
US5949421A (en) * 1997-03-31 1999-09-07 Cirrus Logic, Inc. Method and system for efficient register sorting for three dimensional graphics
WO2001016672A1 (en) 1999-09-01 2001-03-08 Matsushita Electric Industrial Co., Ltd. Copyrighted data processing method and apparatus
RU2249245C2 (ru) 1999-09-01 2005-03-27 Мацусита Электрик Индастриал Ко., Лтд. Способ и устройство для обработки данных с авторскими правами
US6717577B1 (en) 1999-10-28 2004-04-06 Nintendo Co., Ltd. Vertex cache for 3D computer graphics
US6829696B1 (en) 1999-12-30 2004-12-07 Texas Instruments Incorporated Data processing system with register store/load utilizing data packing/unpacking
US6900812B1 (en) 2000-08-02 2005-05-31 Ati International Srl Logic enhanced memory and method therefore
US6828975B2 (en) * 2001-03-01 2004-12-07 Microsoft Corporation Method and system for managing graphics objects in a graphics display system
US7017154B2 (en) 2001-03-23 2006-03-21 International Business Machines Corporation Eliminating store/restores within hot function prolog/epilogs using volatile registers
US6704026B2 (en) 2001-05-18 2004-03-09 Sun Microsystems, Inc. Graphics fragment merging for improving pixel write bandwidth
DE10131254A1 (de) 2001-07-01 2003-01-23 Deutsche Post Ag Verfahren zum Überprüfen der Gültigkeit von digitalen Freimachungsvermerken
US6831653B2 (en) 2001-07-31 2004-12-14 Sun Microsystems, Inc. Graphics pixel packing for improved fill rate performance
US6847369B2 (en) 2002-01-30 2005-01-25 Sun Microsystems, Inc. Optimized packing of loose data in a graphics queue
US7530062B2 (en) * 2003-05-23 2009-05-05 Microsoft Corporation Optimizing compiler transforms for a high level shader language
US7746347B1 (en) * 2004-07-02 2010-06-29 Nvidia Corporation Methods and systems for processing a geometry shader program developed in a high-level shading language
US7681187B2 (en) 2005-03-31 2010-03-16 Nvidia Corporation Method and apparatus for register allocation in presence of hardware constraints
US20080094408A1 (en) * 2006-10-24 2008-04-24 Xiaoqin Yin System and Method for Geometry Graphics Processing

Also Published As

Publication number Publication date
US8355028B2 (en) 2013-01-15
WO2009018385A2 (en) 2009-02-05
CN101779219B (zh) 2013-03-27
EP2023285B1 (en) 2017-12-20
JP2010535393A (ja) 2010-11-18
MX2010001064A (es) 2010-03-03
WO2009018385A3 (en) 2009-03-26
CN101779219A (zh) 2010-07-14
BRPI0813854B1 (pt) 2020-01-14
CA2693344A1 (en) 2009-02-05
RU2010107218A (ru) 2011-09-10
KR20100038462A (ko) 2010-04-14
CA2693344C (en) 2017-01-17
JP5048836B2 (ja) 2012-10-17
EP2023285A1 (en) 2009-02-11
EP2023285B8 (en) 2018-06-27
TW200910110A (en) 2009-03-01
KR101118814B1 (ko) 2012-03-20
US20090033672A1 (en) 2009-02-05
BRPI0813854A2 (pt) 2019-02-12
RU2448369C2 (ru) 2012-04-20

Similar Documents

Publication Publication Date Title
TWI378355B (en) Method, integrated circuit, wireless device, computer program product, and processor for varying packing and linking in graphics systems
JP7463626B2 (ja) 機械学習ワークロードにおけるテンソルオブジェクトサポートのための方法および装置
CN107250996B (zh) 用于存储器分级体系的压实的方法和装置
US8432407B2 (en) Method and system for managing graphics objects in a graphics display system
US7839410B1 (en) Parameter buffer objects for shader parameters in a graphics library
CN108701368B (zh) 用于经实施例化的几何结构的更有效的光线跟踪方法和装置
US7800607B2 (en) Method and system for defining and controlling algorithmic elements in a graphics display system
US20180089091A1 (en) Cache and compression interoperability in a graphics processor pipeline
CA2721396A1 (en) Programmable streaming processor with mixed precision instruction execution
CN109979000B (zh) 多视图图元块
JPH11102443A (ja) 改良された入力カラー値のハンドリングを有する3次元グラフィックアクセラレータのためのライティングユニット
US11748010B2 (en) Methods and systems for storing variable length data blocks in memory
TW202338739A (zh) 用於底層層次包圍盒的各層級的儲存
Li et al. Real-time visualization of virtual huge texture
CN119722901A (zh) 光线追踪方法及装置

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees