JP2002132489A - グラフィクスシステム - Google Patents
グラフィクスシステムInfo
- Publication number
- JP2002132489A JP2002132489A JP2001195710A JP2001195710A JP2002132489A JP 2002132489 A JP2002132489 A JP 2002132489A JP 2001195710 A JP2001195710 A JP 2001195710A JP 2001195710 A JP2001195710 A JP 2001195710A JP 2002132489 A JP2002132489 A JP 2002132489A
- Authority
- JP
- Japan
- Prior art keywords
- buffer
- graphics
- consumer
- generator
- command
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Image Generation (AREA)
- Controls And Circuits For Display Device (AREA)
- Digital Computer Display Output (AREA)
Abstract
マンド消費器との間でグラフィクスコマンドを効率的に
バッファリングする技術を提供する。 【解決手段】グラフィクスシステムは3Dグラフィクス
パイプラインおよびオーディオDSPを含むグラフィク
ス/オーディオプロセサを備える。主メモリ112の一
部を割り付けることによって、可変数、可変サイズのグ
ラフィクスコマンドバッファ812を設ける。グラフィ
クスFIFOへの全ての書き込みが主メモリ112中の
バッファに送られる。発生器および消費器は独立して自
身のリードおよびライトポインタ802,808を維持
する。消費器はバッファ内のデータの有効位置をトラッ
キングするためにライトポインタ808を使用する。発
生器は、バッファへ、消費器がメモリのどこかへストア
されている一連のグラフィクスコマンドを読み出しかつ
その後バッファの残りを読み出すようにリードコマンド
を書き込む。
Description
クスに関し、より特定的には、家庭用ビデオゲームプラ
ットフォームのようなインタラクティブなグラフィクス
システムに関する。さらに特定的には、この発明は、グ
ラフィクスコマンド発生器とグラフィクスコマンド消費
器との間での効率的なグラフィクスコマンドのバッファ
リングに関する。
アルな恐竜,エイリアン,生き生きとしたおもちゃおよ
び他の空想的な動物を含む映画をかつて見たことがあ
る。そのようなアニメーションはコンピュータグラフィ
クスによって可能とされた。そのような技術を用いて、
コンピュータグラフィクスのアーティストは、各オブジ
ェクトがどのように見えるべきかや時間の経過とともに
外見上どのように変化すべきかを特定し、コンピュータ
は、そのオブジェクトをモデル化してテレビジョンやコ
ンピュータスクリーンのようなディスプレイに表示す
る。コンピュータは、表示される映像の各部分を、場面
中の各オブジェクトの位置や向き,各オブジェクトを照
らすように見える照明の方向,各オブジェクトの表面テ
クスチャ,および他の要素に正確に基づいて、色付けし
また形作るために必要な多くのタスクを実行する。
あるので、ここ数年前のコンピュータによって生成され
た3次元(3D)グラフィクスは、ほとんど高価な特殊
なフライトシミュレータ,ハイエンドグラフィクスワー
クステーションおよびスーパーコンピュータに限られて
いた。大衆は映画や高価なテレビコマーシャルにおいて
これらのコンピュータシステムによって生成された映像
のいくつかを見たが、大部分の人はグラフィクスを生成
しているコンピュータに対して実際に相互作用をさせる
ことはできない。たとえば、Nintendo64(登録商標)や
今や利用可能であるパソコン用の種々の3Dグラフィク
スカードのような比較的安価な3Dグラフィクスプラッ
トフォームの利用によって、このすべてが変わった。今
や、家庭や会社の比較的安価なコンピュータグラフィク
スシステム上でエキサイティングな3Dアニメーション
やシミュレーションに対して相互作用を及ぼすことがで
きる。
面した問題は、グラフィクスコマンド発生器とグラフィ
クスコマンド消費器との間でグラフィクスコマンドを如
何に効率的にバッファリングするかということであっ
た。この問題に対する種々のソリューションが提案され
ている。たとえば、グラフィクスコマンド発生器とグラ
フィクスコマンド消費器との間にバッファメモリを設け
ることがよく知られている。しばしば、このバッファメ
モリは、グラフィクスコマンド消費器の一部として(た
とえば、グラフィクスチップのオンボードとして)接続
される。グラフィクスコマンド発生器はグラフィクスコ
マンドをバッファメモリ中へ書き込み、そしてグラフィ
クスコマンド消費器はバッファメモリからこれらのグラ
フィクスコマンドを読み出す。そのようなバッファメモ
リのためには、典型的には、先入れ先出し(FIFO)
バッファとして構成され、そのために、グラフィクスコ
マンド消費器は、グラフィクスコマンド発生器によって
バッファ中へ書き込まれたと同じシーケンスでグラフィ
クスコマンドを読み出す。
ァを配置することは、発生器と消費器とが同期しなけれ
ばならないという程度を緩和する。発生器は、消費器が
バッファからコマンドを読み出すレートとは独立したレ
ートでバッファ中へコマンドを書き込むことができる。
たとえ消費器がバッファからの読出において一時的な遅
れを受けたとしても(たとえば、発生器が消費器に大き
なもしくは複雑なプリミティブを引き出させようとする
ときに生じるかもしれない)、発生器は、発生器がバッ
ファを満杯にしない限り、そして新たなコマンドを書き
込むためのメモリスペースがなくなるまで停止すること
はない。同じように、新たなグラフィクスコマンドをバ
ッファ中へ書き込む際の発生器の一時的な遅れは、発生
器が追加のグラフィクスコマンドを書き込む機会を有す
る前にバッファ中のすべてのグラフィクスコマンドを消
費器が消費しない限り、消費器を停止させることはな
い。
のサイズに関する。チップサイズや複雑さにおける制限
のために、グラフィクスチップ上に非常に大きなコマン
ドバッファメモリを配置することはできない。グラフィ
クスハードウェア中の小さいサイズのFIFOバッファ
は、発生器と消費器との間の負荷バランスを適切にとれ
ず、消費器が大きなプリミティブをレンダリングすると
きに発生器を停止させる。このように、過去に有意な仕
事がなされたが、さらなる改良が可能である。
とグラフィクスコマンド消費器との間でグラフィクスコ
マンドをより効率的にバッファリングする技術および構
成を提供することによって、この問題を解決する。この
発明の局面によれば、発生器と消費器との間で共用され
る主メモリの一部が可変数のサイズ可変グラフィクスコ
マンドバッファへ割り付けられる。発生器はバッファの
数や各々のサイズを特定することができる。グラフィク
ス消費器への書込は主メモリ中のバッファの任意のもの
へ送られ得る。バッファは消費器および発生器へ同時に
付属させられ(attached) 得て、もしくは異なるバッフ
ァが消費器および発生器へ付属させられてもよい。異な
るバッファが消費器および発生器へ付属させられるこの
マルチバッファの方法においては、発生器は1つのバッ
ファへ書き込むことができ、他方消費器は他のバッファ
から読み出すことができる。
に、発生器および消費器は、この発明の他の局面に従っ
て、それら自身のリードおよびライトポインタを独立的
に維持する。消費器はバッファへ書き込むことはできな
いけれども、バッファ中の有効データの位置のトラッキ
ングを保持するために使用するライトポインタを維持す
る。同じように、発生器はそれへ付属されていないバッ
ファから読み出すことはできないが、バッファ中のデー
タの有効位置のトラッキングを保持するために使用する
リードポインタを維持する。このポインタ構成の効果
は、発生器を消費器からさらに切り離すことであり、そ
れらの2つの間の同期化要求を減じる。
れば、発生器は、FIFOバッファへ「表示リストコー
ル」コマンドを書き込むことができ、このコマンドはメ
モリ中のどこかにストアされている一連のグラフィクス
コマンド(たとえば、表示リスト)を消費器に読み出さ
せ、そして続いて、バッファの残りの読出へリターンさ
せる。FIFOバッファから異種の(out-of-line) グラ
フィクスコマンドストリングをコールするこの能力は、
付加的な柔軟性を与え、そして同期化要求をさらに減じ
る。
スコマンド発生器は後続するコマンドを自動的に表示リ
ストバッファへ向け直すコマンドを含むグラフィクスコ
マンドストリームを書き込むことができる。これを見え
るようにする1つの方法は、グラフィクスコマンドのス
トリームを継続的に発生する向け直し可能な消火ホース
(fire hose) としてグラフィクスコマンド発生器を想像
することである。この消火ホースは通常グラフィクスコ
マンドをFIFOバッファへ流し込む。しかしながら、
発生器は、このストリーム中に、「表示リスト開始」コ
マンドを含むことができ、このコマンドはそのコマンド
に続くグラフィクスコマンドをそれに代えて表示リスト
へ書き込むようにする。ストリーム上にさらに挿入され
た「表示リスト終了」コマンドは、表示リストを終了さ
せ、グラフィクスコマンドストリームを同じ(もしくは
異なる)FIFOバッファへ戻すように向け直すことが
できる。この特徴は、グラフィクスコマンド発生器によ
って非常に低いオーバヘッドで再使用可能な表示リスト
を効率的に生成することができるという利点を有する。
れば、グラフィクスコマンド発生器は、多数のFIFO
バッファの任意のものへ中断点(break point) を挿入す
ることができる。この中断点は消費器を中断させること
ができる。そのような中断点は、緊密な同期が必要なと
きに発生器と消費器とを同期化するのに役立つ。
面によれば、グラフィクスシステムは、グラフィクスコ
マンドを出力する発生器、発生器によって出力されたグ
ラフィクスコマンドを消費する消費器、および発生器お
よび消費器の間に結合される記憶装置を含む。記憶装置
はその記憶装置中の可変位置に配置される複数のサイズ
可変バッファをストアする。サイズ可変バッファの各々
は、発生器によって出力されたグラフィクスコマンドを
消費器へ分配するためにそれを受けかつ一時的にストア
する。
れば、消費器は複数のバッファの少なくともアクティブ
な1つへ書き込むことはできないが、発生器とは独立し
て複数のバッファのそのアクティブな少なくともの1つ
のためのライトポインタを維持する。発生器は複数のバ
ッファの第1バッファに関連する発生器リードポインタ
および発生器ライトポインタを与え、消費器は、その同
じバッファに関連する消費器リードポインタおよび消費
器ライトポインタを独立して維持する。消費器は、アク
ティブなバッファから消費器が読み出すことに応じて消
費器リードポインタをインクリメントし、インクリメン
トした消費器リードポインタが消費器ライトポインタに
対して所定の関係を有するときそのアクティブなバッフ
ァからの読出を中断する(suspend) 。消費器は発生器が
アクティブなバッファへ書き込むことに応答して消費器
ライトポインタを選択的にインクリメントする。
は、発生器が記憶装置中のどこかへストアしたグラフィ
クスコマンドのセットを消費器が消費し、どこかにスト
アされたグラフィクスコマンドを消費した後にバッファ
からのグラフィクスコマンドの消費を再開するように消
費器を制御するリードコマンドを含む。このリードコマ
ンドは、表示リストの開始アドレスおよび長さを特定す
る。リードコマンドは、その特定した開始アドレスで開
始する特定した長さの表示リストを読み出すように消費
器を制御する。
ファの任意のものは循環的なもしくは直線的な先入れ先
出し(FIFO)アクセスを提供する。
ファの任意のものは発生器および消費器の両方へ同時に
選択的に付属され、もしくはバッファの1つは発生器に
付属され他のバッファが消費器に付属される。
面によれば、発生器は複数のバッファの各々のサイズを
割り付ける。そのような割付は、グラフィクスコマンド
の少なくとも1フレームを各バッファがストアすること
ができるようになされる。
数のバッファのいずれかへ中断点を書き込むことができ
る。消費器はこの中断点に遭遇したことに応じてグラフ
ィクスコマンドの消費を中断することができる。
ッファは発生器がバッファの位置を上書きしたことを示
すオーバフローステータス表示器(indicator)を提供す
る。
ータスレジスタもしくは他の表示器が複数のバッファの
少なくとも1つのステータスを表示することができる。
ステータスレジスタは、たとえば、 ・発生器ライトポインタの位置、 ・発生器リードポインタの位置、 ・消費器ライトポインタの位置、および ・消費器リードポインタの位置 を表示することができる。
フィクスシステムは ・グラフィクスコマンドを受けかつ一時的にストアする
記憶バッファ、 ・バッファ中へグラフィクスコマンドを書き込み、その
バッファに関連して発生器ライトポインタおよび発生器
リードポインタを維持する発生器、および ・バッファ中にストアされたグラフィクスコマンドを消
費し、発生器ライトポインタとは独立している消費器ラ
イトポインタおよび発生器リードポインタとは独立して
いる消費器リードポインタを維持する消費器 を含む。
フィクスシステムは発生器ライトポインタに基づいてバ
ッファ中へグラフィクスコマンドを書き込むグラフィク
スコマンド発生器、および消費器リードポインタに基づ
いてバッファからグラフィクスコマンドを読み出すグラ
フィクスコマンド消費器を含む。発明のこの局面によれ
ば、消費器ライトポインタは消費器によって独立して維
持され、発生器がバッファ中へ書き込んだ有効データの
範囲を表示する。消費器は、消費器リードポインタが消
費器ライトポインタに対して所定の関係を有することに
応じてバッファからグラフィクスコマンドを消費するの
を中止する。
面によれば、インタラクティブなグラフィクスシステム
は、アプリケーションを実行するプロセサモジュール、
グラフィクスプロセサモジュール、およびプロセサモジ
ュールならびにグラフィクスプロセサモジュールに結合
される少なくとも1つのメモリを含む。プロセサモジュ
ールとグラフィクスプロセサモジュールとの間のグラフ
ィクスコマンドのフローを制御する方法は ・FIFOバッファの各々のサイズを特定するアプリケ
ーションの制御の下で、メモリ中に可変数のFIFOバ
ッファを動的に確立するステップ、 ・複数のFIFOバッファ中の少なくとも第1バッファ
へグラフィクスコマンドを書き込むようにアプリケーシ
ョンがプロセサモジュールを制御するステップ、および ・第1FIFOバッファからグラフィクスコマンドを読
み出すようにグラフィクスプロセサモジュールを制御す
るグラフィクスコマンドをアプリケーションがグラフィ
クスプロセサモジュールに送るステップ を含む。
1バッファに関連してプロセサモジュールリードポイン
タおよびプロセサモジュールライトポインタを与える。
グラフィクスプロセサモジュールは、第1バッファに関
連してグラフィクスプロセサモジュールリードポインタ
およびグラフィクスプロセサモジュールライトポインタ
を独立して維持する。グラフィクスプロセサモジュール
は、グラフィクスプロセサモジュールが第1バッファか
ら読み出すたび毎にグラフィクスプロセサモジュールリ
ードポインタをインクリメントし、そのグラフィクスプ
ロセサモジュールリードポインタがグラフィクスプロセ
サモジュールライトポインタと所定の関係を有するとき
その第1バッファからの読出を中断する。グラフィクス
プロセサモジュールはプロセサモジュールが第1バッフ
ァへ書き込むことに応答してグラフィクスプロセサモジ
ュールライトポインタを選択的に自動的にインクリメン
トする。
フィクスデータのフローを制御する方法は ・各々が複数の記憶位置を有する複数のサイズ可変FI
FOバッファ中へグラフィクスデータを書き込むステッ
プ、 ・複数の記憶位置の少なくとも1つに関連して中断点を
設定するステップ、 ・複数のバッファから所定の順序でグラフィクスデータ
を読み出すステップ、 ・中断点に関連する少なくとも1つの記憶位置に遭遇し
たことに応答して読出ステップを一時的に中断し、割込
を発生するステップ、および ・割込クリアコマンドの受信に応答して読出ステップを
再開するステップ を含む。
の局面によれば、グラフィクスシステムは ・グラフィクスコマンドを受けかつ一時的にストアする
記憶装置、 ・記憶装置中のどこかへストアされているグラフィクス
コマンドの第1セットおよびグラフィクスコマンドの第
2セットを参照するリードコマンドを含むコマンドを記
憶装置中のバッファへ書き込む発生器、および ・バッファ中へストアされたグラフィクスコマンドの第
1セットを消費し、リードコマンドへの遭遇に応答し
て、グラフィクスコマンドの第2セットを消費し、そし
てバッファからの付加的なコマンドを引き続いて消費す
る消費器 を含む。
徴および利点は、図面を参照して行う以下の実施例の詳
細な説明から一層明らかとなろう。
ピュータグラフィクスシステム50の一例を示す。シス
テム50は対話型3Dビデオゲームをステレオ音声とと
もにプレイするのに用いられ得る。これはまた多様な他
のアプリケーションにも用いられ得る。
元世界のディジタル表現ないしモデルをインタラクティ
ブにかつリアルタイムに処理することができる。システ
ム50は、任意の視点から、その世界の一部または全部
を表示することができる。たとえば、システム50は、
手持ちコントローラ52aおよび52bまたは他の入力
デバイスからのリアルタイム入力に応答して、視点をイ
ンタラクティブに変化できる。このことによって、ゲー
ムプレーヤは、その世界内もしくは外の誰かの目を通し
てその世界を見ることができる。システム50は、リア
ルタイム3Dインタラクティブ表示を必要としないアプ
リケーション(たとえば2D表示の発生やおよび/また
はノンインタラクティブ表示)に使用できるが、高品質
の3D映像を非常に速く表示する能力は、非常にリアル
でエキサイティングなゲームプレイや他のグラフィクス
インタラクションを創造するのに使用され得る。
他のアプリケーションをプレイするために、ユーザはま
ず、主ユニット54を、カラーテレビ56または他の表
示装置に、両者の間にケーブル58を接続することによ
って、接続する。主ユニット54はカラーテレビ56を
制御するためのビデオ信号およびオーディオ信号を発生
する。ビデオ信号はテレビジョン画面59上に表示され
ている映像を制御するものであり、オーディオ信号はテ
レビのステレオスピーカ61Lおよび61Rを通して音
声として再生される。
ぐ必要がある。この電源は従来のACアダプタ(図示せ
ず)であってよく、そのACアダプタは家庭用の標準的
な壁ソケットに差し込まれ、家庭用電源を、主ユニット
54を駆動するのに適した低いDC電圧信号に変換す
る。他の実施例ではバッテリが用いられてもよい。
手持ちコントローラ52aおよび52bを用いる。コン
トロール60は、たとえば、3D世界内においてテレビ
56に表示されているキャラクタが移動すべき方向(上
または下、左または右、近づいてまたは遠ざかって)を
指示するために使用され得る。コントロール60は、ま
た他のアプリケーションのための入力(たとえばメニュ
ー選択,ポインタ/カーソル制御,その他)を与える。
コントローラ52は多様な形態をとり得る。この実施例
においては、図示されるコントローラ52は、各々ジョ
イスティック,押しボタンおよび/または方向スイッチ
のようなコントロール60を含む。コントローラ52
は、ケーブルによって、もしくは電磁波(たとえば電波
または赤外線)を介してワイヤレスで、主ユニット54
に接続され得る。
するために、ユーザはビデオゲームもしくはプレイした
いと思う他のアプリケーションをストアしている適宜の
記憶媒体62を選択し、その記憶媒体を主ユニット54
のスロット64に差し込む。記憶媒体62は、たとえ
ば、特別にエンコードされおよび/または記号化された
光学的ならびに/もしくは磁気的ディスクであってよ
い。ユーザは主ユニット54をオンするために電源スイ
ッチ66を操作し、主ユニットがその記憶媒体62にス
トアされているソフトウェアに基づいてビデオゲームも
しくは他のアプリケーションを実行し始めるようにす
る。ユーザは主ユニットに入力を与えるためにコントロ
ーラ52を操作する。たとえば、コントロール60を操
作することによってゲームもしくは他のアプリケーショ
ンをスタートさせる。他のコントロール60を動かすこ
とによって、動画キャラクタを異なる方向に移動させ、
または3D世界におけるユーザの視点を変化させる。記
憶媒体62にストアされている具体的なソフトウェアに
よって、コントローラ52上の種々のコントロール60
は異なる時間で異なる機能を達成することができる。 全体システムの例 図2はシステム50の例示的なコンポーネントのブロッ
ク図であり、重要なコンポーネントは、 ・主プロセサ(CPU)110, ・主メモリ112,および ・グラフィクス/オーディオプロセサ114 を含む。
(たとえばIBMパワーPC750の改良版)は、手持
ちコントローラ52(および/または他の入力デバイ
ス)からの入力をグラフィクス/オーディオプロセサ1
14を通して受ける。主プロセサ110はユーザ入力に
インタラクティブに応答し、光ディスクドライブのよう
な大容量記憶媒体アクセス装置106を介して、たとえ
ば外部記憶媒体62から供給されるビデオゲームもしく
は他のプログラムを実行する。一例として、ビデオゲー
ムプレイの状況では、主プロセサ110は、多様なイン
タラクティブ制御機能に加えて、衝突検出および動画処
理を実行する。
グラフィクス/オーディオコマンドを発生し、それらを
グラフィクス/オーディオプロセサ114に送る。グラ
フィクス/オーディオプロセサ114はこれらのコマン
ドを処理し、ディスプレイ59上での可視映像を生成
し、ステレオスピーカ61Rおよび61Lもしくは他の
適宜の音声発生デバイス上でのステレオ音声を生成す
る。
120を含み、このビデオエンコーダは、グラフィクス
/オーディオプロセサ114からの映像信号を受けて、
その映像信号をコンピュータモニタや家庭用テレビ56
のような標準的な表示装置上での表示に適したアナログ
および/またはディジタルビデオ信号に変換する。シス
テム100はまたオーディオコーデック(圧縮器/伸長
器)122を含み、このオーディオコーデックはディジ
タル化されたオーディオ信号を圧縮しかつ伸長するとと
もに、必要に応じてディジタルオーディオ信号のフォー
マットとアナログオーディオ信号のフォーマットとの間
で変換を行う。オーディオコーデック122はバッファ
124を介してオーディオ入力を受けることができ、処
理(たとえば、プロセサが生成したおよび/または大容
量記憶媒体アクセス装置106のストリームオーディオ
出力を介して受信した他のオーディオ信号とのミキシン
グ)するために、そのオーディオ入力をグラフィクス/
オーディオプロセサ114に与える。この実施例におけ
るグラフィクス/オーディオプロセサ114は、オーデ
ィオタスクに利用可能なオーディオメモリ126にオー
ディオ関連情報をストアすることができる。グラフィク
ス/オーディオプロセサ114は、結果的に得られるオ
ーディオ出力信号を、圧縮およびアナログ信号への変換
のために、オーディオコーデック122に与え、したが
ってそのオーディオ出力信号が(たとえばバッファアン
プ128Lおよび128Rを介して)スピーカ61Lお
よび61Rによって再生され得る。
はシステム100内に存在するであろう種々の付加的な
デバイスと通信する能力を有する。たとえば、パラレル
ディジタルバス130は大容量記憶媒体アクセス装置1
06および/または他のコンポーネントと通信するため
に用いられる。シリアル周辺バス132は多様な周辺機
器または、たとえば、 ・PROMおよび/またはRTC(リアルタイムクロッ
ク)134, ・モデム136もしくは他のネットワークインタフェー
ス(それはシステム100を、プログラム命令および/
またはデータがダウンロードもしくはアップロードされ
得るインターネットあるいは他のディジタルネットワー
クのようなテレコミュニケーションネットワーク138
に接続する),および ・フラッシュメモリ140 を含む他のデバイスと通信する。別の外部シリアルバス
142は、付加的な拡張メモリ144(たとえばメモリ
カード)もしくは他のデバイスと通信するために使用さ
れ得る。コネクタが種々のデバイスをバス130,13
2および142に接続するために使用され得る。 グラフィクス/オーディオプロセサの例 図3は実施例のグラフィクス/オーディオプロセサ11
4を示すブロック図である。或る実施例においては、グ
ラフィクス/オーディオプロセサ114はシングルチッ
プASICであってよい。この実施例においては、グラ
フィクス/オーディオプロセサ114は、 ・プロセサインタフェース150, ・メモリインタフェース/コントローラ152, ・3Dグラフィクスプロセサ154, ・オーディオディジタル信号プロセサ(DSP)15
6, ・オーディオメモリインタフェース158, ・オーディオインタフェース/ミキサ160, ・周辺コントローラ162,および ・表示コントローラ164 を含む。
ィクス処理タスクを実行する。オーディオディジタル信
号プロセサ156はオーディオ処理タスクを実行する。
表示コントローラ164は主メモリ112からの映像情
報にアクセスし、表示装置102上での表示のためにそ
の映像情報をビデオエンコーダ120に与える。オーデ
ィオインタフェース/ミキサ160はオーディオコーデ
ック122をインタフェースし、また異なるソースから
のオーディオ(たとえば、大容量記憶媒体アクセス装置
106からのオーディオストリーム,オーディオDSP
156の出力,およびオーディオコーデック122を通
して受ける外部オーディオ入力)をミックスすることが
できる。プロセサインタフェース150は主プロセサ1
10およびグラフィクス/オーディオプロセサ114の
間のデータおよび制御インタフェースを提供する。
ス/オーディオプロセサ114とメモリ112との間の
データおよび制御インタフェースを提供する。この実施
例においては、主プロセサ110は、プロセサインタフ
ェース150およびグラフィクス/オーディオプロセサ
114の一部であるメモリインタフェース152を介し
て、主メモリ112にアクセスする。周辺コントローラ
162はグラフィクス/オーディオプロセサ114と上
で述べた種々の周辺機器との間のデータおよび制御イン
タフェースを提供する。オーディオメモリインタフェー
ス158はオーディオメモリ126とのインタフェース
を提供する。 グラフィクスパイプラインの例 図4は図3の3Dグラフィクスプロセサ154をより詳
細に示すグラフィクス処理システムを示す。この3Dグ
ラフィクスプロセサ154は、とりわけ、コマンドプロ
セサ200および3Dグラフィクスパイプライン180
を含む。主プロセサ110はデータストリーム(たとえ
ばグラフィクスコマンドストリームおよび表示リスト)
をコマンドプロセサ200に通信する。主プロセサ11
0はメモリレイテンシを最小化するために2レベルキャ
ッシュ112を有し、さらにまたグラフィクス/オーデ
ィオプロセサ114に向けられたキャッシュされていな
いデータストリームのための書込収集(write-gatherin
g)バッファ111を有する。この書込収集バッファ11
は部分キャッシュラインを全キャッシュラインに集め、
バスの最大使用時に、グラフィクス/オーディオプロセ
サ114からのデータを1つのキャッシュラインに送
る。
0からの表示コマンドを受け、それらを解剖し、メモリ
コントローラ152を介して共用メモリ112からのそ
のコマンドを処理するに必要な付加的なデータを入手す
る。コマンドプロセサ200は、2Dおよび/または3
D処理およびレンダリングのために、頂点コマンドのス
トリームをグラフィクスパイプライン180に与える。
グラフィクスパイプライン180はこれらのコマンドに
基づいて映像を生成する。結果として得られた映像情報
は、表示コントローラ/ビデオインタフェースユニット
164によるアクセスのために主メモリ120に転送さ
れ得て、この映像情報は表示装置156上にパイプライ
ン180のフレームバッファ出力を表示する。
て実行される処理を図解的に示すブロックロジックフロ
ー図である。主プロセサ10は、グラフィクスコマンド
ストリーム210,表示リスト212および頂点アレイ
214を主メモリ112にストアし、ポインタをバスイ
ンタフェース150を介してコマンドプロセサ200に
送る。主プロセサ110は主メモリ110内に割り付け
られた1つ以上のグラフィクスFIFOバッファ210
にグラフィクスコマンドをストアする。このコマンドプ
ロセサ200は、 ・同期/フロー制御および負荷バランスのためにグラフ
ィクスコマンドを受けかつバッファするオンチップFI
FOメモリバッファ216を介して主メモリ112から
のコマンドストリーム, ・オンチップコールFIFOメモリバッファ218を介
して主メモリ112からの表示リスト212,および ・コマンドストリームからおよび/または主メモリ11
2の頂点アレイ214からの頂点アトリビュートを頂点
キャッシュ220を介して 取り込む。
作200aを実行し、そのコマンド処理動作200aは
アトリビュート形式を浮動小数点フォーマットに変換
し、結果的に得られた完全頂点ポリゴンデータをレンダ
リング/ラスタライゼーションのためにグラフィクスパ
イプライン180に与える。プログラマブルメモリ調停
回路130(グラフィクスメモリ要求調停回路:図4)
は、グラフィクスパイプライン180,コマンドプロセ
サ200および表示コントローラ/ビデオインタフェー
スユニット164の間での共用主メモリ112へのアク
セスを調停する。
が ・変換ユニット300, ・セットアップ/ラスタライザ400, ・テクスチャユニット500, ・テクスチャ環境ユニット600,および ・ピクセルエンジン700 を含むことを示す。
D変換および他の動作300a(図5)を実行する。変
換ユニット300は変換処理300aに用いられるマト
リクスをストアするための1つ以上のマトリクスメモリ
300bを含む。変換ユニット300は、入来する頂点
毎のジオメトリをオブジェクト空間からスクリーン空間
へ変換し、そして入来するテクスチャ座標を変換しかつ
投影テクスチャ座標(300c)を計算する。変換ユニ
ット300はまたポリゴンクリッピング/カリング(cli
pping/culling)300dを実行する。変換ユニット30
0bによってまた達成されるライティング(lighting)
処理300eが、この実施例では8つまでの独立した照
明(light:ライト)について、頂点毎にライティング計
算を行う。変換ユニット300は、エンボス(embossed)
タイプのバンプマッピング効果およびポリゴンクリッピ
ング/カリング動作(300d)のために、テクスチャ
座標を発生する(300c)。
トアップユニットを含み、このセットアップユニット
は、変換ユニット300からの頂点データを受け、三角
形セットアップ情報を、エッジラスタライゼーション,
テクスチャ座標ラスタライゼーションおよびカラーラス
タライゼーションを実行する1つ以上のラスタライザユ
ニット(400b)に送る。
テクスチャメモリ(TMEM)502を含んでもよく、
たとえば、 ・主メモリ112からのテクスチャ504の検索、 ・たとえばマルチテクスチャ処理,ポストキャッシュテ
クスチャ伸長,テクスチャフィルタリング,エンボシン
グ,投影テクスチャの使用を通しての陰影付け,および
アルファトランスパーレンシおよびデプスを用いるBL
ITを含むテクスチャ処理(500a)、 ・バンプマッピング,偽(pseudo)テクスチャおよびテク
スチャタイル(tiling)効果(500b)のためのテクス
チャ座標変位を計算するバンプマップ処理、および ・間接テクスチャ処理(500c) を含むテクスチャリングに関連する種々のタスクを実行
する。
境処理(600a)のためにフィルタされたテクスチャ
値をテクスチャ環境ユニット600に出力する。テクス
チャ環境ユニット600は、ポリゴンおよびテクスチャ
カラー/アルファ/デプスをブレンドし、また逆レンジ
ベース(reverse range based)のフォグ効果を達成する
ために、テクスチャフォグ処理(600b)を実行す
る。テクスチャ環境ユニット600はたとえばカラー/
アルファ変調,エンボシング,詳細テクスチャ,テクス
チャスワッピング,クランピングおよびデプスブレンデ
ィングに基づく多様な他の環境関連機能を実行する多数
のステージを提供する。
較(700a)およびピクセルブレンディング(700
b)を実行する。この実施例では、ピクセルエンジン7
00はデータを埋め込み(オンチップ)フレームバッフ
ァメモリ702にストアする。グラフィクスパイプライ
ン180は、フレームバッファおよび/またはテクスチ
ャ情報をローカルにストアするために1つ以上の埋め込
みDRAMメモリ702を含む。z比較700aは、現
在有効なレンダリングモードに依存して、グラフィクス
パイプライン180におけるより早い段階で実行される
(たとえば、z比較は、もしアルファブレンディングが
要求されていないならば早くに実行され得る)。このピ
クセルエンジン700は表示コントローラ/ビデオイン
タフェースユニット164による主メモリ112へのア
クセスのために、オンチップフレームバッファ702を
周期的に書き込むコピー動作700cを含む。このコピ
ー動作700cはまた動的テクスチャ合成効果のため
に、埋め込みフレームバッファ702の内容を主メモリ
112中のテクスチャにコピーするために使用され得
る。アンチエイリアシング(anti-aliasing:エイリアス
補正)および他のフィルタリングがコピー動作中に実行
され得る。最終的に主メモリ112にストアされるグラ
フィクスパイプライン180のフレームバッファ出力
は、表示コントローラ/ビデオインタフェースユニット
164によってフレーム毎に読み出される。表示コント
ローラ/ビデオインタフェース164は表示装置56上
での表示のためにディジタルRGBピクセル値を与え
る。 共用メモリ中に割り付けられたFIFOバッファ この実施例において、グラフィクス/オーディオプロセ
サ114のオンボードのコマンドFIFOバッファ21
6(これは小規模のデュアルポートRAMのストリーミ
ングバッファであってよい)は、それ自身によって、プ
ロセサ110とグラフィクスパイプライン180との間
の負荷バランスをとる良好なジョブを行うには小さすぎ
る。このことによって、グラフィクス/オーディオプロ
セサ114が大きなプリミティブをレンダリングしてい
るときには、プロセサ110は停止されることになる。
この問題を改善するために、プロセサ110とグラフィ
クス/オーディオプロセサ114との間で共用される主
メモリ112の一部をコマンドFIFOバッファ210
として用いる。バッファ210を用いることによって、
主プロセサ110およびグラフィクスプロセサ114が
ほぼそれらのピークレート(peak rate) で並列的に動作
することができる。
を用いる(少なくとも)2つの方法があり、中間モード
(immediate mode)およびマルチバッファモード(multi-b
uffer mode) である。1つのバッファ210が主プロセ
サ110およびグラフィクスプロセサ114の両方へ付
属させられるとき、システム50は中間モードで動作し
ている。主プロセサ110がグラフィクスコマンドをバ
ッファ210へ書き込むと、グラフィクスプロセサ11
4はそれらを順に処理する。書込が読出を追い越すのを
防ぎかつ循環的なバッファ動作を提供するためにバッフ
ァ210のリードおよびライトポインタを第1アドレス
へラップさせるためにハードウェアサポートがフロー制
御ロジックを与える。
バッファモードにおいて、グラフィクス/オーディオプ
ロセサ114が異なるバッファ210(1)から読出し
ている間1つのバッファ210を主プロセサ110へ接
続することができる。この場合、バッファ210(1)
および210(2)は、いずれの特定のバッファ210
へも同時的な読出および書込がないので、従来のFIF
Oというよりもバッファのように管理される。バッファ
の動的なメモリ管理が望まれるなら、マルチバッファモ
ードが使用され得る。
10および消費器114の間でのグラフィクス(および
オーディオ)コマンドをバッファリングするためにどの
ようにして割り当てられて多数のFIFOコマンドバッ
ファ210(1),210(2),…,210(n)を
提供するかを示す。図6に示す例において、バッファ2
10の各々は主プロセサ110からのグラフィクス(お
よび/またはオーディオ)コマンドを受け、それらのコ
マンドをグラフィクス/オーディオプロセサ114へ与
える。主プロセサ110はこれらのバッファ210とし
ての使用のために、主メモリ112の一部を割り当て
る。主メモリの領域を記述するバッファデータ構造子(s
tructure) が、主プロセサ110上で実行中のアプリケ
ーションによって割り付けられる。
を用いてバッファ中へグラフィクスコマンドを書き込
む。グラフィクス/オーディオプロセサ114はリード
ポインタ804を用いてバッファ210からコマンドを
読み出す。ライトポインタ802およびリードポインタ
804は同じのもしくは異なるバッファをポイント(指
示)することができる。この方法において、同じバッフ
ァ210が主プロセサ110およびグラフィクス/オー
ディオプロセサ114の両方へ同時に「付属」させら
れ、もしくは異なるバッファが発生器および消費器に異
なる時間で付属させられ得る。
主プロセサ110およびグラフィクス/オーディオプロ
セサ114は、「その」FIFOバッファ210が割り
当てられている場所で必ずしも一致する必要はない。図
示する例において、主プロセサ110はグラフィクスコ
マンドを書き込むための現在のバッファとしてバッファ
210(2)を用い、これに対して、グラフィクス/オ
ーディオプロセサ114はグラフィクスコマンドを入手
するために現在のバッファとして異なるバッファ210
(1)を使用する。バッファ210は主プロセサ11
0,グラフィクス/オーディオプロセサ114あるいは
その両方へ動的に付属させられ得る。バッファが主プロ
セサへ付属させられるとき、主プロセサはグラフィクス
コマンドをバッファ210へ書き込む。実施例におい
て、任意の一時に主プロセサ110へ付属させられる1
つでかつ1つだけのバッファ210がある。バッファが
グラフィクスプロセサ114へ付属されるとき、グラフ
ィクスプロセサはその付属されたバッファ210からグ
ラフィクスコマンドを読み出しかつ処理する。この実施
例においては、ただ1つのバッファ210だけが任意の
一時にグラフィクスプロセサ114へ付属され得る。 独立した消費器および発生器のリードおよびライトポイ
ンタ グラフィクスコマンド発生器として作用する主プロセサ
110は、それが付属されているバッファ210(2)
から読み出す必要はないが、図6の例に示すように発生
器リードポインタ806を維持する。同じように、グラ
フィクス/オーディオプロセサ114はグラフィクスコ
マンドの消費器として動作し、それゆえに、それが付属
されているバッファ210(1)へ書き込む必要はない
けれども、図6の例においては消費器ライトポインタ8
08を維持する。これらの付加的なポインタ806およ
び808によって発生器および消費器がそれに付属され
ている各バッファ210を独立的に維持することができ
る。
付加的なポインタ806およびグラフィクス/オーディ
オプロセサ114によって維持されている付加的なポイ
ンタ808はオーバラップ検出を与えるために使用され
る。これらの余分なポインタはバッファ210内におい
て有効データがどこに存在するかを示す。たとえば、主
プロセサ110はそれに付属されているバッファ210
(2)を循環バッファとして取り扱い、ライトポインタ
がバッファ812の「終り」に達すると、バッファ81
0の「開始」にそのライトポインタを「ラップ(wrap)」
する。しかしながら、消費器ライトポインタ802が消
費器リードポインタ806へ遭遇すると、消費器は、グ
ラフィクス/オーディオプロセサ114がまだ読み出し
ていない有効な、先に書き込まれたデータを上書きする
のを回避するために、消費器はその付属するバッファ2
10(2)への書込を中止する。同じように、グラフィ
クス/オーディオプロセサ114は、それの付属するバ
ッファ210(1)からグラフィクス命令を漸進的に読
み出すとき、それのリードポインタ804を継続的にイ
ンクリメントするが、リードポインタ804がライトポ
インタ808に遭遇すると、消費器はライトポインタを
バッファ210(1)内の最終有効データを示すように
用いているので、このインクリメントの手続きを中止す
る。
08はバッファ210内の任意の位置をポイントするこ
とができる。有効データは、したがってこれらのバッフ
ァ内の任意の場所に存在し、必ずしもバッファの始めま
たは終りである必要はない。実際に、もしバッファ21
0が循環モード(circular mode) で動作すると、バッフ
ァの終りは始めにラップされ、そしてそれゆえにバッフ
ァは論理的には連続ループであるので、「開始」または
「終了」の概念はない。
ドおよびライトポインタの簡単化した説明を提供する。
図7の例において、消費器114はそれに付属されてい
るバッファ210(1)からグラフィクスコマンドを読
み出すために自動インクリメントリードポインタ804
を用いる。消費器114はまた、バッファ210(1)
中の最終有効グラフィクスコマンドをポイントする消費
器ライトポイント808を維持する。この例において、
消費器114はバッファ210(1)からグラフィクス
コマンドを読み出し続け、各グラフィクスコマンドを読
み出した後に、ライトポインタが示す同じ位置(図8参
照)をポイントするまで、それのリードポインタ804
をインクリメントする。リードポインタ804がライト
ポインタ808が示す位置に隣接する位置を示すように
消費器114がそのリードポインタ804をインクリメ
ントしたとき、消費器は、バッファ210(1)から有
効グラフィクスコマンドのすべてを読み出しそしてそれ
ゆえにバッファがエンプティになったことを「知る」。
この状態は、消費器114が発生器110(もしバッフ
ァ210(1)が同時に発生器に付属されているなら)
からのさらなるグラフィクスコマンドを待つ必要がある
か、もしくは(もしマルチバッファが有効であるな
ら)、消費器が読出を開始するべく異なるバッファ21
0に向ける必要があることを示している。
るバッファ210(2)中へグラフィクスコマンドを書
き続け、同じように、発生器リードポインタ806が示
す位置の直前であるバッファの位置をライトポインタが
ポイントするまで、発生器ライトポインタ802を自動
的にインクリメントする(図9参照)。この例におい
て、ライトポインタ802とリードポインタ806との
間の一致(実際にはごく接近して)は、バッファ210
(2)がフルであることを示す。マルチバッファが有効
であれば、発生器はこの時点でバッファ210(2)へ
の書込を中止し、それを「セーブ」(閉じる)し、消費
器に対してその「閉じた」バッファの内容を(今または
後に)読み出すように指令し、主メモリ112中に割り
当てることができるなおも他のバッファ210へ付加的
なグラフィクスコマンドを書き込むのを開始する。発生
器110および消費器114が同じバッファへ付属され
ると、そのバッファへさらなるコマンドを書き込む前
に、発生器は、消費器がコマンドを読み出すまで待つ必
要がある。以下に説明するように、このような頻繁な状
況の切換を回避するために、好ましい実施例はプログラ
マブルなヒステリシス効果を提供でき、それは発生器が
バッファへの書込の再開を許容される前に或る量によっ
てバッファがエンプティにされることを要し、消費器が
バッファからの読出の再開を許容される前に或る量によ
ってバッファがフルになる必要がある。
10は、32バイト転送でそれに付属されるバッファ2
10へグラフィクスコマンドを書き込む。主プロセサ1
10は書込収集バッファ/機能111(図4参照)を提
供し、それは、グラフィクスコマンドを自動的に32バ
イトワードへパックする(pack)。グラフィクスプロセサ
114は32バイト転送においてそれが付属されるバッ
ファ210からグラフィクスコマンドを読み出す。 FIFOバッファからの表示リストのコール 図10は好ましい実施例によって提供される技術の一例
であり、それによって、関数コールとほとんど同じよう
に、FIFOバッファ210の入力が表示リストをコー
ルすることができる。この例において、コマンド890
はメモリ中のどこかにストアされた表示リスト212を
コールするグラフィクスコマンドFIFO210中に挿
入される。このコマンド890に遭遇すると、グラフィ
クスプロセサ114はFIFOバッファ210からのグ
ラフィクスコマンドの読出を一時的中止し、代わって、
主メモリ112中のどこかにストアされている表示リス
ト212からのコマンドを読み出し始める。表示リスト
212の終りに達すると、グラフィクスプロセサ114
はグラフィクスFIFO210からの次の順次的なコマ
ンドを読み出すためにリターンする。この技術は、主プ
ロセサ112が各フレーム毎に表示リストを再書込する
必要がなく、多数のフレームが同じ表示リスト212を
コールできるという点で非常に有用である(たとえば、
フレームからフレームへ静止したままであるジオメトリ
をレンダリングするような場合)。
ンドFIFO210へ書き込むことによって主プロセサ
110が自動的に表示リスト212を生成することがで
きることを示す。図11に示すように、主プロセサ11
0は主メモリ112中に割り付けたグラフィクスコマン
ドFIFO210へグラフィクスコマンドストリームを
書き込むことによって開始する。この書込プロセスにお
ける任意の時点で、主プロセサ110はFIFOバッフ
ァ210中へ「表示リスト開始(Begin DisplayList)」
コマンド890を挿入することができ、そのコマンドに
よって、主プロセサからの別の書込を表示リスト212
へ向けることができる。図13は、主プロセサ110が
表示リスト212の書込を終了すると、「表示リスト終
了(End Display List)」コマンドを発生することを示
し、このコマンドは表示リストを自動的に終了させ、主
プロセサのコマンドストリーム出力をFIFOバッファ
210へ自動的に向け直す効果を有する。主プロセサ1
10が向け直し可能な「消火ホース」コールストリーム
出力を与え、その出力がFIFOバッファ210、表示
リスト210および同じもしくは異なるFIFOバッフ
ァ212へグラフィクスコマンドを流出させることがで
きることを思い浮かべることができる。この方法によっ
て生成された表示リスト212はメモリ112中に留ま
り、いくつかのフレームあるいはフレーム部分に亘って
静止したままであるイメージの一部のために再使用され
得る。 具体例の詳細 グラフィクス/オーディオプロセサ114のグラフィク
スインタフェースユニット部分202へのプロセサであ
るコマンドプロセサ200は、主メモリ112中のFI
FOバッファ210を管理するための制御ロジックを含
む。図14はその具体例を示す。図示する例において、
CPU110がグラフィクス/オーディオプロセサ11
4へ書き込んだすべてのものが主メモリ112へ送られ
る。グラフィクス/オーディオプロセサ114へ付属す
るグラフィクスFIFO210へ割り付けられた主メモ
リ112の一部を規定する2つのレジスタがあり、それ
はFIFOベース(BASE)レジスタ822、およびFIF
O先頭(TOP) レジスタ824である。
FO210のベースアドレスを規定する。FIFO_T
OPレジスタ824はFIFOにおける最終(last)アド
レスを規定する。
においてFIFO210のためのリードおよびライトポ
インタのトラッキングを保持する。FIFO中に書き込
まれたすべてのデータがキャッシュライン(cache line)
のサイズにされるので、有効バイトのトラッキングを保
持する必要はない。ライトポインタ808はFIFO_
BASEとFIFO_TOPとの間にあるアドレス中に
キャッシュラインが書き込まれる毎に32バイトによっ
てインクリメントされる(最上位5ビットは0)。FI
FO210の読出が一度に1キャッシュラインで行われ
る。リードポインタはキャッシュラインが読み出された
後、32によってインクリメントされる。
トポインタ808が同じ位置を示すように初期化され、
それはFIFOがエンプティであることを意味する(図
8参照)。FIFOフル状態は、(リードポインタ−
1)=(ライトポインタ)である(図9参照)。ライト
ポインタ808はそれがFIFO_TOPへ達した後に
FIFO_BASE204(2)へラップされる。リー
ドポインタ804もまたそれがFIFO_TOP824
へ達するときラップされる。リードポインタ804はハ
ードウェアによって制御され、ラップされた場合におい
てもライトポインタ808を追い越さないようにされて
いる。プロセサ110上で動いているアプリケーション
によって、ライトポインタ808は、ラップされた後に
も、リードポインタ804より大きくならないようにさ
れる。
からのデータは同じFIFO210中へ存在することが
できる。第1フレームが内蔵DRAM702へコピーア
ウトされる前にコマンドプロセサ200が第2フレーム
を実行するのを防止するために中断点機構が用いられ得
る。FIFO中断点(レジスタ)832がイネーブルさ
れると、コマンドプロセサ200はCP_FIFO_B
RKレジスタを読み出さない。CPU110はフレーム
の終わりでこのレジスタ832をプログラムすることが
できる。CPU110はグラフィクス/オーディオプロ
セサ114上の書込バッファをフラッシュしなければな
らず、次いで、FIFOライトポインタ808を読み出
す。そして、CPU110はFIFO中断点レジスタ8
32へ値を書き込み、中断点をイネーブルする。
送られたすべてのデータを保持するに十分大きければ、
図9に示すFIFOフル状態は決して発生しない。しか
しながら、このことは主メモリ112の2Mないし4M
バイトをFIFOバッファ210のために割り付けるこ
とを意味する。アプリケーションの開発者はFIFO2
10のために大きなメモリを使用したいとは思わないで
あろう。その場合、アプリケーションはフロー制御技術
を実現する。レジスタ826および828はそのような
フロー制御を提供するために使用され得る。フロー制御
は、主メモリ112中のキャッシュラインの数がFIF
O_HICNT826より大きくなったときグラフィク
ス/オーディオプロセサ114がCPU110へ割込を
発生させることによって、この実施例中において行われ
る。プロセサ110は割込を取り入れ、FIFO中のキ
ャッシュラインの数がFIFO_LOCNT828より
小さくなるまで、スピン(spin)するかもしくは他の非グ
ラフィクスタスクを行う。そのようなヒステリシス効果
を提供する理由は、割込のオーバヘッドが高く、FIF
O210の内容が「高水位マーク(high water mark:
ハイウォータマーク) 」以下になったことをただチェ
ックすることによって割込ルーチンに入るか割込ルーチ
ンを出るかを行うことを望まないからである。割込はF
IFOのカウントがLOCNT828以下になったとき
発生され得る。この方法によって、アプリケーションは
割込がかけられたとき他のタスクを行いリターンする。 FIFOバッファの割付の例 好ましい実施例において、グラフィクスAPIはスタテ
ィックなFXFifoObj の構造子を内部的に宣言する。この
構造子はGXInitがコールされたとき初期化される。
実施例においては32ビットに合わされている。アプリ
ケーションはFIFOのためにメモリを割り付ける責任
がある。割付のためのサイズのパラメータはバイトにお
けるFIFOのサイズである(最小FIFOサイズは6
4Kバイトであり、サイズは32バイトの倍数であ
る)。デフォルトによって、GXInitが中間モードグラフ
ィクスのFIFOをセットアップすると、すなわち、C
PU110およびグラフィクスプロセサ114がFIF
Oに付属されると、リードおよびライトポインタはベー
スポインタに初期化され、高水位および低水位マーク
(low water mark:ローウォータマーク)がイネーブル
される。GXInitは初期化したGXFifoObj へのポインタを
アプリケーションへリターンする。
で動作することを望むなら、次いで、追加のFIFOが
割り付けられなければならない。任意の数のそのような
追加のFIFOバッファ210が割り付けられ得る。ア
プリケーションは各追加のFIFO毎にメモリに割り付
け、GXFifoObj を同じように初期化する。次に例示する
関数はGXFifoObj を初期化するために使用され得る。
およびライトポインタをFIFOのベースアドレスへ初
期化する必要があるだけである。一旦初期化されると、
システムハードウェアはリードおよびライトポインタを
自動的に制御する。 FIFOの付属およびセーブ FIFOが一旦初期化されると、それはCPU110ま
たはグラフィクスプロセサ114もしくはその両方へ付
属される。ただ1つのFIFOが同時にCPU110お
よびグラフィクスプロセサ114のいずれかに付属され
得る。FIFOがCPU110に付属されると、CPU
はFIFOに対してGXコマンドを発行する。FIFOが
グラフィクスプロセサ114に付属されたとき、プロセ
サ114はFIFOからグラフィクスコマンドを読み出
すためにイネーブルされる。次に例示する関数がFIF
Oを付属させる。
例示的な関数によって付属されたかを問い合わせる。
0がGXコマンドの書込を終了すると、FIFOは新たな
FIFOに切り換える前に「セーブ」されなければなら
ない。次に例示する関数がCPUのFIFOを「セー
ブ」する。
収集バッファ111がフラッシュされてすべてのグラフ
ィクスコマンドが主メモリ112へ書き込まれる。さら
に、現在のFIFOのリードおよびライトポインタがGX
FifoObj の構造子中にストアされる。
ーブ関数はないということに留意されたい。グラフィク
スプロセサが付属されると、グラフィクスコマンドは ・FIFOがエンプティになる、 ・FIFO中断点に遭遇する、あるいは ・GPが先に獲得される まで読み出され続ける。 FIFOステータス 次の例示の関数はFIFOおよびGP(グラフィクスパ
イプライン)のステータスを読み出すために使用され得
る。
ータスを獲得する。もし、FIFOが現在CPU110
に付属されていると、パラメータcpu_writeはGX_TRUEで
ある。FIFOが現在グラフィクスプロセサ114に付
属されていると、パラメータgp_readはGX_TRUEである。
FIFOがCPU110もしくはグラフィクスプロセサ
114のいずれかに付属されているとき、ステータスは
ハードウェアの状態から直接に読み取られる。FIFO
が付属されていなければ、ステータスはGXFifoObj から
読み出される。GXGetFifoStatus は特定されたFIFO
がオーバフローしたかあるいはそこへの書込に十分な部
屋(room)を有するかを報告する。一般的に、ハードウェ
アはFIFOがオーバフローしたこと、すなわちデータ
の量がFIFOのサイズを超えたことを検出することは
できない。
な方法はないけれども、ハードウェアは、CPUライト
ポインタがFIFOの先頭に達したことを検出すること
ができる。この状態が生じると、「fifowrap」の引数(a
rgument)がGX_TRUEにリターンする。この「fifowrap」
の引数は、もしCPUのライトポインタが常にFIFO
のベースに初期化されるとすると、FIFOのオーバフ
ローを検出するために使用され得る。「fifowrap」は、
FIFOが現在CPU110に付属されていれば、セッ
トされる。
14のステータスを(それに付属されているFIFOに
拘わらず)を取り込むために使用され得る。新たなグラ
フィクスプロセサのFIFOを付属させる前に必要な最
小限の条件はグラフィクスプロセサ114がアイドル状
態(idle)になるのを待つことである(しかし付加的な制
約が存在する)。アンダーフローおよびオーバフローの
ステータスはライトポインタがハイウォータマークおよ
びローウォータマークに関連する場所を示す。 FIFOのフロー制御 FIFOがCPUおよびグラフィクスプロセサの両方に
付属されているとき(中間モード)、FIFOがフルに
なり過ぎたときにはCPUがコマンドの書込を停止する
ように注意しなければならない。「ハイウォータマー
ク」はグラフィクスコマンドがもはやFIFOへ書き込
めなくなるであろう前に如何にFIFOのフルを取り込
むかを規定する。好ましい実施例においては、CPU内
に16Kバイトまでのグラフィクスコマンドがバッファ
リングされ得て、そのためにハイウォータマークを(F
IFOのサイズ−16Kバイト)に設定することが望ま
しい。
ラムは中断されるが、オーディオのような他の割込駆動
タスクは作動する。プログラマはマルチスレッドプログ
ラムにおいてどの具体的なスレッドが中断されるべきで
あるかを特定することを望む。
たはスレッド)が継続できる前に「ハイウォータマー
ク」に達した後にFIFOのエンプティを取り込まなけ
ればならない。ローウォータマークは(FIFOのサイ
ズ/2)に設定されることが望ましい。新たなコマンド
データの量がハイウォータマークに接近して留まってい
るときにプログラムが何らかのレジスタをポーリングし
たり定常的にオーバフロー割込を受け付ける必要がない
ので、このローウォータマークはプログラムにおける頻
繁な状況の切換を防止する。
よびローウォータマークはディスエーブルされる。FI
FOがCPU110へ付属されていてCPUがFIFO
が保持できるより以上のコマンドを書き込むときに、ラ
イトポインタは最終アドレスからベースアドレスへラッ
プされ戻される。FIFOにある先のグラフィクスコマ
ンドは上書きされる。ライトポインタがFIFOの先頭
へラップするときを検出することはできる(それは、コ
マンドが送られる前にFIFOのライトポインタがFI
FOのベースに初期化されている場合に限ってオーバフ
ローを示す)。上で述べたGXGetFifoStatus を参照のこ
と。
(バッファ)のオーバフローを防止するために、ソフト
ウェアベースでチェックする方法が使用され得る。主プ
ロセサ110上で実行中のプログラムはバッファサイズ
のそれ自身のカウンタを保持しなければならず、そして
任意のグループのコマンドがバッファへ付加される前
に、プログラムは部屋があるかどうかをチェックして判
断する。もし部屋が利用可能であれば、グループのサイ
ズがバッファサイズへ加えられ得る。もし部屋が利用可
能でなければ、バッファはフラッシュされて新たなもの
が割り付けられる。 表示リストコールの使用 好ましい実施例においてFIFOバッファ210から表
示リストをコールするために、アプリケーションはま
ず、表示リストをストアするためのメモリ中のスペース
を割り付ける。メモリエリアが一旦セットアップされる
と、アプリケーションは、たとえば次のものをコールす
る。
れる位置の開始アドレスであり、「サイズ」の引数が表
示リストコマンドを書き込むための割り付けられたスペ
ースにおいて利用可能なバイト数を示す場合、システム
がオーバフローをチェックすることができる。
ると、別のGXコマンドが通常のコマンドFIFOに代わ
って表示リストへ書き込まれる。「GXEndDisplayList」
コマンドは表示リストの終了へ信号を送り、先に向けら
れていたFIFOへコマンドストリームをリターンさせ
る。「GXEndDisplayList」コマンドはまた、生成された
表示リストの実際のサイズを、好ましい実施例において
は32バイトの倍数としてリターンする。
t)されることはない。このことは、GXBeginDisplayList
が一旦発行されると、GXEndDisplayListコマンドがやっ
て来るまでに他のGXBeginDisplayListまたはGXCallDisp
layList コマンドを発行することは違法であることを意
味する。しかしながら、別の実施例においては、任意の
所望の入れ子レベルに表示リストを入れ子することはで
きる。 グラフィクスFIFO関数の例 以下に例示する関数はグラフィクスFIFOの管理を提
供する。
この関数は初期化時にコールされる。FIFOアドレス
はグラフィクスパイプラインがフラッシュされない限り
変更されることはない。SetDefaultのフラグがセットさ
れると、FIFOはリセットされ(すなわち、リード/
ライトポインタをFIFOのベースへ)、そして割込が
ディスエーブルされる。デフォルトによって、ハイウォ
ータマークがサイズの2/3に設定され、ローウォータ
マークがサイズの1/3に設定される。
リードポインタがローウォータマーク以下になったとき
もしくはライトポインタがハイウォータマーク以上にな
ったとき、グラフィクスハードウェアはCPUへ割込を
かける。RdBreakMark がリードポインタ中断点を設定す
るために使用される。
しくはディスエーブルする。BreakPointは、先のフレー
ムがまだコピーされているときにCPによってFIFO
の読出をフォールトするために使用され得る。
ットする。これらのポインタはハードウェアによって維
持される。この関数はハードウェア値を無視する(たと
えば、表示リストのコンパイルのために)。
ターンする。 表示リスト関数の例 表示リストは予めコンパイルされたコマンドのアレイで
あり、グラフィクスパイプラインのためのデータであ
る。次に例示するコマンドは表示リストを操作するため
にFIFOバッファ210中へ挿入される。
せる。APIは表示リストモードにされる。これに後続
するすべてのAPI関数は、表示リスト関数の任意のも
のを除いて、EndDisplayListまでコールし、グラフィク
スパイプラインに代わって表示リストバッファへそれら
のデータおよびコマンドを送る。表示リストはこの実施
例においては入れ子されない。すなわち、BeginDisplay
ListおよびEndDisplayListの間ではどんな表示リスト関
数もコールされることはない。表示リストのためのメモ
リはアプリケーションによって割り付けられる。
クトを終了させ、システムを中間モードに戻す。
マンドプロセサ200における例示的なレジスタを示
す。
オゲームコンソールの構成以外としても実現できる。た
とえば、或るものは、システム50をエミュレートする
異なる構成を有するプラットフォームもしくはそれと同
等のものにおいて、システム50のために書かれたグラ
フィクスアプリケーションや他のソフトウェアを実行さ
せることができる。もし、他のプラットフォームがシス
テム50のいくつかのもしくはすべてのハードウェアお
よびソフトウェアリソースをエミュレートしシミュレー
トしおよび/または提供することができれば、その他の
プラットフォームはそのソフトウェアを成功裏に実行す
ることができる。
のハードウェアおよび/またはソフトウェア構成(プラ
ットフォーム)とは異なるハードウェアおよび/または
ソフトウェア構成(プラットフォーム)を提供できる。
そのエミュレータシステムは、それのためにアプリケー
ションソフトウェアが書かれているシステムのいくつか
のもしくはすべてのハードウェアおよび/またはソフト
ウェアコンポーネンツをエミュレートしもしくはシミュ
レートするソフトウェアおよび/またはハードウェアコ
ンポーネンツを含む。たとえば、エミュレータシステム
はパソコンのような汎用ディジタルコンピュータを含
み、それはシステム50のハードウェアおよび/または
ファームウェアをシミュレートするソフトウェアエミュ
レータプログラムを実行する。上述のオーディオシステ
ムのDSP処理がパソコンによってエミュレートされ得
る。
ばIBMやマッキントッシュのパソコンおよびそれらの
同等物)は、ダイレクトX(DirectX)または他の標準的
な3DグラフィクスコマンドAPIsに従った3Dグラ
フィクスパイプラインを提供する3Dグラフィクスカー
ドを備える。それらはまた、音声コマンドの標準的なセ
ットに基づいて高品質のステレオ音声を提供するステレ
オ音声カードを備える。エミュレータソフトウェアを実
行するそのようなマルチメディアのハードウェアを備え
るパソコンは、システム50のグラフィクスおよび音声
性能とほぼ等しい十分な性能を有する。エミュレータソ
フトウェアはパソコンプラットフォーム上のハードウェ
アリソースを制御して、それのためにゲームプログラマ
がゲームソフトウェアを書いた家庭用ビデオゲームコン
ソールプラットフォームの処理,3Dグラフィクス,音
声,周辺および他の能力をシミュレートする。
1,エミュレータコンポーネント1303および記憶媒
体62上のゲームソフトウェア実行可能バイナリ映像を
用いる全体のエミュレーション処理を図解する。ホスト
1201は、たとえばパソコン,ビデオゲームコンソー
ルあるいは十分な計算力を有する任意の他のプラットフ
ォームのような汎用または特定目的ディジタル計算装置
である。エミュレータ1303はそのホストプラットフ
ォーム1201上で走るソフトウェアおよび/またはハ
ードウェアであり、記憶媒体62からのコマンド,デー
タおよび他の情報のそのホスト1201によって実行可
能な形態へのリアルタイム変換を行う。たとえば、エミ
ュレータ1303は記憶媒体62からシステム50によ
って実行されるように意図された「ソース」であるバイ
ナリ映像プログラム命令を取り込み、これらのプログラ
ム命令をホスト1201によって実行されもしくは処理
され得るターゲットとなる形態に変換する。
PCまたは他の特定のプロセサを用いるプラットフォー
ム上での実行のために書かれかつホスト1201が異な
る(たとえばインテル)プロセサを用いるパソコンであ
る場合、エミュレータ1203は記憶媒体1305から
の1つのもしくは一連のバイナリ映像プログラム命令を
取り込み、これらのプログラム命令を1つまたはそれ以
上の同等のインテルのバイナリ映像プログラム命令に変
換する。エミュレータ1203はまたグラフィクス/オ
ーディオプロセサ114によって処理されるように意図
されたグラフィクスコマンドおよびオーディオコマンド
を取り込みかつ/あるいは生成し、そしてホスト120
1上で利用可能なハードウェアおよび/またはソフトウ
ェアグラフィクス/オーディオ処理リソースによって処
理され得る形態にこれらのコマンドを変換する。一例と
して、エミュレータ1303はホスト1201の特別な
グラフィクスおよび/または音声ハードウェア(たとえ
ば標準的なダイレクトX,オープンGLおよび/または
音声APIs)によって処理され得るコマンドにこれら
のコマンドを変換する。
述べたバッファリングおよびフロー制御技術のいくつか
もしくはすべてを単に「無視」する。なぜなら、エミュ
レータは上で述べた実施例のハードウェア構成より非常
に多いメモリリソースを持たなければならないからであ
る。そのようなエミュレータは、典型的には、割付メモ
リリソースによるバッファ割付のための要求に応答する
が、異なるフロー制御処理を提供するであろう。上で述
べたステータスおよびフロー制御要求は、ハードウェア
のエミュレートされた状態を維持しそのステータス要求
に応答するためにその状態を使用することによってエミ
ュレートされ得る。
いくつかあるいはすべてを提供するために使用されるエ
ミュレータ1303は、グラフィクスユーザインタフェ
ース(GUI)を備え、そのGUIはエミュレータを使
ったゲームの実行のための種々の動作やスクリーンモー
ドの選択を単純化しもしくは自動化する。一例におい
て、そのようなエミュレータ1303はさらに、ソフト
ウェアがそれのために元々意図されていたホストプラッ
トホームに比べて増強された機能性を含む。
適したエミュレーションホストシステム1201を図解
的に示す。このシステム1201は処理ユニット120
3およびシステムメモリ1205を含む。システムバス
1207がシステムメモリ1205を含む種々のシステ
ムコンポーネンツを処理ユニット1203に結合する。
システムバス1207は多様なバスアーキテクチャのい
ずれかを用いるメモリバスもしくはメモリコントロー
ラ,周辺バスおよびローカルバスを含むいくつかのタイ
プのバス構造の任意のものである。システムメモリ12
07はROM1252およびRAM1254を含む。起
動中においてのようにパソコンシステム1201中のエ
レメント(要素)間に情報を伝送する手助けをする基本
ルーチンを含む基本入力/出力システム(BIOS)1
256がROM1252中にストアされる。システム1
201はさらに種々のドライブおよび関連のコンピュー
タ読出可能な媒体を含む。ハードディスクドライブ12
09が(典型的には固定の)磁気ハードディスク121
1から読み出しそれへ書き込む。付加的な(たぶんオプ
ションとしての)磁気ディスクドライブ1213が着脱
可能な「フロッピィ」または他の磁気ディスク1251
から読み出しかつそれへ書き込む。光ディスクドライブ
1217はCD−ROMあるいは他の光学媒体のような
着脱自在な光ディスク1219から読み出しかつそれへ
書き込む。ハードディスクドライブ1209および光デ
ィスクドライブ1217は、ハードディスクドライブイ
ンタフェース1221および光ディスクドライブインタ
フェース1225によって、システムバス1207にそ
れぞれ接続される。これらのドライブおよびその関連す
るコンピュータ読出可能な媒体は、パソコンシステム1
201のためのコンピュータ読出可能な命令,データ構
造,プログラムモジュール,ゲームプログラムおよび他
のデータの不揮発性の記憶媒体を提供する。他の構成で
は、コンピュータによってアクセス可能なデータをスト
アすることができる他のタイプのコンピュータ読出可能
な媒体(たとえば磁気カセット,フラッシュメモリカー
ド,ディジタルビデオディスク,ベルヌーイカートリッ
ジ,RAM,ROMあるいはその他のもの)がまた使用
できる。
ラムモジュールがハードディスク1211,着脱可能な
磁気ディスク1215,光ディスク1219および/ま
たはシステムメモリ1205のROM1252および/
またはRAM1254にストアされ得る。このようなプ
ログラムモジュールはグラフィクス/音声APIs,1
つ以上のアプリケーションプログラム,他のプログラム
モジュール,プログラムデータおよびゲームデータを提
供するオペレーティングシステム(OS)を含む。ユー
ザは、キーボード1227,ポインティングデバイス1
229,マイクロフォン,ジョイスティック,ゲームコ
ントローラ,衛星アンテナ(satellite dish),スキャナ
あるいはその他のもののような入力デバイスを通して、
パソコンシステム1201にコマンドおよび情報を入力
することができる。これらのそして他の入力デバイス
は、システムバス1207に結合されたシリアルポート
インタフェース1231を通して処理ユニット1203
に接続され得るが、パラレルポート,ゲームポートファ
イヤワイヤバス(Fire Wire)もしくはユニバーサルシリ
アルバス(USB)のような他のインタフェースによっ
て接続されてもよい。モニタまたは他のタイプの表示デ
バイスがまたビデオアダプタ1235のようなインタフ
ェースを介してシステムバス1207に接続される。
インターネットのようなネットワーク1152を通して
の通信を確立するための他のネットワークインタフェー
ス手段を含む。内蔵もしくは外付けであってよいモデム
1154はシリアルポートインタフェース1231を介
してシステムバス123に接続される。システム120
1がローカルエリアネットワーク1158を介して遠隔
コンピュータ装置1150(たとえば他のシステム12
01)と通信するのを許容するために、ネットワークイ
ンタフェース1156がまた設けられてもよい(もしく
はそのような通信はダイヤルアップもしくは他の通信手
段のようなワイドエリアネットワーク1152もしくは
他の通信経路を介してもよい)。システム1201はプ
リンタのような周辺出力装置および他の標準的な周辺装
置を含む。
イクロソフト(Microsoft)のダイレクトX7.0、また
は他のバージョンのような標準的な3Dグラフィクスア
プリケーションプログラマインタフェースに基づいて発
行された3Dグラフィクスコマンドに応答して、高速の
3Dグラフィクスレンダリングを提供する3Dグラフィ
クスパイプラインチップセットを含んでもよい。1組の
スピーカ1237はまた、バス1207によって与えら
れる音声コマンドに基づいて高品質ステレオ音声を生成
するハードウェアおよび埋め込みソフトウェアを提供す
る従来の「音声カード」のような音声生成インタフェー
スを介して、システムバス1207に接続される。これ
らのハードウェア能力によって記憶媒体1305中にス
トアされているソフトウェアを再生するためにシステム
1201に十分なグラフィクスおよび音声の速度性能を
与えることができる。
によって取り入れる。
在考えられているものに関連してこの発明が説明された
が、この発明は開示された実施例に限定されるものでは
なく、逆に、特許請求の範囲内に含まれる種々の変形例
や等価的な構成をカバーするように意図されていること
を理解されたい。
クスシステムの実施例を示す全体図である。
システムのブロック図である。
ディオプロセサのブロック図である。
ロセサのブロック図である。
示的なロジックフロー図である。
らびにライトポインタの例を示す。
を示す。
を示す。
のコールの例を示す。
スシステム 54 …主ユニット 110 …主プロセサ 111 …書込収集バッファ 112 …主メモリ 114 …グラフィクス/オーディオプロセサ 180 …グラフィクスパイプライン 200 …キャッシュ/コマンドプロセサ 210 …グラフィクスコマンドFIFO 212 …表示リスト 802 …発生器ライトポインタ 804 …発生器リードポインタ 806 …消費器ライトポインタ 808 …消費器リードポインタ 890 …中断点
Claims (81)
- 【請求項1】グラフィクスコマンドを出力する発生器、 発生器によって出力されたグラフィクスコマンドを消費
する消費器、および発生器および消費器の間に結合さ
れ、消費器への分配のために、発生器によって出力され
たグラフィクスコマンドを受けかつ一時的にストアする
少なくとも1つのバッファをストアする記憶装置を備
え、 発生器および消費器は前記バッファを他方とは独立して
アクセスすることができる、グラフィクスシステム。 - 【請求項2】発生器および消費器は独立したリードおよ
び/またはライトポインタを有する、請求項1記載のグ
ラフィクスシステム。 - 【請求項3】記憶装置はその記憶装置内の選択された位
置に配置された複数のサイズ可変バッファをストアす
る、請求項1記載のグラフィクスシステム。 - 【請求項4】記憶装置は各々が発生器および/または消
費器によって独立してアクセスされ得る複数のバッファ
をストアする、請求項1記載のグラフィクスシステム。 - 【請求項5】消費器は、複数のバッファの少なくともア
クティブな1つへ書き込みすることができないが、その
複数のバッファの少なくとも前記アクティブな1つのた
めのライトポインタを発生器とは独立して維持する、請
求項4記載のグラフィクスシステム。 - 【請求項6】消費器は発生器がアクティブなバッファへ
書き込んだことに応答して消費器ライトポインタを選択
的にインクリメントする、請求項2記載のグラフィクス
システム。 - 【請求項7】発生器は前記複数のバッファの第1のバッ
ファに関連する発生器リードポインタおよび発生器ライ
トポインタを与え、消費器は前記複数のバッファの前記
第1バッファに関連する消費器リードポインタおよび消
費器ライトポインタを独立して維持する、請求項4記載
のグラフィクスシステム。 - 【請求項8】消費器は、その消費器がアクティブなバッ
ファから読み出すことに応じて消費器リードポインタを
インクリメントし、そのインクリメントした消費器リー
ドポインタが消費器ライトポインタと所定の関係を有す
るとき、アクティブなバッファからの読出を中断する、
請求項6記載のグラフィクスシステム。 - 【請求項9】複数のバッファの第1バッファは、発生器
が記憶装置内のどこかへストアしたグラフィクスコマン
ドのセットを消費させかつどこかにストアされたそのグ
ラフィクスコマンドを消費した後にはその第1バッファ
からのグラフィクスコマンドの消費を再開させるよう
に、消費器を制御するリードコマンドを含む、請求項4
記載のグラフィクスシステム。 - 【請求項10】リードコマンドは、表示リストの開始ア
ドレスと長さとを特定し、その特定した開始アドレスで
始まる特定した長さの表示リストを読み出すように消費
器を制御する、請求項9記載のグラフィクスシステム。 - 【請求項11】バッファは循環的な先入れ先出し(FI
FO)アクセスを与える、請求項1記載のグラフィクス
システム。 - 【請求項12】バッファは直線的な先入れ先出し(FI
FO)アクセスを与える、請求項1記載のグラフィクス
システム。 - 【請求項13】バッファは発生器および消費器の両方へ
同時に選択的に付属され得る、請求項1記載のグラフィ
クスシステム。 - 【請求項14】バッファは発生器に付属され、別のバッ
ファが消費器に付属される、請求項1記載のグラフィク
スシステム。 - 【請求項15】バッファはまず発生器に付属され、次い
で、発生器から離されかつ消費器に付属される、請求項
1記載のグラフィクスシステム。 - 【請求項16】バッファは発生器、消費器、またはその
両方へ付属され得る、請求項1記載のグラフィクスシス
テム。 - 【請求項17】1つのバッファだけが一度に発生器に付
属される、請求項1記載のグラフィクスシステム。 - 【請求項18】1つのバッファだけが一度に消費器に付
属される、請求項1記載のグラフィクスシステム。 - 【請求項19】バッファは16Kバイトの最大サイズを
有する、請求項1記載のグラフィクスシステム。 - 【請求項20】発生器はバッファのサイズをセットす
る、請求項1記載のグラフィクスシステム。 - 【請求項21】バッファはグラフィクスコマンドのフレ
ームをストアするために動的にサイズを決められる、請
求項1記載のグラフィクスシステム。 - 【請求項22】発生器は、バッファ開始アドレスおよび
バッファ長を特定するグラフィクスバッファ初期化コマ
ンドを発行することによってバッファを宣言する、請求
項1記載のグラフィクスシステム。 - 【請求項23】バッファは32バイトの倍数である長さ
を有しかつ64Kバイトの最小サイズを有する、請求項
1記載のグラフィクスシステム。 - 【請求項24】発生器はバッファに中断点を書き込み、
消費器はその中断点への遭遇に応じてグラフィクスコマ
ンドの消費を中断する、請求項1記載のグラフィクスシ
ステム。 - 【請求項25】バッファは、発生器がバッファ内の位置
に上書きしたときを示すオーバフローステータス表示器
を有する、請求項1記載のグラフィクスシステム。 - 【請求項26】さらに、バッファのステータスを示すハ
ードウェアステータスレジスタを備える、請求項1記載
のグラフィクスシステム。 - 【請求項27】ステータスレジスタは、バッファフルお
よびバッファエンプティに関連する発生器ライトポイン
タの位置;バッファオーバフロー;発生器が現在バッフ
ァへ書き込んでいるかどうか;および消費器が現在バッ
ファから読み出しているかどうかのパラメータを含む、
請求項26記載のグラフィクスシステム。 - 【請求項28】さらに、バッファに結合され、書込が読
出を追い越すのを防止するために、フロー制御ロジック
を与えるハードウェアコントローラを備える、請求項1
記載のグラフィクスシステム。 - 【請求項29】さらに、バッファに結合され、リードお
よびライトポインタを最後の位置から最初の位置へラッ
プするハードウェアコントローラを備える、請求項1記
載のグラフィクスシステム。 - 【請求項30】発生器はプロセサを含み、消費器はグラ
フィクスパイプラインを有するグラフィクスプロセサを
含む、請求項1記載のグラフィクスシステム。 - 【請求項31】記憶装置は主システムメモリを含み、発
生器は主システムメモリ内において前記バッファを動的
に割り付ける、請求項1記載のグラフィクスシステム。 - 【請求項32】グラフィクスコマンドを受けかつ一時的
にストアする記憶バッファ、 前記バッファ内へグラフィクスコマンドを書き込み、バ
ッファに関連する発生器ライトポインタおよび発生器リ
ードポインタを維持する発生器、および発生器ライトポ
インタとは独立した消費器ライトポインタおよび発生器
リードポインタとは独立した消費器リードポインタを維
持し、バッファ内にストアされているグラフィクスコマ
ンドを消費する消費器を備える、グラフィクスシステ
ム。 - 【請求項33】消費器は消費器がバッファから消費する
たび毎に消費器リードポインタをインクリメントし、消
費器リードポインタが消費器ライトポインタと所定の関
係を有するときバッファからの消費を中断する、請求項
32記載のグラフィクスシステム。 - 【請求項34】消費器は発生器がバッファへ書込を行っ
たことに応答して消費器ライトポインタを選択的に自動
的にインクリメントする、請求項32記載のグラフィク
スシステム。 - 【請求項35】発生器は、消費器が発生器のバッファへ
の書込に応答して消費器ライトポインタを自動的にイン
クリメントすべきかどうかを特定する構成コマンドを消
費器に送る、請求項32記載のグラフィクスシステム。 - 【請求項36】発生器ライトポインタに基づいてバッフ
ァ中へグラフィクスコマンドを書き込むグラフィクスコ
マンド発生器と、消費器リードポインタに基づいてバッ
ファからグラフィクスコマンドを読み出すグラフィクス
コマンド消費器とを含むグラフィクスシステムにおい
て、 消費器によって消費器ライトポインタが独立的に維持さ
れ、その消費器ライトポインタは発生器が前記バッファ
中へ書き込んだ有効データの範囲を示し、消費器は消費
器リードポインタが消費器ライトポインタに対して所定
の関係を有することに応答してバッファからのグラフィ
クスコマンドを消費することを中止するようにしたこと
を特徴とする、グラフィクスシステム。 - 【請求項37】アプリケーションを実行するプロセサモ
ジュール、グラフィクスプロセサモジュール、およびプ
ロセサモジュールおよびグラフィクスプロセサモジュー
ルに結合された少なくとも1つのメモリを含むインタラ
クティブなグラフィクスシステムにおいて、プロセサモ
ジュールとグラフィクスプロセサモジュールとの間のグ
ラフィクスコマンドのフローを制御する方法であって、 アプリケーションの制御の下で、メモリ中の可変数のF
IFOバッファを動的に確立し、そのアプリケーション
がFIFOバッファの各々のサイズを特定し、アプリケ
ーションは、複数のFIFOバッファの少なくとも第1
のFIFOバッファ中にグラフィクスコマンドを書き込
むようにプロセサモジュールを制御し、そしてアプリケ
ーションは、グラフィクスプロセサモジュールが前記プ
ロセサの書込とは独立して第1のFIFOバッファから
グラフィクスコマンドを読み出すのを制御するグラフィ
クスコマンドをグラフィクスプロセサモジュールに送
る、方法。 - 【請求項38】プロセサモジュールは複数の第1のバッ
ファに関連するプロセサモジュールリードポインタおよ
びプロセサモジュールライトポインタを与え、そしてグ
ラフィクスプロセサモジュールは前記第1のバッファに
関連するグラフィクスプロセサモジュールリードポイン
タおよびグラフィクスプロセサモジュールライトポイン
タを独立して維持する、請求項37記載の方法。 - 【請求項39】グラフィクスプロセサモジュールはグラ
フィクスプロセサモジュールが第1のバッファから読み
出すたび毎にグラフィクスプロセサモジュールリードポ
インタをインクリメントし、グラフィクスプロセサモジ
ュールリードポインタがグラフィクスプロセサモジュー
ルライトポインタと所定の関係を有するとき第1のバッ
ファからの読出を中断する、請求項37記載の方法。 - 【請求項40】グラフィクスプロセサモジュールは、プ
ロセサモジュールが第1のバッファへ書き込むことに応
答してグラフィクスプロセサモジュールライトポインタ
を選択的に自動的にインクリメントする、請求項37記
載の方法。 - 【請求項41】グラフィクスプロセサモジュールは、プ
ロセサモジュールとは独立して、複数のバッファの少な
くともアクティブな1つのためのライトポインタを維持
する、請求項37記載の方法。 - 【請求項42】さらに、中断点を設定し、そしてグラフ
ィクスプロセサモジュールがその中断点に遭遇すること
に応答してグラフィクスプロセサモジュールがバッファ
を読み出すのを少なくとも一時的に中断するようにし
た、請求項37記載の方法。 - 【請求項43】選択的な制御ステップは、オーバフロー
の検出に応答してプロセサモジュールがバッファへ書き
込むのを中断させるステップを含む、請求項37記載の
方法。 - 【請求項44】グラフィクスデータのフローを制御する
方法であって、 グラフィクスデータを各々が複数の記憶位置を有する複
数のサイズ可変FIFOバッファへ書き込むステップ、 複数の記憶位置の少なくとも1つに関連する中断点を設
定するステップ、 所定の順序で複数のバッファからグラフィクスデータを
読み出すステップ、 中断点に関連する少なくとも1つの記憶位置への遭遇に
応答して読出ステップを一時的に中断して割り込みを発
生するステップ、および割り込みクリアコマンドの受信
に応答して読出ステップを再開するステップを含む、方
法。 - 【請求項45】再開ステップは中断点ディスエーブルコ
マンドの受信に応答して行われる、請求項44記載の方
法。 - 【請求項46】書込ステップは、第1イメージフレーム
に対応するグラフィクスデータをバッファの第1部分へ
書き込むステップ、および第2イメージフレームに対応
するグラフィクスデータをバッファの第2部分へ書き込
むステップを含み、そして設定ステップは第1および第
2バッファ部分を分離する位置に関連して中断点を設定
するステップを含む、請求項44記載の方法。 - 【請求項47】所定順序は先入れ先出し(FIFO)で
ある、請求項44記載の方法。 - 【請求項48】書込ステップは汎用処理ハードウェアに
よって行われ、読出ステップは特定目的グラフィクスハ
ードウェアによって行われる、請求項44記載の方法。 - 【請求項49】読出ステップおよび書込ステップは実質
的に同時に行われる、請求項44記載の方法。 - 【請求項50】書込ステップは読出ステップが開始する
前に完了する、請求項44記載の方法。 - 【請求項51】再開された読出ステップは、別の中断点
に遭遇するか、バッファがエンプティになるかあるいは
グラフィクスデータによって表されるイメージフレーム
が異常終了するまで継続する、請求項44記載の方法。 - 【請求項52】さらに、バッファのステータスを表示す
るステップを含む、請求項44記載の方法。 - 【請求項53】ステータス表示ステップは、バッファフ
ルおよびバッファエンプティに関連するライトポインタ
の位置;バッファオーバフロー;書込ステップがアクテ
ィブであること;コマンド処理がアイドル状態であるか
どうか;および読出ステップがアクティブであること
の、パラメータの少なくとも3つを表示する、請求項5
2記載の方法。 - 【請求項54】書込ステップはバッファを循環的に書き
込むステップを含み、読出ステップはバッファを循環的
に読み出すステップを含む、請求項44記載の方法。 - 【請求項55】グラフィクスコマンドを受けかつそれを
一時的にストアする記憶装置、 前記記憶装置中のどこかにストアされているグラフィク
スコマンドの第1セットおよびグラフィクスコマンドの
第2セットを参照するコマンドを含むコマンドを前記記
憶装置中のバッファへ書き込む発生器、およびバッファ
中にストアされているグラフィクスコマンドの第1セッ
トを消費し、参照コマンドに遭遇したことに応答して、
それによって参照されたグラフィクスコマンドの第2セ
ットを消費し、その後バッファからの付加的なコマンド
を消費するためにバッファへリターンする消費器を備え
る、グラフィクスシステム。 - 【請求項56】バッファは循環バッファである、請求項
55記載のグラフィクスシステム。 - 【請求項57】参照コマンドは表示リストの開始アドレ
スを特定し、その参照コマンドはその特定された開始ア
ドレスで開始する表示リストを読み出すように消費器を
制御する、請求項55記載のグラフィクスシステム。 - 【請求項58】参照コマンドは消費器が消費すべきデー
タユニットの数を特定する、請求項55記載のグラフィ
クスシステム。 - 【請求項59】消費器はバッファへの書込はできない
が、発生器とは独立してバッファのためのライトポイン
タを維持する、請求項55記載のグラフィクスシステ
ム。 - 【請求項60】グラフィクスシステムにおいて、グラフ
ィクスコマンドの発生器からのグラフィクスコマンドを
グラフィクスコマンドの消費器へ送る方法であって、 発生器および消費器に結合されたメモリ中の可変位置に
配置された複数のサイズ可変バッファを作り、 サイズ可変バッファへ発生器によって発生されたグラフ
ィクスコマンドを一時的にストアし、 発生器とは独立してバッファをアクセスすることによっ
てサイズ可変バッファからのグラフィクスコマンドを消
費器によって消費し、そして消費されたグラフィクスコ
マンドの少なくとも一部に基づいてグラフィクスイメー
ジの少なくとも一部を発生する、方法。 - 【請求項61】消費器は複数のバッファの少なくともア
クティブな1つへ書き込むことはできず、さらに、発生
器とは独立して、消費器が複数のバッファの少なくとも
前記アクティブな1つのためのライトポインタを維持す
る、請求項60記載の方法。 - 【請求項62】さらに、前記複数のバッファの第1バッ
ファに関連する発生器リードポインタおよび発生器ライ
トポインタを発生器によって維持し、消費器によって、
独立して、前記複数のバッファの前記第1バッファに関
連する消費器リードポインタおよび消費器ライトポイン
タを維持する、請求項60記載の方法。 - 【請求項63】さらに、消費器によって、アクティブな
バッファから消費器が読み出すことに応じて消費器リー
ドポインタをインクリメントし、そしてインクリメント
した消費器リードポインタが消費器ライトポインタと所
定の関係を有するときアクティブなバッファからの読出
を中断する、請求項62記載の方法。 - 【請求項64】さらに、発生器がアクティブなバッファ
へ書き込むことに応答して選択的に消費器ライトポイン
タをインクリメントする、請求項63記載の方法。 - 【請求項65】複数のバッファの第1バッファはリード
コマンドを含み、さらに、 (a) リードコマンドに遭遇することに応答して、発生器
が記憶装置のどこかにストアしたグラフィクスコマンド
のセットを消費し、 (b) どこかにストアされたグラフィクスコマンドを消費
した後、第1バッファからのグラフィクスコマンドの消
費を再開する、請求項60記載の方法。 - 【請求項66】リードコマンドは表示リストの開始アド
レスおよび長さを特定し、そしてステップ(a) では特定
した開始アドレスで開始する特定した長さの表示リスト
を読み出すように消費器を制御する、請求項65記載の
方法。 - 【請求項67】複数のバッファの第1バッファは循環的
な先入れ先出し(FIFO)アクセスを提供する、請求
項60記載の方法。 - 【請求項68】複数のバッファの第1バッファは直線的
な先入れ先出し(FIFO)アクセスを提供する、請求
項60記載の方法。 - 【請求項69】さらに、発生器および消費器の両方へ複
数のバッファのいずれかを同時に選択的に付属させる、
請求項60記載の方法。 - 【請求項70】複数のバッファの第1バッファを発生器
へ付属させ、複数のバッファの第2バッファを消費器へ
付属させる、請求項60記載の方法。 - 【請求項71】複数のバッファの第1バッファを発生器
へ付属させ、次いで、発生器から第1バッファを切り離
し、第1バッファを消費器へ付属させる、請求項60記
載の方法。 - 【請求項72】複数のバッファのいずれかを発生器へ、
または消費器へ、もしくは両方へ付属させる、請求項6
0記載の方法。 - 【請求項73】複数のバッファの1つだけを一度に発生
器へ付属させる、請求項60記載の方法。 - 【請求項74】複数のバッファの1つだけを一度に消費
器へ付属させる、請求項60記載の方法。 - 【請求項75】イメージを発生する方法であって、 バッファに関連する発生器ライトポインタおよび発生器
リードポインタを維持するステップ、 バッファへグラフィクスコマンドを書き込み、そしてそ
の書込に応答して少なくともライトポインタを更新する
ステップ、 バッファに関連して、発生器ライトポインタとは独立し
た消費器ライトポインタおよび発生器リードポインタと
は独立した消費器リードポインタを維持するステップ、 バッファ内にストアされたグラフィクスコマンドを消費
し、その消費に応答して少なくともリードポインタを更
新するステップ、および消費ステップに少なくとも部分
的に応答してグラフィクスイメージの少なくとも一部を
発生するステップを含む、方法。 - 【請求項76】イメージを発生する方法であって、 記憶装置内のどこかにストアされたグラフィクスコマン
ドの第1セットおよびグラフィクスコマンドの第2セッ
トを参照するコマンドを含むコマンドを前記記憶装置内
のバッファへ書き込むステップ、 バッファにストアされているグラフィクスコマンドの第
1セットを消費するステップ、 参照コマンドへの遭遇に応答して、グラフィクスコマン
ドの第2セットを消費し、その後、バッファからの付加
的なコマンドを消費するように自動的にリターンするス
テップ、および消費されたグラフィクスコマンドの第1
セットおよび第2セットに少なくとも部分的に応答して
イメージの少なくとも一部を発生するステップを含む、
方法。 - 【請求項77】グラフィクスコマンドの第2セットは表
示リストを含む、請求項76記載の方法。 - 【請求項78】データ構造子を発生する方法であって、 表示リストの開始を示す所定のコマンドを含むグラフィ
クスコマンドストリームをコマンドストリームバッファ
へ書き込むステップ、および所定のコマンドに応答し
て、コマンドストリームバッファからのグラフィクスコ
マンドストリームを表示リストバッファへ向け直すステ
ップを含む、方法。 - 【請求項79】コマンドストリームバッファは先入れ先
出し(FIFO)バッファを含む、請求項78記載の方
法。 - 【請求項80】さらに、表示リストバッファからのグラ
フィクスコマンドストリームをコマンドストリームバッ
ファへ向け直す別の所定のコマンドを書き込むステップ
を含む、請求項78記載の方法。 - 【請求項81】3Dグラフィクスコマンドを3Dグラフ
ィクスコマンド消費器へ供給する方法であって、 (a) 所定の記憶位置で開始するコマンドシーケンスをス
トアするステップ、および(b) FIFOバッファを通し
てコマンド消費器を所定の記憶位置へ参照させる少なく
とも1つのコマンドを含むグラフィクスコマンドストリ
ームを消費器へ供給するステップを含み、 所定の記憶位置で開始するコマンドシーケンスを消費し
た後発生器はFIFOバッファへリターンする、方法。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US22691200P | 2000-08-23 | 2000-08-23 | |
US60/226912 | 2000-08-23 | ||
US09/726,215 US7196710B1 (en) | 2000-08-23 | 2000-11-28 | Method and apparatus for buffering graphics data in a graphics system |
US09/726215 | 2000-11-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002132489A true JP2002132489A (ja) | 2002-05-10 |
JP4757406B2 JP4757406B2 (ja) | 2011-08-24 |
Family
ID=26920982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001195710A Expired - Fee Related JP4757406B2 (ja) | 2000-08-23 | 2001-06-28 | グラフィクスシステム |
Country Status (2)
Country | Link |
---|---|
US (2) | US7196710B1 (ja) |
JP (1) | JP4757406B2 (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006518495A (ja) * | 2002-10-31 | 2006-08-10 | ロッキード マーティン コーポレーション | 改善された計算アーキテクチャを有する計算マシン、関連システム、並びに、方法 |
JP2007535035A (ja) * | 2004-04-26 | 2007-11-29 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | データ値をメモリに一時的に記憶する方法 |
WO2008030726A1 (en) * | 2006-09-05 | 2008-03-13 | Qualcomm Incorporated | Processing of command sub-lists by multiple graphics processing units |
JP2011505633A (ja) * | 2007-11-30 | 2011-02-24 | クゥアルコム・インコーポレイテッド | グラフィックスシステムにおいて2次プロセッサを使用するための方法及びシステム |
US7987341B2 (en) | 2002-10-31 | 2011-07-26 | Lockheed Martin Corporation | Computing machine using software objects for transferring data that includes no destination information |
US8073974B2 (en) | 2004-10-01 | 2011-12-06 | Lockheed Martin Corporation | Object oriented mission framework and system and method |
US8266232B2 (en) | 2005-10-15 | 2012-09-11 | International Business Machines Corporation | Hardware processing of commands within virtual client computing environment |
CN112581585A (zh) * | 2020-12-24 | 2021-03-30 | 西安翔腾微电子科技有限公司 | 一种基于SysML视图的GPU命令处理模块的TLM装置及操作方法 |
Families Citing this family (62)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7538772B1 (en) | 2000-08-23 | 2009-05-26 | Nintendo Co., Ltd. | Graphics processing system with enhanced memory controller |
US7836228B1 (en) * | 2004-06-18 | 2010-11-16 | Oracle America, Inc. | Scalable and lock-free first-in-first-out queue implementation |
US7852342B2 (en) | 2004-10-14 | 2010-12-14 | Microsoft Corporation | Remote client graphics rendering |
US20060082581A1 (en) * | 2004-10-14 | 2006-04-20 | Microsoft Corporation | Encoding for remoting graphics to decoder device |
US7609280B2 (en) * | 2005-09-07 | 2009-10-27 | Microsoft Corporation | High level graphics stream |
US8527563B2 (en) * | 2005-09-12 | 2013-09-03 | Microsoft Corporation | Remoting redirection layer for graphics device interface |
US8526049B2 (en) * | 2006-03-31 | 2013-09-03 | Konica Minolta Laboratory U.S.A., Inc. | Systems and methods for display list management |
US9015375B2 (en) * | 2006-04-11 | 2015-04-21 | Sigmatel, Inc. | Buffer controller, codec and methods for use therewith |
US8694697B1 (en) * | 2006-04-27 | 2014-04-08 | Nvidia Corporation | Rescindable instruction dispatcher |
US8275972B2 (en) | 2006-08-23 | 2012-09-25 | Ati Technologies, Inc. | Write data mask method and system |
US8736627B2 (en) * | 2006-12-19 | 2014-05-27 | Via Technologies, Inc. | Systems and methods for providing a shared buffer in a multiple FIFO environment |
US8022958B2 (en) * | 2007-04-04 | 2011-09-20 | Qualcomm Incorporated | Indexes of graphics processing objects in graphics processing unit commands |
US7439882B1 (en) * | 2007-04-05 | 2008-10-21 | Novell, Inc. | Optimized decompression using annotated back buffer |
JP4987070B2 (ja) * | 2007-04-11 | 2012-07-25 | パナソニック株式会社 | 画像生成装置及び画像生成方法 |
JP2008276407A (ja) * | 2007-04-26 | 2008-11-13 | Canon Inc | 画像処理装置及びその方法 |
AU2008202315A1 (en) * | 2007-06-14 | 2009-01-08 | Aristocrat Technologies Australia Pty Limited | A method of providing a player interface in a gaming system |
JP4378572B2 (ja) * | 2007-06-28 | 2009-12-09 | Necシステムテクノロジー株式会社 | データ転送システム、データ転送方法、ホスト装置及び描画装置 |
US8134551B2 (en) * | 2008-02-29 | 2012-03-13 | Autodesk, Inc. | Frontend for universal rendering framework |
US9471996B2 (en) * | 2008-02-29 | 2016-10-18 | Autodesk, Inc. | Method for creating graphical materials for universal rendering framework |
US8228555B2 (en) * | 2008-03-31 | 2012-07-24 | Konica Minolta Laboratory U.S.A., Inc. | Systems and methods for parallel display list rasterization |
US8782371B2 (en) * | 2008-03-31 | 2014-07-15 | Konica Minolta Laboratory U.S.A., Inc. | Systems and methods for memory management for rasterization |
US8521478B2 (en) * | 2008-04-01 | 2013-08-27 | Autodesk, Inc. | Automatic coloring of rigid groups of parts |
US8212806B2 (en) * | 2008-04-08 | 2012-07-03 | Autodesk, Inc. | File format extensibility for universal rendering framework |
US8667404B2 (en) * | 2008-08-06 | 2014-03-04 | Autodesk, Inc. | Predictive material editor |
US8817032B2 (en) * | 2008-08-29 | 2014-08-26 | Konica Minolta Laboratory U.S.A., Inc. | Systems and methods for framebuffer management |
US8854680B2 (en) * | 2008-09-11 | 2014-10-07 | Konica Minolta Laboratory U.S.A., Inc. | Systems and methods for optimal memory allocation units |
US8861014B2 (en) * | 2008-09-30 | 2014-10-14 | Konica Minolta Laboratory U.S.A., Inc. | Systems and methods for optimized printer throughput in a multi-core environment |
US8560957B2 (en) * | 2008-10-13 | 2013-10-15 | Autodesk, Inc. | Data-driven interface for managing materials |
US8601398B2 (en) * | 2008-10-13 | 2013-12-03 | Autodesk, Inc. | Data-driven interface for managing materials |
US9342901B2 (en) * | 2008-10-27 | 2016-05-17 | Autodesk, Inc. | Material data processing pipeline |
US8584084B2 (en) * | 2008-11-12 | 2013-11-12 | Autodesk, Inc. | System for library content creation |
JP2010271874A (ja) * | 2009-05-20 | 2010-12-02 | Kyocera Mita Corp | 情報処理装置および画像形成装置 |
US8810592B2 (en) * | 2009-10-09 | 2014-08-19 | Nvidia Corporation | Vertex attribute buffer for inline immediate attributes and constants |
US8614716B2 (en) * | 2010-10-01 | 2013-12-24 | Apple Inc. | Recording a command stream with a rich encoding format for capture and playback of graphics content |
KR101897011B1 (ko) * | 2010-11-30 | 2018-09-10 | 엘지디스플레이 주식회사 | 액정표시장치 및 그 구동 방법 |
US9460546B1 (en) | 2011-03-30 | 2016-10-04 | Nvidia Corporation | Hierarchical structure for accelerating ray tracing operations in scene rendering |
US8970584B1 (en) | 2011-06-24 | 2015-03-03 | Nvidia Corporation | Bounding box-based techniques for improved sample test efficiency in image rendering |
US9142043B1 (en) | 2011-06-24 | 2015-09-22 | Nvidia Corporation | System and method for improved sample test efficiency in image rendering |
US9153068B2 (en) | 2011-06-24 | 2015-10-06 | Nvidia Corporation | Clipless time and lens bounds for improved sample test efficiency in image rendering |
US9269183B1 (en) | 2011-07-31 | 2016-02-23 | Nvidia Corporation | Combined clipless time and lens bounds for improved sample test efficiency in image rendering |
US8823717B2 (en) * | 2011-12-13 | 2014-09-02 | Advanced Micro Devices, Inc. | Software constants file |
US9305394B2 (en) | 2012-01-27 | 2016-04-05 | Nvidia Corporation | System and process for improved sampling for parallel light transport simulation |
US9412197B2 (en) * | 2012-04-04 | 2016-08-09 | Qualcomm Incorporated | Patched shading in graphics processing |
US9229847B1 (en) * | 2012-04-18 | 2016-01-05 | Open Invention Network, Llc | Memory sharing for buffered macro-pipelined data plane processing in multicore embedded systems |
US9171394B2 (en) | 2012-07-19 | 2015-10-27 | Nvidia Corporation | Light transport consistent scene simplification within graphics display system |
US9159158B2 (en) | 2012-07-19 | 2015-10-13 | Nvidia Corporation | Surface classification for point-based rendering within graphics display system |
US9535722B2 (en) * | 2012-09-12 | 2017-01-03 | The Directv Group, Inc. | Method and system for communicating between a host device and a user device through an intermediate device using a composite graphics signal |
US10521250B2 (en) | 2012-09-12 | 2019-12-31 | The Directv Group, Inc. | Method and system for communicating between a host device and user device through an intermediate device using a composite video signal |
US9137501B2 (en) * | 2012-09-12 | 2015-09-15 | The Directv Group, Inc. | Method and system for communicating between a host device and user device through an intermediate device using syntax translation |
CN107239420B (zh) * | 2012-11-21 | 2020-05-05 | 相干逻辑公司 | 具有散布处理器dma-fifo的处理系统 |
US20140240328A1 (en) * | 2013-02-26 | 2014-08-28 | Prasoonkumar Surti | Techniques for low energy computation in graphics processing |
US9235871B2 (en) | 2014-02-06 | 2016-01-12 | Oxide Interactive, LLC | Method and system of a command buffer between a CPU and GPU |
WO2015123840A1 (en) * | 2014-02-20 | 2015-08-27 | Intel Corporation | Workload batch submission mechanism for graphics processing unit |
US9645916B2 (en) | 2014-05-30 | 2017-05-09 | Apple Inc. | Performance testing for blocks of code |
US10026142B2 (en) | 2015-04-14 | 2018-07-17 | Intel Corporation | Supporting multi-level nesting of command buffers in graphics command streams at computing devices |
DE102015209486A1 (de) * | 2015-05-22 | 2016-11-24 | Robert Bosch Gmbh | FIFO Speicher mit im Betrieb veränderbarem Speicherbereich |
US20170055031A1 (en) * | 2015-08-19 | 2017-02-23 | Opentv, Inc. | Method to transmit and receive mpeg-ts over a thunderbolt cable |
US20170154403A1 (en) * | 2015-11-30 | 2017-06-01 | Intel Corporation | Triple buffered constant buffers for efficient processing of graphics data at computing devices |
US9965219B2 (en) | 2016-02-25 | 2018-05-08 | International Business Machines Corporation | Synchronizing a cursor based on consumer and producer throughputs |
US10540136B2 (en) * | 2016-05-24 | 2020-01-21 | Dell Products, L.P. | Faster frame buffer rendering over a network |
US10192281B2 (en) | 2016-07-07 | 2019-01-29 | Intel Corporation | Graphics command parsing mechanism |
US11748283B1 (en) * | 2022-03-18 | 2023-09-05 | Intel Corporation | Scalable I/O virtualization interrupt and scheduling |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0877366A (ja) * | 1994-09-02 | 1996-03-22 | Hitachi Ltd | 画像処理プロセッサ及びそれを用いたデータ処理システム |
JPH0991444A (ja) * | 1995-09-22 | 1997-04-04 | Nec Corp | グラフィックス表示装置 |
JPH09114665A (ja) * | 1995-09-29 | 1997-05-02 | Internatl Business Mach Corp <Ibm> | 記憶装置と補助プロセッサ間のコマンド及びデータ転送方法及び情報処理システム |
JPH10105154A (ja) * | 1996-09-30 | 1998-04-24 | Hitachi Ltd | グラフィックス表示装置およびグラフィックスプロセッサ |
JPH10283495A (ja) * | 1997-04-04 | 1998-10-23 | Sega Enterp Ltd | 画像処理装置 |
Family Cites Families (422)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4275413A (en) | 1978-03-30 | 1981-06-23 | Takashi Sakamoto | Linear interpolator for color correction |
US4357624A (en) | 1979-05-15 | 1982-11-02 | Combined Logic Company | Interactive video production system |
US4425559A (en) | 1980-06-02 | 1984-01-10 | Atari, Inc. | Method and apparatus for generating line segments and polygonal areas on a raster-type display |
US4388620A (en) | 1981-01-05 | 1983-06-14 | Atari, Inc. | Method and apparatus for generating elliptical images on a raster-type video display |
US4463380A (en) | 1981-09-25 | 1984-07-31 | Vought Corporation | Image processing system |
US4570233A (en) | 1982-07-01 | 1986-02-11 | The Singer Company | Modular digital image generator |
US4600919A (en) | 1982-08-03 | 1986-07-15 | New York Institute Of Technology | Three dimensional animation |
US4615013A (en) | 1983-08-02 | 1986-09-30 | The Singer Company | Method and apparatus for texture generation |
US4586038A (en) | 1983-12-12 | 1986-04-29 | General Electric Company | True-perspective texture/shading processor |
DE3486472T2 (de) | 1983-12-26 | 1999-11-25 | Hitachi Ltd | Graphisches Musterverarbeitungsgerät und Verfahren |
US4808988A (en) | 1984-04-13 | 1989-02-28 | Megatek Corporation | Digital vector generator for a graphic display system |
US4725831A (en) | 1984-04-27 | 1988-02-16 | Xtar Corporation | High-speed video graphics system and method for generating solid polygons on a raster display |
US4658247A (en) | 1984-07-30 | 1987-04-14 | Cornell Research Foundation, Inc. | Pipelined, line buffered real-time color graphics display system |
US4625289A (en) | 1985-01-09 | 1986-11-25 | Evans & Sutherland Computer Corp. | Computer graphics system of general surface rendering by exhaustive sampling |
US5109520A (en) | 1985-02-19 | 1992-04-28 | Tektronix, Inc. | Image frame buffer access speedup by providing multiple buffer controllers each containing command FIFO buffers |
US5239624A (en) | 1985-06-19 | 1993-08-24 | Pixar | Pseudo-random point sampling techniques in computer graphics |
US4897806A (en) | 1985-06-19 | 1990-01-30 | Pixar | Pseudo-random point sampling techniques in computer graphics |
JPH0762794B2 (ja) | 1985-09-13 | 1995-07-05 | 株式会社日立製作所 | グラフイツク表示装置 |
US4974177A (en) | 1985-10-04 | 1990-11-27 | Daikin Industries Ltd. | Mapping circuit of a CRT display device |
US4692880A (en) | 1985-11-15 | 1987-09-08 | General Electric Company | Memory efficient cell texturing for advanced video object generator |
JPS62192878A (ja) | 1986-02-20 | 1987-08-24 | Nippon Gakki Seizo Kk | 多角形の塗りつぶし方法 |
US4862392A (en) | 1986-03-07 | 1989-08-29 | Star Technologies, Inc. | Geometry processor for graphics display system |
JPS62231380A (ja) | 1986-03-31 | 1987-10-09 | Namuko:Kk | 画像合成装置 |
US5504917A (en) | 1986-04-14 | 1996-04-02 | National Instruments Corporation | Method and apparatus for providing picture generation and control features in a graphical data flow environment |
US4817175A (en) | 1986-08-26 | 1989-03-28 | Schlumberger Systems And Services, Inc. | Video stream processing system |
US4855934A (en) | 1986-10-03 | 1989-08-08 | Evans & Sutherland Computer Corporation | System for texturing computer graphics images |
US4918625A (en) | 1986-12-19 | 1990-04-17 | Cae-Link Corporation | Method and apparatus for processing translucent objects |
US4965750A (en) | 1987-03-31 | 1990-10-23 | Hitachi, Ltd. | Graphic processor suitable for graphic data transfer and conversion processes |
US4935879A (en) | 1987-08-05 | 1990-06-19 | Daikin Industries, Ltd. | Texture mapping apparatus and method |
US5170468A (en) | 1987-08-18 | 1992-12-08 | Hewlett-Packard Company | Graphics system with shadow ram update to the color map |
US4866637A (en) | 1987-10-30 | 1989-09-12 | International Business Machines Corporation | Pipelined lighting model processing system for a graphics workstation's shading function |
US5144291A (en) | 1987-11-02 | 1992-09-01 | Matsushita Electric Industrial Co., Ltd. | Means for eliminating hidden surface |
US4888712A (en) | 1987-11-04 | 1989-12-19 | Schlumberger Systems, Inc. | Guardband clipping method and apparatus for 3-D graphics display system |
US4945500A (en) | 1987-11-04 | 1990-07-31 | Schlumberger Technologies, Inc. | Triangle processor for 3-D graphics display system |
US4901064A (en) | 1987-11-04 | 1990-02-13 | Schlumberger Technologies, Inc. | Normal vector shading for 3-D graphics display system |
US5361386A (en) | 1987-12-04 | 1994-11-01 | Evans & Sutherland Computer Corp. | System for polygon interpolation using instantaneous values in a variable |
CA1309198C (en) | 1987-12-10 | 1992-10-20 | Carlo J. Evangelisti | Parallel rendering of smoothly shaded color triangles with anti-aliased edges for a three dimensional color display |
US4974176A (en) | 1987-12-18 | 1990-11-27 | General Electric Company | Microtexture for close-in detail |
US5136664A (en) | 1988-02-23 | 1992-08-04 | Bersack Bret B | Pixel rendering |
JPH0693181B2 (ja) | 1988-03-18 | 1994-11-16 | 株式会社日立製作所 | 表示装置 |
US6054999A (en) | 1988-03-22 | 2000-04-25 | Strandberg; Oerjan | Method and apparatus for computer supported animation |
US5047760A (en) * | 1988-03-23 | 1991-09-10 | Dupont Pixel Systems Limited | Crossbar converter |
EP0336430B1 (en) | 1988-04-08 | 1994-10-19 | Dainippon Screen Mfg. Co., Ltd. | Method of extracting contour of subject image from original |
US4907174A (en) | 1988-06-02 | 1990-03-06 | Sun Microsystems, Inc. | Z-buffer allocated for window identification |
US5097427A (en) | 1988-07-06 | 1992-03-17 | Hewlett-Packard Company | Texture mapping for computer graphics display controller system |
US5315692A (en) | 1988-07-22 | 1994-05-24 | Hughes Training, Inc. | Multiple object pipeline display system |
US5003496A (en) | 1988-08-26 | 1991-03-26 | Eastman Kodak Company | Page memory control in a raster image processor |
US4989138A (en) | 1988-09-02 | 1991-01-29 | Tektronix, Inc. | Single bus graphics data processing pipeline with decentralized bus arbitration |
JPH0727581B2 (ja) | 1988-09-09 | 1995-03-29 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 図形処理装置 |
US5016183A (en) | 1988-09-13 | 1991-05-14 | Computer Design, Inc. | Textile design system and method |
US5018076A (en) | 1988-09-16 | 1991-05-21 | Chips And Technologies, Inc. | Method and circuitry for dual panel displays |
GB8828342D0 (en) | 1988-12-05 | 1989-01-05 | Rediffusion Simulation Ltd | Image generator |
US5062057A (en) | 1988-12-09 | 1991-10-29 | E-Machines Incorporated | Computer display controller with reconfigurable frame buffer memory |
US5659673A (en) | 1988-12-16 | 1997-08-19 | Canon Kabushiki Kaisha | Image processing apparatus |
US5255353A (en) | 1989-02-28 | 1993-10-19 | Ricoh Company, Ltd. | Three-dimensional shadow processor for an image forming apparatus |
US5204944A (en) | 1989-07-28 | 1993-04-20 | The Trustees Of Columbia University In The City Of New York | Separable image warping methods and systems using spatial lookup tables |
DE69031202T2 (de) | 1989-10-13 | 1998-02-19 | Matsushita Electric Ind Co Ltd | Verfahren und Gerät zur Farbkompensierung in Farbbildern |
JPH0776991B2 (ja) | 1989-10-24 | 1995-08-16 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Nurbsデータ変換方法及び装置 |
JP3005007B2 (ja) | 1989-12-21 | 2000-01-31 | キヤノン株式会社 | 画像符号化装置 |
SE464265B (sv) | 1990-01-10 | 1991-03-25 | Stefan Blixt | Grafikprocessor |
GB2240015A (en) | 1990-01-15 | 1991-07-17 | Philips Electronic Associated | Texture memory addressing |
GB2240017A (en) | 1990-01-15 | 1991-07-17 | Philips Electronic Associated | New, interpolated texture values are fed back to texture memories |
DE69125661T2 (de) | 1990-02-05 | 1998-02-26 | Ricoh Kk | Animationsanzeigeeinheit und dafür verwendeter externer speicher |
US5224208A (en) | 1990-03-16 | 1993-06-29 | Hewlett-Packard Company | Gradient calculation for texture mapping |
GB2244412B (en) | 1990-05-12 | 1994-03-02 | Rediffusion Simulation Ltd | Image generator |
EP0464907B1 (en) | 1990-06-29 | 1996-10-09 | Philips Electronics Uk Limited | Generating an image |
EP0470782B1 (en) | 1990-08-08 | 1996-02-14 | The Peerless Group | Image rendering process and apparatus |
US6020894A (en) | 1990-08-16 | 2000-02-01 | Canon Kabushiki Kaisha | Full-color desktop publishing system |
US5241658A (en) | 1990-08-21 | 1993-08-31 | Apple Computer, Inc. | Apparatus for storing information in and deriving information from a frame buffer |
CA2050658C (en) * | 1990-09-14 | 1997-01-28 | John M. Peaslee | Dual hardware channels and hardware context switching in a graphics rendering processor |
JP2725915B2 (ja) | 1990-11-15 | 1998-03-11 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 三角形描画装置及び方法 |
US5268995A (en) | 1990-11-21 | 1993-12-07 | Motorola, Inc. | Method for executing graphics Z-compare and pixel merge instructions in a data processor |
US5268996A (en) | 1990-12-20 | 1993-12-07 | General Electric Company | Computer image generation method for determination of total pixel illumination due to plural light sources |
US5774133A (en) | 1991-01-09 | 1998-06-30 | 3Dlabs Ltd. | Computer system with improved pixel processing capabilities |
US5307450A (en) | 1991-02-19 | 1994-04-26 | Silicon Graphics, Inc. | Z-subdivision for improved texture mapping |
JPH07122908B2 (ja) | 1991-03-12 | 1995-12-25 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 3次元のソリッド物体を表す表示可能情報を生成する装置と方法 |
US5421028A (en) | 1991-03-15 | 1995-05-30 | Hewlett-Packard Company | Processing commands and data in a common pipeline path in a high-speed computer graphics system |
US5415549A (en) | 1991-03-21 | 1995-05-16 | Atari Games Corporation | Method for coloring a polygon on a video display |
JP3316592B2 (ja) | 1991-06-17 | 2002-08-19 | サン・マイクロシステムズ・インコーポレーテッド | 二重バッファ・出力ディスプレー・システム、および、第1のフレーム・バッファおよび第2のフレーム・バッファ相互間の切り換えを行う方法 |
JPH07501162A (ja) | 1991-06-28 | 1995-02-02 | リム ホン リップ | 3dコンピュータグラフィック用可視性計算の改善 |
KR0167116B1 (ko) | 1991-07-26 | 1999-03-20 | 마이클 에이치. 모리스 | 변형가능한 디스플레이 메모리 제공방법 및 장치 |
EP0739513B1 (en) | 1991-08-13 | 1999-10-27 | The Board Of Regents Of The University Of Washington | Method of transmitting of data |
TW225595B (ja) | 1991-09-03 | 1994-06-21 | Gen Electric | |
US5404445A (en) | 1991-10-31 | 1995-04-04 | Toshiba America Information Systems, Inc. | External interface for a high performance graphics adapter allowing for graphics compatibility |
US5353424A (en) | 1991-11-19 | 1994-10-04 | Digital Equipment Corporation | Fast tag compare and bank select in set associative cache |
US5345541A (en) | 1991-12-20 | 1994-09-06 | Apple Computer, Inc. | Method and apparatus for approximating a value between two endpoint values in a three-dimensional image rendering device |
US5377313A (en) | 1992-01-29 | 1994-12-27 | International Business Machines Corporation | Computer graphics display method and system with shadow generation |
WO1993021623A1 (en) | 1992-04-17 | 1993-10-28 | Intel Corporation | Visual frame buffer architecture |
JP2760731B2 (ja) | 1992-04-30 | 1998-06-04 | 株式会社東芝 | グラフィックス互換性を可能にする高性能グラフィックスアダプタ用外部インターフェース回路 |
US5469535A (en) | 1992-05-04 | 1995-11-21 | Midway Manufacturing Company | Three-dimensional, texture mapping display system |
GB2267203B (en) | 1992-05-15 | 1997-03-19 | Fujitsu Ltd | Three-dimensional graphics drawing apparatus, and a memory apparatus to be used in texture mapping |
US5366376A (en) | 1992-05-22 | 1994-11-22 | Atari Games Corporation | Driver training system and method with performance data feedback |
US5473736A (en) | 1992-06-08 | 1995-12-05 | Chroma Graphics | Method and apparatus for ordering and remapping colors in images of real two- and three-dimensional objects |
CA2070934C (en) | 1992-06-10 | 1998-05-05 | Benny Chi Wah Lau | Graphics display system |
US5432900A (en) | 1992-06-19 | 1995-07-11 | Intel Corporation | Integrated graphics and video computer display system |
JPH0628485A (ja) | 1992-07-09 | 1994-02-04 | Toshiba Corp | テクスチャーアドレス生成器、テクスチャーパターン生成器、テクスチャー描画装置及びテクスチャーアドレス生成方法 |
US5475803A (en) | 1992-07-10 | 1995-12-12 | Lsi Logic Corporation | Method for 2-D affine transformation of images |
JPH07325934A (ja) | 1992-07-10 | 1995-12-12 | Walt Disney Co:The | 仮想世界に向上したグラフィックスを提供する方法および装置 |
US5821940A (en) | 1992-08-03 | 1998-10-13 | Ball Corporation | Computer graphics vertex index cache system for polygons |
GB2270243B (en) | 1992-08-26 | 1996-02-28 | Namco Ltd | Image synthesizing system |
JP2682559B2 (ja) | 1992-09-30 | 1997-11-26 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 物体の画像をディスプレイ装置上に表示する装置及び方法並びにコンピュータ・グラフィックス表示システム |
US5432895A (en) | 1992-10-01 | 1995-07-11 | University Corporation For Atmospheric Research | Virtual reality imaging system |
GB2271259A (en) | 1992-10-02 | 1994-04-06 | Canon Res Ct Europe Ltd | Processing image data |
US5890190A (en) | 1992-12-31 | 1999-03-30 | Intel Corporation | Frame buffer for storing graphics and video data |
US5559954A (en) | 1993-02-24 | 1996-09-24 | Intel Corporation | Method & apparatus for displaying pixels from a multi-format frame buffer |
US5859645A (en) | 1993-03-26 | 1999-01-12 | Loral Corporation | Method for point sampling in computer graphics systems |
KR0169152B1 (ko) | 1993-04-09 | 1999-01-15 | 이리마지리 쇼우이찌로 | 게임기용 멀티 접속 장치 |
US5644364A (en) | 1993-04-16 | 1997-07-01 | Avid Technology, Inc. | Media pipeline with multichannel video processing and playback |
US5606650A (en) | 1993-04-22 | 1997-02-25 | Apple Computer, Inc. | Method and apparatus for storage and retrieval of a texture map in a graphics display system |
JP3026698B2 (ja) | 1993-05-27 | 2000-03-27 | キヤノン株式会社 | 画像処理方法及びその装置 |
GB2278524B (en) | 1993-05-28 | 1997-12-10 | Nihon Unisys Ltd | Method and apparatus for rendering visual images employing area calculation and blending of fractional pixel lists for anti-aliasing and transparency |
US5392393A (en) | 1993-06-04 | 1995-02-21 | Sun Microsystems, Inc. | Architecture for a high performance three dimensional graphics accelerator |
US5408650A (en) | 1993-06-29 | 1995-04-18 | Digital Equipment Corporation | Memory analysis system for dynamically displaying memory allocation and de-allocation events associated with an application program |
JPH0778267A (ja) | 1993-07-09 | 1995-03-20 | Silicon Graphics Inc | 陰影を表示する方法及びコンピュータ制御表示システム |
US5490240A (en) | 1993-07-09 | 1996-02-06 | Silicon Graphics, Inc. | System and method of generating interactive computer graphic images incorporating three dimensional textures |
GB9316214D0 (en) | 1993-08-05 | 1993-09-22 | Philips Electronics Uk Ltd | Image processing |
DE69408473T2 (de) | 1993-10-15 | 1998-08-27 | Evans & Sutherland Computer Co | Direktes rendering von texturierten höhenfeldern |
JPH07146952A (ja) | 1993-11-22 | 1995-06-06 | Konami Kk | 3次元画像処理装置 |
WO1995015528A1 (en) | 1993-11-30 | 1995-06-08 | Vlsi Technology, Inc. | A reallocatable memory subsystem enabling transparent transfer of memory function during upgrade |
JPH07200386A (ja) | 1993-12-28 | 1995-08-04 | Toshiba Corp | 共有メモリのアクセス制御装置および画像形成装置 |
US5592597A (en) | 1994-02-14 | 1997-01-07 | Parametric Technology Corporation | Real-time image generation system for simulating physical paint, drawing media, and feature modeling with 3-D graphics |
US5557712A (en) | 1994-02-16 | 1996-09-17 | Apple Computer, Inc. | Color map tables smoothing in a color computer graphics system avoiding objectionable color shifts |
US5548709A (en) | 1994-03-07 | 1996-08-20 | Silicon Graphics, Inc. | Apparatus and method for integrating texture memory and interpolation logic in a computer system |
US5487146A (en) | 1994-03-08 | 1996-01-23 | Texas Instruments Incorporated | Plural memory access address generation employing guide table entries forming linked list |
US5506604A (en) | 1994-04-06 | 1996-04-09 | Cirrus Logic, Inc. | Apparatus, systems and methods for processing video data in conjunction with a multi-format frame buffer |
US5461712A (en) | 1994-04-18 | 1995-10-24 | International Business Machines Corporation | Quadrant-based two-dimensional memory manager |
JP3240821B2 (ja) | 1994-04-22 | 2001-12-25 | 株式会社日立製作所 | 高機能画像メモリlsi及びそれを用いた表示装置 |
US5608864A (en) | 1994-04-29 | 1997-03-04 | Cirrus Logic, Inc. | Variable pixel depth and format for video windows |
US5664162A (en) | 1994-05-23 | 1997-09-02 | Cirrus Logic, Inc. | Graphics accelerator with dual memory controllers |
JP3220328B2 (ja) | 1994-06-01 | 2001-10-22 | 株式会社ソニー・コンピュータエンタテインメント | ビデオゲーム機 |
US5694143A (en) | 1994-06-02 | 1997-12-02 | Accelerix Limited | Single chip frame buffer and graphics accelerator |
JPH10502181A (ja) | 1994-06-20 | 1998-02-24 | ネオマジック・コーポレイション | メモリインタフェースのないグラフィックスコントローラ集積回路 |
US5768626A (en) | 1994-06-24 | 1998-06-16 | Intel Corporation | Method and apparatus for servicing a plurality of FIFO's in a capture gate array |
US5600763A (en) | 1994-07-21 | 1997-02-04 | Apple Computer, Inc. | Error-bounded antialiased rendering of complex scenes |
US5740460A (en) | 1994-07-29 | 1998-04-14 | Discovision Associates | Arrangement for processing packetized data |
US5684941A (en) | 1994-09-01 | 1997-11-04 | Cirrus Logic, Inc. | Interpolation rendering of polygons into a pixel grid |
US5678037A (en) | 1994-09-16 | 1997-10-14 | Vlsi Technology, Inc. | Hardware graphics accelerator system and method therefor |
US5553228A (en) | 1994-09-19 | 1996-09-03 | International Business Machines Corporation | Accelerated interface between processors and hardware adapters |
US5933154A (en) | 1994-09-30 | 1999-08-03 | Apple Computer, Inc. | Multi-panel video display control addressing of interleaved frame buffers via CPU address conversion |
GB2293938B (en) | 1994-10-04 | 1999-01-20 | Winbond Electronics Corp | Apparatus for digital video format conversion |
TW278162B (ja) | 1994-10-07 | 1996-06-11 | Yamaha Corp | |
TW357913U (en) | 1994-10-12 | 1999-05-01 | Sega Enterprises Kk | Peripheral machinery |
JPH08123969A (ja) | 1994-10-28 | 1996-05-17 | Mitsubishi Electric Corp | マッピング装置 |
GB9422089D0 (en) | 1994-11-02 | 1994-12-21 | Philips Electronics Uk Ltd | Blurring for computer graphics |
US5593350A (en) | 1994-11-04 | 1997-01-14 | Thrustmaster, Inc. | Video game card having interrupt resistant behavior |
US5838334A (en) * | 1994-11-16 | 1998-11-17 | Dye; Thomas A. | Memory and graphics controller which performs pointer-based display list video refresh operations |
US6067098A (en) | 1994-11-16 | 2000-05-23 | Interactive Silicon, Inc. | Video/graphics controller which performs pointer-based display list video refresh operation |
JP2637931B2 (ja) | 1994-12-01 | 1997-08-06 | インターナショナル・ビジネス・マシーンズ・コーポレイション | テクスチャ・マッピングを行うコンピュータ・システム |
US5561752A (en) | 1994-12-22 | 1996-10-01 | Apple Computer, Inc. | Multipass graphics rendering method and apparatus with re-traverse flag |
KR100242880B1 (ko) | 1994-12-29 | 2000-02-01 | 전주범 | 분할된 영역의 윤곽추적장치 |
JPH08221593A (ja) | 1995-02-14 | 1996-08-30 | Hitachi Ltd | 図形表示装置 |
US5649082A (en) | 1995-03-20 | 1997-07-15 | Silicon Graphics, Inc. | Efficient method and apparatus for determining texture coordinates for lines and polygons |
US5900881A (en) | 1995-03-22 | 1999-05-04 | Ikedo; Tsuneo | Computer graphics circuit |
US5764228A (en) | 1995-03-24 | 1998-06-09 | 3Dlabs Inc., Ltd. | Graphics pre-processing and rendering system |
US5805868A (en) | 1995-03-24 | 1998-09-08 | 3Dlabs Inc. Ltd. | Graphics subsystem with fast clear capability |
US5701444A (en) | 1995-03-24 | 1997-12-23 | 3Dlabs Inc. Ltd. | Three-dimensional graphics subsystem with enhanced support for graphical user interface |
US5798770A (en) | 1995-03-24 | 1998-08-25 | 3Dlabs Inc. Ltd. | Graphics rendering system with reconfigurable pipeline sequence |
US5594854A (en) | 1995-03-24 | 1997-01-14 | 3Dlabs Inc. Ltd. | Graphics subsystem with coarse subpixel correction |
US6025853A (en) | 1995-03-24 | 2000-02-15 | 3Dlabs Inc. Ltd. | Integrated graphics subsystem with message-passing architecture |
US5777629A (en) | 1995-03-24 | 1998-07-07 | 3Dlabs Inc. Ltd. | Graphics subsystem with smart direct-memory-access operation |
US5835096A (en) | 1995-03-24 | 1998-11-10 | 3D Labs | Rendering system using 3D texture-processing hardware for accelerated 2D rendering |
US5727192A (en) | 1995-03-24 | 1998-03-10 | 3Dlabs Inc. Ltd. | Serial rendering system with auto-synchronization on frame blanking |
US5815166A (en) | 1995-03-24 | 1998-09-29 | 3Dlabs Inc., Ltd. | Graphics subsystem with slaveable rasterizer |
US5764243A (en) | 1995-03-24 | 1998-06-09 | 3Dlabs Inc. Ltd. | Rendering architecture with selectable processing of multi-pixel spans |
US5805175A (en) | 1995-04-14 | 1998-09-08 | Nvidia Corporation | Method and apparatus for providing a plurality of color formats from a single frame buffer |
US5687357A (en) | 1995-04-14 | 1997-11-11 | Nvidia Corporation | Register array for utilizing burst mode transfer on local bus |
US5714981A (en) | 1995-04-21 | 1998-02-03 | Advanced Gravis Computer Technology, Ltd. | Gameport communication apparatus and method |
US5651104A (en) | 1995-04-25 | 1997-07-22 | Evans & Sutherland Computer Corporation | Computer graphics system and process for adaptive supersampling |
US5751295A (en) | 1995-04-27 | 1998-05-12 | Control Systems, Inc. | Graphics accelerator chip and method |
US5801714A (en) * | 1995-05-01 | 1998-09-01 | Intergraph Corporation | Vertex list management system |
US5798762A (en) | 1995-05-10 | 1998-08-25 | Cagent Technologies, Inc. | Controlling a real-time rendering engine using a list-based control mechanism |
US5721947A (en) | 1995-05-15 | 1998-02-24 | Nvidia Corporation | Apparatus adapted to be joined between the system I/O bus and I/O devices which translates addresses furnished directly by an application program |
US5758182A (en) | 1995-05-15 | 1998-05-26 | Nvidia Corporation | DMA controller translates virtual I/O device address received directly from application program command to physical i/o device address of I/O device on device bus |
US5638535A (en) | 1995-05-15 | 1997-06-10 | Nvidia Corporation | Method and apparatus for providing flow control with lying for input/output operations in a computer system |
US5740406A (en) | 1995-05-15 | 1998-04-14 | Nvidia Corporation | Method and apparatus for providing fifo buffer input to an input/output device used in a computer system |
US5657443A (en) | 1995-05-16 | 1997-08-12 | Hewlett-Packard Company | Enhanced test system for an application-specific memory scheme |
JP3081774B2 (ja) | 1995-05-24 | 2000-08-28 | シャープ株式会社 | テクスチャーパターンメモリ回路 |
JPH08328941A (ja) | 1995-05-31 | 1996-12-13 | Nec Corp | メモリアクセス制御回路 |
GB9510932D0 (en) * | 1995-05-31 | 1995-07-26 | 3Com Ireland | Adjustable fifo-based memory scheme |
US5745118A (en) | 1995-06-06 | 1998-04-28 | Hewlett-Packard Company | 3D bypass for download of textures |
US5751292A (en) | 1995-06-06 | 1998-05-12 | Hewlett-Packard Company | Texture mapping method and system |
US5877741A (en) | 1995-06-07 | 1999-03-02 | Seiko Epson Corporation | System and method for implementing an overlay pathway |
US5828383A (en) | 1995-06-23 | 1998-10-27 | S3 Incorporated | Controller for processing different pixel data types stored in the same display memory by use of tag bits |
US5754191A (en) | 1995-06-23 | 1998-05-19 | Cirrus Logic, Inc. | Method and apparatus for optimizing pixel data write operations to a tile based frame buffer |
JPH0916806A (ja) | 1995-07-04 | 1997-01-17 | Ricoh Co Ltd | 立体画像処理装置 |
JP3349871B2 (ja) | 1995-07-10 | 2002-11-25 | 株式会社リコー | 画像処理装置 |
JP3780011B2 (ja) | 1995-07-14 | 2006-05-31 | 株式会社ルネサステクノロジ | 半導体記憶装置 |
US5682522A (en) | 1995-07-18 | 1997-10-28 | Silicon Integrated Systems Corp. | Shared memory architecture of graphics frame buffer and hard disk cache |
US5628686A (en) | 1995-07-31 | 1997-05-13 | Microsoft Corporation | Apparatus and method for bidirectional data communication in a game port |
US5870097A (en) | 1995-08-04 | 1999-02-09 | Microsoft Corporation | Method and system for improving shadowing in a graphics rendering system |
US5949428A (en) | 1995-08-04 | 1999-09-07 | Microsoft Corporation | Method and apparatus for resolving pixel data in a graphics rendering system |
US5867166A (en) | 1995-08-04 | 1999-02-02 | Microsoft Corporation | Method and system for generating images using Gsprites |
US5880737A (en) | 1995-08-04 | 1999-03-09 | Microsoft Corporation | Method and system for accessing texture data in environments with high latency in a graphics rendering system |
US6005582A (en) | 1995-08-04 | 1999-12-21 | Microsoft Corporation | Method and system for texture mapping images with anisotropic filtering |
US5886701A (en) | 1995-08-04 | 1999-03-23 | Microsoft Corporation | Graphics rendering device and method for operating same |
US5999189A (en) | 1995-08-04 | 1999-12-07 | Microsoft Corporation | Image compression to reduce pixel and texture memory requirements in a real-time image generator |
IL114838A0 (en) | 1995-08-04 | 1996-11-14 | Spiegel Ehud | Apparatus and method for object tracking |
US6016150A (en) | 1995-08-04 | 2000-01-18 | Microsoft Corporation | Sprite compositor and method for performing lighting and shading operations using a compositor to combine factored image layers |
US5801711A (en) | 1995-08-08 | 1998-09-01 | Hewlett Packard Company | Polyline and triangle strip data management techniques for enhancing performance of computer graphics system |
US5657478A (en) | 1995-08-22 | 1997-08-12 | Rendition, Inc. | Method and apparatus for batchable frame switch and synchronization operations |
US5819017A (en) | 1995-08-22 | 1998-10-06 | Silicon Graphics, Inc. | Apparatus and method for selectively storing depth information of a 3-D image |
US5767856A (en) | 1995-08-22 | 1998-06-16 | Rendition, Inc. | Pixel engine pipeline for a 3D graphics accelerator |
US5754839A (en) * | 1995-08-28 | 1998-05-19 | Motorola, Inc. | Apparatus and method for implementing watchpoints and breakpoints in a data processing system |
US5734386A (en) | 1995-09-08 | 1998-03-31 | Evans & Sutherland Computer Corporation | System and method for displaying textured polygons using planar texture interpolation |
JP2861890B2 (ja) | 1995-09-28 | 1999-02-24 | 日本電気株式会社 | カラー画像表示装置 |
US5970173A (en) | 1995-10-05 | 1999-10-19 | Microsoft Corporation | Image compression and affine transformation for image motion compensation |
US6057851A (en) | 1995-10-06 | 2000-05-02 | International Business Machines Corp. | Computer graphics system having efficient texture mapping with perspective correction |
US6007428A (en) | 1995-10-09 | 1999-12-28 | Nintendo Co., Ltd. | Operation controlling device and video processing system used therewith |
JP3524247B2 (ja) | 1995-10-09 | 2004-05-10 | 任天堂株式会社 | ゲーム機およびそれを用いたゲーム機システム |
EP0797139B1 (en) | 1995-10-09 | 2003-06-18 | Nintendo Co., Limited | Three-dimensional image processing system |
US5835102A (en) | 1995-10-19 | 1998-11-10 | Sparta, Inc. | System for transmission and recovery of digital data using video graphics display processor and method of operation thereof |
US5977979A (en) | 1995-10-31 | 1999-11-02 | International Business Machines Corporation | Simulated three-dimensional display using bit-mapped information |
US5724561A (en) | 1995-11-03 | 1998-03-03 | 3Dfx Interactive, Incorporated | System and method for efficiently determining a fog blend value in processing graphical images |
US5808630A (en) | 1995-11-03 | 1998-09-15 | Sierra Semiconductor Corporation | Split video architecture for personal computers |
US5740343A (en) | 1995-11-03 | 1998-04-14 | 3Dfx Interactive, Incorporated | Texture compositing apparatus and method |
US5760783A (en) | 1995-11-06 | 1998-06-02 | Silicon Graphics, Inc. | Method and system for providing texture using a selected portion of a texture map |
KR100261076B1 (ko) | 1995-11-09 | 2000-07-01 | 윤종용 | 범프 맵핑과 퐁 쉐이딩을 동시에 수행하는 렌더링방법 및 장치 |
JP3700871B2 (ja) | 1995-11-11 | 2005-09-28 | ソニー株式会社 | 画像変換装置 |
US5940089A (en) | 1995-11-13 | 1999-08-17 | Ati Technologies | Method and apparatus for displaying multiple windows on a display monitor |
US6331856B1 (en) | 1995-11-22 | 2001-12-18 | Nintendo Co., Ltd. | Video game system with coprocessor providing high speed efficient 3D graphics and digital audio signal processing |
US6022274A (en) | 1995-11-22 | 2000-02-08 | Nintendo Co., Ltd. | Video game system using memory module |
US6155926A (en) | 1995-11-22 | 2000-12-05 | Nintendo Co., Ltd. | Video game system and method with enhanced three-dimensional character and background control |
US5883638A (en) | 1995-12-01 | 1999-03-16 | Lucas Digital, Ltd. | Method and apparatus for creating lifelike digital representations of computer animated objects by providing corrective enveloping |
US5917502A (en) | 1995-12-06 | 1999-06-29 | Intergraph Corporation | Peer-to-peer parallel processing graphics accelerator |
US5850229A (en) | 1995-12-15 | 1998-12-15 | Raindrop Geomagic, Inc. | Apparatus and method for geometric morphing |
US6111584A (en) | 1995-12-18 | 2000-08-29 | 3Dlabs Inc. Ltd. | Rendering system with mini-patch retrieval from local texture storage |
US5748199A (en) | 1995-12-20 | 1998-05-05 | Synthonics Incorporated | Method and apparatus for converting a two dimensional motion picture into a three dimensional motion picture |
US5740383A (en) | 1995-12-22 | 1998-04-14 | Cirrus Logic, Inc. | Dynamic arbitration priority |
US5831625A (en) | 1996-01-02 | 1998-11-03 | Integrated Device Technology, Inc. | Wavelet texturing |
US5892517A (en) | 1996-01-02 | 1999-04-06 | Integrated Device Technology, Inc. | Shared access texturing of computer graphic images |
EP0786756B1 (en) | 1996-01-23 | 2009-03-25 | Hewlett-Packard Company, A Delaware Corporation | Data transfer arbitration for display controller |
US5943058A (en) | 1996-01-25 | 1999-08-24 | Silicon Graphics, Inc. | Texture mapping circuit for performing data interpolations |
US5781927A (en) | 1996-01-30 | 1998-07-14 | United Microelectronics Corporation | Main memory arbitration with priority scheduling capability including multiple priorty signal connections |
US5739819A (en) | 1996-02-05 | 1998-04-14 | Scitex Corporation Ltd. | Method and apparatus for generating an artificial shadow in a two dimensional color image |
US5963220A (en) | 1996-02-08 | 1999-10-05 | Industrial Technology Research Institute | Mip map/rip map texture linear addressing memory organization and address generator |
DE19606357A1 (de) | 1996-02-12 | 1997-08-14 | Gmd Gmbh | Bildverarbeitungsverfahren zur Darstellung von spiegelnden Objekten und zugehörige Vorrichtung |
US5777623A (en) | 1996-02-15 | 1998-07-07 | Canon Kabushiki Kaisha | Apparatus and method for performing perspectively correct interpolation in computer graphics in a variable direction along a line of pixels |
US5801720A (en) | 1996-02-20 | 1998-09-01 | National Semiconductor Corporation | Data transfer from a graphics subsystem to system memory |
US5914725A (en) | 1996-03-07 | 1999-06-22 | Powertv, Inc. | Interpolation of pixel values and alpha values in a computer graphics display device |
US5870587A (en) | 1996-03-20 | 1999-02-09 | International Business Machines Corporation | Information-handling system, method, and article of manufacture including a mechanism for providing an improved application binary interface |
US5982390A (en) | 1996-03-25 | 1999-11-09 | Stan Stoneking | Controlling personality manifestations by objects in a computer-assisted animation environment |
US6078311A (en) | 1996-03-26 | 2000-06-20 | Pacific Digital Peripherals, Inc. | Joystick game adapter card for a personal computer |
US5809219A (en) | 1996-04-15 | 1998-09-15 | Silicon Graphics, Inc. | Analytic motion blur coverage in the generation of computer graphics imagery |
US5909218A (en) | 1996-04-25 | 1999-06-01 | Matsushita Electric Industrial Co., Ltd. | Transmitter-receiver of three-dimensional skeleton structure motions and method thereof |
US6020931A (en) | 1996-04-25 | 2000-02-01 | George S. Sheng | Video composition and position system and media signal communication system |
US5818456A (en) | 1996-04-30 | 1998-10-06 | Evans & Sutherland Computer Corporation | Computer graphics system with adaptive pixel multisampler |
US5831624A (en) | 1996-04-30 | 1998-11-03 | 3Dfx Interactive Inc | Level of detail texture filtering with dithering and mipmaps |
US5949440A (en) | 1996-04-30 | 1999-09-07 | Hewlett Packard Compnay | Method and apparatus for processing graphics primitives in multiple modes using reconfigurable hardware |
US5886705A (en) | 1996-05-17 | 1999-03-23 | Seiko Epson Corporation | Texture memory organization based on data locality |
US5912676A (en) | 1996-06-14 | 1999-06-15 | Lsi Logic Corporation | MPEG decoder frame memory interface which is reconfigurable for different frame store architectures |
US5966134A (en) | 1996-06-28 | 1999-10-12 | Softimage | Simulating cel animation and shading |
US6046746A (en) | 1996-07-01 | 2000-04-04 | Sun Microsystems, Inc. | Method and apparatus implementing high resolution rendition of Z-buffered primitives |
US5874969A (en) | 1996-07-01 | 1999-02-23 | Sun Microsystems, Inc. | Three-dimensional graphics accelerator which implements multiple logical buses using common data lines for improved bus communication |
US6115047A (en) | 1996-07-01 | 2000-09-05 | Sun Microsystems, Inc. | Method and apparatus for implementing efficient floating point Z-buffering |
US5821949A (en) | 1996-07-01 | 1998-10-13 | Sun Microsystems, Inc. | Three-dimensional graphics accelerator with direct data channels for improved 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 |
US5877771A (en) | 1996-07-12 | 1999-03-02 | Silicon Graphics, Inc. | Method and apparatus for supersampling based on the local rate of change in texture |
US6038348A (en) | 1996-07-24 | 2000-03-14 | Oak Technology, Inc. | Pixel image enhancement system and method |
US5887155A (en) | 1996-07-25 | 1999-03-23 | Microunity Systems Engineering, Inc. | Vertex based geometry engine system for use in integrated circuit design |
US5751291A (en) | 1996-07-26 | 1998-05-12 | Hewlett-Packard Company | System and method for accelerated occlusion culling |
MY119610A (en) | 1996-07-31 | 2005-06-30 | Sony Corp | Apparatus and method for storing and accessing picture generation data |
US5828382A (en) | 1996-08-02 | 1998-10-27 | Cirrus Logic, Inc. | Apparatus for dynamic XY tiled texture caching |
US5923334A (en) | 1996-08-05 | 1999-07-13 | International Business Machines Corporation | Polyhedral environment map utilizing a triangular data structure |
US5933150A (en) | 1996-08-06 | 1999-08-03 | Interval Research Corporation | System for image manipulation and animation using embedded constraint graphics |
IL119082A (en) | 1996-08-16 | 2001-04-30 | Virtue Ltd | A method for creating graphic characters |
US6028611A (en) | 1996-08-29 | 2000-02-22 | Apple Computer, Inc. | Modular digital image processing via an image processing chain |
JP3387750B2 (ja) | 1996-09-02 | 2003-03-17 | 株式会社リコー | シェーディング処理装置 |
DE19637463A1 (de) | 1996-09-13 | 1998-03-26 | Gsf Forschungszentrum Umwelt | Verfahren zur Anzeige von geometrischen Objektoberflächen |
US6104417A (en) | 1996-09-13 | 2000-08-15 | Silicon Graphics, Inc. | Unified memory computer architecture with dynamic graphics memory allocation |
US5987567A (en) | 1996-09-30 | 1999-11-16 | Apple Computer, Inc. | System and method for caching texture map information |
US6115049A (en) | 1996-09-30 | 2000-09-05 | Apple Computer, Inc. | Method and apparatus for high performance antialiasing which minimizes per pixel storage and object data bandwidth |
US5926647A (en) | 1996-10-11 | 1999-07-20 | Divicom Inc. | Processing system with dynamic alteration of a color look-up table |
US6018350A (en) | 1996-10-29 | 2000-01-25 | Real 3D, Inc. | Illumination and shadow simulation in a computer graphics/imaging system |
US5933155A (en) | 1996-11-06 | 1999-08-03 | Silicon Graphics, Inc. | System and method for buffering multiple frames while controlling latency |
US5926182A (en) | 1996-11-19 | 1999-07-20 | International Business Machines Corporation | Efficient rendering utilizing user defined shields and windows |
JP4071290B2 (ja) | 1996-11-21 | 2008-04-02 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | コンピュータグラフィックス画像を発生する方法および装置 |
US5861888A (en) | 1996-11-27 | 1999-01-19 | Vlsi Technology Inc | Method and a system for the nonlinear storage of a texture map within a linear memory device |
JP3885262B2 (ja) | 1996-12-17 | 2007-02-21 | 株式会社セガ | テクスチャマップ上の複数画素を混合する方法及び、これを用いた複数画素混合回路と画像処理装置 |
KR100225072B1 (ko) | 1996-12-18 | 1999-10-15 | 윤종용 | 포멧 콘버터 |
US5912675A (en) | 1996-12-19 | 1999-06-15 | Avid Technology, Inc. | System and method using bounding volumes for assigning vertices of envelopes to skeleton elements in an animation system |
US5831640A (en) | 1996-12-20 | 1998-11-03 | Cirrus Logic, Inc. | Enhanced texture map data fetching circuit and method |
US6057847A (en) | 1996-12-20 | 2000-05-02 | Jenkins; Barry | System and method of image generation and encoding using primitive reprojection |
US6111582A (en) | 1996-12-20 | 2000-08-29 | Jenkins; Barry L. | System and method of image generation and encoding using primitive reprojection |
JP3738924B2 (ja) | 1996-12-24 | 2006-01-25 | ソニー株式会社 | 描画装置および方法 |
US5933529A (en) | 1996-12-24 | 1999-08-03 | Daewoo Electronics Co., Ltd. | Method of tracing a contour of an object based on background information of the object |
US5844576A (en) | 1996-12-30 | 1998-12-01 | Cirrus Logic, Inc. | Tiled linear host texture storage |
US5986663A (en) | 1997-10-10 | 1999-11-16 | Cirrus Logic, Inc. | Auto level of detail-based MIP mapping in a graphics processor |
US6052127A (en) | 1996-12-30 | 2000-04-18 | Cirrus Logic, Inc. | Circuit for determining non-homogenous second order perspective texture mapping coordinates using linear interpolation |
US5852451A (en) | 1997-01-09 | 1998-12-22 | S3 Incorporation | Pixel reordering for improved texture mapping |
US5940086A (en) | 1997-01-10 | 1999-08-17 | Hewlett Packard Company | System and method for dynamically allocating data among geometry accelerators in a computer graphics system |
US6097435A (en) | 1997-01-31 | 2000-08-01 | Hughes Electronics Corporation | Video system with selectable bit rate reduction |
US5990903A (en) | 1997-02-03 | 1999-11-23 | Micron Technologies, Inc. | Method and apparatus for performing chroma key, transparency and fog operations |
DE19708679A1 (de) | 1997-02-21 | 1998-08-27 | Gmd Gmbh | Bilddarstellungsverfahren und Vorrichtung zur Durchführung des Verfahrens |
US5870098A (en) | 1997-02-26 | 1999-02-09 | Evans & Sutherland Computer Corporation | Method for rendering shadows on a graphical display |
US5949424A (en) | 1997-02-28 | 1999-09-07 | Silicon Graphics, Inc. | Method, system, and computer program product for bump mapping in tangent space |
US5880736A (en) | 1997-02-28 | 1999-03-09 | Silicon Graphics, Inc. | Method system and computer program product for shading |
US6061462A (en) | 1997-03-07 | 2000-05-09 | Phoenix Licensing, Inc. | Digital cartoon and animation process |
US6037948A (en) | 1997-03-07 | 2000-03-14 | Silicon Graphics, Inc. | Method, system, and computer program product for updating texture with overscan |
US6043804A (en) | 1997-03-21 | 2000-03-28 | Alliance Semiconductor Corp. | Color pixel format conversion incorporating color look-up table and post look-up arithmetic operation |
US6088042A (en) | 1997-03-31 | 2000-07-11 | Katrix, Inc. | Interactive motion data animation system |
US5949421A (en) | 1997-03-31 | 1999-09-07 | Cirrus Logic, Inc. | Method and system for efficient register sorting for three dimensional graphics |
US6057859A (en) | 1997-03-31 | 2000-05-02 | Katrix, Inc. | Limb coordination system for interactive computer animation of articulated characters with blended motion data |
JP2845857B2 (ja) | 1997-04-01 | 1999-01-13 | コナミ株式会社 | 画像の半透明表示装置,半透明表示方法,及びコンピュータプログラムを記録した機械読取り可能な記録媒体 |
DE69822615T2 (de) | 1997-04-04 | 2005-03-24 | Intergraph Software Technologies Co., Las Vegas | Verfahren und vorrichtung zur anwendung von effekten in graphischen bildern |
US5920876A (en) | 1997-04-23 | 1999-07-06 | Sun Microsystems, Inc. | Performing exact garbage collection using bitmaps that identify pointer values within objects |
JP3294149B2 (ja) | 1997-04-23 | 2002-06-24 | シャープ株式会社 | 立体テクスチャマッピング処理装置及びそれを用いた3次元画像生成装置 |
US5983315A (en) * | 1997-04-25 | 1999-11-09 | Rockwell Science Center, Inc. | System and method for establishing priorities in transferring data in burst counts from a memory to a plurality of FIFO stages, each having a low, intermediate, and high region |
US6005583A (en) | 1997-04-30 | 1999-12-21 | Hewlett-Packard Company | Precise gradient calculation system and method for a texture mapping system of a computer graphics system |
US5956042A (en) | 1997-04-30 | 1999-09-21 | Hewlett-Packard Co. | Graphics accelerator with improved lighting processor |
US6057852A (en) | 1997-04-30 | 2000-05-02 | Hewlett-Packard Company | Graphics accelerator with constant color identifier |
US6192427B1 (en) * | 1997-05-02 | 2001-02-20 | Texas Instruments Incorporated | Input/output buffer managed by sorted breakpoint hardware/software |
US5999198A (en) | 1997-05-09 | 1999-12-07 | Compaq Computer Corporation | Graphics address remapping table entry feature flags for customizing the operation of memory pages associated with an accelerated graphics port device |
US6028608A (en) | 1997-05-09 | 2000-02-22 | Jenkins; Barry | System and method of perception-based image generation and encoding |
US5861893A (en) | 1997-05-27 | 1999-01-19 | Intel Corporation | System and method for graphics data concurrency and coherency |
US6038619A (en) * | 1997-05-29 | 2000-03-14 | International Business Machines Corporation | Disk drive initiated data transfers responsive to sequential or near sequential read or write requests |
US5969726A (en) | 1997-05-30 | 1999-10-19 | Hewlett-Packard Co. | Caching and coherency control of multiple geometry accelerators in a computer graphics system |
US5909225A (en) | 1997-05-30 | 1999-06-01 | Hewlett-Packard Co. | Frame buffer cache for graphics applications |
US6437781B1 (en) | 1997-05-30 | 2002-08-20 | Hewlett-Packard Company | Computer graphics system having per pixel fog blending |
US5920326A (en) | 1997-05-30 | 1999-07-06 | Hewlett Packard Company | Caching and coherency control of multiple geometry accelerators in a computer graphics system |
CA2239279C (en) | 1997-06-02 | 2002-04-23 | Nippon Telegraph And Telephone Corporation | Image generating apparatus and method |
US5870109A (en) | 1997-06-06 | 1999-02-09 | Digital Equipment Corporation | Graphic system with read/write overlap detector |
US6092158A (en) | 1997-06-13 | 2000-07-18 | Intel Corporation | Method and apparatus for arbitrating between command streams |
US5945997A (en) | 1997-06-26 | 1999-08-31 | S3 Incorporated | Block- and band-oriented traversal in three-dimensional triangle rendering |
US6052133A (en) | 1997-06-27 | 2000-04-18 | S3 Incorporated | Multi-function controller and method for a computer graphics display system |
US5936641A (en) | 1997-06-27 | 1999-08-10 | Object Technology Licensing Corp | Graphics hardware acceleration method, computer program, and system |
US6043821A (en) | 1997-06-30 | 2000-03-28 | Ati Technologies, Inc. | Method and apparatus for rendering pixel information from blended texture maps |
US6118462A (en) | 1997-07-01 | 2000-09-12 | Memtrax Llc | Computer system controller having internal memory and external memory control |
US6057862A (en) | 1997-07-01 | 2000-05-02 | Memtrax Llc | Computer system having a common display memory and main memory |
US6038031A (en) | 1997-07-28 | 2000-03-14 | 3Dlabs, Ltd | 3D graphics object copying with reduced edge artifacts |
US6011562A (en) | 1997-08-01 | 2000-01-04 | Avid Technology Inc. | Method and system employing an NLE to create and modify 3D animations by mixing and compositing animation data |
US6037949A (en) | 1997-08-04 | 2000-03-14 | Pixar Animation Studios | Texture mapping and other uses of scalar fields on subdivision surfaces in computer graphics and animation |
US6046747A (en) | 1997-08-04 | 2000-04-04 | Hewlett-Packard Company | Graphics application programming interface avoiding repetitive transfer of texture mapping data |
US6002410A (en) | 1997-08-25 | 1999-12-14 | Chromatic Research, Inc. | Reconfigurable texture cache |
US5903283A (en) | 1997-08-27 | 1999-05-11 | Chips & Technologies, Inc. | Video memory controller with dynamic bus arbitration |
US6016151A (en) | 1997-09-12 | 2000-01-18 | Neomagic Corp. | 3D triangle rendering by texture hardware and color software using simultaneous triangle-walking and interpolation for parallel operation |
US6054993A (en) | 1997-09-17 | 2000-04-25 | Cirrus Logic, Inc. | Chroma-keyed specular texture mapping in a graphics processor |
US5956043A (en) | 1997-09-18 | 1999-09-21 | Novell, Inc. | Textured tile rotation system and method |
US5936683A (en) | 1997-09-29 | 1999-08-10 | Neo Magic Corp. | YUV-to-RGB conversion without multiplies using look-up tables and pre-clipping |
US5949423A (en) | 1997-09-30 | 1999-09-07 | Hewlett Packard Company | Z buffer with degree of visibility test |
US5986677A (en) | 1997-09-30 | 1999-11-16 | Compaq Computer Corporation | Accelerated graphics port read transaction merging |
US6052129A (en) | 1997-10-01 | 2000-04-18 | International Business Machines Corporation | Method and apparatus for deferred clipping of polygons |
US6553426B2 (en) * | 1997-10-06 | 2003-04-22 | Sun Microsystems, Inc. | Method apparatus for implementing multiple return sites |
US5995121A (en) | 1997-10-16 | 1999-11-30 | Hewlett-Packard Company | Multiple graphics pipeline integration with a windowing system through the use of a high speed interconnect to the frame buffer |
US5958020A (en) | 1997-10-29 | 1999-09-28 | Vlsi Technology, Inc. | Real time event determination in a universal serial bus system |
US6002409A (en) | 1997-10-29 | 1999-12-14 | Cirrus Logic, Inc. | Arbitration for shared graphics processing resources |
US6035360A (en) | 1997-10-29 | 2000-03-07 | International Business Machines Corporation | Multi-port SRAM access control using time division multiplexed arbitration |
US6021417A (en) | 1997-10-31 | 2000-02-01 | Foto Fantasy, Inc. | Method of stimulating the creation of an artist's drawing or painting, and device for accomplishing same |
US6057863A (en) | 1997-10-31 | 2000-05-02 | Compaq Computer Corporation | Dual purpose apparatus, method and system for accelerated graphics port and fibre channel arbitrated loop interfaces |
US6151602A (en) | 1997-11-07 | 2000-11-21 | Inprise Corporation | Database system with methods providing a platform-independent self-describing data packet for transmitting information |
US6075546A (en) | 1997-11-10 | 2000-06-13 | Silicon Grahphics, Inc. | Packetized command interface to graphics processor |
US6088701A (en) | 1997-11-14 | 2000-07-11 | 3Dfx Interactive, Incorporated | Command data transport to a graphics processing device from a CPU performing write reordering operations |
US6002407A (en) | 1997-12-16 | 1999-12-14 | Oak Technology, Inc. | Cache memory and method for use in generating computer graphics texture |
US6091431A (en) | 1997-12-18 | 2000-07-18 | Intel Corporation | Method and apparatus for improving processor to graphics device local memory performance |
US6070204A (en) | 1998-01-06 | 2000-05-30 | Intel Corporation | Method and apparatus for using universal serial bus keyboard to control DOS operations |
US6052125A (en) | 1998-01-07 | 2000-04-18 | Evans & Sutherland Computer Corporation | Method for reducing the rendering load for high depth complexity scenes on a computer graphics display |
US6226713B1 (en) | 1998-01-21 | 2001-05-01 | Sun Microsystems, Inc. | Apparatus and method for queueing structures in a multi-level non-blocking cache subsystem |
US6105094A (en) | 1998-01-26 | 2000-08-15 | Adaptec, Inc. | Method and apparatus for allocating exclusive shared resource requests in a computer system |
US6014144A (en) | 1998-02-03 | 2000-01-11 | Sun Microsystems, Inc. | Rapid computation of local eye vectors in a fixed point lighting unit |
US6108743A (en) | 1998-02-10 | 2000-08-22 | Intel Corporation | Technique for performing DMA including arbitration between a chained low priority DMA and high priority DMA occurring between two links in the chained low priority |
US6496187B1 (en) | 1998-02-17 | 2002-12-17 | Sun Microsystems, Inc. | Graphics system configured to perform parallel sample to pixel calculation |
US6078338A (en) | 1998-03-11 | 2000-06-20 | Compaq Computer Corporation | Accelerated graphics port programmable memory access arbiter |
US6064392A (en) | 1998-03-16 | 2000-05-16 | Oak Technology, Inc. | Method and apparatus for generating non-homogenous fog |
US6232981B1 (en) | 1998-03-26 | 2001-05-15 | Silicon Graphics, Inc. | Method for improving texture locality for pixel quads by diagonal level-of-detail calculation |
US6104415A (en) | 1998-03-26 | 2000-08-15 | Silicon Graphics, Inc. | Method for accelerating minified textured cache access |
US6023738A (en) | 1998-03-30 | 2000-02-08 | Nvidia Corporation | Method and apparatus for accelerating the transfer of graphical images |
US6049338A (en) | 1998-04-01 | 2000-04-11 | Hewlett-Packard Company | Spatial filter for surface texture navigation |
US6226012B1 (en) | 1998-04-02 | 2001-05-01 | Nvidia Corporation | Method and apparatus for accelerating the rendering of graphical images |
US6144387A (en) | 1998-04-03 | 2000-11-07 | Liu; Mei-Chi | Guard region and hither plane vertex modification for graphics rendering |
US6191794B1 (en) | 1998-04-08 | 2001-02-20 | Nvidia Corporation | Method and apparatus for scaling texture maps for graphical images |
US6011565A (en) | 1998-04-09 | 2000-01-04 | S3 Incorporated | Non-stalled requesting texture cache |
US6144365A (en) | 1998-04-15 | 2000-11-07 | S3 Incorporated | System and method for performing blending using an over sampling buffer |
US6092124A (en) | 1998-04-17 | 2000-07-18 | Nvidia Corporation | Method and apparatus for accelerating the rendering of images |
US6128026A (en) | 1998-05-04 | 2000-10-03 | S3 Incorporated | Double buffered graphics and video accelerator having a write blocking memory interface and method of doing the same |
US6112267A (en) * | 1998-05-28 | 2000-08-29 | Digital Equipment Corporation | Hierarchical ring buffers for buffering data between processor and I/O device permitting data writes by processor and data reads by I/O device simultaneously directed at different buffers at different levels |
US6252610B1 (en) | 1998-05-29 | 2001-06-26 | Silicon Graphics, Inc. | Method and apparatus for efficiently switching state in a graphics pipeline |
US6492991B1 (en) | 1998-08-28 | 2002-12-10 | Ati International Srl | Method and apparatus for controlling compressed Z information in a video graphics system |
US6072496A (en) | 1998-06-08 | 2000-06-06 | Microsoft Corporation | Method and system for capturing and representing 3D geometry, color and shading of facial expressions and other animated objects |
US6243770B1 (en) * | 1998-07-21 | 2001-06-05 | Micron Technology, Inc. | Method for determining status of multiple interlocking FIFO buffer structures based on the position of at least one pointer of each of the multiple FIFO buffers |
US6215496B1 (en) | 1998-07-23 | 2001-04-10 | Microsoft Corporation | Sprites with depth |
US6215497B1 (en) | 1998-08-12 | 2001-04-10 | Monolithic System Technology, Inc. | Method and apparatus for maximizing the random access bandwidth of a multi-bank DRAM in a computer graphics system |
US6236413B1 (en) | 1998-08-14 | 2001-05-22 | Silicon Graphics, Inc. | Method and system for a RISC graphics pipeline optimized for high clock speeds by using recirculation |
US6268861B1 (en) | 1998-08-25 | 2001-07-31 | Silicon Graphics, Incorporated | Volumetric three-dimensional fog rendering technique |
US6429876B1 (en) | 1998-08-28 | 2002-08-06 | Ati International Srl | Method and apparatus for video graphics antialiasing with memory overflow optimization |
JP4399910B2 (ja) | 1998-09-10 | 2010-01-20 | 株式会社セガ | ブレンディング処理を含む画像処理装置及びその方法 |
US6177944B1 (en) | 1998-09-18 | 2001-01-23 | International Business Machines Corporation | Two phase rendering for computer graphics |
US6252600B1 (en) * | 1998-10-02 | 2001-06-26 | International Business Machines Corporation | Computer graphics system with dual FIFO interface |
JP2000132704A (ja) | 1998-10-26 | 2000-05-12 | Sony Corp | 画像情報処理装置及び方法 |
JP3668019B2 (ja) | 1998-10-27 | 2005-07-06 | 株式会社ソニー・コンピュータエンタテインメント | 記録媒体、画像処理装置および画像処理方法 |
JP2000156875A (ja) | 1998-11-19 | 2000-06-06 | Sony Corp | 映像制作装置および映像表示システムおよびグラフィックス制作方法 |
US6329997B1 (en) | 1998-12-04 | 2001-12-11 | Silicon Motion, Inc. | 3-D graphics chip with embedded DRAM buffers |
US6704023B1 (en) | 1998-12-04 | 2004-03-09 | Silicon Motion, Inc. | 3-D graphics chip with embedded DRAMbuffers |
US6339427B1 (en) * | 1998-12-15 | 2002-01-15 | Ati International Srl | Graphics display list handler and method |
JP4240343B2 (ja) | 1998-12-19 | 2009-03-18 | 株式会社セガ | 画像生成装置および画像生成方法 |
US6275235B1 (en) | 1998-12-21 | 2001-08-14 | Silicon Graphics, Inc. | High precision texture wrapping method and device |
US6417858B1 (en) | 1998-12-23 | 2002-07-09 | Microsoft Corporation | Processor for geometry transformations and lighting calculations |
JP4395902B2 (ja) | 1999-01-19 | 2010-01-13 | 株式会社セガ | 画像処理方法及び、これを利用した画像処理装置 |
JP2000215325A (ja) | 1999-01-21 | 2000-08-04 | Sega Enterp Ltd | 画像処理方法および画像処理装置並びにプログラムを記録した記録媒体 |
US6353438B1 (en) | 1999-02-03 | 2002-03-05 | Artx | Cache organization—direct mapped cache |
US6181352B1 (en) | 1999-03-22 | 2001-01-30 | Nvidia Corporation | Graphics pipeline selectively providing multiple pixels or multiple textures |
US6466223B1 (en) | 1999-03-24 | 2002-10-15 | Microsoft Corporation | Method and apparatus for texture memory management |
US6173367B1 (en) | 1999-05-19 | 2001-01-09 | Ati Technologies, Inc. | Method and apparatus for accessing graphics cache memory |
US6426747B1 (en) | 1999-06-04 | 2002-07-30 | Microsoft Corporation | Optimization of mesh locality for transparent vertex caching |
US6459429B1 (en) | 1999-06-14 | 2002-10-01 | Sun Microsystems, Inc. | Segmenting compressed graphics data for parallel decompression and rendering |
US6501479B1 (en) | 1999-06-21 | 2002-12-31 | Ati International Srl | Multi-format vertex data processing apparatus and method |
US6408362B1 (en) | 1999-06-24 | 2002-06-18 | International Business Machines Corporation | Data processing system, cache, and method that select a castout victim in response to the latencies of memory copies of cached data |
US6807311B1 (en) | 1999-07-08 | 2004-10-19 | Ati International Srl | Method and apparatus for compressing and storing image data |
US6339428B1 (en) | 1999-07-16 | 2002-01-15 | Ati International Srl | Method and apparatus for compressed texture caching in a video graphics system |
US6525738B1 (en) * | 1999-07-16 | 2003-02-25 | International Business Machines Corporation | Display list processor for decoupling graphics subsystem operations from a host processor |
US6285779B1 (en) | 1999-08-02 | 2001-09-04 | Trident Microsystems | Floating-point complementary depth buffer |
US6476822B1 (en) | 1999-08-30 | 2002-11-05 | Ati International Srl | Method and apparatus for displaying images |
US6476811B1 (en) | 1999-09-01 | 2002-11-05 | Ati International, Srl | Method and apparatus for compressing parameter values for pixels in a display frame |
US6567094B1 (en) * | 1999-09-27 | 2003-05-20 | Xerox Corporation | System for controlling read and write streams in a circular FIFO buffer |
US6675239B1 (en) | 1999-10-05 | 2004-01-06 | Ati Technologies Inc. | Method and apparatus for providing commands to a command memory |
US6476808B1 (en) | 1999-10-14 | 2002-11-05 | S3 Graphics Co., Ltd. | Token-based buffer system and method for a geometry pipeline in three-dimensional graphics |
US6198488B1 (en) | 1999-12-06 | 2001-03-06 | Nvidia | Transform, lighting and rasterization system embodied on a single semiconductor platform |
US6801203B1 (en) | 1999-12-22 | 2004-10-05 | Microsoft Corporation | Efficient graphics pipeline with a pixel cache and data pre-fetching |
US6469707B1 (en) | 2000-01-19 | 2002-10-22 | Nvidia Corporation | Method for efficiently rendering color information for a pixel in a computer system |
US6567091B2 (en) | 2000-02-01 | 2003-05-20 | Interactive Silicon, Inc. | Video controller system with object display lists |
US6807620B1 (en) | 2000-02-11 | 2004-10-19 | Sony Computer Entertainment Inc. | Game system with graphics processor |
US6570573B1 (en) * | 2000-02-14 | 2003-05-27 | Intel Corporation | Method and apparatus for pre-fetching vertex buffers in a computer system |
US6674805B1 (en) * | 2000-05-02 | 2004-01-06 | Ati Technologies, Inc. | System for controlling a clock signal for synchronizing a counter to a received value and method thereof |
CA2870155C (en) | 2012-04-09 | 2024-04-30 | Case Western Reserve University | Compositions and methods for inhibiting the activity of lar family phosphatases |
-
2000
- 2000-11-28 US US09/726,215 patent/US7196710B1/en not_active Expired - Lifetime
-
2001
- 2001-06-28 JP JP2001195710A patent/JP4757406B2/ja not_active Expired - Fee Related
-
2007
- 2007-02-23 US US11/709,750 patent/US7701461B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0877366A (ja) * | 1994-09-02 | 1996-03-22 | Hitachi Ltd | 画像処理プロセッサ及びそれを用いたデータ処理システム |
JPH0991444A (ja) * | 1995-09-22 | 1997-04-04 | Nec Corp | グラフィックス表示装置 |
JPH09114665A (ja) * | 1995-09-29 | 1997-05-02 | Internatl Business Mach Corp <Ibm> | 記憶装置と補助プロセッサ間のコマンド及びデータ転送方法及び情報処理システム |
JPH10105154A (ja) * | 1996-09-30 | 1998-04-24 | Hitachi Ltd | グラフィックス表示装置およびグラフィックスプロセッサ |
JPH10283495A (ja) * | 1997-04-04 | 1998-10-23 | Sega Enterp Ltd | 画像処理装置 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006518495A (ja) * | 2002-10-31 | 2006-08-10 | ロッキード マーティン コーポレーション | 改善された計算アーキテクチャを有する計算マシン、関連システム、並びに、方法 |
US7987341B2 (en) | 2002-10-31 | 2011-07-26 | Lockheed Martin Corporation | Computing machine using software objects for transferring data that includes no destination information |
US8250341B2 (en) | 2002-10-31 | 2012-08-21 | Lockheed Martin Corporation | Pipeline accelerator having multiple pipeline units and related computing machine and method |
JP2007535035A (ja) * | 2004-04-26 | 2007-11-29 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | データ値をメモリに一時的に記憶する方法 |
US8073974B2 (en) | 2004-10-01 | 2011-12-06 | Lockheed Martin Corporation | Object oriented mission framework and system and method |
US8266232B2 (en) | 2005-10-15 | 2012-09-11 | International Business Machines Corporation | Hardware processing of commands within virtual client computing environment |
TWI403956B (zh) * | 2005-10-15 | 2013-08-01 | Ibm | 虛擬客戶計算環境中指令處理伺服器計算裝置、方法與電腦可讀取資料儲存媒體 |
WO2008030726A1 (en) * | 2006-09-05 | 2008-03-13 | Qualcomm Incorporated | Processing of command sub-lists by multiple graphics processing units |
JP2011505633A (ja) * | 2007-11-30 | 2011-02-24 | クゥアルコム・インコーポレイテッド | グラフィックスシステムにおいて2次プロセッサを使用するための方法及びシステム |
US8922565B2 (en) | 2007-11-30 | 2014-12-30 | Qualcomm Incorporated | System and method for using a secondary processor in a graphics system |
CN112581585A (zh) * | 2020-12-24 | 2021-03-30 | 西安翔腾微电子科技有限公司 | 一种基于SysML视图的GPU命令处理模块的TLM装置及操作方法 |
CN112581585B (zh) * | 2020-12-24 | 2024-02-27 | 西安翔腾微电子科技有限公司 | 一种基于SysML视图的GPU命令处理模块的TLM装置及操作方法 |
Also Published As
Publication number | Publication date |
---|---|
US20070165043A1 (en) | 2007-07-19 |
US7701461B2 (en) | 2010-04-20 |
US7196710B1 (en) | 2007-03-27 |
JP4757406B2 (ja) | 2011-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4757406B2 (ja) | グラフィクスシステム | |
JP4808858B2 (ja) | グラフィクスパイプラインおよびそれの同期化方法 | |
JP5149985B2 (ja) | 機能拡張型メモリコントローラを備えるグラフィックス処理システム | |
JP4691273B2 (ja) | グラフィクス処理システムおよびエンボス型バンプマッピングを行う方法 | |
US6643744B1 (en) | Method and apparatus for pre-fetching audio data | |
JP4890638B2 (ja) | グラフィクスシステムにおいて直接および間接テクスチャを処理するための方法および装置 | |
JP4658378B2 (ja) | グラフィクスシステムにおいて環境を写し込んだバンプマッピングのための方法および装置 | |
JP4680412B2 (ja) | 描画モードに基づいて隠面処理の順番を動的に再構成する方法および装置 | |
JP2002063594A (ja) | 内部フレームバッファと主メモリ間でのコピーアウト変換を有するグラフィクスシステム | |
JP2002063595A (ja) | スケルトンアニメーションのステッチングハードウェアを有するグラフィクス装置 | |
JP2002236934A (ja) | グラフィックシステムにおいて改良されたフォグ効果を提供するための方法および装置 | |
JP2002074387A (ja) | Zテクスチャリングを用いるイメージ生成方法 | |
US6606689B1 (en) | Method and apparatus for pre-caching data in audio memory | |
JP4570766B2 (ja) | 音声信号をミキシングするための方法および装置 | |
JP4740490B2 (ja) | グラフィックスレンダリングシステムにおいて視覚的に重要なz成分の精度を最大化しz近傍クリッピングを回避するためのz近傍範囲におけるz値のクランピング | |
JP5020443B2 (ja) | 共有リソースへのアクセス方法及び装置 | |
JP4658397B2 (ja) | オーディオメモリ内のデータを予めキャッシュする方法及び装置 | |
JPH09297854A (ja) | グラフィック描画装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080613 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101214 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110214 |
|
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: 20110524 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110601 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4757406 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140610 Year of fee payment: 3 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |