【手続補正書】
【提出日】平成28年2月19日(2016.2.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
グラフィックスをレンダリングする方法であって、
少なくとも１つのプリミティブをシェーディングするためのドローコールに基づいて、動作モードを決定することと、
前記決定された動作モードに基づいて、レンダリングパイプラインの第１のシェーダステージと関連付けられる前記セットの第１のシェーディング操作を実行するように、グラフィックスプロセシングユニットのハードウェアシェーディングユニットを指定することと、
前記決定された動作モードに基づいて、前記レンダリングパイプラインの第２の異なるシェーダステージと関連付けられる前記セットの第２のシェーディング操作を前記第１のシェーディング操作に付加することと、
前記第１のシェーディング操作を実行するように指定された前記グラフィックスプロセシングユニットの前記ハードウェアシェーディングユニットを用いて、前記第１のシェーディング操作に後続する前記第２のシェーディング操作を実行することと
を備える、方法。
【請求項２】
前記ドローコールは、ドローコールの第１のサブドローコールを備え、前記方法は、
前記第１のシェーディング操作を実行するように指定された前記グラフィックスプロセシングユニットの前記ハードウェアシェーディングユニットを用いて、前記第３のシェーディング操作を実行することをさらに備える、請求項１に記載の方法。
【請求項３】
前記決定された第２の動作モードに基づいて、レンダリングパイプラインの第４のシェーダステージと関連付けられる前記第２のセットの第３のシェーディング操作を実行するように、グラフィックスプロセシングユニットの前記ハードウェアシェーディングユニットを指定することと、
前記第１のシェーディング操作を実行するように指定された前記グラフィックスプロセシングユニットの前記ハードウェアシェーディングユニットを用いて、前記第４のシェーディング操作を実行することと
をさらに備える、請求項２に記載の方法。
【請求項４】
前記第２のステージと関連付けられる前記第２のシェーディング操作を実行することは、前記第１のシェーディングステージと関連付けられる入力／出力インターフェースを維持することを備える、
請求項１に記載の方法。
【請求項５】
前記第２のシェーディング操作を実行する前に、前記第２のシェーディング操作のためにプログラムカウンタと１つまたは複数のリソースポインタとを切り替えることをさらに備える、
請求項１に記載の方法。
【請求項６】
前記第１のシェーディング操作と関連付けられる第１の命令は、前記第２のシェーディング操作と関連付けられる第２の命令に依存しないように、前記第１の命令が前記第２の命令とは独立にコンパイルされる、
請求項１に記載の方法。
【請求項７】
１つまたは複数のシステムにより生成される値のために、ローカルメモリ中の１つまたは複数の所定の位置を確保することをさらに備え、前記システムにより生成される値は、前記第１のシェーディング操作および前記第２のシェーディング操作において使用される、
請求項６に記載の方法。
【請求項８】
前記第１のシェーディング操作の結果をローカルメモリに記憶することをさらに備え、前記第２のシェーディング操作を実行することは、前記グラフィックスプロセシングユニットの外部に位置するオフチップメモリにアクセスすることなく、前記第１のシェーディング操作の前記結果に対して前記第２のシェーディング操作を実行することを備える、
請求項１に記載の方法。
【請求項９】
前記第１のシェーディング操作を実行することは、頂点シェーディングされた頂点を出力するために、入力された頂点をシェーディングする頂点シェーディング操作を実行することを備え、前記第２のシェーディング操作を実行することは、前記頂点シェーディングされた頂点の１つまたは複数に基づいて１つまたは複数の新たな頂点を生成するジオメトリシェーディング操作を実行することを備える、
請求項１に記載の方法。
【請求項１０】
前記第１のシェーディング操作を実行することは、頂点シェーディングされた頂点を出力するために、入力された頂点をシェーディングする頂点シェーディング操作を実行することを備え、前記第２のシェーディング操作を実行することは、前記頂点シェーディングされた頂点の１つまたは複数に基づいて１つまたは複数の制御ポイントを生成するハルシェーディング操作を実行することを備える、
請求項１に記載の方法。
【請求項１１】
前記第１のシェーディング操作を実行することは、頂点を生成するためにドメインシェーディング操作を実行することを備え、前記第２のシェーディング操作を実行することは、前記ドメインシェーディングされた頂点の１つまたは複数に基づいて１つまたは複数の新たな頂点を生成するためにジオメトリシェーディング操作を実行することを備える、
請求項１に記載の方法。
【請求項１２】
グラフィックスをレンダリングするための装置であって、
少なくとも１つのプリミティブをシェーディングするためのドローコールに基づいて、前記少なくとも１つのプリミティブをシェーディングするための関連付けられるシェーディング動作のセットを有する動作モードを決定するための手段と、
前記決定された動作モードに基づいて、レンダリングパイプラインの第１のシェーダステージと関連付けられる前記セットの第１のシェーディング操作を実行するように、グラフィックスプロセシングユニットのハードウェアシェーディングユニットを指定するための手段と、
前記決定された動作モードに基づいて、前記レンダリングパイプラインの第２の異なるシェーダステージと関連付けられる前記セットの第２のシェーディング操作を前記第１のシェーディング操作に付加するための手段と、
前記第１のシェーディング操作を実行するように指定された前記グラフィックスプロセシングユニットの前記ハードウェアシェーディングユニットを用いて、前記第１のシェーディング操作に後続する前記第２のシェーディング操作を実行するための手段と
を備える、装置。
【請求項１３】
前記装置は、グラフィックスをレンダリングするためのグラフィックスプロセシングユニットである、
請求項１２に記載の装置。
【請求項１４】
前記ドローコールは、ドローコールの第１のサブドローコールを備え、前記装置は、
前記ドローコールの第２のサブドローコールに基づいて、前記少なくとも１つのプリミティブをシェーディングするための関連するシェーディング操作の第２のセットを有する第２の動作モードを決定するための手段と、
前記決定された第２の動作モードに基づいて、レンダリングパイプラインの第３のシェーダステージと関連付けられる前記第２のセットの第３のシェーディング操作を実行するように、グラフィックスプロセシングユニットの前記ハードウェアシェーディングユニットを指定するための手段と、
前記第１のシェーディング操作を実行するように指定された前記グラフィックスプロセシングユニットの前記ハードウェアシェーディングユニットを用いて、前記第３のシェーディング操作を実行するための手段と
をさらに備える、請求項１２に記載の装置。
【請求項１５】
命令を記憶した非一時的コンピュータ可読媒体であって、前記命令は、実行されると、１つまたは複数のプロセッサに請求項１−１１のうちのいずれか一項に従った方法を実行することを行わせる、
非一時的コンピュータ可読媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０２５７
【補正方法】変更
【補正の内容】
【０２５７】
[0274]様々な例が説明された。これらおよび他の例は、以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
グラフィックスをレンダリングする方法であって、
レンダリングパイプラインの第１のシェーダステージと関連付けられる第１のシェーディング操作を実行するように、グラフィックスプロセシングユニットのハードウェアシェーディングユニットを指定することと、
前記第１のシェーディング操作が完了すると、前記ハードウェアシェーディングユニットの動作モードを切り替えることと、
前記第１のシェーディング操作を実行するように指定された前記グラフィックスプロセシングユニットの前記ハードウェアシェーディングユニットを用いて、前記レンダリングパイプラインの第２の異なるシェーダステージと関連付けられる第２のシェーディング操作を実行することと
を備える、方法。
［Ｃ２］
動作モードを切り替えることは、前記第１のシェーディング操作と前記第２のシェーディング操作とを備えるドローコールのモードを決定することを備える、
Ｃ１に記載の方法。
［Ｃ３］
前記第２のシェーディング操作が完了すると、前記ハードウェアシェーディングユニットの動作モードを切り替えることと、
前記第１のシェーディング操作を実行するように指定された前記グラフィックスプロセシングユニットの前記ハードウェアシェーディングユニットを用いて、前記レンダリングパイプラインの第３の異なるシェーダステージと関連付けられる第３のシェーディング操作を実行することと
をさらに備える、Ｃ２に記載の方法。
［Ｃ４］
前記第３のシェーディング操作が完了すると、前記ハードウェアシェーディングユニットの動作モードを切り替えることと、
前記第１のシェーディング操作を実行するように指定された前記グラフィックスプロセシングユニットの前記ハードウェアシェーディングユニットを用いて、前記レンダリングパイプラインの第４の異なるシェーダステージと関連付けられる第４のシェーディング操作を実行することと
をさらに備える、Ｃ３に記載の方法。
［Ｃ５］
動作モードを切り替えることは、前記第１のシェーディングステージと関連付けられる入力／出力インターフェースを維持しながら動作モードを切り替えることを備える、
Ｃ１に記載の方法。
［Ｃ６］
動作モードを切り替えることは、前記第２のシェーディング操作のためにプログラムカウンタと１つまたは複数のリソースポインタとを切り替えることを備える、
Ｃ１に記載の方法。
［Ｃ７］
前記第１のシェーディング操作と関連付けられる第１の命令は、前記第２のシェーディング操作と関連付けられる第２の命令に依存しないように、前記第１の命令が前記第２の命令とは独立にコンパイルされる、
Ｃ１に記載の方法。
［Ｃ８］
１つまたは複数のシステムにより生成される値のために、ローカルメモリ中の１つまたは複数の所定の位置を確保することをさらに備え、前記システムにより生成される値は、前記第１のシェーディング操作および前記第２のシェーディング操作において使用される、
Ｃ７に記載の方法。
［Ｃ９］
前記第１のシェーディング操作の結果をローカルメモリに記憶することと、前記グラフィックスプロセシングユニットの外部に位置するオフチップメモリにアクセスすることなく、前記第１のシェーディング操作の前記結果に対して前記第２のシェーディング操作を実行することと
をさらに備える、Ｃ１に記載の方法。
［Ｃ１０］
前記第１のシェーディング操作を実行することは、頂点シェーディングされた頂点を出力するために、入力された頂点をシェーディングする頂点シェーディング操作を実行することを備え、前記第２のシェーディング操作を実行することは、前記頂点シェーディングされた頂点の１つまたは複数に基づいて１つまたは複数の新たな頂点を生成するジオメトリシェーディング操作を実行することを備える、
Ｃ１に記載の方法。
［Ｃ１１］
前記第１のシェーディング操作を実行することは、頂点シェーディングされた頂点を出力するために、入力された頂点をシェーディングする頂点シェーディング操作を実行することを備え、前記第２のシェーディング操作を実行することは、前記頂点シェーディングされた頂点の１つまたは複数に基づいて１つまたは複数の制御ポイントを生成するハルシェーディング操作を実行することを備える、
Ｃ１に記載の方法。
［Ｃ１２］
前記第１のシェーディング操作を実行することは、頂点を生成するためにドメインシェーディング操作を実行することを備え、前記第２のシェーディング操作を実行することは、前記ドメインシェーディングされた頂点の１つまたは複数に基づいて１つまたは複数の新たな頂点を生成するためにジオメトリシェーディング操作を実行することを備える、
Ｃ１に記載の方法。
［Ｃ１３］
１つまたは複数のプロセッサを備える、グラフィックスをレンダリングするためのグラフィックスプロセシングユニットであって、前記１つまたは複数のプロセッサは、
レンダリングパイプラインの第１のシェーダステージと関連付けられる第１のシェーディング操作を実行するように、前記グラフィックスプロセシングユニットのハードウェアシェーディングユニットを指定することと、
前記第１のシェーディング操作が完了すると、前記ハードウェアシェーディングユニットの動作モードを切り替え、
前記第１のシェーディング操作を実行するように指定された前記グラフィックスプロセシングユニットの前記ハードウェアシェーディングユニットを用いて、前記レンダリングパイプラインの第２の異なるシェーダステージと関連付けられる第２のシェーディング操作を実行することとを行うように構成される、
グラフィックスプロセシングユニット。
［Ｃ１４］
動作モードを切り替えるために、前記１つまたは複数のプロセッサは、前記第１のシェーディング操作と前記第２のシェーディング操作とを備えるドローコールのモードを決定するように構成される、
Ｃ１３に記載のグラフィックスプロセシングユニット。
［Ｃ１５］
前記１つまたは複数のプロセッサは、
前記第２のシェーディング操作が完了すると、前記ハードウェアシェーディングユニットの動作モードを切り替えることと、
前記第１のシェーディング操作を実行するように指定された前記グラフィックスプロセシングユニットの前記ハードウェアシェーディングユニットを用いて、前記レンダリングパイプラインの第３の異なるシェーダステージと関連付けられる第３のシェーディング操作を実行することとを行うようにさらに構成される、
Ｃ１４に記載のグラフィックスプロセシングユニット。
［Ｃ１６］
前記１つまたは複数のプロセッサは、
前記第３のシェーディング操作が完了すると、前記ハードウェアシェーディングユニットの動作モードを切り替えることと、
前記第１のシェーディング操作を実行するように指定された前記グラフィックスプロセシングユニットの前記ハードウェアシェーディングユニットを用いて、前記レンダリングパイプラインの第４の異なるシェーダステージと関連付けられる第４のシェーディング操作を実行することとを行うようにさらに構成される、
Ｃ１５に記載のグラフィックスプロセシングユニット。
［Ｃ１７］
動作モードを切り替えるために、前記１つまたは複数のプロセッサは、前記第１のシェーディングステージと関連付けられる入力／出力インターフェースを維持しながら動作モードを切り替えるように構成される、
Ｃ１３に記載のグラフィックスプロセシングユニット。
［Ｃ１８］
動作モードを切り替えるために、前記１つまたは複数のプロセッサが、前記第２のシェーディング操作のためにプログラムカウンタと１つまたは複数のリソースポインタとを切り替えるように構成される、
Ｃ１３に記載のグラフィックスプロセシングユニット。
［Ｃ１９］
前記第１のシェーディング操作と関連付けられる第１の命令は、前記第２のシェーディング操作と関連付けられる第２の命令に依存しないように、前記第１の命令が前記第２の命令とは独立にコンパイルされる、
Ｃ１３に記載のグラフィックスプロセシングユニット。
［Ｃ２０］
前記１つまたは複数のプロセッサは、１つまたは複数のシステムにより生成される値のために、前記グラフィックスプロセシングユニットのローカルメモリ中の１つまたは複数の所定の位置を確保することを行うようにさらに構成され、前記システムにより生成される値は、前記第１のシェーディング操作および前記第２のシェーディング操作において使用される、
Ｃ１９に記載のグラフィックスプロセシングユニット。
［Ｃ２１］
前記１つまたは複数のプロセッサは、前記第１のシェーディング操作の結果を前記グラフィックスプロセシングユニットのローカルメモリに記憶することと、前記グラフィックスプロセシングユニットの外部に位置するオフチップメモリにアクセスすることなく、前記第１のシェーディング操作の前記結果に対して前記第２のシェーディング操作を実行することとを行うようにさらに構成される、
Ｃ１３に記載のグラフィックスプロセシングユニット。
［Ｃ２２］
前記第１のシェーディング操作を実行するために、前記ハードウェアシェーディングユニットは、頂点シェーディングされた頂点を出力するために、入力された頂点をシェーディングする頂点シェーディング操作を実行することを行うように構成され、前記第２のシェーディング操作を実行するために、前記ハードウェアシェーディングユニットは、前記頂点シェーディングされた頂点の１つまたは複数に基づいて１つまたは複数の新たな頂点を生成するジオメトリシェーディング操作を実行することを行うように構成される、
Ｃ１３に記載のグラフィックスプロセシングユニット。
［Ｃ２３］
前記第１のシェーディング操作を実行するために、前記ハードウェアシェーディングユニットは、頂点シェーディングされた頂点を出力するために、入力された頂点をシェーディングする頂点シェーディング操作を実行することを行うように構成され、前記第２のシェーディング操作を実行するために、前記ハードウェアシェーディングユニットは、前記頂点シェーディングされた頂点の１つまたは複数に基づいて１つまたは複数の制御ポイントを生成するハルシェーディング操作を実行することを行うように構成される、
Ｃ１３に記載のグラフィックスプロセシングユニット。
［Ｃ２４］
前記第１のシェーディング操作を実行するために、前記ハードウェアシェーディングユニットは、頂点を生成するためにドメインシェーディング操作を実行することを行うように構成され、前記第２のシェーディング操作を実行するために、前記ハードウェアシェーディングユニットは、前記ドメインシェーディングされた頂点の１つまたは複数に基づいて１つまたは複数の新たな頂点を生成することを行うように構成される、
Ｃ１３に記載のグラフィックスプロセシングユニット。
［Ｃ２５］
グラフィックスをレンダリングするための装置であって、
レンダリングパイプラインの第１のシェーダステージと関連付けられる第１のシェーディング操作を実行するように、グラフィックスプロセシングユニットのハードウェアシェーディングユニットを指定するための手段と、
前記第１のシェーディング操作が完了すると、前記ハードウェアシェーディングユニットの動作モードを切り替えるための手段と、
前記第１のシェーディング操作を実行するように指定された前記グラフィックスプロセシングユニットの前記ハードウェアシェーディングユニットを用いて、前記レンダリングパイプラインの第２の異なるシェーダステージと関連付けられる第２のシェーディング操作を実行するための手段と
を備える、装置。
［Ｃ２６］
動作モードを切り替えるための前記手段は、前記第１のシェーディング操作と前記第２のシェーディング操作とを備えるドローコールのモードを決定するための手段を備える、
Ｃ２５に記載の装置。
［Ｃ２７］
前記第２のシェーディング操作が完了すると、前記ハードウェアシェーディングユニットの動作モードを切り替えるための手段と、
前記第１のシェーディング操作を実行するように指定された前記グラフィックスプロセシングユニットの前記ハードウェアシェーディングユニットを用いて、前記レンダリングパイプラインの第３の異なるシェーダステージと関連付けられる第３のシェーディング操作を実行するための手段と
をさらに備える、Ｃ２６に記載の装置。
［Ｃ２８］
前記第３のシェーディング操作が完了すると、前記ハードウェアシェーディングユニットの動作モードを切り替えるための手段と、
前記第１のシェーディング操作を実行するように指定された前記グラフィックスプロセシングユニットの前記ハードウェアシェーディングユニットを用いて、前記レンダリングパイプラインの第４の異なるシェーダステージと関連付けられる第４のシェーディング操作を実行するための手段と
をさらに備える、Ｃ２７に記載の装置。
［Ｃ２９］
動作モードを切り替えるための前記手段は、前記第１のシェーディングステージと関連付けられる入力／出力インターフェースを維持しながら動作モードを切り替えるための手段を備える、
Ｃ２５に記載の装置。
［Ｃ３０］
動作モードを前記切り替えることは、前記第２のシェーディング操作のためにプログラムカウンタと１つまたは複数のリソースポインタとを切り替えるための手段を備える、
Ｃ２５に記載の装置。
［Ｃ３１］
前記第１のシェーディング操作と関連付けられる第１の命令は、前記第２のシェーディング操作と関連付けられる第２の命令に依存しないように、前記第１の命令が前記第２の命令とは独立にコンパイルされる、
Ｃ２５に記載の装置。
［Ｃ３２］
１つまたは複数のシステムにより生成される値のために、ローカルメモリ中の１つまたは複数の所定の位置を確保するための手段をさらに備え、前記システムにより生成される値は、前記第１のシェーディング操作および前記第２のシェーディング操作において使用される、
Ｃ３１に記載の装置。
［Ｃ３３］
前記第１のシェーディング操作の結果をローカルメモリに記憶し、前記グラフィックスプロセシングユニットの外部に位置するオフチップメモリにアクセスすることなく、前記第１のシェーディング操作の前記結果に対して前記第２のシェーディング操作を実行するための手段をさらに備える、
Ｃ２５に記載の装置。
［Ｃ３４］
前記第１のシェーディング操作を実行するための前記手段は、頂点シェーディングされた頂点を出力するために、入力された頂点をシェーディングする頂点シェーディング操作を実行するための手段を備え、前記第２のシェーディング操作を実行するための前記手段は、前記頂点シェーディングされた頂点の１つまたは複数に基づいて１つまたは複数の新たな頂点を生成するジオメトリシェーディング操作を実行するための手段を備える、
Ｃ２５に記載の装置。
［Ｃ３５］
前記第１のシェーディング操作を実行するための前記手段は、頂点シェーディングされた頂点を出力するために、入力された頂点をシェーディングする頂点シェーディング操作を実行するための手段を備え、前記第２のシェーディング操作を実行するための前記手段は、前記頂点シェーディングされた頂点の１つまたは複数に基づいて１つまたは複数の制御ポイントを生成するハルシェーディング操作を実行するための手段を備える、
Ｃ２５に記載の装置。
［Ｃ３６］
前記第１のシェーディング操作を実行するための前記手段は、頂点を生成するドメインシェーディング操作を実行するための手段を備え、前記第２のシェーディング操作を実行するための前記手段は、前記ドメインシェーディングされた頂点の１つまたは複数に基づいて１つまたは複数の新たな頂点を生成するジオメトリシェーディング操作を実行するための手段を備える、
Ｃ２５に記載の装置。
［Ｃ３７］
命令を記憶した非一時的コンピュータ可読媒体であって、前記命令は、実行されると、１つまたは複数のプロセッサに、
レンダリングパイプラインの第１のシェーダステージと関連付けられる第１のシェーディング操作を実行するように、グラフィックスプロセシングユニットのハードウェアシェーディングユニットを指定することと、
前記第１のシェーディング操作が完了すると、前記ハードウェアシェーディングユニットの動作モードを切り替えることと、
前記第１のシェーディング操作を実行するように指定された前記グラフィックスプロセシングユニットの前記ハードウェアシェーディングユニットを用いて、前記レンダリングパイプラインの第２の異なるシェーダステージと関連付けられる第２のシェーディング操作を実行することと
を行わせる、非一時的コンピュータ可読媒体。
［Ｃ３８］
動作モードを切り替えるために、前記命令は、前記１つまたは複数のプロセッサに、前記第１のシェーディング操作と前記第２のシェーディング操作とを備えるドローコールのモードを決定することを行わせる、
Ｃ３７に記載の非一時的コンピュータ可読媒体。
［Ｃ３９］
前記１つまたは複数のプロセッサに、
前記第２のシェーディング操作が完了すると、前記ハードウェアシェーディングユニットの動作モードを切り替えることと、
前記第１のシェーディング操作を実行するように指定された前記グラフィックスプロセシングユニットの前記ハードウェアシェーディングユニットを用いて、前記レンダリングパイプラインの第３の異なるシェーダステージと関連付けられる第３のシェーディング操作を実行することと
を行わせる命令をさらに備える、Ｃ３８に記載の非一時的コンピュータ可読媒体。
［Ｃ４０］
前記１つまたは複数のプロセッサに、
前記第３のシェーディング操作が完了すると、前記ハードウェアシェーディングユニットの動作モードを切り替えることと、
前記第１のシェーディング操作を実行するように指定された前記グラフィックスプロセシングユニットの前記ハードウェアシェーディングユニットを用いて、前記レンダリングパイプラインの第４の異なるシェーダステージと関連付けられる第４のシェーディング操作を実行することと
を行わせる、Ｃ３９に記載の非一時的コンピュータ可読媒体。
［Ｃ４１］
動作モードを切り替えるために、前記命令は、前記１つまたは複数のプロセッサに、前記第１のシェーディングステージと関連付けられる入力／出力インターフェースを維持しながら動作モードを切り替えることを行わせる、
Ｃ３７に記載の非一時的コンピュータ可読媒体。
［Ｃ４２］
動作モードを切り替えるために、前記命令は、前記１つまたは複数のプロセッサに、前記第２のシェーディング操作のためにプログラムカウンタと１つまたは複数のリソースポインタとを切り替えることを行わせる、
Ｃ３７に記載の非一時的コンピュータ可読媒体。
［Ｃ４３］
前記第１のシェーディング操作と関連付けられる第１の命令が、前記第２のシェーディング操作と関連付けられる第２の命令に依存しないように、前記第１の命令が前記第２の命令とは独立にコンパイルされる、
Ｃ３７に記載の非一時的コンピュータ可読媒体。
［Ｃ４４］
前記１つまたは複数のプロセッサに、１つまたは複数のシステムにより生成される値のために、前記グラフィックスプロセシングユニットのローカルメモリ中の１つまたは複数の所定の位置を確保することを行わせる命令をさらに備え、前記システムにより生成される値は、前記第１のシェーディング操作および前記第２のシェーディング操作において使用される、
Ｃ４３に記載の非一時的コンピュータ可読媒体。
［Ｃ４５］
前記１つまたは複数のプロセッサに、前記第１のシェーディング操作の結果を前記グラフィックスプロセシングユニットのローカルメモリへ記憶することと、前記グラフィックスプロセシングユニットの外部に位置するオフチップメモリにアクセスすることなく、前記第１のシェーディング操作の前記結果に対して前記第２のシェーディング操作を実行することとを行わせる命令をさらに備える、
Ｃ３７に記載の非一時的コンピュータ可読媒体。
［Ｃ４６］
前記第１のシェーディング操作を実行するために、前記命令は、前記ハードウェアシェーディングに、頂点シェーディングされた頂点を出力するために、入力された頂点をシェーディングする頂点シェーディング操作を実行することと、前記第２のシェーディング操作を実行するために、前記命令は、前記ハードウェアシェーディングユニットに、前記頂点シェーディングされた頂点の１つまたは複数に基づいて１つまたは複数の新たな頂点を生成するジオメトリシェーディング操作を実行することと
を行わせる、Ｃ３７に記載の非一時的コンピュータ可読媒体。
［Ｃ４７］
前記第１のシェーディング操作を実行するために、前記命令は、前記ハードウェアシェーディングユニットに、頂点シェーディングされた頂点を出力するために、入力された頂点をシェーディングする頂点シェーディング操作を実行することと、前記第２のシェーディング操作を実行するために、前記命令は、前記ハードウェアシェーディングユニットに、前記頂点シェーディングされた頂点の１つまたは複数に基づいて１つまたは複数の制御ポイントを生成するハルシェーディング操作を実行することと
を行わせる、Ｃ３７に記載の非一時的コンピュータ可読媒体。
［Ｃ４８］
前記第１のシェーディング操作を実行するために、前記命令は、前記ハードウェアシェーディングユニットに、頂点を生成するドメインシェーディング操作を実行することと、前記第２のシェーディング操作を実行するために、前記命令は、前記ハードウェアシェーディングユニットに、前記ドメインシェーディングされた頂点の１つまたは複数に基づいて１つまたは複数の新たな頂点を生成するジオメトリシェーディング操作を実行することと
を行わせる、Ｃ３７に記載の非一時的コンピュータ可読媒体。