15bd8deadSopenharmony_ciName
25bd8deadSopenharmony_ci
35bd8deadSopenharmony_ci    NV_conservative_raster_dilate
45bd8deadSopenharmony_ci
55bd8deadSopenharmony_ciName Strings
65bd8deadSopenharmony_ci
75bd8deadSopenharmony_ci    GL_NV_conservative_raster_dilate
85bd8deadSopenharmony_ci
95bd8deadSopenharmony_ciContact
105bd8deadSopenharmony_ci
115bd8deadSopenharmony_ci    Kedarnath Thangudu, NVIDIA Corporation (kthangudu 'at' nvidia.com)
125bd8deadSopenharmony_ci
135bd8deadSopenharmony_ciContributors
145bd8deadSopenharmony_ci
155bd8deadSopenharmony_ci    Chris Wyman, NVIDIA Corporation (cwyman 'at' nvidia.com)
165bd8deadSopenharmony_ci    Aaron Lefohn, NVIDIA Corporation (alefohn 'at' nvidia.com)
175bd8deadSopenharmony_ci    Mark Kilgard, NVIDIA Corporation (mkilgard 'at' nvidia.com)
185bd8deadSopenharmony_ci    Eric Werness, NVIDIA Corporation (ewerness 'at' nvidia.com)
195bd8deadSopenharmony_ci
205bd8deadSopenharmony_ciStatus
215bd8deadSopenharmony_ci
225bd8deadSopenharmony_ci    Shipping in Nvidia release 352.XX drivers and up.
235bd8deadSopenharmony_ci
245bd8deadSopenharmony_ciVersion
255bd8deadSopenharmony_ci
265bd8deadSopenharmony_ci    Last Modified Date:         September 10, 2015
275bd8deadSopenharmony_ci    Revision:                   2
285bd8deadSopenharmony_ci
295bd8deadSopenharmony_ciNumber
305bd8deadSopenharmony_ci
315bd8deadSopenharmony_ci    OpenGL Extension #480
325bd8deadSopenharmony_ci
335bd8deadSopenharmony_ciDependencies
345bd8deadSopenharmony_ci
355bd8deadSopenharmony_ci    This extension is written against the NV_conservative_raster extension as 
365bd8deadSopenharmony_ci    applied to OpenGL 4.3 specification (Compatibility Profile) but may be 
375bd8deadSopenharmony_ci    used with the Core profile or OpenGL ES 2.0 or later.
385bd8deadSopenharmony_ci    
395bd8deadSopenharmony_ciOverview
405bd8deadSopenharmony_ci
415bd8deadSopenharmony_ci    This extension extends the conservative rasterization functionality 
425bd8deadSopenharmony_ci    provided by NV_conservative_raster. It provides a new control to generate 
435bd8deadSopenharmony_ci    an "over-conservative" rasterization by dilating primitives prior to 
445bd8deadSopenharmony_ci    rasterization.
455bd8deadSopenharmony_ci
465bd8deadSopenharmony_ci    When using conservative raster to bin geometry, this extension provides a 
475bd8deadSopenharmony_ci    programmable overlap region between adjacent primitives.  Regular 
485bd8deadSopenharmony_ci    rasterization bins triangles with a shared edge uniquely into pixels. 
495bd8deadSopenharmony_ci    Conservative raster has a one-pixel overlap along the shared edge.  Using 
505bd8deadSopenharmony_ci    a half-pixel raster dilation, this overlap region increases to two pixels.
515bd8deadSopenharmony_ci
525bd8deadSopenharmony_ciNew Procedures and Functions
535bd8deadSopenharmony_ci    
545bd8deadSopenharmony_ci    void ConservativeRasterParameterfNV(enum pname, float value);
555bd8deadSopenharmony_ci
565bd8deadSopenharmony_ciNew Tokens
575bd8deadSopenharmony_ci
585bd8deadSopenharmony_ci    Accepted by the <pname> parameter of ConservativeRasterParameterfNV:
595bd8deadSopenharmony_ci        CONSERVATIVE_RASTER_DILATE_NV                   0x9379
605bd8deadSopenharmony_ci
615bd8deadSopenharmony_ci    Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, 
625bd8deadSopenharmony_ci    GetInteger64v, GetFloatv, and GetDoublev:
635bd8deadSopenharmony_ci
645bd8deadSopenharmony_ci        CONSERVATIVE_RASTER_DILATE_NV                   0x9379
655bd8deadSopenharmony_ci        CONSERVATIVE_RASTER_DILATE_RANGE_NV             0x937A
665bd8deadSopenharmony_ci        CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV       0x937B
675bd8deadSopenharmony_ci
685bd8deadSopenharmony_ciAdditions to Chapter 14 of the OpenGL 4.3 (Compatibility Profile) Specification
695bd8deadSopenharmony_ci(Fixed-Function Primitive Assembly and Rasterization)
705bd8deadSopenharmony_ci
715bd8deadSopenharmony_ci    Add the following paragraph to the end of the new subsection 14.6.X 
725bd8deadSopenharmony_ci    "Conservative Rasterization" added by NV_conservative_raster
735bd8deadSopenharmony_ci
745bd8deadSopenharmony_ci    When CONSERVATIVE_RASTERIZATION_NV is enabled, an "over conservative" 
755bd8deadSopenharmony_ci    rasterization of primitives may be achieved by dilating points, lines, or 
765bd8deadSopenharmony_ci    polygons in screen space prior to rasterization. The amount of dilation 
775bd8deadSopenharmony_ci    may be specified by the following command
785bd8deadSopenharmony_ci
795bd8deadSopenharmony_ci        void ConservativeRasterParameterfNV(enum pname, float value);
805bd8deadSopenharmony_ci
815bd8deadSopenharmony_ci    with the <pname> set to CONSERVATIVE_RASTER_DILATE_NV. The <value> 
825bd8deadSopenharmony_ci    specifies the amount of dilation as a fraction of the pixel size. Not all 
835bd8deadSopenharmony_ci    fractional values are supported. If the requested value is greater than
845bd8deadSopenharmony_ci    the maximum supported value, the maximum supported value is used. If any 
855bd8deadSopenharmony_ci    other supported value is requested, the nearest supported value which
865bd8deadSopenharmony_ci    is greater than the requested value is used. Only a dilation value of 0 
875bd8deadSopenharmony_ci    pixels is guaranteed to be supported; others depend on the implementation.
885bd8deadSopenharmony_ci    Calling Get with CONSERVATIVE_RASTER_DILATE_RANGE_NV returns 
895bd8deadSopenharmony_ci    two floating point values representing minimum and maximum supported 
905bd8deadSopenharmony_ci    dilation values. Calling Get with CONSERVATIVE_RASTER_DILATE_-
915bd8deadSopenharmony_ci    GRANULARITY_NV returns a single floating point value representing the 
925bd8deadSopenharmony_ci    value difference between consecutive supported values within the range.
935bd8deadSopenharmony_ci
945bd8deadSopenharmony_ciAdditions to the AGL/GLX/WGL Specifications
955bd8deadSopenharmony_ci
965bd8deadSopenharmony_ci    None.
975bd8deadSopenharmony_ci
985bd8deadSopenharmony_ciGLX Protocol
995bd8deadSopenharmony_ci
1005bd8deadSopenharmony_ci    None.
1015bd8deadSopenharmony_ci    
1025bd8deadSopenharmony_ciModifications to the OpenGL Shading Language Specification, Version 4.30
1035bd8deadSopenharmony_ci
1045bd8deadSopenharmony_ci    None.
1055bd8deadSopenharmony_ci
1065bd8deadSopenharmony_ciErrors
1075bd8deadSopenharmony_ci    
1085bd8deadSopenharmony_ci    If ConservativeRasterParameteriNV is called and <pname> is not 
1095bd8deadSopenharmony_ci    CONSERVATIVE_RASTER_DILATE_NV the error INVALID_ENUM is generated.
1105bd8deadSopenharmony_ci
1115bd8deadSopenharmony_ci    If ConservativeRasterParameteriNV is called with <pname> set to 
1125bd8deadSopenharmony_ci    CONSERVATIVE_RASTER_DILATE_NV the error INVALID_VALUE is generated if 
1135bd8deadSopenharmony_ci    <value> is less than 0.
1145bd8deadSopenharmony_ci
1155bd8deadSopenharmony_ciNew Implementation Dependent State
1165bd8deadSopenharmony_ci                                                        Minimum
1175bd8deadSopenharmony_ci    Get Value                      Type    Get Command  Value      Description                        Sec.
1185bd8deadSopenharmony_ci    ---------                      ------- -----------  -------    ------------------------------     ------
1195bd8deadSopenharmony_ci    CONSERVATIVE_RASTER_DILATE_-   2 x R+  GetFloatv    0, 0.75    Min and Max dilation values        14.6.X
1205bd8deadSopenharmony_ci        RANGE_NV                                                   supported
1215bd8deadSopenharmony_ci    CONSERVATIVE_RASTER_DILATE_-   R+      GetFloatv    0          Difference between consecutive     14.6.X
1225bd8deadSopenharmony_ci        GRANULARITY_NV                                             supported values in the range
1235bd8deadSopenharmony_ci
1245bd8deadSopenharmony_ciNew State
1255bd8deadSopenharmony_ci
1265bd8deadSopenharmony_ci    Get Value                       Get Command  Type  Initial Value  Description                  Sec.    Attribute
1275bd8deadSopenharmony_ci    ---------                       -----------  ----  -------------  -----------                  ----    ---------
1285bd8deadSopenharmony_ci    CONSERVATIVE_RASTER_DILATE_NV   GetFloatv    R+    0              Dilate primitives when       14.6.X  -
1295bd8deadSopenharmony_ci                                                                      conservative rasterization
1305bd8deadSopenharmony_ci                                                                      is enabled.
1315bd8deadSopenharmony_ci
1325bd8deadSopenharmony_ciNVIDIA Implementation Details
1335bd8deadSopenharmony_ci
1345bd8deadSopenharmony_ci    NVIDIA's GeForce 9xx and Quadro Mxxxx series of GPUs (GM20x) and Tegra X1 
1355bd8deadSopenharmony_ci    support this extension with a granularity of 0.25 and a range of [0, 0.75].
1365bd8deadSopenharmony_ci
1375bd8deadSopenharmony_ciIssues
1385bd8deadSopenharmony_ci
1395bd8deadSopenharmony_ci    None.
1405bd8deadSopenharmony_ci
1415bd8deadSopenharmony_ciRevision History
1425bd8deadSopenharmony_ci    
1435bd8deadSopenharmony_ci    Revision 2
1445bd8deadSopenharmony_ci    - Fix the descriptions for the <pname> parameters.
1455bd8deadSopenharmony_ci    - Fix typos and wordings.
1465bd8deadSopenharmony_ci
1475bd8deadSopenharmony_ci    Revision 1
1485bd8deadSopenharmony_ci    - Internal revisions.
149