(57)【特許請求の範囲】
【請求項１】
グラフィックスパイプラインサブユニット上で動作可能なアプリケーションをデバッグするコンピュータシステムであって、
プロセッサと、
ディスプレイと、
を備え、
前記プロセッサは、前記ディスプレイに、複数の描画呼び出しグループのユーザ選択可能な複数の識別情報を第１のウィンドウ内に表示させ、各描画呼び出しグループがそれぞれに複数の描画呼び出しを備え、
前記複数の描画呼び出しグループの前記複数の識別情報のうちの一つのユーザ選択に応じて、前記プロセッサは、前記ディスプレイに、選択された描画呼び出しグループの複数の描画呼び出しのユーザ選択可能な複数の識別情報を第２のウィンドウ内に表示させ、
前記プロセッサは、前記ディスプレイに、複数のグラフィックスパイプラインサブユニットのユーザ選択可能な複数の識別情報を第３のウィンドウ内に表示させ、
前記複数のグラフィックスパイプラインサブユニットの前記複数の識別情報のうちの一つのユーザ選択に応じて、前記プロセッサは、前記ディスプレイに、前記選択された描画呼び出しグループの選択された描画呼び出しを実行する選択されたパイプラインサブユニットの複数の状態情報を第４のウィンドウ内に表示させ、
前記複数の状態情報が前記第４のウィンドウ内でユーザ編集可能であり、
前記プロセッサは、前記複数の状態情報のうち前記第４のウィンドウ内で編集された少なくとも一つの状態情報を、前記選択された描画呼び出し及び前記選択された描画呼び出しグループの少なくとも一方に適用するよう動作可能である、
コンピュータシステム。
【請求項２】
前記プロセッサは、前記ディスプレイに、前記選択された描画呼び出しの実行の結果、前記選択されたパイプラインサブユニットによってレンダリングされるグラフィカルプリミティブを第５のウィンドウ内に表示させる、請求項１に記載のコンピュータシステム。
【請求項３】
前記プロセッサは、前記ディスプレイに、グラフィカルパイプラインサブユニットについての選択された描画呼び出し及び選択された描画呼び出しグループの性能データを第６のウィンドウ内に表示させ、
前記性能データは、前記複数のグラフィックスパイプラインサブユニットが前記選択された描画呼び出しグループを実行する時間を示し、
前記性能データが更に、前記選択されたグラフィックスパイプラインサブユニットが前記選択された描画呼び出しを実行する時間を示す、
請求項１に記載のコンピュータシステム。
【請求項４】
前記プロセッサは、前記ウィンドウに、前記複数の描画呼び出しグループの識別情報が実行時間の順に表示された前記第１のウィンドウを表示させるか、又は、前記複数の描画呼び出しの識別情報が実行時間の順に表示された前記第２のウィンドウを表示させる、請求項１に記載のコンピュータシステム。
【請求項５】
グラフィックスパイプラインサブユニット上で動作可能なアプリケーションをデバッグする方法であって、
コンピュータシステムのプロセッサが、該コンピュータシステムのディスプレイに、複数の描画呼び出しグループのユーザ選択可能な複数の識別情報を第１のウィンドウ内に表示させるステップであって、各描画呼び出しグループがそれぞれに複数の描画呼び出しを備える、該ステップと、
前記複数の描画呼び出しグループの前記複数の識別情報のうちの一つのユーザ選択に応じて、前記プロセッサが前記ディスプレイに、選択された描画呼び出しグループの複数の描画呼び出しのユーザ選択可能な複数の識別情報を第２のウィンドウ内に表示させるステップと、
前記プロセッサが、前記ディスプレイに、複数のグラフィックスパイプラインサブユニットのユーザ選択可能な複数の識別情報を第３のウィンドウ内に表示させるステップと、
前記複数のグラフィックスパイプラインサブユニットの前記複数の識別情報のうちの一つのユーザ選択に応じて、前記プロセッサが、前記ディスプレイに、選択された描画呼び出しを実行する選択されたグラフィックスパイプラインサブユニットの複数の状態情報を第４のウィンドウ内に表示させるステップと、
前記プロセッサが、前記ディスプレイに、前記選択されたグラフィックスパイプラインサブユニットに関して前記選択された描画呼び出し及び前記描画呼び出しグループの性能データを第５のウィンドウ内に表示させるステップであって、該性能データは、前記複数のグラフィックスパイプラインサブユニットが前記選択された描画呼び出しグループを実行する時間を示し、該性能データが更に、前記選択されたグラフィックスパイプラインサブユニットが前記選択された描画呼び出しを実行する時間を示す、該ステップと、
前記プロセッサが、前記複数の状態情報のうち前記第４のウィンドウ内で編集された少なくとも一つの状態情報を、前記選択された描画呼び出し及び前記選択された描画呼び出しグループの少なくとも一方に適用するステップと、
を含む方法。
【請求項６】
前記プロセッサは、前記ディスプレイに、前記複数の描画呼び出しグループ識別情報が実行時間の順に表示された前記第１のウィンドウを表示させる、請求項５に記載の方法。
【請求項７】
前記プロセッサは、前記ディスプレイに、前記複数の描画呼び出しが実行時間の順に表示された前記第２のウィンドウを表示させる、請求項５に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本発明は、グラフィックスプロセッシングユニットの分野に関するものである。より詳細には、本発明の実施形態は、グラフィックスパイプラインサブユニットをデバッグする方法、及びシステムに関するものである。
【関連米国特許出願】
【０００２】
[0002]本願は、Ａｇｕａｖｉｖａらによって２００６年８月１日に出願された出願であって、“Ｍｅｔｈｏｄ  Ａｎｄ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  Ｆｏｒ  Ｅｎｈａｎｃｅｄ  Ｇｒａｐｈｉｃａｌ  Ｏｐｅｒａｔｉｏｎ  Ｏｒｇａｎｉｚａｔｉｏｎ”と題しており、代理人書類番号がＮＶＩＤ−Ｐ００２６３５であり、本発明の譲受人へ譲渡された米国特許出願と、Ａｇｕａｖｉｖａらによって２００６年８月１日に出願された出願であって、“Ｍｅｔｈｏｄ  Ａｎｄ  Ｓｙｓｔｅｍ  Ｆｏｒ  Ｃａｌｃｕｌａｔｉｎｇ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｐａｒａｍｅｔｅｒｓ  Ｆｏｒ  Ａ  Ｐｒｏｃｅｓｓｏｒ”と題しており、代理人書類番号がＮＶＩＤ−Ｐ００２６０３であり、本発明の譲受人へ譲渡された米国特許出願とを参照することによって本明細書に援用するものである。
【背景技術】
【０００３】
[0003]グラフィカルアプリケーションを実行するグラフィックスプロセッシングユニット（ＧＰＵ）の効率を改良する必要性は、常にソフトウェア開発者の主要な関心事である。例えば、ボトルネック解析は、パイプライン型ＧＰＵがその最も遅いユニットと同じ速さでしかないならば、アプリケーションの最適化に重要である。同様に、グラフィックスパイプラインの各ユニットの利用率を監視し、それによって、負荷分散を可能にし、所定の時間に各ユニットの十分な利用率を確保することが重要である。しかしながら、ＧＰＵ性能を最適化し、グラフィックスパイプラインサブユニットをデバッグすることは、利用できるパフォーマンスツールの数が制限され、従来型のツールが提供する機能の数が制限されるならば、困難なタスクである。
【０００４】
[0004]従来の方法は、グラフィカルオペレーション（例えば、描画呼び出し）を実行中にグラフィックスパイプラインの各サブユニットのセットアップについての詳細な情報、及びこれらの状態情報を提供できない。したがって、修正動作は、各サブユニットのセットアップについての正しい知識、及び描画呼び出しに関するこれらの対応する状態情報なしに、試行錯誤によって行われる。さらに、ＧＰＵの中の問題のあるサブユニットを改善するための修正は、ＧＰＵのその他のユニットに悪影響を与える。例えば、１台のサブユニットのボトルネックの軽減は、その他のサブユニットの利用率に悪影響を与える。よって、開発者は、パイプラインサブユニットに関する利用率情報を監視することが不可能であるならば、たとえ、ボトルネックが修正されたとしても、最小限の性能向上しか得られないことが多くある。
【０００５】
[0005]上記の欠点に加えて、たとえ、開発者がボトルネックを軽減し、所定のフレーム又はグラフィカルオペレーション用に十分に利用されていないサブユニットの利用率を増加させることが可能であるとしても、その他のフレーム及び／又はグラフィカルオペレーションの性能は低下する可能性がある。よって、所与のＧＰＵ上のグラフィカルアプリケーションの性能の向上が殆ど、又は、全く感知されることなく、多量の時間と努力が、従来型のツールを使用して費やされる可能性がある。
【概要】
【０００６】
[0006]したがって、グラフィカルオペレーション（例えば、描画呼び出し）の実行時にＧＰＵパイプラインのサブユニットのセットアップ、及びＧＰＵパイプラインのサブユニットの状態情報の透明性を提供する必要性がある。さらに、状態情報の編集はＧＰＵパイプラインの全体的な効率及びＧＰＵパイプラインのフレームレートを実質的に改善するので、編集可能な状態情報の透明性を提供する必要性がある。また、問題のあるフレームのグラフィックオペレーションの自動識別を同時に可能にするデバッグツール内で上記の透明性を提供する必要性が更に存在する。本発明の詳細な説明を読めば、本発明の実施形態は上記の必要性を満たすことが当業者に明白になるであろう。
【０００７】
[0007]本発明の一実施形態では、実行時間によってソートされる複数の選択可能な描画呼び出しグループが、グラフィカルユーザインターフェイスを用いてアクセスされ表示される。選択される描画呼び出しグループのユーザ選択に応答して、複数の選択可能な描画呼び出しが、そのグループから表示される。各描画呼び出しグループ中の全ての描画呼び出しは、所定の状態の共通の状態属性を共有する。複数の選択可能なグラフィックスパイプラインサブユニットの識別子もまた表示される。描画呼び出しグループと関連した描画呼び出しのユーザ選択とサブユニットの選択とに応答して、複数の編集可能な状態情報が自動的に表示される（例えば、テキストウィンドウ）。状態情報のユーザ編集に応答して、複数のデータリポジトリ設定が変更される。さらに、状態情報の編集が、ユーザ選択に応答して選択された描画呼び出し又は選択された描画呼び出しグループに適用される。
【０００８】
[0008]本発明の実施形態を具現化する結果として、サブユニットセットアップ情報及び状態情報は開発者に透過的なものとなる。したがって、ユーザは、状態情報を編集してＧＰＵパイプラインの全体的な効率及びフレームレートを改善することに関して、詳しい説明に基づく決定を行うことができる。
【０００９】
[0009]より詳細には、本発明の実施形態は、グラフィックスパイプラインサブユニット上で動作可能であるアプリケーションをデバッグ及び／又は最適化する方法に関するものであり、本方法は、複数の描画呼び出しグループにアクセスするステップであって、各描画呼び出しグループがそれぞれに複数の描画呼び出しを含んでおり、各グループの複数の描画呼び出しの全てが所定の状態をもつ共通状態属性を共有する、当該ステップと、上記複数の描画呼び出しグループを第１のウィンドウに表示し、上記複数の描画呼び出しグループについてのユーザ選択を可能にするステップと、描画呼び出しグループについてのユーザ選択に応答して、選択された描画呼び出しグループに関連する複数の描画呼び出しを表示し、上記複数の描画呼び出しについてのユーザ選択を可能にするステップと、複数のグラフィックスパイプラインサブユニットの識別子を第２のウィンドウに表示し、上記複数のグラフィックスパイプラインサブユニットについてのユーザ選択を可能にするステップと、選択されたグラフィックスパイプラインサブユニットについてのユーザ選択に応答して、選択された描画呼び出しに関して選択されたグラフィックスパイプラインサブユニットの複数の状態情報を表示するステップと、を含む。
【００１０】
[0010]種々の実施形態は上述の事項を含み、本方法は上記の選択された描画呼び出しの実行の結果として、選択されたパイプラインサブユニットによってレンダリングされたグラフィカルプリミティブを表示するステップを更に含む。実施形態は、上述の事項を更に含み、選択されたグラフィックスパイプラインサブユニットに関して選択された描画呼び出し及び描画呼び出しグループに関する性能データを表示するステップを更に含み、性能データは、複数のグラフィックスパイプラインサブユニットが選択された描画呼び出しグループを実行する時間を示し、性能データは更に、選択されたグラフィックスパイプラインサブユニットが選択された描画呼び出しを実行する時間を示す。
【００１１】
[0011]さらに、実施形態は上述の事項を含み、本方法は、ユーザが複数の状態情報を編集することを可能にするステップを更に含む。さらに、実施形態は上述の事項を含み、複数の描画呼び出しグループ及び複数の描画呼び出しは、グループ及び描画呼び出しのそれぞれの実行時間によってランク付けされる。また、実施形態は、上述の事項を含み、上記複数の状態情報を表示するステップが、上記選択された描画呼び出しグループに亘って共通である複数の状態情報の一部が一緒に描かれるように、上記複数の状態情報をグループ分けする工程を更に含む。
【００１２】
[0012]本発明を、限定するためではなく、一例として、添付図面中の図に示す。これら図においては、類似の参照符号が類似の要素を指している。
【詳細な説明】
【００１３】
[0023]ここで、本発明の実施形態を参照する。これら実施形態の例を、添付図面に示す。本発明をこれら実施形態に関して説明するが、これら実施形態は本発明を当該実施形態に限定するためのものではないことが理解されるであろう。これとは逆に、本発明は、特許請求の範囲に規定されているように、本発明の精神及び範囲に包含される代替物、変形物、及び、均等物を網羅することを意図している。さらに、以下の発明の詳細な説明において、多数の特定の細部を、本発明が完全に理解できるように説明する。しかしながら、当業者には明らかであるように、本発明はこれらの特定の細部を用いることなく実施することができる。別の例では、周知の方法、手順、コンポーネント、及び回路は、本発明の態様を不必要に曖昧にすることがないように、詳細には記載しない。
【００１４】
（表記と用語）
[0024]以下の詳細な説明の一部分は、コンピュータメモリ上で実行可能なデータビットへの操作の手順、ステップ、論理ブロック、処理、及び、その他の記号的表現の観点で提示してある。これらの説明及び表現は、当業者が自分の業績を他の当業者へ最も効果的に伝達するために当業者によって使用される手段である。手順、コンピュータ実行ステップ、論理ブロック、プロセス等は、本明細書中で、且つ、一般的に、所望の結果を導くステップ又は命令の一貫した系列であると考えられている。ステップは物理量の物理的操作を必要とするステップである。
【００１５】
[0025]通常、必須ではないが、これらの量は、コンピュータシステム内で蓄積、転送、合成、比較、及び、その他の操作の対象となり得る電気的又は磁気的信号の形をとる。主に一般的な用法の理由で、時にはこれらの信号をビット、値、要素、シンボル、文字、項、数等として参照するのが好都合であることがわかっている。
【００１６】
[0026]しかしながら、これらの用語及び類似した用語の全ては、適切な物理量と関連付けられ、これらの量に付けられた便利なラベルに過ぎないことに注意すべきである。以下の説明から明らかであるように、特に断らない限り、本発明を通じて、「処理」、「作成」、「転送」、「実行」、「決定」、「指示」、「発行」、「中止」、「クリア」、「アクセス」、「集計」、「取得」、「選択」、「計算」、「測定」、「表示」、「アクセス」、「許可」、又は、「グループ分け」等のような用語を利用する説明は、コンピュータシステムのレジスタ及びメモリ内で物理（電子）量として表現されたデータを操作し、同様にコンピュータシステムメモリ又はレジスタ、若しくは、その他のそのような情報蓄積、伝送、又は、表示装置内で物理量として表現されたその他のデータへ変形するコンピュータシステム又は類似した電子コンピューティング装置の動作及びプロセスを指すことを理解されたい。
【００１７】
（グラフィックスパイプラインサブユニットをデバッグする方法及びシステム）
[0027]ＧＰＵパイプラインは、通常、ホストコンピュータプロセッサ上で動作するドライバプログラムによって指示されたときに、グラフィカルオペレーション（例えば、描画呼び出し）を実行する。フレームは、複数の描画呼び出しを含む。ＧＰＵパイプラインのサブユニット用の種々の性能パラメータ（例えば、ボトルネック及び利用率情報）が計算される。これらの性能パラメータ及びその他のパラメータの計算は、２００６年８月１日にＡｇｕａｖｉｖａらによって出願された出願であって、“Ａ  Ｍｅｔｈｏｄ  Ａｎｄ  Ｓｙｓｔｅｍ  Ｆｏｒ  Ｃａｌｃｕｌａｔｉｎｇ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｐａｒａｍｅｔｅｒｓ  Ｆｏｒ  Ａ  Ｐｒｏｃｅｓｓｏｒ”と題しており、代理人書類番号ＮＶＩＤ−Ｐ００２６３５が付与されており、その全体を本明細書に援用する米国特許出願第＿号に記載されている。描画呼び出しは、ユーザ指定共通状態属性に応じて描画呼び出しグループに自動的に形成される。共通状態属性に基づく描画呼び出しのグループ分けは、２００６年８月１日にＡｇｕａｖｉｖａらによって出願された出願であって、“Ｍｅｔｈｏｄ  Ａｎｄ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  Ｆｏｒ  Ｅｎｈａｎｃｅｄ  Ｇｒａｐｈｉｃａｌ  Ｏｐｅｒａｔｉｏｎ  Ｏｒｇａｉｚａｔｉｏｎ”と題しており、代理人書類番号ＮＶＩＤ−Ｐ００２６０１が付与されており、その全体を参照することによって本明細書に援用する米国特許出願第＿号に記載されている。
【００１８】
[0028]ここで図１を参照する。図１は、本発明の一実施形態に従って、選択された描画呼び出しグループから選択された描画呼び出しを実行する選択されたサブユニットのための状態情報を表示する例示的なコンピュータ制御型ユーザインターフェイス１００を示している。このユーザインターフェイスは、選択可能な描画呼び出しグループにアクセスし、ドロップダウンメニュー１０５に当該グループを表示する。各描画呼び出しグループは、２００６年８月１日にＡｇｕａｖｉｖａらによって出願された出願であって、“Ｍｅｔｈｏｄ  Ａｎｄ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  Ｆｏｒ  Ｅｎｈａｎｃｅｄ  Ｇｒａｐｈｉｃａｌ  Ｏｐｅｒａｔｉｏｎ  Ｏｒｇａｎｉｚａｔｉｏｎ”と題する米国特許出願第＿号に記載されているような共通状態属性を有する。ドロップダウンメニュー１０５は、描画呼び出しグループ中の描画呼び出しの個数、グループの総実行時間、及び、処理されるピクセル数を表示する。グループの実行時間は、描画呼び出しグループを実行するためにＧＰＵパイプラインによって必要とされる時間である。本実施例では、選択された描画呼び出しグループは３２個の描画呼び出しを含み、ＧＰＵパイプラインによって３．０５６ｍｓで実行される。さらに、ＧＰＵパイプラインは、選択された描画呼び出しグループを完全に実行した後、９０６２４０ピクセルを書き込んでいるであろう。ドロップダウンメニューの使用は例であり、限定するものではないことを理解されたい。例えば、その他の実施形態は、選択可能な情報を表示するためにポップアップウィンドウを使用することがある。或いは、情報は、その他の選択可能なフォーマットで、表形式で、又は、リンクを用いて表示されてもよい。
【００１９】
[0029]ドロップダウンメニュー１１０は、選択された描画呼び出しグループ中の全ての描画呼び出しを表示する。ドロップダウンメニュー１１０は、描画呼び出しの実行時間と、ＧＰＵパイプラインによって処理されるピクセル数とを更に表示する。本実施例では、描画呼び出しは、ＧＰＵパイプラインによって０．４５８ｍｓで実行される。さらに、ＧＰＵパイプラインは、選択された描画呼び出しを完全に実行した後に１３６４７３個のピクセルを書き込んでいる。ドロップダウンメニューの使用は、例であり、限定するものではないことを理解されたい。例えば、その他の実施形態は、選択可能な情報を表示するためにポップアップウィンドウを使用することがある。或いは、情報は、その他の選択可能なフォーマットで、表形式で、又は、リンクを用いて表示されてもよい。
【００２０】
[0030]更に図１を参照する。ユーザインターフェイス１００は、ＧＰＵパイプライン内のパイプラインサブユニットを選択するための複数の選択可能な項目を有する。本実施形態では、選択可能なサブユニットは、頂点アセンブリ１１５、頂点シェーダ１２０、ピクセルシェーダ１２５、及び、ラスターオペレーション１３０である。その他の実施形態は、パイプラインアーキテクチャに応じて、より少数の、より多数の、又は、異なるサブユニットを有していてもよい。選択可能なツールとしてのタブの使用は、例であり、限定するものではないことを理解されたい。例えば、その他の実施形態は選択可能な情報を表示するためにポップアップウィンドウを使用することがある。或いは、情報は、その他の選択可能なフォーマットで、表形式で、又は、リンクを用いて表示されてもよい。
【００２１】
[0031]描画呼び出しグループ、当該グループ中の描画呼び出し、及び、サブユニットのユーザ選択に応答して、この実施形態は、次に、それらに関する性能情報を表示する。性能情報は、１３５、１４０及び１４５に示すように棒グラフフォーマットで表示される。棒グラフ１３５は、ＧＰＵサブユニットがフレームを実行するために要する時間を表示する。本実施例では、ＧＰＵサブユニットは９．６５１ｍｓでフレームを実行する。棒グラフ１４０は、選択された描画呼び出しグループを実行するためにＧＰＵサブユニットによって必要とされる時間を表示する。棒グラフ１４５は、選択された描画呼び出しを実行するために選択されたサブユニットによって必要とされる時間を表示する。したがって、図に示されている棒グラフは、フレームが変化したとき、選択される描画呼び出しグループが変化したとき、選択される描画呼び出しが変化したとき、又は、選択されるサブユニットが変化したときに、変化する。棒グラフの使用は、例であり、限定するものではないことを理解されたい。したがって、その他の実施形態は、別の方法を採用して性能情報を表示することができ、より多くの情報又はより少ない情報を表示する可能性がある。説明した性能情報は、例であり、限定するものではないことを理解されたい。したがって、その他の性能情報（例えば、利用率及びボトルネック）が表示されてもよい。
【００２２】
[0032]描画呼び出しグループ、描画呼び出し及びサブユニットのユーザ選択に応答して、選択されたサブユニットに対応する選択された描画呼び出しのための状態情報が、本発明の実施形態によれば、ウィンドウ１５０に表示される。本実施例では、０．４５８ｍｓで実行される３２個の描画呼び出しを伴う描画呼び出しグループと、頂点アセンブリ１１５サブユニットが選択されている。状態情報は、描画呼び出しを処理するために、例えば、プリミティブ１５５を描画するために、セットアップ、コンフィギュレーション、及びプログラミングのためのパイプラインユニットに関係がある選択可能なパラメータを含む。プリミティブを描画するための状態情報は、プリミティブ（例えば、三角形）を描画するために必要とされる設定、及び値である。本実施例では、画成されたプリミティブタイプは三角形である。使用される頂点の個数、又は、プリミティブカウントが、表示されてもよい。例えば、頂点の個数は２８３８５個であり、プリミティブカウントは４８６４である。
【００２３】
[0033]状態情報は、インデックスバッファ１６０の記述を含み得る。インデックスバッファは、メモリバッファのタイプ及びフォーマットを規定することができる。さらに、インデックスバッファは、メモリプールのロケーションを規定することができる。
【００２４】
[0034]状態情報は、頂点バッファ宣言１６５を更に含み得る。頂点バッファ宣言１６５は、幾つか挙げるとするならば、頂点サイズ、個々の頂点の位置、法線及び接線が頂点バッファ内で位置しているオフセット又はストリームを宣言する。本実施例では、頂点サイズは３２である。ストリーム頂点バッファ記述１７０の状態情報は、頂点バッファ記述の状態情報と類似している。この状態情報は、頂点バッファ境界ボックス１７５も含み得る。頂点バッファ境界ボックス１７５は、オブジェクト空間内の形状（geometry）の範囲を定義することができる。
【００２５】
[0035]状態情報は、ソフトウェア開発者によって効率の悪さ等を検査される。通常、ソフトウェア開発者は、状態解析において実行時間が長い描画呼び出しを選択し、描画呼び出しセットアップパラメータを修正し、最適化された場合に、同じ動作パラメータを共有するその他の描画呼び出しは、フレームレート性能に著しい影響を与える可能性がある。このウィンドウ１５０内の状態情報は、ユーザによって編集される。
【００２６】
[0036]選択されたサブユニットのための選択された描画呼び出しによるグラフィカルプリミティブは、ウィンドウ１５０内の状態情報に基づいてウィンドウ１８０内にレンダリングされてもよい。このレンダリングは、ソフトウェア開発者が原モデルデータ中の潜在的なエラーを見抜くことを可能にするワイヤフレームレンダリングであってもよく、又は、レンダリング不規則性を検査するために完全な陰影付きのレンダリングであってもよい。本実施形態では、ユーザは、ドロップダウンメニュー１１０を使用することにより、選択された描画呼び出しグループ中のその他の描画呼び出しへスクロールすることができる。或いは、ユーザは、逆順に進むためステップ後退ボタン１８５を使用することにより、又は、正順にスクロールするためステップ前進ボタン１９０を使用することにより、描画呼び出しをスクロールすることができる。或いは、ユーザはスライダ１９５を使用して、描画呼び出しをスクロールしてもよい。したがって、デバッガを使用して、同時に１回の描画呼び出しを使って、シーンを進めることができる。よって、描画呼び出し毎に、ユーザは、使用された形状、テクスチャ、シェーダ、及び、ラスターオペレーションの設定を確認することができる。描画呼び出しをスクロールすることで、棒グラフ１４５内の性能情報が更新されることを理解されたい。また、描画呼び出しをスクロールすることで、ウィンドウ１５０内の状態情報が更新されることを理解されたい。したがって、描画呼び出しをスクロールすることで、実行順にウィンドウ１８０内のグラフィカルプリミティブが更新され、それよって、ユーザは問題のある描画呼び出し又は描画呼び出しグループの理由を知ることが可能になる。
【００２７】
[0037]さらに図１を参照する。ウィンドウ１８０に描かれたレンダリングは、ドロップダウンメニュー１９６によって修正されることがある。メニュー１９６のメニュー項目の選択に応答して、選択されたメニュー項目に対応するレンダリング情報の異なる描画が表示される。例えば、一つ以上の特定されたグラフィカルオペレーションに対応するフレームバッファ内のデータが、ウィンドウ１８０内に表示される。或いは、一つ以上の特定されたグラフィカルオペレーションに対応するレンダリング情報が表示され、当該レンダリング情報が、ワイヤフレームビュー中の一つ以上のレンダリングされたオブジェクトを含んでいてもよい。そして、他の実施形態では、メニュー１９６からの他の選択が、一つ以上の特定されたグラフィカルオペレーションに対応するレンダリングされたオブジェクトの他の特性（例えば、奥行きバッファ情報、アルファチャンネルオーバーレイ等）の表示を可能にしてもよい。
【００２８】
[0038]エクスポートボタン１９７は、代替的な形式で見るための実行、状態情報、及び、性能情報をエクスポートする能力を提供する。エクスポートされたデータは、テキスト及び／又はグラフィカル画像を形成してもよい。したがって、別のアプリケーション及び／又はユーザインターフェイスを使用して、エクスポートされたデータにアクセスし、当該エクスポートされたデータを提示してもよい。
【００２９】
[0039]「シンプル」ボタン１９８は、グラフィックスプロセッシングパイプラインの種々のパイプラインユニットによるデータストリームの処理に関して、より少ない情報の提示を可能とする（例えば、グラフィカルインターフェイスオーバーレイの別個のポップアップウィンドウの除去）。この情報を使用して、データストリームの処理を簡略化することができる。したがって、ユーザは、データストリームの簡略化された処理を使用して、問題のあるサブユニット及び問題のある描画呼び出しグループを突き止めることができる。このようにして、デバッグ用ユーザインターフェイスを使用して、問題のある描画呼び出し、問題のある描画呼び出しグループ、又は、問題のあるサブユニットを修復するために必要な修正動作を行うことができる。その結果、ＧＰＵパイプラインの性能及びフレームレートが改善される。
【００３０】
[0040]一実施形態では、ユーザインターフェイスはボタン１９９を提供し、ボタン１９９の選択で、ドロップダウンメニュー１０５及び１１０、並びに、棒グラフ１３５、１４０及び１４５を、ウィンドウ１５０及び１８０と選択可能なサブユニット１１５、１２０、１２５及び１３０と共に、隠すようにする。したがって、ボタン１９９の選択によって、実行される最後の描画呼び出しまでフレームに対して描画される描画呼び出しが表示される。グラフィカルインターフェイスエレメントは、下にあるレンダリング中の関心領域を覆い隠し、よって、ソフトウェア開発者に混乱を引き起こすことがある。ソフトウェア開発者は、「シンプル」ボタン１９８を選択して、グラフィカルインターフェイスを除去し、状況の認識を取り戻すことが可能となる。その後に、ソフトウェア技術者は、グラフィカルインターフェイスを再び有効にし、最適化動作を継続することができる。その他の実施形態は、上述のグラフィカルユーザインターフェイスの一部を隠してもよい。
【００３１】
[0041]本発明の一実施形態では、ウィンドウ１５０中の状態情報は、例えば、ワードプロセッサ機能として、ユーザによって編集され得る。一実施形態では、状態情報の編集で、基礎となるアプリケーションが変更されることを理解されたい。したがって、状態情報は、問題のある描画呼び出し及び／又は問題のある描画呼び出しグループに対する異なるサブユニットでの正確な状態属性値に関して、透明性をユーザに提供する。さらに、相当な実行時間を有する描画呼び出しグループを選択することにより、ユーザは、長期間に亘る描画呼び出しに取り組み、最適化することが可能である。よって、僅かな変更によって、著しいフレーム改善が実現される。
【００３２】
[0042]一実施形態では、ウィンドウ１５０の状態情報は、描画呼び出しグループに亘って共通属性を有する状態情報が一つにグループ分けされ、残りの状態情報が一つにグループ分けされるように、グループ分けされてもよい。したがって、共通属性を有する状態情報の編集は、この共通属性を伴う全ての描画呼び出しに適用され得る。その結果として、この状態情報の編集は、選択された描画呼び出しグループと、このグループ中の描画呼び出しの全部に影響を与える。或いは、ユーザは共通属性を用いることなくグループを編集してもよい。したがって、固有の状態情報の編集が、この状態情報を含む描画呼び出しに影響を与える。状態情報を上記のグループにグループ分けすることは、一実施形態では、状態情報をカラーコーディングすることによって行われることを理解されたい。或いは、ポップアップウィンドウは、これらの属性が共有されている場合に、ユーザが選択された描画呼び出しだけに変更を加えることを望むか、又は選択された描画呼び出しグループに変更を加えることを望むかをユーザに問い合わせることができる。その他の実施形態は、状態情報を一つにグループ分けするためにその他の方法を利用してもよい。
【００３３】
[0043]ここで図２を参照する。図２は、本発明の一実施形態に従って、グループの一覧から描画呼び出しグループを選択するための例示的なユーザインターフェイスを示している。上述のように、各描画呼び出しグループは、共通状態属性の集合によって定義されている。本実施例では、ドロップダウンメニュー１０５は、５個の描画呼び出しグループを含んでいる。一実施形態では、描画呼び出しグループは、それぞれの実行時間の順番にソートされるか、又は、ランク付けされる。例えば、描画呼び出しグループは、これらの実行時間の昇順にソートされる。したがって、相当に長い実行時間を伴う描画呼び出しグループが選択される。これは、実行時間が長い描画呼び出しグループの最適化は実行時間が短い描画呼び出しグループの最適化よりＧＰＵパイプラインの効率を効果的に改善するからである。本実施形態では、ウィンドウ１５０中の状態情報の表示は、ドロップダウンメニュー１１０から描画呼び出しを選択することにより駆動されることを理解されたい。したがって、本実施形態では、描画呼び出しグループの選択は、ウィンドウ１５０中の状態情報の値を変化させない。
【００３４】
[0044]次に、図３を参照する。図３は、本発明の一実施形態に係り、選択されたグループの描画呼び出しを選択するための例示的なユーザインターフェイスを示している。上述のように、選択された描画呼び出しグループは、このグループ内に３２個の描画呼び出しを含んでいる。したがって、ドロップダウンメニュー１１０を使用して、ユーザは、種々の選択可能な描画呼び出しをスクロールすることができる。一実施形態では、描画呼び出しは、それぞれの実行時間の順番にソートされる。例えば、描画呼び出しはこれらの実行時間の降順にソートされてもよい。したがって、実行時間が最も長い描画呼び出しは、ＧＰＵパイプラインによって実行される最もコストの高い描画呼び出しである。よって、相当に長い描画呼び出しの最適化は、ＧＰＵパイプラインの性能及び実行時間を効果的に改善する。描画呼び出しの選択は、これに関連した状態情報をウィンドウ１５０内に表示させる。
【００３５】
[0045]ここで図４を参照する。図４は、本発明の一実施形態に係り、選択された描画呼び出しを実行する選択されたサブユニットに対する状態情報を表示する例示的なユーザインターフェイスを示している。図４は、同一の選択された描画呼び出しグループに対して表示されている状態情報を示しており、選択された描画呼び出しは同一であるが、サブユニットが異なっている。本実施例では、選択されたサブユニットは、頂点シェーダ１２０である。一実施形態では、頂点シェーダ１２０の選択によって、頂点シェーダウィンドウ４１０及び頂点シェーダ定数ウィンドウ４２０が表示される。よって、頂点シェーダ１２０によって使用される定数及びテクスチャが検査のために表示される。頂点シェーダウィンドウ４１０は、各頂点で実行されている頂点シェーダアセンブリ言語を表示する。頂点シェーダ定数ウィンドウ４２０は、定数を表示する。定数は、幾つか挙げるとするならば、変換行列と、平滑化パラメータと、スキニングパラメータと、照明及び変位定数とを提供する。一般に、頂点シェーダ定数ウィンドウ４２０は、形状を修正する情報を提供する。頂点シェーダサブユニット１２０の選択によって、テクスチャウィンドウ４３０が更に提供される。テクスチャウィンドウ４３０は、テクスチャの値に基づく頂点の移動を可能にする。ＲＧＢタブ４４０は、ユーザが異なるチャンネルを表示することを可能にし、ユーザがテクスチャ内の種々のカラーチャンネル全体で符号化された異なる情報を見ることを可能にする。例えば、本実施形態では、赤、緑、及び青の３チャンネルが提供される。
【００３６】
[0046]上述のように、状態情報又はテクスチャデータは編集され得る。したがって、頂点シェーダウィンドウ４１０内に表示された状態情報が、編集される。本実施形態は、拡大機能を提供して、ユーザがテクスチャを拡大することができるようにすることを理解されたい。
【００３７】
[0047]ここで図５を参照する。図５は、本発明の一実施形態に係り、選択された描画呼び出しを実行する選択されたサブユニットの状態情報を表示するための例示的なユーザインターフェイスを示している。図５は、同一の選択された描画呼び出しグループに対して表示されている状態情報を示しており、選択された描画呼び出しは同一であるが、サブユニットが異なっている。本実施例では、選択されたサブユニットはピクセルシェーダ１２５である。一実施形態では、ピクセルシェーダ１２５の選択によって、固定機能セットアップウィンドウ５１０が表示される。ピクセルシェーダ１２５のプログラムが選択される場合、ピクセルシェーダ１２５のプログラムによって使用される定数及びテクスチャが検査のために表示される。固定機能セットアップウィンドウ５１０は、制限付きのプログラマビリティを有する所定の機能を含んでいる。したがって、所定の機能のためのパラメータ及び所定の機能の組み合わせを、他の機能を作成するために使用することができる。したがって、状態情報を、所定の機能に基づく新しい機能を作成するために編集することができる。
【００３８】
[0048]或いは、ピクセルシェーダ１２５を選択して、プログラマブルウィンドウ（図示せず）を表示してもよい。プログラマブルウィンドウは編集することができる状態情報を含む。これらは、ピクセルシェーダサブユニット上で動くアセンブリ言語プログラミングと、例えば、照明位置、材料パラメータ等を指定するこのプログラムに関連した定数とを含む。ピクセルシェーダ１２５の選択によって、テクスチャウィンドウ５２０が表示される。テクスチャウィンドウ５２０は、図４のテクスチャウィンドウ４３０と同じように機能する。したがって、テクスチャウィンドウ５２０は、幾つか挙げるならば、ライトマップ、法線マップ、サイン値又はコサイン値のルックアップテーブル、及び、平方根マップを提供する。
【００３９】
[0049]ここで図６を参照する。図６は、本発明の一実施形態に係り、選択された描画呼び出しを実行する選択されたサブユニットのための状態情報を表示する例示的なユーザインターフェイスを示している。図６は、同一の選択された描画呼び出しグループに対して表示されている状態情報を示しており、選択された描画呼び出しは同一であるが、サブユニットが異なっている。本実施例では、選択されたサブユニットはラスターオペレーション１３０である。一実施形態では、ラスターオペレーション１３０の選択によって、レンダリング状態ウィンドウ６１０が表示される。レンダリング状態ウィンドウ６１０は、複数の設定のためのツリー構造を含んでおり、当該複数の設定は、大量のデータの管理に役立つよう折り畳み可能なツリーで提供されている。ラスターオペレーション１３０内の種々のレンダリング状態を変更することができる。例えば、アルファブレンディングが無効にされてもよい。レンダリング状態ウィンドウ６１０はレンダリングセットアップに影響を与える。
【００４０】
[0050]ラスターオペレーション１３０の選択によって、レンダリングターゲットウィンドウ６２０内にレンダリングターゲットが表示される。レンダリングターゲットウィンドウ６２０は、幾つか挙げるならば、メモリプールロケション及びビットデプスのような状態情報を表示する。一般に、レンダリングターゲットウィンドウ６２０は、レンダリングオペレーションの結果が書き込まれるロケーションを表示する。したがって、状態情報の編集は、メモリアクセスのような種々のオペレーションに影響を与える。
【００４１】
[0051]ここで図７を参照する。図７は、本発明の一実施形態に係り、選択されたサブユニット上で実行される選択された描画呼び出しに対応する状態情報を表示する例示的なユーザインターフェイスを示している。本実施例では、６７個のうちの番号３０の描画呼び出しのための状態情報がウィンドウ１５０に表示されている。グラフィカルプリミティブ１８０は、ＧＰＵパイプラインによって描画されている容器を表現している。上述のように、状態情報を編集し、選択された描画呼び出し及び／又は選択された描画呼び出しグループの性能及び実行に影響を与えることができる。
【００４２】
[0052]ここで図８を参照する。図８は、本発明の一実施形態に係り、選択されたサブユニット上で実行される選択された描画呼び出しに対応する状態情報を表示する例示的なユーザインターフェイスを示している。本実施例では、６７個のうちの番号５１の描画呼び出しのための状態情報がウィンドウ１５０に表示されている。グラフィカルプリミティブ１８０は、ＧＰＵパイプラインによって描画された頭蓋を表現している。上述のように、状態情報を編集して、選択された描画呼び出し及び／又は選択された描画呼び出しグループの性能及び実行に影響を与えることができる。したがって、ユーザは、描画されるシーンに新しいグラフィカルプリミティブとして実行され追加される順に、各描画呼び出しを検査し、状態情報を検査するために、種々の描画呼び出しをスクロールしてもよい。
【００４３】
[0053]ここで図９を参照する。図９は、本発明の一実施形態に従って、グラフィックスパイプラインサブユニット上で動作可能であるアプリケーションをデバッグするコンピュータ実施プロセスのフローチャート９００を示している。グラフィックスパイプラインサブユニット上で動作可能なアプリケーションをデバッグする方法は、ステップ９０５から始まる。
【００４４】
[0054]ステップ９１０では、複数の描画呼び出しグループがメモリからアクセスされる。上述し、参照することによって援用したように、複数の描画呼び出しグループは、所定の状態をもつ共通状態属性のユーザ選択に応答して、編成される。したがって、複数の描画呼び出しを有する各描画呼び出しグループは、所定の共通状態属性を共有する。
【００４５】
[0055]ステップ９１５では、アクセスされた複数の描画呼び出しグループを表す一覧表が第１のウィンドウに表示される。例えば、複数の描画呼び出しグループが、ドロップダウンメニューを使用して表示される。情報を表示するために他の方法を利用してもよいことを理解されたい。例えば、ポップアップウィンドウが使用されてもよい。この表示は、更に、ユーザが一覧表の中の描画呼び出しグループを選択できるようにする。一実施形態では、描画呼び出しグループは、描画呼び出しグループの実行時間によって一覧表内で順序付けられている。描画呼び出しグループの実行時間は、描画呼び出しグループがＧＰＵパイプラインによって実行される所要時間である。一実施形態では、表示される複数の描画呼び出しグループは、各グループ内の描画呼び出しの個数、グループの実行時間、及び、レンダリングされるピクセルの個数のような追加情報も表示する。
【００４６】
[0056]ステップ９２０では、描画呼び出しグループのユーザ選択に応答して、選択された描画呼び出しグループに関連した複数の描画呼び出しが第１のウィンドウに表示されるか、又は、代替的に別個のウィンドウに表示される。一実施形態では、複数の描画呼び出しは、ドロップダウンメニューを使用して一覧表として表示される。情報を表示するためにその他の方法を使用してもよいことを理解されたい。例えば、ポップアップウィンドウが使用されてもよい。この表示は、更に、ユーザが描画呼び出しを選択することを可能にする。一実施形態では、描画呼び出しは、選択されたサブユニットに関する描画呼び出しの実行時間によって一覧表内で順序付けられている。
【００４７】
[0057]ステップ９２５では、複数のグラフィックスパイプラインサブユニットが、第１のウィンドウ、又は、代替的に別個のウィンドウに表示される。さらに、複数のグラフィックスパイプラインサブユニットは、ユーザ選択可能である。したがって、ユーザは、選択されたサブユニットの選択された描画呼び出しを検査できるように、サブユニットを選択することができる。
【００４８】
[0058]ステップ９３０では、描画呼び出しグループ、描画呼び出し、及び、サブユニットのユーザ選択に応答して、複数の関連した状態情報が第２のウィンドウに表示される。しかしながら、状態情報は第１のウィンドウ又は別個のウィンドウに表示されてもよいことを理解されたい。ステップ９３５では、グラフィカルプリミティブが、選択された描画呼び出しの実行の結果、選択されたパイプラインサブユニットによってレンダリングされる。描画呼び出しの変更、又は、種々の描画呼び出しのスクローリングは、状態情報の更新に加えて、グラフィカルプリミティブを更新する。したがって、ユーザは、各描画呼び出しの実行、その状態情報、及び、その対応するグラフィカルプリミティブを、一時に１ステップずつ検査することができる。
【００４９】
[0059]ステップ９４０では、選択されたグラフィックスパイプラインサブユニットに関して選択された描画呼び出し及び描画呼び出しグループの性能データが表示される。一実施形態では、性能データは、ＧＰＵパイプラインによるフレーム実行時間、ＧＰＵパイプラインによる選択された描画呼び出しグループの実行時間、及び、選択されたサブユニットによる選択された描画呼び出しの実行時間である。その他の実施形態は、サブユニット毎に利用率及びボトルネック情報を提供してもよい。
【００５０】
[0060]ステップ９４５では、所定の状態の共通状態属性を共有する複数の状態情報の一部が一緒に描かれるように、複数の状態情報がグループ分けされる。一実施形態では、グループ分けは、共通状態属性を伴う状態情報を同一のウィンドウにグループ分けすることにより行われる。別の実施形態では、グループ分けは、グループをカラーコーディングすることによって行われる。状態情報をグループ分けするその他の方法を使用してもよいことを理解されたい。
【００５１】
[0061]ステップ９５０では、ユーザが、複数の状態情報を編集する。一実施形態では、状態情報の編集によって、アプリケーションが変更される。ステップ９５５では、複数の状態情報の編集が、ユーザ選択に応答して、選択された描画呼び出しに適用されるか、又は、代替的に、選択された描画呼び出しグループに適用される。ステップ９６０では、グラフィックスパイプラインサブユニット上で動作可能なアプリケーションをデバッグするプロセスが終了する。
【００５２】
[0062]図１０は、本発明の実施形態が実施され得る汎用コンピュータシステム１０００を示すブロック図である。コンピュータシステム１０００は、図９に示すようなグラフィックスパイプラインサブユニットをデバッグする方法を実施することができ、情報を通信するバス１００２又はその他の通信メカニズムと、バス１００２と接続されており情報を処理するプロセッサ１００４と、を備えている。コンピュータシステム１０００は、メインメモリ１００６を更に備えている。このメインメモリ１００６は、ランダムアクセスメモリ（ＲＡＭ）又はその他のダイナミック記憶装置のようなものであって、バス１００２に接続されており、情報及びプロセッサ１００４によって実行される命令を記憶する。メインメモリ１００６は、プロセッサ１００４によって実行される命令の実行中に、一時変数又はその他の中間情報を記憶するためにも使用され得る。コンピュータシステム１０００は、バス１００２に接続され、静的情報及びプロセッサ１００４のための命令を記憶するリードオンリメモリ（ＲＯＭ）１００８又はその他のスタティック記憶装置を更に備えている。磁気ディスク又は光ディスクのような不揮発性記憶装置１０１０が、情報及び命令を記憶するために設けられてバス１００２に接続されており、永続的な内部キューを記憶することができる。
【００５３】
[0063]コンピュータシステム１０００は、情報をコンピュータユーザへ表示する陰極線管（ＣＲＴ）のようなオプショナルディスプレイ１０１２にバス１００２を介して接続されている。英数字及びその他のキーを含むオプショナル入力装置１０１４が、バス１００２に接続されており、情報及びコマンド選択をプロセッサ１００４へ伝送する。別のタイプのユーザ入力装置は、カーソル制御機器１０１６であり、当該機器は、マウス、トラックボール、カーソル方向キーのようなものであり、方向情報及びコマンド選択をプロセッサ１００４へ伝送し、ディスプレイ１０１２上のカーソル移動を制御する。
【００５４】
[0064]本明細書中で使用する用語「コンピュータ読み取り可能な媒体」は、命令を実行用のプロセッサ１００４へ供給することに関与する媒体を意味する。このような媒体は、不揮発性媒体、揮発性媒体、及び、伝送媒体のような多数の形態をとることができるが、これらに限定されるものではない。不揮発性媒体には、例えば、記憶装置１０１０のような光ディスク又は磁気ディスクがある。揮発性媒体には、メインメモリ１００６のようなダイナミックメモリがある。伝送媒体には、バス１００２を構成するワイヤをはじめとして、同軸ケーブル、銅線、及び、光ファイバがある。伝送媒体は、電波及び赤外線データ通信の間に生成されるような音波又は光波の形態をとることができる。
【００５５】
[0065]一般的な形のコンピュータ読み取り可能な媒体には、例えば、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ又はその他の磁気媒体、ＣＤ−ＲＯＭ、その他の光学媒体、パンチカード、紙テープ、孔のパターンを伴うその他の物理的な媒体、ＲＡＭ、ＰＲＯＭ、及び、ＥＰＲＯＭ、フラッシュＥＰＲＯＭ、その他のメモリチップ若しくはカートリッジ、後述されるような搬送波、若しくは、コンピュータが読み取り可能なその他の媒体がある。
【００５６】
[0066]コンピュータシステム１０００は、（複数の）ネットワーク、ネットワークリンク１０２０、及び、通信インターフェイス１０１８を介してメッセージを送受信する。インターネットの実施例では、サーバ１０３０は、インターネット１０２８、ＩＳＰ１０２６、ローカルネットワーク１０２２、及び、通信インターフェイス１０１８を介して、アプリケーションプログラムのための要求されたコードを送信する。受信されたコードは、受信時に、及び／又は、記憶装置１０１０への記憶時に、プロセッサ１００４によって実行され、又は、後に実行するために、その他の不揮発性記憶装置に記憶される。
【００５７】
[0067]以上の明細書中では、本発明の実施形態を、実施間で変化する多数の特定の細部を参照して説明した。よって、本発明が何であるか、及び、出願人によって何が意図されているかについての唯一かつ排他的な指針は、その後の補正を含む、本願に由来する請求項の組である。したがって、請求項に明示的に列挙されていない限定、要素、性質、特色、利点又は属性は、決してこのような請求項の範囲を限定することがない。明細書及び図面は、したがって、限定的な意味ではなく、むしろ例示的な意味で考慮されるべきである。
【図面の簡単な説明】
【００５８】
【図１】本発明の一実施形態に係るスクリーンショットであって、選択された描画呼び出しを実行する選択されたサブユニットの状態情報を表示するユーザインターフェイスの例示的なスクリーンショットを示す図である。
【図２】本発明の一実施形態に係るスクリーンショットであって、描画呼び出しを選択する例示的なユーザインターフェイスのスクリーンショットを示す図である。
【図３】本発明の一実施形態に係るスクリーンショットであって、描画呼び出しを選択する例示的なユーザインターフェイスのスクリーンショットを示す図である。
【図４】本発明の一実施形態に係るスクリーンショットであって、選択された描画呼び出しを実行する選択されたサブユニットの状態情報を表示する例示的なユーザインターフェイスのスクリーンショットを示す図である。
【図５】本発明の一実施形態に係るスクリーンショットであって、選択された描画呼び出しを実行する選択されたサブユニットの状態情報を表示する例示的なユーザインターフェイスのスクリーンショットを示す図である。
【図６】本発明の一実施形態に係るスクリーンショットであって、選択された描画呼び出しを実行する選択されたサブユニットの状態情報を表示する例示的なユーザインターフェイスのスクリーンショットを示す図である。
【図７】本発明の一実施形態に係るスクリーンショットであって、選択されたサブユニット上で実行される選択された描画呼び出しに対応する状態情報を表示する例示的なユーザインターフェイスのスクリーンショットを示す図である。
【図８】本発明の一実施形態に係るスクリーンショットであって、選択されたサブユニット上で実行される選択された描画呼び出しに対応する状態情報を表示する例示的なユーザインターフェイスのスクリーンショットを示す図である。
【図９】本発明の一実施形態に係るフローチャートであって、グラフィックスパイプラインサブユニット上で動作可能であるアプリケーションをデバッグするコンピュータ実施プロセスのフローチャートを示す図である。
【図１０】本発明の実施形態のプラットフォームとしての機能を果たす汎用コンピュータシステムを示す図である。
【符号の説明】
【００５９】
１００…ユーザインターフェイス、１０５…ドロップダウンメニュー、１１０…ドロップダウンメニュー、１１５…頂点アセンブリ、１２０…頂点シェーダ、１２５…ピクセルシェーダ、１３０…ラスターオペレーション。
【図１】
0005489395.tif 000002
【図２】
0005489395.tif 000003
【図３】
0005489395.tif 000004
【図４】
0005489395.tif 000005
【図５】
0005489395.tif 000006
【図６】
0005489395.tif 000007
【図７】
0005489395.tif 000008
【図８】
0005489395.tif 000009
【図９】
0005489395.tif 000010
【図１０】
0005489395.tif 000011