9 Header file / GLenum changes
10 ----------------------------
12 The gl.h and glu.h headers now use #defines to define all GL_* tokens
13 instead of C-language enums. This change improves Mesa/OpenGL
21 The core Mesa gl* functions are now implemented with a new dispatch
22 (jump table) which will allow simultaneous direct/indirect rendering.
24 The code is found in the glapi*.[ch] files.
26 Of interest: the actual "glFooBar" functions are generated with
27 templatized code defined in glapitemp.h and included by glapi.c
28 The glapitemp.h template should be reusable for all sorts of OpenGL
35 Thread support in Mesa has been rewritten. The glthread.[ch] files
36 replace mthreads.[ch]. Thread safety is always enabled (on platforms
37 which support threads, that is). There is virtually no performance
38 penalty for typical single-thread applications. See the glapi.c
43 Make configuration changes
44 --------------------------
46 If you use the old-style (non GNU automake) method to build Mesa note
47 that several of the configuration names have changed:
50 ------------- ----------------
53 linux-386-elf linux-386
54 linux-386 linux-386-static
62 GL_ARB_transpose_matrix
63 Adds glLoadTransposeMatrixARB() and glMultTransposeMatrixARB()
66 GL_ARB_texture_cube_map
67 For cube-based reflection mapping.
69 GL_EXT_texture_add_env
70 Adds GL_ADD texture environment mode.
71 See http://www.berkelium.com/OpenGL/EXT/texture_env_add.txt
73 GL_EXT_texture_lod_bias
74 Allows mipmapped texture blurring and sharpening.
76 GLX_EXT_visual_rating extension
77 This extension has no effect in stand-alone Mesa (used for DRI).
80 Used for bounding box occlusion testing (see demos/occlude.c).
82 GL_SGIX_pixel_texture / GL_SGIS_pixel_texture
83 Lets glDraw/CopyPixels draw a texture coordinate image.
86 Adds a color matrix and another set of scale and bias parameters
87 to the glDraw/CopyPixels paths.
90 Adds additional color tables to the glDraw/Read/CopyPixels paths.
93 Compute histograms for glDraw/Read/CopyPixels.
95 GL_EXT_blend_func_separate
96 This is the same as GL_INGR_blend_func_separate.
98 Documentation for all these functions can be found at
99 http://oss.sgi.com/projects/ogl-sample/registry/
103 GLX_SGI_make_current_read functionality
104 ---------------------------------------
106 The functionality of this extension is needed for GLX 1.3 (and required
107 for the Linux/OpenGL standards base).
109 Implementing this function required a **DEVICE DRIVER CHANGE**.
110 The old SetBuffer() function has been replaced by SetReadBuffer() and
111 SetDrawBuffer(). All device drivers will have to be updated because
114 The new function, glXMakeContextCurrent(), in GLX 1.3 now works in Mesa.
115 The xdemos/wincopy.c program demonstrates it.
119 Image-related code changes
120 --------------------------
122 The imaging path code used by glDrawPixels, glTexImage[123]D,
123 glTexSubImage[123], etc has been rewritten. It's now faster,
124 uses less memory and has several bug fixes. This work was
125 actually started in Mesa 3.1 with the glTexImage paths but has now
126 been carried over to glDrawPixels as well.
130 Device driver interface changes
131 -------------------------------
133 Added new functions for hardware stencil buffer support:
140 Removed old depth buffer functions:
148 Added new depth buffer functions:
154 These functions always read/write 32-bit GLuints. This will allow
155 drivers to have anywhere from 0 to 32-bit Z buffers without
156 recompiling for 16 vs 32 bits as was previously needed.
159 New texture image functions
160 The entire interface for texture image specification has been updated.
161 With the new functions, it's optional for Mesa to keep an internal copy
162 of all textures. Texture download should be a lot faster when the extra
166 TexEnv now takes a target argument
167 Removed UseGlobalTexturePalette (use Enable function instead)
175 The SetBufffer function has been replaced by SetDrawBuffer and
176 SetReadBuffer functions. This lets core Mesa independently
177 specify which buffer is to be used for reading and which for
180 The Clear function's mask parameter has changed. Instead of
181 mask being the flags specified by the user to glClear, the
182 mask is now a bitmask of the DD_*_BIT flags in dd.h. Now
183 multiple color buffers can be specified for clearing (ala
184 glDrawBuffers). The driver's Clear function must also
185 check the glColorMask glIndexMask, and glStencilMask settings
186 and do the right thing. See the X/Mesa, OS/Mesa, or FX/Mesa
187 drivers for examples.
190 The depth buffer changes shouldn't be hard to make for existing
191 drivers. In fact, it should simply the code. Be careful with
192 the depthBits value passed to gl_create_context(). 1 is a bad
193 value! It should normally be 0, 16, 24, or 32.
196 gl_create_framebuffer() takes new arguments which explicitly tell
197 core Mesa which ancillary buffers (depth, stencil, accum, alpha)
198 should be implemented in software. Mesa hardware drivers should
199 carefully set these flags depending on which buffers are in the
207 Point and line size range and granularity limits are now stored
208 in the gl_constants struct, which is the Const member of GLcontext.
209 The limits are initialized from values in config.h but may be
210 overridden by device drivers to reflect the limits of that driver's
213 Also added constants for NumAuxBuffers and SubPixelBits.
218 ----------------------------------------------------------------------
219 $Id: RELNOTES-3.3,v 1.6 2000/05/26 14:45:25 brianp Exp $