JPH06348854A - グラフィックアクセラレータ及び幾何学オブジェクト描出方法 - Google Patents
グラフィックアクセラレータ及び幾何学オブジェクト描出方法Info
- Publication number
- JPH06348854A JPH06348854A JP6123332A JP12333294A JPH06348854A JP H06348854 A JPH06348854 A JP H06348854A JP 6123332 A JP6123332 A JP 6123332A JP 12333294 A JP12333294 A JP 12333294A JP H06348854 A JPH06348854 A JP H06348854A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- draw
- bus
- vertex
- floating point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
Abstract
て相対的に低いコストで高性能を達成するグラフィック
スアクセラレータを提案する。 【構成】 グラフィックスアクセラレータは、様々に異
なる幾何学入力データを標準フォーマットに変換するコ
マンドプリプロセッサと、三次元グラフィックス機能に
関して最適化された1組の浮動小数点プロセッサと、1
つの三角形の別個の部分についてエッジウォーキングと
走査補間の描出機能を同時に実行する1組の線引きプロ
セッサとを具備する。
Description
クスシステムの分野に関する。さらに特定すれば、本発
明は、コンピュータシステムにおける高性能三次元グラ
フィックスアクセラレータのアーキテクチャに関する。
は、コンピュータシステムの専用グラフィックス描出
(レンダリング)サブシステムである。典型的には、コ
ンピュータシステムのホストプロセッサで実行されてい
るアプリケーションプログラムが、表示装置に表示すべ
き三次元グラフィックス要素を定義する三次元幾何学入
力データを生成する。アプリケーションプログラムは、
通常、ホストプロセッサからグラフィックスアクセラレ
ータへ幾何学入力データを転送する。その後、グラフィ
ックスアクセラレータは対応するグラフィックス要素を
表示装置に描出する。
ザインアーキテクチャは、歴史的には、システム性能と
システムコストの均衡を具現化してきた。典型的なデザ
インの目標は、システムコストの上昇を最小限に抑えつ
つシステム性能を向上させることである。ところが、従
来のグラフィックスシステムは、通常、システムの様々
な制約条件に起因する性能の限界、あるいは高いコスト
という問題を抱えている。
メモリ(VRAM)チップの場合、最短読取り−変更−
書込みサイクル時間が描出性能に対する基本的制約であ
るので、典型的には、高性能グラフィックスシステムは
複数のVRAMバンクから成るインタリーブフレームバ
ッファを実現している。複数のインタリーブVRAMバ
ンクを実現すると、フレームバッファへの並列画素描出
が可能になり、総描出性能を向上させることができる。
残念ながら、インタリーブVRAMバンクごとに別個の
アドレス指定論理が必要であるために、そのような高性
能システムのコストは高くなり且つ電力消費も増大す
る。
コストと電力消費を最小に抑えるために、単一の集積回
路チップで描出プロセッサを実現しても良い。残念なが
ら、そのようなシステムでは、単一の集積回路チップで
利用できるインタフェースピンの数が限定されるため
に、描出性能低下という問題を生じる。インタフェース
ピンの数が限定されると、フレームバッファのインタリ
ーブファクタが小さくなるので、並列処理の描出性能に
関わる利点は得られなくなってしまう。
は、類似する線引き機能を定義する様々に異なる三次元
幾何学入力データフォーマットの急増である。グラフィ
ックスシステムは、典型的には、様々に異なる多くの幾
何学入力データフォーマットを支援することが要求され
る。従来のグラフィックスシステムの中には、グラフィ
ックスプロセッサのマイクロコードで様々に異なる幾何
学フォーマットを支援するものがある。ところが、その
ような方法をとると、グラフィックスプロセッサのマイ
クロコードの大きさと複雑さが大幅に増すので、システ
ムコストは高くなり、システム性能は低下する。従来の
別のグラフィックスシステムは、様々に異なるフォーマ
ットをグラフィックスプロセッサの標準フォーマットに
変換するためにホストプロセッサを採用することによ
り、様々に異なる幾何学フォーマットを支援する。残念
ながら、ホストプロセッサによるそのようなフォーマッ
ト変換は、グラフィックスシステム全体の性能を大幅に
制限しかねないシステムボトルネックを発生させる。
は、多くの場合、変換、クリップ試験、面確定、照明、
クリッピング、画面スペース変換及びセットアップの各
機能を市販のデジタル信号処理(DSP)チップを使用
して実行する。ところが、そのようなDSPチップは通
常は三次元コンピュータグラフィックスに合わせて最適
化されていない。典型的なDSPチップに設けられてい
る内部レジスタは、多くの三次元グラフィックス処理ア
ルゴリズムの内部ループに対応するには数が少なすぎ
る。そのようなシステムにおいては、DSPチップによ
り与えられる限られた数の内部高速レジスタを補うため
に、典型的にはオンチップデータキャッシュ又はSRA
Mを採用する。ところが、そのようなオンチップデータ
キャッシュは、通常、制御不可能な実現スケジューリン
グアルゴリズムである。さらに、そのようなオンチップ
SRAMは通常は多重処理環境に適していない。
するために、通常は支援チップの分類を要求する。残念
ながら、グラフィックスシステムに支援チップを追加す
ることによって、プリント回路基板の面積は拡大し、シ
ステムの電力消費は増加し、発熱も増し、システムコス
トも高くなる。
ィックス処理性能を向上させるために、並列処理パイプ
ラインを採用する場合が多い。たとえば、グラフィック
スシステムにおける陰形を付けられた三角形の走査変換
機能は、典型的には、エッジウォーキング及び走査補間
の線形パイプラインによって実行される。通常、そのよ
うなシステムでは、エッジウォーキング機能を実行する
のはエッジウォーキングプロセッサであり、走査補間機
能を実行するのは、エッジウォーキングプロセッサから
パラメータを受け1組の並列走査補間プロセッサであ
る。
様の幾何学形状で一般に現れる相対的に長く細い三角形
を描出するときに、並列処理速度の利点を得ることがで
きない。長く細い三角形について走査変換を実行する場
合、エッジウォーキングプロセッサと、走査補間プロセ
ッサとの間のパラメータデータフローは大幅に増加す
る。残念ながら、パラメータデータフローが増加する
と、三角形の描出速度は低下し、グラフィックスシステ
ム性能も低下する。
本発明の目的は、先に論じた多様なシステム制約を克服
することにより、相対的に安いコストで高性能を達成す
るグラフィックスアクセラレータを提供することであ
る。
アクセラレータは、様々に異なる幾何学入力データフォ
ーマットを変換するコマンドプロセッサと、三次元グラ
フィックス機能に合わせて最適化された1組の浮動小数
点プロセッサと、1つの幾何学オブジェクトの複数の別
個の部分についてエッジウォーキングと走査補間の描出
機能を同時に実行する1組の線引きプロセッサとを具備
する。
三次元グラフィックスアクセラレータを開示する。グラ
フィックスアクセラレータは、幾何学入力データを様々
に異なるフォーマットから変換するコマンドプリプロセ
ッサを具備する。コマンドプリプロセッサは3D幾何学
パイプラインと、直接データパイプラインの双方を実現
する。コマンドプリプロセッサの3D幾何学パイプライ
ンは、プログラム入出力アクセス又は直接メモリアクセ
スのいずれかを使用して、ホストバスを介して入力頂点
パケットをアクセスする。コマンドプリプロセッサは入
力頂点パケットを再フォーマットした頂点パケットへと
再フォーマットし、次に、その再フォーマットした頂点
パケットを、任意にデータ置き換え及びデータ圧縮を伴
って、出力幾何学パケットとして浮動小数点バスを介し
て利用可能な浮動小数点プロセッサへ転送する。
数点バスを介して通信するように結合している。第1の
利用可能な浮動小数点プロセッサは浮動小数点バスを介
して出力幾何学パケットを受け、画面スペース幾何学オ
ブジェクトに関わるパラメータを含む線引きパケットを
生成する。浮動小数点プロセッサは線引きパケットを線
引きバスを介して5つ1組の線引きプロセッサへ転送す
る。各々の浮動小数点プロセッサは、三次元グラフィッ
クス機能を実行するために特殊化した機能及び命令を実
現する。
セッサへの出力幾何学パケットの転送と、線引きプロセ
ッサへの線引きパケットの流れとを制御する。5つの線
引きプロセッサは各々の線引きパケットを線引きバスを
介して同時に受ける。各線引きプロセッサはエッジウォ
ーキング機能及び走査補間機能を実行して、線引きパケ
ットにより定義される三次元三角形を描出する。各々の
線引きプロセッサは、5つの線引きプロセッサが併せて
三角形全体を描出するように、1本の走査線に沿って4
つおきの画素を描出する。各線引きプロセッサは、5バ
ンクインタリーブフレームバッファの別々のインタリー
ブバンクに画素を書込む。加えて、各々の線引きプロセ
ッサはコマンドプリプロセッサの直接ポートパイプライ
ンから直接ポートデータを受けて、それを処理する。
グラフィックスアクセラレータのアーキテクチャを説明
する。以下の説明中、本発明を完全に理解させるため
に、説明の便宜上、特定のアプリケーション、特定の
数、特定の装置、特定の構成及び特定の回路を記載す
る。しかしながら、それらの特定の詳細な事項がなくと
も本発明を実施しうることは当業者には明白であろう。
また、場合によっては、本発明を無用にわかりにくくし
ないために、周知のシステムを概略的な形態又はブロッ
ク線図の形態で示す。
サ20と、メモリサブシステム22と、グラフィックス
アクセラレータ24と、表示装置26とを含むコンピュ
ータシステムのブロック線図が示されている。ホストプ
ロセッサ20と、メモリサブシステム22と、グラフィ
ックスアクセラレータ24とは、それぞれ、ホストバス
28を介して通信するように結合している。
代表するものである。ホストプロセッサ20は多様なコ
ンピュータプロセッサ、多重プロセッサ及びCPUを代
表するものであり、また、メモリサブシステム22は、
ランダムアクセスメモリ及び大容量記憶装置を含む多様
なメモリサブシステムを代表している。ホストバス28
はホストプロセッサと、CPUと、メモリサブシステム
と、専用サブシステムとの通信のための多様な通信用バ
ス又はホストコンピュータバスを代表するものである。
ホストプロセッサ20は、プログラム入出力(I/O)
プロトコルに従ってグラフィックスアクセラレータ24
との間でホストバス28を介して情報を転送し合う。ま
た、グラフィックスアクセラレータ24は直接メモリア
クセス(DMA)プロトコルに従ってメモリサブシステ
ム22をアクセスする。
ラフィックスアプリケーションプログラムは、表示装置
26に表示すべき画像を定義する三次元幾何学情報を含
む幾何学データアレイを生成する。ホストプロセッサ2
0は、その幾何学データアレイをメモリサブシステム2
2へ転送する。その後、グラフィックスアクセラレータ
24は、DMAアクセスサイクルを使用して、ホストバ
ス28を介して幾何学データアレイを読取る。あるい
は、ホストプロセッサ20は、プログラムI/Oを伴う
幾何学データアレイをホストバス28を介してグラフィ
ックスアクセラレータ24へ転送する。
は、頂点座標(頂点)と、頂点位置と、一般にはモデル
空間と呼ばれている三次元空間の中の三角形、ベクトル
及び点を定義する他の情報とを含む入力頂点パケットの
ストリームから構成されている。各々の入力頂点パケッ
トは、頂点垂線と、頂点カラーと、ファセット垂線と、
ファセットカラーと、テクスチャマップ座標と、ピック
idと、ヘッダと、その他の情報とを含めた三次元頂点
情報の何らかの組合わせを含んでいれば良い。
三角形から成る「ジグザグ」パターンの形態をとる1つ
の三角形ストリップを定義していても良い。また、ヘッ
ダなし入力頂点パケットは、三角形から成る「スタース
トリップ」の形態をとる三角形ストリップを定義しても
良い。加えて、ヘッダなし入力頂点パケットは隔離三角
形から成るストリップを定義しても良い。ヘッダを有す
る入力頂点パケットは三角形ごとに三角形ストリップフ
ォーマットを変更しても良く、また、「ジグザグ」フォ
ーマット、「スター」フォーマット及び隔離三角形の間
で変化しても良い。
4のブロック線図である。グラフィックスアクセラレー
タ24はコマンドプリプロセッサ30と、1組の浮動小
数点プロセッサ40〜43と、1組の線引き(dra
w)プロセッサ50〜54と、フレームバッファ100
と、ポストプロセッサ70と、ランダムアクセスメモリ
/デジタル/アナログ変換器(RAMDAC)72とか
ら構成されている。このRAMDAC72は、ルックア
ップテーブル機能を実現する市販のRAMDACに類似
するものである。一実施例についていえば、コマンドプ
リプロセッサ30、浮動小数点プロセッサ40〜43,
線引きプロセッサ50〜54及びポストプロセッサ70
は、それぞれ、個別の集積回路チップである。
28を介して通信するように結合している。コマンドプ
リプロセッサ30は、ホストバス28を介するメモリサ
ブシステム22からの幾何学データアレイのDMA読取
りを実行する。ホストプロセッサ20は仮想メモリポイ
ンタをコマンドプリプロセッサ30へ転送する。仮想メ
モリポインタはメモリサブシステム22にある幾何学デ
ータアレイを指示する。コマンドプリプロセッサ30は
それらの仮想メモリポインタを、ホストプロセッサ20
からの介入なしにメモリサブシステム22に対するDM
A読取りを実行するための物理メモリアドレスに変換す
る。コマンドプリプロセッサ30は3D幾何学パイプラ
インと、直接ポートパイプラインという2つのデータパ
イプラインを実現する。
リプロセッサ30はホストバス28を介して直接ポート
データを受け、その直接ポートデータを線引きコマンド
バス(CD−BUS)80を介して線引きプロセッサ5
0〜54へ転送する。文字書込み、画面スクロール及び
ブロック移動などのX11機能を線引きプロセッサ50
〜54と協調して実行するために、直接ポートデータは
コマンドプリプロセッサ30によって任意に処理され
る。直接ポートデータは線引きプロセッサ50〜54へ
のレジスタ書込みと、フレームバッファ100への個別
画素書込みとを含んでいても良い。
リプロセッサ30は幾何学データアレイから入力頂点パ
ケットのストリームをアクセスし、入力頂点パケット内
部に含まれている情報を再順序付けし、入力頂点パケッ
ト中の情報を任意に削除する。コマンドプリプロセッサ
30は入力頂点パケットからの情報を正規化要素順序を
有する再フォーマットされた頂点パケットへと再順序付
けする。次に、コマンドプリプロセッサ30は出力幾何
学パケットを浮動小数点コマンドバス(CF−BUS)
82を介して浮動小数点プロセッサ40〜43の中の1
つへ転送する。出力幾何学パケットは、任意の変更及び
データ置き換えを伴う再フォーマットされた頂点パケッ
トから構成されている。
力頂点パケットの中の情報を様々に異なる数のフォーマ
ットから32ビットIEEE浮動小数点数のフォーマッ
トへと変換する。コマンドプリプロセッサ30は8ビッ
ト固定小数点数と、16ビット固定小数点数と、32ビ
ット又は64ビットIEEE浮動小数点数とを変換す
る。
ールドを再フォーマット又は挿入し、定数を挿入し且つ
順次ピックidを生成、挿入し、さらに、定数順次ピッ
クidを任意に挿入する。コマンドプリプロセッサ30
はヘッダの連鎖ビットを検査して、入力頂点パケットか
らの情報を、点線及び三角形を含む完全に隔離された幾
何学プリミティブを含む再フォーマットされた頂点パケ
ットへと再組立てする。
点プロセッサ40〜43からCF−BUS82の制御部
分を介して制御信号及び状態信号を受ける。制御信号及
び状態信号は、出力幾何学パケットを受けるための浮動
小数点プロセッサ40〜43内部における入力バッファ
の可用性を指示する。
々、ほぼ同様である。各々の浮動小数点プロセッサ40
〜43は、並列入出力パケット通信ハードウェアと共
に、32ビットマイクロコード駆動浮動小数点コアを実
現する。浮動小数点プロセッサ40〜43の各々は、乗
算、ALU、逆数、逆数平方根及び整数の演算を含む浮
動小数点機能を実現する。各々の浮動小数点プロセッサ
40〜43は、特殊化グラフィックス命令と特殊化グラ
フィックス機能の広範囲にわたる組合わせを実現する。
各浮動小数点プロセッサ40〜43は、グラフィックス
アクセラレータ24により実現される最大の共通三次元
グラフィックス処理マイクロコード内部ループを実行す
るために要求される数の高速内部レジスタを実現するよ
うに最適化されている。
サ40〜43は単一の集積回路チップにおいて実現され
る。浮動小数点プロセッサ40〜43ごとに要求される
唯一の支援チップは、制御記憶装置(CS)の外部マイ
クロコードを提供する4つ1組の外部SRAMチップで
ある。
は、線引きプロセッサ50〜54による走査変換のため
に三角形をセットアップする機能を実行する。セットア
ップ機能の第1のステップは、三角形の3つの頂点をy
が大きくなる順に分類する。各浮動小数点プロセッサ4
0〜43は、全ての線引きプロセッサ50〜54に対し
てCD−BUS80を介して線引きパケットを同報通信
する。線引きパケットは三角形、点及び線を含む最終幾
何学基本要素から構成されている。
バッファ100に対してVRAM制御チップとして機能
する。線引きプロセッサ50〜54は、浮動小数点プロ
セッサ40〜43の中の1つから受けた線引きパケット
に従って、又はコマンドプリプロセッサ30から受けた
直接ポートパケットに従って、フレームバッファ100
に画像を同時に描出する。
ジウォーキング機能及び走査補間から成る走査変換機能
を実行する。線引きプロセッサ50〜54間でエッジウ
ォーキング機能と走査補間機能を反復することによっ
て、別個のエッジウォーキングプロセッサと走査補間プ
ロセッサとの間に大規模通信経路を設ける必要がなくな
るので、各々の線引きプロセッサ50〜54のピン数が
最小限に抑えられると共に、プリント回路基板の所要ス
ペースも狭くてすむようになる。
AMインタリーブバンクとして配列されている。線引き
プロセッサ50はインタリーブバンク−0 61に画素
データを書込み、線引きプロセッサ51はインタリーブ
バンク−1 62に画素データを書込み、線引きプロセ
ッサ52はインタリーブバンク−2 63に画素データ
を書込み、線引きプロセッサ53はインタリーブバンク
−3 64に画素データを書込み、線引きプロセッサ5
4はインタリーブバンク−4 65に画素データを書込
む。
するインタリーブバンク61〜65の内部で見える画素
のみを描出する。フレームバッファ100において正し
い組合わせラスタ化画像を発生するために、線引きプロ
セッサ50〜54は1つの線引きパケットにより定義さ
れる三角形基本要素を同時に描出する。各線引きプロセ
ッサ50〜54は最終ラスタ化画像の走査線ごとに、そ
れに沿って4つおきに画素をラスタ化する。各々の線引
きプロセッサ50〜54は右へ0画素、1画素、2画
素、3画素又は4画素分のスペースだけバイアスさせた
走査線をスタートさせる。
キューイングを任意に実行する。描出される三角形、ベ
クトル又はドットの各画素は、浮動小数点プロセッサで
深さキューイングを実行していた従来のグラフィックス
システムに見られた性能劣化を生じることなく、線引き
プロセッサ50〜54の中で深さキューイングされるで
あろう。各線引きプロセッサ50〜54は矩形ウィンド
ウクリッピング機能、ブレンド機能及びその他の画素処
理機能を任意に実行する。
100からビデオバス84を介してインタリーブ画素デ
ータを受ける。ポストプロセッサ70はカラールックア
ップテーブル機能と、カーソル機能とを実行する。RA
MDAC72はポストプロセッサ70から受けた画素デ
ータを表示装置26に対するビデオ信号73に変換す
る。
ロック線図である。コマンドプリプロセッサ30は、図
示する通り、3D幾何学パイプライン及び直接ポートパ
イプラインを介して通信するようにホストバス28に結
合している。一実施例では、コマンドプリプロセッサ3
0は単一の集積回路チップとして実現されている。直接
ポートパイプラインは入力インタフェース541と、X
11演算回路551とから構成されている。入力インタ
フェース541はホストバス28を介して直接ポートデ
ータを受け、CD−BUS80を介して線引きプロセッ
サ50〜54へ直接ポートデータを転送する。直接ポー
トデータは線引きプロセッサ50〜54へのレジスタ書
込みと、フレームバッファ100への個別画素書込みと
を含む。文字書込み、画面スクロール及びブロック移動
などのX11機能を線引きプロセッサ50〜54と協調
して実行するために、直接ポートデータは任意にX11
演算回路551へ転送される。
541と、バケットバッファ542と、フォーマット変
換器543と、1組の頂点レジスタ549及び交替タプ
ルレジスタ540から成る頂点バッファとから構成され
ている。3D幾何学パイプラインにおけるフォーマット
変換はVCS演算回路545と、変換器シーケンサ54
4とにより制御される。出力幾何学パケットはプリミテ
ィブアセンブリ回路547と、シーケンサ548とによ
って組立てられる。32−16回路550は任意にデー
タ圧縮を実行する。1組の内部レジスタ552は、ホス
トバス28を介して、3D幾何学パイプライン及び直接
ポートパイプラインの動作を制御するようにプログラム
される。DMA制御装置546は、ホストバス28を介
してバケットバッファ542へのDMA転送を実行す
る。
28とコマンドプリプロセッサ30の異なるクロック動
作環境をインタフェースするバーストバッファを含む。
バーストバッファは、バケットバッファ542へ転送さ
れる入力頂点パケットに対して、1組の一時レジスタと
して機能する。フォーマット変換器回路543はバケッ
トバッファ542から入力頂点パケットをアクセスし、
再フォーマットされた頂点パケットを頂点レジスタ54
9へ組立てる。フォーマット変換器回路543は、事前
プログラムフォーマット変換演算に従って、VCS演算
回路545により制御される。フォーマット変換は変換
器シーケンサ544により順序付けされる。
ーケンサ548の制御の下で、頂点レジスタ549から
再フォーマットされた頂点パケットをアクセスし、出力
幾何学パケットをCF−BUS82を介して転送する。
プリミティブアセンブリ回路547は交替タプルレジス
タ540からの交替タプルを随意置き換える。また、プ
リミティブアセンブリ回路547は、32−16回路5
50を使用して、出力幾何学パケット中のデータに対す
るデータ圧縮を随意実行する。
形ストリップを定義する入力頂点パケットを処理する。
各入力頂点パケット中のヘッダビットは置き換え型を指
定する。この置き換え型は、三角形ストリップ中の次の
三角形を形成するための後続入力頂点パケットと、以前
の入力頂点パケットとの組合わせを定義する。フォーマ
ット変換器543は、三角形ストリップ中の最後の3つ
の頂点を保持するレジスタスタックを実現する。フォー
マット変換器543は三角形ストリップ中の最後の3つ
の頂点を最古、中間、最新とラベル付けする。
ップは、置き換え型replace_oldestを指定するヘッダを
有する新たな入力頂点パケットに対応する。置き換え型
replace_oldestは、フォーマット変換器543に最古の
頂点を中間の頂点と置き換えさせ、中間の頂点を最新の
頂点と置き換えさせると共に、最新の頂点を新たな入力
頂点パケット中の頂点に設定させる。前述のパターンは
PHIGS−PLUS単純三角形ストリップに対応す
る。「スター」パターンをもつ三角形ストリップは、置
き換え型replace_middlestを指定するヘッダを有する新
たな入力頂点パケットに対応する。置き換え型replace_
middlestは、フォーマット変換器543に最古の頂点を
変化しないままにさせ、中間頂点を最新の頂点と置き換
えさせると共に、最新の頂点を新たな入力頂点パケット
の中に頂点に設定される。
に、新たな入力頂点パケットは、置き換え型restart を
指定するヘッダを有する。置き換え型restart はフォー
マット変換器543に最古の頂点及び中間の頂点を無効
とマークさせると共に、最新の頂点を新たな入力頂点パ
ケットの中の頂点に設定させる。プリミティブアセンブ
リ回路547は、置き換え動作が頂点レジスタ549で
3つの有効頂点を生成するたびに、頂点レジスタ549
及び交替タプルレジスタ540から1つの三角形に関わ
る出力幾何学パケットを転送する。入力頂点パケットの
ヘッダにおける置き換え型restart は、ポリラインに関
わる移動動作に対応する。置き換え型restart は、単一
のデータ構造であるメモリサブシステム22中の幾何学
データアレイに、複数の連結していない可変長三角形ス
トリップを指定させることができる。そのような能力
は、ホストバス28を介してDMAシーケンスを開始す
るために要求されるオーバヘッドを減少させる。
イからコマンドプリプロセッサ30が受ける入力頂点パ
ケットにおける置き換え型は、三角形ストリップをその
ストリップの中央で「ジグザグ」パターンから「スタ
ー」パターンへ変化させることができる。そのような能
力はコンパクトなデータ構造の中で複雑な幾何学形状を
表現することを可能にし、その一方で、ホストバス28
を介して要求される入力データ帯域幅は最小である。フ
ォーマット変換器543は、置き換え型replace_oldest
が現れるたびに、その後、再フォーマットされた頂点パ
ケットにおける出力三角形の面取りを正規化するため
に、頂点レジスタ549における頂点順序を再配列す
る。プリミティブアセンブリ回路547は、頂点レジス
タ549から頂点が転送されてゆくにつれて、出力三角
形の前面が常に時計回りの頂点順序によって定義される
ように、頂点順序を再配列する。
三角形ストリップの初期面順序付けを指定する。加え
て、コマンドプリプロセッサ30は、ヘッダで指定され
ている初期面順序付けを反転させる状態ビットを伴うレ
ジスタを含む。ホストプロセッサ20で実行されている
アプリケーションプログラムは、そのアプリケーション
プログラムにより維持されるモデルマトリクスを反映す
るために、状態ビットを維持する。また、コマンドプリ
プロセッサ30は「ジグザグ」パターンの三角形ごとに
面順序付けを反転させる。
レジスタ549から次に利用可能な浮動小数点プロセッ
サ40〜43へ各フォーマットされた頂点パケットを転
送する。次に利用可能な浮動小数点プロセッサ40〜4
3は、CF−BUS82の制御部分を介して各浮動小数
点プロセッサ40〜43の入力バッファ状態を感知する
ことにより確定される。コマンドプリプロセッサ30
は、浮動小数点プロセッサ40〜43への各再フォーマ
ットされた頂点パケットの転送の順序付けのレコード、
すなわち、「スコアボード」を維持する。コマンドプリ
プロセッサ30は、CD−BUS80の制御部分を介し
て制御信号を転送することにより、浮動小数点プロセッ
サ40〜43の出力バッファを制御する。コマンドプリ
プロセッサ30は、順次描出順序が要求されるときに再
フォーマットされた頂点パケットが浮動小数点プロセッ
サ40〜43を介して適正な順序で処理されるように保
証する。順次描出が要求されない場合には、浮動小数点
プロセッサ40〜43の出力端子における第1の線引き
パケットを第1番目に描出する。
と、ポリポリラインとをさらに再フォーマットする。加
えて、フォーマット変換器54は三角形ストリップデー
タをポリライン辺に任意に変換する。三角形の辺のハイ
ライティングを要求する動作中には、三角形処理は線処
理と混合されないので、そのような能力は浮動小数点プ
ロセッサ40〜43に関わるマイクロコードの複雑さを
軽減させる。
ハイライティングを処理するために、コマンドプリプロ
セッサ30はその三角形ストリップに関わる入力頂点パ
ケットを再フォーマットされた頂点パケットへと組立
て、それらの再フォーマットされた頂点パケットを出力
幾何学パケットとしてCF−BUS82を介して浮動小
数点プロセッサ40〜43に渡す。その後、コマンドプ
リプロセッサ30はホストバス28を介して元の三角形
ストリップ入力頂点パケットをアクセスし、それらの入
力頂点パケットを、ハイライティングされる辺を表わす
隔離ベクトルを含む再フォーマットされた頂点パケット
へと組立てる。次に、コマンドプリプロセッサ30は浮
動小数点プロセッサ40〜43と、線引きプロセッサ5
0〜54とを介して隔離ベクトルを処理して、ハイライ
ティング機能を実行する。
部分は16ビット幅であり、また、CD−BUS80の
データ部分は16は16ビット幅である。コマンドプリ
プロセッサ30は、CF−BUS82を介して浮動小数
点プロセッサ40〜43へ転送する前に、再フォーマッ
トされた頂点パケットのカラー成分と正規データ成分を
32−16回路550を使用して任意に圧縮する。32
−16回路550は、カラーデータ及び正規データを3
2ビットIEEE浮動小数点フォーマットから16ビッ
ト固定小数点フォーマットへと圧縮する。その後、浮動
小数点プロセッサ40〜43は圧縮カラーデータ成分及
び正規データ成分を伴う再フォーマットされた頂点パケ
ットを受け、カラー成分と正規データ成分を32ビット
IEEE浮動小数点値へ圧縮解除して戻す。
ー成分はフレームバッファ100では8ビット値として
表現されているので、再フォーマットされた頂点パケッ
トのカラー成分と正規データ成分の圧縮は、グラフィッ
クスアクセラレータ24の最終的な画質にはほとんど影
響を及ぼさない。同様に、16ビット符号なし正確度を
有する再フォーマットされた頂点パケットの正規データ
成分は、約1マイルでプラス又はマイナス1インチの分
解能を表わす。一方、再フォーマットされた頂点パケッ
トのカラー成分及び正規データ成分のデータ圧縮は、C
F−BUS82を介するデータ転送帯域幅を約25パー
セント縮小する。
御記憶装置(CS)149とを含む浮動小数点プロセッ
サセクション45のブロック線図である。浮動小数点プ
ロセッサ40は入力回路141と、出力回路145と、
レジスタファイル142と、1組の関数装置143と、
制御装置144と、SRAMインタフェース回路146
とから構成されている。浮動小数点プロセッサ40はC
S149へ転送するための内部サブルーチンスタック及
びブロックロード/記憶命令と、整数関数とを実現す
る。浮動小数点プロセッサ40はCF−BUS82のデ
ータ部分181を介して出力幾何学パケットを受ける。
コマンドプリプロセッサ30はCF−BUS82の制御
部分182を介して制御信号を転送して、入力バッファ
141をイネーブル、ディスエーブルする。
動小数点ALUと、浮動小数点逆数演算と、逆数平方根
演算と、整数ALUとを実現する。出力回路145はC
D−BUS80のデータ部分183を介して線引きパケ
ットを転送する。線引きプロセッサ50〜54へのデー
タ転送を同期させると共に、CD−BUS80における
バスアクティビティとコマンドプリプロセッサ30とを
協調させるために、出力回路145はCD−BUS80
の制御部分184を介して制御信号をも転送する。一実
施例では、入力回路141と出力回路145は、それぞ
れ、幾何学データをバッファリングする64個のレジス
タを含む。レジスタファイル142は160個の32ビ
ットレジスタから構成されている。
憶装置データバス148と制御記憶装置アドレスバス1
47を介して制御記憶装置(CS)149と通信する。
一実施例では、制御記憶装置アドレスバス147は17
ビット幅であり、制御記憶装置データバス148は32
ビット幅である。制御記憶装置149は4つの128k
×8ビットSRAMから構成されている。
対の32ビットレジスタファイルとして二重緩衝方式で
配列されている。同様に、出力回路145に含まれるレ
ジスタは1対の32ビットレジスタ二重緩衝レジスタフ
ァイルとして配列されている。浮動小数点プロセッサ4
0で実行されているマイクロコードは、入力回路141
及び出力回路145のレジスタを特殊なレジスタファイ
ルとしてアクセスする。浮動小数点プロセッサ40に関
わる命令セットは、レジスタファイルを要求し且つ放棄
するための指令と、CD−BUS80を介して伝送完了
データパケットを待ち行列に入れるための指令とを含
む。
セッサ50〜54による走査変換のために三角形セット
アップ機能を実現する。三角形セットアップ機能の第1
の段階は三角形の3つの頂点をyが大きくなる順に分類
する。浮動小数点プロセッサ40は、頂点のy座標の最
後の3回の比較の結果に基づいて、ハードウェアでレジ
スタファイル142の1セクションを再順序付けする特
殊命令を実現する。
れるクリップ試験機能は、クリップ条件ビットから成る
ベクトルを計算する。浮動小数点プロセッサ40〜43
は、クリップ条件ビットを特殊なクリップレジスタへシ
フトしつつ、複数対のクリップ条件ビットを計算する特
殊クリップ試験命令を実現する。クリップ条件ビットを
計算した後、特殊ブランチ命令はクリップレジスタに含
まれているクリップ条件ビットを適切なクリップ条件へ
と復号する。浮動小数点プロセッサ40は、三角形及び
ベクトルをクリッピングするための別個のブランチ命令
を実現する。特殊ブランチ命令は同一の命令の中で複数
のクリップ条件の試験を可能にする。
線図である。線引きプロセッサ50は入力バッファ15
1と、描出回路152と、メモリ制御回路153とから
構成されている。入力バッファ151は、CD−BUS
80のデータ部分185を介して幾何学データを受信す
る二重緩衝構造を呈する。また、入力バッファ151
は、コマンドプリプロセッサ30及び浮動小数点プロセ
ッサ40〜43とのデータ転送を調整するために、CD
−BUS80の制御部分186を介して制御信号を転送
する。入力バッファ151は、描出回路152により旧
幾何学データが描出されている間に新たな幾何学データ
が入力バッファ151にロードされるように構成されて
いる。
を防止するために、1回の画素サイクルでエッジウォー
キング機能を実行する。エッジウォーキング回路は単一
の外部エッジウォーキングチップについて要求されるよ
り1〜5回は多い頻度で次の走査線へ進まなければなら
ないので、エッジウォーキング機能は高速で実行されて
いる。
防止ベクトル、エイリアシングを含むベクトル、エイリ
アシング防止ドット及びエイリアシングを含むデータに
ついてラスタ化アルゴリズムを実行する。メモリ制御回
路153は、画素データをメモリバス188を介してイ
ンタリーブバンク−0 61へ転送するために要求され
るアドレス信号と制御信号を発生する。各々の線引きプ
ロセッサ50〜54は、32ビット内部処理装置を使用
して部分画素の正確度を可能にする正確度の高いDDA
アルゴリズムを実現する。エイリアシングを伴う線とド
ット、並びにエイリアシング防止された線とドットは先
に説明した分散方式で描出され、その場合、各々の線引
きプロセッサ50〜54は1本の走査線に沿って4つお
きに画素を処理する。
マンドプリプロセッサ30のX11演算回路と協調し
て、X11演算の描出部分をさらに実現する。X11演
算は垂直スクロール、ラスタ演算及びステンシル演算に
関わる複数群の画素の読取りと書込みを含む。以上の明
細書の中では、本発明の特定の実施例に関連して本発明
を説明したが、特許請求の範囲に記載されている本発明
のより広い趣旨から逸脱せずに様々な変形や変更を実施
しうることは明白であろう。従って、この明細書及び図
面は限定的なものではなく、例示として考えられるべき
である。
と、グラフィックスアクセラレータと、表示装置とを含
むコンピュータシステムのブロック線図。
点プロセッサと、1組の線引きプロセッサと、フレーム
バッファと、ポストプロセッサと、ランダムアクセスメ
モリ/デジタル/アナログ変換器(RAMDAC)とか
ら構成されているグラフィックスアクセラレータのブロ
ック線図。
幾何学パイプラインの再フォーマットされた回路を示す
コマンドプリプロセッサのブロック線図。
回路と、レジスタファイルと、1組の機能単位と、制御
回路と、SRAMインタフェース回路とを含む浮動小数
点プロセッサセクションのブロック線図。
路とから構成されている線引きプロセッサのブロック線
図。
24…グラフィックスアクセラレータ、26…表示装
置、28…ホストバス、30…コマンドプリプロセッ
サ、40〜43…浮動小数点プロセッサ、50〜54…
線引きプロセッサ、61〜65…インタリーブバンク、
70…ポストプロセッサ、72…ランダムアクセスメモ
リ/デジタル/アナログ変換器、80…コマンドバス
(CD−BUS)、82…浮動小数点コマンドバス(C
F−BUS)、84…ビデオバス、100…フレームバ
ッファ、540…交替タプルレジスタ、541…入力イ
ンタフェース、542…バケットバッファ、543…フ
ォーマット変換器、544…変換器シーケンサ、545
…VCS演算回路、546…DMA制御装置、547…
プリミティブアセンブリ回路、548…シーケンサ、5
49…頂点レジスタ、550…32−16回路、551
…X11演算回路、552…内部レジスタ。
Claims (2)
- 【請求項1】 3D幾何学パイプラインと、直接ポート
パイプラインとを有し、ホストバスを介して入力頂点パ
ケットと、直接ポートデータとをアクセスするコマンド
プリプロセッサであって、その3D幾何学パイプライン
は、定義済み頂点フォーマットに従って、入力頂点パケ
ットを再フォーマットされた頂点パケットに再フォーマ
ットし、3D幾何学パイプラインは再フォーマットされ
た頂点パケットを出力幾何学パケットへと組立て且つそ
の出力幾何学パケットを浮動小数点バスを介して転送
し、直接ポートパイプラインは直接ポートデータを線引
きバスを介して転送するようなコマンドプリプロセッサ
と;浮動小数点バスを介して通信するためにそのバスに
結合しており、各々が浮動小数点バスを介して出力幾何
学パケットを受け、1つの幾何学オブジェクトを定義す
るパラメータを含む線引きパケットを生成し、且つ線引
きパケットを線引きバスを介して転送する少なくとも1
つの浮動小数点プロセッサと;線引きバスを介して線引
きパケットを同時に受け、各々が、幾何学オブジェクト
に対応する画素のサブセットを描出するように、エッジ
ウォーキング機能及び走査補間機能を実行する複数の線
引きプロセッサと;各々が線引きプロセッサの中の1つ
から画素のサブセットを受け複数のインタリーブバンク
から成るフレームバッファとを具備するグラフィックス
アクセラレータ。 - 【請求項2】 幾何学オブジェクトを描出する方法にお
いて、 ホストバスを介して入力頂点パケットをアクセスし、且
つその入力頂点パケットを定義済み頂点フォーマットに
従って再フォーマットされた頂点パケットへと再フォー
マットする過程と;再フォーマットされた頂点パケット
を出力幾何学パケットに組立て且つその出力幾何学パケ
ットを浮動小数点バスを介して転送する過程と;再フォ
ーマットされた頂点パケットを浮動小数点バスを介して
受け、且つ1つの幾何学オブジェクトを定義するパラメ
ータを含むように線引きパケットを生成する過程と;線
引きパケットを線引きバスを介して転送する過程と;線
引きバスを介して線引きパケットを受け、且つ幾何学オ
ブジェクトに対応する画素のサブセットが描出されるよ
うに、幾何学オブジェクトに対応するエッジウォーキン
グ機能及び走査補間機能を実行する過程と;その画素の
サブセットをインタリーブフレームバッファのインタリ
ーブバンクへ転送する過程とから成る方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US071,699 | 1993-06-04 | ||
US08/071,699 US5392393A (en) | 1993-06-04 | 1993-06-04 | Architecture for a high performance three dimensional graphics accelerator |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06348854A true JPH06348854A (ja) | 1994-12-22 |
JP3491773B2 JP3491773B2 (ja) | 2004-01-26 |
Family
ID=22102997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP12333294A Expired - Lifetime JP3491773B2 (ja) | 1993-06-04 | 1994-05-13 | グラフィックアクセラレータ及び幾何学オブジェクト描出方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US5392393A (ja) |
EP (1) | EP0627700B1 (ja) |
JP (1) | JP3491773B2 (ja) |
KR (2) | KR100328421B1 (ja) |
DE (1) | DE69430884T2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001195603A (ja) * | 1999-10-28 | 2001-07-19 | Nintendo Co Ltd | 3次元グラフィックスのための頂点キャッシュ |
JP2001243461A (ja) * | 2000-02-29 | 2001-09-07 | Sony Corp | グラフィックス描画装置 |
WO2010016299A1 (ja) | 2008-08-07 | 2010-02-11 | 三菱電機株式会社 | 半導体集積回路装置、設備機器制御装置、及び機器状態表示装置 |
Families Citing this family (142)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3098342B2 (ja) * | 1992-11-26 | 2000-10-16 | 富士通株式会社 | 並列処理装置における処理順序指定方式 |
US5712664A (en) * | 1993-10-14 | 1998-01-27 | Alliance Semiconductor Corporation | Shared memory graphics accelerator system |
JPH07225852A (ja) * | 1994-02-15 | 1995-08-22 | Fujitsu Ltd | 動画生成方法および装置 |
US5548709A (en) * | 1994-03-07 | 1996-08-20 | Silicon Graphics, Inc. | Apparatus and method for integrating texture memory and interpolation logic in a computer system |
DE69521741T2 (de) | 1994-05-03 | 2002-05-23 | Sun Microsystems Inc | Direktzugriffspeicher und System für Rasterpuffer |
WO1995034051A1 (en) * | 1994-06-06 | 1995-12-14 | Spectragraphics Corporation | Method and apparatus for capturing and distributing graphical data |
JPH10502181A (ja) * | 1994-06-20 | 1998-02-24 | ネオマジック・コーポレイション | メモリインタフェースのないグラフィックスコントローラ集積回路 |
EP0693737A3 (en) * | 1994-07-21 | 1997-01-08 | Ibm | Method and apparatus for managing tasks in a multiprocessor system |
US6275869B1 (en) | 1994-11-22 | 2001-08-14 | Eastman Kodak Company | System for network communication of image information between imaging devices according to multiple protocols |
US5630101A (en) * | 1994-11-22 | 1997-05-13 | Minnesota Mining And Manufacturing Company | System for communication of image information between multiple-protocol imaging devices |
EP0734010B1 (en) * | 1995-03-21 | 2005-01-26 | Sun Microsystems, Inc. | Video frame signature capture |
US5696534A (en) * | 1995-03-21 | 1997-12-09 | Sun Microsystems Inc. | Time multiplexing pixel frame buffer video output |
US6025853A (en) * | 1995-03-24 | 2000-02-15 | 3Dlabs Inc. Ltd. | Integrated graphics subsystem with message-passing architecture |
US5764228A (en) * | 1995-03-24 | 1998-06-09 | 3Dlabs Inc., Ltd. | Graphics pre-processing and rendering system |
US5594854A (en) * | 1995-03-24 | 1997-01-14 | 3Dlabs Inc. Ltd. | Graphics subsystem with coarse subpixel correction |
JP2716397B2 (ja) * | 1995-04-20 | 1998-02-18 | 新潟日本電気株式会社 | グラフィクスコントローラ |
FR2735253B1 (fr) * | 1995-06-08 | 1999-10-22 | Hewlett Packard Co | Synchronisation de donnees entre plusieurs dispositifs de restitution asynchrones de donnees |
WO1997002546A1 (fr) * | 1995-07-03 | 1997-01-23 | Tsuneo Ikedo | Circuit graphique pour ordinateur |
US5877779A (en) * | 1995-07-06 | 1999-03-02 | Sun Microsystems, Inc. | Method and apparatus for efficient rendering of three-dimensional scenes |
US6525722B1 (en) | 1995-08-04 | 2003-02-25 | Sun Microsystems, Inc. | Geometry compression for regular and irregular mesh structures |
US6747644B1 (en) | 1995-08-04 | 2004-06-08 | Sun Microsystems, Inc. | Decompression of surface normals in three-dimensional graphics data |
US5842004A (en) * | 1995-08-04 | 1998-11-24 | Sun Microsystems, Inc. | Method and apparatus for decompression of compressed geometric three-dimensional graphics data |
US5793371A (en) * | 1995-08-04 | 1998-08-11 | Sun Microsystems, Inc. | Method and apparatus for geometric compression of three-dimensional graphics data |
US5794016A (en) * | 1995-12-11 | 1998-08-11 | Dynamic Pictures, Inc. | Parallel-processor graphics architecture |
US5812138A (en) * | 1995-12-19 | 1998-09-22 | Cirrus Logic, Inc. | Method and apparatus for dynamic object indentification after Z-collision |
US5850346A (en) * | 1995-12-27 | 1998-12-15 | Mitsubishi Electric Information Technology Center America, Inc. | System for embedding hidden source information in three-dimensional computer model data |
US5736987A (en) * | 1996-03-19 | 1998-04-07 | Microsoft Corporation | Compression of graphic data normals |
KR100207664B1 (ko) * | 1996-04-02 | 1999-07-15 | 윤종용 | 격자점 데이터들의 병렬적인 액세스를 가능하게 하는 삼차원 데이터 저장 방법 |
US5821950A (en) * | 1996-04-18 | 1998-10-13 | Hewlett-Packard Company | Computer graphics system utilizing parallel processing for enhanced performance |
JP3402926B2 (ja) * | 1996-05-15 | 2003-05-06 | シャープ株式会社 | 3次元画像処理装置 |
US5740409A (en) * | 1996-07-01 | 1998-04-14 | Sun Microsystems, Inc. | Command processor for a three-dimensional graphics accelerator which includes geometry decompression capabilities |
US5874969A (en) * | 1996-07-01 | 1999-02-23 | Sun Microsystems, Inc. | Three-dimensional graphics accelerator which implements multiple logical buses using common data lines for improved bus communication |
US5821949A (en) * | 1996-07-01 | 1998-10-13 | Sun Microsystems, Inc. | Three-dimensional graphics accelerator with direct data channels for improved performance |
US6115047A (en) * | 1996-07-01 | 2000-09-05 | Sun Microsystems, Inc. | Method and apparatus for implementing efficient floating point Z-buffering |
US6046746A (en) * | 1996-07-01 | 2000-04-04 | Sun Microsystems, Inc. | Method and apparatus implementing high resolution rendition of Z-buffered primitives |
US5745125A (en) * | 1996-07-02 | 1998-04-28 | Sun Microsystems, Inc. | Floating point processor for a three-dimensional graphics accelerator which includes floating point, lighting and set-up cores for improved performance |
US6343309B1 (en) | 1996-09-30 | 2002-01-29 | International Business Machines Corporaton | Method and apparatus for parallelizing a graphics pipeline |
JP3763136B2 (ja) * | 1996-12-27 | 2006-04-05 | ソニー株式会社 | 描画方法および描画装置 |
CA2227531C (en) * | 1997-01-20 | 2003-03-18 | Hitachi, Ltd. | Graphics processing unit and graphics processing system |
JPH10269377A (ja) | 1997-03-27 | 1998-10-09 | Toshiba Corp | 表示制御システムおよび3次元グラフィクスデータの表示制御方法 |
US6278645B1 (en) * | 1997-04-11 | 2001-08-21 | 3Dlabs Inc., Ltd. | High speed video frame buffer |
US6069638A (en) * | 1997-06-25 | 2000-05-30 | Micron Electronics, Inc. | System for accelerated graphics port address remapping interface to main memory |
US6249853B1 (en) | 1997-06-25 | 2001-06-19 | Micron Electronics, Inc. | GART and PTES defined by configuration registers |
US6282625B1 (en) | 1997-06-25 | 2001-08-28 | Micron Electronics, Inc. | GART and PTES defined by configuration registers |
US6417848B1 (en) | 1997-08-25 | 2002-07-09 | Ati International Srl | Pixel clustering for improved graphics throughput |
US6191791B1 (en) * | 1997-09-30 | 2001-02-20 | Hewlett-Packard Company | Methods for high precision, memory efficient surface normal compression and expansion |
US6532016B1 (en) * | 1997-10-23 | 2003-03-11 | Texas Instruments Incorporated | Method of processing print data using parallel raster image processing |
US6252612B1 (en) | 1997-12-30 | 2001-06-26 | Micron Electronics, Inc. | Accelerated graphics port for multiple memory controller computer system |
US7071946B2 (en) * | 1997-12-30 | 2006-07-04 | Micron Technology, Inc. | Accelerated graphics port for a multiple memory controller computer system |
US6157398A (en) * | 1997-12-30 | 2000-12-05 | Micron Technology, Inc. | Method of implementing an accelerated graphics port for a multiple memory controller computer system |
JP4275790B2 (ja) * | 1998-03-19 | 2009-06-10 | 富士通マイクロエレクトロニクス株式会社 | 図形選別ユニット及び図形描画装置 |
US7136068B1 (en) | 1998-04-07 | 2006-11-14 | Nvidia Corporation | Texture cache for a computer graphics accelerator |
US7038692B1 (en) * | 1998-04-07 | 2006-05-02 | Nvidia Corporation | Method and apparatus for providing a vertex cache |
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 |
JP3983394B2 (ja) | 1998-11-09 | 2007-09-26 | 株式会社ルネサステクノロジ | 幾何学処理プロセッサ |
US6204854B1 (en) * | 1998-12-04 | 2001-03-20 | France Telecom | Method and system for encoding rotations and normals in 3D generated scenes |
US6452603B1 (en) * | 1998-12-23 | 2002-09-17 | Nvidia Us Investment Company | Circuit and method for trilinear filtering using texels from only one level of detail |
US6377265B1 (en) * | 1999-02-12 | 2002-04-23 | Creative Technology, Ltd. | Digital differential analyzer |
JP3169933B2 (ja) * | 1999-03-16 | 2001-05-28 | 四国日本電気ソフトウェア株式会社 | 並列描画装置 |
US6919895B1 (en) | 1999-03-22 | 2005-07-19 | Nvidia Corporation | Texture caching arrangement for a computer graphics accelerator |
US6407736B1 (en) | 1999-06-18 | 2002-06-18 | Interval Research Corporation | Deferred scanline conversion architecture |
US6411301B1 (en) | 1999-10-28 | 2002-06-25 | Nintendo Co., Ltd. | Graphics system interface |
US6618048B1 (en) | 1999-10-28 | 2003-09-09 | Nintendo Co., Ltd. | 3D graphics rendering system for performing Z value clamping in near-Z range to maximize scene resolution of visually important Z components |
US6452600B1 (en) | 1999-10-28 | 2002-09-17 | Nintendo Co., Ltd. | Graphics system interface |
US7796132B1 (en) * | 1999-11-18 | 2010-09-14 | Namco Bandai Games Inc. | Image generation system and program |
US7483042B1 (en) * | 2000-01-13 | 2009-01-27 | Ati International, Srl | Video graphics module capable of blending multiple image layers |
AU2001239559A1 (en) * | 2000-03-23 | 2001-10-03 | Sony Computer Entertainment Inc. | Image processing apparatus and method |
US6924807B2 (en) | 2000-03-23 | 2005-08-02 | Sony Computer Entertainment Inc. | Image processing apparatus and method |
US6857061B1 (en) | 2000-04-07 | 2005-02-15 | Nintendo Co., Ltd. | Method and apparatus for obtaining a scalar value directly from a vector register |
US6859862B1 (en) | 2000-04-07 | 2005-02-22 | Nintendo Co., Ltd. | Method and apparatus for software management of on-chip cache |
US7119813B1 (en) | 2000-06-02 | 2006-10-10 | Nintendo Co., Ltd. | Variable bit field encoding |
US7405734B2 (en) * | 2000-07-18 | 2008-07-29 | Silicon Graphics, Inc. | Method and system for presenting three-dimensional computer graphics images using multiple graphics processing units |
JP3466173B2 (ja) * | 2000-07-24 | 2003-11-10 | 株式会社ソニー・コンピュータエンタテインメント | 画像処理システム、デバイス、方法及びコンピュータプログラム |
US6664962B1 (en) | 2000-08-23 | 2003-12-16 | Nintendo Co., Ltd. | Shadow mapping in a low cost graphics system |
US6937245B1 (en) | 2000-08-23 | 2005-08-30 | Nintendo Co., Ltd. | Graphics system with embedded frame buffer having reconfigurable pixel formats |
US7034828B1 (en) | 2000-08-23 | 2006-04-25 | Nintendo Co., Ltd. | Recirculating shade tree blender for a graphics system |
US7538772B1 (en) | 2000-08-23 | 2009-05-26 | Nintendo Co., Ltd. | Graphics processing system with enhanced memory controller |
US6700586B1 (en) | 2000-08-23 | 2004-03-02 | Nintendo Co., Ltd. | Low cost graphics with stitching processing hardware support for skeletal animation |
US6811489B1 (en) | 2000-08-23 | 2004-11-02 | Nintendo Co., Ltd. | Controller interface for a graphics system |
US6825851B1 (en) | 2000-08-23 | 2004-11-30 | Nintendo Co., Ltd. | Method and apparatus for environment-mapped bump-mapping in a graphics system |
US6664958B1 (en) | 2000-08-23 | 2003-12-16 | Nintendo Co., Ltd. | Z-texturing |
US6606689B1 (en) | 2000-08-23 | 2003-08-12 | Nintendo Co., Ltd. | Method and apparatus for pre-caching data in audio memory |
US7184059B1 (en) | 2000-08-23 | 2007-02-27 | Nintendo Co., Ltd. | Graphics system with copy out conversions between embedded frame buffer and main memory |
US6707458B1 (en) | 2000-08-23 | 2004-03-16 | Nintendo Co., Ltd. | Method and apparatus for texture tiling in a graphics system |
US6609977B1 (en) | 2000-08-23 | 2003-08-26 | Nintendo Co., Ltd. | External interfaces for a 3D graphics system |
US7134960B1 (en) * | 2000-08-23 | 2006-11-14 | Nintendo Co., Ltd. | External interfaces for a 3D graphics system |
US6639595B1 (en) | 2000-08-23 | 2003-10-28 | Nintendo Co., Ltd. | Achromatic lighting in a graphics system and method |
US6636214B1 (en) | 2000-08-23 | 2003-10-21 | Nintendo Co., Ltd. | Method and apparatus for dynamically reconfiguring the order of hidden surface processing based on rendering mode |
US6580430B1 (en) | 2000-08-23 | 2003-06-17 | Nintendo Co., Ltd. | Method and apparatus for providing improved fog effects in a graphics system |
US7002591B1 (en) | 2000-08-23 | 2006-02-21 | Nintendo Co., Ltd. | Method and apparatus for interleaved processing of direct and indirect texture coordinates in a graphics system |
US6999100B1 (en) | 2000-08-23 | 2006-02-14 | Nintendo Co., Ltd. | Method and apparatus for anti-aliasing in a graphics system |
US6867781B1 (en) | 2000-08-23 | 2005-03-15 | Nintendo Co., Ltd. | Graphics pipeline token synchronization |
US6980218B1 (en) | 2000-08-23 | 2005-12-27 | Nintendo Co., Ltd. | Method and apparatus for efficient generation of texture coordinate displacements for implementing emboss-style bump mapping in a graphics rendering system |
US7196710B1 (en) * | 2000-08-23 | 2007-03-27 | Nintendo Co., Ltd. | Method and apparatus for buffering graphics data in a graphics system |
US7079133B2 (en) * | 2000-11-16 | 2006-07-18 | S3 Graphics Co., Ltd. | Superscalar 3D graphics engine |
US6697074B2 (en) * | 2000-11-28 | 2004-02-24 | Nintendo Co., Ltd. | Graphics system interface |
US6803916B2 (en) | 2001-05-18 | 2004-10-12 | Sun Microsystems, Inc. | Rasterization using two-dimensional tiles and alternating bins for improved rendering utilization |
US7092035B1 (en) * | 2001-07-09 | 2006-08-15 | Lsi Logic Corporation | Block move engine with scaling and/or filtering for video or graphics |
US6961803B1 (en) * | 2001-08-08 | 2005-11-01 | Pasternak Solutions Llc | Sliced crossbar architecture with no inter-slice communication |
US7003588B1 (en) | 2001-08-22 | 2006-02-21 | Nintendo Co., Ltd. | Peripheral devices for a video game system |
US7418574B2 (en) * | 2002-10-31 | 2008-08-26 | Lockheed Martin Corporation | Configuring a portion of a pipeline accelerator to generate pipeline date without a program instruction |
US8687010B1 (en) | 2004-05-14 | 2014-04-01 | Nvidia Corporation | Arbitrary size texture palettes for use in graphics systems |
US8711155B2 (en) * | 2004-05-14 | 2014-04-29 | Nvidia Corporation | Early kill removal graphics processing system and method |
US8743142B1 (en) | 2004-05-14 | 2014-06-03 | Nvidia Corporation | Unified data fetch graphics processing system and method |
US8860722B2 (en) * | 2004-05-14 | 2014-10-14 | Nvidia Corporation | Early Z scoreboard tracking system and method |
US8736620B2 (en) * | 2004-05-14 | 2014-05-27 | Nvidia Corporation | Kill bit graphics processing system and method |
US8736628B1 (en) | 2004-05-14 | 2014-05-27 | Nvidia Corporation | Single thread graphics processing system and method |
US20060230377A1 (en) * | 2004-10-01 | 2006-10-12 | Lockheed Martin Corporation | Computer-based tool and method for designing an electronic circuit and related system |
US8089486B2 (en) * | 2005-03-21 | 2012-01-03 | Qualcomm Incorporated | Tiled prefetched and cached depth buffer |
US7616207B1 (en) * | 2005-04-25 | 2009-11-10 | Nvidia Corporation | Graphics processing system including at least three bus devices |
US10026140B2 (en) | 2005-06-10 | 2018-07-17 | Nvidia Corporation | Using a scalable graphics system to enable a general-purpose multi-user computer system |
KR100706917B1 (ko) * | 2005-08-03 | 2007-04-12 | 엠텍비젼 주식회사 | 실시간 이미지 스케일링 장치, 방법 및 이를 구현하기 위한프로그램을 기록한 기록매체 |
US7436412B2 (en) * | 2005-08-24 | 2008-10-14 | Qualcomm Incorporated | Graphics engine with efficient interpolation |
US7525548B2 (en) * | 2005-11-04 | 2009-04-28 | Nvidia Corporation | Video processing with multiple graphical processing units |
US7750915B1 (en) * | 2005-12-19 | 2010-07-06 | Nvidia Corporation | Concurrent access of data elements stored across multiple banks in a shared memory resource |
US7768517B2 (en) | 2006-02-21 | 2010-08-03 | Nvidia Corporation | Asymmetric multi-GPU processing |
US8134566B1 (en) * | 2006-07-28 | 2012-03-13 | Nvidia Corporation | Unified assembly instruction set for graphics processing |
US7973797B2 (en) * | 2006-10-19 | 2011-07-05 | Qualcomm Incorporated | Programmable blending in a graphics processing unit |
US8537168B1 (en) | 2006-11-02 | 2013-09-17 | Nvidia Corporation | Method and system for deferred coverage mask generation in a raster stage |
US8022958B2 (en) | 2007-04-04 | 2011-09-20 | Qualcomm Incorporated | Indexes of graphics processing objects in graphics processing unit commands |
US20090046105A1 (en) * | 2007-08-15 | 2009-02-19 | Bergland Tyson J | Conditional execute bit in a graphics processor unit pipeline |
US9183607B1 (en) | 2007-08-15 | 2015-11-10 | Nvidia Corporation | Scoreboard cache coherence in a graphics pipeline |
US8314803B2 (en) | 2007-08-15 | 2012-11-20 | Nvidia Corporation | Buffering deserialized pixel data in a graphics processor unit pipeline |
US8775777B2 (en) * | 2007-08-15 | 2014-07-08 | Nvidia Corporation | Techniques for sourcing immediate values from a VLIW |
US8521800B1 (en) | 2007-08-15 | 2013-08-27 | Nvidia Corporation | Interconnected arithmetic logic units |
US8599208B2 (en) * | 2007-08-15 | 2013-12-03 | Nvidia Corporation | Shared readable and writeable global values in a graphics processor unit pipeline |
US8736624B1 (en) | 2007-08-15 | 2014-05-27 | Nvidia Corporation | Conditional execution flag in graphics applications |
US8576228B2 (en) * | 2008-01-18 | 2013-11-05 | Sony Corporation | Composite transition nodes for use in 3D data generation |
US9053562B1 (en) | 2010-06-24 | 2015-06-09 | Gregory S. Rabin | Two dimensional to three dimensional moving image converter |
US9401046B2 (en) * | 2011-02-07 | 2016-07-26 | Intel Corporation | Micropolygon splatting |
US8640047B2 (en) | 2011-06-01 | 2014-01-28 | Micorsoft Corporation | Asynchronous handling of a user interface manipulation |
CN102495726B (zh) | 2011-11-15 | 2015-05-20 | 无锡德思普科技有限公司 | 机会多线程方法及处理器 |
US9411595B2 (en) | 2012-05-31 | 2016-08-09 | Nvidia Corporation | Multi-threaded transactional memory coherence |
US9824009B2 (en) | 2012-12-21 | 2017-11-21 | Nvidia Corporation | Information coherency maintenance systems and methods |
US10102142B2 (en) | 2012-12-26 | 2018-10-16 | Nvidia Corporation | Virtual address based memory reordering |
US9992021B1 (en) | 2013-03-14 | 2018-06-05 | GoTenna, Inc. | System and method for private and point-to-point communication between computing devices |
US9569385B2 (en) | 2013-09-09 | 2017-02-14 | Nvidia Corporation | Memory transaction ordering |
US9766894B2 (en) * | 2014-02-06 | 2017-09-19 | Optimum Semiconductor Technologies, Inc. | Method and apparatus for enabling a processor to generate pipeline control signals |
US9558000B2 (en) | 2014-02-06 | 2017-01-31 | Optimum Semiconductor Technologies, Inc. | Multithreading using an ordered list of hardware contexts |
US11488349B2 (en) | 2019-06-28 | 2022-11-01 | Ati Technologies Ulc | Method and apparatus for alpha blending images from different color formats |
US11869123B2 (en) * | 2021-08-03 | 2024-01-09 | Adobe Inc. | Anti-aliasing two-dimensional vector graphics using a compressed vertex buffer |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3924759A1 (de) * | 1989-07-26 | 1991-02-07 | Fraunhofer Ges Forschung | Multiprozessorsystem fuer die graphische datenverarbeitung |
US5317682A (en) * | 1989-10-24 | 1994-05-31 | International Business Machines Corporation | Parametric curve evaluation method and apparatus for a computer graphics display system |
US5159665A (en) * | 1989-11-27 | 1992-10-27 | Sun Microsystems, Inc. | Graphics accelerator system |
US5379376A (en) * | 1990-06-04 | 1995-01-03 | International Business Machines Corporation | Bi-directional graphics attribute conversion profile |
US5293480A (en) * | 1990-08-06 | 1994-03-08 | At&T Bell Laboratories | High resolution graphics system architecture |
US5220650A (en) * | 1991-01-22 | 1993-06-15 | Hewlett-Packard Company | High speed method for rendering antialiased vectors |
US5307449A (en) * | 1991-12-20 | 1994-04-26 | Apple Computer, Inc. | Method and apparatus for simultaneously rendering multiple scanlines |
-
1993
- 1993-06-04 US US08/071,699 patent/US5392393A/en not_active Expired - Lifetime
- 1993-06-23 US US08/082,065 patent/US5440682A/en not_active Expired - Lifetime
-
1994
- 1994-04-05 DE DE69430884T patent/DE69430884T2/de not_active Expired - Fee Related
- 1994-04-05 EP EP94302410A patent/EP0627700B1/en not_active Expired - Lifetime
- 1994-05-13 JP JP12333294A patent/JP3491773B2/ja not_active Expired - Lifetime
- 1994-06-03 KR KR1019940012520A patent/KR100328421B1/ko not_active IP Right Cessation
- 1994-06-04 KR KR1019940012656A patent/KR100301223B1/ko not_active IP Right Cessation
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001195603A (ja) * | 1999-10-28 | 2001-07-19 | Nintendo Co Ltd | 3次元グラフィックスのための頂点キャッシュ |
JP4644353B2 (ja) * | 1999-10-28 | 2011-03-02 | 任天堂株式会社 | 3次元グラフィックスのための頂点キャッシュ |
JP2001243461A (ja) * | 2000-02-29 | 2001-09-07 | Sony Corp | グラフィックス描画装置 |
WO2010016299A1 (ja) | 2008-08-07 | 2010-02-11 | 三菱電機株式会社 | 半導体集積回路装置、設備機器制御装置、及び機器状態表示装置 |
US8823723B2 (en) | 2008-08-07 | 2014-09-02 | Mitsubishi Electric Corporation | Semiconductor integrated circuit device, facility appliance control device, and appliance state display apparatus |
Also Published As
Publication number | Publication date |
---|---|
KR100301223B1 (ko) | 2001-10-24 |
EP0627700B1 (en) | 2002-07-03 |
US5440682A (en) | 1995-08-08 |
DE69430884D1 (de) | 2002-08-08 |
US5392393A (en) | 1995-02-21 |
KR950001541A (ko) | 1995-01-03 |
JP3491773B2 (ja) | 2004-01-26 |
DE69430884T2 (de) | 2003-02-27 |
EP0627700A3 (en) | 1995-02-01 |
KR100328421B1 (ko) | 2002-06-22 |
KR950001544A (ko) | 1995-01-03 |
EP0627700A2 (en) | 1994-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3491773B2 (ja) | グラフィックアクセラレータ及び幾何学オブジェクト描出方法 | |
KR100301222B1 (ko) | 고성능3차원그래픽가속기용명령전처리기 | |
US5821949A (en) | Three-dimensional graphics accelerator with direct data channels for improved performance | |
US5874969A (en) | Three-dimensional graphics accelerator which implements multiple logical buses using common data lines for improved bus communication | |
US6025853A (en) | Integrated graphics subsystem with message-passing architecture | |
US5764228A (en) | Graphics pre-processing and rendering system | |
US5764243A (en) | Rendering architecture with selectable processing of multi-pixel spans | |
KR100325902B1 (ko) | 고성능3차원그래픽가속기를위한부동소숫점처리기및그처리기능수행방법 | |
EP0875855B1 (en) | Graphics processing system | |
US5798770A (en) | Graphics rendering system with reconfigurable pipeline sequence | |
EP0817117B1 (en) | Command processor for a three-dimensional graphics accelerator which includes geometry decompression capabilities and method for processing geometry data in said graphics accelerator | |
US5727192A (en) | Serial rendering system with auto-synchronization on frame blanking | |
US5745125A (en) | Floating point processor for a three-dimensional graphics accelerator which includes floating point, lighting and set-up cores for improved performance | |
JP3860859B2 (ja) | 高性能プリミティブ・クリッピング・プリプロセシングを有するコンピュータ・グラフィックス・システム | |
US7522171B1 (en) | On-the-fly reordering of 32-bit per component texture images in a multi-cycle data transfer | |
EP0631252B1 (en) | Draw processor for a high performance three dimensional graphics accelerator | |
US10055883B2 (en) | Frustum tests for sub-pixel shadows | |
US6704026B2 (en) | Graphics fragment merging for improving pixel write bandwidth | |
US6847369B2 (en) | Optimized packing of loose data in a graphics queue | |
US7256796B1 (en) | Per-fragment control for writing an output buffer | |
US6885375B2 (en) | Stalling pipelines in large designs | |
JP3104643B2 (ja) | 画像処理装置及び画像処理方法 | |
US5946003A (en) | Method and apparatus for increasing object read-back performance in a rasterizer machine |
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: 20071114 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081114 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091114 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091114 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101114 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111114 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111114 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121114 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121114 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131114 Year of fee payment: 10 |
|
EXPY | Cancellation because of completion of term |