TWI376641B - Multi-threads vertex shader, graphics processing unit, and flow control method thereof - Google Patents

Multi-threads vertex shader, graphics processing unit, and flow control method thereof Download PDF

Info

Publication number
TWI376641B
TWI376641B TW096124456A TW96124456A TWI376641B TW I376641 B TWI376641 B TW I376641B TW 096124456 A TW096124456 A TW 096124456A TW 96124456 A TW96124456 A TW 96124456A TW I376641 B TWI376641 B TW I376641B
Authority
TW
Taiwan
Prior art keywords
thread
instructions
vertex
threads
association
Prior art date
Application number
TW096124456A
Other languages
English (en)
Other versions
TW200836125A (en
Inventor
Hsine Chu Chung
Chit Keng Huang
Ko Fang Wang
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 TW200836125A publication Critical patent/TW200836125A/zh
Application granted granted Critical
Publication of TWI376641B publication Critical patent/TWI376641B/zh

Links

Classifications

    • 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
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/52Parallel processing

Landscapes

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

Description

1376641 Λ 案號096124456 101年5月14日 修正頁 九、發明說明: 【發明所屬之技術領域】 本發明係有關於一種頂點著色器(vertex shader),特別 是有關於一種可同時執行複數執行緒(thread)之頂點著色 器。 【先前技術
隨著繪圖應用的複雜度與日俱增,主機平台的能力(包 含處理器速度、系統記憶體容量以及頻寬、以及多工處理 能力)也持續不斷地提升。為了符合繪圖方面不斷增加的雨 求’繪圖處理單元(graphics processing unit,gpu),或稱^ 繪圖加速器,已經變成電腦系統中的一個整合元件。4厂 意’於本揭露書中,,,繪圖控制器,,—詞 明'主 〇e 表不一繪圖處理 早几或繪圖加速器。在電腦系統中,繪圖處理單元 個電腦裝置例如一個人電腦、工作站、個 工制 或是任何具有一顯示螢幕之裝置的顯示子系统助理(PDA) 第1圖顯示一習知的繪圖控制器1()的區塊 一頂點著色器12、一設定引擎14以及一借,其包括 頂點著色器12接收影像的頂點資料,並執行j °。。 源(lighting)以及剪裁(clipping)處理的頂點處,、光 14接收來自頂點著色器12的頂點資料,並執疒幾攻定弓丨擎 使得接收到的頂點被重新組合成三角形。〜/可組合, 三維(3D)場景的三角形的每一頂點被安排好^用來建立一 便,像素著色 VIT05-0224/0608-A40596-TW/Finall 1376641 案號096124456 1〇1年5月14日 器1 ό接著利用不同的像素填滿他們,並執一 (rendering process),其包括決定每一點之顏色、澤产斤 及在具有紋理(texture)的螢幕上位置。像素著 、又值以 出可顯示於一顯示裝置上。 裔16的輪 第2圖顯示第1圖中之頂點著色器12之細部區 頂點著色器12係為一可編程頂點處理單元,用^在。塊圖。 的頂點資料上執行使用這定義的操作。頂點著色器接收到 鲁-指令暫存$22、—流程控制 (arithmetic logic unit,ALU)管線 26 以及一輸入暫存哭 28〇 基本的指令可結合至一使用者定義的程式中此使用者定 '義的程式對輸入暫存器28中所儲存的頂點資料進行操 •作。這些指令係被連續地儲存在指令暫存器22中。流程控 制器24依序從指令暫存器22中讀出這些指令。同時,流 程控制器24存取來自一輸入暫存器28的頂點資料,並決 定從指令暫存器22中所擷取到的指令之中的關聯性 • (dependency)。在檢查完關聯性後,流程控制器24浐派準 備送至ALU管線26的指令,以執行包括來源選擇、曰重组 • ㈣刪、乘法計#、加法計算以及目的地分配的三維繪 •圖計算,其中ALU管線26必要時將從輸入暫存器^讀 取頂點資料。 儲存在指令暫存器22中的指令包括指令Ι〇、ι 如果這些指令之中不存在關聯性關係,流程控卿%將依 序指派指令Ι〇...Ιη至ALU管線26中。第3Α圖顯示在4個 時槽τ0至τ3的每-時槽中’指派至ALU管線%的指令 VIT05-0224/0608-A40596-TW/Finall 7 1376641 案號096124456 101年5月14日 修正頁 順序且這些指令之中不存在關聯性關係。然而,如果指令 I!係關聯於指令1〇時,如下列所示:
1〇 : MOV TRO CO l] : Mad ORO TRO IRO Cl ; 指令I!的來源TRO係為指令IQ的目的地TRO。在指令 I〇完成前,指令I!不可能被執行,在ALU管線中將出現管 線泡泡(bubble),因此降低了執行的效率。假設每個指令的 執行時間允許4個時槽的時間,第3B圖顯示在每一時槽 中指派至ALU管線26的指令,且指令1〇以及L之間存在 關聯性。明顯地,當指令1〇以及I!之間存在關聯性時,在 時間之中將出現管線泡泡。因此,需要解決上述問 題,以提高習知頂點著色器12的執行效率。 【發明内容】 有鑑於此,本發明提供一種可同時執行複數執行緒之 頂點著色器以及繪圖處理單元。 於一實施例中,本發明提供一種頂點著色器,包括一 指令暫存器檔案、一流程控制器、一執行緒仲裁器、一算 術邏輯單元管線以及一輸入暫存器檔案。指令暫存器檔案 儲存複數指令。流程控制器同時地執行複數執行緒、自執 行緒之指令暫存器檔案中依序讀取指令以及存取執行緒之 頂點資料。執行緒仲裁器檢查在執行緒中之指令之關聯 性,並依據關聯性檢查之結果以及一執行緒執行優先權, 選取一欲執行之執行緒。算術邏輯單元管線接收頂點資 VIT05-0224/0608-A40596-TW/Finall 8 1376641 案號096124456 101年5月14日 修正頁 料,以執行執行緒仲裁器所選出之執行緒之指令,以執行 三維繪圖計算。輸入暫存器檔案儲存上述頂點資料。其中 上述流程控制器包括複數執行緒暫存器檔案,用以儲存上 述指令,其中每一上述執行緒暫存器檔案係對應於一執行 緒。其中上述執行緒仲裁器檢查在一執行緒中之上述指令 之關聯性,並且當上述執行緒中之上述指令之中存在關聯 性時,上述執行緒仲裁器依據上述執行緒執行優先權,選 取一下一執行緒,以供上述算術邏輯單元管線使用。 於另一實施例中’本發明提供一種繪圖處理單元 (GPU),包括一頂點著色器、一設定引擎以及一像素著色 器。頂點著色器同時地執行複數執行緒、接收複數影像資 料以進行座標轉換以及光源(lighting)處理。設定引擎將自 上述頂點著色器所接收到之影像資料組合成三角形。像素 著色器接收來自設定引擎之影像資料並對影像資料執行一 描圖程序,以產生像素資料。 於又一實施例中,本發明提供一種流程控制方法,適 用於一同時地執行複數執行緒之頂點著色器。流程控制方 法包括讀出複數指令以供執行緒使用、檢查在執行緒中之 指令之關聯性以及依據關聯性檢查之結果以及一執行緒執 行優先權,選取一欲執行之執行緒。其中上述選取上述欲 執行之執行緒之步驟包括當上述指令之中存在關聯性時, 依據上述執行緒執行優先權選取一下一執行緒。 為使本發明之上述和其他目的、特徵、和優點能更明 顯易懂,下文特舉出較佳實施例,並配合所附圖式,作詳 VIT05-0224/0608-A40596-TW/Finall 9 1376641 細說明如下 【實施方式】 案號 096124456 101 年 5 月 14 修正頁 第4圖顯卜依據本發明實 點者色器40包括-指令暫存 頂點者色_。頂 一算術邏輯單元(ALU)管線46、二I42 —流程控制器44、 一執行緒仲裁器49。指令暫存器構==器擒—案48以及 令’其中這些指令係被連續地存—表式的指 儲存頂點資料。流程控制器48 指令暫存器檔案42中依序讀出^執仃複數執仃緒、從 使:,並從輸人_::概:=^ =的執行緒使用。執行緒仲裁器49檢查這些執行緒中1 =的關聯I並依據此_性以及—執行緒執行優先權 &齡|錄㈣執行緒。#賴輯|元(alu) 吕線46接收來自輸入暫存器槽案4δ的頂 執行緒仲裁器49所選出的執行緒的指令,以進= (three dimensional,3D)給"圖士木曾、山 ,j…、,,曰圖a十异,這些三維繪圖計算 含來源選擇、重組、乘法計算、加料算錢目 假設流程控制器44提供了 4個執行緒,並且儲存在指 令暫存器财42中的—個程式對頂點㈣執行使用者定 義的操作’此程式包含指令1〇至l2 ’且如第5圖所示,每 -執仃緒的指令I。至12分別儲存在—個對應的執行緒暫存 器槽案循至ΤΗ3中。請注意,在流程控制器44中的每 -執行緒,執行包含相同的指令1()至l2的相同程式,並且 VIT05-0224/0608-A40596-TW/Finall 1376641 案號096124456 101年5月14日 修正頁 頂點資料係依據頂點資料的輸入序列順序分配至執行緒暫 存器檔案THO至TH3中。於一實施例中,頂點資料νΤχ〇、 VTxl、VTx2以及VTx3係可分別地分配至執行緒暫存器 檔案THO、Tm、TH2以及TH3中。為了確保頂點資料的 執行序列,執行緒仲裁器49將依據頂點資料的輸入序列, 預先決定出執行緒執行優先權。因此,當接收到執行緒th〇 至th3的指令時,執行緒仲裁器49先決定執行緒th〇至th3 的優先權。於此實施例中,由於執行緒th〇至th3對應的頂 點資料係分別為VTxO〜VTx3,執行緒執行優先權列表由高 排到低係分別為thO-> thl-> th2-> th3。因此,執行緒仲裁 器49將先選取執行緒th0。在指派執行緒th〇中的指令至 ALU管線46之前,執行緒仲裁器49檢查在執行緒th〇中 的所有指令的關聯性,並且發現在這些指令之中存在關聯 性,因此執行绪仲裁器49便依據執行緒執行優先權列表, 選取一下一個執行緒(即tM)給ALU管線46,並調整執行 緒執行優先權列表為thl_>紅> th3_>制。第6A圖至第 6D圖顯示在每一指令的執行時間為4T時,每-時槽中 管線裡的執行緒以及指令的執行順序。如第6A ^ TG時’由於每—執行緒的指令係依序儲存至執 裁器49選取了執行緒⑽,並指派執行緒心 行緒_中的指令裁器49原本應指派執 係關聯於指令lG,因此執 -而&於心々1] 、中裁盗49便依據執行緒執行
VIT05-0224/〇6〇8-A4〇596-TW/FinaII 11 1376641 案號096124456 101年5月14日 修正頁 優先權列表選取了執行緒thl,並指派執行緒thl中的指令 1〇至ALU管線46,如第6B圖所示。類似地,於時間T2 時,如第6C圖所示,執行緒仲裁器49選取了執行緒th2, 並指派執行緒th2中的指令10至ALU管線46。第6D圖顯 示關於ALU管線46的執行緒以及指令的執行序列。比較 第3B圖以及第6D圖後可以發現,第3B圖中的管線泡泡 並沒有出現在使用本發明實施例之頂點著色器40中,表示 頂點著色器40的效能改善了。 第7圖顯示一依據本發明另一實施例之繪圖處理單元 (GPU)70之示意圖。繪圖處理單元70類似於第1圖的繪圖 處理單元10,差別在於頂點著色器40。第7圖中具有與第 1圖相同之參考號碼之元件,用以表示執行相同之功能, 因此細節在此省略。緣圖處理單元7 0使用了如第4圖所示 的依據本發明實施例的頂點著色器40。關於頂點著色器40 的操作與前述相同,因此細節也在此省略。 第8圖顯示一依據本發明實施例之流程控制方法800 之流程圖,適用於同時地執行複數執行緒的一頂點著色 器。首先,接收複數指令以供上述執行緒使用(步驟S82), 其中所有執行緒執行相同的指令集,並且頂點資料係依據 頂點資料的輸入序列順序分配至每一執行緒。接著,依據 一既定的優先權,選取一欲執行的執行緒(步驟S84)。其 次,檢查在被選取的執行緒中的指令的關聯性(步驟S86)。 若在這些指令之中存在關聯性,便回到步驟S84,依據既 定的優先權,選取另一執行緒來執行。若在這些指令之中 VIT05-0224/0608-A40596-TW/Final 1 12 1376641 案號096124456 101年5月14日 修正頁 - 並不存在關聯性,便指派在選取的執行緒中的指令(步驟 S88) 〇 於本發明實施例中,一頂點著色器可同時地執行複數 執行緒,在每一執行緒對應的頂點資料上。因此,特別是 當頂點著色器要執行的指令中存在關聯性時,頂點著色器 中的ALU管線的效能將被改善。因此,當在一個執行緒的 指令中發現關聯性時,頂點著色器可執行其他執行緒的指 • 令。 上述說明提供數種不同實施例或應用本發明之不同特 性的實施例。實例中的特定元件以及製程係用以幫助闡釋 本發明之主要精神及目的,當然本發明不限於此。 . 因此,雖然本發明已以較佳實施例揭露如上,然其並 非用以限定本發明,任何熟悉此項技藝者,在不脫離本發 明之精神和範圍内,當可做些許更動與潤飾,因此本發明 之保護範圍當視後附之申請專利範圍所界定者為準。 • 【圖式簡單說明】 第1圖係顯示一習知之繪圖處理單元之區塊圖。 第2圖係顯示第1圖中之頂點著色器之細部區塊圖。 第3A圖係顯示指派至第1圖中之ALU管線的指令順 序之示意圖,且指令之中不存在關聯性關係。 第3B圖係顯示指派至第1圖中之ALU管線的指令順 序之示意圖,i指令之中存在關聯性關係。 第4圖係顯示一依據本發明實施例之頂點著色器之區 VIT05-0224/0608-A40596-TW/Finall 13 1376641 案號096124456 101年5月14日 修正頁 塊圖。 第5圖係顯示如第4圖中所示之頂點著色器之區塊 圖,其中頂點著色器包括4個執行緒。 第6A圖至第6D圖係顯示指派至第4圖之ALU管線 中的執行緒的順序。 第7圖係顯示一依據本發明另一實施例之繪圖處理單 元之區塊圖。 第8圖係顯示一依據本發明實施例之流程控制方法之 流程圖,適用於可同時地執行複數執行緒的一頂點著色器。 【主要元件符號說明】 10〜繪圖控制器; 12〜頂點著色器; 14〜設定引擎; 16〜像素著色器; 22〜指令暫存器; 24〜流程控制器; 26〜算術邏輯單元(ALU)管線; 28〜輸入暫存器; 1〇、I】指令, t0-t3〜時槽; 40〜頂點著色器; 42〜指令暫存器檔案; 44〜流程控制器;
VlT05-0224/0608-A40596-TW/Finall 14 1376641 修正頁 案號096124456 101年5月14曰 46〜算術邏輯單元管線; 48〜輸入暫存器檔案; 49〜執行緒仲裁器; TH0-TH3〜執行緒暫存器檔案; VTxO、VTx卜VTx2、VTx3〜頂點資料 thO-th4〜執行緒; 70〜繪圖處理單元; 800〜流程控制方法; S82、S84、S86、S88〜步驟。
VIT05-0224/0608-A40596-TW/Finall

Claims (1)

1376641 案號 096124456十、申請專利範園: 101年5月14日 修正本 1.一種頂點著色器’包括: -指令暫存器檔案,用以儲存複數指令, -流程控制n ’可同時地執行複數執行峰 上述,打緒之上述指令暫存⑽案中依序讀取上述 以及存取上述執行緒之頂點資料;
一執行緒仲裁器,檢查在上述執行緒中之上述指令之 關聯性(dependency),並依據上述關聯性檢查之結果以及 一執行緒執行優先權,選取一欲執行之執行緒; 一算術邏輯單元(ALU)管線,接收上述頂點資料,以執 行上述執行緒仲裁器所選出之上述執行緒之上述指令,以 執行三維繪圖計算;以及 一輸入暫存器檔案,用以儲存上述頂點資料; 其中上述流程控制器包括複數執行緒暫存器檔案,用 以儲存上述指令’其中每一上述執行緒暫存器檔案係對應 於一執行緒; 其中上述執行緒仲裁器檢查在,執打緒中之上述指令 之關聯性,並且當上述執行緒中之上述指令之中存在關聯 性時,上述執行緒仲裁器依據上述執行緒^優先權,選 取-下-執行緒,以供上述算術邏轉草元嘗:線$用 2. 如申請專利範圍第1項所述&頂點者^ ’其中上 述執行緒執行優先權係依據上述料之輸人序列順序 決定。 3. 如申請專利範圍第1項所述之頂點著色@ ’其中上 VIT05-0224/0608-A40596-TW/Finall 6 1376641 案號096124456 101年5月14日 修正本 述頂點資料係依據上述頂點資料之輸入序列順序,分配至 每一上述執行绪。 4. 如申請專利範圍第1項所述之頂點著色器,其中在 上述指令暫存器檔案中之上述指令係被連續地儲存。 5. 如申請專利範圍第1項所述之頂點著色器,其中由 上述算術邏輯單元管線所執行之三維(3D)計算包括由下列 群組所選出之一組合: 來源選擇; 重組(swizzle); 乘法運算; 加法運算;以及 目的地分配。 6. —種繪圖處理單元(GPU),包括: '一頂點著色器,用以同時地執行複數執行緒、接收複 數影像資料以進行座標轉換以及光源(lighting)處理,包括: 一指令暫存器檔案,用以儲存複數指令; 一流程控制器,用以同時地執行複數執行緒、自 上述執行緒之上述指令暫存器檔案中依序讀取上述指令、 以及存取上述執行緒之上述影像資料; 一執行緒仲裁器,檢查在上述執行緒中之上述指 令之關聯性,並依據上述關聯性檢查之結果以及一執行緒 執行優先權,選取上述欲執行之執行緒;以及 一算術邏輯單元(ALU)管線,接收上述影像資料, 以執行上述執行緒仲裁器所選出之上述執行緒之上述指 VIT05-0224/0608-A40596-TW/Final 1 17 1376641 y 案號096124456 101年5月14日 修正本 令,以進行三維(3D)繪圖計算; 一設定引擎,將自上述頂點著色器所接收到之上述影 像資料組合成三角形; 一像素著色器,接收來自上述設定引擎之上述影像資 料並對上述影像資料執行一描圖程序(rendering process) 以產生像素資料;以及 一輸入暫存器檔案,用以儲存上述影像資料;
其中上述流程控制器包括複數執行緒暫存器檔案,用 以儲存上述指令,其中每一上述執行緒暫存器檔案係對應 於一執行緒; 其中上述執行緒仲裁器檢查在一執行緒中之上述指令 之關聯性,並且當上述執行緒中之上述指令之中存在關聯 性時,上述執行緒仲裁器依據上述執行緒執行優先權,選 取一下一執行緒,以供上述算術邏輯單元管線使用。 7. 如申請專利範圍第6項所述之繪圖處理單元,其中 上述執行緒執行優先權係依據上述影像資料之輸入序列順 序決定。 8. 如申請專利範圍第6項所述之繪圖處理單元,其中 上述影像資料係依據上述影像資料之輸入序列順序,分配 至上述執行緒。 9. 如申請專利範圍第6項所述之繪圖處理單元,其中 在上述指令暫存器檔案中之上述指令係被連續地儲存。 10. —種流程控制方法,適用於一同時地執行複數執行 緒之頂點著色器,包括下列步驟; VIT05-0224/0608-A40596-TW/FinaIl 18 1376641 案號096124456 101年5月14日 修正本 • 讀出複數指令及存取上述執行緒之頂點資料以供上述 . 執行緒使用; 檢查在上述執行緒中之上述指令之關聯性;以及 依據上述關聯性檢查之結果以及一執行緒執行優先 權,選取一欲執行之執行緒; 其中上述選取上述欲執行之執行緒之步驟包括當上述 指令之中存在關聯性時,依據上述執行緒執行優先權選取 鲁一下一執行緒。 11. 如申請專利範圍第10項所述之流程控制方法,更 包括指派上述選取之執行緒之上述指令。 12. 如申請專利範圍第10項所述之流程控制方法,其 中上述執行緒執行優先權係依據上述頂點資料之輸入序列 順序決定。 13. 如申請專利範圍第10項所述之流程控制方法,更 包括依據上述頂點資料之輸入序列順序,將上述頂點資料 ^ 分配至每一上述執行緒。 VIT05-0224/0608-A40596-TW/Finall 19
TW096124456A 2007-02-16 2007-07-05 Multi-threads vertex shader, graphics processing unit, and flow control method thereof TWI376641B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/675,700 US20080198166A1 (en) 2007-02-16 2007-02-16 Multi-threads vertex shader, graphics processing unit, and flow control method

Publications (2)

Publication Number Publication Date
TW200836125A TW200836125A (en) 2008-09-01
TWI376641B true TWI376641B (en) 2012-11-11

Family

ID=38912538

Family Applications (1)

Application Number Title Priority Date Filing Date
TW096124456A TWI376641B (en) 2007-02-16 2007-07-05 Multi-threads vertex shader, graphics processing unit, and flow control method thereof

Country Status (3)

Country Link
US (1) US20080198166A1 (zh)
CN (1) CN100547610C (zh)
TW (1) TWI376641B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8261025B2 (en) 2007-11-12 2012-09-04 International Business Machines Corporation Software pipelining on a network on chip
US20090260013A1 (en) * 2008-04-14 2009-10-15 International Business Machines Corporation Computer Processors With Plural, Pipelined Hardware Threads Of Execution
US8423715B2 (en) 2008-05-01 2013-04-16 International Business Machines Corporation Memory management among levels of cache in a memory hierarchy
US8438578B2 (en) 2008-06-09 2013-05-07 International Business Machines Corporation Network on chip with an I/O accelerator
US9142057B2 (en) * 2009-09-03 2015-09-22 Advanced Micro Devices, Inc. Processing unit with a plurality of shader engines
US8432398B2 (en) * 2009-11-05 2013-04-30 Microsoft Corporation Characteristic determination for an output node
TWI474280B (zh) * 2010-04-21 2015-02-21 Via Tech Inc 增進繪圖處理單元之總處理量的方法與系統
US8499305B2 (en) * 2010-10-15 2013-07-30 Via Technologies, Inc. Systems and methods for performing multi-program general purpose shader kickoff
CN103995725B (zh) * 2014-04-24 2018-07-20 深圳中微电科技有限公司 在cpu上执行像素着色器的程序转换方法及装置
US9615104B2 (en) * 2014-06-13 2017-04-04 Intel Corporation Spatial variant dependency pattern method for GPU based intra prediction in HEVC
US9952901B2 (en) * 2014-12-09 2018-04-24 Intel Corporation Power efficient hybrid scoreboard method
GB2540543B (en) * 2015-07-20 2020-03-11 Advanced Risc Mach Ltd Graphics processing
CN105279253B (zh) * 2015-10-13 2018-12-14 上海联彤网络通讯技术有限公司 提升网页画布渲染速度的系统及方法
US10776156B2 (en) * 2016-09-30 2020-09-15 Intel Corporation Thread priority mechanism
GB2573316B (en) 2018-05-02 2021-01-27 Advanced Risc Mach Ltd Data processing systems
US10891708B1 (en) 2019-11-25 2021-01-12 Arm Limited Shader program execution in graphics processing

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2416100B (en) * 2002-03-26 2006-04-12 Imagination Tech Ltd 3D computer graphics rendering system
US7154500B2 (en) * 2004-04-20 2006-12-26 The Chinese University Of Hong Kong Block-based fragment filtration with feasible multi-GPU acceleration for real-time volume rendering on conventional personal computer
US7502029B2 (en) * 2006-01-17 2009-03-10 Silicon Integrated Systems Corp. Instruction folding mechanism, method for performing the same and pixel processing system employing the same
US8884972B2 (en) * 2006-05-25 2014-11-11 Qualcomm Incorporated Graphics processor with arithmetic and elementary function units

