JP2017509092A - 共有されるデータチャネルを用いるシェーダパイプライン - Google Patents
共有されるデータチャネルを用いるシェーダパイプライン Download PDFInfo
- Publication number
- JP2017509092A JP2017509092A JP2016569551A JP2016569551A JP2017509092A JP 2017509092 A JP2017509092 A JP 2017509092A JP 2016569551 A JP2016569551 A JP 2016569551A JP 2016569551 A JP2016569551 A JP 2016569551A JP 2017509092 A JP2017509092 A JP 2017509092A
- Authority
- JP
- Japan
- Prior art keywords
- data channel
- shared data
- stages
- graphics processing
- shared
- 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
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/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/80—Shading
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
Abstract
Description
具体的には、共有されるデータチャネル50Aは、グラフィックス処理パイプライン24のハルシェーダステージ30によって作り出されるデータ52を記憶することができ、グラフィックス処理パイプライン24のジオメトリシェーダステージ36によって作り出されるデータ54をさらに記憶し得る。データ52は、グラフィックス処理パイプライン24のドメインシェーダステージ34によって消費されることができ、データ54は、グラフィックス処理パイプライン24のピクセルシェーダステージによって消費され得る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
グラフィックス処理の方法であって、
グラフィックス処理ユニット(GPU)が、グラフィックス処理パイプラインの少なくとも2つのステージによって共有される前記GPUのオンチップグラフィックスメモリの中に共有されるデータチャネルを割り当てることと、
前記GPUの中のシェーダユニット上で、前記グラフィックス処理パイプラインの前記少なくとも2つのステージを実行することと、
オンチップグラフィックスメモリの中の前記共有されるデータチャネルの中に前記GPUが、前記シェーダユニット上で実行している前記グラフィックス処理パイプラインの前記少なくとも2つのステージの各々によって作り出されるデータを記憶することと、
を備える、方法。
[C2]
前記GPUが、前記グラフィックス処理パイプラインの第2の少なくとも2つのステージによって共有される前記GPUのオンチップグラフィックスメモリの中に第2の共有されるデータチャネルを割り当てることと、ここにおいて、前記共有されるデータチャネルは、第1の共有されるデータチャネルである、
前記GPUの中の前記シェーダユニット上で、前記グラフィックス処理パイプラインの前記第2の少なくとも2つのステージを実行することと、
前記第2の共有されるデータチャネルの中に前記GPUが、前記シェーダユニット上で実行している前記グラフィックス処理パイプラインの前記第2の少なくとも2つのステージの各々によって作り出される第2のデータを記憶することと、
をさらに備える、C1に記載の方法。
[C3]
データが、前記シェーダユニット上で実行している前記グラフィックス処理パイプラインの1つ以上のステージによって消費されるために前記第1の共有されるデータチャネル、または前記第2の共有されるデータチャネルにおいて利用可能であり、ならびにフリースペースが、前記シェーダユニット上で実行している前記グラフィックス処理パイプラインの前記1つ以上のステージによって作り出されるデータを記憶するために前記第1の共有されるデータチャネル、または前記第2の共有されるデータチャネルにおいて利用可能であるように、前記GPUが、前記第1の共有されるデータチャネル、または前記第2の共有されるデータチャネルのステータスに少なくとも部分的に基づいて前記シェーダユニット上で前記グラフィックス処理パイプラインの前記1つ以上のステージの前記実行をスケジューリングすることをさらに備える、C2に記載の方法。
[C4]
前記第1の共有されるデータチャネルは、前記第1の共有されるデータチャネルの中に記憶されたデータをキャッシュするためにキャッシュモードで動作し、前記第2の共有されるデータチャネルは、ファーストインファーストアウト(FIFO)モードで動作する、C2に記載の方法。
[C5]
前記第1の共有されるデータチャネルは、第1のリングバッファであり、前記第2の共有されるデータチャネルは、第2のリングバッファである、C2に記載の方法。
[C6]
前記第1の共有されるデータチャネルの中に記憶された前記データは、前記グラフィックス処理パイプラインの前記少なくとも2つのステージによって作り出される頂点データを備え、前記第2の共有されるデータチャネルの中に記憶された前記第2のデータは、前記グラフィックス処理パイプラインの前記第2の少なくとも2つのステージによって作り出されるプリミティブを備える、C2に記載の方法。
[C7]
前記グラフィックス処理パイプラインの前記少なくとも2つのステージは、頂点シェーダおよびドメインシェーダを備える、C6に記載の方法。
[C8]
前記グラフィックス処理パイプラインの前記第2の少なくとも2つのステージは、ハルシェーダおよびジオメトリシェーダを備える、C6に記載の方法。
[C9]
前記GPUが、前記第1の共有されるデータチャネルと前記第2の共有されるデータチャネル間のデッドロックを防ぐために、前記第1の共有されるデータチャネル、および前記第2の共有されるデータチャネルのうちの少なくとも1つの中のフリースペースを保持することをさらに備える、C2に記載の方法。
[C10]
グラフィックスデータを処理するように構成された装置であって、
グラフィックス処理パイプラインの少なくとも2つのステージによって共有されるグラフィックス処理ユニット(GPU)のオンチップグラフィックスメモリの中に共有されるデータチャネルを割り当てることと、
前記GPUの中のシェーダユニット上で、前記グラフィックス処理パイプラインの前記少なくとも2つのステージを実行することと、
オンチップグラフィックスメモリの中の前記共有されるデータチャネルの中に、前記シェーダユニット上で実行している前記グラフィックス処理パイプラインの前記少なくとも2つのステージの各々によって作り出されるデータを記憶することと、
を行うように構成される前記GPUを備える、装置。
[C11]
前記GPUは、
前記グラフィックス処理パイプラインの第2の少なくとも2つのステージによって共有される前記GPUのオンチップグラフィックスメモリの中に第2の共有されるデータチャネルを割り当てることと、ここにおいて、前記共有されるデータチャネルは、第1の共有されるデータチャネルである、
前記GPUの中の前記シェーダユニット上で、前記グラフィックス処理パイプラインの前記第2の少なくとも2つのステージを実行することと、
前記第2の共有されるデータチャネルの中に、前記シェーダユニット上で実行している前記グラフィックス処理パイプラインの前記第2の少なくとも2つのステージの各々によって作り出される第2のデータを記憶することと、
を行うようにさらに設定される、C10に記載の装置。
[C12]
前記GPUは、
データが、前記グラフィックス処理パイプラインの1つ以上のステージによって消費されるために前記第1の共有されるデータチャネル、または前記第2の共有されるデータチャネルにおいて利用可能であり、ならびにフリースペースが、前記シェーダユニット上で実行している前記グラフィックス処理パイプラインの前記1つ以上のステージによって作り出されるデータを記憶するために前記第1の共有されるデータチャネル、または前記第2の共有されるデータチャネルにおいて利用可能であるように、前記第1の共有されるデータチャネル、または前記第2の共有されるデータチャネルのステータスに少なくとも部分的に基づいて前記シェーダユニット上で前記グラフィックス処理パイプラインの前記1つ以上のステージの前記実行をスケジューリングするようにさらに構成される、C11に記載の装置。
[C13]
前記第1の共有されるデータチャネルは、前記第1の共有されるデータチャネルの中に記憶されたデータをキャッシュするためにキャッシュモードで動作し、前記第2の共有されるデータチャネルは、ファーストインファーストアウト(FIFO)モードで動作する、C11に記載の装置。
[C14]
前記第1の共有されるデータチャネルは、第1のリングバッファであり、前記第2の共有されるデータチャネルは、第2のリングバッファである、C11に記載の装置。
[C15]
前記第1の共有されるデータチャネルの中に記憶された前記データは、前記シェーダユニット上で実行している前記グラフィックス処理パイプラインの前記少なくとも2つのステージによって作り出される頂点データを備え、前記第2の共有されるデータチャネルの中に記憶された前記第2のデータは、前記シェーダユニット上で実行している前記グラフィックス処理パイプラインの前記第2の少なくとも2つのステージによって作り出されるプリミティブを備える、C11に記載の装置。
[C16]
前記GPUは、
前記第1の共有されるデータチャネルと前記第2の共有されるデータチャネル間のデッドロックを防ぐために、前記第1の共有されるデータチャネル、および前記第2の共有されるデータチャネルのうちの少なくとも1つの中のフリースペースを保持するようにさらに構成される、C11に記載の装置。
[C17]
装置であって、
グラフィックス処理パイプラインの少なくとも2つのステージによって共有されるグラフィックス処理ユニット(GPU)のオンチップグラフィックスメモリの中に共有されるデータチャネルを割り当てるための手段と、
前記グラフィックス処理パイプラインの前記少なくとも2つのステージを実行するための手段と、
オンチップグラフィックスメモリの中の前記共有されるデータチャネルの中に、前記グラフィックス処理パイプラインの前記少なくとも2つのステージの各々の実行によって作り出されるデータを記憶するための手段と、
を備える、装置。
[C18]
前記グラフィックス処理パイプラインの第2の少なくとも2つのステージによって共有される前記GPUのオンチップグラフィックスメモリの中に第2の共有されるデータチャネルを割り当てるための手段と、ここにおいて、前記共有されるデータチャネルは、第1の共有されるデータチャネルである、
前記グラフィックス処理パイプラインの前記第2の少なくとも2つのステージを実行するための手段と、
前記第2の共有されるデータチャネルの中に、前記グラフィックス処理パイプラインの前記第2の少なくとも2つのステージの各々の実行によって作り出される第2のデータを記憶するための手段と、
をさらに備える、C17に記載の装置。
[C19]
データが、前記グラフィックス処理パイプラインの1つ以上のステージによって消費されるために前記第1の共有されるデータチャネル、または前記第2の共有されるデータチャネルにおいて利用可能であり、ならびにフリースペースが、前記グラフィックス処理パイプラインの前記1つ以上のステージによって作り出されるデータを記憶するために前記第1の共有されるデータチャネル、または前記第2の共有されるデータチャネルにおいて利用可能であるように、前記第1の共有されるデータチャネル、または前記第2の共有されるデータチャネルのステータスに少なくとも部分的に基づいて前記グラフィックス処理パイプラインの前記1つ以上のステージの前記実行をスケジューリングする手段をさらに備える、C18に記載の装置。
[C20]
前記第1の共有されるデータチャネルは、前記第1の共有されるデータチャネルの中に記憶されたデータをキャッシュするためにキャッシュモードで動作し、前記第2の共有されるデータチャネルは、ファーストインファーストアウト(FIFO)モードで動作する、C18に記載の装置。
[C21]
前記第1の共有されるデータチャネルは、第1のリングバッファであり、前記第2の共有されるデータチャネルは、第2のリングバッファである、C18に記載の装置。
[C22]
前記第1の共有されるデータチャネルの中に記憶された前記データは、前記グラフィックス処理パイプラインの前記少なくとも2つのステージによって作り出される頂点データを備え、前記第2の共有されるデータチャネルの中に記憶された前記第2のデータは、前記グラフィックス処理パイプラインの前記第2の少なくとも2つのステージによって作り出されるプリミティブを備える、C18に記載の装置。
[C23]
前記第1の共有されるデータチャネルと前記第2の共有されるデータチャネル間のデッドロックを防ぐために、前記第1の共有されるデータチャネル、および前記第2の共有されるデータチャネルのうちの少なくとも1つの中のフリースペースを保持するための手段をさらに備える、C18に記載の装置。
[C24]
命令を記憶するコンピュータ可読記憶媒体であって、前記命令は、実行されるとき、1つ以上のプログラマブルプロセッサに、
共有されるデータチャネルを、グラフィックス処理パイプラインの少なくとも2つのステージによって共有されるそれのオンチップグラフィックスメモリの中に割り当てることと、
シェーダユニット上で、前記グラフィックス処理パイプラインの前記少なくとも2つのステージを実行することと、
オンチップグラフィックスメモリの中の前記共有されるデータチャネルの中に、前記シェーダユニット上で実行している前記グラフィックス処理パイプラインの前記少なくとも2つのステージの各々によって作り出されるデータを記憶することと、
を行わせる、コンピュータ可読記憶媒体。
[C25]
前記命令は、実行されるとき、前記1つ以上のプログラマブルプロセッサに、
前記グラフィックス処理パイプラインの第2の少なくとも2つのステージによって共有されるオンチップグラフィックスメモリの中に第2の共有されるデータチャネルを割り当てることと、ここにおいて、前記共有されるデータチャネルは、第1の共有されるデータチャネルである、
前記シェーダユニット上で、前記グラフィックス処理パイプラインの前記第2の少なくとも2つのステージを実行することと、
前記第2の共有されるデータチャネルの中に、前記シェーダユニット上で実行している前記グラフィックス処理パイプラインの前記第2の少なくとも2つのステージの各々によって作り出される第2のデータを記憶することと、
をさらに行わせる、C24に記載のコンピュータ可読記憶媒体。
[C26]
前記命令は、実行されるとき、前記1つ以上のプログラマブルプロセッサに、
データが、前記シェーダユニット上で実行している前記グラフィックス処理パイプラインの1つ以上のステージによって消費されるために前記第1の共有されるデータチャネル、または前記第2の共有されるデータチャネルにおいて利用可能であり、ならびにフリースペースが、前記シェーダユニット上で実行している前記グラフィックス処理パイプラインの前記1つ以上のステージによって作り出されるデータを記憶するために前記第1の共有されるデータチャネル、または前記第2の共有されるデータチャネルにおいて利用可能であるように、前記第1の共有されるデータチャネル、または前記第2の共有されるデータチャネルのステータスに少なくとも部分的に基づいて前記シェーダユニット上で前記グラフィックス処理パイプラインの前記1つ以上のステージの前記実行をスケジューリングすることをさらに行わせる、C25に記載のコンピュータ可読記憶媒体。
[C27]
前記第1の共有されるデータチャネルは、前記第1の共有されるデータチャネルの中に記憶されたデータをキャッシュするためにキャッシュモードで動作し、前記第2の共有されるデータチャネルは、ファーストインファーストアウト(FIFO)モードで動作する、C25に記載のコンピュータ可読記憶媒体。
[C28]
前記第1の共有されるデータチャネルは、第1のリングバッファであり、前記第2の共有されるデータチャネルは、第2のリングバッファである、C25に記載のコンピュータ可読記憶媒体。
[C29]
前記第1の共有されるデータチャネルの中に記憶された前記データは、前記シェーダユニット上で実行している前記グラフィックス処理パイプラインの前記少なくとも2つのステージによって作り出される頂点データを備え、前記第2の共有されるデータチャネルの中に記憶された前記第2のデータは、前記シェーダユニット上で実行している前記グラフィックス処理パイプラインの前記第2の少なくとも2つのステージによって作り出されるプリミティブを備える、C25に記載のコンピュータ可読記憶媒体。
[C30]
前記命令は、実行されるとき、前記1つ以上のプログラマブルプロセッサに、
前記第1の共有されるデータチャネルと前記第2の共有されるデータチャネル間のデッドロックを防ぐために、前記第1の共有されるデータチャネル、および前記第2の共有されるデータチャネルのうちの少なくとも1つの中のフリースペースを保持することをさらに行わせる、C25に記載のコンピュータ可読記憶媒体。
Claims (30)
- グラフィックス処理の方法であって、
グラフィックス処理ユニット(GPU)が、グラフィックス処理パイプラインの少なくとも2つのステージによって共有される前記GPUのオンチップグラフィックスメモリの中に共有されるデータチャネルを割り当てることと、
前記GPUの中のシェーダユニット上で、前記グラフィックス処理パイプラインの前記少なくとも2つのステージを実行することと、
オンチップグラフィックスメモリの中の前記共有されるデータチャネルの中に前記GPUが、前記シェーダユニット上で実行している前記グラフィックス処理パイプラインの前記少なくとも2つのステージの各々によって作り出されるデータを記憶することと、
を備える、方法。 - 前記GPUが、前記グラフィックス処理パイプラインの第2の少なくとも2つのステージによって共有される前記GPUのオンチップグラフィックスメモリの中に第2の共有されるデータチャネルを割り当てることと、ここにおいて、前記共有されるデータチャネルは、第1の共有されるデータチャネルである、
前記GPUの中の前記シェーダユニット上で、前記グラフィックス処理パイプラインの前記第2の少なくとも2つのステージを実行することと、
前記第2の共有されるデータチャネルの中に前記GPUが、前記シェーダユニット上で実行している前記グラフィックス処理パイプラインの前記第2の少なくとも2つのステージの各々によって作り出される第2のデータを記憶することと、
をさらに備える、請求項1に記載の方法。 - データが、前記シェーダユニット上で実行している前記グラフィックス処理パイプラインの1つ以上のステージによって消費されるために前記第1の共有されるデータチャネル、または前記第2の共有されるデータチャネルにおいて利用可能であり、ならびにフリースペースが、前記シェーダユニット上で実行している前記グラフィックス処理パイプラインの前記1つ以上のステージによって作り出されるデータを記憶するために前記第1の共有されるデータチャネル、または前記第2の共有されるデータチャネルにおいて利用可能であるように、前記GPUが、前記第1の共有されるデータチャネル、または前記第2の共有されるデータチャネルのステータスに少なくとも部分的に基づいて前記シェーダユニット上で前記グラフィックス処理パイプラインの前記1つ以上のステージの前記実行をスケジューリングすることをさらに備える、請求項2に記載の方法。
- 前記第1の共有されるデータチャネルは、前記第1の共有されるデータチャネルの中に記憶されたデータをキャッシュするためにキャッシュモードで動作し、前記第2の共有されるデータチャネルは、ファーストインファーストアウト(FIFO)モードで動作する、請求項2に記載の方法。
- 前記第1の共有されるデータチャネルは、第1のリングバッファであり、前記第2の共有されるデータチャネルは、第2のリングバッファである、請求項2に記載の方法。
- 前記第1の共有されるデータチャネルの中に記憶された前記データは、前記グラフィックス処理パイプラインの前記少なくとも2つのステージによって作り出される頂点データを備え、前記第2の共有されるデータチャネルの中に記憶された前記第2のデータは、前記グラフィックス処理パイプラインの前記第2の少なくとも2つのステージによって作り出されるプリミティブを備える、請求項2に記載の方法。
- 前記グラフィックス処理パイプラインの前記少なくとも2つのステージは、頂点シェーダおよびドメインシェーダを備える、請求項6に記載の方法。
- 前記グラフィックス処理パイプラインの前記第2の少なくとも2つのステージは、ハルシェーダおよびジオメトリシェーダを備える、請求項6に記載の方法。
- 前記GPUが、前記第1の共有されるデータチャネルと前記第2の共有されるデータチャネル間のデッドロックを防ぐために、前記第1の共有されるデータチャネル、および前記第2の共有されるデータチャネルのうちの少なくとも1つの中のフリースペースを保持することをさらに備える、請求項2に記載の方法。
- グラフィックスデータを処理するように構成された装置であって、
グラフィックス処理パイプラインの少なくとも2つのステージによって共有されるグラフィックス処理ユニット(GPU)のオンチップグラフィックスメモリの中に共有されるデータチャネルを割り当てることと、
前記GPUの中のシェーダユニット上で、前記グラフィックス処理パイプラインの前記少なくとも2つのステージを実行することと、
オンチップグラフィックスメモリの中の前記共有されるデータチャネルの中に、前記シェーダユニット上で実行している前記グラフィックス処理パイプラインの前記少なくとも2つのステージの各々によって作り出されるデータを記憶することと、
を行うように構成される前記GPUを備える、装置。 - 前記GPUは、
前記グラフィックス処理パイプラインの第2の少なくとも2つのステージによって共有される前記GPUのオンチップグラフィックスメモリの中に第2の共有されるデータチャネルを割り当てることと、ここにおいて、前記共有されるデータチャネルは、第1の共有されるデータチャネルである、
前記GPUの中の前記シェーダユニット上で、前記グラフィックス処理パイプラインの前記第2の少なくとも2つのステージを実行することと、
前記第2の共有されるデータチャネルの中に、前記シェーダユニット上で実行している前記グラフィックス処理パイプラインの前記第2の少なくとも2つのステージの各々によって作り出される第2のデータを記憶することと、
を行うようにさらに設定される、請求項10に記載の装置。 - 前記GPUは、
データが、前記グラフィックス処理パイプラインの1つ以上のステージによって消費されるために前記第1の共有されるデータチャネル、または前記第2の共有されるデータチャネルにおいて利用可能であり、ならびにフリースペースが、前記シェーダユニット上で実行している前記グラフィックス処理パイプラインの前記1つ以上のステージによって作り出されるデータを記憶するために前記第1の共有されるデータチャネル、または前記第2の共有されるデータチャネルにおいて利用可能であるように、前記第1の共有されるデータチャネル、または前記第2の共有されるデータチャネルのステータスに少なくとも部分的に基づいて前記シェーダユニット上で前記グラフィックス処理パイプラインの前記1つ以上のステージの前記実行をスケジューリングするようにさらに構成される、請求項11に記載の装置。 - 前記第1の共有されるデータチャネルは、前記第1の共有されるデータチャネルの中に記憶されたデータをキャッシュするためにキャッシュモードで動作し、前記第2の共有されるデータチャネルは、ファーストインファーストアウト(FIFO)モードで動作する、請求項11に記載の装置。
- 前記第1の共有されるデータチャネルは、第1のリングバッファであり、前記第2の共有されるデータチャネルは、第2のリングバッファである、請求項11に記載の装置。
- 前記第1の共有されるデータチャネルの中に記憶された前記データは、前記シェーダユニット上で実行している前記グラフィックス処理パイプラインの前記少なくとも2つのステージによって作り出される頂点データを備え、前記第2の共有されるデータチャネルの中に記憶された前記第2のデータは、前記シェーダユニット上で実行している前記グラフィックス処理パイプラインの前記第2の少なくとも2つのステージによって作り出されるプリミティブを備える、請求項11に記載の装置。
- 前記GPUは、
前記第1の共有されるデータチャネルと前記第2の共有されるデータチャネル間のデッドロックを防ぐために、前記第1の共有されるデータチャネル、および前記第2の共有されるデータチャネルのうちの少なくとも1つの中のフリースペースを保持するようにさらに構成される、請求項11に記載の装置。 - 装置であって、
グラフィックス処理パイプラインの少なくとも2つのステージによって共有されるグラフィックス処理ユニット(GPU)のオンチップグラフィックスメモリの中に共有されるデータチャネルを割り当てるための手段と、
前記グラフィックス処理パイプラインの前記少なくとも2つのステージを実行するための手段と、
オンチップグラフィックスメモリの中の前記共有されるデータチャネルの中に、前記グラフィックス処理パイプラインの前記少なくとも2つのステージの各々の実行によって作り出されるデータを記憶するための手段と、
を備える、装置。 - 前記グラフィックス処理パイプラインの第2の少なくとも2つのステージによって共有される前記GPUのオンチップグラフィックスメモリの中に第2の共有されるデータチャネルを割り当てるための手段と、ここにおいて、前記共有されるデータチャネルは、第1の共有されるデータチャネルである、
前記グラフィックス処理パイプラインの前記第2の少なくとも2つのステージを実行するための手段と、
前記第2の共有されるデータチャネルの中に、前記グラフィックス処理パイプラインの前記第2の少なくとも2つのステージの各々の実行によって作り出される第2のデータを記憶するための手段と、
をさらに備える、請求項17に記載の装置。 - データが、前記グラフィックス処理パイプラインの1つ以上のステージによって消費されるために前記第1の共有されるデータチャネル、または前記第2の共有されるデータチャネルにおいて利用可能であり、ならびにフリースペースが、前記グラフィックス処理パイプラインの前記1つ以上のステージによって作り出されるデータを記憶するために前記第1の共有されるデータチャネル、または前記第2の共有されるデータチャネルにおいて利用可能であるように、前記第1の共有されるデータチャネル、または前記第2の共有されるデータチャネルのステータスに少なくとも部分的に基づいて前記グラフィックス処理パイプラインの前記1つ以上のステージの前記実行をスケジューリングする手段をさらに備える、請求項18に記載の装置。
- 前記第1の共有されるデータチャネルは、前記第1の共有されるデータチャネルの中に記憶されたデータをキャッシュするためにキャッシュモードで動作し、前記第2の共有されるデータチャネルは、ファーストインファーストアウト(FIFO)モードで動作する、請求項18に記載の装置。
- 前記第1の共有されるデータチャネルは、第1のリングバッファであり、前記第2の共有されるデータチャネルは、第2のリングバッファである、請求項18に記載の装置。
- 前記第1の共有されるデータチャネルの中に記憶された前記データは、前記グラフィックス処理パイプラインの前記少なくとも2つのステージによって作り出される頂点データを備え、前記第2の共有されるデータチャネルの中に記憶された前記第2のデータは、前記グラフィックス処理パイプラインの前記第2の少なくとも2つのステージによって作り出されるプリミティブを備える、請求項18に記載の装置。
- 前記第1の共有されるデータチャネルと前記第2の共有されるデータチャネル間のデッドロックを防ぐために、前記第1の共有されるデータチャネル、および前記第2の共有されるデータチャネルのうちの少なくとも1つの中のフリースペースを保持するための手段をさらに備える、請求項18に記載の装置。
- 命令を記憶するコンピュータ可読記憶媒体であって、前記命令は、実行されるとき、1つ以上のプログラマブルプロセッサに、
共有されるデータチャネルを、グラフィックス処理パイプラインの少なくとも2つのステージによって共有されるそれのオンチップグラフィックスメモリの中に割り当てることと、
シェーダユニット上で、前記グラフィックス処理パイプラインの前記少なくとも2つのステージを実行することと、
オンチップグラフィックスメモリの中の前記共有されるデータチャネルの中に、前記シェーダユニット上で実行している前記グラフィックス処理パイプラインの前記少なくとも2つのステージの各々によって作り出されるデータを記憶することと、
を行わせる、コンピュータ可読記憶媒体。 - 前記命令は、実行されるとき、前記1つ以上のプログラマブルプロセッサに、
前記グラフィックス処理パイプラインの第2の少なくとも2つのステージによって共有されるオンチップグラフィックスメモリの中に第2の共有されるデータチャネルを割り当てることと、ここにおいて、前記共有されるデータチャネルは、第1の共有されるデータチャネルである、
前記シェーダユニット上で、前記グラフィックス処理パイプラインの前記第2の少なくとも2つのステージを実行することと、
前記第2の共有されるデータチャネルの中に、前記シェーダユニット上で実行している前記グラフィックス処理パイプラインの前記第2の少なくとも2つのステージの各々によって作り出される第2のデータを記憶することと、
をさらに行わせる、請求項24に記載のコンピュータ可読記憶媒体。 - 前記命令は、実行されるとき、前記1つ以上のプログラマブルプロセッサに、
データが、前記シェーダユニット上で実行している前記グラフィックス処理パイプラインの1つ以上のステージによって消費されるために前記第1の共有されるデータチャネル、または前記第2の共有されるデータチャネルにおいて利用可能であり、ならびにフリースペースが、前記シェーダユニット上で実行している前記グラフィックス処理パイプラインの前記1つ以上のステージによって作り出されるデータを記憶するために前記第1の共有されるデータチャネル、または前記第2の共有されるデータチャネルにおいて利用可能であるように、前記第1の共有されるデータチャネル、または前記第2の共有されるデータチャネルのステータスに少なくとも部分的に基づいて前記シェーダユニット上で前記グラフィックス処理パイプラインの前記1つ以上のステージの前記実行をスケジューリングすることをさらに行わせる、請求項25に記載のコンピュータ可読記憶媒体。 - 前記第1の共有されるデータチャネルは、前記第1の共有されるデータチャネルの中に記憶されたデータをキャッシュするためにキャッシュモードで動作し、前記第2の共有されるデータチャネルは、ファーストインファーストアウト(FIFO)モードで動作する、請求項25に記載のコンピュータ可読記憶媒体。
- 前記第1の共有されるデータチャネルは、第1のリングバッファであり、前記第2の共有されるデータチャネルは、第2のリングバッファである、請求項25に記載のコンピュータ可読記憶媒体。
- 前記第1の共有されるデータチャネルの中に記憶された前記データは、前記シェーダユニット上で実行している前記グラフィックス処理パイプラインの前記少なくとも2つのステージによって作り出される頂点データを備え、前記第2の共有されるデータチャネルの中に記憶された前記第2のデータは、前記シェーダユニット上で実行している前記グラフィックス処理パイプラインの前記第2の少なくとも2つのステージによって作り出されるプリミティブを備える、請求項25に記載のコンピュータ可読記憶媒体。
- 前記命令は、実行されるとき、前記1つ以上のプログラマブルプロセッサに、
前記第1の共有されるデータチャネルと前記第2の共有されるデータチャネル間のデッドロックを防ぐために、前記第1の共有されるデータチャネル、および前記第2の共有されるデータチャネルのうちの少なくとも1つの中のフリースペースを保持することをさらに行わせる、請求項25に記載のコンピュータ可読記憶媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/182,976 US9679347B2 (en) | 2014-02-18 | 2014-02-18 | Shader pipeline with shared data channels |
US14/182,976 | 2014-02-18 | ||
PCT/US2015/012917 WO2015126574A1 (en) | 2014-02-18 | 2015-01-26 | Shader pipeline with shared data channels |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2017509092A true JP2017509092A (ja) | 2017-03-30 |
JP2017509092A5 JP2017509092A5 (ja) | 2017-08-31 |
JP6271768B2 JP6271768B2 (ja) | 2018-01-31 |
Family
ID=52469922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016569551A Expired - Fee Related JP6271768B2 (ja) | 2014-02-18 | 2015-01-26 | 共有されるデータチャネルを用いるシェーダパイプライン |
Country Status (7)
Country | Link |
---|---|
US (1) | US9679347B2 (ja) |
EP (1) | EP3108452B1 (ja) |
JP (1) | JP6271768B2 (ja) |
KR (1) | KR101813429B1 (ja) |
CN (1) | CN106030663B (ja) |
ES (1) | ES2820716T3 (ja) |
WO (1) | WO2015126574A1 (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9842428B2 (en) * | 2014-06-27 | 2017-12-12 | Samsung Electronics Co., Ltd. | Dynamically optimized deferred rendering pipeline |
US10055807B2 (en) * | 2016-03-02 | 2018-08-21 | Samsung Electronics Co., Ltd. | Hardware architecture for acceleration of computer vision and imaging processing |
US10559112B2 (en) * | 2016-03-11 | 2020-02-11 | Intel Corporation | Hybrid mechanism for efficient rendering of graphics images in computing environments |
US10460513B2 (en) * | 2016-09-22 | 2019-10-29 | Advanced Micro Devices, Inc. | Combined world-space pipeline shader stages |
US20180173560A1 (en) * | 2016-12-21 | 2018-06-21 | Apple Inc. | Processing circuit hardware resource allocation system |
GB2560709B (en) * | 2017-03-14 | 2021-02-24 | Imagination Tech Ltd | Graphics processing method and system for processing sub-primitives |
CN107613046B (zh) * | 2017-08-22 | 2020-12-18 | 创新先进技术有限公司 | 滤镜管道系统、图像数据处理方法、装置以及电子设备 |
US11120603B2 (en) | 2019-06-18 | 2021-09-14 | Samsung Electronics Co., Ltd. | Heavy-weight/light-weight GPU shader core pair architecture |
US11514549B2 (en) | 2020-02-03 | 2022-11-29 | Sony Interactive Entertainment Inc. | System and method for efficient multi-GPU rendering of geometry by generating information in one rendering phase for use in another rendering phase |
US11508110B2 (en) | 2020-02-03 | 2022-11-22 | Sony Interactive Entertainment Inc. | System and method for efficient multi-GPU rendering of geometry by performing geometry analysis before rendering |
US11263718B2 (en) * | 2020-02-03 | 2022-03-01 | Sony Interactive Entertainment Inc. | System and method for efficient multi-GPU rendering of geometry by pretesting against in interleaved screen regions before rendering |
US11416961B2 (en) | 2020-05-29 | 2022-08-16 | Samsung Electronics Co., Ltd. | Variable entry transitional ring storage for efficiently accessing graphics states |
US20230047481A1 (en) * | 2021-08-11 | 2023-02-16 | Apple Inc. | Affinity-based Graphics Scheduling |
US20230097097A1 (en) * | 2021-09-29 | 2023-03-30 | Advanced Micro Devices, Inc. | Graphics primitives and positions through memory buffers |
US12062126B2 (en) | 2021-09-29 | 2024-08-13 | Advanced Micro Devices, Inc. | Load multiple primitives per thread in a graphics pipeline |
US11941723B2 (en) * | 2021-12-29 | 2024-03-26 | Advanced Micro Devices, Inc. | Dynamic dispatch for workgroup distribution |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009145889A1 (en) * | 2008-05-29 | 2009-12-03 | Advanced Micro Devices, Inc. | System, method, and computer program product for a tessellation engine using a geometry shader |
JP2012514273A (ja) * | 2008-12-31 | 2012-06-21 | インテル・コーポレーション | テッセレーション量に対してテッセレーション時間が線形に増加するテッセレータ |
US20130194286A1 (en) * | 2012-01-27 | 2013-08-01 | Qualcomm Incorporated | Graphics processing unit buffer management |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10144788A1 (de) * | 2001-09-11 | 2003-04-30 | Siemens Ag | Verfahren und Vorrichtung zur sicheren hochperformanten Aufzeichnung von Prozessdaten bei numerisch gesteuerten industriellen Bearbeitungsmaschinen |
US7777748B2 (en) | 2003-11-19 | 2010-08-17 | Lucid Information Technology, Ltd. | PC-level computing system with a multi-mode parallel graphics rendering subsystem employing an automatic mode controller, responsive to performance data collected during the run-time of graphics applications |
US6911985B1 (en) * | 2003-12-10 | 2005-06-28 | Lsi Logic Corporation | Method and apparatus for reducing frame buffer size in graphics systems |
US7694061B2 (en) * | 2004-09-08 | 2010-04-06 | Fisher-Rosemount Systems, Inc. | Discarding a partially received message from a data queue |
US7612783B2 (en) * | 2006-05-08 | 2009-11-03 | Ati Technologies Inc. | Advanced anti-aliasing with multiple graphics processing units |
US7551176B2 (en) | 2006-08-24 | 2009-06-23 | Via Technologies, Inc. | Systems and methods for providing shared attribute evaluation circuits in a graphics processing unit |
US8176265B2 (en) | 2006-10-30 | 2012-05-08 | Nvidia Corporation | Shared single-access memory with management of multiple parallel requests |
US7973804B2 (en) | 2008-03-11 | 2011-07-05 | International Business Machines Corporation | Image processing with highly threaded texture fragment generation |
US8184120B2 (en) * | 2008-05-19 | 2012-05-22 | Siemens Aktiengesellschaft | Framework for processing and rendering large volume data |
US9436969B2 (en) | 2009-10-05 | 2016-09-06 | Nvidia Corporation | Time slice processing of tessellation and geometry shaders |
US20110285718A1 (en) | 2010-05-21 | 2011-11-24 | Kilgard Mark J | Point containment for quadratic bèzier strokes |
WO2012108912A1 (en) * | 2011-02-07 | 2012-08-16 | Intel Corporation | Co-phasing of transmissions from multiple infrastructure nodes |
GB2491156B (en) | 2011-05-25 | 2019-08-07 | Advanced Risc Mach Ltd | Processing pipeline control |
US8842122B2 (en) * | 2011-12-15 | 2014-09-23 | Qualcomm Incorporated | Graphics processing unit with command processor |
US10535185B2 (en) | 2012-04-04 | 2020-01-14 | Qualcomm Incorporated | Patched shading in graphics processing |
US9619853B2 (en) * | 2012-08-09 | 2017-04-11 | Qualcomm Incorporated | GPU-accelerated path rendering |
US9330495B2 (en) * | 2012-08-09 | 2016-05-03 | Qualcomm Incorporated | Extending DX11 GPU for programmable vector graphics |
-
2014
- 2014-02-18 US US14/182,976 patent/US9679347B2/en active Active
-
2015
- 2015-01-26 CN CN201580008868.9A patent/CN106030663B/zh active Active
- 2015-01-26 ES ES15704425T patent/ES2820716T3/es active Active
- 2015-01-26 WO PCT/US2015/012917 patent/WO2015126574A1/en active Application Filing
- 2015-01-26 KR KR1020167023022A patent/KR101813429B1/ko active IP Right Grant
- 2015-01-26 EP EP15704425.6A patent/EP3108452B1/en active Active
- 2015-01-26 JP JP2016569551A patent/JP6271768B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009145889A1 (en) * | 2008-05-29 | 2009-12-03 | Advanced Micro Devices, Inc. | System, method, and computer program product for a tessellation engine using a geometry shader |
JP2012514273A (ja) * | 2008-12-31 | 2012-06-21 | インテル・コーポレーション | テッセレーション量に対してテッセレーション時間が線形に増加するテッセレータ |
US20130194286A1 (en) * | 2012-01-27 | 2013-08-01 | Qualcomm Incorporated | Graphics processing unit buffer management |
Also Published As
Publication number | Publication date |
---|---|
EP3108452A1 (en) | 2016-12-28 |
US20150235341A1 (en) | 2015-08-20 |
KR20160123311A (ko) | 2016-10-25 |
WO2015126574A1 (en) | 2015-08-27 |
EP3108452B1 (en) | 2020-06-24 |
JP6271768B2 (ja) | 2018-01-31 |
CN106030663B (zh) | 2018-10-30 |
ES2820716T3 (es) | 2021-04-22 |
US9679347B2 (en) | 2017-06-13 |
KR101813429B1 (ko) | 2017-12-28 |
CN106030663A (zh) | 2016-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6271768B2 (ja) | 共有されるデータチャネルを用いるシェーダパイプライン | |
JP6273380B2 (ja) | レイトレーシングアプリケーションにおけるツリー横断のための開始ノード決定 | |
US10176621B2 (en) | Using compute shaders as front end for vertex shaders | |
US10134102B2 (en) | Graphics processing hardware for using compute shaders as front end for vertex shaders | |
KR102003655B1 (ko) | 그래픽 프로세싱에서 셰도우 레이들에 대한 트리 횡단을 위한 시작 노드 결정 | |
JP6294565B2 (ja) | グラフィックス処理において使用するためのシェーダプログラム実行技法 | |
KR102006584B1 (ko) | 레이트 심도 테스팅과 컨서버티브 심도 테스팅 간의 동적 스위칭 | |
JP6884766B2 (ja) | 帯域幅圧縮グラフィックスデータの記憶 | |
JP6325756B2 (ja) | 単一パスの表面スプラッティング | |
JP2016520909A (ja) | タイルベースレンダラに関するクエリ処理 | |
TW201926239A (zh) | 以微磚為基礎之低解析度深度儲存 | |
US10157443B1 (en) | Deferred batching of incremental constant loads |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170720 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170720 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20170720 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171116 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20171124 |
|
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: 20171205 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171227 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6271768 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |