JP2018532190A5 - - Google Patents

Download PDF

Info

Publication number
JP2018532190A5
JP2018532190A5 JP2018514355A JP2018514355A JP2018532190A5 JP 2018532190 A5 JP2018532190 A5 JP 2018532190A5 JP 2018514355 A JP2018514355 A JP 2018514355A JP 2018514355 A JP2018514355 A JP 2018514355A JP 2018532190 A5 JP2018532190 A5 JP 2018532190A5
Authority
JP
Japan
Prior art keywords
fragments
shader program
fragment shader
gpu
determining
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
Application number
JP2018514355A
Other languages
English (en)
Other versions
JP6595101B2 (ja
JP2018532190A (ja
Filing date
Publication date
Priority claimed from US14/862,532 external-priority patent/US9824458B2/en
Application filed filed Critical
Publication of JP2018532190A publication Critical patent/JP2018532190A/ja
Publication of JP2018532190A5 publication Critical patent/JP2018532190A5/ja
Application granted granted Critical
Publication of JP6595101B2 publication Critical patent/JP6595101B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Claims (15)

  1. グラフィックス処理の方法であって、
    グラフィックス処理ユニット(GPU)によって、前記GPU上で実行するフラグメントシェーダプログラムの作業負荷を判断するステップと、
    前記GPUによって、前記フラグメントシェーダプログラムの前記作業負荷を閾値と比較するステップと、
    前記フラグメントシェーダプログラムの前記作業負荷が前記閾値よりも低いとの判断に応答して、前記フラグメントシェーダプログラムによる処理の前に、1つまたは複数のフラグメントの早期深度試験を実施することなく、前記フラグメントシェーダプログラムによって前記1つまたは複数のフラグメントを処理するステップと、
    前記フラグメントシェーダプログラムによる処理の後、前記GPUによって、1つまたは複数の非隠蔽フラグメントを生じるように前記1つまたは複数のフラグメントの後期深度試験を実施するステップと、
    前記GPUによって、前記1つまたは複数の非隠蔽フラグメントについてのピクセル値をフレームバッファに書き込むステップと
    を含む方法。
  2. 前記GPUによって、前記フラグメントシェーダプログラムによって出力された第2の1つまたは複数のフラグメントが、前記GPUが前記第2の1つまたは複数のフラグメントに対して深度試験を実施するのに利用可能であるとの判断に応答して、前記フラグメントシェーダプログラムの前記作業負荷を判断するステップをさらに含む、請求項1に記載の方法。
  3. 前記GPUによって、前記GPUのラスタライザによって生成された1つまたは複数のフラグメントの各トランザクションについて、前記GPUの前記ラスタライザによって生成された前記1つまたは複数のフラグメントのそれぞれの早期深度試験を実施するかどうか判断するステップをさらに含む、請求項1に記載の方法。
  4. 前記フラグメントシェーダプログラムの前記作業負荷が前記閾値よりも高いとの判断に応答して、後続クロック周期において前記フラグメントシェーダプログラムの後続作業負荷を判断し直すステップと、
    前記フラグメントシェーダプログラムの前記後続作業負荷が前記閾値よりも低いと判断し直したことに応答して、前記GPUによって、前記1つまたは複数のフラグメントの早期深度試験を実施することなく、前記フラグメントシェーダプログラムによって、前記1つまたは複数のフラグメントを処理するステップと
    をさらに含む、請求項1に記載の方法。
  5. 前記GPUのラスタライザによって、前記フラグメントシェーダプログラムによって処理されるべき第2の1つまたは複数のフラグメントを出力するステップと、
    前記GPUの前記ラスタライザが前記フラグメントシェーダプログラムによって処理されるべき前記第2の1つまたは複数のフラグメントを出力したことに応答して、前記GPUによって、後続クロック周期において、前記フラグメントシェーダプログラムによって出力された第3の1つまたは複数のフラグメントが、前記GPUが前記第3の1つまたは複数のフラグメントに対して深度試験を実施するための入力として利用可能かどうかに少なくとも部分的に基づいて、第2の1つまたは複数のフラグメントの早期深度試験を実施するかどうか判断するステップと、
    前記GPUによって、前記第3の1つまたは複数のフラグメントが、前記GPUが前記第3の1つまたは複数のフラグメントに対して深度試験を実施するための入力として利用可能でないと判断するステップと、
    前記第3の1つまたは複数のフラグメントが、前記GPUが前記第3の1つまたは複数のフラグメントに対して深度試験を実施するための入力として利用可能でないとの判断に応答して、前記GPUによって、前記第2の1つまたは複数のフラグメントに対して早期深度試験を実施するステップと、
    前記フラグメントシェーダプログラムによって、前記第2の1つまたは複数のフラグメントに対して早期深度試験を実施したことから生じた第4の1つまたは複数のフラグメントを処理するステップと、
    前記GPUによって、前記第4の1つまたは複数のフラグメントの後期深度試験を実施するステップと
    をさらに含む、請求項1に記載の方法。
  6. 前記フラグメントシェーダプログラム用に入力バッファ中に記憶されているデータの量に少なくとも部分的に基づいて、前記フラグメントシェーダプログラムの前記作業負荷を判断するステップをさらに含む、請求項1に記載の方法。
  7. 前記フラグメントシェーダプログラムの前記作業負荷が前記閾値よりも低いと判断するステップは、
    前記入力バッファ中に記憶された前記データの量が前記入力バッファの容量の半分以下であると判断するステップを含む、請求項6に記載の方法。
  8. 前記GPUのラスタライザによって、後続クロック周期において、前記フラグメントシェーダプログラムによって処理されるべき第2の1つまたは複数のフラグメントを出力するステップと、
    前記GPUの前記ラスタライザが前記後続クロック周期において前記フラグメントシェーダプログラムによって処理されるべき前記第2の1つまたは複数のフラグメントを出力したことに応答して、前記GPUによって、前記後続クロック周期における前記フラグメントシェーダプログラムの前記作業負荷を判断し直すステップと、
    前記後続クロック周期における、前記フラグメントシェーダプログラムの前記判断し直された作業負荷が前記閾値よりも高いことに応答して、前記フラグメントシェーダプログラムによる前記第2の1つまたは複数のフラグメントの処理に先立って、前記GPUによって、前記第2の1つまたは複数のフラグメントの早期深度試験を実施するステップと
    をさらに含む、請求項1に記載の方法。
  9. グラフィックス処理ユニット(GPU)上で実行するフラグメントシェーダプログラムの作業負荷を判断するための手段と、
    前記フラグメントシェーダプログラムの前記作業負荷を閾値と比較するための手段と、
    前記フラグメントシェーダプログラムの前記作業負荷が前記閾値よりも低いとの判断に応答して、前記フラグメントシェーダプログラムによる処理の前に、1つまたは複数のフラグメントの早期深度試験を実施することなく、前記1つまたは複数のフラグメントを処理するための手段と、
    前記フラグメントシェーダプログラムによる処理の後、1つまたは複数の非隠蔽フラグメントを生じるように、前記1つまたは複数のフラグメントの後期深度試験を実施するための手段と、
    前記1つまたは複数の非隠蔽フラグメントについてのピクセル値をフレームバッファに書き込むための手段と
    を備える装置。
  10. 前記フラグメントシェーダプログラムによって出力された第2の1つまたは複数のフラグメントが、前記第2の1つまたは複数のフラグメントに対して深度試験を実施するのに利用可能であるとの判断に応答して、前記フラグメントシェーダプログラムの前記作業負荷を判断するための手段をさらに備える、請求項9に記載の装置。
  11. 前記GPUのラスタライザによって生成された1つまたは複数のフラグメントの各トランザクションについて、前記GPUの前記ラスタライザによって生成された前記1つまたは複数のフラグメントのそれぞれの早期深度試験を実施するかどうか判断するための手段をさらに備える、請求項9に記載の装置。
  12. 前記フラグメントシェーダプログラムの前記作業負荷が前記閾値よりも高いとの判断に応答して、後続クロック周期における前記フラグメントシェーダプログラムの後続作業負荷を判断し直すための手段と、
    前記フラグメントシェーダプログラムの前記後続作業負荷が前記閾値よりも低いと判断し直したことに応答して、前記1つまたは複数のフラグメントの早期深度試験を実施することなく、前記フラグメントシェーダプログラムによって、前記1つまたは複数のフラグメントを処理するための手段と
    をさらに備える、請求項9に記載の装置。
  13. 前記フラグメントシェーダプログラムによって処理されるべき第2の1つまたは複数のフラグメントを出力するための手段と、
    前記フラグメントシェーダプログラムによって処理されるべき前記第2の1つまたは複数のフラグメントを出力したことに応答して、後続クロック周期において、前記フラグメントシェーダプログラムによって出力された第3の1つまたは複数のフラグメントが、前記第3の1つまたは複数のフラグメントに対して深度試験を実施するのに利用可能かどうかに少なくとも部分的に基づいて、第2の1つまたは複数のフラグメントの早期深度試験を実施するかどうか判断するための手段と、
    前記第3の1つまたは複数のフラグメントが、前記第3の1つまたは複数のフラグメントに対して深度試験を実施するための入力として利用可能でないと判断するための手段と、
    前記第3の1つまたは複数のフラグメントが、前記第3の1つまたは複数のフラグメントに対して深度試験を実施するのに利用可能でないとの判断に応答して、前記第2の1つまたは複数のフラグメントに対して早期深度試験を実施するための手段と、
    前記第2の1つまたは複数のフラグメントに対して早期深度試験を実施したことから生じた第4の1つまたは複数のフラグメントを処理するための手段と、
    前記第4の1つまたは複数のフラグメントの後期深度試験を実施するための手段と
    をさらに備える、請求項9に記載の装置。
  14. 前記フラグメントシェーダプログラム用に入力バッファ中に記憶されているデータの量に少なくとも部分的に基づいて、前記フラグメントシェーダプログラムの前記作業負荷を判断するための手段をさらに備え
    前記フラグメントシェーダプログラムの前記作業負荷が、指定された閾値よりも低いと判断するための前記手段は、
    前記入力バッファ中に記憶された前記データの量が前記入力バッファの容量の半分以下であると判断するための手段を備える、請求項9に記載の装置。
  15. 命令を記憶したコンピュータ可読記憶媒体であって、前記命令は、実行されると、1つまたは複数のプログラム可能プロセッサに、請求項1乃至8のいずれか1項に記載の方法を実行させる、コンピュータ可読記憶媒体。
JP2018514355A 2015-09-23 2016-07-26 後期深度試験と保守的深度試験との間の動的切替え Active JP6595101B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/862,532 2015-09-23
US14/862,532 US9824458B2 (en) 2015-09-23 2015-09-23 Dynamically switching between late depth testing and conservative depth testing
PCT/US2016/044060 WO2017052750A2 (en) 2015-09-23 2016-07-26 Dynamically switching between late depth testing and conservative depth testing

Publications (3)

Publication Number Publication Date
JP2018532190A JP2018532190A (ja) 2018-11-01
JP2018532190A5 true JP2018532190A5 (ja) 2019-06-06
JP6595101B2 JP6595101B2 (ja) 2019-10-23

Family

ID=56567718

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018514355A Active JP6595101B2 (ja) 2015-09-23 2016-07-26 後期深度試験と保守的深度試験との間の動的切替え

Country Status (7)

Country Link
US (1) US9824458B2 (ja)
EP (1) EP3353746B1 (ja)
JP (1) JP6595101B2 (ja)
KR (1) KR102006584B1 (ja)
CN (1) CN108027956B (ja)
BR (1) BR112018005770A2 (ja)
WO (1) WO2017052750A2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9986225B2 (en) * 2014-02-14 2018-05-29 Autodesk, Inc. Techniques for cut-away stereo content in a stereoscopic display
US10580200B2 (en) 2017-04-07 2020-03-03 Intel Corporation Virtual reality apparatus and method including prioritized pixel shader operations, alternate eye rendering, and/or augmented timewarp
US11270471B2 (en) 2018-10-10 2022-03-08 Bentley Systems, Incorporated Efficient refinement of tiles of a HLOD tree
EP3864627A1 (en) * 2018-10-14 2021-08-18 Bentley Systems, Incorporated Conversion of infrastructure model geometry to a tile format
CN111367780B (zh) * 2020-03-30 2024-02-09 芯瞳半导体技术(山东)有限公司 一种gpu的性能测试方法、装置及计算机存储介质
CN111640162B (zh) * 2020-05-24 2024-01-23 中信银行股份有限公司 一种基于交通路网的测试结果展示方法、装置、设备和计算机可读存储介质
GB2590748B (en) * 2020-06-30 2022-02-02 Imagination Tech Ltd Method and graphics processing system for rendering one or more fragments having shader-dependent properties
US20220414011A1 (en) * 2021-06-23 2022-12-29 Intel Corporation Opportunistic late depth testing to prevent stalling for overlapping cache lines

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI284857B (en) * 2005-03-04 2007-08-01 Alpha Imaging Technology Corp Shading engine
US8860721B2 (en) 2006-03-28 2014-10-14 Ati Technologies Ulc Method and apparatus for processing pixel depth information
US8933933B2 (en) * 2006-05-08 2015-01-13 Nvidia Corporation Optimizing a graphics rendering pipeline using early Z-mode
US9076265B2 (en) 2006-06-16 2015-07-07 Ati Technologies Ulc System and method for performing depth testing at top and bottom of graphics pipeline
GB2442266B (en) * 2006-09-29 2008-10-22 Imagination Tech Ltd Improvements in memory management for systems for generating 3-dimensional computer images
US8203564B2 (en) * 2007-02-16 2012-06-19 Qualcomm Incorporated Efficient 2-D and 3-D graphics processing
US8325184B2 (en) 2007-09-14 2012-12-04 Qualcomm Incorporated Fragment shader bypass in a graphics processing unit, and apparatus and method thereof
KR101719485B1 (ko) * 2010-09-20 2017-03-27 삼성전자주식회사 그래픽 처리 유닛에서의 사전 픽셀 제거를 위한 장치 및 방법
KR101782044B1 (ko) * 2011-02-22 2017-09-26 삼성전자주식회사 그래픽 프로세서 및 조기 가시성 테스트 방법
CN102509336B (zh) * 2011-10-24 2014-06-18 克拉玛依红有软件有限责任公司 一种gpu加速的实时立体渲染方法
US10535185B2 (en) * 2012-04-04 2020-01-14 Qualcomm Incorporated Patched shading in graphics processing
KR20130123645A (ko) * 2012-05-03 2013-11-13 삼성전자주식회사 그래픽 처리 장치를 위한 동적 로드 밸런싱 장치 및 방법
US9916680B2 (en) * 2012-10-12 2018-03-13 Nvidia Corporation Low-power processing in depth read-only operating regimes
US8941676B2 (en) 2012-10-26 2015-01-27 Nvidia Corporation On-chip anti-alias resolve in a cache tiling architecture
US9214006B2 (en) 2013-06-04 2015-12-15 Arm Limited Hidden surface removal in graphics processing systems
US9953455B2 (en) * 2013-03-13 2018-04-24 Nvidia Corporation Handling post-Z coverage data in raster operations
US9536333B2 (en) 2013-10-17 2017-01-03 Arm Limited Method and apparatus for improved processing of graphics primitives
GB201503125D0 (en) * 2015-02-25 2015-04-08 Advanced Risc Mach Ltd Graphics processing systems

Similar Documents

Publication Publication Date Title
JP2018532190A5 (ja)
JP2017533502A5 (ja)
JP2017530444A5 (ja)
JP2015515662A5 (ja)
JP2013504127A5 (ja)
EA201990251A1 (ru) Система распределенной обработки транзакций и аутентификации
JP2017516207A5 (ja)
JP2015109059A5 (ja)
GB2521260A8 (en) Method of and apparatus for processing graphics
WO2017052750A3 (en) Dynamically switching between late depth testing and conservative depth testing
JP2016534660A5 (ja)
JP2016531366A5 (ja)
JP2014505959A5 (ja)
GB201317058D0 (en) Systems apparatuses and methods for expanding a memory source into a destination register and compressing a source register into a destinationmemory location
US9639971B2 (en) Image processing apparatus and method for processing transparency information of drawing commands
JP2020500357A5 (ja)
JP2016535335A5 (ja)
JP2017527013A5 (ja)
JP2014530403A5 (ja)
JP2016509714A5 (ja)
WO2013192633A3 (en) Virtual memory module
JP2017532657A5 (ja)
EP4343569A3 (en) System for data aggregation and analysis of data from a plurality of data sources
JP2014511526A5 (ja)
EP2811456A3 (en) Filtering method and device in image processing