JP2009543195A - グラフィックスパイプラインステートの高速再構成 - Google Patents
グラフィックスパイプラインステートの高速再構成 Download PDFInfo
- Publication number
- JP2009543195A JP2009543195A JP2009518138A JP2009518138A JP2009543195A JP 2009543195 A JP2009543195 A JP 2009543195A JP 2009518138 A JP2009518138 A JP 2009518138A JP 2009518138 A JP2009518138 A JP 2009518138A JP 2009543195 A JP2009543195 A JP 2009543195A
- Authority
- JP
- Japan
- Prior art keywords
- resource
- slot
- shader
- resources
- data
- 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
- 238000000034 method Methods 0.000 claims abstract description 93
- 239000000872 buffer Substances 0.000 claims description 79
- 238000012545 processing Methods 0.000 claims description 30
- 230000008878 coupling Effects 0.000 claims description 9
- 238000010168 coupling process Methods 0.000 claims description 9
- 238000005859 coupling reaction Methods 0.000 claims description 9
- 230000027455 binding Effects 0.000 claims description 7
- 238000009739 binding Methods 0.000 claims description 7
- 230000015654 memory Effects 0.000 description 43
- 238000003860 storage Methods 0.000 description 32
- 230000008569 process Effects 0.000 description 30
- 230000006854 communication Effects 0.000 description 21
- 238000004891 communication Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 17
- 238000009877 rendering Methods 0.000 description 17
- 238000004422 calculation algorithm Methods 0.000 description 15
- 230000000694 effects Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 10
- 239000002609 medium Substances 0.000 description 10
- 230000008859 change Effects 0.000 description 8
- 230000007704 transition Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000009466 transformation Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000005457 optimization Methods 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 230000005055 memory storage Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000000844 transformation Methods 0.000 description 4
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000007667 floating Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 101150019148 Slc7a3 gene Proteins 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 229920001690 polydopamine Polymers 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 101000825841 Homo sapiens Vacuolar-sorting protein SNF8 Proteins 0.000 description 1
- 102100022787 Vacuolar-sorting protein SNF8 Human genes 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000009429 electrical wiring Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000010387 memory retrieval Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 239000006163 transport media Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
Abstract
グラフィックスパイプラインにおいて、シェーダに関連付けられる特定のスロットにリソースを結合するための技法及び技術を提供する。各シェーダによって利用されているリソース間のリソース依存関係が決定され得、これらのリソース依存関係に基づいてコモンリソース/スロット関連付けが、計算され得る。コモンリソース/スロット関連付けそれぞれは、特定のスロットの1つに関連付けられる特定のリソース1つを指定する。
【選択図】図6
Description
以下の詳細説明は、実際には単に例示的であって、本発明又はアプリケーション及び本発明の用途を限定する意図はない。本明細書において、語句「例示的」は、「例、実例又は図示として提供すること」を意味する。本明細書に「例示的である」として記述された任意の実装は、他の実装に比較して必ずしも好ましいか又は有利であると理解される必要はない。後述する実装のすべては、当業者が本発明を作成又は使用可能にするために提供される例示的な実装であって、請求項によって定義される発明の範囲を限定する意図はない。更に、以前の背景、簡潔な概要又は以下の詳細な説明において提示された任意の表現又は暗示された理論によって拘束される意図は全くない。
用語
本明細書において、用語「シェーダ」は、一般にシェーディングを実行するGPUのハードウェアサブユニットを参照するか又はシェーディングを実行するためのシェーダ(ハードウェア)によって使用されるメモリ例えばレジスタ記憶装置に次にロードされる、GPUにダウンロードされる命令セット又はトークンを参照するために使用され得る。用語「シェーダ」は、動作する双方を一緒に参照することもできる。また用語「サブユニット」が用語「シェーダ」に関連しても使用され、用語「シェーダ」は、シェーディングに関連するプロセスを実行するGPUのサブユニットについて参照するように解釈されたい。用語「シェーダプログラム」は、一般にグラフィックスパイプラインに存在し実行するプログラム又はプロセスを参照し得、画面上の最終的な画像の表面特性又は3次元画面環境におけるオブジェクトの決定/定義を支援するために使用される。「シェーダ」は、それらの特定のタスクを実行するために毎秒何十億の計算を実行可能である。
概要
実行時のシェーダ定数の使用パターンを追跡し、次にシェーダ定数の使用形態に関連するデータの使用パターンを生成するための技法を提供する。この使用パターンのデータは次に、一定の経験則を所与として最大性能のために、データを効率的に割り付けるための最適化アルゴリズムに与えられ得る。考慮される要因は、例えば値のクライアント更新周期、一定のシェーダによる用法、結果バッファのサイズ及び数を含む。
例示的ネットワーク分散環境
当業者は、本発明が任意の計算機又は他のクライアント又はサーバ装置と接続し実装され得、計算機ネットワークの一部として又は分散計算環境において、使用され得ることを理解されよう。この点において、本発明は、様々なメモリ又は記憶装置を有する計算機システム又は環境と、様々な記憶ユニット又はボリュームに渡って発生する様々なアプリケーション及びプロセスと、に関連し本発明による任意のグラフィックスパイプラインの非限定的な実装のためのプロセスに関連し使用され得る。本発明は、リモート又はローカル記憶装置を有するネットワーク環境又は分散計算環境において配備されるサーバ計算機及びクライアント計算機を用いた環境に適用できる。また本発明は、プログラム言語機能性、インタプリタ及びリモート又はローカルサービスと接続して情報を生成し、受信し、送信するための実行能力を有する単独で動作する計算装置に適用され得る。ゲーム環境においては、グラフィックスパイプラインは、特にネットワーク化された又は分散化された計算環境において作動する計算装置に関連し、従って本発明によるグラフィックスパイプライン技法は、それらの環境において多くの効力を適用できる。
例示的計算装置
図2及び以下の論述は、本発明に関連し実施され得る適切な計算環境の簡潔な概説を提供することを意図する。しかしながら、ハンドヘルド、携帯用及び他の計算装置及びすべての種類の計算オブジェクトが、すなわちそのGPUが計算環境どこでも存在する所において、本発明に関連した使用に対して想定されることを理解されたい。汎用計算機が以下に説明されるが、これは一例に過ぎず、本発明は、ネットワーク/バス相互運用性及び相互作用を有するシンクライアントを用いて実施され得る。このように本発明は、微小又は最小のクライアントリソースが関係していると見なされるネットワークに接続されたホストのサービス環境において実施され得、例えばそこではクライアント装置は、電化製品に置かれるオブジェクトのような単にネットワーク/バスにインタフェースとしての役目を果たす。本質的にデータがストアされ得るか又はデータがそこからリトリーブ又は別の計算機に送信され得る場所は、本発明に従ったグラフィックス最適化技法の操作のために望まれる又は適する環境である。
例示的分散計算フレームワーク又はアーキテクチャ
様々な分散計算フレームワークが、個人的な計算及びインターネットの集合の観点から開発されている。個人及びビジネスユーザは、一様にアプリケーション及び計算装置用の相互利用可能なウェブ対応できるインタフェースをシームレスに提供され、計算活動をますますウェブブラウザ又はネットワーク指向にする
例えば、マイクロソフト(登録商標)に管理されたコードプラットフォーム、すなわちドットネット(.NET)は、ウェブを基本とするデータ記憶装置及びダウンロード可能なデバイスソフトウェアなどのサーバ、ビルディングブロックサービスを含む。一般的に述べると、ドットネットのプラットフォームは、(1)計算装置の全体に渡って共に実行させ、それらすべてに対しユーザ情報を自動的に更新させ同期させる能力、(2)HTMLよりむしろXMLをより広範囲に使用することによって可能とされるウェブページに対し増大する対話能力、(3)例えば電子メールなどの様々なアプリケーション又はOffice NETのようなソフトウェア管理のための中心となる開始点からユーザにカスタマイズされた製品及びサービスのアクセス及び配布を特徴とするオンラインサービス、(4)情報へのアクセス効率及び容易さの他にユーザと装置との間の情報同期もまた増大させる中央データ記憶領域、(5)電子メール、ファックス及び電話などの様々な通信媒体統合化能力、(6)開発者に対する再利用モジュール生成能力及びそれによって生産性を増加しプログラミングエラー数を低減させる能力、(7)多くの他のクロスプラットフォーム及び言語統合機能など、を提供する。
例示的3次元グラフィックスシステムコンポーネント
図3は、グラフィックスプロセッシングユニット(GPU)(384’)を含むビデオカードなどのグラフィックスサブユニットを含む例示的なグラフィックスシステム(300)及び関連付けられるグラフィックスパイプライン(384’−1)用の例示的なハードウェア構成を示す。例示的な3次元グラフィックスシステム(300)は特に、中央処理ユニット(CPU)(320)と、(時として「レンダリングパイプライン」として呼ばれる)グラフィックスパイプライン(384’−1)を含む(時としてビジュアルプロセッシングユニット(VPU)と呼ばれる)グラフィックスプロセッシングユニット(GPU)(384’)を含むグラフィックスカードと、を含み得る。GPU(384’)は、例えばAGP又はPCI高速バスを介し、CPU(320)及びメインRAMと、接続され得る。
パイプラインステージ
グラフィックスパイプライン(384’−1)は一般に、以下論理的なステージであるインプットアセンブラ(IA)、バーテックスシェーダ(384’−1a1)及び(384’−1a2)、関連付けられたストリーム出力(384’−2)有するジオメトリシェーダ(384’−1a3)、ラスタライザー(384’−1c)、ピクセルシェーダ(384’−1a4)及びアウトプットマージャ(OM)を含み得る。グラフィックスパイプライン(384’−4)は、リソースの使用を最適化し、グラフィックスパイプライン(384’−1)における作業負荷の平衡をとり、IEEE準拠の整数又は浮動小数点値を用いて計算される情報にアクセス可能とし、更なるプログラム可能性を提供するように構成され得る。
インプットアセンブラ(IA)
グラフィックスパイプライン(384’−1)は、アプリケーションから着信するプリミティブデータ及びバーテックスデータを受信し、計算機モニタ又は画面上に出力を表示する前に、様々なパイプラインステージを介しそれを渡す。インプットアセンブラ(IA)は、ソースの幾何学的図形データをバーテックスメモリ及びインデックスメモリバッファから取り出すことによって、三角形、ライン又はポイントなどのバーテックスデータをグラフィックスパイプライン(384’−1)へ導く。
バーテックスシェーダステージ
インプットアセンブラ(IA)は、第1のコモンコア(384’−1a1)にデータを送信する。この実施形態においては、第1のコモンコア(384’−1a1)は、バーテックスシェーダステージとして構成される。バーテックスシェーダステージは、ホストからプログラムを介しアルゴリズム変換用に指定される(グラフィックスパイプラインの映像メモリから)バーテックスストリームを操作又は処理する。特に、バーテックスシェーダは、一定の変数及びバーテックス属性などの様々な入力を受信できる。一定の変数は、シェーダ呼び出しそれぞれのための定数値である。対照的にバーテックス属性は、バーテックス位置などのバーテックス毎の(特別な場合の変数値)データである。
テッセレータステージ
データはその後、データに対するテセレーションを実行するテッセレータ(384’−1b)に送信され得る。テセレーションステップは、(破線の長方形で示されるように)任意であって、実用的な実装の中には全く発生しないものもあることを当業者には十分に理解されよう。テッセレーションは、一般に1つのタイプ又は数タイプの適合する平面図形によるギャップ又はオーバラップをせずに区分けされる幾何学的図形領域のカバリングに関連する処理を参照している。テッセレータ(384’−1b)に続いて、パイプラインに別のコモンコアが存在し、データに対するポストテセレーションのバーテックスシェーディングを実行するために使用され得る。この実施形態においては、テッセレータステップは任意である。
ジオメトリシェーダステージ
第2のコモンコアは、ジオメトリシェーダ(384’−1a3)として構成される第3のコモンコアの後に続く。ジオメトリシェーダ(384’−1a3)は、プログラミングプリミティブの他に新しい幾何学的図形の生成もまた可能にする。ジオメトリシェーダ(384’−1a3)は、バーテックス(複数)/ポイント(複数)、ライン(複数)(2つのバーテックスセット)及び三角形(複数)(3つのラインセット)を含む異なるタイプの「プリミティブ」入力に影響し、入力されるプリミティブに基づいてパイプライン内部に新しい幾何学的図形を生成し得る。ジオメトリシェーダの入力は、完全プリミティブ用バーテックス(ライン用の2つのバーテックス、三角形用の3つのバーテックス又はポイント用の単一バーテックス)及びエッジ隣接プリミティブ用バーテックス(ライン用の更なる2つのバーテックス、三角形用の更なる3つのバーテックス)データである。ジオメトリシェーダの(384’−1a3)は、例えば1つのプリミティブを受信し得、0、1又は複数のプリミティブのいずれかを出力できる。ジオメトリシェーダ(384’−1a3)は、選択された単一のトポロジーを形成する複数バーテックスを出力できる。出力例の中には、三角形ストリップのようなトポロジー、ラインストリップ又はポイントリストを含む。エミットされたプリミティブの数は、任意のジオメトリシェーダ(384’−1a3)呼び出しの内部で変更できる。
ストリーム出力
ストリーム出力(SO)(384’−2)は、ラスタライザー(384’−1c)に流し続けるデータとして起動及び停止可能なグラフィックスパイプライン(384’−1)の「蛇口」のような役目をする。ストリーム出力(SO)(384’−2)は、データがラスター化のためのフレームバッファに達する前に、グラフィックスパイプライン(384’−1)内部のどこにおいてもタップされ得る。
ラスタライザー
グラフィックスパイプライン(384’−1)の次のコンポーネントは、ラスタライザー(384’−1c)である。ラスタライザー(384’−1c)は、必ずしもグラフィックスパイプライン(384’−1)においてステージではないが、むしろ様々なパイプライン(384’−1)のステージ間のインタフェースである。ラスタライザー(384’−1c)は、入力位置がクリップ空間において提供されると見なし、クリッピング、透視図分割、ビューポート又はシサーズ選択、プリミティブセットアップ及びピクセルシェーダ(384’−1a4)の呼び出し方法の決定を含む重要な固定の機能操作セットを実行する。これらの機能の多くは、ソフトウェア開発者によって調整され得る。
ピクセルシェーダステージ
以下のラスタライザーは、4番目のコモンコア(384’−1a4)であって、それは1つのピクセルを受け取り、ある位置でピクセルを出力するピクセルシェーダとして機能する。ピクセルシェーダは、各ピクセル単位で入力として例えば画像テクスチャ(又はテクスチャデータ)を含み得るショートプログラムによって処理されることを可能にする。ピクセルシェーダは、開発者がピクセルレベルで明るさ、色又は表面を変更することによって、色、テクスチャ又は形状でさえも操作可能にする。ピクセルシェーダは、各ピクセルの明るさ、色及び表面を変更するために使用され得る。これは、これらのピクセルから構築された3次元オブジェクトの色、テクスチャ及び形状すべてに対し順に影響する。
アウトプットマージャ
アウトプットマージャ(OM)においては、論理グラフィックスパイプライン(384’−1)の最終ステップ、他のピクセル処理機能が、最終的なピクセルをレンダリングするために実行され得る。これらの機能は、例えば出力リソース(レンダリング対象)の結合、シザーズ検査を用いたピクセルの色の値の変更、深さバイアスを介する視覚化決定及び/又はステンシルバッファ技法又はアルファブレンド又はフォグなどの機能の適用、シャドウイング、バンプマッピング、環境マッピング、アンチエイリアシング、対象(単数又は複数)をレンダリングするための書き出し又はブレンドを含み得、多くのリソースタイプ及びマルチエレメントテクスチャの1つであり得る。これらの機能をデータに対して実行後、データは、最後に更に処理されて最終的にはモニタ(191)上に表示される。
パイプラインにおけるシェーダ用コモンシェーダコア
図4は、コモンシェーダコア(384’−1a)のハードウェア及びソフトウェアコンポーネントの例示的で非限定的な実施形態を表すブロック図である。コモンシェーダコア(384’−1a)は、例えば図3に以前示されたバーテックスシェーダ(384’−1a1)及び(384’−1a2)、ジオメトリシェーダ(384’−1a3)又はピクセルシェーダ(384’−1a4)のいずれかを実施するために使用され得る。
入力データは、その後、シェーダコード(410)に送信される。シェーダコード(410)は、フロー制御機構、ベクトル浮動小数点及び整数演算を処理する演算論理ユニット(ALU)、メモリフェッチ又はサンプル操作及びシェーダ機能又は入力データに対して実行される特定の変換を指定するプログラムを提供する。またシェーダコード(410)は、サンプラー(413)、テクスチャ(414)及び定数バッファ(415)からの情報などの他のいくつかの入力又はリソースを受信し得る。シェーダコード(410)は、一時レジスタ(複数)(411)及びサブルーチンリターンアドレススタック(412)を用いた双方向通信もまた有する。
シェーダ間の切り換え時、グラフィックスカードにおいて必要とされる結合の再構成数を低減/最小化する(例えばスロット再結合の際、通常発生するステート変更を低減及び/又は最小化する)ために、一定のスロットにリソース(例えば定数バッファ、テクスチャ及びサンプラー)を最適に結合するための技法を提供する。これらの技法によってシェーダプログラムそれぞれの間の一般的な依存関係が決定され得、この決定に基づいて特定のスロットが特定のリソースに結合され得る。依存ツリーは、異なるシェーダリソース間の関係又は依存関係の経過を保持する。特定のリソースそれぞれは、依存ツリーにおける親オブジェクトのスロットに結合される。開示されたこれらの技法は、依存関係走査及び依存ツリー再構成を含んでいて、シェーダがリソース結合される所において、それらの期待値を変更し得る。その結果、現在ロードされたシェーダ間を遷移するために再結合される必要があるスロット数が低減及び/又は最小化され得る。
ステップ(910)においては、特定のリソースの1つが第1のスロットに結合される場合、各シェーダをレンダリングするために要求されるステート変更数が決定され得る。この決定は、シェーダプログラムそれぞれによって利用されているリソース間のリソース依存関係を使用することによって実行され得る。ステップ(920)においては、特定のリソースの1つが第1のスロットに結合される場合、各シェーダをレンダリングするために要求されるwasted(浪費)スロット数が決定され得る。前述のようにこの決定は、シェーダプログラムそれぞれによって利用されているリソース間のリソース依存関係を使用することによって実行され得る。ステップ(930)においては、ステート変更数及び浪費スロット数を使用し、第1のコストが計算され得る。この第1のコストは、第1のスロットに特定のリソースの1つを結合することに関連するコストである。
Claims (20)
- グラフィックスパイプライン(384’−1)において、シェーダ(584’−1)に関連付けられる特定のスロットにリソースを結合するための方法(600)であって、
各シェーダによって利用されているリソース間のリソース(413〜415)依存関係を決定するステップ(620)と、
コモンリソース/スロット関連付けを前記リソース(413〜415)依存関係に基づいて計算するステップ(630)であって、コモンリソース/スロットそれぞれの関連付けが、前記特定のスロットの1つに関連付けられるべき前記特定のリソース(413〜415)の1つを指定するものと、を含む方法。 - 各シェーダによって利用されているリソース間のリソース依存関係を決定するステップが、
各シェーダに対する特定のリソース/スロット割り振りを各シェーダにおいて決定するステップであって、各シェーダに対する前記特定のリソース/スロット割り振りが、各リソースの特定のスロットそれぞれにおいて、どのリソースが使用されるかを指定するものと、
各シェーダによって利用されているリソース間のリソース依存関係を前記特定のリソース/スロット割り振りに基づいて決定するステップと、を含む請求項1記載の方法。 - コモンリソース/スロット関連付けを計算するステップが、
コモンリソース/スロット関連付けを前記リソースの依存関係に基づいて計算するステップであって、コモンリソース/スロット関連付けそれぞれが、シェーダ間の切り換え時、リソース再構成コストが低減されるように、前記特定のスロットの1つに関連付けられる前記特定のリソースの1つを指定するもの、を含むことを特徴とする請求項2記載の方法。 - 更に、
前記コモンリソース/スロット関連付けに従って、各スロットに結合される前記リソースを前記シェーダそれぞれにおいて再構成するステップを含む請求項3記載の方法。 - コモンリソース/スロット関連付けを計算するステップが、
(a)第1のスロットに結合される前記リソースのうち特定の1つを決定するステップと、
(b)第2のスロットに結合される前記残りのリソースのうち特定の1つを決定するステップと、
所定数の前記スロットがそれと関連付けられる前記リソースの1つを有するまで残りのスロットそれぞれに対し、ステップ(b)を繰り返すステップと、を含むことを特徴とする請求項3記載の方法。 - 第1のスロットに結合される第1のリソースを決定するステップが、
各シェーダによって利用されているリソース間の前記リソース依存関係に基づいて、前記第1のスロットに各リソースを結合するためのコストを計算するステップと、
最小コストを有する特定のリソースの1つを選択するステップと、
前記第1のリソースとして、前記最小コストを有するものとして選択されるリソースを指定するステップと、を含むことを特徴とする請求項5記載の方法。 - 第2のスロットに結合される第2のリソースを決定するステップが、
前記第2のスロットに前記残りのリソースそれぞれを結合するためのコストを計算するステップと、
最小コストを有する前記残りのリソースを選択するステップと、
前記第2のリソースとして、前記最小コストを有するものとして選択される前記残りのリソースを指定するステップと、を含むことを特徴とする請求項6記載の方法。 - 前記第1のスロットに各リソースを結合するためのコストを計算するステップが、
(a)前記特定のリソースの1つが、前記第1のスロットに結合される場合、各シェーダプログラムによって利用されているリソース間の前記リソース依存関係に基づいて、各シェーダをレンダリングするために要求されるステート変更の数を決定するステップと、
(b)前記特定のリソースの1つが、前記第1のスロットに結合される場合、各シェーダプログラムによって利用されているリソース間の前記リソース依存関係に基づいて、要求される浪費スロットの数を決定するステップと、
(c)前記ステート変更数及び前記浪費スロット数に基づいて、前記第1のスロットに前記特定のリソースの1つを結合することに関連する第1のコストを計算するステップと、
前記第1のスロットに前記リソースそれぞれを結合するためのコストが計算されるまで、ステップ(a)から(c)を繰り返すステップと、を含むことを特徴とする請求項6記載の方法。 - 更に、
コモンリソース/スロット関連付けによって指定された前記特定のスロットに前記特定のリソースそれぞれを結合するステップを含む請求項1記載の方法。 - 各シェーダが、同一の前記コモンリソース/スロット関連付けを有していて、各シェーダにおいて前記特定の同一リソースが、前記特定の同一スロットの1つに関連付けられることを特徴とする請求項1記載の方法。
- 前記リソースが、定数バッファを含むことを特徴とする請求項1記載の方法。
- 前記リソースが、定数バッファ、少なくとも1つのテクスチャ及びサンプラーを含むことを特徴とする請求項1記載の方法。
- 請求項1記載の方法を実行するための計算機実行可能命令を含む計算機可読媒体。
- 請求項1のステップを実行するための計算機実行可能モジュールを含むグラフィックスアプリケーションプログラミングインタフェース。
- 請求項1記載の方法を実行するためにグラフィックスプロセッシングユニットに命令するためのアプリケーションプログラミングインタフェース。
- 複数のリソースを含む依存ツリーを再構成する方法であって、特定のリソースそれぞれが、前記依存ツリーの親オブジェクトのスロットに結合されることを特徴とするものが、
前記依存ツリーの前記リソース依存関係それぞれを走査するステップと、
前記依存ツリーの複数の異なるリソース構成それぞれに関連付けられるコストを計算するステップと、
異なるシェーダ間の切り換え時、デバイス再構成数を最小化する前記依存ツリーの特定のリソース再構成を選択するステップと、を含むことを特徴とする方法。 - 前記依存ツリーのリソース再構成それぞれが、一定のリソースが結合されている特定のスロットを変更することを特徴とする請求項16記載の方法。
- 異なるシェーダ間の切り換えのために、再結合される必要があるスロット数を最小化する前記依存ツリーの特定のリソース再構成を選択するステップを含むことを特徴とする請求項16記載の方法。
- 前記方法がオフラインコンテンツ生成のために実行され、更に、前記依存ツリーの特定のリソース再構成をストアするステップを含むことを特徴とする請求項16記載の方法。
- 前記方法がアプリケーション実行時/ロード時に動的に実行されることを特徴とする請求項16記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/477,272 US8111260B2 (en) | 2006-06-28 | 2006-06-28 | Fast reconfiguration of graphics pipeline state |
US11/477,272 | 2006-06-28 | ||
PCT/US2007/013410 WO2008002384A2 (en) | 2006-06-28 | 2007-06-07 | Fast reconfiguration of graphics pipeline state |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2009543195A true JP2009543195A (ja) | 2009-12-03 |
JP2009543195A5 JP2009543195A5 (ja) | 2010-07-08 |
JP5154551B2 JP5154551B2 (ja) | 2013-02-27 |
Family
ID=38846159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009518138A Active JP5154551B2 (ja) | 2006-06-28 | 2007-06-07 | グラフィックスパイプラインステートの高速再構成 |
Country Status (7)
Country | Link |
---|---|
US (2) | US8111260B2 (ja) |
EP (1) | EP2033085B1 (ja) |
JP (1) | JP5154551B2 (ja) |
KR (1) | KR101231291B1 (ja) |
CN (2) | CN102982504B (ja) |
MX (1) | MX2008015162A (ja) |
WO (1) | WO2008002384A2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012137984A (ja) * | 2010-12-27 | 2012-07-19 | Digital Media Professional:Kk | 画像処理装置 |
JP2013218527A (ja) * | 2012-04-09 | 2013-10-24 | Mitsubishi Electric Corp | グラフィックス描画装置 |
KR20170005823A (ko) * | 2014-06-30 | 2017-01-16 | 인텔 코포레이션 | 필터링된 코어스 픽셀 쉐이딩을 위한 방법 및 장치 |
JP7490791B2 (ja) | 2020-02-28 | 2024-05-27 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | マルチテナントグラフィック処理ユニットの動的透過再構成 |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7948495B1 (en) * | 2006-02-02 | 2011-05-24 | Nvidia Corporation | Linking texture headers and texture samplers |
US8154554B1 (en) | 2006-07-28 | 2012-04-10 | Nvidia Corporation | Unified assembly instruction set for graphics processing |
US20080252652A1 (en) * | 2007-04-13 | 2008-10-16 | Guofang Jiao | Programmable graphics processing element |
US8610725B2 (en) * | 2007-10-10 | 2013-12-17 | Apple Inc. | Framework for dynamic configuration of hardware resources |
US8836700B2 (en) * | 2008-05-29 | 2014-09-16 | Advanced Micro Devices, Inc. | System, method, and computer program product for a tessellation engine using a geometry shader |
US8854379B2 (en) * | 2009-02-25 | 2014-10-07 | Empire Technology Development Llc | Routing across multicore networks using real world or modeled data |
US8749562B1 (en) * | 2009-09-23 | 2014-06-10 | Nvidia Corporation | Sharing binding groups between shaders |
US8619087B2 (en) * | 2009-10-06 | 2013-12-31 | Nvidia Corporation | Inter-shader attribute buffer optimization |
US8786618B2 (en) * | 2009-10-08 | 2014-07-22 | Nvidia Corporation | Shader program headers |
US8766988B2 (en) * | 2009-10-09 | 2014-07-01 | Nvidia Corporation | Providing pipeline state through constant buffers |
US8872823B2 (en) * | 2009-10-09 | 2014-10-28 | Microsoft Corporation | Automatic real-time shader modification for texture fetch instrumentation |
US9582919B2 (en) * | 2009-10-09 | 2017-02-28 | Microsoft Technology Licensing, Llc | Automatic run-time identification of textures |
US9390539B2 (en) * | 2009-11-04 | 2016-07-12 | Intel Corporation | Performing parallel shading operations |
US8432398B2 (en) * | 2009-11-05 | 2013-04-30 | Microsoft Corporation | Characteristic determination for an output node |
US8756590B2 (en) | 2010-06-22 | 2014-06-17 | Microsoft Corporation | Binding data parallel device source code |
WO2012054089A2 (en) * | 2010-10-21 | 2012-04-26 | Net Power And Light Inc. | Distributed processing pipeline and distributed layered application processing |
CN102496169A (zh) * | 2011-11-30 | 2012-06-13 | 威盛电子股份有限公司 | 重迭对象的绘制方法及装置 |
US20130342535A1 (en) * | 2012-06-20 | 2013-12-26 | Microsoft Corporation | Hierarchical Tree Traversal in Graphics Pipeline Stages |
US9830741B2 (en) * | 2012-11-07 | 2017-11-28 | Nvidia Corporation | Setting downstream render state in an upstream shader |
KR101695013B1 (ko) * | 2012-12-14 | 2017-01-10 | 한국전자통신연구원 | 적응형 자원 할당 및 관리 방법 |
US20140267327A1 (en) | 2013-03-14 | 2014-09-18 | Microsoft Corporation | Graphics Processing using Multiple Primitives |
US9384589B2 (en) | 2013-04-29 | 2016-07-05 | Microsoft Technology Licensing, Llc | Anti-aliasing for geometries |
US20140354658A1 (en) * | 2013-05-31 | 2014-12-04 | Microsoft Corporation | Shader Function Linking Graph |
US10013732B2 (en) * | 2013-06-28 | 2018-07-03 | Lockheed Martin Corporation | Externally directed GPU data |
US9747658B2 (en) | 2013-09-06 | 2017-08-29 | Apple Inc. | Arbitration method for multi-request display pipeline |
US9292903B2 (en) * | 2013-10-03 | 2016-03-22 | Google Inc. | Overlap aware reordering of rendering operations for efficiency |
US9766954B2 (en) | 2014-09-08 | 2017-09-19 | Microsoft Technology Licensing, Llc | Configuring resources used by a graphics processing unit |
US9779535B2 (en) | 2014-03-19 | 2017-10-03 | Microsoft Technology Licensing, Llc | Configuring resources used by a graphics processing unit |
US10430169B2 (en) * | 2014-05-30 | 2019-10-01 | Apple Inc. | Language, function library, and compiler for graphical and non-graphical computation on a graphical processor unit |
US9740464B2 (en) | 2014-05-30 | 2017-08-22 | Apple Inc. | Unified intermediate representation |
US10346941B2 (en) | 2014-05-30 | 2019-07-09 | Apple Inc. | System and method for unified application programming interface and model |
US20150348224A1 (en) * | 2014-05-30 | 2015-12-03 | Apple Inc. | Graphics Pipeline State Object And Model |
CN104616327B (zh) * | 2014-07-31 | 2017-07-14 | 浙江大学 | 一种基于曲面细分的着色器简化方法、装置及图形渲染方法 |
CN104183008B (zh) * | 2014-07-31 | 2017-01-18 | 浙江大学 | 一种基于表面信号拟合和曲面细分的着色器简化方法、装置及图形渲染方法 |
US9779528B2 (en) | 2014-09-12 | 2017-10-03 | Microsoft Technology Licensing, Llc | Text realization |
US10417990B2 (en) * | 2014-10-16 | 2019-09-17 | Nvidia Corporation | Efficient binding of resource groups in a graphics application programming interface |
US10108321B2 (en) * | 2015-08-31 | 2018-10-23 | Microsoft Technology Licensing, Llc | Interface for defining user directed partial graph execution |
US9881352B2 (en) * | 2015-11-13 | 2018-01-30 | Intel Corporation | Facilitating efficient graphics commands processing for bundled states at computing devices |
US10460513B2 (en) | 2016-09-22 | 2019-10-29 | Advanced Micro Devices, Inc. | Combined world-space pipeline shader stages |
US11080927B2 (en) * | 2017-11-30 | 2021-08-03 | Advanced Micro Devices, Inc. | Method and apparatus of cross shader compilation |
GB2570304B (en) | 2018-01-18 | 2022-06-01 | Imagination Tech Ltd | Topology preservation in a graphics pipeline |
US10430367B1 (en) * | 2018-07-12 | 2019-10-01 | Dell Products L.P. | Systems and methods for optimal placement of information handling resource |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003515853A (ja) * | 1999-12-06 | 2003-05-07 | エヌヴィディア | 単一の半導体プラットフォームで支持される変換、ライティング、ラスター化システム |
JP2005322224A (ja) * | 2004-05-03 | 2005-11-17 | Microsoft Corp | 拡張グラフィックスパイプラインを提供するシステムおよび方法 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6295608B1 (en) | 1998-02-17 | 2001-09-25 | Microsoft Corporation | Optimized allocation of data elements among cache lines |
US6189105B1 (en) | 1998-02-20 | 2001-02-13 | Lucent Technologies, Inc. | Proximity detection of valid computer user |
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 |
US6070202A (en) | 1998-05-11 | 2000-05-30 | Motorola, Inc. | Reallocation of pools of fixed size buffers based on metrics collected for maximum number of concurrent requests for each distinct memory size |
US6427234B1 (en) * | 1998-06-11 | 2002-07-30 | University Of Washington | System and method for performing selective dynamic compilation using run-time information |
US6243107B1 (en) | 1998-08-10 | 2001-06-05 | 3D Labs Inc., Ltd. | Optimization of a graphics processor system when rendering images |
US6374145B1 (en) | 1998-12-14 | 2002-04-16 | Mark Lignoul | Proximity sensor for screen saver and password delay |
US6560711B1 (en) | 1999-05-24 | 2003-05-06 | Paul Given | Activity sensing interface between a computer and an input peripheral |
US20020021307A1 (en) | 2000-04-24 | 2002-02-21 | Steve Glenn | Method and apparatus for utilizing online presence information |
US7546602B2 (en) | 2001-07-10 | 2009-06-09 | Microsoft Corporation | Application program interface for network software platform |
US6943800B2 (en) | 2001-08-13 | 2005-09-13 | Ati Technologies, Inc. | Method and apparatus for updating state data |
US6784888B2 (en) | 2001-10-03 | 2004-08-31 | Ati Technologies, Inc. | Method and apparatus for executing a predefined instruction set |
US20030084322A1 (en) | 2001-10-31 | 2003-05-01 | Schertz Richard L. | System and method of an OS-integrated intrusion detection and anti-virus system |
US6828978B2 (en) | 2002-02-28 | 2004-12-07 | David B. Buehler | Bucket-sorting graphical rendering apparatus and method |
US7159212B2 (en) | 2002-03-08 | 2007-01-02 | Electronic Arts Inc. | Systems and methods for implementing shader-driven compilation of rendering assets |
CA2483304A1 (en) | 2002-05-03 | 2003-11-13 | Roger Alyn Payne | Information security |
US6980209B1 (en) | 2002-06-14 | 2005-12-27 | Nvidia Corporation | Method and system for scalable, dataflow-based, programmable processing of graphics data |
US6910106B2 (en) | 2002-10-04 | 2005-06-21 | Microsoft Corporation | Methods and mechanisms for proactive memory management |
US7530062B2 (en) | 2003-05-23 | 2009-05-05 | Microsoft Corporation | Optimizing compiler transforms for a high level shader language |
US20050097595A1 (en) | 2003-11-05 | 2005-05-05 | Matti Lipsanen | Method and system for controlling access to content |
US7123286B2 (en) | 2003-11-14 | 2006-10-17 | Lucent Technologies Inc. | Presence detection for IP telephony |
US20050182962A1 (en) | 2004-02-17 | 2005-08-18 | Paul Given | Computer security peripheral |
US7385607B2 (en) | 2004-04-12 | 2008-06-10 | Nvidia Corporation | Scalable shader architecture |
US7154500B2 (en) * | 2004-04-20 | 2006-12-26 | The Chinese University Of Hong Kong | Block-based fragment filtration with feasible multi-GPU acceleration for real-time volume rendering on conventional personal computer |
NO20042409L (no) | 2004-06-09 | 2005-12-12 | Tandberg Telecom As | System og metode for detektering av tilstedevaerelse. |
US7218291B2 (en) | 2004-09-13 | 2007-05-15 | Nvidia Corporation | Increased scalability in the fragment shading pipeline |
US7451432B2 (en) | 2004-10-01 | 2008-11-11 | Microsoft Corporation | Transformation of componentized and extensible workflow to a declarative format |
US7464366B2 (en) | 2004-10-01 | 2008-12-09 | Microsoft Corporation | Programming interface for a componentized and extensible workflow model |
US20070234308A1 (en) | 2006-03-07 | 2007-10-04 | Feigenbaum Barry A | Non-invasive automated accessibility validation |
CA2707680A1 (en) * | 2006-03-14 | 2007-09-20 | Transgaming Inc. | General purpose software parallel task engine |
-
2006
- 2006-06-28 US US11/477,272 patent/US8111260B2/en active Active
-
2007
- 2007-06-07 JP JP2009518138A patent/JP5154551B2/ja active Active
- 2007-06-07 MX MX2008015162A patent/MX2008015162A/es active IP Right Grant
- 2007-06-07 KR KR1020087031260A patent/KR101231291B1/ko active IP Right Grant
- 2007-06-07 CN CN201210161130.4A patent/CN102982504B/zh active Active
- 2007-06-07 WO PCT/US2007/013410 patent/WO2008002384A2/en active Application Filing
- 2007-06-07 EP EP07795846.0A patent/EP2033085B1/en active Active
- 2007-06-07 CN CN2007800245223A patent/CN101479701B/zh active Active
-
2011
- 2011-09-02 US US13/224,845 patent/US8319784B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003515853A (ja) * | 1999-12-06 | 2003-05-07 | エヌヴィディア | 単一の半導体プラットフォームで支持される変換、ライティング、ラスター化システム |
JP2005322224A (ja) * | 2004-05-03 | 2005-11-17 | Microsoft Corp | 拡張グラフィックスパイプラインを提供するシステムおよび方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012137984A (ja) * | 2010-12-27 | 2012-07-19 | Digital Media Professional:Kk | 画像処理装置 |
JP2013218527A (ja) * | 2012-04-09 | 2013-10-24 | Mitsubishi Electric Corp | グラフィックス描画装置 |
KR20170005823A (ko) * | 2014-06-30 | 2017-01-16 | 인텔 코포레이션 | 필터링된 코어스 픽셀 쉐이딩을 위한 방법 및 장치 |
JP2017521750A (ja) * | 2014-06-30 | 2017-08-03 | インテル・コーポレーション | フィルタリングされた粗ピクセルシェーディングのための方法および装置 |
US10242493B2 (en) | 2014-06-30 | 2019-03-26 | Intel Corporation | Method and apparatus for filtered coarse pixel shading |
JP7490791B2 (ja) | 2020-02-28 | 2024-05-27 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | マルチテナントグラフィック処理ユニットの動的透過再構成 |
Also Published As
Publication number | Publication date |
---|---|
US20080001952A1 (en) | 2008-01-03 |
EP2033085A2 (en) | 2009-03-11 |
CN101479701B (zh) | 2012-11-14 |
WO2008002384A2 (en) | 2008-01-03 |
CN102982504B (zh) | 2016-01-20 |
CN102982504A (zh) | 2013-03-20 |
JP5154551B2 (ja) | 2013-02-27 |
EP2033085A4 (en) | 2014-10-08 |
KR20090024178A (ko) | 2009-03-06 |
US20110316871A1 (en) | 2011-12-29 |
US8319784B2 (en) | 2012-11-27 |
US8111260B2 (en) | 2012-02-07 |
KR101231291B1 (ko) | 2013-02-15 |
CN101479701A (zh) | 2009-07-08 |
MX2008015162A (es) | 2008-12-12 |
WO2008002384A3 (en) | 2008-02-14 |
EP2033085B1 (en) | 2017-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5154551B2 (ja) | グラフィックスパイプラインステートの高速再構成 | |
US7692660B2 (en) | Guided performance optimization for graphics pipeline state management | |
EP1594091B1 (en) | System and method for providing an enhanced graphics pipeline | |
US7671862B1 (en) | Systems and methods for providing an enhanced graphics pipeline | |
CN108701368B (zh) | 用于经实施例化的几何结构的更有效的光线跟踪方法和装置 | |
JP4922367B2 (ja) | グラフィックス・システム内で中間ターゲットを提供するためのシステムおよび方法 | |
TWI632524B (zh) | 以邊緣爲基礎之覆蓋遮罩壓縮技術 | |
CN113253979A (zh) | 用于云游戏的系统架构 | |
CN111402389A (zh) | 自底至顶的加速数据结构修整中的早期终止 | |
CN114028804A (zh) | 流式传输压缩光场 | |
CN113393564A (zh) | 利用全局照明数据结构的基于水塘的时空重要性重采样 | |
US10395423B2 (en) | Apparatus and method for rendering adaptive mesh refinement (AMR) data | |
CN111986279A (zh) | 有效访问存储器和避免不必要的计算的技术 | |
CN109791527A (zh) | 延迟丢弃 | |
Ioannidis et al. | Multithreaded rendering for cross-platform 3D visualization based on Vulkan Api | |
Dong | Scalable Real-Time Rendering for Extremely Complex 3D Environments Using Multiple GPUs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100510 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100510 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120305 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120604 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120611 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120705 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120712 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120803 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120810 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120905 |
|
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: 20121106 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121205 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151214 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5154551 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
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 |