JP2019533240A - プリミティブシェーダ - Google Patents
プリミティブシェーダ Download PDFInfo
- Publication number
- JP2019533240A JP2019533240A JP2019515889A JP2019515889A JP2019533240A JP 2019533240 A JP2019533240 A JP 2019533240A JP 2019515889 A JP2019515889 A JP 2019515889A JP 2019515889 A JP2019515889 A JP 2019515889A JP 2019533240 A JP2019533240 A JP 2019533240A
- Authority
- JP
- Japan
- Prior art keywords
- shader
- primitive
- vertex
- primitives
- screen
- 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/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/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/10—Geometric effects
- G06T15/40—Hidden part removal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/04—Indexing scheme for image data processing or generation, in general involving 3D image data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/28—Indexing scheme for image data processing or generation, in general involving image processing hardware
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
Abstract
Description
本願は、2016年9月22日に出願された米国仮特許出願第62/398,211号と、2017年1月25日に出願された米国特許出願第15/415,823号と、2017年2月7日に出願された欧州特許出願第17155075.9号の利益を主張し、これらの内容は、本明細書に十分に記載されているかのように、言及したことによって本明細書に組み込まれる。
Claims (20)
- 3次元グラフィックスレンダリングを実行する方法であって、
並列処理ユニットで実行されるプリミティブシェーダプログラムを用いて、頂点のセットに対して頂点毎の動作を実行することと、
前記頂点のセットに関連するプリミティブのセットに対してカリング動作を実行して、カリングされたプリミティブのセットを生成することであって、前記カリング動作は、プリミティブシェーダを用いて実行される、ことと、
前記プリミティブシェーダを用いて、前記カリングされたプリミティブのセットに関する1つ以上のスクリーン細分部を識別することと、
前記カリングされたプリミティブのセットの前記識別されたスクリーン細分部に基づいて、前記カリングされたプリミティブのセットをスクリーンスペースパイプラインのセットに送信することと、を含む、
方法。 - テッセレーションが有効であり、前記頂点毎の動作は、グラフィックス処理パイプラインのテッセレータステージによって生成された重心座標を評価するためのドメインシェーダ動作を含む、
請求項1の方法。 - テッセレーションが無効であり、前記頂点毎の動作は、グラフィックス処理パイプラインの頂点シェーダステージで頂点位置を変換するための頂点シェーダ動作を含む、
請求項1の方法。 - 前記カリングされたプリミティブのセットに関連する頂点の位置以外の属性を決定する動作を実行することであって、前記位置以外の属性を決定する動作は、グラフィックス処理パイプラインの頂点シェーダステージに関する頂点シェーダコードから導出される、ことを含む、
請求項1の方法。 - ジオメトリシェーディングが有効であり、前記方法は、前記頂点のセットに関連する前記プリミティブのセットに対してジオメトリシェーディング動作を実行することを含み、
前記ジオメトリシェーディング動作は、グラフィックス処理パイプラインのジオメトリシェーダステージに関するジオメトリシェーダコードから導出される、
請求項1の方法。 - 前記カリングされたプリミティブのセットを前記スクリーンスペースパイプラインのセットに送信することは、固定機能クロスバー又は専用の位置バッファ及びパラメータバッファを介することなく、汎用のローカルデータストアメモリを介して実行される、
請求項1の方法。 - 前記カリングされたプリミティブのセットを前記スクリーンスペースパイプラインのセットに送信することは、
前記カリングされたプリミティブのセットを前記ローカルデータストアメモリに送信することと、
前記カリングされたプリミティブのセットを前記ローカルデータストアメモリから前記スクリーンスペースパイプラインのセットに送信することと、を含む、
請求項6の方法。 - 前記1つ以上のスクリーン細分部を識別することは、
前記カリングされたプリミティブのセットのプリミティブ毎に、プリミティブによってカバーされた1つ以上のスクリーン細分部を識別することを含む、
請求項1の方法。 - 前記識別されたスクリーン細分部に基づいて、前記カリングされたプリミティブのセットを前記スクリーンスペースパイプラインのセットに送信することは、
前記カリングされたプリミティブのセットのプリミティブ毎に、プリミティブによってカバーされた前記スクリーン細分部に関連する1つ以上のスクリーンスペースパイプラインを識別することと、
前記プリミティブを、前記識別された1つ以上のスクリーンスペースパイプラインに送信することと、を含む、
請求項8の方法。 - グラフィックス処理パイプラインと、
複数の並列処理ユニットと、を備え、
前記グラフィックス処理パイプラインは、前記複数の並列処理ユニットでプリミティブシェーダプログラムを実行するように構成されたプリミティブシェーダステージを含み、
前記プリミティブシェーダプログラムは、
頂点のセットに対して頂点毎の動作を実行し、
前記頂点のセットに関連するプリミティブのセットに対してカリング動作を実行して、カリングされたプリミティブのセットを生成し、
プリミティブシェーダを用いて、前記カリングされたプリミティブのセットに関する1つ以上のスクリーン細分部を識別し、
前記カリングされたプリミティブのセットの前記識別されたスクリーン細分部に基づいて、前記カリングされたプリミティブのセットを、前記グラフィックス処理パイプラインのスクリーンスペースパイプラインのセットに送信する、
ように構成されている、
アクセラレーテッド処理デバイス(APD)。 - 前記グラフィックス処理パイプラインは、テッセレーションが有効である状態であり、
前記頂点毎の動作は、グラフィックス処理パイプラインのテッセレータステージによって生成された重心座標を評価するためのドメインシェーダ動作を含む、
請求項10のAPD。 - 前記グラフィックス処理パイプラインは、テッセレーションが無効である状態であり、
前記頂点毎の動作は、グラフィックス処理パイプラインの頂点シェーダステージで頂点位置を変換するための頂点シェーダ動作を含む、
請求項10のAPD。 - 前記プリミティブシェーダプログラムは、前記カリングされたプリミティブのセットに関連する頂点の位置以外の属性を決定する動作を実行するように構成されており、
前記位置以外の属性を決定する動作は、前記グラフィックス処理パイプラインの頂点シェーダステージに関する頂点シェーダコードから導出される、
請求項10のAPD。 - 前記グラフィックス処理パイプラインは、ジオメトリシェーディングが有効である状態であり、
前記プリミティブシェーダプログラムは、前記頂点のセットに関連する前記プリミティブのセットに対してジオメトリシェーディング動作を実行するように構成されており、
前記ジオメトリシェーディング動作は、前記グラフィックス処理パイプラインのジオメトリシェーダステージに関するジオメトリシェーダコードから導出される、
請求項10のAPD。 - 汎用のローカルデータストアを備え、
前記プリミティブシェーダプログラムは、前記カリングされたプリミティブのセットを、固定機能クロスバー又は専用の位置バッファ及びパラメータバッファを介することなく、前記汎用のローカルデータストアを介して前記スクリーンスペースパイプラインのセットに送信するように構成されている、
請求項10のAPD。 - 前記プリミティブシェーダプログラムは、前記カリングされたプリミティブのセットのプリミティブ毎に、プリミティブによってカバーされた1つ以上のスクリーン細分部を識別することによって、1つ以上のスクリーン細分部を識別するように構成されている、
請求項10のAPD。 - 前記プリミティブシェーダプログラムは、前記カリングされたプリミティブのセットのプリミティブ毎に、プリミティブによってカバーされた前記スクリーン細分部に関連する1つ以上のスクリーンスペースパイプラインを識別することと、前記プリミティブを前記識別された1つ以上のスクリーンスペースパイプラインに送信することと、によって、前記識別されたスクリーン細分部に基づいて、前記カリングされたプリミティブのセットを前記スクリーンスペースパイプラインのセットに送信するように構成されている、
請求項16の方法。 - 中央処理装置と、
アクセラレーテッド処理デバイス(APD)と、
を備えるコンピューティングデバイスであって、
前記APDは、
グラフィックス処理パイプラインと、
複数の並列処理ユニットと、を備え、
前記グラフィックス処理パイプラインは、前記複数の並列処理ユニットでプリミティブシェーダプログラムを実行するように構成されたプリミティブシェーダステージを含み、
前記プリミティブシェーダプログラムは、
前記中央処理装置から受信した頂点のセットに対して頂点毎の動作を実行し、
前記頂点のセットに関連するプリミティブのセットに対してカリング動作を実行して、カリングされたプリミティブのセットを生成し、
プリミティブシェーダを用いて、前記カリングされたプリミティブのセットに関する1つ以上のスクリーン細分部を識別し、
前記カリングされたプリミティブのセットの前記識別されたスクリーン細分部に基づいて、前記カリングされたプリミティブのセットを、前記グラフィックス処理パイプラインのスクリーンスペースパイプラインのセットに送信する、
ように構成されている、
コンピューティングデバイス。 - 前記グラフィックス処理パイプラインは、テッセレーションが有効である状態であり、
前記頂点毎の動作は、グラフィックス処理パイプラインのテッセレータステージによって生成された重心座標を評価するためのドメインシェーダ動作を含み、
前記ドメインシェーダ動作は、前記中央処理装置によって提供されたドメインシェーダプログラムから導出される、
請求項18のコンピューティングデバイス。 - 前記グラフィックス処理パイプラインは、テッセレーションが無効である状態であり、
前記頂点毎の動作は、グラフィックス処理パイプラインの頂点シェーダステージで頂点位置を変換するための頂点シェーダ動作を含み、
前記頂点シェーダ動作は、前記中央処理装置によって提供された頂点シェーダプログラムから導出される、
請求項18のコンピューティングデバイス。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662398211P | 2016-09-22 | 2016-09-22 | |
US62/398,211 | 2016-09-22 | ||
US15/415,823 US11379941B2 (en) | 2016-09-22 | 2017-01-25 | Primitive shader |
US15/415,823 | 2017-01-25 | ||
EP17155075.9 | 2017-02-07 | ||
EP17155075.9A EP3300028B1 (en) | 2016-09-22 | 2017-02-07 | Primitive shader |
PCT/US2017/050349 WO2018057295A1 (en) | 2016-09-22 | 2017-09-06 | Primitive shader |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019533240A true JP2019533240A (ja) | 2019-11-14 |
JP7025415B2 JP7025415B2 (ja) | 2022-02-24 |
Family
ID=57995077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019515889A Active JP7025415B2 (ja) | 2016-09-22 | 2017-09-06 | プリミティブシェーダ |
Country Status (6)
Country | Link |
---|---|
US (1) | US11379941B2 (ja) |
EP (1) | EP3300028B1 (ja) |
JP (1) | JP7025415B2 (ja) |
KR (1) | KR102486347B1 (ja) |
CN (1) | CN109690629B (ja) |
WO (1) | WO2018057295A1 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10460513B2 (en) * | 2016-09-22 | 2019-10-29 | Advanced Micro Devices, Inc. | Combined world-space pipeline shader stages |
US10417731B2 (en) | 2017-04-24 | 2019-09-17 | Intel Corporation | Compute optimization mechanism for deep neural networks |
US10417734B2 (en) * | 2017-04-24 | 2019-09-17 | Intel Corporation | Compute optimization mechanism for deep neural networks |
US11227430B2 (en) | 2019-06-19 | 2022-01-18 | Samsung Electronics Co., Ltd. | Optimized pixel shader attribute management |
GB2592604B (en) * | 2020-03-03 | 2023-10-18 | Sony Interactive Entertainment Inc | Image generation system and method |
US11481967B2 (en) * | 2020-08-31 | 2022-10-25 | Advanced Micro Devices, Inc. | Shader core instruction to invoke depth culling |
EP4050479A1 (en) * | 2021-02-25 | 2022-08-31 | Imagination Technologies Limited | Task repacking in a graphic pipeline |
GB2610242A (en) * | 2021-08-27 | 2023-03-01 | Advanced Risc Mach Ltd | Graphics processing |
US20230094115A1 (en) * | 2021-09-29 | 2023-03-30 | Advanced Micro Devices, Inc. | Load multiple primitives per thread in a graphics pipeline |
US20230377086A1 (en) * | 2022-05-18 | 2023-11-23 | Advanced Micro Devices, Inc. | Pipeline delay elimination with parallel two level primitive batch binning |
CN115908102A (zh) * | 2022-08-23 | 2023-04-04 | 芯动微电子科技(珠海)有限公司 | 图形处理方法及系统 |
CN116843540B (zh) * | 2023-08-31 | 2024-01-23 | 南京砺算科技有限公司 | 图形处理器及图形处理设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130265309A1 (en) * | 2012-04-04 | 2013-10-10 | Qualcomm Incorporated | Patched shading in graphics processing |
US8704836B1 (en) * | 2009-10-19 | 2014-04-22 | Nvidia Corporation | Distributing primitives to multiple rasterizers |
US20160086299A1 (en) * | 2014-09-24 | 2016-03-24 | Saurabh Sharma | Position-Only Shading Pipeline |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7750914B2 (en) * | 2004-08-26 | 2010-07-06 | Intel Corporation | Subdividing geometry images in graphics hardware |
US7468726B1 (en) * | 2005-12-01 | 2008-12-23 | Nvidia Corporation | Culling in a vertex processing unit |
US7728841B1 (en) * | 2005-12-19 | 2010-06-01 | Nvidia Corporation | Coherent shader output for multiple targets |
US8436854B2 (en) * | 2009-05-29 | 2013-05-07 | Qualcomm Incorporated | Graphics processing unit with deferred vertex shading |
US8542247B1 (en) * | 2009-07-17 | 2013-09-24 | Nvidia Corporation | Cull before vertex attribute fetch and vertex lighting |
US8692829B2 (en) * | 2009-10-05 | 2014-04-08 | Nvidia Corporation | Calculation of plane equations after determination of Z-buffer visibility |
US9536341B1 (en) * | 2009-10-19 | 2017-01-03 | Nvidia Corporation | Distributing primitives to multiple rasterizers |
US9177351B2 (en) * | 2012-10-09 | 2015-11-03 | Qualcomm Incorporated | Multi-primitive graphics rendering pipeline |
KR102066533B1 (ko) * | 2013-11-19 | 2020-01-16 | 삼성전자 주식회사 | 도메인 쉐이딩 방법과 이를 수행하는 장치들 |
US9483862B2 (en) * | 2013-12-20 | 2016-11-01 | Qualcomm Incorporated | GPU-accelerated path rendering |
GB2525636B (en) * | 2014-04-30 | 2020-08-19 | Geomerics Ltd | Graphics processing systems |
GB2527822B (en) * | 2014-07-03 | 2020-10-07 | Advanced Risc Mach Ltd | Graphics processing |
US9978171B2 (en) * | 2014-07-29 | 2018-05-22 | Nvidia Corporation | Control of a sample mask from a fragment shader program |
US9754407B2 (en) * | 2014-08-12 | 2017-09-05 | Nvidia Corporation | System, method, and computer program product for shading using a dynamic object-space grid |
KR102327144B1 (ko) * | 2014-11-26 | 2021-11-16 | 삼성전자주식회사 | 그래픽 프로세싱 장치 및 그래픽 프로세싱 장치에서 타일 기반 그래픽스 파이프라인을 수행하는 방법 |
-
2017
- 2017-01-25 US US15/415,823 patent/US11379941B2/en active Active
- 2017-02-07 EP EP17155075.9A patent/EP3300028B1/en active Active
- 2017-09-06 JP JP2019515889A patent/JP7025415B2/ja active Active
- 2017-09-06 CN CN201780054424.8A patent/CN109690629B/zh active Active
- 2017-09-06 KR KR1020197006547A patent/KR102486347B1/ko active IP Right Grant
- 2017-09-06 WO PCT/US2017/050349 patent/WO2018057295A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8704836B1 (en) * | 2009-10-19 | 2014-04-22 | Nvidia Corporation | Distributing primitives to multiple rasterizers |
US20130265309A1 (en) * | 2012-04-04 | 2013-10-10 | Qualcomm Incorporated | Patched shading in graphics processing |
US20160086299A1 (en) * | 2014-09-24 | 2016-03-24 | Saurabh Sharma | Position-Only Shading Pipeline |
Also Published As
Publication number | Publication date |
---|---|
KR20190051961A (ko) | 2019-05-15 |
CN109690629A (zh) | 2019-04-26 |
KR102486347B1 (ko) | 2023-01-09 |
WO2018057295A1 (en) | 2018-03-29 |
JP7025415B2 (ja) | 2022-02-24 |
EP3300028A1 (en) | 2018-03-28 |
US11379941B2 (en) | 2022-07-05 |
EP3300028B1 (en) | 2018-11-07 |
CN109690629B (zh) | 2023-08-08 |
US20180082399A1 (en) | 2018-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7025415B2 (ja) | プリミティブシェーダ | |
JP6918919B2 (ja) | 自動的にコンパイルされたコンピュートシェーダを用いるプリミティブカリング | |
US20200035017A1 (en) | Combined world-space pipeline shader stages | |
KR102266962B1 (ko) | 그래픽 파이프라인의 메모리 사용 감소를 위한 컴파일러 지원 기술 | |
US10796483B2 (en) | Identifying primitives in input index stream | |
US20180211434A1 (en) | Stereo rendering | |
WO2018140223A1 (en) | Stereo rendering | |
JP2020506474A (ja) | アウトオブオーダのピクセルシェーダのエクスポート | |
TWI616844B (zh) | 當複合物件在圖形影像中無法產生可見改變時促進圖形處理單元中此等物件之淘汰的技術 | |
US11972518B2 (en) | Hybrid binning | |
US20230298261A1 (en) | Distributed visibility stream generation for coarse grain binning | |
US20220319091A1 (en) | Post-depth visibility collection with two level binning | |
US20240169641A1 (en) | Vertex index routing through culling shader for two level primitive batch binning | |
US20240070961A1 (en) | Vertex index routing for two level primitive batch binning | |
US20210304349A1 (en) | Iterative indirect command buffers | |
US20210407182A1 (en) | Load instruction for multi sample anti-aliasing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200828 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210608 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210622 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210917 |
|
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: 20220125 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220210 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7025415 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |