JP2012033173A - タイル化されたプリフェッチ及びキャッシングされたデプスバッファ - Google Patents

タイル化されたプリフェッチ及びキャッシングされたデプスバッファ Download PDF

Info

Publication number
JP2012033173A
JP2012033173A JP2011190504A JP2011190504A JP2012033173A JP 2012033173 A JP2012033173 A JP 2012033173A JP 2011190504 A JP2011190504 A JP 2011190504A JP 2011190504 A JP2011190504 A JP 2011190504A JP 2012033173 A JP2012033173 A JP 2012033173A
Authority
JP
Japan
Prior art keywords
pixel
tile
data
depth value
depth
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
JP2011190504A
Other languages
English (en)
Other versions
JP5296169B2 (ja
Inventor
Hugh Anderson Michael
マイケル・ヒュー・アンダーソン
Minglun Chuang Dan
ダン・ミングルン・チュアン
Sippy Joffrey
ジョフリー・シッピー
Rajinder Kumar Dhawan Rajat
ラジャット・ラジンダークマー・ダーワン
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.)
Qualcomm Inc
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 JP2012033173A publication Critical patent/JP2012033173A/ja
Application granted granted Critical
Publication of JP5296169B2 publication Critical patent/JP5296169B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering

Abstract

【課題】3Dグラフィックス処理において、深さタイルのキャッシュを供給するプリフェッチメカニズムをパイプライン化する。
【解決手段】プリフェッチメカニズムは、予測的で、前のパイプライン段階からの三角形幾何情報を用いて前記キャッシュに予め装填することができ、それによってメモリ帯域幅効率の向上を可能にすることができる。電力消費量のさらなる低減及びメモリ帯域幅を考慮してz値圧縮技術をオプションで利用可能である。
【選択図】図5

Description

