(57)【要約】      （修正有）【課題】グラフィックスプロセッサのラスタステージにおいて、タイルベース精度でラスタライズする方法を提供する。【解決手段】グラフィックスプロセッサのラスタステージでのラスタライズのためにグラフィックスプリミティブを受け取るステップと、第１レベルの精度でグラフィックスプリミティブをラスタライズして、複数のピクセルをもつ複数のタイルを生成するステップと、を含む。次に、タイルが第２レベルの精度でラスタライズされ、カバーされたピクセルが生成される。次に、グラフィックスプロセッサの後続のステージでレンダリングオペレーションを行うために、カバーされたピクセルが出力される。【選択図】図７
2008097583.tif 000002
【特許請求の範囲】
【請求項１】
ポリゴン記述を生成するセットアップユニットと、
前記セットアップユニットへ結合されたラスタライザユニットであって、前記ポリゴン記述をラスタライズする該ラスタライザユニットと、
前記ラスタライザユニット内の粗いラスタユニットであって、グラフィックスプリミティブを第１レベルの精度でラスタライズして、複数のピクセルをもつ複数のタイルを生成する該粗いラスタユニットと、
前記ラスタライザユニット内の微細なラスタユニットであって、前記グラフィックスプロセッサの後続のステージでレンダリングを行うために、前記グラフィックスプリミティブを第２レベルの精度でラスタライズして、カバーされたピクセルを生成する該微細なラスタユニットと、
を備えるグラフィックスプロセッサユニット。
【請求項２】
前記第１レベルの精度が前記第２レベルの精度よりも高い、請求項１に記載のグラフィックスプロセッサユニット。
【請求項３】
前記複数のタイルを前記第１レベルの精度でアドレス指定する整数値が、複数のピクセルを前記第２レベルの精度でアドレス指定する整数値よりも大きい、請求項１に記載のグラフィックスプロセッサユニット。
【請求項４】
前記グラフィックスプリミティブが、スクリーン画像を構成する複数のピクセルをアドレス指定するように前記第１レベルの精度でラスタライズされる、請求項１に記載のグラフィックスプロセッサユニット。
【請求項５】
前記グラフィックスプリミティブが、前記複数のタイルの各々を構成する複数のピクセルをアドレス指定するように前記第２レベルの精度でラスタライズされる、請求項１に記載のグラフィックスプロセッサユニット。
【請求項６】
前記複数のタイルの各々が少なくとも二つの部分へ分割され、前記少なくとも二つの部分が、各部分を構成する複数のピクセルをアドレス指定するように第３レベルの精度でラスタライズされる、請求項５に記載のグラフィックスプロセッサユニット。
【請求項７】
前記第１レベルの精度での前記ラスタライズが、クロックサイクル毎に実施される、請求項１に記載のグラフィックスプロセッサユニット。
【請求項８】
前記第２レベルの精度での前記ラスタライズが、クロックサイクル毎に実施される、請求項１に記載のグラフィックスプロセッサユニット。
【請求項９】
システムメモリと、
前記システムメモリへ結合された中央プロセッサユニットと、
前記中央プロセッサユニットへ通信可能に結合されたグラフィックスプロセッサユニットと、
前記グラフィックスプロセッサユニットの中にあって、ポリゴン記述を生成するセットアップユニットと、
前記グラフィックスプロセッサユニットの中にあって、前記セットアップユニットへ結合され、前記ポリゴン記述をラスタライズするラスタライザユニットと、
前記ラスタライザユニットの中にある粗いラスタ構成要素と、
を備え、
前記粗いラスタライザ構成要素が、グラフィックスプロセッサのラスタステージにおけるラスタライズ用にグラフィックスプリミティブを受け取り、前記グラフィックスプリミティブを第１レベルの精度でラスタライズして複数のピクセルをもつ複数のタイルを生成し、前記タイルを第２レベルの精度でラスタライズしてカバーされたピクセルを生成するように構成されており、前記カバーされたピクセルが、前記グラフィックスプロセッサの後続のステージでレンダリングオペレーションを行うために出力される、
コンピュータシステム。
【請求項１０】
前記第１レベルの精度が前記第２レベルの精度よりも高い、請求項９に記載のコンピュータシステム。
【請求項１１】
前記複数のタイルを前記第１レベルの精度でアドレス指定する整数値が、複数のピクセルを前記第２レベルの精度でアドレス指定する整数値よりも大きい、請求項１０に記載のコンピュータシステム。
【発明の詳細な説明】
【発明の分野】
【０００１】
[001]本発明は、広く、ハードウェア加速型のグラフィックスコンピュータシステムに関するものである。
【発明の背景】
【０００２】
[002]コンピュータ性能の最近の進歩によって、グラフィックシステムは、パーソナルコンピュータ、ホームビデオゲームコンピュータ、ハンドヘルドデバイス等を使用して、一層現実的なグラフィカル画像を提供することが可能になってきた。このようなグラフィックシステムでは、多数の手続きを実行して、グラフィックプリミティブをシステムスクリーンへ「レンダリング」、即ち描画する。「グラフィックプリミティブ」は、グラフィックピクチャの基本的成分、例えば、頂点、ポリゴン等である。レンダリングされる画像は、これらのグラフィックプリミティブの組み合わせで形成される。多くの手続きを利用して、３Ｄグラフィックスレンダリングを実行することもある。
【０００３】
[003]特化されたグラフィックス処理ユニット（例えば、ＧＰＵ（グラフィックスプロセッサユニット）等）が、グラフィックスレンダリング手続きを実行する際に要求される計算を最適化するために、開発されてきている。ＧＰＵは、高速演算を目的として構成されており、典型的には、一つ以上のレンダリングパイプラインを組み込んでいる。各パイプラインは、多数のハードウェアベースの機能ユニットを含む。これらの機能ユニットは、グラフィックス命令／データの高速実行用に最適化されている。この場合に、命令／データは、パイプラインのフロントエンドへ供給され、計算結果はパイプラインのバックエンドに出願する。ＧＰＵのハードウェアベース機能ユニット、キャッシュメモリ、ファームウェア等は、低レベルグラフィックスプリミティブ（例えば、「点」、「線」、「三角形」等を含む）について演算を行ない、レンダリングされたリアルタイム３Ｄ画像を作り出すように最適化されている。
【０００４】
[004]レンダリングされたリアルタイム３Ｄ画像は、ラスタ表示技術を使用して生成される。ラスタ表示技術は、コンピュータグラフィックスシステムで広く使用されており、一般的には、グラフィックスプリミティブによって、画像を構成する格子状の複数のピクセルに影響を与えるメカニズムを意味する。各プリミティブについて、典型的なラスタライズシステムは、一般的に、ピクセルからピクセルへ進み、そのプリミティブの寄与に応じて、「レンダリング」すべきか否か、即ち、所与のピクセルをフレームバッファ又はピクセルマップへ書き込むべきか否かを決定する。これは、次に、各ピクセルを表現する表示バッファへ、どのようにデータを書き込むかを決定する。
【０００５】
[005]グラフィックスプリミティブベースの記述からピクセルベースの記述への計算（例えば、各プリミティブについてピクセル毎にラスタライズする）を、所与の３Ｄシーンを構成するプリミティブ内の全ピクセルがカバーされるように行なうために、様々な探索アルゴリズム及び様々なラスタライズ法が開発されている。
【０００６】
[006]典型的な解決法は、シーンを行ごとに横切って（例えば、左から右へ）系統的に進み、シーンの各ピクセルを訪問することによって、単方向にピクセルを生成することを含む。各ピクセルのカバーの度合いは、シーンを構成する様々なプリミティブの寄与に従って決定される。従来の他の解決法は、ピクセル毎の評価手法を利用して、表示を構成するピクセルの各々を厳密に評価し、どのピクセルがどのプリミティブによってカバーされるかを決定することを含む。
【０００７】
[007]プリミティブが構成ピクセルへラスタライズされると、これらピクセルはラスタライズステージに続くパイプラインステージにおいて処理され、レンダリングオペレーションが実行される。一般的に、これらレンダリングオペレーションは、シーンを構成するプリミティブのカバーの度合いに応じて、ディスプレイの各ピクセルへ色を割り当てる。ピクセル毎の色も、プリミティブへ割り当てられるテクスチャマップ情報、照明情報等に従って決定される。
【０００８】
[008]しかしながら、従来技術の３Ｄレンダリングアーキテクチャの能力では、今日のアプリケーションにおける一層複雑になった３Ｄシーンを扱うように拡張することに、問題が存在する。コンピュータスクリーンは、現在、１９２０×１２００ピクセル以上のスクリーン解像度を有することが普通である。従来技術のラスタライズ解決法は、ますます、３Ｄレンダリングプロセスのボトルネックとなってきている。ディスプレイスクリーンは、例えば、１９２０ピクセルの幅以上へとサイズが容赦なく増加しているので、行ごとに進んでピクセル毎に評価する従来技術のラスタライズ解決法は、計算負荷を処理するための一層大きなリソースを必要としている。このように大きなスクリーンサイズを処理するために、ＧＰＵのラスタライズリソースは、多数のプリミティブ評価演算（例えば、ポリゴン稜線方程式）をクロックサイクルベースで処理する必要があり、これに応じてプリミティブ評価演算は膨大な数のピクセルをアドレス指定する必要がある。したがって、典型的な従来技術のＧＰＵは、許容し得るリアルタイム３Ｄレンダリング性能を維持しながら、大きなスクリーンサイズに拡張することのできる十分なラスタライズリソースを有していない。
【０００９】
[009]３Ｄレンダリング性能を向上する方法、例えば、クロック速度を増大させる従来の方法は、例えば、電力消費の増加、及びＧＰＵ集積回路ダイによる熱発生の増加といった負の副作用を有する。性能を向上させる他の方法、例えば、ＧＰＵ演算を並列に実行するため多数の並列実行ユニットを組み込むことは、例えば、集積回路ダイのサイズの増大、ＧＰＵ製造プロセスの歩留まりの減少、電力要件の増加等といった負の副作用を有する。
【００１０】
[010]したがって、グラフィックスアプリケーションのニーズによって要求されるように拡張することができ、電力消費の増大及び／又は製造歩留まりの低下といったペナルティを招来することなく、更なる性能を提供可能なラスタライズ処理に対するニーズが存在する。
【発明の概要】
【００１１】
[011]本発明の実施形態は、グラフィックスアプリケーションのニーズによって要求されるように拡張することができ、電力消費の増大及び／又は製造歩留まりの低下といったペナルティを招来することなく、更なる性能を提供可能なラスタライズ処理方法、及びシステムを提供する。
【００１２】
[012]一実施形態では、本発明は、グラフィックスプロセッサのラスタステージにおいてタイルベース精度でラスタライズする方法として実施される。本方法は、グラフィックスプロセッサのラスタステージにおいてラスタライズ用のグラフィックスプリミティブを受け取るステップと、第１レベルの精度でグラフィックスプリミティブをラスタライズして、複数のピクセルを有する複数のタイルを生成するステップと、を含む。次に、タイルは第２レベルの精度でラスタライズされ、カバーされたピクセルが生成される。次に、グラフィックスプロセッサの後続のステージでレンダリング動作を行うために、カバーされたピクセルが出力される。第１レベルの精度は、典型的には、第２レベルの精度よりも高く、第１レベルの精度で複数のタイルをアドレス指定する整数値は、第２レベルの精度で複数のピクセルをアドレス指定する整数値よりも大きい。
【００１３】
[013]この方法では、必要な精度は、アドレス指定される必要がある個々のピクセル又はサンプルの数に従って調整可能である。例えば、一実施形態では、グラフィックスプリミティブを第１レベルの精度でラスタライズして、スクリーン画像を構成する複数のピクセルをアドレス指定する。それに対応して、一実施形態では、グラフィックスプリミティブを第２レベルの精度でラスタライズして、複数のタイルの各々を構成する複数のピクセルをアドレス指定する。
【００１４】
[014]そのために、本発明の実施形態は、ＧＰＵのラスタライズリソースを効率的に利用し、プリミティブ評価演算（例えば、ポリゴン稜線方程式）をクロックサイクルベースで処理し、許容可能なリアルタイム３Ｄレンダリング性能を維持しながら、大きなスクリーンサイズへ効率的に拡張する。
【発明の詳細な説明】
【００１５】
[015]以下、本発明を、添付の図面の図において、例示として、限定するものとしてではなく、説明する。これら図面において、類似の参照符号は同様の要素を指している。
【００１６】
[023]ここで、本発明の好ましい実施形態を詳細に参照する。実施形態の例を、添付の図面に図示する。本発明を、好ましい実施形態に関して説明するが、これら実施形態は、当該実施形態へ本発明を限定することを意図していないことが理解されるであろう。反対に、本発明は、添付の特許請求の範囲によって定められる本発明の精神及び範囲の中に含まれる代替、修正、及び均等物をカバーすることを意図している。更に、本発明の実施形態の下記の詳細な説明においては、本発明を十分に理解させるために、多数の具体的詳細部分を説明する。しかしながら、本発明は、これらの具体的詳細部分がなくても実施可能であることが、当業者によって認識されるであろう。他の例においては、本発明の実施形態の様相を、不必要なほどに不明瞭にしないよう、周知の方法、手続き、構成要素、及び回路について詳細に説明していない。
【００１７】
（表記法及び用語）
[024]下記の詳細な説明の幾つかの部分は、手続き、ステップ、論理ブロック、処理、及びコンピュータメモリ内のデータビットに対する演算に関する他の記号表現によって呈示してある。これらの記述及び表現は、データ処理技術の当業者によって使用される手段であり、当業者の成果の内容を他の当業者へ最も効果的に伝達するものである。手続き、コンピュータの実行ステップ、論理ブロック、処理等は、本明細書において、及び一般的に、所望の結果へ導くステップ又は命令の首尾一貫したシーケンスであると考えられる。ステップは、物理量の物理的操作を必要とするものである。通常、必ずしもそうではないが、これらの量は、記憶、転送、結合、比較、及びコンピュータシステム内で操作可能な電気又は磁気信号の形態をとる。時には、一般的に使用されることを主な理由として、これらの信号をビット、値、要素、記号、文字、項、数等で参照することが便利であることが分かっている。
【００１８】
[025]しかしながら、これら及び類似の用語の全てが、適切な物理量に関連づけられるべきであること、及びこれらの量へ適用される単に便宜的なラベルであることを、留意すべきである。下記の説明から明らかであるように、特に別途言及しない限り、本発明の全体を通して、「処理」又は「アクセス」又は「実行」、又は「記憶」又は「レンダリング」等の用語を利用した説明は、コンピュータシステム（例えば、図１のコンピュータシステム１００）、又は類似の電子コンピューティングデバイスのアクション及びプロセスを意味することを理解されたい。これらコンピュータシステム又は類似の電子コンピューティングデバイスは、コンピュータシステムのレジスタ及びメモリ内で物理（電子）量として表現されたデータを操作して、コンピュータシステムメモリ又はレジスタ又は他のこのような情報記憶、伝送、又は表示デバイス内の物理量として同じように表現された他のデータへ変換する。
【００１９】
＜コンピュータシステムプラットフォーム＞
[026]図１は、本発明の一実施形態に係るコンピュータシステム１００を示している。コンピュータシステム１００は、本発明の実施形態に従った基本的なコンピュータシステムの構成要素を描いたものであり、あるハードウェアベース及びソフトウェアベースの機能のために実行プラットフォームを提供するものである。一般的に、コンピュータシステム１００は、少なくとも一つのＣＰＵ１０１、システムメモリ１１５、及び少なくとも一つのグラフィックスプロセッサユニット（ＧＰＵ）１１０を備える。ＣＰＵ１０１は、ブリッジ構成要素／メモリコントローラ（図示されず）を介してシステムメモリ１１５へ結合可能であるか、ＣＰＵ１０１の内部にあるメモリコントローラ（図示されず）を介してシステムメモリ１１５へ直接結合可能である。ＧＰＵ１１０は、ディスプレイ１１２へ結合されている。一つ以上の追加のＧＰＵを、オプションとして、システム１００へ結合し、その計算能力を更に向上することができる。ＧＰＵ１１０は、ＣＰＵ１０１及びシステムメモリ１１５に結合されている。システム１００は、例えば、デスクトップコンピュータシステム又はサーバコンピュータシステムとして実現可能であり、専用グラフィックスレンダリングＧＰＵ１１０へ結合された強力な汎用ＣＰＵ１０１を有する。このような実施形態においては、周辺バス、専門グラフィックスメモリ、Ｉ／Ｏデバイス等を付加する構成要素が含まれていてもよい。同様に、システム１００は、ハンドヘルドデバイス（例えば、携帯電話等）又はセットトップビデオゲームコンソールデバイス、例えば、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ  ｏｆ  Ｒｅｄｍｏｎｄ，Ｗａｓｈｉｎｇｔｏｎから入手可能なＸｂｏｘ（登録商標）、又は  Ｓｏｎｙ  Ｃｏｍｐｕｔｅｒ  Ｅｎｔｅｒｔａｉｎｍｅｎｔ  Ｃｏｒｐｏｒａｔｉｏｎ  ｏｆ  Ｔｏｋｙｏ，Ｊａｐａｎから入手可能なＰｌａｙＳｔａｔｉｏｎ３（登録商標）として実現可能である。
【００２０】
[027]ＧＰＵ１１０は、別個の構成要素、コネクタ（例えば、ＡＧＰスロット、ＰＣＩ−Ｅｘｐｒｅｓｓスロット等）を介してコンピュータシステム１００へ結合されるように設計された別個のグラフィックスカード、別個の集積回路ダイ（例えば、マザーボードに直接取り付けられる）、又はコンピュータシステムチップセットの構成要素（図示されず）をもつダイ内に含められた集積ＧＰＵとして、実現可能であることを理解されたい。更に、ローカルグラフィックスメモリ１１４を、ＧＰＵ１１０用に高帯域幅グラフィックスデータストレージとして含めてもよい。
【００２１】
＜本発明の実施形態＞
[028]図２は、本発明の一実施形態に係り、ラスタライズのためにポリゴン２０１をスクリーン２５０上に描いた図２００を示している。
【００２２】
[029]図２は、本発明の実施形態に従って実行されるラスタライズ処理を描いたものである。ラスタライズ処理の際に、ポリゴンのカバー範囲、この場合には、三角形２０１が、一つ以上のタイルの個々の部分（例えば、１タイル当たり３２×３２ピクセル、１タイル当たり１６×１６ピクセル、１タイル当たり８×８ピクセル、等）上への投射寄与（perspectivecontributions）へと分解される。多数のピクセルをカバーする非常に大きな三角形の場合には、三角形を画成する稜線方程式、したがって、どのピクセルがカバーされるかを定義する稜線方程式は、それらの整数オペランドを表現するために、多数のビットを消費する。このことは、どのピクセルが三角形（又は他の型のグラフィックスプリミティブ）によってカバーされるかを決定することを可能にするために、三角形の稜線方程式を十分な精度で規定する必要があることに起因する。
【００２３】
[030]図２は、比較的大きなスクリーン２５０を描いており、スクリーン２５０は、この場合には、８ｋ個のピクセル（例えば、８１９２個のピクセル）にわたっている。このような大きなスクリーン２５０の場合、スクリーン２５０を構成するピクセルを定義して、アドレス指定するために、例示的なライン２０２によって描かれているように、多数のビットが必要である。なお、ラスタライザは、スクリーン２５０の幅を横切って左から右へタイルのラインを横切って進む。
【００２４】
[031]図３は、三角形２０１、及び本発明の一実施形態に従ってラスタライズ線２０２に沿って生成されたカバータイルを示している。前述したように、大きな三角形（例えば、三角形２０１）を評価し、どのタイルがカバー範囲を有するかを決定するために、三角形稜線方程式の多くの整数オペランドが使用される。三角形に対して少なくとも或るカバー範囲を有するタイルを切り出すために、三角形稜線方程式の大きな整数オペランドが使用される。これらのタイルは、ラスタライズ線２０２に沿って図示してある。本発明の実施形態によれば、一度、これらのタイルが決定されると、より小さな整数オペランドを使用して、各タイルの中のどのピクセルがカバー範囲を有するかを評価することができる。この特徴は、一つのタイルを横切って進むために必要なビットの数が、大きなスクリーン（例えば、スクリーン２５０）を横切って進むために必要なビットの数よりも、はるかに小さいという事実を利用する。
【００２５】
[032]図４は、本発明の一実施形態に係る例示的なタイル４００の寸法を描いた図を示している。前述したように、タイル４００を構成するピクセルの数は、大きなスクリーン（例えば、スクリーン２５０）を構成するピクセルの数よりも、はるかに小さい。例えば、一実施形態において、タイル４００は、３２ピクセルの幅及び３２ピクセルの高さを有する。他の実施形態において、タイル４００は、１６ピクセルの幅及び１６ピクセルの高さを有する。
【００２６】
[033]図２のフルスクリーン画像２５０の場合、三角形稜線方程式は、比較的大きな数のピクセル（例えば、４０９６個又は８１９２個のピクセル）をアドレス指定できる必要がある。これは、三角形稜線方程式のオペランドが１３又は１４ビットを使用することを意味する（例えば、ｘ方向の次元に１３ビットのオペランド、及びｙ方向の次元に１３ビットのオペランド）。後続のラスタライズオペレーションにおいて（例えば、微細なラスタライズの際に）、その計算は、個々のタイル、例えば、タイル４００（例えば、１６×１６ピクセル）の中に存在するピクセルだけをアドレスすればよい。このような状況では、各次元において１６個のピクセルをアドレス指定するだけで十分である。したがって、計算には、例えば、１３ビット又は１４ビットではなく、３ビット又は４ビットの整数ピクセルアドレスを提供するだけでもよい。したがって、これらの後のラスタライズオペレーションの場合、例えば、最上位の１０ビットを削除することによって、所与のラスタライザステージは、有用な精度を失うことなく、相当な量のシリコン領域を節減することができる。例えば、一実施形態では、ラスタライズ処理は、粗いラスタライズと微細なラスタライズに分割される。微細なラスタライズの際に、３２×３２のタイルの中で作業すると、精度は１３個又は１４個のビットから５個のビットへ調整される。
【００２７】
[034]節減されたシリコン領域は、多数の利点を提供する。例えば、節減されたシリコン領域は、他の目的、例えば、より大きなメモリキャッシュ、より強力なＡＬＵ等の専用とすることができる。同様に、より小さな整数オペランドは、オペランドを記憶するために必要なシリコン領域を縮小する。節減されたシリコン領域は、更に、全体的なＧＰＵ製造プロセスの歩留まりを改善し、生成されるＧＰＵダイの電力消費を低減する。
【００２８】
[035]したがって、例えば、ラスタライザが大きなスクリーン２５０に対して処理を行なって初期ラスタライズを実行する場合には、このラスタライザは８ｋの範囲のスクリーン２５０中で個々のピクセルをアドレス指定できる必要があり、従って、大きな整数オペランド（例えば、１４又は１５ビット、又はもっと大きい）が必要となる。個々のタイルが切り出されると、ラスタライザはタイル４００を構成する数のピクセル内で処理を行なうだけでよい。したがって、タイル４００が３２ピクセルの幅である場合、ラスタライザは幅方向の次元では３２ピクセルをアドレス指定するだけでよく、これは５ビットを必要とするだけである。同様に、一つのタイルが８ピクセル幅である場合には、ラスタライザステージは、各次元において８ピクセルをアドレス指定するだけでよく、次元当たり３ビットを必要とするだけである。
【００２９】
[036]即ち、ラスタライズ処理がタイルレベルに進むと、整数レベルの精度を減少させてタイルを画成する複数のピクセルの範囲を十分にカバーすることができる。マルチレベルラスタライズを実行するラスタライズステージの場合、この処理は、ラスタライズパイプラインを進むにつれてタイルサイズがより小さくなるように、反復される。これに対応して、精度は、タイルを構成するピクセルの数、更にはサンプル数とマッチするように、対応的に縮小される。
【００３０】
[037]図５は、本発明の一実施形態に従ってラスタステージ５００で実現されるタイルベース精度のラスタライズ処理の図を示している。図５に示すように、ラスタステージがスクリーンに対応の精度寸法（例えば、図２のスクリーン２５０）で動作するとき、三角形稜線方程式のオペランドは、整数精度レベル５０１で示される第１レベルの整数精度にある。ラスタステージが、第２レベルのタイルに対応の精度、例えば、個々のタイル（例えば、図４のタイル４００）を構成する複数のピクセル内について動作するとき、三角形稜線方程式のオペランドは、第２レベルの精度へ下方に調整され、整数精度レベル５０２として示される小さな整数オペランドを生じる。したがって、ラスタステージが、第３レベルのタイルに対応の精度、例えば、タイル４００の細分された部分（例えば、タイル４００は小さな部分タイルへ細分される）、又は個々のピクセルのサンプルについて動作するとき、三角形稜線方程式オペランドは、第３の精度レベルへ下方に調整され、整数精度レベル５０３で示される小さな整数オペランドを生じる。
【００３１】
[038]このようにして、タイルサイズが縮小される度に、タイルを構成するピクセルをアドレス指定するために必要な精度を対応して縮小することができる。サンプルを計算するときにも、精度は同様に縮小される。
【００３２】
[039]図６は、本発明の実施形態に係る整数オペランドであって、拡張ビット６０１を含む例示的な整数オペランドを描いた図６００を示している。図６は拡張ビット６０１のオプションとしての使用を示している。この拡張ビット６０１を、オペランドの最有意ビットとして付加して、タイルの境界を越えて三角形（例えば、三角形２０１）の稜線が存在することを示すことができる。例えば、一実施形態においては、拡張ビット６０１をラスタステージのハードウェアによって使用し、稜線が無限の遠方にあるかのごとく、カバー範囲がタイルの境界を越えて延在することを示す。
【００３３】
[040]図７は、本発明の一実施形態に係るＧＰＵ１１０の内部構成要素の図を示す。図７に示すように、ＧＰＵ１１０は、セットアップエンジン７０１及びラスタライザユニット７０２を備えている。本実施形態では、本発明の機能が、ラスタライザユニット７０２のハードウェア及びソフトウェアの内部に実装されている。一般的に、ラスタライザユニット７０２は、セットアップエンジン７０１から受け取られた頂点ベースの記述を、稜線ベースの記述へ変換するように機能する。続いて、ラスタライザユニット７０２は、これらの稜線の記述を、実際のピクセル記述を構成する充填領域（例えば、ピクセル領域、ピクセルの部分サンプル等）へ変換する。続いて、ピクセル記述はＧＰＵ１１０内の他のユニットへ渡され、更なる処理及びレンダリングが行われる。
【００３４】
[041]本実施形態では、ラスタライザユニット７０２が、粗いラスタ構成要素７０３及び微細なラスタ構成要素７０４を有している。粗いラスタ構成要素７０３は、タイルの格子を迅速にサーチして注目するタイル（例えば、プリミティブによってカバーされるタイル）を特定するよう、前述したような第１の小精度タイルのラスタライズ処理を実施する。注目するタイルグループが特定されると、微細なラスタ構成要素７０４が、プリミティブによってカバーされるピクセルを個別に特定する。したがって、このような実施形態では、粗いラスタ構成要素７０３が、タイルを使用してピクセルの格子を迅速にサーチし、微細なラスタ構成要素７０４が、粗いラスタ構成要素７０３によって生成された情報を使用して、プリミティブによってカバーされるピクセルを個々に特定することによって、第２レベル精度の微細粒度ラスタライズを実施する。
【００３５】
[042]更に図７を参照する。ＧＰＵ１１０は更にキャッシュメモリ７２１を有する。キャッシュメモリ７２１は、使用頻度が最も高いグラフィックスレンダリングデータのために高速低待ち時間記憶を実現するように機能する。このようなデータは、典型的には、テクスチャ情報、頂点情報、色等を含む。キャッシュメモリ７２１は、ローカルグラフィックスメモリ１１４へ結合されるように示されている。キャッシュメモリ７２１は一つ以上のキャッシュメンテナンスメカニズムを利用して、ローカルグラフィックスメモリ１１４との一貫性を維持する。矢印７４０は、ＧＰＵ１１０とシステムメモリ（例えば、図１に示したメモリ１１５）との間の通信経路を示している。
【００３６】
[043]一実施形態では、ラスタユニット７０２を構成するハードウェアは、クロックベースで動作するように最適化されている。例えば、高スループットを提供し、それによって高レンダリングフレーム速度を維持するために、粗いラスタ構成要素７０３及び微細なラスタ構成要素７０４は、クロックサイクルベースで第１レベル精度ラスタライズ及び第２レベル精度ラスタライズを実現するように設計されたハードウェアを備える。ラスタライザユニット７０２は、第１レベルのラスタライズが粗いラスタ構成要素７０３で実施されるように実装可能である。この粗大ラスタ構成要素７０３は、単一のクロックサイクルで所与のプリミティブをカバーするタイルを「切り出す」。続いて、第２レベル精度のラスタライズが、微細なラスタ構成要素７０４で実施される。微細なラスタ構成要素７０４は、単一のクロックサイクルでタイルのカバーされたピクセルを切り出す。したがって、例えば、クロック当たり６４個のピクセルを処理できるハードウェアは、６４ピクセルのエリア（例えば、各タイルが１６ピクセルから成る４つのタイル）を使用し、クロック当たり１２８個のピクセルを処理できるハードウェアは、１２８ピクセルのエリア（例えば、各タイルが１６ピクセルから成る８個のタイル、各タイルが３２ピクセルから成る４つのタイル等）を使用する。
【００３７】
[044]以上の本発明の特定の実施形態に関する記述は、例示及び説明を目的として呈示したものである。これらの記述は、本発明の全てを包括することは意図しておらず、開示されたそのままの形態へ本発明を限定することも意図しておらず、上記の教示に照らして、多くの修正及び変形が想定され得る。これら実施形態は、本発明の原理及びその実用的応用を最良に説明し、それによって当業者が、想定される特定の使用に適した様々な修正によって本発明及び様々な実施形態を最良に利用することができるように、選択して説明したものである。本発明の範囲は、本明細書に添付された特許請求の範囲及びその均等物によって定められることが意図されている。
【図面の簡単な説明】
【００３８】
【図１】本発明の一実施形態に係るコンピュータシステムを示す図である。
【図２】本発明の一実施形態に係り、ラスタライズのためにスクリーン上にポリゴン２０１を描いている図である。
【図３】本発明の一実施形態に係り、三角形、及びラスタライズラインに沿って生成されるカバータイルを示す図である。
【図４】本発明の一実施形態に係る例示的タイルの寸法を描いた図である。
【図５】本発明の一実施形態に従ってラスタステージで実現されるタイルベース精度のラスタライズ処理の図を示す。
【図６】本発明の実施形態に係る整数オペランドであって、拡張ビットを含む例示的整数オペランドを示す図である。
【図７】本発明の一実施形態に係るＧＰＵの内部構成要素の図である。
【符号の説明】
【００３９】
１００…コンピュータシステム、１０１…ＣＰＵ、１１０…グラフィックスプロセッサユニット（ＧＰＵ）、１１２…ディスプレイ、１１４…ローカルグラフィックスメモリ、１１５…システムメモリ、２０１…ポリゴン（三角形）、２０２…ラスタライズライン、２５０…スクリーン、４００…例示的なタイル、５００…ラスタステージ、５０１…整数精度レベル、５０２…整数精度レベル、５０３…整数精度レベル、６０１…拡張ビット、７０１…セットアップエンジン、７０２…ラスタライザユニット、７０３…粗いラスタ構成要素、７０４…微細なラスタ構成要素、７２１…キャッシュメモリ。
【図１】
2008097583.tif 000003
【図２】
2008097583.tif 000004
【図３】
2008097583.tif 000005
【図４】
2008097583.tif 000006
【図５】
2008097583.tif 000007
【図６】
2008097583.tif 000008
【図７】
2008097583.tif 000009
【外国語明細書】
2008097583000001.pdf