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
Application number
JP2001195710A
Other languages
English (en)
Other versions
JP4757406B2 (ja
Inventor
Farhad Fouladi
フォーラディ ファーハッド
Robert Moore
ムーア ロバート
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nintendo Co Ltd filed Critical Nintendo Co Ltd
Publication of JP2002132489A publication Critical patent/JP2002132489A/ja
Application granted granted Critical
Publication of JP4757406B2 publication Critical patent/JP4757406B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/14Digital 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

(57)【要約】 (修正有) 【課題】グラフィクスコマンド発生器とグラフィクスコ
マンド消費器との間でグラフィクスコマンドを効率的に
バッファリングする技術を提供する。 【解決手段】グラフィクスシステムは3Dグラフィクス
パイプラインおよびオーディオDSPを含むグラフィク
ス/オーディオプロセサを備える。主メモリ112の一
部を割り付けることによって、可変数、可変サイズのグ
ラフィクスコマンドバッファ812を設ける。グラフィ
クスFIFOへの全ての書き込みが主メモリ112中の
バッファに送られる。発生器および消費器は独立して自
身のリードおよびライトポインタ802,808を維持
する。消費器はバッファ内のデータの有効位置をトラッ
キングするためにライトポインタ808を使用する。発
生器は、バッファへ、消費器がメモリのどこかへストア
されている一連のグラフィクスコマンドを読み出しかつ
その後バッファの残りを読み出すようにリードコマンド
を書き込む。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明はコンピュータグラフィ
クスに関し、より特定的には、家庭用ビデオゲームプラ
ットフォームのようなインタラクティブなグラフィクス
システムに関する。さらに特定的には、この発明は、グ
ラフィクスコマンド発生器とグラフィクスコマンド消費
器との間での効率的なグラフィクスコマンドのバッファ
リングに関する。
【0002】
【発明の背景および発明の概要】多くの人々はかなりリ
アルな恐竜,エイリアン,生き生きとしたおもちゃおよ
び他の空想的な動物を含む映画をかつて見たことがあ
る。そのようなアニメーションはコンピュータグラフィ
クスによって可能とされた。そのような技術を用いて、
コンピュータグラフィクスのアーティストは、各オブジ
ェクトがどのように見えるべきかや時間の経過とともに
外見上どのように変化すべきかを特定し、コンピュータ
は、そのオブジェクトをモデル化してテレビジョンやコ
ンピュータスクリーンのようなディスプレイに表示す
る。コンピュータは、表示される映像の各部分を、場面
中の各オブジェクトの位置や向き,各オブジェクトを照
らすように見える照明の方向,各オブジェクトの表面テ
クスチャ,および他の要素に正確に基づいて、色付けし
また形作るために必要な多くのタスクを実行する。
【0003】コンピュータグラフィクスの生成は複雑で
あるので、ここ数年前のコンピュータによって生成され
た3次元(3D)グラフィクスは、ほとんど高価な特殊
なフライトシミュレータ,ハイエンドグラフィクスワー
クステーションおよびスーパーコンピュータに限られて
いた。大衆は映画や高価なテレビコマーシャルにおいて
これらのコンピュータシステムによって生成された映像
のいくつかを見たが、大部分の人はグラフィクスを生成
しているコンピュータに対して実際に相互作用をさせる
ことはできない。たとえば、Nintendo64(登録商標)や
今や利用可能であるパソコン用の種々の3Dグラフィク
スカードのような比較的安価な3Dグラフィクスプラッ
トフォームの利用によって、このすべてが変わった。今
や、家庭や会社の比較的安価なコンピュータグラフィク
スシステム上でエキサイティングな3Dアニメーション
やシミュレーションに対して相互作用を及ぼすことがで
きる。
【0004】グラフィクスシステムの設計者が過去に直
面した問題は、グラフィクスコマンド発生器とグラフィ
クスコマンド消費器との間でグラフィクスコマンドを如
何に効率的にバッファリングするかということであっ
た。この問題に対する種々のソリューションが提案され
ている。たとえば、グラフィクスコマンド発生器とグラ
フィクスコマンド消費器との間にバッファメモリを設け
ることがよく知られている。しばしば、このバッファメ
モリは、グラフィクスコマンド消費器の一部として(た
とえば、グラフィクスチップのオンボードとして)接続
される。グラフィクスコマンド発生器はグラフィクスコ
マンドをバッファメモリ中へ書き込み、そしてグラフィ
クスコマンド消費器はバッファメモリからこれらのグラ
フィクスコマンドを読み出す。そのようなバッファメモ
リのためには、典型的には、先入れ先出し(FIFO)
バッファとして構成され、そのために、グラフィクスコ
マンド消費器は、グラフィクスコマンド発生器によって
バッファ中へ書き込まれたと同じシーケンスでグラフィ
クスコマンドを読み出す。
【0005】発生器と消費器との間にそのようなバッフ
ァを配置することは、発生器と消費器とが同期しなけれ
ばならないという程度を緩和する。発生器は、消費器が
バッファからコマンドを読み出すレートとは独立したレ
ートでバッファ中へコマンドを書き込むことができる。
たとえ消費器がバッファからの読出において一時的な遅
れを受けたとしても(たとえば、発生器が消費器に大き
なもしくは複雑なプリミティブを引き出させようとする
ときに生じるかもしれない)、発生器は、発生器がバッ
ファを満杯にしない限り、そして新たなコマンドを書き
込むためのメモリスペースがなくなるまで停止すること
はない。同じように、新たなグラフィクスコマンドをバ
ッファ中へ書き込む際の発生器の一時的な遅れは、発生
器が追加のグラフィクスコマンドを書き込む機会を有す
る前にバッファ中のすべてのグラフィクスコマンドを消
費器が消費しない限り、消費器を停止させることはな
い。
【0006】過去に遭遇した潜在的な問題は、バッファ
のサイズに関する。チップサイズや複雑さにおける制限
のために、グラフィクスチップ上に非常に大きなコマン
ドバッファメモリを配置することはできない。グラフィ
クスハードウェア中の小さいサイズのFIFOバッファ
は、発生器と消費器との間の負荷バランスを適切にとれ
ず、消費器が大きなプリミティブをレンダリングすると
きに発生器を停止させる。このように、過去に有意な仕
事がなされたが、さらなる改良が可能である。
【0007】この発明は、グラフィクスコマンド発生器
とグラフィクスコマンド消費器との間でグラフィクスコ
マンドをより効率的にバッファリングする技術および構
成を提供することによって、この問題を解決する。この
発明の局面によれば、発生器と消費器との間で共用され
る主メモリの一部が可変数のサイズ可変グラフィクスコ
マンドバッファへ割り付けられる。発生器はバッファの
数や各々のサイズを特定することができる。グラフィク
ス消費器への書込は主メモリ中のバッファの任意のもの
へ送られ得る。バッファは消費器および発生器へ同時に
付属させられ(attached) 得て、もしくは異なるバッフ
ァが消費器および発生器へ付属させられてもよい。異な
るバッファが消費器および発生器へ付属させられるこの
マルチバッファの方法においては、発生器は1つのバッ
ファへ書き込むことができ、他方消費器は他のバッファ
から読み出すことができる。
【0008】消費器を発生器からさらに切り離すため
に、発生器および消費器は、この発明の他の局面に従っ
て、それら自身のリードおよびライトポインタを独立的
に維持する。消費器はバッファへ書き込むことはできな
いけれども、バッファ中の有効データの位置のトラッキ
ングを保持するために使用するライトポインタを維持す
る。同じように、発生器はそれへ付属されていないバッ
ファから読み出すことはできないが、バッファ中のデー
タの有効位置のトラッキングを保持するために使用する
リードポインタを維持する。このポインタ構成の効果
は、発生器を消費器からさらに切り離すことであり、そ
れらの2つの間の同期化要求を減じる。
【0009】この発明によって提供される他の局面によ
れば、発生器は、FIFOバッファへ「表示リストコー
ル」コマンドを書き込むことができ、このコマンドはメ
モリ中のどこかにストアされている一連のグラフィクス
コマンド(たとえば、表示リスト)を消費器に読み出さ
せ、そして続いて、バッファの残りの読出へリターンさ
せる。FIFOバッファから異種の(out-of-line) グラ
フィクスコマンドストリングをコールするこの能力は、
付加的な柔軟性を与え、そして同期化要求をさらに減じ
る。
【0010】この発明の他の局面によれば、グラフィク
スコマンド発生器は後続するコマンドを自動的に表示リ
ストバッファへ向け直すコマンドを含むグラフィクスコ
マンドストリームを書き込むことができる。これを見え
るようにする1つの方法は、グラフィクスコマンドのス
トリームを継続的に発生する向け直し可能な消火ホース
(fire hose) としてグラフィクスコマンド発生器を想像
することである。この消火ホースは通常グラフィクスコ
マンドをFIFOバッファへ流し込む。しかしながら、
発生器は、このストリーム中に、「表示リスト開始」コ
マンドを含むことができ、このコマンドはそのコマンド
に続くグラフィクスコマンドをそれに代えて表示リスト
へ書き込むようにする。ストリーム上にさらに挿入され
た「表示リスト終了」コマンドは、表示リストを終了さ
せ、グラフィクスコマンドストリームを同じ(もしくは
異なる)FIFOバッファへ戻すように向け直すことが
できる。この特徴は、グラフィクスコマンド発生器によ
って非常に低いオーバヘッドで再使用可能な表示リスト
を効率的に生成することができるという利点を有する。
【0011】この発明によって提供される他の局面によ
れば、グラフィクスコマンド発生器は、多数のFIFO
バッファの任意のものへ中断点(break point) を挿入す
ることができる。この中断点は消費器を中断させること
ができる。そのような中断点は、緊密な同期が必要なと
きに発生器と消費器とを同期化するのに役立つ。
【0012】この発明によって提供されるさらに他の局
面によれば、グラフィクスシステムは、グラフィクスコ
マンドを出力する発生器、発生器によって出力されたグ
ラフィクスコマンドを消費する消費器、および発生器お
よび消費器の間に結合される記憶装置を含む。記憶装置
はその記憶装置中の可変位置に配置される複数のサイズ
可変バッファをストアする。サイズ可変バッファの各々
は、発生器によって出力されたグラフィクスコマンドを
消費器へ分配するためにそれを受けかつ一時的にストア
する。
【0013】この発明によって提供される別の局面によ
れば、消費器は複数のバッファの少なくともアクティブ
な1つへ書き込むことはできないが、発生器とは独立し
て複数のバッファのそのアクティブな少なくともの1つ
のためのライトポインタを維持する。発生器は複数のバ
ッファの第1バッファに関連する発生器リードポインタ
および発生器ライトポインタを与え、消費器は、その同
じバッファに関連する消費器リードポインタおよび消費
器ライトポインタを独立して維持する。消費器は、アク
ティブなバッファから消費器が読み出すことに応じて消
費器リードポインタをインクリメントし、インクリメン
トした消費器リードポインタが消費器ライトポインタに
対して所定の関係を有するときそのアクティブなバッフ
ァからの読出を中断する(suspend) 。消費器は発生器が
アクティブなバッファへ書き込むことに応答して消費器
ライトポインタを選択的にインクリメントする。
【0014】この発明の他の局面によれば、バッファ
は、発生器が記憶装置中のどこかへストアしたグラフィ
クスコマンドのセットを消費器が消費し、どこかにスト
アされたグラフィクスコマンドを消費した後にバッファ
からのグラフィクスコマンドの消費を再開するように消
費器を制御するリードコマンドを含む。このリードコマ
ンドは、表示リストの開始アドレスおよび長さを特定す
る。リードコマンドは、その特定した開始アドレスで開
始する特定した長さの表示リストを読み出すように消費
器を制御する。
【0015】この発明の他の局面によれば、複数のバッ
ファの任意のものは循環的なもしくは直線的な先入れ先
出し(FIFO)アクセスを提供する。
【0016】この発明の他の局面によれば、複数のバッ
ファの任意のものは発生器および消費器の両方へ同時に
選択的に付属され、もしくはバッファの1つは発生器に
付属され他のバッファが消費器に付属される。
【0017】この発明によって提供されるなおも他の局
面によれば、発生器は複数のバッファの各々のサイズを
割り付ける。そのような割付は、グラフィクスコマンド
の少なくとも1フレームを各バッファがストアすること
ができるようになされる。
【0018】この発明の他の局面によれば、発生器は複
数のバッファのいずれかへ中断点を書き込むことができ
る。消費器はこの中断点に遭遇したことに応じてグラフ
ィクスコマンドの消費を中断することができる。
【0019】この発明のさらに他の局面によれば、各バ
ッファは発生器がバッファの位置を上書きしたことを示
すオーバフローステータス表示器(indicator)を提供す
る。
【0020】この発明のなおも他の局面によれば、ステ
ータスレジスタもしくは他の表示器が複数のバッファの
少なくとも1つのステータスを表示することができる。
ステータスレジスタは、たとえば、 ・発生器ライトポインタの位置、 ・発生器リードポインタの位置、 ・消費器ライトポインタの位置、および ・消費器リードポインタの位置 を表示することができる。
【0021】この発明のさらに他の局面によれば、グラ
フィクスシステムは ・グラフィクスコマンドを受けかつ一時的にストアする
記憶バッファ、 ・バッファ中へグラフィクスコマンドを書き込み、その
バッファに関連して発生器ライトポインタおよび発生器
リードポインタを維持する発生器、および ・バッファ中にストアされたグラフィクスコマンドを消
費し、発生器ライトポインタとは独立している消費器ラ
イトポインタおよび発生器リードポインタとは独立して
いる消費器リードポインタを維持する消費器 を含む。
【0022】この発明のなおも他の局面によれば、グラ
フィクスシステムは発生器ライトポインタに基づいてバ
ッファ中へグラフィクスコマンドを書き込むグラフィク
スコマンド発生器、および消費器リードポインタに基づ
いてバッファからグラフィクスコマンドを読み出すグラ
フィクスコマンド消費器を含む。発明のこの局面によれ
ば、消費器ライトポインタは消費器によって独立して維
持され、発生器がバッファ中へ書き込んだ有効データの
範囲を表示する。消費器は、消費器リードポインタが消
費器ライトポインタに対して所定の関係を有することに
応じてバッファからグラフィクスコマンドを消費するの
を中止する。
【0023】この発明によって提供されるなおも他の局
面によれば、インタラクティブなグラフィクスシステム
は、アプリケーションを実行するプロセサモジュール、
グラフィクスプロセサモジュール、およびプロセサモジ
ュールならびにグラフィクスプロセサモジュールに結合
される少なくとも1つのメモリを含む。プロセサモジュ
ールとグラフィクスプロセサモジュールとの間のグラフ
ィクスコマンドのフローを制御する方法は ・FIFOバッファの各々のサイズを特定するアプリケ
ーションの制御の下で、メモリ中に可変数のFIFOバ
ッファを動的に確立するステップ、 ・複数のFIFOバッファ中の少なくとも第1バッファ
へグラフィクスコマンドを書き込むようにアプリケーシ
ョンがプロセサモジュールを制御するステップ、および ・第1FIFOバッファからグラフィクスコマンドを読
み出すようにグラフィクスプロセサモジュールを制御す
るグラフィクスコマンドをアプリケーションがグラフィ
クスプロセサモジュールに送るステップ を含む。
【0024】プロセサモジュールは複数のバッファの第
1バッファに関連してプロセサモジュールリードポイン
タおよびプロセサモジュールライトポインタを与える。
グラフィクスプロセサモジュールは、第1バッファに関
連してグラフィクスプロセサモジュールリードポインタ
およびグラフィクスプロセサモジュールライトポインタ
を独立して維持する。グラフィクスプロセサモジュール
は、グラフィクスプロセサモジュールが第1バッファか
ら読み出すたび毎にグラフィクスプロセサモジュールリ
ードポインタをインクリメントし、そのグラフィクスプ
ロセサモジュールリードポインタがグラフィクスプロセ
サモジュールライトポインタと所定の関係を有するとき
その第1バッファからの読出を中断する。グラフィクス
プロセサモジュールはプロセサモジュールが第1バッフ
ァへ書き込むことに応答してグラフィクスプロセサモジ
ュールライトポインタを選択的に自動的にインクリメン
トする。
【0025】この発明のなおも他の局面によれば、グラ
フィクスデータのフローを制御する方法は ・各々が複数の記憶位置を有する複数のサイズ可変FI
FOバッファ中へグラフィクスデータを書き込むステッ
プ、 ・複数の記憶位置の少なくとも1つに関連して中断点を
設定するステップ、 ・複数のバッファから所定の順序でグラフィクスデータ
を読み出すステップ、 ・中断点に関連する少なくとも1つの記憶位置に遭遇し
たことに応答して読出ステップを一時的に中断し、割込
を発生するステップ、および ・割込クリアコマンドの受信に応答して読出ステップを
再開するステップ を含む。
【0026】この発明によって提供されるなおもその他
の局面によれば、グラフィクスシステムは ・グラフィクスコマンドを受けかつ一時的にストアする
記憶装置、 ・記憶装置中のどこかへストアされているグラフィクス
コマンドの第1セットおよびグラフィクスコマンドの第
2セットを参照するリードコマンドを含むコマンドを記
憶装置中のバッファへ書き込む発生器、および ・バッファ中へストアされたグラフィクスコマンドの第
1セットを消費し、リードコマンドへの遭遇に応答し
て、グラフィクスコマンドの第2セットを消費し、そし
てバッファからの付加的なコマンドを引き続いて消費す
る消費器 を含む。
【0027】この発明の上述の目的,その他の目的,特
徴および利点は、図面を参照して行う以下の実施例の詳
細な説明から一層明らかとなろう。
【0028】
【実施例】図1は対話型(インタラクティブ)3Dコン
ピュータグラフィクスシステム50の一例を示す。シス
テム50は対話型3Dビデオゲームをステレオ音声とと
もにプレイするのに用いられ得る。これはまた多様な他
のアプリケーションにも用いられ得る。
【0029】この実施例において、システム50は3次
元世界のディジタル表現ないしモデルをインタラクティ
ブにかつリアルタイムに処理することができる。システ
ム50は、任意の視点から、その世界の一部または全部
を表示することができる。たとえば、システム50は、
手持ちコントローラ52aおよび52bまたは他の入力
デバイスからのリアルタイム入力に応答して、視点をイ
ンタラクティブに変化できる。このことによって、ゲー
ムプレーヤは、その世界内もしくは外の誰かの目を通し
てその世界を見ることができる。システム50は、リア
ルタイム3Dインタラクティブ表示を必要としないアプ
リケーション(たとえば2D表示の発生やおよび/また
はノンインタラクティブ表示)に使用できるが、高品質
の3D映像を非常に速く表示する能力は、非常にリアル
でエキサイティングなゲームプレイや他のグラフィクス
インタラクションを創造するのに使用され得る。
【0030】システム50を用いてビデオゲームまたは
他のアプリケーションをプレイするために、ユーザはま
ず、主ユニット54を、カラーテレビ56または他の表
示装置に、両者の間にケーブル58を接続することによ
って、接続する。主ユニット54はカラーテレビ56を
制御するためのビデオ信号およびオーディオ信号を発生
する。ビデオ信号はテレビジョン画面59上に表示され
ている映像を制御するものであり、オーディオ信号はテ
レビのステレオスピーカ61Lおよび61Rを通して音
声として再生される。
【0031】ユーザはまた主ユニット54を電源につな
ぐ必要がある。この電源は従来のACアダプタ(図示せ
ず)であってよく、そのACアダプタは家庭用の標準的
な壁ソケットに差し込まれ、家庭用電源を、主ユニット
54を駆動するのに適した低いDC電圧信号に変換す
る。他の実施例ではバッテリが用いられてもよい。
【0032】ユーザは主ユニット54を制御するために
手持ちコントローラ52aおよび52bを用いる。コン
トロール60は、たとえば、3D世界内においてテレビ
56に表示されているキャラクタが移動すべき方向(上
または下、左または右、近づいてまたは遠ざかって)を
指示するために使用され得る。コントロール60は、ま
た他のアプリケーションのための入力(たとえばメニュ
ー選択,ポインタ/カーソル制御,その他)を与える。
コントローラ52は多様な形態をとり得る。この実施例
においては、図示されるコントローラ52は、各々ジョ
イスティック,押しボタンおよび/または方向スイッチ
のようなコントロール60を含む。コントローラ52
は、ケーブルによって、もしくは電磁波(たとえば電波
または赤外線)を介してワイヤレスで、主ユニット54
に接続され得る。
【0033】ゲームのようなアプリケーションをプレイ
するために、ユーザはビデオゲームもしくはプレイした
いと思う他のアプリケーションをストアしている適宜の
記憶媒体62を選択し、その記憶媒体を主ユニット54
のスロット64に差し込む。記憶媒体62は、たとえ
ば、特別にエンコードされおよび/または記号化された
光学的ならびに/もしくは磁気的ディスクであってよ
い。ユーザは主ユニット54をオンするために電源スイ
ッチ66を操作し、主ユニットがその記憶媒体62にス
トアされているソフトウェアに基づいてビデオゲームも
しくは他のアプリケーションを実行し始めるようにす
る。ユーザは主ユニットに入力を与えるためにコントロ
ーラ52を操作する。たとえば、コントロール60を操
作することによってゲームもしくは他のアプリケーショ
ンをスタートさせる。他のコントロール60を動かすこ
とによって、動画キャラクタを異なる方向に移動させ、
または3D世界におけるユーザの視点を変化させる。記
憶媒体62にストアされている具体的なソフトウェアに
よって、コントローラ52上の種々のコントロール60
は異なる時間で異なる機能を達成することができる。 全体システムの例 図2はシステム50の例示的なコンポーネントのブロッ
ク図であり、重要なコンポーネントは、 ・主プロセサ(CPU)110, ・主メモリ112,および ・グラフィクス/オーディオプロセサ114 を含む。
【0034】この実施例において、主プロセサ110
(たとえばIBMパワーPC750の改良版)は、手持
ちコントローラ52(および/または他の入力デバイ
ス)からの入力をグラフィクス/オーディオプロセサ1
14を通して受ける。主プロセサ110はユーザ入力に
インタラクティブに応答し、光ディスクドライブのよう
な大容量記憶媒体アクセス装置106を介して、たとえ
ば外部記憶媒体62から供給されるビデオゲームもしく
は他のプログラムを実行する。一例として、ビデオゲー
ムプレイの状況では、主プロセサ110は、多様なイン
タラクティブ制御機能に加えて、衝突検出および動画処
理を実行する。
【0035】この実施例では、主プロセサ110は3D
グラフィクス/オーディオコマンドを発生し、それらを
グラフィクス/オーディオプロセサ114に送る。グラ
フィクス/オーディオプロセサ114はこれらのコマン
ドを処理し、ディスプレイ59上での可視映像を生成
し、ステレオスピーカ61Rおよび61Lもしくは他の
適宜の音声発生デバイス上でのステレオ音声を生成す
る。
【0036】実施例のシステム50はビデオエンコーダ
120を含み、このビデオエンコーダは、グラフィクス
/オーディオプロセサ114からの映像信号を受けて、
その映像信号をコンピュータモニタや家庭用テレビ56
のような標準的な表示装置上での表示に適したアナログ
および/またはディジタルビデオ信号に変換する。シス
テム100はまたオーディオコーデック(圧縮器/伸長
器)122を含み、このオーディオコーデックはディジ
タル化されたオーディオ信号を圧縮しかつ伸長するとと
もに、必要に応じてディジタルオーディオ信号のフォー
マットとアナログオーディオ信号のフォーマットとの間
で変換を行う。オーディオコーデック122はバッファ
124を介してオーディオ入力を受けることができ、処
理(たとえば、プロセサが生成したおよび/または大容
量記憶媒体アクセス装置106のストリームオーディオ
出力を介して受信した他のオーディオ信号とのミキシン
グ)するために、そのオーディオ入力をグラフィクス/
オーディオプロセサ114に与える。この実施例におけ
るグラフィクス/オーディオプロセサ114は、オーデ
ィオタスクに利用可能なオーディオメモリ126にオー
ディオ関連情報をストアすることができる。グラフィク
ス/オーディオプロセサ114は、結果的に得られるオ
ーディオ出力信号を、圧縮およびアナログ信号への変換
のために、オーディオコーデック122に与え、したが
ってそのオーディオ出力信号が(たとえばバッファアン
プ128Lおよび128Rを介して)スピーカ61Lお
よび61Rによって再生され得る。
【0037】グラフィクス/オーディオプロセサ114
はシステム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 を含む。
【0038】3Dグラフィクスプロセサ154はグラフ
ィクス処理タスクを実行する。オーディオディジタル信
号プロセサ156はオーディオ処理タスクを実行する。
表示コントローラ164は主メモリ112からの映像情
報にアクセスし、表示装置102上での表示のためにそ
の映像情報をビデオエンコーダ120に与える。オーデ
ィオインタフェース/ミキサ160はオーディオコーデ
ック122をインタフェースし、また異なるソースから
のオーディオ(たとえば、大容量記憶媒体アクセス装置
106からのオーディオストリーム,オーディオDSP
156の出力,およびオーディオコーデック122を通
して受ける外部オーディオ入力)をミックスすることが
できる。プロセサインタフェース150は主プロセサ1
10およびグラフィクス/オーディオプロセサ114の
間のデータおよび制御インタフェースを提供する。
【0039】メモリインタフェース152はグラフィク
ス/オーディオプロセサ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つのキャッシュラインに送
る。
【0040】コマンドプロセサ200は主プロセサ11
0からの表示コマンドを受け、それらを解剖し、メモリ
コントローラ152を介して共用メモリ112からのそ
のコマンドを処理するに必要な付加的なデータを入手す
る。コマンドプロセサ200は、2Dおよび/または3
D処理およびレンダリングのために、頂点コマンドのス
トリームをグラフィクスパイプライン180に与える。
グラフィクスパイプライン180はこれらのコマンドに
基づいて映像を生成する。結果として得られた映像情報
は、表示コントローラ/ビデオインタフェースユニット
164によるアクセスのために主メモリ120に転送さ
れ得て、この映像情報は表示装置156上にパイプライ
ン180のフレームバッファ出力を表示する。
【0041】図5はグラフィクスプロセサ154を用い
て実行される処理を図解的に示すブロックロジックフロ
ー図である。主プロセサ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を介して 取り込む。
【0042】コマンドプロセサ200はコマンド処理動
作200aを実行し、そのコマンド処理動作200aは
アトリビュート形式を浮動小数点フォーマットに変換
し、結果的に得られた完全頂点ポリゴンデータをレンダ
リング/ラスタライゼーションのためにグラフィクスパ
イプライン180に与える。プログラマブルメモリ調停
回路130(グラフィクスメモリ要求調停回路:図4)
は、グラフィクスパイプライン180,コマンドプロセ
サ200および表示コントローラ/ビデオインタフェー
スユニット164の間での共用主メモリ112へのアク
セスを調停する。
【0043】図4は、グラフィクスパイプライン180
が ・変換ユニット300, ・セットアップ/ラスタライザ400, ・テクスチャユニット500, ・テクスチャ環境ユニット600,および ・ピクセルエンジン700 を含むことを示す。
【0044】変換ユニット300は多様な2Dおよび3
D変換および他の動作300a(図5)を実行する。変
換ユニット300は変換処理300aに用いられるマト
リクスをストアするための1つ以上のマトリクスメモリ
300bを含む。変換ユニット300は、入来する頂点
毎のジオメトリをオブジェクト空間からスクリーン空間
へ変換し、そして入来するテクスチャ座標を変換しかつ
投影テクスチャ座標(300c)を計算する。変換ユニ
ット300はまたポリゴンクリッピング/カリング(cli
pping/culling)300dを実行する。変換ユニット30
0bによってまた達成されるライティング(lighting)
処理300eが、この実施例では8つまでの独立した照
明(light:ライト)について、頂点毎にライティング計
算を行う。変換ユニット300は、エンボス(embossed)
タイプのバンプマッピング効果およびポリゴンクリッピ
ング/カリング動作(300d)のために、テクスチャ
座標を発生する(300c)。
【0045】セットアップ/ラスタライザ400はセッ
トアップユニットを含み、このセットアップユニット
は、変換ユニット300からの頂点データを受け、三角
形セットアップ情報を、エッジラスタライゼーション,
テクスチャ座標ラスタライゼーションおよびカラーラス
タライゼーションを実行する1つ以上のラスタライザユ
ニット(400b)に送る。
【0046】テクスチャユニット500は、オンチップ
テクスチャメモリ(TMEM)502を含んでもよく、
たとえば、 ・主メモリ112からのテクスチャ504の検索、 ・たとえばマルチテクスチャ処理,ポストキャッシュテ
クスチャ伸長,テクスチャフィルタリング,エンボシン
グ,投影テクスチャの使用を通しての陰影付け,および
アルファトランスパーレンシおよびデプスを用いるBL
ITを含むテクスチャ処理(500a)、 ・バンプマッピング,偽(pseudo)テクスチャおよびテク
スチャタイル(tiling)効果(500b)のためのテクス
チャ座標変位を計算するバンプマップ処理、および ・間接テクスチャ処理(500c) を含むテクスチャリングに関連する種々のタスクを実行
する。
【0047】テクスチャユニット500はテクスチャ環
境処理(600a)のためにフィルタされたテクスチャ
値をテクスチャ環境ユニット600に出力する。テクス
チャ環境ユニット600は、ポリゴンおよびテクスチャ
カラー/アルファ/デプスをブレンドし、また逆レンジ
ベース(reverse range based)のフォグ効果を達成する
ために、テクスチャフォグ処理(600b)を実行す
る。テクスチャ環境ユニット600はたとえばカラー/
アルファ変調,エンボシング,詳細テクスチャ,テクス
チャスワッピング,クランピングおよびデプスブレンデ
ィングに基づく多様な他の環境関連機能を実行する多数
のステージを提供する。
【0048】ピクセルエンジン700はデプス(z)比
較(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) で並列的に動作
することができる。
【0049】並列処理を達成するためにバッファ210
を用いる(少なくとも)2つの方法があり、中間モード
(immediate mode)およびマルチバッファモード(multi-b
uffer mode) である。1つのバッファ210が主プロセ
サ110およびグラフィクスプロセサ114の両方へ付
属させられるとき、システム50は中間モードで動作し
ている。主プロセサ110がグラフィクスコマンドをバ
ッファ210へ書き込むと、グラフィクスプロセサ11
4はそれらを順に処理する。書込が読出を追い越すのを
防ぎかつ循環的なバッファ動作を提供するためにバッフ
ァ210のリードおよびライトポインタを第1アドレス
へラップさせるためにハードウェアサポートがフロー制
御ロジックを与える。
【0050】好ましい実施例においては、また、マルチ
バッファモードにおいて、グラフィクス/オーディオプ
ロセサ114が異なるバッファ210(1)から読出し
ている間1つのバッファ210を主プロセサ110へ接
続することができる。この場合、バッファ210(1)
および210(2)は、いずれの特定のバッファ210
へも同時的な読出および書込がないので、従来のFIF
Oというよりもバッファのように管理される。バッファ
の動的なメモリ管理が望まれるなら、マルチバッファモ
ードが使用され得る。
【0051】図6は共用メモリ112の一部が発生器1
10および消費器114の間でのグラフィクス(および
オーディオ)コマンドをバッファリングするためにどの
ようにして割り当てられて多数のFIFOコマンドバッ
ファ210(1),210(2),…,210(n)を
提供するかを示す。図6に示す例において、バッファ2
10の各々は主プロセサ110からのグラフィクス(お
よび/またはオーディオ)コマンドを受け、それらのコ
マンドをグラフィクス/オーディオプロセサ114へ与
える。主プロセサ110はこれらのバッファ210とし
ての使用のために、主メモリ112の一部を割り当て
る。主メモリの領域を記述するバッファデータ構造子(s
tructure) が、主プロセサ110上で実行中のアプリケ
ーションによって割り付けられる。
【0052】主プロセサ110はライトポインタ802
を用いてバッファ中へグラフィクスコマンドを書き込
む。グラフィクス/オーディオプロセサ114はリード
ポインタ804を用いてバッファ210からコマンドを
読み出す。ライトポインタ802およびリードポインタ
804は同じのもしくは異なるバッファをポイント(指
示)することができる。この方法において、同じバッフ
ァ210が主プロセサ110およびグラフィクス/オー
ディオプロセサ114の両方へ同時に「付属」させら
れ、もしくは異なるバッファが発生器および消費器に異
なる時間で付属させられ得る。
【0053】図6に示すマルチバッファの例において、
主プロセサ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を独立的に維持することができ
る。
【0054】主プロセサ110によって維持されている
付加的なポインタ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)内の最終有効データを示すように
用いているので、このインクリメントの手続きを中止す
る。
【0055】ポインタ802,804,806および8
08はバッファ210内の任意の位置をポイントするこ
とができる。有効データは、したがってこれらのバッフ
ァ内の任意の場所に存在し、必ずしもバッファの始めま
たは終りである必要はない。実際に、もしバッファ21
0が循環モード(circular mode) で動作すると、バッフ
ァの終りは始めにラップされ、そしてそれゆえにバッフ
ァは論理的には連続ループであるので、「開始」または
「終了」の概念はない。
【0056】図7は独立した消費器および発生器のリー
ドおよびライトポインタの簡単化した説明を提供する。
図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に向ける必要があることを示している。
【0057】同じように、発生器はそれに付属されてい
るバッファ210(2)中へグラフィクスコマンドを書
き続け、同じように、発生器リードポインタ806が示
す位置の直前であるバッファの位置をライトポインタが
ポイントするまで、発生器ライトポインタ802を自動
的にインクリメントする(図9参照)。この例におい
て、ライトポインタ802とリードポインタ806との
間の一致(実際にはごく接近して)は、バッファ210
(2)がフルであることを示す。マルチバッファが有効
であれば、発生器はこの時点でバッファ210(2)へ
の書込を中止し、それを「セーブ」(閉じる)し、消費
器に対してその「閉じた」バッファの内容を(今または
後に)読み出すように指令し、主メモリ112中に割り
当てることができるなおも他のバッファ210へ付加的
なグラフィクスコマンドを書き込むのを開始する。発生
器110および消費器114が同じバッファへ付属され
ると、そのバッファへさらなるコマンドを書き込む前
に、発生器は、消費器がコマンドを読み出すまで待つ必
要がある。以下に説明するように、このような頻繁な状
況の切換を回避するために、好ましい実施例はプログラ
マブルなヒステリシス効果を提供でき、それは発生器が
バッファへの書込の再開を許容される前に或る量によっ
てバッファがエンプティにされることを要し、消費器が
バッファからの読出の再開を許容される前に或る量によ
ってバッファがフルになる必要がある。
【0058】好ましい実施例においては、主プロセサ1
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を
コールできるという点で非常に有用である(たとえば、
フレームからフレームへ静止したままであるジオメトリ
をレンダリングするような場合)。
【0059】図11ないし図13は、グラフィクスコマ
ンド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である。
【0060】FIFO_BASEレジスタ822はFI
FO210のベースアドレスを規定する。FIFO_T
OPレジスタ824はFIFOにおける最終(last)アド
レスを規定する。
【0061】コマンドプロセサ200はハードウェア中
においてFIFO210のためのリードおよびライトポ
インタのトラッキングを保持する。FIFO中に書き込
まれたすべてのデータがキャッシュライン(cache line)
のサイズにされるので、有効バイトのトラッキングを保
持する必要はない。ライトポインタ808はFIFO_
BASEとFIFO_TOPとの間にあるアドレス中に
キャッシュラインが書き込まれる毎に32バイトによっ
てインクリメントされる(最上位5ビットは0)。FI
FO210の読出が一度に1キャッシュラインで行われ
る。リードポインタはキャッシュラインが読み出された
後、32によってインクリメントされる。
【0062】最初に、リードポインタ804およびライ
トポインタ808が同じ位置を示すように初期化され、
それはFIFOがエンプティであることを意味する(図
8参照)。FIFOフル状態は、(リードポインタ−
1)=(ライトポインタ)である(図9参照)。ライト
ポインタ808はそれがFIFO_TOPへ達した後に
FIFO_BASE204(2)へラップされる。リー
ドポインタ804もまたそれがFIFO_TOP824
へ達するときラップされる。リードポインタ804はハ
ードウェアによって制御され、ラップされた場合におい
てもライトポインタ808を追い越さないようにされて
いる。プロセサ110上で動いているアプリケーション
によって、ライトポインタ808は、ラップされた後に
も、リードポインタ804より大きくならないようにさ
れる。
【0063】2つ(またはそれ以上)の異なるフレーム
からのデータは同じFIFO210中へ存在することが
できる。第1フレームが内蔵DRAM702へコピーア
ウトされる前にコマンドプロセサ200が第2フレーム
を実行するのを防止するために中断点機構が用いられ得
る。FIFO中断点(レジスタ)832がイネーブルさ
れると、コマンドプロセサ200はCP_FIFO_B
RKレジスタを読み出さない。CPU110はフレーム
の終わりでこのレジスタ832をプログラムすることが
できる。CPU110はグラフィクス/オーディオプロ
セサ114上の書込バッファをフラッシュしなければな
らず、次いで、FIFOライトポインタ808を読み出
す。そして、CPU110はFIFO中断点レジスタ8
32へ値を書き込み、中断点をイネーブルする。
【0064】FIFO210のサイズが1フレーム中に
送られたすべてのデータを保持するに十分大きければ、
図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がコールされたとき初期化される。
【0065】
【表1】
【0066】FIFOベースポインタは、この好ましい
実施例においては32ビットに合わされている。アプリ
ケーションはFIFOのためにメモリを割り付ける責任
がある。割付のためのサイズのパラメータはバイトにお
けるFIFOのサイズである(最小FIFOサイズは6
4Kバイトであり、サイズは32バイトの倍数であ
る)。デフォルトによって、GXInitが中間モードグラフ
ィクスのFIFOをセットアップすると、すなわち、C
PU110およびグラフィクスプロセサ114がFIF
Oに付属されると、リードおよびライトポインタはベー
スポインタに初期化され、高水位および低水位マーク
(low water mark:ローウォータマーク)がイネーブル
される。GXInitは初期化したGXFifoObj へのポインタを
アプリケーションへリターンする。
【0067】アプリケーションがマルチバッファモード
で動作することを望むなら、次いで、追加のFIFOが
割り付けられなければならない。任意の数のそのような
追加のFIFOバッファ210が割り付けられ得る。ア
プリケーションは各追加のFIFO毎にメモリに割り付
け、GXFifoObj を同じように初期化する。次に例示する
関数はGXFifoObj を初期化するために使用され得る。
【0068】
【表2】
【0069】通常、アプリケーションはFIFOリード
およびライトポインタをFIFOのベースアドレスへ初
期化する必要があるだけである。一旦初期化されると、
システムハードウェアはリードおよびライトポインタを
自動的に制御する。 FIFOの付属およびセーブ FIFOが一旦初期化されると、それはCPU110ま
たはグラフィクスプロセサ114もしくはその両方へ付
属される。ただ1つのFIFOが同時にCPU110お
よびグラフィクスプロセサ114のいずれかに付属され
得る。FIFOがCPU110に付属されると、CPU
はFIFOに対してGXコマンドを発行する。FIFOが
グラフィクスプロセサ114に付属されたとき、プロセ
サ114はFIFOからグラフィクスコマンドを読み出
すためにイネーブルされる。次に例示する関数がFIF
Oを付属させる。
【0070】
【表3】
【0071】どのFIFOオブジェクトが現在これらの
例示的な関数によって付属されたかを問い合わせる。
【0072】
【表4】
【0073】マルチバッファモードにおいてCPU11
0がGXコマンドの書込を終了すると、FIFOは新たな
FIFOに切り換える前に「セーブ」されなければなら
ない。次に例示する関数がCPUのFIFOを「セー
ブ」する。
【0074】
【表5】
【0075】FIFOがセーブされると、CPUの書込
収集バッファ111がフラッシュされてすべてのグラフ
ィクスコマンドが主メモリ112へ書き込まれる。さら
に、現在のFIFOのリードおよびライトポインタがGX
FifoObj の構造子中にストアされる。
【0076】グラフィクスプロセサ114のためにはセ
ーブ関数はないということに留意されたい。グラフィク
スプロセサが付属されると、グラフィクスコマンドは ・FIFOがエンプティになる、 ・FIFO中断点に遭遇する、あるいは ・GPが先に獲得される まで読み出され続ける。 FIFOステータス 次の例示の関数はFIFOおよびGP(グラフィクスパ
イプライン)のステータスを読み出すために使用され得
る。
【0077】
【表6】
【0078】GXGetFifoStatus は特定のFIFOのステ
ータスを獲得する。もし、FIFOが現在CPU110
に付属されていると、パラメータcpu_writeはGX_TRUEで
ある。FIFOが現在グラフィクスプロセサ114に付
属されていると、パラメータgp_readはGX_TRUEである。
FIFOがCPU110もしくはグラフィクスプロセサ
114のいずれかに付属されているとき、ステータスは
ハードウェアの状態から直接に読み取られる。FIFO
が付属されていなければ、ステータスはGXFifoObj から
読み出される。GXGetFifoStatus は特定されたFIFO
がオーバフローしたかあるいはそこへの書込に十分な部
屋(room)を有するかを報告する。一般的に、ハードウェ
アはFIFOがオーバフローしたこと、すなわちデータ
の量がFIFOのサイズを超えたことを検出することは
できない。
【0079】FIFOのオーバフローを検出する一般的
な方法はないけれども、ハードウェアは、CPUライト
ポインタがFIFOの先頭に達したことを検出すること
ができる。この状態が生じると、「fifowrap」の引数(a
rgument)がGX_TRUEにリターンする。この「fifowrap」
の引数は、もしCPUのライトポインタが常にFIFO
のベースに初期化されるとすると、FIFOのオーバフ
ローを検出するために使用され得る。「fifowrap」は、
FIFOが現在CPU110に付属されていれば、セッ
トされる。
【0080】GXGetGPStatus はグラフィクスプロセサ1
14のステータスを(それに付属されているFIFOに
拘わらず)を取り込むために使用され得る。新たなグラ
フィクスプロセサのFIFOを付属させる前に必要な最
小限の条件はグラフィクスプロセサ114がアイドル状
態(idle)になるのを待つことである(しかし付加的な制
約が存在する)。アンダーフローおよびオーバフローの
ステータスはライトポインタがハイウォータマークおよ
びローウォータマークに関連する場所を示す。 FIFOのフロー制御 FIFOがCPUおよびグラフィクスプロセサの両方に
付属されているとき(中間モード)、FIFOがフルに
なり過ぎたときにはCPUがコマンドの書込を停止する
ように注意しなければならない。「ハイウォータマー
ク」はグラフィクスコマンドがもはやFIFOへ書き込
めなくなるであろう前に如何にFIFOのフルを取り込
むかを規定する。好ましい実施例においては、CPU内
に16Kバイトまでのグラフィクスコマンドがバッファ
リングされ得て、そのためにハイウォータマークを(F
IFOのサイズ−16Kバイト)に設定することが望ま
しい。
【0081】ハイウォータマークに遭遇すると、プログ
ラムは中断されるが、オーディオのような他の割込駆動
タスクは作動する。プログラマはマルチスレッドプログ
ラムにおいてどの具体的なスレッドが中断されるべきで
あるかを特定することを望む。
【0082】「ローウォータマーク」はプログラム(ま
たはスレッド)が継続できる前に「ハイウォータマー
ク」に達した後にFIFOのエンプティを取り込まなけ
ればならない。ローウォータマークは(FIFOのサイ
ズ/2)に設定されることが望ましい。新たなコマンド
データの量がハイウォータマークに接近して留まってい
るときにプログラムが何らかのレジスタをポーリングし
たり定常的にオーバフロー割込を受け付ける必要がない
ので、このローウォータマークはプログラムにおける頻
繁な状況の切換を防止する。
【0083】マルチバッファモードにおいては、ハイお
よびローウォータマークはディスエーブルされる。FI
FOがCPU110へ付属されていてCPUがFIFO
が保持できるより以上のコマンドを書き込むときに、ラ
イトポインタは最終アドレスからベースアドレスへラッ
プされ戻される。FIFOにある先のグラフィクスコマ
ンドは上書きされる。ライトポインタがFIFOの先頭
へラップするときを検出することはできる(それは、コ
マンドが送られる前にFIFOのライトポインタがFI
FOのベースに初期化されている場合に限ってオーバフ
ローを示す)。上で述べたGXGetFifoStatus を参照のこ
と。
【0084】マルチバッファモードにおいてFIFO
(バッファ)のオーバフローを防止するために、ソフト
ウェアベースでチェックする方法が使用され得る。主プ
ロセサ110上で実行中のプログラムはバッファサイズ
のそれ自身のカウンタを保持しなければならず、そして
任意のグループのコマンドがバッファへ付加される前
に、プログラムは部屋があるかどうかをチェックして判
断する。もし部屋が利用可能であれば、グループのサイ
ズがバッファサイズへ加えられ得る。もし部屋が利用可
能でなければ、バッファはフラッシュされて新たなもの
が割り付けられる。 表示リストコールの使用 好ましい実施例においてFIFOバッファ210から表
示リストをコールするために、アプリケーションはま
ず、表示リストをストアするためのメモリ中のスペース
を割り付ける。メモリエリアが一旦セットアップされる
と、アプリケーションは、たとえば次のものをコールす
る。
【0085】
【表7】
【0086】「リスト」の引数が表示リストがストアさ
れる位置の開始アドレスであり、「サイズ」の引数が表
示リストコマンドを書き込むための割り付けられたスペ
ースにおいて利用可能なバイト数を示す場合、システム
がオーバフローをチェックすることができる。
【0087】「GXBeginDisplayList」が一旦コールされ
ると、別のGXコマンドが通常のコマンドFIFOに代わ
って表示リストへ書き込まれる。「GXEndDisplayList」
コマンドは表示リストの終了へ信号を送り、先に向けら
れていたFIFOへコマンドストリームをリターンさせ
る。「GXEndDisplayList」コマンドはまた、生成された
表示リストの実際のサイズを、好ましい実施例において
は32バイトの倍数としてリターンする。
【0088】実施例において、表示リストは入れ子(nes
t)されることはない。このことは、GXBeginDisplayList
が一旦発行されると、GXEndDisplayListコマンドがやっ
て来るまでに他のGXBeginDisplayListまたはGXCallDisp
layList コマンドを発行することは違法であることを意
味する。しかしながら、別の実施例においては、任意の
所望の入れ子レベルに表示リストを入れ子することはで
きる。 グラフィクスFIFO関数の例 以下に例示する関数はグラフィクスFIFOの管理を提
供する。
【0089】
【表8】
【0090】グラフィクスFIFOの制限を設定する。
この関数は初期化時にコールされる。FIFOアドレス
はグラフィクスパイプラインがフラッシュされない限り
変更されることはない。SetDefaultのフラグがセットさ
れると、FIFOはリセットされ(すなわち、リード/
ライトポインタをFIFOのベースへ)、そして割込が
ディスエーブルされる。デフォルトによって、ハイウォ
ータマークがサイズの2/3に設定され、ローウォータ
マークがサイズの1/3に設定される。
【0091】
【表9】
【0092】この関数はFIFOの制限をセットする。
リードポインタがローウォータマーク以下になったとき
もしくはライトポインタがハイウォータマーク以上にな
ったとき、グラフィクスハードウェアはCPUへ割込を
かける。RdBreakMark がリードポインタ中断点を設定す
るために使用される。
【0093】
【表10】
【0094】FIFOに関連する割込をイネーブルしも
しくはディスエーブルする。BreakPointは、先のフレー
ムがまだコピーされているときにCPによってFIFO
の読出をフォールトするために使用され得る。
【0095】
【表11】
【0096】保留中の割込をクリアする。
【0097】
【表12】
【0098】FIFOリードおよびライトポインタをセ
ットする。これらのポインタはハードウェアによって維
持される。この関数はハードウェア値を無視する(たと
えば、表示リストのコンパイルのために)。
【0099】
【表13】
【0100】FIFOのステータスおよびカウントをリ
ターンする。 表示リスト関数の例 表示リストは予めコンパイルされたコマンドのアレイで
あり、グラフィクスパイプラインのためのデータであ
る。次に例示するコマンドは表示リストを操作するため
にFIFOバッファ210中へ挿入される。
【0101】
【表14】
【0102】この関数は表示リストを生成しかつ開始さ
せる。APIは表示リストモードにされる。これに後続
するすべてのAPI関数は、表示リスト関数の任意のも
のを除いて、EndDisplayListまでコールし、グラフィク
スパイプラインに代わって表示リストバッファへそれら
のデータおよびコマンドを送る。表示リストはこの実施
例においては入れ子されない。すなわち、BeginDisplay
ListおよびEndDisplayListの間ではどんな表示リスト関
数もコールされることはない。表示リストのためのメモ
リはアプリケーションによって割り付けられる。
【0103】
【表15】
【0104】この関数は現在開かれている表示オブジェ
クトを終了させ、システムを中間モードに戻す。
【0105】
【表16】
【0106】この関数は表示リストを実行する。 レジスタフォーマット 次のテーブルはCPU110によってアドレス可能なコ
マンドプロセサ200における例示的なレジスタを示
す。
【0107】
【表17】
【0108】互換性のある他の実施例 上述のシステム50のあるものは上で述べた家庭用ビデ
オゲームコンソールの構成以外としても実現できる。た
とえば、或るものは、システム50をエミュレートする
異なる構成を有するプラットフォームもしくはそれと同
等のものにおいて、システム50のために書かれたグラ
フィクスアプリケーションや他のソフトウェアを実行さ
せることができる。もし、他のプラットフォームがシス
テム50のいくつかのもしくはすべてのハードウェアお
よびソフトウェアリソースをエミュレートしシミュレー
トしおよび/または提供することができれば、その他の
プラットフォームはそのソフトウェアを成功裏に実行す
ることができる。
【0109】一例として、エミュレータがシステム50
のハードウェアおよび/またはソフトウェア構成(プラ
ットフォーム)とは異なるハードウェアおよび/または
ソフトウェア構成(プラットフォーム)を提供できる。
そのエミュレータシステムは、それのためにアプリケー
ションソフトウェアが書かれているシステムのいくつか
のもしくはすべてのハードウェアおよび/またはソフト
ウェアコンポーネンツをエミュレートしもしくはシミュ
レートするソフトウェアおよび/またはハードウェアコ
ンポーネンツを含む。たとえば、エミュレータシステム
はパソコンのような汎用ディジタルコンピュータを含
み、それはシステム50のハードウェアおよび/または
ファームウェアをシミュレートするソフトウェアエミュ
レータプログラムを実行する。上述のオーディオシステ
ムのDSP処理がパソコンによってエミュレートされ得
る。
【0110】或る汎用ディジタルコンピュータ(たとえ
ばIBMやマッキントッシュのパソコンおよびそれらの
同等物)は、ダイレクトX(DirectX)または他の標準的
な3DグラフィクスコマンドAPIsに従った3Dグラ
フィクスパイプラインを提供する3Dグラフィクスカー
ドを備える。それらはまた、音声コマンドの標準的なセ
ットに基づいて高品質のステレオ音声を提供するステレ
オ音声カードを備える。エミュレータソフトウェアを実
行するそのようなマルチメディアのハードウェアを備え
るパソコンは、システム50のグラフィクスおよび音声
性能とほぼ等しい十分な性能を有する。エミュレータソ
フトウェアはパソコンプラットフォーム上のハードウェ
アリソースを制御して、それのためにゲームプログラマ
がゲームソフトウェアを書いた家庭用ビデオゲームコン
ソールプラットフォームの処理,3Dグラフィクス,音
声,周辺および他の能力をシミュレートする。
【0111】図14はホストプラットフォーム120
1,エミュレータコンポーネント1303および記憶媒
体62上のゲームソフトウェア実行可能バイナリ映像を
用いる全体のエミュレーション処理を図解する。ホスト
1201は、たとえばパソコン,ビデオゲームコンソー
ルあるいは十分な計算力を有する任意の他のプラットフ
ォームのような汎用または特定目的ディジタル計算装置
である。エミュレータ1303はそのホストプラットフ
ォーム1201上で走るソフトウェアおよび/またはハ
ードウェアであり、記憶媒体62からのコマンド,デー
タおよび他の情報のそのホスト1201によって実行可
能な形態へのリアルタイム変換を行う。たとえば、エミ
ュレータ1303は記憶媒体62からシステム50によ
って実行されるように意図された「ソース」であるバイ
ナリ映像プログラム命令を取り込み、これらのプログラ
ム命令をホスト1201によって実行されもしくは処理
され得るターゲットとなる形態に変換する。
【0112】一例として、ソフトウェアがIBMパワー
PCまたは他の特定のプロセサを用いるプラットフォー
ム上での実行のために書かれかつホスト1201が異な
る(たとえばインテル)プロセサを用いるパソコンであ
る場合、エミュレータ1203は記憶媒体1305から
の1つのもしくは一連のバイナリ映像プログラム命令を
取り込み、これらのプログラム命令を1つまたはそれ以
上の同等のインテルのバイナリ映像プログラム命令に変
換する。エミュレータ1203はまたグラフィクス/オ
ーディオプロセサ114によって処理されるように意図
されたグラフィクスコマンドおよびオーディオコマンド
を取り込みかつ/あるいは生成し、そしてホスト120
1上で利用可能なハードウェアおよび/またはソフトウ
ェアグラフィクス/オーディオ処理リソースによって処
理され得る形態にこれらのコマンドを変換する。一例と
して、エミュレータ1303はホスト1201の特別な
グラフィクスおよび/または音声ハードウェア(たとえ
ば標準的なダイレクトX,オープンGLおよび/または
音声APIs)によって処理され得るコマンドにこれら
のコマンドを変換する。
【0113】システム50の或るエミュレータは、上で
述べたバッファリングおよびフロー制御技術のいくつか
もしくはすべてを単に「無視」する。なぜなら、エミュ
レータは上で述べた実施例のハードウェア構成より非常
に多いメモリリソースを持たなければならないからであ
る。そのようなエミュレータは、典型的には、割付メモ
リリソースによるバッファ割付のための要求に応答する
が、異なるフロー制御処理を提供するであろう。上で述
べたステータスおよびフロー制御要求は、ハードウェア
のエミュレートされた状態を維持しそのステータス要求
に応答するためにその状態を使用することによってエミ
ュレートされ得る。
【0114】上で述べたビデオゲームシステムの特徴の
いくつかあるいはすべてを提供するために使用されるエ
ミュレータ1303は、グラフィクスユーザインタフェ
ース(GUI)を備え、そのGUIはエミュレータを使
ったゲームの実行のための種々の動作やスクリーンモー
ドの選択を単純化しもしくは自動化する。一例におい
て、そのようなエミュレータ1303はさらに、ソフト
ウェアがそれのために元々意図されていたホストプラッ
トホームに比べて増強された機能性を含む。
【0115】図15はエミュレータ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あるいはその他のもの)がまた使用
できる。
【0116】エミュレータ1303を含む多数のプログ
ラムモジュールがハードディスク1211,着脱可能な
磁気ディスク1215,光ディスク1219および/ま
たはシステムメモリ1205のROM1252および/
またはRAM1254にストアされ得る。このようなプ
ログラムモジュールはグラフィクス/音声APIs,1
つ以上のアプリケーションプログラム,他のプログラム
モジュール,プログラムデータおよびゲームデータを提
供するオペレーティングシステム(OS)を含む。ユー
ザは、キーボード1227,ポインティングデバイス1
229,マイクロフォン,ジョイスティック,ゲームコ
ントローラ,衛星アンテナ(satellite dish),スキャナ
あるいはその他のもののような入力デバイスを通して、
パソコンシステム1201にコマンドおよび情報を入力
することができる。これらのそして他の入力デバイス
は、システムバス1207に結合されたシリアルポート
インタフェース1231を通して処理ユニット1203
に接続され得るが、パラレルポート,ゲームポートファ
イヤワイヤバス(Fire Wire)もしくはユニバーサルシリ
アルバス(USB)のような他のインタフェースによっ
て接続されてもよい。モニタまたは他のタイプの表示デ
バイスがまたビデオアダプタ1235のようなインタフ
ェースを介してシステムバス1207に接続される。
【0117】システム1201はモデム1154または
インターネットのようなネットワーク1152を通して
の通信を確立するための他のネットワークインタフェー
ス手段を含む。内蔵もしくは外付けであってよいモデム
1154はシリアルポートインタフェース1231を介
してシステムバス123に接続される。システム120
1がローカルエリアネットワーク1158を介して遠隔
コンピュータ装置1150(たとえば他のシステム12
01)と通信するのを許容するために、ネットワークイ
ンタフェース1156がまた設けられてもよい(もしく
はそのような通信はダイヤルアップもしくは他の通信手
段のようなワイドエリアネットワーク1152もしくは
他の通信経路を介してもよい)。システム1201はプ
リンタのような周辺出力装置および他の標準的な周辺装
置を含む。
【0118】一例では、ビデオアダプタ1235は、マ
イクロソフト(Microsoft)のダイレクトX7.0、また
は他のバージョンのような標準的な3Dグラフィクスア
プリケーションプログラマインタフェースに基づいて発
行された3Dグラフィクスコマンドに応答して、高速の
3Dグラフィクスレンダリングを提供する3Dグラフィ
クスパイプラインチップセットを含んでもよい。1組の
スピーカ1237はまた、バス1207によって与えら
れる音声コマンドに基づいて高品質ステレオ音声を生成
するハードウェアおよび埋め込みソフトウェアを提供す
る従来の「音声カード」のような音声生成インタフェー
スを介して、システムバス1207に接続される。これ
らのハードウェア能力によって記憶媒体1305中にス
トアされているソフトウェアを再生するためにシステム
1201に十分なグラフィクスおよび音声の速度性能を
与えることができる。
【0119】上で参照したすべての書類をここで、参照
によって取り入れる。
【0120】最も現実的かつ好ましい実施例であると現
在考えられているものに関連してこの発明が説明された
が、この発明は開示された実施例に限定されるものでは
なく、逆に、特許請求の範囲内に含まれる種々の変形例
や等価的な構成をカバーするように意図されていること
を理解されたい。
【図面の簡単な説明】
【図1】図1はインタラクティブコンピュータグラフィ
クスシステムの実施例を示す全体図である。
【図2】図2は図1実施例のコンピュータグラフィクス
システムのブロック図である。
【図3】図3は図2に示す実施例のグラフィクス/オー
ディオプロセサのブロック図である。
【図4】図4は図3に示す実施例の3Dグラフィクスプ
ロセサのブロック図である。
【図5】図4のグラフィクス/オーディオプロセサの例
示的なロジックフロー図である。
【図6】図6はマルチバッファリングの例を示す。
【図7】図7は独立した消費器および発生器のリードな
らびにライトポインタの例を示す。
【図8】図8はエンプティおよびフルバッファ状態の例
を示す。
【図9】図9はエンプティおよびフルバッファ状態の例
を示す。
【図10】図10はFIFOバッファからの表示リスト
のコールの例を示す。
【図11】図11は表示リスト作成例を示す。
【図12】図12は表示リスト作成例を示す。
【図13】図13は表示リスト作成例を示す。
【図14】図14はFIFO管理の実施例を示す。
【図15】図15は互換性のある実施例を示す。
【図16】図16は別の互換性のある実施例を示す。
【符号の説明】
50 …インタラクティブ3Dコンピュータグラフィク
スシステム 54 …主ユニット 110 …主プロセサ 111 …書込収集バッファ 112 …主メモリ 114 …グラフィクス/オーディオプロセサ 180 …グラフィクスパイプライン 200 …キャッシュ/コマンドプロセサ 210 …グラフィクスコマンドFIFO 212 …表示リスト 802 …発生器ライトポインタ 804 …発生器リードポインタ 806 …消費器ライトポインタ 808 …消費器リードポインタ 890 …中断点