本開示は、一般的には、グラフィックスプロセッサに関するものである。本開示は、より具体的には、グラフィックスプロセッサに含まれている3Dグラフィックスパイプラインに関するものである。
コンピュータ及びテレビの画面等の固定された表示装置上に三次元(3D)画像を表示するためにグラフィックスエンジンが利用されている。これらのエンジンは、典型的には、従来のAC電源コンセントを電源とするデスクトップシステムに含められており、従って、電力消費上の制限によって有意な制約を受けない。しかしながら、3Dグラフィックスエンジンを電池式ハンドヘルドデバイス内に組み込むのが最近の傾向である。該デバイスの例は、携帯電話及びデータアシスタント(PDA)を含む。しかしながら、残念なことに、従来のグラフィックスエンジンは、大量の電力を消費し、従ってこれらの低電力動作環境にはあまり適していない。
図1は、従来のグラフィックスエンジンに含められた基本的なオープンGLラスター化パイプラインの概略図である。示されるように、この例のラスター化パイプラインは、三角形セットアップ段階101と、画素シェーディング段階102と、テクスチャマッピング段階103と、テクスチャブレンド段階104と、シザー試験段階105と、アルファ試験段階106と、ステンシル試験段階107と、隠面除去(HSR)段階108と、アルファブレンド段階109と、論理演算段階110と、を含む。
3Dグラフィックシステムにおいては、表示される各オブジェクトは、典型的には、頂点情報によって定義された表面三角形に分割されるが、その他のプリミティブ形状も利用可能である。同じく典型的には、グラフィックスパイプラインは、オブジェクト又は画像の三角形の順次バッチを処理するように設計される。いずれかの所定のバッチの三角形は、ビジュアル的に他のバッチの三角形に重なることができ、さらに所定のバッチ内の三角形が互いに重なることも可能である。
図1に関して、三角形セットアップ段階101は、後続するパイプライン段階によって行われる計算において用いられるセットアップ係数を計算することによって各三角形を「セットアップする」。
画素シェーディング段階102は、どの画素が各三角形によって包含されているかを計算するためにセットアップ係数を用いる。三角形は互いに重なることが可能であるため、異なる深さの複数の画素を画面ディスプレイ上の同じ箇所に配置することができる。特に、画素シェーディング段階101は、頂点情報を用いて各画素に関する色、フォッグ、深さ値、テクスチャ座標、アルファ値等を内挿する。様々なシェーディング技術のうちのいずれかをこの目的のために採用することができ、シェーディング動作は、1つの三角形ごとに又は1つの画素ごとに行うことが可能である。
テクスチャマッピング段階103及びテクスチャブレンド段階104は、三角形のプロセスバッチの各画素内にテクスチャを加えてブレンドする機能を有する。非常に一般的には、この機能は、予め定義されたテクスチャを頂点情報内に含められているテクスチャ座標に従って画素上にマッピングすることによって行われる。シェーディングと同様に、テクスチャリングを達成させるために様々な技術を採用することができる。さらに、フォッグ処理と呼ばれる技術も実装することができる。
シザー試験段階105は、表示されたシーンの視野外にある三角形部分(フラグメント)に含まれている画素を捨てる機能を有する。一般的には、この機能は、画像がいわゆるシザー三角形内にあるかどうかを決定することによって行われる。
アルファ試験装置106は、三角形のフラグメント(より正確には、フラグメントに含まれている画素)を、フラグメントと関連するアルファ値と基準アルファ値を比較することに基づいて条件付きで捨てる。同様に、ステンシル試験は、各フラグメントと格納されたステンシル値を比較することに基づいて条件付きでフラグメントを捨てる。
HSR段階108(深さ試験段階とも呼ばれる)は、同じ表示場所を有するその他の画素の深さ値に基づいて三角形フラグメントに含まれている画素を捨てる。一般的には、このことは、深さ試験を実施中の画素のz軸値(深さ値)を、いわゆるzバッファ(又はデプスバッファ)の対応する記憶場所に格納されたz軸値と比較することによって行われる。試験された画素は、そのz軸値が、zバッファに格納されたz軸値を有する他の画素によって該当する画素を遮蔽するように指示する場合に捨てられる。他方、試験された画素が遮蔽されない場合は、zバッファ値は試験された画素のz軸値によって上書きされる。この方法により、上方に存在する画素を優先させて遮蔽された下方に存在する画素が捨てられる。
アルファブレンド段階109は、オブジェクトの透明性を達成せるためのアルファ値に基づいて、レンダリングされた画素を色バッファ内の前に格納された画素と混合させる。
論理演算装置110は、一般的には、画素表示データを究極的に得るためのパイプラインの残りの種々のプロセスを表示する。
本開示の実施形態の一側面により、入力されたプリミティブオブジェクトデータからの表示画素データをレンダリングする複数の順次配列された処理段階を含むラタスー化パイプラインを含むグラフィックスプロセッサが提供される。前記プロセッサは、前記ラスター化パイプラインの前記処理段階のうちの少なくとも1つによって利用されるデータを格納するメモリと、処理された画素が前記少なくとも1つの処理段階に到着する前に前記処理された画素に関して前記少なくとも1つの処理段階によって利用される前記データを取り出すプリフェッチメカニズムと、をさらに含む。
本開示の実施形態のさらに他の側面により、入力されたプリミティブオブジェクトデータからの表示画素データをレンダリングする複数の順次配列された処理段階を含むラスター化パイプラインを含むグラフィックスプロセッサが提供され、前記処理段階は、隠面除去(HSR)段階を含む。前記プロセッサは、前にレンダリングされた画素の前記深さ値を格納するデプスバッファと、前記前にレンダリングされた画素の前記深さ値を取り出すメモリコントローラと、前記パイプラインのHSR段階に結合されて前記メモリコントローラによって取り出された前記深さ値を格納するキャッシュメモリと、をさらに含む。
本開示の実施形態のさらに他の側面により、入力されたプリミティブオブジェクトデータからの表示画素データをレンダリングする複数の順次配列された処理段階を含むラスター化パイプラインを含むグラフィックスプロセッサが提供され、前記処理段階は、隠面除去(HSR)段階を含む。前記プロセッサは、二次元画素ブロックの深さ値を格納するデプスバッファと、処理された画素を含む前記二次元画素ブロックのブロックアドレスを生成するブロックアドレス生成器と、前記ラスター化プロセッサの前記HSR段階に結合されたキャッシュメモリと、前記ブロックアドレスに応じて前記二次元画素ブロックの前記深さ値を前記デプスバッファから取り出し、前記深さ値を前記キャッシュメモリに格納するメモリコントローラと、をさらに含む。
本開示の実施形態のさらに他の側面により、入力されたプリミティブオブジェクトデータからの表示画素データをレンダリングする複数の順次配列された処理段階を含むラスター化パイプラインと、画素データが前記ラスター化パイプラインを通じて前記処理段階のうちの少なくとも1つに到着する前に主メモリからデータをプリフェッチして前記データを前記少なくとも1つの処理段階に供給するための手段と、を含むグラフィックスプロセッサが提供される。
本開示の実施形態のさらに他の側面により、入力されたプリミティブオブジェクトデータからの表示画素データをレンダリングする複数の順次配列された処理段階を含むラスター化パイプラインを含むグラフィックスプロセッサが提供され、前記処理段階は、隠面除去(HSR)段階を含む。前記プロセッサは、二次元画素ブロックの深さ値を格納する階層的デプスバッファと、前記HSR段階に結合されて前記二次元画素ブロックの前記深さ値のうちの最大深さ値及び最小深さ値を格納するランダムアクセスメモリと、処理された画素を含む前記二次元画素ブロックのブロックアドレスを生成するブロックアドレス生成器と、前記ラスター化プロセッサの前記HSR段階に結合されたキャッシュメモリと、前記ブロックアドレスに応じて前記二次元画素ブロックの前記深さ値を前記デプスバッファから取り出して前記深さ値を前記キャッシュメモリに格納するメモリコントローラと、をさらに含む。
本開示の実施形態のさらに他の側面により、入力されたプリミティブオブジェクトデータからの表示画素データをレンダリングする複数の順次配列された処理段階を含むラスター化パイプラインを含むグラフィックスプロセッサが提供され、前記処理段階は、隠面除去(HSR)段階を含む。前記プロセッサは、前記ラスター化パイプラインによってレンダリングされた前記画素データと関連する二次元深さ値ブロックを含むデプスバッファをさらに含み、前記プリミティブオブジェクトデータは、プリミティブ形状を示し、二次元ブロックが処理された画素を含む前記プリミティブ形状内に完全に入っている場合は前記二次元ブロックの深さ値データが圧縮される。
本開示の実施形態のさらに他の側面により、入力されたプリミティブオブジェクトデータからの表示画素データをレンダリングする複数の順次配列された処理段階を含むラスター化パイプラインにプリミティブオブジェクトデータを供給することと、前記ラスター化パイプラインの前記処理段階のうちの少なくとも1つによって利用されたデータをメモリに格納することと、処理された画素が前記少なくとも1つの処理段階に到着する前に前記処理された画素に関して前記少なくとも1つの処理段階によって利用された前記データを前記メモリからプリフェッチすること、とを含むグラフィックス処理方法が提供される。
本開示の実施形態のさらに他の側面により、入力されたプリミティブオブジェクトデータからの表示画素データをレンダリングする複数の順次配列された処理段階を含むラスター化パイプラインにプリミティブオブジェクトデータを供給することであって、前記処理段階は、隠面除去(HSR)段階を含むことと、デプスバッファ内の二次元深さ値データブロックを選択的に圧縮すること、とを含むグラフィックス処理方法が提供される。前記プリミティブオブジェクトデータは、プリミティブ形状を示し、二次元ブロックが処理された画素を含む前記プリミティブ形状内に完全に入っている場合に前記二次元ブロックの深さ値データが圧縮される。
開示される実施形態の上記の及びその他の側面は、添付図面を参照した以下の詳細な説明から容易に明確になるであろう。
3Dグラフィックスエンジンに含まれている基本的なオープンGLラスター化パイプラインの例の概略的ブロック図である。 本開示の実施形態によるグラフィックスパイプラインの回路ブロック構成の単純化された例を示した図である。 本開示の他の実施形態による画素タイルの予測的プリフェッチを説明するための図である。 本開示の他の実施形態によるグラフィックスパイプラインの回路ブロック構成の単純化された例を示した図である。 1つのタイルの画素のz値が予測的にプリフェッチされてキャッシュに格納される本開示の他の実施形態のブロック図である。 図5に示されたデプスキャッシュの動作を説明するためのブロック図である。 本開示の実施形態によるz圧縮候補である画素タイルを説明するための図である。
本明細書の幾つかの実施形態は、少なくとも一部分は、深さタイルのキャッシュを供給するプリフェッチメカニズムを含む3Dグラフィックスパイプラインを特徴とする。プリフェッチメカニズムは、予測的で、前のパイプライン段階からの三角形幾何情報を用いてキャッシュに予め装填することができ、それによってメモリ帯域幅効率の向上を可能にする。
その他の実施形態は、少なくとも一部分は、電力消費量の低減及びメモリ帯域幅を考慮したz圧縮技術を特徴とする。
次に、幾つかの好ましい、ただし限定しない実施形態が説明される。
3Dグラフィックスパイプラインの三角形セットアップブロックは、本明細書においてはコマンドブロックと呼ばれるものを先行させることができる。コマンドブロックは、各三角形に関するすべての関連データを含み、画素の画面所在位置情報を含む。本開示の実施形態により、画素の画面所在位置データは、パイプライン内において前方に送られ、画素処理に関して必要なデータのアドレスを計算するために後続のパイプライン段階によって用いられる。画素が所定の段階に到着するまでに、該段階と関連する値が既にキャッシュ内に入っていることになり、それによって帯域幅効率の向上を可能にする。
図2は、本開示の一実施形態を示す単純化されたブロック図である。コマンドブロック200及び第1乃至第n番目のパイプラインブロック201a乃至201nを有する3Dグラフィックスパイプラインが描かれている。パイプラインブロックの少なくとも1つは、キャッシュメモリ202a乃至202dを動作可能な形で備えている。アドレス情報を事前にパイプライン段階1、2、n−1及び/又はnに送ることによって、処理された画素がパイプライン段階に到着する前に関連データを主メモリから取り出すことが可能になる。この方法により、メモリスループットが向上される。
さらに、代替実施形態においては、プリフェッチメカニズムは、メモリ効率をさらに向上させるための予測メカニズムによって付随される。このことは、z値(深さ値)をデプスバッファから予測的にプリフェッチする例を示す図3を参照して後述される。
三次元(3D)ラスター化パイプラインは、新しく処理された画素が前にレンダリングされた画素によって隠されるかどうかを決定するために「深さ試験」を利用する。メカニズムは、深さ値(すなわち、z値)が格納されてラスター化中に検査される「デプスバッファ」(「zバッファ」とも呼ばれる)にアクセスすることを含む。基本的には、見る人からの可視画素の距離が深さ値としてデプスバッファに格納される。その後は、他の処理された画素は、画面上の同じ位置を占めるのを試みることができる。前にレンダリングされた画素の深さ値(すなわち、デプスバックアップ内の前記画素位置に格納された深さ値)が読み取られ、新しく処理された画素の値と比較される。比較の結果、新しい画素のほうが見る人に近いことが示された場合は、新しい画素は可視であるとみなされ、デプスバッファの前の深さ値は、新しい画素の深さ値によって上書きすることができる。新しい画素は、パイプラインによってさらに処理され、最終的にはフレームバッファにおいてレンダリングされる。他方、比較の結果、新しい画素のほうが見る人から遠いことが示された場合は、見えないとみなされ、新しい画素を捨てることができ、デプスバッファの前の深さ値が維持される。このプロセスは、本明細書においては隠面除去(HSR)と呼ばれる。
図3は、三角形の細片がどのようにしてz値画素タイル上にマッピングできるかの例を示す。三角形は、A乃至Eのラベルが付けられ、この順序でパイプラインに現れる。タイルは、1乃至13の番号が付けられている。三角形Aを処理するためには、タイル1、2、3、4、5及び8が必要である。従って、画素タイル1、2、3、4、5及び8のz値がデプスバッファからプリフェッチされてキャッシュメモリに格納される。次に、三角形Bを処理するためには、画素タイル4、5、8及び9が必要である。しかしながら、画素タイル4、5及び8は既にキャッシュメモリに格納されているため、画素タイル9をデプスバッファからプリフェッチすることのみが必要である。三角形Cの場合も同様に、タイル6のみをプリフェッチしなければならない。このように予測的にタイルをキャッシングすることによってメモリ帯域幅効率が向上される。
図4は、パイプラインの隠面除去(HSR)ブロックにおいて利用されるz値のプリフェッチのために構成される3Dグラフィックスパイプラインの例のブロック図である。図において、パイプラインは、コマンドブロック400と、三角形セットアップブロック401と、画素シェーディングブロック402と、HSRブロック403と、テクスチャマッピングブロック40と、テクスチャブレンドブロック405と、を含む。さらに、HSRブロック403は、デプスキャッシュ406を備え、デプスバッファ407へのアクセスを有する。
動作上は、深さ画素タイルのアドレス情報は、コマンド400から直接HSRブロック403に転送される。HSRブロック403は、アドレス情報に従ってデプスバッファ407から深さ値をプリフェッチし、該深さ値をデプスキャッシュ406に格納するように構成される。このため、処理された画素がパイプラインを通じてHSRブロック403に到着時に、前にレンダリングされた画素の深さ値をHSR処理のために素早くキャッシュ406から取り出すことができる。
本開示の実施形態のデプスバッファ管理の予測的プリフェッチ技術は、いわゆる階層的zバッファの使用に非常に適しており、次に一例が説明される。
図5及び6は、本開示の他の実施形態を示す機能ブロック図であり、図6は、図5に示される深さ試験ブロック504の動作を説明するための機能ブロック図である。
図5には、コマンドエンジン501、三角形セットアップブロック502、画素シェーディングブロック503、(示されていない階層的zバッファを含む)深さ試験ブロック504、(デプスバッファを含む)メモリシステム505、及び残りのパイプラインブロック506が示されている。
動作上は、コマンドエンジン501からの三角形が三角形セットアップブロック502に適用される。三角形セットアップブロックは、対応する深さ係数、幾何データ及び属性係数を出力し、これらはすべて画素シェーディングブロック503に適用される。次に、画素属性及び画素アドレスは、コマンドエンジン501からの三角形バウンディングボックスデータ、及び三角形セットアップブロック502からの深さ係数とともに、画素シェーディングブロック503によって深さ試験ブロック504に供給される。次に、深さ試験ブロック504は、処理された画素及びキャッシュメモリ(示されていない)に格納された深さ値に関する深さ試験を行う。好ましいことに、深さ値は、深さ試験が実際に実施される前に予測的にメモリシステム505から取り出されてキャッシュメモリに格納される。処理された画素は、深さ試験の結果捨てられるか又は画素アドレス及び画素属性の形で残りのパイプラインブロック506に送信される。
既述のように、図6は、図5に示されている深さ試験ブロック504の動作を説明するための機能ブロック図である。図6に示されるように、この例の深さ試験ブロックは、一般的には、タイルインデックス予測器601と、タイルインデックス生成器602と、深さ内挿器603と、タイル試験ブロック604と、画素試験ブロック607と、属性バッファ608と、デプスキャッシュ609と、を含む。
属性バッファ608は、パイプラインを通って入ってきた画素の画素属性を格納するために用いられる。深さブロックは、パイプラインであり、属性バッファ608は、パイプラインと一致する。後述されるように、discard_pixel信号は、パイプライン621内を流れる画素に関する有効な消去又はクリア信号である。
タイルインデックス予測器601は、バウンディングボックス情報bounding_boxを利用して、処理された三角形によって占められているタイルを示す一連のタイルインデックスを予測的に生成する。図3に関連して既述されるように、メモリ帯域幅効率は、処理された三角形に関するタイルの予測的キャッシングによって向上される。プリフェッチ論理610は、タイルインデックス予測器601からのタイルインデックスを利用してデプスキャッシュ609のキャッシュ読み取りブロック612を制御する。キャッシュ読み取りブロック612の動作はのちに説明される。しかしながら、プリフェッチ論理ブロック610は、(後述される)画素試験ブロックからののちに要求された画素がキャッシュRAM内に存在する可能性がより高くなるようにキャッシュ読み取りブロック612に対して早期のタイル要求を行う。
タイルインデックス生成器602は、タイルインデックス信号tile_index_inを入ってきた画素アドレスpixel_address_inから生成する。それ以前に同じタイルインデックスがタイルインデックス予測器610によって予測されていることになるため、インデックス予測器601とタイルインデックス生成器602の間で論理を共有できることに注目すること。
深さ内挿器603は、深さ係数z_coefficients及びバウンディングボックス情報bounding_boxを用いて、入ってきた画素アドレスpixel_address_inに関する深さ値z_inを実際にラスター化する。深さ内挿器603はシェーディングブロックの一部として含むことも可能である(図5参照)。しかしながら、この例においては、いずれかの所定のタイルに関してこれらの係数のみが格納されている場合はzを圧縮解除するために同じ内挿器を用いることができるため、深さ内挿器603は深さ試験ブロックに実装されている。この点に関して、深さ内挿器はデプスキャッシュブロック609内部にも現れることに注目すること。
タイル試験ブロック604は、本質的には階層的z試験ブロックであり、リミットテーブル605及び可視性検査ブロック606とともに構成される。リミットテーブル605は、各画面タイルに関する最遠深さ値(z値)z_max_far及び最近深さ値(z値)z_min_nearを含む。タイルインデックス生成器602からのtile_indexは、リミットテーブル605内へのアドレスとして利用され、その結果、リミットテーブル605は、処理された画素を含んでいるタイルに関する最小深さ値z_min_near及び最大深さ値z_max_farを生成する。次に、タイルの最小深さ値z_min_near及び最大深さ値z_max_farはz_inとともに可視性検査ブロック606に適用される。可視性検査ブロック606は、z_inをz_min_near及びz_max_farと比較し、比較結果は、3つの可能性のある結果、すなわち、タイルに関してz_inはz_max_farよりも遠い、タイルに関してz_inはz_min_nearよりも近い、又はタイルに関してz_inはz_max_farよりも近いがz_min_nearよりも遠い、を有する。
タイルに関してz_inがz_max_farよりも遠い場合は、属性バッファ608へのdiscard_pixel信号の動作によって画素が捨てられる。
タイルに関してz_inがz_min_nearよりも近い場合は、画素は可視であり、update_pixel信号のイネーブル化及び図6においてupdate_pixel_tile_index、update_pixel_address、update_pixel_z、及びupdate_pixel_z_coefficientsとして示されている信号をキャッシュ書き込みブロック617に送信することによって更新しなければならない。キャッシュ書き込みブロック617は、キャッシュタグ管理を含む。画素を更新時には、キャッシュ書き込みブロック617は、キャッシュRAM619を更新し、外部のメモリシステム620とのデータのコヒーレンスを維持するために機能する。さらに、タイルがキャッシュRAM619又は外部のメモリシステム620内に再格納されるときには、キャッシュ書き込みブロック617は、該タイルの深さ情報pixel_zをリミット生成器618にストリーミングする。
リミット生成器618は、メモリシステム620内に格納中にタイルのz_max_far及びz_min_nearを計算する。次に、update_tile信号がイネーブルにされ、リミットテーブル605を更新するために信号update_tile_index、z_max_far及びz_min_nearがタイル試験ブロック604に送信される。
前述されるように、キャッシュ書き込みブロック617は、信号update_pixel_tile_index、update_pixel_address、update_pixel_z、及びupdate_pixel_z_coefficientsを受信する。update_pixel_tile_index信号は、本質的にはキャッシュブロックインデックス(又はキャッシュラインインデックス)である。update_pixel_addressは、個々の画素に対処するために利用されるキャッシュアドレスである。update_pixel_zは、個々の画素に関する個々の深さ値(z値)である。update_pixel_z_coefficients信号は、z圧縮技術の一部として用いられる係数を含む。すなわち、デプスキャッシュ609の圧縮テーブル611は、いずれのタイルが自己の係数のみを格納されているかを追跡する。該タイルがキャッシュ読み取りブロック612によって見つけられたときには、これらの係数がキャッシュRAM619から読み取られ、深さ内挿器616に渡されて個々の深さ値が復元される。
z_inがz_max_farよりも近いがz_min_nearよりも遠い場合は、画素は、タイルの最小値と最大値の間にある。従って、pixel_test_enable信号をイネーブルにすることによって個々の画素試験が行われる。これに応じて、信号request_pixel、request_pixel_tile_index及びrequest_pixel_addressが画素試験ブロック607によってデプスキャッシュ609に送信され、前に処理された画素の深さ値が要求される。request_pixel信号は、本質的にはキャッシュ読み取りコマンドであり、request_pixel_tile_index及びrequest_pixel_addressは、それぞれ、タイルアドレス及び画素アドレスである。これらの信号に応答して、キャッシュ読み取りブロック612は、前に処理された画素の要求されたz値を、メモリインタフェース613を介してキャッシュRAM619から取り出す。キャッシュ読み取りブロック612は、キャッシュタグの検査及び管理を含む。要求されたz値は、request_pixel_z信号として画素試験ブロック607に供給され、画素試験ブロック607は、処理された画素が可視であるかどうかを決定する。画素が可視でないと決定された場合は、タイル試験ブロック604に関して上述されるようにdiscard_pixel信号がイネーブルにされる。画素が可視であると決定された場合は、update_pixel信号がイネーブルにされ、update_pixel_tile_index、update_pixel_address、update_pixel_z、及びupdate_pixel_z_coefficients信号が、タイル試験ブロック604に関して前述されているのと同じように利用される。
完全な三角形が完全にタイル内にある場合は該三角形が該タイルに関する最大値及び最小値に基づいて捨てられる他のレベルの階層的zバッファを実装可能であることが注記される。
図5及び6の実施形態は、画素タイルの深さ値が格納されてデプスバッファから取り出されるタイル動作モードを利用する。帯域幅効率をさらに向上させるために、画素タイルを代表するデータを圧縮するのが望ましいことがある。本開示の実施形態に従った1つの該z圧縮技術が以下において説明される。
この実施形態の説明においては、デプスバッファはタイルモード(例えば、4×4画素)に分割され、三角形はタイルモードでレンダリングされると想定されている。
パイプラインプロセスの初期において、各三角形の画素の深さ値が、該三角形と関連する頂点情報から計算される。典型的には、線形内挿がこの目的のために利用される。
従って、zバッファ内において三角形をレンダリングすることによって更新された場所にタイルが対応する場合は、該タイル内の深さ値は、以下のような線形関数として表すことができる。
Z(x,y) = Azx + Bzy + Cz
ここで、x及びyは、4×4タイル内の各画素の横座標及び縦座標を表す。タイルの左上の画素の深さ値に(Z00)、Az及びBzの値を与えることによって、タイルの残りの画素は、以下の方程式を内挿することによって得ることができる。
Zij = Az *i + Bz *j + Z00,(i = 0 ~ 3, j = 0 ~ 3)
従って、タイルが圧縮可能である場合は、デプスバッファへの16個のすべての画素の深さ値を更新する代わりに、Z00、Az及びBzを更新するだけでよい。このことは、Az及びBzがZ00と同じデータ精度を有すると想定した場合は正規のタイルの情報のちょうど3/16である。同じ圧縮されたタイルがzバッファから再び読み取られるときには、Z00、Az及びBzを読み取ること及び上記の公式に基づいて圧縮解除機能を実行することのみを行うだけでタイル全体の深さ値を得ることができる。
図7に示されるように、タイルは、三角形内に完全に含まれている場合のみに圧縮することができる。示されるように、タイルAは圧縮可能であり、タイルB及びCは、三角形の境界を越えているため圧縮できない。タイルが三角形内に完全に入っているかどうかを決定することは、通常は、タイルの4つのすべての角画素が三角形の内部にあるかどうかを検査するだけで十分である。
すべてのタイルが圧縮可能なわけではないため、特定のタイルブロックがデプスバッファ内において圧縮されているかどうかを示すことが可能な1つの配列のフラグ(1つのタイル当たり1ビット)を格納するためにオンチップメモリを利用することができる。タイルがデプスバッファから読み取られるときには、データの圧縮解除が必要であるかどうかを決定するために対応する圧縮フラグが検査される。デプスバッファへのタイルが更新中であるときで、該タイルが圧縮可能である場合は、圧縮されたデータがデプスバッファに書き込まれて対応する圧縮フラグが設定される。
図及び明細書においては典型的実施形態が開示されており、さらに特定の例が示されているが、これらの例は一般的であってさらに限定することを目的としてではなく説明を目的として用いられている。従って、本開示の適用範囲は、これらの典型的実施形態によってではなく添付された請求項によって解釈されるべきであるということが理解されるべきである。

Claims (30)

  1. 入力されたプリミティブオブジェクトデータからの表示画素データをレンダリングする複数の順次配列された処理段階を具備するラスター化パイプラインと、
    前記ラスター化パイプラインの前記処理段階のうちの少なくとも1つによって利用されるデータを格納するメモリと、
    処理された画素が前記少なくとも1つの処理段階に到着する前に前記処理された画素に関して前記少なくとも1つの処理段階によって利用されるデータを取り出すプリフェッチメカニズムと、を具備するグラフィックスプロセッサ。
  2. 前記取り出されたデータは、前記ラスター化パイプラインの前記処理段階の前記少なくとも1つのキャッシュメモリに格納される請求項1に記載のグラフィックスプロセッサ。
  3. 入力されたプリミティブオブジェクトデータからの表示画素データをレンダリングする複数の順次配列された処理段階を具備するラスター化パイプラインであって、前記処理段階は、隠面除去(HSR)段階を含むラスター化パイプラインと、
    前記ラスター化パイプラインのHSR段階によって利用されるデータを格納するデプスバッファと、
    処理された画素が前記ラスター化パイプラインを通じて前記HSR段階に到着する前に前記処理された画素に関して前記HSRによって利用される前記データを前記デプスバッファから取り出すプリフェッチメカニズムと、を具備するグラフィックスプロセッサ。
  4. 前記取り出されたデータは、前記ラスター化パイプラインの前記HSR段階のキャッシュメモリに格納される請求項3に記載のグラフィックスプロセッサ。
  5. 入力されたプリミティブオブジェクトデータからの表示画素データをレンダリングする複数の順次配列された処理段階を具備するラスター化パイプラインであって、処理段階は隠面除去(HSR)段階を含むラスター化パイプラインと、
    二次元画素タイルの深さ値を格納するデプスバッファと、
    処理された画素を含む前記二次元画素タイルのタイルアドレスを生成するタイルアドレス生成器と、
    前記ラスター化プロセッサの前記HSR段階に結合されたキャッシュメモリと、
    前記タイルアドレスに応じて前記二次元画素タイルの前記深さ値を前記デプスバッファから取り出し及び前記深さ値を前記キャッシュメモリに格納するメモリコントローラと、を具備するグラフィックスプロセッサ。
  6. 前記デプスバッファは、階層的デプスバッファである請求項5に記載のグラフィックスプロセッサ。
  7. 入力されたプリミティブオブジェクトデータからの表示画素データをレンダリングする複数の順次配列された処理段階を具備するラスター化パイプラインと、
    画素データが前記ラスター化パイプラインを通じて前記処理段階のうちの少なくとも1つに到着する前に主メモリからデータをプリフェッチして前記データを前記少なくとも1つの処理段階に供給するための手段と、を具備するグラフィックスプロセッサ。
  8. 前記少なくとも1つの処理段階は、隠面除去(HSR)段階である請求項7に記載のグラフィックスプロセッサ。
  9. 前記手段は、前記主メモリからの前記データを格納し及び前記HSRに結合されたキャッシュメモリを具備する請求項8に記載のグラフィックスプロセス。
  10. 入力されたプリミティブオブジェクトデータからの表示画素データをレンダリングする複数の順次配列された処理段階を具備するラスター化パイプラインであって、処理段階は、隠面除去(HSR)段階を含むラスター化パイプラインと、
    二次元画素タイルの深さ値を格納する階層的デプスバッファと、
    前記HSR段階に結合されており及び前記二次元画素タイルの前記深さ値の最大深さ値及び最小深さ値を格納するランダムアクセスキャッシュメモリと、
    処理された画素を含む前記二次元画素タイルのタイルアドレスを生成するタイルアドレス生成器と、
    前記タイルアドレスに応じて前記二次元画素タイルの前記深さ値を前記デプスバッファから取り出し及び前記深さ値を前記キャッシュメモリに格納するメモリコントローラと、を具備するグラフィックスプロセッサ。
  11. 処理された画素の深さ値を前記処理された画素を含むタイルの最小深さ値及び最大深さ値と比較するタイル試験ブロックをさらに具備する請求項10に記載のグラフィックスプロセッサ。
  12. 前記タイル試験ブロックは、前記処理された画素の前記深さ値が前記プロセス画素を含む前記タイルの前記最小深さ値よりも小さい場合は前記処理された画素を捨てるために動作可能である請求項11に記載のグラフィックスプロセッサ。
  13. 前記タイル試験ブロックは、前記処理された画素の前記深さ値が前記処理された画素を含む前記タイルの前記最大深さ値よりも大きい場合は前記キャッシュメモリを更新するために動作可能である請求項11に記載のグラフィックスプロセッサ。
  14. 前記処理された画素の前記深さ値を前記キャッシュメモリに格納されている前に格納された深さ値と比較する画素試験ブロックをさらに具備する請求項13に記載のグラフィックスプロセッサ。
  15. 前記タイル試験ブロックは、前記処理された画素の前記深さ値が前記プロセス画素を含む前記タイルの前記最小深さ値と最大深さ値の間にある場合は前記画素試験ブロックをイネーブルにするために動作可能である請求項14に記載のグラフィックスプロセッサ。
  16. 前記処理された画素と関連するプリミティブオブジェクトデータに基づいてタイル情報を生成するタイルインデックス予測器ブロックと、前記タイルインデックス予測器ブロックによって生成された前記タイル情報に基づいてタイルの深さ値を取り出すプリフェッチ論理ブロックと、をさらに具備する請求項10に記載のグラフィックスプロセス。
  17. 入力されたプリミティブオブジェクトデータからの表示画素データをレンダリングする複数の順次配列された処理段階を具備するするラスター化パイプラインであって、前記処理段階は、隠面除去(HSR)段階を含むラスター化パイプラインと、
    前記ラスター化パイプラインによってレンダリングされた前記画素データと関連する深さ値データの二次元画素タイルを具備するデプスバッファと、を具備し、前記プリミティブオブジェクトデータは、プリミティブ形状を示し、二次元タイルの前記深さ値データは、前記二次元タイルが処理された画素を含む前記プリミティブ形状内に完全に含まれている場合に圧縮される、グラフィックスプロセッサ。
  18. 前記プリミティブ形状は、三角形である請求項17に記載のグラフィックスプロセッサ。
  19. 前記二次元タイルは、4×4の画素タイルである請求項18に記載のグラフィックスプロセッサ。
  20. 前記深さ値データは、前記二次元タイルの前記深さ値の相対値を記述する方程式の係数を格納することによって圧縮される請求項17に記載のグラフィックスプロセッサ。
  21. 前記方程式は、線形方程式である請求項20に記載のグラフィックスプロセッサ。
  22. 入力されたプリミティブオブジェクトデータからの表示画素データをレンダリングする複数の順次配列された処理段階を含むラスター化パイプラインにプリミティブオブジェクトデータを供給することと、
    前記ラスター化パイプラインの前記処理段階のうちの少なくとも1つによって利用されるデータをメモリに格納することと、
    処理された画素が前記少なくとも1つの処理段階に到着する前に前記処理された画素に関して前記少なくとも1つの処理段階によって利用される前記データを前記メモリからプリフェッチすること、とを具備するグラフィックス処理方法。
  23. 前記ラスター化パイプラインの前記処理段階のうちの前記少なくとも1つのキャッシュメモリに前記取り出されたデータを格納することをさらに具備する請求項22に記載の方法。
  24. 前記少なくとも1つの処理段階は、隠面除去(HSR)段階である請求項23に記載の方法。
  25. 処理された画素の深さ値を前記処理された画素を含む二次元タイルの最小深さ値及び最大深さ値と比較するタイル試験を実行することをさらに具備する請求項24に記載のグラフィックスプロセッサ。
  26. 前記タイル試験は、前記処理された画素の前記深さ値が前記処理された画素を含む前記タイルの前記最大深さ値よりも大きい場合は前記キャッシュメモリを更新することを含む請求項25に記載のグラフィックスプロセッサ。
  27. 前記処理された画素の前記深さ値を前記キャッシュメモリに格納されている前に格納された深さ値と比較する画素試験を選択的に実行することをさらに具備する請求項26に記載のグラフィックスプロセッサ。
  28. 前記タイル試験は、前記処理された画素の前記深さ値が前記プロセス画素を含む前記タイルの前記最小深さ値及び最大深さ値の間にある場合は前記画素試験をイネーブルにすることを含む請求項27に記載のグラフィックスプロセッサ。
  29. 前記プロセス画素と関連するプリミティブオブジェクトデータに基づいてタイル情報を生成することと、前記タイル情報に基づいてタイルの深さ値をプリフェッチすること、とをさらに具備する請求項22に記載のグラフィックスプロセス。
  30. 入力されたプリミティブオブジェクトデータからの表示画素データをレンダリングする複数の順次配列された処理段階を含むラスター化パイプラインにプリミティブオブジェクトデータを供給することであって、前記処理段階は、隠面除去(HSR)段階を含むことと、
    デプスバッファ内の深さ値データの二次元タイルを選択的に圧縮すること、とを具備し、前記プリミティブオブジェクトデータは、プリミティブ形状を示し、二次元タイルの前記深さ値データは、前記二次元タイルが処理された画素を含む前記プリミティブ形状内に完全に含まれているときに圧縮される、グラフィックス処理方法。
JP2011190504A 2005-03-21 2011-09-01 タイル化されたプリフェッチ及びキャッシングされたデプスバッファ Expired - Fee Related JP5296169B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/086,474 2005-03-21
US11/086,474 US8089486B2 (en) 2005-03-21 2005-03-21 Tiled prefetched and cached depth buffer

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2008503115A Division JP4861403B2 (ja) 2005-03-21 2006-03-21 タイル化されたプリフェッチ及びキャッシングされたデプスバッファ

Publications (2)

Publication Number Publication Date
JP2012033173A true JP2012033173A (ja) 2012-02-16
JP5296169B2 JP5296169B2 (ja) 2013-09-25

Family

ID=36680626

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2008503115A Expired - Fee Related JP4861403B2 (ja) 2005-03-21 2006-03-21 タイル化されたプリフェッチ及びキャッシングされたデプスバッファ
JP2011190504A Expired - Fee Related JP5296169B2 (ja) 2005-03-21 2011-09-01 タイル化されたプリフェッチ及びキャッシングされたデプスバッファ

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2008503115A Expired - Fee Related JP4861403B2 (ja) 2005-03-21 2006-03-21 タイル化されたプリフェッチ及びキャッシングされたデプスバッファ

Country Status (7)

Country Link
US (1) US8089486B2 (ja)
EP (1) EP1864256A1 (ja)
JP (2) JP4861403B2 (ja)
KR (2) KR101009521B1 (ja)
CN (1) CN101176119B (ja)
CA (1) CA2601452A1 (ja)
WO (1) WO2006102380A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7051366B2 (ja) 2017-10-18 2022-04-11 株式会社東芝 情報処理装置、学習済モデル、情報処理方法、およびプログラム

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9123173B2 (en) * 2005-12-15 2015-09-01 Nvidia Corporation Method for rasterizing non-rectangular tile groups in a raster stage of a graphics pipeline
US8059124B2 (en) 2006-11-28 2011-11-15 Adobe Systems Incorporated Temporary non-tiled rendering of 3D objects
US8300050B2 (en) 2006-11-28 2012-10-30 Adobe Systems Incorporated Temporary low resolution rendering of 3D objects
ITMI20070038A1 (it) * 2007-01-12 2008-07-13 St Microelectronics Srl Dispositivo di renderizzazione per grafica a tre dimensioni con architettura di tipo sort-middle.
KR100883804B1 (ko) 2007-05-16 2009-02-16 박우찬 압축부 및 복원부를 포함하는 3차원 그래픽 처리 장치
US8270736B2 (en) * 2007-09-12 2012-09-18 Telefonaktiebolaget L M Ericsson (Publ) Depth buffer compression
US8040349B1 (en) 2007-12-04 2011-10-18 Nvidia Corporation System and method for structuring an A-buffer
US8169442B2 (en) * 2007-12-27 2012-05-01 Stmicroelectronics S.R.L. Graphic system comprising a fragment graphic module and relative rendering method
US8130223B1 (en) * 2008-09-10 2012-03-06 Nvidia Corporation System and method for structuring an A-buffer to support multi-sample anti-aliasing
US8654135B1 (en) 2008-09-10 2014-02-18 Nvidia Corporation A-Buffer compression for different compression formats
US8553041B1 (en) 2008-09-10 2013-10-08 Nvidia Corporation System and method for structuring an A-buffer to support multi-sample anti-aliasing
US8427474B1 (en) * 2008-10-03 2013-04-23 Nvidia Corporation System and method for temporal load balancing across GPUs
US8228337B1 (en) 2008-10-03 2012-07-24 Nvidia Corporation System and method for temporal load balancing across GPUs
KR101511273B1 (ko) * 2008-12-29 2015-04-10 삼성전자주식회사 멀티 코어 프로세서를 이용한 3차원 그래픽 렌더링 방법 및시스템
GB2478909B (en) * 2010-03-19 2013-11-06 Imagination Tech Ltd Demand based texture rendering in a tile based rendering system
GB2487421A (en) * 2011-01-21 2012-07-25 Imagination Tech Ltd Tile Based Depth Buffer Compression
KR101782044B1 (ko) 2011-02-22 2017-09-26 삼성전자주식회사 그래픽 프로세서 및 조기 가시성 테스트 방법
KR101926570B1 (ko) 2011-09-14 2018-12-10 삼성전자주식회사 포스트 프레그먼트 쉐이더를 사용하는 그래픽 처리 방법 및 장치
US9547930B2 (en) 2011-11-30 2017-01-17 Qualcomm Incorporated Hardware switching between direct rendering and binning in graphics processing
US9396582B2 (en) 2011-12-30 2016-07-19 Intel Corporation Five-dimensional rasterization with conservative bounds
US9196083B2 (en) * 2012-01-16 2015-11-24 Intel Corporation Time-continuous collision detection using 3D rasterization
US9087409B2 (en) * 2012-03-01 2015-07-21 Qualcomm Incorporated Techniques for reducing memory access bandwidth in a graphics processing system based on destination alpha values
US20130265305A1 (en) * 2012-04-04 2013-10-10 Jon N. Hasselgren Compressed Depth Cache
US9111392B2 (en) * 2012-09-27 2015-08-18 Intel Corporation Stochastic depth buffer compression using generalized plane encoding
US8941676B2 (en) * 2012-10-26 2015-01-27 Nvidia Corporation On-chip anti-alias resolve in a cache tiling architecture
US9336561B2 (en) 2012-12-19 2016-05-10 Intel Corporation Color buffer caching
GB2509113B (en) 2012-12-20 2017-04-26 Imagination Tech Ltd Tessellating patches of surface data in tile based computer graphics rendering
KR102048885B1 (ko) * 2013-05-09 2019-11-26 삼성전자 주식회사 그래픽 프로세싱 유닛, 이를 포함하는 그래픽 프로세싱 시스템, 및 이를 이용한 렌더링 방법
US9946658B2 (en) * 2013-11-22 2018-04-17 Nvidia Corporation Memory interface design having controllable internal and external interfaces for bypassing defective memory
GB2520365B (en) 2013-12-13 2015-12-09 Imagination Tech Ltd Primitive processing in a graphics processing system
GB2520366B (en) * 2013-12-13 2015-12-09 Imagination Tech Ltd Primitive processing in a graphics processing system
KR102188543B1 (ko) 2014-02-07 2020-12-08 삼성전자주식회사 그래픽 처리 장치
US9773294B2 (en) * 2014-07-03 2017-09-26 Mediatek Inc. Graphics processing system for determining whether to store varying variables into varying buffer based at least partly on primitive size and related graphics processing method thereof
KR102224845B1 (ko) 2014-07-22 2021-03-08 삼성전자주식회사 하이브리드 렌더링 방법 및 장치
KR102252374B1 (ko) 2014-09-05 2021-05-14 삼성전자주식회사 광선 추적 유닛 및 광선 데이터를 처리하는 방법
KR102282190B1 (ko) * 2014-09-22 2021-07-27 삼성전자 주식회사 렌더링 장치 및 방법
KR102327144B1 (ko) 2014-11-26 2021-11-16 삼성전자주식회사 그래픽 프로세싱 장치 및 그래픽 프로세싱 장치에서 타일 기반 그래픽스 파이프라인을 수행하는 방법
US9792722B2 (en) * 2014-12-18 2017-10-17 Mediatek Inc. Depth processing method and associated graphic processing circuit
GB2534567B (en) 2015-01-27 2017-04-19 Imagination Tech Ltd Processing primitives which have unresolved fragments in a graphics processing system
US10002455B2 (en) * 2015-04-20 2018-06-19 Intel Corporation Optimized depth buffer cache apparatus and method
US10380789B2 (en) * 2016-09-16 2019-08-13 Intel Corporation Method and apparatus for efficient depth prepass
GB2565301A (en) * 2017-08-08 2019-02-13 Nokia Technologies Oy Three-dimensional video processing
GB2566114B (en) 2017-09-05 2020-12-30 Advanced Risc Mach Ltd Prefetching data
CN109461113B (zh) * 2018-10-11 2021-07-16 中国人民解放军国防科技大学 一种面向数据结构的图形处理器数据预取方法及装置
CN112734897B (zh) * 2020-12-05 2024-04-02 西安翔腾微电子科技有限公司 一种图元光栅化触发的图形处理器深度数据预取方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06332664A (ja) * 1993-03-23 1994-12-02 Toshiba Corp 表示制御システム
JPH08221593A (ja) * 1995-02-14 1996-08-30 Hitachi Ltd 図形表示装置
JP2000507010A (ja) * 1996-03-15 2000-06-06 マイクロン・テクノロジイ・インコーポレーテッド 画素エンジン・データ・キャッシング機構
JP2002526842A (ja) * 1998-08-20 2002-08-20 アップル コンピュータ インコーポレイテッド ディファード・シェーディング(deferredshading)を伴うグラフィックス・プロセッサ(graphicsprocessor)
JP2002269583A (ja) * 2000-08-23 2002-09-20 Nintendo Co Ltd 描画モードに基づいて隠面処理の順番を動的に再構成する方法および装置
JP2003058905A (ja) * 2001-08-21 2003-02-28 Nintendo Co Ltd グラフィックスレンダリングシステムにおいて視覚的に重要なz成分の精度を最大化しz近傍クリッピングを回避するためのz近傍範囲におけるz値のクランピング
JP2003515830A (ja) * 1999-11-19 2003-05-07 ダイナミック ディジタル デプス リサーチ プロプライエタリー リミテッド 深度マップ圧縮技術
JP2003281564A (ja) * 2002-03-20 2003-10-03 Victor Co Of Japan Ltd 画像生成装置
JP2004510270A (ja) * 2000-09-28 2004-04-02 インテル・コーポレーション フルシーン・アンチエイリアシング・スーパーサンプリング実施のための方法および装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5392393A (en) * 1993-06-04 1995-02-21 Sun Microsystems, Inc. Architecture for a high performance three dimensional graphics accelerator
US6005582A (en) * 1995-08-04 1999-12-21 Microsoft Corporation Method and system for texture mapping images with anisotropic filtering
US6115047A (en) * 1996-07-01 2000-09-05 Sun Microsystems, Inc. Method and apparatus for implementing efficient floating point Z-buffering
US5933156A (en) * 1997-12-03 1999-08-03 Margolin; Jed Z-Buffer for row addressable graphics memory with flash fill
US6480205B1 (en) * 1998-07-22 2002-11-12 Nvidia Corporation Method and apparatus for occlusion culling in graphics systems
AU5688199A (en) * 1998-08-20 2000-03-14 Raycer, Inc. System, apparatus and method for spatially sorting image data in a three-dimensional graphics pipeline
US6483516B1 (en) * 1998-10-09 2002-11-19 National Semiconductor Corporation Hierarchical texture cache
US6525726B1 (en) * 1999-11-02 2003-02-25 Intel Corporation Method and apparatus for adaptive hierarchical visibility in a tiled three-dimensional graphics architecture
US6801203B1 (en) * 1999-12-22 2004-10-05 Microsoft Corporation Efficient graphics pipeline with a pixel cache and data pre-fetching
US6798421B2 (en) * 2001-02-28 2004-09-28 3D Labs, Inc. Ltd. Same tile method
US7002571B2 (en) * 2002-06-04 2006-02-21 Intel Corporation Grid-based loose octree for spatial partitioning
FI20030072A (fi) * 2003-01-17 2004-07-18 Hybrid Graphics Oy Piiloalueiden poistomenetelmä
KR100510131B1 (ko) * 2003-01-29 2005-08-26 삼성전자주식회사 픽셀 캐쉬 및 이를 이용한 3차원 그래픽 가속 장치 및 방법
US7450120B1 (en) * 2003-12-19 2008-11-11 Nvidia Corporation Apparatus, system, and method for Z-culling

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06332664A (ja) * 1993-03-23 1994-12-02 Toshiba Corp 表示制御システム
JPH08221593A (ja) * 1995-02-14 1996-08-30 Hitachi Ltd 図形表示装置
JP2000507010A (ja) * 1996-03-15 2000-06-06 マイクロン・テクノロジイ・インコーポレーテッド 画素エンジン・データ・キャッシング機構
JP2002526842A (ja) * 1998-08-20 2002-08-20 アップル コンピュータ インコーポレイテッド ディファード・シェーディング(deferredshading)を伴うグラフィックス・プロセッサ(graphicsprocessor)
JP2003515830A (ja) * 1999-11-19 2003-05-07 ダイナミック ディジタル デプス リサーチ プロプライエタリー リミテッド 深度マップ圧縮技術
JP2002269583A (ja) * 2000-08-23 2002-09-20 Nintendo Co Ltd 描画モードに基づいて隠面処理の順番を動的に再構成する方法および装置
JP2004510270A (ja) * 2000-09-28 2004-04-02 インテル・コーポレーション フルシーン・アンチエイリアシング・スーパーサンプリング実施のための方法および装置
JP2003058905A (ja) * 2001-08-21 2003-02-28 Nintendo Co Ltd グラフィックスレンダリングシステムにおいて視覚的に重要なz成分の精度を最大化しz近傍クリッピングを回避するためのz近傍範囲におけるz値のクランピング
JP2003281564A (ja) * 2002-03-20 2003-10-03 Victor Co Of Japan Ltd 画像生成装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6010041413; Woo-Chan Park, 外4名: '"An Effective Pixel Rasterization Pipeline Architecture for 3D Rendering Processors"' IEEE Transactions on Computers 第52巻, 第11号, 200311, p.1501-1508, IEEE Computer Society *
JPN6010041415; Szanto, P., 外1名: '"High performance visibility testing with screen segmentation"' Embedded Systems for Real-Time Multimedia, 2004. ESTImedia 2004. 2nd Workshop on , 20040906, p.75-80 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7051366B2 (ja) 2017-10-18 2022-04-11 株式会社東芝 情報処理装置、学習済モデル、情報処理方法、およびプログラム

