JP3476094B2 - 高性能3次元グラフィック・アクセラレータの作図プロセッサ - Google Patents
高性能3次元グラフィック・アクセラレータの作図プロセッサInfo
- Publication number
- JP3476094B2 JP3476094B2 JP15064394A JP15064394A JP3476094B2 JP 3476094 B2 JP3476094 B2 JP 3476094B2 JP 15064394 A JP15064394 A JP 15064394A JP 15064394 A JP15064394 A JP 15064394A JP 3476094 B2 JP3476094 B2 JP 3476094B2
- Authority
- JP
- Japan
- Prior art keywords
- register
- processor
- pixel
- data
- bus
- 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.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
- Controls And Circuits For Display Device (AREA)
- Image Processing (AREA)
Description
ィック・システムの分野に関するものであり、とりわ
け、コンピュータ・システムにおける高性能3次元グラ
フィック・アクセラレータのための作図プロセッサに関
するものである。
は、コンピュータ・システムのための特殊化グラフィッ
ク・レンダリング・サブシステムである。一般に、コン
ピュータ・システムのホストプロセッサにおいて実行す
るアプリケーション・プログラムは、ディスプレイ装置
に表示するための3次元グラフィック要素を定義する、
3次元幾何学的形状入力データを生成する。アプリケー
ション・プログラムは、一般に、ホスト・プロセッサか
らグラフィック・アクセラレータに幾何学的形状入力デ
ータを転送する。その後、グラフィック・アクセラレー
タは、ディスプレイ装置において、対応するグラフィッ
ク要素のレンダリングを行う。
計アーキテクチャは、歴史的に、システム性能とシステ
ム・コストの間におけるバランスを具現化したものであ
る。一般的な設計目標は、システムの性能を向上させ、
同時に、システム・コストの増大を最小限に抑えること
である。しかし、先行グラフィック・システムには、通
常、さまざまなシステムの制約のため、性能が制限さ
れ、あるいは、コストが高いという欠点がある。
は、市販のビデオ・ランダム・アクセス・メモリ(VR
AM)チップに関する最短読み取り・修正・書き込みサ
イクル時間が、レンダリング性能に関する基本的な制約
であるので、複数VRAMバンクから構成される、イン
ターリーブを施したフレーム・バッファを実現するのが
普通である。複数のインターリーブを施したVRAMバ
ンクを実現することによって、フレーム・バッファに対
する並列ピクセル・レンダリングが可能になるので、レ
ンダリング性能が全体として向上する。あいにく、各イ
ンターリーブ式VRAMバンク毎に、独立したアドレス
指定論理素子が必要になるので、こうした高性能システ
ムは、コスト及び電力消費が増大する。
及び電力消費を最小限に抑えるため、単一集積回路チッ
プによってレンダリング・プロセッサを実現することが
可能である。あいにく、こうしたシステムには、単一の
集積回路チップで利用可能なインターフェイス・ピンの
数が制限されるので、レンダリング性能が劣るという欠
点がある。インターフェイス・ピンの数が制限されるの
で、フレーム・バッファに関するインターリーブ・ファ
クタが減少し、結果として、並列処理のレンダリング性
能の利点が排除される。
パイプラインを用いて、グラフィック処理性能を高める
場合が多い。例えば、グラフィック・システムにおける
影付き三角形に関する走査変換機能は、一般に、エッジ
・ウォーキング及び走査補間の線形パイプラインによっ
て実行される。一般に、こうしたシステムの場合、エッ
ジ・ウォーキング機能は、エッジ・ウォーキング・プロ
セッサによって実施され、走査補間機能は、エッジ・ウ
ォーキング・プロセッサからパラメータを受ける1組の
並列走査補間プロセッサによって実施される。
たシステムは、一般に、モザイク状の幾何学的形状にお
いて遭遇する、比較的長めで、細い三角形のレンダリン
グを行う場合、並列処理の速度に関する利点が得られな
い。長めで、細い三角形に対する走査変換を実施する場
合、エッジ・ウォーキング・プロセッサと走査補間プロ
セッサの間におけるパラメータ・データの流れが、大幅
に増大する。あいにく、パラメータ・データの流れが増
大すると、三角形のレンダリング速度が遅くなり、グラ
フィック・システムの性能が低下する。本発明はこれを
改善しようとするものである。
プラインを介して、エッジ・ウォーキング及び走査補間
機能を実施することによって、3次元幾何学的形状オブ
ジェクトのレンダリングを行い、直接ポート・パイプラ
インを介して、ピクセル機能を実施する、グラフィック
・アクセラレータ用の作図プロセッサが開示される。作
図プロセッサは、走査線上にサブセットをなすピクセル
のレンダリングを行うので、ひとまとめになった、1組
の作図プロセッサによって、幾何学的形状オブジェクト
全体のレンダリングが行われることになる。作図プロセ
ッサは、ピクセルのレンダリングを行い、ピクセル機能
に処理を施して、複数のバンク・インターリーブ式フレ
ーム・バッファによるインターリーブ・バンクを形成す
る。
から作図バスを介して、幾何学的形状オブジェクトを定
義する1組の幾何学的形状パラメータを納めた作図パケ
ットを受ける、幾何学的形状パイプライン・インターフ
ェイス回路から構成される。幾何学的形状パイプライン
・インターフェイス回路は、作図プロセッサに対応する
インターリーブ値に基づいて、幾何学的形状パラメータ
を調整する。作図プロセッサは、また、幾何学的形状パ
イプライン・インターフェイス回路から幾何学的形状パ
ラメータを受け、幾何学的形状パラメータに基づいて、
エッジ・ウォーキング及び走査補間機能を実施すること
によって、幾何学的形状に対応する1組のピクセルを生
成するレンダリング回路から構成される。作図プロセッ
サは、また、作図バスを介して、指令プリプロセッサか
ら直接ポート・パケットを受ける直接ポート・インター
フェイス回路から構成される。直接ポート・パケットに
は、作図プロセッサの少なくとも1つのピクセル機能を
制御する、1組のピクセル機能パラメータが含まれてい
る。作図プロセッサは、また、直接ポート・インターフ
ェイス回路からピクセルを受け、また、直接ポート・イ
ンターフェイス回路からピクセル機能パラメータを受け
るメモリ制御回路から構成される。メモリ制御回路は、
フレーム・バッファ・メモリにピクセルを書き込み、同
時に、ピクセル機能を実施する。
元グラフィック・アクセラレータに関するアーキテクチ
ャが示されている。解説を目的とした以下の説明では、
本発明の理解を完全なものにするため、特定の適用例、
数、装置、構成、及び、回路が示される。ただし、当該
技術の熟練者には明らかなように、これらの特定の細部
にこだわらなくても、本発明の実施は可能である。他の
例の場合、本発明が不必要に曖昧にならないようにする
ため、周知のシステムについては、略図またはブロック
図で示されている。
ッサ20、メモリ・サブシステム22、グラフィック・
アクセラレータ24、及び、ディスプレイ装置26から
成るコンピュータ・システムのブロック図が示されてい
る。ホスト・プロセッサ20、メモリ・サブシステム2
2、及び、グラフィック・アクセラレータ24は、それ
ぞれ、通信のため、ホスト・バス28を介して結合され
ている。ディスプレイ装置26は、多種多様なラスター
表示モニターを表している。ホスト・プロセッサ20
は、多種多様なコンピュータ・プロセッサ、マルチプロ
セッサ、及び、CPUを表しており、メモリ・サブシス
テム22は、ランダム・アクセス・メモリ及び大容量記
憶装置を含む、多種多様なメモリ・サブシステムを表し
ている。ホスト・バス28は、ホスト・プロセッサ、C
PU、及び、メモリ・サブシステム、並びに、特殊化サ
ブシステム間における通信のための、多種多様な通信バ
スまたはホスト・コンピュータ・バスを表している。
28を介して、プログラムされた入力/出力(I/O)
プロトコルに基づいて、グラフィック・アクセラレータ
24との間で情報の送受信を行う。また、グラフィック
・アクセラレータ24は、直接メモリ・アクセス(DM
A)・プロトコルに基づいて、メモリ・サブシステム2
2にアクセスする。ホスト・プロセッサ20で実行され
るグラフィック・アプリケーション・プログラムは、デ
ィスプレイ装置26に表示されるイメージを定義する、
3次元幾何学的形状情報を納めた幾何学的形状データ・
アレイを生成する。ホスト・プロセッサ20は、幾何学
的形状データ・アレイをメモリ・サブシステム22に転
送する。その後、グラフィック・アクセラレータ24
が、DMAアクセス・サイクルを利用し、ホスト・バス
28を介して、幾何学的形状データ・アレイを読み取
る。代替案として、ホスト・プロセッサ20は、ホスト
・バス28を介して、プログラムされたI/Oによっ
て、グラフィック・アクセラレータ24に幾何学的形状
データ・アレイを転送する。
元情報は、頂点座標、頂点位置、及び、一般に、モデル
・スペースと呼ばれる3次元スペースにおける三角形、
ベクトル、及び、ポイントを定義する他の情報を納めた
入力頂点パケットのストリームである。各入力頂点パケ
ットには、頂点法線、頂点カラー、ファセット法線、フ
ァセット・カラー、テクスチャ・マップ座標、ピックI
D、ヘッダ、及び、他の情報を含む、任意の組み合わせ
による3次元頂点情報を納めることが可能である。ヘッ
ダのない入力頂点パケットは、隣接する三角形の「ジグ
ザグ」パターンの形で、三角形ストリップを定義するこ
とが可能である。ヘッダのない入力頂点パケットは、三
角形の「スター・ストリップ」パターンの形で、三角形
ストリップを定義することも可能である。さらに、ヘッ
ダのない入力頂点パケットは、孤立した三角形のストリ
ップを定義することも可能である。ヘッダを有する入力
頂点パケットは、各三角形毎に、三角形ストリップ・フ
ォーマットを変更することが可能であり、「ジグザグ」
フォーマット、「スター」フォーマット、及び、孤立三
角形の間で変更することができる。
4のブロック図である。グラフィック・アクセラレータ
24は、指令プリプロセッサ30、1組の浮動小数点プ
ロセッサ40〜43、1組の作図プロセッサ50〜5
4、フレーム・バッファ100、ポストプロセッサ7
0、及び、ランダム・アクセス・メモリ/デジタル・ア
ナログ変換器(RAMDAC)72から構成される。R
AMDAC72は、ルック・アップ・テーブル機能を実
施する市販のRAMDACと同様である。実施例の1つ
では、指令プリプロセッサ30、浮動小数点プロセッサ
40〜43、作図プロセッサ50〜54、及び、ポスト
プロセッサ70は、それぞれ、独立した集積回路チップ
である。指令プリプロセッサ30は、通信のため、ホス
ト・バス28を介して結合されている。指令プリプロセ
ッサ30は、ホスト・バス28を介して、メモリ・サブ
システム22から、幾何学的形状データ・アレイのDM
A読み取りを行う。ホスト・プロセッサ20は、指令プ
リプロセッサ30に仮想メモリ・ポインタを転送する。
仮想メモリ・ポインタは、メモリ・サブシステム22内
における幾何学的形状データ・アレイを指示する。指令
プリプロセッサ30は、仮想メモリ・ポインタを物理的
メモリ・アドレスに変換して、ホスト・プロセッサ20
を介在させずに、メモリ・サブシステム22に対するD
MA読み取りを実施する。指令プリプロセッサ30は、
2つのデータ・パイプライン、すなわち、3D幾何学的
形状パイプライン、及び、直接ポート・パイプラインを
実施する。
リプロセッサ30は、ホスト・バス28を介して直接ポ
ート・データを受け、指令・作図間バス(CD−BU
S)80を介して、作図プリプロセッサ50〜54に対
し、直接ポート・パケットとして、直接ポート・データ
を転送する。直接ポート・データは、作図プロセッサ5
0〜54と協調した、文字書き込み、スクリーン・スク
ロール、及び、ブロック移動のような、X11機能を実
施するため、オプションで指令プリプロセッサ30によ
る処理を受ける。直接ポート・データには、作図プロセ
ッサ50〜54に対するレジスタ書き込み、及び、フレ
ーム・バッファ100に対する個々のピクセル書き込み
を含めることが可能である。
令プリプロセッサ30は、幾何学的形状データ・アレイ
から入力頂点パケットのストリームにアクセスし、入力
頂点パケット内に含まれる情報の再配列を行い、入力頂
点パケットの情報を任意に削除する。指令プリプロセッ
サ30は、要素配列の標準化された、再フォーマット済
み頂点パケットに、入力頂点パケットからの情報を再配
列する。指令プリプロセッサ30は、指令・浮動小数点
間バス(CF−BUS)82を介して、浮動小数点プロ
セッサ40〜43の1つに出力幾何学的形状パケットを
転送する。出力幾何学的形状パケットは、任意の修正及
びデータ置換を施した、再フォーマット済み頂点パケッ
トから構成される。
ケット毎に、異なる数のフォーマットから32ビットの
IEEE浮動小数点数のフォーマットに情報を変換す
る。指令プリプロセッサ30は、8ビットの固定小数点
数、16ビットの固定少数点数、及び、32ビットまた
は64ビットのIEEE浮動少数点数の変換を行う。指
令プリプロセッサ30は、ヘッダ・フィールドの再フォ
ーマットまたは挿入を行い、定数を挿入し、順次ピック
IDの生成及び挿入を行い、オプションで一定の順次ピ
ックIDを挿入する。指令プリプロセッサ30は、ヘッ
ダの連鎖ビットを検査し、入力頂点パケットからの情報
を再アセンブルして、ポイント、ライン、及び、三角形
を含む、完全に孤立した幾何学的形状プリミティブを含
む、再フォーマット済みの頂点パケットを生成する。指
令プリプロセッサ30は、CF_BUS82の制御部分
によって、浮動小数点プロセッサ40〜43から制御及
び状況信号を受ける。制御及び状況信号は、浮動小数点
プロセッサ40〜43内における、出力幾何学的形状パ
ケットを受けるための、入力バッファの使用可能度を示
している。
ぞれ、ほぼ同じである。各浮動小数点プロセッサ40〜
43は、並列入出力パケット通信ハードウェアと共に、
32ビット・マイクロ・コード駆動浮動小数点コアを実
施する。浮動小数点プロセッサ40〜43は、それぞ
れ、乗算、ALU、逆数、逆平方根、及び、整数演算を
含む、浮動小数点機能を実行する。浮動小数点プロセッ
サ40〜43は、それぞれ、グラフィック・アクセラレ
ータ24によって実行される、最大の共通3次元グラフ
ィック処理マイクロ・コード内部ループを実施するのに
必要な数の高速内部レジスタを実現するように、最適化
される。実施例の1つでは、各浮動小数点プロセッサ4
0〜43は、単一の集積回路チップ上において実現され
る。各浮動小数点プロセッサに必要な唯一の支援チップ
は、制御記憶装置(CS)の外部マイクロ・コードを提
供する、組をなす4つの外部SRAMチップである。
図プロセッサ50〜54による走査変換のために三角形
をセット・アップする機能を実行する。セット・アップ
機能の第1のステップは、y昇順に三角形の頂点を分類
することである。各浮動小数点プロセッサ40〜43
は、CD−BUS80を介して、全ての作図プロセッサ
50〜54に対して作図パケットを同報通信する。作図
パケットには、三角形、ポイント、及び、ラインを含
む、最終的な幾何学的形状プリミティブが含まれてい
る。
バッファ100のためのVRAM制御チップの働きをす
る。作図プロセッサ50〜54は、浮動小数点プロセッ
サ40〜43の1つから受ける作図パケットに基づい
て、あるいは、指令プリプロセッサ30から受ける直接
ポート・パケットに基づいて、フレーム・バッファ10
0に対して、同時にイメージのレンダリングを行う。各
作図プロセッサ50〜54は、エッジ・ウォーキング機
能及び走査補間機能の走査変換機能を実施する。作図プ
ロセッサ50〜54間におけるエッジ・ウォーキング及
び走査補間機能の複製によって、独立したエッジ・ウォ
ーキング及び走査補間プロセッサ間における大規模通信
経路の必要がなくなり、この結果、作図プロセッサ50
〜54のそれぞれにおけるピン・カウントが最小限に抑
えられ、プリント回路基板のスペース要件が緩和され
る。
つのVRAMインターリーブ・バンクとして構成されて
いる。作図プロセッサ50が、ピクセル・データをイン
ターリーブ・バンク_0 61に書き込み、作図プロセ
ッサ51が、ピクセル・データをインターリーブ・バン
ク_1 62に書き込み、作図プロセッサ52が、ピク
セル・データをインターリーブ・バンク_2 63に書
き込み、作図プロセッサ53が、ピクセル・データをイ
ンターリーブ・バンク_3 64に書き込み、作図プロ
セッサ54が、ピクセル・データをインターリーブ・バ
ンク_4 65に書き込む。
インターリーブ・バンク61〜65内に見えるピクセル
のレンダリングだけしか行わない。作図プロセッサ50
〜54は、作図パケットによって定義された三角形プリ
ミティブのレンダリングを行って、フレーム・バッファ
100に正確に組み合わせられたラスター化イメージを
形成する。各作図プロセッサ50〜54は、最終ラスタ
ー化イメージの各走査線に沿って5つ目のピクセル毎に
ラスター化を行う。各プロセッサ50〜54は、右に
0、1、2、3、または、4ピクセル分のスペースだけ
偏倚した走査線を開始する。
ンで深さキューイング(depth cueing)を実施する。浮
動小数点プロセッサにおいて深さのキューイングを実施
する先行グラフィック・システムの性能ペナルティを被
ることなく、作図プロセッサ50〜54内において、三
角形、ベクトル、または、ドットの各ピクセル毎に、深
さのキューイングを実施することが可能である。各作図
プロセッサ50〜54は、オプションで矩形ウインドウ
のクリップ、ブレンド、及び、他のピクセル処理機能を
実施する。
84を介して、フレーム・バッファ100からインター
リーブを施したピクセル・データを受ける。ポストプロ
セッサ70は、カラー・ルック・アップテーブル及びカ
ーソル機能を実施する。RAMDAC72は、ポストプ
ロセッサ70から受けたピクセル・データをディスプレ
イ装置26のためにビデオ信号73に変換する。
ク図である。指令プリプロセッサ30は、図示のよう
に、3D幾何学的形状パイプライン及び直接ポート・パ
イプラインによる通信に備えて、ホスト・バス28に結
合されている。実施例の1つでは、指令プリプロセッサ
30は、単一集積回路チップで実現される。直接ポート
・パイプラインは、入力インターフェイス541及びX
11操作回路から構成される。入力インターフェイス5
41は、ホスト・バス28を介して直接ポート・データ
を受け、CD−BUS80を介して作図プロセッサ50
〜54に直接ポート・データを転送する。直接ポート・
データには、作図プロセッサ50〜54に対するレジス
タ書き込み、及び、フレーム・バッファ100に対する
個々のピクセル・書き込みが含まれる。直接ポート・デ
ータは、オプションで作図プロセッサ50〜54と協調
した、文字書き込み、スクリーン・スクロール、及び、
ブロック移動のようなX11機能を実施するX11操作
回路551に転送される。
ンターフェイス541、バケット・バッファ542、フ
ォーマット変換器543、1組の頂点レジスタからなる
頂点バッファ549、及び、代替組レジスタ540から
構成される。3D幾何学的形状パイプラインにおけるフ
ォーマット変換は、VCS操作回路545及びコンバー
タ・シーケンサ544によって制御される。出力幾何学
的形状パケットが、プリミティブ・アセンブリ回路54
7及びシーケンサ548によってアセンブルされる。3
2−16回路550は、オプションでデータ圧縮を実施
する。1組の内部レジスタ552が、3D幾何学的形状
パイプライン及び直接ポート・パイプラインの操作を制
御するように、ホスト・バス28を介してプログラムさ
れる。DMAコントローラ546は、ホスト・バス28
を介して、バケット・バッファ542に対するDMA転
送を実施する。
・バス28及び指令プリプロセッサ30の異なる刻時環
境間におけるインターフェイスのためのバースト・バッ
ファが設けられている。バースト・バッファは、バケッ
ト・バッファ542に転送される入力頂点パケットのた
めの、組をなす一時保持レジスタの働きをする。フォー
マット・変換回路543は、フォーマット542から入
力頂点パケットにアクセスし、再フォーマットされた頂
点パケットを頂点レジスタ549にアセンブルする。フ
ォーマット変換回路543は、プログラムされたフォー
マット変換操作に基づいて、VCS操作回路545によ
って制御される。フォーマット変換は、コンバータ・シ
ーケンサ544によって順序づけされる。プリミティブ
・アセンブリ回路547は、シーケンサ548の制御下
で、頂点レジスタ549からの再フォーマット済み頂点
パケットにアクセスし、出力幾何学的形状パケットを転
送する。プリミティブ・アセンブリ回路547は、オプ
ションで代替組レジスタ540からの代替組代入を行
う。プリミティブ・アセンブリ547は、また、オプシ
ョンで32−16回路550を利用して、出力幾何学的
形状パケットにおけるデータにデータ圧縮を施す。
形ストリップを定義する入力頂点パケットの処理を行
う。各入力頂点パッケトのヘッダ・ビットは、置換タイ
プを指定する。置換タイプは、後続入力頂点パケットと
先行入力頂点パケットの組み合わせを定義して、三角形
ストリップにおける次の三角形を形成する。フォーマッ
ト・コンバータ543は、三角形ストリップにおける最
後の3つの頂点を保持するレジスタ・スタックを実現す
る。フォーマット変換器543は、三角形ストリップに
おける最後の3つの頂点に最古、中間、最新のラベル付
けを施す。
リップは、置換タイプreplace_oldestを
指定するヘッダを備えた、新しい入力頂点パケットに対
応する。置換タイプreplace_oldestによ
って、フォーマット・コンバータは、最古の頂点を中間
の頂点に置き換え、中間の頂点を最新の頂点に置き換え
て、最新の頂点を新しい入力頂点パケットにおける頂点
にセットする。以上のパターンは、単純な三角形ストリ
ップPHIGS_PLUSに対応する。「スター」パタ
ーンを有する三角形ストリップは、新しい入力頂点パケ
ットに対応する。置換タイプreplace_midd
lestによって、フォーマット・コンバータ543
は、最古の頂点を不変の状態にしておき、中間の頂点を
最新の頂点に置き換えて、最新の頂点を新しい入力頂点
パケットにおける頂点にセットする。
しい入力頂点パケットは、置換タイプrestartを
指定するヘッダを備えている。置換タイプrestar
tによって、フォーマット・コンバータ543は、最古
の頂点及び中間の頂点を無効と表示し、最新の頂点を新
しい入力頂点パケットにおける頂点にセットする。プリ
ミティブ・アセンブリ回路547は、置換操作によっ
て、置換レジスタ549の3つの有効頂点が生成される
毎に、CF−BUS82を介して、頂点レジスタ549
及び代替組レジスタ540からの三角形に関する出力幾
何学的形状パケットを転送する。
tart置換タイプは、ポリラインに関する移動操作に
対応する。restart置換タイプの場合、メモリ・
サブシステム22における単一データ構造の幾何学的形
状データ・アレイによって、複数の接続されない可変長
の三角形ストリップを指定することが可能になる。こう
した能力によって、ホスト・バス28を介したDMAシ
ーケンスの開始に必要なオーバヘッドが減少する。メモ
リ・サブシステムにおける幾何学的形状データ・アレイ
から指令プリプロセッサ30が受ける入力頂点パケット
の置換タイプによって、三角形ストリップは、ストリッ
プの中間において「ジグザグ」パターンから「スター」
パターンに変化することができる。こうした能力によっ
て、コンパクトなデータ構造で複雑な幾何学的形状を表
現することが可能になり、同時に、ホスト・バス28を
介した、必要とされる入力データ帯域幅を最小限に抑え
ることが可能になる。
のreplace_oldest置換タイプの後で、頂
点レジスタ549における頂点配列を再構成して、再フ
ォーマット済み頂点パケットにおける出力三角形の向き
を正規化する。プリミティブ・アセンブリ回路547
は、頂点が頂点レジスタ549から転送される際に、頂
点配列を再構成するので、出力三角形の正面は、必ず、
時計廻りの頂点配列によって定義される。入力頂点パケ
ットにおける見出しは、各三角形ストリップの初期向き
配列を指定する。さらに、指令プリプロセッサ30に
は、ヘッダに指定された初期向き配列を反転させる状態
ビットを納めたレジスタが含まれている。ホスト・プロ
セッサ20によって実行されるアプリケーション・プロ
グラムは、状態ビットを保守して、アプリケーション・
プログラムによって保守されるモデル・マトリックスを
反映する。また、指令プリプロセッサ30は、「ジグザ
グ」パターンをなす全三角形の向き配列を反転させる。
頂点レジスタ549から次の利用可能な浮動小数点プロ
セッサ40〜43に各再フォーマット済み頂点パケット
を転送する。次の利用可能な浮動小数点プロセッサ40
〜43は、CF−BUS82の制御部分を通じて、各浮
動小数点プロセッサ40〜43の入力バッファ状況を検
知することによって判定される。指令プリプロセッサ3
0は、浮動小数点プロセッサ40〜43に対する各出力
幾何学的形状パケットの転送配列のレコードまたは「ス
コア・ボード」を保守する。指令プリプロセッサ30
は、CD−BUS80の制御部分を通じて、制御信号を
転送することによって、浮動小数点プロセッサ40〜4
3の出力バッファを制御する。指令プリプロセッサ30
は、順次レンダリング配列が必要とされる場合、出力幾
何学的形状パケットが、適正な配列で、浮動小数点プロ
セッサ40〜43を介して処理を受けることを保証す
る。順次レンダリングが必要でなければ、浮動小数点プ
ロセッサ40〜43の出力における第1の作図パケット
が、まずレンダリングを施される。
た、ポリライン及びポリ・ポリラインの再フォーマット
も行う。さらに、フォーマット・コンバータ543は、
オプションで三角形ストリップ・データをポリライン・
エッジに変換する。こうした能力によれば、三角形エッ
ジの強調を必要とする操作時に、三角形処理が、ライン
処理と混合されることはないので、浮動小数点プロセッ
サ40〜43に関するマイクロ・コードの複雑さが軽減
される。三角形ストリップ内における三角形のエッジ強
調を処理するため、指令プリプロセッサ30は、三角形
ストリップに関する入力頂点パケットを再フォーマット
済み頂点パケットにアセンブルし、CF−BUS82を
介して、出力幾何学的形状パケットとして、再フォーマ
ット済み頂点パケットを浮動小数点プロセッサ40〜4
3に受け渡す。その後、指令プリプロセッサ30は、ホ
スト・バス28を介して、もとの三角形ストリップ入力
頂点パケットにアクセスし、入力頂点パケットを、強調
エッジを表す孤立したベクトルを含む、再フォーマット
済み頂点パケットにアセンブルする。指令プリプロセッ
サ30は、次に、浮動小数点プロセッサ40〜43及び
作図プロセッサ50〜54を介して、孤立したベクトル
に処理を施し、強調機能を実施する。
ータ部分は、16ビット幅であり、CD−BUS80の
データ部分は、16ビット幅である。指令プリプロセッ
サ30は、32−16回路550を利用して、オプショ
ンで再フォーマット済み頂点パケットのカラー及び通常
データ成分を圧縮しておいてから、出力幾何学的形状パ
ケットとして、CF−BUS82を介して浮動小数点プ
ロセッサ40〜43に転送する。32−16回路550
は、32ビットIEEE浮動小数点フォーマットからの
カラー及び通常データを、16ビットの固定小数点フォ
ーマットに圧縮する。その後、浮動小数点プロセッサ4
0〜43が、圧縮されたカラー及び通常データ成分を有
する出力幾何学的形状パケットを受け、カラー及び通常
の成分を圧縮解除して、32ビットのIEEE浮動小数
点値に戻すことになる。再フォーマット済み頂点パケッ
トのカラー及び通常のデータ成分を圧縮しても、再フォ
ーマット済み頂点パケットのカラー成分は、フレーム・
バッファ100における8ビット値で表現されるので、
グラフィック・アクセラレータ24の最終的なイメージ
の質には、あまり影響が生じない。同様に、16ビット
の符号のない正確度を有する出力幾何学的形状パケット
の通常成分は、1マイルで約±1インチの解像度を示
す。一方、再フォーマット済み頂点パケットのカラー及
び通常成分のデータ圧縮を行うと、CF−BUS82を
介したデータ転送帯域幅が約25%だけ減少する。
御記憶装置(CS)149を含む浮動小数点プロセッサ
セクション45のブロック図である。浮動小数点プロセ
ッサ40は、入力回路141、出力回路145、レジス
タ・ファイル142、1組の機能単位143、制御回路
144、及び、SRAMインターフェイス回路146か
ら構成されている。浮動小数点プロセッサ40は、CS
149に転送するための、内部サブルーチン・スタック
及びブロック、並びに、整関数のロード/記憶命令を実
行する。浮動小数点プロセッサ40は、CF−BUS8
2のデータ部分181を介した出力幾何学的形状パケッ
トを受ける。指令プリプロセッサ30は、CF−BUS
82の制御部分182を介して、制御信号を転送し、入
力バッファ141を使用可能及び使用禁止にする。
浮動小数点ALU、浮動小数点逆数演算素子、逆平方根
演算素子、及び、整数ALUを実現する。出力回路14
5は、CD−BUS80の制御部分183を介して作図
パケットを転送する。出力回路145は、また、CD−
BUS80の制御部分183を介して制御信号を転送
し、作図プロセッサ50〜54に対するデータ転送の同
期をとり、指令プリプロセッサ30との、CD−BUS
80におけるバス・アクティビティの調整を行う。実施
例の1つでは、入力回路141及び出力回路145に
は、それぞれ、幾何学的形状データのバッファリングの
ために64のレジスタが含まれている。レジスタ・ファ
イル142は、160の32ビット・レジスタから構成
されている。
記憶アドレス・バス147及び制御記憶データ・バス1
48を介して、制御記憶装置(CS)149との通信を
行う。制御記憶アドレス・バス147は、17ビット幅
であり、制御記憶データ・バス148は、32ビット幅
である。制御記憶装置149は、4つの128k×8ビ
ットSRAMから構成されている。入力回路141に含
まれるレジスタは、二重バッファ式に、1対の32ビッ
ト・レジスタ・ファイルとして構成されている。同様
に、出力回路145に含まれるレジスタは、1対の32
ビット・レジスタによる二重バッファ式レジスタ・ファ
イルとして構成されている。浮動小数点プロセッサ40
で実行されるマイクロコードは、特殊レジスタ・ファイ
ルとして、入力回路141及び出力回路145のレジス
タにアクセスする。浮動小数点プロセッサ40のために
セットされた命令には、レジスタ・ファイルを要求し、
放棄するための指令、並びに、CD−BUS80を介し
て完成したデータ・パケットの伝送に備えて待ち行列に
入る指令が含まれる。
ッサ50〜54による走査変換に備えて、三角形セット
・アップ機能を実行する。三角形セット・アップ機能の
第1のステージでは、y昇順に三角形の3つの頂点を分
類する。浮動小数点プロセッサ40は、頂点のy座標の
最後の3つの比較結果に基づいて、ハードウェア内のレ
ジスタ・ファイル142のセクションの再配列を行う特
殊命令を実行する。浮動小数点プロセッサ40において
実行されるクリップ・テスト機能は、クリップ条件ビッ
トのベクトルを計算する。浮動小数点プロセッサ40〜
43は、対をなすクリップ条件ビットを計算する特殊ク
リップ・テスト命令を実行し、同時に、クリップ条件ビ
ットを特殊クリップ・レジスタにシフトする。クリップ
条件ビットの計算が済むと、特殊分岐命令によって、ク
リップ・レジスタに含まれたクリップ条件ビットを適合
するクリップ条件に復号化する。浮動小数点プロセッサ
40は、三角形及びベクトルに関する別個の分岐命令を
実行する。特殊分岐命令によって、同じ命令内における
多重クリップ条件のテストが可能になる。
である。作図プロセッサ50は、3D幾何学的形状パイ
プライン・インターフェイス回路200、レンダリング
回路210、直接ポート・バス・インターフェイス回路
220、及び、メモリ制御回路230から構成される。
作図プロセッサ51〜54は、それぞれ、作図プロセッ
サ50とほぼ同様である。レンダリング回路210は、
32ビットの内部処理装置を利用して、サブピクセルの
正確度を可能にする高正確度デジタル微分解析器(DD
A)を実現する。前述の分散方式で、エイリアス・ライ
ン及びドット、並びに、アンチ・エイリアス・ライン及
びドットのレンダリングが行われるが、作図プロセッサ
50は、走査線に沿って、5つ目のピクセル毎に処理を
行う。作図プロセッサ50は、また、指令プリプロセッ
サ30のX11操作回路と連係して、X11操作のレン
ダリング部分を実行する。X11操作には、垂直スクロ
ール、ラスター走査、及び、ステンシル操作のための、
ピクセル・グループの読み取り及び書き込みが含まれ
る。
フェイス回路200によって、CD−BUS80のデー
タ部分242を介して出力幾何学的形状パケットを受け
るための、二重バッファ式構成を可能にする。3D幾何
学的形状パイプライン・インターフェイス回路200
は、また、作図ロード信号ライン240及び作図バッフ
ァ使用可能信号ライン241を介して、制御信号を転送
し、指令プリプロセッサ30及び浮動小数点プロセッサ
40〜43とのデータ転送の調整を行う。3D幾何学的
形状パイプライン・インターフェイス回路200は、古
い幾何学的形状データが、レンダリング回路210によ
ってレンダリングを施されている間に、新しい幾何学的
形状データがCD−BUS80を介してロードされるよ
うに構成されている。レンダリング回路210は、走査
変換機能の減速を阻止するため、単一ピクセル・サイク
ル時間においてエッジ・ウォーキング機能を実行する。
エッジ・ウォーキング回路は、次の走査線に達するの
に、単一の外部エッジ・ウォーキング・チップが必要と
する5倍まで進まなければならない場合が多いので、高
速エッジ・ウォーキング機能が設けられている。レンダ
リング回路210は、三角形、アンチ・エイリアス・ベ
クトル、エイリアス・ベクトル、アンチ・エイリアス・
ドット、及び、エイリアス・データを実施する。
ファ・アドレス・バス252を介してアドレスを生成
し、フレーム・バッファ制御バス250を介して制御信
号を生成して、フレーム・バッファ・データ・バス25
4を介して、インターリーブ・バンク_061にピクセ
ル・データを転送する。3D幾何学的形状パイプライン
・インターフェイス回路200は、CD−BUS80を
介して作図パケットを受ける。指令タイプは、各作図パ
ケットの第1のワードにおいて符号化される。指令タイ
プは、作図パケットにおける各ワードのシーケンス及び
フォーマットを決定する。3D幾何学的形状パイプライ
ン・インターフェイス回路200は、作図パケット・デ
ータの各ワードを適合する内部二重バッファ・レジスタ
に経路指定する。完全な作図パケットが、二重バッファ
・レジスタにおいてアセンブルされると、3D幾何学的
形状パイプライン・インターフェイス回路200は、ハ
ンドシェイク・シーケンスを開始して、作図パケットか
らレンダリング回路210における1組のカレント・バ
ッファ・レジスタ212に、指令ワードをロードする。
3D幾何学的形状パイプライン・インターフェイス回路
200には、作図プロセッサ50に割り当てられた作図
プロセッサ・インターリーブ値に基づいて、作図パケッ
トの全X座標を調整するための回路要素が含まれてい
る。
220は、CD−BUS80を介して、直接ポート・パ
ケットを受ける。直接ポート・バス・インターフェイス
回路220は、直接ポート指令の実行を制御する。直接
ポート・バス・インターフェイス回路220は、また、
直接ポート・ストローブ信号244及び直接ポート・バ
ッファ使用可能信号245に基づいて、指令プリプロセ
ッサ30との直接ポート・ハンドシェイクを制御する。
直接ポート・バス・インターフェイス回路220は、直
接ポート指令をアセンブルし、ハンドシェイク・シーケ
ンスを制御して、メモリ制御回路230によって、必要
なフレーム・バッファ・アクセスが行われるようにす
る。指令プリプロセッサ30宛の読み取りデータが、直
接ポート・バス・インターフェイス回路220における
読み取りバッファに納められ、CD−BUS80を介し
て、指令プリプロセッサ30によって読み取られる。
て、エッジ・ウォーキング及びスパン補間機能を実施
し、ベクトルに関して、単純なDDA機能を実施し、ド
ットに関して、パス操作を実施する。レンダリング回路
210は、また、端点補正を実施し、アンチ・エイリア
シング・アルファ計算、及び、深さキュー・スケール・
ファクタの計算を実施する。レンダリング回路210
は、インターリーブ・バンク_061にレンダリングさ
れる各ピクセル毎に、(x,y)、(r,g,b,
z)、及び、(アルファ)値を生成する。レンダリング
回路210は、(x,y)、(r,g,b,z)、及
び、(アルファ)値を1組の二重バッファ・レジスタ2
14に記憶する。レンダリング回路210は、次に、ハ
ンドシェイク・シーケンスの制御を行い、メモリ制御回
路230における適合する1組の二重バッファ・レジス
タに該値をロードする。メモリ制御回路230は、レン
ダリング回路210、直接ポート・バス・インターフェ
イス回路220、及び、ビデオ/DRAMリフレッシュ
回路要素(不図示)からのフレーム・バッファへのアク
セス要求を受ける。メモリ制御回路230は、要求間に
おいて調停を行い、必要な制御信号を生成して、VRA
Mインターリーブ・バンク_0とのピクセルの読み取り
/書き込みを行う。
及びデータ関連機能を実施する。アドレス関連機能に
は、アドレス翻訳、ビュー・ポート・クリッピング、及
び、ページ・モード・アクセス検出が含まれている。デ
ータ関連機能には、データに関するブレンド及び論理操
作、zバッファリング、ウインドウIDチェック、及
び、スクリーン・ドア・トランスペアレンシ等が含まれ
ている。メモリ制御回路230には、VRAM転送サイ
クルに関するビデオ・リフレッシュ・カウンタも含まれ
ている。メモリ制御回路230は、RASサイクルの前
に、CASを利用してDRAMリフレッシュを実施す
る。
・インターフェイス回路200が示されている。3D幾
何学的形状パイプライン・インターフェイス回路200
は、CD−BUS80を介して、3D幾何学的形状パイ
プラインに関する作図パケットを受ける。3D幾何学的
形状パイプライン・インターフェイス回路200は、作
図パケットを1組の二重バッファ・レジスタ270〜2
72にパック解除する。二重バッファ・レジスタ270
〜272は、24の二重バッファ・レジスタ(dbr0
−dbr23)から構成される。3D幾何学的形状パイ
プラインインターフェイス回路200は、DDAバス制
御回路202、及び、作図インターリーブ回路204、
加算器206、及び、マルチプレクサ208から成るD
DAデータ経路回路から構成される。
り当てられた作図プロセッサ・インターリーブ値に基づ
いて、作図パケットの全てのx座標を調整する。加算器
206は、CD−BUS80を介して、3D幾何学的形
状パイプラインに関する作図パケットを受ける。作図イ
ンターリーブ回路204には、作図プロセッサ50に割
り当てられた作図プロセッサ・インターリーブ値を記憶
するインターリーブ・レジスタが含まれている。作図イ
ンターリーブ回路204は、5からインターリーブ・レ
ジスタに記憶された作図プロセッサ・インターリーブ値
を引いた値に等しい値を発生する。加算器206は、二
重バッファ・レジスタ270〜272への転送前に、作
図インターリーブ回路204によって生じる値と作図パ
ケットにおける全x座標を加算する。DDAバス制御回
路202は、1組の制御信号280を発生して、二重バ
ッファ・レジスタ270〜272に作図パケットをロー
ドする。各作図パケットの最初のワード(ヘッダ)は、
パケット・タイプ、パケット・フォーマット、パケット
長を識別する。DDAバス制御回路202は、第1の二
重バッファ・レジスタ(dbr0)にヘッダをロードす
る。ヘッダ情報に基づいて、DDAバス制御回路202
は、二重バッファ・レジスタの残り(dbr1〜dbr
23)にロードする。
D幾何学的形状パイプライン指令のフォーマットがリス
ト・アップされている。指令パケットの各パラメータ毎
に用いられる二重バッファ・レジスタ(dbr1〜db
r23)も示されている。DDAバス制御回路202
は、DDA回路210とのハンドシェイキングによっ
て、指令がきちんとカレント・バッファ・レジスタ21
2に転送されることを保証する。DDAバス制御回路2
02は、カレント・バッファ・ロード信号281を発生
して、二重バッファ・レジスタ270〜272の内容を
対応するカレント・バッファ・レジスタ212に同時に
転送する。DDAバス制御回路202は、次に作図バッ
ファ使用可能信号241を表明して、別の出力幾何学的
形状パケットを二重バッファ・レジスタ270〜272
に転送できるようにする。最後の指令が完了すると、D
DA回路210からDDA準備完了信号282を受け
る。
ト・バス・インターフェイス回路220は、CD−BU
S80を介して、直接ポート・パイプラインによって受
けた指令を実行する。直接ポート・バス・インターフェ
イス回路220は、データ経路回路222及び制御回路
224から構成される。データ経路回路222は、CD
−BUS80を介して受けた「y」及び「x」アドレス
をメモリ制御回路230に対して経路指定する。例え
ば、データ経路回路222は、ピクセル読み取り/書き
込み直接ポート指令時に、CD−BUS80からメモリ
制御回路230に、「y」及び「x」アドレスを経路指
定する。ブロック・コピー、垂直スクロール、及び、充
填直接ポート指令時には、後述のように、作図プロセッ
サ50によって、ピクセル・アドレスが生成される。
tr送信元レジスタ及びinstr宛先レジスタが含ま
れている。instr送信元レジスタ及びinstr宛
先レジスタは、Blt、垂直スクロール、及び、充填カ
テゴリ直接ポート指令時に、用いられる。instr送
信元レジスタは、「xy」及び「ys」レジスタから構
成され、inst宛先レジスタは、「xd」、「y
d」、及び、「countd」レジスタから構成され
る。xs、xd、ys、及び、ydレジスタは、対応す
る方向ビットによって指定される。
令時には、作図プロセッサ50は、フレーム・バッファ
100の読み取りアクセスを(xs,ys)において実
施し、次に、書き込みアクセスを(xd,yd)におい
て実施する。直接ポート・パイプラインによるステンシ
ル操作時には、データ経路回路222は、作図プロセッ
サ50に関する対応するインターリーブ番号に基づい
て、データ・ファイルから単一ビットを抽出する。デー
タ回路222は、次に、抽出したビットをマスク・ビッ
トに加算する。データ経路回路222は、また、ピクセ
ル「バイト書き込み」アクセス・モード及びバイト・モ
ード・ブロック・コピー直接ポート指令に関して、デー
タ・フォーマッティングを実施する。データ経路回路2
22には、ブロック・コピー直接ポート操作のための二
重バッファ式書き込みバッファ、及び、バイト・モード
・ブロック・コピー直接ポート操作のための論理回路が
含まれている。
ットを、メモリ制御回路230のためのピクセル読み取
り、ピクセル書き込み、及び、ロード・レジスタ命令に
分解する。制御回路224は、また、指令プリプロセッ
サ30とのハンドシェイク・シーケンスを実施して、指
令プリプロセッサ30と作図プロセッサ50の間におけ
る直接ポート指令/データの転送を行う。ピクセル書き
込み直接ポート指令は、3つの平面グループ、すなわ
ち、イメージ、深さ、または、ウインドウの1つに対す
るデータの書き込みを行う。ピクセル書き込み操作は、
直接ポート・パケット・ヘッダにおける状態セット・ビ
ットによって指定のところに従い、0にセットされた状
態レジスタ、または、1にセットされた状態レジスタに
基づいて実施される。同様に、ピクセル読み取り直接ポ
ート指令は、3つの平面グループ、すなわち、イメー
ジ、深さ、または、ウインドウの1つに対するデータの
読み取りを行う。ピクセル読み取り操作は、直接ポート
・パケット・ヘッダにおける状態セット・ビットによっ
て指定のところに従い、0にセットされた状態レジス
タ、または、1にセットされた状態レジスタに基づいて
実施される。
は、指令プリプロセッサ30は、直接ポート入力パケッ
トにおける適合するビットからデータ及びマスク・ビッ
トを抽出する。マスク・ビットが「0」の場合、ピクセ
ルは、修正されない。マスク・ビットが1の場合、ピク
セルは、フォーグラウンド・カラーで書き込まれる。作
図プロセッサ50が、ORモードで、マスク・ビットが
0の場合、ピクセルは修正されない。作図プロセッサ5
0が、ANDモードで、マスク・ビットが0の場合、ピ
クセルは、バックグラウンド・カラーで書き込まれる。
ステンシル操作は、0にセットされた状態レジスタに基
づいて実施される。充填直接ポート指令によって、作図
50は、(xd,yd)で始まる4つまでのピクセルを
フレーム・バッファ100に転送する。充填直接ポート
指令のデータ源は、ステンシル/充填フォーグラウンド
・レジスタである。フレーム・バッッファ100は、1
つのランダム・モードと3つのページ・モードによる読
み取り・修正・書き込みサイクルに関してアクセスを受
ける。
立した命令、すなわち、blt_Read、blt_r
ead_transmit、及び、blt−write
−transmit−read命令によって実施され
る。バイト・モードの場合、各指令毎に、4つのピクセ
ルが読み取られ、書き込まれ、伝送される。別様の場
合、各指令毎に、1つのピクセルが読み取られ、書き込
まれ、伝送される。blt−read直接ポート命令に
よって、作図プロセッサ50は、(xs,ys)からピ
クセルを読み取り、ブロック・コピー読み取りバッファ
に該ピクセルを記憶する。xsレジスタは、インクリメ
ントし、xソース・サイズ・レジスタがデクリメントす
る。blt−read−transmit直接ポート命
令によって、作図プロセッサ50は、(xs,ys)か
らピクセルを読み取り、ブロック・コピー読み取り二重
バッファに該ピクセルを記憶する。指令プリプロセッサ
30は、ブロック・コピー読み取りバッファからピクセ
ルを読み取る。次に、ピクセル・データは、読み取り二
重バッファから読み取りバッファに移行する。これによ
って、xsレジスタは、インクリメントし、サイズ・レ
ジスタは、デクリメントする。
read直接ポート命令によって、作図プロセッサ50
は、書き込みバッファから書き込み二重バッファにデー
タを書き込み、次に、データをフレーム・バッファ10
0の(xd,yd)に書き込む。これによって、xレジ
スタは、インクリメントし、x・宛先・サイズ・レジス
タはデクリメントする。作図プロセッサ50は、次に、
フレーム・バッファ100の(xs,ys)からピクセ
ルを読み取り、ブロック・コピー読み取り二重バッファ
に該ピクセルを転送する。指令プリプロセッサ30は、
ブロック・コピー読み取りバッファからピクセルを読み
取る。その後、ピクセル・データは、ブロック・コピー
読み取り二重バッファからブロック・コピー読み取りバ
ッファに送られる。これによって、xsレジスタは、イ
ンクリメントし、サイズ・レジスタは、デクリメントす
る。メモリ制御回路230セクションは、ビュー・ポー
ト・クリッピング、論理演算、ブレンド操作、アルファ
計算、Zバッファリング、ウィンドウ・クリッピング、
スクリーン・ドア・トランスペアレンシ、カーソル平面
アクセス、ピッキング、ビデオ・リフレッシュ、DRA
Mリフレッシュ、高速クリア平面管理、及び、VRAM
制御を実施する。
状パイプラインと直接ポート・パイプラインの両方に関
して、フレーム・バッファ100に対するメモリ・アク
セスにビュー・ポート・クリッピングを施す。ピック・
ヒットを検出すると、ピック・ヒットによって生じるプ
リミティブのレンダリングをしてから、作図プロセッサ
50は、3D幾何学的形状パイプラインを凍結する。ピ
ックIDレジスタは、保存される。作図プロセッサ50
は、ピック・ヒットを検出すると、指令プリプロセッサ
30に対して作図プロセッサ割り込みを表明する。ホス
トプロセッサ20は、作図プロセッサ50における1組
の制御レジスタにプログラミングを施す。制御レジスタ
は、3D幾何学的形状パイプラインと直接ポート・パイ
プラインの両方に関して、操作パラメータを保持する。
指令プリプロセッサ30は、作図プロセッサ50の制御
レジスタに関して目標とされたホスト・バス28を介し
て、直接ポート・データを受け、CD−BUS80を介
して、直接ポート・パケットとして、該直接ポート・デ
ータを作図プロセッサ50に転送する。
タは、直接ポート・パイプライン(状態セット0)及び
3D幾何学的形状パイプライン(状態セット1)のため
の、大域レジスタ及び状況セット依存レジスタに分割さ
れる。操作によっては、独立したレジスタが、状態セッ
ト0と1の両方に設けられる場合もある。大域レジスタ
は、両方の状態セットに役立つレジスタを1つ備えてお
り、直接ポート・パイプラインと3D幾何学的形状パイ
プラインの両方を介してアクセス可能である。ホスト・
プロセッサ28は、作図プロセッサ50〜54の全てに
書き込みの同報通信を行い、特定の作図プロセッサ50
〜54に書き込みを行う。同報通信書き込みは、作図プ
ロセッサ50〜54の全てに関する定数属性のプログラ
ミングに用いられる。ホスト・プロセッサ28は、ま
た、作図プロセッサ50〜54の制御レジスタを読み取
る。
には、制御及び状況レジスタ(CSR)が含まれてい
る。CSRは、直接ポートを介した読み取り専用レジス
タである。CSRに関するビット・フィールドは、下記
の通りである: D<7>=Reset 3D Geometry Po
rt D<6:4>=Number of PID’S −
作図プロセッサ・パイプラインにおけるピックIDの数
を示す。 D<3>=Pick Hit − 作図プロセッサ50
が、ピック・アパーチャ内のピクセルを検出したことを
示す。Pick Hitフィールドは、直接ポートを介
して、指令プリプロセッサ30によってリセットされ
る。 D<2>=Semaphore − 作図プロセッサ5
0のセマフォがセットされたことを示す。 D<1>=Stall Acc − 指令プリプロセッ
サ30からアクセラレータ・ストール信号を受けたこと
を示す。 D<0>=Acc Stalled − アクセラレー
タ・ストール状態信号が指令プリプロセッサ30に送ら
れていることを示す。
は、作図プロセッサ・インターリーブ値を指定する作図
プロセッサ・インターリーブ・レジスタが含まれてい
る。作図プロセッサ・インターリーブ値は、作図プロセ
ッサ50を識別し、0〜4の範囲内である。
て、作図プロセッサ・セマフォがセットされ、かつCS
Rのビット2がセットされる。作図プロセッサ50は、
セマフォ・ビットがセットされている間、3D幾何学的
形状パイプライン指令を実行しない。作図プロセッサの
セマフォ・レジスタが、3D幾何学的形状パイプライン
と直接ポート・パイプラインの両方を介して、ストロー
ブされる。セマフォ・クリア・レジスタに対する書き込
みによって、作図プロセッサ・セマフォがクリアされ、
CSRのビット2がクリアされる。作図プロセッサ・セ
マフォ・レジスタは、直接ポート・パイプラインを介し
てストローブされる。ストール・セット・レジスタに対
する書き込みによって、CSRのビット1がセットされ
る。作図プロセッサ50は、CSRのビット1がセット
されている間、3D幾何学的形状パイプライン指令を実
行しない。指令プリプロセッサ30は、CSRのビット
1を利用して、Bltまたは充填直接ポート操作の実行
時に、3D幾何学的形状パイプラインを調べる。ストー
ル・クリア・レジスタへの書き込みによって、CSRの
ビット1がクリアされ、作図プロセッサ50は、フレー
ム・バッファ100の更新を再開することが可能にな
る。
に対する書き込みによって、CSRのビット7(リセッ
ト)をセットし、ビット3(ピック・ヒット)、ビット
2(セマフォ)、及び、ビット0(ストール)をリセッ
トすることによって、3D幾何学的形状パイプラインが
作図プロセッサ50にリセットされる。幾何学的形状ポ
ート・リセット・レジスタに対する書き込みによって、
3D幾何学的形状パイプライン・リセット状態がクリア
され、CSRのビット7がクリアされる。フレーム・バ
ッファ幅レジスタが、フレーム・バッッファ100の最
大水平解像度を選択し、ステレオ・アドレス指定モード
を実行可能にする。
セッサ50のいくつかの機能を制御する。ブレンド操作
(ビット24及び23)またはラスター操作(ROP)
(ビット21〜18)の場合、状態セット0は、カレン
トROPを指定する。カレントROPだけが、平面グル
ープ使用可能フィールド(ビット11〜5)によって選
択されたカレント・アクセス・モードの平面グループに
基づいて、RGBO平面に影響を及ぼす。状態セット1
は、カレント・ブールROPを指定し、ブレンド回路要
素を使用可能にする。カレントROPは、RGBO、カ
ーソル・データ、及び、カーソル使用可能平面に影響を
及ぼす。カレント・ブレンド操作は、RGB平面に影響
を及ぼす。
ィールドは、下記のように定義される。ここで、SRC
は送信元データ、DSTはフレーム・バッファ宛先にお
けるデータ、BGはバックグラウンド、DDAはデジタ
ル微分解析器である: D<31:29>=Pick Control 1xx ピック実行可能化 x1x ピック中のレンダリング xx1 3Dピック・アパーチャ 該コードによって、下記の機能が可能になる: 0xx ピック実行禁止 100 レンダリングを伴わない2D限度ピック 101 レンダリングを伴わない3D限度ピック 110 レンダリング中の2D限度ピック 111 レンダリング中の3D限度ピック 2Dピックは、X及びY限度を利用する。3Dピック
は、X、Y、及び、Z限度を利用する。
− スクリーン・ドア透明機能を実行可能にする: 0 Solid − 全ピクセルを作図 1 Transparent − スクリーン・ド
ア・パターンを利用する D<26>=Force Color Enable 0 SRC=DDAカラー 1 SRC=カラー・レジスタ D<25>=Antialias Enable 0 定数アルファ 1 アンチ・エイリアス・フィルタ・アルファ D<24>=Blend Function Sele
ct 0 バックグラウンドに対するブレンド:(SRC
−BG)*alpa+D S T 1 フレーム・バッファに対するブレンド:(SR
C−DST)*alpa + DST D<23> =Blend Enable 0 ビット21〜18のROPコードによって指定
されたラスター操作を実施する。 1 ビット25のAntialias Enabl
e、及び、ビット24のBlend Function
Selectによって指定されたブレンド操作を実施
する。 D<22>=BLT Source Buffer B 0 バッファBを使用禁止にする(バッファAを使
用可能にする) 1 バッファAを使用禁止にする(バッファBを使
用可能にする)
下記のように(コードは16進数)ブールROP(ラ
スター操作)を選択する: 0 DST+全てのビット0 1 DST=〜(SRC or DST) 2 DST=〜SRC and DST 3 DST=〜SRC 4 DST=SRC and 〜DST 5 DST=〜DST 6 DST=SRC xor DST 7 DST=〜(SRC and DST) 8 DST=SRC and DST 9 DST=〜SRC xor DST A DST=DST B DST=〜SRC or DST C DST=SRC;これは、ROP操作を実施し
ない場合における省略時解釈の事例である。 D DST=SRC or 〜DST E DST=SRC or DST F DST=全ビットが1 D<17:14>=ZBuffering Cotro
l − 下記のように深さ平面の利用を制御する: 1xxx HSR(隠面消去)実行可能化 x1xx Z書き込み許可 xx1x 定数Z使用可能化 xxx1 WID拡張クリップ実行可能化
た、隠面消去(HSR)機能に関するZバッファリング
制御フィールドの符号化が示されている。図9には、ウ
インドウID拡張としてZを利用した、ウインドウID
(WID)機能に関するZバッファリング制御フィール
ドの符号化が示されている。 D<13:12>=Stereo Control:ビ
ット12は、カレント・ウインドウ・アプリケーション
をステレオ(1)または「モノ」(0)と定義する。ビ
ット13は、フレーム・バッファの所望の半分を指定す
る(左について0、または、右について1)。 x0 モノ x1 ステレオ 0x 左 1x 右
Enable − 個々の平面グループを使用可能及
び使用禁止にする。特定の平面のピクセルは、平面グル
ープが使用可能で、書き込みマスクが「1」の場合に限
って、更新される。この機能は、高速クリア・ウインド
ウの場合に修正される。各ビット(0=使用禁止、1=
使用可能)によって、特定の平面が下記のように制御さ
れる: ビット11 ウインドウIDグループ使用可能化 ビット10 高速クリア操作実行可能化(ビット3:1
参照) ビット9 赤平面使用可能化 ビット8 緑平面使用可能化 ビット7 青平面使用可能化 ビット6 オーバレイ平面使用可能化 ビット5 Z平面使用可能化
Window ID: 0 カレント・ウインドウIDを強制しない。 1 カレント・ウインドウID平面が、書き込み毎
に、フレーム・バッファの内容に取って代わる。WID
平面に対する最終書き込みは、平面マスク及びウインド
ウ平面グループ使用可能化ビットによって制御される。
lane Select − カレント・ウインドウに
関する高速クリア平面を識別する: 0 高速クリア平面0 1 高速クリア平面1 2 高速クリア平面2 3 高速クリア平面3 4 高速クリア平面4 5 高速クリア平面5 6 高速クリア平面6 7 高速クリア平面7
t − RGB平面に関する二重バッファ制御を可能に
する。Buffer B Selectを1にセットす
ると、フレーム・バッファ100の読み取り、書き込
み、及び、読み取り・修正・書き込みアクセスの全てに
関する目標として、バッファBが選択される。ブロック
・コピー操作の場合、ビット22(Blt Sourc
e Buffer B)によって、送信元バッファの独
立した選択を行い、バッファAとバッファBの間におけ
るブロック・コピー操作を実行可能にすることができ
る。Buffer BSelectは、下記のようにコ
ード化される: 0 バッファAを選択する;ビット22がセットさ
れると、バッファBをソースとして選択する。 1 バッファBを選択する;ビット22がクリアさ
れると、バッファAをソースとして選択する。
ー・レジスタは、ステンシル・モード・アクセス時にお
けるフレーム・バッファ・ピクセル・データを指定す
る。1にセットされたステンシル・ビットは、フォーグ
ラウンド・カラーを利用する。充填操作時、ステンシル
/充填フォーグラウンド・カラー・レジスタのデータ
は、全てのピクセルについて、フレーム・バッファ10
0に書き込まれる。ステンシル/充填フォーグラウンド
・カラー・レジスタのデータのフォーマットは、上述の
選択された平面グループによって決まる。イメージ平面
の場合、ステンシル/充填フォーグラウンド・カラー・
レジスタは、下記の通りである: D<31:24>=Overlay − オーバレイ・
ピクセル値を指定する。 D<23:16>=Blue − 青のピクセル値を指
定する。 D<15:8>=Green − 緑のピクセル値を指
定する。 D<7:0>=Red − 赤のピクセル値を指定す
る。
グラウンド・カラー・レジスタのビット・フィールド
は、下記の通りである: D<23:0>=Depth − ピクセルの深さ
(Z)を指定する。 ウインドウ平面の場合、ステンシル/充填フォーグラウ
ンド・カラー・レジスタは、下記の通りである: D<15:0>=Fast Clear − 各ビット
は、高速クリア平面を指定する:ビット10は平面0を
指定し、ビット11は平面1を指定し、等等。 D<9:6>=Overlay Window ID
Plane − オーバレイ・ウィンドウID平面を指
定する。 D<5:0>=Image Window ID Pl
ane − イメージ・ウインドウID平面を指定す
る。
レジスタは、ステンシル・モード・アクセス時における
フレーム・バッファ・ピクセル・データを指定する。透
明フラグがゼロの場合、0にセットされたステンシル・
ビットは、バックグラウンド・カラーを利用する。イメ
ージ平面の場合、ステンシル・バックグラウンド・カラ
ー・レジスタのビット・フィールドは、下記の通りであ
る: D<31:24>=Overlay − オーバレイ・
ピクセル値を指定する。 D<23:16>=Blue − 青のピクセルを指定
する。 D<15:8>=Green − 緑のピクセル値を指
定する。 D<7:0>=Red − 赤のピクセル値を指定す
る。 深さ平面の場合、ステンシル・バックグラウンド・カラ
ー・レジスタは、下記の通りである: D<23:0>=Depth − ピクセルの深さ
(Z)を指定する。 ウインドウ平面の場合、ステンシル・バックグラウンド
・カラー・レジスタのビット・フィールドは、下記の通
りである: D<15:0>=Fast Clear − 各ビット
は、高速クリア平面を指定する。 D<9:6>=Overlay Window ID
Plane − オーバレイ・ウィンドウID平面を指
定する。 D<5:0>=Image Window ID Pl
ane − イメージ・ウインドウID平面を指定す
る。
能によって、送信元矩形が宛先矩形にコピーされる。指
令プリプロセッサ30によって、ブロック・コピー機能
が、コピー/スクロール送信元アドレス・レジスタ、コ
ピー/スクロール/充填サイズ・レジスタ、及び、コピ
ー/スクロール/充填宛先アドレス・レジスタだけでな
く、ピクセル・アクセスを制御する状態セット0レジス
タにもプログラムされる。
スタは、矩形コピー操作に関して、初期フレーム・バッ
ファ送信元アドレスを指定する。ビット・フィールド
は、下記のように定義される: D<31:30>=Source Group − 下
記のようにコピー送信元平面グループを指定する: 000 イメージ平面グループ 001 深さ平面グループ 010 ウインドウ平面グループ 100 イメージ平面グループ:オーバレイ 101 イメージ平面グループ:青 110 イメージ平面グループ:緑 111 イメージ平面グループ:赤 D<25:16>=Source Y − Y送信元ア
ドレス(10ビット)を指定する。有効値は、0〜10
23の範囲である。 D<7:0>=Source X − X送信元アドレ
ス(8ビット)を指定する。有効値は、0〜255の範
囲である。X送信元アドレスは、(実際のX送信元アド
レス)/5の整数値に等しい。 Copy/Scroll/Fill Size
タは、矩形コピーまたは充填操作のサイズ、及び、コピ
ー操作の方向を指定する。ビット・フィールドは、下記
の通りである: D<31>=Copy Direction − 下記
のようにコピー方向を指定する: 0 外側ループ:上から下、内側ループ:左から右、
上方左から開始。 1 外側ループ:下から上、内側ループ:右から左、
下方右から開始。充填の場合、0にセットする。 D<7:0>=Size − ブロックのxサイズ(8
ビット)を指定する。有効値は、0〜255の範囲であ
る。xサイズは、(実際のxサイズ)/5の整数値に等
しい。
レジスタは、矩形コピー操作に関して、初期フレーム・
バッファ宛先アドレスを指定する。ビット・フィールド
は、下記のように定義される: D<31>=Byte Mode − バイトまたはピ
クセル・モードを指定する。ピクセル・モードは、充填
に用いられる。 D<30:29>=Destination Grou
p − ピクセル・モードの場合、宛先平面グループを
指定する。バイト・モードは、常に、イメージ平面グル
ープを利用する。 00 イメージ平面グループ 01 深さ平面グループ 10 ウインドウ平面グループ 11 イメージ平面グループ+深さ平面グループ D<28>=Ext − 宛先幅の範囲を指定する。宛
先幅は、サイズより1少ない。 D<25:16>=Destination Y −
Y宛先アドレス(10ビット)を指定する。有効値は、
0〜1023の範囲である。 D<7:0>=Destination X − X宛
先アドレス(8ビット)を指定する。有効値は、0〜2
55の範囲である。X宛先アドレスは、(実際のX宛先
アドレス)/5の整数値に等しい。
ト・クリッピングは、ビュー・クリップ最小限度レジス
タ及びビュー・クリップ最大限度レジスタによって制御
される。ビュー・クリップ最小限度レジスタは、上部左
側コーナの座標である、ビュー・ポートの上部及び左側
(を含む)境界を指定する。作図プロセッサ50は、Y
<上部の場合、または、X<左側の場合、ピクセルをク
リップするが、ここで、Y=0は、スクリーンの上部で
あり、X=0は、スクリーンの左側である。ビュー・ク
リップ最小限度レジスタのビット・フィールドは、下記
のように定義される: D<25:16>=Top Boundary − ク
リップ領域の上部境界を指定する。Y値は、10ビット
である。 D<10:0>=Left Boundary − ク
リップ領域の左側境界を指定する。
部右側コーナの座標である、ビュー・ポートの下部及び
右側(を含む)境界を指定する。作図プロセッサ50
は、X>右側の場合、または、Y>下部の場合、ピクセ
ルをクリップするが、ここで、Y=0は、スクリーンの
上部であり、X=0は、スクリーンの左側である。ビュ
ー・クリップ最大限度レジスタのビット・フィールド
は、下記のように定義される: D<25:16>=Bottom Boundary
− クリップ領域の下部境界を指定する。 D<10:0>=Right Boundary −
クリップ領域の右側境界を指定する。
御するレジスタが含まれている。ピック・レジスタに
は、クリア・ピック・ヒット・レジスタ、1組のピック
IDレジスタ、ピック最小限度レジスタ、ピック最大限
度レジスタ、ピック前部限度レジスタ、及び、ピック後
部限度レジスタが含まれている。クリア・ピック・ヒッ
ト・レジスタに対する書き込みによって、ピック・ヒッ
ト出力フラグがリセットされ、作図プロセッサ50がピ
ックID(PID)レジスタを更新する。PIDレジス
タは、作図プロセッサ50に関して、カレント・ピック
IDをセットする。PIDレジスタは、組をなす5つの
32ビット・レジスタから構成される。PIDレジスタ
は、3D幾何学的形状パイプラインを介してプログラム
される。ピッキングが実行可能になると、作図プロセッ
サ50は、ピック・ヒットが検出されると、PIDレジ
スタが更新されないことを保証する。作図プロセッサ5
0は、また、先行作図指令に関する全ピクセルが、ピッ
キングなしに、レンダリングされるまで、PIDレジス
タが更新されないことを保証する。ホストプロセッサ2
0は、ピッキング時には、直接パイプラインを介してP
IDを更新することはできないが、直接パイプラインを
介してピッキングを施されるピクセルのレンダリングを
行うことは可能である。
ナの座標である、ピック・アパーチャの下部及び右側
(を含む)境界を指定する。作図プロセッサ50は、X
>右側の場合、または、Y>下部の場合、ピック・ヒッ
トを発生しないが、ここで、Y=0は、スクリーンの上
部であり、X=0は、スクリーンの左側である。ビット
・フィールドは、下記のように定義される: D<25:16>=Bottom Boundary
− ピック・アパーチャの下部境界を指定する。 D<10:0>=Right Boundary −
ピック・アパーチャの右側境界を指定する。
ーチャの前部(を含む)境界を指定する。作図プロセッ
サ50は、Z<前部の場合、ピック・ヒットを発生せ
ず、Pick CSR3−Dフィールドがセットされ
る。ピック後部限度レジスタは、ピック・アパーチャの
後部(を含む)境界を指定する。作図プロセッサ50
は、Z>後部の場合、ピック・ヒットを発生せず、Pi
ck CSR3−Dフィールドがセットされる。
明機能は、16のスクリーン・ドア・コラム・レジスタ
の内容によって指定される。各ドア・コラム・レジスタ
は、16ビット幅であり、16×16のスクリーン・ド
ア透明パターンが得られる。各スクリーン・ドア・コラ
ム・レジスタは、スクリーン・ドア透明パターンの16
ピクセルから成る1つのコラムを定義する。パターン・
ビットが1の場合、オブジェクトは、対応するピクセル
においてべた塗り(可視)である。パターン・ビットが
0の場合、オブジェクトは、透明であり、対応するピク
セルは、描かれない。コラム番号は、偶数コラムの場
合、2×nnに等しく、奇数コラムの場合、2×nn+
1に等しいが、ここで、nn(レジスタ・アドレスのオ
フセット)は、0〜7の10進数である。スクリーン・
ドア・コラム・レジスタのビット・フィールドは、下記
のように定義される: D<31:16>=Column Odd Rows
15 through0は、ビット31〜16によって
指定される。 D<15:0>=Column Even Rows
15 through0は、ビット15〜0によって指
定される。
作は、高速クリア・データ・レジスタ及びウインドウ・
バックグラウンド・カラー・レジスタによって制御され
る。高速クリア・データ・レジスタの内容は、フレーム
・バッファ100に対するVRAMフラッシュ書き込み
メモリ・サイクルにおいて、高速平面に対して書き込ま
れる。高速クリア・データ・レジスタに関するビット・
フィールドは、下記に示すとおりである: D<15:10>=Fast Clear − VRA
Mフラッシュ書き込みメモリ・サイクルにおいて高速平
面に対して書き込まれる6ビット・フィールド。
レジスタは、作図プロセッサ50が実施する操作に用い
られる、ウインドウ・バックグラウンド・カラー(RG
BO)を指定する。Z平面には、全て1のバックグラウ
ンドが用いられる。ウインドウが、高速ウインドウの場
合、バックグラウンド値が、例えば、ROPまたはアン
チ・エイリアス操作のような、読み取り、または、読み
取り/修正/書き込みサイクルにおいて、任意の無効
(すなわち、高速クリアが施されたが、まだ書き込まれ
ていない)ピクセルから読み取られた、RGBOデータ
の代わりに用いられる。ウインドウ・バックグラウンド
・カラーは、また、作図プロセッサ50のブレンド機能
にとっても、加数源の1つとして利用可能である。ウイ
ンドウ・バックグラウンド・カラー・レジスタに関する
ビット・フィールドは、下記に示す通りである: D<31:24>=Overlay − オーバレイ・
ピクセル値を指定する。 D<23:16>=Blue − 青のピクセル値を指
定する。 D<15:8>=Green − 緑のピクセル値を指
定する。 D<7:0>=Red − 赤のピクセル値を指定す
る。
ンドウIDレジスタ及びウインドウID(WID)クリ
ップ・マスク・レジスタが含まれている。カレント・ウ
インドウIDレジスタは、カレント・ウインドウIDコ
ードを指定する。カレント・ウインドウIDコードは、
強制カレントWID属性が使用可能になると(作図プロ
セッサ属性レジスタのビット4)、WID平面に強制的
に送り込まれる。WIDクリッピングが実行可能になる
と、カレント・ウインドウIDコードは、非マスクWI
D平面と比較される。WIDクリップ・マスク・レジス
タは、カレントWIDクリップ・マスクを指定する。W
IDクリップ・マスク・レジスタにおいてビットをセッ
トすると、WIDクリップ比較時に、カレントWIDレ
ジスタの対応するビットが実行可能になる。
SR)に関して、深さバッファの働きをする、24のフ
レーム・バッファZ平面を実現する。定数Z送信元レジ
スタは、ウインドウ・クリッピングまたは並列ピクセル
・モード書き込みに関するWID範囲として、深さ
(Z)平面に書き込むことが可能な定数の指定を行う。
作図プロセッサ50には、イメージ書き込みマスク・レ
ジスタ及びウインドウ書き込みマスク・レジスタが含ま
れている。イメージ書き込みマスク・レジスタによっ
て、RGBO平面に関する平面毎の書き込みマスクが得
られる。作図プロセッサ50は、イメージ平面グループ
の4バイト全てにおけるバイトを複製する。イメージ書
き込みマスク・レジスタは、フレーム・バッファに書き
込まれるバイトを決定する。イメージ書き込みマスク・
レジスタのビット・フィールドは、下記に示す通りであ
る: D<31:24>=Overlay Mask − オ
ーバレイ・ピクセル・マスクを指定する。 D<23:16>=Blue Mask − 青のピク
セル値を指定する。 D<15:8>=Green Mask − 緑のピク
セル値を指定する。 D<7:0>=Red Mask − 赤のピクセル値
を指定する。
って、高速クリア平面、オーバレイ・ウインドウ平面、
及び、イメージ・ウインドウ平面に関する平面毎の書き
込みマスクが得られる。ビット・フィールドは、下記に
示す通りである: D<15:10>=Fast Clear Mask
− 高速クリア・マスクを指定する。 D<9:6>=Overlay Window Pla
ne Mask − オーバレイ・ウインドウ平面マス
クを指定する。 D<5:0>=Image Window Plane
Mask − イメージ・ウインドウ平面マスクを指
定する。
信元レジスタ及び強制カラー・レジスタが含まれてい
る。定数アルファ送信元レジスタは、アンチ・エイリア
ス・フィルタ・アルファに取って代わることの可能な、
定数アルファ送信元を指定する。強制カラー・レジスタ
は、DAA装置によって生じるカラー値に取って代わる
ことの可能な、定数カラー送信元を指定する。強制カラ
ー・レジスタのビット・フィールドは、赤、緑、及び、
青のピクセル値を指定する。
作は、深さキューZ前部レジスタ、深さキューZ後部レ
ジスタ、深さキュー・スケール・レジスタ、深さキュー
Zスケール・レジスタ、及び、深さキュー・フェード・
カラー・レジスタによって制御される。深さキューZ前
部レジスタは、深さキューイングに用いられる、Z前部
値を指定する。深さキュー後部レジスタは、深さキュー
イングに用いられる、Z後部値を指定する。
キューイングに用いられる、前部及び後部スケール・フ
ァクタを指定する。スケール値は、0〜1.0の範囲の
9ビットから構成される。深さキューZスケール・レジ
スタは、深さキューイングに用いられる、Zスケール・
ファクタを指定する。Zスケール・ファクタは、9ビッ
トの仮数及び6ビットの指数から構成される。
は、深さキューイングに用いられる、赤、緑、及び、青
のフェード・カラーを指定する。Phigs+dept
hキューイングは、下記のように実施される: C=SCi+(1−S)Cd ここで: C=深さキューイングを施したカラーの成分 Ci=入力カラーの成分 Cd=深さキュー・フェード・カラーの成分 S=作図プロセッサ50において、下記のように計算さ
れる、深さキュー・スケール・ファクタ: ZがZ前部の前にある場合、S=前部スケール ZがZ後部の後ろにある場合、S=後部スケール ZがZ前部とZ後部の間にある場合、S=後部スケール
+(Z−Zback)*Zscale
ピクセル操作が示され、フレーム・バッファ100に対
するピクセル書き込みに先立って、作図プロセッサ50
によってテストされる条件が示されている。図10に
は、高速クリア平面に関するピクセル操作が示されてい
る。図11には、ウインドウID平面に関するピクセル
操作が示されている。図12には、イメージ(ORG
B)平面に関するピクセル操作が示されている。図13
には、深さ平面に関するピクセル操作が示されている。
図10〜13のコラムに示す条件の定義は、下記の通り
である。
「1」の場合、ピクセルが、ビュー・クリップ最小限度
及びビュー・クリップ最大限度レジスタによって定義さ
れるビュー・ポート内にあることを表す。
条件は、「1」の場合、ピッキング実行可能及びピッキ
ング中の非レンダリングを指定する、10xのピック制
御コード(すなわち、作図プロセッサ属性レジスタビッ
ト31:29)を示す。
プ・マスク・レジスタにおいて1である各ビット毎に、
fb data inにおけるビットが、カレント・ウ
インドウIDレジスタにおける対応するビットと等しい
ことを表しており、ここで、fb data inは、
非修正ピクセル・データである。
ロセッサ属性レジスタのビット17(隠面消去実行可能
化)であり、Xは、作図プロセッサ属性レジスタのビッ
ト14(WID範囲クリップ実行可能化)である。 For X=0,H=0:hsr.win=1 For X=0,H=1:if(Znew,=Zol
d)hsr.win=1;else hsr.win =
0 For X=1,H=0:if(Znew==Zol
d)hsr.win==1;else hsr.win=
0 For X=1,H=1:if(Znew==Zol
d)hsr.win==1;else hsr.win=
0
nable条件は、「0」の場合、ビット27(作図プ
ロセッサ属性レジスタのスクリーン・ドア実行可能化)
が「1」であり、選択されたドア・ビットが「0」であ
ることを示す。fast clear enable条
件は、作図プロセッサ属性レジスタのビット10(高速
クリア実行可能化)である。fast clearビッ
トが、「1」の場合、I及びD平面が有効であることを
表している。access mode条件は、次の通り
である: I=イメージ(ORGB)平面、直接ポート書き込みま
たは読み取り D=深さ(Z)平面、直接ポート書き込みまたは読み取
り W=ウインドウ(FC+WID)平面、直接ポート書き
込みまたは読み取り ID=イメージ+深さ、3D書き込み専用または直接ポ
ート書き込み専用
ufferに関する定義は、下記の通りである。要素
「Bit M(m,Side1,Side2)」は、マ
スクmにおける各ビット毎に、m=0の場合には、側部
0ビットを選択し、m=1の場合には、側部1ビットを
選択することを表している。「FB Data In」
は、フレーム・バッファ100に書き込まれたデータ
が、フレーム・バッファ100から読み取られたデータ
と同じである、すなわち、ピクセルは、修正されていな
いことを表している。
・アクセスの場合、データが、フレーム・バッファ10
0のORGB平面フレーム・バッファには書き出される
ことはないということを表している(Data Out
to FB=FB Data In)。図12の第2
の行は、(I、D、または、IDアクセスの場合)ピク
セルがビュー・ポート内になければ、ピクセルは書かれ
ないということを表している(Data Out to
FB=FB Data In)。図12の第8の行
は、IまたはIDピクセル・アクセスの場合、垂直線の
左の全条件が合致すると、フレーム・バッファ100か
ら読み取られたデータは、ROP及びブレンド装置に変
更を加えずに受け渡され、フレーム・バッファ100に
書き出されるデータは、ROP/Blend Unit
(書き込みマスクの制御下にある)の出力である。
その特定の典型的な実施例に関連して行ったが、もちろ
ん、付属の請求項に記載の、本発明のより一般的な精神
及び範囲を逸脱することなく、各種の修正及び変更を加
えることが可能である。明細書及び図面は、従って、制
限ではなく、例示のためのものとみなすべきである。
ム、グラフィック・アクセラレータ、及び、ディスプレ
イ装置を含むコンピュータ・システムのブロック図であ
る。
セッサ、1組の作図プロセッサ、フレーム・バッファ、
ポストプロセッサ、及び、ランダム・アクセス・メモリ
/デジタル・アナログ変換器(RAMDAC)から構成
される、グラフィック・アクセラレータのブロック図で
ある。
3D幾何学的形状パイプラインの再フォーマット回路要
素を示す、指令プリプロセッサのブロック図である。
路、レジスタ・ファイル、1組の機能単位、制御回路、
及び、SRAMインターフェイス回路を含む、浮動小数
点プロセッサ・セクションのブロック図である。
ェイス回路、レンダリング回路、直接ポート・バス・イ
ンターフェイス回路、及び、メモリ制御装置を示す、作
図プロセッサのブロック図である。
プラインに関する出力幾何学的形状パケットを受ける、
3D幾何学的形状パイプライン・インターフェイス回路
を示す図である。
何学的形状パイプライン指令のフォーマットをリスト・
アップし、指令パケットの各パラメータ毎に用いられる
二重バッファ・レジスタ(dbr1−dbr23)を示
す図である。
(HSR)機能に関する、Zバッファリング制御フィー
ルドの符号化を示す図である。
ンドウID(WID)機能に関する、Zバッファリング
制御フィールドの符号化を示す図である。
フレーム・バッファに対するピクセル書き込みに先立っ
て、作図プロセッサによってテストされる条件を示す図
である。
フレーム・バッファに対するピクセル書き込みに先立っ
て、作図プロセッサによってテストされる条件を示す図
である。
フレーム・バッファに対するピクセル書き込みに先立っ
て、作図プロセッサによってテストされる条件を示す図
である。
フレーム・バッファに対するピクセル書き込みに先立っ
て、作図プロセッサによってテストされる条件を示す図
である。
ステム、24 グラフィック・アクセラレータ、26
ディスプレイ装置、28 ホスト・バス 30 指令プリプロセッサ、40〜43 浮動小数
点プロセッサ、50〜54 作図プロセッサ、61〜
65 インターリーブ・バンク、70 ポストプロ
セッサ、72 RAMDAC、80 CD−BU
S、82 CF−BUS、84 ビデオ・バス、1
00 フレーム・バッファ。
Claims (2)
- 【請求項1】 2次元及び3次元のポイント、ライン、
及び領域グラフィック・プリミティブに関する高レベル
のスクリーン・スペース記述を含む幾何学的形状オブジ
ェクトを定義する、1組の幾何学的形状パラメータを納
めた作図パケットを、作図バスを介して、浮動小数点プ
ロセッサから受け、作図プロセッサに対応するインター
リーブ値に基づいて、幾何学的形状パラメータに調整を
加える、幾何学的形状パイプライン・インターフェイス
回路と、 幾何学的形状パイプライン・インターフェイス回路から
幾何学的形状パラメータを受け、幾何学的形状パラメー
タに基づいて、エッジ・ウォーキング及び走査補間機能
を実施することによって、幾何学的形状に対応する1組
のピクセルを生成するレンダリング回路と、 作図プロセッサの少なくとも1つのピクセル機能を制御
する、1組のピクセル機能パラメータを納めた直接ポー
ト・パケットを、作図バスを介して、指令プリプロセッ
サから受ける直接ポート・インターフェイス回路と、 直接ポート・インターフェイス回路からピクセルを受
け、また、直接ポート・インターフェイス回路からピク
セル機能パラメータを受けて、フレーム・バッファ・メ
モリにピクセルを書き込み、同時に、ピクセル機能を実
施するメモリ制御回路から構成される、 グラフィック・アクセラレータ用の作図プロセッサ。 - 【請求項2】 2次元及び3次元のポイント、ライン、
及び領域グラフィック・プリミティブに関する高レベル
のスクリーン・スペース記述から成る幾何学的形状オブ
ジェクトを定義する、1組の幾何学的形状パラメータを
納めた作図パケットを、作図バスを介して、浮動小数点
プロセッサから受けるステップと、 作図プロセッサに対応するインターリーブ値に基づい
て、幾何学的形状パラメータに調整を加えるステップ
と、 幾何学的形状パラメータに基づいて、エッジ・ウォーキ
ング及び走査補間機能を実施することによって、幾何学
的形状に対応する1組のピクセルを生成するステップ
と、 少なくとも1つのピクセル機能を制御する、1組のピク
セル機能パラメータを納めた直接ポート・パケットを、
作図バスを介して、指令プリプロセッサから受けるステ
ップと、 フレーム・バッファ・メモリにピクセルを書き込み、同
時に、ピクセル機能を実施するステップから構成され
る、 グラフィック・アクセラレータでフレーム・バッファに
ピクセルをレンダリングするための方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/082,065 US5440682A (en) | 1993-06-04 | 1993-06-23 | Draw processor for a high performance three dimensional graphic accelerator |
| US082065 | 1993-06-23 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH07105388A JPH07105388A (ja) | 1995-04-21 |
| JP3476094B2 true JP3476094B2 (ja) | 2003-12-10 |
Family
ID=22168829
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP15064394A Expired - Lifetime JP3476094B2 (ja) | 1993-06-23 | 1994-06-09 | 高性能3次元グラフィック・アクセラレータの作図プロセッサ |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP0631252B1 (ja) |
| JP (1) | JP3476094B2 (ja) |
| DE (1) | DE69430857T2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111617468A (zh) * | 2020-05-28 | 2020-09-04 | 腾讯科技(深圳)有限公司 | 一种资源渲染方法、装置、设备及存储介质 |
Families Citing this family (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5745118A (en) * | 1995-06-06 | 1998-04-28 | Hewlett-Packard Company | 3D bypass for download of textures |
| FR2735267B1 (fr) * | 1995-06-08 | 1999-04-30 | Hewlett Packard Co | Systeme et procede de convertisseur de balayage de triangles a tampons de trame entrelaces en deux dimensions |
| WO1999064990A2 (en) | 1998-06-12 | 1999-12-16 | Intergraph Corporation | System for reducing aliasing on a display device |
| US6650327B1 (en) | 1998-06-16 | 2003-11-18 | Silicon Graphics, Inc. | Display system having floating point rasterization and floating point framebuffering |
| WO2000004484A2 (en) | 1998-07-17 | 2000-01-27 | Intergraph Corporation | Wide instruction word graphics processor |
| US6188410B1 (en) | 1998-07-17 | 2001-02-13 | 3Dlabs Inc. Ltd. | System for processing vertices from a graphics request stream |
| US7518616B1 (en) | 1998-07-17 | 2009-04-14 | 3Dlabs, Inc. Ltd. | Graphics processor with texture memory allocation system |
| US6480913B1 (en) | 1998-07-17 | 2002-11-12 | 3Dlabs Inc. Led. | Data sequencer with MUX select input for converting input data stream and to specific output data stream using two exclusive-or logic gates and counter |
| US6157393A (en) * | 1998-07-17 | 2000-12-05 | Intergraph Corporation | Apparatus and method of directing graphical data to a display device |
| US6181355B1 (en) | 1998-07-17 | 2001-01-30 | 3Dlabs Inc. Ltd. | Graphics processing with transcendental function generator |
| WO2000004528A1 (en) | 1998-07-17 | 2000-01-27 | Intergraph Corporation | System for displaying a television signal on a computer monitor |
| US6518971B1 (en) | 1998-07-17 | 2003-02-11 | 3Dlabs Inc. Ltd. | Graphics processing system with multiple strip breakers |
| US6476816B1 (en) | 1998-07-17 | 2002-11-05 | 3Dlabs Inc. Ltd. | Multi-processor graphics accelerator |
| JP3983394B2 (ja) | 1998-11-09 | 2007-09-26 | 株式会社ルネサステクノロジ | 幾何学処理プロセッサ |
| US6674440B1 (en) | 1999-04-05 | 2004-01-06 | 3Dlabs, Inc., Inc. Ltd. | Graphics processor for stereoscopically displaying a graphical image |
| JP4665268B2 (ja) * | 1999-08-16 | 2011-04-06 | ソニー株式会社 | 画像処理装置 |
| AUPQ758000A0 (en) * | 2000-05-17 | 2000-06-08 | Canon Kabushiki Kaisha | Processing pixels of a digital image |
| JP5744197B2 (ja) * | 2011-06-10 | 2015-07-08 | 三菱電機株式会社 | ウィンドウ合成装置 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5317682A (en) | 1989-10-24 | 1994-05-31 | International Business Machines Corporation | Parametric curve evaluation method and apparatus for a computer graphics display system |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE3924759A1 (de) * | 1989-07-26 | 1991-02-07 | Fraunhofer Ges Forschung | Multiprozessorsystem fuer die graphische datenverarbeitung |
-
1994
- 1994-04-11 DE DE1994630857 patent/DE69430857T2/de not_active Expired - Fee Related
- 1994-04-11 EP EP94302543A patent/EP0631252B1/en not_active Expired - Lifetime
- 1994-06-09 JP JP15064394A patent/JP3476094B2/ja not_active Expired - Lifetime
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5317682A (en) | 1989-10-24 | 1994-05-31 | International Business Machines Corporation | Parametric curve evaluation method and apparatus for a computer graphics display system |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111617468A (zh) * | 2020-05-28 | 2020-09-04 | 腾讯科技(深圳)有限公司 | 一种资源渲染方法、装置、设备及存储介质 |
| CN111617468B (zh) * | 2020-05-28 | 2021-11-09 | 腾讯科技(深圳)有限公司 | 一种资源渲染方法、装置、设备及存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH07105388A (ja) | 1995-04-21 |
| EP0631252A3 (en) | 1995-03-15 |
| EP0631252B1 (en) | 2002-06-26 |
| DE69430857D1 (de) | 2002-08-01 |
| EP0631252A2 (en) | 1994-12-28 |
| DE69430857T2 (de) | 2003-03-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5440682A (en) | Draw processor for a high performance three dimensional graphic accelerator | |
| JP3476094B2 (ja) | 高性能3次元グラフィック・アクセラレータの作図プロセッサ | |
| US6924808B2 (en) | Area pattern processing of pixels | |
| JP3860859B2 (ja) | 高性能プリミティブ・クリッピング・プリプロセシングを有するコンピュータ・グラフィックス・システム | |
| US5764228A (en) | Graphics pre-processing and rendering system | |
| US5821950A (en) | Computer graphics system utilizing parallel processing for enhanced performance | |
| US6025853A (en) | Integrated graphics subsystem with message-passing architecture | |
| KR100301222B1 (ko) | 고성능3차원그래픽가속기용명령전처리기 | |
| US5801711A (en) | Polyline and triangle strip data management techniques for enhancing performance of computer graphics system | |
| US6348919B1 (en) | Graphics system with optimized use of unified local and frame buffers | |
| US5798770A (en) | Graphics rendering system with reconfigurable pipeline sequence | |
| US5777629A (en) | Graphics subsystem with smart direct-memory-access operation | |
| US7015914B1 (en) | Multiple data buffers for processing graphics data | |
| US5742796A (en) | Graphics system with color space double buffering | |
| US6342883B1 (en) | Image display method and image display apparatus | |
| US6704026B2 (en) | Graphics fragment merging for improving pixel write bandwidth | |
| US20030174136A1 (en) | Multipurpose memory system for use in a graphics system | |
| JPH0749961A (ja) | グラフィックアクセラレータの浮動小数点プロセッサ及びその浮動小数点機能を実行する方法 | |
| US6417848B1 (en) | Pixel clustering for improved graphics throughput | |
| US6847369B2 (en) | Optimized packing of loose data in a graphics queue | |
| US7310103B2 (en) | Pipelined 2D viewport clip circuit | |
| US20030164835A1 (en) | System and method for performing predictable signature analysis | |
| US5732248A (en) | Multistep vector generation for multiple frame buffer controllers | |
| US6885375B2 (en) | Stalling pipelines in large designs | |
| JPH09120278A (ja) | コンピュータグラフィックスシステムにおけるラインスキャンコンバージョン装置とその方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080926 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080926 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090926 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100926 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100926 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110926 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120926 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130926 Year of fee payment: 10 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| EXPY | Cancellation because of completion of term |