RELNOTES-3.5 revision eb11fa73ec505278fa9e7c9a1592bd1f5fd11770
1 2 Mesa 3.5 release notes 3 4 Month ??, 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.3) designate new developmental releases. 15Even numbered versions (such as 3.4) designate stable releases. 16 17The internal structure of Mesa 3.5 is (will be) changed so that it 18is more modular. The motivation is better support of 3D hardware 19such as T&L hardware in which much of core Mesa isn't needed. 20 21Details to come... 22 23 24GLU 1.3 25------- 26 27Mesa 3.5 includes the SGI Sample Implementation (SI) GLU library. 28This version of GLU supports the GLU 1.3 specification. The old 29Mesa GLU library implemented the 1.1 specification. The SI GLU 30library should work much better. 31 32You'll need a C++ compiler to compile the SI GLU library. This may 33be a problem on some systems. 34 35 36 37New Extensions 38-------------- 39 40GL_EXT_convolution 41 Adds image convolution to glRead/Copy/DrawPixels/TexImage. 42 43GL_ARB_imaging 44 This is the optional imaging subset of OpenGL 1.2. 45 It's the GL_EXT_convolution, GL_HP_convolution_border_modes, 46 GL_EXT_histogram, GL_EXT_color_table, GL_EXT_color_subtable 47 GL_EXT_blend_color, GL_EXT_blend_minmax, GL_EXT_blend_subtract 48 and GL_SGI_color_matrix extensions all rolled together. 49 This is supported in all software renderers but not in all 50 hardware drivers (3dfx for example). 51 52GL_ARB_texture_compression 53 This is supported in Mesa but only used by the 3dfx DRI drivers 54 for Voodoo4 and later. 55 56GL_ARB_texture_env_add 57 This is identical to GL_EXT_texture_env_add. 58 59GL_NV_blend_square 60 Adds extra blend source and dest factors which allow squaring 61 of color values. 62 63GL_EXT_fog_coord 64 Allows specification of a per-vertex fog coordinate instead of 65 having fog always computed from the eye distance. 66 67GL_EXT_secondary_color 68 Allows specifying the secondary (specular) color for each vertex 69 instead of getting it only from lighting in GL_SEPARATE_SPECULAR_COLOR 70 mode. 71 72 73 74libOSMesa.so 75------------ 76 77libOSMesa.so is a new library which contains the OSMesa interface for 78off-screen rendering. Apps which need the OSMesa interface should link 79with both -lOSMesa and -lGL. This change was made so that stand-alone 80Mesa works the same way as XFree86/DRI's libGL. 81 82 83 84Device Driver Changes / Core Mesa Changes 85----------------------------------------- 86 87The ctx->Driver.LogicOp() function has been removed. It used to 88be called during state update in order to determine if the driver 89could do glLogicOp() operations, and if not, set the SWLogicOpEnabled 90flag. Drivers should instead examine the LogicOp state themselves 91and choose specialized point, line, and triangle functions appropriately, 92or fall back to software rendering. The Xlib driver was the only driver 93to use this function. And since the Xlib driver no longer draws 94points, lines or triangles using Xlib, the LogicOp function isn't needed. 95 96The ctx->Driver.Dither() function has been removed. Drivers should 97detect dither enable/disable via ctx->Driver.Enable() instead. 98 99The ctx->Driver.IndexMask() and ctx->Driver.ColorMask() functions 100are now just called from glIndexMask and glColorMask like the other 101GL state-changing functions. They are no longer called from inside 102gl_update_state(). Also, they now return void. The change was made 103mostly for sake of uniformity. 104 105The NEW_DRVSTATE[0123] flags have been removed. They weren't being used 106and are obsolete w.r.t. the way state updates are done in DRI drivers. 107 108 109Removed obsolete gl_create_visual() and gl_destroy_visual(). 110 111Renamed functions (new namespace): 112 113old new 114gl_create_framebuffer _mesa_create_framebuffer 115gl_destroy_framebuffer _mesa_destroy_framebuffer 116gl_create_context _mesa_create_context 117gl_destroy_context _mesa_destroy_context 118gl_context_initialize _mesa_context_initialize 119gl_copy_context _mesa_copy_context 120gl_make_current _mesa_make_current 121gl_make_current2 _mesa_make_current2 122gl_get_current_context _mesa_get_current_context 123gl_flush_vb _mesa_flush_vb 124gl_warning _mesa_warning 125gl_compile_error _mesa_compile_error 126 127 128All the drivers have been updated, but not all of them have been 129tested since I can't test some platforms (DOS, Windows, Allegro, etc). 130 131 132Multitexture 133------------ 134 135Three texture units are now supported by default. We'll allow more 136than three texture units when we fix some bitfield issues. In at least 137one place we have a 32-bit bitfield which is fully allocated, leaving 138no space for texture unit #3 or higher. 139 140The TEXTURE1_1D, TEXTURE1_2D, etc constants may go away in the future. 141Currently, they're only used in the ctx->Texture.ReallyEnabled field. 142This bitfield is just a conglomerate of ctx->Texture.Unit[i].ReallyEnabled 143for all <i> texture units. ctx->Texture.ReallyEnabled may become a 144GLboolean. Then, drivers will have to loop over the texture units to 145examine ctx->Texture.Unit[i].ReallyEnabled. 146 147 148 149 150 151 152OpenGL SI related changes 153------------------------- 154 155In an effort to make Mesa's internal interfaces more like the OpenGL 156SI interfaces, a number of changes have been made: 157 1581. Importing the SI's glcore.h file which defines a number of 159interface structures like __GLimports and __GLexports. 160 1612. Renamed "struct gl_context" to "struct __GLcontextRec". 162 1633. Added __glCoreCreateContext() and __glCoreNopDispatch() functions. 164 1654. The GLcontext member Visual is no longer a pointer. 166 1675. New file: imports.c to setup default import functions for Mesa. 168 169 170---------------------------------------------------------------------- 171$Id: RELNOTES-3.5,v 1.9 2001/03/17 00:47:19 brianp Exp $ 172