JP5203445B2 - プログラム可能カリングユニットのコンパイル - Google Patents
プログラム可能カリングユニットのコンパイル Download PDFInfo
- Publication number
- JP5203445B2 JP5203445B2 JP2010280179A JP2010280179A JP5203445B2 JP 5203445 B2 JP5203445 B2 JP 5203445B2 JP 2010280179 A JP2010280179 A JP 2010280179A JP 2010280179 A JP2010280179 A JP 2010280179A JP 5203445 B2 JP5203445 B2 JP 5203445B2
- Authority
- JP
- Japan
- Prior art keywords
- boundary
- assumption
- code
- compiler
- boundaries
- 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
- 238000000034 method Methods 0.000 claims description 28
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims description 3
- 230000002146 bilateral effect Effects 0.000 claims 1
- 239000012634 fragment Substances 0.000 description 33
- 238000012545 processing Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 8
- 238000012360 testing method Methods 0.000 description 7
- 239000013598 vector Substances 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012892 rational function Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Description
実行前に、プログラム可能カリングユニットが決定可能な境界を有しているか否かを決定し、
そうである場合、変数毎に、前記コードを通じてコンパイル時に前記境界をトラッキングすることを有することを特徴とする。
102 ポリゴン設定
104 タイル・ラスタライザ
106 階層的深さカリングブロック
108 プログラム可能カリングユニット
110 フラグメント・ラスタライザ
112 フラグメントプログラムユニット
114 テクスチャユニット
116 混合/深さ/アルファユニット
118 カリングプログラム
120 フラグメントプログラム
Claims (30)
- プログラム可能カリングユニットと、前記プログラム可能カリングユニットに結合されたコンパイラとを有する装置における方法であって、
前記コンパイラにより、実行前に、前記プログラム可能カリングユニットのコードが決定可能な境界を有するか否かを決定し、
そうである場合、前記コンパイラにより、変数毎に、前記コードを通じてコンパイル時に前記境界をトラッキングすることを有する方法。 - 前記コンパイラにより、スカラ命令を生成するために区間命令についての情報を使用することを含む、請求項1に記載の方法。
- データを使用することは、トラッキングされた区間の境界を使用することを含む、請求項2に記載の方法。
- 前記境界がコンパイル時に決定できなかった場合、前記コンパイラにより、コンパイル時に前記境界の仮定を行うことを含む、請求項1に記載の方法。
- 前記コンパイラにより、1つ以上の境界を片側の境界に簡略化することを含む、請求項1に記載の方法。
- 前記装置のコントローラにより、実行時に前記仮定を再評価することを含む、請求項4に記載の方法。
- 前記仮定が有効であると決定された場合、前記コントローラにより、前記コードを実行することを含む、請求項6に記載の方法。
- 前記仮定が有効でないと決定された場合、前記コンパイラにより、新たな仮定を行い、前記新たな仮定で前記コードをコンパイルすることを含む、請求項6に記載の方法。
- 前記新たな仮定が機能しない場合、前記コンパイラにより、区間の境界を使用せずに前記コードをコンパイルすることを含む、請求項8に記載の方法。
- 前記境界をトラッキングすることは、境界付きの演算を使用して命令を評価することを含む、請求項1に記載の方法。
- 境界付きの演算を使用して命令を評価することは、区間演算、アフィン演算又はテーラーの演算のうち1つを使用することを含む、請求項10に記載の方法。
- プログラム可能カリングユニットのコードが計算可能な境界を有するか否かを決定し、
そうである場合、変数毎に、コンパイル中に前記コードを通じて前記境界をトラッキングする
ようにコンピュータにより実行される命令を格納したコンピュータ可読媒体。 - スカラ命令を生成するために区間命令についての情報を使用する命令を更に格納した、請求項12に記載の媒体。
- データとして、トラッキングされた区間の境界を使用する命令を更に格納した、請求項13に記載の媒体。
- 前記境界がコンパイル時に計算できなかった場合、コンパイル時に前記境界の仮定を行う命令を更に格納した、請求項12に記載の媒体。
- 1つ以上の双方側の区間の境界を片側の区間の境界に簡略化する命令を更に格納した、請求項12に記載の媒体。
- 実行時に前記仮定を再評価する命令を更に格納した、請求項15に記載の媒体。
- 前記仮定が有効であると決定された場合、前記コードを実行する命令を更に格納した、請求項17に記載の媒体。
- 前記仮定が有効でないと決定された場合、新たな仮定を行い、前記新たな仮定で前記コードをコンパイルする命令を更に格納した、請求項17に記載の媒体。
- 前記新たな仮定が有効でない場合、区間の境界を使用せずに前記コードをコンパイルする命令を更に格納した、請求項19に記載の媒体。
- プログラム可能カリングユニットと、前記プログラム可能カリングユニットに結合されたコンパイラとを有する装置であって、
前記コンパイラは、前記プログラム可能カリングユニットのコードが計算可能な境界を有するか否かを決定し、そうである場合、変数毎に、コンパイル中に前記コードを通じて前記境界をトラッキングする装置。 - 前記装置は、ディスプレイアダプタである、請求項21に記載の装置。
- 前記コンパイラは、前記境界が計算できなかった場合、コンパイル時に前記境界の仮定を行う、請求項21に記載の装置。
- コントローラを含む、請求項23に記載の装置。
- 前記コントローラは、実行時に前記仮定を再評価する、請求項24に記載の装置。
- 前記コントローラは、前記仮定が有効であると決定された場合、前記コードを実行する、請求項25に記載の装置。
- 前記コンパイラは、前記仮定が有効でないと決定された場合、新たな仮定を行い、前記新たな仮定で前記コードをコンパイルする、請求項25に記載の装置。
- 前記コンパイラは、前記新たな仮定が有効でない場合、境界を使用せずに前記コードをコンパイルする、請求項27に記載の装置。
- 前記コンパイラは、区間の命令についての情報を使用してスカラ命令を生成する、請求項21に記載の装置。
- 前記コンパイラは、区間の境界を使用してスカラ命令を生成する、請求項29に記載の装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/644,075 US9038034B2 (en) | 2009-12-22 | 2009-12-22 | Compiling for programmable culling unit |
US12/644,075 | 2009-12-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011134326A JP2011134326A (ja) | 2011-07-07 |
JP5203445B2 true JP5203445B2 (ja) | 2013-06-05 |
Family
ID=43778260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010280179A Active JP5203445B2 (ja) | 2009-12-22 | 2010-12-16 | プログラム可能カリングユニットのコンパイル |
Country Status (7)
Country | Link |
---|---|
US (1) | US9038034B2 (ja) |
EP (1) | EP2348407B1 (ja) |
JP (1) | JP5203445B2 (ja) |
KR (1) | KR101251117B1 (ja) |
CN (1) | CN102103512B (ja) |
SG (1) | SG172542A1 (ja) |
TW (1) | TWI512669B (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9038034B2 (en) * | 2009-12-22 | 2015-05-19 | Intel Corporation | Compiling for programmable culling unit |
US9147270B1 (en) * | 2011-06-24 | 2015-09-29 | Nvidia Corporation | Bounding plane-based techniques for improved sample test efficiency in image rendering |
WO2013109304A1 (en) * | 2012-01-16 | 2013-07-25 | Intel Corporation | Generating random sampling distributions using stochastic rasterization |
JP5711713B2 (ja) * | 2012-10-01 | 2015-05-07 | 住友電気工業株式会社 | 多層熱回復物品 |
US9390541B2 (en) * | 2013-04-09 | 2016-07-12 | Intel Corporation | Programmable tile shader |
US9582847B2 (en) * | 2013-04-22 | 2017-02-28 | Intel Corporation | Color buffer compression |
US9501864B2 (en) * | 2013-12-27 | 2016-11-22 | Intel Corporation | Adaptive depth offset compression |
GB2525666B (en) | 2014-05-02 | 2020-12-23 | Advanced Risc Mach Ltd | Graphics processing systems |
GB2520822B (en) * | 2014-10-10 | 2016-01-13 | Aveva Solutions Ltd | Image rendering of laser scan data |
US9626733B2 (en) | 2014-11-24 | 2017-04-18 | Industrial Technology Research Institute | Data-processing apparatus and operation method thereof |
KR102472131B1 (ko) * | 2015-09-03 | 2022-11-29 | 삼성전자주식회사 | 쉐이더 프로그램을 생성하는 방법 및 장치 |
US9477451B1 (en) * | 2015-11-06 | 2016-10-25 | International Business Machines Corporation | Generating dynamic measurement metadata for efficient compilation and optimization on a target device |
WO2017164924A1 (en) * | 2016-03-21 | 2017-09-28 | Siemens Product Lifecycle Management Software Inc. | System for gpu based depth reprojection for accelerating depth buffer generation |
US20170371761A1 (en) * | 2016-06-24 | 2017-12-28 | Advanced Micro Devices, Inc. | Real-time performance tracking using dynamic compilation |
US10102662B2 (en) | 2016-07-27 | 2018-10-16 | Advanced Micro Devices, Inc. | Primitive culling using automatically compiled compute shaders |
US10235811B2 (en) | 2016-12-29 | 2019-03-19 | Intel Corporation | Replicating primitives across multiple viewports |
US10592387B2 (en) | 2018-01-02 | 2020-03-17 | International Business Machines Corporation | Dataflow analysis to reduce the overhead of on stack replacement |
US10628910B2 (en) | 2018-09-24 | 2020-04-21 | Intel Corporation | Vertex shader with primitive replication |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4731606A (en) * | 1985-08-02 | 1988-03-15 | International Business Machines Corporation | Method for rapid windowing of display information in computer graphics |
US5377320A (en) * | 1992-09-30 | 1994-12-27 | Sun Microsystems, Inc. | Method and apparatus for the rendering of trimmed nurb surfaces |
JP3362942B2 (ja) * | 1993-12-27 | 2003-01-07 | 株式会社東芝 | 情報処理装置 |
AUPM704494A0 (en) * | 1994-07-25 | 1994-08-18 | Canon Information Systems Research Australia Pty Ltd | Efficient methods for the interpretation of a graphical programming language |
US6016398A (en) * | 1997-04-01 | 2000-01-18 | Intel Corporation | Method for using static single assignment to color out artificial register dependencies |
US6480205B1 (en) * | 1998-07-22 | 2002-11-12 | Nvidia Corporation | Method and apparatus for occlusion culling in graphics systems |
US7952583B2 (en) | 2000-06-19 | 2011-05-31 | Mental Images Gmbh | Quasi-monte carlo light transport simulation by efficient ray tracing |
US6980935B2 (en) * | 2001-07-31 | 2005-12-27 | Schlumberger Technology Corp. | Method, apparatus and system for constructing and maintaining scenegraphs for interactive feature-based geoscience geometric modeling |
US7159212B2 (en) * | 2002-03-08 | 2007-01-02 | Electronic Arts Inc. | Systems and methods for implementing shader-driven compilation of rendering assets |
US7171343B2 (en) * | 2002-07-16 | 2007-01-30 | Sun Microsystems, Inc. | Computing interval parameter bounds from fallible measurements using systems of nonlinear equations |
US20040103248A1 (en) * | 2002-10-08 | 2004-05-27 | Hass David T. | Advanced telecommunications processor |
AU2003294327B2 (en) * | 2002-11-15 | 2010-04-01 | Sunfish Studio, Llc | Visible surface determination system and methodology in computer graphics using interval analysis |
US7145565B2 (en) * | 2003-02-27 | 2006-12-05 | Nvidia Corporation | Depth bounds testing |
US7221371B2 (en) * | 2004-03-30 | 2007-05-22 | Nvidia Corporation | Shorter footprints for anisotropic texture filtering |
US7733347B2 (en) * | 2004-11-05 | 2010-06-08 | Microsoft Corporation | Automated construction of shader programs |
WO2006115716A2 (en) | 2005-04-05 | 2006-11-02 | Sunfish Studio, Llc | System and method of visible surface determination in computer graphics using interval analysis |
EP1960968A4 (en) | 2005-12-01 | 2016-06-29 | Intel Corp | INFOGRAPHIC PROCESSOR AND THREE-DIMENSIONAL IMAGE RENDERING METHOD ON DISPLAY SCREEN |
US9460552B2 (en) * | 2007-01-24 | 2016-10-04 | Intel Corporation | Method, display adapter and computer program product for improved graphics performance by using a replaceable culling program |
US8495602B2 (en) * | 2007-09-28 | 2013-07-23 | Qualcomm Incorporated | Shader compile system and method |
SE0801742A0 (sv) | 2008-07-30 | 2010-01-31 | Intel Corp | Förfarande, apparat och datorprogramprodukt för förbättrad grafikprestanda |
US9038034B2 (en) * | 2009-12-22 | 2015-05-19 | Intel Corporation | Compiling for programmable culling unit |
US9058697B2 (en) * | 2011-04-28 | 2015-06-16 | Intel Corporation | Depth of field rasterization by culling regions on a lens from which a convex polygon to be rendered is not visible |
-
2009
- 2009-12-22 US US12/644,075 patent/US9038034B2/en active Active
-
2010
- 2010-11-22 SG SG2010085710A patent/SG172542A1/en unknown
- 2010-11-25 TW TW099140772A patent/TWI512669B/zh not_active IP Right Cessation
- 2010-12-16 JP JP2010280179A patent/JP5203445B2/ja active Active
- 2010-12-21 CN CN201010620058.8A patent/CN102103512B/zh not_active Expired - Fee Related
- 2010-12-21 EP EP10196258.7A patent/EP2348407B1/en not_active Not-in-force
- 2010-12-22 KR KR1020100132772A patent/KR101251117B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
TWI512669B (zh) | 2015-12-11 |
US9038034B2 (en) | 2015-05-19 |
CN102103512A (zh) | 2011-06-22 |
KR101251117B1 (ko) | 2013-04-05 |
EP2348407B1 (en) | 2017-11-29 |
JP2011134326A (ja) | 2011-07-07 |
US20110148876A1 (en) | 2011-06-23 |
KR20110073364A (ko) | 2011-06-29 |
TW201145210A (en) | 2011-12-16 |
CN102103512B (zh) | 2015-03-11 |
SG172542A1 (en) | 2011-07-28 |
EP2348407A1 (en) | 2011-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5203445B2 (ja) | プログラム可能カリングユニットのコンパイル | |
US8040351B1 (en) | Using a geometry shader to perform a hough transform | |
US8593466B2 (en) | Tile rendering for image processing | |
US10140750B2 (en) | Method, display adapter and computer program product for improved graphics performance by using a replaceable culling program | |
KR102266962B1 (ko) | 그래픽 파이프라인의 메모리 사용 감소를 위한 컴파일러 지원 기술 | |
US20100026684A1 (en) | Method, Apparatus, and Computer Program Product for Improved Graphics Performance | |
Hasselgren et al. | PCU: the programmable culling unit | |
US11816792B2 (en) | Overlay trees for ray tracing | |
US20210342996A1 (en) | Ambient occlusion using bounding volume hierarchy bounding box tests | |
Ujaldón et al. | On the computation of the Circle Hough Transform by a GPU rasterizer | |
US20230351667A1 (en) | Method and apparatus for performing high speed parallel locally order clustering for a bounding volume hierarchy | |
US20240221283A1 (en) | Emulating oriented bounding boxes in bounding volume hierarchies | |
Ruiz et al. | Recognition of circular patterns on GPUs: Performance analysis and contributions | |
US20240212259A1 (en) | Traversing multiple regions of a bounding volume hierarchy in parallel | |
US20230027725A1 (en) | Techniques for introducing oriented bounding boxes into bounding volume hierarchy | |
Tlatlik | Volume rendering with Marching cubes and async compute | |
US20190139292A1 (en) | Method, Display Adapter and Computer Program Product for Improved Graphics Performance by Using a Replaceable Culling Program | |
Elliott | Using Mesh Shaders for isosurface extraction | |
Zagacki et al. | Architecture of a 3D Software Stack for Peak Pentium III Processor Performance | |
Haykal | An Optimized Triangle Rasterizer | |
Soss | Ray traced rendering using GPGPU devices | |
West | GPU-optimized generation of normal and color maps |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120403 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120702 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121002 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121227 |
|
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: 20130122 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130213 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5203445 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160222 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |