TW200935350A - System and method for using a secondary processor in a graphics system - Google Patents

System and method for using a secondary processor in a graphics system Download PDF

Info

Publication number
TW200935350A
TW200935350A TW097146520A TW97146520A TW200935350A TW 200935350 A TW200935350 A TW 200935350A TW 097146520 A TW097146520 A TW 097146520A TW 97146520 A TW97146520 A TW 97146520A TW 200935350 A TW200935350 A TW 200935350A
Authority
TW
Taiwan
Prior art keywords
processing
processing unit
data
pipeline
command
Prior art date
Application number
TW097146520A
Other languages
English (en)
Inventor
Michael D Street
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
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of TW200935350A publication Critical patent/TW200935350A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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)
  • Image Processing (AREA)

Description

200935350 九、發明說明: 【發明所屬之技術領域】 本發明係關於繪圖處理系統中之並行處理,且更特定言 之係關於結合諸如中央處理單元及繪圖處理單元之其他處 理單元同步第二處理器的使用以並行執行繪圖處理,包括 由此第二處理器處理之資料之重新整合至繪圖處理管線 中。 【先前技術】 φ 繪圖處理單元(GPU)係用以產生用於在顯示器件上顯示 之電腦化繪圖的專用繪圖再現器件。GPU通常與通用中央 處理單元(CPU)—起使用以處理繪圖影像資料,例如,三 維電腦化繪圖影像資料。在此狀況下,GPU可實施多個基 元繪圖操作以相比使用CPU繪製用於在顯示器件上顯示之 影像更快地建立用於在顯示器件上顯示之三維影像。通 常,GPU包括在硬體中實施某數目之複雜演算法之硬體。 典型GPU接收影像幾何圖形且使用管線方法來產生可經 ® 輸出(例如)用於在顯示器件上顯示之繪圖。典型繪圖管線 包括並行操作之多個級,來自一個級之輸出可能用於管線 中的另一級處。舉例而言,典型繪圖管線包含頂點著色器 (vertex shader)、基元總成、視埠變換、基元設立,光栅 化、隱藏基元及像素拒絕、屬性設立、屬性内插法及片斷 著色器級。 頂點者色器應用於影像之影像幾何圖形且產生影像幾何 圖形内之頂點座標及頂點之屬性。頂點屬性包括(例如)與 136489.doc 200935350 頂點相關聯之色彩、法線及紋理座標。基元總成基於影像 幾何圖形自頂點形成基元,例如,點、線及三角基元。可 使用變換(例如,將基元自正規化器件空間變換至螢幕空 間之視埠變換)將所形成之基元自一空間變換至另一空 間。基7〇设立可用以判定基元之面積、邊緣係數且執行 遮擋剔除法(〇Cclusion culling)(例如,背面剔除法),及3七 剖切操作。 光柵化基於基元内之頂點之χγ座標及包括於基元中的
像素之數目將基元轉換為像素。隱藏基元及像素拒絕使用 基凡及/或像素之Ζ座標來判定及拒絕經判定為隱藏之彼等 基元及像素(例h,位於影像圖+匡中之另一基元或像素後 之基元或像素、a明基元或像素)。屬性設立判定屬性梯 度,例如,對於與基元内之像素相關聯之屬性,在水平 m方向或垂直⑺方向上移動之基元内第一像素處之屬性 值與第二像素處之屬性值之間的差。屬㈣插法基於所判 定之屬性梯度值在基元内之像素上内插屬性。所内插之屬 性值經發駐片斷著μ用於料再現。精著色器之社 果可經輸出至後(理區塊及圖框緩衝器用於經處理之影: 在顯示器件上之呈現。 促進綠圖管線處理以達成增加之輪送量為有益的。已努 =藉=最佳化實施緣圖管線之—部分的軟體來增加輸送 、、:而’此方法為高成本的’因為其通常需要大量 間來產生最佳化㈣碼。可使料用硬體i 輸送量。然…方法涉及專用硬體之額外成 136489.doc 200935350 本’該專用硬體僅可用於專用目的。 【發明内容】 之Π=ΓΓ技術…點及提供纷圖影像處理 處理:補=單元來執行输®處理管線中的" 爽理以補充由其他處理嚴^ w-W 繪圖處理單元及/或中 、地理單兀)執行之處理, 相依性及將由第二處理單元產生=處理相關聯之資料 Λ 產生之輸出整合於緣圖處理管 線中以滿足此資料相依性。 方法及裝置,其中處理單元經組態以對 繪圖吕線外之綠圖管線資料執行第二處理,來自第二處理 之輸出整合於繪圖管線中使得其對綠圖管線可用。進行是 =使用第二處理之判定’且在待使用第二處理之狀況下, .了包含-或多個命令的命令流提供至第二處理單元,使 得單元可定位且對經緩衝之緣圖管線資料操作。管理及監 φ 視第二處理以同步由第二處理及_管線争之一或多個處 理模組進行之資料存取。 根據本發明之實施例,識別使用第二處理單元 理器與繪圖處理管線 β弟一處 …線之機會,且使繪圖管線資料對第二處 :早兀可用。由第二處理單元產生之繚圖管線資料經重新 整合於緣圖管線中。藉助於非限制性實例,第二處理器為 數位信號處理器’其經組態為照明模組以由對來自緣圖管 線之數位信號處理器可用之色彩資料產生發光色彩。 如此-來,本發明之實施例提供使用可用第二處理器平 衡處理負載之能力。可以其他方式保持間置之第二處理器 J36489.doc 200935350 可用以促進由繪圖處理單元 中央處if罝_ + # 仃之繪圖管線處理及/或由 士 Ϊ理厂或其他處理單元執行的處理。由此,舉例而 二處理式4待處理資源之操作可經指引至可用第 處更快輸送量。有利地,已判定使用第二 处理盗相比未使用第-邊 例如,L 之處理存在輸送量之增加, 如按每秒圖框來量測。另卜, 用自坌_ + 卜本發明之實施例可使 ❹ ❹ 饋可之資訊來執行負載平衡。舉例而言,反 當判定第i:何時第二處理器已達到特定臨限處理級別。
田ϋ第二處理器達到臨限處理容量時,處理可經指引至 處理單元,諸如中央處理單元Q 本發明之實施例提供利用處理單元用於不同於其 =理目的之能力以執行_或多個其他第二功能(若此 ΐ軍元可用)。可以其他方式閒置之此硬體(例如,處理 羊凡)之使用產生硬體之更有效率之使用。 判…Γ本Γ明之一態樣’一種方法包含:回應於緣製請求 疋理早7L是否可用以輔助綠圖管線處s,處理單元具 理^處理功能;請求第二處理器之分配以執行不同於處 理._之帛處理功能之第二處理功能以輔助搶圖管線處 及在刀配5月求成功之狀況下:使緣圖管線資料對處理 可用,監視藉由處理單元之處理之狀態;及將由處理 早疋輪出之資料整合於繪圖管線資料中。 據本發明之另-態樣,提供儲存程式碼之電腦可讀記 隐體媒體’該程式碼包含用於以下之程式碼:判定處理單 _是否可用以辅助緣圖管線處理’處理草元具有第一處理 136489.doc 200935350 功能,凊求第二處理器之分配以執行不同於處理單元之 處理功旎的第二處理功能以輔助繪圖管線處理;及在八 配請求成功之狀況下:使繪圖管線資料對處理單元可用刀 $視藉由處理單元之處理之狀態;及將由處理單元輪出之 >料整合於%圖管線資料中。 _根據本發明之另-態樣’ -種裝置包含:-繪圖處理單 疋’其經組態以實施繪圖管線;及一第二處理管理器,盆 耦接至緣圖處理單几,第二處理管理器經組態以 ^該第二處理管理器之處理單元是否可用以輔助』 線處理,該處理單元且古楚 处里早兀具有第一處理功能;請求該第二處理 .之分配以執行不同於該處理單元之第一處理功能之第二 處理功能以辅助緣圖管線處理;及在分配請求成功之狀: 二;:處理管理器進一步經組態以:使綠圖管線資料對 早凡可肖,監視藉由該處理單元之處理之狀態;及 將由處理單元輸出之資料整合於繪圖管線資料中。…
G 根據本發明之又-態樣’ -種裝置包含:-緣圖處理單 2 ’其經組態以實施繪圖管線;及一第二處理管理構件, ^接至_處理單元’第二處理管理構件包含:用 定耦接至該第二處理管理器之處 ' 圖其“ 自之處理早疋疋否可用以輔助繪 心:處理的構件,該處理單元具有第一處理功能;用於 吻、^帛―處⑨器之分配以執行不同於該處自單元之第一 處理功成之第二處理功能以輔助_圖管線處理的構件 :配請求成功之狀況下,該第二處理管理構件進一步包 含.用於使纷圖管線資料對該處理單元可用的構件;用於 136489.doc 200935350 ^視藉由該處理單元之處理之狀態的構件;及用於將由處 理單元輸出之資料整合於繪圖管線資料中的構件。 已提供此簡要概述,使得可快速理解本發明之本質。可 藉由參考以下結合附加圖式對本發明之較佳實施例之詳細 描述而獲得本發明的更完全理解。 【實施方式】 參考結合隨附圖式進行之以下描述,以上提及之本發明 之特徵及目標將變得更顯而易見,其"目似參考數字表示 ❹ 相似元件。 現將參看前述圖式論述本發明之特定實施例,其中相似 參考數字指代相似組件。 根據一或多個實施例,揭示一種系統,方法及裝置,其 中第一處理器單元經組態以對繪圖管線資料操作,來自第 二處理n之輸出經整合讀时線巾使得使輸出對在繪圖 管線中執行之一或多個模組可用。根據此等實施例,進行 Μ使用第二處理器之判定’且在待使用第二處理器之狀 兄下,將命令流提供至第二處理器。舉例而言,命令流可 包含一或多对♦。經提供至第二處㈣之每一命令含有 識別當前命令之資訊。在存在另一命令之狀況下,當前命 令含有識別下一命令之資訊。在當前命令為最後命令之狀 况下’當則命令含有將當前命令識別為最後命令之資訊。 命令流將資訊提供至第二處理器,該資訊可包括(但不限 於)輸入及/或輸出資料儲存位置,及反饋儲存位置。 根據一或多個實施例,第二處理器為數位信號處理器 136489.doc •10· 200935350 (DSP),其可組態以執行第一 第處理,例如,處理音訊及/或 視訊資料,且其可經組離 _ 一 〜、執订第一處理。根據一或多個 此等實施例,DSP經共用俏媒让 使传其可用以執行音訊及/或視訊 資料處理,且當可用時可輔助繪圖管線處理,例如,非處 理音訊/視訊資料。僅出於簡單之目的,參考如DSP之第二 處理器來描述本文中所揭示之實施例。應顯而易見,任何 處理器或處理單元可與本發明之實施例—起使用。
Ο 圖1為說明用於根據本發明之一或多個實施例使用之例 示性計算器件1G0的方塊圖。例示性計算器件丨⑼可包含個 人電腦、桌上型電腦、膝上型電腦、工作台、視訊遊戲平 台或控制台、蜂巢式或衛星無線電電話、陸上通信線電 話、網際網路電話、諸如攜帶型視訊遊戲器件或個人數位 助理之掌上型器件、個人音樂播放器、词服器、中間網路 器件、主機電細’或輸出缯·圖資訊之另一類型之器件。 在圖1之實例中’計算器件1 〇〇包括中央處理單元(Cpu) 102、GPU 104、DSP 108,作為第二處理器之實例,顯示 單元124 ’及記憶體模組116,例如’ 一或多個隨機存取記 憶體(RAM)記憶體模組。計算器件1〇〇之組件(例如,cpu 102、GPU 104、DSP 108及記憶體模組116)可使用可包含 任何類型之匯流排的匯流排106或現在已知或稍後發現之 器件互連來通信。CPU 102可包含通用或專用微處理器。 舉例而言,CPU 102可包含由具有位於世界各處之辦公 至’包括 Irvine,CA ’ 且母公司為 Cambridge,UK之 ARlv!
Holdings PLC之ARM Inc·設計的精簡指令集電腦(pjsc)處 136489.doc 200935350 理器。藉助於另一非限制性實例,CPU 1〇2可包含由Sa吻 Clara,Calif0rniaiIntel c〇rp〇rati〇n提供之c〇re 2處理器或 另-類型的微處理器。GPU 104為專用綠圖計算器件。舉 例而言,GPU 1〇4可為由Sunnyvaie,CA之AMD提供之 Imageon媒體共處理器或另一類型之繪圖處理單元。舉例 而言,GPU 104可經整合於計算器件1〇〇之主機板中,可存 在於安裝於計算器件100之主機板中的琿中之繪圖卡上, 或可另外經組態以與計算器件1〇〇互操作。 舉例而言,耦接至計算器件1〇〇之顯示單元124可包含監 視器、電視、投影器件、液晶顯示器、電漿顯示面板發 光二極體(LED)陣列、陰極射線管顯示器、電子紙、表面 導電電子發射顯示器(SED)、雷射電視顯示器、奈米晶體 顯示器,或另一類型之顯示單元。在圖丨之實例中,顯示 單元124可為計算器件100之一部分。舉例而言顯示單元 124可為行動電話之榮幕。或者,舉例而言,顯示單元124 可在電腦器件100外部且可經由有線或無線通信連接或其 他連接與計算器件100通信。藉助於非限制性實例,顯示 單元124可為經由有線或無線連接而連接至個人電腦之電 腦監視器或平板顯示器。 藉助於非限制性實例,軟體應用程式丨1〇可包含能夠經 由CPU 102執行之任何軟體應用程式,諸如視訊遊戲、緣 圖使用者介面引擎、電腦輔助工程設計程式或藝術應用程 式,或使用二維(2D)或三維(3D)繪圖之另一類型之軟體應 用程式。藉助於非限制性實例,當CPU 1〇2執行軟體應用 I36489.doc 200935350 程式110時’軟體應用程式110可調用繪圖處理應用程式設 計介面(API) 112之次常式,諸如OpenVG API、OpenGL API、Direct3D API、繪圖器件介面(GDI)、Quartz、 QuickDraw中之任何一或多者或另一類型之2D或3D繪圖處 理 API。 根據至少一實施例’當軟體應用程式1丨〇調用繪圖處理 API 112之次常式時’繪圖處理API 112調用gpu驅動程式 114之一或多個次常式,其經由計算器件ι〇〇上之cpu 102 Ο 執行。舉例而言,GPU驅動程式114可包含提供繪圖處理 API 112與GPU 104之間的介面之軟體及/或韌體指令的集 合。當繪圖處理API 112調用GPU驅動程式114之次常式 時,GPU驅動程式114公式化且發出使GPu 1〇4產生可顯示 繪圖資訊之命令。舉例而言,當繪圖處理API 1丨2調用 GPU驅動程式114之次常式以繪製,或再現一批繪圖基元 時,GPU驅動程式114對GPU 104提供Gpu 1〇4用以再現該 批繪圖基元之處理組態。舉例而言,Gpu i 〇4再現該批繪 ® 圖基元’且輸出繪圖基元之光栅影像。 由GPU驅動程式114公式化之命令可識別Gpu 1〇4待使用 以執行命令之繪圖處理組態,該(等)組態可識別待由Gpu 1〇4執行之指令之集合、狀態暫存器值之集合,及ϋρυ 1〇4 執行命令可能需要的其他類型之資訊。 在GpU驅動程式114將繪圖處理組態儲存於記憶體〗16中 之狀況下,GPU驅動程式114可參考記憶體模組116中對應 於由GPU驅動程式114公式化之命令中的繪圖處理組態之 136489.doc -13- 200935350 儲存位置。當GPU 104接收命令時,GPU 104可自記憶體 116擷取自GPU驅動程式114接收之命令中所參考的繪圖處 理組態。 根據至少一實施例,GPU 104之命令解碼器(未圖示)解 碼來自GPU驅動程式114之命令且組態GPU 104的處理元件 中之一或多者以使用自記憶體116擷取之資料(例如,位 置、色彩 '紋理等)執行命令。 根據一或多個實施例,GPU 104之處理元件或模組實施 〇 繪圖管線。根據此等實施例,GPU 104之處理元件可以並 行模式實施繪圖管線,使得處理元件對資料並行操作,來 自一處理元件之輸出用作對另一處理元件之輸入。藉助於 非限制性實例,第一處理元件對初始輸入資料之第一集合 執行第一繪圖操作且將中間結果之第一集合輸出至第二處 理元件《舉例而言,初始輸入資料可包含對應於一或多個 頂點之資料,該資料可包含座標及屬性資料。頂點座標基 ❹ 例如)具有X、丫及2(寬度、高度及深度)座標之四維座 標系統識別影像内之位置,且w座標形成齊次座標 (h〇m〇genous coordinate)。舉例而言,頂點屬性可包括與 頂點相關聯之色彩、法線及紋理座標。第二處理元件可對 由第一處理元件輸出之中間結果之第一集合執行另一繪圖 操作,且將中間結果的第二集合輸出至第三處理元件等。 當第二處理元件執行第二繪圖操作時,第一處理元件可對 初始輸入資料之第二集合執行第一繪圖操作。 GPU 1〇4及其處理元件可以此方式繼續’直至最後處理 136489.doc -14- 200935350 疋件對記憶體模組116中之一或多個緩衝器輸出像素物 件,或對某其他目的地輸出此新像素物件為止。像素物件 為描述像素之資料。每一像素物件可指定多個色彩值,且 可指定像素之透明度級別。在一些情形下’像素物件可以 第一色彩格式指定第一色彩且以第二色彩格式指定第二色 彩。 根據本發明之一或多個實施例,Gpu 1〇4之處理模組可 包括由GPU 104執行之軟體 '專用硬體模組及/或經組態以 0 執行GPU 1G4之處理模組中之—或多者的可程式化處理模 組。舉例而言,GPU 1〇4之處理模組實施繪圖管線,其可 包含頂點著色器、基元總成、視埠變換、基元設立、光柵 化、隱藏基元及像素拒絕、屬性設立、屬性内插法及片斷 著色器級。 本發明之實施例可對DSP 108或其他第二處理器指派第 二用途以操作使用於繪圖管線中之資料。根據一或多個實 ❹ j例’第二用途不同於第二處理器之第一用途。舉例而 言,DSP 1〇8可用以處理音訊及視訊資料,且可進一步用 以實施對繪圖管線資料操作之一或多個照明模組。如此一 來,第二處理器可補充另外用以實施繪圖管線之資源。 根據本發明之實施例,當判定第二處理器未用於其第一 目的時’使用第二處理器。舉例而言,在判定Dsp 1〇8為 間置,亦即,未處理音訊或視訊資料之狀況下,進行請求 以結合繪圖管線分配DSP 1〇8用作第二處理器。在此狀況 下,DSP 108可用以對繪圖管線資料執行某形式之第二處 136489.doc -15- 200935350 理(例如,照明)或其他處理(例如,修飾)等 圖2說明包含根據本發明之一或多個實施例使用之組件 及組件間通信的方塊圖。第二處理管理模組(SPMM)或第 二處理管理器202結合一或多個第二處理介面模組(SPIM) 管理第二處理。根據一或多個實施例,SPMM及SPIM模組 為獨立模組。或者,SPMM及SPIM模組中之一或多者經組 合以形成單一模組。作為又一替代,SPMM及SPIM模組中 之一或多者可與其他程式碼整合。藉助於非限制性實例’ ❹ SPIM可與執行第二處理之程式碼整合,及/或SPIM可與執 行繪圖管線之模組的程式碼整合。SPMM 202判定是否可 能使用第二處理器,對第二處理器提供包含一或多個命令 之命令流,及同步藉由第二處理及一或多個繪圖管線處理 模組之資料存取,由第二處理器操作之繪圖管線資料係整 合於由繪圖管線處理之資料中。 在圖2中所示之實例中,DSP 108用作第二處理器。應顯 而易見,根據本發明之一或多個實施例’任何處理單元可
A ¥ 用作第二處理器。當應用程式110發出繪製呼叫時,SPMM 202接收通知220。SPMM 202分析由應用程式110提供之繪 製呼叫,及相關聯之資訊,以判定繪製呼叫的處理是否包 括可由第二處理器執行之處理。舉例而言’ SPMM 202判 定繪製呼叫之處理是否涉及一或多個照明模型對色彩資料 之應用。藉助於另一非限制性實例,SPMM 202可檢驗繪 製呼叫以判定是否應用修飾。 在SPMM 202判定處理可由第二處理器執行之狀況下, 136489.doc -16- 200935350 SPMM 202試圖分配第二處理器用於第二處理。舉例而 言,SPMM 202與DSP 108之即時作業系統(RTOS) 206通信 222以請求DSP 108 »通信222包括由RTOS 206使用之回呼 以通知SPMM 202 DSP 1 08是否可用,例如,SPMM 202之 分配請求是否成功。若RTOS 206判定DSP 108可用,例 如,不用於其第一目的,則RTOS 206載入DSP模組208 ’ 其包含第二處理模組208B及第二處理介面模組(SPIM) 208A。 φ 第二處理模組208B包含用以執行第二處理之程式碼。 SPIM 208A包含經組態以與SPMM 202介面連接之程式 碼,諸如經由通信路徑228提供反饋至記憶體模組116中之 反饋記憶體區域216A。SPMM 202經由通信路徑226提供資 訊至SPIM 208A,該資訊識別反饋區域216A、輸入資料及 輸出資料之儲存位置,例如,資料緩衝器216C中之位置。 另外,SPIM 208A提供資訊至處理模組208B,該資訊可由 處理模組208B使用以執行第二處理,例如,照明。 〇 根據一或多個實施例,SPMM 202使用通信路徑226以提 供由處理模組208B使用之與被稱作命令之流或命令流之命 令集合相關聯的資訊。根據一或多個此等實施例,SPMM 202傳達初始訊息至SPIM 208A,該訊息包含對儲存於記憶 體模組116之命令流區域216B中的命令流之第一命令之指 標,及對記憶體模組116中之反饋區域216A之指標。簡要 地,命令流中之命令包括識別輸入及輸出資料在資料缓衝 器21 6C中之位置、反饋216A的位置、對流中之下一命令 136489.doc 200935350 的指標或當前命令為最後命令之指示的資訊,及其他資 訊,諸如在DSP模組208執行照明的狀況下使用之照明模 型。下文更詳細地描述命令之内容。 SPMM 202經由通信路徑224將每一命令載入至命令流 2 16B中且經由通信路徑226將對命令流21 6B中之第一命令 的指標轉發至SPIM 208A且將由SPMM 202發送的初始訊 息轉發至SPIM 208A。此後,SPIM 208A使用第一,或當 前命令中含有之資訊來定位命令流216B中之下一命令,或 0 將第一/當前命令識別為最後命令。SPIM 208A可基於命令 流中之給定命令中含有之資訊及由SPMM 202經由通信路 徑226提供的初始資訊存取反饋216A、命令流216B及/或資 料緩衝器216C。舉例而言,包括SPIM 208A及處理模組 208B之DSP模組208可經由通信路徑228存取記憶體116之 一或多個區域。 資料緩衝器216C中所含有之資料由處理模組208B及繪 圖管線處理模組218兩者使用。在模組208B與模組218中之 W 至少一者之間存在至少一資料相依性之狀況下,SPMM 202基於儲存於反饋216A中由SPIM 208A提供的資訊及由 結合繪圖管線處理模組218操作之SPIM 214提供之資訊同 步藉由模組208B及218之資料存取。舉例而言,SPMM 202 可使用反饋216A中之資訊以通知SPIM 214發光色彩資料可 用於藉由一或多個繪圖管線處理模組218之處理。藉助於 另一非限制性實例,一旦SPMM 202判定對應於由剖切模 組所需要之所有基元的色彩資料已由處理模組208B處理, 136489.doc -18- 200935350 則可使發光色彩資料對繪圖管線處理模組218的剖切模組 可用。SPMM 202及SPIM 214可經由通信通路232通信,例 如,SPIM 214通知SPMM 202繪圖管線處理模組218中之一 或多者準備好處理資料,及/或SPMM 202通知SPIM 214資 料可用以由繪圖管線處理模組218處理。 另外,SPMM 202可使用反饋區域216A中之資訊以判定 命令流216B中之區域何時可藉由命令流中之新命令覆寫。 藉助於非限制性實例,反饋216A包含識別由第二處理模組 φ 208B完成之最新命令之資訊。在第二處理模組208B不再 存取命令流216B中之命令,且SPMM 202判定不再需要命 令之狀況下,SPMM 202可選擇使用該區域用於命令流中 的新命令。SPMM 202可能判定在繪圖管線已完成處理對 應於命令之繪圖管線資料之狀況下不再需要命令。
根據一或多個實施例,SPMM 202、SPIM 208A及SPIM 214包含由一或多個處理單元或處理器執行之程式碼。此 等處理單元可包括(但不限於)CPU 103、DSP 108及GPU w 104。藉助於非限制性實例,SPMM 202及SPIM 214包含由 CPU 103執行之程式碼,且SPIM 208A包含由DSP 108執行 之程式碼。藉助於另一非限制性實例,SPMM 202之程式 碼由CPU 103執行,SPIM 214包含由GPU 104執行之程式 碼且SPIM 208A包含由DSP 108執行之程式碼。然而,應 顯而易見,任何一或多個處理單元可用以實施SPMM 202、SPIM 208A及SPIM 214之程式碼。藉助於另一非限 制性實例,匯流排106可用以促進SPMM 202、RTOS 136489.doc -19- 200935350 206、包含SPIM 208A及處理模組208B之DSP模組208、記 憶體模組116、SPIM 214與繪圖管線處理模組21 8之間的通 信路徑220、222、224、226、228、23 0 及 232及/或通信。 舉例而言,通信路徑230可由繪圖管線處理模組218中之一 或多者使用以存取儲存於資料緩衝器216C中之繪圖管線資 料。 包含圖3A及圖3B之圖3說明實施根據本發明之一或多個 實施例的SPMM 202之程式碼處理流程。在步驟302處, 〇 SPMM 202接收繪製呼叫,例如,由應用程式110對繪圖 API 112進行之呼叫。在步驟304處,SPMM 202檢驗繪製 呼叫以識別使用第二處理之機會。舉例而言,SPMM 202 可檢驗繪製呼叫以識別應用程式11 0是否請求一或多個照 明模型應用於色彩資料。若SPMM 202在步驟306處自繪製 呼叫之檢驗結果判定不存在第二處理機會,則處理在步驟 3 12處繼續以通知繪圖管線(例如,SPIM 214)不存在第二 處理。舉例而言,此通知消除SPIM 2 14協調藉由繪圖管線 ® 處理模組21 8對儲存於資料緩衝器216C中之資料之存取的 需要。 若SPMM 202在步驟306處判定存在使用第二處理之機 會,則處理在步驟308處繼續,其中SPMM 202請求第二處 理器。舉例而言,SPMM 202發送請求至DSP 108之RTOS 206以載入DSP模組208 ’且提供用於rt〇s 206之回呼以通 知SPMM 202 SPMM 202之請求成功或失敗。若在步驟310 處判定RTOS 206通知SPMM 202請求失敗,則處理在步驟 136489.doc •20- 200935350 3 12處繼續以通知繪圖管線不存在第二處理。在此狀況下 且根據一或多個實施例,SPMM 202可通知CPU 102執行照 明。 若RTOS 206通知SPMM 202第二處理器之請求成功,貝ij 處理在圖3B之步驟332處繼續。在步驟322處,SPMM 202 準備命令流中之第一命令且將第一命令儲存於命令流21 6B 中。根據一或多個實施例,SPMM 202使用鏈接清單方法 以將命令流傳達至第二處理器。藉助於非限制性實例,每 φ 一命令含有對下一命令之指標。藉助於另一非限制性實 例,命令可含有對命令流中之任何命令之指標,諸如對命 令流中之前一命令之指標。在當前命令為最後命令之狀況 下,對下一命令之指標含有一值,例如,OxFFFFFFFF之 十六進位值,其將當前命令識別為最後命令。 根據一或多個實施例,SPMM 202在其將命令儲存於命 令流216B中時可能未知是否存在額外命令。在此狀況下, SPMM 202將零值儲存為對鏈接清單中之下一命令的指標 ® 以通知SPIM 208A可能存在額外命令。在模組208B完成與 當前命令相關聯之處理之狀況下,SPIM 208A考慮完成不 久之命令中之指標以定位命令流216B中之下一命令(若存 在)。若指標經設定為零值,則SPIM 208A已知SPMM 202 未更新指標。在此狀況下,SPIM 208A可在檢查指標前等 待一時間週期以明瞭SPMM 202是否已更新指標。若指標 具有非零值,則SPIM 208A檢驗該值以判定其指向命令流 21 6B中之下一命令,或指示所完成之命令為命令流中之最 136489.doc -21 · 200935350 後命令。在後者狀況下,SPMM 202可在指標中儲存一值 (例如,OxFFFFFFFF之十六進位值)以通知SPIM 208A在當 前命令流中不存在待處理之更多命令,且DSP 108可用以 執行其第一或其他處理。 在步驟324處,SPMM 202將含有對應於第一命令之資訊 的初始訊息發送至第二處理器。由SPMM 202發送至SPIM 208A之訊息具有對應於第一命令之資訊。由SPMM 202發 送之訊息通知第二處理器其可開始處理,且提供資訊以定 ❹ 位第一命令。根據本發明之一或多個實施例,且參看圖 7,初始訊息700包含對命令流記憶體2 16B中之命令的指標 702、識別命令流記憶體21 6B中之命令的儲存區域之大小 的資訊704,及對記憶體模組216之反饋21 6A儲存區域的指 標706。再次參看圖3B,在SPMM 202在步驟324處發送通 知命令流中之第一命令之第二處理器的訊息之後,SPMM 202處理在步驟326處繼續以判定命令流中是否存在額外命 令0 © 若SPMM 202在步驟326處判定存在待產生用於當前繪製 呼叫之至少一額外命令,則處理在步驟328處繼續。在步 驟328處,SPMM 202準備新命令且在命令流216B中儲存新 命令。在步驟330處,SPMM 202設定命令流216B中之前不 久命令(例如,第一命令)中之指標以指向命令流21 6B中的 新命令,例如,指向命令流21 6B中新命令待儲存之位置。 如同第一命令,新命令及任何隨後命令含有指向下一命令 (若下一命令由SPMM 202產生)之指標,或新命令為最後命 136489.doc -22- 200935350 令(若不存在下一命令)之指示符。根據一或多個實施例, 在初始訊息經發送至第二處理器之後,SPMM 202及第二 處理器之處理模組(例如,DSP模組208)經由命令流216B及 反饋2 16 A通信。如此一來,耗用可經最小化,因為兩個處 理模組之間不存在發送訊息之需要。DSP模組208導航命 令流216B中之命令之鏈接清單以處理資料,且藉由將狀態 資訊寫入至記憶體模組216的反饋216A而將反饋提供至 SPMM。根據一或多個實施例,DSP模組208相對於SPMM φ 202及繪圖管線處理模組218非同步且獨立地操作。 一旦SPMM 202更新先前命令中之指標以指向新命令, 則處理在步驟326處繼續以判定任何額外命令是否保持待 產生。若任何額外命令未保持待產生,則處理在步驟332 處繼續以將最後命令中所含有之指標更新為一值(例如, OxFFFFFFFF之十六進位值)以通知SPIM 208A該命令為當 前命令流216B中之最後命令,且處理對於當前繪製呼叫結 束。若存在額外繪製呼叫,處理在步驟332處繼續以結合 © 另一繪製呼叫準備命令流。 SPIM 208A提供SPMM 202與處理模組208B之間的介 面。根據一或多個實施例,SPIM 208八接收對應於由8?11^[ 202產生之命令流的資訊,促進由處理模組208B執行的處 理,監視處理模組208B之處理狀態,且提供關於處理模組 208B之處理之反饋。圖4說明實施根據本發明之一或多個 實施例之SPIM 208A的程式碼處理流程。 在步驟402處,SPIM 208A接收來自SPIM 202之初始化 136489.doc -23 · 200935350 訊息。藉助於非限制性實例,SPIM 208八接收初始化訊息 700,其包括對命令流216β中對應於第一命令之位置的指 標、識別第一命令之大小(例如,以位元組為單位)之資訊 704,及對反饋216A區域中之位置的指標7〇6。在步驟4〇4 處,SPIM 208A使用訊息700中之資訊來定位命令流216B 中之第一命令,及識別當前命令是否為最後命令。 在步驟406處,SPIM 208A使當前命令中所含有之資訊 對處理模組208B可用。舉例而言,位置資訊(例如,指標 _ 及大小 > 成)用以起始資料移動操作以存取(例如,載入及/ 或儲存)資料緩衝器216C中之資料。另外,命令可包括資 料緩衝器216C中之色彩資料之位置,諸如對與第一頂點相 關聯之輸入色彩資料的指標,及添加至指標以定位下一頂 點之色彩資料的增量。當前命令可進一步包含對資料緩衝 器216C中與第一頂點相關聯之輸出緩衝器中之位置的指 標,以及定位與下一頂點相關聯之色彩資料之輸出位置的 增量。藉助於另一非限制性實例,在處理模組2〇8B執行照 ® 明之狀況下,當前命令可包括一或多個照明模型。作為另 非限制性實例,在處理模組2〇8B執行修飾之狀況下,命 7可包括修飾矩陣。根據一或多個實施例,第一命令可提 供照明模型或修飾矩陣之完整集合,後續命令識別先前命 令中指定之照明模型或修飾矩陣之任何改變。 在步驟408處,SPIM 208A監視處理模組2〇8B之進度, 且在步驟410處藉由識別由處理模組208B執行之處理之狀 態的資訊更新反饋216中的資訊。圖8提供可儲存於根據本 136489.doc • 24- 200935350 發明之一或多個實施例之反饋216A中之資訊的實例。根據 一或多個此等實施例’每一命令識別頂點之有限集合,且 一旦處理模組20 8B已處理與由命令識別之頂點相關聯之頂 點資料’則命令被視為完成◊反饋216A可包含識別由處理 模組208B完成之最新命令的資訊,例如,最後命令識別符 (ID) 802 ’及對命令流2ΐόΒ中之命令的指標804。
❿ 再次參看圖4 ’ SPIM 208Α在步驟404處繼續使用當前命 令中之資訊來使在處理中使用之資料對處理模組2〇8B可 用’且藉由第二處理之狀態更新反饋216A。 如上文所論述且根據一或多個實施例,第二處理器與 SPMM 202及繪圖管線處理模組218非同步且獨立地操作。 然而,在至少一狀況下,第二處理(例如,由Dsp模組2〇8 執行之處理)與由繪圖管線處理模組218執行之處理同步, 使得由第二處理器處理且待由繪圖管線處理模組2丨8進一 步處理之資料經同步。在此狀況下,SPMM 2〇2結合可提 供繪圖管線處理模組218與SPMM 202之間的介面之spiM 214操作,以管理藉由繪圖管線處理模組218之資料存取使 得模組218使用已由第二處理器處理之資料。根據一或多 個實施例,SPMM 202及SPIM 214可包含單一模組。 圖5說明用於根據本發明之一或多個實施例使用之同步 程式碼處理流程。根據一或多個實施例,繪圖管線及Qpu 104對基元之區塊操作,其中每一者具有頂點之集合。舉 例而言,在基元包含三角形之狀況下,每一基元具有三個 頂點之相關聯集合。基元之區塊可表示為基元及其頂點之 136489.doc -25- 200935350 清單。根據一或多個實施例,SPMM 202判定對於給定基 元β單中之基元是否待執行第二處理,且設定基元清單中 之值(例如’邏輯值)以指示第二處理是否與基元清單中所 識別之基元一起使用。 根據或多個實施例’基元清單中設定之值可由spmM 202使用以判定與待由繪圖管線處理之基元相關聯的資料 疋否首先由第二處理器處理。在步驟502處,SPMM 202存 取基兀清單中設定之值,且在步驟504處,SPMM 202判定 ® 是否正使用第二處理。若SPMM 202在步驟504處判定正執 行第二處理,則SPMM 2〇2同步藉由繪圖管線處理模組218 對正由第二處理器處理之資料的存取,使得第二處理器在 使k料對模組21 8可用之前完成其對待由繪圖管線處理模 組218進一步處理的資料之處理。 藉助於非限制性實例,若基元清單中所儲存之值指示未 使用第二處理,則由繪圖管線處理模組218存取之資料無 需與由第二處理模組208B存取的資料同步。在此狀況下, 繪圖管線處理模組218可以非同步模式操作,其不涉及同 步繪圖管線處理模組21 8對頂點資料之使用與此頂點資料 藉由第二處理模組2〇叩之使用之間的資料存取。在基元清 單中所儲存之值指示正使用第二處理之狀況下,繪圖管線 處理模組218以同步模式操作,以將模組218對頂點資料之 存取與處理模組208B的資料存取同步。 右寊料存取待同步,則根據—或多個實施例,SpMM 202在步驟5〇6處使用由SPiM 2〇8八提供之反饋資訊判定處 136489.doc * 26 - 200935350 理模組208B之狀態。根據一或多個實施例,spiM之⑽八將 資訊儲存於反饋216A中,該資訊藉由識別由處理模組 208B完成之最後基元來識別處理模組2〇8B之處理狀態。 根據一或多個實施例,基元經指派順序識別符,使得 SPMM 202靶夠在步驟5〇8處且基於由SpIM 2〇8A供應之反 饋資訊判定識別符等於或小於由spiM 2〇8A供應之基元識 別符的基元已由處理模組2〇8B完成。在步驟51〇處, SPMM 202結合SPIM 214允許繪圖處理模組218存取資料緩 〇 衝器216C中所儲存與經判定已由處理模組208B處理之基 元相關聯的資料。 包含圖6A及圖6B之圖6提供根據本發明之一或多個實施 例的同步實例。參看圖6A,模組6〇4及6〇8提供繪圖管線處 理模組218之實例,其存取資料緩衝器216(:中所儲存之資 料。在非同步模式中,前變換緩衝器6〇2儲存頂點資料, 其包括位置資料’例如,Χ、γ、2及w座標資料、紋理資 冑及色彩資料。前變換緩衝⑽2巾所儲存之色彩資料包 含發光色彩資料,或已以不同於使用第二處理器之方式經 歷照明處理的色彩資料。舉例而t,此可為SPMM 2〇2判 定第二處理器(例如,Dsp 1〇8)不可用於第二處理之狀 況。在此狀況下,CPU 1〇2可執行照明且將值儲存於前變 換緩衝器602中。 在非同步模式中,模型檢視變換模組604擷取包括發光 色彩資料之頂點資料,對不同於發光色彩資料之頂點資料 操作且將頂點資料儲存於後變換緩衝器606中。在非同步 136489.doc -27- 200935350 模式中’模型檢視變換模組604經指導以傳送色彩資料與 其他頂點資料。儘管變換模組604未修改色彩資料,但是 其自前變換緩衝器602擷取發光色彩資料且如所指導將發 光色彩資料儲存於後變換緩衝器606中,使得色彩資料可 用於由鳍·圖官線中之隨後模組(例如,視埠變換模組6〇8)處 理。在圖6A中所示之實例中,視埠變換模組6〇8存取後變 換緩衝器606以擷取由模型檢視變換模組614轉發之發光色 彩資料’且在其變換操作中使用發光色彩資料,例如,内 φ 插色彩資料。 圖6B說明涉及處於第二處理同步模式之變換模組6〇4與 608及緩衝器602與606之處理。在圖6B中所示之實例中, 第二處理器610(例如’實施處理模組2〇8B2dsp ι〇8)自前 變換緩衝器602擷取不發光頂點色彩資料連同位置資料。 第二處理器610使用所擷取資訊連同其他資料(例如,照明 模型資料、修飾矩陣資料等)以處理色彩資料。在照明之 狀況下,第二處理器610使用一或多個照明模型及頂點資 ® 料’以產生第二處理器610在使用命令流216B中所含有之 資訊識別之位置處儲存於後變換緩衝器606中的發光頂點 色彩資料。 在非同步模式中,模型檢視變換模組604將色彩資料寫 入至後變換緩衝器606。然而,若變換模組604將色彩資料 寫入至後變換緩衝器6〇6,則變換模組604可覆寫由第二處 理器610寫入至緩衝器6〇6之發光色彩資料。在同步模式 中’模型檢視變換模組6〇4接收通知(例如,來自SPIM 214 136489.doc -28 - 200935350 之通知)以不將色彩資料傳送至後變換緩衝器606。藉由作 為由模型檢視變換模組604寫入至後變換緩衝器6〇6之頂點 資料之部分之色彩資料的前述傳送,變換模組6〇4避免覆 寫由第二處理器610寫入至後變換緩衝器6〇6之發光色彩資 料。 在同步模式中’ SPIM 214可提供儲存於後變換緩衝器 606中之資料的狀態,使得視埠變換模組6〇8擷取包括由第 二處理器610輸出之發光色彩資料的頂點資料。藉助於非 ❹ 限制性實例’ SPMM 202及SPIM 214可監視反饋216Α以識 別第一處理器61 0是否已處理與視埠變換模組6 〇 8待處理之 基元相關聯的頂點,使得模組608處理包括發光色彩資料 的頂點資料。舉例而言,命令可包括使命令與頂點正由命 令處理之基元清單相關聯的資訊。根據一或多個實施例, 命令與相關聯之基元清單之間存在一對一對應性,使得一 命令由第二處理器6 1 0使用以處理相關聯之基元清單中之 所有基元。由此,一旦處理對給定命令係判定為將完成, 則相關聯之基元清單中之基元將可由視埠變換模組6〇8處 理。 根據一或多個實施例,每一命令被提供識別符,且命令 識別符以順序次序經指派。如此一來,可能基於反饋216Α 中所含有之最後命令識別符802資訊判定給定命令之處理 是否完成。舉例而言,具有等於或小於最後命令ID 802中 所識別之值之命令識別符值的命令被視為由第二處理器 61〇完成,而具有大於最後命令ID 802值之命令識別符值 136489.doc -29- 200935350 的命令被視為未由第二處理器610完成。 圖9根據本發明之一或多個實施例說明命令流及命令流 中所包括之一或多個命令的例示性内容。命令流216B包含 一或多個命令9〇〇。每一命令900包含命令9〇〇之—或多個 資訊項°以下提供命令流中之命令900之内容的非限制性 實例’其包括用於與經組態以對頂點操作之程式碼—起使 用的資訊,諸如照明或修飾程式碼。應顯而易見,其他資 訊可添加或用以替換以下論述之資訊,該資訊可經調試以 ® 與由根據本發明之一或多個實施例的第二處理器使用之任 何程式碼互操作。 資訊項902及904包含用於與當前命令9〇〇 一起使用之識 別資訊。根據一或多個實施例,以下資訊可用以促進第二 處理管理及控制。以下提供此等資訊項之實例: 時戳:識別正由第二處理器處理之當前命令。舉例而 言,SPIM 208A可在反饋213A中輸出此時戳以指示第二處 理器當前正處理此命令。 基π時戳:變數包含用於識別對應於當前命令900之基 兀*/月單之時戳。舉例而言,基元時戳之值可用以將命令 900映射至給定基元。基元時戳可由第二處理器忽略。 粒度:用於根據一或多個實施例使用之可選變數。粒度 變數指示與命令900相關聯之頂點的數目,該等頂點包含 與命令900相關聯之頂點群組或頂點的子集。根據一或多 個實施例,第二處理器輸出資訊作為反饋以指示包含已處 理之頂點群組之頂點的數目。在命令9〇〇處理頂點之狀況 136489.doc -30- 200935350 下’粒度指導SPIM 208A在多個頂點(例如,頂點群組)的 完成後即提供反饋’該等頂點為與命令900相關聯之項點 之子集。使用粒度值’ SPIM 208A可隨每一頂點群組經處 理而提供反饋’該反饋可另外為在第二處理器完成處理與 命令900相關聯之所有頂點時由SPIM 208A提供之反饋,由 此提供額外及/或更精細級別之反饋。 vertexCount :包含指示待結合當前命令900處理之頂點 之數目的值之變數。 〇 nextCommandGroupSize :此變數識別下一命令之大小。 若不存在下一鏈接命令’則變數可經設定為零。否則,值 包含反映下一命令中所含有之位元組之數目的值。 nextCommandGroupPtr :此變數包含下一命令ID資訊9〇4 之全部或一部分,其可包含對命令流216B中之下一命令的 指標。若不存在下一命令,則值可經設定為空值。否則, 值包含對對應於下一命令之初始儲存位置之記憶體位置的 指標,例如,在命令流216B中。 資訊項906包含可用以定位所儲存之資料(例如,資料緩 衝器216C中所儲存之資料)之資訊(例如,指標及跨距)。以 下提供此等資訊項之實例: vertexInPtr :包含對含有輸入頂點位置之緩衝器之指標 的變數。根據一或多個實施例,此變數之值為空值。藉助 於非限制性實例,正由第二處理器執行之照明程式可在處 理涉及無限照明模型之狀況下使用與頂點相關聯之法線而 非位置資訊。在處理涉及聚光照明(sp〇tlighting)或位置照 136489.doc -31 · 200935350 明模型中之一或多者之狀況下,vertexInPtr可用作對儲存 待處理之一或多個頂點之位置資料的儲存器之指標。 vertexOutPtr :包含對可供第二處理器寫入經修飾頂點 之緩衝器之指標的變數。vertexOutPtr變數用於第二處理 器執行修飾之狀況下。 colorsInPtr :包含對儲存頂點色彩(RGBA)之缓衝器之指 標的變數。紅色、綠色、藍色及阿伐值集合中之每一集合 包含頂點色彩群組。在執行雙面照明之狀況下,緩衝器在 〇 緩衝器中接連儲存兩個頂點色彩群組。每一頂點色彩群組 由vertexOutSize位元組分離,使得下一頂點色彩群組可藉 由將vertexOutSize變數之值添加至當前colorsInPtr值來定 位。若colorsInPtr變數具有空值,則材料資料結構用作每 一頂點之輸入色彩群組。 colorsOutPtr :包含對儲存由第二處理器產生之色彩輸 出之緩衝器的指標之變數。在致能雙面照明之狀況下,兩 個色彩群組由第二處理器對於每一頂點接連輸出。每一頂 ❿ 點色彩群組由vertexOutSize位元組分離。 normalsInPtr :包含對含有對應於由vertexInPtr所指之頂 點(例如,當前正由第二處理器處理之頂點)之頂點法線的 緩衝器之指標的變數。若normalsInPtr變數具有空值,則 第二處理器使用CurrentNormal用於所有頂點。 bonelndicesPtr :包含對在修飾頂點中使用之矩陣調色板 編索引之位元組陣列之指標的變數。藉助於非限制性實 例,索引之數目等於頂點之數目乘以每頂點骨之數目,例 136489.doc •32· 200935350 如,如由boneCount變數所指示。 boneWeightsPtr :指向含有可在頂點修飾處理期間使用 之S15.16骨重量之緩衝器的變數。藉助於非限制性實例, 重量之數目等於頂點之數目乘以每頂點骨之數目,例如, 如由boneCount變數所指示。 vertexInSize :指示一輸入頂點結構(每頂點)中含有之位 元組之數目的變數。藉助於非限制性實例,與此變數相關 聯之值可用作計算頂點緩衝器中之下一頂點位置的跨距。 ⑩ vertexOutAndColorSize :識別一輸出頂點結構(每頂點) 中所含有之位元組之數目的變數。藉助於非限制性實例, 與此變數相關聯之值可用作計算位置或色彩之下一輸出位 置的跨距。 numDimensions :指定每位置向量元素之數目的變數(3 =XYZ),(4=XYZW)。若數目為3,則W可假設為1.0。藉助 於非限制性實例,與此變數相關聯之值可用作計算對下一 頂點之位置資料之指標的跨距。 ® 資訊項908包含可用於第二處理中之其他處理資訊。以 下提供此等資訊項之實例:
CurrentNormal (XYZ):含有在 normalsInPtr 為空值指標 值之狀況下使用之法線的變數。此法線應用於命令流中參 考之所有頂點。 rescaleNormalsFlag :指示是否重新縮放頂點法線之變 數。若旗標經設定(例如,設定為OxFFFFFFFF之值),則第 二處理器在照明等式之前按照0卩611〇1^£3規範(第2.11.3節) 136489.doc -33· 200935350 重新縮放頂點法線。
ReSCaleNormalizeFlag :指示何時重新縮放頂點法線之 變數。若第-有效位元(例如,位元〇)經設定,則第二處理 器如在OpenGL-ES規範(第2.n.3節)中所指定在變換之後但 在照明前正規化法線。綠元!經設定,貝"二處理器可 使用如在OpenGL規範中所陳述之重新縮放法線演算法或 使用所有狀況下之標準正規化。因為正規化可在所有狀泥
下使用,所以無論何時正規化法線為適當的時位元〇可經 設定’且當准許第二處理器使用重新縮放法線作為替代時 位元1亦可經設定。 twoSidedLightingFUg:指示是否執行雙面照明之變數。 若旗標經設定(例如,設定為0xFFFFFFFF之值),則第二處 理器計算每頂點兩個色彩,頂點之每—側具有—個色_ (相對於法線)°根據一或多個實施例f twoSidedUghtingFUg可用以指示存在多個色彩例如與 頂點相關聯之每一側具有一個色彩。 nghtingEnabledFiag :用以指示是否執行照明之變數。 若旗標經設定(例如,設定為0xFFFFFFFF之值),則第_ 理器執行對頂點之照明計算且視是否致$ twoSidedUghting旗標而輸出每頂點—或兩個色彩。根j -或多個實施例,在於執行多個操作(例如,照明及 之第二處理期間視情況執行照明之狀況下可使 lightingEnabledFlag。 用 numActiveUghts:指定每頂點待應用之燈之數目的變 136489.doc -34- 200935350 數。根據一或多個實施例,支援達至8個燈,且有效燈處 於數字次序。(例如,3個有效燈指代燈〇、1、2)。 numLightsUpdated :指定由 lightinglnfoPtr變數值所指向 之照明資訊陣列之數目的變數。根據一或多個實施例,與 命令一起發送之燈資訊陣列在對當前命令之頂點執行照明 計算之前經更新,且未更新之任何有效燈使用其先前值。 lightUpdateMask :包含指示待使用 lightingInf〇Arrayptr 更新哪些燈之位元攔位的變數。位元集合之數目對應於 〇 numLightsUpdated項。最低有效位元對應於燈〇 ’且位元7 對應於燈7。右没定最高有效位元(〇χ8〇〇〇),則存在當前指 令之經更新之材料結構。 材料:可用以(若需要)更新照明模型資料之資料結構, 若此資料經更新《此結構之存在可藉由設定 lightUpdateMask變數之最高有效位元組之值來識別。下文 提供材料資料結構定義之實例。
UpdatedLights :包含(若需要)照明資訊結構(其中每一者 ® 包含自最後命令以來已改變之燈之新資料)之數目(例如, numLightsUpdated)的資料結構。根據一或多個實施例第 二處理使用lightUpdateMask變數以將燈結構映射至正更新 之實際燈。 boneCount :包含修飾中待使用之每頂點骨之數目的變 數。根據一或多個實施例,若該值等於〇(零),則第二處理 器應用包含MVT之矩陣調色板[〇],但在此狀況下不輸出 經變換之頂點,例如,使得眼空間頂點僅用於照明計算。 136489.doc -35- 200935350
MatrixPalettePtr-包含對含有矩陣調色板項之4χ4固定點 矩陣的緩衝器之指標的變數自最後CCG改變。此緩衝器之 大小由includedMatricesSize項指示且索引映射含於 MPInUse位元遮罩中。 includedMatricesSize :指示由 matrixPalettePtr所指向之 矩陣調色板之位元組之大小的變數。根據一或多個實施 例’緩衝器僅需包括經更新之矩陣,且]^1>1111186遮罩變數 中之欄位用以判定複寫資料的適當索引位置。 ® MPInUseO-15 : 16位元遮罩,其中每一位元集合對應於 由matrixPalettePtr變數所指向之緩衝器中所包括之經更新 的矩陣調色板。舉例而言,最低有效位元對應於矩陣索引 〇 ’而最高有效位元對應於矩陣索引丨5。 MPInUsel6-31 : 16位元遮罩,其中每一位元集合對應於 由matdXpaletteptr所指向之緩衝器中所包括之經更新的矩 陣調色板《舉例而言,最低有效位元對應於矩陣索引16, 而最高有效位元對應於矩陣索引3 1。 MPInUse32_47: 16位元遮罩,其中每一位元集合對應於 由rnatrixpalettePtr所指向之緩衝器中所包括之經更新的矩 陣調色板。舉例而言,最低有效位元對應於矩陣索引32 , 而最高有效位元對應於矩陣索引47。 以下提供可由根據本發明之一或多個實施例執行之第二 處理(例如,照明)所使用的材料資料結構之内容的實例: 燈模型環境場景色彩(RGBA)·包含可用於照明模型之環 境場景色彩集合。 136489.doc -36 - 200935350 材料發射性(RGBA)-包含可用於材料發射性色彩之固定 點RGBA色彩集合。 材料環境(RGBA)-包含可用於材料環境色彩之固定點 RGBA色彩集合。 材料漫射性(RGBA)-包含可用於材料漫射色彩之固定點 RGBA色彩集合。 材料鏡面反射性(RGBA)-包含可用於材料鏡面反射性色 彩之固定點RGB A色彩集合。 〇 材料鏡面反射性指數-包含固定點材料鏡面反射性指數 因子,其可在0.0與128.0之間變化。 以下提供可由根據一或多個實施例之第二處理使用之資 料結構(例如,燈模型資料結構)的額外實例。藉助於非限 制性實例,燈模型資料結構可存在用於在第二處理中所執 行之照明中所使用的每一燈模型。 環境(RGB A)-包含環境光分量之固定點值。 聚光燈向量(XYZ)-包含聚光燈方向向量,若使用聚光 ® 燈。 漫射性(RGBA)-包含漫射性分量之固定點值。 鏡面反射性(RGBA)-包含鏡面反射性分量之固定點值。 聚光燈截止餘弦-包含聚光燈之餘弦截止值。舉例而 言,餘弦值可自1.0至〇_〇(〇度至90度)或-1(180度)變化。 在-1(1 80度)之特殊狀況下,光為全向光且非聚光燈。 聚光燈指數-包含固定點聚光燈分量(若使用聚光燈)。 燈位置(XYZW)-包含固定點光位置或方向。若W分量之 136489.doc -37- 200935350 若w為零 值為0,則光為無限方向光,否則其為位置燈 衣減且聚光燈值可忽略。 衰減因子(怪定)-包含衰減因子之怪定值 衰減因子(線性)-包含衰減因子之線性分量 衰減因子(二次)_包含衰減因子之二次分量 其中第 本發明之實施例提供_種系統、方法及裝置〜步一 處理器單元經組態以對纷圖管線資料操作,來自第二:理 器之輸出經整合於緣圖管線中,使得輸出對在繪圖管線中 執行的-或多個模組可用。根據此等實施例,進行是否使 用第一處理器之判定,且在待使用第二處理器之狀況下, 將可包含-或多個命令之命令流提供至第二處理器,。第二 處理使用含於命令流中之資訊且與一或多個綠圖管理 模組同步對經緩衝之緣圖管線資料操作,使得第二處理器 的處理模組或任何緣圖管線處理模組皆未覆寫資料。 SPMM結合-或多個spiM而操作以使用包含第二處理模組 ❿ 之處理狀態的反饋資訊同步藉由第二處理及㈣管線處理 模組的資料存取。 如此-來’本發明之實施例提供使用可用第二處理器平 衡處理負載之能力。可以其他方式保持閒置之第二處理器 可用以促進由緣圖處理單元執行之緣圖管線處理及/或由 :央處理單元或其他處理單元執行的處理。由此,舉例而 言’可以其他方式等待處理資源之操作可經指引至可用第 處理器此產生更快輸送量。有利地,已判定使用第二 處理器相比未使用第二處理器之處理存在輸送量之增加;· 136489.doc -38- 200935350 例如,如按每秒圖框來量測。 ^ 卜,本發明之實施例可使 y第-處理反饋之貝訊來執行負㈣衡 當判定第-虛拥哭、“丨蛛 達到特疋臨限處理級別。 虽判疋弟一處理|§達到臨限處 « _ ^ « . Α 谷重時,處理可經指引至 另處理單兀》,諸如中央處理單元。 另外,本發明之實施例提供利 〜用思理早兀用於不同於其 弟一處理目的之能力以執行一或 # Ϊ® - -Γ a \ 、他第一功能(若此 處理早70可用)。可以其他方夫 ❺ 鲁 〇 置之此硬體(例如,處理 單元)之使用產生硬體之更有效率之使用。 在-或多個例示性實施例中,所描述之功能可以硬體、 軟體及/或㈣,或任何組合實施。若以硬體實施,功能 可實施於-或多個微處理器、微控制器、數位信號處理器 (㈣)、特殊應用積體電路(ASCI)、場可程式化間陣列 (福)或其類似物中。此等組件可駐留於通信系統、資料 寫入及/或讀取系統或其㈣統内1以軟體實施,則可 將該等功能作為-或多個指令或程式碼而儲存於電腦可讀 媒體上或經由電腦可讀媒體來傳輸。電腦可讀媒體包括有 形電腦f諸存媒體與通信媒體(包括促進電腦程式自一位置 轉移至另一位置之任何媒體)。儲存媒體可為可由電腦存 取之任何可用媒體。藉助於實例而非限制,此等電腦可讀 媒體可包含RAM、快閃記憶體、唯讀記憶體(r〇m)、電可 抹除可程式化唯讀記憶體(EEPR〇M)、緊密光碟唯讀記憶 體(CD-ROM)或其他光碟儲存器件、磁碟儲存器件或其他 磁性儲存器件,或可用以儲存呈指令或資料結構之形式的 136489.doc -39- 200935350 所要程式碼且可由電腦存取的任何其他媒體。術語"電腦 可讀媒體”亦可定義為有形電腦程式產品。如本文所使 用,磁碟及光碟包括緊密光碟(CD)、雷射光碟、光碟、數 位化通用光碟(DVD)、軟性磁碟及藍光⑻u_ray)光碟,其 中”磁碟”通常以磁性方式再生資料,而”光碟„用雷射以光 學方式再生資料。上述各物之組合亦應包括在電腦可讀媒 體之範疇内。 儘管已依據當前被視為最實際且較佳實施例之内容來描 © 豸該裝置及方法,但是應理解,本發明無需限於所揭示之 實施例。意欲涵蓋包括於申請專利範圍之精神及範疇内之 各種修改及類似配置,申請專利範圍之範疇應符合最廣泛 之解譯以涵蓋所有此等修改及類似結構。本發明包括以下 申請專利範圍之任何及所有實施例。 【圖式簡單說明】 圖1為說明用於根據本發明之一或多個實施例使用之例 示性器件的方塊圖。 _ ® 2說明包含根據本發日月之—或多個實施例使用之組件 及組件間通信的方塊圖。 包含圖3A及圖3B之圖3說明實施根據本發明之一或多個 實施例的第二處理管理模組之程式碼處理流程。 圖4說明實施根據本發明之一或多個實施例之第二處理 介面模組的程式碼處理流程。 圖5說明用於根據本發明之一或多個實施例使用之同步 程式碼處理流程。 136489.doc •40· 200935350 包含圖6Α及圖6Β之圖6提供根據本發明之一或多個實施 例的同步實例。 圖7提供經轉發至根據本發明之一或多個實施例的第二 處理模組之組態訊息中所含有的資訊之實例。 圖8提供可儲存於根據本發明之一或多個實施例之反饋 216Α中之資訊的實例。 圖9根據本發明之一或多個實施例說明命令流及命令流 中所包括之一或多個命令的例示性内容。 Φ
【主要元件符號說明】 100 計算器件/電腦器件 102 中央處理單元(CPU) 104 GPU 106 匯流排 108 DSP 110 軟體應用程式 112 繪圖處理應用程式設計介面(API) 114 GPU驅動程式 116 記憶體模組/記憶體 124 顯示單元 202 第二處理管理模組(SPMM)或第二 處理管理器 206 即時作業系統(RTOS) 208 DSP模組 208Α 第二處理介面模組(SPIM) 136489.doc 200935350
208B 214 216A 216B 216C 218 220 222 224 226 228 230 232 602 604 606 608 610 700 702 704
第二處理模組 SPIM 反饋記憶體區域/反饋 命令流區域/命令流/命令流記憶體 資料緩衝器 繪圖管線處理模組 通信路徑 通信路徑 通信路徑 通信路徑 通信路徑 通信路徑 通信路徑/通信通路 前變換緩衝器 模型檢視變換模組 後變換緩衝器 視埠變換模組 第二處理器 初始訊息/初始化訊息 對命令流記憶體216B中之命令的指標 識別命令流記憶體216B中之命令的 儲存區域之大小的資訊/識別第一 命令之大小(例如,以位元組為單 位)之資訊 136489.doc -42- 706 200935350 802 804 900-1 900-N 902 ❹ 904 906 908 對記憶體模組216之反饋216A儲存 區域的指標/對反饋216A區域中之 位置的指標 最後命令識別符(ID) 對命令流2 1 6B中之命令的指標 命令 命令 資訊項 資訊項 資訊項 資訊項
136489.doc .43,

Claims (1)

  1. 200935350 十、申謗專利範圍·· 1. 一種方法,其包含: 回應於一繪製請求,判定一處 繪皁凡疋否可用以輔助 繪圖S線處理,該處理單元具 姓 开角第處理功能; 切求該處理單元之分配以執行一 啊叮不同於該處理單元之 孩第一處理功能的第二處理功 理. 处力迠,以輔助繪圖管線處 在該分配請求成功之一狀況下·· ❹ ❹ 使繪圖管線資料對該處理單元可用; 監視該處理單元之一處理狀態;及 使用該處理狀態,將由該虛 π W邊恳理皁π輸出之資料整合 於該繪圖.管線資料中^ 2. 如請求項丨之方法,其 „ 紙主早70包含一數位信號處 且該第二處理功能包令 ^ 犯巴坌或多個照明功能。 3. 如請求項1之方法,其中該虚琿萤_ 神獎 丹平该處理單兀包含-數位信號處 理器,且該第二處理功能包. ,,^ ^ ^ 3或多個修飾功能。 4. 如印求項1之方法,進一步包含: 判定該處理單元是否正執行其第—處理功能;及 在該處理單元未執行其第一處理功能之一狀況下,分 配該處理單元。 5. 如請求項1之方法,装φΑ分八 、 在該刀配請求成功之一狀況 下,該方法進一步包含: 產生—命令流,以傳達待由該處理單元使用之資訊。 6·如請求項1之方法,其中該將由該處理單元輸出之資料 136489.doc 200935350 整合於該繪圖管線資料中進一步包含: 識別一涉及該處理單元及一或多個繪圖管線處理模組 之資料相依性; 使用該處理狀態來判定該處理單元是否完成處理該資 料相依性中所涉及之依賴性資料;及 使該一或多個繪圖管線處理模組等待該依賴性資料, 直至該處理單元完成處理該依賴性資料為止。 一種裝置,其包含:
    8. 一繪圖處理單元,其經組態以實施一繪圖管線;及 一第二處理管理器,其耦接至該繪圖處理單元,該第 二處理管理器經組態以: 判定一耦接至該第二處理管理器之處理單元是否可用 以輔助繪圖管線處理,該處理單元具有一第一處理功 能; 請求該處理單元之分配以執行一不同於該處理單元之 該第-處理功能之第二處理功能,以輔助繪圖管線處 理; ’該第二處理管理器進 在該分配請求成功之一狀況下 一步經組態以: 使繪圖管線資料對該處理單元可用; 監視該處理單元之一處理狀態;及 出之資料整合 一數位信號處 使用該處理狀態,將由該處理單元輸 於該續圖管線資料中。 如請求項7之裝置,其中該處理單元包含 I36489.doc 參 ❹ 200935350 理器,且马· @ $ 9. 如請求項;:裝二置能包含一或多個照明功能。 理器,且該第L!中該處理單元包含一數位信號處 10. 如請求項7之捉要 X夕调修飾功旎。 a 7之裝置,進一步包含—分 第二處理管理器,該分配器經組態以配器’其麵接至該 理單元是否正執行其第一處理功能;及 在該處理單元未執行其第一處理功能之 配該處理單元。 况下’为 11. 如請求項7之裝置,袞由 …一 其中在該分配請求成功之—狀、、牙 亥第二處理管理器進一步經組態以: , 產生一命令流,以傳達待由該處理單元使 12. 如請求項7之裝置,其中 貧訊 之資料整合於該繪圖管線資料甲’出 -步經組態以: U第—處理官理器進 識別一涉及該處理單元及一七夕 之資料相依性; 或夕個綠圖管線處理模纪 使用該處理狀態判定該處理單元是否完成處理 相依性中所涉及之依賴性資料;及 M科 使該一或多個緣圖管線處理模組等待該依賴性資料 直至該處理單元完成處理該依賴性資料為止。 , α-種電腦可讀記憶體媒體,其中儲存有電腦可執行 碼’該程式碼包含用於以下之程式碼. 式 回應於-繪製請求,判定-處理單元是否可用 缚圖管線處理,該處理單元具有—第—處理功能;補助 136489.doc 200935350 不同於該處理單元之 ’以辅助繪圖管線處 請求該處理單元之分配以執行一 該第一處理功能的第二處理功能 理; 在該分配請求成功之一狀況下: 使繪圖管線資料對該處理單元可用; 監視該處理單元之 使用該處理狀態, 於該繪圖管線資料中 一處理狀態;及 將由該處理單元輸出之資料整合
    14. 如請求項13之媒體,其中該虛 恳理単疋包含一數位信號處 理器,且該第二處理功能包含—或多個照明功能。 15. 如請求項13之媒體,#中該處理單元包含—數位信號處 理器’且該第二處理功能包含-或多個修飾功能。 1 6.如請求項1 3之媒體,其中判定— 助繪圖管線處理之該程式碼進一 碼· 處理單元是否可用以輔 步包含用於以下之程式
    判定該處理單元是^執行其第—處理功能。 17.如請求項13之媒體’進-步包含用於以下之程式碼: 判定該處理單元是否正執杆装 巩仃再第一處理功能;及 在該處理單元未執行其第一虛 丹弗處理功能之一狀況下,分 配該處理單元。 18.如請求項13之媒體,其中在缔 丹T在該分配請求成功之一狀況 下’該程式碼進一 產生一命令流, 19.如請求項13之媒體 步包含用於以下之程式碼: 以傳達待由該處理單元使用之資訊。 ,其中將由該處理單元輸出之資料整 J36489.doc 200935350 合於崎圖管線資料中之該程式碼進一步包含用於以下 之程式碼: t = f涉及該處理單元及—或多個繪圖管線處理模組 义資料相依性; 使用該處理狀態判定該處理單元是否完成處理 相依性中所涉及之依賴性資料;及 使該—或多個緣圖管線處理模組等待該依賴性資料, 直至該處理單元完成處理該依賴性資料為止。 Φ 20· 一種裝置,其包含: -繪圖處理單元’其經組態以實施一繪圖管線;及 -第二處理管理構件’其耦接至該繪 第二處理管理構件包含: 单7"該 ^用於判定-純至該第二處理管理構件之處理單元 是否可用以輔助緣圖管線處理的構件,肖處理單元且 有一第一處理功能; ’、 ❹ 詩請求該處理單元之分配以執行—不同於該處理 卓疋之第-處理功能之第二處理功能以輔助 處理的構件; ^ 在該分配請求成功之-狀況τ ’該第 件進一步包含: “里構 用於使繪圖管線資料對該處理單元可用的構件. 用於監視該處理單元之一處理狀態的構件;及 用於使用該處理狀態將由該處理單元輪出之資/ 整合於該繪圖管線資料中的構件。 貧料 136489.doc 200935350 21. 如請求項20之裝置,装 π罝#中該處理早元包含一數 理器,且該第二處理功一 , ^ 3 或多個照明功能。 22. 如請求項20之裝置,其理 理器,且,[者 處 數位信號處 第-處理功能包含-或多個修飾功能。 23. 如請求項20之裝置,進一 ^ 3耦接至該第二處理瞢 理構件的分配構件,該分配構件包含: 用於判定該處理單元是否正執 件;及 ”丹弟一處理功能的構 用於在該處理單元未執行其第一處理功能之一狀 分配該處理單元的構件。 ’ 24. 如請求項20之裝置,1中在哕八 〒在该刀配請求成功之一狀況 下,該第二處理管理構件進一步包含: 用於產生一命令流以傳達待由該處理單元使用之資訊 的構件。 參 25. 如請求項20之裝置,其中該用於將由該處理單元輸出之 資料整合於該繪圖管線資料中的構件進一步包含. 用於識別-涉及該處理單元及一或多個繪圖管 模組之資料相依性的構件; 用於使㈣處理狀態判定該處理單元是否完成處理該 資料相依性中所涉及之依賴性資料的構件;及 用於使該-或多個緣圖管線處理模組等待該依賴性資 料直至該處理單元完成處理該依賴性資料為止的構件。 136489.doc -6 *
TW097146520A 2007-11-30 2008-11-28 System and method for using a secondary processor in a graphics system TW200935350A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/948,710 US8922565B2 (en) 2007-11-30 2007-11-30 System and method for using a secondary processor in a graphics system

Publications (1)

Publication Number Publication Date
TW200935350A true TW200935350A (en) 2009-08-16

Family

ID=40385500

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097146520A TW200935350A (en) 2007-11-30 2008-11-28 System and method for using a secondary processor in a graphics system

Country Status (7)

Country Link
US (1) US8922565B2 (zh)
EP (1) EP2068279B1 (zh)
JP (1) JP5032670B2 (zh)
KR (2) KR20120125395A (zh)
CN (1) CN101911111B (zh)
TW (1) TW200935350A (zh)
WO (1) WO2009073516A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9626940B2 (en) 2013-02-28 2017-04-18 Kabushiki Kaisha Toshiba Data processing device, display control device, semiconductor chip, method of controlling display device, and computer-readable medium

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110043518A1 (en) * 2009-08-21 2011-02-24 Nicolas Galoppo Von Borries Techniques to store and retrieve image data
US8817031B2 (en) * 2009-10-02 2014-08-26 Nvidia Corporation Distributed stream output in a parallel processing unit
US8810592B2 (en) * 2009-10-09 2014-08-19 Nvidia Corporation Vertex attribute buffer for inline immediate attributes and constants
US8963797B2 (en) 2010-01-06 2015-02-24 Apple Inc. Display driving architectures
CN103105959A (zh) * 2011-11-09 2013-05-15 昆盈企业股份有限公司 数字绘图系统及其数字调色方法
US9019289B2 (en) * 2012-03-07 2015-04-28 Qualcomm Incorporated Execution of graphics and non-graphics applications on a graphics processing unit
WO2013137894A1 (en) * 2012-03-16 2013-09-19 Intel Corporation Techniques for a secure graphics architecture
US10559123B2 (en) 2012-04-04 2020-02-11 Qualcomm Incorporated Patched shading in graphics processing
KR20130123645A (ko) * 2012-05-03 2013-11-13 삼성전자주식회사 그래픽 처리 장치를 위한 동적 로드 밸런싱 장치 및 방법
CN103164839B (zh) * 2013-03-07 2019-06-21 华为技术有限公司 一种绘图方法、装置及终端
US9449410B2 (en) 2013-04-11 2016-09-20 Qualcomm Incorporated Intra-frame timestamps for tile-based rendering
CN103327413A (zh) * 2013-06-26 2013-09-25 四川长虹电器股份有限公司 一种在智能电视中实现alpha动画的方法
US11302054B2 (en) 2014-04-05 2022-04-12 Sony Interactive Entertainment Europe Limited Varying effective resolution by screen location by changing active color sample count within multiple render targets
US9495790B2 (en) 2014-04-05 2016-11-15 Sony Interactive Entertainment America Llc Gradient adjustment for texture mapping to non-orthonormal grid
KR101923562B1 (ko) 2014-04-05 2018-11-29 소니 인터랙티브 엔터테인먼트 아메리카 엘엘씨 가변 렌더링 및 래스터화 파라미터 하에서 가변 뷰포트에 대하여 오브젝트를 효율적으로 리렌더링하는 방법
US9836816B2 (en) 2014-04-05 2017-12-05 Sony Interactive Entertainment America Llc Varying effective resolution by screen location in graphics processing by approximating projection of vertices onto curved viewport
US10068311B2 (en) 2014-04-05 2018-09-04 Sony Interacive Entertainment LLC Varying effective resolution by screen location by changing active color sample count within multiple render targets
US9710881B2 (en) 2014-04-05 2017-07-18 Sony Interactive Entertainment America Llc Varying effective resolution by screen location by altering rasterization parameters
US10783696B2 (en) 2014-04-05 2020-09-22 Sony Interactive Entertainment LLC Gradient adjustment for texture mapping to non-orthonormal grid
US9865074B2 (en) 2014-04-05 2018-01-09 Sony Interactive Entertainment America Llc Method for efficient construction of high resolution display buffers
US9710957B2 (en) 2014-04-05 2017-07-18 Sony Interactive Entertainment America Llc Graphics processing enhancement by tracking object and/or primitive identifiers
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
KR102521654B1 (ko) * 2016-01-25 2023-04-13 삼성전자주식회사 컴퓨팅 시스템 및 컴퓨팅 시스템에서 타일-기반 렌더링의 그래픽스 파이프라인을 수행하는 방법
KR102657586B1 (ko) * 2016-10-28 2024-04-15 삼성전자주식회사 그래픽스 데이터를 관리하는 방법 및 장치
US10685473B2 (en) * 2017-05-31 2020-06-16 Vmware, Inc. Emulation of geometry shaders and stream output using compute shaders
US11107177B1 (en) * 2017-06-16 2021-08-31 Amazon Technologies, Inc. Data/metadata synchronization using metadata queue statistics
WO2019075702A1 (en) * 2017-10-19 2019-04-25 Tencent Technology (Shenzhen) Company Limited METHODS AND SYSTEMS FOR PROCESSING GRAPHICS
US10818067B1 (en) * 2019-05-31 2020-10-27 Texas Instruments Incorporated GPU assist using DSP pre-processor system and method
US20230186872A1 (en) * 2020-06-23 2023-06-15 Qualcomm Incorporated Power demand reduction for image generation for displays
CN114996491A (zh) * 2022-04-22 2022-09-02 武汉光庭信息技术股份有限公司 一种全液晶仪表显示性能优化方法和系统

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4866637A (en) * 1987-10-30 1989-09-12 International Business Machines Corporation Pipelined lighting model processing system for a graphics workstation's shading function
US6469746B1 (en) * 1992-12-28 2002-10-22 Sanyo Electric Co., Ltd. Multi-vision screen adapter
US5798770A (en) * 1995-03-24 1998-08-25 3Dlabs Inc. Ltd. Graphics rendering system with reconfigurable pipeline sequence
US5764228A (en) * 1995-03-24 1998-06-09 3Dlabs Inc., Ltd. Graphics pre-processing and rendering system
KR100269106B1 (ko) * 1996-03-21 2000-11-01 윤종용 멀티프로세서 그래픽스 시스템
US6191800B1 (en) * 1998-08-11 2001-02-20 International Business Machines Corporation Dynamic balancing of graphics workloads using a tiling strategy
US6347344B1 (en) 1998-10-14 2002-02-12 Hitachi, Ltd. Integrated multimedia system with local processor, data transfer switch, processing modules, fixed functional unit, data streamer, interface unit and multiplexer, all integrated on multimedia processor
JP2000222590A (ja) * 1999-01-27 2000-08-11 Nec Corp 画像処理方法及び装置
US6545679B1 (en) 1999-12-27 2003-04-08 Microsoft Corporation View volume clip-check in object space
US6819325B2 (en) * 2000-03-07 2004-11-16 Microsoft Corporation API communications for vertex and pixel shaders
US7196710B1 (en) 2000-08-23 2007-03-27 Nintendo Co., Ltd. Method and apparatus for buffering graphics data in a graphics system
US6771269B1 (en) * 2001-01-12 2004-08-03 Ati International Srl Method and apparatus for improving processing throughput in a video graphics system
US6961064B2 (en) 2001-06-28 2005-11-01 Hewlett-Packard Development Company, L.P. System and method for combining graphics formats in a digital video pipeline
US6919896B2 (en) * 2002-03-11 2005-07-19 Sony Computer Entertainment Inc. System and method of optimizing graphics processing
US20040075623A1 (en) * 2002-10-17 2004-04-22 Microsoft Corporation Method and system for displaying images on multiple monitors
US7034837B2 (en) * 2003-05-05 2006-04-25 Silicon Graphics, Inc. Method, system, and computer program product for determining a structure of a graphics compositor tree
US7075541B2 (en) * 2003-08-18 2006-07-11 Nvidia Corporation Adaptive load balancing in a multi-processor graphics processing system
US6956579B1 (en) * 2003-08-18 2005-10-18 Nvidia Corporation Private addressing in a multi-processor graphics processing system
US7310722B2 (en) 2003-12-18 2007-12-18 Nvidia Corporation Across-thread out of order instruction dispatch in a multithreaded graphics processor
US7735093B2 (en) 2004-03-02 2010-06-08 Qualcomm Incorporated Method and apparatus for processing real-time command information
US6985152B2 (en) * 2004-04-23 2006-01-10 Nvidia Corporation Point-to-point bus bridging without a bridge controller
US7570267B2 (en) 2004-05-03 2009-08-04 Microsoft Corporation Systems and methods for providing an enhanced graphics pipeline
US6972769B1 (en) * 2004-09-02 2005-12-06 Nvidia Corporation Vertex texture cache returning hits out of order
WO2006034034A2 (en) 2004-09-16 2006-03-30 Nvidia Corporation Load balancing
US20070091088A1 (en) * 2005-10-14 2007-04-26 Via Technologies, Inc. System and method for managing the computation of graphics shading operations
US8144149B2 (en) * 2005-10-14 2012-03-27 Via Technologies, Inc. System and method for dynamically load balancing multiple shader stages in a shared pool of processing units
CN1928918B (zh) * 2005-10-14 2012-10-10 威盛电子股份有限公司 图形处理装置及于图形处理装置中执行着色操作的方法
US7325086B2 (en) * 2005-12-15 2008-01-29 Via Technologies, Inc. Method and system for multiple GPU support
US8284204B2 (en) * 2006-06-30 2012-10-09 Nokia Corporation Apparatus, method and a computer program product for providing a unified graphics pipeline for stereoscopic rendering
US8120608B2 (en) * 2008-04-04 2012-02-21 Via Technologies, Inc. Constant buffering for a computational core of a programmable graphics processing unit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9626940B2 (en) 2013-02-28 2017-04-18 Kabushiki Kaisha Toshiba Data processing device, display control device, semiconductor chip, method of controlling display device, and computer-readable medium

Also Published As

Publication number Publication date
US20090141033A1 (en) 2009-06-04
JP5032670B2 (ja) 2012-09-26
KR20100089896A (ko) 2010-08-12
CN101911111A (zh) 2010-12-08
JP2011505633A (ja) 2011-02-24
KR20120125395A (ko) 2012-11-14
EP2068279A1 (en) 2009-06-10
WO2009073516A1 (en) 2009-06-11
EP2068279B1 (en) 2018-04-18
KR101386180B1 (ko) 2014-04-17
CN101911111B (zh) 2013-05-01
US8922565B2 (en) 2014-12-30

Similar Documents

Publication Publication Date Title
TW200935350A (en) System and method for using a secondary processor in a graphics system
US9480914B2 (en) Online gaming
US20210312668A1 (en) Real time on-chip texture decompression using shader processors
EP3673463B1 (en) Rendering an image from computer graphics using two rendering computing devices
US6628277B1 (en) Decompression of three-dimensional graphics data using mesh buffer references to reduce redundancy of processing
US8542243B2 (en) High-compression texture mapping
US10776997B2 (en) Rendering an image from computer graphics using two rendering computing devices
US6459429B1 (en) Segmenting compressed graphics data for parallel decompression and rendering
JP6530728B2 (ja) 両眼視差映像に対するレンダリング方法及びその装置
US6919894B2 (en) Unified memory distributed across multiple nodes in a computer graphics system
JP6133490B2 (ja) タイルベースのレンダリングのためのイントラフレームタイムスタンプ
JP5616333B2 (ja) ジオメトリシェーダを用いる平面充填エンジンのためのシステム、方法及びコンピュータプログラム
EP1978483A1 (en) Indexes of graphics processing objects in graphics processing unit commands
WO2022095808A1 (zh) 基于Vulkan实现图形渲染的方法及相关装置
EP2973425A1 (en) System and method for remote generation indirect illumination sources in three-dimensional graphics
CN114028804A (zh) 流式传输压缩光场
CN111406277B (zh) 以图块为基础的低分辨率深度存储
US11501467B2 (en) Streaming a light field compressed utilizing lossless or lossy compression
JP2018529168A (ja) 帯域幅圧縮グラフィックスデータの記憶
EP1255227A1 (en) Vertices index processor
CN115934383A (zh) Wayland合成器下多显卡渲染方法
US20040085322A1 (en) System and method for performing BLTs
US6873331B2 (en) System and method for passing messages among processing nodes in a distributed system
CN115375821A (zh) 一种图像渲染方法、装置及服务器
RU2810701C2 (ru) Гибридный рендеринг