(57)【特許請求の範囲】
【請求項１】
一連のピクセル、頂点、プリミティブ、表面、又はコンピュータ作業項目に対するテクスチャ命令を受け入れ、テクスチャ出力データを生成するように構成される、ハードウェアベースのシェーダパイプアレイと、
前記シェーダパイプアレイの不完全なシェーダパイプに対して予定されていたシェーダパイプデータを処理するように構成される、ハードウェアベースの冗長シェーダパイプアレイと、
前記テクスチャ出力データを記憶するように構成される、ハードウェアベースのレベル１テクスチャキャッシュシステムと、
前記レベル１テクスチャキャッシュシステムからテクスチャ出力データを検索し、フォーマットされた補間データを生成するように構成される、ハードウェアベースのテクスチャマッピングユニットと、を備え、
前記ハードウェアベースの冗長シェーダパイプアレイは、前記不完全なシェーダパイプに対応する出力ストリームを用いて出力データを再調整するように構成されている、
コンピューティング装置。
【請求項２】
前記シェーダパイプアレイがＡＬＵ、ロード／ストア、及び出力の命令を受け入れるように構成される、請求項１のコンピューティング装置。
【請求項３】
前記シェーダパイプアレイがシェーダパイプブロックを備えている、請求項１のコンピューティング装置。
【請求項４】
前記シェーダパイプブロックが１つ以上のシェーダパイプを含むように構成されている、請求項３のコンピューティング装置。
【請求項５】
前記レベル１キャッシュシステムがレベル２キャッシュシステムに対して読み出し且つ書き込みするように構成されている、請求項１のコンピューティング装置。
【請求項６】
前記テクスチャマッピングユニットが、
テクセルデータを受け入れ正規化された固定点テクセルデータを生成するように構成されるプリフォーマッタモジュールと、
前記プリフォーマッタモジュールからの前記正規化された固定点テクセルデータに対する補間を行い、再正規化浮動小数点テクセルデータを生成するように構成される補間器モジュールと、
前記補間器モジュールからの浮動小数点テクセルデータを積算するように構成される積算器モジュールと、
前記積算器モジュールからのテクセルデータを浮動小数点表現に変換するように構成されるフォーマットモジュールと、を備えている、請求項１のコンピューティング装置。
【請求項７】
前記補間器モジュールが、
双線形テクスチャフィルタリング、
三重線形テクスチャフィルタリング、及び
異方性テクスチャフィルタリングの少なくとも１つを達成するために１つ以上の補間を行うように構成されている、請求項６のコンピューティング装置。
【請求項８】
プロセッサが、一連のピクセル、頂点、プリミティブ、表面、又はコンピュータ作業項目に対する一連のテクスチャ要求を受け取ることと、
プロセッサが、不完全なシェーダパイプに予定されていたシェーダパイプデータを冗長シェーダパイプアレイにおいて処理することと、
プロセッサが、前記一連のピクセル、頂点、プリミティブ、表面、又はコンピュータ作業項目に対するシェーダプログラム命令に基づいて一連のアドレスデータを生成することと、
プロセッサが、レベル１キャッシュシステムに記憶されているテクセルデータを検索することと、
プロセッサが、フォーマットされ積算された補間を前記検索されたテクセルデータ及び起点となるシェーダ命令に基づき算出することと、
プロセッサが、前記不完全なシェーダパイプに対応する出力ストリームを用いて、前記冗長シェーダパイプアレイからの出力データを再調整することと、を備えた、
コンピューティング方法。
【請求項９】
レベル２キャッシュシステムから読み出すことと前記レベル１テクスチャキャッシュシステムから前記レベル２キャッシュシステムへ書き込むこととを更に備えた、請求項８のコンピューティング方法。
【請求項１０】
プロセッサが、
浮動小数点テクセルデータを受け取ることと、
前記浮動小数点テクセルデータから正規化された固定点テクセルデータを生成することと、
前記正規化された固定点テクセルデータに対して補間を行うことと、
再正規化された浮動小数点テクセルデータを生成することと、
再正規化されたテクセルデータを積算することと、
前記積算された再正規化されたテクセルデータを浮動小数点表現にフォーマットすることと、を更に備えた、請求項８のコンピューティング方法。
【請求項１１】
前記補間が、
双線形テクスチャフィルタリング、
三重線形テクスチャフィルタリング、及び
異方性テクスチャフィルタリングを更に備えている、請求項１０のコンピューティング方法。
【請求項１２】
ハードウエア記述言語命令を合成することによって実行される、請求項１０のコンピューティング方法。
【請求項１３】
プロセッサと、前記プロセッサと通信するメモリとを備えたコンピューティングシステムであって、
前記メモリは、
一連のピクセル、頂点、プリミティブ、表面、又はコンピュータ作業項目に対する一連のテクスチャ要求を受け取ることと、
不完全なシェーダパイプに予定されていたシェーダパイプデータを、冗長シェーダパイプアレイにおいて処理することと、
前記一連のピクセル、頂点、プリミティブ、表面、又はコンピュータ作業項目に対するシェーダプログラム命令に基づいて一連のアドレスデータを生成することと、
レベル１キャッシュシステムに記憶されているテクセルデータを検索することと、
フォーマットされ積算された補間を前記検索されたテクセルデータ及び起点となるシェーダ命令に基づき算出することと、
前記不完全なシェーダパイプに対応する出力ストリームを用いて、前記冗長シェーダパイプアレイからの出力データを再調整することと、
を前記コンピューティングシステムに指示するための複数の処理命令を記憶するように構成されている、
コンピューティングシステム。
【請求項１４】
前記レベル１テクスチャキャッシュシステムからレベル２キャッシュシステムへの読み込み及び書き込みを前記コンピュータシステムにさせるための命令を更に備えた、請求項１３のコンピューティングシステム。
【請求項１５】
浮動小数点テクセルデータを受け取ることと、
前記浮動小数点テクセルデータから正規化された固定点テクセルデータを生成することと、
前記正規化された固定点テクセルデータに対して補間を行うことと、
再正規化された浮動小数点テクセルデータを生成することと、
再正規化されたテクセルデータを積算することと、
前記積算された再正規化されたテクセルデータを浮動小数点表現にフォーマットすることと、
を前記コンピューティングシステムにさせるための命令を更に備えた、請求項１３のコンピューティングシステム。
【請求項１６】
双線形テクスチャフィルタでフィルタリングすることと、
三重線形テクスチャフィルタでフィルタリングすることと、
異方性テクスチャフィルタでフィルタリングすることと、
を前記コンピューティングシステムにさせるための命令を更に備えた請求項１３のコンピューティングシステム。
【請求項１７】
１つ以上のプロセッサベースのコンピュータデバイスによって実行されるときにコンピューティング方法を前記１つ以上のコンピュータデバイスに実行させる１つ以上の命令の１つ以上のシーケンスを伝えるコンピュータ可読記憶媒体であって、前記コンピューティング方法は、
一連のピクセル、頂点、プリミティブ、表面、又はコンピュータ作業項目に対する一連のテクスチャ要求を受け取ることと、
不完全なシェーダパイプに予定されていたシェーダパイプデータを、冗長シェーダパイプアレイにおいて処理することと、
前記一連のピクセル、頂点、プリミティブ、表面、又はコンピュータ作業項目に対するシェーダプログラム命令に基いて一連のアドレスデータを生成することと、
レベル１キャッシュシステムに記憶されているテクセルデータを検索することと、
フォーマットされ積算された補間を前記検索されたテクセルデータ及び起点となるシェーダ命令に基づき算出することと、
前記不完全なシェーダパイプに対応する出力ストリームを用いて、前記冗長シェーダパイプアレイからの出力データを再調整することと、
を備えている、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は概してコンピュータシステムによって実行される計算処理に関し、より特定的にはコンピュータシステムによって実行されるグラフィックス処理タスクに関する。
【背景技術】
【０００２】
グラフィックス処理ユニット（ＧＰＵ）は、グラフィックス処理タスクを実行するために特別に構成された複合的な(complex)集積回路である。ＧＰＵは、例えば、ビデオゲームアプリケーション等のエンドユーザアプリケーションによって要求されるグラフィックス処理タスクを実行することができる。このようなアプリケーションに対しては、例えばエンドユーザアプリケーションとＧＰＵの間にいくつものソフトウエアの階層が存在する。
【０００３】
エンドユーザアプリケーションはアプリケーションプログラミングインタフェース（ＡＰＩ）と通信する。ＡＰＩは、ＧＰＵに依存するフォーマットでよりはむしろ標準化されたフォーマットでエンドユーザアプリケーションがグラフィックスデータ及び命令を出力することを可能にする。マイクロソフトコープ(Microsoft Corp.)により開発されたＤｉｒｅｃｔＸ（登録商標）及びシリコングラフィックスインク(Silicon Graphics, Inc.)により開発されたＯｐｅｎＧＬ（登録商標）を含め、何種類ものＡＰＩが商業的に入手可能である。ＡＰＩはドライバと通信する。ドライバはＡＰＩから受け取った標準コードをＧＰＵが理解する固有のフォーマットの命令に変換する。ドライバは典型的にはＧＰＵの製造業者によって書かれる。ＧＰＵはそうしてドライバからの命令を実行する。
【０００４】
ＧＰＵは、描画(rendering)として知られる処理を実行することによって、画像要素のより高い階層記述に基いて、それらが共同して画像を形成することになる個々のピクセルを生成する。ＧＰＵは典型的には、ピクセル、テクスチャ、及び幾何データを処理するパイプラインを用いて連続的描画を実行する。これらのパイプラインはしばしば、固定機能特殊目的パイプラインの集合、例えばラスタライザ(rasterizers)、セットアップエンジン(setup engines)、カラーブレンダ(color blenders)、ヒエラチカルデプス(hieratical depth)、テクスチャマッピング(texture mapping)及びシェーダパイプ又はシェーダパイプラインで達成可能なプログラム可能な段階の集合の意味を持ち、「シェーダ」はコンピュータグラフィックスでの用語であり、主として結果を描画することを実行するためにグラフィックリソースによって用いられる一連のソフトウエア命令を参照する。またＧＰＵは、より高いスループットを得るために並列処理設計にある多重化プログラム可能パイプラインを採用することもできる。シェーダパイプラインの多重化はシェーダパイプアレイと称されることもある。
【０００５】
シェーダパイプアレイがその継続的な描画処理を実行するに従って、パイプライン内の製造上の不完全性（製造欠陥）が知られ得るようになってきており、それによる障害がパイプライン内で発生する可能性がある。何らかの論理修復を伴わないシステム内の小さな欠陥又は障害は致命的であり、デバイスを不良品又は不完全なものにしてしまうことがある。
【０００６】
また、ＧＰＵはテクスチャマッピングをも支持する。テクスチャマッピングは、テクスチャの隣接ピクセル即ちテクセル(texels)の色の使用を通して、テクスチャマッピングされたピクセルに対してテクスチャ色を決定するために用いられる処理である。その処理はテクスチャ平滑化又はテクスチャ補間とも称される。しかし、高画像品質テクスチャマッピングは高度な計算上の複雑性を必要とする。
【０００７】
新しいソフトウエアアプリケーションのかつてない複雑性の高まりとＡＰＩシェーダ言語の進歩に鑑み、高度な描画及び汎用計算、計算上の複雑性に対して高品質な描画、テクスチャマッピング及び汎用メモリアクセスをＧＰＵが提供することに対する要求が更に高まっている。
【０００８】
更に、統合化されたシェーダを備えたＧＰＵは、ピクセル、頂点、プリミティブ(primitive)、表面からの多くの種類のシェーダ処理を同時に支持もするので、汎用計算はより高性能な汎用メモリアクセス能力に対する要求を高めている。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
従って、前述した欠点を軽減するシステム及び／又は方法が求められている。特に、全体のシステム性能に対する影響を最小限に抑えて、不完全な内部部分回路(internal subcircuit)による影響を克服する能力を有し、汎用のロード／ストア動作が可能な多目的テクスチャマッピングシステムを伴うシェーダパイプのための拡大縮小可能で且つ統合化されたシェーダ設計アプローチが要望されている。
【課題を解決するための手段】
【００１０】
この欄は本発明の幾つかの側面を概説することを目的としており、幾つかの望ましい実施形態を簡潔に紹介するためのものである。この欄の目的を曖昧にすることを避けるために単純化又は省略がなされているかもしれない。当該単純化又は省略が本発明の範囲を限定することは意図されていない。
【００１１】
ここに具象化され且つ広く記述される本発明の原理に従い、本発明は行ベースの(row based)拡大縮小可能で且つ統合化されたコンピュータユニットモジュールに関連する方法及び装置を含む。拡大縮小可能で且つ統合化されたコンピュータユニットモジュールはシェーダパイプアレイ及びテクスチャマッピングユニットをレベル１キャッシュシステムと共に含み、不完全なシェーダパイプに予定されていたシェーダパイプデータを処理する能力を有してテクスチャマッピング及び一般的なロード／ストアアクセスを実行する。拡大縮小可能で且つ統合化されたコンピュータシステムは、シーケンサと、レベル２テクスチャキャッシュシステム従って外部メモリシステムへのアクセスを有する拡大縮小可能で且つ統合化されたコンピュータユニットモジュールとを備えている。拡大縮小可能で且つ統合化されたコンピュータシステムは、入力、出力、ＡＬＵ及びテクスチャを含むシェーダプログラム実行命令又はシェーダパイプからのアドレスデータを伴う一般的なメモリロード／ストア要求並びにプログラム定数を受け入れ、特定のピクセル又はスレッド(thread)に対するパイプラインされたアドレス及びフィルタリング動作を制御する状態データに基き返送テクセル又はメモリデータを生成するように構成される。テクスチャフィルタシステムはシェーダプログラム命令及び定数に基き構成され、シェーダパイプライン内に記憶されているアドレスに対してキャッシュシステム内に記憶されているテクセルデータに基きフォーマットされた補間を生成する。
【００１２】
本発明の実施形態では、行ベースシェーダパイプの拡大縮小可能で且つ統合化されたコンピュータシステムは、冗長シェーダパイプシステムを更に備えている。冗長シェーダパイプシステムはシェーダパイプアレイ内の不完全なシェーダパイプに予定されていたシェーダパイプデータを処理するように構成される。
【００１３】
他の実施形態では、行ベースの拡大縮小可能で且つ統合化されたコンピュータシステムはレベル２テクスチャキャッシュシステムを更に備えている。レベル２テクスチャキャッシュシステムは任意のレベル１・行ベーステクスチャキャッシュシステムによって読み出し及び書き込みが可能である。
【００１４】
他の実施形態では、拡大縮小可能で且つ統合化されたコンピュータユニットモジュールにおけるテクスチャマッピングユニット内のテクスチャフィルタは、プリフォーマッタモジュール、補間器モジュール、積算器モジュール、及びフォーマットモジュールを更に備えている。プリフォーマッタモジュールは、テクセルデータを受け取り、それを正規化された固定点フォーマットに変換するように構成される。補間器モジュールは、プリフォーマッタモジュールからの正規化された固定点テクセルデータに対する補間を行い、再正規化浮動小数点テクセルデータを生成するように構成される。積算器モジュールは、補間器モジュールからの浮動小数点テクセルデータを積算して、望ましいレベルの双線形、三重線形、及び異方性フィルタリングを達成するように構成される。フォーマットモジュールは、積算器モジュールからのテクセルデータを標準的な浮動小数点表現に変換するように構成される。
【００１５】
本発明の更なる特徴及び利点の他、本発明の種々の実施形態の構成及び動作は、添付の図面を参照して以下に詳細に記述されている。本発明がここに記述される特定の実施形態に限定されないことを特記しておく。当該実施形態は例示の目的のみのためにここに提示されている。追加的な実施形態はここに含まれる教示に基き関連分野を含めた当業者にとって明らかであろう。
【図面の簡単な説明】
【００１６】
添付の図面は、ここに組み込まれまた出願書類の一部をなし、本発明の実施形態を示しそして、上述の一般的な説明及び以下に示される実施形態の詳細な説明と共に本発明の原理を説明するのに役立つ。
【００１７】
【図１】図１は拡大縮小可能で且つ統合化されたコンピュータシステムの実装を示すシステム図である。
【００１８】
【図２】図２はシェーダパイプアレイの詳細を説明するための拡大縮小可能で且つ統合化されたコンピュータシステムの実装を示すシステム図である。
【００１９】
【図３】図３はテクスチャマッピングユニットの詳細を説明するための拡大縮小可能で且つ統合化されたコンピュータシステムの実装を示すシステム図である。
【００２０】
【図４】図４は拡大縮小可能で且つ統合化されたコンピュータシステムのための方法の実施を示すフローチャートである。
【００２１】
本発明の特徴及び利益は、図面と共に以下に記述される詳細な説明からより明らかになり、図面において同様の参照符号は全体を通して対応する要素を特定する。図面において、同様の参照数字は一般的に同一の、機能的に類似の、及び／又は構造的に類似の要素を示す。ある要素が最初に現れる図面は対応する参照番号の一番左の桁の１つ以上の数字によって示される。
【発明を実施するための形態】
【００２２】
本発明は、本発明の種々の「実施形態」の以下の説明からよりよく理解されるであろう。このように、特定の種々の「実施形態」は本発明の種々の見え方であり、しかしその見え方の各々は本発明全体ではない。１つの視点においては、本発明は拡大縮小可能で且つ統合化されたコンピュータシステムに関連し、シェーダパイプアレイは、入力ピクセル、頂点、及びプリミティブ、表面又はコンピュータ作業項目に対するシェーダプログラム命令を処理し、生成されたテクセルデータ又はメモリロード／ストア動作を用いて各項目に対する出力データを生成する。本発明の実施形態では、多重化レベルのキャッシュシステム内に記憶されているテクセルデータに対して、双線形テクスチャマッピング、三重線形テクスチャマッピング、及び異方性テクスチャマッピングが適用される。他の実施形態では、冗長シェーダシステムがシェーダパイプアレイ内の不完全なシェーダパイプに向けられたシェーダパイプデータを処理するように追加されそして構成されてよく、１つ以上のシェーダパイプ内の不完全な部分回路(subcircuit)を伴うデバイスを回復させることができる。
【００２３】
２以上の拡大縮小可能で且つ統合化されたコンピュータシステムを含む構成を有する本発明の実施形態においては、統合化されたコンピュータシステムの一部分(subset)それ自体が修復可能なユニットとして構成されてよい。そのようなシステムにおいては、不完全な統合化されたコンピュータユニットシステムに予定されていた作業負荷は、代わりに全てのＡＬＵ、テクスチャ、及びメモリ動作を処理するための冗長な統合化されたコンピュータユニットシステムに送られてよい。これにより、テクスチャマッピングユニット及びＬ１キャッシュシステムを含むことに大きく起因する修復の対象となるデバイスの部分が増大し、従って当該デバイスの歩留まりが著しく改善される。
【００２４】
特定の構成、配置、及びステップが論じられるが、このことは例示的な目的のみのためのものであることが理解されるべきである。関連分野を含めた当業者であれば、本発明の精神及び範囲から逸脱することなしに他の構成、配置、及びステップが用いられ得ることを認識するであろう。この発明が種々の他の応用においても採用され得ることは、関連分野を含めた当業者にとって明らかであろう。
【００２５】
尚、「１つの実施形態」、「実施形態」、「例示的実施形態」等に対する明細書での言及は、説明される実施形態が特定の特徴、構造、又は特性を含んでいてよいが、全ての実施形態が必ずしも当該特定の特徴、構造、又は特性を含む必要はないことを示している。また、そのような表現は必ずしも同じ実施形態を参照していない。更に、特定の特徴、構造、又は特性が実施形態に関連して説明されている場合には、明白に説明されていようとなかろうと、他の実施形態に関連して当該特定の特徴、構造、又は特性を具現化することは当業者の知識の範囲内にあることと言える。
【００２６】
本発明は特定の応用のための例示的な実施形態を参照してここに説明されるが、本発明はそれらに限定されないことが理解されるべきである。当業者であれば、ここに提供される教示を利用して、当該範囲内での及び本発明が顕著に有用であろう追加的な分野での追加的な修正、応用、及び実施形態を認識するであろう。
【００２７】
図１は本発明の実施形態に従う拡大縮小可能で且つ統合化されたコンピュータシステム１００を示す図である。システム１００はシーケンサ１１０、拡大縮小可能で且つ統合化されたコンピュータユニットモジュール１２０、及びレベル２キャッシュシステム１３０を備えている。拡大縮小可能で且つ統合化されたコンピュータシステムユニットモジュール１２０はシェーダパイプアレイ１２２、随意的な冗長シェーダパイプアレイ１２４、テクスチャマッピングユニット１２６、及びレベル１キャッシュシステム１２８を備えている。
【００２８】
シェーダパイプアレイ１２２は入力データに対してＡＬＵ動作を実行する。シーケンサ１１０は、含まれている作業付加及びシェーダパイプアレイ１２２を介したデータの流れに対するシェーダプログラム命令発行を制御する。また、冗長シェーダパイプアレイ１２４が存在する実施形態においては、シーケンサ１１０は、適切な冗長ユニットに対して命令をスケジューリングすることによって、シェーダパイプアレイ１２２内で生じる不完全なシェーダパイプに対処する。
【００２９】
シーケンサ１１０は、テクスチャのフェッチ又はロード／ストア動作を宣言（発行）することができ、これによりシェーダパイプアレイ１２２が起動されて、発行された命令と共にアドレスがテクスチャマッピングユニット１２６へ送られることになる。この場合テクスチャマッピングユニット１２６は、適切なアドレスを、そのアドレスに付随するテクセルデータ又はメモリデータを収容しているレベル１テクスチャキャッシュシステム１２８に対して生成する。レベル１キャッシュシステム１２８は、アドレスを受け取った後、当該テクセル又はメモリデータをテクスチャマッピングユニット１２６へ返すことになる。要求されているテクセル又はメモリデータがレベル１キャッシュシステム１２８内に存在しない場合には、その要求はレベル２キャッシュシステム１３０へ転送され、レベル２キャッシュシステム１３０がその要求されたテクセルデータを取得及び返送する。
【００３０】
図２は本発明の実施形態に従うシェーダパイプアレイ１２２の更に詳細な図解を含む拡大縮小可能で且つ統合化されたコンピュータユニットモジュール１２０を示す図である。この実施形態では、シェーダパイプアレイ１２２は、ＳＰ＿０乃至ＳＰ＿Ｍで表される１つ以上のシェーダパイプブロックを備えており、ここで「Ｍ」は１より大きい正の整数である。
【００３１】
冗長シェーダパイプアレイ１２４が存在する実施形態においては、例としてシェーダパイプブロックＳＰ＿１内に配置されるシェーダパイプが不完全であることをシーケンサ１１０が確認すると、不完全なパイプに対して予定されていたシェーダパイプデータは、入力モジュールによる入力ストリームを介して冗長シェーダパイプアレイ１２４へ送られてよく、そして冗長シェーダパイプアレイ１２４によって処理されてよい。全てのテクスチャマッピング要求は、シーケンサ１１０から水平制御パス２１１を介して命令されたときに冗長シェーダパイプアレイ１２４によって傍受されてよい。不完全なシェーダパイプに当初予定されていたシェーダパイプデータを冗長シェーダパイプアレイ１２４が処理した時点で、処理された冗長シェーダパイプアレイ１２４データは、冗長シェーダパイプアレイ１２４からシェーダパイプアレイ１２２の出力ストリームへ戻されてよく、そして出力ユニット（図示せず）内で再調整(realigned)されてよい。
【００３２】
ある実施形態では冗長シェーダパイプアレイ１２４は単一のブロックから構成され、従って単一の不完全なシェーダパイプに予定されていたシェーダパイプデータを一度に処理することができるだけである。他の実施形態では冗長シェーダパイプアレイ１２４は多重化された複数の冗長シェーダブロックを備えており、冗長シェーダパイプアレイ１２４は２つ以上の不完全なシェーダパイプに予定されていたシェーダパイプデータを同時に処理することができる。
【００３３】
図３は本発明の実施形態に従うテクスチャマッピングユニット１２６の更に詳細な図解を示している。この実施形態では、シェーダパイプアレイ１２２は、アドレス生成器システム３１８、プリフォーマッタモジュール３１０、補間器モジュール３１２、積算器モジュール３１４、及びフォーマットモジュール３１６を備えたテクスチャマッピングユニット１２６に対してテクスチャ又はメモリロード／ストア要求を生成する。テクスチャマッピングユニット１２６はシェーダアレイ１２２及び１２４並びにシーケンサ１１０からの要求をそれぞれ受け取り、アドレス生成器システム３１８内で命令を処理してサービスのための実際のアドレスを決定する。データがプリフォーマッタモジュール３１０、補間器モジュール３１２、積算器モジュール３１４、及びフォーマットモジュール３１６内で処理された後、結果としてのテクセルデータがレベル１テクスチャキャッシュシステム１２８から受け取られる。結果としてのテクセルデータはシェーダパイプアレイ１２２及び／又は冗長シェーダパイプアレイ１２４内の要求中のリソースへ送り返される。プリフォーマッタモジュール３１０は、テクセルデータを受け取りそしてブロック正規化を実行し、正規化された固定点テクセルデータを生成するように構成される。補間器モジュール３１２は、正規化された固定点テクセルデータをプリフォーマッタモジュール３１０から受け取り、積算器モジュール３１４内に蓄積しながら１つ以上の補間を行い、双線形(bilinear)、三重線形(trilinear)、及び異方性テクスチャマッピングの望ましいレベルを達成する。フォーマットモジュール３１６は、積算器モジュール３１４内に蓄積されたテクセルデータを、要求しているリソース、シェーダパイプアレイ１２２のための標準的な浮動小数点表現に変換する。一般的なロード／ストアデータに対しては、プリフォーマッタモジュール３１０、補間器モジュール３１２、積算器モジュール３１４、及びフォーマットモジュール３１６は、要求されたリターンデータを修正せずに通過させる。
【００３４】
図３に示される実施形態はまた、レベル２キャッシュシステム１３０の使用を説明している。レベル２キャッシュシステムは、レベル１キャッシュシステム１２８に対してデータを読み出し及び／又は書き込みすることが必要であり又は望ましい場合に、拡大縮小可能で且つ統合化されたコンピュータユニットモジュール１２０が利用可能な追加的なメモリである。
【００３５】
図４は拡大縮小可能で且つ統合化されたコンピュータシステムを用いるテクスチャマッピングのための方法４００を示すフローチャートである。方法４００はステップ４０２で始まる。ステップ４０４では、特定の一連のピクセル、頂点、プリミティブ(primitives)、表面、又はコンピュータ作業項目に対するシーケンサからの一連のテクスチャ要求をシェーダパイプが受け取る。ステップ４０６では、それら特定の一連のピクセル、頂点、プリミティブ、表面、又はコンピュータ作業項目に対するシェーダプログラム命令に基きシェーダパイプが一連のアドレスデータを生成する。ステップ４０８では、テクスチャマッピングユニットがレベル１及び／又はレベル２テクスチャキャッシュシステムに記憶されているテクセルデータを検索する。またステップ４１０では、テクスチャマッピングユニットが、検索されたテクセルデータ及び起点となるシェーダ命令に基づいて、フォーマットされ積算された補間を算出する。方法４００はステップ４１２で終了する。
【００３６】
図１、２、３及び４で概説した機能、処理、システム及び方法は、ソフトウエア、ファームウエア若しくはハードウエア又はこれらの組み合わせを用いて実施又は実装され得る。プログラム可能な論理が使用される場合には、当該論理は商業的に入手可能な処理プラットフォーム又は特殊目的デバイス上で実行可能である。
【００３７】
関連分野を含めた当業者に明らかであろうように、ここでの説明に基いて、本発明の実施形態はハードウエア記述言語（ＨＤＬ）、例えばＶｅｒｉｌｏｇ又はＶＨＤＬを用いたソフトウエアにおいて設計することができる。ＨＤＬ設計は電子システムの挙動をモデル化することができ、そこでは当該設計は合成されてよく、そして最終的にはハードウエアデバイスへと製造されてよい。また、ＨＤＬ設計はコンピュータ製品内に記憶されてよく、ハードウエア製造に先立ちコンピュータシステム内に取り込まれてよい。
【００３８】
概要及び要約部ではなく、詳細な説明部が特許請求の範囲を解釈するために用いられるよう意図されていることが理解されるべきである。概要及び要約部は、発明者によって意図される本発明の１つ以上のしかし全部のではない例示的実施形態を示すことができ、従って本発明及び添付の特許請求の範囲を限定することを意図されるものでは決してない。
【００３９】
特定の機能の実装及びそれらの関係を示す機能構成ブロックを用いて本発明が以上のように説明されてきた。それらの機能構成ブロックの境界は説明の便宜のためここでは任意に画定されてきた。特定の機能及びそれらの関係が適切に実行される限りにおいて代替的な境界が画定されてよい。
【００４０】
特定の実施形態の前述した説明は、他者が、当該分野の技能の範囲内の知識を適用することによって、必要以上の実験を要せず、本発明の一般的概念から逸脱することなしに、当該特定の実施形態を容易に修正し及び／又は種々の応用に適合させることができる程度に、本発明の一般的性質を完全に明らかにするであろう。従って、そのような適合及び修正は、ここに提示される教示及び指針に基き、開示された実施形態と均等なものの意味及び範囲内にあることが意図されている。ここでの表現法及び用語は説明を目的としたものであり限定を目的としてないことが理解されるべきであり、本明細書の表現法及び用語は教示及び指針を考慮して当業者によって解釈されるべきである。
【００４１】
本発明の種々の実施形態が上に説明されてきたが、それらは例示のみを目的として提示されたものであり、限定を目的とはしていないことが理解されるべきである。本発明の精神及び範囲から逸脱することなしに、形態及び詳細における種々の変更がここになされ得ることが関連分野を含めた当業者には明らかであろう。従って、本発明の広さ及び範囲は上述したいかなる例示的実施形態によっても限定されるべきではなく、以下の請求項及びそれらと均等なものに従ってのみ画定されるべきである。
【図１】
0005491498.tif 000002
【図２】
0005491498.tif 000003
【図３】
0005491498.tif 000004
【図４】
0005491498.tif 000005