JP2015524092A - グラフィックス処理におけるパッチされたシェーディング - Google Patents
グラフィックス処理におけるパッチされたシェーディング Download PDFInfo
- Publication number
- JP2015524092A JP2015524092A JP2015504596A JP2015504596A JP2015524092A JP 2015524092 A JP2015524092 A JP 2015524092A JP 2015504596 A JP2015504596 A JP 2015504596A JP 2015504596 A JP2015504596 A JP 2015504596A JP 2015524092 A JP2015524092 A JP 2015524092A
- Authority
- JP
- Japan
- Prior art keywords
- shading
- vertex
- shading operation
- perform
- unit
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 100
- 238000009877 rendering Methods 0.000 claims abstract description 97
- 238000000034 method Methods 0.000 claims abstract description 74
- 230000015654 memory Effects 0.000 claims description 124
- 230000008569 process Effects 0.000 abstract description 23
- 239000000872 buffer Substances 0.000 description 60
- 238000003860 storage Methods 0.000 description 47
- 238000010586 diagram Methods 0.000 description 27
- 230000006870 function Effects 0.000 description 26
- 239000000835 fiber Substances 0.000 description 21
- 230000008859 change Effects 0.000 description 16
- 239000008186 active pharmaceutical agent Substances 0.000 description 13
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 230000003321 amplification Effects 0.000 description 3
- 230000001934 delay Effects 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 238000003199 nucleic acid amplification method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 208000019300 CLIPPERS Diseases 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 208000021930 chronic lymphocytic inflammation with pontine perivascular enhancement responsive to steroids Diseases 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 241000713311 Simian immunodeficiency virus Species 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008033 biological extinction Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012821 model calculation Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- -1 vertex lighting Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- 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
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
Description
・IAVerticesは、プリミティブを生成する際に使用される頂点の数を指し得る。したがって、入力プリミティブのタイプが、三角形を生成するストリップである場合、IAVerticesは6であり得る。この値は、Windows(登録商標) Hardware Quality Labs(WHQL)の数字と一致し得る。この値は、プリミティブコントローラ(PC)からの2ビットのパルスを使用して制御され得る。パッチのプリミティブのために、値は、制御ポイントごとに1だけインクリメントされ得る。
・IAPrimitivesは、生成された完成した入力プリミティブの数を指し得る。この値は、リセットをもたらし得る部分的なプリミティブを何ら含まなくてよい。この値は、WQHLの数字と一致し得る。この値は、プリミティブが生成された後で、さらには、リセットインデックスと部分的なプリミティブの脱落とを確認した後で、PCからの1ビットのパルスを使用して制御され得る。
・VSInvocationsは、VS操作が呼び出される回数を指し得る。この値は頂点の再使用の後に設定されてよく、VSステージが呼び出される対象である固有の頂点の数を決定し得る。この値は、GPU 36の具体的なハードウェアに依存し得る。この値は、一度に最大で3つの頂点に対する頂点の再使用をPCが確認すると、PCからの2ビットのパルスを使用して制御され得る。GSおよびハルシェーダ(HS)(たとえば、図12A〜図13Bに関して以下で説明されるような)の場合に対しては通常、頂点の再使用はない。したがって、PCは、VSInvocationsとして、ドローコール中のプリミティブにおける頂点の数を送ることができる。
・HSInvocationsは、HSを経たパッチの数を指し得る。この値は、DirectX 11のようないくつかのAPIの新たな値であり得る。この値は、部分的なパッチを何ら含まなくてよい。この値は、パッチが頂点フェッチデコーダ(VFD)に完全に送られると、PCおよびHSブロックからの1つのビットパルスを使用して制御され得る。この値はまた、WHQLの数字と一致すべきである。
・DSInvocationsは、ドメインシェーダ(DS)操作が呼び出される回数を指し得る。この値は、テッセレーションの出力プリミティブのタイプが点というタイプである場合、WHQLと一致すべきである。この値は、生成されている各ドメイン点(u,v)に対して、PC中のテッセレーションエンジン(TE)からの1ビットのパルスを使用して制御される。
・GSInvocationsは、GS操作が呼び出される回数を指し得る。GSinstancecount値が使用される場合、各インスタンスは、1つのGS呼出しとしてカウントされる。この値は、WHQLの数字と一致すべきである。この値は、Gsinstanceごとに、入力プリミティブごとに一度送られる、GSブロックからの1ビットのパルスを使用して制御され得る。いくつかの例では、GSブロックは、GS増幅がウェーブサイズより大きい場合、入力GSプリミティブを複数回送ることができる。この値は通常、GS入力プリミティブごとに一度カウントされる。
・GSPrimitivesは、生成されるGS出力プリミティブの数を指し得る。この値は、「切断」操作に起因する部分的なプリミティブを何ら含まなくてよい。この値は、WHQLの数字と一致し得る。この値は、プリミティブが構成される位置キャッシュへのアクセスの後で、かつ、「切断」操作または頂点消滅イベントが原因で部分的なプリミティブが脱落した後で、PCからの出力プリミティブごとに1ビットのパルスを使用して制御され得る。
・CInvocationsは、いわゆる「クリッパー」が実行される回数を指し得る。この値は、GPU 36の具体的なハードウェアに依存し得る。
・CPrimitivesは、クリッパーが生成したプリミティブの数を指し得る。この値は、GPU 36の具体的なハードウェアに依存し得る。
・PSInvocationsは、ピクセルシェーダ(PS)のスレッド(「ファイバー」とも呼ばれ得る)が呼び出される回数を指し得る。
・CSInvocationsは、計算ファイバーが呼び出される回数を指し得る。
・NumPrimitiveWrittenは、ドローコールが終了する前に、所与のストリームに対して書かれるプリミティブの総数を指し得る。この値はまた、完成したプリミティブのためのバッファの記憶容量がなくなったときに、ストリームと結び付けられるバッファのデータを含み得る。この値は、完成したプリミティブを記憶するための空間が所与のストリームのバッファのいずれかに存在するたびに、頂点パラメータキャッシュ(VPC)からCPへのストリームごとの1ビットのパルスを使用して制御され得る。
・PrimitiveStorageNeededは、ストリームと結び付けられるいずれのバッファの記憶容量もなくなっていなければ書き込まれることが可能であったであろう、プリミティブの総数を指し得る。この値は、ストリームに対するプリミティブがGSによって生成されるたびに、VPCからCPへのストリームごとに1ビットのパルスを使用して制御され得る。
Claims (48)
- グラフィックスをレンダリングする方法であって、
レンダリングパイプラインの第1のシェーダステージと関連付けられる第1のシェーディング操作を実行するように、グラフィックスプロセシングユニットのハードウェアシェーディングユニットを指定することと、
前記第1のシェーディング操作が完了すると、前記ハードウェアシェーディングユニットの動作モードを切り替えることと、
前記第1のシェーディング操作を実行するように指定された前記グラフィックスプロセシングユニットの前記ハードウェアシェーディングユニットを用いて、前記レンダリングパイプラインの第2の異なるシェーダステージと関連付けられる第2のシェーディング操作を実行することと
を備える、方法。 - 動作モードを切り替えることは、前記第1のシェーディング操作と前記第2のシェーディング操作とを備えるドローコールのモードを決定することを備える、
請求項1に記載の方法。 - 前記第2のシェーディング操作が完了すると、前記ハードウェアシェーディングユニットの動作モードを切り替えることと、
前記第1のシェーディング操作を実行するように指定された前記グラフィックスプロセシングユニットの前記ハードウェアシェーディングユニットを用いて、前記レンダリングパイプラインの第3の異なるシェーダステージと関連付けられる第3のシェーディング操作を実行することと
をさらに備える、請求項2に記載の方法。 - 前記第3のシェーディング操作が完了すると、前記ハードウェアシェーディングユニットの動作モードを切り替えることと、
前記第1のシェーディング操作を実行するように指定された前記グラフィックスプロセシングユニットの前記ハードウェアシェーディングユニットを用いて、前記レンダリングパイプラインの第4の異なるシェーダステージと関連付けられる第4のシェーディング操作を実行することと
をさらに備える、請求項3に記載の方法。 - 動作モードを切り替えることは、前記第1のシェーディングステージと関連付けられる入力/出力インターフェースを維持しながら動作モードを切り替えることを備える、
請求項1に記載の方法。 - 動作モードを切り替えることは、前記第2のシェーディング操作のためにプログラムカウンタと1つまたは複数のリソースポインタとを切り替えることを備える、
請求項1に記載の方法。 - 前記第1のシェーディング操作と関連付けられる第1の命令は、前記第2のシェーディング操作と関連付けられる第2の命令に依存しないように、前記第1の命令が前記第2の命令とは独立にコンパイルされる、
請求項1に記載の方法。 - 1つまたは複数のシステムにより生成される値のために、ローカルメモリ中の1つまたは複数の所定の位置を確保することをさらに備え、前記システムにより生成される値は、前記第1のシェーディング操作および前記第2のシェーディング操作において使用される、
請求項7に記載の方法。 - 前記第1のシェーディング操作の結果をローカルメモリに記憶することと、前記グラフィックスプロセシングユニットの外部に位置するオフチップメモリにアクセスすることなく、前記第1のシェーディング操作の前記結果に対して前記第2のシェーディング操作を実行することとをさらに備える、
請求項1に記載の方法。 - 前記第1のシェーディング操作を実行することは、頂点シェーディングされた頂点を出力するために、入力された頂点をシェーディングする頂点シェーディング操作を実行することを備え、前記第2のシェーディング操作を実行することは、前記頂点シェーディングされた頂点の1つまたは複数に基づいて1つまたは複数の新たな頂点を生成するジオメトリシェーディング操作を実行することを備える、
請求項1に記載の方法。 - 前記第1のシェーディング操作を実行することは、頂点シェーディングされた頂点を出力するために、入力された頂点をシェーディングする頂点シェーディング操作を実行することを備え、前記第2のシェーディング操作を実行することは、前記頂点シェーディングされた頂点の1つまたは複数に基づいて1つまたは複数の制御ポイントを生成するハルシェーディング操作を実行することを備える、
請求項1に記載の方法。 - 前記第1のシェーディング操作を実行することは、頂点を生成するためにドメインシェーディング操作を実行することを備え、前記第2のシェーディング操作を実行することは、前記ドメインシェーディングされた頂点の1つまたは複数に基づいて1つまたは複数の新たな頂点を生成するためにジオメトリシェーディング操作を実行することを備える、
請求項1に記載の方法。 - 1つまたは複数のプロセッサを備える、グラフィックスをレンダリングするためのグラフィックスプロセシングユニットであって、前記1つまたは複数のプロセッサは、
レンダリングパイプラインの第1のシェーダステージと関連付けられる第1のシェーディング操作を実行するように、前記グラフィックスプロセシングユニットのハードウェアシェーディングユニットを指定することと、
前記第1のシェーディング操作が完了すると、前記ハードウェアシェーディングユニットの動作モードを切り替え、
前記第1のシェーディング操作を実行するように指定された前記グラフィックスプロセシングユニットの前記ハードウェアシェーディングユニットを用いて、前記レンダリングパイプラインの第2の異なるシェーダステージと関連付けられる第2のシェーディング操作を実行することと
を行うように構成される、グラフィックスプロセシングユニット。 - 動作モードを切り替えるために、前記1つまたは複数のプロセッサは、前記第1のシェーディング操作と前記第2のシェーディング操作とを備えるドローコールのモードを決定するように構成される、
請求項13に記載のグラフィックスプロセシングユニット。 - 前記1つまたは複数のプロセッサは、
前記第2のシェーディング操作が完了すると、前記ハードウェアシェーディングユニットの動作モードを切り替えることと、
前記第1のシェーディング操作を実行するように指定された前記グラフィックスプロセシングユニットの前記ハードウェアシェーディングユニットを用いて、前記レンダリングパイプラインの第3の異なるシェーダステージと関連付けられる第3のシェーディング操作を実行することと
を行うようにさらに構成される、請求項14に記載のグラフィックスプロセシングユニット。 - 前記1つまたは複数のプロセッサは、
前記第3のシェーディング操作が完了すると、前記ハードウェアシェーディングユニットの動作モードを切り替えることと、
前記第1のシェーディング操作を実行するように指定された前記グラフィックスプロセシングユニットの前記ハードウェアシェーディングユニットを用いて、前記レンダリングパイプラインの第4の異なるシェーダステージと関連付けられる第4のシェーディング操作を実行することと
を行うようにさらに構成される、請求項15に記載のグラフィックスプロセシングユニット。 - 動作モードを切り替えるために、前記1つまたは複数のプロセッサは、前記第1のシェーディングステージと関連付けられる入力/出力インターフェースを維持しながら動作モードを切り替えるように構成される、
請求項13に記載のグラフィックスプロセシングユニット。 - 動作モードを切り替えるために、前記1つまたは複数のプロセッサが、前記第2のシェーディング操作のためにプログラムカウンタと1つまたは複数のリソースポインタとを切り替えるように構成される、請求項13に記載のグラフィックスプロセシングユニット。
- 前記第1のシェーディング操作と関連付けられる第1の命令は、前記第2のシェーディング操作と関連付けられる第2の命令に依存しないように、前記第1の命令が前記第2の命令とは独立にコンパイルされる、
請求項13に記載のグラフィックスプロセシングユニット。 - 前記1つまたは複数のプロセッサは、1つまたは複数のシステムにより生成される値のために、前記グラフィックスプロセシングユニットのローカルメモリ中の1つまたは複数の所定の位置を確保することを行うようにさらに構成され、前記システムにより生成される値は、前記第1のシェーディング操作および前記第2のシェーディング操作において使用される、
請求項19に記載のグラフィックスプロセシングユニット。 - 前記1つまたは複数のプロセッサは、前記第1のシェーディング操作の結果を前記グラフィックスプロセシングユニットのローカルメモリに記憶することと、前記グラフィックスプロセシングユニットの外部に位置するオフチップメモリにアクセスすることなく、前記第1のシェーディング操作の前記結果に対して前記第2のシェーディング操作を実行することとを行うようにさらに構成される、
請求項13に記載のグラフィックスプロセシングユニット。 - 前記第1のシェーディング操作を実行するために、前記ハードウェアシェーディングユニットは、頂点シェーディングされた頂点を出力するために、入力された頂点をシェーディングする頂点シェーディング操作を実行することを行うように構成され、前記第2のシェーディング操作を実行するために、前記ハードウェアシェーディングユニットは、前記頂点シェーディングされた頂点の1つまたは複数に基づいて1つまたは複数の新たな頂点を生成するジオメトリシェーディング操作を実行することを行うように構成される、
請求項13に記載のグラフィックスプロセシングユニット。 - 前記第1のシェーディング操作を実行するために、前記ハードウェアシェーディングユニットは、頂点シェーディングされた頂点を出力するために、入力された頂点をシェーディングする頂点シェーディング操作を実行することを行うように構成され、前記第2のシェーディング操作を実行するために、前記ハードウェアシェーディングユニットは、前記頂点シェーディングされた頂点の1つまたは複数に基づいて1つまたは複数の制御ポイントを生成するハルシェーディング操作を実行することを行うように構成される、
請求項13に記載のグラフィックスプロセシングユニット。 - 前記第1のシェーディング操作を実行するために、前記ハードウェアシェーディングユニットは、頂点を生成するためにドメインシェーディング操作を実行することを行うように構成され、前記第2のシェーディング操作を実行するために、前記ハードウェアシェーディングユニットは、前記ドメインシェーディングされた頂点の1つまたは複数に基づいて1つまたは複数の新たな頂点を生成することを行うように構成される、
請求項13に記載のグラフィックスプロセシングユニット。 - グラフィックスをレンダリングするための装置であって、
レンダリングパイプラインの第1のシェーダステージと関連付けられる第1のシェーディング操作を実行するように、グラフィックスプロセシングユニットのハードウェアシェーディングユニットを指定するための手段と、
前記第1のシェーディング操作が完了すると、前記ハードウェアシェーディングユニットの動作モードを切り替えるための手段と、
前記第1のシェーディング操作を実行するように指定された前記グラフィックスプロセシングユニットの前記ハードウェアシェーディングユニットを用いて、前記レンダリングパイプラインの第2の異なるシェーダステージと関連付けられる第2のシェーディング操作を実行するための手段と
を備える、装置。 - 動作モードを切り替えるための前記手段は、前記第1のシェーディング操作と前記第2のシェーディング操作とを備えるドローコールのモードを決定するための手段を備える、
請求項25に記載の装置。 - 前記第2のシェーディング操作が完了すると、前記ハードウェアシェーディングユニットの動作モードを切り替えるための手段と、
前記第1のシェーディング操作を実行するように指定された前記グラフィックスプロセシングユニットの前記ハードウェアシェーディングユニットを用いて、前記レンダリングパイプラインの第3の異なるシェーダステージと関連付けられる第3のシェーディング操作を実行するための手段と
をさらに備える、請求項26に記載の装置。 - 前記第3のシェーディング操作が完了すると、前記ハードウェアシェーディングユニットの動作モードを切り替えるための手段と、
前記第1のシェーディング操作を実行するように指定された前記グラフィックスプロセシングユニットの前記ハードウェアシェーディングユニットを用いて、前記レンダリングパイプラインの第4の異なるシェーダステージと関連付けられる第4のシェーディング操作を実行するための手段と
をさらに備える、請求項27に記載の装置。 - 動作モードを切り替えるための前記手段は、前記第1のシェーディングステージと関連付けられる入力/出力インターフェースを維持しながら動作モードを切り替えるための手段を備える、
請求項25に記載の装置。 - 動作モードを前記切り替えることは、前記第2のシェーディング操作のためにプログラムカウンタと1つまたは複数のリソースポインタとを切り替えるための手段を備える、
請求項25に記載の装置。 - 前記第1のシェーディング操作と関連付けられる第1の命令は、前記第2のシェーディング操作と関連付けられる第2の命令に依存しないように、前記第1の命令が前記第2の命令とは独立にコンパイルされる、
請求項25に記載の装置。 - 1つまたは複数のシステムにより生成される値のために、ローカルメモリ中の1つまたは複数の所定の位置を確保するための手段をさらに備え、前記システムにより生成される値は、前記第1のシェーディング操作および前記第2のシェーディング操作において使用される、
請求項31に記載の装置。 - 前記第1のシェーディング操作の結果をローカルメモリに記憶し、前記グラフィックスプロセシングユニットの外部に位置するオフチップメモリにアクセスすることなく、前記第1のシェーディング操作の前記結果に対して前記第2のシェーディング操作を実行するための手段をさらに備える、
請求項25に記載の装置。 - 前記第1のシェーディング操作を実行するための前記手段は、頂点シェーディングされた頂点を出力するために、入力された頂点をシェーディングする頂点シェーディング操作を実行するための手段を備え、前記第2のシェーディング操作を実行するための前記手段は、前記頂点シェーディングされた頂点の1つまたは複数に基づいて1つまたは複数の新たな頂点を生成するジオメトリシェーディング操作を実行するための手段を備える、
請求項25に記載の装置。 - 前記第1のシェーディング操作を実行するための前記手段は、頂点シェーディングされた頂点を出力するために、入力された頂点をシェーディングする頂点シェーディング操作を実行するための手段を備え、前記第2のシェーディング操作を実行するための前記手段は、前記頂点シェーディングされた頂点の1つまたは複数に基づいて1つまたは複数の制御ポイントを生成するハルシェーディング操作を実行するための手段を備える、
請求項25に記載の装置。 - 前記第1のシェーディング操作を実行するための前記手段は、頂点を生成するドメインシェーディング操作を実行するための手段を備え、前記第2のシェーディング操作を実行するための前記手段は、前記ドメインシェーディングされた頂点の1つまたは複数に基づいて1つまたは複数の新たな頂点を生成するジオメトリシェーディング操作を実行するための手段を備える、
請求項25に記載の装置。 - 命令を記憶した非一時的コンピュータ可読媒体であって、前記命令は、実行されると、1つまたは複数のプロセッサに、
レンダリングパイプラインの第1のシェーダステージと関連付けられる第1のシェーディング操作を実行するように、グラフィックスプロセシングユニットのハードウェアシェーディングユニットを指定することと、
前記第1のシェーディング操作が完了すると、前記ハードウェアシェーディングユニットの動作モードを切り替えることと、
前記第1のシェーディング操作を実行するように指定された前記グラフィックスプロセシングユニットの前記ハードウェアシェーディングユニットを用いて、前記レンダリングパイプラインの第2の異なるシェーダステージと関連付けられる第2のシェーディング操作を実行することと
を行わせる、非一時的コンピュータ可読媒体。 - 動作モードを切り替えるために、前記命令は、前記1つまたは複数のプロセッサに、前記第1のシェーディング操作と前記第2のシェーディング操作とを備えるドローコールのモードを決定することを行わせる、
請求項37に記載の非一時的コンピュータ可読媒体。 - 前記1つまたは複数のプロセッサに、
前記第2のシェーディング操作が完了すると、前記ハードウェアシェーディングユニットの動作モードを切り替えることと、
前記第1のシェーディング操作を実行するように指定された前記グラフィックスプロセシングユニットの前記ハードウェアシェーディングユニットを用いて、前記レンダリングパイプラインの第3の異なるシェーダステージと関連付けられる第3のシェーディング操作を実行することと
を行わせる命令をさらに備える、請求項38に記載の非一時的コンピュータ可読媒体。 - 前記1つまたは複数のプロセッサに、
前記第3のシェーディング操作が完了すると、前記ハードウェアシェーディングユニットの動作モードを切り替えることと、
前記第1のシェーディング操作を実行するように指定された前記グラフィックスプロセシングユニットの前記ハードウェアシェーディングユニットを用いて、前記レンダリングパイプラインの第4の異なるシェーダステージと関連付けられる第4のシェーディング操作を実行することと
を行わせる、請求項39に記載の非一時的コンピュータ可読媒体。 - 動作モードを切り替えるために、前記命令は、前記1つまたは複数のプロセッサに、前記第1のシェーディングステージと関連付けられる入力/出力インターフェースを維持しながら動作モードを切り替えることを行わせる、請求項37に記載の非一時的コンピュータ可読媒体。
- 動作モードを切り替えるために、前記命令は、前記1つまたは複数のプロセッサに、前記第2のシェーディング操作のためにプログラムカウンタと1つまたは複数のリソースポインタとを切り替えることを行わせる、
請求項37に記載の非一時的コンピュータ可読媒体。 - 前記第1のシェーディング操作と関連付けられる第1の命令が、前記第2のシェーディング操作と関連付けられる第2の命令に依存しないように、前記第1の命令が前記第2の命令とは独立にコンパイルされる、
請求項37に記載の非一時的コンピュータ可読媒体。 - 前記1つまたは複数のプロセッサに、1つまたは複数のシステムにより生成される値のために、前記グラフィックスプロセシングユニットのローカルメモリ中の1つまたは複数の所定の位置を確保することを行わせる命令をさらに備え、前記システムにより生成される値は、前記第1のシェーディング操作および前記第2のシェーディング操作において使用される、
請求項43に記載の非一時的コンピュータ可読媒体。 - 前記1つまたは複数のプロセッサに、前記第1のシェーディング操作の結果を前記グラフィックスプロセシングユニットのローカルメモリへ記憶することと、前記グラフィックスプロセシングユニットの外部に位置するオフチップメモリにアクセスすることなく、前記第1のシェーディング操作の前記結果に対して前記第2のシェーディング操作を実行することとを行わせる命令をさらに備える、
請求項37に記載の非一時的コンピュータ可読媒体。 - 前記第1のシェーディング操作を実行するために、前記命令は、前記ハードウェアシェーディングに、頂点シェーディングされた頂点を出力するために、入力された頂点をシェーディングする頂点シェーディング操作を実行することと、前記第2のシェーディング操作を実行するために、前記命令は、前記ハードウェアシェーディングユニットに、前記頂点シェーディングされた頂点の1つまたは複数に基づいて1つまたは複数の新たな頂点を生成するジオメトリシェーディング操作を実行することと
を行わせる、請求項37に記載の非一時的コンピュータ可読媒体。 - 前記第1のシェーディング操作を実行するために、前記命令は、前記ハードウェアシェーディングユニットに、頂点シェーディングされた頂点を出力するために、入力された頂点をシェーディングする頂点シェーディング操作を実行することと、前記第2のシェーディング操作を実行するために、前記命令は、前記ハードウェアシェーディングユニットに、前記頂点シェーディングされた頂点の1つまたは複数に基づいて1つまたは複数の制御ポイントを生成するハルシェーディング操作を実行することと
を行わせる、請求項37に記載の非一時的コンピュータ可読媒体。 - 前記第1のシェーディング操作を実行するために、前記命令は、前記ハードウェアシェーディングユニットに、頂点を生成するドメインシェーディング操作を実行することと、前記第2のシェーディング操作を実行するために、前記命令は、前記ハードウェアシェーディングユニットに、前記ドメインシェーディングされた頂点の1つまたは複数に基づいて1つまたは複数の新たな頂点を生成するジオメトリシェーディング操作を実行することと
を行わせる、請求項37に記載の非一時的コンピュータ可読媒体。
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261620333P | 2012-04-04 | 2012-04-04 | |
US201261620340P | 2012-04-04 | 2012-04-04 | |
US201261620358P | 2012-04-04 | 2012-04-04 | |
US61/620,358 | 2012-04-04 | ||
US61/620,333 | 2012-04-04 | ||
US61/620,340 | 2012-04-04 | ||
US13/829,900 | 2013-03-14 | ||
US13/829,900 US10559123B2 (en) | 2012-04-04 | 2013-03-14 | Patched shading in graphics processing |
PCT/US2013/032098 WO2013151748A2 (en) | 2012-04-04 | 2013-03-15 | Patched shading in graphics processing |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2015524092A true JP2015524092A (ja) | 2015-08-20 |
JP2015524092A5 JP2015524092A5 (ja) | 2016-04-14 |
JP6258293B2 JP6258293B2 (ja) | 2018-01-10 |
Family
ID=49291929
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015504598A Active JP6162216B2 (ja) | 2012-04-04 | 2013-03-15 | グラフィックス処理におけるパッチされたシェーディング |
JP2015504596A Expired - Fee Related JP6258293B2 (ja) | 2012-04-04 | 2013-03-15 | グラフィックス処理におけるパッチされたシェーディング |
JP2015504597A Active JP6162215B2 (ja) | 2012-04-04 | 2013-03-15 | グラフィックス処理におけるパッチされたシェーディング |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015504598A Active JP6162216B2 (ja) | 2012-04-04 | 2013-03-15 | グラフィックス処理におけるパッチされたシェーディング |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015504597A Active JP6162215B2 (ja) | 2012-04-04 | 2013-03-15 | グラフィックス処理におけるパッチされたシェーディング |
Country Status (6)
Country | Link |
---|---|
US (6) | US10535185B2 (ja) |
EP (3) | EP2834793B1 (ja) |
JP (3) | JP6162216B2 (ja) |
KR (3) | KR102046676B1 (ja) |
CN (3) | CN104246829B (ja) |
WO (3) | WO2013151751A2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016535350A (ja) * | 2013-08-28 | 2016-11-10 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | グラフィックス処理におけるターゲット独立ステンシル |
KR20190051998A (ko) * | 2016-09-22 | 2019-05-15 | 어드밴스드 마이크로 디바이시즈, 인코포레이티드 | 조합된 월드-공간 파이프라인 셰이더 스테이지 |
JP2021517997A (ja) * | 2018-04-10 | 2021-07-29 | グーグル エルエルシーGoogle LLC | ゲームレンダリングにおけるメモリ管理 |
Families Citing this family (82)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10817043B2 (en) * | 2011-07-26 | 2020-10-27 | Nvidia Corporation | System and method for entering and exiting sleep mode in a graphics subsystem |
US10535185B2 (en) | 2012-04-04 | 2020-01-14 | Qualcomm Incorporated | Patched shading in graphics processing |
US8928679B2 (en) * | 2012-09-14 | 2015-01-06 | Advanced Micro Devices, Inc. | Work distribution for higher primitive rates |
US9013500B2 (en) * | 2012-10-22 | 2015-04-21 | The Boeing Company | Real time intervisibility analysis |
US9299123B2 (en) | 2013-01-22 | 2016-03-29 | Qualcomm Incorporated | Indexed streamout buffers for graphics processing |
US10255650B2 (en) * | 2013-05-24 | 2019-04-09 | Sony Interactive Entertainment Inc. | Graphics processing using dynamic resources |
US9495722B2 (en) | 2013-05-24 | 2016-11-15 | Sony Interactive Entertainment Inc. | Developer controlled layout |
EP3058552A4 (en) * | 2013-10-14 | 2017-05-17 | Marvell World Trade Ltd. | Systems and methods for graphics process units power management |
US10198856B2 (en) * | 2013-11-11 | 2019-02-05 | Oxide Interactive, LLC | Method and system of anti-aliasing shading decoupled from rasterization |
US9483862B2 (en) * | 2013-12-20 | 2016-11-01 | Qualcomm Incorporated | GPU-accelerated path rendering |
US9280845B2 (en) * | 2013-12-27 | 2016-03-08 | Qualcomm Incorporated | Optimized multi-pass rendering on tiled base architectures |
US9679347B2 (en) * | 2014-02-18 | 2017-06-13 | Qualcomm Incorporated | Shader pipeline with shared data channels |
US10068311B2 (en) | 2014-04-05 | 2018-09-04 | Sony Interacive Entertainment LLC | Varying effective resolution by screen location by changing active color sample count within multiple render targets |
US9865074B2 (en) | 2014-04-05 | 2018-01-09 | Sony Interactive Entertainment America Llc | Method for efficient construction of high resolution display buffers |
US9836816B2 (en) | 2014-04-05 | 2017-12-05 | Sony Interactive Entertainment America Llc | Varying effective resolution by screen location in graphics processing by approximating projection of vertices onto curved viewport |
US9495790B2 (en) | 2014-04-05 | 2016-11-15 | Sony Interactive Entertainment America Llc | Gradient adjustment for texture mapping to non-orthonormal grid |
US9710957B2 (en) * | 2014-04-05 | 2017-07-18 | Sony Interactive Entertainment America Llc | Graphics processing enhancement by tracking object and/or primitive identifiers |
US11302054B2 (en) | 2014-04-05 | 2022-04-12 | Sony Interactive Entertainment Europe Limited | Varying effective resolution by screen location by changing active color sample count within multiple render targets |
US9652882B2 (en) | 2014-04-05 | 2017-05-16 | Sony Interactive Entertainment America Llc | Gradient adjustment for texture mapping for multiple render targets with resolution that varies by screen location |
US9710881B2 (en) | 2014-04-05 | 2017-07-18 | Sony Interactive Entertainment America Llc | Varying effective resolution by screen location by altering rasterization parameters |
US10783696B2 (en) | 2014-04-05 | 2020-09-22 | Sony Interactive Entertainment LLC | Gradient adjustment for texture mapping to non-orthonormal grid |
EP3129958B1 (en) | 2014-04-05 | 2021-06-02 | Sony Interactive Entertainment LLC | Method for efficient re-rendering objects to vary viewports and under varying rendering and rasterization parameters |
GB2526359B (en) * | 2014-05-23 | 2020-07-22 | Advanced Risc Mach Ltd | Graphics processing systems |
US20150348224A1 (en) * | 2014-05-30 | 2015-12-03 | Apple Inc. | Graphics Pipeline State Object And Model |
US10430169B2 (en) | 2014-05-30 | 2019-10-01 | Apple Inc. | Language, function library, and compiler for graphical and non-graphical computation on a graphical processor unit |
US10346941B2 (en) | 2014-05-30 | 2019-07-09 | Apple Inc. | System and method for unified application programming interface and model |
US9842428B2 (en) * | 2014-06-27 | 2017-12-12 | Samsung Electronics Co., Ltd. | Dynamically optimized deferred rendering pipeline |
US20150378920A1 (en) * | 2014-06-30 | 2015-12-31 | John G. Gierach | Graphics data pre-fetcher for last level caches |
CN106687924A (zh) * | 2014-07-10 | 2017-05-17 | 英特尔公司 | 用于基于当前状态来更新着色器程序的方法和装置 |
US9665975B2 (en) * | 2014-08-22 | 2017-05-30 | Qualcomm Incorporated | Shader program execution techniques for use in graphics processing |
KR102313020B1 (ko) * | 2014-11-27 | 2021-10-15 | 삼성전자주식회사 | 그래픽스 프로세싱 유닛과 이를 포함하는 장치 |
US9489710B2 (en) * | 2015-02-10 | 2016-11-08 | Qualcomm Incorporated | Hybrid rendering in graphics processing |
US9804666B2 (en) | 2015-05-26 | 2017-10-31 | Samsung Electronics Co., Ltd. | Warp clustering |
GB2539042B (en) * | 2015-06-05 | 2019-08-21 | Imagination Tech Ltd | Tessellation method using displacement factors |
US9786098B2 (en) * | 2015-07-06 | 2017-10-10 | Mediatek Inc. | Apparatus for performing tessellation operation and methods utilizing the same |
US11087644B2 (en) | 2015-08-19 | 2021-08-10 | E Ink Corporation | Displays intended for use in architectural applications |
KR102472131B1 (ko) | 2015-09-03 | 2022-11-29 | 삼성전자주식회사 | 쉐이더 프로그램을 생성하는 방법 및 장치 |
CN106547505B (zh) * | 2015-09-22 | 2021-02-05 | 同方威视技术股份有限公司 | 用于实时滑动显示扫描图像的方法及系统 |
US9824458B2 (en) * | 2015-09-23 | 2017-11-21 | Qualcomm Incorporated | Dynamically switching between late depth testing and conservative depth testing |
US9842376B2 (en) * | 2015-09-29 | 2017-12-12 | Qualcomm Incorporated | Graphics processing unit preemption with pixel tile level granularity |
KR102381945B1 (ko) * | 2015-11-18 | 2022-04-01 | 삼성전자주식회사 | 그래픽 프로세싱 장치 및 그래픽 프로세싱 장치에서 그래픽스 파이프라인을 수행하는 방법 |
US10332310B2 (en) * | 2015-12-22 | 2019-06-25 | Nvidia Corporation | Distributed index fetch, primitive assembly, and primitive batching |
US20170236318A1 (en) * | 2016-02-15 | 2017-08-17 | Microsoft Technology Licensing, Llc | Animated Digital Ink |
US20170243375A1 (en) * | 2016-02-18 | 2017-08-24 | Qualcomm Incorporated | Multi-step texture processing with feedback in texture unit |
US10456672B2 (en) | 2016-05-19 | 2019-10-29 | Google Llc | Methods and systems for facilitating participation in a game session |
JP6599569B2 (ja) | 2016-05-24 | 2019-10-30 | イー インク コーポレイション | ディスプレイ上に画像をレンダリングする方法、ディスプレイデバイスおよびコンピューティングデバイスを備える装置、ならびに、非一過性コンピュータ記憶媒体 |
CN107578745A (zh) * | 2016-07-04 | 2018-01-12 | 上海和辉光电有限公司 | Fpga器件以及使用该器件的amoled显示电路 |
CN106210883A (zh) * | 2016-08-11 | 2016-12-07 | 浙江大华技术股份有限公司 | 一种视频渲染的方法、设备 |
US11379941B2 (en) | 2016-09-22 | 2022-07-05 | Advanced Micro Devices, Inc. | Primitive shader |
KR102644276B1 (ko) * | 2016-10-10 | 2024-03-06 | 삼성전자주식회사 | 그래픽 처리 장치 및 방법 |
US10346943B2 (en) | 2017-01-03 | 2019-07-09 | Microsoft Technology Licensing, Llc | Prefetching for a graphics shader |
US10650566B2 (en) | 2017-02-15 | 2020-05-12 | Microsoft Technology Licensing, Llc | Multiple shader processes in graphics processing |
GB2560709B (en) * | 2017-03-14 | 2021-02-24 | Imagination Tech Ltd | Graphics processing method and system for processing sub-primitives |
US10685473B2 (en) * | 2017-05-31 | 2020-06-16 | Vmware, Inc. | Emulation of geometry shaders and stream output using compute shaders |
EP4336800A3 (en) | 2017-10-10 | 2024-05-29 | Google LLC | Distributed sample-based game profiling with game metadata and metrics and gaming api platform supporting third-party content |
US10600142B2 (en) * | 2017-11-02 | 2020-03-24 | Advanced Micro Devices, Inc. | Compression and decompression of indices in a graphics pipeline |
US11080927B2 (en) * | 2017-11-30 | 2021-08-03 | Advanced Micro Devices, Inc. | Method and apparatus of cross shader compilation |
US10621782B1 (en) | 2017-12-06 | 2020-04-14 | Apple Inc. | Sub-patch techniques for graphics tessellation |
US10467723B2 (en) * | 2017-12-21 | 2019-11-05 | Qualcomm Incorporated | Tile-based check values for data content integrity in a GPU subsystem |
US10504280B2 (en) * | 2018-01-10 | 2019-12-10 | Qualcomm Incorporated | Accelerated occlusion computation |
GB2570304B (en) * | 2018-01-18 | 2022-06-01 | Imagination Tech Ltd | Topology preservation in a graphics pipeline |
JP7005763B2 (ja) | 2018-03-22 | 2022-01-24 | グーグル エルエルシー | オンラインインタラクティブゲーミングセッションのコンテンツをレンダリングおよび符号化するための方法およびシステム |
JP7073526B2 (ja) | 2018-04-02 | 2022-05-23 | グーグル エルエルシー | インタラクティブなクラウドゲームのための方法、デバイス、およびシステム |
US11077364B2 (en) | 2018-04-02 | 2021-08-03 | Google Llc | Resolution-based scaling of real-time interactive graphics |
GB2572617B (en) | 2018-04-05 | 2021-06-16 | Imagination Tech Ltd | Blending hardware |
GB2573316B (en) * | 2018-05-02 | 2021-01-27 | Advanced Risc Mach Ltd | Data processing systems |
KR102589969B1 (ko) | 2018-11-05 | 2023-10-16 | 삼성전자주식회사 | 지연 쉐이딩에서 보간을 수행하는 그래픽스 처리 장치, 그래픽스 처리 시스템 및 그래픽스 처리 방법 |
US11662051B2 (en) | 2018-11-16 | 2023-05-30 | Google Llc | Shadow tracking of real-time interactive simulations for complex system analysis |
US11080928B2 (en) * | 2019-04-01 | 2021-08-03 | Qualcomm Incorporated | Methods and apparatus for visibility stream management |
US11243752B2 (en) * | 2019-07-11 | 2022-02-08 | Advanced Micro Devices, Inc. | Multi-version shaders |
US10930062B2 (en) * | 2019-07-18 | 2021-02-23 | Raytheon Company | 3D view model generation of an object utilizing geometrically diverse image clusters |
US11189002B1 (en) * | 2019-07-24 | 2021-11-30 | Parallels International Gmbh | System and method for detecting when geometry shaders output a constant amount of data |
US11436783B2 (en) | 2019-10-16 | 2022-09-06 | Oxide Interactive, Inc. | Method and system of decoupled object space shading |
US11037358B1 (en) * | 2020-01-03 | 2021-06-15 | Qualcomm Incorporated | Methods and apparatus for reducing memory bandwidth in multi-pass tessellation |
US11170461B2 (en) * | 2020-02-03 | 2021-11-09 | Sony Interactive Entertainment Inc. | System and method for efficient multi-GPU rendering of geometry by performing geometry analysis while rendering |
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 |
US12112394B2 (en) | 2020-02-03 | 2024-10-08 | Sony Interactive Entertainment Inc. | System and method for efficient multi-GPU rendering of geometry by pretesting against screen regions using configurable shaders |
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 |
CN112604293A (zh) * | 2020-12-28 | 2021-04-06 | 完美世界(北京)软件科技发展有限公司 | 数据处理方法、装置、电子设备及可读介质 |
US12002142B2 (en) * | 2021-07-12 | 2024-06-04 | Qualcomm Incorporated | Performance overhead optimization in GPU scoping |
US11908079B2 (en) * | 2022-04-08 | 2024-02-20 | Qualcomm Incorporated | Variable rate tessellation |
CN118154759B (zh) * | 2024-05-06 | 2024-07-26 | 武汉凌久微电子有限公司 | 一种可编程管线gpu中固定管线功能实现方法 |
Family Cites Families (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5109504A (en) * | 1989-12-29 | 1992-04-28 | Texas Instruments Incorporated | Graphics program adaptor |
JPH0830471A (ja) | 1994-07-14 | 1996-02-02 | Hitachi Ltd | ジョブの実行プロセサ変更方式 |
WO2000011603A2 (en) | 1998-08-20 | 2000-03-02 | Apple Computer, Inc. | Graphics processor with pipeline state storage and retrieval |
GB9825102D0 (en) | 1998-11-16 | 1999-01-13 | Insignia Solutions Plc | Computer system |
US7196710B1 (en) * | 2000-08-23 | 2007-03-27 | Nintendo Co., Ltd. | Method and apparatus for buffering graphics data in a graphics system |
US6732354B2 (en) * | 2002-04-23 | 2004-05-04 | Quicksilver Technology, Inc. | Method, system and software for programming reconfigurable hardware |
US7109987B2 (en) | 2004-03-02 | 2006-09-19 | Ati Technologies Inc. | Method and apparatus for dual pass adaptive tessellation |
US7385607B2 (en) | 2004-04-12 | 2008-06-10 | Nvidia Corporation | Scalable shader architecture |
US7570267B2 (en) | 2004-05-03 | 2009-08-04 | Microsoft Corporation | Systems and methods for providing an enhanced graphics pipeline |
US7671862B1 (en) * | 2004-05-03 | 2010-03-02 | Microsoft Corporation | Systems and methods for providing an enhanced graphics pipeline |
US7750914B2 (en) | 2004-08-26 | 2010-07-06 | Intel Corporation | Subdividing geometry images in graphics hardware |
US20070083870A1 (en) | 2005-07-29 | 2007-04-12 | Tomochika Kanakogi | Methods and apparatus for task sharing among a plurality of processors |
JPWO2007049610A1 (ja) | 2005-10-25 | 2009-04-30 | 三菱電機株式会社 | 画像処理装置 |
US7468726B1 (en) | 2005-12-01 | 2008-12-23 | Nvidia Corporation | Culling in a vertex processing unit |
US7533237B1 (en) | 2006-05-11 | 2009-05-12 | Nvidia Corporation | Off-chip memory allocation for a unified shader |
US8154554B1 (en) | 2006-07-28 | 2012-04-10 | Nvidia Corporation | Unified assembly instruction set for graphics processing |
US20080094408A1 (en) | 2006-10-24 | 2008-04-24 | Xiaoqin Yin | System and Method for Geometry Graphics Processing |
US7701459B1 (en) | 2006-11-03 | 2010-04-20 | Nvidia Corporation | Primitive oriented assembly for parallel vertex/geometry processing |
JP2008276407A (ja) | 2007-04-26 | 2008-11-13 | Canon Inc | 画像処理装置及びその方法 |
US8325184B2 (en) | 2007-09-14 | 2012-12-04 | Qualcomm Incorporated | Fragment shader bypass in a graphics processing unit, and apparatus and method thereof |
WO2009058845A1 (en) | 2007-10-30 | 2009-05-07 | Advanced Micro Devices | Real-time mesh simplification using the graphics-processing unit |
US8031194B2 (en) | 2007-11-09 | 2011-10-04 | Vivante Corporation | Intelligent configurable graphics bandwidth modulator |
US8922565B2 (en) * | 2007-11-30 | 2014-12-30 | Qualcomm Incorporated | System and method for using a secondary processor in a graphics system |
US8174534B2 (en) | 2007-12-06 | 2012-05-08 | Via Technologies, Inc. | Shader processing systems and methods |
JP2011510396A (ja) | 2008-01-23 | 2011-03-31 | インテル コーポレイション | グラフィック・パフォーマンス改善のための方法、装置およびコンピュータ・プログラム・プロダクト |
US20090189896A1 (en) | 2008-01-25 | 2009-07-30 | Via Technologies, Inc. | Graphics Processor having Unified Shader Unit |
US8643644B2 (en) | 2008-03-20 | 2014-02-04 | Qualcomm Incorporated | Multi-stage tessellation for graphics rendering |
CN101271584B (zh) | 2008-04-11 | 2010-11-10 | 威盛电子股份有限公司 | 可编程图形处理单元计算核心的常量缓冲的方法和系统 |
US8259111B2 (en) | 2008-05-30 | 2012-09-04 | Advanced Micro Devices, Inc. | Merged shader for primitive amplification |
US20100079454A1 (en) | 2008-09-29 | 2010-04-01 | Legakis Justin S | Single Pass Tessellation |
US20100123717A1 (en) | 2008-11-20 | 2010-05-20 | Via Technologies, Inc. | Dynamic Scheduling in a Graphics Processor |
US20100164954A1 (en) * | 2008-12-31 | 2010-07-01 | Sathe Rahul P | Tessellator Whose Tessellation Time Grows Linearly with the Amount of Tessellation |
US8482560B2 (en) | 2008-12-31 | 2013-07-09 | Intel Corporation | Image forming techniques |
US8436854B2 (en) | 2009-05-29 | 2013-05-07 | Qualcomm Incorporated | Graphics processing unit with deferred vertex shading |
US8471858B2 (en) | 2009-06-02 | 2013-06-25 | Qualcomm Incorporated | Displaying a visual representation of performance metrics for rendered graphics elements |
US8289341B2 (en) | 2009-06-29 | 2012-10-16 | Intel Corporation | Texture sampling |
US8633928B2 (en) | 2009-08-13 | 2014-01-21 | Intel Corporation | Reducing the bandwidth of sampler loads in shaders |
US8854381B2 (en) | 2009-09-03 | 2014-10-07 | Advanced Micro Devices, Inc. | Processing unit that enables asynchronous task dispatch |
US9142057B2 (en) | 2009-09-03 | 2015-09-22 | Advanced Micro Devices, Inc. | Processing unit with a plurality of shader engines |
US8884957B2 (en) * | 2009-09-09 | 2014-11-11 | Advanced Micro Devices, Inc. | Tessellation engine and applications thereof |
US8917271B2 (en) | 2009-10-05 | 2014-12-23 | Nvidia Corporation | Redistribution of generated geometric primitives |
US8786618B2 (en) | 2009-10-08 | 2014-07-22 | Nvidia Corporation | Shader program headers |
US8810592B2 (en) | 2009-10-09 | 2014-08-19 | Nvidia Corporation | Vertex attribute buffer for inline immediate attributes and constants |
US8427493B2 (en) | 2009-10-13 | 2013-04-23 | Nvidia Corporation | Draw commands with built-in begin/end |
JP2011227864A (ja) | 2010-03-31 | 2011-11-10 | Asahi Kasei Corp | 画像視点変換装置、画像視点変換方法、画像視点変換プログラム |
GB201007348D0 (en) | 2010-04-30 | 2010-06-16 | Imagination Tech Ltd | Programmable tessellation in a tile based rendering system |
US20110310102A1 (en) | 2010-06-17 | 2011-12-22 | Via Technologies, Inc. | Systems and methods for subdividing and storing vertex data |
US8499305B2 (en) | 2010-10-15 | 2013-07-30 | Via Technologies, Inc. | Systems and methods for performing multi-program general purpose shader kickoff |
GB201103699D0 (en) | 2011-03-03 | 2011-04-20 | Advanced Risc Mach Ltd | Graphic processing |
US20120229460A1 (en) | 2011-03-12 | 2012-09-13 | Sensio Technologies Inc. | Method and System for Optimizing Resource Usage in a Graphics Pipeline |
US10535185B2 (en) | 2012-04-04 | 2020-01-14 | Qualcomm Incorporated | Patched shading in graphics processing |
-
2013
- 2013-03-14 US US13/830,075 patent/US10535185B2/en active Active
- 2013-03-14 US US13/829,900 patent/US10559123B2/en not_active Expired - Fee Related
- 2013-03-14 US US13/830,145 patent/US9412197B2/en active Active
- 2013-03-15 EP EP13713315.3A patent/EP2834793B1/en active Active
- 2013-03-15 KR KR1020147030786A patent/KR102046676B1/ko active IP Right Grant
- 2013-03-15 KR KR1020147030830A patent/KR101784671B1/ko active IP Right Grant
- 2013-03-15 CN CN201380018326.0A patent/CN104246829B/zh active Active
- 2013-03-15 WO PCT/US2013/032136 patent/WO2013151751A2/en active Application Filing
- 2013-03-15 CN CN201380018497.3A patent/CN104813367B/zh active Active
- 2013-03-15 CN CN201380018600.4A patent/CN104205174B/zh active Active
- 2013-03-15 JP JP2015504598A patent/JP6162216B2/ja active Active
- 2013-03-15 EP EP13714779.9A patent/EP2834794B1/en active Active
- 2013-03-15 WO PCT/US2013/032098 patent/WO2013151748A2/en active Application Filing
- 2013-03-15 KR KR1020147030816A patent/KR102132040B1/ko active IP Right Grant
- 2013-03-15 WO PCT/US2013/032123 patent/WO2013151750A2/en active Application Filing
- 2013-03-15 JP JP2015504596A patent/JP6258293B2/ja not_active Expired - Fee Related
- 2013-03-15 EP EP13713314.6A patent/EP2834792A2/en active Pending
- 2013-03-15 JP JP2015504597A patent/JP6162215B2/ja active Active
-
2019
- 2019-12-11 US US16/711,098 patent/US11200733B2/en active Active
-
2021
- 2021-11-09 US US17/522,178 patent/US11769294B2/en active Active
-
2023
- 2023-08-09 US US18/447,155 patent/US20240104837A1/en active Pending
Non-Patent Citations (1)
Title |
---|
FOLEY T ET AL: "SPARK: MODULAR, COMPOSABLE SHADERS FOR GRAPHICS HARDWARE", ACM TRANSACTIONS ON GRAPHICS (TOG), vol. VOL:30 NR:4, JPN5016007623, July 2011 (2011-07-01), US, pages PAGE(S):107.1 - 107.12 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016535350A (ja) * | 2013-08-28 | 2016-11-10 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | グラフィックス処理におけるターゲット独立ステンシル |
US9779534B2 (en) | 2013-08-28 | 2017-10-03 | Qualcomm Incorporated | Prefixed summed length in graphics processing |
KR20190051998A (ko) * | 2016-09-22 | 2019-05-15 | 어드밴스드 마이크로 디바이시즈, 인코포레이티드 | 조합된 월드-공간 파이프라인 셰이더 스테이지 |
JP2019535071A (ja) * | 2016-09-22 | 2019-12-05 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated | 複合ワールドスペースパイプラインシェーダステージ |
KR102510524B1 (ko) | 2016-09-22 | 2023-03-15 | 어드밴스드 마이크로 디바이시즈, 인코포레이티드 | 조합된 월드-공간 파이프라인 셰이더 스테이지 |
JP7253488B2 (ja) | 2016-09-22 | 2023-04-06 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 複合ワールドスペースパイプラインシェーダステージ |
US11869140B2 (en) | 2016-09-22 | 2024-01-09 | Advanced Micro Devices, Inc. | Combined world-space pipeline shader stages |
JP2021517997A (ja) * | 2018-04-10 | 2021-07-29 | グーグル エルエルシーGoogle LLC | ゲームレンダリングにおけるメモリ管理 |
JP7073494B2 (ja) | 2018-04-10 | 2022-05-23 | グーグル エルエルシー | ゲームレンダリングにおけるメモリ管理 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11769294B2 (en) | Patched shading in graphics processing | |
US9799088B2 (en) | Render target command reordering in graphics processing | |
CN106233326B (zh) | 图形处理中基于显现目标的灵活显现 | |
JP5960368B2 (ja) | ビジビリティ情報を用いたグラフィックスデータのレンダリング | |
US11676321B2 (en) | Graphics library extensions | |
EP2296117A2 (en) | Ray-aggregation for ray-tracing during rendering of imagery |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160219 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160219 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170221 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170307 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170606 |
|
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: 20171107 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171206 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6258293 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |