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