aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/extras/Mesa/docs/RELNOTES-5.1
diff options
context:
space:
mode:
Diffstat (limited to 'nx-X11/extras/Mesa/docs/RELNOTES-5.1')
-rw-r--r--nx-X11/extras/Mesa/docs/RELNOTES-5.1279
1 files changed, 279 insertions, 0 deletions
diff --git a/nx-X11/extras/Mesa/docs/RELNOTES-5.1 b/nx-X11/extras/Mesa/docs/RELNOTES-5.1
new file mode 100644
index 000000000..aed6e102b
--- /dev/null
+++ b/nx-X11/extras/Mesa/docs/RELNOTES-5.1
@@ -0,0 +1,279 @@
+
+ Mesa 5.1 release notes
+
+ December 17, 2003
+
+ PLEASE READ!!!!
+
+
+
+Introduction
+------------
+
+Mesa uses an even/odd version number scheme like the Linux kernel.
+Even-numbered versions (such as 5.0) designate stable releases.
+Odd-numbered versions (such as 5.1) designate new developmental releases.
+
+
+Bug fixes
+---------
+See the VERSIONS file for a list of bugs fixed in this release.
+
+
+
+New Features in Mesa 5.1
+------------------------
+
+GL_ARB_vertex_program / GL_ARB_fragment_program
+ Michal Krol and Karl Rasche implemented these extensions. Thanks!
+ Be aware that there may be some rough edges and lurking bugs.
+
+GL_ATI_texture_env_combine3 extension
+ This adds a few new texture combine modes.
+ Contributed by Ian Romanick.
+
+GL_SGI_texture_color_table
+ Adds a color table lookup to the RGBA texture path. There's a separate
+ color table for each texture unit.
+ Contributed by Eric Plante.
+
+GL_NV_fragment_program
+ NVIDIA's fragment-level programming feature.
+ Possible lurking bugs:
+ - the DDX and DDY commands aren't fully tested
+ - there may be bugs in the parser
+ - the TEX and TXP instructions both do perspective correction
+ - the pack/unpack instructions may not be correct
+
+GL_EXT_depth_bounds_test
+ This extension adds a scissor-like test for the Z axis. It's used to
+ optimize stencil-volume shadow algorithms.
+
+GL_NV_light_max_exponent
+ Lifts the 128 limit for max light exponent.
+
+GL_EXT_texture_rectangle
+ Identical to GL_NV_texture_rectangle
+
+GL_ARB_occlusion_query
+ Useful for visibility-based culling.
+
+GL_ARB_texture_non_power_of_two
+ Removes the restriction that texture dimensions must be powers of two.
+
+GL_ARB_vertex_buffer_object
+ Allows server-side vertex arrays, optimized host/card data transfers, etc.
+
+GL_ARB_point_sprite
+ ARB-approved version of GL_NV_point_sprite. Basically allows textures
+ to be applied to points.
+
+GL_IBM_multimode_draw_arrays
+ Allows multiple vertex arrays to be drawn with one call, including arrays
+ of different types of primitives.
+
+GL_SUN_multi_draw_arrays
+ An alias for GL_EXT_multi_draw_arrays, standard in OpenGL 1.4.
+
+Faster glDrawPixels / glCopyPixels in X11 driver
+ If your X screen is 32bpp, glDrawPixels to the front color buffer will
+ be accelerated (via XPutImage()) if the image format is GL_BGRA and the
+ type is GL_UNSIGNED_BYTE. No raster operations, such as depth test,
+ blend, fog, etc. can be enabled.
+
+ If your X screen is 16bpp, glDrawPixels to the front color buffer will
+ be accelerated (via XPutImage()) if the image format is GL_RGB and the
+ type is GL_UNSIGNED_SHORT_5_6_5. No raster operations, such as depth
+ test, blend, fog, etc. can be enabled.
+
+ glCopyPixels() calls for the front color buffer will be accelerated
+ (via XCopyArea()) if no raster operations, such as depth test, blend,
+ fog, pixel zoom, etc. are enabled.
+
+ The speed-up over typical software rendering is a factor of 10 for
+ glDrawPixels and 100 for glCopyPixels.
+
+
+With the addition of GL_ARB_occlusion_query, GL_ARB_vertex_buffer_object,
+GL_ARB_texture_non_power_of_two and GL_EXT_shadow_funcs, Mesa 5.1 supports
+all the new features of OpenGL 1.5. Mesa 6.0 (the next stable release)
+will advertise GL_VERSION = "1.5".
+
+
+
+Vertex/Fragment program debugger
+--------------------------------
+
+GL_MESA_program_debug is an experimental extension to support
+interactive debugging of vertex and fragment programs. See the
+docs/MESA_program_debug.spec file for details.
+
+The bulk of the vertex/fragment program debugger is implemented
+outside of Mesa. The GL_MESA_program_debug extension just has minimal
+hooks for stopping running programs and inspecting programs.
+
+The progs/tests/debugger.c (only in CVS) program is an example of how
+the extension can be used. Presently, the debugger code and demo code
+is in the same file. Eventually the debugger code should be moved
+into a reusable module.
+
+As it is now, the demo lets you set breakpoings in vertex/fragment
+programs, single step, and print intermediate register values. It's
+basically just a proof of concept.
+
+
+
+Directory tree reorganization
+-----------------------------
+
+The directory structure for Mesa has been overhauled to improve its layout.
+All source code for Mesa, GLU, GLUT, etc is now under the src/ directory
+in appropriate subdirectories.
+
+The Mesa source code and drivers has been reorganized under src/mesa/.
+
+All demonstration programs and tests are now in subdirectories under progs/.
+
+
+
+Build System Changes
+--------------------
+
+The GNU automake/autoconf support has been removed. As it was, it seldom
+worked on anything but Linux. The Mesa developers aren't big fans of
+automake/autoconf/libtool and didn't have the time to maintain it.
+If someone wants to contribute new automake/autoconf support (and is
+willing to maintain it), it may be re-incorporated into Mesa, subject
+to some requirements.
+
+The "old style" makefile system has been updated:
+ 1. Make-config has been trimmed down to fewer, modern configurations.
+ 2. Most of the bin/mklib.* scripts have been rolled into a new "mklib"
+ script that works on all sorts of systems. There are probably some
+ bugs in it, but it's been tested on Linux, SunOS 5.8 and IRIX 6.5.
+ Improvements/contributes are greatly appreciated.
+ 3. The Makefile.X11 files have been cleaned up in various ways
+
+
+
+Source File Changes
+-------------------
+
+The mmath.[ch] files are obsolete. Their contents have been moved
+into the imports.[ch] and macros.[ch] files.
+
+The files related to vertex and fragment programming have changed.
+Old files:
+ vpexec.[ch]
+ vpparse.[ch]
+ vpstate.[ch]
+New files:
+ program.[ch] - generic ARB/NV program code
+ arbprogram.[ch] - ARB program API functions
+ arbfragparse.[ch] - ARB fragment program parsing
+ arbvertparse.[ch] - ARB vertex program parsing
+ arbparse.[ch] - ARB vertex/fragment parsing
+ arbparse_syn.h - vertex/fragment program syntax
+ nvprogram.[ch] - NV program API functions
+ nvvertprog.h - NV vertex program definitions
+ nvfragprog.h - NV fragment program definitions
+ nvvertparse.[ch] - NV vertex program parser
+ nvfragparse.[ch] - NV fragment program parser
+ nvvertexec.[ch] - NV vertex program execution
+ swrast/s_nvfragprog.[ch] - NV fragment program execution
+
+The files related to per-vertex handling have changed.
+Old files:
+ tnl/t_eval_api.c - old per-vertex code
+ tnl/t_imm_alloc.c - old per-vertex code
+ tnl/t_imm_api.c - old per-vertex code
+ tnl/t_imm_debug.c - old per-vertex code
+ tnl/t_imm_dlist.c - old per-vertex code
+ tnl/t_imm_elt.c - old per-vertex code
+ tnl/t_imm_eval.c - old per-vertex code
+ tnl/t_imm_exec.c - old per-vertex code
+ tnl/t_imm_fixup.c - old per-vertex code
+ tnl/t_vtx_sse.c - old per-vertex code
+ tnl/t_vtx_x86.c - old per-vertex code
+New files:
+ tnl/t_save_api.c - new per-vertex code
+ tnl/t_save_loopback.c - new per-vertex code
+ tnl/t_save_playback.c - new per-vertex code
+ tnl/t_vtx_eval.c - old per-vertex code
+
+Other new files:
+ bufferobj.[ch] - GL_ARB_vertex_buffer_object functions
+ version.h - defines the Mesa version info
+
+Other removed files:
+ swrast/s_histogram.[ch] - moved into src/histogram.c
+
+
+
+Other Changes
+-------------
+
+The ctx->Driver.CreateTexture function has been removed - it wasn't used.
+
+New device driver hook functions:
+ NewTextureObject - used to allocate struct gl_texture_objects
+ NewTextureImage - used to allocate struct gl_texture_images
+
+New ctx->Texture._EnabledCoordUnits field:
+ With the addition of GL_NV_fragment_program we may need to interpolate
+ various sets of texture coordinates even when the corresponding texture
+ unit is not enabled. That is, glEnable(GL_TEXTURE_xD) may never get
+ called but we still may have to interpolate texture coordinates across
+ triangles so that the fragment program will get them.
+ This new field indicates which sets of texture coordinates are needed.
+ If a bit is set in the ctx->Texture._EnabledUnits bitmask is set, the
+ same bit MUST be set in ctx->Texture._EnabledCoordUnits.
+
+The ctx->_TriangleCaps field is deprecated.
+ Instead of testing the DD_* bits in _TriangleCaps, you should instead
+ directly test the relevant state variables, or use one of the helper
+ functions like NEED_SECONDARY_COLOR() at the bottom of context.h
+ While testing _TriangleCaps bits was fast, it was kludgey, and setting
+ the bits in the first place could be error prone.
+
+New vertex processing code.
+ The code behind glBegin, glEnd, glVertex, glNormal, etc. has been
+ totally rewritten. It's a cleaner implementation now and should use
+ less memory. (Keith)
+
+
+
+To Do
+-----
+Add screen-awareness to fakeglx.c
+
+
+
+
+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.4
+OSMesa (off-screen) implements OpenGL 1.4
+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.4
+DJGPP implements OpenGL 1.4
+GGI implements OpenGL 1.3
+BeOS implements OpenGL 1.4
+Allegro needs updating
+D3D needs updating
+
+Note: supporting OpenGL 1.4 (vs. 1.3 or 1.2) usually only requires that the
+driver call the _mesa_enable_1_4_extensions() function.
+
+
+----------------------------------------------------------------------