204 lines
5.8 KiB
Groff
204 lines
5.8 KiB
Groff
|
|
Mesa 3.3 release notes
|
|
|
|
PLEASE READ!!!!
|
|
|
|
|
|
|
|
|
|
Header file / GLenum changes
|
|
----------------------------
|
|
|
|
The gl.h and glu.h headers now use #defines to define all GL_* tokens
|
|
instead of C-language enums. This change improves Mesa/OpenGL
|
|
interoperability.
|
|
|
|
|
|
|
|
New API dispatch code
|
|
---------------------
|
|
|
|
The core Mesa gl* functions are now implemented with a new dispatch
|
|
(jump table) which will allow simultaneous direct/indirect rendering.
|
|
|
|
The code is found in the glapi*.[ch] files.
|
|
|
|
Of interest: the actual "glFooBar" functions are generated with
|
|
templatized code defined in glapitemp.h and included by glapi.c
|
|
The glapitemp.h template should be reusable for all sorts of OpenGL
|
|
projects.
|
|
|
|
|
|
New thread support
|
|
------------------
|
|
|
|
Thread support in Mesa has been rewritten. The glthread.[ch] files
|
|
replace mthreads.[ch]. Thread safety is always enabled (on platforms
|
|
which support threads, that is). There is virtually no performance
|
|
penalty for typical single-thread applications. See the glapi.c
|
|
file for details.
|
|
|
|
|
|
|
|
Make configuration changes
|
|
--------------------------
|
|
|
|
If you use the old-style (non GNU automake) method to build Mesa note
|
|
that several of the configuration names have changed:
|
|
|
|
Old name New name
|
|
------------- ----------------
|
|
linux-elf linux
|
|
linux linux-static
|
|
linux-386-elf linux-386
|
|
linux-386 linux-386-static
|
|
etc.
|
|
|
|
|
|
|
|
New extensions
|
|
--------------
|
|
|
|
GL_EXT_transpose_matrix
|
|
Adds glLoadTransposeMatrix() and glMultTransposeMatrix() functions.
|
|
See http://reality.sgi.com/opengl/arb/extensions/ext_text/GL_EXT_transpose_matrix.txt
|
|
|
|
GL_EXT_texture_add_env
|
|
Adds GL_ADD texture environment mode.
|
|
See http://www.berkelium.com/OpenGL/EXT/texture_env_add.txt
|
|
|
|
GL_EXT_texture_lod_bias
|
|
Allows mipmapped texture blurring and sharpening.
|
|
|
|
GLX_EXT_visual_rating extension
|
|
This extension has no effect in stand-alone Mesa (used for DRI).
|
|
|
|
GL_HP_occlusion_test
|
|
Used for bounding box occlusion testing (see demos/occlude.c).
|
|
|
|
GL_SGIX_pixel_texture / GL_SGIS_pixel_texture
|
|
Lets glDraw/CopyPixels draw a texture coordinate image.
|
|
|
|
GL_SGI_color_matrix
|
|
Adds a color matrix and another set of scale and bias parameters
|
|
to the glDraw/CopyPixels paths.
|
|
|
|
|
|
GLX_SGI_make_current_read functionality
|
|
---------------------------------------
|
|
|
|
The functionality of this extension is needed for GLX 1.3 (and required
|
|
for the Linux/OpenGL standards base).
|
|
|
|
Implementing this function required a **DEVICE DRIVER CHANGE**.
|
|
The old SetBuffer() function has been replaced by SetReadBuffer() and
|
|
SetDrawBuffer(). All device drivers will have to be updated because
|
|
of this change.
|
|
|
|
The new function, glXMakeContextCurrent(), in GLX 1.3 now works in Mesa.
|
|
The xdemos/wincopy.c program demonstrates it.
|
|
|
|
|
|
|
|
Image-related code changes
|
|
--------------------------
|
|
|
|
The imaging path code used by glDrawPixels, glTexImage[123]D,
|
|
glTexSubImage[123], etc has been rewritten. It's now faster,
|
|
uses less memory and has several bug fixes. This work was
|
|
actually started in Mesa 3.1 with the glTexImage paths but has now
|
|
been carried over to glDrawPixels as well.
|
|
|
|
|
|
|
|
Device driver interface changes
|
|
-------------------------------
|
|
|
|
Added new functions for hardware stencil buffer support:
|
|
WriteStencilSpan
|
|
ReadStencilSpan
|
|
WriteStencilPixels
|
|
ReadStencilPixels
|
|
|
|
|
|
Removed old depth buffer functions:
|
|
AllocDepthBuffer
|
|
DepthTestSpan
|
|
DepthTestPixels
|
|
ReadDepthSpanFloat
|
|
ReadDepthSpanInt
|
|
|
|
|
|
Added new depth buffer functions:
|
|
WriteDepthSpan
|
|
ReadDepthSpan
|
|
WriteDepthPixels
|
|
ReadDepthPixels
|
|
|
|
These functions always read/write 32-bit GLuints. This will allow
|
|
drivers to have anywhere from 0 to 32-bit Z buffers without
|
|
recompiling for 16 vs 32 bits as was previously needed.
|
|
|
|
|
|
New texture image functions
|
|
The entire interface for texture image specification has been updated.
|
|
With the new functions, it's optional for Mesa to keep an internal copy
|
|
of all textures. Texture download should be a lot faster when the extra
|
|
copy isn't made.
|
|
|
|
Misc changes
|
|
TexEnv now takes a target argument
|
|
Removed UseGlobalTexturePalette (use Enable function instead)
|
|
|
|
|
|
Also added
|
|
ReadPixels
|
|
CopyPixels
|
|
|
|
|
|
The SetBufffer function has been replaced by SetDrawBuffer and
|
|
SetReadBuffer functions. This lets core Mesa independently
|
|
specify which buffer is to be used for reading and which for
|
|
drawing.
|
|
|
|
The Clear function's mask parameter has changed. Instead of
|
|
mask being the flags specified by the user to glClear, the
|
|
mask is now a bitmask of the DD_*_BIT flags in dd.h. Now
|
|
multiple color buffers can be specified for clearing (ala
|
|
glDrawBuffers). The driver's Clear function must also
|
|
check the glColorMask glIndexMask, and glStencilMask settings
|
|
and do the right thing. See the X/Mesa, OS/Mesa, or FX/Mesa
|
|
drivers for examples.
|
|
|
|
|
|
The depth buffer changes shouldn't be hard to make for existing
|
|
drivers. In fact, it should simply the code. Be careful with
|
|
the depthBits value passed to gl_create_context(). 1 is a bad
|
|
value! It should normally be 0, 16, 24, or 32.
|
|
|
|
|
|
gl_create_framebuffer() takes new arguments which explicitly tell
|
|
core Mesa which ancillary buffers (depth, stencil, accum, alpha)
|
|
should be implemented in software. Mesa hardware drivers should
|
|
carefully set these flags depending on which buffers are in the
|
|
graphics card.
|
|
|
|
|
|
|
|
Internal constants
|
|
------------------
|
|
|
|
Point and line size range and granularity limits are now stored
|
|
in the gl_constants struct, which is the Const member of GLcontext.
|
|
The limits are initialized from values in config.h but may be
|
|
overridden by device drivers to reflect the limits of that driver's
|
|
hardware.
|
|
|
|
Also added constants for NumAuxBuffers and SubPixelBits.
|
|
|
|
|
|
|
|
|
|
----------------------------------------------------------------------
|
|
$Id: RELNOTES-3.3,v 1.2 2000/04/08 18:58:05 brianp Exp $
|