JP2011509445A - 高速周辺相互接続バスにおけるビデオレンダリング - Google Patents

高速周辺相互接続バスにおけるビデオレンダリング Download PDF

Info

Publication number
JP2011509445A
JP2011509445A JP2010536221A JP2010536221A JP2011509445A JP 2011509445 A JP2011509445 A JP 2011509445A JP 2010536221 A JP2010536221 A JP 2010536221A JP 2010536221 A JP2010536221 A JP 2010536221A JP 2011509445 A JP2011509445 A JP 2011509445A
Authority
JP
Japan
Prior art keywords
graphics
frame
memory
frame buffer
processor
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
JP2010536221A
Other languages
English (en)
Other versions
JP2011509445A5 (ja
JP5529748B2 (ja
Inventor
チェン ジェフリー
ラヴィオレット テリー
フアン ジェームス
ザブルジッキ ロバート
ロン ジェイソン
ウェン シアンチュエン
マリンコヴィック ササ
ムンマー フィル
チェン ミンウェイ
トレシッダー マイケル
サルチェフ ルーメン
シエ ジョージ
リチマノフ ユーリ
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.)
ATI International SRL
ATI Technologies ULC
Original Assignee
ATI International SRL
ATI Technologies ULC
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 ATI International SRL, ATI Technologies ULC filed Critical ATI International SRL
Publication of JP2011509445A publication Critical patent/JP2011509445A/ja
Publication of JP2011509445A5 publication Critical patent/JP2011509445A5/ja
Application granted granted Critical
Publication of JP5529748B2 publication Critical patent/JP5529748B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • 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/39Control of the bit-mapped memory
    • G09G5/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
    • 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/39Control of the bit-mapped memory
    • G09G5/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
    • G09G5/397Arrangements specially adapted for transferring the contents of two or more bit-mapped memories to the screen simultaneously, e.g. for mixing or overlay

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Digital Computer Display Output (AREA)
  • Information Transfer Systems (AREA)

Abstract

1つのグラフィックプロセッサによって生成されるグラフィックが、高速相互接続バスを介してフレームバッファに転送される。フレームバッファからのレンダリングされたフレームが、フレームバッファと通信しているディスプレイインタフェース経由でディスプレイに提示される。別の既存の(例えば一体化)グラフィックアダプタ/サブシステムのディスプレイインタフェースが、レンダリングされたフレームを、相互接続されているディスプレイで提示するために使用されうる。

Description

[関連出願への相互参照]
本願は、2005年5月24日に出願の米国特許出願第11/136,483号、および2006年5月30日に出願の米国特許出願第11/421,005号の米国一部継続出願であり、そのいずれも参照によりここに援用する。
本発明は、一般に、コンピューティングデバイスに関し、より詳細には、高速周辺バスによって相互接続されているグラフィックプロセッサを有するコンピューティングデバイスに関する。
近年、コンピュータハードウェアが次第に一体化されている。コンピュータの周辺機器は、中央処理装置と協動する一体化チップセットの一部として形成されることが多い。多くの場合、コンピュータの音声、グラフィックアダプタおよびインタフェースは、一体化チップセットの一部を構成している。このような一体化により、コンピューティングデバイスのコスト低減と小型化が実現される。
同時に、グラフィックプロセッサは、改善された性能と特徴を提供するために常に進歩している。最先端のグラフィックプロセッサは、中央処理装置と同程度に複雑化している。このため、統合の傾向にもかかわらず、高性能のグラフィックプロセッサは、未だに周辺機器カードに形成されることが一般的である。比較すると、集積されたグラフィックプロセッサは比較的単純であり、高性能の周辺機器カードに形成されるグラフィックプロセッサの特徴または性能を提供しない。一体型グラフィック部品は、アドオンの周辺機器カードが存在している場合には、通常はあっても冗長であり、このため無効にされる。
同様に、集積化、外部を問わず、グラフィックアダプタをアップグレードすると、多くの場合、非力なアダプタは役に立たなくなり、廃棄されるか無効にされる。
したがって、部品の冗長性を低減する必要が依然として存在する。
本発明の一態様によれば、1つのグラフィックプロセッサによって生成されるグラフィックが、高速拡張/相互接続バスを介してフレームバッファに転送される。フレームバッファからのレンダリングされたフレームが、フレームバッファと通信しているディスプレイインタフェース経由でディスプレイで提示される。
別の既存の(例えば一体化)グラフィックアダプタ/サブシステムのディスプレイインタフェースは、相互接続されているディスプレイにレンダリングされたフレームを提示するために使用することができ、利便性が高い。
このようにして、グラフィックプロセッサは、ディスプレイインタフェースを有さず、場合によってはフレームバッファさえも備えている必要がないグラフィックアダプタの一部を構成しうる。同様に、グラフィックプロセッサを、最新のグラフィックプロセッサで置き換えることができる。
グラフィックプロセッサは、周辺拡張カードに包含されるグラフィックアダプタの一部を構成しうる。
一実施形態では、コンピューティングデバイスは、第1のグラフィックアダプタおよび第2のグラフィックアダプタを有しうる。ディスプレイに表示させる画像が、前記第2のグラフィックアダプタによってアクセス可能なメモリから転送される。前記第2のグラフィックアダプタの前記ディスプレイインタフェースが、前記第2のグラフィックアダプタの前記メモリ内の画像を、前記複数のディスプレイの少なくとも1つで提示するために使用される。このようにして、前記第2のアダプタのポートと共に、前記ディスプレイインタフェースを形成しているデバイスの電子回路が使用されうる。レンダリングされたグラフィックは、フレーム単位で転送されるか、グラフィックプリミティブ(graphics primitive)単位で転送されうる。後者の場合、グラフィックが、前記第2のグラフィックアダプタによってアクセス可能なメモリ内に、効率的に直接レンダリングされる。このメモリは、システムメモリでもアダプタメモリでもよい。
別の実施形態によれば、前記第1のグラフィックプロセッサが、前記高速相互接続バスを介して転送されるフレームをレンダリングしている間、前記第2のアダプタのグラフィックプロセッサが無効にされるか、低電力モードに設定される。
本発明の別の態様によれば、第1のグラフィックアダプタの一部を構成しているグラフィックプロセッサが、第1の画像を第1のディスプレイに、第2の画像を第2のディスプレイに、それぞれ描画するように動作される。前記第1のディスプレイは、前記第1のグラフィックアダプタの第1のディスプレイインタフェースと相互接続されうる。前記第2のディスプレイは、第2のグラフィックアダプタの第2のディスプレイインタフェースと相互接続されうる。前記方法は、前記第1のグラフィックアダプタのメモリ内に前記第1の画像と前記第2の画像とをレンダリングするステップと、前記第2の画像を前記第1のアダプタの前記メモリから前記第2のグラフィックアダプタのフレームバッファに転送するステップと、前記第2のグラフィックアダプタの前記第2のディスプレイインタフェースを使用して、前記第2のグラフィックアダプタの前記フレームバッファから前記第2のディスプレイに前記第2の画像を表示するステップと、を有する。
本発明の別の態様によれば、コンピューティングデバイスは、プロセッサと、前記プロセッサと通信しているコンピュータ可読メモリと、第1のグラフィックアダプタと、前記第1のグラフィックアダプタと通信している第1のアダプタメモリと、第1のディスプレイで画像を提示するための第1のディスプレイインタフェースと、第2のグラフィックアダプタと、第2のディスプレイで画像を提示するための第2のディスプレイインタフェースと、前記第1のグラフィックアダプタと前記第2のグラフィックアダプタとを相互接続している高速バスと、を有する。プログラムコードが、前記コンピュータ可読メモリに記憶され、前記プロセッサによって実行可能である。前記プログラムコードは、実行されると、前記第1のグラフィックアダプタに、前記第1のアダプタメモリ内に第1の画像および第2の画像をレンダリングさせ、前記第2の画像を前記第1のアダプタメモリから前記第2のグラフィックアダプタのフレームバッファに転送させ、前記第2のグラフィックアダプタの前記フレームバッファから前記第2のディスプレイに、前記第2の画像を表示するように、前記第2のグラフィックアダプタの前記第2のディスプレイインタフェースをプログラムさせる。
更に別の態様によれば、前記第1のアダプタは、前記第2のアダプタによってアクセス可能な前記システムメモリに第1の画像を直接レンダリングする。前記第2のアダプタは、前記第2の画像を同じメモリにレンダリングする。前記第2のアダプタは、前記システムメモリから両方の画像を表示する。
本発明の別の態様によれば、コンピューティングデバイスを動作させる方法が提供される。前記コンピューティングデバイスは、プロセッサ、前記プロセッサと通信しているメモリ、前記プロセッサをグラフィックプロセッサと相互接続している周辺相互接続バス、およびディスプレイインタフェースを有する。前記方法は、前記メモリ内にフレームバッファを確立するステップと、ビデオフレームをレンダリングするように前記グラフィックプロセッサに指示するステップと、前記ビデオフレームを前記周辺相互接続バス経由で前記フレームバッファに転送するステップと、前記フレームバッファからの前記フレームを、前記ディスプレイインタフェース経由でディスプレイで提示するステップと、を有する。
本発明の更に別の態様によれば、コンピューティングデバイスが提供される。前記コンピューティングデバイスは、中央処理装置と、前記中央処理装置と通信しているメモリと、前記中央処理装置をグラフィックプロセッサと相互接続している周辺相互接続バスと、ディスプレイインタフェースと、前記メモリに記憶されたコンピュータ実行可能命令と、を有し、前記命令は、コンピューティングデバイスを、前記グラフィックプロセッサに、ビデオフレームをレンダリングさせ、前記ビデオフレームを前記周辺相互接続バス経由で前記フレームバッファに転送し、前記フレームバッファからのレンダリングされた前記フレームを、前記ディスプレイインタフェース経由でディスプレイで提示するように適合させる。
本発明の別の態様によれば、コンピューティングデバイスが提供される。前記コンピューティングデバイスは、中央処理装置と、前記プロセッサと通信しているメモリと、第1のフレームバッファと、前記プロセッサをグラフィックサブシステムと相互接続している周辺相互接続バスであって、前記グラフィックサブシステムは、前記グラフィックサブシステムにローカルなフレームバッファを定義するメモリを有さない周辺相互接続バスと、前記メモリと通信しているディスプレイインタフェースと、を有する。前記メモリは、前記グラフィックプロセッサを、ビデオフレームをレンダリングし、前記ビデオフレームを前記周辺相互接続バス経由で前記第1のフレームバッファに転送するように適合させるコンピュータ実行可能命令を記憶している。
本発明の別の態様によれば、グラフィックサブシステムが提供され、前記グラフィックサブシステムは、グラフィックプロセッサと、前記グラフィックサブシステムをホストプロセッサと相互接続するための周辺相互接続バスインタフェースと、を有し、前記グラフィックサブシステムは、前記グラフィックサブシステムにローカルなフレームバッファを定義するメモリを有さず、前記グラフィックサブシステムは、ビデオフレームをレンダリングし、前記ビデオフレームを前記周辺相互接続バス経由でフレームバッファに転送するように動作可能である。
本発明の別の態様によれば、第1の画像を第1のディスプレイに、第2の画像を第2のディスプレイに、それぞれ描画するように、第1のグラフィックアダプタを動作させる方法が提供される。前記第2のディスプレイは、第2のグラフィックアダプタのディスプレイインタフェースと相互接続されている。前記方法は、前記第1のグラフィックプロセッサと通信しているメモリ内に前記第1の画像と前記第2の画像とをレンダリングするステップと、前記第2の画像を前記第2のグラフィックアダプタのフレームバッファに転送するステップと、前記第2のグラフィックアダプタの前記フレームバッファから前記第2のディスプレイに、前記第2の画像を表示するように、前記第2のグラフィックアダプタの前記第2のディスプレイインタフェースをプログラムするステップと、を有する。
本発明の実施形態の例示的なコンピューティングデバイスの簡略ブロック図。 図1のコンピューティングデバイスのソフトウェアの簡略論理ブロック図。 図1のコンピューティングデバイスの一部の簡略ブロック図。 図1のコンピューティングデバイスの一部の別の模式ブロック図。 本発明の実施形態の例示的な、図1のコンピューティングデバイスで実行されるステップを示すフローチャート。 図5Aのステップの、図1のデバイスの部品への効果を示す図。 本発明の実施形態の例示的な、図1のコンピューティングデバイスで実行されるステップを示すフローチャート。 図6Aのステップの、図1のデバイスの部品への効果を示す図。 図6Aのステップの、図1のデバイスの部品への効果を示す図。 本発明の別の実施形態の例示的な、図1のコンピューティングデバイスで実行されるステップを示すフローチャート。 本発明の別の実施形態の例示的な、図1のコンピューティングデバイスで実行されるステップを示すフローチャート。 本発明の別の実施形態の例示的なコンピューティングデバイスの一部の別の部分簡略ブロック図。 本発明の実施形態の例示的な、図9のデバイスのソフトウェアによって実行されるステップを示すフローチャート。 図9のデバイスの動作を示す簡略ブロック図。 図9のデバイスの動作を示す簡略ブロック図。 本発明の別の実施形態の例示的なコンピューティングデバイスの一部の別の簡略模式ブロック図。
本発明のほかの態様および特徴は、添付の図面を参照して、以下の本発明の特定の実施形態の説明を検討すれば、当業者にとって明らかとなるであろう。
図面において、本発明の実施形態を、例示のみを目的として図示する。
図1は、本発明の実施形態の例示的なコンピューティングデバイスの簡略模式ブロック図である。コンピューティングデバイス10は、従来のインテルx86アーキテクチャをベースとしている。しかし、明らかなように、本発明は、PowerPC、AMDx86または他のアーキテクチャを有するコンピューティングデバイスにおいても容易に実施することができる。
コンピューティングデバイス10は、プロセッサ12を有し、プロセッサ12は一体型インタフェース回路14,20を介してシステムメモリ16および周辺機器と相互接続されている。
例示的なコンピューティングデバイス10のプロセッサ12は、従来の中央処理ユニットであり、例えばインテル(登録商標)x86ファミリのマイクロプロセッサと互換のマイクロプロセッサなどである。
一体型インタフェース回路14と20は、それぞれ、ノースブリッジ、サウスブリッジと呼ばれることが多く、プロセッサ12に対して、周辺機器およびメモリにインタフェースを行う。図に示すように、ノースブリッジ14は、プロセッサ12、メモリ16、高速相互接続バス22経由で複数の拡張スロット18、およびサウスブリッジ20を相互接続している。サウスブリッジ20は、低速の周辺機器およびインターコネクトを相互接続している。これには、例えば、統合IDE/SATAポート24経由のディスクドライブ、統合ユニバーサルシリアルバス(USB)ポート26経由のユニバーサルシリアルバスデバイスや、例えば、公知のPCIまたはISA規格に準拠した、低速相互接続バス28経由の他の周辺機器がある。サウスブリッジ20は、一体化音声部品30、ネットワークインタフェース(図示せず)などを含んでもよい。
例示的な相互接続バス22は、ギガバイト/秒の範囲の帯域幅を有するPCIエクスプレス(PCIe)バスであり、この帯域幅でのデータ転送の読み出しおよび書き込みに対応している。例えば、現在のPCIeバスの速度により、最大266MHzまたは533MHzの速度での双方向データ転送が可能となり、最大2.1ギガバイト/秒または4.2ギガバイト/秒のデータ速度が可能となる。
図の実施形態では、ノースブリッジ14は、コンピューティングデバイス10を、モニタ、LCDパネル、テレビなどの形態の第1のディスプレイ32と相互接続するために適した一体型グラフィックアダプタ34を更に備える。
下記で詳細に説明するように、相互接続バス22経由で相互接続される追加のグラフィックアダプタ52が、例えば、相互接続バス22上の拡張スロット18内の周辺拡張カード50の一部を構成しており、更にコンピューティングデバイス10の一部も構成している。
図に示した実施形態では、コンピューティングデバイス10は、メモリ16に記憶されているソフトウェアを実行する。図2に示すように、例示的なソフトウェア100には、オペレーションシステム102、グラフィックライブラリ104およびアプリケーションソフトウェア106が含まれ、メモリ16に記憶されている。代表的なオペレーティングシステムとしては、Windows Vista、Windows XP、Windows NT 4.0、Windows ME、Windows 98、Windows 2000、Windows 95またはLinuxオペレーティングシステムが挙げられる。代表的なグラフィックライブラリとしては、Microsoft DirectXライブラリやOpenGLライブラリが挙げられる。コンピュータメモリ16(図1)と、相互接続されたディスクドライブ(図示せず)とは、ランダムアクセスメモリ、リードオンリーメモリおよびディスクストレージメモリの適した組み合わせを有し、これは、本発明の実施形態の例示的な方法によりデバイス10を適合させる、オペレーティングシステムとグラフィックアダプタドライバプログラムを記憶および実行するためにデバイス10によって使用される。例示的なソフトウェア100(図2)は、例えば、リードオンリーメモリに記憶されるか、またはIDE/SATAポート24と通信しているディスクドライブ等の外部周辺機器からロードされうる。コンピュータ可読媒体27は、光学記憶媒体、磁気ディスク、テープ、ROMカートリッジなどであってもよい。
グラフィックライブラリ104またはオペレーティングシステム102には、グラフィックアダプタ34,52との下位レベルの通信に使用されるグラフィックドライバ108が更に含まれる。ソフトウェアは階層構造を有しており、上位レベルのレイヤが、特定の機能を提供するために下位レイヤを使用する。アプリケーションは、二次元または三次元のグラフィックをレンダリングするために、オペレーティングシステム102とグラフィックライブラリ104を使用しうる。この文脈において、「レンダリング」とは、描画またはその他の表現のためにグラフィック画像を生成することを意味し、例えば、ポリゴンのレンダリング、レイトレイシング、画像のデコーディング、ライン描画などが含まれる。明らかなように、本発明の実施形態の例示的なソフトウェアは、グラフィックライブラリ104および/またはドライバ108の一部を構成しうる。ここに示す実施形態では、例示的なソフトウェアは、OpenGLライブラリおよび関連するドライバの一部を構成しうる。OpenGLについては、「The Official Guide to Learning OpenGL、第1.1版」に詳しく記載されており、その内容をここに参照により援用する。しかし、当業者は、本発明の実施形態の例示的な方法は、Microsoft Direct3Dライブラリ、カスタムライブラリまたはルーチンを使用しないアプリケーション(ゲームなど)、あるいは他の任意の三次元アプリケーションまたはライブラリの一部を構成しうることを認めるであろう。
一体型グラフィックアダプタ34を示す例示的なコンピューティングデバイス10(および特にノースブリッジ14)の一部の更に詳しい簡略ブロック図が、図3に示される。図に示すように、ノースブリッジ14は、高速バスインタフェース36およびメモリコントローラ38を有し、ブリッジ14を、相互接続バス22とシステムメモリ16とを相互接続している。ノースブリッジ14は、一体型グラフィックアダプタ34を更に有し、一体型グラフィックアダプタ34は、グラフィックプロセッサ40、コマンドプロセッサ42およびディスプレイインタフェース44を有する。
グラフィックプロセッサ40は、システムメモリ16内に割り当てられるフレームバッファ46に、三次元画像をレンダリング可能な三次元(3D)グラフィックプロセッサの形態をとってもよく、グラフィックの高速レンダリングのために複数のパイプラインとパイプラインステージを有しうる。
通常、シングルモニタ動作では、コマンドが、コマンドプロセッサ42によって従来の方法でグラフィックプロセッサ40に渡される。例えば、コマンドプロセッサ42は、メモリ16内にコマンドキュー47を定義するために使用するレジスタを備えうる。アプリケーションソフトウェア106またはオペレーティングシステム102は、ライブラリ104を使用してグラフィック画像をレンダリングする。ドライバソフトウェア108は、グラフィックプロセッサ固有のコマンドを生成して、コマンドキュー47にこのコマンドをキューイングする一方、キューの終点を変更するためにコマンドプロセッサ42のレジスタも更新する。グラフィックプロセッサ42は、とりわけ、フレームバッファ46にレンダリング画像をレンダリングするために、キューイングされたコマンドを、非同期でパイプライン方式で処理する。グラフィックプロセッサ40がキュー内の次のコマンドを処理可能な場合、コマンドプロセッサ42に信号を供給し、これを受けて、コマンドプロセッサ42は、キュー47にある次のコマンドを取り出し、コマンドプロセッサ42のレジスタのキューポインタを進める。
ディスプレイインタフェース44は、メモリコントローラ38経由でフレームバッファ46をサンプリングし、テレビ、モニタなどの形態のディスプレイ32(図1)等のビデオデバイスに1つ以上のビデオ画像を表示するために、VGAポート、コンポジットビデオポート、DVIポート、HDMI、DisplayPortなどの形態で、1つ以上のビデオ出力ポート48に画像を提示する。このようにして、フレームバッファ46内の、グラフィックプロセッサ40によってレンダリングされる画像が提示されうる。
理解されるように、ディスプレイインタフェース44は、バッファ内のデータをディスプレイ装置に表示するために変換するのに適したインタフェースであれば、どのようなものでもよい。例えば、ディスプレイインタフェース44は、RAMDACの形態をとりうる。ディスプレイインタフェース44は、通常、例えば複数のレジスタによってプログラム可能であり、これにより、ドライバソフトウェア108または同様のソフトウェアまたはグラフィックプロセッサ40が、そのディスプレイ出力を提示するために、メモリ16内に先頭アドレスを設定可能となる。同様に、インタフェース44のピクセル深度(すなわちピクセル当たりのビット数)とスクリーン解像度も、通常はプログラム可能である。
理解されるように、メモリ16内に1つのフレームバッファ46を割り当てる代わりに、2つのフレームバッファが割り当てられてもよい。この2つのバッファは、レンダリングされるグラフィックをよりスムーズに表現するために交互に使用されうる。ディスプレイインタフェース44は、いつの時点でも、2つのバッファの一方の内容しか表示しない。表示中のバッファは、通常「フロントバッファ」と呼ばれる。グラフィックプロセッサ40は、ディスプレイインタフェース44によって現在表示されていないフレームバッファである、いわゆる「バックバッファ」に表示するために画像をレンダリングする。フレームのレンダリングが完了すると、フロントバッファとバックバッファが反転されて、ディスプレイインタフェース44が、バックバッファを提示するようにプログラムされる。このようにして、グラフィックプロセッサ40によってレンダリングされる逐次的なフレーム間の遷移がスムーズに表示されうる。
特に、アダプタ34によって使用されるレジスタおよびフレームバッファメモリ46は全て、グローバルなメモリ空間内のアドレスにマップされている。
しかし、本発明の例示的なコンピュータデバイス10は、図1に示すように、ノースブリッジ14と通信している高速相互接続バス22上の拡張スロット経由でデバイス10に挿入されうる周辺拡張カード50に形成されているグラフィックアダプタ52を更に有する。ノースブリッジ14に相互接続されているグラフィックアダプタ52が、図4に模式的に概略的に示されている。図に示すように、グラフィックアダプタ52は、グラフィックプロセッサ54、ビデオメモリ56、コマンドプロセッサ58、メモリコントローラ60、およびディスプレイインタフェース62を有する。1つ以上のポート64,66により、ディスプレイ68(図1)などの1台以上のディスプレイ装置とアダプタ52を相互接続することができる。
コマンドプロセッサ58はコマンドプロセッサ42と、ディスプレイインタフェース62はディスプレイインタフェース44と、それぞれ全く同様に機能する。グラフィックプロセッサ54は、通常動作モードにおいて、グラフィックプロセッサ40と全く同様に動作する。グラフィックアダプタ52は、自身のメモリ56と、メモリ56およびシステムメモリ16へのアクセスを提供するメモリコントローラ60とを有する。ローカルメモリ56は、なかでも、グラフィックプロセッサ54によって使用され、フレームバッファとして機能しうる、グラフィックアダプタ52用の1つ以上のバッファ70を保持するために使用される。グラフィックプロセッサ54用のコマンドキュー57も、システムメモリ16内に作成される。
この場合も、ローカルメモリ56は、メモリコントローラ60を介して、グローバルシステムメモリ空間内のアドレスでアドレッシング可能である。同様に、コマンドプロセッサ54およびディスプレイインタフェース62によって使用されるレジスタは、グローバルアドレス空間内のアドレスでアドレッシング可能である。上で説明したように、アダプタ34によって使用されるレジスタおよびフレームバッファ46はグローバルメモリ空間にマップされる。このため、コマンドプロセッサ58とグラフィックプロセッサ54は、ディスプレイインタフェース44とコマンドプロセッサ42によって使用されるフレームバッファ46およびレジスタに書き込むことができる。
また、グラフィックプロセッサ54は、メモリコントローラ60と連動して、メモリアドレスにおいて、システムメモリ16およびアダプタメモリ56との間でデータを転送するために、ブロック転送操作を実行するように動作可能である。
経済的な一体化部品を提供するために、一体型グラフィックアダプタ34は機能が限定されている。例えば、一体型グラフィックコントローラの解像度、三次元グラフィック機能などは、比較的制限されている。このため、一体型グラフィックアダプタ34は、通常、グラフィックアダプタ52よりもグラフィック処理能力が格段に低い。例えば、アダプタ34は、アダプタ52よりも動作が低速であったり、機能が限られていたりなどである。
ここで、一体型アダプタ34またはアダプタ52は、単独で、ポート48などの複数のポートを介して、複数台の物理的ディスプレイ装置の相互接続に対応しても、対応していなくてもよい。しかし、各アダプタは、少なくとも1台の物理的ディスプレイと相互接続されうる。このため、本発明の実施形態の例示では、メモリ16にロードされたアダプタドライバソフトウェア108が、グラフィックアダプタ52を、ディスプレイ32と68の両方で提示するグラフィックをレンダリングするマスタ(または第1の)グラフィックアダプタとして動作させ、グラフィックアダプタ34を、第2またはスレーブアダプタとして動作させる。
明らかなように、このマスタ/スレーブ動作モードにおいては、一体型グラフィックアダプタ34が実質的に無効にされる。しかし、オンボードグラフィックアダプタ34(特にディスプレイインタフェース44)の部品を、相互接続されたモニタや他のディスプレイ装置を駆動するために使用することができる。このため、カード50が、複数のディスプレイポートおよびディスプレイドライバを有している必要はない。この代りに、ディスプレイインタフェース44とそのポート48を、カード50によって駆動されるディスプレイ68またはディスプレイに加えて、少なくとも1台のモニタまたはディスプレイ32を駆動するために使用することができる。アダプタ52が複数のポート(ポート64,66など)を有する場合、プロセッサ52が、これらの複数のポートを介して提示するための画像を付加的にレンダリングしてもよい。当然、ドライバソフトウェア108は、上記のように、アダプタ34を、その従来の動作モードで動作させてもよい。アダプタ34(このためアダプタ52)の動作モードの選択は、アプリケーションソフトウェア106によって行われるか、またはアプリケーションソフトウェア106を介して行われうる。
詳細には、図4に模式的に示すように、本発明の実施形態の例示では、マスタ/スレーブ動作モードにおいて、メモリ16内のドライバソフトウェア108が、アダプタ52のメモリ56内に、アクティブフレームバッファ70とセカンダリアダプタバッファ72を割り当てる。アクティブフレームバッファ70は、アダプタ52用の従来のフレームバッファとして機能し、このため、アダプタ52のディスプレイ68に表示するためのフレームを記憶する。このように、グラフィックプロセッサ54は、従来の方法で、メモリ56内のアクティブフレームバッファ70に、二次元または三次元のグラフィックをレンダリングする。カード50のディスプレイインタフェース62は、相互接続されたモニタまたはディスプレイ装置に表示させるために、アクティブフレームバッファ70の内容を変換する。任意選択で、前述のように、アクティブフレームバッファ70の代りに、フロントバッファとリアバッファが使用されてもよい。
グラフィックプロセッサ54は、更に、セカンダリアダプタフレームバッファ72に、ディスプレイ装置32に表示させるための画像をレンダリングする。セカンダリアダプタフレームバッファ72へのフレームのレンダリングが終了すると、下記で詳細に説明するように、セカンダリアダプタフレームバッファ72の内容が、グラフィックアダプタ34のディスプレイインタフェース44によって提示するために、フレームバッファ46から転送される。
第1実施形態では、メモリ16内のグラフィックアダプタドライバソフトウェア108が、図5Aに示したステップS500を実行する。詳細には、ステップS502において、ドライバソフトウェア108は、メモリ56のセカンダリアダプタバッファ72をレンダリングするために、グラフィックプロセッサ54宛のコマンドを生成する。上で説明したように、コマンドがキュー47にキューイングされるのと全く同じ方法で、これらのコマンドがアダプタ52のコマンドキュー57にキューイングされ、グラフィックプロセッサ54によって実行される。フレームがレンダリングされると、ドライバソフトウェア108は更に、1つ以上のコマンドを生成し、この結果、ステップS504において、プロセッサ54は、メモリ56内のセカンダリアダプタフレームバッファ72の内容を、グラフィックアダプタ34用のフレームバッファ46として割り当てられたメモリ16の当該領域に、ビットブロック転送(BITBLT)する。
これに対し、グラフィックアダプタ34のディスプレイインタフェース44は、ポート48において相互接続されたモニタまたはディスプレイに、自身のフレームバッファ46の内容を表示するように事前にプログラムされている。このようにして、ポート48とポート64によって相互接続されたディスプレイ32と68に表示される画像が、グラフィックプロセッサ54によってレンダリングまたは描画され、有利である。バッファ72およびフレームバッファ46へのステップS504の効果が図5Bに示される。
第2実施態様では、図6Aに示したステップS600が実行される。まず、フロントフレームバッファとバックフレームバッファが、アダプタ52のメモリ16内に割り当てられる。便宜上、これらを、バッファ46a,46bと呼び、図6Bに示す。この場合も、ステップS602において、プロセッサ54は、ステップS502を参照して上で説明したように、ディスプレイインタフェース44によって提示させる任意のフレームを、メモリ56のセカンダリアダプタフレームバッファ72にレンダリングする。
デバイス32に表示するためのフレームのレンダリングが終了すると、ステップS604において、ドライバソフトウェア108は、メモリ56内のセカンダリアダプタフレームバッファ72の内容を、グラフィックアダプタ34用のメモリ16内の現在のバックバッファにビットブロック転送(BITBLT)するように、グラフィックプロセッサ54をプログラムする。BITBLTが終了すると、ステップS606において、ドライバは、アダプタ34のバックバッファとフロントバッファを反転させる(すなわち、バックバッファをフロントバッファとして使用する)ように、ディスプレイインタフェース44のレジスタをプログラムするように、プロセッサ54をプログラムする。このことは、ディスプレイインタフェース44がデータを提示するために使用する開始アドレスを指定するように、ディスプレイインタフェース44のレジスタを直接再プログラムすることによって行うことができる。これに対し、グラフィックアダプタ34のディスプレイインタフェース44は、ポート48において相互接続されたモニタ(すなわちディスプレイ68)に、ディスプレイインタフェース44のバッファの内容を提示する。前のフロントバッファが、今度はアダプタ34用のバックバッファとして使用され、ステップS604において、ディスプレイ32に表示させるためにプロセッサ54によってレンダリングされる次のフレームが、最初にこのバックバッファから転送される。ドライバソフトウェア108は、当然、各バッファ46a,46bの開始位置と、フロントバッファおよびバックバッファとしての状態を保持している。バッファ46a,46bへのステップS604,S606の効果が、図6B、図6Cに模式的に示される。
同期を行わない場合には、1つのバッファ46の使用、あるいはアダプタ34のディスプレイインタフェース44の直接のプログラミングにより、目に見えるティアリングが発生しうる。すなわち、インタフェース44によるフレーム出力の途中でディスプレイパラメータが変更されるため、ディスプレイインタフェース44のレジスタが再プログラムされる垂直帰線消去期間以外の任意の時点でも、ティアリングが見えてしまう。
このため、更に別の第3実施形態では、図7に示したステップS700が実行されうる。この場合も、最初に、アダプタ34によって使用されるメモリ16内に、フロントリアバッファ46aとリアバッファ46bが割り当てられる。ステップS502,S602を参照して上で説明したように、この場合も、プロセッサ54は、ローカルメモリ56のバッファ72に、装置32に表示させるための画像をレンダリングする。
ディスプレイ32に表示させるためのフレームのレンダリングが完了すると、ステップS704において、メモリ16内のドライバソフトウェア108は、メモリ56内のセカンダリアダプタフレームバッファ72の内容を、グラフィックアダプタ34のメモリ16内の現在のバックバッファにビットブロック転送(BITBLT)するように、グラフィックプロセッサ54をプログラムする。ステップS706において、ドライバソフトウェア108は、更に、アダプタ34のコマンドキュー47に、フロントバッファとバックバッファを反転させるためのコマンドをキューイングする。しかし、コマンドプロセッサ42のレジスタが、コマンドキュー47内の未処理のコマンドを反映させるように、ドライバソフトウェア108によって更新されない。その代わりに、ステップS708において、ドライバソフトウェア108は、ステップS706で開始されたビットブロック転送の終了後に、コマンドプロセッサ42のコマンドキューレジスタを更新するためのコマンドを、グラフィックプロセッサ54に提供する。これにより、バックバッファをフロントバッファに戻させるための命令が、コマンドプロセッサ42によってプロセッサ40に提供される。これを受けて、グラフィックプロセッサ40は、(すなわち、ポート48において相互接続されたモニタまたはディスプレイに前のバックバッファの内容を提示するように、ディスプレイインタフェース44のレジスタを再プログラムすることによって)、キューイングされた、アダプタ34のバックバッファとフロントバッファを反転させるための命令を実行する。
更に別の第4実施態様では、図8に示したステップS800が実行される。この場合も、まず、アダプタ34のメモリ16内に、フロントバッファとバックバッファが割り当てられる。この場合も、プロセッサ54は、前述のように、ローカルメモリ56のバッファ72に、ディスプレイ32用の画像をレンダリングする。
ドライバソフトウェア108は、更に、グラフィックプロセッサ40に、メモリ56内のセカンダリフレームバッファ72の内容を、グラフィックアダプタ34用の現在のバックフレームバッファとして割り当てられたシステムメモリ16の当該領域にビットブロック転送(BITBLT)させるコマンドを、アダプタ34のキュー47にキューイングする。また、ドライバソフトウェア108は、リアバッファをフロントバッファとして使用するようにディスプレイインタフェース44をプログラムすることにより、グラフィックプロセッサ40に、アダプタ34のフロントバッファとバックバッファを反転させるコマンドを、キュー47にキューイングする。しかし、フレームがバッファ72にレンダリングされるまで、キューポインタを定義しているコマンドプロセッサ42のレジスタは更新されない。
このため、ディスプレイ32用のフレームのレンダリングの終了時に、グラフィックプロセッサ54は、コマンドプロセッサ42用のキューポインタを定義しているコマンドレジスタを更新させる命令を提供して、アダプタ34のコマンドキュー内の2つの未処理のコマンドを反映させる。これを受けて、グラフィックプロセッサ40は、バッファ72の内容をバックバッファにビットブロック転送し、バックバッファとフロントバッファを反転させるためにキューイングされた命令を(すなわち、ポート48において相互接続されたモニタまたはディスプレイに前のバックバッファの内容を提示するために、ディスプレイインタフェース44のレジスタを再プログラムすることにより)実行する。
ここで理解されるように、上に記載した実施形態により、マスタグラフィックプロセッサが、複数の独立したフレームバッファへの二次元または三次元のグラフィック画像の描画の責任を負うことが可能となる。スレーブグラフィックアダプタは、1つのフレームバッファに作成されたディスプレイ画像に使用されうる。追加ディスプレイを駆動するために必要なデバイスの電子回路とポートは、スレーブグラフィックアダプタ34によって提供されうる。このようにして、スレーブグラフィックコントローラに設けられた電子回路が、複数台のディスプレイの駆動を可能にするために効率的に使用されうる。
バッファ70,72を使用して1つの面を定義することができ、この面に、アプリケーションソフトウェア106が、グラフィックアダプタ52,34と相互接続された2台以上のディスプレイ48,64にまたがって表示させる1つのグラフィック画像をレンダリングすることができ、有利である。したがって、ドライバソフトウェア108は、利用可能なスクリーンサイズをアプリケーションソフトウェア106に報告し、この値はバッファ70とバッファ72のサイズと等しい。このため、バッファ70がm.sub.1×nの解像度を有し、バッファ72がm.sub.2×nの解像度を有する場合、ドライバソフトウェア108は、アプリケーションソフトウェア106のアプリケーションに、利用可能なスクリーンサイズとして(m.sub.1+m.sub.2)×nを報告しうる。バッファ70,72が、メモリ56内で隣接する(m.sub.1+m.sub.2)×nピクセル位置を占める場合には、ドライバソフトウェア108によるレンダリングが簡単になる。アプリケーションソフトウェア106は、ドライバソフトウェア108を使用して、グラフィックプロセッサ40に、バッファ70,72によって定義される面を構成している、(m.sub.1+m.sub.2)×nピクセルの解像度を有する大きな画像をレンダリングさせる。このため、バッファ70,72は、画像のペアを記憶し、このペアの各画像が、アプリケーションによってレンダリングされる大きな画像の一部を構成する。大きな画像のそれぞれのレンダリングが終了すると、ドライバソフトウェア108は、上で説明したステップS500、S600、S700またはS800に従って、ディスプレイ32に表示させるために、バッファ72内の画像をフレームバッファ46に転送しうる。バッファ70内の画像は、通常の方法でディスプレイ68に表示されうる。エンドユーザは、ディスプレイ32と68を並べて観ており、アプリケーション106によってレンダリングされる大きな画像を認識する。理解されるように、ゲームの形態のアプリケーション106は、変更を必要とせずに、マルチディスプレイの利点を享受しうる。
ディスプレイ68用にフロントバッファとバックバッファが使用される場合、ディスプレイ32に表示させる面部分を保持しているメモリ56内のバッファが、ディスプレイ68に表示させる面部分をレンダリング中であるバッファの隣に位置することを保証するために、バッファ72の代わりに、2つの異なるバッファが割り当てられて使用されてもよいしたがって、S602、S604、S702、S704またはステップS802、S704は、完成直後の画像を保持しているバッファを、バックバッファ46aまたは46bにビットブロック転送するように変更されてもよい。既存のアプリケーションソフトウェア106を変更する必要がないため、有利である。上記に代えて、アプリケーションソフトウェアが、報告された大きなスクリーンサイズを単に使用してもよい。ドライバソフトウェア108は、複数台のディスプレイにまたがって表面をレンダリングさせる。
ここで理解されるように、図に示した実施形態は、スレーブグラフィックアダプタとして一体型グラフィックコントローラを使用するが、スレーブグラフィックアダプタが、単に、グラフィックフレームをスレーブフレームバッファに転送させるのに十分な帯域幅のバス経由で、グラフィックアダプタ52と通信する別のグラフィックアダプタであってもよい。このため、スレーブグラフィックプロセッサは、別のPCIe対応拡張カードとして作製されてもよい。このため、例えば、グラフィックカードがアップグレードされた場合も、古い拡張カードは、相互接続されたディスプレイを駆動可能であるため、引き続き使用することができる。同様に、相互接続バスは、PCIe相互接続バスでなくてもよく、ディスプレイインタフェース44が使用するリフレッシュレートに等しい速度で、フレームバッファ間でデータを転送させる帯域幅を有する他の任意の適切なバスであってもよい。同様に、フレームバッファ46(およびフロントバッファおよびバックバッファ46a,46b)が、システムメモリ16内に作成されると説明したが、アダプタ34に対してメモリなローカルの一部として、容易に作成されてもよい。
本発明の更に別の代替の実施形態では、バス22を介したレンダリングにより、高速バス22によって相互接続されたグラフィックアダプタ(またはサブシステム)が、一体型アダプタ/サブシステムの代理となることが可能となってもよい。
この点において、図9は、本発明の別の実施形態の代表的なコンピューティングデバイス10’の一部の例の代表的な簡略ブロック図である。コンピューティングデバイス10’は、米国特許出願第11/421,005号明細書に詳細に記載されている。
しかし簡単に説明すると、デバイス10’は2つのグラフィックサブシステム30’,40’を備える。グラフィックサブシステム30’は、グラフィックエンジン/プロセッサ32’、メモリコントローラ72’、ディスプレイインタフェース74’およびバスインタフェース78’を備える。第2のグラフィックサブシステム40’は、PCIeバスなどの高速バス22’経由でグラフィックサブシステム30’と通信している。グラフィックサブシステム40’は、自身のグラフィックエンジン/プロセッサ42’、メモリコントローラ52’、ディスプレイインタフェース54’を備える。グラフィックサブシステム40’は更にグラフィックメモリ50’と通信している。明らかなように、サブシステム40’は、バス22’を介してメモリ14’にグラフィックをレンダリングするように適合されている。
デバイス10’はラップトップまたは小型コンピューティングデバイスの形態のポータブルコンピューティングデバイスとして好適に形成することができる。このように、1つのハウジングがDC電源、ディスプレイ26’および上述のマザーボードおよび構成要素を収容してもよい。第2のグラフィックサブシステム40’は、コンピューティングデバイスの他の部分を収容する1つのハウジングに追加されても、デバイス10’が物理的に相互接続された時にデバイス10’の一部のみを構成するドッキングステーションの一部を構成してもよい。
デバイス10’は、少なくとも2つの電力消費モード、すなわち、高電力消費モードと低電力消費モードで動作することができる。図に示した実施形態では、デバイス10’の高電力モードとは、デバイス10’がAC(主)電源に接続された電源によって給電されている時に入るモードであり、低電力消費モードとは、デバイス10’が1つ以上のバッテリ、燃料電池などを使用するDC電源によって給電されている時に入るモードでもよい。別例では、電力消費モードが、例えばユーザの好み、実行中のソフトウェアアプリケーションのタイプ、バッテリレベルなどに基づき、ユーザによって選択されるか、ソフトウェアによって制御されるか、または別の方法で選択されてもよい。
デバイス10’のソフトウェア制御動作の構成は、米国特許出願第11/421,005号明細書に開示されており、上記のソフトウェア100と類似する点を有する。
デバイス10’としてのデバイス10’の動作を制御しているソフトウェアの一部は、高電力消費状態と低電力消費状態の間を遷移する。詳細には、図10は、デバイス10’のシステムメモリ内部のソフトウェアの制御下で中央処理装置12’(図1のプロセッサ12など)によって実行されうる本発明の実施形態の例示的なソフトウェアブロックS800’を示す。ブロックS800’はデバイス10’が状態変化を受けるたびに実行され、これに対して、サブシステム30’,40’を相応に構成する必要がある。図に示すように、ブロックS802’において、ソフトウェアは、デバイス10’が高電力消費モードまたは低電力消費モードのいずれを取るべきかを判定する。
デバイス10’が高電力消費モードを再開(またはこれに移行)すべき場合、ブロックS804’〜S810’が実行される。ブロックS804において、グラフィックサブシステム40’は、まだフル動作(高電力消費)モードに設定されていなければ、高電力消費モードに設定される。このことは、グラフィックサブシステム40’を制御するドライバを介して、電力コントローラ60’に適切な信号を供給することによって実行することができる。次に、ブロックS806,S808において、グラフィックサブシステム40’が有効にされる。この場合も、このことは、ブロックS804において、グラフィックサブシステム30’に関連する、相互接続されたディスプレイを論理的に無効にし、ブロックS808において、グラフィックサブシステム40’と接続されたディスプレイを論理的に有効にすることによって実行することができる。この場合も、ブロックS806,S808は、米国特許第11/421,005号明細書に記載のEnumDisplayDevices()コールおよびChangeDisplaySettingsEX()コールなどの適切なオペレーティングシステムAPIコールによってか、またはハードウェアとの直接通信によって実行することができる。
特に言えば、グラフィックサブシステム40’に接続されている物理的ディスプレイは存在しない。グラフィックサブシステム40’の動作を制御しているドライバソフトウェアは、ステップS810’において、関連するメモリ50’内部の代わりに、グラフィックサブシステム30’のバッファ14’に画像をレンダリングするように構成される。(例えば、PCIeバスとして実施された)高速バス22が存在している場合、このようなレンダリングが、一部には、このバスによって実現される転送速度のおかげで、バス22’を介して可能となる。
このレンダリングは、バスを介してフレームバッファにプリミティブごと(primitive by primitive)に送られ、このため、バス22’を介してレンダリングされた画像が転送されてもよい。このことは、サブシステム40’によってアクセス可能なメモリ内にバッファ14’を割り当て、サブシステム40’用のドライバソフトウェアに、バッファ14’のアドレスを提供することにより容易に行うことができる。別法として、明らかなように、フレームが1つのバッファでレンダリングされ、バス22’を介してダイレクトメモリアクセスなどによって転送されてもよい。
同様に、グラフィックサブシステム30’用のドライバは更に、グラフィックサブシステム40’によってメモリ14’内のフレームバッファにレンダリングされた画像を、相互接続されたディスプレイ26’で提示するために、グラフィックサブシステム30’のディスプレイインタフェース74’に、メモリ14’のフレームバッファをサンプリングさせるように構成されている。同時に、グラフィックサブシステム30’のドライバは、グラフィックサブシステム30’のグラフィックエンジン32’に対し、実質的に活動停止状態またはアイドル状態に留まるように指示することができる。この動作モードは、図11Aに模式的に示されており、グラフィックサブシステム40’およびグラフィックサブシステム30’のアクティブなブロックのみが網掛けされている。
明らかなように、図11Aの実施形態では、メモリ50’とディスプレイインタフェース54’は使用されていない。このため、これらの機能ブロックはサブシステム40’から削除することができ、コスト低減が可能となる。これにより得られるサブシステム40’は、ディスプレイインタフェースを有する必要はなく、サブシステム40’にローカルなフレームバッファを定義するメモリがないこともある。このようなグラフィックサブシステムを作成することは、サブシステム30’によって提供される機能をサブシステム40’が補完するように作成されうるので、有益であろう。例えば、サブシステムは、3Dグラフィックまたはビデオデコーディング機能を提供するグラフィックエンジン42’を提供してもよい。グラフィックエンジン32’はこれらの機能を搭載していなくてもよい。同時に、グラフィックエンジン32’によって提供される2Dグラフィック機能を、サブシステム40’に搭載する必要はない。消費者は、追加の機能が必要な場合にのみグラフィックサブシステム30’を追加してもよい。
デバイス10’が低電力消費モードに移行するか、このモードを再開した場合、ブロックS812’〜S818’が実行される。概説すると、グラフィックサブシステム40’は、部分的または完全に無効にされて低電力消費モードに設定され、この場合も、レンダリングがグラフィックサブシステム30’によって実行される。これを行うため、ブロックS812’において、グラフィックサブシステム30’に関連する、相互接続されたディスプレイが有効にされ、ブロックS814’において、グラフィックサブシステム40’と物理的に接続されたあらゆるディスプレイが論理的に無効にされる。次に、グラフィックサブシステム30’の動作を制御するドライバソフトウェアが、グラフィックサブシステム30’にメモリ14’に画像をレンダリングさせるように再度構成される。ディスプレイインタフェース74’は、ポート78’と相互接続されたディスプレイ26’で画像を提示するために、メモリ14’をサンプリングし続ける。同様に、ブロックS818’において、プロセッサ12’は最初に電力コントローラ60’に適切な信号を供給し、グラフィックサブシステム40’を低電力状態に設定する。最も単純な形態では、電力コントローラ(図示なし)がグラフィックサブシステム40’への電力を遮断するか、またはグラフィックサブシステム40’を低電力スリープモードに設定する。この場合も、この低電力消費モードでは、電圧が抑えられるか、グラフィックサブシステム40’の全部または一部が電源切断されるか、グラフィックサブシステム40’が使用する選択されたクロックが減速されるか、この組み合わせが行われる。詳細には、グラフィックサブシステム40’のグラフィックエンジン42’が、アイドル状態に留まるか、または実質的にアイドル状態に留まる(例えば低速化されるか、無効にされるか、または電源切断される)。この動作モードは、図11Bに模式的に示されており、アダプタ40’とグラフィックサブシステム30’のアクティブな機能ブロックのみが網掛けされている。非作動状態/アイドル状態の機能ブロックは、完全に無効化されるか、または低電圧または低クロック速度で動作される。
任意選択で、グラフィックサブシステム30’の一部が、グラフィックエンジン32’の不使用時に無効にされてもよい。このことは、グラフィックサブシステム40’が画像のレンダリングを担っている任意の時に、GPIOまたは類似の回路によって無効にできる1つ以上のボルテージアイランド(voltage island)に、グラフィックエンジン32’および他の構成要素を配置することによって容易に行うことができる。
他の変更例もまた明白であろう。例えば、図11Aに示す高電力モードにおいて、グラフィックサブシステム30’とグラフィックサブシステム40’の両方が、メモリ14’またはメモリ50’にレンダリングしてもよい。このようにして、2つのグラフィックサブシステム30’,40’が、それぞれメモリ14’の交番フレームにレンダリングするか、またはメモリ14’の各フレームの交番部分(例えばスキャンライン)にレンダリングして、協調して動作することができる。
更に別の実施形態では、上で説明したように、追加ディスプレイをグラフィックサブシステム30’,40’に接続して、高電力消費モードでの複数台のディスプレイの同時使用を可能にすることができる。このようにして、ディスプレイインタフェース54’を、第2のディスプレイを駆動するために使用することができる。デバイス10’を、低電力消費モードへの移行時に、図11Bに示すように動作するように構成してもよい。
同様に、デバイス10’(または10)は、バス22’(または22)に接続された複数の追加のグラフィックサブシステムを有してもよく、高電力消費モードにおいては、その全てがアクティブとなり、グラフィックサブシステム30’のディスプレイインタフェース74’を介してグラフィックをレンダリングしてもよい。低電力消費モードへの移行時に、このグラフィックサブシステムが無効化され、グラフィックサブシステム30’のグラフィックエンジン32’にレンダリングが任せられうる。
図12に示す更に別の実施形態では、コンピューティングデバイス10’はダイレクトメモリアクセス(DMA)コントローラ90を備えてもよい。DMAコントローラ90はデータをメモリ50’からメモリ14’に転送することができる。このように、デバイス10’の高電力消費モードにおいて、グラフィックサブシステム40’は画像をメモリ50’にレンダリングしうる。レンダリングされたこれらの画像はその後、DMAコントローラ90によってメモリ14’内のフレームバッファに転送されうる。DMAコントローラ90’は、(例えばグラフィックエンジン32’または42’のDMAエンジンとして)グラフィックサブシステム30’または40’の一部を構成するか、またはコンピューティングデバイス10’内に別の方法で配置されうる。データは、メモリ50’からメモリ14’に、バス20’を介して転送されるか、または別の方法で直接転送されうる。ディスプレイインタフェース74’は、上述のように動作を続け、レンダリングされた画像をディスプレイ26’で提示するためにメモリ14’のフレームバッファをサンプリングする。この場合も、高電力消費モードにある図10のデバイス10’のアクティブなブロックが、図12で網掛けして図示されている。
当然、上記の実施形態は、例示のみを目的としており、限定を意図するものではない。本発明を実施する記載した実施形態は、形状、構成要素の配置、操作の詳細および順序がさまざまに変更される。むしろ、本発明は、請求の範囲によって規定される範囲に、このような変更の全てを含むことを意図する。

Claims (20)

  1. プロセッサ、前記プロセッサと通信しているメモリ、前記プロセッサをグラフィックプロセッサと相互接続している周辺相互接続バス、およびディスプレイインタフェースを有するコンピューティングデバイスを動作させる方法であって、
    前記メモリ内にフレームバッファを確立するステップと、
    ビデオフレームをレンダリングするように前記グラフィックプロセッサに指示するステップと、
    前記ビデオフレームを前記周辺相互接続バス経由で前記フレームバッファに転送するステップと、
    前記フレームバッファからの前記フレームを、前記ディスプレイインタフェース経由でディスプレイに提示するステップとを含む、方法。
  2. 前記グラフィックプロセッサに指示する前記ステップは、第2のフレームバッファにフレームをレンダリングするステップと、前記フレームを前記第2のフレームバッファから前記フレームバッファに転送するステップとを含む、請求項1に記載の方法。
  3. 前記グラフィックプロセッサは第1のグラフィックアダプタの一部であり、前記第2のフレームバッファは第2のグラフィックアダプタのローカルメモリ内に存在する、請求項2に記載の方法。
  4. 前記転送するステップは、前記周辺相互接続バス経由で前記フレームバッファに直接レンダリングするように前記グラフィックプロセッサに指示するステップを含む、請求項1に記載の方法。
  5. 前記指示するステップは、前記ビデオフレームを前記周辺相互接続バスを介して前記フレームバッファに転送するように、前記グラフィックプロセッサに指示するステップを含む、請求項1に記載の方法。
  6. 前記指示するステップは、前記ビデオフレームを前記フレームバッファに転送するように、ダイレクトメモリアクセスコントローラに指示するステップを含む、請求項1に記載の方法。
  7. 前記フレームバッファ内の前記フレームを前記ディスプレイに提示するように、前記ディスプレイインタフェースをプログラムするステップを更に含む、請求項1に記載の方法。
  8. 前記提示するステップは、前記第2のフレームバッファから画像を表示するように、前記ディスプレイインタフェースをプログラムするステップを含む、請求項3に記載の方法。
  9. 前記グラフィックプロセッサに指示するステップは、前記グラフィックプロセッサと通信しているバッファに前記フレームをレンダリングするように、前記グラフィックプロセッサに指示するステップを含み、前記転送するステップは前記フレームを前記バッファから前記フレームバッファにダイレクトメモリアクセス転送するステップを含む、請求項1記載の方法。
  10. コンピューティングデバイスであって、
    中央処理装置と、
    前記中央処理装置と通信するメモリと、
    前記中央処理装置をグラフィックプロセッサと相互接続する周辺相互接続バスと、
    ディスプレイインタフェースと、
    前記メモリに記憶されたコンピュータ実行可能命令とを備え、前記命令はコンピューティングデバイスを、
    前記グラフィックプロセッサにビデオフレームをレンダリングさせ、
    前記ビデオフレームを前記周辺相互接続バス経由で前記フレームバッファに転送し、
    前記フレームバッファからのレンダリングされた前記フレームを、前記ディスプレイインタフェース経由でディスプレイに提示するように動作させる、コンピューティングデバイス。
  11. 前記ディスプレイインタフェースは周辺拡張インタフェースの一部を構成している、請求項10に記載のコンピューティングデバイス。
  12. 前記グラフィックプロセッサは前記周辺相互接続バスと通信する周辺機器拡張スロット内の周辺拡張カードの一部を構成している、請求項11に記載のコンピューティングデバイス。
  13. 前記グラフィックプロセッサはフレームバッファメモリとディスプレイインタフェースを有さないグラフィックサブシステムの一部を構成している、請求項10に記載のコンピューティングデバイス。
  14. 前記ビデオフレームは、前記ビデオフレームを前記フレームバッファに直接レンダリングすることによって、前記周辺相互接続バス経由で前記フレームバッファに転送される、請求項10に記載のコンピューティングデバイス。
  15. コンピューティングデバイスであって、
    中央処理装置と、
    前記プロセッサと通信するメモリと、
    第1のフレームバッファと、
    前記プロセッサをグラフィックサブシステムと相互接続している周辺相互接続バスであって、前記グラフィックサブシステムは前記グラフィックサブシステムにローカルなフレームバッファを定義するメモリを有さない、周辺相互接続バスと、
    前記メモリと通信するディスプレイインタフェースとを備え、
    前記メモリは、前記グラフィックプロセッサを、ビデオフレームをレンダリングし、前記ビデオフレームを前記周辺相互接続バス経由で前記第1のフレームバッファに転送するように動作させるコンピュータ実行可能命令を記憶している、コンピューティングデバイス。
  16. 前記グラフィックサブシステムは前記周辺相互接続バスと相互接続された周辺拡張カードに形成されている、請求項15に記載のコンピューティングデバイス。
  17. 前記ディスプレイインタフェースは周辺拡張インタフェースの一部を構成している、請求項15に記載のコンピューティングデバイス。
  18. 前記ディスプレイインタフェースは、前記中央処理装置を前記周辺相互接続バスと相互接続している周辺拡張インタフェース上の前記グラフィックサブシステムの一部を構成している、請求項15に記載のコンピューティングデバイス。
  19. グラフィックサブシステムであって、
    グラフィックプロセッサと、前記グラフィックサブシステムをホストプロセッサと相互接続するための周辺相互接続バスインタフェースとを備え、前記グラフィックサブシステムは前記グラフィックサブシステムにローカルなフレームバッファを定義するメモリを持たず、
    前記グラフィックサブシステムは、ビデオフレームをレンダリングし、前記ビデオフレームを前記周辺相互接続バス経由でフレームバッファに転送するように動作可能である、グラフィックデバイス。
  20. コンピューティングデバイスを請求項1に記載の方法を実行するように動作させるコンピューティング実行可能命令を記憶しているコンピュータ可読媒体。
JP2010536221A 2007-11-30 2008-12-01 高速周辺相互接続バスにおけるビデオレンダリング Active JP5529748B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/987,559 US20080143731A1 (en) 2005-05-24 2007-11-30 Video rendering across a high speed peripheral interconnect bus
US11/987,559 2007-11-30
PCT/US2008/085160 WO2009073617A1 (en) 2007-11-30 2008-12-01 Video rendering across a high speed peripheral interconnect bus

Publications (3)

Publication Number Publication Date
JP2011509445A true JP2011509445A (ja) 2011-03-24
JP2011509445A5 JP2011509445A5 (ja) 2012-01-26
JP5529748B2 JP5529748B2 (ja) 2014-06-25

Family

ID=40383655

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010536221A Active JP5529748B2 (ja) 2007-11-30 2008-12-01 高速周辺相互接続バスにおけるビデオレンダリング

Country Status (6)

Country Link
US (1) US20080143731A1 (ja)
EP (1) EP2225752B1 (ja)
JP (1) JP5529748B2 (ja)
KR (1) KR101545682B1 (ja)
CN (2) CN107845374B (ja)
WO (1) WO2009073617A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014029532A (ja) * 2007-12-13 2014-02-13 Ati Technologies Ulc 分割マルチコネクタ要素差動バスコネクタを使用するフレーム再使用を備えるディスプレイシステム
JP2017097066A (ja) * 2015-11-19 2017-06-01 ルネサスエレクトロニクス株式会社 画像処理装置及び画像処理方法

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006117683A2 (en) * 2005-01-25 2006-11-09 Lucid Information Technology, Ltd. Graphics processing and display system employing multiple graphics cores on a silicon chip of monolithic construction
EP1687732A4 (en) 2003-11-19 2008-11-19 Lucid Information Technology Ltd METHOD AND SYSTEM FOR A MULTIPLEXED 3D GRAPHIC PIPELINE VIA A PC BUS
US20090027383A1 (en) 2003-11-19 2009-01-29 Lucid Information Technology, Ltd. Computing system parallelizing the operation of multiple graphics processing pipelines (GPPLs) and supporting depth-less based image recomposition
US7961194B2 (en) 2003-11-19 2011-06-14 Lucid Information Technology, Ltd. Method of controlling in real time the switching of modes of parallel operation of a multi-mode parallel graphics processing subsystem embodied within a host computing system
US20080094402A1 (en) 2003-11-19 2008-04-24 Reuven Bakalash Computing system having a parallel graphics rendering system employing multiple graphics processing pipelines (GPPLS) dynamically controlled according to time, image and object division modes of parallel operation during the run-time of graphics-based applications running on the computing system
US8085273B2 (en) 2003-11-19 2011-12-27 Lucid Information Technology, Ltd Multi-mode parallel graphics rendering system employing real-time automatic scene profiling and mode control
US8497865B2 (en) * 2006-12-31 2013-07-30 Lucid Information Technology, Ltd. Parallel graphics system employing multiple graphics processing pipelines with multiple graphics processing units (GPUS) and supporting an object division mode of parallel graphics processing using programmable pixel or vertex processing resources provided with the GPUS
US9336752B1 (en) * 2007-12-21 2016-05-10 Oracle America, Inc. Microprocessor including a display interface in the microprocessor
US8890876B1 (en) * 2007-12-21 2014-11-18 Oracle America, Inc. Microprocessor including a display interface in the microprocessor
CN101639930B (zh) * 2008-08-01 2012-07-04 辉达公司 一连串绘图处理器处理绘图数据的方法及系统
US9324294B2 (en) * 2009-04-07 2016-04-26 Nvidia Corporation Graphics system for supporting multiple digital display interface standards
US8316255B2 (en) * 2009-09-09 2012-11-20 Ati Technologies Ulc Method and apparatus for responding to signals from a disabling device while in a disabled state
US8482574B2 (en) * 2009-10-06 2013-07-09 Nvidia Corporation System, method, and computer program product for calculating statistics associated with a surface to be rendered utilizing a graphics processor
DE112010004601T5 (de) * 2009-10-19 2013-01-24 Barnes & Noble, Inc. Vorrichtung und Verfahren zur Steuerung von mehrfach-Displays aus einem einzelnen virtuellen Bildspeicher
US8760459B2 (en) * 2009-12-30 2014-06-24 Intel Corporation Display data management techniques
US8963797B2 (en) 2010-01-06 2015-02-24 Apple Inc. Display driving architectures
JP2011141707A (ja) 2010-01-07 2011-07-21 Sony Corp 情報処理装置、情報処理方法及びプログラム
US8659616B2 (en) * 2010-02-18 2014-02-25 Nvidia Corporation System, method, and computer program product for rendering pixels with at least one semi-transparent surface
JP2011188364A (ja) * 2010-03-10 2011-09-22 Xgi Technology Inc 多画面信号処理装置及び多画面システム
US20110242115A1 (en) * 2010-03-30 2011-10-06 You-Ming Tsao Method for performing image signal processing with aid of a graphics processing unit, and associated apparatus
US9164646B2 (en) * 2010-08-31 2015-10-20 Ati Technologies Ulc Method and apparatus for accommodating display migration among a plurality of physical displays
US10817043B2 (en) * 2011-07-26 2020-10-27 Nvidia Corporation System and method for entering and exiting sleep mode in a graphics subsystem
US9251552B2 (en) * 2012-06-28 2016-02-02 Intel Corporation Method and apparatus for managing image data for presentation on a display
CN105389768B (zh) * 2015-10-21 2019-06-28 努比亚技术有限公司 图片处理方法及装置
US11074666B2 (en) * 2019-01-30 2021-07-27 Sony Interactive Entertainment LLC Scalable game console CPU/GPU design for home console and cloud gaming

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03233780A (ja) * 1990-02-09 1991-10-17 Fujitsu Ltd バスアクセス方式
US5896141A (en) * 1996-07-26 1999-04-20 Hewlett-Packard Company System and method for virtual device access in a computer system
JPH11109937A (ja) * 1997-09-29 1999-04-23 Casio Comput Co Ltd 表示制御装置
US20050285863A1 (en) * 2004-06-25 2005-12-29 Diamond Michael B Discrete graphics system unit for housing a GPU
US20060267987A1 (en) * 2005-05-24 2006-11-30 Ati Technologies Inc. Master/slave graphics adapter arrangement
JP2007535042A (ja) * 2004-04-23 2007-11-29 エヌヴィディア コーポレイション ブリッジコントローラを用いないポイントツーポイントバスブリッジング

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5485562A (en) * 1993-09-14 1996-01-16 International Business Machines Corporation System and method for clipping pixels drawn in one of plurality of windows in a computer graphics system
US5712664A (en) * 1993-10-14 1998-01-27 Alliance Semiconductor Corporation Shared memory graphics accelerator system
US5488385A (en) * 1994-03-03 1996-01-30 Trident Microsystems, Inc. Multiple concurrent display system
JPH0922339A (ja) * 1995-07-05 1997-01-21 Matsushita Electric Ind Co Ltd 遠隔操作装置
EP0951670A1 (en) * 1997-01-17 1999-10-27 Intergraph Corporation Multiple display synchronization apparatus and method
US6018340A (en) * 1997-01-27 2000-01-25 Microsoft Corporation Robust display management in a multiple monitor environment
US5949437A (en) * 1997-02-19 1999-09-07 Appian Graphics Corp. Dual video output board with a shared memory interface
US6104414A (en) * 1997-03-12 2000-08-15 Cybex Computer Products Corporation Video distribution hub
JPH1165719A (ja) * 1997-08-21 1999-03-09 Toshiba Corp コンピュータおよび画像表示方法
US6040845A (en) * 1997-12-22 2000-03-21 Compaq Computer Corp. Device and method for reducing power consumption within an accelerated graphics port target
US6208361B1 (en) * 1998-06-15 2001-03-27 Silicon Graphics, Inc. Method and system for efficient context switching in a computer graphics system
US6532019B1 (en) * 1998-06-17 2003-03-11 Advanced Micro Devices, Inc. Input/output integrated circuit hub incorporating a RAMDAC
US6573905B1 (en) * 1999-11-09 2003-06-03 Broadcom Corporation Video and graphics system with parallel processing of graphics windows
US6624816B1 (en) * 1999-09-10 2003-09-23 Intel Corporation Method and apparatus for scalable image processing
US6760031B1 (en) * 1999-12-31 2004-07-06 Intel Corporation Upgrading an integrated graphics subsystem
US7079149B2 (en) * 2001-10-09 2006-07-18 Texas Instruments Incorporated System, method, and device for accelerated graphics port linking
US20030158886A1 (en) * 2001-10-09 2003-08-21 Walls Jeffrey J. System and method for configuring a plurality of computers that collectively render a display
US6864891B2 (en) * 2002-01-31 2005-03-08 Hewlett-Packard Development Company L.P. Switching between internal and external display adapters in a portable computer system
US6700580B2 (en) * 2002-03-01 2004-03-02 Hewlett-Packard Development Company, L.P. System and method utilizing multiple pipelines to render graphical data
US6886057B2 (en) * 2002-06-06 2005-04-26 Dell Products L.P. Method and system for supporting multiple bus protocols on a set of wirelines
US7102645B2 (en) * 2003-12-15 2006-09-05 Seiko Epson Corporation Graphics display controller providing enhanced read/write efficiency for interfacing with a RAM-integrated graphics display device
US7289125B2 (en) * 2004-02-27 2007-10-30 Nvidia Corporation Graphics device clustering with PCI-express
US7265759B2 (en) * 2004-04-09 2007-09-04 Nvidia Corporation Field changeable rendering system for a computing device
US20050237329A1 (en) * 2004-04-27 2005-10-27 Nvidia Corporation GPU rendering to system memory
JP2005316176A (ja) * 2004-04-28 2005-11-10 Toshiba Corp 電子機器及び表示制御方法
TWM261751U (en) * 2004-07-09 2005-04-11 Uniwill Comp Corp Switching display processing architecture for information device
US7721118B1 (en) * 2004-09-27 2010-05-18 Nvidia Corporation Optimizing power and performance for multi-processor graphics processing
US7545380B1 (en) * 2004-12-16 2009-06-09 Nvidia Corporation Sequencing of displayed images for alternate frame rendering in a multi-processor graphics system
US7730336B2 (en) * 2006-05-30 2010-06-01 Ati Technologies Ulc Device having multiple graphics subsystems and reduced power consumption mode, software and methods
US7698579B2 (en) * 2006-08-03 2010-04-13 Apple Inc. Multiplexed graphics architecture for graphics power management

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03233780A (ja) * 1990-02-09 1991-10-17 Fujitsu Ltd バスアクセス方式
US5896141A (en) * 1996-07-26 1999-04-20 Hewlett-Packard Company System and method for virtual device access in a computer system
JPH11109937A (ja) * 1997-09-29 1999-04-23 Casio Comput Co Ltd 表示制御装置
JP2007535042A (ja) * 2004-04-23 2007-11-29 エヌヴィディア コーポレイション ブリッジコントローラを用いないポイントツーポイントバスブリッジング
US20050285863A1 (en) * 2004-06-25 2005-12-29 Diamond Michael B Discrete graphics system unit for housing a GPU
US20060267987A1 (en) * 2005-05-24 2006-11-30 Ati Technologies Inc. Master/slave graphics adapter arrangement

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014029532A (ja) * 2007-12-13 2014-02-13 Ati Technologies Ulc 分割マルチコネクタ要素差動バスコネクタを使用するフレーム再使用を備えるディスプレイシステム
JP2017097066A (ja) * 2015-11-19 2017-06-01 ルネサスエレクトロニクス株式会社 画像処理装置及び画像処理方法

Also Published As

Publication number Publication date
CN107845374A (zh) 2018-03-27
CN107845374B (zh) 2021-10-01
EP2225752B1 (en) 2016-03-23
WO2009073617A1 (en) 2009-06-11
US20080143731A1 (en) 2008-06-19
EP2225752A1 (en) 2010-09-08
KR101545682B1 (ko) 2015-08-19
JP5529748B2 (ja) 2014-06-25
KR20100114496A (ko) 2010-10-25
CN101965610A (zh) 2011-02-02

Similar Documents

Publication Publication Date Title
JP5529748B2 (ja) 高速周辺相互接続バスにおけるビデオレンダリング
US7817155B2 (en) Master/slave graphics adapter arrangement
JP5427187B2 (ja) 複数のグラフィックサブシステムおよび低電力消費モードを有するコンピューティングデバイス用ドライバアーキテクチャ、ソフトウェアおよび方法
US7730336B2 (en) Device having multiple graphics subsystems and reduced power consumption mode, software and methods
CN100395734C (zh) 并行分担的单个块变换
US7698579B2 (en) Multiplexed graphics architecture for graphics power management
US20070091098A1 (en) Transparent multi-buffering in multi-GPU graphics subsystem
EP2476037B1 (en) Managing resources to facilitate altering the number of active processors
US8004531B2 (en) Multiple graphics processor systems and methods
US8086828B2 (en) Multiprocessor computing systems with heterogeneous processors
US20100321395A1 (en) Display simulation system and method
US20200098165A1 (en) Dynamic rendering for foveated rendering
US8259119B1 (en) System and method for switching between graphical processing units
US7882380B2 (en) Work based clock management for display sub-system
US20140125680A1 (en) Method for graphics driver level decoupled rendering and display
US7430139B2 (en) Shared memory synchronization systems and methods
CN117078499B (zh) 双显卡渲染处理方法、装置、计算设备及可读存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111130

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130417

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130717

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130814

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20131113

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20131120

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20131213

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20131220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140221

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140417

R150 Certificate of patent or registration of utility model

Ref document number: 5529748

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250