2001-10-22 23:57:23 +01:00
|
|
|
|
|
|
|
Mesa 4.1 release notes
|
|
|
|
|
2001-12-18 14:08:23 +00:00
|
|
|
<month>, <day>, 2002
|
2001-10-22 23:57:23 +01:00
|
|
|
|
|
|
|
PLEASE READ!!!!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Introduction
|
|
|
|
------------
|
|
|
|
|
|
|
|
Mesa uses an even/odd version number scheme like the Linux kernel.
|
|
|
|
Even numbered versions (such as 4.0) designate stable releases.
|
2001-12-14 03:14:49 +00:00
|
|
|
Odd numbered versions (such as 4.1) designate new developmental releases.
|
2001-10-22 23:57:23 +01:00
|
|
|
|
|
|
|
|
|
|
|
New Features in Mesa 4.1
|
|
|
|
------------------------
|
|
|
|
|
2002-03-23 16:35:40 +00:00
|
|
|
New extensions. Docs at http://oss.sgi.com/projects/ogl-sample/registry/
|
|
|
|
|
2001-12-18 14:08:23 +00:00
|
|
|
GL_NV_vertex_program
|
|
|
|
|
|
|
|
NVIDIA's vertex programming extension
|
|
|
|
|
2002-03-23 16:35:40 +00:00
|
|
|
GL_NV_vertex_program1_1
|
|
|
|
|
|
|
|
A few features built on top of GL_NV_vertex_program
|
|
|
|
|
2001-12-14 03:14:49 +00:00
|
|
|
GL_ARB_window_pos
|
|
|
|
|
|
|
|
This is the ARB-approved version of GL_MESA_window_pos
|
|
|
|
|
|
|
|
GL_ARB_depth_texture
|
|
|
|
|
|
|
|
This is the ARB-approved version of GL_SGIX_depth_texture.
|
|
|
|
It allows depth (Z buffer) data to be stored in textures.
|
|
|
|
This is used by GL_ARB_shadow
|
|
|
|
|
|
|
|
GL_ARB_shadow
|
2002-03-23 16:35:40 +00:00
|
|
|
|
2001-12-14 03:14:49 +00:00
|
|
|
Shadow mapping with depth textures.
|
|
|
|
This is the ARB-approved version of GL_SGIX_shadow.
|
2001-10-22 23:57:23 +01:00
|
|
|
|
2001-12-14 03:14:49 +00:00
|
|
|
GL_ARB_shadow_ambient
|
2001-10-22 23:57:23 +01:00
|
|
|
|
2001-12-14 03:14:49 +00:00
|
|
|
Allows one to specify the luminance of shadowed pixels.
|
|
|
|
This is the ARB-approved version of GL_SGIX_shadow_ambient.
|
2001-10-22 23:57:23 +01:00
|
|
|
|
2002-03-23 16:35:40 +00:00
|
|
|
GL_EXT_shadow_funcs
|
|
|
|
|
|
|
|
Extends the set of GL_ARB_shadow texture comparision functions to
|
|
|
|
include all eight of standard OpenGL dept-test functions.
|
|
|
|
|
2002-04-02 17:19:21 +01:00
|
|
|
GL_ARB_point_parameters
|
|
|
|
|
|
|
|
This is basically the same as GL_EXT_point_parameters.
|
|
|
|
|
2002-06-15 04:03:58 +01:00
|
|
|
GL_ARB_texture_env_crossbar
|
|
|
|
|
|
|
|
Allows any texture combine stage to reference any texture source unit.
|
|
|
|
|
2002-05-27 18:05:51 +01:00
|
|
|
GL_NV_point_sprite
|
|
|
|
|
|
|
|
For rendering points as textured quads. Useful for particle effects.
|
2001-10-22 23:57:23 +01:00
|
|
|
|
2002-06-15 04:03:58 +01:00
|
|
|
GL_NV_texture_rectangle
|
|
|
|
|
|
|
|
Allows one to use textures with sizes that are not powers of two.
|
|
|
|
Note that mipmapping and several texture wrap modes are not allowed.
|
|
|
|
|
|
|
|
|
2002-01-04 14:42:35 +00:00
|
|
|
|
|
|
|
Device Driver Status
|
|
|
|
--------------------
|
|
|
|
|
|
|
|
A number of Mesa's software drivers haven't been actively maintained for
|
|
|
|
some time. We rely on volunteers to maintain many of these drivers.
|
|
|
|
Here's the current status of all included drivers:
|
|
|
|
|
|
|
|
|
|
|
|
Driver Status
|
|
|
|
---------------------- ---------------------
|
|
|
|
XMesa (Xlib) implements OpenGL 1.3
|
|
|
|
OSMesa (off-screen) implements OpenGL 1.3
|
|
|
|
FX (3dfx Voodoo1/2) implements OpenGL 1.3
|
|
|
|
SVGA implements OpenGL 1.3
|
|
|
|
Wind River UGL implements OpenGL 1.3
|
|
|
|
Windows/Win32 implements OpenGL 1.3
|
2002-03-23 16:35:40 +00:00
|
|
|
DOS/DJGPP implements OpenGL 1.3
|
2002-06-15 04:15:16 +01:00
|
|
|
GGI implements OpenGL 1.3
|
2002-06-15 04:03:58 +01:00
|
|
|
BeOS needs updating (underway)
|
2002-01-04 14:42:35 +00:00
|
|
|
Allegro needs updating
|
|
|
|
D3D needs updating
|
|
|
|
DOS needs updating
|
|
|
|
|
|
|
|
|
|
|
|
|
2002-06-13 05:50:09 +01:00
|
|
|
Porting Information
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
When moving from Mesa 4.0.x to Mesa 4.1 there are a number of things
|
|
|
|
you may have to update.
|
|
|
|
|
|
|
|
1. _mesa_create_context() changes. This function now takes a pointer to
|
|
|
|
a __GLimports object. The __GLimports structure contains function
|
|
|
|
pointers to system functions like fprintf(), malloc(), etc.
|
|
|
|
The _mesa_init_default_imports() function can be used to initialize
|
|
|
|
a __GLimports object. Most device drivers (like the DRI drivers)
|
|
|
|
should use this.
|
|
|
|
|
|
|
|
2. more to come...
|
|
|
|
|
|
|
|
|
2002-04-21 22:12:49 +01:00
|
|
|
|
|
|
|
XXX Things To Do Yet XXXX
|
|
|
|
-------------------------
|
|
|
|
|
|
|
|
Verify x86 code for normal transformation works with new 4-element normal
|
|
|
|
vector arrays. Pretty sure the SSE code is wrong.
|
|
|
|
|
|
|
|
Finish up NV_vertex_program support for evaluators. Vertex arrays seem
|
|
|
|
to work as of 4/21/2002.
|
|
|
|
|
2002-06-13 05:50:09 +01:00
|
|
|
Allow multiple points to be rendered into one sw_span.
|
2002-04-21 22:12:49 +01:00
|
|
|
|
2002-06-15 04:03:58 +01:00
|
|
|
improve point/line rendering speed.
|
2002-04-21 22:12:49 +01:00
|
|
|
|
|
|
|
_tnl_end() has flushing forced on.
|
|
|
|
|
|
|
|
readpixels from stencil/z should respect ctx->ReadBuffer
|
|
|
|
|
|
|
|
glVertexAttrib*NV(index>15) should cause an error.
|
|
|
|
|
2002-06-15 04:03:58 +01:00
|
|
|
isosurf with vertex program exhibits some missing triangles (probably
|
|
|
|
when recycling the vertex buffer for long prims).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Porting Info
|
|
|
|
------------
|
|
|
|
|
|
|
|
If you're porting a DRI or other driver from Mesa 4.0.x to Mesa 4.1 here
|
|
|
|
are some things to change:
|
|
|
|
|
|
|
|
1. ctx->Texture._ReallyEnabled is obsolete.
|
|
|
|
|
|
|
|
Since there are now 5 texture targets (1D, 2D, 3D, cube and rect) that
|
|
|
|
left room for only 6 units (6*5 < 32) in this field.
|
|
|
|
This field is being replaced by ctx->Texture._EnabledUnits which has one
|
|
|
|
bit per texture unit. If the bit k of _EnabledUnits is set, that means
|
|
|
|
ctx->Texture.Unit[k]._ReallyEnabled is non-zero. You'll have to look at
|
|
|
|
ctx->Texture.Unit[k]._ReallyEnabled to learn if the 1D, 2D, 3D, cube or
|
|
|
|
rect texture is enabled for unit k.
|
|
|
|
|
|
|
|
This also means that the constants TEXTURE1_*, TEXTURE2_*, etc are
|
|
|
|
obsolete.
|
|
|
|
|
|
|
|
The tokens TEXTURE0_* have been replaced as well (since there's no
|
|
|
|
significance to the "0" part:
|
|
|
|
|
|
|
|
old token new token
|
|
|
|
TEXTURE0_1D TEXTURE_1D_BIT
|
|
|
|
TEXTURE0_2D TEXTURE_2D_BIT
|
|
|
|
TEXTURE0_3D TEXTURE_3D_BIT
|
|
|
|
TEXTURE0_CUBE TEXTURE_CUBE_BIT
|
|
|
|
<none> TEXTURE_RECT_BIT
|
|
|
|
|
|
|
|
These tokens are only used for the ctx->Texture.Unit[i].Enabled and
|
|
|
|
ctx->Texture.Unit[i]._ReallyEnabled fields. Exactly 0 or 1 bit will
|
|
|
|
be set in _ReallyEnabled at any time!
|
|
|
|
|
|
|
|
Q: "What's the purpose of Unit[i].Enabled vs Unit[i]._ReallyEnabled?"
|
|
|
|
A: The user can enable GL_TEXTURE_1D, GL_TEXTURE_2D, etc for any
|
|
|
|
texure unit all at once (an unusual thing to do).
|
|
|
|
OpenGL defines priorities that basically say GL_TEXTURE_2D has
|
|
|
|
higher priority than GL_TEXTURE_1D, etc. Also, just because a
|
|
|
|
texture target is enabled by the user doesn't mean we'll actually
|
|
|
|
use that texture! If a texture object is incomplete (missing mip-
|
|
|
|
map levels, etc) it's as if texturing is disabled for that target.
|
|
|
|
The _ReallyEnabled field will have a bit set ONLY if the texture
|
|
|
|
target is enabled and complete. This spares the driver writer from
|
|
|
|
examining a _lot_ of GL state to determine which texture target is
|
|
|
|
to be used.
|
|
|
|
|
|
|
|
|
|
|
|
2. Tnl tokens changes
|
|
|
|
|
|
|
|
During the implementation of GL_NV_vertex_program some of the vertex
|
|
|
|
buffer code was changed. Specifically, the VERT_* bits defined in
|
|
|
|
tnl/t_context.h have been renamed to better match the conventions of
|
|
|
|
GL_NV_vertex_program. The old names are still present but obsolete.
|
|
|
|
Drivers should use the newer names.
|
|
|
|
|
|
|
|
For example: VERT_RGBA is now VERT_BIT_COLOR0 and
|
|
|
|
VERT_SPEC_RGB is now VERT_BIT_COLOR1.
|
|
|
|
|
|
|
|
|
2002-04-21 22:12:49 +01:00
|
|
|
|
2001-10-22 23:57:23 +01:00
|
|
|
----------------------------------------------------------------------
|
2002-06-15 04:15:16 +01:00
|
|
|
$Id: RELNOTES-4.1,v 1.11 2002/06/15 03:15:16 brianp Exp $
|