【手続補正書】
【提出日】平成29年7月20日(2017.7.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
グラフィックス処理の方法であって、
グラフィックス処理ユニット（ＧＰＵ）が、前記ＧＰＵのオンチップグラフィックスメモリの中に第１の共有されるデータチャネルとして第１のリングバッファを割り当てることと、ここにおいて前記第１のリングバッファは、グラフィックス処理パイプラインの第１の２つのステージによって作り出される第１および第２のデータを記憶するために、前記グラフィックス処理パイプラインの前記それぞれの第１の２つのステージによって共有され、
前記ＧＰＵが、前記グラフィックス処理パイプラインの第２の２つのステージによって作り出される第３および第４のデータを記憶するために、前記グラフィックス処理パイプラインの前記それぞれの第２の２つのステージによって共有される前記ＧＰＵの前記オンチップグラフィックスメモリの中に第２の共有されるデータチャネルとして第２のリングバッファを割り当てることと、
前記ＧＰＵの中のシェーダユニット上で、前記グラフィックス処理パイプラインの前記第１の２つのステージのうちの１つが、前記第１のリングバッファ内に記憶される前記第１のデータを作り出すために、前記第２のリングバッファの中に記憶される前記第３のデータを消費することを含む、前記グラフィックス処理パイプラインの前記第１の２つのステージ、および前記グラフィックス処理パイプラインの前記第２の２つのステージを実行することと、
前記ＧＰＵが、前記第１のリングバッファと前記第２のリングバッファ間のデッドロックを防ぐために、前記グラフィックス処理パイプラインの前記第１の２つのステージのうちの第２のものによって作り出される前記第２のデータを記憶するための前記第１のリングバッファの中のフリースペース、および前記グラフィックス処理パイプラインの前記第２の２つのステージのうちの１つによって作り出される前記第４のデータを記憶するための前記第２のリングバッファの中のフリースペースを保持することと、
オンチップグラフィックスメモリの中の前記第１のリングバッファ内に前記ＧＰＵが、前記シェーダユニット上で実行している前記グラフィックス処理パイプラインの第１の２つのステージによって作り出される前記第１および第２のデータを、前記グラフィックス処理パイプラインの前記第１の２つのステージによって作り出される前記第１および第２のデータのキューとして記憶することと、
オンチップグラフィックスメモリの中の前記第１のリングバッファから前記ＧＰＵが、前記第１のリングバッファから読み取られる前記グラフィックス処理パイプラインの前記第１の２つのステージのうちの前記第２のものによって作り出される前記第２のデータを前記リングバッファから削除することを含む、前記グラフィックス処理パイプラインの前記第１の２つのステージのうちの前記第２のものによって作り出される前記第２のデータを読み取ることと、それによって前記ＧＰＵが前記グラフィックス処理パイプラインの前記第１の２つのステージのうちの前記１つによって作り出される追加のデータを記憶するための前記第１のリングバッファの中のスペースを増加させ、
を備える、方法。
【請求項２】
データが、前記シェーダユニット上で実行している前記グラフィックス処理パイプラインの１つ以上のステージによって消費されるために前記第１のリングバッファ、または前記第２のリングバッファにおいて利用可能であり、ならびにフリースペースが、前記シェーダユニット上で実行している前記グラフィックス処理パイプラインの前記１つ以上のステージによって作り出されるデータを記憶するために前記第１のリングバッファ、または前記第２のリングバッファにおいて利用可能であるように、前記ＧＰＵが、前記第１のリングバッファ、または前記第２のリングバッファのステータスに少なくとも部分的に基づいて前記シェーダユニット上で前記グラフィックス処理パイプラインの前記１つ以上のステージの前記実行をスケジューリングすることをさらに備える、請求項１に記載の方法。
【請求項３】
前記第２のリングバッファは、前記第２のリングバッファの中に記憶されたデータをキャッシュするためにキャッシュモードで動作し、前記第１のリングバッファは、ファーストインファーストアウト（ＦＩＦＯ）モードで動作する、請求項１に記載の方法。
【請求項４】
前記第１のリングバッファの中に記憶された前記第１および第２のデータは、前記グラフィックス処理パイプラインの前記第１の２つのステージによって作り出される頂点データを備え、前記第２のリングバッファの中に記憶された前記第３および第４のデータは、前記グラフィックス処理パイプラインの前記第２の２つのステージによって作り出されるプリミティブを備える、請求項１に記載の方法。
【請求項５】
前記グラフィックス処理パイプラインの前記第１の２つのステージは、頂点シェーダおよびドメインシェーダを備える、請求項４に記載の方法。
【請求項６】
前記グラフィックス処理パイプラインの前記第２の２つのステージは、ハルシェーダおよびジオメトリシェーダを備える、請求項４に記載の方法。
【請求項７】
グラフィックスデータを処理するように構成された装置であって、
メモリと、
グラフィックス処理ユニット（ＧＰＵ）のオンチップグラフィックスメモリの中に第１の共有されるデータチャネルとして第１のリングバッファを割り当てることと、ここにおいて前記第１のリングバッファは、グラフィックス処理パイプラインの第１の２つのステージによって作り出される第１および第２のデータを記憶するために、前記グラフィックス処理パイプラインの前記それぞれの第１の２つのステージによって共有され、
前記グラフィックス処理パイプラインの第２の２つのステージによって作り出される第３および第４のデータを記憶するために、前記グラフィックス処理パイプラインの前記それぞれの第２の２つのステージによって共有される前記ＧＰＵの前記オンチップグラフィックスメモリの中に第２の共有されるデータチャネルとして第２のリングバッファを割り当てることと、
前記ＧＰＵの中のシェーダユニット上で、前記グラフィックス処理パイプラインの前記第１の２つのステージのうちの１つが、前記第１のリングバッファ内に記憶される前記第１のデータを作り出すために、前記第２のリングバッファの中に記憶される前記第３のデータを消費することを含む、前記グラフィックス処理パイプラインの前記第１の２つのステージ、および前記グラフィックス処理パイプラインの前記第２の２つのステージを実行することと、
前記第１のリングバッファと前記第２のリングバッファ間のデッドロックを防ぐために、前記グラフィックス処理パイプラインの前記第１の２つのステージのうちの第２のものによって作り出される前記第２のデータを記憶するための前記第１のリングバッファの中のフリースペース、および前記グラフィックス処理パイプラインの前記第２の２つのステージのうちの１つによって作り出される前記第４のデータを記憶するための前記第２のリングバッファの中のフリースペースを保持することと、
オンチップグラフィックスメモリの中の前記第１のリングバッファ内に、前記シェーダユニット上で実行している前記グラフィックス処理パイプラインの前記第１の２つのステージによって作り出される前記第１および第２のデータを、前記グラフィックス処理パイプラインの前記第１の２つのステージによって作り出される前記第１および第２のデータのキューとして記憶することと、
前記第１のリングバッファから読み取られる前記グラフィックス処理パイプラインの前記第１の２つのステージのうちの前記第２のものによって作り出される前記第２のデータを前記リングバッファから削除することを含む、前記グラフィックス処理パイプラインの前記第１の２つのステージのうちの前記第２のものによって作り出される前記第２のデータを、オンチップグラフィックスメモリの中の前記第１のリングバッファから読み取ることと、それによって前記ＧＰＵが前記グラフィックス処理パイプラインの前記第１の２つのステージのうちの前記１つによって作り出される追加のデータを記憶するための前記第１のリングバッファの中のスペースを増加させ、
を行うように構成される前記ＧＰＵと、
を備える、装置。
【請求項８】
前記ＧＰＵは、
データが、前記グラフィックス処理パイプラインの１つ以上のステージによって消費されるために前記第１のリングバッファ、または前記第２のリングバッファにおいて利用可能であり、ならびにフリースペースが、前記シェーダプロセッサ上で実行している前記グラフィックス処理パイプラインの前記１つ以上のステージによって作り出されるデータを記憶するために前記第１のリングバッファ、または前記第２のリングバッファにおいて利用可能であるように、前記第１のリングバッファ、または前記第２のリングバッファのステータスに少なくとも部分的に基づいて前記シェーダプロセッサ上で前記グラフィックス処理パイプラインの前記１つ以上のステージの前記実行をスケジューリングするようにさらに構成される、請求項７に記載の装置。
【請求項９】
前記第２のリングバッファは、前記第２のリングバッファの中に記憶されたデータをキャッシュするためにキャッシュモードで動作し、前記第１のリングバッファは、ファーストインファーストアウト（ＦＩＦＯ）モードで動作する、請求項７に記載の装置。
【請求項１０】
前記第１のリングバッファの中に記憶された前記データは、前記シェーダプロセッサ上で実行している前記グラフィックス処理パイプラインの前記第１の２つのステージによって作り出される頂点データを備え、前記第２のリングバッファの中に記憶された前記第３および第４のデータは、前記シェーダプロセッサ上で実行している前記グラフィックス処理パイプラインの前記第２の２つのステージによって作り出されるプリミティブを備える、請求項７に記載の装置。
【請求項１１】
装置であって、
グラフィックス処理ユニット（ＧＰＵ）のオンチップグラフィックスメモリの中に第１の共有されるデータチャネルとして第１のリングバッファを割り当てるための手段と、ここにおいて前記第１のリングバッファは、グラフィックス処理パイプラインの第１の２つのステージによって作り出される第１および第２のデータを記憶するために、前記グラフィックス処理パイプラインの前記それぞれの第１の２つのステージによって共有され、
前記グラフィックス処理パイプラインの第２の２つのステージによって作り出される第３および第４のデータを記憶するために、前記グラフィックス処理パイプラインの前記それぞれの第２の２つのステージによって共有される前記ＧＰＵの前記オンチップグラフィックスメモリの中に第２の共有されるデータチャネルとして第２のリングバッファを割り当てるための手段と、
前記グラフィックス処理パイプラインの前記第１の２つのステージのうちの１つが、前記第１のリングバッファ内に記憶される前記第１のデータを作り出すために、前記第２のリングバッファの中に記憶される前記第３のデータを消費することを含む、前記グラフィックス処理パイプラインの前記第１の２つのステージ、および前記グラフィックス処理パイプラインの前記第２の２つのステージを実行するための手段と、
前記第１のリングバッファと前記第２のリングバッファ間のデッドロックを防ぐために、前記グラフィックス処理パイプラインの前記第１の２つのステージのうちの第２のものによって作り出される前記第２のデータを記憶するための前記第１のリングバッファの中のフリースペース、および前記グラフィックス処理パイプラインの前記第２の２つのステージのうちの１つによって作り出される前記第４のデータを記憶するための前記第２のリングバッファの中のフリースペースを保持するための手段と、
オンチップグラフィックスメモリの中の前記第１のリングバッファ内に、シェーダユニット上で実行している前記グラフィックス処理パイプラインの前記第１の２つのステージによって作り出される前記第１および第２のデータを、前記グラフィックス処理パイプラインの前記第１の２つのステージによって作り出される前記第１および第２のデータのキューとして記憶するための手段と、
前記第１のリングバッファから読み取られる前記グラフィックス処理パイプラインの前記第１の２つのステージのうちの前記第２のものによって作り出される前記第２のデータを前記リングバッファから削除することを含む、前記グラフィックス処理パイプラインの前記第１の２つのステージのうちの前記第２のものによって作り出される前記第２のデータを、オンチップグラフィックスメモリの中の前記第１のリングバッファからＧＰＵが読み取るための手段と、それによって前記ＧＰＵが前記グラフィックス処理パイプラインの前記第１の２つのステージのうちの前記１つによって作り出される追加のデータを記憶するための前記第１のリングバッファの中のスペースを増加させ、
を備える、装置。
【請求項１２】
データが、前記シェーダユニット上で実行している前記グラフィックス処理パイプラインの１つ以上のステージによって消費されるために前記第１のリングバッファ、または前記第２のリングバッファにおいて利用可能であり、ならびにフリースペースが、前記グラフィックス処理パイプラインの前記１つ以上のステージによって作り出されるデータを記憶するために前記第１のリングバッファ、または前記第２のリングバッファにおいて利用可能であるように、前記第１のリングバッファ、または前記第２のリングバッファのステータスに少なくとも部分的に基づいて前記シェーダユニット上で前記グラフィックス処理パイプラインの前記１つ以上のステージの前記実行をスケジューリングする手段をさらに備える、請求項１１に記載の装置。
【請求項１３】
前記第２のリングバッファは、前記第２のリングバッファの中に記憶されたデータをキャッシュするためにキャッシュモードで動作し、前記第１のリングバッファは、ファーストインファーストアウト（ＦＩＦＯ）モードで動作する、請求項１１に記載の装置。
【請求項１４】
前記第１のリングバッファの中に記憶された前記第１および第２のデータは、前記グラフィックス処理パイプラインの前記第１の２つのステージによって作り出される頂点データを備え、前記第２のリングバッファの中に記憶された前記第３および第４のデータは、前記グラフィックス処理パイプラインの前記第２の２つのステージによって作り出されるプリミティブを備える、請求項１１に記載の装置。
【請求項１５】
命令を記憶する非一時的コンピュータ可読記憶媒体であって、前記命令は、実行されるとき、１つ以上のプログラマブルプロセッサに、
オンチップグラフィックスメモリの中に第１の共有されるデータチャネルとして第１のリングバッファを割り当てることと、ここにおいて前記第１のリングバッファは、グラフィックス処理パイプラインの第１の２つのステージによって作り出される第１および第２のデータを記憶するために、前記グラフィックス処理パイプラインの前記それぞれの第１の２つのステージによって共有され、
前記グラフィックス処理パイプラインの第２の２つのステージによって作り出される第３および第４のデータを記憶するために、前記グラフィックス処理パイプラインの前記それぞれの第２の２つのステージによって共有される前記オンチップグラフィックスメモリの中に第２の共有されるデータチャネルとして第２のリングバッファを割り当てることと、
シェーダユニット上で、前記グラフィックス処理パイプラインの前記第１の２つのステージのうちの１つが、前記第１のリングバッファ内に記憶される前記第１のデータを作り出すために、前記第２のリングバッファの中に記憶される前記第３のデータを消費することを含む、前記グラフィックス処理パイプラインの前記第１の２つのステージ、および前記グラフィックス処理パイプラインの前記第２の２つのステージを実行することと、
前記第１のリングバッファと前記第２のリングバッファ間のデッドロックを防ぐために、前記グラフィックス処理パイプラインの前記第１の２つのステージのうちの第２のものによって作り出される前記第２のデータを記憶するための前記第１のリングバッファの中のフリースペース、および前記グラフィックス処理パイプラインの前記第２の２つのステージのうちの１つによって作り出される前記第４のデータを記憶するための前記第２のリングバッファの中のフリースペースを保持することと、
オンチップグラフィックスメモリの中の前記リングバッファ内に、前記シェーダユニット上で実行している前記グラフィックス処理パイプラインの前記第１の２つのステージによって作り出される前記第１および第２のデータを、前記グラフィックス処理パイプラインの前記第１の２つのステージによって作り出される前記第１および第２のデータのキューとして記憶することと、
前記第１のリングバッファから読み取られる前記グラフィックス処理パイプラインの前記第１の２つのステージのうちの前記第２のものによって作り出される前記第２のデータを前記リングバッファから削除することを含む、前記グラフィックス処理パイプラインの前記第１の２つのステージのうちの前記第２のものによって作り出される前記第２のデータを、オンチップグラフィックスメモリの中の前記第１のリングバッファから読み取ることと、それによって前記１つ以上のプログラマブルプロセッサが前記グラフィックス処理パイプラインの前記第１の２つのステージのうちの前記１つによって作り出される追加のデータを記憶するための前記第１のリングバッファの中のスペースを増加させ、
を行わせる、非一時的コンピュータ可読記憶媒体。
【請求項１６】
前記命令は、実行されるとき、前記１つ以上のプログラマブルプロセッサに、
データが、前記シェーダユニット上で実行している前記グラフィックス処理パイプラインの１つ以上のステージによって消費されるために前記第１のリングバッファ、または前記第２のリングバッファにおいて利用可能であり、ならびにフリースペースが、前記シェーダユニット上で実行している前記グラフィックス処理パイプラインの前記１つ以上のステージによって作り出されるデータを記憶するために前記第１のリングバッファ、または前記第２のリングバッファにおいて利用可能であるように、前記第１のリングバッファ、または前記第２のリングバッファのステータスに少なくとも部分的に基づいて前記シェーダユニット上で前記グラフィックス処理パイプラインの前記１つ以上のステージの前記実行をスケジューリングすることをさらに行わせる、請求項１５に記載の非一時的コンピュータ可読記憶媒体。
【請求項１７】
前記第２のリングバッファは、前記第２のリングバッファの中に記憶されたデータをキャッシュするためにキャッシュモードで動作し、前記第１のリングバッファは、ファーストインファーストアウト（ＦＩＦＯ）モードで動作する、請求項１５に記載の非一時的コンピュータ可読記憶媒体。
【請求項１８】
前記第１のリングバッファの中に記憶された前記第１および第２のデータは、前記シェーダユニット上で実行している前記グラフィックス処理パイプラインの前記第１の２つのステージによって作り出される頂点データを備え、前記第２のリングバッファの中に記憶された前記第３および第４のデータは、前記シェーダユニット上で実行している前記グラフィックス処理パイプラインの前記第２の２つのステージによって作り出されるプリミティブを備える、請求項１５に記載の非一時的コンピュータ可読記憶媒体。