JP2012146323A - タイルベース・レンダリング・システムにおけるマルチコアの形状処理 - Google Patents

タイルベース・レンダリング・システムにおけるマルチコアの形状処理 Download PDF

Info

Publication number
JP2012146323A
JP2012146323A JP2012058179A JP2012058179A JP2012146323A JP 2012146323 A JP2012146323 A JP 2012146323A JP 2012058179 A JP2012058179 A JP 2012058179A JP 2012058179 A JP2012058179 A JP 2012058179A JP 2012146323 A JP2012146323 A JP 2012146323A
Authority
JP
Japan
Prior art keywords
shape
list
data
processing unit
tile
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.)
Granted
Application number
JP2012058179A
Other languages
English (en)
Other versions
JP5456812B2 (ja
Inventor
William Howson John
ジョン ウィリアム ホーソン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Imagination Technologies Ltd
Original Assignee
Imagination Technologies Ltd
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 Imagination Technologies Ltd filed Critical Imagination Technologies Ltd
Publication of JP2012146323A publication Critical patent/JP2012146323A/ja
Application granted granted Critical
Publication of JP5456812B2 publication Critical patent/JP5456812B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • 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
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures

Abstract

【課題】多数のタイルベースの並列コアにわたるタイリング処理能力の向上。
【解決手段】多数の独立型タイルベース・グラフィック・コアを組み合わせるための方法及び装置が提供される。入ってくる形状ストリームは、複数のストリームに分割され、それぞれのタイルベースのグラフィックス処理コアに送られる。それぞれが別個のタイリングされた形状リストを生成する。これらは、マスター・タイリング・ユニットに組み合わせることができ、或いは代替的に、マーカーをタイリングされた形状リストに挿入することもでき、このマーカーがラスター化段階で用いられ、異なる形状処理コアからのタイリング・リスト間で切り替えを行なう。
【選択図】図9

Description

本発明は、三次元コンピュータ・グラフィックス・レンダリング・システムに関し、具体的には、形状処理(geometry processing)性能を向上させるために、多数の独立型タイルベース・グラフィックス・コアを組み合わせることに関連した方法及び装置に関する。
例えば基本的な手持ち式用途のものから高度な専用グラフィック・コンピュータまでといった、多くの異なる性能レベルのコンピュータ・グラフィックス処理コアを提供することが望ましいが、現代のコンピュータ・グラフィックスの複雑さにより、これをタイムリーに、或いは費用対効果が大きい方法で行なうことは困難である。従って、新しいコア全体を開発しないで、性能を向上させることができるように、多数の独立型コアを組み合わせる方法を有することが望ましい。
タイルベースのレンダリング・システムは、公知である。このシステムは、画像を複数の矩形のブロック又はタイルに細分する。図1は、タイルベースのレンダリング・システムの例を示す。プリミティブ/コマンド・フェッチ・ユニット101が、メモリからコマンド及びプリミティブ・データを取り出し、これを形状処理ユニット102に送る。この形状処理ユニット102は、周知の方法を用いて、プリミティブ及びコマンド・データを画面空間に変換する。次に、このデータは、画面空間形状からのオブジェクト・データを、1組の定められた矩形領域すなわちタイルの各々についてのオブジェクト・リストに挿入するタイリング・ユニット103に与えられる。各タイルについてのオブジェクト・リストは、そのタイル内に全体的に又は部分的に存在するプリミティブ(primitive、基本要素)を含む。幾つかのオブジェクト・リストは、その中にデータを有していないこともあるが、リストは、画面上のあらゆるタイルについて存在する。これらのオブジェクト・リストは、オブジェクト・リストをタイルごとに隠面消去ユニット(hidden surface removal unit、HSR)106に与え、最終シーンに寄与しない表面を除去する(通常、それら表面は別の表面により隠されているため)タイル・パラメータ・フェッチ・ユニット105によってフェッチされる。HSRユニットは、タイル内の各プリミティブを処理し、可視ピクセルについてのデータだけを、テスティング・シェーディング・ユニット(TSU)108に送る。TSUは、HSRからデータを取得し、それを用いてテクスチャをフェッチし、周知の技術を用いて可視オブジェクト内の各ピクセルにシェーディングを適用する。次にTSUは、テクスチャリングされ、シェーディングされたデータを、アルファ・テスト/フォギング/アルファ・ブレンディング・ユニット110に提供する。これは、同じく周知の技術を用いて、様々な程度の透明性/不透明性を表面に適用することができる。アルファ・ブレンディングは、オンチップ・タイル・バッファ112を用いて行なわれ、これにより、この操作のために外部メモリにアクセスする必要性がなくなる。各タイリングが終了すると、ピクセル処理ユニット114は、結果として得られたデータを、表示の準備が完了したレンダリングされたシーン・バッファに書き込む前に、パッキング及びアンチエイリアシング・フィルタリングのような何らかの必要なバックエンド処理を行なう。
特許文献1において、形状処理及びタイリング操作を、多数のラスター化コアを供給する別個のプロセッサに分割することによって、タイルベースのレンダリング環境内のラスター化性能をスケーリングする方法が記載される。この方法は、形状処理をスケーリングする問題、特に、多数のタイルベースの並列コアにわたるタイリング処理能力の問題を考慮に入れていない。
3Dハードウェア・デバイスは、好ましくはプリミティブの順序を、それらが供給アプリケーションによってサブミットされた順序に関して保存しなければならないことが、一般に知られている。例えば、示されるように、図2は、4つの三角形T1(200)、T2(210)、T3(220)及びT4(230)を示し、これらは、T1、T2、T3、T4の順序でアプリケーションにより存在し、タイル0(240)、タイル1(250)、タイル2(260)及びタイル3(270)に重なる。タイルリストにおける三角形のオリジナルの順序を保存するために、三角形は、各タイルリストにおいては以下のように参照される。
Figure 2012146323
形状プロセッサ及びタイリング・プロセッサにわたる負荷を均等に分配するために、ラウンドロビン・ベースで又は個々のプロセッサにかかる負荷に基づいて、入力データをプロセッサにわたって分割する必要がある。しかしながら、各プロセッサは、オブジェクトのタイルリストを局所的に生成するので、オブジェクトがタイルに挿入される順序の保存には、プロセッサが、タイル毎のオブジェクト・リストに書き込む順序を制御することが必要である。この制御は、通常、存在するGPC(グラフィックス処理コア)の各々の間の通信を必要とし、このことは、存在するコアの数をスケーリングするときに、それらの設計を変更する必要があることを意味する。
英国特許第GB2343598号
本発明の好ましい実施形態は、タイルベースのレンダリング・システムが、形状処理及びタイリング操作を直線状にスケーリングするのを可能にする方法及び装置を提供する。このことは、コア内でかなりの量の入ってくる形状を処理し、局所的にタイリングすること、及び、各コアからの結果として得られる領域リストをオリジナルの入力形状の順序に対応する順序で互いにリンクさせることを可能にする階層リスト構造を使用することによって達成される。これに加えて、用いられる機構により、それらのコアの各々に対する修正をほとんど又は全く必要とすることなく、多数のコアを並行して用いることが可能になる。
好ましくは、本発明の実施形態は、多数の独立したタイルベースのグラフィック・コアを組み合わせるための方法及び装置を提供し、そこでは、入ってくる形状ストリームが、タイルベース・グラフィックス処理コアごとに1つの、複数の形状ストリームに分割され、次に、各コア及びこれが処理する各三角形についての別個のタイリングされた形状リストが、マスター・タイリング・ユニットを用いて組み合わせられ、このマスター・タイリング・ユニットは、形状処理コアからデータを取得して各タイルについてマスター・タイルリストを生成し、入力された形状の順序を保存するか、或いは、ラスター化の際に、用いられるタイリングされた形状リスト内でマーカー使用し、ラスター化コアがリスト間で切り替わるようにする。
ここで、添付図面を参照して、本発明の好ましい実施形態を一例として詳細に説明する。
上述したような従来技術のタイルベースのレンダリング・システムを示す。 上述したような例示的な組の4つ三角形が4つのタイルに重なることを示す。 多数のコアにわたって制御ストリームを分割することを示す。 本発明の1つの実施形態においてタイル・リファレンス・リストのために提案されたデータ構造を示す。 本発明の1つの実施形態における、提案された階層タイルリスト・データ構造を示す。 本発明の1つの実施形態において、制御ストリームを多数のコアにわたってより粗い粒度で分割することを示す。 本発明を具体化するシステムの例示的な実装を示す。 図7の例示的なシステムへの修正を示す。 パイプ・インターリーブ・マーカーを用いて、制御ストリームを多重コアにわたって分割することを示す。 パイプ・インターリーブ・マーカーを用いる、本発明の1つの実施形態における提案されたタイルリスト・データ構造を示す。 パイプ・インターリーブ・マーカーを用いて、互いにリンクされた多数のタイルリストを処理するためにラスター化コアにより用いられるアルゴリズムを示す。 パイプ・インターリーブ・マーカーを用いる例示的な形状処理システムを示す。 PIMベースの形状システムにより生成されるタイルリストを処理することができる、タイルベースのラスター化システムのフロントエンドの例を示す。
図3は、形状リストを組み合わせるためにマスター・タイリング・ユニットを用いる提案されたシステムの単純化されたバージョンを示す。入ってくる形状ストリーム300を多数のコアにわたって処理するために、(この例においては)2つの形状処理コア(GPC)340及び350にわたって処理するためにデータ・ストリームを分割するストリーム分割器310によって、初めに、入ってくる形状ストリーム300を、コア毎に1つの別個のストリームに分割する必要がある。この例においては、入ってくるストリームは、単純なラウンドロビン・ベースで、2つのコアにわたって分配されるが、各コアにかかる処理負荷に基づいて、ストリームを処理コアにわたって分割することも可能である。ストリーム分割器は、制御状態及びプリミティブを各々の形状処理コアに分配することに留意することが重要である。制御状態は、形状データをどのように処理するかについて、ハードウェアに指示する情報を含む。例えば、マトリクスを用いて、形状を周知の方法で変換することができ、或いは、テクスチャリングをどのように形状に適用するかの詳細を含ませることができる。例えば、GPC0 320についての制御ストリームは、三角形T1−T3と関連した制御状態1を含み、GPC1 330についての制御状態は、T1−T3についての状態1及びT4についての状態4を含む。
GPC340及び350の各々は、それが処理する各三角形について、別個のタイリングされた形状リスト360及び370を生成する。各三角形ごとに更新された各タイルについて、GPCは、タイル・リファレンス・リスト(TRL)365及び375のそれぞれのものに、リファレンスを挿入する。TRL及びGPC毎のタイリングされた形状リストは、図4に示すデータ構造を形成し、マスター・タイルリスト390を生成するために、マスター・タイリング・ユニット380により使用される。
GPC0のTRL400は、そのコアにより処理される三角形T1及びT3についてのリファレンスを含み、例えば、T1はタイル0、0のみの中に存在するので、リファレンス及び対応するタイリングされた形状リスト410へのポインタは、TRL内に含められ、これに、4つのタイル全てにおけるT3についてのリファレンスが続く。同様に、GPC1のTRL420は、GPC1についての対応するタイリングされた形状リスト430において、T2及びT4に重なる各タイルについてのリファレンスを含む。タイリングされた三角形のリストは、430において、各三角形が示された後に「End」マーカーを含むことに留意すべきである。
図3のマスター・タイリング・ユニット(MTU)380は、(この例においては)プリミティブがGPCにわたって分配される同じラウンドロビン順序でTRLを読み取り、次に移る前に、各TRLから1つの三角形についてのタイル・リファレンスを取得する。MTU380は、タイル・リファレンスを取得し、マスター・タイルリスト390を生成し、このリストは、図5に示すデータ構造を有する。各々がトップレベルのタイルリスト510内の対応するタイルリストを指し示す、通常のタイルベース・レンダリング・システムの領域ヘッダ500と同様に、これらのリストは、三角形のオリジナルの提示順序を保存し、各々が「Terminate(終了)」マスターを有することに留意すべきである。トップレベルのタイルリストは、GPCにより生成され上述されたような、各タイル520及び530内の参照された三角形リストへのリンクを含む。
上述のように、各GPCのタイルリスト内の各三角形の後には、「End」マーカーが続く。これらのマーカーは、ラスター化ハードウェアにより、GPCタイルリストから上位のタイルリストに戻るよう、これに指示するために用いられる。マーカーは、単一の三角形の代わりに、各GPCにおいて三角形のグループを処理できるように使用される。このことは、マーカーが、上位のタイルリストと関連したメモリの量を最小にし、かつ、幾つかの三角形における頂点の処理が他のものより時間がかかる場合に、より大きいGPCの分離を可能にするために重要である。
図6は、1000個の三角形のブロックが各GPCに押し下げられる、多数のGPCにわたって、アプリケーションから入ってくるプリミティブ・ストリームを分割することを示す。入ってくるデータ・ストリーム600は、各々がそれぞれ4個、50個、2000個及び1500個の三角形を含む4つのプリミティブ、すなわちprim1、2、3及び4を含む。示されるように、2つのGPC(650及び660)にわたる処理のために、ストリーム分割器610は、ストリームを4つのブロックに分割し、ブロック620及び630はGPC0に渡され、ブロック640及び650はGPC1に渡される。Prim1及びPrim2は両方とも、Prim3及びPrim4の第1の部分と共にGPC0に送られる。Prim3及びPrim4の残りの部分は、GPC1に送られる。分割の目的は、2つのGPC間の負荷を平衡させようとすることである。ブロック620及び630において、Prim3からのデータも、2つのブロック間で分割され、その両方ともGPC0によって処理される。これは、類似したブロック・サイズを生成するためである。TRL及びトップレベルのデータ構造は、単一の三角形を指し示すのではなく、タイル毎のリファレンスが、各タイル内の各ブロックからの三角形のグループを指し示すことを除いて、変更されない。
図7は、2つの形状処理及びタイリング・コアを用いるシステムの例示的な実装を示す。プリミティブ及びコマンド・フェッチ・ユニット700が、入ってくる制御ストリームを読み取り、それを、上述のように2つ(又はそれ以上)のコアにわたる処理のためにストリームを分割するストリーム分割器ユニット705に渡す。分割器は、フェッチされるプリミティブへのポインタを、「ローカル」プリミティブ・フェッチ・ユニット715及び716への入力における別個のコア、具体的にはFIFO712及び714に渡す。FIFOは、各バッチを処理するのに各コアが要する時間のために、ストリーム分割処理の分離を助けなければならない。ローカル・プリミティブ・フェッチ・ユニットは、FIFO712及び714からポインタを読み取り、次に、メモリから実際の形状データを読み取り、それを形状処理ユニット720及び721に渡し、形状処理ユニット720及び721は、形状を処理すると、それをローカル・タイリング・ユニット725及び726に渡す。タイリング・ユニットは、処理された形状をタイリングし、ローカル・タイルリスト730及び731を生成し、これらリストについてのTRLをタイル・リファレンスFIFO740及び741に渡し、タイル・リファレンスFIFO740及び741は、マスター・タイリング・ユニット(MTU)により消費されるのを待ちながら、既述したTRLをバッファに入れる。これらのFIFOを、外部メモリ内又はチップ上に含ませ、GPCとマスター・タイリング・ユニットとの間のバッファリング量の柔軟性を大きくできることに留意すべきである。FIFO/バッファの使用により、GPCをMTUの操作から分離し、MTUがマスター・タイルリストの生成に相当量の時間を費やしている場合のストールを最小にすることができる。MTUは、FIFOからのTRLデータを使用して、マスター領域リスト760を生成し、これとローカル・タイルリストと協働して、上述のようなデータ構造を形成する。
単一のラウンドロビン方式の使用により、1つのGPCが他のGPCよりも著しく時間がかかるために、分割ストリームFIFO712及び714のいずれかが一杯になる場合に、ストリーム分割器がストールすることを意味することが留意されるであろう。このように、処理時間の不均衡が大きい場合には、GPCパイプラインのいずれもアイドル状態になるのを回避するため、これらのFIFOを法外に大きくする必要がある場合がある。図8は、そのコアがどれだけビジーであるかに基づいて、分割器がプリミティブを各コアに送る、すなわちその処理負荷が監視される、代替的な実施形態を示す。システムの操作は、例えば入力バッファリングの占有量(fullness)など、それらがどれだけビジーであるかを示す、形状処理ユニット820及び821からの情報が、ストリーム分割器805に与えられる点を除いて、上述されたものと同一である。ストリーム分割器は、この情報を用いて、プリミティブのグループを、最も負荷の高くないGPCに指向させる。プリミティブがコアにサブミットされる順序は今や非決定的(non deterministic)であるため、ストリーム分割器は、MTUがTRL FIFOからTRLを正しい順序で引くことができるように、MTUのためにコア・リファレンス・シーケンスを生成する必要がある。リファレンス・シーケンスは、ストリーム分割器によりサービス・オーダーFIFO870に書き込まれ、サービス・オーダーFIFO870は、MTUは、どのTRO FIFOを次に読み取るかを決定するために、順番に読み込む。
図9は、マスター・タイリング・ユニットの代わりに、「パイプ・インターリーブ・マーカー」を用いて、多数のコアにわたって形状を処理するのを可能にするシステムを示す。マスター・タイリング・ユニット・ベースのシステムと同様に、上述のように、入ってくる形状ストリーム・データは、ストリーム分割器910によって分割され、GPC940、950に分配される。各GPCは、それぞれのタイリングされた形状リスト960及び970を生成する。図10は、生成された、タイリングされた形状リストの構造を示す。各GPCは、通常のタイルベースのレンダリング・システムのように、各コアに通される形状についてのタイリングされた形状リストを指し示すそれぞれの領域ヘッダ1000及び1020を生成する。各形状ブロックの終わりに、GPCは、ラスター化プロセスの際に単一のコアにより正しい順序でリストをトラバースするのを可能にするために用いられる「パイプ・インターリーブ・マーカー」(PIM)1040を挿入する。
図11のフローチャートは、リストをトラバースするために、ラスター化によりPIMマーカーがどのように使用されるかを示す。1100において、各タイルの処理の開始時に、各コアが生成する領域ヘッダの内容が、コアリスト・ポインタ・アレイにロードされる。これにより、アレイ内の各エントリが、処理される領域の各コアのために生成された領域リストへのポインタを含むようになる。1105において、プリミティブ・データの第1のブロックが、アレイへのインデックスを0に設定することにより、第1のGPCすなわちGPC0によって処理されたと仮定して、領域リストの処理が開始される。次に、1110において、これがゼロであるかどうかを確認するために、ポイント値が試験され、もしゼロであれば、それは、リストが空であるか、又は、既に処理が完了したことを意味し、1115において、アレイ・インデックスがインクリメントされ、1110において行なわれた試験が繰り返される。このプロセスは、形状を含むリストが見つかるまで繰り返され、その時点で、1120において、ポイント・データが、アレイ・インデックスにより索引付けされたポイントを用いてタイリングされた形状リストからフェッチされる。1125において、これがPIMであるかどうかを判断するために、フェッチされたデータが試験され、PIMである場合には、次に、現在のリスト・ポインタが、タイリングされた形状リストの次のデータを指し示すように更新され、1130においてコアリスト・ポインタ・アレイに書き戻される。次に、1135において、アレイ・インデックスは、PIM内で指定された値に設定され、処理は1110に戻る。1125における試験によりPIMが検知されなかった場合、1140において、これがEndマーカーであるかどうかを確認するために、フェッチされたデータが試験され、Endが検知された場合、次に現在のタイリングの処理が完了し、ハードウェアは、次のタイリングの処理に移る。データがEndマーカーではない場合、これは形状又は状態リファレンスであり、必要に応じて1145で処理される。次に、1150において、リスト・ポインタが更新され、処理は1120に戻り、タイリングされた形状リスト内の次のエントリをフェッチする。
図12は、2つの形状処理及びタイリング・コアを用いるPIMベースのシステムの例示的な実装を示す。プリミティブ及びコマンド・フェッチ・ユニット1200が、入ってくる制御ストリームを読み取り、これを、上述のような2つ(又はそれ以上)のコアにわたる処理のためにストリームを分割するストリーム分割器ユニット1205に渡す。分割器は、フェッチされるプリミティブへのポインタを、「ローカルの」プリミティブ・フェッチ・ユニット1215及び1216への入力における別個のコア、具体的にはFIFO1212及び1214に渡す。FIFOは、各バッチを処理するのに各コアが要する時間のために、ストリーム分割処理の分離を助けなければならない。ローカル・プリミティブ・フェッチ・ユニットは、メモリから実際の形状データを読み取り、それを形状処理ユニット1220及び1221に渡し、形状処理ユニット1220及び1221は、形状を処理すると、それをローカル・タイリング・ユニット1225及び1226に渡す。タイリング・ユニットは、処理された形状をタイリングし、コア毎のタイルリスト1230及び1231を生成する。
図13は、PIMを用いて、多数のGPCにより生成されたタイルリストをトラバースすることができるラスター化コアのフロントエンドを示す。領域ヘッダ・フェッチ・ユニット1310が、各GPCにより生成された画面空間タイリングされた形状リスト1300から領域ヘッダを読み取り、図11について述べられたように結果として得られたリスト・ポインタをコアリスト・ポインタ・アレイ1320に書き込む。タイリングされた形状リスト・フェッチ・ユニット1330は、次に、図11について説明されたようなタイル毎の制御リストをフェッチして処理し、処理されることになる結果として得られる形状を、隠面消去ユニット1340に渡し、この時点から、全ての処理は、通常のタイルベースのレンダリング・システムについて説明されたものと同じである。
上記の開示事項に加えて、原特許出願2010−535457号の出願時の特許請求の範囲の記載を以下に開示する。
〔請求項1〕
三次元グラフィックス・レンダリング・システムにおいて形状処理及びタイリングを行なうための方法であって、
レンダリングされるシーンについてのグラフィックス・プリミティブ・データのストリームを提供するステップであって、各々のプリミティブは、そのプリミティブを構成する複数の三角形を定めるデータを含む、ステップと、
複数の形状処理ユニット間でプリミティブ・データを分割するステップと、
各々の形状処理ユニットにより処理される各三角形について、三角形を、その形状処理ユニットと関連した1組のタイリングされた形状リストにおけるそれぞれのタイルリストに挿入するステップと、
三角形が挿入される各タイルについて、そのタイルへのリファレンスを、その形状処理ユニットと関連したタイル・リファレンス・リストに挿入するステップと、
データが前記形状処理ユニットに分配された順序で、各々の形状処理ユニットと関連した前記タイル・リファレンス・リストからデータを読み取るステップと、
前記タイル・リファレンス・リスト及び各々の形状処理ユニットと関連した前記タイリングされた形状から、レンダリングされる前記シーンについてのタイリング・データを生成するステップと、
を含むことを特徴とする方法。
〔請求項2〕
前記プリミティブ・データを分割するステップは、ラウンドロビン・ベースで分割するステップを含むことを特徴とする、請求項1に記載の方法。
〔請求項3〕
前記プリミティブ・データを分割するステップは、実質的に類似した量のプリミティブ・データを各々の形状処理ユニットに分配するよう配置されることを特徴とする、請求項1又は請求項2に記載の方法。
〔請求項4〕
前記プリミティブ・データを分割するステップは、各々のグラフィック処理ユニットにかかる処理負荷を監視し、それらの処理負荷に応じてグラフィック処理ユニット間でデータを分割するステップを含むことを特徴とする、請求項1に記載の方法。
〔請求項5〕
前記プリミティブ・データを分割するステップと、それを前記グラフィックス処理ユニットに送るステップとの間にプリミティブ・データをバッファに入れるステップを含むことを特徴とする、前記請求項のいずれかに記載の方法。
〔請求項6〕
前記タイリング・データを生成するステップの前に、タイル・リファレンス・リスト及び前記タイリングされた形状リストからのデータをバッファに入れるステップを含むことを特徴とする、前記請求項のいずれかに記載の方法。
〔請求項7〕
前記タイリング・データを生成するステップは、前記シーンのレンダリングに用いるためのマスター・タイルリストを生成するステップを含むことを特徴とする、前記請求項のいずれかに記載の方法。
〔請求項8〕
三次元グラフィックス・レンダリング・システムにおいて形状処理及びタイリングを行なうためのシステムであって、
レンダリングされるシーンについてのグラフィックス・プリミティブ・データのストリームを提供するための手段であって、各々のプリミティブは、そのプリミティブを構成する複数の三角形を定めるデータを含む、手段と、
複数の形状処理ユニット間でプリミティブ・データを分割するための手段と、
処理される各三角形について、三角形を、その形状処理ユニットと関連した1組のタイリングされた形状リストにおけるタイリングされた形状リストに挿入するように構成された形状処理ユニットと、
三角形が挿入される各タイルについて、そのタイルへのリファレンスをその形状処理ユニットと関連したタイル・リファレンス・リストに挿入するための手段と、
データが前記形状処理ユニットに分配された順序で、各々の形状処理ユニットと関連した前記タイル・リファレンス・リストからデータを読み取るための手段と、
前記タイル・リファレンス・リスト及び各々の形状処理ユニットと関連した前記タイリングされた形状から、レンダリングされる前記シーンについてのタイリング・データ・リストを生成するための手段と、
を含むことを特徴とするシステム。
〔請求項9〕
前記プリミティブ・データを分割するための手段は、ラウンドロビン・ベースでこれを行なうことを特徴とする、請求項8に記載のシステム。
〔請求項10〕
前記プリミティブ・データを分割するための手段は、実質的に類似した量のプリミティブ・データを各々の形状処理ユニットに分配するよう配置されることを特徴とする、請求項8又は請求項9に記載のシステム。
〔請求項11〕
前記プリミティブ・データを分割するための手段は、各々のグラフィックス処理ユニットにかかる処理負荷を監視するための手段と、それらの処理負荷に応じてグラフィック処理ユニット間でデータを分割するための手段とを含むことを特徴とする、請求項8に記載のシステム。
〔請求項12〕
前記プリミティブ・データを分割するための手段と前記グラフィックス処理ユニットとの間でプリミティブ・データをバッファに入れるための手段を含むことを特徴とする、請求項8から請求項11までのいずれかに記載のシステム。
〔請求項13〕
マスター・タイルリストを生成するための前記手段に提供する前に、タイル・リファレンス・リスト及び前記タイリングされた形状からのデータをバッファに入れるための手段を含むことを特徴とする、請求項8から請求項12までのいずれかに記載のシステム。
〔請求項14〕
前記タイリング・データを生成するための手段は、前記タイリング・データが挿入されるマスター・タイルリストを含むことを特徴とする、請求項8から請求項13までのいずれかに記載のシステム。
〔請求項15〕
三次元グラフィックス・レンダリング・システムにおいて、形状処理及びタイリングを行なうための方法であって、
レンダリングされるシーンについてのグラフィックス・プリミティブ・データのストリームを提供するステップであって、各々のプリミティブは、そのプリミティブを構成する複数の三角形を定めるデータを含む、ステップと、
複数の形状処理ユニット間でプリミティブ・データを分割するステップと、
各々の形状処理ユニットにより処理される各三角形について、三角形を、その形状処理ユニットと関連した1組のタイリングされた形状リストにおけるそれぞれのタイルリストに挿入するステップと、
各タイルについて、マーカーを、各々のグラフィックス処理ユニットにより処理される形状の各ブロックについてのその形状処理ユニットと関連した前記タイリングされた形状リストに挿入するステップと、
各々の形状処理ユニットと関連した前記タイリングされた形状リストから、レンダリングされる前記シーンについてのタイリング・データを生成するステップと、
前記タイリングされた形状リスト内の前記マーカーを用いて、異なるグラフィックス処理ユニットからのタイリングされた形状リスト間でいつ切り換えるかを示すステップと、を含むことを特徴とする方法。
〔請求項16〕
前記プリミティブ・データを分割するステップは、ラウンドロビン・ベースで分割するステップを含むことを特徴とする、請求項15に記載の方法。
〔請求項17〕
前記プリミティブ・データを分割するステップは、実質的に類似した量のプリミティブ・データを各々の形状処理ユニットに分配するよう配置されることを特徴とする、請求項15又は請求項16に記載の方法。
〔請求項18〕
前記プリミティブ・データを分割するステップは、各々のグラフィック処理ユニットにかかる処理負荷を監視し、それらの処理負荷に応じてグラフィック処理ユニット間でデータを分割するステップを含むことを特徴とする、請求項15に記載の方法。
〔請求項19〕
前記プリミティブ・データを分割するステップと、それを前記グラフィックス処理ユニットに送るステップとの間にプリミティブ・データをバッファに入れるステップを含むことを特徴とする、請求項15から請求項18までのいずれかに記載の方法。
〔請求項20〕
前記タイリング・データを生成するステップの前に、タイル・リファレンス・リスト及び前記タイリングされた形状リストからのデータをバッファに入れるステップを含むことを特徴とする、請求項15から請求項19までのいずれかに記載の方法。
〔請求項21〕
前記タイリングされた形状リスト内の前記マーカーを用いるステップは、前記タイリングされた形状リストの各々から領域ヘッダを読み取るステップと、前記シーンのレンダリングに用いるために、タイルごとに順番に、各々のグラフィックス処理ユニット・リストにより生成された前記タイリングされた形状リストの前記開始点を指し示すポインタ・アレイに、タイリング・リスト・ポインタを書き込むステップとを含むことを特徴とする、請求項15から請求項20までのいずれかに記載の方法。
〔請求項22〕
三次元グラフィックス・レンダリング・システムにおいて、形状処理及びタイリングを行なうためのシステムであって、
レンダリングされるシーンについてのグラフィックス・プリミティブ・データのストリームを提供するための手段であって、各々のプリミティブは、そのプリミティブを構成する複数の三角形を定めるデータを含む、手段と、
複数の形状処理ユニット間でプリミティブ・データを分割するための手段と、
処理される各三角形について、三角形を、その形状処理ユニットと関連した1組のタイリングされた形状リストにおけるタイリングされた形状リストに挿入するように配置された各々の形状処理ユニットと、
そのグラフィックス処理ユニットにより処理される形状の各ブロックについて、各タイルについてのマーカーを、その形状処理ユニットと関連した前記タイリングされた形状リストに挿入するための手段と、
各々の形状処理ユニットと関連した前記タイリングされた形状からレンダリングされる前記シーンについてのタイリング・データを生成し、前記タイリングされた形状リストにおける前記マーカーを用いて異なるグラフィックス処理コアからのタイリングされた形状リスト間でいつ切り替えるかを示すための手段と、
を含むことを特徴とするシステム。
〔請求項23〕
前記プリミティブ・データを分割するための手段は、ラウンドロビン・ベースでこれを行なうことを特徴とする、請求項22に記載のシステム。
〔請求項24〕
前記プリミティブ・データを分割するための手段は、実質的に類似した量のプリミティブ・データを各々の形状処理ユニットに分配するよう配置されることを特徴とする、請求項22又は請求項23に記載のシステム。
〔請求項25〕
前記プリミティブ・データを分割するための手段は、各々のグラフィックス処理ユニットにかかる処理負荷を監視するための手段と、それらの処理負荷に応じてグラフィック処理ユニット間でデータを分割するための手段とを含むことを特徴とする、請求項22に記載のシステム。
〔請求項26〕
前記プリミティブ・データを分割するための手段と前記グラフィックス処理ユニットとの間でプリミティブ・データをバッファに入れるための手段を含むことを特徴とする、請求項22から請求項25までのいずれかに記載のシステム。
〔請求項27〕
タイル・リファレンス・リスト及び前記タイリングされた形状からのデータを、前記タイリング・データを生成するための手段に提供する前にバッファに入れるための手段を含むことを特徴とする、請求項22から請求項25までのいずれかに記載のシステム。
〔請求項28〕
前記タイリングされた形状リスト内の前記マーカーを用いるための手段は、前記タイリングされた形状リストの各々から領域ヘッダを読み取るための手段と、各々のグラフィックス処理ユニットにより生成された前記タイリングされた形状リストの前記開始点を指し示すポインタ・アレイに、タイリング・リスト・ポインタを書き込むための手段と、前記シーンのレンダリングに用いるために、タイルごとに順番に前記タイリングされた形状リストをフェッチするための手段とを含むことを特徴とする、請求項11から請求項27までのいずれかに記載のシステム。
300:形状ストリーム
310、610、805、910:ストリーム分割器
320、330、650、660、940、950:GPC
340、350:形状処理コア(GPC)
360、370、410、430、960、970、1010、1030:タイリングされた形状リスト
365、375、400、420:タイル・リファレンス・リスト(TRL)
380:マスター・タイリング・ユニット(MTU)
390:マスター・タイルリスト
500、1000、1020:領域ヘッダ
520、530:タイル
510:トップレベルのタイルリスト
620、630、640、650:ブロック
700、1200:プリミティブ及びコマンド・フェッチ・ユニット
705、1205:ストリーム分割器ユニット
712、714、1212、1214:FIFO
715、716、1215、1216:「ローカル」プリミティブ・フェッチ・ユニット
720、721、820、821、1220、1221:形状処理ユニット
725、726、1225、1226:ローカル・タイリング・ユニット
730、731:ローカル・タイルリスト
740、741:タイル・リファレンスFIFO
760:マスター領域リスト
870:サービス・オーダーFIFO
1040:「パイプ・インターリーブ・マーカー」(PIM)
1230、1231:コア毎のタイルリスト

Claims (14)

  1. 三次元グラフィックス・レンダリング・システムにおいて、形状処理及びタイリングを行なうための方法であって、
    レンダリングされるシーンについてのグラフィックス・プリミティブ・データのストリームを提供するステップであって、各々のプリミティブは、そのプリミティブを構成する複数の三角形を定めるデータを含む、ステップと、
    複数の形状処理ユニット間でプリミティブ・データを分割するステップと、
    各々の形状処理ユニットにより処理される各三角形について、三角形を、その形状処理ユニットと関連した1組のタイリングされた形状リストにおけるそれぞれのタイルリストに挿入するステップと、
    各タイルについて、マーカーを、各々のグラフィックス処理ユニットにより処理される形状の各ブロックについてのその形状処理ユニットと関連した前記タイリングされた形状リストに挿入するステップと、
    各々の形状処理ユニットと関連した前記タイリングされた形状リストから、レンダリングされる前記シーンについてのタイリング・データを生成するステップと、
    前記タイリングされた形状リスト内の前記マーカーを用いて、異なるグラフィックス処理ユニットからのタイリングされた形状リスト間でいつ切り換えるかを示すステップと、を含むことを特徴とする方法。
  2. 前記プリミティブ・データを分割するステップは、ラウンドロビン・ベースで分割するステップを含むことを特徴とする、請求項1に記載の方法。
  3. 前記プリミティブ・データを分割するステップは、実質的に類似した量のプリミティブ・データを各々の形状処理ユニットに分配するよう配置されることを特徴とする、請求項1又は請求項2に記載の方法。
  4. 前記プリミティブ・データを分割するステップは、各々のグラフィック処理ユニットにかかる処理負荷を監視し、それらの処理負荷に応じてグラフィック処理ユニット間でデータを分割するステップを含むことを特徴とする、請求項1に記載の方法。
  5. 前記プリミティブ・データを分割するステップと、それを前記グラフィックス処理ユニットに送るステップとの間にプリミティブ・データをバッファに入れるステップを含むことを特徴とする、請求項1から請求項4までのいずれかに記載の方法。
  6. 前記タイリング・データを生成するステップの前に、タイル・リファレンス・リスト及び前記タイリングされた形状リストからのデータをバッファに入れるステップを含むことを特徴とする、請求項1から請求項5までのいずれかに記載の方法。
  7. 前記タイリングされた形状リスト内の前記マーカーを用いるステップは、前記タイリングされた形状リストの各々から領域ヘッダを読み取るステップと、前記シーンのレンダリングに用いるために、タイルごとに順番に、各々のグラフィックス処理ユニット・リストにより生成された前記タイリングされた形状リストの前記開始点を指し示すポインタ・アレイに、タイリング・リスト・ポインタを書き込むステップとを含むことを特徴とする、請求項1から請求項6までのいずれかに記載の方法。
  8. 三次元グラフィックス・レンダリング・システムにおいて、形状処理及びタイリングを行なうためのシステムであって、
    レンダリングされるシーンについてのグラフィックス・プリミティブ・データのストリームを提供するための手段であって、各々のプリミティブは、そのプリミティブを構成する複数の三角形を定めるデータを含む、手段と、
    複数の形状処理ユニット間でプリミティブ・データを分割するための手段と、
    処理される各三角形について、三角形を、その形状処理ユニットと関連した1組のタイリングされた形状リストにおけるタイリングされた形状リストに挿入するように配置された各々の形状処理ユニットと、
    そのグラフィックス処理ユニットにより処理される形状の各ブロックについて、各タイルについてのマーカーを、その形状処理ユニットと関連した前記タイリングされた形状リストに挿入するための手段と、
    各々の形状処理ユニットと関連した前記タイリングされた形状からレンダリングされる前記シーンについてのタイリング・データを生成し、前記タイリングされた形状リストにおける前記マーカーを用いて異なるグラフィックス処理コアからのタイリングされた形状リスト間でいつ切り替えるかを示すための手段と、
    を含むことを特徴とするシステム。
  9. 前記プリミティブ・データを分割するための手段は、ラウンドロビン・ベースでこれを行なうことを特徴とする、請求項8に記載のシステム。
  10. 前記プリミティブ・データを分割するための手段は、実質的に類似した量のプリミティブ・データを各々の形状処理ユニットに分配するよう配置されることを特徴とする、請求項8又は請求項9に記載のシステム。
  11. 前記プリミティブ・データを分割するための手段は、各々のグラフィックス処理ユニットにかかる処理負荷を監視するための手段と、それらの処理負荷に応じてグラフィック処理ユニット間でデータを分割するための手段とを含むことを特徴とする、請求項8に記載のシステム。
  12. 前記プリミティブ・データを分割するための手段と前記グラフィックス処理ユニットとの間でプリミティブ・データをバッファに入れるための手段を含むことを特徴とする、請求項8から請求項11までのいずれかに記載のシステム。
  13. タイル・リファレンス・リスト及び前記タイリングされた形状からのデータを、前記タイリング・データを生成するための手段に提供する前にバッファに入れるための手段を含むことを特徴とする、請求項8から請求項11までのいずれかに記載のシステム。
  14. 前記タイリングされた形状リスト内の前記マーカーを用いるための手段は、前記タイリングされた形状リストの各々から領域ヘッダを読み取るための手段と、各々のグラフィックス処理ユニットにより生成された前記タイリングされた形状リストの前記開始点を指し示すポインタ・アレイに、タイリング・リスト・ポインタを書き込むための手段と、前記シーンのレンダリングに用いるために、タイルごとに順番に前記タイリングされた形状リストをフェッチするための手段とを含むことを特徴とする、請求項1から請求項13までのいずれかに記載のシステム。
JP2012058179A 2007-11-30 2012-03-15 タイルベース・レンダリング・システムにおけるマルチコアの形状処理 Active JP5456812B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0723536.9 2007-11-30
GBGB0723536.9A GB0723536D0 (en) 2007-11-30 2007-11-30 Multi-core geometry processing in a tile based rendering system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2010535457A Division JP5366967B2 (ja) 2007-11-30 2008-12-01 タイルベース・レンダリング・システムにおけるマルチコアの形状処理

Publications (2)

Publication Number Publication Date
JP2012146323A true JP2012146323A (ja) 2012-08-02
JP5456812B2 JP5456812B2 (ja) 2014-04-02

Family

ID=38962451

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2010535457A Active JP5366967B2 (ja) 2007-11-30 2008-12-01 タイルベース・レンダリング・システムにおけるマルチコアの形状処理
JP2012058179A Active JP5456812B2 (ja) 2007-11-30 2012-03-15 タイルベース・レンダリング・システムにおけるマルチコアの形状処理

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2010535457A Active JP5366967B2 (ja) 2007-11-30 2008-12-01 タイルベース・レンダリング・システムにおけるマルチコアの形状処理

Country Status (5)

Country Link
US (3) US8310487B2 (ja)
EP (2) EP2521089B1 (ja)
JP (2) JP5366967B2 (ja)
GB (2) GB0723536D0 (ja)
WO (1) WO2009068895A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014161450A (ja) * 2013-02-22 2014-09-08 Sammy Corp ぱちんこ遊技機
JP2020532795A (ja) * 2017-08-31 2020-11-12 レール ビジョン リミテッドRail Vision Ltd 複数計算における高スループットのためのシステムおよび方法

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0723536D0 (en) * 2007-11-30 2008-01-09 Imagination Tech Ltd Multi-core geometry processing in a tile based rendering system
TWI382348B (zh) * 2008-10-24 2013-01-11 Univ Nat Taiwan 多核心系統及其排程方法
GB0823468D0 (en) * 2008-12-23 2009-01-28 Imagination Tech Ltd Display list control stream grouping in tile based 3D computer graphics systems
KR101511273B1 (ko) * 2008-12-29 2015-04-10 삼성전자주식회사 멀티 코어 프로세서를 이용한 3차원 그래픽 렌더링 방법 및시스템
GB2473513B (en) * 2009-09-14 2012-02-01 Sony Comp Entertainment Europe A method and apparatus for determining processor performance
US9536341B1 (en) * 2009-10-19 2017-01-03 Nvidia Corporation Distributing primitives to multiple rasterizers
US8704836B1 (en) * 2009-10-19 2014-04-22 Nvidia Corporation Distributing primitives to multiple rasterizers
GB0922126D0 (en) 2009-12-17 2010-02-03 Advanced Risc Mach Ltd Graphics processing systems
US9058685B2 (en) * 2010-03-11 2015-06-16 Broadcom Corporation Method and system for controlling a 3D processor using a control list in memory
KR101799978B1 (ko) * 2011-06-17 2017-11-22 삼성전자주식회사 타일 근접성을 사용하는 타일 기반 렌더링 방법 및 장치
US10217270B2 (en) * 2011-11-18 2019-02-26 Intel Corporation Scalable geometry processing within a checkerboard multi-GPU configuration
CN103946823B (zh) * 2011-11-18 2017-04-05 英特尔公司 棋盘多gpu配置内的可缩放几何形状处理
US9633458B2 (en) * 2012-01-23 2017-04-25 Nvidia Corporation Method and system for reducing a polygon bounding box
KR20130105088A (ko) * 2012-03-16 2013-09-25 삼성전자주식회사 복수의 픽셀 코어를 제어하는 타일 기반 렌더링 장치 및 방법
GB2500284B (en) 2012-09-12 2014-04-30 Imagination Tech Ltd Tile based computer graphics
US10438314B2 (en) * 2012-10-26 2019-10-08 Nvidia Corporation Two-pass cache tile processing for visibility testing in a tile-based architecture
GB2545589A (en) * 2012-11-02 2017-06-21 Imagination Tech Ltd On demand geometry and acceleration structure creation
US10169906B2 (en) * 2013-03-29 2019-01-01 Advanced Micro Devices, Inc. Hybrid render with deferred primitive batch binning
US10957094B2 (en) 2013-03-29 2021-03-23 Advanced Micro Devices, Inc. Hybrid render with preferred primitive batch binning and sorting
CN103559679B (zh) * 2013-11-11 2019-07-02 济南大学 一种基于流水线和状态机的三角形快速分块设计方法
GB2517809B (en) 2014-02-13 2015-07-22 Imagination Tech Ltd Processing of primitive blocks in parallel tiling engine pipes
KR102111740B1 (ko) 2014-04-03 2020-05-15 삼성전자주식회사 영상 데이터를 처리하는 방법 및 디바이스.
GB2526598B (en) 2014-05-29 2018-11-28 Imagination Tech Ltd Allocation of primitives to primitive blocks
US9569811B2 (en) 2014-06-26 2017-02-14 Qualcomm Incorporated Rendering graphics to overlapping bins
US10535114B2 (en) * 2015-08-18 2020-01-14 Nvidia Corporation Controlling multi-pass rendering sequences in a cache tiling architecture
GB2546810B (en) * 2016-02-01 2019-10-16 Imagination Tech Ltd Sparse rendering
KR102646906B1 (ko) 2016-11-17 2024-03-12 삼성전자주식회사 타일 기반 렌더링 방법 및 장치
KR102637736B1 (ko) 2017-01-04 2024-02-19 삼성전자주식회사 그래픽스 처리 방법 및 시스템
GB2567207B (en) * 2017-10-06 2020-02-19 Advanced Risc Mach Ltd Graphics processing systems
GB2567436B (en) * 2017-10-10 2019-10-02 Imagination Tech Ltd Geometry to tiling arbiter for tile-based rendering system
GB2578320B (en) * 2018-10-23 2023-07-05 Advanced Risc Mach Ltd Graphics processing
US11210821B2 (en) 2019-11-27 2021-12-28 Arm Limited Graphics processing systems
US11210847B2 (en) 2019-11-27 2021-12-28 Arm Limited Graphics processing systems
US11170555B2 (en) * 2019-11-27 2021-11-09 Arm Limited Graphics processing systems
US11216993B2 (en) 2019-11-27 2022-01-04 Arm Limited Graphics processing systems
GB2611377B (en) 2022-03-30 2023-11-01 Imagination Tech Ltd Memory allocation for 3-D graphics rendering
GB2611374A (en) * 2022-03-30 2023-04-05 Imagination Tech Ltd Memory management for multicore 3-D graphics rendering
GB2611376B (en) 2022-03-30 2023-11-01 Imagination Tech Ltd Multi-core draw splitting
CN116485629A (zh) * 2023-06-21 2023-07-25 芯动微电子科技(珠海)有限公司 一种多gpu并行几何处理的图形处理方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0520466A (ja) * 1991-07-12 1993-01-29 Canon Inc 画像処理方法及びその装置
JP2003536153A (ja) * 2000-06-08 2003-12-02 イマジネイション テクノロジーズ リミテッド 三次元イメージレンダリングのためのタイリング及び圧縮
JP2004005569A (ja) * 2002-05-16 2004-01-08 Hewlett Packard Co <Hp> データおよび命令の流れを少なくとも1つの機能ユニットに配向(direct)するシステムおよび方法
WO2006117683A2 (en) * 2005-01-25 2006-11-09 Lucid Information Technology, Ltd. Graphics processing and display system employing multiple graphics cores on a silicon chip of monolithic construction
WO2007034232A2 (en) * 2005-09-26 2007-03-29 Imagination Technologies Limited Scalable multi-threaded media processing architecture
JP2007157155A (ja) * 2005-12-05 2007-06-21 Arm Norway As グラフィックスを処理する方法および装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2770598B2 (ja) * 1990-06-13 1998-07-02 株式会社日立製作所 図形表示方法およびその装置
US5821950A (en) * 1996-04-18 1998-10-13 Hewlett-Packard Company Computer graphics system utilizing parallel processing for enhanced performance
US5745125A (en) * 1996-07-02 1998-04-28 Sun Microsystems, Inc. Floating point processor for a three-dimensional graphics accelerator which includes floating point, lighting and set-up cores for improved performance
GB2343603B (en) * 1998-11-06 2003-04-02 Videologic Ltd Shading 3-dimensional computer generated images
GB2343598B (en) 1998-11-06 2003-03-19 Videologic Ltd Image processing apparatus
US6344852B1 (en) * 1999-03-17 2002-02-05 Nvidia Corporation Optimized system and method for binning of graphics data
US6556200B1 (en) * 1999-09-01 2003-04-29 Mitsubishi Electric Research Laboratories, Inc. Temporal and spatial coherent ray tracing for rendering scenes with sampled and geometry data
US6747658B2 (en) * 2001-12-31 2004-06-08 Intel Corporation Automatic memory management for zone rendering
GB2416100B (en) * 2002-03-26 2006-04-12 Imagination Tech Ltd 3D computer graphics rendering system
US7002586B2 (en) * 2003-08-29 2006-02-21 Sun Microsystems, Inc. Method and apparatus for vertex splitting in a graphics system
WO2005116930A1 (en) * 2004-05-24 2005-12-08 Koninklijke Philips Electronics N.V. Tile based graphics rendering
US7898545B1 (en) * 2004-12-14 2011-03-01 Nvidia Corporation Apparatus, system, and method for integrated heterogeneous processors
US7580040B2 (en) * 2005-11-10 2009-08-25 Via Technologies, Inc. Interruptible GPU and method for processing multiple contexts and runlists
GB2452731B (en) * 2007-09-12 2010-01-13 Imagination Tech Ltd Methods and systems for generating 3-dimensional computer images
GB0723536D0 (en) * 2007-11-30 2008-01-09 Imagination Tech Ltd Multi-core geometry processing in a tile based rendering system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0520466A (ja) * 1991-07-12 1993-01-29 Canon Inc 画像処理方法及びその装置
JP2003536153A (ja) * 2000-06-08 2003-12-02 イマジネイション テクノロジーズ リミテッド 三次元イメージレンダリングのためのタイリング及び圧縮
JP2004005569A (ja) * 2002-05-16 2004-01-08 Hewlett Packard Co <Hp> データおよび命令の流れを少なくとも1つの機能ユニットに配向(direct)するシステムおよび方法
WO2006117683A2 (en) * 2005-01-25 2006-11-09 Lucid Information Technology, Ltd. Graphics processing and display system employing multiple graphics cores on a silicon chip of monolithic construction
WO2007034232A2 (en) * 2005-09-26 2007-03-29 Imagination Technologies Limited Scalable multi-threaded media processing architecture
JP2007157155A (ja) * 2005-12-05 2007-06-21 Arm Norway As グラフィックスを処理する方法および装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN7013000247; MONTRYM J S ET AL: '"Infinite reality: a real-time graphics system"' SIGGRAPH '97 Proceedings of the 24th annual conference on Computer graphics and interactive techniqu , 1997, p.293-302 *
JPN7013000248; IGEHY H ET AL: '"The design of a parallel graphics interface"' SIGGRAPH '98 Proceedings of the 25th annual conference on Computer graphics and interactive techniqu , 1998, p.141-150 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014161450A (ja) * 2013-02-22 2014-09-08 Sammy Corp ぱちんこ遊技機
JP2020532795A (ja) * 2017-08-31 2020-11-12 レール ビジョン リミテッドRail Vision Ltd 複数計算における高スループットのためのシステムおよび方法

Also Published As

Publication number Publication date
EP2521089B1 (en) 2014-03-19
US20130002663A1 (en) 2013-01-03
JP5366967B2 (ja) 2013-12-11
GB2457525C (en) 2014-07-16
JP5456812B2 (ja) 2014-04-02
US20140071122A1 (en) 2014-03-13
JP2011505622A (ja) 2011-02-24
US8310487B2 (en) 2012-11-13
GB2457525A (en) 2009-08-19
EP2227781B1 (en) 2012-11-14
EP2227781A1 (en) 2010-09-15
GB0821937D0 (en) 2009-01-07
WO2009068895A1 (en) 2009-06-04
US9105131B2 (en) 2015-08-11
EP2521089A1 (en) 2012-11-07
US8502829B2 (en) 2013-08-06
US20090174706A1 (en) 2009-07-09
GB2457525B (en) 2010-05-26
GB0723536D0 (en) 2008-01-09

Similar Documents

Publication Publication Date Title
JP5456812B2 (ja) タイルベース・レンダリング・システムにおけるマルチコアの形状処理
US8941653B2 (en) Order-preserving distributed rasterizer
US8749564B2 (en) Barrier commands in a cache tiling architecture
US8704836B1 (en) Distributing primitives to multiple rasterizers
US10032243B2 (en) Distributed tiled caching
CN107038742B (zh) 屏幕空间管线中的多通道渲染
US9830741B2 (en) Setting downstream render state in an upstream shader
US8558842B1 (en) Parallel duplicate primitive vertex detection and batching
US9105125B2 (en) Load balancing for optimal tessellation performance
US10332310B2 (en) Distributed index fetch, primitive assembly, and primitive batching
US8928679B2 (en) Work distribution for higher primitive rates
US10453168B2 (en) Techniques for maintaining atomicity and ordering for pixel shader operations
US10430989B2 (en) Multi-pass rendering in a screen space pipeline
GB2496394A (en) Jagged edge aliasing removal using multisample anti-aliasing (MSAA) with reduced data storing for pixel samples wholly within primitives
US10019776B2 (en) Techniques for maintaining atomicity and ordering for pixel shader operations
US11379944B2 (en) Techniques for performing accelerated point sampling in a texture processing pipeline
US20170116700A1 (en) Techniques for maintaining atomicity and ordering for pixel shader operations
US9536341B1 (en) Distributing primitives to multiple rasterizers

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130131

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130430

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130730

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130913

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: 20131209

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140108

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5456812

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250