JP2008123520A - グラフィックス処理装置 - Google Patents
グラフィックス処理装置 Download PDFInfo
- Publication number
- JP2008123520A JP2008123520A JP2007288982A JP2007288982A JP2008123520A JP 2008123520 A JP2008123520 A JP 2008123520A JP 2007288982 A JP2007288982 A JP 2007288982A JP 2007288982 A JP2007288982 A JP 2007288982A JP 2008123520 A JP2008123520 A JP 2008123520A
- Authority
- JP
- Japan
- Prior art keywords
- command
- processor
- processing unit
- graphics
- sub
- 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
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/52—Parallel processing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
【解決手段】メインプロセッシングユニット100は、汎用的な処理を実行するメインプロセッサ102と、グラフィックスに関する演算を実行するサブプロセッサ104とを含む。サブプロセッサ104は、メインプロセッサ102に代わってアプリケーションプログラムにもとづいて描画コマンドを生成し、メインメモリ120のコマンドバッファ10に蓄積するとともに、その生成される描画コマンドの実行に必要なジオメトリデータ12とテクスチャ14も合わせて生成してメインメモリ120に保持する。グラフィックスプロセッシングユニット200は、コマンドバッファ10に保持された描画コマンド列を読み出して描画処理を実行する。
【選択図】図10
Description
図1は、実施の形態1に係るグラフィックス処理システムの構成図である。このグラフィックス処理システムは、メインプロセッシングユニット100と、グラフィックスプロセッシングユニット200と、メインメモリ120と、ローカルメモリ220とを含む。
(1)関数単位の処理が遅い。ライブラリ内部で保持する描画属性を更新し、他の関連する情報と矛盾しないか、テストする必要があり、CPUによる計算時間がかかるからである。
(4)グラフィックスライブラリは複数の描画コマンドリストを生成することができない。
glAlphaFunc(); //アルファテスト関数の設定
glViewport(); //ビューポート領域の設定
glDepthRange(); //Z値と奥行き値の対応関係の設定
glFrontFace(); //ポリゴンの表裏の定義
glScissor(); //シザリングボックスの設定
glDrawElement(); //プリミティブのレンダリング
gcmSetAlphaFunc(); //アルファテスト関数の設定
gcmSetViewport(); //ビューポート領域の設定
gcmSetFrontFace(); //ポリゴンの表裏の定義
gcmSetScissor(); //シザリングボックスの設定
gcmSetDrawIndex(); //プリミティブのレンダリング
(4)グラフィックスライブラリは複数の描画コマンドリストを生成することができる。
図9および図10は、実施の形態2に係るグラフィックス処理システムの構成図である。実施の形態2のメインプロセッシングユニット100は、メインプロセッサ102とサブプロセッサ104を含むマルチプロセッサである。メインプロセッサ102は、汎用的な処理を実行するプロセッサである。一方、サブプロセッサ104は、グラフィックスに関する演算を実行するプロセッサであり、たとえば頂点シェーダやテクスチャマッピングなどのグラフィックス専用の機能を実行するのに適したプロセッサである。
図11は、実施の形態3に係るグラフィックス処理システムの構成図である。実施の形態3のメインプロセッシングユニット100は、メインプロセッサ102と複数のサブプロセッサ104a〜104dを含むマルチプロセッサである。実施の形態2と同様、メインプロセッサ102は汎用プロセッサであり、サブプロセッサ104a〜104dは汎用処理以外の処理、ここではグラフィックス処理を担当するプロセッサである。
Claims (8)
- アプリケーションプログラムにもとづいて描画コマンドを生成するメインプロセッシングユニットと、
前記メインプロセッシングユニットにより生成される描画コマンド列を保持するコマンドバッファが設けられるメモリと、
前記コマンドバッファに保持された描画コマンド列を読み出して描画処理を実行するグラフィックスプロセッシングユニットとを含み、
前記メインプロセッシングユニットは、
汎用的な処理を実行するメインプロセッサと、
グラフィックスに関する演算を実行するサブプロセッサとを含み、
前記サブプロセッサは、アプリケーションプログラムにもとづいて描画コマンドを生成する処理を前記メインプロセッサに代わって実行し、生成された描画コマンドを前記コマンドバッファに蓄積するとともに、その生成される描画コマンドの実行に必要なデータも合わせて生成して前記メモリに保持することを特徴とするグラフィックス処理装置。 - 前記サブプロセッサにより最後に描画コマンドの書き込みが完了した前記コマンドバッファの位置を示す書き込みポインタと、前記グラフィックスプロセッシングユニットにより次に描画コマンドが読み出されるべき前記コマンドバッファの位置を示す読み出しポインタとにより、前記コマンドバッファに対する読み書きが管理されることを特徴とする請求項1に記載のグラフィックス処理装置。
- 前記サブプロセッサが、前記グラフィックスプロセッシングユニットのレジスタを読み書きすることにより、前記メインプロセッサを介することなく、前記グラフィックスプロセッシングユニットとの同期を制御することを特徴とする請求項1または2に記載のグラフィックス処理装置。
- 前記グラフィックスプロセッシングユニットが、前記サブプロセッサに対して割り込みを行うことにより、前記メインプロセッサを介することなく、前記サブプロセッサとの同期を制御することを特徴とする請求項1または2に記載のグラフィックス処理装置。
- 前記サブプロセッサと前記グラフィックスプロセッシングユニットが前記メモリ内に保持されるデータを読み書きすることにより、前記メインプロセッサを介することなく、互いに同期を制御することを特徴とする請求項1または2に記載のグラフィックス処理装置。
- アプリケーションプログラムにもとづいて描画コマンドを生成するメインプロセッシングユニットと、
前記メインプロセッシングユニットにより生成される描画コマンド列を保持するコマンドバッファが設けられるメモリと、
前記コマンドバッファに保持された描画コマンド列を読み出して描画処理を実行するグラフィックスプロセッシングユニットとを含み、
前記メインプロセッシングユニットは、
汎用的な処理を実行するメインプロセッサと、
互いに独立に動作する複数のサブプロセッサとを含み、
各サブプロセッサは、プログラムモジュール別に互いに独立に描画コマンド列を生成して前記コマンドバッファに保持し、あるプログラムモジュールに対応する描画コマンド列の最後のコマンドとして、次に実行されるべき別のプログラムモジュールに対応する描画コマンド列の先頭アドレスを飛び先とするジャンプ命令を生成することを特徴とするグラフィックス処理装置。 - 描画コマンド列を生成するサブプロセッサと同一のサブプロセッサが、その生成される描画コマンドの実行に必要なデータも合わせて生成して前記メモリに保持することを特徴とする請求項6に記載のグラフィックス処理装置。
- 描画コマンド列を生成するサブプロセッサとは異なる別のサブプロセッサが、その生成される描画コマンド列の実行に必要なデータを生成して前記メモリに保持することを特徴とする請求項6に記載のグラフィックス処理装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US86518006P | 2006-11-10 | 2006-11-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008123520A true JP2008123520A (ja) | 2008-05-29 |
JP4550878B2 JP4550878B2 (ja) | 2010-09-22 |
Family
ID=39032307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007288982A Active JP4550878B2 (ja) | 2006-11-10 | 2007-11-06 | グラフィックス処理装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8269782B2 (ja) |
EP (1) | EP1921583A3 (ja) |
JP (1) | JP4550878B2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009295166A (ja) * | 2008-06-05 | 2009-12-17 | Arm Ltd | グラフィックス処理システム |
KR20120030700A (ko) * | 2010-09-20 | 2012-03-29 | 삼성전자주식회사 | 그래픽 처리 유닛에서의 사전 픽셀 제거를 위한 장치 및 방법 |
JP2013120438A (ja) * | 2011-12-06 | 2013-06-17 | Sony Computer Entertainment Inc | グラフィックスコマンド生成装置およびグラフィックスコマンド生成方法 |
JP2014153893A (ja) * | 2013-02-07 | 2014-08-25 | Sony Computer Entertainment Inc | 描画処理装置および描画処理方法 |
JP2014203121A (ja) * | 2013-04-01 | 2014-10-27 | 株式会社ソニー・コンピュータエンタテインメント | 描画処理装置、描画処理システム、および描画処理方法 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8427490B1 (en) | 2004-05-14 | 2013-04-23 | Nvidia Corporation | Validating a graphics pipeline using pre-determined schedules |
US8624906B2 (en) | 2004-09-29 | 2014-01-07 | Nvidia Corporation | Method and system for non stalling pipeline instruction fetching from memory |
US8493396B2 (en) | 2004-11-15 | 2013-07-23 | Nvidia Corporation | Multidimensional datapath processing in a video processor |
US9092170B1 (en) | 2005-10-18 | 2015-07-28 | Nvidia Corporation | Method and system for implementing fragment operation processing across a graphics bus interconnect |
US8149242B2 (en) * | 2006-11-10 | 2012-04-03 | Sony Computer Entertainment Inc. | Graphics processing apparatus, graphics library module and graphics processing method |
US8683126B2 (en) | 2007-07-30 | 2014-03-25 | Nvidia Corporation | Optimal use of buffer space by a storage controller which writes retrieved data directly to a memory |
US8698819B1 (en) * | 2007-08-15 | 2014-04-15 | Nvidia Corporation | Software assisted shader merging |
US8659601B1 (en) | 2007-08-15 | 2014-02-25 | Nvidia Corporation | Program sequencer for generating indeterminant length shader programs for a graphics processor |
US9024957B1 (en) * | 2007-08-15 | 2015-05-05 | Nvidia Corporation | Address independent shader program loading |
US8411096B1 (en) * | 2007-08-15 | 2013-04-02 | Nvidia Corporation | Shader program instruction fetch |
US9064333B2 (en) | 2007-12-17 | 2015-06-23 | Nvidia Corporation | Interrupt handling techniques in the rasterizer of a GPU |
US8780123B2 (en) | 2007-12-17 | 2014-07-15 | Nvidia Corporation | Interrupt handling techniques in the rasterizer of a GPU |
US8681861B2 (en) | 2008-05-01 | 2014-03-25 | Nvidia Corporation | Multistandard hardware video encoder |
US8923385B2 (en) | 2008-05-01 | 2014-12-30 | Nvidia Corporation | Rewind-enabled hardware encoder |
US8489851B2 (en) | 2008-12-11 | 2013-07-16 | Nvidia Corporation | Processing of read requests in a memory controller using pre-fetch mechanism |
JP5662418B2 (ja) * | 2010-03-24 | 2015-01-28 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | 表示処理装置、表示処理方法、及び集積回路 |
US9349154B2 (en) | 2010-04-05 | 2016-05-24 | Nvidia Corporation | Bindless texture and image API |
US8723877B2 (en) * | 2010-05-20 | 2014-05-13 | Apple Inc. | Subbuffer objects |
AU2014202203B2 (en) * | 2010-05-20 | 2016-04-21 | Apple Inc. | Subbuffer objects |
US10936533B2 (en) | 2016-10-18 | 2021-03-02 | Advanced Micro Devices, Inc. | GPU remote communication with triggered operations |
CN117291788B (zh) * | 2022-06-17 | 2024-10-18 | 象帝先计算技术(重庆)有限公司 | 图形处理方法、系统、装置及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006092219A (ja) * | 2004-09-22 | 2006-04-06 | Sony Computer Entertainment Inc | グラフィックプロセッサ、制御用プロセッサおよび情報処理装置 |
JP2006163552A (ja) * | 2004-12-03 | 2006-06-22 | Sony Computer Entertainment Inc | マルチプロセッサシステムとそのシステムにおけるプログラム実行方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5329615A (en) * | 1990-09-14 | 1994-07-12 | Hughes Aircraft Company | Concurrent general purpose and DMA processing in a graphics rendering processor |
US5864342A (en) * | 1995-08-04 | 1999-01-26 | Microsoft Corporation | Method and system for rendering graphical objects to image chunks |
US6809735B1 (en) * | 2002-01-08 | 2004-10-26 | Apple Computer, Inc. | Virtualization of graphics resources |
US6862027B2 (en) * | 2003-06-30 | 2005-03-01 | Microsoft Corp. | System and method for parallel execution of data generation tasks |
US6952217B1 (en) * | 2003-07-24 | 2005-10-04 | Nvidia Corporation | Graphics processing unit self-programming |
US7015915B1 (en) * | 2003-08-12 | 2006-03-21 | Nvidia Corporation | Programming multiple chips from a command buffer |
US20050057517A1 (en) * | 2003-09-17 | 2005-03-17 | Rix Scott M. | Computer input device with individually positionable and programmable switches |
US8473750B2 (en) * | 2004-12-15 | 2013-06-25 | Nvidia Corporation | Chipset security offload engine |
US7586492B2 (en) * | 2004-12-20 | 2009-09-08 | Nvidia Corporation | Real-time display post-processing using programmable hardware |
US7428619B2 (en) * | 2005-01-18 | 2008-09-23 | Sony Computer Entertainment Inc. | Methods and apparatus for providing synchronization of shared data |
US7629978B1 (en) * | 2005-10-31 | 2009-12-08 | Nvidia Corporation | Multichip rendering with state control |
JP5041728B2 (ja) * | 2006-05-08 | 2012-10-03 | 任天堂株式会社 | ゲームプログラムおよびゲームシステム |
US20080055326A1 (en) * | 2006-09-05 | 2008-03-06 | Yun Du | Processing of Command Sub-Lists by Multiple Graphics Processing Units |
-
2007
- 2007-10-30 US US11/927,837 patent/US8269782B2/en active Active
- 2007-11-05 EP EP07021496.0A patent/EP1921583A3/en not_active Withdrawn
- 2007-11-06 JP JP2007288982A patent/JP4550878B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006092219A (ja) * | 2004-09-22 | 2006-04-06 | Sony Computer Entertainment Inc | グラフィックプロセッサ、制御用プロセッサおよび情報処理装置 |
JP2006163552A (ja) * | 2004-12-03 | 2006-06-22 | Sony Computer Entertainment Inc | マルチプロセッサシステムとそのシステムにおけるプログラム実行方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009295166A (ja) * | 2008-06-05 | 2009-12-17 | Arm Ltd | グラフィックス処理システム |
US8698820B2 (en) | 2008-06-05 | 2014-04-15 | Arm Limited | Graphics processing systems |
KR20120030700A (ko) * | 2010-09-20 | 2012-03-29 | 삼성전자주식회사 | 그래픽 처리 유닛에서의 사전 픽셀 제거를 위한 장치 및 방법 |
KR101719485B1 (ko) | 2010-09-20 | 2017-03-27 | 삼성전자주식회사 | 그래픽 처리 유닛에서의 사전 픽셀 제거를 위한 장치 및 방법 |
JP2013120438A (ja) * | 2011-12-06 | 2013-06-17 | Sony Computer Entertainment Inc | グラフィックスコマンド生成装置およびグラフィックスコマンド生成方法 |
US9424617B2 (en) | 2011-12-06 | 2016-08-23 | Sony Corporation | Graphics command generation device and graphics command generation method |
JP2014153893A (ja) * | 2013-02-07 | 2014-08-25 | Sony Computer Entertainment Inc | 描画処理装置および描画処理方法 |
US9652886B2 (en) | 2013-02-07 | 2017-05-16 | Sony Corporation | Rendering processing device and rendering processing method using interpolation rendering result |
JP2014203121A (ja) * | 2013-04-01 | 2014-10-27 | 株式会社ソニー・コンピュータエンタテインメント | 描画処理装置、描画処理システム、および描画処理方法 |
US9536274B2 (en) | 2013-04-01 | 2017-01-03 | Sony Corporation | Drawing processor, drawing processing system, and drawing processing method |
Also Published As
Publication number | Publication date |
---|---|
JP4550878B2 (ja) | 2010-09-22 |
US20080278509A1 (en) | 2008-11-13 |
EP1921583A3 (en) | 2014-07-23 |
US8269782B2 (en) | 2012-09-18 |
EP1921583A2 (en) | 2008-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4674729B2 (ja) | グラフィックス処理装置、グラフィックスライブラリモジュール、およびグラフィックス処理方法 | |
JP4550878B2 (ja) | グラフィックス処理装置 | |
KR101091374B1 (ko) | 테셀레이션을 단일 패스로 수행하기 위한 방법 및 시스템 | |
TWI645371B (zh) | 在上游著色器內設定下游著色狀態 | |
US8077174B2 (en) | Hierarchical processor array | |
JP5960368B2 (ja) | ビジビリティ情報を用いたグラフィックスデータのレンダリング | |
US8120607B1 (en) | Boundary transition region stitching for tessellation | |
JP5436526B2 (ja) | グラフィックスコマンド生成装置、グラフィックスコマンド生成方法、サーバ装置、およびクライアント装置 | |
TW201432609A (zh) | 已分配的拼貼快取 | |
US8941669B1 (en) | Split push buffer rendering for scalability | |
TWI633516B (zh) | 曲面細分及幾何著色器的功率效率屬性處理 | |
WO2017003697A1 (en) | Rendering graphics data on demand | |
US11275662B2 (en) | Fault injection architecture for resilient GPU computing | |
TW201439970A (zh) | 儲存共用頂點之技術 | |
CN107392836B (zh) | 使用图形处理管线实现的立体多投影 | |
JP2007316940A (ja) | マルチプロセッサシステム、ライブラリモジュール、および描画処理方法 | |
US20130127849A1 (en) | Common Rendering Framework and Common Event Model for Video, 2D, and 3D Content | |
TW201439975A (zh) | 在光柵操作中處理後置z覆蓋率資料 | |
TW201443826A (zh) | 儲存共用頂點之技術 | |
US7750915B1 (en) | Concurrent access of data elements stored across multiple banks in a shared memory resource | |
US7484076B1 (en) | Executing an SIMD instruction requiring P operations on an execution unit that performs Q operations at a time (Q<P) | |
US8947444B1 (en) | Distributed vertex attribute fetch | |
US20230097097A1 (en) | Graphics primitives and positions through memory buffers | |
US12062126B2 (en) | Load multiple primitives per thread in a graphics pipeline | |
US20230205698A1 (en) | Cache blocking for dispatches |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100618 |
|
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: 20100629 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100708 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4550878 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130716 Year of fee payment: 3 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |