RELNOTES-3.5 revision 43caa5c09a5059c1ee05f5ecc7030f5a1c642531
1 2 Mesa 3.5 release notes 3 4 May ??, 2001 5 6 PLEASE READ!!!! 7 8 9 10Introduction 11------------ 12 13Mesa uses an even/odd version number scheme like the Linux kernel. 14Odd numbered versions (such as 3.5) designate new developmental releases. 15Even numbered versions (such as 3.4) designate stable releases. 16 17The biggest change in Mesa 3.5 is a complete overhaul of the source 18code in order to make it more modular. This was driven by the DRI 19hardware drivers. It simplifies the DRI drivers and opens the door 20to hardware transform/clip/lighting (TCL). 21 22 23 24Driver Support 25-------------- 26 27The device driver interface in Mesa 3.5 has changed a lot since Mesa 3.4 28Not all of the older Mesa drivers have been updated. Here's the status: 29 30Driver Status 31---------------------- ----------- 32XMesa (Xlib) updated 33OSMesa (off-screen) updated 34FX (3dfx Voodoo1/2) updated 35SVGA updated 36GGI not updated 37Windows/Win32 not updated 38DOS/DJGPP not updated 39BeOS not updated 40Allegro not updated 41D3D not updated 42DOS not updated 43 44We're looking for volunteers to update the remaining drivers. Please 45post to the Mesa3d-dev mailing list if you can help. 46 47 48 49GLU 1.3 50------- 51 52Mesa 3.5 includes the SGI Sample Implementation (SI) GLU library. 53This version of GLU supports the GLU 1.3 specification. The old 54Mesa GLU library implemented the 1.1 specification. The SI GLU 55library should work much better. 56 57You'll need a C++ compiler to compile the SI GLU library. This may 58be a problem on some systems. 59 60 61 62New Extensions 63-------------- 64 65GL_EXT_convolution 66 Adds image convolution to glRead/Copy/DrawPixels/TexImage. 67 68GL_ARB_imaging 69 This is the optional imaging subset of OpenGL 1.2. 70 It's the GL_EXT_convolution, GL_HP_convolution_border_modes, 71 GL_EXT_histogram, GL_EXT_color_table, GL_EXT_color_subtable 72 GL_EXT_blend_color, GL_EXT_blend_minmax, GL_EXT_blend_subtract 73 and GL_SGI_color_matrix extensions all rolled together. 74 This is supported in all software renderers but not in all 75 hardware drivers (3dfx for example). 76 77GL_ARB_texture_compression 78 This is supported in Mesa but only used by the 3dfx DRI drivers 79 for Voodoo4 and later. 80 81GL_ARB_texture_env_add 82 This is identical to GL_EXT_texture_env_add. 83 84GL_NV_blend_square 85 Adds extra blend source and dest factors which allow squaring 86 of color values. 87 88GL_EXT_fog_coord 89 Allows specification of a per-vertex fog coordinate instead of 90 having fog always computed from the eye distance. 91 92GL_EXT_secondary_color 93 Allows specifying the secondary (specular) color for each vertex 94 instead of getting it only from lighting in GL_SEPARATE_SPECULAR_COLOR 95 mode. 96 97GL_ARB_texture_env_combine 98 Basically the same as GL_EXT_texture_env_combine 99 100GL_ARB_texture_env_add extension 101 Texture addition mode. 102 103GL_ARB_texture_env_dot3 extension 104 Dot product texture environment. 105 106GL_ARB_texture_border_clamp 107 Adds GL_CLAMP_TO_BORDER_ARB texture wrap mode 108 109GL_SGIX_depth_texture, GL_SGIX_shadow and GL_SGIX_shadow_ambient 110 Implements a shadow casting algorithm based on depth map textures 111 112 113 114libOSMesa.so 115------------ 116 117libOSMesa.so is a new library which contains the OSMesa interface for 118off-screen rendering. Apps which need the OSMesa interface should link 119with both -lOSMesa and -lGL. This change was made so that stand-alone 120Mesa works the same way as XFree86/DRI's libGL. 121 122 123 124Device Driver Changes / Core Mesa Changes 125----------------------------------------- 126 127The ctx->Driver.LogicOp() function has been removed. It used to 128be called during state update in order to determine if the driver 129could do glLogicOp() operations, and if not, set the SWLogicOpEnabled 130flag. Drivers should instead examine the LogicOp state themselves 131and choose specialized point, line, and triangle functions appropriately, 132or fall back to software rendering. The Xlib driver was the only driver 133to use this function. And since the Xlib driver no longer draws 134points, lines or triangles using Xlib, the LogicOp function isn't needed. 135 136The ctx->Driver.Dither() function has been removed. Drivers should 137detect dither enable/disable via ctx->Driver.Enable() instead. 138 139The ctx->Driver.IndexMask() and ctx->Driver.ColorMask() functions 140are now just called from glIndexMask and glColorMask like the other 141GL state-changing functions. They are no longer called from inside 142gl_update_state(). Also, they now return void. The change was made 143mostly for sake of uniformity. 144 145The NEW_DRVSTATE[0123] flags have been removed. They weren't being used 146and are obsolete w.r.t. the way state updates are done in DRI drivers. 147 148 149Removed obsolete gl_create_visual() and gl_destroy_visual(). 150 151Renamed functions (new namespace): 152 153old new 154gl_create_framebuffer _mesa_create_framebuffer 155gl_destroy_framebuffer _mesa_destroy_framebuffer 156gl_create_context _mesa_create_context 157gl_destroy_context _mesa_destroy_context 158gl_context_initialize _mesa_context_initialize 159gl_copy_context _mesa_copy_context 160gl_make_current _mesa_make_current 161gl_make_current2 _mesa_make_current2 162gl_get_current_context _mesa_get_current_context 163gl_flush_vb _mesa_flush_vb 164gl_warning _mesa_warning 165gl_compile_error _mesa_compile_error 166 167 168All the drivers have been updated, but not all of them have been 169tested since I can't test some platforms (DOS, Windows, Allegro, etc). 170 171 172X/Mesa Driver 173------------- 174 175The source files for the X/Mesa driver in src/X have been renamed. 176The xmesa[1234].c files are gone. The new files are xm_api.c, 177xm_dd.c, xm_line.c, xm_span.c and xm_tri.c. 178 179 180 181Multitexture 182------------ 183 184Eight texture units are now supported by default. 185 186 187 188OpenGL SI related changes 189------------------------- 190 191In an effort to make Mesa's internal interfaces more like the OpenGL 192SI interfaces, a number of changes have been made: 193 1941. Importing the SI's glcore.h file which defines a number of 195interface structures like __GLimports and __GLexports. 196 1972. Renamed "struct gl_context" to "struct __GLcontextRec". 198 1993. Added __glCoreCreateContext() and __glCoreNopDispatch() functions. 200 2014. The GLcontext member Visual is no longer a pointer. 202 2035. New file: imports.c to setup default import functions for Mesa. 204 205 206 207 20816-bit color channels 209--------------------- 210 211There's experimental support for 16-bit color channels (64-bit pixels) 212in Mesa 3.5. Only the OSMesa interface can be used for 16-bit rendering. 213Type "make linux-osmesa16" in the top-level directory to build the 214special libOSMesa16.so library. 215 216This hasn't been tested very thoroughly yet so please file bug reports 217if you have trouble. 218 219In the future I hope to implement support for 32-bit, floating point 220color channels. 221 222---------------------------------------------------------------------- 223$Id: RELNOTES-3.5,v 1.13 2001/05/04 17:42:53 brianp Exp $ 224