JP5670723B2 - 画像処理装置 - Google Patents
画像処理装置 Download PDFInfo
- Publication number
- JP5670723B2 JP5670723B2 JP2010290646A JP2010290646A JP5670723B2 JP 5670723 B2 JP5670723 B2 JP 5670723B2 JP 2010290646 A JP2010290646 A JP 2010290646A JP 2010290646 A JP2010290646 A JP 2010290646A JP 5670723 B2 JP5670723 B2 JP 5670723B2
- Authority
- JP
- Japan
- Prior art keywords
- buffer
- data
- address
- index
- input
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 238000012545 processing Methods 0.000 title claims description 58
- 239000000872 buffer Substances 0.000 claims description 133
- 238000000034 method Methods 0.000 claims description 18
- 238000011143 downstream manufacturing Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 11
- 238000012546 transfer Methods 0.000 description 4
- 239000012634 fragment Substances 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
Images
Landscapes
- Image Generation (AREA)
Description
このインデックストランスレータは入力インデックスバッファの解析を行い,同インデックスバッファ上の入力データが既にシェーダステージにおいて処理が実行されたか否かの判定を実施し,当該判定により,処理がまだ実行されていない場合には,入力データのシェーダステージにおける処理結果である出力データが記録される記憶領域を,出力アドレスバッファ,及び出力インデックスバッファに割り当てる工程と,入力データの入力インデックスバッファ上のアドレスと,これに対応する出力データが記憶されるために割り当てられた出力インデックスバッファ上のアドレスとの対応関係をタスクキュー上に記憶させる工程と,を実行し,出力インデックスバッファ,及び出力アドレスバッファにおける出力データは,処理が行なわれたシェーダステージの下流工程にある別のシェーダステージへの入力データとしてそれぞれ再利用される。
1つの実施形態において,DMAユニット130は,シェーダパイプライン160に対して供給するコマンドストリームと種々のDMA頂点ストリームの入力トラフィックを制御する。DMAユニット130は,ホストメモリ120に記憶されている頂点情報をフェッチし,これをグラフィック処理チップ140上のオンチップメモリ150に転送する。この転送された頂点データは,シェーダパイプライン160において含まれる頂点シェーダ(図2に示す)において処理されることから,転送の際に頂点シェーダに入力するための要素組み立ても行う。ホストメモリ120には,頂点を記録するデータ領域として頂点バッファ121と,インデックスバッファ122とが設けられている。
これをプログラミングし,グラフィック処理チップ140で実行することにより,バンプマッピング等のより高度なエフェクトを それをCPUですべて実行するよりもはるかに高いパフォーマンスで実現することができるようになる。なお,ラスタライザ163とピクセルシェーダ164は一体に構成することもできる。また,これらの各シェーダステージは個別に構成するのではなく,統合型のユニファイドシェーダとして構成することも可能である。
物理メモリ151は,頂点データの座標データ,オフセット値,属性データ,ベクトルデータ等の情報が,1つの頂点データ毎に1つの物理アドレスが割り当てられる形で記録される。
また,タスクキュー154には,各パイプラインにて処理が行われる入力データと出力データのインデックスバッファ153における参照値が記録される。
このような処理を繰り返すと,図8に示された状態となり,頂点出力アドレスバッファ152b,頂点出力インデックスバッファ153b,VSタスクキュー154aに各データが記録される。なお,頂点V5においては,既に一度処理が行なわれていることから,前述した頂点データが既に出力側のアドレスバッファに記録されているか否かの判定の結果,このデータがキャッシュされているため,頂点出力アドレスバッファ152bのアドレス「2」を再度参照する値が記録される。この記録されたバッファ上のデータは続くジオメトリシェーダ162等への入力値として利用される。以降のジオメトリシェーダ162,ラスタライザ163,ピクセルシェーダ164においても同様の処理が繰り返される。
本発明では,シェーダステージ毎に記録領域が分けられており,それぞれに物理メモリ151に記録された頂点データへの物理アドレスを記録するアドレスバッファ152と,このアドレスバッファ152への参照値をシーケンスに記録したインデックスバッファ153とを備えている。そして,シェーダステージ毎に設けられたインデックストランスレータ166が,プログラム毎に異なるデータに必要な記録領域の割り当てを行うことができる。具体的には,例えば頂点シェーダ161のステージは,アドレスバッファ152に参照カウント及びオリジナルインデックスを記録するが,ジオメトリシェーダ162のステージではプリミティブIDを記録する。こうしたシェーダステージ毎の違いを吸収し,記録領域の効率的な利用を実施することができる。
110 メモリインタフェース
120 ホストメモリ
121 頂点バッファ
122 インデックスバッファ
130 DMAユニット
140 グラフィック処理ユニット
150 オンチップメモリ
151 物理メモリ
152 アドレスバッファ
153 インデックスバッファ
154 タスクキュー
160 シェーダパイプライン
161 頂点シェーダ
162 ジオメトリシェーダ
163 ラスタライザ
164 ピクセルシェーダ
165 シェーダスケジューラ
166 インデックストランスレータ
170 表示装置
201,202 プリミティブ
Claims (3)
- オブジェクトを構成する頂点又はプリミティブに対して幾何学的な画像処理を行うパイプラインが,複数種類のシェーダステージから構成されている画像処理装置にあって,
前記複数種類のシェーダステージ毎に記録領域が分けられており,
第1のシェーダステージ用の記憶領域は,
前記第1のシェーダステージに入力される頂点データの物理メモリにおけるアドレスが記憶される入力側のアドレスバッファと,
前記入力側のアドレスバッファ上のアドレスを記録し,当該アドレスの並びが前記プリミティブに属する前記頂点データの順列を維持した態様となる入力側のインデックスバッファと,を有し,
第2のシェーダステージ用の記憶領域は,
前記第1のシェーダステージにおいて処理がなされて出力された前記頂点データの前記物理メモリにおけるアドレス,及び当該頂点データに対する処理が完了しているか否かを示すライフタイム情報が記録される出力側のアドレスバッファと,
前記出力側のアドレスバッファ上のアドレスを記録し,当該アドレスの並びが前記プリミティブに属する前記頂点データの順列を維持した態様となる出力側のインデックスバッファと,
前記第2のシェーダステージにおいて処理が行われる頂点データの前記入力側のインデックスバッファ及び前記出力側のインデックスバッファにおけるアドレス同士の対応関係が記録されるタスクキューと,を有し,
出力データのための記録領域の割り当てを行うインデックストランスレータをさらに備え,
前記インデックストランスレータは,
前記入力側のインデックスバッファの解析を行い,同インデックスバッファ上の入力データが既に前記第2のシェーダステージにおいて処理が実行されたか否かの判定を実施し,
当該判定により,処理がまだ実行されていない場合には,
前記入力データの前記第1のシェーダステージにおける処理結果である出力データが記録される記憶領域を,前記出力側のアドレスバッファ,及び前記出力側のインデックスバッファに割り当てる工程と,
前記入力データの前記入力側のインデックスバッファ上のアドレスと,これに対応する出力データが記憶されるために割り当てられた前記出力側のインデックスバッファ上のアドレスとの対応関係を前記タスクキュー上に記憶させる工程と,
を実行し,
前記インデックストランスレータは,さらに,
前記出力側のアドレスバッファに記録されている前記ライフタイム情報に基づいて,前記出力側のインデックスバッファ及び出力側のアドレスバッファにおける前記出力データを,処理が行なわれた前記第2のシェーダステージの下流工程にある別の第3のシェーダステージへの前記入力データとしてそれぞれ再利用するか,又は当該出力データに対する記憶領域の割り当てを解除するかを判断する
画像処理装置。 - 請求項1に記載の画像処理装置において,
前記第2のシェーダステージにおける処理が終了後に当該タスクキューに記憶された前記入力側のインデックスバッファのアドレスを参照して,該当する前記入力側のインデックスバッファに記憶された前記入力データを解放する
画像処理装置。 - 請求項1または2に記載の画像処理装置において,
前記入力側のインデックスバッファ,又は出力側のインデックスバッファは前記頂点データから構成されるプリミティブの先頭にプリミティブのサイズを示すサイズデータが記憶されており,同サイズデータは当該プリミティブを構成するインデックス値がフェッチされるごとに,1ずつ減少され同サイズ値が0となった際に同プリミティブからのフェッチが完了される
画像処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010290646A JP5670723B2 (ja) | 2010-12-27 | 2010-12-27 | 画像処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010290646A JP5670723B2 (ja) | 2010-12-27 | 2010-12-27 | 画像処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012137984A JP2012137984A (ja) | 2012-07-19 |
JP5670723B2 true JP5670723B2 (ja) | 2015-02-18 |
Family
ID=46675336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010290646A Active JP5670723B2 (ja) | 2010-12-27 | 2010-12-27 | 画像処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5670723B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117764808B (zh) * | 2023-12-22 | 2024-09-17 | 摩尔线程智能科技(北京)有限责任公司 | Gpu的数据处理方法、装置及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2610817B2 (ja) * | 1985-11-19 | 1997-05-14 | ソニー株式会社 | アドレス生成装置 |
GB2387094B (en) * | 2002-03-26 | 2005-12-07 | Imagination Tech Ltd | 3-D Computer graphics rendering system |
US7259765B2 (en) * | 2003-04-04 | 2007-08-21 | S3 Graphics Co., Ltd. | Head/data scheduling in 3D graphics |
US8111260B2 (en) * | 2006-06-28 | 2012-02-07 | Microsoft Corporation | Fast reconfiguration of graphics pipeline state |
US7692660B2 (en) * | 2006-06-28 | 2010-04-06 | Microsoft Corporation | Guided performance optimization for graphics pipeline state management |
JP4913823B2 (ja) * | 2006-11-01 | 2012-04-11 | 株式会社ディジタルメディアプロフェッショナル | 拡張されたプリミティブの頂点キャッシュの処理を加速する装置 |
-
2010
- 2010-12-27 JP JP2010290646A patent/JP5670723B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2012137984A (ja) | 2012-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI515716B (zh) | 具備緩衝區限制處理的世界空間與螢幕空間管線間之圖元重新排序 | |
JP6309620B2 (ja) | 頂点シェーダのフロント・エンドとしてコンピュート・シェーダを使用すること | |
US7830392B1 (en) | Connecting multiple pixel shaders to a frame buffer without a crossbar | |
US20170206231A1 (en) | Tree traversal with backtracking in constant time | |
CN103810669B (zh) | 在统一l2高速缓存中高速缓存经适应性定制大小的高速缓存像素块 | |
US11756256B2 (en) | Dedicated ray memory for ray tracing in graphics systems | |
JP4493626B2 (ja) | マルチプロセッサシステム、ライブラリモジュール、および描画処理方法 | |
TWI645371B (zh) | 在上游著色器內設定下游著色狀態 | |
TW201432609A (zh) | 已分配的拼貼快取 | |
US11532066B2 (en) | Reduced bandwidth tessellation factors | |
TWI633516B (zh) | 曲面細分及幾何著色器的功率效率屬性處理 | |
TWI611373B (zh) | 路徑著色的最佳化三角形拓撲 | |
US11609791B2 (en) | Precise suspend and resume of workloads in a processing unit | |
CN110223216A (zh) | 一种基于并行plb的数据处理方法、装置及计算机存储介质 | |
TWI395152B (zh) | 繪圖處理單元及處理邊框顏色資訊之方法 | |
JP5670723B2 (ja) | 画像処理装置 | |
JP2019530069A (ja) | 並列マイクロポリゴンラスタライザ | |
US20220206838A1 (en) | Adaptive thread group dispatch | |
JP2011128713A (ja) | 画像処理装置および画像処理プログラム | |
US11900123B2 (en) | Marker-based processor instruction grouping | |
JP5719157B2 (ja) | グラフィック演算処理チップ | |
WO2023129435A1 (en) | Cache blocking for dispatches | |
KR20240121331A (ko) | 연속적인 캐시 액세스들을 위한 가변 디스패치 워크 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20131101 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140826 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140916 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141106 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20141202 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141218 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5670723 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |