JP2002063570A - グラフィクスパイプラインおよびそれの同期化方法 - Google Patents

グラフィクスパイプラインおよびそれの同期化方法

Info

Publication number
JP2002063570A
JP2002063570A JP2001128570A JP2001128570A JP2002063570A JP 2002063570 A JP2002063570 A JP 2002063570A JP 2001128570 A JP2001128570 A JP 2001128570A JP 2001128570 A JP2001128570 A JP 2001128570A JP 2002063570 A JP2002063570 A JP 2002063570A
Authority
JP
Japan
Prior art keywords
graphics
token
graphics pipeline
data message
content data
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
JP2001128570A
Other languages
English (en)
Other versions
JP4808858B2 (ja
Inventor
Timothy J Vanhook
ジェイ ヴァンフック ティモシー
Farhad Fouladi
フォーラディ ファーハッド
Robert Moore
ムーア ロバート
Howard H Cheng
エイチ チェン ハワード
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 JP2002063570A publication Critical patent/JP2002063570A/ja
Application granted granted Critical
Publication of JP4808858B2 publication Critical patent/JP4808858B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)

Abstract

(57)【要約】 【構成】 プログラマブルなデータメッセージを含む同
期化トークンがグラフィクスパイプラインへ送られるグ
ラフィクスコマンドストリーム中に挿入される。パイプ
ラインの終端近くの所定点において、そのトークンが捕
捉されかつそのトークンか到達したことを示す信号が発
生される。グラフィクスコマンド生成器は捕捉したトー
クンを見て、複数の可能性のあるトークンのどれが捕捉
されたかを判断し、タスクをグラフィクスパイプライン
と同期化するために情報を使用することができる。 【効果】 グラフィクスパイプラインがグラフィクスコ
マンド生成器からのコマンドストリームに含まれるコマ
ンドをそれぞれ異なる速度で処理しても、グラフィクス
パイプラインの動作をそのコマンド生成器(主プロセ
サ)の動作と同期化させることができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明はコンピュータグラフィ
クスに関し、特にたとえば家庭用ビデオゲームプラット
フォームのようなインタラクティブなグラフィクスシス
テムに関する。さらに具体的には、この発明は、可変コ
ンテンツ同期化トークンを使用する、グラフィクスパイ
プラインとグラフィクスコマンドプロセサとの間の同期
化に関する。
【0002】
【発明の背景】多くの人々はかなりリアルな恐竜,エイ
リアン,生き生きとしたおもちゃおよび他の空想的な動
物を含む映画をかつて見たことがある。そのようなアニ
メーションはコンピュータグラフィクスによって可能と
された。そのような技術を用いて、コンピュータグラフ
ィクスのアーティストは、各オブジェクトがどのように
見えるべきかや時間の経過とともに外見上どのように変
化すべきかを特定し、コンピュータは、そのオブジェク
トをモデル化してテレビジョンやコンピュータスクリー
ンのようなディスプレイに表示する。コンピュータは、
表示される映像の各部分を、場面中の各オブジェクトの
位置や向き,各オブジェクトを照らすように見える照明
の方向,各オブジェクトの表面テクスチャ,および他の
要素に正確に基づいて、色付けしまた形作るために必要
な多くのタスクを実行する。
【0003】コンピュータグラフィクスの生成は複雑で
あるので、ここ数年前のコンピュータによって生成され
た3次元(3D)グラフィクスは、ほとんど高価な特殊
なフライトシミュレータ,ハイエンドグラフィクスワー
クステーションおよびスーパーコンピュータに限られて
いた。大衆は映画や高価なテレビコマーシャルにおいて
これらのコンピュータシステムによって生成された映像
のいくつかを見たが、大部分の人はグラフィクスを生成
しているコンピュータに対して実際に相互作用をさせる
ことはできない。たとえば、Nintendo64(登録商標)や
今や利用可能であるパソコン用の種々の3Dグラフィク
スカードのような比較的安価な3Dグラフィクスプラッ
トフォームの利用によって、このすべてが変わった。今
や、家庭や会社の比較的安価なコンピュータグラフィク
スシステム上でエキサイティングな3Dアニメーション
やシミュレーションに対して相互作用を及ぼすことがで
きる。
【0004】グラフィクスシステム設計者が過去に直面
した問題は、グラフィクスパイプラインをグラフィクス
コマンド生成器のような外部コンポーネントと如何に同
期化するかである。典型的なグラフィクスレンダリング
システムは、いくつかの非同期コンポーネンツ(たとえ
ば、グラフィクスコマンドを発生するグラフィクスコマ
ンド生成器、コマンドを消費しかつフレームバッファ出
力を生成するグラフィクスプロセサ、およびフレームバ
ッファを表示する表示インタフェース)を含む。レンダ
リングシステムの異なるステージを同期化して各種の動
作間において等時性(time-coherence)を確立することが
しばしば望まれる。たとえば、グラフィクスコマンド生
成器にとって、或る状況下において、グラフィクスプロ
セサが或るグラフィクスコマンドの処理をいつ終えたか
を知ることは非常に有用である。このような同期化問題
は、典型的なグラフィクスプロセサが異なるグラフィク
スコマンドを処理するについて異なる時間量を要すると
いう点で煩瑣である。
【0005】この問題に対する種々のソリューションが
提案されている。たとえば、グラフィクスパイプライン
とグラフィクスコマンド生成器との間の同期化を提供す
るために過去に用いられた1つの技術は、グラフィクス
表示リスト中のすべてのコマンドが処理されたときにグ
ラフィクスパイプラインにコマンド生成器に対して割込
を送るようにさせることである。この同期化能力は非常
に有用ではあるけれども、グラフィクス表示リスト中の
より中間的な同期化要求(たとえば、グラフィクスパイ
プラインが表示リストの残りのものについて仕事を続け
ている間、グラフィクスコマンド生成器あるいは他の動
作コンポーネントをイネーブルして新たなグラフィクス
コマンドを送信する以外の何らかのタスクを実行する)
を解決できるものではない。
【0006】グラフィクスコマンドストリーム中に可変
コンテンツトークン識別子を挿入することによってグラ
フィクスプロセサが処理のために異なるアイテムを選択
できるようにすることが知られている。しかしながら、
そのようなトークン識別子は、同期化目的のためには一
般的ではなく、グラフィクスパイプラインがそれに基づ
いて動作するデータ構造や他のアイテムを識別するため
に使用された。
【0007】過去に意義深い仕事がなされたが、さらな
る改良が望まれている。
【0008】
【発明の概要】この発明は、グラフィクスパイプライン
をたとえばグラフィクスコマンド生成器のような外部動
作コンポーネントと同期化する技術および構成を提供す
ることによって、上述のような同期化問題を解決する。
この発明によって提供される1つの局面によれば、可変
データメッセージを含むトークンがグラフィクスパイプ
ラインへ送られるグラフィクスコマンドストリーム中に
挿入される。パイプラインの所定点においてトークンが
捕捉され、信号が発生されてトークンが到着したことを
示す。外部コンポーネントは、その捕捉されたトークン
を見て、複数の可能性のあるトークンのどれが捕捉され
たかを判断することができる。
【0009】具体的な実施例においては、グラフィクス
パイプラインは、パイプライン中の所定点にトークンが
到達したとき割込を発生し、他の動作コンポーネントは
捕捉されたトークンの値を判断するためにトークンレジ
スタをポーリングすることができる。グラフィクスコマ
ンド生成器あるいは他の動作コンポーネントは、タスク
をグラフィクスパイプラインと同期化するために、たと
えばグラフィクスパイプラインおよびグラフィクスコマ
ンド生成器の間で共用されるメモリにおけるメモリ等時
性を維持するために、トークン同期化情報を使用するこ
とができる。この発明の他の局面によれば、グラフィク
スコマンド生成器は同じグラフィクスコマンドストリー
ム中に異なる値の複数のトークンを挿入することがで
き、グラフィクスパイプライン中の所定点にどのトーク
ンが到達したかを判断するために比較を用いる。異なる
タスクが、その点にどのトークンが到達したかに基づい
て、トリガされ得る。
【0010】この発明によって提供される1つの局面に
よれば、グラフィクスパイプラインとの同期化方法で
は、グラフィクスパイプラインに可変コンテンツ同期化
トークンを送信し、そしてパイプライン中の所定点にト
ークンが到達したタイミングを検出する。このトークン
は、或る実施例では、グラフィクスパイプラインが変更
もしくは修飾しない可変コンテンツデータメッセージを
含む。検出ステップでは、トークンレジスタによって返
送された値と送信したトークンの値とを比較する。そし
て、検出ステップは、割込に応答してトークンレジスタ
をポーリングするようにしてもよい。
【0011】この発明によって提供される他の局面によ
れば、コマンドプロセサ,変換ユニット,ライティング
ユニット,テクスチャ座標発生器,テクスチャマッパ,
ラスタライザ,ブレンダ,ピクセルエンジンおよびフレ
ームバッファを含む形式のグラフィクスパイプラインと
同期化する方法では、グラフィクスパイプライン中に可
変コンテンツデータメッセージを挿入し、グラフィクス
パイプラインの所定点でその可変コンテンツデータメッ
セージを捕捉し、可変コンテンツデータメッセージがそ
のグラフィクスパイプライン中の所定点に到達したとき
に信号を伝達し、そして捕捉した可変コンテンツデータ
メッセージが挿入した可変コンテンツデータメッセージ
と対応するかどうかを判断する。信号伝達ステップは、
可変コンテンツデータメッセージがグラフィクスパイプ
ラインの終端(bottom)に到達したとき割込を発生する。
捕捉ステップでは、可変コンテンツデータメッセージを
レジスタにストアし、そして判断ステップでは、そのレ
ジスタの内容を読み出す。
【0012】この発明によって提供されるさらに他の局
面によれば、コマンドプロセサは可変コンテンツデータ
メッセージを受け、かつその可変コンテンツデータメッ
セージをパイプラインを通してピクセルエンジンにパス
する。ピクセルエンジンは可変コンテンツデータメッセ
ージを捕捉するレジスタを含み、可変コンテンツデータ
メッセージがピクセルエンジンに到達したときに信号を
伝達する。
【0013】この発明によって提供される別の局面は、
グラフィクスコマンドストリーム中に挿入される可変コ
ンテンツデータメッセージを含むトークンを提供する。
グラフィクスシステムは、トークンより前のグラフィク
スストリームの部分が処理されたかどうかについての問
い合わせに対して応答を与えることによって、グラフィ
クスシステムのイベントを同期化することができる。
【0014】この発明の上述の目的,その他の目的,特
徴および利点は、図面を参照して行う以下の実施例の詳
細な説明から一層明らかとなろう。
【0015】
【実施例】図1は対話型(インタラクティブ)3Dコン
ピュータグラフィクスシステム50の一例を示す。シス
テム50は対話型3Dビデオゲームをステレオ音声とと
もにプレイするのに用いられ得る。これはまた多様な他
のアプリケーションにも用いられ得る。
【0016】この実施例において、システム50は3次
元世界のディジタル表現ないしモデルをインタラクティ
ブにかつリアルタイムに処理することができる。システ
ム50は、任意の視点から、その世界の一部または全部
を表示することができる。たとえば、システム50は、
手持ちコントローラ52aおよび52bまたは他の入力
デバイスからのリアルタイム入力に応答して、視点をイ
ンタラクティブに変化できる。このことによって、ゲー
ムプレーヤは、その世界内もしくは外の誰かの目を通し
てその世界を見ることができる。システム50は、リア
ルタイム3Dインタラクティブ表示を必要としないアプ
リケーション(たとえば2D表示の発生やおよび/また
はノンインタラクティブ表示)に使用できるが、高品質
の3D映像を非常に速く表示する能力は、非常にリアル
でエキサイティングなゲームプレイや他のグラフィクス
インタラクションを創造するのに使用され得る。
【0017】システム50を用いてビデオゲームまたは
他のアプリケーションをプレイするために、ユーザはま
ず、主ユニット54を、カラーテレビ56または他の表
示装置に、両者の間にケーブル58を接続することによ
って、接続する。主ユニット54はカラーテレビ56を
制御するためのビデオ信号およびオーディオ信号を発生
する。ビデオ信号はテレビジョン画面59上に表示され
ている映像を制御するものであり、オーディオ信号はテ
レビのステレオスピーカ61Lおよび61Rを通して音
声として再生される。
【0018】ユーザはまた主ユニット54を電源につな
ぐ必要がある。この電源は従来のACアダプタ(図示せ
ず)であってよく、そのACアダプタは家庭用の標準的
な壁ソケットに差し込まれ、家庭用電源を、主ユニット
54を駆動するのに適した低いDC電圧信号に変換す
る。他の実施例ではバッテリが用いられてもよい。
【0019】ユーザは主ユニット54を制御するために
手持ちコントローラ52aおよび52bを用いる。コン
トロール60は、たとえば、3D世界内においてテレビ
56に表示されているキャラクタが移動すべき方向(上
または下、左または右、近づいてまたは遠ざかって)を
指示するために使用され得る。コントロール60は、ま
た他のアプリケーションのための入力(たとえばメニュ
ー選択,ポインタ/カーソル制御,その他)を与える。
コントローラ52は多様な形態をとり得る。この実施例
においては、図示されるコントローラ52は、各々ジョ
イスティック,押しボタンおよび/または方向スイッチ
のようなコントロール60を含む。コントローラ52
は、ケーブルによって、もしくは電磁波(たとえば電波
または赤外線)を介してワイヤレスで、主ユニット54
に接続され得る。
【0020】ゲームのようなアプリケーションをプレイ
するために、ユーザはビデオゲームもしくはプレイした
いと思う他のアプリケーションをストアしている適宜の
記憶媒体62を選択し、その記憶媒体を主ユニット54
のスロット64に差し込む。記憶媒体62は、たとえ
ば、特別にエンコードされおよび/または記号化された
光学的ならびに/もしくは磁気的ディスクであってよ
い。ユーザは主ユニット54をオンするために電源スイ
ッチ66を操作し、主ユニットがその記憶媒体62にス
トアされているソフトウェアに基づいてビデオゲームも
しくは他のアプリケーションを実行し始めるようにす
る。ユーザは主ユニットに入力を与えるためにコントロ
ーラ52を操作する。たとえば、コントロール60を操
作することによってゲームもしくは他のアプリケーショ
ンをスタートさせる。他のコントロール60を動かすこ
とによって、動画キャラクタを異なる方向に移動させ、
または3D世界におけるユーザの視点を変化させる。記
憶媒体62にストアされている具体的なソフトウェアに
よって、コントローラ52上の種々のコントロール60
は異なる時間で異なる機能を達成することができる。 全体システムの例 図2はシステム50の例示的なコンポーネントのブロッ
ク図であり、重要なコンポーネントは、 ・主プロセサ(CPU)110、 ・主メモリ112、および ・グラフィクス/オーディオプロセサ114 を含む。
【0021】この実施例において、主プロセサ110
(たとえばIBMパワーPC750の改良版)は、手持
ちコントローラ52(および/または他の入力デバイ
ス)からの入力をグラフィクス/オーディオプロセサ1
14を通して受ける。主プロセサ110はユーザ入力に
インタラクティブに応答し、光ディスクドライブのよう
な大容量記憶媒体アクセス装置106を介して、たとえ
ば外部記憶媒体62から供給されるビデオゲームもしく
は他のプログラムを実行する。一例として、ビデオゲー
ムプレイの状況では、主プロセサ110は、多様なイン
タラクティブ制御機能に加えて、衝突検出および動画処
理を実行する。
【0022】この実施例では、主プロセサ110は3D
グラフィクス/オーディオコマンドを発生し、それらを
グラフィクス/オーディオプロセサ114に送る。グラ
フィクス/オーディオプロセサ114はこれらのコマン
ドを処理し、ディスプレイ59上での可視映像を生成
し、ステレオスピーカ61Rおよび61Lもしくは他の
適宜の音声発生デバイス上でのステレオ音声を生成す
る。
【0023】実施例のシステム50はビデオエンコーダ
120を含み、このビデオエンコーダは、グラフィクス
/オーディオプロセサ114からの映像信号を受けて、
その映像信号をコンピュータモニタや家庭用テレビ56
のような標準的な表示装置上での表示に適したアナログ
および/またはディジタルビデオ信号に変換する。シス
テム100はまたオーディオコーデック(圧縮器/伸長
器)122を含み、このオーディオコーデックはディジ
タル化されたオーディオ信号を圧縮しかつ伸長するとと
もに、必要に応じてディジタルオーディオ信号のフォー
マットとアナログオーディオ信号のフォーマットとの間
で変換を行う。オーディオコーデック122はバッファ
124を介してオーディオ入力を受けることができ、処
理(たとえば、プロセサが生成したおよび/または大容
量記憶媒体アクセス装置106のストリームオーディオ
出力を介して受信した他のオーディオ信号とのミキシン
グ)するために、そのオーディオ入力をグラフィクス/
オーディオプロセサ114に与える。この実施例におけ
るグラフィクス/オーディオプロセサ114は、オーデ
ィオタスクに利用可能なオーディオメモリ126にオー
ディオ関連情報をストアすることができる。グラフィク
ス/オーディオプロセサ114は、結果的に得られるオ
ーディオ出力信号を、圧縮およびアナログ信号への変換
のために、オーディオコーデック122に与え、したが
ってそのオーディオ出力信号が(たとえばバッファアン
プ128Lおよび128Rを介して)スピーカ61Lお
よび61Rによって再生され得る。
【0024】グラフィクス/オーディオプロセサ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 を含む。
【0025】3Dグラフィクスプロセサ154はグラフ
ィクス処理タスクを実行する。オーディオディジタル信
号プロセサ156はオーディオ処理タスクを実行する。
表示コントローラ164は主メモリ112からの映像情
報にアクセスし、表示装置102上での表示のためにそ
の映像情報をビデオエンコーダ120に与える。オーデ
ィオインタフェース/ミキサ160はオーディオコーデ
ック122をインタフェースし、また異なるソースから
のオーディオ(たとえば、大容量記憶媒体アクセス装置
106からのオーディオストリーム,オーディオDSP
156の出力,およびオーディオコーデック122を通
して受ける外部オーディオ入力)をミックスすることが
できる。プロセサインタフェース150は主プロセサ1
10およびグラフィクス/オーディオプロセサ114の
間のデータおよび制御インタフェースを提供する。
【0026】メモリインタフェース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つのキャッシュラインに送
る。
【0027】コマンドプロセサ200は主プロセサ11
0からの表示コマンドを受け、それらを解剖し、メモリ
コントローラ152を介して共用メモリ112からのそ
のコマンドを処理するに必要な付加的なデータを入手す
る。コマンドプロセサ200は、2Dおよび/または3
D処理およびレンダリングのために、頂点コマンドのス
トリームをグラフィクスパイプライン180に与える。
グラフィクスパイプライン180はこれらのコマンドに
基づいて映像を生成する。結果として得られた映像情報
は、表示コントローラ/ビデオインタフェースユニット
164によるアクセスのために主メモリ120に転送さ
れ得て、この映像情報は表示装置156上にパイプライ
ン180のフレームバッファ出力を表示する。
【0028】図5はグラフィクスプロセサ154を用い
て実行される処理を図解的に示すブロック論理フロー図
である。主プロセサ10は、グラフィクスコマンドスト
リーム210,表示リスト212および頂点アレイ21
4を主メモリ112にストアし、ポインタをバスインタ
フェース150を介してコマンドプロセサ200に送
る。主プロセサ110は主メモリ110内に割り付けら
れた1つ以上のグラフィクスFIFOバッファ210に
グラフィクスコマンドをストアする。このコマンドプロ
セサ200は、 ・同期/フロー制御および負荷バランスのためにグラフ
ィクスコマンドを受けかつバッファするオンチップFI
FOメモリバッファ216を介して主メモリ112から
のコマンドストリーム、 ・オンチップコールFIFOメモリバッファ218を介
して主メモリ112からの表示リスト212、および ・コマンドストリームからおよび/または主メモリ11
2の頂点アレイ214からの頂点アトリビュート を頂点キャッシュ220を介して取り込む。
【0029】コマンドプロセサ200はコマンド処理動
作200aを実行し、そのコマンド処理動作200aは
アトリビュート形式を浮動小数点フォーマットに変換
し、結果的に得られた完全頂点ポリゴンデータをレンダ
リング/ラスタライゼーションのためにグラフィクスパ
イプライン180に与える。プログラマブルメモリ調停
回路130(グラフィクスメモリ要求調停回路:図4)
は、グラフィクスパイプライン180,コマンドプロセ
サ200および表示コントローラ/ビデオインタフェー
スユニット164の間での共用主メモリ112へのアク
セスを調停する。
【0030】図4は、グラフィクスパイプライン180
が ・変換ユニット300、 ・セットアップ/ラスタライザ400、 ・テクスチャユニット500、 ・テクスチャ環境ユニット600、および ・ピクセルエンジン700 を含むことを示す。
【0031】変換ユニット300は多様な2Dおよび3
D変換および他の動作300a(図5)を実行する。変
換ユニット300は変換処理300aに用いられるマト
リクスをストアするための1つ以上のマトリクスメモリ
300bを含む。変換ユニット300は、入来する頂点
毎のジオメトリをオブジェクト空間からスクリーン空間
へ変換し、そして入来するテクスチャ座標を変換しかつ
投影テクスチャ座標(300c)を計算する。変換ユニ
ット300はまたポリゴンクリッピング/カリング(cli
pping/culling)300dを実行する。変換ユニット30
0bによってまた達成される照明処理300eが、この
実施例では8つまでの独立した照明について、頂点毎に
照明計算を行う。変換ユニット300は、エンボス(emb
ossed)タイプのバンプマッピング効果およびポリゴンク
リッピング/カリング動作(300d)のために、テク
スチャ座標を発生する(300c)。
【0032】セットアップ/ラスタライザ400はセッ
トアップユニットを含み、このセットアップユニット
は、変換ユニット300からの頂点データを受け、三角
形セットアップ情報を、エッジラスタライゼーション,
テクスチャ座標ラスタライゼーションおよびカラーラス
タライゼーションを実行する1つ以上のラスタライザユ
ニット(400b)に送る。
【0033】テクスチャユニット500は、オンチップ
テクスチャメモリ(TMEM)502を含んでもよく、
たとえば、 ・主メモリ112からのテクスチャ504の検索、 ・たとえばマルチテクスチャ処理,ポストキャッシュテ
クスチャ伸長,テクスチャフィルタリング,エンボシン
グ,投影テクスチャの使用を通しての陰影付け,および
アルファトランスパーレンシおよびデプスを用いるBL
ITを含むテクスチャ処理(500a)、 ・バンプマッピング,偽(pseudo)テクスチャおよびテク
スチャタイル(tiling)効果(500b)のためのテクス
チャ座標置換を計算するバンプマップ処理、および ・間接テクスチャ処理(500c) を含むテクスチャリングに関連する種々のタスクを実行
する。
【0034】テクスチャユニット500はテクスチャ環
境処理(600a)のためにフィルタされたテクスチャ
値をテクスチャ環境ユニット600に出力する。テクス
チャ環境ユニット600は、ポリゴンおよびテクスチャ
カラー/アルファ/デプスをブレンドし、また逆レンジ
ベース(reverse range based)のフォグ効果を達成する
ために、テクスチャフォグ処理(600b)を実行す
る。テクスチャ環境ユニット600はたとえばカラー/
アルファ変調,エンボシング,詳細テクスチャ,テクス
チャスワッピング,クランピングおよびデプスブレンデ
ィングに基づく多様な他の環境関連機能を実行するマル
チステージ(multi stages)を提供する。
【0035】ピクセルエンジン700はデプス(z)比
較(700a)およびピクセルブレンディング(700
b)を実行する。この実施例では、ピクセルエンジン7
00はデータを埋め込み(オンチップ:内蔵)フレーム
バッファメモリ702にストアする。グラフィクスパイ
プライン180は、フレームバッファおよび/またはテ
クスチャ情報をローカルにストアするために1つ以上の
内蔵DRAMメモリ702を含む。z比較700aは、
現在有効なレンダリングモードに依存して、グラフィク
スパイプライン180におけるより早いステージで実行
される(たとえば、z比較は、もしアルファブレンディ
ングが要求されていないならば早くに実行され得る)。
このピクセルエンジン700は表示コントローラ/ビデ
オインタフェースユニット164による主メモリ112
へのアクセスのために、オンチップフレームバッファ7
02を周期的に書き込むコピー動作700cを含む。こ
のコピー動作700cはまた動的テクスチャ合成効果の
ために、埋め込みフレームバッファ702の内容を主メ
モリ112中のテクスチャにコピーするために使用され
得る。エイリアス補正ないしアンチエイリアシング(ant
i-aliasing:エイリアス補正)および他のフィルタリン
グがコピーアウト動作中に実行され得る。最終的に主メ
モリ112にストアされるグラフィクスパイプライン1
80のフレームバッファ出力は、表示コントローラ/ビ
デオインタフェースユニット164によってフレーム毎
に読み出される。表示コントローラ/ビデオインタフェ
ース164は表示装置56上での表示のためにディジタ
ルRGBピクセル値を与える。 グラフィクスパイプライン同期化メカニズム 図4に示すように、システム50のレンダリングパイプ
ラインはいくつかの非同期コンポーネントを含む。それ
らの中で、主プロセサ110はグラフィクスコマンドを
発生し、グラフィクス/オーディオプロセサ114はそ
のコマンドを消費してフレームバッファを生成し、そし
て表示コントローラ/ビデオインタフェース164はフ
レームバッファを表示する。この発明はこれらのコンポ
ーネントを同期化するためのメカニズムを提供し、複雑
さの異なるレベルで種々のプログラムモデルを許容す
る。
【0036】実施例において、主プロセサ110はグラ
フィクス/オーディオプロセサ114と調和されるべき
である。たとえば、主プロセサ110が与えるプリミテ
ィブデータやテクスチャデータはグラフィクス/オーデ
ィオプロセサ114がそれを読み取るまで利用可能にさ
れていなければならず、その後、主プロセサは次のフレ
ームのためにデータを変更したり必要に応じてそれを削
除する。また、グラフィクス/オーディオプロセサ11
4は、内蔵フレームバッファ702がアクティブでない
外部フレームバッファ113へ単にコピーされ、表示コ
ントローラ/ビデオインタフェース164が正しい時間
に新たな外部フレームバッファの走査へ切り換え、次の
フレームによる使用のために先に走査されていた外部フ
レームバッファを開放するように、表示コントローラ/
ビデオインタフェース164と調和されなければならな
い。同期化のための他のアプリケーションは、主プロセ
サ110とグラフィクス/オーディオプロセサ114と
の間で共用される主メモリ112の一部のための他のメ
モリ等時性(memory coherence) タスクを含む。
【0037】実施例が提供する同期化のためのメカニズ
ムはいわゆる「ドローダン(draw done) 」コマンドであ
る。具体的な例では、この「ドローダン」コマンドは、
好ましい実施例において、廻り込み(wrapper around)2
同期化機能:「セットドローダン(set draw done) 」お
よび「ウェイトドローダン(wait draw done)」である。
この「セットドローダン」コマンドは、主プロセサ11
0とグラフィクス/オーディオプロセサ114との間の
FIFOバッファにドローダントークン(draw-done tok
en) を送り、そのバッファをフラッシュ(flush)する。
「ウェイトドローダン」コマンドは、グラフィクスパイ
プライン180がフラッシュしかつトークンがグラフィ
クスパイプラインの終端に現れるのを待つ。トークンを
待つのに代えて、ドローダン割込の結果として生じるコ
ールバック(callback)を使用することもできる。このコ
ールバックはディスエーブルされた割込とともに走り、
そしてそれゆえに、素早く終了する。コールバックルー
チンを設定するための関数は先のコールバック関数ポイ
ンタへリターンする。
【0038】上で述べた「ドローダン」同期化メカニズ
ムに加えて、システム50の好ましい実施例は、グラフ
ィクスパイプライン180が或るコマンドの処理を完了
した(たとえば、或るジオメトリが完全にレンダリング
された)ことを検出するために使用される「ドローシン
ク(draw sync) 」コマンドを含む。この「ドローシン
ク」メカニズムを用いることによって、プログラマは、
たとえば、可変コンテンツトークンたとえば主プロセサ
110の選択した16ビット数をグラフィクスパイプラ
イン180へ送ることができる。このトークンはグラフ
ィクスパイプライン中の所定点に、この具体的な実施例
では、ピクセルエンジン700内のグラフィクスパイプ
ラインの終端(very bottom)にそれが到達すると、トー
クンレジスタ704にストアされる。主プロセサ110
はグラフィクス/オーディオプロセサ114へ付加的な
コマンドを送ることによって、そのトークンレジスタ7
04を読み出す。返送されたトークンレジスタ値が主プ
ロセサ114が送ったトークンと一致すると、主プロセ
サは、そのトークンに関連する特定のジオメトリが完全
にレンダリングされたことを知る。
【0039】詳しくいえば、グラフィクス/オーディオ
プロセサはそれの同期化コマンドのレパートリに次のよ
うなコマンドを含むことができる。
【0040】GXSetDrawSync(Token) GXReadDrawSync(Token) これらの例において、引数(argument)「Token 」は、1
6ビットの未符号化(unsigned)整数値である。GXSetDra
wSync コマンドに応答して、グラフィクスパイプライン
180のハードウェアは、このコマンドが描画パイプラ
インの終端に達したとき、Token をトークンレジスタ7
04へ書き込む。このレジスタ704は、描画のプロセ
スをチェックするために、読み出され(たとえば、ポー
リングされ)得る。好ましい実施例において、GXDrawSy
ncは、したがって、グラフィクスパイプライン180中
へ数値(16ビットトークン)を挿入し、それがグラフ
ィクスパイプラインの終端に達したときそのトークン値
を読み出すようにでき、グラフィクスパイプラインを強
制的にフラッシュさせることがない(そしてグラフィク
スパイプライン中の「バブル(bubble)」のアイドリング
サイクルを作ることがない)。このGXReadDrawSyncコマ
ンドはグラフィクスパイプライン180の終端でトーク
ンレジスタ704を読み出し、そのトークン値を返送す
る。
【0041】具体的な実施例においては、割込ライン7
06がピクセルエンジン700からプロセサインタフェ
ース150へ設けられる。この割込ライン706はトー
クンレジスタ704およびそれの関連機能に関連する。
ピクセルエンジン700は、ピクセルエンジン700内
のトークンレジスタ704が上で述べた「GXSetDrawSyn
c 」コマンドに応答してトークンを受けかつストアした
とき、この割込ライン706をアクティブ(たとえば、
ハイレベル)にする。この割込機能は、主プロセサ11
0がピクセルエンジン700内の別の割込制御レジスタ
(図示せず)へ割込イネーブル値を書き込むことによっ
てイネーブルされまたはディスエーブルされ得る。主プ
ロセサ110はピクセルエンジン700内の割込制御レ
ジスタへ書き込むことによって一旦設定された割込をク
リアすることができ、そして上で述べた「ReadDrawSyn
c」コマンドを送ることによって、トークンレジスタ7
04の内容をポーリングすることができる。
【0042】好ましい実施例において、主プロセサ11
0上で走るアプリケーションはトークン割込コールバッ
クを設定する「GXDrawSyncCallback」コマンドを登録す
ることができる。このコールバックの引数は最も直近に
遭遇したトークンの値である。トークンを取り損なうこ
とができる(コールバックが動作している間グラフィク
ス処理は停止しない)ので、アプリケーションは、たと
えば単純に値を増加させることによって、任意のトーク
ンが取り逃されたことを推測することができる。
【0043】図6は上で述べたトークン同期化メカニズ
ムを使用したフロー図の例である。図6のフロー図は、
たとえば、主プロセサ110上で動いているアプリケー
ションによって実行される。具体的な例においては、ア
プリケーションはグラフィクスパイプライン180へ1
つまたはそれ以上のグラフィクスコマンドを挿入し(ブ
ロック800)、ユニークなデータメッセージを発生し
(ブロック802)、そして上で述べたReadDrawSyncコ
マンドを用いてそのユニークなデータメッセージをトー
クンとしてグラフィクスパイプライン中へ挿入する(ブ
ロック804)。具体的な実施例においては、その挿入
するトークンは、解剖されているデータ中の非演繹的テ
キスト要素(non-reducible textual element)、たとえ
ば、可変ネーム,値,数,キャラクタあるいはワードを
含む独特に構成されたデータオブジェクトまたはメッセ
ージである。アプリケーションは、ピクセルエンジン7
00からの割込を待つ間、他のタスクを実行する(ブロ
ック806)。割込を受けると、アプリケーションは、
既に述べたGetDrawSync コマンドを用いてピクセルエン
ジンのトークンレジスタ704を読み取る(ブロック8
08)。アプリケーションがトークンレジスタ704の
内容を抽出すると、アプリケーションはその値をトーク
ンとして送られた具体的な値と比較して、2つの値が一
致するかどうかを判断する(決定ブロック810)。こ
の比較が好都合ないし肯定的であるとき、アプリケーシ
ョンはグラフィクスパイプライン180がブロック80
0によるトークンより前に挿入されたコマンドの処理を
終了したことを「知る」ので、アプリケーションは、次
いで、グラフィクスパイプライン180と同期化させる
に必要なタスクを実行する(ブロック812)。次表1
は使用例である。
【0044】
【表1】 上で述べた同期化トークンは、主プロセサ110上で動
作しているアプリケーションが任意の数の異なる同期化
イベントを定義し、トークン値に基づいてこれらの同期
化イベントを区別することを許容する。好ましい実施例
においては、グラフィクスパイプライン180はトーク
ン値を変更ないし修飾することはなく、そのために主プ
ロセサ110はそれを容易に認識できる。しかしなが
ら、他の実施例においては、グラフィクスパイプライン
180は、それがグラフィクスパイプライン180中に
挿入したトークンをピクセルエンジン700で受け取っ
たトークン値と相互に関連付ける主プロセサ110の能
力を破壊することなく、その値を変更するためにトーク
ン値上に所定の関数(による計算)を実行することがで
きる。好ましい実施例においては、トークンレジスタ7
04はグラフィクスパイプライン180の終端へ配置さ
れたが、他の場所に配置されてもよく、あるいは最終完
了のほかにジオメトリの完了状態をモニタする必要があ
れば、複数のトークンレジスタやそれに関連する割込ラ
インを設けることができる。
【0045】この同期化メカニズムの1つの有用な応用
は、主プロセサ110がグラフィクスパイプライン18
0とは別のメモリ(たとえば主プロセサ110とグラフ
ィクスパイプライン180との間で共用される主メモリ
112)へ書き込みかつメモリ等時性を維持したいとき
である。 互換性のある他の実施例 上述のシステム50は上で述べた家庭用ビデオゲームコ
ンソールの構成以外としても実現できる。たとえば、或
るものは、システム50をエミュレートする異なる構成
を有するプラットフォームもしくはそれと同等のものに
おいて、システム50のために書かれたグラフィクスア
プリケーションや他のソフトウェアを実行させることが
できる。もし、他のプラットフォームがシステム50の
いくつかのもしくはすべてのハードウェアおよびソフト
ウェアリソースをエミュレートしシミュレートしおよび
/または提供することができれば、その他のプラットフ
ォームはそのソフトウェアを成功裏に実行することがで
きる。
【0046】一例として、エミュレータがシステム50
のハードウェアおよび/またはソフトウェア構成(プラ
ットフォーム)とは異なるハードウェアおよび/または
ソフトウェア構成(プラットフォーム)を提供できる。
そのエミュレータシステムは、それのためにアプリケー
ションソフトウェアが書かれているシステムのいくつか
のもしくはすべてのハードウェアおよび/またはソフト
ウェアコンポーネンツをエミュレートしもしくはシミュ
レートするソフトウェアおよび/またはハードウェアコ
ンポーネンツを含む。たとえば、エミュレータシステム
はパソコンのような汎用ディジタルコンピュータを含
み、それはシステム50のハードウェアおよび/または
ファームウェアをシミュレートするソフトウェアエミュ
レータプログラムを実行する。上述のオーディオシステ
ムのDSP処理がパソコンによってエミュレートされ得
る。
【0047】或る汎用ディジタルコンピュータ(たとえ
ばIBMやマッキントッシュのパソコンおよびそれらの
同等物)は、ダイレクトX(DirectX)または他の標準的
な3DグラフィクスコマンドAPIsに従った3Dグラ
フィクスパイプラインを提供する3Dグラフィクスカー
ドを備える。それらはまた、音声コマンドの標準的なセ
ットに基づいて高品質のステレオ音声を提供するステレ
オ音声カードを備える。エミュレータソフトウェアを実
行するそのようなマルチメディアのハードウェアを備え
るパソコンは、システム50のグラフィクスおよび音声
性能とほぼ等しい十分な性能を有する。エミュレータソ
フトウェアはパソコンプラットフォーム上のハードウェ
アリソースを制御して、それのためにゲームプログラマ
がゲームソフトウェアを書いた家庭用ビデオゲームコン
ソールプラットフォームの処理,3Dグラフィクス,音
声,周辺および他の能力をシミュレートする。
【0048】図7はホストプラットフォーム1201,
エミュレータコンポーネント1303および記憶媒体6
2上のゲームソフトウェア実行可能バイナリ映像を用い
る全体のエミュレーション処理を図解する。ホスト12
01は、たとえばパソコン,ビデオゲームコンソールあ
るいは十分な計算力を有する任意の他のプラットフォー
ムのような汎用または特定目的ディジタル計算装置であ
る。エミュレータ1303はそのホストプラットフォー
ム1201上で走るソフトウェアおよび/またはハード
ウェアであり、記憶媒体62からのコマンド,データお
よび他の情報のそのホスト1201によって実行可能な
形態へのリアルタイム変換を行う。たとえば、エミュレ
ータ1303は記憶媒体62からシステム50によって
実行されるように意図された「ソース」であるバイナリ
映像プログラム命令を取り込み、これらのプログラム命
令をホスト1201によって実行されもしくは処理され
得るターゲットとなる形態に変換する。
【0049】一例として、ソフトウェアがIBMパワー
PCまたは他の特定のプロセサを用いるプラットフォー
ム上での実行のために書かれかつホスト1201が異な
る(たとえばインテル)プロセサを用いるパソコンであ
る場合、エミュレータ1203は記憶媒体1305から
の1つのもしくは一連のバイナリ映像プログラム命令を
取り込み、これらのプログラム命令を1つまたはそれ以
上の同等のインテルのバイナリ映像プログラム命令に変
換する。エミュレータ1203はまたグラフィクス/オ
ーディオプロセサ114によって処理されるように意図
されたグラフィクスコマンドおよびオーディオコマンド
を取り込みかつ/あるいは生成し、そしてホスト120
1上で利用可能なハードウェアおよび/またはソフトウ
ェアグラフィクス/オーディオ処理リソースによって処
理され得る形態にこれらのコマンドを変換する。一例と
して、エミュレータ1303はホスト1201の特別な
グラフィクスおよび/または音声ハードウェア(たとえ
ば標準的なダイレクトX,オープンGLおよび/または
音声APIs)によって処理され得るコマンドにこれら
のコマンドを変換する。
【0050】上で述べたビデオゲームシステムのいくつ
かのもしくはすべての特徴を与えるために用いられるエ
ミュレータ1303は、また、エミュレータを使ってゲ
ームを走らせている種々のオプションおよびスクリーン
モードの選択を簡単化しもしくは自動化するグラフィッ
クユーザインタフェース(GUI)を備える。一例にお
いて、そのようなエミュレータ1303はさらにそのソ
フトウェアが本来的に目的とされたホストプラットフォ
ームに比べてより増強された機能性を含むこともでき
る。
【0051】図8はエミュレータ1303で用いるに適
したエミュレーションホストシステム1201を図解的
に示す。このシステム1201は処理ユニット1203
およびシステムメモリ1205を含む。システムバス1
207がシステムメモリ1205を含む種々のシステム
コンポーネンツを処理ユニット1203に結合する。シ
ステムバス1207は多様なバスアーキテクチャのいず
れかを用いるメモリバスもしくはメモリコントローラ,
周辺バスおよびローカルバスを含むいくつかのタイプの
バス構造の任意のものである。システムメモリ1207
はROM1252およびRAM1254を含む。起動中
においてのようにパソコンシステム1201中のエレメ
ント(要素)間に情報を伝送する手助けをする基本ルー
チンを含む基本入力/出力システム(BIOS)125
6がROM1252中にストアされる。システム120
1はさらに種々のドライブおよび関連のコンピュータ読
出可能な媒体を含む。ハードディスクドライブ1209
が(典型的には固定の)磁気ハードディスク1211か
ら読み出しそれへ書き込む。付加的な(たぶんオプショ
ンとしての)磁気ディスクドライブ1213が着脱可能
な「フロッピィ」または他の磁気ディスク1251から
読み出しかつそれへ書き込む。光ディスクドライブ12
17はCD−ROMあるいは他の光学媒体のような着脱
自在な光ディスク1219から読み出しかつそれへ書き
込む。ハードディスクドライブ1209および光ディス
クドライブ1217は、ハードディスクドライブインタ
フェース1221および光ディスクドライブインタフェ
ース1225によって、システムバス1207にそれぞ
れ接続される。これらのドライブおよびその関連するコ
ンピュータ読出可能な媒体は、パソコンシステム120
1のためのコンピュータ読出可能な命令,データ構造,
プログラムモジュール,ゲームプログラムおよび他のデ
ータの不揮発性の記憶媒体を提供する。他の構成では、
コンピュータによってアクセス可能なデータをストアす
ることができる他のタイプのコンピュータ読出可能な媒
体(たとえば磁気カセット,フラッシュメモリカード,
ディジタルビデオディスク,ベルヌーイカートリッジ,
RAM,ROMあるいはその他のもの)がまた使用でき
る。
【0052】エミュレータ1303を含む多数のプログ
ラムモジュールがハードディスク1211,着脱可能な
磁気ディスク1215,光ディスク1219および/ま
たはシステムメモリ1205のROM1252および/
またはRAM1254にストアされ得る。このようなプ
ログラムモジュールはグラフィクス/音声APIs,1
つ以上のアプリケーションプログラム,他のプログラム
モジュール,プログラムデータおよびゲームデータを提
供するオペレーティングシステム(OS)を含む。ユー
ザは、キーボード1227,ポインティングデバイス1
229,マイクロフォン,ジョイスティック,ゲームコ
ントローラ,衛星アンテナ(satellite dish),スキャナ
あるいはその他のもののような入力デバイスを通して、
パソコンシステム1201にコマンドおよび情報を入力
することができる。これらのそして他の入力デバイス
は、システムバス1207に結合されたシリアルポート
インタフェース1231を通して処理ユニット1203
に接続され得るが、パラレルポート,ゲームポートファ
イヤワイヤバス(Fire Wire)もしくはユニバーサルシリ
アルバス(USB)のような他のインタフェースによっ
て接続されてもよい。モニタまたは他のタイプの表示デ
バイスがまたビデオアダプタ1235のようなインタフ
ェースを介してシステムバス1207に接続される。
【0053】システム1201はモデム1154または
インターネットのようなネットワーク1152を通して
の通信を確立するための他のネットワークインタフェー
ス手段を含む。内部もしくは外付けであってよいモデム
1154はシリアルポートインタフェース1231を介
してシステムバス123に接続される。システム120
1がローカルエリアネットワーク1158を介して遠隔
コンピュータ装置1150(たとえば他のシステム12
01)と通信するのを許容するために、ネットワークイ
ンタフェース1156がまた設けられてもよい(もしく
はそのような通信はダイヤルアップもしくは他の通信手
段のようなワイドエリアネットワーク1152もしくは
他の通信経路を介してもよい)。システム1201はプ
リンタのような周辺出力装置および他の標準的な周辺装
置を含む。
【0054】一例では、ビデオアダプタ1235は、マ
イクロソフト(Microsoft)のダイレクトX7.0、また
は他のバージョンのような標準的な3Dグラフィクスア
プリケーションプログラマインタフェースに基づいて発
行された3Dグラフィクスコマンドに応答して、高速の
3Dグラフィクスレンダリングを提供する3Dグラフィ
クスパイプラインチップセットを含んでもよい。1組の
スピーカ1237はまた、バス1207によって与えら
れる音声コマンドに基づいて高品質ステレオ音声を生成
するハードウェアおよび埋め込みソフトウェアを提供す
る従来の「音声カード」のような音声生成インタフェー
スを介して、システムバス1207に接続される。これ
らのハードウェア能力によって記憶媒体1305中にス
トアされているソフトウェアを再生するためにシステム
1201に十分なグラフィクスおよび音声の速度性能を
与えることができる。
【0055】上で言及したすべての書類を、ここで、参
照によって取り入れる。
【0056】最も現実的かつ好ましい実施例であると現
在考えられているものに関連してこの発明が説明された
が、この発明は開示された実施例に限定されるものでは
なく、逆に、特許請求の範囲内に含まれる種々の変形例
や等価的な構成をカバーするように意図されていること
を理解されたい。
【図面の簡単な説明】
【図1】図1はインタラクティブコンピュータグラフィ
クスシステムの実施例を示す全体図である。
【図2】図2は図1実施例のコンピュータグラフィクス
システムのブロック図である。
【図3】図3は図2に示す実施例のグラフィクス/オー
ディオプロセサのブロック図である。
【図4】図4は図3に示す実施例の3Dグラフィクスプ
ロセサのブロック図である。
【図5】図4のグラフィクス/オーディオプロセサの例
示的な論理フロー図である。
【図6】図6は同期化トークンを用いたグラフィクスパ
イプラインの同期化の例のフロー図である。
【図7】図7は別の互換性のある実施例を示す。
【図8】図8は別の互換性のある実施例を示す。
【符号の説明】
50 …インタラクティブ3Dコンピュータグラフィク
スシステム 110 …主プロセサ 112 …主メモリ 114 …グラフィクス/オーディオプロセサ 180 …グラフィクスパイプライン 500 …テクスチャユニット 700 …ピクセルエンジン 704 …トークンレジスタ 706 …割込ライン
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ロバート ムーア アメリカ合衆国 ワシントン州 レドモン ド 227プレース エヌ イー 2522 (72)発明者 ハワード エイチ チェン アメリカ合衆国 ワシントン州 レドモン ド 212プレース 2005 Fターム(参考) 5B057 AA20 CA13 CA17 CB13 CB17 CH02 CH05 CH08 CH12 CH14

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】グラフィクスパイプラインと同期化する方
    法であって、 グラフィクスパイプラインへプログラマブルコンテンツ
    同期化トークンを送信するステップ、およびグラフィク
    スパイプライン内の所定点にトークンが到達したタイミ
    ングを検出するステップを含む、同期化方法。
  2. 【請求項2】トークンは、グラフィクスパイプラインが
    変更しない可変コンテンツデータメッセージを含む、請
    求項1記載の方法。
  3. 【請求項3】検出ステップは、トークンレジスタによっ
    て返送された値と送信したトークンの値とを比較するス
    テップを含む、請求項1記載の方法。
  4. 【請求項4】さらに、グラフィクスパイプラインへ送信
    する可変トークンをアプリケーションプログラムととも
    に特定するステップを含む、請求項1記載の方法。
  5. 【請求項5】トークンは16ビット可変値を含む、請求
    項1記載の方法。
  6. 【請求項6】検出ステップは、割込に応答してパイプラ
    インの終端でトークンレジスタをポーリングするステッ
    プを含む、請求項1記載の方法。
  7. 【請求項7】コマンドプロセサ,変換ユニット,ライテ
    ィングユニット,テクスチャ座標発生器,テクスチャマ
    ッパ,ラスタライザ,ブレンダ,ピクセルエンジンおよ
    びフレームバッファを含む形式のグラフィクスパイプラ
    インと同期化するための方法であって、 グラフィクスパイプラインへ可変コンテンツデータメッ
    セージを挿入するステップ、 グラフィクスパイプライン中の所定位置で可変コンテン
    ツデータメッセージを捕捉するステップ、 グラフィクスパイプライン中の所定位置に可変コンテン
    ツデータメッセージが到達したときに信号を伝達するス
    テップ、および捕捉した可変コンテンツデータメッセー
    ジが挿入した可変コンテンツデータメッセージに対応す
    るかどうか判断するステップを含む、同期化方法。
  8. 【請求項8】信号伝達ステップは、グラフィクスパイプ
    ラインの終端に可変コンテンツデータメッセージが到達
    したときに割込を発生するステップを含む、請求項7記
    載の方法。
  9. 【請求項9】捕捉ステップは可変コンテンツデータメッ
    セージをレジスタにストアするステップを含み、そして
    判断ステップはそのレジスタの内容を読み出すステップ
    を含む、請求項7記載の方法。
  10. 【請求項10】ピクセルエンジンが信号伝達ステップを
    実行する、請求項7記載の方法。
  11. 【請求項11】グラフィクスパイプラインは可変コンテ
    ンツデータメッセージを変更しない、請求項7記載の方
    法。
  12. 【請求項12】コマンドプロセサ,変換ユニット,ライ
    ティングユニット,テクスチャ座標発生器,テクスチャ
    マッパ,ラスタライザ,ブレンダ,ピクセルエンジン,
    およびフレームバッファを含むグラフィクスパイプライ
    ンにおいて、 コマンドプロセサは可変コンテンツデータメッセージを
    受けてその可変コンテンツデータメッセージをグラフィ
    クスパイプラインを通してピクセルエンジンへパスし、
    ピクセルエンジンは、可変コンテンツデータメッセージ
    を捕捉するレジスタを含み、その可変コンテンツデータ
    メッセージがピクセルエンジンに到達したときに信号を
    伝達するようにしたことを特徴とする、グラフィクスパ
    イプライン。
  13. 【請求項13】可変コンテンツデータメッセージを変更
    しない、請求項12記載のグラフィクスパイプライン。
  14. 【請求項14】グラフィクスコマンドストリームを受信
    しかつそのグラフィクスコマンドストリームに基づいて
    イメージを発生する形式のグラフィクスシステムであっ
    て、 可変コンテンツデータメッセージを含むトークンをその
    グラフィクスコマンドストリーム中で受信するようにさ
    れ、さらにグラフィクスコマンドシーケンス中でトーク
    ンに対してより早いグラフィクスストリームの部分が処
    理されたかどうかについての問い合わせに対して応答を
    与え、それによってグラフィクスシステムのイベントの
    同期化を許容するようにした、グラフィクスシステム。
  15. 【請求項15】アプリケーションに特定した集積回路を
    含む、請求項14記載のグラフィクスシステム。
  16. 【請求項16】3Dグラフィクスパイプラインを含む、
    請求項14記載のグラフィクスシステム。
  17. 【請求項17】コマンド処理,変換,ライティング,テ
    クスチャ座標発生,テクスチャマッピング,ラスタライ
    ジング,およびブレンドを含む形式の3Dグラフィクス
    パイプラインと同期化する方法であって、 グラフィクスパイプラインへ可変コンテンツ同期化トー
    クンを挿入するステップ、およびトークンがグラフィク
    スパイプライン中の所定点に到達したことに応答して少
    なくとも1つの同期化イベントを実行するステップを含
    む、方法。
  18. 【請求項18】トークンベースの同期化をエミュレート
    する方法であって、 グラフィクスパイプライン完了状態を示すように企図し
    た可変コンテンツ同期化トークン値を受信するステッ
    プ、および前記可変コンテンツ同期化トークン値を含む
    応答を返送するステップを含む、方法。
JP2001128570A 2000-08-23 2001-04-26 グラフィクスパイプラインおよびそれの同期化方法 Expired - Lifetime JP4808858B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US22688900P 2000-08-23 2000-08-23
US09/722419 2000-11-28
US60/226889 2000-11-28
US09/722,419 US6867781B1 (en) 2000-08-23 2000-11-28 Graphics pipeline token synchronization

Publications (2)

Publication Number Publication Date
JP2002063570A true JP2002063570A (ja) 2002-02-28
JP4808858B2 JP4808858B2 (ja) 2011-11-02

Family

ID=26920958

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001128570A Expired - Lifetime JP4808858B2 (ja) 2000-08-23 2001-04-26 グラフィクスパイプラインおよびそれの同期化方法

Country Status (2)

Country Link
US (1) US6867781B1 (ja)
JP (1) JP4808858B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7412152B2 (en) 2003-02-28 2008-08-12 Matsushita Electric Co., Ltd. Recording medium, reproduction apparatus, recording method, program, and reproduction method
CN100421065C (zh) * 2003-12-16 2008-09-24 威盛电子股份有限公司 提高影像播放顺畅度的显示卡
US7729598B2 (en) 2003-01-31 2010-06-01 Panasonic Corporation Recording medium, reproduction apparatus, recording method, program, and reproduction method
JP2015076094A (ja) * 2013-10-10 2015-04-20 インテル・コーポレーション グラフィック処理アーキテクチャにおけるポストシンクロナイゼーションオペレーションとしてのアトミックオペレーションのサポート

Families Citing this family (46)

* 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
US6867781B1 (en) * 2000-08-23 2005-03-15 Nintendo Co., Ltd. Graphics pipeline token synchronization
US6809735B1 (en) * 2002-01-08 2004-10-26 Apple Computer, Inc. Virtualization of graphics resources
US7768522B2 (en) * 2002-01-08 2010-08-03 Apple Inc. Virtualization of graphics resources and thread blocking
US7015919B1 (en) * 2002-01-08 2006-03-21 Apple Computer, Inc. Virtualization of graphics resources
US6809736B1 (en) * 2002-01-08 2004-10-26 Apple Computer, Inc. Virtualization of graphics resources
US6825843B2 (en) * 2002-07-18 2004-11-30 Nvidia Corporation Method and apparatus for loop and branch instructions in a programmable graphics pipeline
US7477255B1 (en) * 2004-04-12 2009-01-13 Nvidia Corporation System and method for synchronizing divergent samples in a programmable graphics processing unit
US7324112B1 (en) 2004-04-12 2008-01-29 Nvidia Corporation System and method for processing divergent samples in a programmable graphics processing unit
US20060017743A1 (en) * 2004-07-23 2006-01-26 Chan Victor G Display intensity filter
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
JP4425177B2 (ja) * 2005-05-20 2010-03-03 株式会社ソニー・コンピュータエンタテインメント グラフィックプロセッサ、情報処理装置
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
US8817029B2 (en) 2005-10-26 2014-08-26 Via Technologies, Inc. GPU pipeline synchronization and control system and method
US7707334B2 (en) 2005-11-18 2010-04-27 Mobilic Technology (Cayman) Corp. Self-synchronizing hardware/software interface for multimedia SOC design
US8525842B1 (en) * 2006-06-16 2013-09-03 Nvidia Corporation System and method for utilizing semaphores in a graphics pipeline
US8094997B2 (en) * 2006-06-28 2012-01-10 Cyberlink Corp. Systems and method for embedding scene processing information in a multimedia source using an importance value
KR100713220B1 (ko) * 2006-07-28 2007-05-02 (주)블루비스 입체 영상 편집 장치 및 방법
US8823705B2 (en) 2007-04-11 2014-09-02 Panasonic Corporation Image generating apparatus and image generating method for generating images by rendering a polygon
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
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
US8601398B2 (en) * 2008-10-13 2013-12-03 Autodesk, Inc. Data-driven interface for managing materials
US8560957B2 (en) * 2008-10-13 2013-10-15 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
KR20110011000A (ko) * 2009-07-27 2011-02-08 삼성전자주식회사 3차원 영상 재생을 위한 부가 정보가 삽입된 3차원 영상 데이터스트림 생성 방법 및 그 장치, 3차원 영상 재생을 위한 부가 정보가 삽입된 3차원 영상 데이터스트림 수신 방법 및 그 장치
US8520010B2 (en) * 2009-08-01 2013-08-27 Sixense Entertainment, Inc. Latency solutions
US9190012B2 (en) * 2009-12-23 2015-11-17 Ati Technologies Ulc Method and system for improving display underflow using variable HBLANK
US9460546B1 (en) 2011-03-30 2016-10-04 Nvidia Corporation Hierarchical structure for accelerating ray tracing operations in scene rendering
US9147270B1 (en) 2011-06-24 2015-09-29 Nvidia Corporation Bounding plane-based techniques for improved sample test efficiency in image 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
US9269183B1 (en) 2011-07-31 2016-02-23 Nvidia Corporation Combined clipless time and lens bounds for improved sample test efficiency in image rendering
US9305394B2 (en) 2012-01-27 2016-04-05 Nvidia Corporation System and process for improved sampling for parallel light transport simulation
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
WO2015023246A1 (en) 2013-08-10 2015-02-19 Intel Corporation Thermal energy storage, dissipation and emi suppression for integrated circuits using porous graphite sheets and phase change material
US9760968B2 (en) 2014-05-09 2017-09-12 Samsung Electronics Co., Ltd. Reduction of graphical processing through coverage testing
US9842428B2 (en) 2014-06-27 2017-12-12 Samsung Electronics Co., Ltd. Dynamically optimized deferred rendering pipeline
US10021161B2 (en) 2014-11-05 2018-07-10 Qualcomm Incorporated Compression of graphical commands for remote display
CN112579411A (zh) * 2020-12-05 2021-03-30 西安翔腾微电子科技有限公司 一种图形流水同步控制评价方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11232247A (ja) * 1998-02-10 1999-08-27 Hitachi Ltd データフロー計算機およびデータフロー制御方法
US6867781B1 (en) * 2000-08-23 2005-03-15 Nintendo Co., Ltd. Graphics pipeline token synchronization

Family Cites Families (104)

* 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
US4491836A (en) 1980-02-29 1985-01-01 Calma Company Graphics display system and method including two-dimensional cache
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
GB8322438D0 (en) 1983-08-19 1983-10-12 Marconi Avionics Display systems
US4586038A (en) 1983-12-12 1986-04-29 General Electric Company True-perspective texture/shading processor
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
US4829452A (en) 1984-07-05 1989-05-09 Xerox Corporation Small angle image rotation using block transfers
US4658247A (en) 1984-07-30 1987-04-14 Cornell Research Foundation, Inc. Pipelined, line buffered real-time color graphics display system
US4695943A (en) 1984-09-27 1987-09-22 Honeywell Information Systems Inc. Multiprocessor shared pipeline cache memory with split cycle and concurrent utilization
EP0184547B1 (en) 1984-12-07 1991-11-21 Dainippon Screen Mfg. Co., Ltd. Processing method of image data and system therefor
US4625289A (en) 1985-01-09 1986-11-25 Evans & Sutherland Computer Corp. Computer graphics system of general surface rendering by exhaustive sampling
US4710876A (en) 1985-06-05 1987-12-01 General Electric Company System and method for the display of surface structures contained within the interior region of a solid body
US4897806A (en) 1985-06-19 1990-01-30 Pixar Pseudo-random point sampling techniques in computer graphics
US5239624A (en) 1985-06-19 1993-08-24 Pixar Pseudo-random point sampling techniques in computer graphics
FR2586838B1 (fr) 1985-08-30 1989-07-28 Labo Electronique Physique Processeur d'elimination de faces cachees pour la synthese d'images a trois dimensions
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
US4768148A (en) 1986-06-27 1988-08-30 Honeywell Bull Inc. Read in process memory apparatus
US4785395A (en) 1986-06-27 1988-11-15 Honeywell Bull Inc. Multiprocessor coherent cache system including two level shared cache with separately allocated processor storage locations and inter-level duplicate entry replacement
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
US4833601A (en) 1987-05-28 1989-05-23 Bull Hn Information Systems Inc. Cache resiliency in processing a variety of address faults
US4935879A (en) 1987-08-05 1990-06-19 Daikin Industries, Ltd. Texture mapping apparatus and method
US4965751A (en) 1987-08-18 1990-10-23 Hewlett-Packard Company Graphics system with programmable tile size and multiplexed pixel data and partial pixel addresses based on tile size
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
US4945500A (en) 1987-11-04 1990-07-31 Schlumberger Technologies, Inc. Triangle processor for 3-D graphics display system
US4888712A (en) 1987-11-04 1989-12-19 Schlumberger Systems, Inc. Guardband clipping method and apparatus 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
GB2214037A (en) 1987-12-18 1989-08-23 Ibm Solid modelling system
US5136664A (en) 1988-02-23 1992-08-04 Bersack Bret B Pixel rendering
JPH0693181B2 (ja) 1988-03-18 1994-11-16 株式会社日立製作所 表示装置
DE68918886T2 (de) 1988-04-08 1995-06-01 Dainippon Screen Mfg Verfahren zur Gewinnung der Aussenlinie eines Objektes in einem Bild.
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
JP2685548B2 (ja) 1988-11-28 1997-12-03 株式会社日立製作所 ディジタル画像データの回転方法およびその装置
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
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データ変換方法及び装置
US5056044A (en) 1989-12-21 1991-10-08 Hewlett-Packard Company Graphics frame buffer with programmable tile size
JP3005007B2 (ja) 1989-12-21 2000-01-31 キヤノン株式会社 画像符号化装置
GB2240015A (en) 1990-01-15 1991-07-17 Philips Electronic Associated Texture memory addressing
US5224208A (en) 1990-03-16 1993-06-29 Hewlett-Packard Company Gradient calculation for texture mapping
US5179638A (en) 1990-04-26 1993-01-12 Honeywell Inc. Method and apparatus for generating a texture mapped perspective view
US5163126A (en) 1990-05-10 1992-11-10 International Business Machines Corporation Method for adaptively providing near phong grade shading for patterns in a graphics display system
AU7747591A (en) 1990-05-12 1991-12-10 Rediffusion Simulation Limited Image generator
EP0464907B1 (en) 1990-06-29 1996-10-09 Philips Electronics Uk Limited Generating an image
US5241658A (en) 1990-08-21 1993-08-31 Apple Computer, Inc. Apparatus for storing information in and deriving information from a frame buffer
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
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
KR100319770B1 (ko) 1991-08-13 2002-01-16 마거리트 와그너-달 영상화 및 그래픽 처리 시스템내에서의 다차원 주소발생방법
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
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
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
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
US5432895A (en) 1992-10-01 1995-07-11 University Corporation For Atmospheric Research Virtual reality imaging system
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
US5490240A (en) 1993-07-09 1996-02-06 Silicon Graphics, Inc. System and method of generating interactive computer graphic images incorporating three dimensional textures
US5487146A (en) 1994-03-08 1996-01-23 Texas Instruments Incorporated Plural memory access address generation employing guide table entries forming linked list
US5461712A (en) 1994-04-18 1995-10-24 International Business Machines Corporation Quadrant-based two-dimensional memory manager
US5798719A (en) * 1994-07-29 1998-08-25 Discovision Associates Parallel Huffman decoder
US6104415A (en) * 1998-03-26 2000-08-15 Silicon Graphics, Inc. Method for accelerating minified textured cache access
US6252610B1 (en) * 1998-05-29 2001-06-26 Silicon Graphics, Inc. Method and apparatus for efficiently switching state in a graphics pipeline
US6329996B1 (en) * 1999-01-08 2001-12-11 Silicon Graphics, Inc. Method and apparatus for synchronizing graphics pipelines
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11232247A (ja) * 1998-02-10 1999-08-27 Hitachi Ltd データフロー計算機およびデータフロー制御方法
US6867781B1 (en) * 2000-08-23 2005-03-15 Nintendo Co., Ltd. Graphics pipeline token synchronization

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8463107B2 (en) 2003-01-31 2013-06-11 Panasonic Corporation Recording medium, reproduction apparatus, recording method, program, and reproduction method
US7729598B2 (en) 2003-01-31 2010-06-01 Panasonic Corporation Recording medium, reproduction apparatus, recording method, program, and reproduction method
US7426337B2 (en) 2003-02-28 2008-09-16 Matsushita Electric Industrial Co., Ltd. Recording medium, reproduction apparatus, recording method, program, and reproduction method
US7466903B2 (en) 2003-02-28 2008-12-16 Panasonic Corporation Recording medium, reproduction apparatus, recording method, program, and reproduction method
US7499629B2 (en) 2003-02-28 2009-03-03 Panasonic Corporation Recording medium, reproduction apparatus, recording method, program, and reproduction method
US7546024B2 (en) 2003-02-28 2009-06-09 Panasonic Corporation Recording medium, reproduction apparatus, recording method, program, and reproduction method
US7814422B2 (en) 2003-02-28 2010-10-12 Panasonic Corporation Reproduction apparatus, reproduction method and recording method
US7962012B2 (en) 2003-02-28 2011-06-14 Panasonic Corporation Recording medium, reproduction apparatus, recording method, program and reproduction method
US7412152B2 (en) 2003-02-28 2008-08-12 Matsushita Electric Co., Ltd. Recording medium, reproduction apparatus, recording method, program, and reproduction method
US8676040B2 (en) 2003-02-28 2014-03-18 Panasonic Corporation Recording medium, reproduction apparatus, and recording method
CN100421065C (zh) * 2003-12-16 2008-09-24 威盛电子股份有限公司 提高影像播放顺畅度的显示卡
JP2015076094A (ja) * 2013-10-10 2015-04-20 インテル・コーポレーション グラフィック処理アーキテクチャにおけるポストシンクロナイゼーションオペレーションとしてのアトミックオペレーションのサポート
US9626732B2 (en) 2013-10-10 2017-04-18 Intel Corporation Supporting atomic operations as post-synchronization operations in graphics processing architectures

Also Published As

Publication number Publication date
JP4808858B2 (ja) 2011-11-02
US6867781B1 (en) 2005-03-15

Similar Documents

Publication Publication Date Title
JP4808858B2 (ja) グラフィクスパイプラインおよびそれの同期化方法
JP4757406B2 (ja) グラフィクスシステム
JP4691273B2 (ja) グラフィクス処理システムおよびエンボス型バンプマッピングを行う方法
JP5149985B2 (ja) 機能拡張型メモリコントローラを備えるグラフィックス処理システム
JP4658378B2 (ja) グラフィクスシステムにおいて環境を写し込んだバンプマッピングのための方法および装置
JP4890638B2 (ja) グラフィクスシステムにおいて直接および間接テクスチャを処理するための方法および装置
JP4698893B2 (ja) 改良されたフォグ効果を提供するための方法、グラフィックスシステム、およびプログラム
US6811489B1 (en) Controller interface for a graphics system
US6636214B1 (en) Method and apparatus for dynamically reconfiguring the order of hidden surface processing based on rendering mode
JP4846120B2 (ja) スケルトンアニメーションのステッチングハードウェアを有するグラフィクス装置
US6664958B1 (en) Z-texturing
JP2002169596A (ja) オーディオ信号をプリフェッチするための方法および装置
JP2002063590A (ja) グラフィクスシステム用再循環シェードツリーブレンダ
US6606689B1 (en) Method and apparatus for pre-caching data in audio memory
JP4570766B2 (ja) 音声信号をミキシングするための方法および装置
JP5142419B2 (ja) 共有リソースへのアクセス方法及び装置
JP4740490B2 (ja) グラフィックスレンダリングシステムにおいて視覚的に重要なz成分の精度を最大化しz近傍クリッピングを回避するためのz近傍範囲におけるz値のクランピング
JP4658397B2 (ja) オーディオメモリ内のデータを予めキャッシュする方法及び装置
JP2002074385A (ja) グラフィックスシステム内におけるn個のアルファ演算の論理結合を提供する方法および装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080411

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110525

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

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

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140826

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4808858

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

EXPY Cancellation because of completion of term