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