Brian Paul | 7c0e32b | 2002-12-18 14:57:34 +0000 | [diff] [blame] | 1 | |
| 2 | Mesa 5.1 release notes |
| 3 | |
| 4 | Month day, 2003 |
| 5 | |
| 6 | PLEASE READ!!!! |
| 7 | |
| 8 | |
| 9 | |
| 10 | Introduction |
| 11 | ------------ |
| 12 | |
| 13 | Mesa uses an even/odd version number scheme like the Linux kernel. |
| 14 | Even-numbered versions (such as 5.0) designate stable releases. |
| 15 | Odd-numbered versions (such as 5.1) designate new developmental releases. |
| 16 | |
| 17 | |
Brian Paul | dc32636 | 2003-03-07 20:21:51 +0000 | [diff] [blame] | 18 | Bug fixes |
| 19 | --------- |
| 20 | See the VERSIONS file for a list of bugs fixed in this release. |
| 21 | |
| 22 | |
| 23 | |
Brian Paul | 7c0e32b | 2002-12-18 14:57:34 +0000 | [diff] [blame] | 24 | New Features in Mesa 5.1 |
| 25 | ------------------------ |
| 26 | |
Brian Paul | 5e04bcf | 2003-06-10 15:01:45 +0000 | [diff] [blame] | 27 | New directory tree |
| 28 | The whole Mesa directory tree has been cleaned up and reorganized. |
| 29 | Some old stuff has been abandoned. Lots of non-Unix makefiles will |
| 30 | have to be updated. |
| 31 | |
| 32 | For now, autoconf/automake support has been removed. New autoconf/automake |
| 33 | files will added if they meet certain criteria. |
| 34 | |
| 35 | |
Brian Paul | 943f0c6 | 2003-01-21 15:49:06 +0000 | [diff] [blame] | 36 | GL_ATI_texture_env_combine3 extension |
| 37 | This adds a few new texture combine modes. |
| 38 | Contributed by Ian Romanick. |
Brian Paul | 7c0e32b | 2002-12-18 14:57:34 +0000 | [diff] [blame] | 39 | |
Brian Paul | ccec647 | 2003-01-21 21:48:29 +0000 | [diff] [blame] | 40 | GL_SGI_texture_color_table |
Brian Paul | a89cc0e | 2003-02-13 16:01:33 +0000 | [diff] [blame] | 41 | Adds a color table lookup to the RGBA texture path. There's a separate |
| 42 | color table for each texture unit. |
Brian Paul | ccec647 | 2003-01-21 21:48:29 +0000 | [diff] [blame] | 43 | Contributed by Eric Plante. |
Brian Paul | 7c0e32b | 2002-12-18 14:57:34 +0000 | [diff] [blame] | 44 | |
Brian Paul | 4e50ab5 | 2003-03-01 01:50:13 +0000 | [diff] [blame] | 45 | GL_NV_fragment_program |
| 46 | NVIDIA's fragment-level programming feature. |
Brian Paul | c0e1189 | 2003-06-01 16:27:37 +0000 | [diff] [blame] | 47 | Possible lurking bugs: |
| 48 | - the DDX and DDY commands aren't fully tested |
| 49 | - there may be bugs in the parser |
| 50 | - the TEX and TXP instructions both do perspective correction |
| 51 | - the pack/unpack instructions may not be correct |
| 52 | |
| 53 | GL_EXT_depth_bounds_test |
| 54 | This extension adds a scissor-like test for the Z axis. It's used to |
| 55 | optimize stencil-volume shadow algorithms. |
| 56 | |
| 57 | GL_NV_light_max_exponent |
| 58 | Lifts the 128 limit for max light exponent. |
| 59 | |
Brian Paul | 5e04bcf | 2003-06-10 15:01:45 +0000 | [diff] [blame] | 60 | GL_EXT_texture_rectangle |
| 61 | Identical to GL_NV_texture_rectangle |
| 62 | |
Brian Paul | b17a722 | 2003-06-13 02:37:27 +0000 | [diff] [blame] | 63 | GL_ARB_occlusion_query |
| 64 | Useful for visibility-based culling. |
| 65 | |
Brian Paul | 235c150 | 2003-07-03 03:07:12 +0000 | [diff] [blame] | 66 | GL_ARB_texture_non_power_of_two |
| 67 | Removes the restriction that texture dimensions must be powers of two. |
Brian Paul | c0e1189 | 2003-06-01 16:27:37 +0000 | [diff] [blame] | 68 | |
Brian Paul | d2d3052 | 2003-08-24 14:56:20 +0000 | [diff] [blame] | 69 | GL_IBM_multimode_draw_arrays |
| 70 | Allows multiple vertex arrays to be drawn with one call, including arrays |
| 71 | of different types of primitives. |
| 72 | |
| 73 | GL_SUN_multi_draw_arrays |
| 74 | An alias for GL_EXT_multi_draw_arrays, standard in OpenGL 1.4. |
| 75 | |
| 76 | |
Brian Paul | c0e1189 | 2003-06-01 16:27:37 +0000 | [diff] [blame] | 77 | |
| 78 | Build System Changes |
| 79 | -------------------- |
| 80 | |
| 81 | The "old style" makefile system has been updated: |
| 82 | 1. Make-config has been trimmed down to fewer, modern configurations. |
| 83 | 2. Most of the bin/mklib.* scripts have been rolled into a new "mklib" |
| 84 | script that works on all sorts of systems. There are probably some |
| 85 | bugs in it, but it's been tested on Linux, SunOS 5.8 and IRIX 6.5. |
| 86 | Improvements/contributes are greatly appreciated. |
| 87 | 3. The Makefile.X11 files have been cleaned up in various ways |
| 88 | |
Brian Paul | d2d3052 | 2003-08-24 14:56:20 +0000 | [diff] [blame] | 89 | The GNU automake/autoconf support has been removed. As it was, it seldom |
| 90 | worked on anything but Linux. The Mesa developers aren't big fans of |
| 91 | automake/autoconf and didn't have the time to maintain it. If someone |
| 92 | wants to contribute new automake/autoconf support (and is willing to |
| 93 | maintain it), it may be re-incorporated into Mesa. |
| 94 | |
| 95 | |
| 96 | |
| 97 | Directory tree reorganization |
| 98 | ----------------------------- |
| 99 | |
| 100 | The directory structure for Mesa has been overhauled to improve its layout. |
| 101 | All source code for Mesa, GLU, GLUT, etc is now under the src/ directory |
| 102 | in appropriate subdirectories. |
| 103 | |
| 104 | The Mesa source code and drivers has been reorganized under src/mesa/. |
| 105 | |
| 106 | All demonstration programs and test are now in subdirectories under progs/. |
| 107 | |
Brian Paul | 4e50ab5 | 2003-03-01 01:50:13 +0000 | [diff] [blame] | 108 | |
| 109 | |
| 110 | Source File Changes |
| 111 | ------------------- |
| 112 | |
| 113 | The mmath.[ch] files are obsolete. Their contents have been moved |
| 114 | into the imports.[ch] and macros.[ch] files. |
| 115 | |
| 116 | The files related to vertex and fragment programming have changed. |
| 117 | Old files: |
| 118 | vpexec.[ch] |
| 119 | vpparse.[ch] |
| 120 | vpstate.[ch] |
| 121 | New files: |
| 122 | nvvertprog.h - NV vertex program definitions |
| 123 | nvfragprog.h - NV fragment program definitions |
| 124 | nvvertparse.[ch] - NV vertex program parser |
| 125 | nvfragparse.[ch] - NV fragment program parser |
| 126 | nvprogram.[ch] - NV program API functions |
| 127 | nvvertexec.[ch] - NV vertex program execution |
| 128 | swrast/s_nvfragprog.[ch] - NV fragment program execution |
| 129 | |
Brian Paul | 9c27050 | 2003-03-29 16:39:52 +0000 | [diff] [blame] | 130 | Removed files: |
| 131 | swrast/s_historgram.[ch] - moved into src/histogram.c |
Brian Paul | 4e50ab5 | 2003-03-01 01:50:13 +0000 | [diff] [blame] | 132 | |
Brian Paul | c0e1189 | 2003-06-01 16:27:37 +0000 | [diff] [blame] | 133 | Other New files: |
Brian Paul | 7f223f2 | 2003-03-30 16:17:54 +0000 | [diff] [blame] | 134 | bufferobj.[ch] - GL_ARB_vertex_buffer_object functions |
Brian Paul | c0e1189 | 2003-06-01 16:27:37 +0000 | [diff] [blame] | 135 | arbprogram.[ch] - GL_ARB_vertex/fragment_program functions |
| 136 | version.h - defines the Mesa version info |
| 137 | |
| 138 | |
| 139 | Other Changes |
| 140 | ------------- |
| 141 | |
| 142 | The ctx->Driver.CreateTexture function has been removed - it wasn't used. |
| 143 | |
| 144 | New device driver hook functions: |
| 145 | NewTextureObject - used to allocate struct gl_texture_objects |
| 146 | NewTextureImage - used to allocate struct gl_texture_images |
| 147 | |
| 148 | New ctx->Texture._EnabledCoordUnits field: |
| 149 | With the addition of GL_NV_fragment_program we may need to interpolate |
| 150 | various sets of texture coordinates even when the corresponding texture |
| 151 | unit is not enabled. That is, glEnable(GL_TEXTURE_xD) may never get |
| 152 | called but we still may have to interpolate texture coordinates across |
| 153 | triangles so that the fragment program will get them. |
| 154 | This new field indicates which sets of texture coordinates are needed. |
| 155 | If a bit is set in the ctx->Texture._EnabledUnits bitmask is set, the |
| 156 | same bit MUST be set in ctx->Texture._EnabledCoordUnits. |
| 157 | |
| 158 | |
| 159 | |
| 160 | To Do |
| 161 | ----- |
| 162 | Add screen-awareness to fakeglx.c |
| 163 | |
Brian Paul | 7f223f2 | 2003-03-30 16:17:54 +0000 | [diff] [blame] | 164 | |
Brian Paul | 4e50ab5 | 2003-03-01 01:50:13 +0000 | [diff] [blame] | 165 | |
Brian Paul | 7c0e32b | 2002-12-18 14:57:34 +0000 | [diff] [blame] | 166 | |
| 167 | Device Driver Status |
| 168 | -------------------- |
| 169 | |
| 170 | A number of Mesa's software drivers haven't been actively maintained for |
| 171 | some time. We rely on volunteers to maintain many of these drivers. |
| 172 | Here's the current status of all included drivers: |
| 173 | |
| 174 | |
| 175 | Driver Status |
| 176 | ---------------------- --------------------- |
| 177 | XMesa (Xlib) implements OpenGL 1.4 |
| 178 | OSMesa (off-screen) implements OpenGL 1.4 |
| 179 | FX (3dfx Voodoo1/2) implements OpenGL 1.3 |
| 180 | SVGA implements OpenGL 1.3 |
| 181 | Wind River UGL implements OpenGL 1.3 |
| 182 | Windows/Win32 implements OpenGL 1.4 |
Brian Paul | 971e4d6 | 2003-03-11 15:34:42 +0000 | [diff] [blame] | 183 | DJGPP implements OpenGL 1.4 |
Brian Paul | 7c0e32b | 2002-12-18 14:57:34 +0000 | [diff] [blame] | 184 | GGI implements OpenGL 1.3 |
Brian Paul | 7f223f2 | 2003-03-30 16:17:54 +0000 | [diff] [blame] | 185 | BeOS implements OpenGL 1.4 |
Brian Paul | 7c0e32b | 2002-12-18 14:57:34 +0000 | [diff] [blame] | 186 | Allegro needs updating |
| 187 | D3D needs updating |
| 188 | |
| 189 | Note: supporting OpenGL 1.4 (vs. 1.3 or 1.2) usually only requires that the |
| 190 | driver call the _mesa_enable_1_4_extensions() function. |
| 191 | |
| 192 | |
| 193 | ---------------------------------------------------------------------- |