15bd8deadSopenharmony_ciName
25bd8deadSopenharmony_ci
35bd8deadSopenharmony_ci    OES_single_precision
45bd8deadSopenharmony_ci
55bd8deadSopenharmony_ciName Strings
65bd8deadSopenharmony_ci
75bd8deadSopenharmony_ci    GL_OES_single_precision
85bd8deadSopenharmony_ci
95bd8deadSopenharmony_ciContact
105bd8deadSopenharmony_ci
115bd8deadSopenharmony_ci    David Blythe (blythe 'at' bluevoid.com)
125bd8deadSopenharmony_ci
135bd8deadSopenharmony_ciNotice
145bd8deadSopenharmony_ci
155bd8deadSopenharmony_ci    Copyright (c) 2003-2013 The Khronos Group Inc. Copyright terms at
165bd8deadSopenharmony_ci        http://www.khronos.org/registry/speccopyright.html
175bd8deadSopenharmony_ci
185bd8deadSopenharmony_ciSpecification Update Policy
195bd8deadSopenharmony_ci
205bd8deadSopenharmony_ci    Khronos-approved extension specifications are updated in response to
215bd8deadSopenharmony_ci    issues and bugs prioritized by the Khronos OpenGL ES Working Group. For
225bd8deadSopenharmony_ci    extensions which have been promoted to a core Specification, fixes will
235bd8deadSopenharmony_ci    first appear in the latest version of that core Specification, and will
245bd8deadSopenharmony_ci    eventually be backported to the extension document. This policy is
255bd8deadSopenharmony_ci    described in more detail at
265bd8deadSopenharmony_ci        https://www.khronos.org/registry/OpenGL/docs/update_policy.php
275bd8deadSopenharmony_ci
285bd8deadSopenharmony_ciStatus
295bd8deadSopenharmony_ci
305bd8deadSopenharmony_ci    Ratified by the Khronos BOP, July 23, 2003.
315bd8deadSopenharmony_ci    Ratified by the Khronos BOP, Aug 5, 2004.
325bd8deadSopenharmony_ci
335bd8deadSopenharmony_ciVersion
345bd8deadSopenharmony_ci
355bd8deadSopenharmony_ci    Version 1, September 18, 2014
365bd8deadSopenharmony_ci
375bd8deadSopenharmony_ciNumber
385bd8deadSopenharmony_ci
395bd8deadSopenharmony_ci    OpenGL ES Extension #18 (formerly OpenGL Extension #293)
405bd8deadSopenharmony_ci
415bd8deadSopenharmony_ciDependencies
425bd8deadSopenharmony_ci
435bd8deadSopenharmony_ci    None
445bd8deadSopenharmony_ci    The extension is written against the OpenGL 1.3 Specification.
455bd8deadSopenharmony_ci
465bd8deadSopenharmony_ciOverview
475bd8deadSopenharmony_ci
485bd8deadSopenharmony_ci    This extension adds commands with single-precision floating-point
495bd8deadSopenharmony_ci    parameters corresponding to the commands that only variants that
505bd8deadSopenharmony_ci    accept double-precision floating-point input.  This allows an
515bd8deadSopenharmony_ci    application to avoid using double-precision floating-point
525bd8deadSopenharmony_ci    data types.  New commands are added with an 'f' prefix.
535bd8deadSopenharmony_ci
545bd8deadSopenharmony_ci
555bd8deadSopenharmony_ciIP Status
565bd8deadSopenharmony_ci
575bd8deadSopenharmony_ci    None
585bd8deadSopenharmony_ci
595bd8deadSopenharmony_ciIssues
605bd8deadSopenharmony_ci
615bd8deadSopenharmony_ci*   An alternative is to suggest platforms define GLfloat and
625bd8deadSopenharmony_ci    GLdouble to be the same type, since it is unlikely that both
635bd8deadSopenharmony_ci    single- and double-precision are required at the same time.
645bd8deadSopenharmony_ci
655bd8deadSopenharmony_ci    Resolved: This might create additional confusion, so it is
665bd8deadSopenharmony_ci    better to define new commands.
675bd8deadSopenharmony_ci
685bd8deadSopenharmony_ciNew Procedures and Functions
695bd8deadSopenharmony_ci
705bd8deadSopenharmony_ci    void DepthRangefOES(clampf n, clampf f);
715bd8deadSopenharmony_ci    void FrustumfOES(float l, float r, float b, float t, float n, float f);
725bd8deadSopenharmony_ci    void OrthofOES(float l, float r, float b, float t, float n, float f);
735bd8deadSopenharmony_ci
745bd8deadSopenharmony_ci    void ClipPlanefOES(enum plane, const float* equation);
755bd8deadSopenharmony_ci    void GetClipPlanefOES(enum plane, float* equation);
765bd8deadSopenharmony_ci
775bd8deadSopenharmony_ci    void glClearDepthfOES(clampf depth);
785bd8deadSopenharmony_ci
795bd8deadSopenharmony_ciNew Tokens
805bd8deadSopenharmony_ci
815bd8deadSopenharmony_ci    None
825bd8deadSopenharmony_ci
835bd8deadSopenharmony_ciAdditions to Chapter 2 of the OpenGL 1.3 Specification (OpenGL Operation)
845bd8deadSopenharmony_ci
855bd8deadSopenharmony_ci    Section 2.10 Coordinate Transformations
865bd8deadSopenharmony_ci
875bd8deadSopenharmony_ci      Revise to include 'f' suffix.
885bd8deadSopenharmony_ci      Add alternate suffixed versions of DepthRange (2.10.1).
895bd8deadSopenharmony_ci      Add alternate suffixed versions of Ortho and Frustum (2.10.2).
905bd8deadSopenharmony_ci
915bd8deadSopenharmony_ci    Section 2.11 Clipping
925bd8deadSopenharmony_ci
935bd8deadSopenharmony_ci      Add alternate suffixed version of ClipPlane.
945bd8deadSopenharmony_ci
955bd8deadSopenharmony_ciAdditions to Chapter 3 of the OpenGL 1.3 Specification (Rasterization)
965bd8deadSopenharmony_ci
975bd8deadSopenharmony_ci    None
985bd8deadSopenharmony_ci        
995bd8deadSopenharmony_ciAdditions to Chapter 4 of the OpenGL 1.3 Specification (Per-Fragment
1005bd8deadSopenharmony_ciOperations and the Frame Buffer)
1015bd8deadSopenharmony_ci
1025bd8deadSopenharmony_ci    Section 4.2.3 Clearing the Buffers
1035bd8deadSopenharmony_ci
1045bd8deadSopenharmony_ci      Add alternate suffixed version of ClearDepth.
1055bd8deadSopenharmony_ci
1065bd8deadSopenharmony_ciAdditions to Chapter 5 of the OpenGL 1.3 Specification (Special Functions)
1075bd8deadSopenharmony_ci
1085bd8deadSopenharmony_ci    None
1095bd8deadSopenharmony_ci
1105bd8deadSopenharmony_ciAdditions to Chapter 6 of the OpenGL 1.3 Specification (State and
1115bd8deadSopenharmony_ciState Requests)
1125bd8deadSopenharmony_ci
1135bd8deadSopenharmony_ci    None
1145bd8deadSopenharmony_ci
1155bd8deadSopenharmony_ciAdditions to Appendix A of the OpenGL 1.3 Specification (Invariance)
1165bd8deadSopenharmony_ci
1175bd8deadSopenharmony_ci    None
1185bd8deadSopenharmony_ci
1195bd8deadSopenharmony_ciAdditions to the AGL/GLX/WGL Specifications
1205bd8deadSopenharmony_ci
1215bd8deadSopenharmony_ci    None
1225bd8deadSopenharmony_ci
1235bd8deadSopenharmony_ciAdditions to the WGL Specification
1245bd8deadSopenharmony_ci
1255bd8deadSopenharmony_ci    None
1265bd8deadSopenharmony_ci
1275bd8deadSopenharmony_ciAdditions to the AGL Specification
1285bd8deadSopenharmony_ci
1295bd8deadSopenharmony_ci    None
1305bd8deadSopenharmony_ci
1315bd8deadSopenharmony_ciAdditions to Chapter 2 of the GLX 1.3 Specification (GLX Operation)
1325bd8deadSopenharmony_ci
1335bd8deadSopenharmony_ci    The data representation is client-side only.  The GLX layer
1345bd8deadSopenharmony_ci    performs translation between float and double representations.
1355bd8deadSopenharmony_ci
1365bd8deadSopenharmony_ciAdditions to Chapter 3 of the GLX 1.3 Specification (Functions and Errors)
1375bd8deadSopenharmony_ci
1385bd8deadSopenharmony_ciAdditions to Chapter 4 of the GLX 1.3 Specification (Encoding on the X
1395bd8deadSopenharmony_ciByte Stream)
1405bd8deadSopenharmony_ci
1415bd8deadSopenharmony_ciAdditions to Chapter 5 of the GLX 1.3 Specification (Extending OpenGL)
1425bd8deadSopenharmony_ci
1435bd8deadSopenharmony_ciAdditions to Chapter 6 of the GLX 1.3 Specification (GLX Versions)
1445bd8deadSopenharmony_ci
1455bd8deadSopenharmony_ciGLX Protocol
1465bd8deadSopenharmony_ci
1475bd8deadSopenharmony_ci    Five new GL rendering commands are added. The following commands
1485bd8deadSopenharmony_ci    are sent to the server as part of a glXRender request:
1495bd8deadSopenharmony_ci
1505bd8deadSopenharmony_ci        ClearDepthfOES
1515bd8deadSopenharmony_ci            2           8               rendering command length
1525bd8deadSopenharmony_ci            2           4308            rendering command opcode
1535bd8deadSopenharmony_ci            4           FLOAT32         z
1545bd8deadSopenharmony_ci
1555bd8deadSopenharmony_ci        DepthRangefOES
1565bd8deadSopenharmony_ci            2           12              rendering command length
1575bd8deadSopenharmony_ci            2           4309            rendering command opcode
1585bd8deadSopenharmony_ci            4           FLOAT32         n
1595bd8deadSopenharmony_ci            4           FLOAT32         f
1605bd8deadSopenharmony_ci
1615bd8deadSopenharmony_ci        FrustumfOES
1625bd8deadSopenharmony_ci            2           28              rendering command length
1635bd8deadSopenharmony_ci            2           4310            rendering command opcode
1645bd8deadSopenharmony_ci            4           FLOAT32         l
1655bd8deadSopenharmony_ci            4           FLOAT32         r
1665bd8deadSopenharmony_ci            4           FLOAT32         b
1675bd8deadSopenharmony_ci            4           FLOAT32         t
1685bd8deadSopenharmony_ci            4           FLOAT32         n
1695bd8deadSopenharmony_ci            4           FLOAT32         f
1705bd8deadSopenharmony_ci
1715bd8deadSopenharmony_ci        OrthofOES
1725bd8deadSopenharmony_ci            2           28              rendering command length
1735bd8deadSopenharmony_ci            2           4311            rendering command opcode
1745bd8deadSopenharmony_ci            4           FLOAT32         l
1755bd8deadSopenharmony_ci            4           FLOAT32         r
1765bd8deadSopenharmony_ci            4           FLOAT32         b
1775bd8deadSopenharmony_ci            4           FLOAT32         t
1785bd8deadSopenharmony_ci            4           FLOAT32         n
1795bd8deadSopenharmony_ci            4           FLOAT32         f
1805bd8deadSopenharmony_ci
1815bd8deadSopenharmony_ci        ClipPlanefOES
1825bd8deadSopenharmony_ci            2           24              rendering command length
1835bd8deadSopenharmony_ci            2           4312            rendering command opcode
1845bd8deadSopenharmony_ci            4           ENUM            plane
1855bd8deadSopenharmony_ci            4           FLOAT32         v[0]
1865bd8deadSopenharmony_ci            4           FLOAT32         v[1]
1875bd8deadSopenharmony_ci            4           FLOAT32         v[2]
1885bd8deadSopenharmony_ci            4           FLOAT32         v[3]
1895bd8deadSopenharmony_ci
1905bd8deadSopenharmony_ci
1915bd8deadSopenharmony_ci    The remaining commands are non-rendering commands.  These commands are
1925bd8deadSopenharmony_ci    sent separately (i.e., not as part of a glXRender or glXRenderLarge
1935bd8deadSopenharmony_ci    request), using the glXVendorPrivateWithReply request:
1945bd8deadSopenharmony_ci
1955bd8deadSopenharmony_ci        GetClipPlanefOES
1965bd8deadSopenharmony_ci            1           CARD8           opcode (X assigned)
1975bd8deadSopenharmony_ci            1           17              GLX opcode (glXVendorPrivateWithReply)
1985bd8deadSopenharmony_ci            2           4               request length
1995bd8deadSopenharmony_ci            4           1421            vendor specific opcode
2005bd8deadSopenharmony_ci            4           GLX_CONTEXT_TAG context tag
2015bd8deadSopenharmony_ci            4           ENUM            plane
2025bd8deadSopenharmony_ci          =>
2035bd8deadSopenharmony_ci            1           1               reply
2045bd8deadSopenharmony_ci            1                           unused
2055bd8deadSopenharmony_ci            2           CARD16          sequence number
2065bd8deadSopenharmony_ci            4           0               reply length
2075bd8deadSopenharmony_ci            4           FLOAT32         v[0]
2085bd8deadSopenharmony_ci            4           FLOAT32         v[1]
2095bd8deadSopenharmony_ci            4           FLOAT32         v[2]
2105bd8deadSopenharmony_ci            4           FLOAT32         v[3]
2115bd8deadSopenharmony_ci            8                           unused
2125bd8deadSopenharmony_ci
2135bd8deadSopenharmony_ciErrors
2145bd8deadSopenharmony_ci
2155bd8deadSopenharmony_ci    None
2165bd8deadSopenharmony_ci
2175bd8deadSopenharmony_ciNew State
2185bd8deadSopenharmony_ci
2195bd8deadSopenharmony_ci    None
2205bd8deadSopenharmony_ci
2215bd8deadSopenharmony_ciNew Implementation Dependent State
2225bd8deadSopenharmony_ci
2235bd8deadSopenharmony_ci    None
2245bd8deadSopenharmony_ci
2255bd8deadSopenharmony_ciRevision History
2265bd8deadSopenharmony_ci
2275bd8deadSopenharmony_ci    03/27/2003    0.1
2285bd8deadSopenharmony_ci        - First draft created.
2295bd8deadSopenharmony_ci
2305bd8deadSopenharmony_ci    07/08/2003    0.2
2315bd8deadSopenharmony_ci        - Delete unused Dependencies on section
2325bd8deadSopenharmony_ci        - Added extension number
2335bd8deadSopenharmony_ci
2345bd8deadSopenharmony_ci    07/09/2003    0.3
2355bd8deadSopenharmony_ci        - Added missing ClearDepthfOES
2365bd8deadSopenharmony_ci        - Removed '_'s from names.
2375bd8deadSopenharmony_ci
2385bd8deadSopenharmony_ci    07/22/2003    0.4
2395bd8deadSopenharmony_ci        - Added GLX protocol (Thomas Roell)
2405bd8deadSopenharmony_ci
2415bd8deadSopenharmony_ci    06/28/2004    0.5
2425bd8deadSopenharmony_ci        - Added ClipPlanef function (Aaftab Munshi)
2435bd8deadSopenharmony_ci
2445bd8deadSopenharmony_ci    04/22/2007    0.6
2455bd8deadSopenharmony_ci        - Fixed 'void void' typo (Jon Leech)
2465bd8deadSopenharmony_ci
2475bd8deadSopenharmony_ci    09/18/2014    1
2485bd8deadSopenharmony_ci        - Fixed 'clampd' type to 'clampf' in ClearDepthfOES (Bug 12656).
249