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