1 2 Mesa 6.1 release notes 3 4 August 18, 2004 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 6.1) designate new developmental releases. 15Even numbered versions (such as 6.0) designate stable releases. 16 17 18New Features 19------------ 20 21Half-precision floating point (GLhalf) pixel formats are supported 22in Mesa, but the feature isn't exposed yet since the ARB extension 23hasn't been finalized yet. 24 25 26Texture image handling 27---------------------- 28 29The code which implements image conversion, pixel transfer ops, etc 30for glTexImage commands has been rewritten. 31 32Now the gl_texture_format struct has a new StoreImage function 33pointer. Each texture format must implement this function. The 34function is totally responsible for converting the user's texture 35image into the specific format. A few helper functions makes this 36relatively simple. 37 38Overall, the code is much simpler, cleaner and easier to work with 39now. Adding new texture formats is straight-forward and there's no 40longer any distinction between "hardware" and "software" formats. 41 42Finally, the code for compressed texture images has been reorganized 43as well. 44 45Removed files: 46 texutil.c 47 texutil.h 48 texutil_tmp.h 49 50New files: 51 texcompress_s3tc.c 52 texcompress_fxt1.c 53 54 55 56Driver / context changes 57------------------------ 58 59The _mesa_create_context() and _mesa_initialize_context() function 60parameters have changed. They now take a pointer to a struct 61dd_function_table. Drivers can initialize this table by calling 62_mesa_init_driver_functions(). Drivers should then plug in the special 63functions they implement. In particular, the ctx->Driver.NewTextureObject 64pointer _must_ be set so that the default texture objects created in 65_mesa_create/initialize_context() are correctly built. 66 67The _mesa_init_driver_functions() function allows a lot of redundant code 68to be removed from the device drivers (such as initializing 69ctx->Driver.Accum to point to _swrast_Accum). Adding new functions to 70the dd_function_table can be done with less hassle since the pointer can 71be initialized in _mesa_init_driver_functions() rather than in _all_ the 72drivers. 73 74 75Device Drivers 76-------------- 77 78Mesa advertises itself as supporting OpenGL 1.2, 1.3, 1.4 or 1.5 79depending on the device driver's capabilities. For example, if the 80driver enables all the ARB extensions which are part of OpenGL 1.5 81then glGetString(GL_VERSION) will return "1.5". Otherwise, it'll 82return "1.4" or the next lower version that implements all required 83functionality. 84 85A number of Mesa's software drivers haven't been actively maintained for 86some time. We rely on volunteers to maintain many of the drivers. 87Here's the current status of all included drivers: 88 89Driver Status 90---------------------- --------------------- 91XMesa (Xlib) implements OpenGL 1.5 92OSMesa (off-screen) implements OpenGL 1.5 93Glide (3dfx Voodoo1/2) implements OpenGL 1.3 94SVGA implements OpenGL 1.3 95Wind River UGL implements OpenGL 1.3 96Windows/Win32 implements OpenGL 1.5 97DJGPP implements OpenGL 1.5 98GGI implements OpenGL 1.3 99BeOS implements OpenGL 1.5 100Allegro needs updating 101D3D needs updating 102 103 104 105Other Changes 106------------- 107 108See the VERSIONS file for more details about bug fixes, etc. in Mesa 6.1. 109 110 111---------------------------------------------------------------------- 112