RELNOTES-3.3 revision ad08108616b8ec0e64cc84ae2e93db44b33c1d5e
1 2 Mesa 3.3 release notes 3 4 PLEASE READ!!!! 5 6 7 8 9Header file / GLenum changes 10---------------------------- 11 12The gl.h and glu.h headers now use #defines to define all GL_* tokens 13instead of C-language enums. This change improves Mesa/OpenGL 14interoperability. 15 16 17 18New API dispatch code 19--------------------- 20 21The core Mesa gl* functions are now implemented with a new dispatch 22(jump table) which will allow simultaneous direct/indirect rendering. 23 24The code is found in the glapi*.[ch] files. 25 26Of interest: the actual "glFooBar" functions are generated with 27templatized code defined in glapitemp.h and included by glapi.c 28The glapitemp.h template should be reusable for all sorts of OpenGL 29projects. 30 31 32New thread support 33------------------ 34 35Thread support in Mesa has been rewritten. The glthread.[ch] files 36replace mthreads.[ch]. Thread safety is always enabled (on platforms 37which support threads, that is). There is virtually no performance 38penalty for typical single-thread applications. See the glapi.c 39file for details. 40 41 42 43Make configuration changes 44-------------------------- 45 46If you use the old-style (non GNU automake) method to build Mesa note 47that several of the configuration names have changed: 48 49 Old name New name 50 ------------- ---------------- 51 linux-elf linux 52 linux linux-static 53 linux-386-elf linux-386 54 linux-386 linux-386-static 55 etc. 56 57 58 59New extensions 60-------------- 61 62GL_EXT_transpose_matrix 63 Adds glLoadTransposeMatrix() and glMultTransposeMatrix() functions. 64 See http://reality.sgi.com/opengl/arb/extensions/ext_text/GL_EXT_transpose_matrix.txt 65 66GL_EXT_texture_add_env 67 Adds GL_ADD texture environment mode. 68 See http://www.berkelium.com/OpenGL/EXT/texture_env_add.txt 69 70GL_EXT_texture_lod_bias 71 Allows mipmapped texture blurring and sharpening. 72 73GLX_EXT_visual_rating extension 74 This extension has no effect in stand-alone Mesa (used for DRI). 75 76GL_HP_occlusion_test 77 Used for bounding box occlusion testing (see demos/occlude.c). 78 79GL_SGIX_pixel_texture / GL_SGIS_pixel_texture 80 Lets glDraw/CopyPixels draw a texture coordinate image. 81 82GL_SGI_color_matrix 83 Adds a color matrix and another set of scale and bias parameters 84 to the glDraw/CopyPixels paths. 85 86GL_SGI_color_table 87 Adds additional color tables to the glDraw/Read/CopyPixels paths. 88 89GL_EXT_histogram 90 Compute histograms for glDraw/Read/CopyPixels. 91 92 93 94GLX_SGI_make_current_read functionality 95--------------------------------------- 96 97The functionality of this extension is needed for GLX 1.3 (and required 98for the Linux/OpenGL standards base). 99 100Implementing this function required a **DEVICE DRIVER CHANGE**. 101The old SetBuffer() function has been replaced by SetReadBuffer() and 102SetDrawBuffer(). All device drivers will have to be updated because 103of this change. 104 105The new function, glXMakeContextCurrent(), in GLX 1.3 now works in Mesa. 106The xdemos/wincopy.c program demonstrates it. 107 108 109 110Image-related code changes 111-------------------------- 112 113The imaging path code used by glDrawPixels, glTexImage[123]D, 114glTexSubImage[123], etc has been rewritten. It's now faster, 115uses less memory and has several bug fixes. This work was 116actually started in Mesa 3.1 with the glTexImage paths but has now 117been carried over to glDrawPixels as well. 118 119 120 121Device driver interface changes 122------------------------------- 123 124Added new functions for hardware stencil buffer support: 125 WriteStencilSpan 126 ReadStencilSpan 127 WriteStencilPixels 128 ReadStencilPixels 129 130 131Removed old depth buffer functions: 132 AllocDepthBuffer 133 DepthTestSpan 134 DepthTestPixels 135 ReadDepthSpanFloat 136 ReadDepthSpanInt 137 138 139Added new depth buffer functions: 140 WriteDepthSpan 141 ReadDepthSpan 142 WriteDepthPixels 143 ReadDepthPixels 144 145 These functions always read/write 32-bit GLuints. This will allow 146 drivers to have anywhere from 0 to 32-bit Z buffers without 147 recompiling for 16 vs 32 bits as was previously needed. 148 149 150New texture image functions 151 The entire interface for texture image specification has been updated. 152 With the new functions, it's optional for Mesa to keep an internal copy 153 of all textures. Texture download should be a lot faster when the extra 154 copy isn't made. 155 156Misc changes 157 TexEnv now takes a target argument 158 Removed UseGlobalTexturePalette (use Enable function instead) 159 160 161Also added 162 ReadPixels 163 CopyPixels 164 165 166The SetBufffer function has been replaced by SetDrawBuffer and 167SetReadBuffer functions. This lets core Mesa independently 168specify which buffer is to be used for reading and which for 169drawing. 170 171The Clear function's mask parameter has changed. Instead of 172mask being the flags specified by the user to glClear, the 173mask is now a bitmask of the DD_*_BIT flags in dd.h. Now 174multiple color buffers can be specified for clearing (ala 175glDrawBuffers). The driver's Clear function must also 176check the glColorMask glIndexMask, and glStencilMask settings 177and do the right thing. See the X/Mesa, OS/Mesa, or FX/Mesa 178drivers for examples. 179 180 181The depth buffer changes shouldn't be hard to make for existing 182drivers. In fact, it should simply the code. Be careful with 183the depthBits value passed to gl_create_context(). 1 is a bad 184value! It should normally be 0, 16, 24, or 32. 185 186 187gl_create_framebuffer() takes new arguments which explicitly tell 188core Mesa which ancillary buffers (depth, stencil, accum, alpha) 189should be implemented in software. Mesa hardware drivers should 190carefully set these flags depending on which buffers are in the 191graphics card. 192 193 194 195Internal constants 196------------------ 197 198Point and line size range and granularity limits are now stored 199in the gl_constants struct, which is the Const member of GLcontext. 200The limits are initialized from values in config.h but may be 201overridden by device drivers to reflect the limits of that driver's 202hardware. 203 204Also added constants for NumAuxBuffers and SubPixelBits. 205 206 207 208 209---------------------------------------------------------------------- 210$Id: RELNOTES-3.3,v 1.4 2000/05/04 13:50:33 brianp Exp $ 211