TW201909109A - 用於圖形處理的衝穿技術 - Google Patents
用於圖形處理的衝穿技術 Download PDFInfo
- Publication number
- TW201909109A TW201909109A TW107125609A TW107125609A TW201909109A TW 201909109 A TW201909109 A TW 201909109A TW 107125609 A TW107125609 A TW 107125609A TW 107125609 A TW107125609 A TW 107125609A TW 201909109 A TW201909109 A TW 201909109A
- Authority
- TW
- Taiwan
- Prior art keywords
- buffer
- feedback
- data
- shader
- circuitry
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/08—Volume rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/80—Shading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/363—Graphics controllers
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
Abstract
所揭示的技術係關於渲染需要著色器操作以判定可見度的圖形物件。在一些實施例中,一圖形單元經組態以處理反饋物件,該處理反饋物件可能需要著色以判定其等相對於先前處理的物件是否可見(不依繪製順序)。例如,在使用一緩衝器以儲存用於延遲渲染之片段資料的實施例中,該圖形單元可略過該緩衝器,並著色較早的非反饋物件(其等之片段資料經儲存在該緩衝器中)之前的反饋物件。此可允許判定是否自該緩衝器移除經遮擋的非反饋片段資料,其可減少圖形過度繪製。在所揭示的兩階段技術中,首先允許用於反饋物件的資料為了可見度著色而略過該緩衝器,但接著為了一第二階段而儲存在該緩衝器中以執行片段著色以實際判定像素屬性,其可進一步減少過度繪製。
Description
本揭露大致上係關於圖形處理器,且更具體地係關於用於渲染需要著色以判定可見度之圖形物件的技術。
一些圖形處理器使用一晶片上緩衝器來儲存經光柵化以促成延遲渲染之用於物件的可見片段(其亦可稱為基元)。基於圖塊的延遲渲染(TBDR)係使用圖塊緩衝器的一個實例。當後續物件(例如基於一圖形程式的一繪製順序而)經光柵化時,其等可覆寫用於圖塊緩衝器中之現有物件的資料。因此,在一給定的時間點處,圖塊緩衝器可儲存目前經判定為可見的片段資料,但稍後可在經著色之前由後續物件覆寫。最後,將來自圖塊緩衝器的資料發送至一可程式化著色器以供著色器處理以判定像素屬性(其等可儲存在一色彩緩衝器中,例如,其等可用以產生欲顯示之資料的一圖框緩衝器)。使用一圖塊緩衝器並丟棄用於經遮擋物件的資料可減少一圖形單元中的總體著色器處理。大致上,相對於立即模式渲染,TBDR技術在一圖形處理器中可需要較少的專用帶寬。
然而,一些物件需要片段著色操作來判定其等之最終可見度。此等物件可稱為反饋物件,且與圖塊緩衝器中之先前資料(例如在一像素或樣本粒度處)重疊的一反饋物件可強制排放圖塊緩衝器的部分至可程式化著色器,並可導致圖形單元為超出必要的像素著色(其通常稱為「過度繪製」)。減少過度繪製一般增加性能及/或減少一圖形單元中的功率消耗。
所揭示的技術係關於渲染需要著色器操作以判定可見度的圖形物件。在一些實施例中,一圖形單元經組態以處理反饋物件,該處理反饋物件可能需要著色以判定其等相對於先前處理的物件是否可見(不依繪製順序)。例如,在使用一緩衝器以儲存用於延遲渲染之片段資料的實施例中,該圖形單元可略過該緩衝器,並著色較早的非反饋物件(其等之片段資料經儲存在該緩衝器中)之前的反饋物件。此可允許判定是否自該緩衝器移除經遮擋的非反饋片段資料,其可(例如相對於傳統技術)減少過度繪製,因為一反饋物件將針對一在前的非反饋物件強制資料的排放及著色。
在一些實施例中,該經略過的反饋資料係用以基於該著色而更新一色彩緩衝器。在一些實施例中,一兩階段技術涉及允許用於反饋物件的資料略過該緩衝器以用於可見度著色,但接著儲存該緩衝器中之用於該等反饋物件的目前可見資料以等待一第二階段,以執行片段著色並實際判定像素屬性。在一些實施例中,該兩階段技術可進一步減少過度繪製,其係例如藉由允許繪製順序接續在該反饋物件之後的物件遮擋用於該反饋物件的片段資料,同時在該第一階段與該第二階段之間將該片段資料儲存在該緩衝器中。
本揭露初始參照圖1A至圖1B說明一圖形處理流程及一例示性圖形單元的廣義概述。圖2至圖3繪示用於延遲渲染之一片段管線及遮擋電路系統的例示性實施方案。圖4顯示用於兩技術的例示性定序,該兩技術用於允許反饋圖形物件略過一緩衝器以便不依繪製順序著色彼等物件。圖5繪示一例示性方法,圖6繪示一例示性裝置,且圖7繪示一例示性電腦可讀的媒體。在各種實施例中,所揭示的技術可減少圖形在渲染期間過度繪製,其繼而可改善性能及/或減少功率消耗。
圖形處理概述
參照圖1A,所顯示的係繪示一用於處理圖形資料之例示性處理流程100的流程圖。在一實施例中,變換及照明步驟110可涉及基於經界定的光源位置、反射率等處理自一應用程式接收之用於頂點的照明資訊;將頂點組裝成多邊形(例如三角形);及/或基於三維空間中的位置將多邊形變換成正確的大小及定向。剪輯步驟115可涉及丟棄落在一可視區外的多邊形或頂點。光柵化步驟120可涉及例如基於多邊形之頂點的紋理座標而在各多邊形內界定片段以及分派用於各片段的初始色值。片段可指定用於其等重疊之像素的屬性,但可基於組合多個片段(例如,在一圖框緩衝器中)及/或忽略一或多個片段(例如,若其等經其他物件覆蓋)來判定實際的像素屬性。著色步驟130可涉及基於照明、陰影、塊形映射、半透明度等變更像素組件。可在一圖框緩衝器135中組裝經著色的像素。現代GPU一般包括可程式化著色器,其等允許由應用程式開發人員客製化著色及其他處理步驟。因此,在各種實施例中,圖1A的例示性步驟可以各種順序執行、並行地執行、或省略。亦可實施額外的處理步驟。
現參照圖1B,所顯示的係繪示圖形單元150之一實施例的簡化方塊圖。在所繪示的實施例中,圖形單元150包括可程式化著色器160、頂點管185、片段管175、紋理處理單元(TPU) 165、影像寫入單元170、記憶體介面180、及紋理狀態快取190。在一些實施例中,圖形單元150經組態以使用可程式化著色器160處理頂點及片段資料兩者,該可程式化著色器可經組態以使用多個執行管線或執行個體來處理圖形資料。
在所繪示的實施例中,頂點管185可包括經組態以處理頂點資料的各種固定功能硬體。頂點管185可經組態以與可程式化著色器160通訊以便協調頂點處理。在所繪示的實施例中,頂點管185經組態以將經處理的資料發送至片段管175及/或可程式化著色器160以供進一步處理。
在所繪示的實施例中,片段管175可包括經組態以處理像素資料的各種固定功能硬體。片段管175可經組態以與可程式化著色器160通訊以便協調片段處理。片段管175可經組態以在來自頂點管185及/或可程式化著色器160的多邊形上執行光柵化,以產生片段資料。頂點管185及/或片段管175可經耦合至記憶體介面180(耦合未圖示)以便存取圖形資料。
在所繪示的實施例中,可程式化著色器160經組態以接收來自頂點管185之頂點資料以及來自片段管175及/或TPU 165之片段資料。可程式化著色器160可經組態以執行頂點資料上的頂點處理任務,其可包括頂點資料的各種變換及/或調整。在所繪示的實施例中,例如,可程式化著色器160亦經組態以執行像素資料上之片段處理任務(諸如紋理化及著色)。可程式化著色器160可包括用於並行處理資料的多個執行個體。
在所繪示的實施例中,TPU 165經組態以排程來自可程式化著色器160的片段處理任務。在一些實施例中,TPU 165經組態以預擷取紋理資料並將初始色彩分派給片段,以供可程式化著色器160的進一步處理(例如,經由記憶體介面180)。例如,TPU 165可經組態以正規化整數格式或浮點格式提供片段組件。在一些實施例中,TPU 165經組態以提供欲藉由可程式化著色器160中之一組四個的執行管線處理之呈2x2格式之一組四個的片段(一「片段方塊(fragment quad)」)。
在一些實施例中,影像寫入單元(IWU) 170經組態以儲存一影像之經處理的圖塊,並可在一經渲染影像經傳輸以供顯示或至記憶體以供儲存之前執行操作。在一些實施例中,圖形單元150經組態以執行基於圖塊的延遲渲染(TBDR)。在基於圖塊的渲染中,可分開處理螢幕空間的不同部分(例如,像素的正方形或矩形)。記憶體介面180可促成與各種實施例中之各種記憶體階層之一或多者的通訊。
在各種實施例中,一可程式化著色器(諸如可程式化著色器160)可以各種適當組態之任何者耦合至一圖形單元中的其他可程式化及/或固定功能元件。圖1B的例示性實施例為說明目的顯示圖形單元150的一個可行組態。
片段管概述
圖2係根據一些實施例繪示一例示性片段管175的方塊圖。在所繪示的實施例中,片段管175包括參數擷取電路系統210、掃描轉換器220、排序電路系統230、及像素資料主機240。在所繪示的實施例中,片段管175的各種元件經組態以與可程式化著色器160通訊。
在所繪示的實施例中,參數擷取電路系統210經組態以接收用於經處理之目前圖塊的圖塊及頂點資料205。此可經由一圖形記憶體階層的一或多個元件獲得,例如,其可含有各種快取階、共享記憶體結構等。頂點資料可指定用於一基元列表中與經處理之圖塊相交之各基元的頂點座標。資料205亦可含有將頂點資訊與經處理的圖塊相關聯及/或描述經處理之圖塊的各種資訊。如本文中所使用,用語「基元(primitive)」及「物件(object)」在圖形背景中可互換地使用,且係指一圖形單元經組態以處理的簡單幾何物件(例如,線、三角形、其他類型的多邊形、曲線等)。
在所繪示的實施例中,掃描轉換器220經組態以執行光柵化以基於頂點資料產生片段資料。用語「片段(fragment)」係意欲根據其為人所熟知的含義進行解釋,且片段資料可指定基於一給定基元著色一像素所需的資料(例如,針對片段、用於該片段的座標等指稱欲由可程式化著色器160執行的一或多個著色器程式),加上測試片段是否存活以為一對應像素貢獻屬性所需的資料(深度、α、模版、剪取、視窗ID等)。在一些渲染模式中,片段資料可包括用於每一片段/像素之多個樣本的資料。可在各種粒度層級之一或多者處指定片段資料(例如,片段資料可每樣本儲存或者可每片段、每物件、每圖塊等聚合)。
在所繪示的實施例中,排序電路系統230包括一或多個圖塊緩衝器235,且經組態以判定追蹤目前可見的片段係何者,直到該等片段經著色。例如,可自圖塊緩衝器235丟棄用於由在經渲染之一場景中較接近螢幕之一不透明物件所覆蓋之一片段的資料,因為該片段經判定為不可見。在各種實施例中,此等遮擋技術可減少可程式化著色器160所需的處理。在一些實施例中,排序電路系統230包括用於各經處理之圖塊之一分開的圖塊緩衝器,其可允許並行地渲染多個圖塊。進一步地,片段管175的多個執行個體可包括在一給定的圖形單元中,進一步增加用於並行處理的資源。
在一些實施例中,排序電路系統230經組態以根據一圖形程式中所指定的一繪製順序接收用於物件的片段資料。在一些實施例中,排序電路系統230經組態以與繪製順序不同的一順序著色用於物件的片段,如下文參照圖3進一步詳細討論者。例如,在一些實施例中,排序電路系統230經組態以使用所繪示的多工器(MUX)來略過(多個)圖塊緩衝器235,並在將其等儲存於(多個)圖塊緩衝器235中之前(或不將其等儲存於該(多個)圖塊緩衝器中的情況下)至少部分地著色某些類型的片段。
在所繪示的實施例中,可程式化著色器160經組態以基於著色片段資料而將深度反饋資訊215發送至掃描轉換器220。在其他實施例中,可程式化著色器160可直接將深度反饋215提供至排序電路系統230。此反饋資訊可指示經著色之反饋物件的深度,其可用以判定一圖塊緩衝器235中的資料是否經遮擋。在一些實施例中,此反饋資訊215可包括用於一反饋物件的資料,以供針對進一步著色之一圖塊緩衝器235中的佈置(例如,在一兩階段技術的第一階段之後,如下文進一步詳細討論者)。一旦完成著色一反饋物件以判定深度,排序電路系統230可經組態以自(多個)圖塊緩衝器235丟棄任何經遮擋的資料。
如本文中所使用,片段資料的「遮擋(occlusion)」係指一情況,其中片段資料經判定將不會在圖形資料的一圖框中實際上對像素屬性有貢獻。例如,遮擋係發生在當片段資料係用於在經渲染場景中之另一物件後面的一物件,且另一物件係不透明的時候。
在所繪示的實施例中,像素資料主機240經組態以將著色器工作發送至可程式化著色器160,例如以便著色(多個)圖塊緩衝器235的內容。在一些實施例中,像素資料主機240可經組態以回應於各種事件而排放一圖塊緩衝器235之內容的全部或一部分以供著色。在一些實施例中,圖形單元150包括多個資料主機,其等可包括經組態以將頂點工作發送至可程式化著色器160的一頂點資料主機以及經組態以將運算工作發送至可程式化著色器160的一運算資料主機。在一些實施例中,可程式化著色器160包括排程電路系統,該排程電路系統經組態以針對來自各種資料主機的工作分配可程式化著色器160中的硬體資源。
反饋物件概述
如上文所討論,「反饋(feedback)」物件可需要在排序電路系統230可判定用於反饋物件的片段是否目前可見或是否經先前處理的物件遮擋之前進行著色。反之,不透明物件係一「非反饋(non-feedback)」物件類型的一個實例,其之目前可見度(相對於深度已知的其他先前物件)可在未著色的情況下判定。如本文中所使用,用語「反饋物件(feedback object)」及「衝穿物件(punch-through object)」係可互換地使用。
在一些實施例中,「快速路徑(fast-path)」技術允許反饋物件不依繪製順序著色,例如使用路徑217略過一圖塊緩衝器235,並在繪製順序較早的一重疊物件之前進行著色。換言之,排序電路系統230可不將反饋物件儲存在一緩衝器中以供延遲渲染,但可立即著色此等物件。以此方式,用於反饋物件的著色可允許用以判定其他物件是否可見之一深度緩衝器的更新。相對於非快速路徑技術,此可減少過度繪製,其中著色經執行以產生非實際用於最終像素屬性的片段資料。例如,在非快速路徑技術中,可排放一圖塊緩衝器中的非反饋資料至可程式化著色器160以供著色,隨後將反饋資料發送至可程式化著色器160以供著色,即使在存在遮擋的情況下實際上可僅需要用於反饋或非反饋資料的著色亦然。進一步地,在一些實施例中,用於某些反饋物件之著色器的至少一部分係無法遮擋的,因此延遲渲染對於此等類型的反饋物件可係無用的。在快速路徑技術中,反饋結果可衝穿一圖塊緩衝器235中的非反饋資料,允許自緩衝器移除用於非反饋物件的資料而無需著色,而著色反饋物件的結果可用以更新一色彩緩衝器。
在下文進一步詳細討論的一些實施例中,用於反饋物件的著色器程式經分成兩部分:一可見度著色器及一片段著色器。可程式化著色器160可例如藉由經由一旁路路徑執行可見度著色器以及稍後在一圖塊緩衝器235中儲存資料之後執行片段著色器來分開處理此兩部分。此等技術可稱為「兩階段(two-pass)」衝穿。兩階段衝穿可具有快速路徑衝穿的效益,並可進一步減少過度繪製。例如,在用於一反饋物件的資料在一緩衝器235中等待其第二階段(在已執行著色器的可見度部分之後)的同時,後續物件可遮擋該緩衝器中的資料,其允許移除資料以防止過度繪製著色(其中當使用單階段快速路徑衝穿技術時此資料可能已經非必要的著色)。因此,兩階段技術可允許快速判定可見度,同時仍為反饋物件提供延遲渲染的效益。
例示性排序電路系統
圖3係根據一些實施例繪示排序電路系統230之例示性元件的方塊圖。在所繪示的實施例中,排序電路系統230包括深度排序電路系統310及標籤排序電路系統320。在其他實施例中,如本文中所述之由元件310及320執行的功能可由組合電路系統執行。圖2至圖3所揭示的電路系統係為說明目的而提供,而非意欲限制本揭露的範疇。在其他實施例中,可組合或省略元件,並可合併額外元件。
在所繪示的實施例中,深度排序電路系統310包括深度及模版測試電路系統324、深度緩衝器330、及模版緩衝器340。
在一些實施例中,深度及模版測試電路系統325經組態以自掃描轉換器220接收經光柵化的深度值(其可稱為z值)及用於各經處理之樣本的座標。電路系統325可經組態以執行各種測試以例如藉由在相同座標處比較所接收之樣本與先前接收之樣本的深度來判定是否應著色片段資料(例如,如深度緩衝器330中所保存者,該深度緩衝器可經組態以儲存各座標處之在螢幕空間中最接近之先前接收樣本的一指示)。類似地,電路系統325可經組態以比較傳入樣本的座標與模版緩衝器340中的值以限制渲染區。在所繪示的實施例中,合格樣本306係在電路系統325的測試中存活的樣本,且應基於目前已知的資料進行著色(儘管其等可經後續物件遮擋)。
在一些實施例中,深度排序電路系統310包括電路系統325的多個執行個體,以便(例如針對經處理的不同圖塊)並行處理來自掃描轉換器220的資料。在一些實施例中,深度排序電路系統310包括用於目前所處理之各圖塊之一分開的深度緩衝器及模版緩衝器。
在所繪示的實施例中,深度排序電路系統310經組態以直接將來自掃描轉換器220之用於反饋物件的資料發送至標籤排序電路系統320,而不執行深度及模版測試。相對於非反饋資料,此可允許不依繪製順序將反饋資料發送至可程式化著色器160。此可促成上文所討論之快速路徑及兩階段衝穿技術。因此,掃描轉換器220可經組態以提供至排序電路系統230的傳訊,其指示何種資料係用於反饋物件。
在所繪示的實施例中,標籤排序電路系統320包括分配單元355及標籤緩衝器360。在一些實施例中,分配單元355經組態以在受到新的合格樣本306遮擋時處理標籤緩衝器360中之舊資料的丟棄。在一些實施例中,標籤緩衝器360係一經組態以儲存片段資料直到該片段資料經著色或置換的圖塊緩衝器。因此,標籤緩衝器360可儲存目前經判定為可見但可在其著色之前經遮擋的資料。在所繪示的實施例中,標籤排序電路系統320包括一MUX,其經組態以在來自反饋旁路317及標籤緩衝器360的資料之間選擇以發送至可程式化著色器160以供著色。此可允許使用相同介面傳輸此片段資料。在其他實施例中,分開的介面可用於反饋資料及非反饋資料。
在各種實施例中,標籤緩衝器360經組態以儲存片段資料。標籤緩衝器360可經組態以聚合用於片段及/或樣本的某些資訊。用於片段及/或樣本的各種編碼中的任何者可用以在標籤緩衝器360中儲存資料。
在兩階段實施例中,標籤緩衝器360可經組態以在第一階段及第二階段之間儲存片段資料。在經由反饋旁路317之第一階段之後,用於反饋物件的片段資料可在經儲存於標籤緩衝器360中之前由電路系統325進行處理。可程式化著色器160隨後可針對標籤緩衝器360中之用於反饋物件之存活的片段資料執行第二階段。
快速路徑及兩階段衝穿定序實例
圖4係繪示用於不同衝穿技術之例示性處理步驟的圖。在所繪示的實施例中,繪製順序410始於物件A(一非反饋物件),隨後係物件B(一反饋物件),隨後繼而係物件C(另一非反饋物件)。如上文所討論,在一些實施例中,片段管175經組態以不依繪製順序著色反饋物件及非反饋物件。
操作420定出使用快速路徑衝穿之一用於著色物件A至C的例示性定序。在所繪示的實例中,掃描轉換器220光柵化物件A,接著深度排序電路系統310在物件A上執行一深度測試,之後標籤排序電路系統320在標籤緩衝器360中儲存用於物件A的合格資料。在所繪示的實例中,掃描轉換器220接著光柵化物件B,之後深度排序電路系統310繼續進行以使用旁路317發送物件B以供著色。須注意,此著色可在標籤緩衝器360中儲存用於物件A的資料之前或之後執行,但在各種實施例中,其係在已完全著色用於物件A的片段資料之前執行。
在所繪示的實例中,標籤排序電路系統320接著自標籤緩衝器360移除已(基於物件B的著色而)經遮擋之用於物件A的任何資料。例如,可程式化著色器160可指示掃描轉換器220及/或排序電路系統230應移除何種資料,或者可指示來自物件B之著色的深度資訊,其可用以判定用於物件A的何種資料經遮擋。
隨後,在所繪示的實例中,可程式化著色器160著色標籤緩衝器360的內容,包括標籤緩衝器360中之用於物件A的任何餘留資料。須注意,在此實例中,物件B資料可已在未曾儲存於標籤緩衝器360中的情況下基於其著色而更新一色彩緩衝器,且用於物件A的著色亦可更新該色彩緩衝器(反之,對兩階段衝穿而言,用於物件B的資料可儲存在標籤緩衝器360中)。
操作430定出使用兩階段衝穿之用於著色物件A至C的一例示性順序。在所繪示的實例中,掃描轉換器220光柵化物件A,接著深度排序電路系統310在物件A上執行一深度測試,之後標籤排序電路系統320在標籤緩衝器360中儲存用於物件A的合格資料。在所繪示的實例中,掃描轉換器220接著光柵化物件B,之後深度排序電路系統310繼續進行以使用旁路317發送物件B以供著色。
對兩階段衝穿實施例而言,片段管線175經組態以將用於反饋物件的一著色器程式分開成兩部分:足以判定可見度之一第一部分及指定額外的片段著色之一第二部分。此時,在所繪示的實例中,物件B係為了可見度而使用著色器程式的第一部分著色(第一著色器階段)。
在所繪示的實例中,深度排序電路系統310接著自可程式化著色器160接收指示可見度著色結果的資料,電路系統325對結果執行一或多個測試,且用於物件B的合格樣本係儲存在標籤緩衝器360中(導致標籤緩衝器360中之用於物件A的任何經遮擋資料的移除)。
在所繪示的實例中,可程式化著色器160接著在隨後的時間著色來自標籤緩衝器360的資料,包括用於物件A及物件B的任何餘留資料。在此實例中,此著色係用於物件B之兩階段衝穿的第二著色器階段。
須注意兩實例420及430均可避免用於物件A之經物件B遮擋之樣本的過度繪製。進一步地,當用於物件B的資料在標籤緩衝器360中時,實例430可避免用於物件B之經任何後續物件遮擋之樣本的過度繪製。
例示性方法
圖5係根據一些實施例針對反饋物件繪示用於略過儲存圖形資料以供延遲渲染之一緩衝器之一例示性方法500的流程圖。除其他裝置以外,圖5所示的方法還可結合本文所揭示的電腦系統、裝置、元件、或組件使用。在各種實施例中,所示之方法元件的一些可同時執行、以不同於所示的一順序執行、或者可省略。亦可依需要執行額外的方法元件。
在510處,於所繪示的實施例中,光柵電路系統(例如掃描轉換器220)根據由一圖形程式所指定的一繪製順序產生用於圖形物件的片段資料。在一些實施例中,片段資料係在每樣本粒度處經指定。在所繪示的實施例中,光柵電路系統產生用於反饋物件(其可見度相對於繪製順序中的在前物件係在執行一或多個著色器操作之後判定)及非反饋物件(其可見度相對於繪製順序中的在前物件係在執行針對該物件之任何著色操作之前判定)兩者的片段資料。片段資料可包括座標、深度資訊、至著色器碼的指標、繪製狀態等。
在520處,於所繪示的實施例中,一緩衝器(例如標籤緩衝器360或圖塊緩衝器235)儲存未經先前處理的物件遮擋的片段資料。在所繪示的實施例中,圖形單元丟棄經後續處理的物件遮擋之來自緩衝器的片段資料。此緩衝可以每圖塊為基礎執行,並可用以致能延遲渲染。大致說來,緩衝可嘗試在著色之前聚合儘可能多的片段資料並偵測儘可能多的遮擋以減少過度繪製。
在530處,於所繪示的實施例中,排序電路系統略過緩衝器,並在著色繪製順序早於一反饋物件之一非反饋物件之前著色該反饋物件。在一些實施例(諸如快速路徑實施例)中,著色可更新色彩緩衝器。在兩階段實施例中,著色可用以判定可見度,且可見的片段資料可儲存在圖塊緩衝器中。
在540處,於所繪示的實施例中,排序電路系統基於反饋物件的著色判定是在緩衝器電路系統中保留用於非反饋物件的片段資料或是自緩衝器電路系統移除用於非反饋物件的片段資料。此操作可在樣本粒度處執行。對兩階段技術而言,當移除用於非反饋物件的資料時,來自反饋物件的遮擋資料可經放置在緩衝器電路系統中,且隨後可經著色。對其他技術而言,用於反饋物件的著色可用以更新移色彩緩衝器中的像素屬性,且用於反饋物件的資料可永不儲存在緩衝器中。在一些實施例中,排程電路系統(諸如像素資料主機240)經組態以判定何時自緩衝器電路系統排放片段資料以供著色。
如上文所討論,在兩階段技術中,圖形單元可經組態以將用於反饋物件的一著色器程式分成一第一組著色器指令及一第二組著色器指令,該第一組著色器指令針對反饋物件判定可見度,該第二組著色器指令針對該反饋物件判定像素屬性。進一步地,圖形單元可經組態以略過用於第一組指令的緩衝器電路系統(以例如快速判定可見度),並將基於第一組著色器指令而判定為目前可見的片段資料儲存於緩衝器中以供使用第二組著色器指令進行後續處理。
在一些實施例中,圖形單元經組態以執行基於圖塊的延遲渲染,且緩衝器電路系統經組態以儲存針對一經處理圖塊係目前未經遮擋的片段資料。因此,緩衝器中的資料可經判定為未經先前處理的物件遮擋,但稍後可在著色之前經後續處理的物件遮擋。如上文所討論,在一些實施例中,判定可見度可在深度排序電路系統與標籤排序電路系統之間分割。進一步地,圖形單元可包括多個不同的深度緩衝器、模版緩衝器、及/或標籤緩衝器以用於並行處理多個圖塊。
例示性裝置
現參照圖6,所示的係繪示一裝置600之一例示性實施例的方塊圖。在一些實施例中,裝置600的元件可包括在一系統單晶片內。在一些實施例中,裝置600可包括在可係電池供電的一行動裝置中。因此,裝置600的功率消耗可係一重要的設計考量。在所繪示的實施例中,裝置600包括構造610、運算複合體620、輸入/輸出(I/O)橋接器650、快取/記憶體控制器645、圖形單元680、及顯示單元665。在一些實施例中,除了及/或代替所繪示之組件(諸如視頻處理器編碼器與解碼器、影像處理或辨識元件、電腦視覺元件等)以外,裝置600可包括其他組件(未圖示)。
構造610可包括各種互連件、匯流排、MUX、控制器等,並可經組態以促成裝置600的各種元件之間的通訊。在一些實施例中,構造610的部分可經組態以實施各種不同的通訊協定。在其他實施例中,構造610可實施單一通訊協定,且耦合至構造610的元件可在內部自單一通訊協定轉換成其他通訊協定。
在所繪示的實施例中,運算複合體620包括匯流排介面單元(BIU) 625、快取630、以及核心635及640。在各種實施例中,運算複合體620可包括各種數目的處理器、處理器核心、及/或快取。例如,運算複合體620可包括1、2、或4個處理器核心或者任何其他合適的數目。在一實施例中,快取630係一集合相聯L2快取。在一些實施例中,核心635及/或640可包括內部指令及/或資料快取。在一些實施例中,在構造610中、快取630中、或裝置600中的別處之一同調性單元(未圖示)可經組態以維持裝置600之各種快取之間的同調性。BIU 625可經組態以管理運算複合體620與裝置600的其他元件之間的通訊。處理器核心(諸如核心635及640)可經組態以執行一特定指令集架構(ISA)的指令,該指令集架構可包括作業系統指令及使用者應用指令。
快取/記憶體控制器645可經組態以管理構造610與一或多個快取及/或記憶體之間的資料傳輸。例如,快取/記憶體控制器645可耦合至一L3快取,該L3快取可繼而耦合至一系統記憶體。在其他實施例中,快取/記憶體控制器645可直接耦合至一記憶體。在一些實施例中,快取/記憶體控制器645可包括一或多個內部快取。
如本文中所使用,用語「耦合至(coupled to)」可指示元件之間的一或多個連接,且一耦合可包括中間元件。例如,在圖6中,圖形單元150可經描述為透過構造610及快取/記憶體控制器645「耦合至(coupled to)」一記憶體。反之,在圖6所繪示的實施例中,圖形單元150係「直接耦合(directly coupled)」至構造610,因為沒有中間元件。
圖形單元150可包括一或多個處理器及/或一或多個圖形處理單元(GPU)。例如,圖形單元150可接收圖形導向指令(諸如OPENGL®、Metal、或DIRECT3D®指令)。圖形單元150可基於所接收的圖形導向指令執行特殊化GPU指令或執行其他操作。圖形單元150大致上可經組態以並行處理大資料區塊,並可在一圖框緩衝器中建構影像以供輸出至一顯示器。圖形單元150可包括在一或多個圖形處理管線中之變換、照明、三角形、及/或渲染引擎。圖形單元150可輸出用於顯示影像的像素資訊。在一些實施例中,圖形單元150經組態以執行上文所討論的記憶體一致性、中間渲染運算、局部影像區塊、及/或像素資源同步技術之一或多者。
顯示單元665可經組態以自一圖框緩衝器讀取資料,並提供一像素值串流以供顯示。在一些實施例中,顯示單元665可經組態為一顯示管線。此外,顯示單元665可經組態以混合多個圖框以產生一輸出圖框。進一步地,顯示單元665可包括用於耦合至一使用者顯示器(例如觸控螢幕或外部顯示器)之一或多個介面(例如MIPI®或嵌入式顯示埠(eDP))。
例如,I/O橋接器650可包括各種元件,其等經組態以實施:通用串列匯流排(USB)通訊、安全性、音頻、及/或低功率永遠開啟功能。例如,橋接器650亦可包括介面(諸如脈衝寬度調變(PWM)、通用輸入/輸出(GPIO)、串列周邊介面(SPI)、及/或積體電路匯流排(I2C))。各種類型的周邊設備及裝置可經由I/O橋接器650耦合至裝置600。
在一些實施例中,裝置600的各種元件可包括經階層式配置的時脈閘器,其等包括經耦合以傳遞時脈信號至一時脈樹之不同部分之各種系列的DET時脈閘器。所揭示的技術可減少裝置600中的切換電力消耗、平衡裝置600之不同部分的時脈延遲、減少裝置600中的誤差、達到更高頻率、以較低的電力供應電壓達到所需的頻率、減少每循環(例如,或每任務、每像素、或每位元組)所消散的能量等。
例示性電腦可讀的媒體
本揭露已於上文詳細描述各種例示性電路。本揭露不僅意欲涵蓋包括此類電路系統的實施例,且亦意欲涵蓋包括指定此類電路系統之設計資訊的一電腦可讀的儲存媒體。因此,本揭露意欲支持的申請專利範圍不僅涵蓋包括所揭示之電路系統的一設備,且亦涵蓋以一格式來指定電路系統之一儲存媒體,該格式係藉由經組態以生產包括所揭示之電路系統的硬體(例如積體電路)之一製造系統來辨識。針對此一儲存媒體的申請專利範圍係意欲涵蓋例如一實體,其生產一電路設計,但本身並不製造該設計。
圖7係根據一些實施例繪示儲存電路設計資訊之一例示性非暫時性電腦可讀的儲存媒體的方塊圖。在所繪示的實施例中,半導體製造系統720經組態以處理儲存於非暫時性電腦可讀的媒體710上的設計資訊715,並基於設計資訊715製造積體電路730。
非暫時性電腦可讀的媒體710可包含各種適當類型的記憶體裝置或儲存裝置的任何者。媒體710可係一安裝媒體(例如CD ROM、軟碟、或磁帶裝置;一電腦系統記憶體或隨機存取記憶體(諸如DRAM、DDR RAM、SRAM、EDO RAM、Rambus RAM等);一非揮發性記憶體(諸如快閃、磁性媒體(例如硬碟)、或光學儲存);暫存器或其他類似類型的記憶體元件等。媒體710亦可包括其他類型的非暫時性記憶體或其組合。媒體710可包括可駐留在不同位置(例如,在通過網路連接的不同電腦系統中)之二或更多個記憶體媒體。
設計資訊715可使用各種適當的電腦語言(包括硬體描述語言)之任何者來指定,諸如但不限於:VHDL、Verilog、SystemC、SystemVerilog、RHDL、M、MyHDL等。設計資訊715可由半導體製造系統720使用以製造積體電路730的至少一部分。設計資訊715的格式可由至少一半導體製造系統720辨識。在一些實施例中,設計資訊715亦可包括指定積體電路730的合成及/或佈局的一或多個元件庫。在一些實施例中,設計資訊係全部或部分地以一接線對照表的形式指定,該接線對照表指定元件庫元件及其連接。單獨採用的設計資訊715可包括或可不包括用於製造一對應積體電路的足夠資訊。例如,設計資訊715可指定欲製造之電路元件但無法指定其等之實體佈局。在此情況下,設計資訊715可能需要與佈局資訊組合以實際製造指定的電路系統。
半導體製造系統720可包括經組態以製造積體電路的各種適當元件的任何者。例如,此可包括用於沉積半導體材料(例如在可包括遮罩之一晶圓上)、移除材料、變更所沉積之材料的形狀、改質材料(例如,藉由摻雜材料或使用紫外線處理修改介電常數)等的元件。半導體製造系統720亦可經組態以執行所製造之電路的各種測試以供正確操作。
在各種實施例中,積體電路730經組態以根據由設計資訊715所指定之一電路設計進行操作,其可包括執行如本文所述的功能之任何者。例如,積體電路730可包括圖1B、圖2、及/或圖3所示之各種元件的任何者。進一步地,積體電路730可經組態以結合其他組件執行本文所述的各種功能。進一步地,本文所述的功能可由多個經連接的積體電路執行。
如本文中所使用,具有「指定一電路經組態以…之一設計的設計資訊」之形式的詞組並非意味所涉電路必須為了滿足該要素而製造。相反,此詞組指示設計資訊所描述之一電路一經製成將經組態以執行所指示的動作或將包括指定組件。 ***
雖然上文已描述特定實施例,但是這些實施例非意欲限制本揭露之範疇,即使針對一特定特徵僅描述一單一實施例。在本揭露中所提供之特徵之實例意欲為闡釋性而非限制性,除非另有陳述。上面的敘述係旨在涵蓋此類替代例、修改例、與均等物,此等對於受益於本揭露之所屬技術領域中具有通常知識者來說將是顯而易見的。
本揭露之範疇包括本文中所揭露(明示或隱含地)之任何特徵或特徵組合,或其任何概括(generalization),無論其是否緩和本文中解決之任何或所有問題。據此,在此申請案之審查期間(或主張其優先權之申請案)可對特徵之任何此類組合制定新請求項。具體而言,參照隨附申請專利範圍,可組合來自附屬請求項的特徵與獨立請求項之特徵,且可依任何適合方式組合來自各別獨立請求項之特徵,而非僅在隨附申請專利範圍中列舉之特定組合。
100‧‧‧處理流程
110‧‧‧變換及照明步驟
115‧‧‧剪輯步驟
120‧‧‧光柵化步驟
130‧‧‧著色步驟
135‧‧‧圖框緩衝器
150‧‧‧圖形單元
160‧‧‧可程式化著色器
165‧‧‧紋理處理單元/TPU
170‧‧‧影像寫入單元
175‧‧‧片段管/片段管線
180‧‧‧記憶體介面
185‧‧‧頂點管
190‧‧‧紋理狀態快取
205‧‧‧圖塊及頂點資料/資料
210‧‧‧參數擷取電路系統
215‧‧‧深度反饋資訊/深度反饋/反饋資訊
217‧‧‧路徑
220‧‧‧掃描轉換器
230‧‧‧排序電路系統
235‧‧‧圖塊緩衝器/緩衝器
240‧‧‧像素資料主機
306‧‧‧合格樣本
310‧‧‧深度排序電路系統/元件
317‧‧‧反饋旁路/旁路
320‧‧‧標籤排序電路系統/元件
325‧‧‧深度及模版測試電路系統/電路系統
330‧‧‧深度緩衝器
340‧‧‧模版緩衝器
355‧‧‧分配單元
360‧‧‧標籤緩衝器
410‧‧‧繪製順序
420‧‧‧操作/實例
430‧‧‧操作/實例
500‧‧‧方法
510‧‧‧方塊
520‧‧‧方塊
530‧‧‧方塊
540‧‧‧方塊
600‧‧‧裝置
610‧‧‧構造
620‧‧‧運算複合體
625‧‧‧匯流排介面單元/BIU
630‧‧‧快取
635‧‧‧核心
640‧‧‧核心
645‧‧‧快取/記憶體控制器
650‧‧‧輸入/輸出(I/O)橋接器
665‧‧‧顯示單元
680‧‧‧圖形單元
710‧‧‧非暫時性電腦可讀的媒體/媒體
715‧‧‧設計資訊
720‧‧‧半導體製造系統
730‧‧‧積體電路
[圖1A]係繪示一例示性圖形處理流程的方塊圖。 [圖1B]係繪示一圖形單元之一實施例的方塊圖。 [圖2]係根據一些實施例繪示一例示性片段管線的方塊圖。 [圖3]係根據一些實施例繪示用於延遲渲染之一例示性排序及緩衝器電路系統的方塊圖。 [圖4]係繪示分別使用快速路徑及兩階段衝穿技術之用於反饋物件及非反饋物件之例示性處理順序的圖。 [圖5]係根據一些實施例繪示用於略過用於反饋物件之一緩衝器之一例示性方法的流程圖。 [圖6]係繪示包括一圖形單元之一裝置之一實施例的方塊圖。 [圖7]係根據一些實施例繪示一例示性電腦可讀的媒體的方塊圖。
本說明書包括對各種實施例之參照,以表示本揭露內容並非意欲僅參照一個特定的具體實施例,而是意欲參照落入本揭露內容之精神內的許多實施例,包括隨附申請專利範圍。可以與此揭露一致的任何合適方式結合特定特徵、結構、或特性。
在本揭露中,不同的實體(其等可能被不同地稱為「單元(unit)」、「電路(circuit)」、其他組件等)可被描述或主張為「經組態(configured)」以執行一或多個任務或操作。此表示法,「實體(entity)」經組態以「執行一或多個任務(perform one or more tasks)」,在本文中係用以指稱結構(即,實體之物,諸如一電子電路)。具體而言,此表示法係用以指示此結構係經配置以在操作期間執行該一或多個任務。即使一結構目前並未被操作,仍可稱該結構「經組態以(configured to)」執行某任務。舉例來說,「一時脈電路經組態以產生一輸出時脈信號」係意欲涵括在操作期間執行此功能之一電路,即使所涉電路目前並未被使用(例如,並未連接電源)。因此,經說明或敘述為「經組態以」執行某任務的一實體,係指實體之物,諸如裝置、電路、儲存有可執行用以實施該任務之程式指令的記憶體等。此用語在本文中並非用以指稱無形之物。
用語「經組態以(configured to)」並非意欲意指「可組態以(configurable to)」。舉例來說,一未經程式化的FPGA不會被認為「經組態以」執行某個特定功能,但其可以是「可組態以」執行該功能。在適當程式化之後,該FPGA則可為經組態以執行該功能。
在後附申請專利範圍中描述一結構「經組態以」執行一或多個任務,係明確地意欲不援引35 U.S.C. § 112(f)對該請求項元件進行解讀。據此,本申請中所提出的所有請求項皆非意欲被解讀為具有手段功能元件(means-plus-function element)。若申請人意欲在審查期間援引章節112(f),將使用「用以『執行一功能』之構件」這樣的句構來陳述請求項元件。
如本文所用,用語「基於(based on)」係用於敘述影響一判定的一或多個因素。此用語不排除可能有額外因素可影響判定。意即,一判定可單獨基於特定因素,或基於該等特定因素以及其他未指出因素。考慮用語「基於B判定A(determine A based on B)」。此用語指出,B係一用以判定A之因素,或B影響A之判定。此用語不排除亦可基於一些其他因素例如C來判定A。此用語亦意欲涵括其中A係單獨基於B而判定的一實施例。如本文所用,用語「基於(based on)」與用語「至少部分地基於(based at least in part on)」係同義詞。
此外,如本文中所使用,用語「第一(first)」、「第二(second)」、「第三(third)」等並不一定意味著元件之間的定序(例如,時間性的)。例如,指稱一「第一」圖形操作及一「第二」圖形操作並不意味著圖形操作的定序,缺少限制此等操作間之時間關係的附加語言。簡而言之,在本說明書及後附申請專利範圍中使用諸如「第一」、「第二」等的指稱作為便於參照的標示。
Claims (20)
- 一種設備,其包含: 光柵電路系統,其經組態以根據由一圖形程式所指定之一繪製順序而產生用於圖形物件的片段資料,其包括: 反饋物件,該設備經組態以在執行一或多個著色器操作之後判定該等反饋物件相對於在該繪製順序中之在前物件的可見度;及 非反饋物件,該設備經組態以在針對該物件執行著色操作之前判定該等非反饋物件相對於在該繪製順序中之在前物件的可見度; 緩衝器電路系統,其經組態以儲存未經先前處理的物件遮擋的片段資料,其中該設備經組態以自該緩衝器電路系統丟棄經後續處理的物件遮擋之片段資料; 一著色器處理元件,其經組態以基於儲存在該緩衝器電路系統中之該片段資料執行片段著色; 其中該設備經組態以: 在著色在繪製順序中早於一反饋物件之一非反饋物件之前,略過該緩衝器電路系統並使用該著色器處理元件著色該反饋物件;及 基於該反饋物件的著色判定是在該緩衝器電路系統中保留用於該非反饋物件的片段資料或是自該緩衝器電路系統移除用於該非反饋物件的片段資料。
- 如請求項1之設備, 其中該設備經組態以將用於該反饋物件的一著色器程式分成一第一組著色器指令及一第二組著色器指令,該第一組著色器指令針對該反饋物件判定可見度,該第二組著色器指令針對該反饋物件判定像素屬性;及 其中該設備經組態以略過用於該第一組指令的該緩衝器電路系統並將基於該第一組著色器指令而判定為目前可見的片段資料儲存於該緩衝器電路系統中以供使用該第二組著色器指令進行後續處理。
- 如請求項2之設備,其中在針對該反饋物件之片段資料的一部分執行該第二組著色器指令之前,該設備經組態以回應於該片段資料經一後續處理物件的遮擋而自該緩衝器電路系統移除用於該反饋物件之該片段資料的該部分。
- 如請求項1之設備,其中該設備經組態以執行基於圖塊的延遲渲染,且其中該緩衝器電路系統經組態以儲存針對一經處理圖塊係目前未經遮擋的片段資料。
- 如請求項1之設備,其進一步包含: 深度排序電路系統,其經組態以基於一深度緩衝器及一模版緩衝器判定片段資料是否目前可見;及 標籤排序電路系統,其經組態以使用用於各樣本的標籤來儲存來自該深度排序電路系統的片段資料,其中該等標籤識別對應的基元及繪製狀態資訊。
- 如請求項1之設備,其進一步包含分開的緩衝器電路系統,該設備經組態以使用該分開的緩衝器電路系統以並行處理在一螢幕空間中的多個圖塊。
- 如請求項1之設備,其中該設備經組態以隨後執行著色以判定用於該非反饋物件之經保留的片段資料之像素屬性。
- 如請求項1之設備,其進一步包含: 像素排程電路系統,其經組態以自該緩衝器電路系統排放資料至該著色器處理元件以供著色。
- 一種方法,其包含: 根據由一圖形程式所指定之一繪製順序藉由光柵電路系統產生用於圖形物件的片段資料,其包括: 反饋物件,其等相對於在該繪製順序中之在前物件的可見度係在執行一或多個著色器操作之後判定;及 非反饋物件,其等相對於在該繪製順序中之在前物件的可見度係在針對該物件執行著色操作之前判定; 藉由緩衝器電路系統儲存未經先前處理的物件遮擋的片段資料,且自該緩衝器電路系統丟棄經後續處理的物件遮擋之片段資料; 在著色在繪製順序中早於一反饋物件之一非反饋物件之前,略過該緩衝器電路系統並使用一著色器處理元件著色該反饋物件;及 基於該反饋物件的著色判定是在該緩衝器電路系統中保留用於該非反饋物件的片段資料或是自該緩衝器電路系統移除用於該非反饋物件的片段資料。
- 如請求項9之方法,其進一步包含: 將用於該反饋物件的一著色器程式分成一第一組著色器指令及一第二組著色器指令,該第一組著色器指令針對該反饋物件判定可見度,該第二組著色器指令針對該反饋物件判定像素屬性;及 略過用於該第一組指令的該緩衝器電路系統並將基於該第一組著色器指令而判定為目前可見的片段資料儲存於該緩衝器電路系統中以供使用該第二組著色器指令進行後續處理。
- 如請求項10之方法,其進一步包含在針對該反饋物件之片段資料的一部分執行該第二組著色器指令之前,回應於該片段資料經一後續處理物件的遮擋而自該緩衝器電路系統移除用於該反饋物件之該片段資料的該部分。
- 如請求項9之方法,其進一步包含: 使用深度排序電路系統以基於一深度緩衝器及一模版緩衝器判定片段資料是否目前可見;及 使用標籤排序電路系統以使用用於各樣本的標籤來儲存來自該深度排序電路系統的片段資料,其中該等標籤識別對應的基元及繪製狀態資訊。
- 如請求項9之方法,其進一步包含: 隨後執行著色以判定用於該緩衝器電路系統中之該非反饋物件之經保留的片段資料之像素屬性。
- 一種非暫時性電腦可讀的儲存媒體,其具有儲存在其上的設計資訊,該設計資訊以一格式指定一硬體積體電路之至少一部分的一設計,該格式係藉由經組態以根據該設計使用該設計資訊生產該電路之一半導體製造系統來辨識,其包括: 光柵電路系統,其經組態以根據由一圖形程式所指定之一繪製順序而產生用於圖形物件的片段資料,其包括: 反饋物件,該電路經組態以在執行一或多個著色器操作之後判定該等反饋物件相對於在該繪製順序中之在前物件的可見度;及 非反饋物件,該電路經組態以在針對該物件執行著色操作之前判定該等非反饋物件相對於在該繪製順序中之在前物件的可見度; 緩衝器電路系統,其經組態以儲存未經先前處理的物件遮擋的片段資料,其中該電路經組態以自該緩衝器電路系統丟棄經後續處理的物件遮擋之片段資料; 一著色器處理元件,其經組態以基於儲存在該緩衝器電路系統中之該片段資料執行片段著色; 其中該電路經組態以: 在著色在繪製順序中早於一反饋物件之一非反饋物件之前,略過該緩衝器電路系統並使用該著色器處理元件著色該反饋物件;及 基於該反饋物件的著色判定是在該緩衝器電路系統中保留用於該非反饋物件的片段資料或是自該緩衝器電路系統移除用於該非反饋物件的片段資料。
- 如請求項14之非暫時性電腦可讀的儲存媒體, 其中該電路經組態以將用於該反饋物件的一著色器程式分成一第一組著色器指令及一第二組著色器指令,該第一組著色器指令針對該反饋物件判定可見度,該第二組著色器指令針對該反饋物件判定像素屬性;及 其中該電路經組態以略過用於該第一組指令的該緩衝器電路系統並將基於該第一組著色器指令而判定為目前可見的片段資料儲存於該緩衝器電路系統中以供使用該第二組著色器指令進行後續處理。
- 如請求項15之非暫時性電腦可讀的儲存媒體,其中在針對該反饋物件之片段資料的一部分執行該第二組著色器指令之前,該電路經組態以回應於該片段資料經一後續處理物件的遮擋而自該緩衝器電路系統移除用於該反饋物件之該片段資料的該部分。
- 如請求項14之非暫時性電腦可讀的儲存媒體,其中該設計資訊指定該電路進一步包含: 深度排序電路系統,其經組態以基於一深度緩衝器及一模版緩衝器判定片段資料是否目前可見;及 標籤排序電路系統,其經組態以使用用於各樣本的標籤來儲存來自該深度排序電路系統的片段資料,其中該等標籤識別對應的基元及繪製狀態資訊。
- 如請求項14之非暫時性電腦可讀的儲存媒體,其中該設計資訊指定該電路進一步包含分開的緩衝器電路系統,該電路經組態以用以並行處理在一螢幕空間中的多個圖塊。
- 如請求項14之非暫時性電腦可讀的儲存媒體,其中該電路經組態以隨後執行著色以判定用於該非反饋物件之經保留的片段資料之像素屬性。
- 如請求項14之非暫時性電腦可讀的儲存媒體,其中該設計資訊指定該電路進一步包含像素排程電路系統,該像素排程電路系統經組態以自該緩衝器電路系統排放資料至該著色器處理元件以供著色。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/659,188 | 2017-07-25 | ||
US15/659,188 US10074210B1 (en) | 2017-07-25 | 2017-07-25 | Punch-through techniques for graphics processing |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201909109A true TW201909109A (zh) | 2019-03-01 |
TWI708212B TWI708212B (zh) | 2020-10-21 |
Family
ID=63080552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107125609A TWI708212B (zh) | 2017-07-25 | 2018-07-25 | 圖形處理設備,圖形處理的方法,及非暫時性電腦可讀的儲存媒體 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10074210B1 (zh) |
CN (1) | CN110998665B (zh) |
TW (1) | TWI708212B (zh) |
WO (1) | WO2019022989A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI808007B (zh) * | 2020-07-30 | 2023-07-01 | 美商蘋果公司 | 用以偵測射線與圖形基元之間的相交的設備及方法,以及非暫時性電腦可讀儲存媒體 |
US11875448B2 (en) | 2020-07-30 | 2024-01-16 | Apple Inc. | SIMD group formation techniques during ray intersection traversal |
US12118653B2 (en) | 2022-04-08 | 2024-10-15 | Mediatek Inc. | Depth analyzer and shading rate controller |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10657699B1 (en) * | 2018-12-08 | 2020-05-19 | Arm Limited | Performing texturing operations for sets of plural execution threads in graphics processing systems |
CN111353928A (zh) * | 2018-12-21 | 2020-06-30 | 畅想科技有限公司 | 用于图形处理系统的经过变换的几何结构数据高速缓存 |
CN110286979B (zh) * | 2019-06-20 | 2022-04-26 | 杭州绝地科技股份有限公司 | 减少UI遮蔽导致的Overdraw的渲染方法和系统 |
US11380047B2 (en) * | 2020-06-05 | 2022-07-05 | Qualcomm Incorporated | Methods and apparatus for order-independent occlusion computations |
GB2590748B (en) * | 2020-06-30 | 2022-02-02 | Imagination Tech Ltd | Method and graphics processing system for rendering one or more fragments having shader-dependent properties |
EP4296964A1 (en) * | 2022-06-22 | 2023-12-27 | Imagination Technologies Limited | Processing fragments which have a shader-dependent property in a graphics processing system |
US20240169639A1 (en) * | 2022-11-17 | 2024-05-23 | Arm Limited | Graphics processors |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001001352A1 (en) * | 1999-06-28 | 2001-01-04 | Clearspeed Technology Limited | Method and apparatus for rendering in parallel a z-buffer with transparency |
US20020080143A1 (en) | 2000-11-08 | 2002-06-27 | Morgan David L. | Rendering non-interactive three-dimensional content |
GB2404316B (en) * | 2003-07-25 | 2005-11-30 | Imagination Tech Ltd | Three-Dimensional computer graphics system |
US8325184B2 (en) * | 2007-09-14 | 2012-12-04 | Qualcomm Incorporated | Fragment shader bypass in a graphics processing unit, and apparatus and method thereof |
US8605102B1 (en) | 2009-10-08 | 2013-12-10 | Nvidia Corporation | Rasterization tile coalescer and reorder buffer |
US8505001B2 (en) | 2009-12-17 | 2013-08-06 | Broadcom Corporation | Method and system for utilizing data flow graphs to compile shaders |
US8572553B2 (en) * | 2011-06-10 | 2013-10-29 | International Business Machines Corporation | Systems and methods for providing feedback for software components |
US9767595B2 (en) * | 2013-05-02 | 2017-09-19 | Arm Limited | Graphics processing systems |
US9514563B2 (en) * | 2013-08-30 | 2016-12-06 | Arm Limited | Graphics processing systems |
US9626795B2 (en) * | 2013-12-17 | 2017-04-18 | Intel Corporation | Reducing shading by merging fragments from the adjacent primitives |
GB2530996B (en) * | 2014-10-06 | 2016-09-14 | Imagination Tech Ltd | Depth forwarding in a graphics processing system |
US9886934B2 (en) * | 2014-12-24 | 2018-02-06 | Intel Corporation | Ordering mechanism for offload graphics scheduling |
GB2534567B (en) * | 2015-01-27 | 2017-04-19 | Imagination Tech Ltd | Processing primitives which have unresolved fragments in a graphics processing system |
US20160379381A1 (en) | 2015-06-23 | 2016-12-29 | Freescale Semiconductor, Inc. | Apparatus and method for verifying the origin of texture map in graphics pipeline processing |
CA2946074C (en) * | 2015-10-21 | 2024-02-13 | Stephen Viggers | Systems and methods for using an opengl api with a vulkan graphics driver |
US10262455B2 (en) * | 2015-12-04 | 2019-04-16 | Intel Corporation | Merging fragments for coarse pixel shading using a weighted average of the attributes of triangles |
US11010956B2 (en) * | 2015-12-09 | 2021-05-18 | Imagination Technologies Limited | Foveated rendering |
-
2017
- 2017-07-25 US US15/659,188 patent/US10074210B1/en active Active
-
2018
- 2018-07-16 CN CN201880049635.7A patent/CN110998665B/zh active Active
- 2018-07-16 WO PCT/US2018/042347 patent/WO2019022989A1/en active Application Filing
- 2018-07-25 TW TW107125609A patent/TWI708212B/zh active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI808007B (zh) * | 2020-07-30 | 2023-07-01 | 美商蘋果公司 | 用以偵測射線與圖形基元之間的相交的設備及方法,以及非暫時性電腦可讀儲存媒體 |
US11875448B2 (en) | 2020-07-30 | 2024-01-16 | Apple Inc. | SIMD group formation techniques during ray intersection traversal |
US12118653B2 (en) | 2022-04-08 | 2024-10-15 | Mediatek Inc. | Depth analyzer and shading rate controller |
Also Published As
Publication number | Publication date |
---|---|
US10074210B1 (en) | 2018-09-11 |
CN110998665A (zh) | 2020-04-10 |
TWI708212B (zh) | 2020-10-21 |
WO2019022989A1 (en) | 2019-01-31 |
CN110998665B (zh) | 2021-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI708212B (zh) | 圖形處理設備,圖形處理的方法,及非暫時性電腦可讀的儲存媒體 | |
US11880926B2 (en) | Hybrid render with deferred primitive batch binning | |
TWI686769B (zh) | 用於演現圖形物件的設備,方法及非暫時性電腦可讀的儲存媒體 | |
US8698828B2 (en) | Graphics processing systems | |
TWI731871B (zh) | 用於最佳化在唯位置著色圖磚延遲渲染器中的剪裁操作的方法、裝置及非暫態電腦可讀取媒體 | |
US20210209831A1 (en) | Hybrid render with preferred primitive batch binning and sorting | |
US11430174B2 (en) | Memory consistency in memory hierarchy with relaxed ordering | |
US9811875B2 (en) | Texture state cache | |
US10223822B2 (en) | Mid-render compute for graphics processing | |
WO2018118363A1 (en) | Local image blocks for graphics processing | |
US10255655B1 (en) | Serial pixel processing with storage for overlapping texel data | |
US10896525B2 (en) | Graphics system and method for use of sparse textures | |
US10621782B1 (en) | Sub-patch techniques for graphics tessellation | |
US10324844B2 (en) | Memory consistency in graphics memory hierarchy with relaxed ordering | |
US11250538B2 (en) | Completion signaling techniques in distributed processor | |
US10699368B1 (en) | Memory allocation techniques for graphics shader | |
US11257179B2 (en) | Graphics processing techniques based on frame portion cost estimates | |
US10467724B1 (en) | Fast determination of workgroup batches from multi-dimensional kernels | |
US10475152B1 (en) | Dependency handling for set-aside of compute control stream commands | |
US10452401B2 (en) | Hints for shared store pipeline and multi-rate targets | |
US20190244323A1 (en) | Pipelining and Concurrency Techniques for Groups of Graphics Processing Work | |
US20170024905A1 (en) | Processed texel cache | |
GB2475375A (en) | Dynamic Graphics Rendering Process |