123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186 |
-
- Mesa 3.5 release notes
-
- Month ??, 2001
-
- 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...
-
-
- 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
-
-
-
- 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.10 2001/03/26 19:45:08 brianp Exp $
|