【手続補正書】
【提出日】平成29年10月13日(2017.10.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
グラフィックスプロセッサにより、第1のシェーダプログラム実行モードで動作すると判定するステップと、
前記第1のシェーダプログラム実行モードで動作すると判定したことに応答して、マージ型頂点/ジオメトリシェーダプログラムの単一のインスタンスが、前記マージ型頂点/ジオメトリシェーダプログラムによって受信される第1の複数のプリミティブごとに第1の複数の出力頂点が生成されるように、頂点シェーダ処理およびジオメトリシェーダ処理を実行する前記マージ型頂点/ジオメトリシェーダプログラムの第1の複数のインスタンスを、前記グラフィックスプロセッサのシェーダユニットにより実行するステップと、
グラフィックスプロセッサにより、第2のシェーダプログラム実行モードで動作すると判定するステップと、
前記第2のシェーダプログラム実行モードで動作すると判定したことに応答して、前記マージ型頂点/ジオメトリシェーダプログラムの第2の複数のインスタンスの各々が1つの出力頂点を出力するように、前記グラフィックスプロセッサの前記シェーダユニットにより、前記マージ型頂点/ジオメトリシェーダプログラムの前記第2の複数のインスタンスを実行して、第2の複数のプリミティブごとに第2の複数の出力頂点を生成するステップと、
を含む方法。
【請求項２】
前記マージ型頂点/ジオメトリシェーダプログラムの前記第1の複数のインスタンスを前記グラフィックスプロセッサの前記シェーダユニットにより実行するステップはさらに、
前記マージ型頂点/ジオメトリシェーダプログラムの前記第1の複数のインスタンスを、前記マージ型頂点/ジオメトリシェーダプログラムの前記第1の複数のインスタンスの各々が複数の入力頂点の各々を受信し、前記複数の入力頂点の前記各々の受信に応答して複数の出力頂点を生成するように、前記シェーダユニットにより実行するステップ
を含む、請求項1に記載の方法。
【請求項３】
前記マージ型頂点/ジオメトリシェーダプログラムの前記第1の複数のインスタンスを前記グラフィックスプロセッサの前記シェーダユニットにより実行するステップは、
前記シェーダユニットにより、前記マージ型頂点/ジオメトリシェーダプログラムの前記第1の複数のインスタンスを、前記マージ型頂点/ジオメトリシェーダプログラムの前記第1の複数のインスタンスの各々がM個の出力頂点を生成するように実行するステップであって、Mが2以上の整数である、ステップ
を含む、請求項1に記載の方法。
【請求項４】
Mは、前記マージ型頂点/ジオメトリシェーダプログラムによって実装される前記ジオメトリシェーダプログラムによって指定される最大出力頂点カウント値に等しく、前記最大出力頂点カウント値が、前記ジオメトリシェーダプログラムによって処理される各プリミティブに対して前記ジオメトリシェーダプログラムによって生成されるべきである出力頂点の最大数を示す、請求項3に記載の方法。
【請求項５】
前記マージ型頂点/ジオメトリシェーダプログラムの前記第1の複数のインスタンスの各々は、前記マージ型頂点/ジオメトリシェーダプログラムの前記それぞれのインスタンスに割り当てられるプリミティブに対する前記ジオメトリシェーダ処理を実行するように構成可能であり、
複数のプリミティブの各々は、処理のために1つのマージ型頂点/ジオメトリシェーダインスタンスに割り当てられる、請求項3に記載の方法。
【請求項６】
前記マージ型頂点/ジオメトリシェーダプログラムの前記第1の複数のインスタンスの各々は、前記マージ型頂点/ジオメトリシェーダプログラムの前記それぞれのインスタンスに割り当てられる頂点に対する前記頂点シェーダ処理を実行するようにさらに構成可能であり、
複数の頂点の各々は、処理のために1つのマージ型頂点/ジオメトリシェーダインスタンスに割り当てられ、
前記マージ型頂点/ジオメトリシェーダプログラムの前記第1の複数のインスタンスのうちの少なくとも1つは、前記複数の頂点のうちの1つに対する前記頂点シェーダ処理および前記複数のプリミティブのうちの1つに対する前記ジオメトリシェーダ処理を実行するように構成される、請求項5に記載の方法。
【請求項７】
前記マージ型頂点/ジオメトリシェーダプログラムの前記第1の複数のインスタンスの各々は、前記マージ型頂点/ジオメトリシェーダプログラムの前記それぞれのインスタンスに割り当てられる頂点に対する前記頂点シェーダ処理を実行するようにさらに構成可能であり、前記シェーダユニットにより、前記マージ型頂点/ジオメトリシェーダプログラムの前記第1の複数のインスタンスを実行するステップは、
前記マージ型頂点/ジオメトリシェーダプログラムの第1のインスタンスにより、複数の頂点のうちの1つに対する前記頂点シェーダ処理を実行して、頂点シェーディング済み頂点を生成するステップと、
前記マージ型頂点/ジオメトリシェーダプログラムの第2のインスタンスにより、前記マージ型頂点/ジオメトリシェーダプログラムの前記第1のインスタンスによって生成された前記頂点シェーディング済み頂点に基づいて、前記複数のプリミティブのうちの第1のプリミティブに対する前記ジオメトリシェーダ処理を実行して、前記第1のプリミティブに対応する1つまたは複数のジオメトリシェーディング済み頂点を生成するステップと、
前記マージ型頂点/ジオメトリシェーダプログラムの第3のインスタンスにより、前記マージ型頂点/ジオメトリシェーダプログラムの前記第1のインスタンスによって生成された前記頂点シェーディング済み頂点に基づいて、前記複数のプリミティブのうちの第2のプリミティブに対する前記ジオメトリシェーダ処理を実行して、前記第2のプリミティブに対応する1つまたは複数のジオメトリシェーディング済み頂点を生成するステップと
をさらに含む、請求項5に記載の方法。
【請求項８】
前記第1の複数の出力頂点はM個の出力頂点を含み、前記マージ型頂点/ジオメトリシェーダプログラムの前記第2の複数のインスタンスは、前記マージ型頂点/ジオメトリシェーダプログラムのN個のインスタンスを含み、前記第2の複数の出力頂点はN個の出力頂点を含み、Mが2以上の整数であり、Nが2以上の整数であり、MがN以下である、請求項1に記載の方法。
【請求項９】
Mは、前記マージ型頂点/ジオメトリシェーダプログラムによって実装されるジオメトリシェーダ段階によって処理される前記プリミティブの各々に対して生成される頂点の数に等しく、
Nは、前記マージ型頂点/ジオメトリシェーダプログラムによって実装されるジオメトリシェーダプログラムによって指定される最大出力頂点カウント値に等しく、前記最大出力頂点カウント値が、前記ジオメトリシェーダプログラムによって処理される前記プリミティブの各々に対して前記ジオメトリシェーダプログラムによって生成されるべきである出力頂点の最大数を示す、請求項8に記載の方法。
【請求項１０】
前記第1のシェーダプログラム実行モードで動作するとき、複数の頂点の各々は、処理のために1つのマージ型頂点/ジオメトリシェーダインスタンスに割り当てられ、
前記第2のシェーダプログラム実行モードで動作するとき、前記複数の頂点の各々は、処理のためにK個のマージ型頂点/ジオメトリシェーダインスタンスに割り当てられ、Kが、前記それぞれの頂点を含むプリミティブの数に等しい整数である、請求項8に記載の方法。
【請求項１１】
前記マージ型頂点/ジオメトリシェーダプログラムによって実装されるジオメトリシェーダプログラムに関連する出力頂点を記憶するために必要な記憶空間の総量を示す情報に基づいて、前記マージ型頂点/ジオメトリシェーダプログラムを実行するために使用する被選択シェーダプログラム実行モードとして、前記第1のシェーダプログラム実行モードおよび前記第2のシェーダプログラム実行モードのうちの1つを選択するステップと、
前記シェーダユニットに、前記被選択シェーダプログラム実行モードに基づいて前記マージ型頂点/ジオメトリシェーダプログラムを実行させるステップと
をさらに含む、請求項8に記載の方法。
【請求項１２】
前記第1のシェーダプログラム実行モードおよび前記第2のシェーダプログラム実行モードのうちの前記1つを選択するステップは、
記憶空間の前記総量を示す前記情報がしきい値よりも大きいかどうかを判断するステップと、
記憶空間の前記総量を示す前記情報が前記しきい値よりも大きいとの判断に応答して、前記被選択シェーダプログラム実行モードとして前記第2のシェーダプログラム実行モードを選択するステップと、
記憶空間の前記総量を示す前記情報が前記しきい値以下であるとの判断に応答して、前記被選択シェーダプログラム実行モードとして前記第1のシェーダプログラム実行モードを選択するステップと
を含む、請求項11に記載の方法。
【請求項１３】
第1のシェーダプログラム実行モードで動作すると判定し、
前記第1のシェーダプログラム実行モードで動作すると判定したことに応答して、マージ型頂点/ジオメトリシェーダプログラムの単一のインスタンスが、前記マージ型頂点/ジオメトリシェーダプログラムによって受信される第1の複数のプリミティブごとに第1の複数の出力頂点が生成されるように、頂点シェーダ処理およびジオメトリシェーダ処理を実行する前記マージ型頂点/ジオメトリシェーダプログラムの第1の複数のインスタンスを実行し、
第2のシェーダプログラム実行モードで動作すると判定し、
前記第2のシェーダプログラム実行モードで動作すると判定したことに応答して、前記マージ型頂点/ジオメトリシェーダプログラムの第2の複数のインスタンスの各々が1つの出力頂点を出力するように、前記マージ型頂点/ジオメトリシェーダプログラムの前記第2の複数のインスタンスを実行して、第2の複数のプリミティブごとに第2の複数の出力頂点を生成する
ように構成されたシェーダユニットを備えるグラフィックス処理装置(GPU)を含むデバイス。
【請求項１４】
前記マージ型頂点/ジオメトリシェーダユニットは、
前記マージ型頂点/ジオメトリシェーダプログラムの前記第1の複数のインスタンスを、前記マージ型頂点/ジオメトリシェーダプログラムの前記第1の複数のインスタンスの各々が複数の入力頂点の各々を受信し、前記複数の入力頂点の前記各々の受信に応答して前記複数の出力頂点を生成するように実行する
ようにさらに構成される、請求項13に記載のデバイス。
【請求項１５】
前記マージ型頂点/ジオメトリシェーダプログラムは、前記頂点シェーダ処理および前記ジオメトリシェーダ処理を実行するようにさらに構成可能であり、
前記シェーダユニットは、
前記マージ型頂点/ジオメトリシェーダプログラムの前記第1の複数のインスタンスを、前記マージ型頂点/ジオメトリシェーダプログラムの前記第1の複数のインスタンスの各々がM個の出力頂点を生成するように実行することであって、Mが2以上の整数である、実行することを行うようにさらに構成される、請求項13に記載のデバイス。
【請求項１６】
Mは、前記マージ型頂点/ジオメトリシェーダプログラムによって実装されるジオメトリシェーダプログラムによって指定される最大出力頂点カウント値に等しく、前記最大出力頂点カウント値が、前記ジオメトリシェーダプログラムによって処理される各プリミティブに対して前記ジオメトリシェーダプログラムによって生成されるべきである出力頂点の最大数を示す、請求項15に記載のデバイス。
【請求項１７】
前記マージ型頂点/ジオメトリシェーダプログラムの前記第1の複数のインスタンスの各々は、前記マージ型頂点/ジオメトリシェーダプログラムの前記それぞれのインスタンスに割り当てられるプリミティブに対する前記ジオメトリシェーダ処理を実行するように構成可能であり、
複数のプリミティブの各々は、処理のために1つのマージ型頂点/ジオメトリシェーダインスタンスに割り当てられる、請求項15に記載のデバイス。
【請求項１８】
前記マージ型頂点/ジオメトリシェーダプログラムの前記第1の複数のインスタンスの各々は、前記第1の複数のマージ型頂点/ジオメトリシェーダプログラムの前記それぞれのインスタンスに割り当てられる頂点に対する前記頂点シェーダ処理を実行するようにさらに構成可能であり、
複数の頂点の各々は、処理のために1つのマージ型頂点/ジオメトリシェーダインスタンスに割り当てられ、
前記マージ型頂点/ジオメトリシェーダプログラムの前記第1の複数のインスタンスのうちの少なくとも1つは、前記複数の頂点のうちの1つに対する前記頂点シェーダ処理および前記複数のプリミティブのうちの1つに対する前記ジオメトリシェーダ処理を実行するように構成される、請求項17に記載のデバイス。
【請求項１９】
前記マージ型頂点/ジオメトリシェーダプログラムの前記インスタンスの各々は、前記マージ型頂点/ジオメトリシェーダプログラムの前記それぞれのインスタンスに割り当てられる頂点に対する前記頂点シェーダ処理を実行するようにさらに構成可能であり、前記シェーダユニットは、
前記マージ型頂点/ジオメトリシェーダプログラムの第1のインスタンスにより、複数の頂点のうちの1つに対する前記頂点シェーダ処理を実行して、頂点シェーディング済み頂点を生成することと、
前記マージ型頂点/ジオメトリシェーダプログラムの第2のインスタンスにより、前記マージ型頂点/ジオメトリシェーダプログラムの前記第1のインスタンスによって生成された前記頂点シェーディング済み頂点に基づいて、前記複数のプリミティブのうちの第1のプリミティブに対する前記ジオメトリシェーダ処理を実行して、前記第1のプリミティブに対応する1つまたは複数のジオメトリシェーディング済み頂点を生成することと、
前記マージ型頂点/ジオメトリシェーダプログラムの第3のインスタンスにより、前記マージ型頂点/ジオメトリシェーダプログラムの前記第1のインスタンスによって生成された前記頂点シェーディング済み頂点に基づいて、前記複数のプリミティブのうちの第2のプリミティブに対する前記ジオメトリシェーダ処理を実行して、前記第2のプリミティブに対応する1つまたは複数のジオメトリシェーディング済み頂点を生成することと
を行うようにさらに構成される、請求項17に記載のデバイス。
【請求項２０】
前記第1の複数の出力頂点はM個の出力頂点を含み、前記マージ型頂点/ジオメトリシェーダプログラムの前記第2の複数のインスタンスは、前記マージ型頂点/ジオメトリシェーダプログラムのN個のインスタンスを含み、前記第2の複数の出力頂点はN個の出力頂点を含み、Mが2以上の整数であり、Nが2以上の整数であり、MがN以下である、請求項13に記載のデバイス。
【請求項２１】
Mは、前記マージ型頂点/ジオメトリシェーダプログラムによって実装されるジオメトリシェーダ段階によって処理される前記プリミティブの各々に対して生成される頂点の数に等しく、
Nは、前記マージ型頂点/ジオメトリシェーダプログラムによって実装されるジオメトリシェーダプログラムによって指定される最大出力頂点カウント値に等しく、前記最大出力頂点カウント値が、前記ジオメトリシェーダプログラムによって処理される前記プリミティブの各々に対して前記ジオメトリシェーダプログラムによって生成されるべきである出力頂点の最大数を示す、請求項20に記載のデバイス。
【請求項２２】
前記第1のシェーダプログラム実行モードで動作するとき、複数の頂点の各々は、処理のために1つのマージ型頂点/ジオメトリシェーダインスタンスに割り当てられ、
前記第2のシェーダプログラム実行モードで動作するとき、前記複数の頂点の各々は、処理のためにK個のマージ型頂点/ジオメトリシェーダインスタンスに割り当てられ、Kが、前記それぞれの頂点を含むプリミティブの数に等しい整数である、請求項20に記載のデバイス。
【請求項２３】
1つまたは複数のプロセッサを備え、前記1つまたは複数のプロセッサは、
前記マージ型頂点/ジオメトリシェーダプログラムによって実装されるジオメトリシェーダプログラムに関連する出力頂点を記憶するために必要な記憶空間の総量を示す情報に基づいて、前記マージ型頂点/ジオメトリシェーダプログラムを実行するために使用する被選択シェーダプログラム実行モードとして、前記第1のシェーダプログラム実行モードおよび前記第2のシェーダプログラム実行モードのうちの1つを選択することと、
前記シェーダユニットに、前記被選択シェーダプログラム実行モードに基づいて前記マージ型頂点/ジオメトリシェーダプログラムを実行させることと
を行うように構成される、請求項20に記載のデバイス。
【請求項２４】
前記1つまたは複数のプロセッサは、
記憶空間の前記総量を示す前記情報がしきい値よりも大きいかどうかを判断することと、
記憶空間の前記総量を示す前記情報が前記しきい値よりも大きいとの判断に応答して、前記被選択シェーダプログラム実行モードとして前記第2のシェーダプログラム実行モードを選択することと、
記憶空間の前記総量を示す前記情報が前記しきい値以下であるとの判断に応答して、前記被選択シェーダプログラム実行モードとして前記第1のシェーダプログラム実行モードを選択することと
を行うようにさらに構成される、請求項23に記載のデバイス。
【請求項２５】
ワイヤレス通信デバイスを含む、請求項13に記載のデバイス。
【請求項２６】
モバイルフォンハンドセットを含む、請求項13に記載のデバイス。
【請求項２７】
シェーダユニットを備えるグラフィックスプロセッサと、
第1のシェーダプログラム実行モードで動作すると判定するための手段と、
前記第1のシェーダプログラム実行モードで動作すると判定したことに応答して、マージ型頂点/ジオメトリシェーダプログラムの単一のインスタンスが、前記マージ型頂点/ジオメトリシェーダプログラムによって受信される第1の複数のプリミティブごとに第1の複数の出力頂点が生成されるように、頂点シェーダ処理およびジオメトリシェーダ処理を実行する前記マージ型頂点/ジオメトリシェーダプログラムの第1の複数のインスタンスを実行するための手段と、
第2のシェーダプログラム実行モードで動作すると判定するための手段と、
前記第2のシェーダプログラム実行モードで動作すると判定したことに応答して、前記マージ型頂点/ジオメトリシェーダプログラムの第2の複数のインスタンスの各々が1つの出力頂点を出力するように、前記マージ型頂点/ジオメトリシェーダプログラムの前記第2の複数のインスタンスを実行して、第2の複数のプリミティブごとに第2の複数の出力頂点を生成するための手段と、
を含む装置。
【請求項２８】
1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、
グラフィックスプロセッサにより、第1のシェーダプログラム実行モードで動作すると判定させ、
前記第1のシェーダプログラム実行モードで動作すると判定したことに応答して、マージ型頂点/ジオメトリシェーダプログラムの単一のインスタンスが、前記マージ型頂点/ジオメトリシェーダプログラムによって受信される第1の複数のプリミティブごとに第1の複数の出力頂点が生成されるように、頂点シェーダ処理およびジオメトリシェーダ処理を実行する前記マージ型頂点/ジオメトリシェーダプログラムの第1の複数のインスタンスを、前記グラフィックスプロセッサのシェーダユニットにより実行させ、
グラフィックスプロセッサにより、第2のシェーダプログラム実行モードで動作すると判定させ、
前記第2のシェーダプログラム実行モードで動作すると判定したことに応答して、前記マージ型頂点/ジオメトリシェーダプログラムの第2の複数のインスタンスの各々が1つの出力頂点を出力するように、前記グラフィックスプロセッサの前記シェーダユニットにより、前記マージ型頂点/ジオメトリシェーダプログラムの前記第2の複数のインスタンスを実行して、第2の複数のプリミティブごとに第2の複数の出力頂点を生成させる、
命令を記憶したコンピュータ可読記憶媒体。