1*61046927SAndroid Build Coastguard Worker 2*61046927SAndroid Build Coastguard Worker Mesa 3.5 release notes 3*61046927SAndroid Build Coastguard Worker 4*61046927SAndroid Build Coastguard Worker June 21, 2001 5*61046927SAndroid Build Coastguard Worker 6*61046927SAndroid Build Coastguard Worker PLEASE READ!!!! 7*61046927SAndroid Build Coastguard Worker 8*61046927SAndroid Build Coastguard Worker 9*61046927SAndroid Build Coastguard Worker 10*61046927SAndroid Build Coastguard WorkerIntroduction 11*61046927SAndroid Build Coastguard Worker------------ 12*61046927SAndroid Build Coastguard Worker 13*61046927SAndroid Build Coastguard WorkerMesa uses an even/odd version number scheme like the Linux kernel. 14*61046927SAndroid Build Coastguard WorkerOdd numbered versions (such as 3.5) designate new developmental releases. 15*61046927SAndroid Build Coastguard WorkerEven numbered versions (such as 3.4) designate stable releases. 16*61046927SAndroid Build Coastguard Worker 17*61046927SAndroid Build Coastguard WorkerThe biggest change in Mesa 3.5 is a complete overhaul of the source 18*61046927SAndroid Build Coastguard Workercode in order to make it more modular. This was driven by the DRI 19*61046927SAndroid Build Coastguard Workerhardware drivers. It simplifies the DRI drivers and opens the door 20*61046927SAndroid Build Coastguard Workerto hardware transform/clip/lighting (TCL). Keith Whitwell can take 21*61046927SAndroid Build Coastguard Workerthe credit for that. 22*61046927SAndroid Build Coastguard Worker 23*61046927SAndroid Build Coastguard Worker 24*61046927SAndroid Build Coastguard Worker 25*61046927SAndroid Build Coastguard WorkerDriver Support 26*61046927SAndroid Build Coastguard Worker-------------- 27*61046927SAndroid Build Coastguard Worker 28*61046927SAndroid Build Coastguard WorkerThe device driver interface in Mesa 3.5 has changed a lot since Mesa 3.4 29*61046927SAndroid Build Coastguard WorkerNot all of the older Mesa drivers have been updated. Here's the status: 30*61046927SAndroid Build Coastguard Worker 31*61046927SAndroid Build Coastguard WorkerDriver Status 32*61046927SAndroid Build Coastguard Worker---------------------- ----------- 33*61046927SAndroid Build Coastguard WorkerXMesa (Xlib) updated 34*61046927SAndroid Build Coastguard WorkerOSMesa (off-screen) updated 35*61046927SAndroid Build Coastguard WorkerFX (3dfx Voodoo1/2) updated 36*61046927SAndroid Build Coastguard WorkerSVGA updated 37*61046927SAndroid Build Coastguard WorkerGGI not updated 38*61046927SAndroid Build Coastguard WorkerWindows/Win32 not updated 39*61046927SAndroid Build Coastguard WorkerDOS/DJGPP not updated 40*61046927SAndroid Build Coastguard WorkerBeOS not updated 41*61046927SAndroid Build Coastguard WorkerAllegro not updated 42*61046927SAndroid Build Coastguard WorkerD3D not updated 43*61046927SAndroid Build Coastguard WorkerDOS not updated 44*61046927SAndroid Build Coastguard Worker 45*61046927SAndroid Build Coastguard WorkerWe're looking for volunteers to update the remaining drivers. Please 46*61046927SAndroid Build Coastguard Workerpost to the Mesa3d-dev mailing list if you can help. 47*61046927SAndroid Build Coastguard Worker 48*61046927SAndroid Build Coastguard Worker 49*61046927SAndroid Build Coastguard Worker 50*61046927SAndroid Build Coastguard WorkerGLU 1.3 51*61046927SAndroid Build Coastguard Worker------- 52*61046927SAndroid Build Coastguard Worker 53*61046927SAndroid Build Coastguard WorkerMesa 3.5 includes the SGI Sample Implementation (SI) GLU library. 54*61046927SAndroid Build Coastguard WorkerThis version of GLU supports the GLU 1.3 specification. The old 55*61046927SAndroid Build Coastguard WorkerMesa GLU library implemented the 1.1 specification. The SI GLU 56*61046927SAndroid Build Coastguard Workerlibrary should work much better. 57*61046927SAndroid Build Coastguard Worker 58*61046927SAndroid Build Coastguard WorkerYou'll need a C++ compiler to compile the SI GLU library. This may 59*61046927SAndroid Build Coastguard Workerbe a problem on some systems. 60*61046927SAndroid Build Coastguard Worker 61*61046927SAndroid Build Coastguard Worker 62*61046927SAndroid Build Coastguard Worker 63*61046927SAndroid Build Coastguard WorkerNew Extensions 64*61046927SAndroid Build Coastguard Worker-------------- 65*61046927SAndroid Build Coastguard Worker 66*61046927SAndroid Build Coastguard WorkerGL_EXT_convolution 67*61046927SAndroid Build Coastguard Worker Adds image convolution to glRead/Copy/DrawPixels/TexImage. 68*61046927SAndroid Build Coastguard Worker 69*61046927SAndroid Build Coastguard WorkerGL_ARB_imaging 70*61046927SAndroid Build Coastguard Worker This is the optional imaging subset of OpenGL 1.2. 71*61046927SAndroid Build Coastguard Worker It's the GL_EXT_convolution, GL_HP_convolution_border_modes, 72*61046927SAndroid Build Coastguard Worker GL_EXT_histogram, GL_EXT_color_table, GL_EXT_color_subtable 73*61046927SAndroid Build Coastguard Worker GL_EXT_blend_color, GL_EXT_blend_minmax, GL_EXT_blend_subtract 74*61046927SAndroid Build Coastguard Worker and GL_SGI_color_matrix extensions all rolled together. 75*61046927SAndroid Build Coastguard Worker This is supported in all software renderers but not in all 76*61046927SAndroid Build Coastguard Worker hardware drivers (3dfx for example). 77*61046927SAndroid Build Coastguard Worker 78*61046927SAndroid Build Coastguard WorkerGL_ARB_texture_compression 79*61046927SAndroid Build Coastguard Worker This is supported in Mesa but only used by the 3dfx DRI drivers 80*61046927SAndroid Build Coastguard Worker for Voodoo4 and later. 81*61046927SAndroid Build Coastguard Worker 82*61046927SAndroid Build Coastguard WorkerGL_ARB_texture_env_add 83*61046927SAndroid Build Coastguard Worker This is identical to GL_EXT_texture_env_add. 84*61046927SAndroid Build Coastguard Worker 85*61046927SAndroid Build Coastguard WorkerGL_NV_blend_square 86*61046927SAndroid Build Coastguard Worker Adds extra blend source and dest factors which allow squaring 87*61046927SAndroid Build Coastguard Worker of color values. 88*61046927SAndroid Build Coastguard Worker 89*61046927SAndroid Build Coastguard WorkerGL_EXT_fog_coord 90*61046927SAndroid Build Coastguard Worker Allows specification of a per-vertex fog coordinate instead of 91*61046927SAndroid Build Coastguard Worker having fog always computed from the eye distance. 92*61046927SAndroid Build Coastguard Worker 93*61046927SAndroid Build Coastguard WorkerGL_EXT_secondary_color 94*61046927SAndroid Build Coastguard Worker Allows specifying the secondary (specular) color for each vertex 95*61046927SAndroid Build Coastguard Worker instead of getting it only from lighting in GL_SEPARATE_SPECULAR_COLOR 96*61046927SAndroid Build Coastguard Worker mode. 97*61046927SAndroid Build Coastguard Worker 98*61046927SAndroid Build Coastguard WorkerGL_ARB_texture_env_combine 99*61046927SAndroid Build Coastguard Worker Basically the same as GL_EXT_texture_env_combine 100*61046927SAndroid Build Coastguard Worker 101*61046927SAndroid Build Coastguard WorkerGL_ARB_texture_env_add extension 102*61046927SAndroid Build Coastguard Worker Texture addition mode. 103*61046927SAndroid Build Coastguard Worker 104*61046927SAndroid Build Coastguard WorkerGL_ARB_texture_env_dot3 extension 105*61046927SAndroid Build Coastguard Worker Dot product texture environment. 106*61046927SAndroid Build Coastguard Worker 107*61046927SAndroid Build Coastguard WorkerGL_ARB_texture_border_clamp 108*61046927SAndroid Build Coastguard Worker Adds GL_CLAMP_TO_BORDER_ARB texture wrap mode 109*61046927SAndroid Build Coastguard Worker 110*61046927SAndroid Build Coastguard WorkerGL_SGIX_depth_texture, GL_SGIX_shadow and GL_SGIX_shadow_ambient 111*61046927SAndroid Build Coastguard Worker Implements a shadow casting algorithm based on depth map textures 112*61046927SAndroid Build Coastguard Worker 113*61046927SAndroid Build Coastguard WorkerGL_SGIS_generate_mipmap 114*61046927SAndroid Build Coastguard Worker Automatically generate lower mipmap images whenever the base mipmap 115*61046927SAndroid Build Coastguard Worker image is changed with glTexImage, glCopyTexImage, etc. 116*61046927SAndroid Build Coastguard Worker 117*61046927SAndroid Build Coastguard Worker 118*61046927SAndroid Build Coastguard Worker 119*61046927SAndroid Build Coastguard WorkerlibOSMesa.so 120*61046927SAndroid Build Coastguard Worker------------ 121*61046927SAndroid Build Coastguard Worker 122*61046927SAndroid Build Coastguard WorkerlibOSMesa.so is a new library which contains the OSMesa interface for 123*61046927SAndroid Build Coastguard Workeroff-screen rendering. Apps which need the OSMesa interface should link 124*61046927SAndroid Build Coastguard Workerwith both -lOSMesa and -lGL. This change was made so that stand-alone 125*61046927SAndroid Build Coastguard WorkerMesa works the same way as XFree86/DRI's libGL. 126*61046927SAndroid Build Coastguard Worker 127*61046927SAndroid Build Coastguard Worker 128*61046927SAndroid Build Coastguard Worker 129*61046927SAndroid Build Coastguard WorkerDevice Driver Changes / Core Mesa Changes 130*61046927SAndroid Build Coastguard Worker----------------------------------------- 131*61046927SAndroid Build Coastguard Worker 132*61046927SAndroid Build Coastguard WorkerThe ctx->Driver.LogicOp() function has been removed. It used to 133*61046927SAndroid Build Coastguard Workerbe called during state update in order to determine if the driver 134*61046927SAndroid Build Coastguard Workercould do glLogicOp() operations, and if not, set the SWLogicOpEnabled 135*61046927SAndroid Build Coastguard Workerflag. Drivers should instead examine the LogicOp state themselves 136*61046927SAndroid Build Coastguard Workerand choose specialized point, line, and triangle functions appropriately, 137*61046927SAndroid Build Coastguard Workeror fall back to software rendering. The Xlib driver was the only driver 138*61046927SAndroid Build Coastguard Workerto use this function. And since the Xlib driver no longer draws 139*61046927SAndroid Build Coastguard Workerpoints, lines or triangles using Xlib, the LogicOp function isn't needed. 140*61046927SAndroid Build Coastguard Worker 141*61046927SAndroid Build Coastguard WorkerThe ctx->Driver.Dither() function has been removed. Drivers should 142*61046927SAndroid Build Coastguard Workerdetect dither enable/disable via ctx->Driver.Enable() instead. 143*61046927SAndroid Build Coastguard Worker 144*61046927SAndroid Build Coastguard WorkerThe ctx->Driver.IndexMask() and ctx->Driver.ColorMask() functions 145*61046927SAndroid Build Coastguard Workerare now just called from glIndexMask and glColorMask like the other 146*61046927SAndroid Build Coastguard WorkerGL state-changing functions. They are no longer called from inside 147*61046927SAndroid Build Coastguard Workergl_update_state(). Also, they now return void. The change was made 148*61046927SAndroid Build Coastguard Workermostly for sake of uniformity. 149*61046927SAndroid Build Coastguard Worker 150*61046927SAndroid Build Coastguard WorkerThe NEW_DRVSTATE[0123] flags have been removed. They weren't being used 151*61046927SAndroid Build Coastguard Workerand are obsolete w.r.t. the way state updates are done in DRI drivers. 152*61046927SAndroid Build Coastguard Worker 153*61046927SAndroid Build Coastguard Worker 154*61046927SAndroid Build Coastguard WorkerRemoved obsolete gl_create_visual() and gl_destroy_visual(). 155*61046927SAndroid Build Coastguard Worker 156*61046927SAndroid Build Coastguard WorkerRenamed functions (new namespace): 157*61046927SAndroid Build Coastguard Worker 158*61046927SAndroid Build Coastguard Workerold new 159*61046927SAndroid Build Coastguard Workergl_create_framebuffer _mesa_create_framebuffer 160*61046927SAndroid Build Coastguard Workergl_destroy_framebuffer _mesa_destroy_framebuffer 161*61046927SAndroid Build Coastguard Workergl_create_context _mesa_create_context 162*61046927SAndroid Build Coastguard Workergl_destroy_context _mesa_destroy_context 163*61046927SAndroid Build Coastguard Workergl_context_initialize _mesa_context_initialize 164*61046927SAndroid Build Coastguard Workergl_copy_context _mesa_copy_context 165*61046927SAndroid Build Coastguard Workergl_make_current _mesa_make_current 166*61046927SAndroid Build Coastguard Workergl_make_current2 _mesa_make_current2 167*61046927SAndroid Build Coastguard Workergl_get_current_context _mesa_get_current_context 168*61046927SAndroid Build Coastguard Workergl_flush_vb _mesa_flush_vb 169*61046927SAndroid Build Coastguard Workergl_warning _mesa_warning 170*61046927SAndroid Build Coastguard Workergl_compile_error _mesa_compile_error 171*61046927SAndroid Build Coastguard Worker 172*61046927SAndroid Build Coastguard Worker 173*61046927SAndroid Build Coastguard WorkerAll the drivers have been updated, but not all of them have been 174*61046927SAndroid Build Coastguard Workertested since I can't test some platforms (DOS, Windows, Allegro, etc). 175*61046927SAndroid Build Coastguard Worker 176*61046927SAndroid Build Coastguard Worker 177*61046927SAndroid Build Coastguard WorkerX/Mesa Driver 178*61046927SAndroid Build Coastguard Worker------------- 179*61046927SAndroid Build Coastguard Worker 180*61046927SAndroid Build Coastguard WorkerThe source files for the X/Mesa driver in src/X have been renamed. 181*61046927SAndroid Build Coastguard WorkerThe xmesa[1234].c files are gone. The new files are xm_api.c, 182*61046927SAndroid Build Coastguard Workerxm_dd.c, xm_line.c, xm_span.c and xm_tri.c. 183*61046927SAndroid Build Coastguard Worker 184*61046927SAndroid Build Coastguard Worker 185*61046927SAndroid Build Coastguard Worker 186*61046927SAndroid Build Coastguard WorkerMultitexture 187*61046927SAndroid Build Coastguard Worker------------ 188*61046927SAndroid Build Coastguard Worker 189*61046927SAndroid Build Coastguard WorkerEight texture units are now supported by default. 190*61046927SAndroid Build Coastguard Worker 191*61046927SAndroid Build Coastguard Worker 192*61046927SAndroid Build Coastguard Worker 193*61046927SAndroid Build Coastguard WorkerOpenGL SI related changes 194*61046927SAndroid Build Coastguard Worker------------------------- 195*61046927SAndroid Build Coastguard Worker 196*61046927SAndroid Build Coastguard WorkerIn an effort to make Mesa's internal interfaces more like the OpenGL 197*61046927SAndroid Build Coastguard WorkerSI interfaces, a number of changes have been made: 198*61046927SAndroid Build Coastguard Worker 199*61046927SAndroid Build Coastguard Worker1. Importing the SI's glcore.h file which defines a number of 200*61046927SAndroid Build Coastguard Workerinterface structures like __GLimports and __GLexports. 201*61046927SAndroid Build Coastguard Worker 202*61046927SAndroid Build Coastguard Worker2. Renamed "struct gl_context" to "struct __GLcontextRec". 203*61046927SAndroid Build Coastguard Worker 204*61046927SAndroid Build Coastguard Worker3. Added __glCoreCreateContext() and __glCoreNopDispatch() functions. 205*61046927SAndroid Build Coastguard Worker 206*61046927SAndroid Build Coastguard Worker4. The GLcontext member Visual is no longer a pointer. 207*61046927SAndroid Build Coastguard Worker 208*61046927SAndroid Build Coastguard Worker5. New file: imports.c to setup default import functions for Mesa. 209*61046927SAndroid Build Coastguard Worker 210*61046927SAndroid Build Coastguard Worker 211*61046927SAndroid Build Coastguard Worker 212*61046927SAndroid Build Coastguard Worker 213*61046927SAndroid Build Coastguard Worker16-bit color channels 214*61046927SAndroid Build Coastguard Worker--------------------- 215*61046927SAndroid Build Coastguard Worker 216*61046927SAndroid Build Coastguard WorkerThere's experimental support for 16-bit color channels (64-bit pixels) 217*61046927SAndroid Build Coastguard Workerin Mesa 3.5. Only the OSMesa interface can be used for 16-bit rendering. 218*61046927SAndroid Build Coastguard WorkerType "make linux-osmesa16" in the top-level directory to build the 219*61046927SAndroid Build Coastguard Workerspecial libOSMesa16.so library. 220*61046927SAndroid Build Coastguard Worker 221*61046927SAndroid Build Coastguard WorkerThis hasn't been tested very thoroughly yet so please file bug reports 222*61046927SAndroid Build Coastguard Workerif you have trouble. 223*61046927SAndroid Build Coastguard Worker 224*61046927SAndroid Build Coastguard WorkerIn the future I hope to implement support for 32-bit, floating point 225*61046927SAndroid Build Coastguard Workercolor channels. 226*61046927SAndroid Build Coastguard Worker 227*61046927SAndroid Build Coastguard Worker---------------------------------------------------------------------- 228