Also Published As

Publication number Publication date
US20080198166A1 (en) 2008-08-21
TW200836125A (en) 2008-09-01
CN100547610C (zh) 2009-10-07
CN101082982A (zh) 2007-12-05

Similar Documents

Publication Publication Date Title
TWI376641B (en) Multi-threads vertex shader, graphics processing unit, and flow control method thereof
US10217183B2 (en) System, method, and computer program product for simultaneous execution of compute and graphics workloads
US10437541B2 (en) Graphics engine and environment for efficient real time rendering of graphics that are not pre-known
TWI498819B (zh) 執行成型記憶體存取作業的系統和方法
JP6530728B2 (ja) 両眼視差映像に対するレンダリング方法及びその装置
TWI489385B (zh) 一種用於預先擷取快取線的電腦實作方法與子系統
US9293109B2 (en) Technique for storing shared vertices
US9286647B2 (en) Pixel shader bypass for low power graphics rendering
TWI501150B (zh) 無指令解碼而排程指令的方法和裝置
US10719970B2 (en) Low latency firmware command selection using a directed acyclic graph
US9720842B2 (en) Adaptive multilevel binning to improve hierarchical caching
US9069609B2 (en) Scheduling and execution of compute tasks
US9418616B2 (en) Technique for storing shared vertices
JP5808407B2 (ja) アンチエイリアシングされたサンプルの分割ストレージ
US20140267224A1 (en) Handling post-z coverage data in raster operations
US11663767B2 (en) Power efficient attribute handling for tessellation and geometry shaders
US11727632B2 (en) Shader binding management in ray tracing
JP4637640B2 (ja) 図形描画装置
US10319068B2 (en) Texture not backed by real mapping
US10593103B2 (en) Method and apparatus for managing graphics layers within a data processing system
TW201351276A (zh) 計算工作的排程和執行
US10212406B2 (en) Image generation of a three-dimensional scene using multiple focal lengths
CN101013500B (zh) 可执行多线程的顶点着色器、图形处理器及其控制方法
US9165396B2 (en) Graphics processing unit with a texture return buffer and a texture queue
US9406101B2 (en) Technique for improving the performance of a tessellation pipeline