Claims (81)

    【特許請求の範囲】
  1. 【請求項1】グラフィクスコマンドを出力する発生器、 発生器によって出力されたグラフィクスコマンドを消費
    する消費器、および発生器および消費器の間に結合さ
    れ、消費器への分配のために、発生器によって出力され
    たグラフィクスコマンドを受けかつ一時的にストアする
    少なくとも1つのバッファをストアする記憶装置を備
    え、 発生器および消費器は前記バッファを他方とは独立して
    アクセスすることができる、グラフィクスシステム。
  2. 【請求項2】発生器および消費器は独立したリードおよ
    び/またはライトポインタを有する、請求項1記載のグ
    ラフィクスシステム。
  3. 【請求項3】記憶装置はその記憶装置内の選択された位
    置に配置された複数のサイズ可変バッファをストアす
    る、請求項1記載のグラフィクスシステム。
  4. 【請求項4】記憶装置は各々が発生器および/または消
    費器によって独立してアクセスされ得る複数のバッファ
    をストアする、請求項1記載のグラフィクスシステム。
  5. 【請求項5】消費器は、複数のバッファの少なくともア
    クティブな1つへ書き込みすることができないが、その
    複数のバッファの少なくとも前記アクティブな1つのた
    めのライトポインタを発生器とは独立して維持する、請
    求項4記載のグラフィクスシステム。
  6. 【請求項6】消費器は発生器がアクティブなバッファへ
    書き込んだことに応答して消費器ライトポインタを選択
    的にインクリメントする、請求項2記載のグラフィクス
    システム。
  7. 【請求項7】発生器は前記複数のバッファの第1のバッ
    ファに関連する発生器リードポインタおよび発生器ライ
    トポインタを与え、消費器は前記複数のバッファの前記
    第1バッファに関連する消費器リードポインタおよび消
    費器ライトポインタを独立して維持する、請求項4記載
    のグラフィクスシステム。
  8. 【請求項8】消費器は、その消費器がアクティブなバッ
    ファから読み出すことに応じて消費器リードポインタを
    インクリメントし、そのインクリメントした消費器リー
    ドポインタが消費器ライトポインタと所定の関係を有す
    るとき、アクティブなバッファからの読出を中断する、
    請求項6記載のグラフィクスシステム。
  9. 【請求項9】複数のバッファの第1バッファは、発生器
    が記憶装置内のどこかへストアしたグラフィクスコマン
    ドのセットを消費させかつどこかにストアされたそのグ
    ラフィクスコマンドを消費した後にはその第1バッファ
    からのグラフィクスコマンドの消費を再開させるよう
    に、消費器を制御するリードコマンドを含む、請求項4
    記載のグラフィクスシステム。
  10. 【請求項10】リードコマンドは、表示リストの開始ア
    ドレスと長さとを特定し、その特定した開始アドレスで
    始まる特定した長さの表示リストを読み出すように消費
    器を制御する、請求項9記載のグラフィクスシステム。
  11. 【請求項11】バッファは循環的な先入れ先出し(FI
    FO)アクセスを与える、請求項1記載のグラフィクス
    システム。
  12. 【請求項12】バッファは直線的な先入れ先出し(FI
    FO)アクセスを与える、請求項1記載のグラフィクス
    システム。
  13. 【請求項13】バッファは発生器および消費器の両方へ
    同時に選択的に付属され得る、請求項1記載のグラフィ
    クスシステム。
  14. 【請求項14】バッファは発生器に付属され、別のバッ
    ファが消費器に付属される、請求項1記載のグラフィク
    スシステム。
  15. 【請求項15】バッファはまず発生器に付属され、次い
    で、発生器から離されかつ消費器に付属される、請求項
    1記載のグラフィクスシステム。
  16. 【請求項16】バッファは発生器、消費器、またはその
    両方へ付属され得る、請求項1記載のグラフィクスシス
    テム。
  17. 【請求項17】1つのバッファだけが一度に発生器に付
    属される、請求項1記載のグラフィクスシステム。
  18. 【請求項18】1つのバッファだけが一度に消費器に付
    属される、請求項1記載のグラフィクスシステム。
  19. 【請求項19】バッファは16Kバイトの最大サイズを
    有する、請求項1記載のグラフィクスシステム。
  20. 【請求項20】発生器はバッファのサイズをセットす
    る、請求項1記載のグラフィクスシステム。
  21. 【請求項21】バッファはグラフィクスコマンドのフレ
    ームをストアするために動的にサイズを決められる、請
    求項1記載のグラフィクスシステム。
  22. 【請求項22】発生器は、バッファ開始アドレスおよび
    バッファ長を特定するグラフィクスバッファ初期化コマ
    ンドを発行することによってバッファを宣言する、請求
    項1記載のグラフィクスシステム。
  23. 【請求項23】バッファは32バイトの倍数である長さ
    を有しかつ64Kバイトの最小サイズを有する、請求項
    1記載のグラフィクスシステム。
  24. 【請求項24】発生器はバッファに中断点を書き込み、
    消費器はその中断点への遭遇に応じてグラフィクスコマ
    ンドの消費を中断する、請求項1記載のグラフィクスシ
    ステム。
  25. 【請求項25】バッファは、発生器がバッファ内の位置
    に上書きしたときを示すオーバフローステータス表示器
    を有する、請求項1記載のグラフィクスシステム。
  26. 【請求項26】さらに、バッファのステータスを示すハ
    ードウェアステータスレジスタを備える、請求項1記載
    のグラフィクスシステム。
  27. 【請求項27】ステータスレジスタは、バッファフルお
    よびバッファエンプティに関連する発生器ライトポイン
    タの位置;バッファオーバフロー;発生器が現在バッフ
    ァへ書き込んでいるかどうか;および消費器が現在バッ
    ファから読み出しているかどうかのパラメータを含む、
    請求項26記載のグラフィクスシステム。
  28. 【請求項28】さらに、バッファに結合され、書込が読
    出を追い越すのを防止するために、フロー制御ロジック
    を与えるハードウェアコントローラを備える、請求項1
    記載のグラフィクスシステム。
  29. 【請求項29】さらに、バッファに結合され、リードお
    よびライトポインタを最後の位置から最初の位置へラッ
    プするハードウェアコントローラを備える、請求項1記
    載のグラフィクスシステム。
  30. 【請求項30】発生器はプロセサを含み、消費器はグラ
    フィクスパイプラインを有するグラフィクスプロセサを
    含む、請求項1記載のグラフィクスシステム。
  31. 【請求項31】記憶装置は主システムメモリを含み、発
    生器は主システムメモリ内において前記バッファを動的
    に割り付ける、請求項1記載のグラフィクスシステム。
  32. 【請求項32】グラフィクスコマンドを受けかつ一時的
    にストアする記憶バッファ、 前記バッファ内へグラフィクスコマンドを書き込み、バ
    ッファに関連する発生器ライトポインタおよび発生器リ
    ードポインタを維持する発生器、および発生器ライトポ
    インタとは独立した消費器ライトポインタおよび発生器
    リードポインタとは独立した消費器リードポインタを維
    持し、バッファ内にストアされているグラフィクスコマ
    ンドを消費する消費器を備える、グラフィクスシステ
    ム。
  33. 【請求項33】消費器は消費器がバッファから消費する
    たび毎に消費器リードポインタをインクリメントし、消
    費器リードポインタが消費器ライトポインタと所定の関
    係を有するときバッファからの消費を中断する、請求項
    32記載のグラフィクスシステム。
  34. 【請求項34】消費器は発生器がバッファへ書込を行っ
    たことに応答して消費器ライトポインタを選択的に自動
    的にインクリメントする、請求項32記載のグラフィク
    スシステム。
  35. 【請求項35】発生器は、消費器が発生器のバッファへ
    の書込に応答して消費器ライトポインタを自動的にイン
    クリメントすべきかどうかを特定する構成コマンドを消
    費器に送る、請求項32記載のグラフィクスシステム。
  36. 【請求項36】発生器ライトポインタに基づいてバッフ
    ァ中へグラフィクスコマンドを書き込むグラフィクスコ
    マンド発生器と、消費器リードポインタに基づいてバッ
    ファからグラフィクスコマンドを読み出すグラフィクス
    コマンド消費器とを含むグラフィクスシステムにおい
    て、 消費器によって消費器ライトポインタが独立的に維持さ
    れ、その消費器ライトポインタは発生器が前記バッファ
    中へ書き込んだ有効データの範囲を示し、消費器は消費
    器リードポインタが消費器ライトポインタに対して所定
    の関係を有することに応答してバッファからのグラフィ
    クスコマンドを消費することを中止するようにしたこと
    を特徴とする、グラフィクスシステム。
  37. 【請求項37】アプリケーションを実行するプロセサモ
    ジュール、グラフィクスプロセサモジュール、およびプ
    ロセサモジュールおよびグラフィクスプロセサモジュー
    ルに結合された少なくとも1つのメモリを含むインタラ
    クティブなグラフィクスシステムにおいて、プロセサモ
    ジュールとグラフィクスプロセサモジュールとの間のグ
    ラフィクスコマンドのフローを制御する方法であって、 アプリケーションの制御の下で、メモリ中の可変数のF
    IFOバッファを動的に確立し、そのアプリケーション
    がFIFOバッファの各々のサイズを特定し、アプリケ
    ーションは、複数のFIFOバッファの少なくとも第1
    のFIFOバッファ中にグラフィクスコマンドを書き込
    むようにプロセサモジュールを制御し、そしてアプリケ
    ーションは、グラフィクスプロセサモジュールが前記プ
    ロセサの書込とは独立して第1のFIFOバッファから
    グラフィクスコマンドを読み出すのを制御するグラフィ
    クスコマンドをグラフィクスプロセサモジュールに送
    る、方法。
  38. 【請求項38】プロセサモジュールは複数の第1のバッ
    ファに関連するプロセサモジュールリードポインタおよ
    びプロセサモジュールライトポインタを与え、そしてグ
    ラフィクスプロセサモジュールは前記第1のバッファに
    関連するグラフィクスプロセサモジュールリードポイン
    タおよびグラフィクスプロセサモジュールライトポイン
    タを独立して維持する、請求項37記載の方法。
  39. 【請求項39】グラフィクスプロセサモジュールはグラ
    フィクスプロセサモジュールが第1のバッファから読み
    出すたび毎にグラフィクスプロセサモジュールリードポ
    インタをインクリメントし、グラフィクスプロセサモジ
    ュールリードポインタがグラフィクスプロセサモジュー
    ルライトポインタと所定の関係を有するとき第1のバッ
    ファからの読出を中断する、請求項37記載の方法。
  40. 【請求項40】グラフィクスプロセサモジュールは、プ
    ロセサモジュールが第1のバッファへ書き込むことに応
    答してグラフィクスプロセサモジュールライトポインタ
    を選択的に自動的にインクリメントする、請求項37記
    載の方法。
  41. 【請求項41】グラフィクスプロセサモジュールは、プ
    ロセサモジュールとは独立して、複数のバッファの少な
    くともアクティブな1つのためのライトポインタを維持
    する、請求項37記載の方法。
  42. 【請求項42】さらに、中断点を設定し、そしてグラフ
    ィクスプロセサモジュールがその中断点に遭遇すること
    に応答してグラフィクスプロセサモジュールがバッファ
    を読み出すのを少なくとも一時的に中断するようにし
    た、請求項37記載の方法。
  43. 【請求項43】選択的な制御ステップは、オーバフロー
    の検出に応答してプロセサモジュールがバッファへ書き
    込むのを中断させるステップを含む、請求項37記載の
    方法。
  44. 【請求項44】グラフィクスデータのフローを制御する
    方法であって、 グラフィクスデータを各々が複数の記憶位置を有する複
    数のサイズ可変FIFOバッファへ書き込むステップ、 複数の記憶位置の少なくとも1つに関連する中断点を設
    定するステップ、 所定の順序で複数のバッファからグラフィクスデータを
    読み出すステップ、 中断点に関連する少なくとも1つの記憶位置への遭遇に
    応答して読出ステップを一時的に中断して割り込みを発
    生するステップ、および割り込みクリアコマンドの受信
    に応答して読出ステップを再開するステップを含む、方
    法。
  45. 【請求項45】再開ステップは中断点ディスエーブルコ
    マンドの受信に応答して行われる、請求項44記載の方
    法。
  46. 【請求項46】書込ステップは、第1イメージフレーム
    に対応するグラフィクスデータをバッファの第1部分へ
    書き込むステップ、および第2イメージフレームに対応
    するグラフィクスデータをバッファの第2部分へ書き込
    むステップを含み、そして設定ステップは第1および第
    2バッファ部分を分離する位置に関連して中断点を設定
    するステップを含む、請求項44記載の方法。
  47. 【請求項47】所定順序は先入れ先出し(FIFO)で
    ある、請求項44記載の方法。
  48. 【請求項48】書込ステップは汎用処理ハードウェアに
    よって行われ、読出ステップは特定目的グラフィクスハ
    ードウェアによって行われる、請求項44記載の方法。
  49. 【請求項49】読出ステップおよび書込ステップは実質
    的に同時に行われる、請求項44記載の方法。
  50. 【請求項50】書込ステップは読出ステップが開始する
    前に完了する、請求項44記載の方法。
  51. 【請求項51】再開された読出ステップは、別の中断点
    に遭遇するか、バッファがエンプティになるかあるいは
    グラフィクスデータによって表されるイメージフレーム
    が異常終了するまで継続する、請求項44記載の方法。
  52. 【請求項52】さらに、バッファのステータスを表示す
    るステップを含む、請求項44記載の方法。
  53. 【請求項53】ステータス表示ステップは、バッファフ
    ルおよびバッファエンプティに関連するライトポインタ
    の位置;バッファオーバフロー;書込ステップがアクテ
    ィブであること;コマンド処理がアイドル状態であるか
    どうか;および読出ステップがアクティブであること
    の、パラメータの少なくとも3つを表示する、請求項5
    2記載の方法。
  54. 【請求項54】書込ステップはバッファを循環的に書き
    込むステップを含み、読出ステップはバッファを循環的
    に読み出すステップを含む、請求項44記載の方法。
  55. 【請求項55】グラフィクスコマンドを受けかつそれを
    一時的にストアする記憶装置、 前記記憶装置中のどこかにストアされているグラフィク
    スコマンドの第1セットおよびグラフィクスコマンドの
    第2セットを参照するコマンドを含むコマンドを前記記
    憶装置中のバッファへ書き込む発生器、およびバッファ
    中にストアされているグラフィクスコマンドの第1セッ
    トを消費し、参照コマンドに遭遇したことに応答して、
    それによって参照されたグラフィクスコマンドの第2セ
    ットを消費し、その後バッファからの付加的なコマンド
    を消費するためにバッファへリターンする消費器を備え
    る、グラフィクスシステム。
  56. 【請求項56】バッファは循環バッファである、請求項
    55記載のグラフィクスシステム。
  57. 【請求項57】参照コマンドは表示リストの開始アドレ
    スを特定し、その参照コマンドはその特定された開始ア
    ドレスで開始する表示リストを読み出すように消費器を
    制御する、請求項55記載のグラフィクスシステム。
  58. 【請求項58】参照コマンドは消費器が消費すべきデー
    タユニットの数を特定する、請求項55記載のグラフィ
    クスシステム。
  59. 【請求項59】消費器はバッファへの書込はできない
    が、発生器とは独立してバッファのためのライトポイン
    タを維持する、請求項55記載のグラフィクスシステ
    ム。
  60. 【請求項60】グラフィクスシステムにおいて、グラフ
    ィクスコマンドの発生器からのグラフィクスコマンドを
    グラフィクスコマンドの消費器へ送る方法であって、 発生器および消費器に結合されたメモリ中の可変位置に
    配置された複数のサイズ可変バッファを作り、 サイズ可変バッファへ発生器によって発生されたグラフ
    ィクスコマンドを一時的にストアし、 発生器とは独立してバッファをアクセスすることによっ
    てサイズ可変バッファからのグラフィクスコマンドを消
    費器によって消費し、そして消費されたグラフィクスコ
    マンドの少なくとも一部に基づいてグラフィクスイメー
    ジの少なくとも一部を発生する、方法。
  61. 【請求項61】消費器は複数のバッファの少なくともア
    クティブな1つへ書き込むことはできず、さらに、発生
    器とは独立して、消費器が複数のバッファの少なくとも
    前記アクティブな1つのためのライトポインタを維持す
    る、請求項60記載の方法。
  62. 【請求項62】さらに、前記複数のバッファの第1バッ
    ファに関連する発生器リードポインタおよび発生器ライ
    トポインタを発生器によって維持し、消費器によって、
    独立して、前記複数のバッファの前記第1バッファに関
    連する消費器リードポインタおよび消費器ライトポイン
    タを維持する、請求項60記載の方法。
  63. 【請求項63】さらに、消費器によって、アクティブな
    バッファから消費器が読み出すことに応じて消費器リー
    ドポインタをインクリメントし、そしてインクリメント
    した消費器リードポインタが消費器ライトポインタと所
    定の関係を有するときアクティブなバッファからの読出
    を中断する、請求項62記載の方法。
  64. 【請求項64】さらに、発生器がアクティブなバッファ
    へ書き込むことに応答して選択的に消費器ライトポイン
    タをインクリメントする、請求項63記載の方法。
  65. 【請求項65】複数のバッファの第1バッファはリード
    コマンドを含み、さらに、 (a) リードコマンドに遭遇することに応答して、発生器
    が記憶装置のどこかにストアしたグラフィクスコマンド
    のセットを消費し、 (b) どこかにストアされたグラフィクスコマンドを消費
    した後、第1バッファからのグラフィクスコマンドの消
    費を再開する、請求項60記載の方法。
  66. 【請求項66】リードコマンドは表示リストの開始アド
    レスおよび長さを特定し、そしてステップ(a) では特定
    した開始アドレスで開始する特定した長さの表示リスト
    を読み出すように消費器を制御する、請求項65記載の
    方法。
  67. 【請求項67】複数のバッファの第1バッファは循環的
    な先入れ先出し(FIFO)アクセスを提供する、請求
    項60記載の方法。
  68. 【請求項68】複数のバッファの第1バッファは直線的
    な先入れ先出し(FIFO)アクセスを提供する、請求
    項60記載の方法。
  69. 【請求項69】さらに、発生器および消費器の両方へ複
    数のバッファのいずれかを同時に選択的に付属させる、
    請求項60記載の方法。
  70. 【請求項70】複数のバッファの第1バッファを発生器
    へ付属させ、複数のバッファの第2バッファを消費器へ
    付属させる、請求項60記載の方法。
  71. 【請求項71】複数のバッファの第1バッファを発生器
    へ付属させ、次いで、発生器から第1バッファを切り離
    し、第1バッファを消費器へ付属させる、請求項60記
    載の方法。
  72. 【請求項72】複数のバッファのいずれかを発生器へ、
    または消費器へ、もしくは両方へ付属させる、請求項6
    0記載の方法。
  73. 【請求項73】複数のバッファの1つだけを一度に発生
    器へ付属させる、請求項60記載の方法。
  74. 【請求項74】複数のバッファの1つだけを一度に消費
    器へ付属させる、請求項60記載の方法。
  75. 【請求項75】イメージを発生する方法であって、 バッファに関連する発生器ライトポインタおよび発生器
    リードポインタを維持するステップ、 バッファへグラフィクスコマンドを書き込み、そしてそ
    の書込に応答して少なくともライトポインタを更新する
    ステップ、 バッファに関連して、発生器ライトポインタとは独立し
    た消費器ライトポインタおよび発生器リードポインタと
    は独立した消費器リードポインタを維持するステップ、 バッファ内にストアされたグラフィクスコマンドを消費
    し、その消費に応答して少なくともリードポインタを更
    新するステップ、および消費ステップに少なくとも部分
    的に応答してグラフィクスイメージの少なくとも一部を
    発生するステップを含む、方法。
  76. 【請求項76】イメージを発生する方法であって、 記憶装置内のどこかにストアされたグラフィクスコマン
    ドの第1セットおよびグラフィクスコマンドの第2セッ
    トを参照するコマンドを含むコマンドを前記記憶装置内
    のバッファへ書き込むステップ、 バッファにストアされているグラフィクスコマンドの第
    1セットを消費するステップ、 参照コマンドへの遭遇に応答して、グラフィクスコマン
    ドの第2セットを消費し、その後、バッファからの付加
    的なコマンドを消費するように自動的にリターンするス
    テップ、および消費されたグラフィクスコマンドの第1
    セットおよび第2セットに少なくとも部分的に応答して
    イメージの少なくとも一部を発生するステップを含む、
    方法。
  77. 【請求項77】グラフィクスコマンドの第2セットは表
    示リストを含む、請求項76記載の方法。
  78. 【請求項78】データ構造子を発生する方法であって、 表示リストの開始を示す所定のコマンドを含むグラフィ
    クスコマンドストリームをコマンドストリームバッファ
    へ書き込むステップ、および所定のコマンドに応答し
    て、コマンドストリームバッファからのグラフィクスコ
    マンドストリームを表示リストバッファへ向け直すステ
    ップを含む、方法。
  79. 【請求項79】コマンドストリームバッファは先入れ先
    出し(FIFO)バッファを含む、請求項78記載の方
    法。
  80. 【請求項80】さらに、表示リストバッファからのグラ
    フィクスコマンドストリームをコマンドストリームバッ
    ファへ向け直す別の所定のコマンドを書き込むステップ
    を含む、請求項78記載の方法。
  81. 【請求項81】3Dグラフィクスコマンドを3Dグラフ
    ィクスコマンド消費器へ供給する方法であって、 (a) 所定の記憶位置で開始するコマンドシーケンスをス
    トアするステップ、および(b) FIFOバッファを通し
    てコマンド消費器を所定の記憶位置へ参照させる少なく
    とも1つのコマンドを含むグラフィクスコマンドストリ
    ームを消費器へ供給するステップを含み、 所定の記憶位置で開始するコマンドシーケンスを消費し
    た後発生器はFIFOバッファへリターンする、方法。
JP2001195710A 2000-08-23 2001-06-28 グラフィクスシステム Expired - Fee Related JP4757406B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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