123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228 |
-
- Mesa 3.5 release notes
-
- June 21, 2001
-
- PLEASE READ!!!!
-
-
-
- Introduction
- ------------
-
- Mesa uses an even/odd version number scheme like the Linux kernel.
- Odd numbered versions (such as 3.5) designate new developmental releases.
- Even numbered versions (such as 3.4) designate stable releases.
-
- 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.
-
-
-
- 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.14 2001/06/20 19:02:48 brianp Exp $
|