JPH1097635A - ディスプレイリストを生成する方法、ディスプレイリストを受け取りグラフィックスプロセッサに格納する方法、プリミティブをレンダリングする方法およびディスプレイリストを用いてプリミティブをレンダリングするシステム - Google Patents

ディスプレイリストを生成する方法、ディスプレイリストを受け取りグラフィックスプロセッサに格納する方法、プリミティブをレンダリングする方法およびディスプレイリストを用いてプリミティブをレンダリングするシステム

Info

Publication number
JPH1097635A
JPH1097635A JP9172331A JP17233197A JPH1097635A JP H1097635 A JPH1097635 A JP H1097635A JP 9172331 A JP9172331 A JP 9172331A JP 17233197 A JP17233197 A JP 17233197A JP H1097635 A JPH1097635 A JP H1097635A
Authority
JP
Japan
Prior art keywords
display list
primitive
values
render
value
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
JP9172331A
Other languages
English (en)
Other versions
JP4091144B2 (ja
Inventor
Michael Kerry Larson
ケイ. ラーソン マイケル
Partick A Harkin
エイ. ハーキン パトリック
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.)
Cirrus Logic Inc
Original Assignee
Cirrus Logic Inc
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 Cirrus Logic Inc filed Critical Cirrus Logic Inc
Publication of JPH1097635A publication Critical patent/JPH1097635A/ja
Application granted granted Critical
Publication of JP4091144B2 publication Critical patent/JP4091144B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Generation (AREA)

Abstract

(57)【要約】 【課題】 レジスタをロードし、プリミティブをレンダ
リングするあいだに不要なパラメータを考慮から除外で
きるグラフィックスシステムを提供する。 【解決手段】 必要最小限の数のステップおよびレジス
タを用いてポリゴンをレンダリングするグラフィックス
コントローラを有するグラフィックスシステムが提供さ
れる。ホストプロセッサは、プリミティブをレンダリン
グするのに必要な値のみを有するディスプレイリストを
生成する。グラフィックスコントローラは、そのディス
プレイリストを、ホストプロセッサから直接受け取る
か、またはホストプロセッサによりそのディスプレイリ
ストが格納されているシステムメモリから受け取る、レ
ジスタファイルを備えている。また、グラフィックスコ
ントローラは、プリミティブをレンダリングするのに、
レジスタファイル内のどの値を用いる必要があり、どの
値をスキップすべきかを確認する演算コードを復号化す
るロジックも備えている。やはりこのグラフィックスプ
ロセッサ内に設けられているポリゴンおよびテクスチュ
アエンジンには、必要な値のみが伝送される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、広くはパーソナル
コンピュータに用いられるグラフィックス制御システム
に関する。具体的には、本発明は、特定のグラフィック
ス操作について格納され、処理されるパラメータの個数
を最小化する方法および装置に関する。さらに詳しく言
えば、本発明は、グラフィックスシステムによりレンダ
リングされるプリミティブの特定のタイプに基づきイン
ストラクションを再配列する(reordering)ことによっ
て、いくつかのレジスタを考慮から除外する技術に関す
る。
【0002】
【従来の技術】パーソナルコンピュータ(PC)が利用
可能になる以前は、コンピュータグラフィックスパッケ
ージは、業界専用の高価なツールであった。初期のマイ
クロコンピュータは、典型的には、簡単なライン描画レ
ンダリングしかできない低いスクリーン解像度(例え
ば、256×256)のものであった。マイクロコンピ
ュータが進歩するにつれて、カラーディスプレイシステ
ムが普及し、プログラマが、グラフィックスを用いてデ
ータ出力を与えるのは日常茶飯事になり始めている。用
いられたグラフィックス技術は、構造化されておらず、
オブジェクトは、直線を用いた絶対座標を参照して規定
された。その後、単一のインストラクションで円、楕
円、方形およびポリゴンを描画可能とするためにグラフ
ィックス「プリミティブ」が用いられた。加えて、カラ
ーディスプレイは、典型的には、3原色の強度値により
規定されるようになった。これらの3原色をブレンディ
ングすることにより、高品質なカラーディスプレイが得
られるようになったのである。
【0003】
【発明が解決しようとする課題】コンピュータグラフィ
ックスが利用可能になったことにより、より高い解像度
で3次元(3D)レンダリングを実現する能力への需要
が生じている。中でもコンピュータアニメーションおよ
びゲームは、コンピュータグラフィックスの能力に大き
な革命をもたらした。3Dイメージは、コンピュータシ
ステムでは、例えばポリゴンや、線や、点のようなグラ
フィックスオブジェクトの集合体として表現されうる。
ポリゴンはそれぞれ、頂点のセットとして規定されう
る。それぞれの点には、例えばシェーディング、テクス
チュア、色などの画素値が関連づけられる。ポリゴン内
のその他の点の識別は、典型的には、線形補間を用いて
おこなわれる。いったん補間されると、ポリゴンは、そ
のポリゴンの直交する複数のロウを連続的にスキャンす
ることによって、コンピュータモニタ上にレンダリング
されうる。
【0004】ポリゴンのようなグラフィックスプリミテ
ィブの各点(すなわち画素)に対する線形補間は、プロ
セッサに依存するところが非常に大きい。グラフィック
スプロセッサにより初期値と最終値とが補間されること
によって、イメージをレンダリングするための補間画素
値が得られる。したがって、ビデオデータをグラフィッ
クスコントローラへと通信するために、システムバス上
のトラフィックを少なくしてコンピュータイメージを格
納するのに必要なシステムメモリの容量が、少なくな
る。それぞれの画素についてグラフィックス値を格納
し、通信していた初期グラフィックスシステムに比べれ
ば有利であるとはいうものの、勾配技術に基づくこのよ
うな従来の技術によるシステムは、それでも大量のデー
タを格納し、処理しなければならない。
【0005】画素パラメータは、ディスプレイリストの
かたちでグラフィックスシステムに供給される。このデ
ィスプレイリストは、グラフィックスプロセッサにより
レンダリングされるべきプリミティブのパラメータを規
定する。加えて、ディスプレイリストは、グラフィック
スプロセッサに対して、ポリゴン、線、点およびその他
のグラフィックスプリミティブを描画するように「指令
を与え」、プリミティブをレンダリングするのに必要
な、利用可能な各種パラメータに対して開始値および勾
配値をさらに与える。
【0006】ディスプレイリストを用いる現行のグラフ
ィックス実現方式では、典型的には、グラフィックスプ
ロセッサ内のレジスタファイルへと、データをシーケン
シャルなフォーマットでロードする。それぞれのタイプ
のプリミティブについて、そのタイプのプリミティブを
レンダリングするためには、特定のデータ値のセットが
必要になる。例えば、画素グリッド内に描画される点
は、x、y位置、色値、および深さ(depth)比較のた
めのz値を必要とすることがある。逆に、もしプリミテ
ィブが線であるのなら、必要になるパラメータには、x
方向における線の向きを規定する勾配と、y方向におけ
る長さを規定するカウント値とが含まれることがある。
ポリゴンの場合、その形状を規定するためには、さらに
多くのパラメータが必要になる。
【0007】ディスプレイリストの一例を以下の表1に
示す。
【0008】
【表1】
【0009】表1のレジスタファイルは、点、線および
ポリゴンを描画するのに必要なパラメータを供給する。
中央プロセッサ(またはメモリ)から与えられたディス
プレイリストは、レジスタファイル内の各種レジスタに
データを供給する。しかし、これらの値のすべてが、点
や線を描画するのに必要なわけではない。点や線を描画
する際には、一般に、表1の値のうちのサブセットを含
むディスプレイリストが用いられる。
【0010】また、プリミティブのタイプを規定するの
に利用可能な値のすべてが、特定のプリミティブをレン
ダリングするのに用いられるわけではない。例えば、あ
る与えられた線には、緑および青の値が必要でないこと
もある。従来の技術によるシステムでは、もしレンダリ
ングされるべきプリミティブが特定のパラメータを必要
としないのなら、レジスタファイル内の対応するレジス
タには、ヌルつまりゼロの値がロードされる。よって、
例えば、もしフラットにシェーディングされた、Zバッ
ファリングされたポリゴン(色シェーディング情報を必
要としない)がレンダリングされるのなら、ディスプレ
イリストには、不要な値に対応するヌルの値がホストプ
ロセッサによりロードされることになる。その後、これ
らのヌルの値を含むすべての値が、レジスタファイル内
へとロードされる。
【0011】不要なパラメータに対してヌルの値を与え
るこのステップは、レンダリング処理のそれぞれの段階
で、パラメータを格納するのに必要なメモリの量を増や
し、グラフィックスプロセッサにレジスタファイルをロ
ードするのに必要な時間を長くし、また、システムバス
や内部グラフィックスプロセッサ上でのトランザクショ
ンの量も増やす。その結果、レンダリング操作には、よ
り多くのメモリ空間が必要になり、このような不要な値
を考慮から除外する場合に比べて、かかる時間も長くな
る。よって、レジスタをロードし、プリミティブをレン
ダリングするあいだに不要なパラメータを考慮から除外
できるグラフィックスシステムを開発できれば、効果的
であろう。また、もしホストプロセッサが、必要なパラ
メータ値のみをディスプレイリストの一部として伝送す
ることができ、かつ、グラフィックスシステムがこれら
のパラメータには必要な値しかないと認識して、使用さ
れないデータの不要なロードを避けることができれば、
やはり効果的であろう。不要なパラメータを考慮から除
外するグラフィックスシステムは、このように明らかに
有利であるにもかかわらず、今日まで、このようなシス
テムを開発したり、実施した者はいない。
【0012】本発明は、上記課題を解決するためになさ
れたものであり、その目的とするところは、レジスタを
ロードし、プリミティブをレンダリングするあいだに不
要なパラメータを考慮から除外できるグラフィックスシ
ステムを提供することにある。
【0013】
【課題を解決するための手段】本発明によるプリミティ
ブをレンダリングするのに必要な値のみを含むディスプ
レイリストを生成する方法は、(a)該プリミティブを
含む描画オブジェクトのタイプを記述するオペコード
と、インストラクション修飾子値とを含む、演算コード
インストラクションを該ディスプレイリストに入れるス
テップと、(b)該オペコードにより規定される該プリ
ミティブをレンダリングするのに必要な該値のみを該デ
ィスプレイリストに入れるステップと、を含んでおり、
そのことにより上記目的が達成される。
【0014】ある実施形態では、前記プリミティブをレ
ンダリングするのに必要な前記値が、前記オペコードお
よび前記インストラクション修飾子値により確認され
る。
【0015】ある実施形態では、もし前記プリミティブ
をレンダリングするのに深さ値が必要ないのなら、Z関
連値が前記ディスプレイリストから省かれる。
【0016】ある実施形態では、もし前記プリミティブ
に色が必要ないのなら、色に対応する値が前記ディスプ
レイリストから省かれる。
【0017】ある実施形態では、(c)前記ディスプレ
イリストをシステムメモリ装置に格納するステップをさ
らに含む。
【0018】ある実施形態では、ホストプロセッサが、
前記プリミティブをレンダリングするのに必要な前記値
のみを含む前記ディスプレイリストを、該プリミティブ
をレンダリングするグラフィックスプロセッサに伝送す
る。
【0019】本発明によるディスプレイリストを受け取
り、該ディスプレイリストをグラフィックスプロセッサ
に格納する方法は、該ディスプレイリストが、プリミテ
ィブをレンダリングするのに必要な値のみを含んでお
り、不要な値を省いており、かつ該含まれている必要な
値に関連づけられたアドレスをさらに含んでいる、方法
であって、(a)該ディスプレイリストを受け取るステ
ップと、(b)該プリミティブをレンダリングするのに
必要な該値のみを含む該ディスプレイリストを、該グラ
フィックスプロセッサに含まれているレジスタファイル
に格納するステップであって、該値のそれぞれが、該値
のそれぞれに関連づけられたレジスタアドレスに対応す
るレジスタに格納される、ステップと、を含んでおり、
そのことにより上記目的が達成される。
【0020】ある実施形態では、前記ディスプレイリス
トが、システムバスを介してシステムメモリ装置から受
け取られる。
【0021】ある実施形態では、前記システムバスから
受け取られた前記ディスプレイリストが、ホストプロセ
ッサから該システムバスに与えられたものである。
【0022】本発明によるホストプロセッサにより生成
される演算コードインストラクションおよびディスプレ
イリストにより規定されるプリミティブをレンダリング
する方法は、該演算コードインストラクションがオペコ
ード値およびインストラクション修飾子値を含んでお
り、該ディスプレイリストが該プリミティブをレンダリ
ングするのに必要なパラメータのみを含んでいる、方法
であって、(a)該演算コードインストラクションおよ
び該ディスプレイリストを受け取り、該演算コードイン
ストラクションおよび該ディスプレイリストをレジスタ
ファイルに格納するステップであって、該レジスタファ
イルが、複数のプリミティブに関連づけられた複数のパ
ラメータを格納する複数のレジスタを含んでいる、ステ
ップと、(b)該オペコード値および該インストラクシ
ョン修飾子値を該演算コードインストラクションから復
号化することによって、レンダリングされるプリミティ
ブのタイプを決定するステップと、(c)該レジスタフ
ァイル内の該複数のレジスタを再配列することによっ
て、該プリミティブをレンダリングするのに必要な該パ
ラメータのみを該レジスタから転送するステップと、を
含んでおり、そのことにより上記目的が達成される。
【0023】ある実施形態では、(d)前記レジスタフ
ァイルから選択された前記値を、前記プリミティブをデ
ィスプレイ上にレンダリングするグラフィックスエンジ
ンに与えるステップをさらに含む。
【0024】ある実施形態では、前記ディスプレイリス
トが、前記レジスタファイルに格納される前にトランザ
クションキューに格納される。
【0025】本発明によるプリミティブをレンダリング
するのに必要な値のみを含むディスプレイリストを用い
て該プリミティブをレンダリングするシステムは、該プ
リミティブを規定する複数のパラメータ値から構成され
るディスプレイリストを生成するホストプロセッサであ
って、該複数のパラメータ値から構成される該ディスプ
レイリストが、該プリミティブをレンダリングするのに
必要な該値のみを含む、ホストプロセッサと、該複数の
パラメータから構成される該ディスプレイリストを格納
するシステムメモリと、システムバスを介して該ホスト
プロセッサおよび該システムメモリに結合されたグラフ
ィックスプロセッサであって、該複数のパラメータ値か
ら構成される該ディスプレイリストを格納するレジスタ
ファイルを含む、グラフィックスプロセッサと、該グラ
フィックスプロセッサに結合され、該プリミティブを表
示する、ディスプレイと、を備えたシステムにおいて、
該グラフィックスプロセッサが、該プリミティブをレン
ダリングするのに必要な該値のみを含む該ディスプレイ
リストを用いて、プリミティブレンダリング操作を処理
し、そのことにより上記目的が達成される。
【0026】ある実施形態では、前記ホストプロセッサ
が、前記ディスプレイリストを生成し、該ディスプレイ
リストを前記システムメモリに格納する。
【0027】ある実施形態では、前記ホストプロセッサ
が、不要な値をすべて省いて、前記プリミティブをレン
ダリングするのに必要な前記値のみを前記ディスプレイ
リストに入れ、該ディスプレイリストに、該必要な値の
それぞれに関連づけられたレジスタアドレスを格納す
る。
【0028】ある実施形態では、前記グラフィックスプ
ロセッサが、前記ディスプレイリストを前記システムメ
モリから取り出し、該ディスプレイリストを該グラフィ
ックスプロセッサ内のレジスタファイルに格納する、シ
ステムであって、該ディスプレイリストの値がそれぞ
れ、該レジスタファイル内の、前記必要な値のそれぞれ
に関連づけられた前記レジスタアドレスに対応するレジ
スタに格納される。
【0029】ある実施形態では、前記グラフィックスプ
ロセッサが、前記レジスタファイルから演算コードイン
ストラクションを読み出して解釈することによって、該
レジスタファイル内の、前記プリミティブをレンダリン
グするのに不要な値をスキップする、実行ユニットを備
えている。
【0030】ある実施形態では、前記プリミティブをレ
ンダリングするのに必要な前記値のみが、前記レジスタ
ファイルから、前記グラフィックスプロセッサに含まれ
るポリゴンおよびテクスチュアエンジンへと書き込まれ
る。
【0031】ある実施形態では、前記実行ユニットが再
配列ロジックおよびレジスタアドレス発生器を備えてお
り、該再配列ロジックが、前記演算コードインストラク
ションを受け取り、前記レジスタファイル内の、前記プ
リミティブをレンダリングするのに必要ない前記レジス
タをスキップするように該レジスタアドレス発生器に指
示を与える。
【0032】以下に作用を説明する。
【0033】本発明は、レンダリングされるプリミティ
ブのタイプに基づいて、レジスタファイルを含むレジス
タセットを再配列する技術およびプロトコルを提供す
る。よって、本発明では、指示されたプリミティブをレ
ンダリングするのに必要ないパラメータを考慮から除外
する。その結果、ホストプロセッサは必要なパラメータ
値のみを伝送し、グラフィックスコントローラは、特定
のプリミティブをレンダリングするのに必要なパラメー
タのみをロードし、転送する。
【0034】プリミティブパラメータは、システムプロ
セッサ内のソフトウェアドライバにより生成され、ディ
スプレイリストのかたちでグラフィックスプロセッサに
与えられる。ソフトウェアドライバは、指示されたプリ
ミティブをレンダリングするのに必要なパラメータのみ
をディスプレイへと与える。好ましい実施の形態では、
グラフィックスプロセッサは、ディスプレイリストをシ
ステムプロセッサから直接得るか、またはリード動作を
通してシステムメモリから得る、プリフェッチユニット
を備えている。また、このプリフェッチユニットは、好
ましくは、システムメモリから演算コード(つまり「オ
ペコード」)のかたちでインストラクションを取り出
す。
【0035】また、グラフィックスプロセッサは、好ま
しくは、プリフェッチユニットからオペコードを受け取
り、そのオペコードを復号化する内部インストラクショ
ン実行ユニットを備えている。この実行ユニットもま
た、ディスプレイリストを受け取り、そのディスプレイ
リストをレジスタファイルに格納する。実行ユニット
は、そのオペコード復号化の一部として、レンダリング
されるプリミティブのタイプを判定し、そのタイプに基
づいて、レジスタファイルに格納されている値のうち、
必要なレジスタ値のみが、プリミティブをレンダリング
するポリゴンおよびテクスチュアエンジンへと伝送され
るようにする。
【0036】
【発明の実施の形態】以下に述べる好ましい実施の形態
の詳細な説明を添付の図面を参照しながら考慮すれば、
本発明をよりよく理解することができるであろう。
【0037】図1を参照すると、本発明は、広くは、主
勾配技術を用いて点、線およびポリゴンをレンダリング
できる、パーソナルコンピュータ(PC)用のグラフィ
ックスシステムに関している。図1に示されているよう
に、このグラフィックスシステムは、大まかにいうと、
システムバス25に結合されたホストプロセッサ50お
よびシステムメモリ75と、グラフィックスプロセッサ
100と、例えばRDRAMアレイ85のようなフレー
ムバッファと、ディスプレイユニット60とを備えてい
る。ホストプロセッサ50としては、例えば、PCの中
央処理ユニットが挙げられ、システムメモリ75として
は、例えば、PCのワーキングメモリまたはランダムア
クセスメモリが挙げられる。ホストプロセッサ50は、
好ましくは、グラフィックスプロセッサ100によりレ
ンダリングされるディスプレイオブジェクトを記述する
ディスプレイパラメータを発生するソフトウェアドライ
バを備えている。よって、ソフトウェアドライバは、例
えば、点の空間位置、線の終点、あるいはポリゴンの頂
点座標を識別することができる。ポリゴンの場合、ソフ
トウェアドライバは、好ましくは、そのポリゴンの主勾
配値および幅勾配の値も識別する。当業者には理解でき
るであろうが、適用可能な時、ソフトウェアドライバ
は、色の強度、テクスチュア、勾配値およびその他さま
ざまなパラメータ値を識別することができる。よって、
ソフトウェアドライバは、グラフィックスプロセッサ1
00によりレンダリングされるオブジェクトの主勾配お
よび直交勾配、画素位置の開始値および停止値、強度、
深さ、ならびに透明度を計算し、ロードする。ホストプ
ロセッサすなわちソフトウェアドライバは、また、レン
ダリングされるプリミティブのタイプを規定する演算コ
ードインストラクションを発生する。ソフトウェアドラ
イバは、好ましくは、例えばハードドライブあるいはC
D ROMドライブデバイスのような永久磁気記憶装置
からシステムメモリ75へとロードされる。いったんロ
ードされると、ソフトウェアドライバは、ホストプロセ
ッサ50により実行される。
【0038】なお、図1に図示されている特定の実施の
形態は、パーソナルコンピュータシステムに用いられる
グラフィックスシステムの可能な数多くの実現形態の一
例にすぎないことは理解されたい。また、図1は明瞭さ
を重視して簡略化されているので、本発明を理解するの
に必要ない多くの構成要素および制御信号が省略されて
いる。好ましい実施の形態では、グラフィックスプロセ
ッサ100は、2Dおよび3Dグラフィックス、ならび
に、コンピュータシステムのテキストおよびウィンドウ
操作をハードウェア・サポートする。グラフィックスプ
ロセッサ100は、システムメモリ75またはホストプ
ロセッサ50からディジタルデータを転送し、そのデー
タを処理してRDRAM85に格納し、表示装置60の
ディスプレイ上に最終的に表示されるようにする。
【0039】好ましい実施の形態では、ホストプロセッ
サは、必要なパラメータ値をディスプレイリストのかた
ちで供給する。このディスプレイリストは、典型的に
は、グラフィックスプロセッサ100により要求される
までシステムメモリ75に格納される。あるいは、ホス
トプロセッサ50は、よく知られている技術を用いて、
ディスプレイリストをグラフィックスプロセッサ100
にライトしてもよい。いずれにせよ、本発明の原理によ
れば、ホストプロセッサは、描画されるプリミティブに
必要なパラメータしかディスプレイリストには入れな
い。もしあるパラメータ値がそのプリミティブに必要な
いのなら、ディスプレイリスト内のそれに対応するエン
トリは省かれる。この手法は、必要ないパラメータに対
してディスプレイリストにヌル値すなわちゼロの値をロ
ードする従来の技術による手法と比較されるべきであ
る。いったんディスプレイリストがホストプロセッサ5
0により生成されると、そのディスプレイリストは、好
ましくは、グラフィックスプロセッサ100により要求
されるまでシステムメモリ75に格納される。
【0040】ホストプロセッサ50およびシステムメモ
リ75は共に、好ましくは、システムバス25を介して
グラフィックスプロセッサ100と通信する。システム
バス25は、標準工業規格アーキテクチャ(ISA)バ
ス、拡張されたISA(EISA)バス、周辺機器相互
接続(PCI)バス、ビデオ電子規格協会(VESA)
ローカルバス、およびその他の規格化されたコンピュー
タシステム用システムバスを含む、複数のそれぞれ異な
るタイプのホストまたは入力/出力(I/O)バスのう
ちのいずれか1つであればよい。
【0041】図1をさらに参照すると、グラフィックス
プロセッサ100は、好ましくは、システムバス25に
結合されている。好ましい実施の形態では、グラフィッ
クスプロセッサ100は、好ましくは、バスマスタリン
グ能力を備えている。これにより、グラフィックスプロ
セッサ100は、システムバス25に対するマスタシッ
プを得ることができる。システムバスに対するマスタシ
ップを得ることにより、グラフィックスプロセッサ10
0は、ホストプロセッサ50がライト動作をおこなうの
を待つことなく、システムメモリ75からディスプレイ
リストをリードすることができる。この動作モードは、
「プロセッサモード」と呼ばれる。図1に示されている
ように、グラフィックスプロセッサ100は、ディスプ
レイユニット60およびRDRAM85にも接続されて
いる。好ましい実施の形態では、RDRAM85は、R
DRAMバッファのバンクを備えている。ここで、RD
RAMに格納されるディジタルデータは、複数の絵素
(以下の説明では「画素」または「画素値」と称する)
から構成される矩形のアレイを備えている。それぞれの
画素は、例えば、8ビット値で規定されうる。この値
は、ディスプレイユニット60のスクリーン上の対応す
る画素の単一の色の強度を指定する。フルカラーディス
プレイの場合、3原色で24ビットの画素値を実現する
ためには、3つのパスがなされるか、または、3つのパ
ラレルな論理スライスが実現される。ディスプレイユニ
ット60は、適切なタイプの表示装置であれば何でもよ
い。表示装置としては、例えば、デスクトップ、ワーク
ステーションあるいはサーバアプリケーション用の陰極
線管(CRT)、液晶ディスプレイ(LCD)、薄膜ト
ランジスタ(TFT)ディスプレイ、あるいは、パーソ
ナルコンピュータ用のその他の適切な表示装置が挙げら
れる。
【0042】さて図2を参照すると、グラフィックスコ
ントローラ100は、好ましくは、実行ユニット125
に結合されたプリフェッチユニット110と、レジスタ
ファイル150と、トランザクションキュー115と、
ポリゴンおよびテクスチュアエンジン135とを備えて
いる。プリフェッチユニット110は、システムバス2
5に対するインタフェースになる。概略的にいうと、プ
リフェッチユニット110は、ポリゴンおよびテクスチ
ュアエンジン135が以前に取り出されたインストラク
ションを描画している間に、インストラクションおよび
ディスプレイリスト175を取り出し、この情報をトラ
ンザクションキュー115にロードする。グラフィック
スプロセッサ100がバスマスタモード(プロセッサモ
ード)にある時、プリフェッチユニット110は、シス
テムメモリ75からディスプレイリストをリードするた
めのシステムバスアドレスを発生し、その後、トランザ
クションキュー115を、ディスプレイリストインスト
ラクションおよびディスプレイリストで満たす。プリフ
ェッチユニット110の内部には、好ましくは、システ
ムバス25の制御を調停するための制御信号を発生する
ロジックが設けられている。バスマスタリング制御信号
に関する詳細は、当業者には直ちに認識できるであろ
う。動作がプロセッサモードであるあいだ、グラフィッ
クスプロセッサ100は、プリフェッチユニット110
を介して、例えば、グラフィックス描画コマンド、レジ
スタロード、フレーム同期コマンド、および動作のプロ
セッサモードを開始し、終了するコマンドのような各種
コマンドを取り出し、実行することができる。
【0043】プリフェッチユニット110および実行ユ
ニット125の制御の下に、トランザクションキュー1
15の内容は、レジスタファイル150に転送され、ポ
リゴンおよびテクスチュアエンジン135によるレンダ
リングに後で用いられる。上述したように、ディスプレ
イリストは、プリミティブをレンダリングするのに必要
な値のみを含んでいる。これに対して、レジスタファイ
ル150は、どのようなプリミティブでもレンダリング
できるように、可能なあらゆる値に対応するレジスタを
含んでいる。よって、ディスプレイリストの値をレジス
タファイル内の適切なレジスタへとロードするために
は、ディスプレイリスト内の値はそれぞれ、レジスタフ
ァイル内のレジスタに対応する、関連づけられたアドレ
スをもつことになる。よって、プリフェッチユニット1
10および実行ユニット125は、ディスプレイリスト
内のそれぞれの値を、レジスタファイルに含まれてい
る、その値に関連づけられたアドレスに対応するレジス
タに格納する。よって、例えばディスプレイリスト内の
ΔMAIN値が、レジスタファイル内のレジスタ0×4
014に格納されることは、表1を見れば、当業者には
認識できるであろう。使用されない値はディスプレイリ
ストには入れられないので、レジスタファイル150内
でそれらの値に対応するレジスタは、好ましくは、以前
の値から変更されないままにされる。
【0044】プリフェッチユニット110は、また、内
部ライトサイクルのあいだに内部モジュールアドレスを
生成し、例えばWAITインストラクションのようなそ
の他のインストラクションを復号化することもできる。
WAITインストラクションは、スクリーンイベントが
生じるまでインストラクションのプリフェッチを一時停
止することによって、ディスプレイリストの実行と、ス
クリーンリフレッシュのイベントとの同期をとることを
可能にする。よって、当業者には自明であろうが、プリ
フェッチユニット110は、好ましくは、グラフィック
ス操作の間にデータオーバーランおよびデータの枯渇
(starvation)の発生を確実に防止できるように機能す
る。
【0045】さらに図2を参照すると、実行ユニット1
25は、概略的には、グラフィックスプロセッサ100
の制御状態をセットするように機能し、かつ、グラフィ
ックスプロセッサの副構成要素の動作の同期をとる。好
ましい実施の形態では、実行ユニット125は、トラン
ザクションキューからレジスタファイルをロードし、ポ
リコマンドに対してはポリリクエストを発する。実行ユ
ニット125は、描画インストラクションまたはレンダ
リングインストラクションが与えられてから次のインス
トラクションが与えられるまでの間は、IDLEモード
に置かれる。
【0046】いったんトランザクションキュー115か
らレジスタファイル150へとディスプレイリスト値の
セットがロードされると、これらの値により規定される
プリミティブが、ポリゴンおよびテクスチュアエンジン
135によりレンダリングされる。ポリゴンおよびテク
スチュアエンジンが、レジスタファイルから現在のプリ
ミティブをレンダリングしている間、プリフェッチユニ
ット110は、レンダリングされるべき次のプリミティ
ブに対応するディスプレイリストを受け取ることがあ
る。そして、それを受け取った場合には、そのディスプ
レイリストをトランザクションキュー115へとロード
する。
【0047】以下の説明では、演算コードインストラク
ションについて述べ、必要ない値なしでディスプレイリ
ストがどのようにして構成されるかを述べる。図2のシ
ステムメモリ75は、そのそばにディスプレイリスト1
75の分解図を添えて示されている。このディスプレイ
リストは、グラフィックスシステムにより描画されるオ
ブジェクトを規定するプリミティブ値を含んでいる。デ
ィスプレイリストは、典型的には、ホストプロセッサ5
0により実行されるソフトウェアドライバにより生成さ
れる。ディスプレイリスト175の分解図に示されてい
るように、ディスプレイリスト175は、好ましくは、
描画パラメータと共に演算コードインストラクションも
含んでいる。この演算コードインストラクションは、好
ましくは、32ビットのダブルワードを含んでおり、以
下の表2に記述されているように、オペコード、インス
トラクション修飾子、A−フィールドおよびカウントフ
ィールドを含んでいる。
【0048】
【表2】
【0049】演算コードインストラクションのビット2
7〜31は、グラフィックスプロセッサによりおこなわ
れる演算の種類(レンダリングされるプリミティブのタ
イプを含む)を指定するオペコード値を含んでいる。好
ましい実施の形態では、異なる複数の種類の演算のうち
のいくつかに対応するオペコードは、以下のように規定
される。
【0050】
【表3】
【0051】好ましい実施の形態では、ある特定のオペ
コード(00000)が、レンダリングプリミティブを
点と規定する。同様に、別のオペコード値(0000
1)がプリミティブを線と規定し、さらに別の値(00
010)が、ポリゴンを規定する。内部デバイスレジス
タをライトしたり、内部デバイスレジスタをリードした
り、ある与えられたアドレスでインストラクション処理
を開始したり、グラフィックスプロセッサをプロセッサ
モードにリターンしたり、ポリゴンおよびテクスチュア
エンジンのレジスタをクリアしたり、プリフェッチユニ
ット110内の制御レジスタにデータをライトしたりす
るのに、その他のオペコードを設けることもできる。
【0052】演算コードインストラクションのビット1
2〜26は、おこなわれる描画操作の種類に関するさら
なる詳細を与えるインストラクション修飾子フィールド
を含んでいる。レンダリングコマンド(DRAW PO
INT、DRAW LINE、DRAW POLYGO
N)用のインストラクション修飾子フィールドとして
は、例えば、以下の表4に示すものがある。
【0053】
【表4】
【0054】表4の例に示されているように、ビット2
5は、好ましくは、演算コードインストラクションに後
続するワードが追加の修飾子を含んでいるかどうかを表
す拡張修飾子ビットを含んでいる。初期幅ビット24
は、好ましくは、初期三角形幅値がディスプレイリスト
内に与えられるかどうかを指定する。好ましい実施の形
態では、フェッチカラービット23は、デスティネーシ
ョンカラーが必要であるかどうかを判定する。アルファ
ロードビット22は、好ましくは、アルファレジスタが
ロードされるかどうかを表す。同様に、ディザビット2
1、パターンビット20および点画(stipple)ビット
19は、好ましくは、プリミティブがディザリングされ
るか、パターニングされるか、および/または点画され
るかどうかをそれぞれ表す。好ましくは、ライティング
処理は、ライティングイネーブルビット18によりイネ
ーブルされる。深さ機能(depth function)は、好まし
くは、ビット13を用いて選択され、オブジェクトを通
して色を補間するグーロー関数は、ビット12を用いて
選択される。最後に、ビット16および17は、もしテ
クスチュアマッピングが望まれるのなら、テクスチュア
マッピングモードを規定するために符号化される。もし
テクスチュアマッピングが望まれないのなら、ビット1
6および17は、共にゼロにセットされる。もし線形テ
クスチュアマッピングが望まれるのなら、ビット16お
よび17は、それぞれ0および1にセットされ、もしパ
ースペクティブ補正されたテクスチュアマッピングが望
まれるのなら、これらのビットは共に1にセットされ
る。
【0055】本発明によれば、必要な情報のみを含むデ
ィスプレイリストを効果的に生成することができる。す
なわち、それぞれの種類のレンダリング操作に、表1の
レジスタのすべてが用いられるわけではない。従来の技
術では、それぞれの種類のレンダリング操作に1つのデ
ィスプレイリストフォーマットを開示する。例えば、従
来の技術による点レンダリング操作は、X、Y、R、
G、B、Z、VおよびU値を含むディスプレイリストを
用いる。しかし、特定の点をレンダリングするために
は、これらの値のうちの1サブセットが必要になるだけ
である。かつては、使用されない値に関連づけられたデ
ータは、リスト内に入れられたままで、ヌル値がライト
されていた。本発明では、ホストプロセッサ50は、デ
ィスプレイリスト内に必要な、ヌルではない値のみを入
れる。必要な値の選択は、以下の表5〜表10に例示さ
れているように、受け取られた特定のレンダリングコマ
ンドに基づいておこなわれる。
【0056】
【表5】
【0057】表5は、点をレンダリングするのに必要な
8つの値(X、Y、R、G、B、Z、VおよびU)を含
んでいる。第(1)欄は、表1に規定されている対応す
るアドレスを含んでいる。第(3)欄、第(4)欄およ
び第(5)欄は、各種条件について、どの値をスキップ
することができるか、つまりディスプレイリストから省
くことができるかを示している。値がスキップ可能とな
る条件は、さらに表6にも示されている。もしグラフィ
ックスプロセッサ100が、マッピングされたカラーモ
ード、あるいは直接カラーモードで動作しているのな
ら、G値およびB値はスキップすることができる。なぜ
なら、これらの値は用いられないからである。さらに、
もしZ深さ機能が、表4のインストラクション修飾子フ
ィールドにおけるビット13を通してオフされるのな
ら、ディスプレイリストのZ値をスキップすることがで
きる。最後に、もし表6の最後の欄に示されているよう
にテクスチュアマッピングがオフされるのなら、V値お
よびU値をスキップすることができる。表4に示されて
いるように、テクスチュアマッピングは、演算コードイ
ンストラクションのインストラクション修飾子フィール
ドのビット16および17に「0」をライトすることに
よって、オフされうる。
【0058】
【表6】
【0059】表6は、点をレンダリングする時にディス
プレイリストから値を省くことができる、3つのモード
を規定している。当業者には知られているように、マッ
ピングされたカラーモードあるいは直接カラーモードで
は、表示される色を決めるのにカラールックアップテー
ブルをパレットに用いることができる。Zモードでは、
Z深さ機能が実行される。最後に、テクスチュアモード
は、プリミティブをレンダリングするのに、線形テクス
チュアマッピングが用いられるのか、パースペクティブ
マッピングが用いられるのか、あるいはいずれも用いら
れないのかを決める。
【0060】
【表7】
【0061】表7は、点をレンダリングするのに必要な
値である、X、Y、R、G、B、ΔMAIN、Y CO
UNT、ΔWIDTH OPP、ΔR MAIN、ΔG
MAIN、ΔB MAIN、Z、ΔZ MAIN、
V、U、ΔV MAIN、ΔUMAIN、Δ2V MA
INおよびΔ2U MAINを含んでいる。第(1)欄
に示されたこれらの値のアドレスは、表1と同じであ
る。ただし、Δ2V MAINは、アドレス0×406
8に対応しており、Δ2U MAINは、アドレス0×
406Cに対応している。第(3)欄〜第(7)欄は、
5つのそれぞれ異なる状況について、スキップされる値
を示している。マッピングされたカラーモード、Zオ
フ、およびテクスチュアマッピングオフの条件は、上述
したモードと同じであるが、これらの条件が続くあいだ
は、さらなる値がスキップ可能となる。マッピングされ
たカラーモードの場合、G値およびB値がスキップされ
るのみならず、ΔG MAIN値およびΔB MAIN
値もスキップ可能となる。Z深さ機能がオフされる時、
Z値およびΔZ MAIN値が第(5)欄でスキップさ
れる。テクスチュアマッピングモードが第(6)欄でオ
フされる時、V値、U値、ΔV MAIN値、ΔU M
AIN値、Δ2V MAIN値およびΔ2U MAIN
値がスキップ可能となる。さらに、もし、表8でポリゴ
ンを通して色を補間するものと記載されている、第
(4)欄のグーローシェーディングモードが、演算コー
ドインストラクションのインストラクション修飾子フィ
ールドのビット12(表4)を通してオフされるのな
ら、色値ΔR MAIN、ΔG MAINおよびΔB
MAINがスキップ可能となる。さらには、もし、イン
ストラクション修飾子フィールドのビット16および1
7に値「1」をライトすることによって実行される、パ
ースペクティブテクスチュアマッピング(第(7)欄)
がオフされるのなら、Δ2V MAIN値およびΔ2U
MAIN値がスキップ可能となる。
【0062】
【表8】
【0063】表8におけるマッピングされた/直接カラ
ーの条件およびZの条件は、表6に記載されている条件
と実質的に同じである。表8で言及されているグーロー
モードは、上述したように、線を通して色を補間するこ
とを可能にする。最後に、テクスチュアモードエントリ
は、テクスチュアマッピングモードとパースペクティブ
テクスチュアマッピングモードに言及している。これら
のモードのうち、いずれか1つが実施されるか、両方が
実施されるか、または、いずれも実施されないかという
3つの選択肢がある。
【0064】
【表9】
【0065】表9は、ポリゴンをレンダリングする時の
各種状況について、スキップ可能な値を含んでいる。も
しグラフィックスプロセッサ100が、マッピングされ
たカラーモードであるか、または直接カラーモードであ
るのなら、ディスプレイリスト内のG値、B値、ΔG
MAIN値、ΔB MAIN値、ΔG ORTHO値お
よびΔB ORTHO値は、表9の第(3)欄に示され
ているように、スキップされうる。第(4)欄では、も
しグラフィックスプロセッサ100がグーローシェーデ
ィングモードをオフしたのなら、ΔR MAIN値、Δ
G MAIN値、ΔB MAIN値、ΔR ORTHO
値、ΔG ORTHO値およびΔB ORTHO値がス
キップ可能となる。さらに、もしZモードがオフされて
いるのなら、第(5)欄に示されているように、Z値、
ΔZ MAIN値およびΔZ ORTHO値がスキップ
可能となる。もし初期幅制御がオフされているのなら、
WIDTH MAIN値およびWIDTH OPP値が
スキップ可能となる(第(6)欄)。初期幅制御は、ポ
リゴンをレンダリングするためだけに用いられ、表4に
示されているように、演算コードインストラクションの
インストラクション修飾子フィールドのビット24を通
して実行される。最後に、もし第(7)欄および第
(8)欄においてテクスチュアマッピングモードあるい
はパースペクティブテクスチュアマッピングモードがオ
フされるのなら、Δ2V MAIN値、Δ2U MAI
N値、Δ2V ORTHO値、Δ2U ORTHO値、
ΔV ORTHO ADD値およびΔU ORTHO
ADD値がスキップ可能となる。また、テクスチュアマ
ッピングモードがオフされるのなら、V値、U値、ΔV
MAIN値、ΔU MAIN値、ΔV ORTHO値
およびΔU ORTHO値をディスプレイリストから省
くことができる。
【0066】
【表10】
【0067】表10は、ポリゴンに関するパラメータを
ディスプレイリストから省くことができる条件を記述し
ている。マッピングされたカラーモードあるいは直接カ
ラーモードは、表6および表8で、表示される色を決め
るのにカラールックアップテーブルを用いるものとして
言及されている。グーローモードは、ポリゴンを通して
色を補間することを可能にするが、Z深さ機能は、もし
オフされれば、Z値をスキップ可能とする。さらに、初
期幅関数は、初期の三角形の幅がディスプレイリストに
与えられるかどうかを判定する。最後に、テクスチュア
モードエントリは、テクスチュアマッピングモードおよ
び/またはパースペクティブテクスチュアマッピングモ
ードが用いられるかどうかについて言及する。
【0068】要約すると、ホストプロセッサ50は、上
述した各表およびそれに付随するテキストで説明したよ
うに、さまざまな具体的状況の下にプリミティブをレン
ダリングするのに必要ではない値をディスプレイリスト
から省くことによって、プリミティブをレンダリングす
るのに必要最小限のディスプレイリスト175を生成す
る。例えば、3原色成分のすべてと、比較用のZ深さ値
と、テクスチュアマッピングとを用いて点をレンダリン
グするためのディスプレイリストは、X、Y、R、G、
B、Z、VおよびUの値を含んでいる。しかし、点をレ
ンダリングするのに、テクスチュアマッピングをオフ
し、Z深さ値を用いないと、ホストプロセッサが、X、
Y、R、GおよびBの値のみを含むディスプレイリスト
を生成する結果となる。この場合、上述した点のレンダ
リングよりも、値の数は3つ少なくなる。また、本発明
によれば、ディスプレイリストに含まれている必要最小
限の値から構成されるセットを用いて、プリミティブを
レンダリングできるという効果が得られる。
【0069】以下の説明は、上述したようにプリミティ
ブをレンダリングするのに必要な値のみを含むディスプ
レイリストを用いて、プリミティブがレンダリングされ
る手法について述べたものである。ここでは、議論のた
めに、レンダリング操作用の値は、あらかじめレジスタ
ファイル150に格納されているものとする。図3を参
照すると、実行ユニット125は、レジスタアドレス発
生器225と、再配列ロジック250とを含むものとし
て図示されている。当業者には理解できることであろう
が、実行ユニットは、図3には図示されていないその他
の要素を含んでいてもよい。
【0070】レジスタアドレス発生器225は、レジス
タファイル150内のレジスタに関するアドレスNを発
生し、信号ライン226を介してそのアドレスNをレジ
スタファイル150へと伝送する。すると、レジスタ内
のアドレスNにおけるデータが、信号ライン151を介
してポリゴンおよびテクスチュアエンジンへと伝送され
る。再配列ロジック250は、オペコード自体と、イン
ストラクション修飾子の値とを含む演算コードインスト
ラクションを受け取る。オペコードの値およびインスト
ラクション修飾子の値から、再配列ロジック250は、
レジスタファイル内において、オペコードダブルワード
に対応するプリミティブをレンダリングするのに必要な
レジスタはどれかを確定し、表5〜表10で見てきたよ
うに、必要ない値をスキップする。再配列ロジック25
0は、好ましくは、レジスタファイル150内で、プリ
ミティブをレンダリングするのに必要な次の値に対応す
るアドレスに、以前のアドレスNをインクリメントする
ようにレジスタアドレス発生器225を制御する、ステ
ートマシンを含んでいる。具体的には、再配列ロジック
250は、信号ライン252を介して「Nに加算する
値」をレジスタアドレス発生器225に伝送する。「N
に加算する値」は、プリミティブをレンダリングするの
に必要な次のレジスタを得るためには、スキップしなけ
ればならないレジスタファイル内のレジスタの個数を指
定する。よって、レジスタファイル内のレジスタは、プ
リミティブをレンダリングするのに必要なパラメータの
みをレジスタファイルからポリゴンおよびテクスチュア
エンジンへと転送するために、再配列される。
【0071】例えば、もしオペコードおよびインストラ
クション修飾子が、レンダリングされるプリミティブは
Z深さをもたないポリゴンであることを示すのなら、再
配列ロジック250は、レジスタアドレス発生器に対し
て、レジスタファイル150内のレジスタ0×4044
までのすべてのレジスタを選択するように指示を与え
る、「Nに加算する値」である4を与える。再配列ロジ
ック250は、Zレジスタ、ΔZ MAINレジスタお
よびΔZ ORTHOレジスタをスキップしなければな
らないことを認識する。なぜなら、これらのレジスタ
は、所望のポリゴンをレンダリングするのに必要ないか
らである。これに応答して、再配列ロジック250は、
レジスタアドレス発生器225に対して、これら3つの
Z関連レジスタをスキップするように指示を与える、
「Nに加算する値」である16をレジスタアドレス発生
器225に与える。
【0072】いったん以上の開示を十分に理解すれば、
数多くの変更および改変が、当業者には自明になるであ
ろう。添付の請求の範囲は、このような変更および改変
のすべてを包含すると解釈されるように意図されている
ものである。
【0073】
【発明の効果】本発明によれば、レジスタをロードし、
プリミティブをレンダリングするあいだに不要なパラメ
ータを考慮から除外できるグラフィックスシステムを提
供することができる。
【図面の簡単な説明】
【図1】本発明の原理により、コンピュータシステムの
システムバスに接続されたグラフィックスプロセッサの
簡略ブロック図である。
【図2】図1のグラフィックスプロセッサの一部をより
詳細に示すブロック図である。
【図3】描画すべきプリミティブをレンダリングするの
に必要な値のみをレジスタファイルから選択するための
実施の形態の一例を示すブロック図である。
【符号の説明】
25 システムバス 50 ホストプロセッサ 60 ディスプレイ 75 システムメモリ 85 RDRAMアレイ 100 グラフィックスプロセッサ
───────────────────────────────────────────────────── フロントページの続き (71)出願人 595158337 3100 West Warren Aven ue,Fremont,Californ ia 94538,U.S.A. (72)発明者 パトリック エイ. ハーキン アメリカ合衆国 テキサス 78750, オ ースティン, セダークリフ ドライブ 11228 (54)【発明の名称】 ディスプレイリストを生成する方法、ディスプレイリストを受け取りグラフィックスプロセッサ に格納する方法、プリミティブをレンダリングする方法およびディスプレイリストを用いてプリ ミティブをレンダリングするシステム

Claims (19)

    【特許請求の範囲】
  1. 【請求項1】 プリミティブをレンダリングするのに必
    要な値のみを含むディスプレイリストを生成する方法で
    あって、 (a)該プリミティブを含む描画オブジェクトのタイプ
    を記述するオペコードと、インストラクション修飾子値
    とを含む、演算コードインストラクションを該ディスプ
    レイリストに入れるステップと、 (b)該オペコードにより規定される該プリミティブを
    レンダリングするのに必要な該値のみを該ディスプレイ
    リストに入れるステップと、を含む方法。
  2. 【請求項2】 前記プリミティブをレンダリングするの
    に必要な前記値が、前記オペコードおよび前記インスト
    ラクション修飾子値により確認される、請求項1に記載
    の方法。
  3. 【請求項3】 もし前記プリミティブをレンダリングす
    るのに深さ値が必要ないのなら、Z関連値が前記ディス
    プレイリストから省かれる、請求項2に記載の方法。
  4. 【請求項4】 もし前記プリミティブに色が必要ないの
    なら、色に対応する値が前記ディスプレイリストから省
    かれる、請求項2に記載の方法。
  5. 【請求項5】 (c)前記ディスプレイリストをシステ
    ムメモリ装置に格納するステップをさらに含む、請求項
    2に記載の方法。
  6. 【請求項6】 ホストプロセッサが、前記プリミティブ
    をレンダリングするのに必要な前記値のみを含む前記デ
    ィスプレイリストを、該プリミティブをレンダリングす
    るグラフィックスプロセッサに伝送する、請求項1に記
    載の方法。
  7. 【請求項7】 ディスプレイリストを受け取り、該ディ
    スプレイリストをグラフィックスプロセッサに格納する
    方法において、該ディスプレイリストが、プリミティブ
    をレンダリングするのに必要な値のみを含んでおり、不
    要な値を省いており、かつ該含まれている必要な値に関
    連づけられたアドレスをさらに含んでいる、方法であっ
    て、 (a)該ディスプレイリストを受け取るステップと、 (b)該プリミティブをレンダリングするのに必要な該
    値のみを含む該ディスプレイリストを、該グラフィック
    スプロセッサに含まれているレジスタファイルに格納す
    るステップであって、該値のそれぞれが、該値のそれぞ
    れに関連づけられたレジスタアドレスに対応するレジス
    タに格納される、ステップと、を含む方法。
  8. 【請求項8】 前記ディスプレイリストが、システムバ
    スを介してシステムメモリ装置から受け取られる、請求
    項7に記載の方法。
  9. 【請求項9】 前記システムバスから受け取られた前記
    ディスプレイリストが、ホストプロセッサから該システ
    ムバスに与えられたものである、請求項7に記載の方
    法。
  10. 【請求項10】 ホストプロセッサにより生成される演
    算コードインストラクションおよびディスプレイリスト
    により規定されるプリミティブをレンダリングする方法
    において、該演算コードインストラクションがオペコー
    ド値およびインストラクション修飾子値を含んでおり、
    該ディスプレイリストが該プリミティブをレンダリング
    するのに必要なパラメータのみを含んでいる、方法であ
    って、 (a)該演算コードインストラクションおよび該ディス
    プレイリストを受け取り、該演算コードインストラクシ
    ョンおよび該ディスプレイリストをレジスタファイルに
    格納するステップであって、該レジスタファイルが、複
    数のプリミティブに関連づけられた複数のパラメータを
    格納する複数のレジスタを含んでいる、ステップと、 (b)該オペコード値および該インストラクション修飾
    子値を該演算コードインストラクションから復号化する
    ことによって、レンダリングされるプリミティブのタイ
    プを決定するステップと、 (c)該レジスタファイル内の該複数のレジスタを再配
    列することによって、該プリミティブをレンダリングす
    るのに必要な該パラメータのみを該レジスタから転送す
    るステップと、を含む方法。
  11. 【請求項11】 (d)前記レジスタファイルから選択
    された前記値を、前記プリミティブをディスプレイ上に
    レンダリングするグラフィックスエンジンに与えるステ
    ップをさらに含む、請求項10に記載の方法。
  12. 【請求項12】 前記ディスプレイリストが、前記レジ
    スタファイルに格納される前にトランザクションキュー
    に格納される、請求項10に記載の方法。
  13. 【請求項13】 プリミティブをレンダリングするのに
    必要な値のみを含むディスプレイリストを用いて該プリ
    ミティブをレンダリングするシステムであって、 該プリミティブを規定する複数のパラメータ値から構成
    されるディスプレイリストを生成するホストプロセッサ
    であって、該複数のパラメータ値から構成される該ディ
    スプレイリストが、該プリミティブをレンダリングする
    のに必要な該値のみを含む、ホストプロセッサと、 該複数のパラメータから構成される該ディスプレイリス
    トを格納するシステムメモリと、 システムバスを介して該ホストプロセッサおよび該シス
    テムメモリに結合されたグラフィックスプロセッサであ
    って、該複数のパラメータ値から構成される該ディスプ
    レイリストを格納するレジスタファイルを含む、グラフ
    ィックスプロセッサと、 該グラフィックスプロセッサに結合され、該プリミティ
    ブを表示する、ディスプレイと、 を備えたシステムにおいて、 該グラフィックスプロセッサが、該プリミティブをレン
    ダリングするのに必要な該値のみを含む該ディスプレイ
    リストを用いて、プリミティブレンダリング操作を処理
    する、システム。
  14. 【請求項14】 前記ホストプロセッサが、前記ディス
    プレイリストを生成し、該ディスプレイリストを前記シ
    ステムメモリに格納する、請求項13に記載のシステ
    ム。
  15. 【請求項15】 前記ホストプロセッサが、不要な値を
    すべて省いて、前記プリミティブをレンダリングするの
    に必要な前記値のみを前記ディスプレイリストに入れ、
    該ディスプレイリストに、該必要な値のそれぞれに関連
    づけられたレジスタアドレスを格納する、請求項14に
    記載のシステム。
  16. 【請求項16】 前記グラフィックスプロセッサが、前
    記ディスプレイリストを前記システムメモリから取り出
    し、該ディスプレイリストを該グラフィックスプロセッ
    サ内のレジスタファイルに格納する、システムであっ
    て、該ディスプレイリストの値がそれぞれ、該レジスタ
    ファイル内の、前記必要な値のそれぞれに関連づけられ
    た前記レジスタアドレスに対応するレジスタに格納され
    る、請求項15に記載のシステム。
  17. 【請求項17】 前記グラフィックスプロセッサが、前
    記レジスタファイルから演算コードインストラクション
    を読み出して解釈することによって、該レジスタファイ
    ル内の、前記プリミティブをレンダリングするのに不要
    な値をスキップする、実行ユニットを備えている、請求
    項16に記載のシステム。
  18. 【請求項18】 前記プリミティブをレンダリングする
    のに必要な前記値のみが、前記レジスタファイルから、
    前記グラフィックスプロセッサに含まれるポリゴンおよ
    びテクスチュアエンジンへと書き込まれる、請求項17
    に記載のシステム。
  19. 【請求項19】 前記実行ユニットが再配列ロジックお
    よびレジスタアドレス発生器を備えており、該再配列ロ
    ジックが、前記演算コードインストラクションを受け取
    り、前記レジスタファイル内の、前記プリミティブをレ
    ンダリングするのに必要ない前記レジスタをスキップす
    るように該レジスタアドレス発生器に指示を与える、請
    求項17に記載のシステム。
JP17233197A 1996-06-28 1997-06-27 ディスプレイリストを生成する方法、ディスプレイリストを受け取りグラフィックスプロセッサに格納する方法、プリミティブをレンダリングする方法およびディスプレイリストを用いてプリミティブをレンダリングするシステム Expired - Lifetime JP4091144B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/672,620 1996-06-28
US08/672,620 US5793386A (en) 1996-06-28 1996-06-28 Register set reordering for a graphics processor based upon the type of primitive to be rendered

Publications (2)

Publication Number Publication Date
JPH1097635A true JPH1097635A (ja) 1998-04-14
JP4091144B2 JP4091144B2 (ja) 2008-05-28

Family

ID=24699324

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17233197A Expired - Lifetime JP4091144B2 (ja) 1996-06-28 1997-06-27 ディスプレイリストを生成する方法、ディスプレイリストを受け取りグラフィックスプロセッサに格納する方法、プリミティブをレンダリングする方法およびディスプレイリストを用いてプリミティブをレンダリングするシステム

Country Status (4)

Country Link
US (1) US5793386A (ja)
EP (1) EP0821302B1 (ja)
JP (1) JP4091144B2 (ja)
TW (1) TW328575B (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5977983A (en) * 1997-02-20 1999-11-02 S3 Incorporated Method and apparatus for adjusting graphics processing procedures based on a selectable speed/quality gauge
US6072508A (en) * 1997-03-14 2000-06-06 S3 Incorporated Method and apparatus for shortening display list instructions
US6028613A (en) * 1997-03-20 2000-02-22 S3 Incorporated Method and apparatus for programming a graphics subsystem register set
US5966142A (en) * 1997-09-19 1999-10-12 Cirrus Logic, Inc. Optimized FIFO memory
US6061073A (en) * 1997-11-12 2000-05-09 Cirrus Logic, Inc. Tracking of graphics polygon data from different clock domains in a graphics processor
US5999200A (en) * 1998-01-23 1999-12-07 Cirrus Logic, Inc. Method and apparatus for automatically controlling the destination of a graphics command in a register file
US6631423B1 (en) * 1998-03-31 2003-10-07 Hewlett-Packard Development Company, L.P. System and method for assessing performance optimizations in a graphics system
US6191793B1 (en) 1998-04-01 2001-02-20 Real 3D, Inc. Method and apparatus for texture level of detail dithering
AU7482998A (en) * 1998-05-12 1999-11-29 S3 Incorporated Method and apparatus for shortening display list instructions
US6469704B1 (en) * 1999-01-19 2002-10-22 Hewlett-Packard Company System and method for combined execution of graphics primitive data sets
US6362825B1 (en) * 1999-01-19 2002-03-26 Hewlett-Packard Company Real-time combination of adjacent identical primitive data sets in a graphics call sequence
US6421059B1 (en) * 1999-03-22 2002-07-16 Nvidia Corporation Apparatus and method for rendering characters into a memory
US6424320B1 (en) * 1999-06-15 2002-07-23 Ati International Srl Method and apparatus for rendering video
JP3619143B2 (ja) * 1999-11-18 2005-02-09 キヤノン株式会社 画像処理装置およびその方法
US7159041B2 (en) * 2000-03-07 2007-01-02 Microsoft Corporation Method and system for defining and controlling algorithmic elements in a graphics display system
US6747654B1 (en) * 2000-04-20 2004-06-08 Ati International Srl Multiple device frame synchronization method and apparatus
US7116333B1 (en) * 2000-05-12 2006-10-03 Microsoft Corporation Data retrieval method and system
US6894693B1 (en) * 2001-02-09 2005-05-17 Vicarious Visions Inc. Management of limited resources in a graphics system
US6828975B2 (en) * 2001-03-01 2004-12-07 Microsoft Corporation Method and system for managing graphics objects in a graphics display system
US7027062B2 (en) * 2004-02-27 2006-04-11 Nvidia Corporation Register based queuing for texture requests
US7389006B2 (en) * 2004-05-14 2008-06-17 Nvidia Corporation Auto software configurable register address space for low power programmable processor
US7091982B2 (en) * 2004-05-14 2006-08-15 Nvidia Corporation Low power programmable processor
US7436410B2 (en) * 2005-04-01 2008-10-14 Seiko Epson Corporation System and method for programming a controller
US9195501B2 (en) 2011-07-12 2015-11-24 Qualcomm Incorporated Instruction culling in graphics processing unit

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL72685A (en) * 1983-08-30 1988-08-31 Gen Electric Advanced video object generator
US4583185A (en) * 1983-10-28 1986-04-15 General Electric Company Incremental terrain image generation
US4586038A (en) * 1983-12-12 1986-04-29 General Electric Company True-perspective texture/shading processor
US4855937A (en) * 1984-08-08 1989-08-08 General Electric Company Data block processing for fast image generation
US4715005A (en) * 1984-08-08 1987-12-22 General Electric Company Terrain/seascape image generator with math model data base
US4821212A (en) * 1984-08-08 1989-04-11 General Electric Company Three dimensional texture generator for computed terrain images
US4692880A (en) * 1985-11-15 1987-09-08 General Electric Company Memory efficient cell texturing for advanced video object generator
IL79822A (en) * 1985-12-19 1990-03-19 Gen Electric Method of comprehensive distortion correction for a computer image generation system
US4862388A (en) * 1986-12-15 1989-08-29 General Electric Company Dynamic comprehensive distortion correction in a real time imaging system
US4811245A (en) * 1985-12-19 1989-03-07 General Electric Company Method of edge smoothing for a computer image generation system
US4905164A (en) * 1986-12-19 1990-02-27 General Electric Company Method for modulating color for effecting color cell texture
US4868771A (en) * 1987-03-30 1989-09-19 General Electric Company Computer image generation with topographical response
US5191642A (en) * 1987-04-09 1993-03-02 General Electric Company Method for efficiently allocating computer resource for real time image generation
US4825391A (en) * 1987-07-20 1989-04-25 General Electric Company Depth buffer priority processing for real time computer image generating systems
US4958305A (en) * 1987-11-04 1990-09-18 General Electric Company Polygon edge clipping
US4974176A (en) * 1987-12-18 1990-11-27 General Electric Company Microtexture for close-in detail
US4965745A (en) * 1987-12-18 1990-10-23 General Electric Company YIQ based color cell texture
US5367615A (en) * 1989-07-10 1994-11-22 General Electric Company Spatial augmentation of vertices and continuous level of detail transition for smoothly varying terrain polygon density
US5126726A (en) * 1989-12-27 1992-06-30 General Electric Company Picture element encoding
JP2770598B2 (ja) 1990-06-13 1998-07-02 株式会社日立製作所 図形表示方法およびその装置
US5329615A (en) 1990-09-14 1994-07-12 Hughes Aircraft Company Concurrent general purpose and DMA processing in a graphics rendering 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
US5420970A (en) * 1991-03-13 1995-05-30 Martin Marietta Corporation Method for determining computer image generation display pixels occupied by a circular feature
US5293467A (en) * 1991-04-03 1994-03-08 Buchner Gregory C Method for resolving priority between a calligraphically-displayed point feature and both raster-displayed faces and other calligraphically-displayed point features in a CIG system
US5187754A (en) * 1991-04-30 1993-02-16 General Electric Company Forming, with the aid of an overview image, a composite image from a mosaic of images
TW225595B (ja) * 1991-09-03 1994-06-21 Gen Electric
US5299309A (en) * 1992-01-02 1994-03-29 Industrial Technology Research Institute Fast graphics control system capable of simultaneously storing and executing graphics commands
US5649173A (en) * 1995-03-06 1997-07-15 Seiko Epson Corporation Hardware architecture for image generation and manipulation
US5798762A (en) * 1995-05-10 1998-08-25 Cagent Technologies, Inc. Controlling a real-time rendering engine using a list-based control mechanism

Also Published As

Publication number Publication date
JP4091144B2 (ja) 2008-05-28
EP0821302B1 (en) 2012-05-02
TW328575B (en) 1998-03-21
EP0821302A1 (en) 1998-01-28
US5793386A (en) 1998-08-11

Similar Documents

Publication Publication Date Title
JP4091144B2 (ja) ディスプレイリストを生成する方法、ディスプレイリストを受け取りグラフィックスプロセッサに格納する方法、プリミティブをレンダリングする方法およびディスプレイリストを用いてプリミティブをレンダリングするシステム
JP2725915B2 (ja) 三角形描画装置及び方法
US5909219A (en) Embedding a transparency enable bit as part of a resizing bit block transfer operation
US5594854A (en) Graphics subsystem with coarse subpixel correction
US5815166A (en) Graphics subsystem with slaveable rasterizer
US6111584A (en) Rendering system with mini-patch retrieval from local texture storage
US5801717A (en) Method and system in display device interface for managing surface memory
US5835096A (en) Rendering system using 3D texture-processing hardware for accelerated 2D rendering
US6002409A (en) Arbitration for shared graphics processing resources
US5727192A (en) Serial rendering system with auto-synchronization on frame blanking
EP0548586A2 (en) An extendable multiple image-buffer for graphics systems
JPH0683969A (ja) グラフィックス・プロセッサ及びグラフィックス・データ処理方法
US6864892B2 (en) Graphics data synchronization with multiple data paths in a graphics accelerator
US6323875B1 (en) Method for rendering display blocks on display device
US6480200B1 (en) Method and apparatus for deferred texture validation on a multi-tasking computer
US5790125A (en) System and method for use in a computerized imaging system to efficiently transfer graphics information to a graphics subsystem employing masked span
US6833831B2 (en) Synchronizing data streams in a graphics processor
US6072508A (en) Method and apparatus for shortening display list instructions
US5966142A (en) Optimized FIFO memory
JPH0714029A (ja) 線描画装置及び方法
US5999200A (en) Method and apparatus for automatically controlling the destination of a graphics command in a register file
CA2055784C (en) Hierarchical memory controller
JPH0785219B2 (ja) データ処理システム及びデータ制御方法
US6885375B2 (en) Stalling pipelines in large designs
US6028613A (en) Method and apparatus for programming a graphics subsystem register set

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040615

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070125

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070328

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070425

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070522

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070625

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20070706

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070904

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071102

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080228

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110307

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110307

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120307

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130307

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130307

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140307

Year of fee payment: 6

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