15bd8deadSopenharmony_ciName
25bd8deadSopenharmony_ci
35bd8deadSopenharmony_ci    ARB_cull_distance
45bd8deadSopenharmony_ci
55bd8deadSopenharmony_ciName Strings
65bd8deadSopenharmony_ci
75bd8deadSopenharmony_ci    GL_ARB_cull_distance
85bd8deadSopenharmony_ci
95bd8deadSopenharmony_ciContact
105bd8deadSopenharmony_ci
115bd8deadSopenharmony_ci    Brian Paul, VMware Inc.  (brianp 'at' vmware.com)
125bd8deadSopenharmony_ci
135bd8deadSopenharmony_ciContributors
145bd8deadSopenharmony_ci
155bd8deadSopenharmony_ci    Brian Paul, VMware
165bd8deadSopenharmony_ci    Daniel Rakos, AMD
175bd8deadSopenharmony_ci    Pat Brown, NVIDIA
185bd8deadSopenharmony_ci    Piers Daniell, NVIDIA
195bd8deadSopenharmony_ci
205bd8deadSopenharmony_ciNotice
215bd8deadSopenharmony_ci
225bd8deadSopenharmony_ci    Copyright (c) 2014 The Khronos Group Inc. Copyright terms at
235bd8deadSopenharmony_ci        http://www.khronos.org/registry/speccopyright.html
245bd8deadSopenharmony_ci
255bd8deadSopenharmony_ciSpecification Update Policy
265bd8deadSopenharmony_ci
275bd8deadSopenharmony_ci    Khronos-approved extension specifications are updated in response to
285bd8deadSopenharmony_ci    issues and bugs prioritized by the Khronos OpenGL Working Group. For
295bd8deadSopenharmony_ci    extensions which have been promoted to a core Specification, fixes will
305bd8deadSopenharmony_ci    first appear in the latest version of that core Specification, and will
315bd8deadSopenharmony_ci    eventually be backported to the extension document. This policy is
325bd8deadSopenharmony_ci    described in more detail at
335bd8deadSopenharmony_ci        https://www.khronos.org/registry/OpenGL/docs/update_policy.php
345bd8deadSopenharmony_ci
355bd8deadSopenharmony_ciStatus
365bd8deadSopenharmony_ci
375bd8deadSopenharmony_ci    Complete. 
385bd8deadSopenharmony_ci    Approved by the ARB on June 26, 2014.
395bd8deadSopenharmony_ci    Ratified by the Khronos Board of Promoters on August 7, 2014.
405bd8deadSopenharmony_ci
415bd8deadSopenharmony_ciVersion
425bd8deadSopenharmony_ci
435bd8deadSopenharmony_ci    Date: June 17, 2014
445bd8deadSopenharmony_ci    Revision: 9
455bd8deadSopenharmony_ci
465bd8deadSopenharmony_ciNumber
475bd8deadSopenharmony_ci
485bd8deadSopenharmony_ci    ARB Extension #162
495bd8deadSopenharmony_ci
505bd8deadSopenharmony_ciDependencies
515bd8deadSopenharmony_ci
525bd8deadSopenharmony_ci    OpenGL 3.0 is required.
535bd8deadSopenharmony_ci
545bd8deadSopenharmony_ci    The extension is written against the OpenGL 4.4 Specification, Core
555bd8deadSopenharmony_ci    Profile, March 19, 2014.
565bd8deadSopenharmony_ci
575bd8deadSopenharmony_ci    The extension is written against the OpenGL Shading Language 4.40
585bd8deadSopenharmony_ci    Specification, January 22, 2014.
595bd8deadSopenharmony_ci
605bd8deadSopenharmony_ciOverview
615bd8deadSopenharmony_ci
625bd8deadSopenharmony_ci    This extension adds a new GLSL gl_CullDistance shader output, similar
635bd8deadSopenharmony_ci    to gl_ClipDistance, but used for whole primitive culling.
645bd8deadSopenharmony_ci
655bd8deadSopenharmony_ci    This new stage in the pipeline is added as part of the primitive clipping
665bd8deadSopenharmony_ci    stage.
675bd8deadSopenharmony_ci
685bd8deadSopenharmony_ciIP Status
695bd8deadSopenharmony_ci
705bd8deadSopenharmony_ci    No known IP claims.
715bd8deadSopenharmony_ci
725bd8deadSopenharmony_ciNew Procedures and Functions
735bd8deadSopenharmony_ci
745bd8deadSopenharmony_ci    None
755bd8deadSopenharmony_ci
765bd8deadSopenharmony_ciNew Types
775bd8deadSopenharmony_ci
785bd8deadSopenharmony_ci    None
795bd8deadSopenharmony_ci
805bd8deadSopenharmony_ciNew Tokens
815bd8deadSopenharmony_ci
825bd8deadSopenharmony_ci    Accepted by the <pname> parameter of GetBooeleanv, GetDoublev, GetFloatv
835bd8deadSopenharmony_ci    GetIntegerv, and GetInteger64v:
845bd8deadSopenharmony_ci
855bd8deadSopenharmony_ci        MAX_CULL_DISTANCES                              0x82F9
865bd8deadSopenharmony_ci        MAX_COMBINED_CLIP_AND_CULL_DISTANCES            0x82FA
875bd8deadSopenharmony_ci
885bd8deadSopenharmony_ciAdditions to Chapter 7 of the OpenGL 4.4 (Core Profile) Specification (Programs and Shaders)
895bd8deadSopenharmony_ci
905bd8deadSopenharmony_ci    Modify Section 7.4.1, Shader Interface Matching
915bd8deadSopenharmony_ci
925bd8deadSopenharmony_ci    (modify last sentence of third paragraph on p. 112)
935bd8deadSopenharmony_ci
945bd8deadSopenharmony_ci    If either shader redeclares the built-in array gl_CullDistance[] or
955bd8deadSopenharmony_ci    gl_ClipDistance[], the array must have the same size in both shaders.
965bd8deadSopenharmony_ci
975bd8deadSopenharmony_ciAdditions to Chapter 11 of the OpenGL 4.4 (Core Profile) Specification (Programmable Vertex Processing)
985bd8deadSopenharmony_ci
995bd8deadSopenharmony_ci    Modify Section 11.1.3.10, Shader Outputs
1005bd8deadSopenharmony_ci
1015bd8deadSopenharmony_ci    (replace the first sentence of the third paragraph on p. 358)
1025bd8deadSopenharmony_ci
1035bd8deadSopenharmony_ci    The built-in output variables gl_ClipDistance and glCullDistance hold the
1045bd8deadSopenharmony_ci    clip distance(s) and cull distance(s), respectively, used in the culling
1055bd8deadSopenharmony_ci    stage, as described in section 13.5.
1065bd8deadSopenharmony_ci
1075bd8deadSopenharmony_ci    Modify Section 11.2.1.2.2, Tessellation Control Shader Inputs
1085bd8deadSopenharmony_ci
1095bd8deadSopenharmony_ci    (modify last sentence of first paragraph on p. 365)
1105bd8deadSopenharmony_ci
1115bd8deadSopenharmony_ci    The members of each element of the gl_in array are gl_Position,
1125bd8deadSopenharmony_ci    gl_PointSize, gl_ClipDistance, gl_CullDistance, and gl_ClipVertex.
1135bd8deadSopenharmony_ci
1145bd8deadSopenharmony_ci    Modify Section 11.2.1.2.3, Tessellation Control Shader Outputs
1155bd8deadSopenharmony_ci
1165bd8deadSopenharmony_ci    (modify last sentence of first paragraph on p. 366)
1175bd8deadSopenharmony_ci
1185bd8deadSopenharmony_ci    The members of each element of the gl_out array are gl_Position,
1195bd8deadSopenharmony_ci    gl_PointSize, gl_ClipDistance, and gl_CullDistance, and behave identically
1205bd8deadSopenharmony_ci    to equivalently named vertex shader outputs (section 11.1.3).
1215bd8deadSopenharmony_ci
1225bd8deadSopenharmony_ci    Modify Section 11.2.3.3, Tessellation Evaluation Shader Inputs
1235bd8deadSopenharmony_ci
1245bd8deadSopenharmony_ci    (modify last sentence of first paragraph on p. 380)
1255bd8deadSopenharmony_ci
1265bd8deadSopenharmony_ci    The members of each element of the gl_in array are gl_Position,
1275bd8deadSopenharmony_ci    gl_PointSize, gl_ClipDistance, and gl_CullDistance.
1285bd8deadSopenharmony_ci
1295bd8deadSopenharmony_ci    Modify Section 11.2.3.4, Tessellation Evaluation Shader Ouputs
1305bd8deadSopenharmony_ci
1315bd8deadSopenharmony_ci    (modify last sentence of first paragraph on p. 381)
1325bd8deadSopenharmony_ci
1335bd8deadSopenharmony_ci    These variables are gl_Position, gl_PointSize, gl_ClipDistance, and
1345bd8deadSopenharmony_ci    gl_CullDistance, and all behave identically to equivalently named vertex
1355bd8deadSopenharmony_ci    shader outputs (see section 11.1.3).
1365bd8deadSopenharmony_ci
1375bd8deadSopenharmony_ci    Modify Section 11.3.4.4, Geometry Shader Inputs
1385bd8deadSopenharmony_ci
1395bd8deadSopenharmony_ci    (add after first bullet in first paragraph on p. 387)
1405bd8deadSopenharmony_ci
1415bd8deadSopenharmony_ci      * Structure member gl_CullDistance[] holds the per-vertex array of cull
1425bd8deadSopenharmony_ci        distances, as written by the vertex shader to its built-in output
1435bd8deadSopenharmony_ci        variable gl_CullDistance[].
1445bd8deadSopenharmony_ci
1455bd8deadSopenharmony_ci    Modify Section 11.3.4.5, Geometry Shader Outputs
1465bd8deadSopenharmony_ci
1475bd8deadSopenharmony_ci    (replace second paragraph on p. 389)
1485bd8deadSopenharmony_ci
1495bd8deadSopenharmony_ci    The built-in outputs gl_ClipDistance and gl_CullDistance hold the clip
1505bd8deadSopenharmony_ci    distance(s) and cull distance(s), respectively, used in the clipping
1515bd8deadSopenharmony_ci    stage, as described in section 13.5.
1525bd8deadSopenharmony_ci
1535bd8deadSopenharmony_ciAdditions to Chapter 13 of the OpenGL 4.4 (Core Profile) Specification (Fixed-Function Vertex Post-Processing)
1545bd8deadSopenharmony_ci
1555bd8deadSopenharmony_ci    Modify Section 13.5, Primitive Clipping
1565bd8deadSopenharmony_ci
1575bd8deadSopenharmony_ci    (replace first sentence of first paragraph on p. 404)
1585bd8deadSopenharmony_ci
1595bd8deadSopenharmony_ci    Primitives are culled against the cull volume and then clipped against the
1605bd8deadSopenharmony_ci    clip volume.
1615bd8deadSopenharmony_ci
1625bd8deadSopenharmony_ci    (replace the second, third, and fourth paragraph on p. 404)
1635bd8deadSopenharmony_ci
1645bd8deadSopenharmony_ci    This view volume may be further restricted by as many as <n> client-
1655bd8deadSopenharmony_ci    defined half-spaces. <n> is an implementation-dependent maximum that must
1665bd8deadSopenharmony_ci    be at least 8, and maybe determined by calling GetIntegerv with the
1675bd8deadSopenharmony_ci    symbolic constant MAX_COMBINED_CLIP_AND_CULL_DISTANCES.
1685bd8deadSopenharmony_ci
1695bd8deadSopenharmony_ci    The cull volume is the intersection of up to MAX_CULL_DISTANCES client-
1705bd8deadSopenharmony_ci    defined half-spaces (if no client-defined cull half-spaces are enabled,
1715bd8deadSopenharmony_ci    culling against the cull volume is skipped). The number of enabled cull
1725bd8deadSopenharmony_ci    half-spaces is determined by the explicit or implicit size of the built-in
1735bd8deadSopenharmony_ci    array gl_CullDistance in the last shader stage before rasterization that
1745bd8deadSopenharmony_ci    has an active program.
1755bd8deadSopenharmony_ci
1765bd8deadSopenharmony_ci    A shader may write a single cull distance for each enabled cull half-space
1775bd8deadSopenharmony_ci    to elements of the gl_CullDistance[] array. If the cull distance for any
1785bd8deadSopenharmony_ci    enabled cull half-space is negative for all of the vertices of the
1795bd8deadSopenharmony_ci    primitive under consideration, the primitive is discarded. Otherwise the
1805bd8deadSopenharmony_ci    primitive is clipped against the clip volume as defined below.
1815bd8deadSopenharmony_ci
1825bd8deadSopenharmony_ci    The clip volume is the intersection of up to MAX_CLIP_DISTANCES client-
1835bd8deadSopenharmony_ci    defined half-spaces with the view volume (if no client-defined clip half-
1845bd8deadSopenharmony_ci    spaces are enabled, the clip volume is the view volume). Client-defined
1855bd8deadSopenharmony_ci    clip half-spaces are enabled or disabled by calling Enable or Disable with
1865bd8deadSopenharmony_ci    <target> CLIP_DISTANCE<i>, where <i> is an integer between 0 and <n> - 1;
1875bd8deadSopenharmony_ci    specifying a value of <i> enables or disables the client-defined clip
1885bd8deadSopenharmony_ci    half-space with index <i>. The constants obey CLIP_DISTANCE<i> =
1895bd8deadSopenharmony_ci    CLIP_DISTANCE0 + <i>.
1905bd8deadSopenharmony_ci
1915bd8deadSopenharmony_ci    A shader may write a single clip distance for each enabled clip half-space
1925bd8deadSopenharmony_ci    to elements of the gl_ClipDistance[] array. Clip half-space <i> is then
1935bd8deadSopenharmony_ci    given by the set of points satisfying the inequality
1945bd8deadSopenharmony_ci
1955bd8deadSopenharmony_ci            c[i](P) >= 0,
1965bd8deadSopenharmony_ci
1975bd8deadSopenharmony_ci    where c[i](P) is the value of clip distance <i> at point P. For point
1985bd8deadSopenharmony_ci    primitives, c[i](P) is simply the clip distance for the vertex in
1995bd8deadSopenharmony_ci    question. For line and triangle primitives, per-vertex clip distances are
2005bd8deadSopenharmony_ci    interpolated using a weighted mean, with weights derived according to the
2015bd8deadSopenharmony_ci    algorithms described in sections 14.5 and 14.6.
2025bd8deadSopenharmony_ci
2035bd8deadSopenharmony_ci    Depth clamping ...
2045bd8deadSopenharmony_ci
2055bd8deadSopenharmony_ciAdditions to the OpenGL Shading Language
2065bd8deadSopenharmony_ci
2075bd8deadSopenharmony_ci    Including the following line in a shader can be used to control the
2085bd8deadSopenharmony_ci    language features described in this extension:
2095bd8deadSopenharmony_ci
2105bd8deadSopenharmony_ci        #extension GL_ARB_cull_distance : <behavior>
2115bd8deadSopenharmony_ci
2125bd8deadSopenharmony_ci    where <behavior> is as specified in section 3.3.
2135bd8deadSopenharmony_ci
2145bd8deadSopenharmony_ci    New preprocessor #define is added to the OpenGL Shading Language:
2155bd8deadSopenharmony_ci
2165bd8deadSopenharmony_ci        #define GL_ARB_cull_distance 1
2175bd8deadSopenharmony_ci
2185bd8deadSopenharmony_ciAdditions to Chapter 7 of the OpenGL Shading Language 4.40 Specification (Built-in Variables)
2195bd8deadSopenharmony_ci
2205bd8deadSopenharmony_ci    Modify Section 7.1, Built-In Language Variables
2215bd8deadSopenharmony_ci
2225bd8deadSopenharmony_ci    (add a new field to the end of the declaration of "gl_PerVertex" for
2235bd8deadSopenharmony_ci    all language input and output blocks on p. 120-122)
2245bd8deadSopenharmony_ci
2255bd8deadSopenharmony_ci        float gl_CullDistance[];
2265bd8deadSopenharmony_ci
2275bd8deadSopenharmony_ci    (add new declaration to the built-in variables available in the fragment
2285bd8deadSopenharmony_ci    language on p. 122)
2295bd8deadSopenharmony_ci
2305bd8deadSopenharmony_ci        in float gl_CullDistance[];
2315bd8deadSopenharmony_ci
2325bd8deadSopenharmony_ci    (add after second paragraph on p. 124)
2335bd8deadSopenharmony_ci
2345bd8deadSopenharmony_ci    The variable gl_CullDistance provides a mechanism for controlling user
2355bd8deadSopenharmony_ci    culling. The element gl_CullDistance[i] specifies a cull distance for
2365bd8deadSopenharmony_ci    plane <i>. A distance of 0 means the vertex is on the plane, a positive
2375bd8deadSopenharmony_ci    distance means the vertex is inside the cull volume, and a negative
2385bd8deadSopenharmony_ci    distance means the point is outside the cull volume. Primitives whose
2395bd8deadSopenharmony_ci    vertices all have a negative clip distance for plane <i> will be
2405bd8deadSopenharmony_ci    discarded.
2415bd8deadSopenharmony_ci
2425bd8deadSopenharmony_ci    The gl_CullDistance array is predeclared as unsized and must be sized by
2435bd8deadSopenharmony_ci    the shader either redeclaring it with a size or indexing it only with
2445bd8deadSopenharmony_ci    integral constant expressions. The size determines the number and set of
2455bd8deadSopenharmony_ci    enabled cull distances and can be at most gl_MaxCullDistances. The number
2465bd8deadSopenharmony_ci    of varying components (see gl_MaxVaryingComponents) consumed by
2475bd8deadSopenharmony_ci    gl_CullDistance will match the size of the array. Shaders writing
2485bd8deadSopenharmony_ci    gl_CullDistance must write all enabled distances, or culling results are
2495bd8deadSopenharmony_ci    undefined.
2505bd8deadSopenharmony_ci
2515bd8deadSopenharmony_ci    As an output variable, gl_CullDistance provides the place for the shader
2525bd8deadSopenharmony_ci    to write these distances. As an input in all but the fragment language,
2535bd8deadSopenharmony_ci    it reads the values written in the previous shader stage. In the
2545bd8deadSopenharmony_ci    fragment language, gl_CullDistance array contains linearly interpolated
2555bd8deadSopenharmony_ci    values for the vertex values written by a shader to the gl_CullDistance
2565bd8deadSopenharmony_ci    vertex output variable.
2575bd8deadSopenharmony_ci
2585bd8deadSopenharmony_ci    It is a compile-time or link-time error for the set of shaders forming
2595bd8deadSopenharmony_ci    a program to have the sum of the sizes of the gl_ClipDistance and
2605bd8deadSopenharmony_ci    gl_CullDistance arrays to be larger than 
2615bd8deadSopenharmony_ci    gl_MaxCombinedClipAndCullDistances.
2625bd8deadSopenharmony_ci
2635bd8deadSopenharmony_ci    Modify Section 7.1.1, Compatibility Profile Built-In Language Variables
2645bd8deadSopenharmony_ci
2655bd8deadSopenharmony_ci    (modify last sentence on p. 128)
2665bd8deadSopenharmony_ci
2675bd8deadSopenharmony_ci    It is a compile-time or link-time error for the set of shaders forming
2685bd8deadSopenharmony_ci    a program to statically read or write both gl_ClipVertex and
2695bd8deadSopenharmony_ci    either gl_ClipDistance or gl_CullDistance.
2705bd8deadSopenharmony_ci
2715bd8deadSopenharmony_ci    Modify Section 7.3, Built-In Constants
2725bd8deadSopenharmony_ci
2735bd8deadSopenharmony_ci    (add to the list of implementation-dependent constants after
2745bd8deadSopenharmony_ci    gl_MaxClipDistances on p. 132)
2755bd8deadSopenharmony_ci
2765bd8deadSopenharmony_ci    const int  gl_MaxCullDistances = 8;
2775bd8deadSopenharmony_ci    const int  gl_MaxCombinedClipAndCullDistances = 8;
2785bd8deadSopenharmony_ci
2795bd8deadSopenharmony_ciAdditions to the AGL/EGL/GLX/WGL Specifications
2805bd8deadSopenharmony_ci
2815bd8deadSopenharmony_ci    None
2825bd8deadSopenharmony_ci
2835bd8deadSopenharmony_ciErrors
2845bd8deadSopenharmony_ci
2855bd8deadSopenharmony_ci    None
2865bd8deadSopenharmony_ci
2875bd8deadSopenharmony_ciNew State
2885bd8deadSopenharmony_ci
2895bd8deadSopenharmony_ci    None.
2905bd8deadSopenharmony_ci
2915bd8deadSopenharmony_ciNew Implementation Dependent State
2925bd8deadSopenharmony_ci
2935bd8deadSopenharmony_ci    (add to table 23.53, Implementation Dependent Values)
2945bd8deadSopenharmony_ci
2955bd8deadSopenharmony_ci    Get Value                             Type  Get Command  Minimum value  Description                        Sec.
2965bd8deadSopenharmony_ci    ------------------------------------  ----  -----------  -------------  ---------------------------------  ----
2975bd8deadSopenharmony_ci    MAX_CULL_DISTANCES                     Z+   GetIntegerv        8        Max no. of user culling planes     13.5
2985bd8deadSopenharmony_ci    MAX_COMBINED_CLIP_AND_CULL_DISTANCES   Z+   GetIntegerv        8        Max combined no. of user clipping  13.5
2995bd8deadSopenharmony_ci                                                                            and culling planes
3005bd8deadSopenharmony_ci
3015bd8deadSopenharmony_ciIssues
3025bd8deadSopenharmony_ci
3035bd8deadSopenharmony_ci    (1) Why is this extension necessary?
3045bd8deadSopenharmony_ci
3055bd8deadSopenharmony_ci      RESOLVED: This feature is supported by a competing graphics API. One
3065bd8deadSopenharmony_ci      could implement some of this functionality with a geometry shader but
3075bd8deadSopenharmony_ci      that doesn't work well in all circumstances, or is very difficult.
3085bd8deadSopenharmony_ci
3095bd8deadSopenharmony_ci    (2) Should there be enable flags for cull distances as there are for
3105bd8deadSopenharmony_ci        clip distances?
3115bd8deadSopenharmony_ci
3125bd8deadSopenharmony_ci      RESOLVED: The clip plane enables still exist for OpenGL 4.4 core
3135bd8deadSopenharmony_ci      profile, but they are mostly there because of backwards compatibility
3145bd8deadSopenharmony_ci      reasons. The proposal is to not have separate enables for cull
3155bd8deadSopenharmony_ci      distances, instead usage in the shader should determine this.
3165bd8deadSopenharmony_ci
3175bd8deadSopenharmony_ci    (3) How many cull distances are supported?
3185bd8deadSopenharmony_ci
3195bd8deadSopenharmony_ci      RESOLVED: Eight. But as resources used by cull distances and clip
3205bd8deadSopenharmony_ci      distances may be aliased on some implementations we also introduce a
3215bd8deadSopenharmony_ci      combined resource limit of eight.
3225bd8deadSopenharmony_ci
3235bd8deadSopenharmony_ci    (4) How do we determine the number of enabled cull distances?
3245bd8deadSopenharmony_ci
3255bd8deadSopenharmony_ci      RESOLVED: Redeclaring the gl_CullDistance array with a size of <n>
3265bd8deadSopenharmony_ci      automatically enables the first <n> cull distances.
3275bd8deadSopenharmony_ci
3285bd8deadSopenharmony_ci    (5) Which shader stage determines the number of enabled cull distances in
3295bd8deadSopenharmony_ci        case multiple shader stages redeclare gl_CullDistance?
3305bd8deadSopenharmony_ci
3315bd8deadSopenharmony_ci      RESOLVED: The implicit or explicit size of gl_CullDistance in the
3325bd8deadSopenharmony_ci      very last shader stage before rasterization determines the number
3335bd8deadSopenharmony_ci      of enabled cull distances.
3345bd8deadSopenharmony_ci
3355bd8deadSopenharmony_ci    (6) How should we validate that we don't go over resource limits?
3365bd8deadSopenharmony_ci
3375bd8deadSopenharmony_ci      RESOLVED: There is an implicit or explicit size for both
3385bd8deadSopenharmony_ci      gl_ClipDistance and gl_CullDistance in the shader. If the sum of the
3395bd8deadSopenharmony_ci      sizes of the two arrays is over MAX_COMBINED_CLIP_AND_CULL_DISTANCES
3405bd8deadSopenharmony_ci      it results in a compile-time or link-time error.
3415bd8deadSopenharmony_ci
3425bd8deadSopenharmony_ci    (7) Should there be a built-in gl_CullDistance in the fragment language?
3435bd8deadSopenharmony_ci
3445bd8deadSopenharmony_ci      RESOLVED: Yes, just like gl_ClipDistance is available in the fragment
3455bd8deadSopenharmony_ci      language.
3465bd8deadSopenharmony_ci
3475bd8deadSopenharmony_ciRevision History
3485bd8deadSopenharmony_ci
3495bd8deadSopenharmony_ci    Revision 9, 2014/06/17 (Daniel Rakos)
3505bd8deadSopenharmony_ci      - Added missing tokens.
3515bd8deadSopenharmony_ci
3525bd8deadSopenharmony_ci    Revision 8, 2014/06/06 (Daniel Rakos)
3535bd8deadSopenharmony_ci      - Resolved issues (5) and (7).
3545bd8deadSopenharmony_ci      - Clarified language describing the number of enabled cull distances.
3555bd8deadSopenharmony_ci
3565bd8deadSopenharmony_ci    Revision 7, 2014/05/30 (Daniel Rakos)
3575bd8deadSopenharmony_ci      - Resolved issues (2), (3), (4), and (6).
3585bd8deadSopenharmony_ci
3595bd8deadSopenharmony_ci    Revision 6, 2014/05/22 (Daniel Rakos)
3605bd8deadSopenharmony_ci      - Minor language cleanup.
3615bd8deadSopenharmony_ci
3625bd8deadSopenharmony_ci    Revision 5, 2014/05/19 (Daniel Rakos)
3635bd8deadSopenharmony_ci      - Added language to explicitly disallow the use of gl_ClipVertex and
3645bd8deadSopenharmony_ci        gl_CullDistance at the same time.
3655bd8deadSopenharmony_ci
3665bd8deadSopenharmony_ci    Revision 4, 2014/05/16 (Daniel Rakos)
3675bd8deadSopenharmony_ci      - Added missing language about #extension and #define for the feature.
3685bd8deadSopenharmony_ci
3695bd8deadSopenharmony_ci    Revision 3, 2014/04/25 (Daniel Rakos)
3705bd8deadSopenharmony_ci      - Renamed to ARB_cull_distance.
3715bd8deadSopenharmony_ci      - Added implementation-dependent states MAX_CULL_DISTANCES and
3725bd8deadSopenharmony_ci        MAX_COMBINED_CLIP_AND_CULL_DISTANCES.
3735bd8deadSopenharmony_ci      - Rewrote language based on discussion.
3745bd8deadSopenharmony_ci      - Added issues (3) to (7).
3755bd8deadSopenharmony_ci
3765bd8deadSopenharmony_ci    Revision 2, 2014/04/10 (Brian Paul)
3775bd8deadSopenharmony_ci      - Fleshed out edits to chapter 13 of the spec.
3785bd8deadSopenharmony_ci      - Added issue (2).
3795bd8deadSopenharmony_ci
3805bd8deadSopenharmony_ci    Revision 1, 2014/02/03 (Brian Paul)
3815bd8deadSopenharmony_ci      - Initial revision.
382