JP5719157B2 - グラフィック演算処理チップ - Google Patents
グラフィック演算処理チップ Download PDFInfo
- Publication number
- JP5719157B2 JP5719157B2 JP2010270731A JP2010270731A JP5719157B2 JP 5719157 B2 JP5719157 B2 JP 5719157B2 JP 2010270731 A JP2010270731 A JP 2010270731A JP 2010270731 A JP2010270731 A JP 2010270731A JP 5719157 B2 JP5719157 B2 JP 5719157B2
- Authority
- JP
- Japan
- Prior art keywords
- sub
- data
- area
- processing
- region
- 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
- 238000000034 method Methods 0.000 description 11
- 230000009466 transformation Effects 0.000 description 9
- 238000013467 fragmentation Methods 0.000 description 7
- 238000006062 fragmentation reaction Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000003491 array Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 239000012634 fragment Substances 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000009751 slip forming Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Image Input (AREA)
- Image Processing (AREA)
- Memory System (AREA)
Description
各サブ領域に記録されるデータは,同記憶領域に記録されている期間であるライフサイクル値がそれぞれ異なっており,ライフサイクル値が短い前記データを含むサブ領域は,ライフサイクル値が長いデータを含むサブ領域と隣接して設けられている。
また,このサブ領域は,隣接するサブ領域が境界部にデータが記録されていない場合に,当該隣接するサブ領域の境界部をサブ領域の記録領域として再割り当て可能に構成されている構成も可能である。
また,より一層の処理の高速化を図るために,サブ領域においては,前記データは循環バッファ形式にて記憶容量の割り当てが行われるようにすることもできる。
更に,サブ領域において,割当ビットマップにのっとってデータに対して記憶容量の割り当てを行うこともできる。
様に限定されるものではない。本発明は,以下に説明する実施態様から当業者に自明な範
囲で適宜修正される範囲を含む。
本明細書において,用語「シェーダ」は,一般にシェーディングを実行するGPUのハードウェアサブユニットを参照するか又はシェーディングを実行するためのシェーダ(ハードウェア)によって使用されるメモリ例えばレジスタ記憶装置に次にロードされる,GPUにダウンロードされる命令セット又はトークンを参照するために使用され得る。用語「シェーダ」は,動作する双方を一緒に参照することもできる。用語「シェーダプログラム」は,一般にグラフィックスパイプラインに存在し実行するプログラム又はプロセスを参照し得て,画面上の最終的な画像の表面特性又は3次元画面環境におけるオブジェクトの決定/定義を支援するために使用される。「シェーダ」は,それらの特定のタスクを実行するために毎秒何十億の計算を実行可能である。
グラフィックスパイプライン101において,頂点シェーダ108は,頂点単位に様々な処理を行う。例えば,頂点の移動処理や,座標変換,ワールド座標変換,視野変換(カメラ座標変換),クリッピング処理,射影変換(透視変換,投影変換),ビューポート変換(スクリーン座標変換),光源計算等のジオメトリ処理が行われ,その処理結果に基づいて,オブジェクトを構成する頂点群について与えられた頂点データを変更(更新,調整)する。ジオメトリ処理後のオブジェクトデータ(オブジェクトの頂点の位置座標,テクスチャ座標,色データ(輝度データ),法線ベクトル,或いはα値等)は,オンチップメモリ104に保存される。
ラスタライザ109は,頂点シェーダ108から頂点データを受け取るか,オンチップメモリ104に保存されたデータを読み出してこれをエッジラスタ化,テクスチャ座標ラスタ化および色ラスタ化を実行するラスタライザへ3角形セットアップ情報を送信するセットアップユニットを含んでいる。
ジオメトリシェーダ110は,単一,または複数の頂点(複数)/ポイント(複数),ライン(複数)(2つの頂点セット),及び三角形(複数)(3つのラインセット)や多頂点形を含む異なるタイプのプリミティブの入力に対して処理を行い,入力されるプリミティブに基づいてパイプライン101内部に新しい幾何学的図形を生成することが可能である。ジオメトリシェーダ110の入力は,完全プリミティブ用頂点(ライン用の2つの頂点,三角形用の3つの頂点又はポイント用の単一頂点)及びエッジ隣接プリミティブ用頂点(ライン用の更なる2つの頂点,三角形用の更なる3つの頂点)データなどである。ジオメトリシェーダ110は,例えば1つのプリミティブを受信し得て,0,1又は複数のプリミティブのいずれかを出力できる。ジオメトリシェーダ110は,選択された単一のトポロジーを形成する複数頂点を出力できる。出力例の中には,三角形ストリップのようなトポロジー,ラインストリップ又はポイントリストを含む。エミットされたプリミティブの数は,任意のジオメトリシェーダ110の呼び出しの内部で変更できる。具体的な処理の一例としては,ポイントスプライト又はワイドラインテセレーション,ファー/フィン生成,シャドウボリューム生成,複数テクスチャ立方体表面に対する単一パスレンダリングなどが実行される。
ピクセルシェーダ111は光源や陰影の処理を行い,画像をピクセル単位で処理する。
サブ領域S2はアウトプット頂点の記録領域に相当する。アウトプット頂点とは頂点シェーダ108から出力される頂点のデータであり,このデータが再利用されて再び別シェーダで利用されることもあるため,記憶は比較的長期にわたって行われる。このアウトプット頂点がそのままジオメトリシェーダ110の入力値として活用することもできる。
サブ領域S3はジオメトリシェーダコンテクストの記録領域に相当する。ジオメトリシェーダ110において処理されている途中のプリミティブのデータが記録されている。ジオメトリシェーダ110では,その処理の間に一時的に頂点の処理途中の状態を記録することがある。このジオメトリシェーダコンテクストは,ジオメトリシェーダ110での処理が終わると割当は解放される。
サブ領域S4は,ジオメトリシェーダ110のアウトプットが記録される領域である。この領域は,ジオメトリシェーダ110での処理が終わるとデータが記録されることから,サブ領域S3が解放されると記憶がされるようになっている。
サブ領域S5は,ラスタライザ109での処理結果が記憶される領域である。また,サブ領域S6は,フラグメントシェーダコンテクスト,すなわちピクセルシェーダ111において処理されている途中の頂点のデータが記録されている。ピクセルシェーダ111では,その処理の間に一時的に頂点の処理途中の状態を記録することがある。このピクセルシェーダコンテクストは,ピクセルシェーダ111での処理が終わると割当は解放される。
一方で,出力頂点データなどは,頂点シェーダ108の処理結果が記憶されるものであることから,そのデータは再度別のパイプラインのステージで再利用される場合を想定して,記憶される期間は長く設定されている場合が多い。本実施例ではこのように更新頻度の高いサブ領域Sと更新頻度の低い(換言すれば,長期間にわたってサブ領域Sに記憶されている)サブ領域Sとが交互に配置されている。
本実施例では,各サブ記憶領域Sのメモリエレメント203が必要に応じて増減されるアルゴリズムが採用されている。すなわち,サブ領域Sにおいて,記録に必要なメモリエレメント203が不足する場合,隣接するサブ領域Sの境界部分に位置するメモリエレメント203を自らの領域として取得する処理が行われる。具体的には,この処理はサブ領域S間のスタート境界部201やエンド境界部202が移動されることによって行われる。この際,隣接するサブ領域Sの各境界部201,202付近のメモリエレメント203にデータが記録されている場合,境界部201,202を移動してサブ領域Sのメモリエレメント203を増減することができない。そのため,前述したように更新頻度の高い,すなわちメモリエレメント203が解放されて空き領域ができやすいサブ領域Sと隣接することによって,サブ領域Sのサイズ変更がより柔軟に実施されやすくなる。
この際,サブ領域Sのサイズ変更を実施するか否かを判定するアルゴリズムとしては,例えば空いたメモリエレメント数が所定の値以下になった際において,隣接するサブ領域Sのメモリエレメント203に空きがある場合に境界部201,202の変更を行うという処理の手順や,割当されるデータアレイに必要なメモリエレメント数がサブ領域S内に存在するか否かを判定し,存在しないときに必要分を隣接するサブ領域Sのスタート境界部201付近から取得するといった手順を採用することができる。
図3(a)は,このサブ領域Sの初期状態を示している。このサブ領域Sは10のメモリエレメント203から構成されており,この時サブ領域Sのスタート境界部201,及びエンド境界部202を示す境界部は一つ目のメモリエレメント203の位置に存在している。また,図示するような割当ビットマップ204を設け,実際にメモリエレメント203にデータアレイの割当,又は割当解除を行う前に,割当ビットマップ204上で記録するメモリエレメント203を決定して「0」か「1」かを記録し,この値を参照にしてメモリエレメント203への割当や割当解除を行うこともできる。このような処理を行うことによって,実際にメモリエレメント203に対して直接割当等を行う場合に比較して,単純なデータ構造で記録がなれている割当ビットマップ204の方が検索が容易であり,データが割当されたメモリエレメント203の間に割当解除がされたメモリエレメント203が存在して断片化が発生している場合などは,より効率的に処理を行うことができるようになる。
続いて,図3(c)に示されるように,最初に割り当てられた5つのデータアレイのうち最初の3つのデータアレイの割当が解除される。メモリエレメント203のうちアドレス「0」「1」「2」へのデータの割当が解除され,スタート境界部201は「3」の左側に移動される。このとき割当ビットマップ204は「0,0,0,1,1,0,0,0,0,0」となっている。
続いて,図3(d)に示されるように,新たに6のデータ長からならデータアレイへの記憶領域の割り当てが行われる。この割当はエンド境界部202が移動され,6つ分のメモリエリア203がこの記憶領域としてあてはめられ,「5」「6」「7」「8」「9」「0」の順番で記憶される。割当後のスタート境界部201は「3」の左側,エンド境界部202は「0」の右側に移動されている。このとき割当ビットマップ204は「1,0,0,1,1,1,1,1,1」となっている。
続いて,図3(f)に示されるように,新たに2のデータ長からならデータアレイへの記憶領域の割り当てが行われる。この割当はエンド境界部202が移動され,2つ分のメモリエリア203がこの記憶領域としてあてはめられ,「1」「2」の順番で記憶される。割当後のスタート境界部201は「3」の左側,エンド境界部202も「2」の右側に移動されている。このとき割当ビットマップ204は「1,1,1,1,0,1,0,0,1,1」となっている。
続いて,図3(g)に示されるように,アドレス「3」に記憶されたデータの割当が解除される。この解除に伴い,スタート境界部201はアドレス「5」の左側に移動される。この際の割当ビットマップ204は「1,1,1,0,0,1,0,0,1,1」となっている。
最後に,図3(i)に示されるように,アドレス「8」「9」「0」「1」「2」に記憶されているデータの割当が解除される。この時は,スタート境界部201がエンド境界部202と隣接する部位まで移動され,アドレス「3」の右側に位置する。この際の割当ビットマップ204は「0,0,0,0,0,0,0,0,0,0」となっている。
このように,循環バッファが採用される場合は,空き領域が少ない場合であっても,メモリエレメント203を効率的に利用することができる。とくに,更新頻度の高いデータが記憶されるようなサブ領域Sにあってはより一層効果的である。
101 グラフィックスパイプライン
102 プロセッサインタフェース
103 メモリインタフェース
104 オンチップメモリ
105 メモリ調停回路
106 コマンドプロセサ
107 頂点キャッシュ
108 頂点シェーダ
109 ラスタライザ
110 ジオメトリシェーダ
111 ピクセルシェーダ
201 スタート境界部
202 エンド境界部
203 メモリエレメント
204 割当ビットマップ
Claims (3)
- 複数の処理ステージから構成される画像処理パイプラインを有し,記録領域がチップ上に設けられたグラフィック演算処理チップであって,
前記記憶領域は,互いに隣接し,それぞれが同じ処理ステージで扱われる同じタイプのデータ種別を記憶するように区分された複数のサブ領域に分割されており,
前記サブ領域内における各データはそれぞれ連続する順列データとして記憶されるとともに,同順列データはそれぞれが他の前記順列データと隣接する態様にて記憶され,
前記複数のサブ領域は,処理ステージによる処理の間に処理途中の状態のライフサイクル値の短いデータが記憶される第1サブ領域と,処理ステージによる処理結果であるライフサイクル値の長いデータが記憶される第2サブ領域とに分類されており,
前記第1サブ領域と前記第2サブ領域は,それぞれ複数存在し,
前記第1サブ領域と前記第2サブ領域は,交互に配置されており,
前記複数のサブ領域は,隣接するサブ領域が境界部近隣のメモリエレメントに前記データが記録されていない場合に,当該隣接するサブ領域の前記メモリエレメントを前記サブ領域の記録領域として再割り当て可能に構成されている
グラフィック演算処理チップ。 - 請求項1に記載のグラフィック演算処理チップにおいて,
前記サブ領域においては,前記データは循環バッファ形式にて記憶領域の割り当てが行われる
グラフィック演算処理チップ。 - 請求項1又は請求項2に記載のグラフィック演算処理チップにおいて,
前記サブ領域におけるデータの割当,又は割当の解除に先行して割当ビットマップ上で割当エリアの決定を行い,当該割当ビットマップにのっとって記憶領域の割り当てが行われる
グラフィック演算処理チップ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010270731A JP5719157B2 (ja) | 2010-12-03 | 2010-12-03 | グラフィック演算処理チップ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010270731A JP5719157B2 (ja) | 2010-12-03 | 2010-12-03 | グラフィック演算処理チップ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012118943A JP2012118943A (ja) | 2012-06-21 |
JP5719157B2 true JP5719157B2 (ja) | 2015-05-13 |
Family
ID=46501649
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010270731A Active JP5719157B2 (ja) | 2010-12-03 | 2010-12-03 | グラフィック演算処理チップ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5719157B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109656836A (zh) * | 2018-12-24 | 2019-04-19 | 新华三技术有限公司 | 一种数据处理方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09222986A (ja) * | 1996-02-16 | 1997-08-26 | Fuji Xerox Co Ltd | 画像処理装置及び情報処理装置 |
JP2002351739A (ja) * | 2001-05-22 | 2002-12-06 | Kyocera Corp | メモリー管理方法およびデータ処理装置 |
JP2004280157A (ja) * | 2003-03-12 | 2004-10-07 | Toshiba Corp | 画像処理装置 |
JP2007264692A (ja) * | 2006-03-27 | 2007-10-11 | Nec Corp | メモリ管理方法、装置、およびプログラム |
-
2010
- 2010-12-03 JP JP2010270731A patent/JP5719157B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2012118943A (ja) | 2012-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4450853B2 (ja) | 負荷分散 | |
TWI515716B (zh) | 具備緩衝區限制處理的世界空間與螢幕空間管線間之圖元重新排序 | |
JP5634104B2 (ja) | タイルベースのレンダリング装置および方法 | |
JP4987070B2 (ja) | 画像生成装置及び画像生成方法 | |
JP2008097583A (ja) | グラフィックスパイプラインにおけるタイルベース精度のラスタライズ | |
JP3892016B2 (ja) | 画像処理装置および画像処理方法 | |
US20130113790A1 (en) | Image processing device | |
US10943389B2 (en) | Removing or identifying overlapping fragments after z-culling | |
US10957094B2 (en) | Hybrid render with preferred primitive batch binning and sorting | |
TWI611373B (zh) | 路徑著色的最佳化三角形拓撲 | |
US11532066B2 (en) | Reduced bandwidth tessellation factors | |
TWI633516B (zh) | 曲面細分及幾何著色器的功率效率屬性處理 | |
US9299182B2 (en) | Divided-area-based rendering device and divided-area-based rendering method | |
EP1331606A1 (en) | Image processing method for realizing quick bump mapping, image processing device, computer program, and semiconductor device | |
CN114092613A (zh) | 对体素进行即时渲染的方法 | |
JPWO2006013849A1 (ja) | 描画装置 | |
KR102479395B1 (ko) | 선호된 프리미티브 배치 비닝 및 분류를 갖는 하이브리드 렌더 | |
KR101517465B1 (ko) | 폴리곤의 특징에 적응된 순서로 래스터화하는 래스터화엔진 및 3차원 그래픽스 시스템 | |
JP5719157B2 (ja) | グラフィック演算処理チップ | |
US7528839B1 (en) | Faster clears for three-dimensional modeling applications | |
JP5304443B2 (ja) | 描画データ処理方法、図形描画システム、及び図形描画データ作成プログラム | |
US11748933B2 (en) | Method for performing shader occupancy for small primitives | |
WO2022134125A1 (zh) | 一种图形处理方法、装置及电子设备 | |
JP5670723B2 (ja) | 画像処理装置 | |
JP4042377B2 (ja) | 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム |
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: 20140710 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140812 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141010 |
|
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: 20150310 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150320 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5719157 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 |