| |
| Mesa 3.5 release notes |
| |
| Month ??, 2000 |
| |
| PLEASE READ!!!! |
| |
| |
| |
| Introduction |
| ------------ |
| |
| Mesa uses an even/odd version number scheme like the Linux kernel. |
| Odd numbered versions (such as 3.3) designate new developmental releases. |
| Even numbered versions (such as 3.4) designate stable releases. |
| |
| The internal structure of Mesa 3.5 is (will be) changed so that it |
| is more modular. The motivation is better support of 3D hardware |
| such as T&L hardware in which much of core Mesa isn't needed. |
| |
| Details to come... |
| |
| |
| |
| New Extensions |
| -------------- |
| |
| GL_EXT_convolution |
| Adds image convolution to glRead/Copy/DrawPixels/TexImage. |
| |
| GL_ARB_imaging |
| This is the optional imaging subset of OpenGL 1.2. |
| It's the GL_EXT_convolution, GL_HP_convolution_border_modes, |
| GL_EXT_histogram, GL_EXT_color_table, GL_EXT_color_subtable |
| GL_EXT_blend_color, GL_EXT_blend_minmax, GL_EXT_blend_subtract |
| and GL_SGI_color_matrix extensions all rolled together. |
| This is supported in all software renderers but not in all |
| hardware drivers (3dfx for example). |
| |
| GL_ARB_texture_compression |
| This is supported in Mesa but only used by the 3dfx DRI drivers |
| for Voodoo4 and later. |
| |
| GL_ARB_texture_env_add |
| This is identical to GL_EXT_texture_env_add. |
| |
| GL_NV_blend_square |
| Adds extra blend source and dest factors which allow squaring |
| of color values. |
| |
| |
| |
| libOSMesa.so |
| ------------ |
| |
| libOSMesa.so is a new library which contains the OSMesa interface for |
| off-screen rendering. Apps which need the OSMesa interface should link |
| with both -lOSMesa and -lGL. This change was made so that stand-alone |
| Mesa works the same way as XFree86/DRI's libGL. |
| |
| |
| |
| Device Driver Changes / Core Mesa Changes |
| ----------------------------------------- |
| |
| The ctx->Driver.LogicOp() function has been removed. It used to |
| be called during state update in order to determine if the driver |
| could do glLogicOp() operations, and if not, set the SWLogicOpEnabled |
| flag. Drivers should instead examine the LogicOp state themselves |
| and choose specialized point, line, and triangle functions appropriately, |
| or fall back to software rendering. The Xlib driver was the only driver |
| to use this function. And since the Xlib driver no longer draws |
| points, lines or triangles using Xlib, the LogicOp function isn't needed. |
| |
| The ctx->Driver.Dither() function has been removed. Drivers should |
| detect dither enable/disable via ctx->Driver.Enable() instead. |
| |
| The ctx->Driver.IndexMask() and ctx->Driver.ColorMask() functions |
| are now just called from glIndexMask and glColorMask like the other |
| GL state-changing functions. They are no longer called from inside |
| gl_update_state(). Also, they now return void. The change was made |
| mostly for sake of uniformity. |
| |
| The NEW_DRVSTATE[0123] flags have been removed. They weren't being used |
| and are obsolete w.r.t. the way state updates are done in DRI drivers. |
| |
| |
| Removed obsolete gl_create_visual() and gl_destroy_visual(). |
| |
| Renamed functions (new namespace): |
| |
| old new |
| gl_create_framebuffer _mesa_create_framebuffer |
| gl_destroy_framebuffer _mesa_destroy_framebuffer |
| gl_create_context _mesa_create_context |
| gl_destroy_context _mesa_destroy_context |
| gl_context_initialize _mesa_context_initialize |
| gl_copy_context _mesa_copy_context |
| gl_make_current _mesa_make_current |
| gl_make_current2 _mesa_make_current2 |
| gl_get_current_context _mesa_get_current_context |
| gl_flush_vb _mesa_flush_vb |
| gl_warning _mesa_warning |
| gl_compile_error _mesa_compile_error |
| |
| |
| All the drivers have been updated, but not all of them have been |
| tested since I can't test some platforms (DOS, Windows, Allegro, etc). |
| |
| |
| Multitexture |
| ------------ |
| |
| Three texture units are now supported by default. We'll allow more |
| than three texture units when we fix some bitfield issues. In at least |
| one place we have a 32-bit bitfield which is fully allocated, leaving |
| no space for texture unit #3 or higher. |
| |
| The TEXTURE1_1D, TEXTURE1_2D, etc constants may go away in the future. |
| Currently, they're only used in the ctx->Texture.ReallyEnabled field. |
| This bitfield is just a conglomerate of ctx->Texture.Unit[i].ReallyEnabled |
| for all <i> texture units. ctx->Texture.ReallyEnabled may become a |
| GLboolean. Then, drivers will have to loop over the texture units to |
| examine ctx->Texture.Unit[i].ReallyEnabled. |
| |
| |
| |
| |
| OpenGL SI related changes |
| ------------------------- |
| |
| In an effort to make Mesa's internal interfaces more like the OpenGL |
| SI interfaces, a number of changes have been made: |
| |
| 1. Importing the SI's glcore.h file which defines a number of |
| interface structures like __GLimports and __GLexports. |
| |
| 2. Renamed "struct gl_context" to "struct __GLcontextRec". |
| |
| 3. Added __glCoreCreateContext() and __glCoreNopDispatch() functions. |
| |
| 4. The GLcontext member Visual is no longer a pointer. |
| |
| 5. New file: imports.c to setup default import functions for Mesa. |
| |
| |
| ---------------------------------------------------------------------- |
| $Id: RELNOTES-3.5,v 1.6 2000/10/23 19:46:11 brianp Exp $ |