JP7121019B2 - アウトオブオーダのピクセルシェーダのエクスポート - Google Patents
アウトオブオーダのピクセルシェーダのエクスポート Download PDFInfo
- Publication number
- JP7121019B2 JP7121019B2 JP2019540524A JP2019540524A JP7121019B2 JP 7121019 B2 JP7121019 B2 JP 7121019B2 JP 2019540524 A JP2019540524 A JP 2019540524A JP 2019540524 A JP2019540524 A JP 2019540524A JP 7121019 B2 JP7121019 B2 JP 7121019B2
- Authority
- JP
- Japan
- Prior art keywords
- fragment
- pixel shader
- order
- shader stage
- shaded
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—Three-dimensional [3D] image rendering
- G06T15/50—Lighting effects
- G06T15/80—Shading
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—Three-dimensional [3D] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—Three-dimensional [3D] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—Three-dimensional [3D] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
- G06T15/405—Hidden part removal using Z-buffer
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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)
- Computer Vision & Pattern Recognition (AREA)
- Image Generation (AREA)
- Controls And Circuits For Display Device (AREA)
Description
本願は、2017年1月27日に出願された米国特許出願第15/418,557号、及び、2017年2月3日に出願された欧州特許出願第17154680.7号の利益を主張するものであり、これらの内容は、言及することによって本明細書に完全に記載されているものとして援用される。
Claims (20)
- グラフィックス処理パイプラインのピクセルシェーダステージからフラグメントをエクスポートする方法であって、
アプリケーションプログラミングインタフェースオーダ(APIオーダ)に関して、前記ピクセルシェーダステージで発生した最新のフラグメントを示すスコアボードを維持することと、
前記ピクセルシェーダステージ内のフラグメントを処理して、スクリーン位置を有するシェーディングされたフラグメントを生成することと、
前記スコアボードに基づいて、前記シェーディングされたフラグメントが、前記ピクセルシェーダステージで発生した前記スクリーン位置に対する最新のフラグメントであるかどうかを判別することと、
前記シェーディングされたフラグメントが、前記ピクセルシェーダステージで発生した前記スクリーン位置に対する最新のフラグメントである場合に、前記グラフィックス処理パイプラインの後続のステージで処理するために、前記シェーディングされたフラグメントをエクスポートすることと、
前記シェーディングされたフラグメントが、前記ピクセルシェーダステージで発生した前記スクリーン位置に対する最新のフラグメントでない場合に、前記フラグメントを破棄することと、を含む、
方法。 - 前記ピクセルシェーダステージ内のフラグメントを処理する前に、前記フラグメントに対してzカリングを実行することをさらに含む、
請求項1の方法。 - 前記ピクセルシェーダステージ内のフラグメントを処理した後であって、前記スコアボードに基づいて、前記シェーディングされたフラグメントが、前記ピクセルシェーダステージで発生した前記スクリーン位置に対する最新のフラグメントであるかどうかを判別する前に、前記フラグメントに対してzカリングを実行することをさらに含む、
請求項1の方法。 - 前記zカリングは、
深度バッファへの書き込みが無効、
「equal」z関数、又は、
「less than or equal」z関数若しくは「greater than or equal」z関数
のうち1つ以上を用いて実行される、
請求項3の方法。 - 前記シェーディングされたフラグメントが、スクリーン位置及びアプリケーションプログラミングインタフェースオーダ(APIオーダ)に関連付けられており、
前記スコアボードに基づいて、前記シェーディングされたフラグメントが、前記ピクセルシェーダステージで発生した前記スクリーン位置に対する最新のフラグメントであるかどうかを判別することは、前記シェーディングされたフラグメントのAPIオーダを、前記スコアボード内のフラグメントの前記スクリーン位置に対して記憶されたAPIオーダと比較することを含む、
請求項1の方法。 - 前記スコアボードを維持することは、
前記ピクセルシェーダステージの上流にあるパイプラインステージからフラグメントを受信することと、
前記フラグメントの前記スクリーン位置に対して、前記スコアボードに既に記憶されているAPIオーダと前記フラグメントのAPIオーダとのうち新しいオーダを反映するように、前記フラグメントの前記スクリーン位置に対するAPIオーダを前記スコアボードにおいて更新することと、を含む、
請求項1の方法。 - 前記ピクセルシェーダステージの上流にあるパイプラインステージからフラグメントを受信することは、
前記ピクセルシェーダステージのラスタライザステージからフラグメントを受信することを含む、
請求項1の方法。 - 前記グラフィックス処理パイプラインの後続のステージで処理するために、前記シェーディングされたフラグメントをエクスポートすることは、前記グラフィックス処理パイプラインの出力マージャステージで処理するために、前記シェーディングされたフラグメントをエクスポートすることを含む、
請求項1の方法。 - 前記フラグメントを破棄する前に、前記フラグメントのブレンディングが無効になっていると判別することを含む、
請求項1の方法。 - グラフィックス処理パイプラインを含むアクセラレーテッド処理デバイス(APD)であって、
フラグメントを処理して、スクリーン位置を有するシェーディングされたフラグメントを生成するように構成されたピクセルシェーダステージと、
アウトオブオーダエクスポートブロックと、を備え、
前記アウトオブオーダエクスポートブロックは、
アプリケーションプログラミングインタフェースオーダ(APIオーダ)に関して、前記ピクセルシェーダステージで発生した最新のフラグメントを示すスコアボードを維持することと、
前記スコアボードに基づいて、前記シェーディングされたフラグメントが、前記ピクセルシェーダステージで発生した前記スクリーン位置に対する最新のフラグメントであるかどうかを判別することと、
前記シェーディングされたフラグメントが、前記ピクセルシェーダステージで発生した前記スクリーン位置に対する最新のフラグメントである場合に、前記グラフィックス処理パイプラインの後続のステージで処理するために、前記シェーディングされたフラグメントをエクスポートすることと、
前記シェーディングされたフラグメントが、前記ピクセルシェーダステージで発生した前記スクリーン位置に対する最新のフラグメントでない場合に、当該フラグメントを破棄することと、
を行うように構成されている、
アクセラレーテッド処理デバイス。 - 前記ピクセルシェーダステージでフラグメントを処理する前に、前記フラグメントに対してzカリングを実行するように構成された深度ブロックをさらに備える、
請求項10のAPD。 - 前記ピクセルシェーダステージ内のフラグメントを処理した後であって、前記スコアボードに基づいて、前記シェーディングされたフラグメントが、前記ピクセルシェーダステージで発生した前記スクリーン位置に対する最新のフラグメントであるかどうかを判別する前に、前記フラグメントに対してzカリングを実行するように構成された深度ブロックをさらに備える、
請求項10のAPD。 - 前記深度ブロックは、
深度バッファへの書き込みが無効、
「equal」z関数、又は、
「less than or equal」z関数若しくは「greater than or equal」z関数
のうち1つ以上を用いて前記zカリングを実行するように構成されている、
請求項12のAPD。 - 前記シェーディングされたフラグメントが、スクリーン位置及びアプリケーションプログラミングインタフェースオーダ(APIオーダ)に関連付けられており、
前記アウトオブオーダエクスポートブロックは、前記シェーディングされたフラグメントのAPIオーダを、前記スコアボード内のフラグメントの前記スクリーン位置に対して記憶されたAPIオーダと比較することによって、前記スコアボードに基づいて、前記シェーディングされたフラグメントが、前記ピクセルシェーダステージで発生した前記スクリーン位置に対する最新のフラグメントであるかどうかを判別するように構成されている、
請求項10のAPD。 - 前記アウトオブオーダエクスポートブロックは、
前記ピクセルシェーダステージの上流にあるパイプラインステージからフラグメントを受信することと、
前記フラグメントの前記スクリーン位置に対して、前記スコアボードに既に記憶されているAPIオーダと前記フラグメントのAPIオーダとのうち新しいオーダを反映するように、前記フラグメントの前記スクリーン位置に対するAPIオーダを前記スコアボードにおいて更新することと、を行うことによって、前記スコアボードを維持するように構成されている、
請求項10のAPD。 - 前記ピクセルシェーダステージの上流にあるパイプラインステージは、ラスタライザステージを備える、
請求項10のAPD。 - 前記アウトオブオーダエクスポートブロックは、前記グラフィックス処理パイプラインの出力マージャステージで処理するために、前記シェーディングされたフラグメントをエクスポートすることによって、前記グラフィックス処理パイプラインの後続のステージで処理するために、前記シェーディングされたフラグメントをエクスポートするように構成されている、
請求項10のAPD。 - 前記アウトオブオーダエクスポートブロックは、
前記フラグメントを破棄する前に、前記フラグメントのブレンディングが無効になっていると判別するように構成されている、
請求項10のAPD。 - アクセラレーテッド処理デバイス(APD)と、
アプリケーションプログラミングインタフェースオーダ(APIオーダ)でグラフィックスオブジェクトを処理するための要求を生成し、処理のために前記APDに前記要求を送信するように構成された中央処理装置と、を備え、
前記APDは、
フラグメントを処理して、スクリーン位置を有するシェーディングされたフラグメントを生成するように構成されたピクセルシェーダステージであって、フラグメントがグラフィックスオブジェクトに基づいている、ピクセルシェーダステージと、
アウトオブオーダエクスポートブロックと、を備え、
前記アウトオブオーダエクスポートブロックは、
アプリケーションプログラミングインタフェースオーダ(APIオーダ)に関して、前記ピクセルシェーダステージで発生した最新のフラグメントを示すスコアボードを維持することと、
前記スコアボードに基づいて、前記シェーディングされたフラグメントが、前記ピクセルシェーダステージで発生した前記スクリーン位置に対する最新のフラグメントであるかどうかを判別することと、
前記シェーディングされたフラグメントが、前記ピクセルシェーダステージで発生した前記スクリーン位置に対する最新のフラグメントである場合に、グラフィックス処理パイプラインの後続のステージで処理するために、前記シェーディングされたフラグメントをエクスポートすることと、
前記シェーディングされたフラグメントが、前記ピクセルシェーダステージで発生した前記スクリーン位置に対する最新のフラグメントでない場合に、当該フラグメントを破棄することと、
を行うように構成されている、
コンピューティングデバイス。 - 前記スコアボードに基づいて、前記シェーディングされたフラグメントが、前記ピクセルシェーダステージで発生した前記スクリーン位置に対する最新のフラグメントであるかどうかを判別する前に、前記フラグメントに対してzカリングを実行するように構成された深度ブロックをさらに備える、
請求項19のコンピューティングデバイス。
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/418,557 US10417815B2 (en) | 2017-01-27 | 2017-01-27 | Out of order pixel shader exports |
| US15/418,557 | 2017-01-27 | ||
| EP17154680.7 | 2017-02-03 | ||
| EP17154680.7A EP3355275B1 (en) | 2017-01-27 | 2017-02-03 | Out of order pixel shader exports |
| PCT/US2018/013226 WO2018140238A1 (en) | 2017-01-27 | 2018-01-10 | Out of order pixel shader exports |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2020506474A JP2020506474A (ja) | 2020-02-27 |
| JP7121019B2 true JP7121019B2 (ja) | 2022-08-17 |
Family
ID=57963141
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2019540524A Active JP7121019B2 (ja) | 2017-01-27 | 2018-01-10 | アウトオブオーダのピクセルシェーダのエクスポート |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US10417815B2 (ja) |
| EP (1) | EP3355275B1 (ja) |
| JP (1) | JP7121019B2 (ja) |
| KR (1) | KR102128028B1 (ja) |
| CN (1) | CN110192225B (ja) |
| WO (1) | WO2018140238A1 (ja) |
Families Citing this family (4)
| 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 |
| US11055904B2 (en) * | 2019-08-27 | 2021-07-06 | Arm Limited | Optimizing depth testing in graphics processing systems that perform early and late depth testing |
| US11430080B2 (en) | 2020-05-15 | 2022-08-30 | Samsung Electronics Co., Ltd. | Methods and apparatus for speculative execution of fragments in a graphics pipeline |
| US11481967B2 (en) * | 2020-08-31 | 2022-10-25 | Advanced Micro Devices, Inc. | Shader core instruction to invoke depth culling |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008512771A (ja) | 2004-09-13 | 2008-04-24 | エヌヴィディア コーポレイション | フラグメントシェーディングパイプラインにおけるスケーラビリティの向上 |
| US20110080407A1 (en) | 2009-10-07 | 2011-04-07 | Duluk Jr Jerome F | Pixel shader output map |
| US20140354654A1 (en) | 2013-06-04 | 2014-12-04 | Arm Limited | Hidden surface removal in graphics processing systems |
Family Cites Families (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1995033255A1 (en) * | 1994-05-27 | 1995-12-07 | Hughes Aircraft Company | Low latency update of graphic objects in an air traffic control display |
| US6697064B1 (en) * | 2001-06-08 | 2004-02-24 | Nvidia Corporation | System, method and computer program product for matrix tracking during vertex processing in a graphics pipeline |
| GB0319697D0 (en) * | 2003-08-21 | 2003-09-24 | Falanx Microsystems As | Method of and apparatus for differential encoding and decoding |
| US8325184B2 (en) * | 2007-09-14 | 2012-12-04 | Qualcomm Incorporated | Fragment shader bypass in a graphics processing unit, and apparatus and method thereof |
| US8719553B2 (en) | 2008-01-31 | 2014-05-06 | Arm Norway As | Method for re-circulating a fragment through a rendering pipeline |
| US8760460B1 (en) | 2009-10-15 | 2014-06-24 | Nvidia Corporation | Hardware-managed virtual buffers using a shared memory for load distribution |
| KR101719485B1 (ko) * | 2010-09-20 | 2017-03-27 | 삼성전자주식회사 | 그래픽 처리 유닛에서의 사전 픽셀 제거를 위한 장치 및 방법 |
| GB201103699D0 (en) * | 2011-03-03 | 2011-04-20 | Advanced Risc Mach Ltd | Graphic processing |
| US8842122B2 (en) * | 2011-12-15 | 2014-09-23 | Qualcomm Incorporated | Graphics processing unit with command processor |
| GB2511176B (en) * | 2012-12-17 | 2015-04-15 | Advanced Risc Mach Ltd | Hidden surface removal in graphic processing systems |
| US9153070B2 (en) * | 2012-12-17 | 2015-10-06 | Arm Limited | Hidden surface removal in graphics processing systems |
| US10169906B2 (en) * | 2013-03-29 | 2019-01-01 | Advanced Micro Devices, Inc. | Hybrid render with deferred primitive batch binning |
| US9489344B2 (en) * | 2013-06-27 | 2016-11-08 | Arm Limited | Methods of and apparatus for approximating a function |
| US9514563B2 (en) * | 2013-08-30 | 2016-12-06 | Arm Limited | Graphics processing systems |
| US9978171B2 (en) * | 2014-07-29 | 2018-05-22 | Nvidia Corporation | Control of a sample mask from a fragment shader program |
| US9824412B2 (en) * | 2014-09-24 | 2017-11-21 | Intel Corporation | Position-only shading pipeline |
| GB2537137B (en) * | 2015-04-08 | 2021-02-17 | Advanced Risc Mach Ltd | Graphics processing systems |
| US10002404B2 (en) * | 2015-04-15 | 2018-06-19 | Mediatek Singapore Pte. Ltd. | Optimizing shading process for mixed order-sensitive and order-insensitive shader operations |
| US10664942B2 (en) * | 2016-10-21 | 2020-05-26 | Advanced Micro Devices, Inc. | Reconfigurable virtual graphics and compute processor pipeline |
-
2017
- 2017-01-27 US US15/418,557 patent/US10417815B2/en active Active
- 2017-02-03 EP EP17154680.7A patent/EP3355275B1/en active Active
-
2018
- 2018-01-10 CN CN201880007630.8A patent/CN110192225B/zh active Active
- 2018-01-10 WO PCT/US2018/013226 patent/WO2018140238A1/en not_active Ceased
- 2018-01-10 JP JP2019540524A patent/JP7121019B2/ja active Active
- 2018-01-10 KR KR1020197021314A patent/KR102128028B1/ko active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008512771A (ja) | 2004-09-13 | 2008-04-24 | エヌヴィディア コーポレイション | フラグメントシェーディングパイプラインにおけるスケーラビリティの向上 |
| US20110080407A1 (en) | 2009-10-07 | 2011-04-07 | Duluk Jr Jerome F | Pixel shader output map |
| US20140354654A1 (en) | 2013-06-04 | 2014-12-04 | Arm Limited | Hidden surface removal in graphics processing systems |
Also Published As
| Publication number | Publication date |
|---|---|
| CN110192225A (zh) | 2019-08-30 |
| JP2020506474A (ja) | 2020-02-27 |
| EP3355275A1 (en) | 2018-08-01 |
| KR102128028B1 (ko) | 2020-06-29 |
| WO2018140238A1 (en) | 2018-08-02 |
| CN110192225B (zh) | 2020-12-29 |
| KR20190109413A (ko) | 2019-09-25 |
| EP3355275B1 (en) | 2019-05-22 |
| US10417815B2 (en) | 2019-09-17 |
| US20180218532A1 (en) | 2018-08-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10102662B2 (en) | Primitive culling using automatically compiled compute shaders | |
| CN109690629B (zh) | 图元着色器 | |
| KR102480787B1 (ko) | 순서에 관계 없는 캐시 리턴 | |
| US9830741B2 (en) | Setting downstream render state in an upstream shader | |
| US12505604B2 (en) | Hybrid binning | |
| JP7741110B2 (ja) | ビニングハードウェアにおけるきめ細かなリプレイ制御 | |
| KR102266962B1 (ko) | 그래픽 파이프라인의 메모리 사용 감소를 위한 컴파일러 지원 기술 | |
| JP7086073B2 (ja) | Zカリング後の重複フラグメントの除去又は識別 | |
| JP7121019B2 (ja) | アウトオブオーダのピクセルシェーダのエクスポート | |
| US12406425B2 (en) | Vertex index routing for two level primitive batch binning | |
| US9401004B2 (en) | State shadowing to support a multi-threaded driver environment | |
| US10049487B2 (en) | Identifying duplicate indices in an input index stream | |
| WO2023224885A1 (en) | Pipeline delay elimination with parallel two level primitive batch binning | |
| US12488528B2 (en) | Vertex index routing through culling shader for two level primitive batch binning | |
| US11880924B2 (en) | Synchronization free cross pass binning through subpass interleaving | |
| WO2022211966A1 (en) | Post-depth visibility collection with two level binning | |
| JP2023518715A (ja) | 部分的に常駐するテクスチャのサンプリング |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210107 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211109 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211116 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220208 |
|
| 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: 20220705 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220804 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7121019 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |