X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=docs%2FRELNOTES-5.1;h=aed6e102b09a974e78f9516063c01a7196e62a46;hb=ca0e88ce9298516087825758dd97dd0636d9f19c;hp=6cd33612ade8e9766eae785ed718b3deaaa7a841;hpb=c0e1189bad89371f5117f11590dc22298c399706;p=mesa.git diff --git a/docs/RELNOTES-5.1 b/docs/RELNOTES-5.1 index 6cd33612ade..aed6e102b09 100644 --- a/docs/RELNOTES-5.1 +++ b/docs/RELNOTES-5.1 @@ -1,7 +1,7 @@ Mesa 5.1 release notes - Month day, 2003 + December 17, 2003 PLEASE READ!!!! @@ -24,6 +24,10 @@ 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. @@ -48,11 +52,100 @@ GL_EXT_depth_bounds_test 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" @@ -61,10 +154,6 @@ The "old style" makefile system has been updated: Improvements/contributes are greatly appreciated. 3. The Makefile.X11 files have been cleaned up in various ways -NOTE: there are plans to completely reorganize the Mesa directory tree -structure. At that time, the GNU autoconf/autoconfig support will be -removed. - Source File Changes @@ -79,22 +168,47 @@ Old files: 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 - nvprogram.[ch] - NV program API functions nvvertexec.[ch] - NV vertex program execution swrast/s_nvfragprog.[ch] - NV fragment program execution -Removed files: - swrast/s_historgram.[ch] - moved into src/histogram.c +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: +Other new files: bufferobj.[ch] - GL_ARB_vertex_buffer_object functions - arbprogram.[ch] - GL_ARB_vertex/fragment_program functions version.h - defines the Mesa version info +Other removed files: + swrast/s_histogram.[ch] - moved into src/histogram.c + + Other Changes ------------- @@ -115,6 +229,18 @@ New ctx->Texture._EnabledCoordUnits field: 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 @@ -151,4 +277,3 @@ driver call the _mesa_enable_1_4_extensions() function. ---------------------------------------------------------------------- -$Id: RELNOTES-5.1,v 1.10 2003/06/01 16:27:37 brianp Exp $