Also Published As

Publication number Publication date
KR20070114224A (ko) 2007-11-29
CA2601452A1 (en) 2006-09-28
US20060209078A1 (en) 2006-09-21
EP1864256A1 (en) 2007-12-12
JP5296169B2 (ja) 2013-09-25
WO2006102380A1 (en) 2006-09-28
KR101036434B1 (ko) 2011-05-23
KR101009521B1 (ko) 2011-01-18
JP2008533628A (ja) 2008-08-21
CN101176119A (zh) 2008-05-07
JP4861403B2 (ja) 2012-01-25
CN101176119B (zh) 2012-05-16
US8089486B2 (en) 2012-01-03
KR20090096750A (ko) 2009-09-14

Similar Documents

Publication Publication Date Title
JP5296169B2 (ja) タイル化されたプリフェッチ及びキャッシングされたデプスバッファ
US11182952B2 (en) Hidden culling in tile-based computer generated images
US7042462B2 (en) Pixel cache, 3D graphics accelerator using the same, and method therefor
JP5844485B2 (ja) グラフィックス処理システムにおけるメモリアクセス帯域幅をデスティネーションアルファ値に基づいて減少させるための技法
US6972769B1 (en) Vertex texture cache returning hits out of order
US7999819B2 (en) Systems and methods for managing texture descriptors in a shared texture engine
US8547382B2 (en) Video graphics system and method of pixel data compression
US9881391B2 (en) Procedurally defined texture maps
US7098922B1 (en) Multiple data buffers for processing graphics data
KR100703709B1 (ko) 그래픽스 처리장치와 처리방법, 및 그 기록 매체
KR102651126B1 (ko) 그래픽 프로세싱 장치 및 그래픽스 파이프라인에서 텍스처를 처리하는 방법
JP2009545825A (ja) 拡張型頂点キャッシュを備えたグラフィック処理装置
WO2013101150A1 (en) A sort-based tiled deferred shading architecture for decoupled sampling
US10432914B2 (en) Graphics processing systems and graphics processors
KR20190078086A (ko) 프리페칭된 그래픽스 데이터를 이용하여 타일 기반 렌더링을 수행하는 방법 및 장치
US8736627B2 (en) Systems and methods for providing a shared buffer in a multiple FIFO environment
US7256796B1 (en) Per-fragment control for writing an output buffer
US7382377B1 (en) Render to texture cull
US20050195199A1 (en) Depth buffer for rasterization pipeline

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121010

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121023

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130123

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130128

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130325

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130328

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130612

R150 Certificate of patent or registration of utility model

Ref document number: 5296169

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

LAPS Cancellation because of no payment of annual fees