mesa: disable glsl debug output
[mesa.git] / docs / RELNOTES-3.5
index b109a873c64279df47e1ad4c1a04ff95795d740e..b2aa1b852ead2331cae680f521e2aaa0d65608cd 100644 (file)
@@ -1,7 +1,7 @@
 
                          Mesa 3.5 release notes
 
-                             Month ??, 2000
+                             June 21, 2001
 
                              PLEASE READ!!!!
 
@@ -11,16 +11,217 @@ Introduction
 ------------
 
 Mesa uses an even/odd version number scheme like the Linux kernel.
-Odd numbered versions (such as 3.3) designate new developmental releases.
+Odd numbered versions (such as 3.5) 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.
+The biggest change in Mesa 3.5 is a complete overhaul of the source
+code in order to make it more modular.  This was driven by the DRI
+hardware drivers.  It simplifies the DRI drivers and opens the door
+to hardware transform/clip/lighting (TCL).  Keith Whitwell can take
+the credit for that.
 
-Details to come...
 
 
+Driver Support
+--------------
+
+The device driver interface in Mesa 3.5 has changed a lot since Mesa 3.4
+Not all of the older Mesa drivers have been updated.  Here's the status:
+
+Driver                 Status
+---------------------- -----------
+XMesa (Xlib)           updated
+OSMesa (off-screen)    updated
+FX (3dfx Voodoo1/2)    updated
+SVGA                   updated
+GGI                    not updated
+Windows/Win32          not updated
+DOS/DJGPP              not updated
+BeOS                   not updated
+Allegro                        not updated
+D3D                    not updated
+DOS                    not updated
+
+We're looking for volunteers to update the remaining drivers.  Please
+post to the Mesa3d-dev mailing list if you can help.
+
+
+
+GLU 1.3
+-------
+
+Mesa 3.5 includes the SGI Sample Implementation (SI) GLU library.
+This version of GLU supports the GLU 1.3 specification.  The old
+Mesa GLU library implemented the 1.1 specification.  The SI GLU
+library should work much better.
+
+You'll need a C++ compiler to compile the SI GLU library.  This may
+be a problem on some systems.
+
+
+
+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.
+
+GL_EXT_fog_coord
+       Allows specification of a per-vertex fog coordinate instead of
+       having fog always computed from the eye distance.
+
+GL_EXT_secondary_color
+       Allows specifying the secondary (specular) color for each vertex
+       instead of getting it only from lighting in GL_SEPARATE_SPECULAR_COLOR
+       mode.
+
+GL_ARB_texture_env_combine
+       Basically the same as GL_EXT_texture_env_combine
+
+GL_ARB_texture_env_add extension
+       Texture addition mode.
+
+GL_ARB_texture_env_dot3 extension
+       Dot product texture environment.
+
+GL_ARB_texture_border_clamp
+       Adds GL_CLAMP_TO_BORDER_ARB texture wrap mode
+
+GL_SGIX_depth_texture, GL_SGIX_shadow and GL_SGIX_shadow_ambient
+       Implements a shadow casting algorithm based on depth map textures
+
+GL_SGIS_generate_mipmap
+       Automatically generate lower mipmap images whenever the base mipmap
+       image is changed with glTexImage, glCopyTexImage, etc.
+
+
+
+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).
+
+
+X/Mesa Driver
+-------------
+
+The source files for the X/Mesa driver in src/X have been renamed.
+The xmesa[1234].c files are gone.  The new files are xm_api.c,
+xm_dd.c, xm_line.c, xm_span.c and xm_tri.c.
+
+
+
+Multitexture
+------------
+
+Eight texture units are now supported by default.
+
+
+
+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.
+
+
+
+
+16-bit color channels
+---------------------
+
+There's experimental support for 16-bit color channels (64-bit pixels)
+in Mesa 3.5.  Only the OSMesa interface can be used for 16-bit rendering.
+Type "make linux-osmesa16" in the top-level directory to build the
+special libOSMesa16.so library.
+
+This hasn't been tested very thoroughly yet so please file bug reports
+if you have trouble.
+
+In the future I hope to implement support for 32-bit, floating point
+color channels.
 
 ----------------------------------------------------------------------
-$Id: RELNOTES-3.5,v 1.1 2000/07/31 13:58:04 brianp Exp $