15bd8deadSopenharmony_ciName
25bd8deadSopenharmony_ci
35bd8deadSopenharmony_ci    OES_fixed_point
45bd8deadSopenharmony_ci
55bd8deadSopenharmony_ciName Strings
65bd8deadSopenharmony_ci
75bd8deadSopenharmony_ci    GL_OES_fixed_point
85bd8deadSopenharmony_ci
95bd8deadSopenharmony_ciContact
105bd8deadSopenharmony_ci
115bd8deadSopenharmony_ci    David Blythe (blythe 'at' bluevoid.com)
125bd8deadSopenharmony_ci
135bd8deadSopenharmony_ciNotice
145bd8deadSopenharmony_ci
155bd8deadSopenharmony_ci    Copyright (c) 2002-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    Last Modifed Date: 27 April 2015
365bd8deadSopenharmony_ci    Author Revision: 1.0
375bd8deadSopenharmony_ci
385bd8deadSopenharmony_ciNumber
395bd8deadSopenharmony_ci
405bd8deadSopenharmony_ci    OpenGL ES Extension #9 (formerly ARB Extension #292)
415bd8deadSopenharmony_ci
425bd8deadSopenharmony_ciDependencies
435bd8deadSopenharmony_ci
445bd8deadSopenharmony_ci    None
455bd8deadSopenharmony_ci    The extension is written against the OpenGL 1.3 Specification.
465bd8deadSopenharmony_ci
475bd8deadSopenharmony_ciOverview
485bd8deadSopenharmony_ci
495bd8deadSopenharmony_ci    This extension provides the capability, for platforms that do
505bd8deadSopenharmony_ci    not have efficient floating-point support, to input data in a
515bd8deadSopenharmony_ci    fixed-point format, i.e.,  a scaled-integer format.  There are
525bd8deadSopenharmony_ci    several ways a platform could try to solve the problem, such as
535bd8deadSopenharmony_ci    using integer only commands, but there are many OpenGL commands
545bd8deadSopenharmony_ci    that have only floating-point or double-precision floating-point
555bd8deadSopenharmony_ci    parameters.  Also, it is likely that any credible application
565bd8deadSopenharmony_ci    running on such a platform will need to perform some computations
575bd8deadSopenharmony_ci    and will already be using some form of fixed-point representation.
585bd8deadSopenharmony_ci    This extension solves the problem by adding new ``fixed', and
595bd8deadSopenharmony_ci    ``clamp fixed''  data types based on a a two's complement
605bd8deadSopenharmony_ci    S15.16 representation.  New versions of commands are created
615bd8deadSopenharmony_ci    with an 'x' suffix that take fixed or clampx parameters.
625bd8deadSopenharmony_ci
635bd8deadSopenharmony_ci
645bd8deadSopenharmony_ciIP Status
655bd8deadSopenharmony_ci
665bd8deadSopenharmony_ci    None
675bd8deadSopenharmony_ci
685bd8deadSopenharmony_ciIssues
695bd8deadSopenharmony_ci
705bd8deadSopenharmony_ci*   Add double-precision (S31.32) form too?
715bd8deadSopenharmony_ci      NO
725bd8deadSopenharmony_ci
735bd8deadSopenharmony_ci*   Additional InterleavedArray formats?
745bd8deadSopenharmony_ci      NO
755bd8deadSopenharmony_ci
765bd8deadSopenharmony_ci*   Should newly suffixed commands, e.g., PointSize, get an alias with
775bd8deadSopenharmony_ci    a float or double suffix for consistency?
785bd8deadSopenharmony_ci      NO
795bd8deadSopenharmony_ci
805bd8deadSopenharmony_ci*   Are enums converted to fixed by scaling by 2^16.
815bd8deadSopenharmony_ci      NO.  An enums are passed through as if they are already in
825bd8deadSopenharmony_ci      S15.16 form.  Requiring scaling is too error prone.
835bd8deadSopenharmony_ci
845bd8deadSopenharmony_ciNew Procedures and Functions
855bd8deadSopenharmony_ci
865bd8deadSopenharmony_ci    NOTE:  `T' expands to 'const fixed*' or `fixed' as appropriate
875bd8deadSopenharmony_ci
885bd8deadSopenharmony_ci    void Vertex{234}x[v]OES(T coords);
895bd8deadSopenharmony_ci    void Normal3x[v]OES(T coords);
905bd8deadSopenharmony_ci    void TexCoord{1234}x[v]OES(T coords);
915bd8deadSopenharmony_ci    void MultiTexCoord{1234}x[v]OES(enum texture, T coords);
925bd8deadSopenharmony_ci    void Color{34}x[v]OES(T components);
935bd8deadSopenharmony_ci    void Indexx[v]OES(T component);
945bd8deadSopenharmony_ci    void RectxOES(fixed x1, fixed y1, fixed x2, fixed y2);
955bd8deadSopenharmony_ci    void RectxvOES(const fixed v1[2], const fixed v2[2]);
965bd8deadSopenharmony_ci
975bd8deadSopenharmony_ci    void DepthRangexOES(clampx n, clampx f);
985bd8deadSopenharmony_ci    void LoadMatrixxOES(const fixed m[16]);
995bd8deadSopenharmony_ci    void MultMatrixxOES(const fixed m[16]);
1005bd8deadSopenharmony_ci    void LoadTransposeMatrixxOES(const fixed m[16]);
1015bd8deadSopenharmony_ci    void MultTransposeMatrixxOES(const fixed m[16]);
1025bd8deadSopenharmony_ci    void RotatexOES(fixed angle, fixed x, fixed y, fixed z);
1035bd8deadSopenharmony_ci    void ScalexOES(fixed x, fixed y, fixed z);
1045bd8deadSopenharmony_ci    void TranslatexOES(fixed x, fixed y, fixed z);
1055bd8deadSopenharmony_ci    void FrustumxOES(fixed l, fixed r, fixed b, fixed t, fixed n, fixed f);
1065bd8deadSopenharmony_ci    void OrthoxOES(fixed l, fixed r, fixed b, fixed t, fixed n, fixed f);
1075bd8deadSopenharmony_ci    void TexGenx[v]OES(enum coord, enum pname, T param);
1085bd8deadSopenharmony_ci    void GetTexGenxvOES(enum coord, enum pname, T* params);
1095bd8deadSopenharmony_ci
1105bd8deadSopenharmony_ci    void ClipPlanexOES(enum plane, const fixed* equation);
1115bd8deadSopenharmony_ci    void GetClipPlanexOES(enum plane, fixed* equation);
1125bd8deadSopenharmony_ci
1135bd8deadSopenharmony_ci    void RasterPos{234}x[v]OES(T coords);
1145bd8deadSopenharmony_ci
1155bd8deadSopenharmony_ci    void Materialx[v]OES(enum face, enum pname, T param);
1165bd8deadSopenharmony_ci    void GetMaterialxOES(enum face, enum pname, T param);
1175bd8deadSopenharmony_ci    void Lightx[v]OES(enum light, enum pname, T* params);
1185bd8deadSopenharmony_ci    void GetLightxOES(enum light, enum pname, T* params);
1195bd8deadSopenharmony_ci    void LightModelx[v]OES(enum pname, T param);
1205bd8deadSopenharmony_ci
1215bd8deadSopenharmony_ci    void PointSizexOES(fixed size);
1225bd8deadSopenharmony_ci    void PointParameterxvOES(enum pname, const fixed *params)
1235bd8deadSopenharmony_ci    void LineWidthxOES(fixed width);
1245bd8deadSopenharmony_ci    void PolygonOffsetxOES(fixed factor, fixed units);
1255bd8deadSopenharmony_ci
1265bd8deadSopenharmony_ci    void PixelStorex{enum pname, T param);
1275bd8deadSopenharmony_ci    void PixelTransferxOES(enum pname, T param);
1285bd8deadSopenharmony_ci    void PixelMapx{enum map int size T* values);
1295bd8deadSopenharmony_ci    void GetPixelMapxv{enum map int size T* values);
1305bd8deadSopenharmony_ci
1315bd8deadSopenharmony_ci    void ConvolutionParameterx[v]OES(enum target, enum pname, T param);
1325bd8deadSopenharmony_ci    void GetConvolutionParameterxvOES(enum target, enum pname, T* params);
1335bd8deadSopenharmony_ci    void GetHistogramParameterxvOES(enum target, enum pname, T *params);
1345bd8deadSopenharmony_ci
1355bd8deadSopenharmony_ci    void PixelZoomxOES(fixed xfactor, fixed yfactor);
1365bd8deadSopenharmony_ci
1375bd8deadSopenharmony_ci    void BitmapxOES(sizei width, sizei height, fixed xorig, fixed yorig,
1385bd8deadSopenharmony_ci                 fixed xmove, fixed ymove, const ubyte* bitmap);
1395bd8deadSopenharmony_ci
1405bd8deadSopenharmony_ci    void TexParameterx[v]OES(enum target, enum pname, T param);
1415bd8deadSopenharmony_ci    void GetTexParameterxvOES(enum target, enum pname, T* params);
1425bd8deadSopenharmony_ci    void GetTexLevelParameterxvOES(enum target, int level, enum pname, T* params);
1435bd8deadSopenharmony_ci    void PrioritizeTexturesxOES(sizei n, uint* textures, clampx* priorities);
1445bd8deadSopenharmony_ci    void TexEnvx[v]OES(enum target, enum pname, T param);
1455bd8deadSopenharmony_ci    void GetTexEnvxvOES(enum target, enum pname, T* params);
1465bd8deadSopenharmony_ci
1475bd8deadSopenharmony_ci    void Fogx[v]OES(enum pname, T param);
1485bd8deadSopenharmony_ci
1495bd8deadSopenharmony_ci    void SampleCoveragexOES(clampx value, boolean invert);
1505bd8deadSopenharmony_ci    void AlphaFuncxOES(enum func, clampx ref);
1515bd8deadSopenharmony_ci
1525bd8deadSopenharmony_ci    void BlendColorxOES(clampx red, clampx green, clampx blue, clampx alpha);
1535bd8deadSopenharmony_ci
1545bd8deadSopenharmony_ci    void ClearColorxOES(clampx red, clampx green, clampx blue, clampx alpha);
1555bd8deadSopenharmony_ci    void ClearDepthxOES(clampx depth);
1565bd8deadSopenharmony_ci    void ClearAccumxOES(clampx red, clampx green, clampx blue, clampx alpha);
1575bd8deadSopenharmony_ci    void AccumxOES(enum op, fixed value);
1585bd8deadSopenharmony_ci
1595bd8deadSopenharmony_ci    void Map1xOES(enum target, T u1, T u2, int stride, int order, T points);
1605bd8deadSopenharmony_ci    void Map2xOES(enum target, T u1, T u2, int ustride, int uorder,
1615bd8deadSopenharmony_ci                            T v1, T v2, int vstride, int vorder, T points);
1625bd8deadSopenharmony_ci    void MapGrid1xOES(int n, T u1, T u2);
1635bd8deadSopenharmony_ci    void MapGrid2xOES(int n, T u1, T u2, T v1, T v2);
1645bd8deadSopenharmony_ci    void GetMapxvOES(enum target, enum query, T* v);
1655bd8deadSopenharmony_ci    void EvalCoord{12}x[v]OES(T coord);
1665bd8deadSopenharmony_ci
1675bd8deadSopenharmony_ci    void FeedbackBufferxOES(sizei n, enum type, fixed* buffer);
1685bd8deadSopenharmony_ci    void PassThroughxOES(fixed token);
1695bd8deadSopenharmony_ci
1705bd8deadSopenharmony_ci    GetFixedvOES(enum pname, fixed* params);
1715bd8deadSopenharmony_ci
1725bd8deadSopenharmony_ci
1735bd8deadSopenharmony_ciNew Tokens
1745bd8deadSopenharmony_ci
1755bd8deadSopenharmony_ci    FIXED_OES                0x140C
1765bd8deadSopenharmony_ci
1775bd8deadSopenharmony_ciAdditions to Chapter 2 of the OpenGL 1.3 Specification (OpenGL Operation)
1785bd8deadSopenharmony_ci
1795bd8deadSopenharmony_ci    Section 2.1.1 Floating-Point Computation
1805bd8deadSopenharmony_ci
1815bd8deadSopenharmony_ci      Add the following paragraphs:
1825bd8deadSopenharmony_ci
1835bd8deadSopenharmony_ci      On some platforms, floating-point computations are not sufficiently
1845bd8deadSopenharmony_ci      well supported to be used in an OpenGL implementation.  On such
1855bd8deadSopenharmony_ci      platforms, fixed-point representations may be a viable substitute for
1865bd8deadSopenharmony_ci      floating-point.  Internal computations can use either fixed-point
1875bd8deadSopenharmony_ci      or floating-point arithmetic.  Fixed-point computations must be
1885bd8deadSopenharmony_ci      accurate to within +/-2^-15.  The maximum representable magnitude
1895bd8deadSopenharmony_ci      for a fixed-point number used to represent positional or normal
1905bd8deadSopenharmony_ci      coordinates must be at least 2^15; the maximum representable
1915bd8deadSopenharmony_ci      magnitude for colors or texture coordinates must be at least 2^10.
1925bd8deadSopenharmony_ci      The maximum representable magnitude for all other fixed-point
1935bd8deadSopenharmony_ci      values must be at least 2^15.  x*0 = 0*x = 0. 1*x = x*1 = x. x +
1945bd8deadSopenharmony_ci      0 = 0 + x = x. 0^0 = 1. Fixed-point computations may lead to
1955bd8deadSopenharmony_ci      overflows or underflows.  The results of such computations are
1965bd8deadSopenharmony_ci      undefined, but must not lead to GL interruption or termination.
1975bd8deadSopenharmony_ci
1985bd8deadSopenharmony_ci
1995bd8deadSopenharmony_ci    Section 2.3 GL Command Syntax
2005bd8deadSopenharmony_ci
2015bd8deadSopenharmony_ci      Paragraph 3 is updated to include the 'x' suffix and
2025bd8deadSopenharmony_ci
2035bd8deadSopenharmony_ci      Table 2.1 is modified to include the row:
2045bd8deadSopenharmony_ci
2055bd8deadSopenharmony_ci      ---------------
2065bd8deadSopenharmony_ci      | x |  fixed  |
2075bd8deadSopenharmony_ci      ---------------
2085bd8deadSopenharmony_ci
2095bd8deadSopenharmony_ci      Table 2.2 is modified to include the rows:
2105bd8deadSopenharmony_ci
2115bd8deadSopenharmony_ci      --------------------------------------------------------------
2125bd8deadSopenharmony_ci      | fixed  |  32  | signed 2's complement S15.16 scaled integer|
2135bd8deadSopenharmony_ci      --------------------------------------------------------------
2145bd8deadSopenharmony_ci      | clampx |  32  | S15.16 scaled integer clamped to [0, 1]    |
2155bd8deadSopenharmony_ci      --------------------------------------------------------------
2165bd8deadSopenharmony_ci
2175bd8deadSopenharmony_ci      and the count of the number of rows in the text is changed to 16.
2185bd8deadSopenharmony_ci
2195bd8deadSopenharmony_ci      Add paragraph
2205bd8deadSopenharmony_ci
2215bd8deadSopenharmony_ci      The mapping of GL data types to data types of a specific
2225bd8deadSopenharmony_ci      language binding are part of the language binding definition and
2235bd8deadSopenharmony_ci      may be platform-dependent.  Type conversion and type promotion
2245bd8deadSopenharmony_ci      behavior when mixing actual and formal arguments of different
2255bd8deadSopenharmony_ci      data types are specific to the language binding and platform.
2265bd8deadSopenharmony_ci      For example, the C language includes automatic conversion
2275bd8deadSopenharmony_ci      between integer and floating-point data types, but does not
2285bd8deadSopenharmony_ci      include automatic conversion between the int and fixed or
2295bd8deadSopenharmony_ci      float and fixed GL types since the fixed data type is not a
2305bd8deadSopenharmony_ci      distinct built-in type.  Regardless of language binding,
2315bd8deadSopenharmony_ci      the enum type converts to fixed-point without scaling and
2325bd8deadSopenharmony_ci      integer types are converted by multiplying by 2^16.
2335bd8deadSopenharmony_ci
2345bd8deadSopenharmony_ci
2355bd8deadSopenharmony_ci
2365bd8deadSopenharmony_ci    Section 2.7 Vertex Specification
2375bd8deadSopenharmony_ci
2385bd8deadSopenharmony_ci      Commands are revised to included 'x' suffix.
2395bd8deadSopenharmony_ci
2405bd8deadSopenharmony_ci    Section 2.8 Vertex Arrays
2415bd8deadSopenharmony_ci
2425bd8deadSopenharmony_ci      Table 2.4 Vertex Array Sizes is revised to include the 'fixed' type
2435bd8deadSopenharmony_ci      for all commands except EdgeFlagPointer.
2445bd8deadSopenharmony_ci
2455bd8deadSopenharmony_ci      References to Vertex command suffixes are revised to include 'x'.
2465bd8deadSopenharmony_ci
2475bd8deadSopenharmony_ci    Section 2.9 Rectangles
2485bd8deadSopenharmony_ci
2495bd8deadSopenharmony_ci      Revise to include 'x' suffix.
2505bd8deadSopenharmony_ci
2515bd8deadSopenharmony_ci    Section 2.10 Coordinate Transformations
2525bd8deadSopenharmony_ci
2535bd8deadSopenharmony_ci      Revise to include 'x' suffix.  Section 2.10.1 describes clampx.
2545bd8deadSopenharmony_ci      Add alternate suffixed versions of Ortho and Frustum.
2555bd8deadSopenharmony_ci
2565bd8deadSopenharmony_ci    Section 2.11 Clipping
2575bd8deadSopenharmony_ci
2585bd8deadSopenharmony_ci      Add alternate suffixed version of ClipPlane.
2595bd8deadSopenharmony_ci
2605bd8deadSopenharmony_ci    Section 2.12 Current Raster Position
2615bd8deadSopenharmony_ci
2625bd8deadSopenharmony_ci      Revise to include 'x' suffix.
2635bd8deadSopenharmony_ci
2645bd8deadSopenharmony_ci    Section 2.13 Colors and Coloring
2655bd8deadSopenharmony_ci
2665bd8deadSopenharmony_ci      Revise to include 'x' suffix and
2675bd8deadSopenharmony_ci      Table 2.6 is modified to include row:
2685bd8deadSopenharmony_ci
2695bd8deadSopenharmony_ci      ---------------
2705bd8deadSopenharmony_ci      | fixed |  c  |
2715bd8deadSopenharmony_ci      ---------------
2725bd8deadSopenharmony_ci
2735bd8deadSopenharmony_ci
2745bd8deadSopenharmony_ciAdditions to Chapter 3 of the OpenGL 1.3 Specification (Rasterization)
2755bd8deadSopenharmony_ci
2765bd8deadSopenharmony_ci    Section 3.3 Points
2775bd8deadSopenharmony_ci
2785bd8deadSopenharmony_ci      Add alternate suffixed PointSize command.
2795bd8deadSopenharmony_ci
2805bd8deadSopenharmony_ci    Section 3.4 Line Segments
2815bd8deadSopenharmony_ci
2825bd8deadSopenharmony_ci      Add alternate suffixed LineWidth command.
2835bd8deadSopenharmony_ci
2845bd8deadSopenharmony_ci    Section 3.5 Polygons
2855bd8deadSopenharmony_ci
2865bd8deadSopenharmony_ci      Add alternate suffixed PolygonOffset command.
2875bd8deadSopenharmony_ci
2885bd8deadSopenharmony_ci    Section 3.6 Pixel Rectangles
2895bd8deadSopenharmony_ci
2905bd8deadSopenharmony_ci      Revise to include 'x' suffix on PixelStore, PixelTransfer, PixelMap,
2915bd8deadSopenharmony_ci      ConvolutionParameter.
2925bd8deadSopenharmony_ci
2935bd8deadSopenharmony_ci      Table 3.5 is modified to include row:
2945bd8deadSopenharmony_ci
2955bd8deadSopenharmony_ci      ----------------------
2965bd8deadSopenharmony_ci      | FIXED | fixed | No |
2975bd8deadSopenharmony_ci      ----------------------
2985bd8deadSopenharmony_ci
2995bd8deadSopenharmony_ci      Add alternate suffixed PixelZoom to Section 3.6.5
3005bd8deadSopenharmony_ci
3015bd8deadSopenharmony_ci    Section 3.7 Bitmaps
3025bd8deadSopenharmony_ci
3035bd8deadSopenharmony_ci      Add alternate suffixed Bitmap command.
3045bd8deadSopenharmony_ci
3055bd8deadSopenharmony_ci    Section 3.8 Texturing
3065bd8deadSopenharmony_ci
3075bd8deadSopenharmony_ci      Revise to include 'x' suffix in TexParameter (Section 3.8.4).
3085bd8deadSopenharmony_ci
3095bd8deadSopenharmony_ci      Add alternate suffixed PrioritizeTextures command (Section 3.8.11).
3105bd8deadSopenharmony_ci
3115bd8deadSopenharmony_ci      Revise to include 'x' suffix in TexEnv (Section 3.8.12).
3125bd8deadSopenharmony_ci
3135bd8deadSopenharmony_ci    Section 3.10 Fog
3145bd8deadSopenharmony_ci
3155bd8deadSopenharmony_ci      Revise to include ;x; suffix in Fog command.
3165bd8deadSopenharmony_ci
3175bd8deadSopenharmony_ci
3185bd8deadSopenharmony_ciAdditions to Chapter 4 of the OpenGL 1.3 Specification (Per-Fragment
3195bd8deadSopenharmony_ciOperations and the Frame Buffer)
3205bd8deadSopenharmony_ci
3215bd8deadSopenharmony_ci    Section 4.1 Fragment Operations
3225bd8deadSopenharmony_ci
3235bd8deadSopenharmony_ci      Add alternate suffixed SampleCoveragex (Section 4.1.3), AlphaFunc
3245bd8deadSopenharmony_ci      (Section 4.1.4), and BlendColor (Section 4.1.7) commands.
3255bd8deadSopenharmony_ci
3265bd8deadSopenharmony_ci    Section 4.2 Whole Framebuffer Operations
3275bd8deadSopenharmony_ci
3285bd8deadSopenharmony_ci      Add alternate suffixed ClearColor, ClearDepth, and ClearAccum commands
3295bd8deadSopenharmony_ci      (Section 4.2.3).
3305bd8deadSopenharmony_ci
3315bd8deadSopenharmony_ci      Add alternate suffixed Accum command (Section 4.2.4).
3325bd8deadSopenharmony_ci
3335bd8deadSopenharmony_ci
3345bd8deadSopenharmony_ciAdditions to Chapter 5 of the OpenGL 1.3 Specification (Special Functions)
3355bd8deadSopenharmony_ci
3365bd8deadSopenharmony_ci    Section 5.1 Evaluators
3375bd8deadSopenharmony_ci
3385bd8deadSopenharmony_ci      Revise to include 'x' suffix on Map1, Map2, Map1Grid, and Map2Grid
3395bd8deadSopenharmony_ci      commands.
3405bd8deadSopenharmony_ci
3415bd8deadSopenharmony_ci    Section 5.3 Feedback
3425bd8deadSopenharmony_ci
3435bd8deadSopenharmony_ci      Add alternate suffixed FeedbackBuffer and PassThrough commands.
3445bd8deadSopenharmony_ci      Revise Figure 5.2 to indicate 'f' values may also be 'x' values.
3455bd8deadSopenharmony_ci
3465bd8deadSopenharmony_ciAdditions to Chapter 6 of the OpenGL 1.3 Specification (State and
3475bd8deadSopenharmony_ciState Requests)
3485bd8deadSopenharmony_ci
3495bd8deadSopenharmony_ci      Add GetFixedv to Section 6.1.1.  Revise Section 6.1.2 to
3505bd8deadSopenharmony_ci      include implied conversions for GetFixedv.
3515bd8deadSopenharmony_ci
3525bd8deadSopenharmony_ci      Revise to include 'x' suffix for GetClipPlane, GetLightm GetMaterial,
3535bd8deadSopenharmony_ci      GetTexEnv, GetTexGen, GetTexParameter, GetTexLevelParameter,
3545bd8deadSopenharmony_ci      GetPixelMap, and GetMap in Section 6.1.3.
3555bd8deadSopenharmony_ci
3565bd8deadSopenharmony_ci      Revise to include 'x' suffix for GetHistogramParameter (Section 6.1.9).
3575bd8deadSopenharmony_ci
3585bd8deadSopenharmony_ci    Section 6.2 State Tables
3595bd8deadSopenharmony_ci
3605bd8deadSopenharmony_ci      Revise intro paragraph to include GetFixedv.
3615bd8deadSopenharmony_ci
3625bd8deadSopenharmony_ciAdditions to Appendix A of the OpenGL 1.3 Specification (Invariance)
3635bd8deadSopenharmony_ci
3645bd8deadSopenharmony_ci    None
3655bd8deadSopenharmony_ci
3665bd8deadSopenharmony_ciAdditions to the AGL/GLX/WGL Specifications
3675bd8deadSopenharmony_ci
3685bd8deadSopenharmony_ci    None
3695bd8deadSopenharmony_ci
3705bd8deadSopenharmony_ciAdditions to the WGL Specification
3715bd8deadSopenharmony_ci
3725bd8deadSopenharmony_ci    None
3735bd8deadSopenharmony_ci
3745bd8deadSopenharmony_ciAdditions to the AGL Specification
3755bd8deadSopenharmony_ci
3765bd8deadSopenharmony_ci    None
3775bd8deadSopenharmony_ci
3785bd8deadSopenharmony_ciAdditions to Chapter 2 of the GLX 1.3 Specification (GLX Operation)
3795bd8deadSopenharmony_ci
3805bd8deadSopenharmony_ci    The data representation is client-side only.  The GLX layer
3815bd8deadSopenharmony_ci    performs translation between fixed and float representations.
3825bd8deadSopenharmony_ci
3835bd8deadSopenharmony_ciAdditions to Chapter 3 of the GLX 1.3 Specification (Functions and Errors)
3845bd8deadSopenharmony_ci
3855bd8deadSopenharmony_ciAdditions to Chapter 4 of the GLX 1.3 Specification (Encoding on the X
3865bd8deadSopenharmony_ciByte Stream)
3875bd8deadSopenharmony_ci
3885bd8deadSopenharmony_ciAdditions to Chapter 5 of the GLX 1.3 Specification (Extending OpenGL)
3895bd8deadSopenharmony_ci
3905bd8deadSopenharmony_ciAdditions to Chapter 6 of the GLX 1.3 Specification (GLX Versions)
3915bd8deadSopenharmony_ci
3925bd8deadSopenharmony_ciGLX Protocol
3935bd8deadSopenharmony_ci
3945bd8deadSopenharmony_ci    Fixed type entry points are mapped on the client-side to the
3955bd8deadSopenharmony_ci    appropriate floating-point command protocol.  To preserve precision,
3965bd8deadSopenharmony_ci    double-precision protocol is encouraged, but not required.
3975bd8deadSopenharmony_ci
3985bd8deadSopenharmony_ciErrors
3995bd8deadSopenharmony_ci
4005bd8deadSopenharmony_ci    None
4015bd8deadSopenharmony_ci
4025bd8deadSopenharmony_ciNew State
4035bd8deadSopenharmony_ci
4045bd8deadSopenharmony_ci    None
4055bd8deadSopenharmony_ci
4065bd8deadSopenharmony_ciNew Implementation Dependent State
4075bd8deadSopenharmony_ci
4085bd8deadSopenharmony_ci    None
4095bd8deadSopenharmony_ci
4105bd8deadSopenharmony_ciRevision History
4115bd8deadSopenharmony_ci
4125bd8deadSopenharmony_ci    12/15/2002    0.1
4135bd8deadSopenharmony_ci        - Original draft.
4145bd8deadSopenharmony_ci
4155bd8deadSopenharmony_ci    03/31/2003    0.2
4165bd8deadSopenharmony_ci        - Corrected a typo in GetClipPlanex and FIXED_OES.
4175bd8deadSopenharmony_ci
4185bd8deadSopenharmony_ci    04/24/2003    0.3
4195bd8deadSopenharmony_ci        - Added clarification that enums must be converted to fixed
4205bd8deadSopenharmony_ci          by scaling when passed in a fixed parameter type.  Corrected
4215bd8deadSopenharmony_ci          some typos.
4225bd8deadSopenharmony_ci
4235bd8deadSopenharmony_ci    05/29/2003    0.4
4245bd8deadSopenharmony_ci        - Changed enums to be passed unscaled when passed to a
4255bd8deadSopenharmony_ci          fixed formal parameter.
4265bd8deadSopenharmony_ci
4275bd8deadSopenharmony_ci    07/08/2003    0.5
4285bd8deadSopenharmony_ci        - Removed bogus Dependencies on section
4295bd8deadSopenharmony_ci        - Added extension number and enumerant value
4305bd8deadSopenharmony_ci
4315bd8deadSopenharmony_ci    07/11/2003    0.6
4325bd8deadSopenharmony_ci        - Added OES suffixes
4335bd8deadSopenharmony_ci
4345bd8deadSopenharmony_ci    07/12/2003    0.7
4355bd8deadSopenharmony_ci        - Added note about GLX protocol
4365bd8deadSopenharmony_ci
4375bd8deadSopenharmony_ci    06/16/2004    0.8
4385bd8deadSopenharmony_ci        - Added ClipPlanex, and various Get functions
4395bd8deadSopenharmony_ci
4405bd8deadSopenharmony_ci    04/27/2015    1.0 (Jon Leech)
4415bd8deadSopenharmony_ci        - Replace SampleCoverageOES with SampleCoveragexOES, to match the
4425bd8deadSopenharmony_ci          specfile / headers (Bug 13591).
443