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 | c0e1189 | 2003-06-01 16:27:37 +0000 | [diff] [blame] | 63 | |
| 64 | |
| 65 | Build System Changes |
| 66 | -------------------- |
| 67 | |
| 68 | The "old style" makefile system has been updated: |
| 69 | 1. Make-config has been trimmed down to fewer, modern configurations. |
| 70 | 2. Most of the bin/mklib.* scripts have been rolled into a new "mklib" |
| 71 | script that works on all sorts of systems. There are probably some |
| 72 | bugs in it, but it's been tested on Linux, SunOS 5.8 and IRIX 6.5. |
| 73 | Improvements/contributes are greatly appreciated. |
| 74 | 3. The Makefile.X11 files have been cleaned up in various ways |
| 75 | |
Brian Paul | 4e50ab5 | 2003-03-01 01:50:13 +0000 | [diff] [blame] | 76 | |
| 77 | |
| 78 | Source File Changes |
| 79 | ------------------- |
| 80 | |
| 81 | The mmath.[ch] files are obsolete. Their contents have been moved |
| 82 | into the imports.[ch] and macros.[ch] files. |
| 83 | |
| 84 | The files related to vertex and fragment programming have changed. |
| 85 | Old files: |
| 86 | vpexec.[ch] |
| 87 | vpparse.[ch] |
| 88 | vpstate.[ch] |
| 89 | New files: |
| 90 | nvvertprog.h - NV vertex program definitions |
| 91 | nvfragprog.h - NV fragment program definitions |
| 92 | nvvertparse.[ch] - NV vertex program parser |
| 93 | nvfragparse.[ch] - NV fragment program parser |
| 94 | nvprogram.[ch] - NV program API functions |
| 95 | nvvertexec.[ch] - NV vertex program execution |
| 96 | swrast/s_nvfragprog.[ch] - NV fragment program execution |
| 97 | |
Brian Paul | 9c27050 | 2003-03-29 16:39:52 +0000 | [diff] [blame] | 98 | Removed files: |
| 99 | swrast/s_historgram.[ch] - moved into src/histogram.c |
Brian Paul | 4e50ab5 | 2003-03-01 01:50:13 +0000 | [diff] [blame] | 100 | |
Brian Paul | c0e1189 | 2003-06-01 16:27:37 +0000 | [diff] [blame] | 101 | Other New files: |
Brian Paul | 7f223f2 | 2003-03-30 16:17:54 +0000 | [diff] [blame] | 102 | bufferobj.[ch] - GL_ARB_vertex_buffer_object functions |
Brian Paul | c0e1189 | 2003-06-01 16:27:37 +0000 | [diff] [blame] | 103 | arbprogram.[ch] - GL_ARB_vertex/fragment_program functions |
| 104 | version.h - defines the Mesa version info |
| 105 | |
| 106 | |
| 107 | Other Changes |
| 108 | ------------- |
| 109 | |
| 110 | The ctx->Driver.CreateTexture function has been removed - it wasn't used. |
| 111 | |
| 112 | New device driver hook functions: |
| 113 | NewTextureObject - used to allocate struct gl_texture_objects |
| 114 | NewTextureImage - used to allocate struct gl_texture_images |
| 115 | |
| 116 | New ctx->Texture._EnabledCoordUnits field: |
| 117 | With the addition of GL_NV_fragment_program we may need to interpolate |
| 118 | various sets of texture coordinates even when the corresponding texture |
| 119 | unit is not enabled. That is, glEnable(GL_TEXTURE_xD) may never get |
| 120 | called but we still may have to interpolate texture coordinates across |
| 121 | triangles so that the fragment program will get them. |
| 122 | This new field indicates which sets of texture coordinates are needed. |
| 123 | If a bit is set in the ctx->Texture._EnabledUnits bitmask is set, the |
| 124 | same bit MUST be set in ctx->Texture._EnabledCoordUnits. |
| 125 | |
| 126 | |
| 127 | |
| 128 | To Do |
| 129 | ----- |
| 130 | Add screen-awareness to fakeglx.c |
| 131 | |
Brian Paul | 7f223f2 | 2003-03-30 16:17:54 +0000 | [diff] [blame] | 132 | |
Brian Paul | 4e50ab5 | 2003-03-01 01:50:13 +0000 | [diff] [blame] | 133 | |
Brian Paul | 7c0e32b | 2002-12-18 14:57:34 +0000 | [diff] [blame] | 134 | |
| 135 | Device Driver Status |
| 136 | -------------------- |
| 137 | |
| 138 | A number of Mesa's software drivers haven't been actively maintained for |
| 139 | some time. We rely on volunteers to maintain many of these drivers. |
| 140 | Here's the current status of all included drivers: |
| 141 | |
| 142 | |
| 143 | Driver Status |
| 144 | ---------------------- --------------------- |
| 145 | XMesa (Xlib) implements OpenGL 1.4 |
| 146 | OSMesa (off-screen) implements OpenGL 1.4 |
| 147 | FX (3dfx Voodoo1/2) implements OpenGL 1.3 |
| 148 | SVGA implements OpenGL 1.3 |
| 149 | Wind River UGL implements OpenGL 1.3 |
| 150 | Windows/Win32 implements OpenGL 1.4 |
Brian Paul | 971e4d6 | 2003-03-11 15:34:42 +0000 | [diff] [blame] | 151 | DJGPP implements OpenGL 1.4 |
Brian Paul | 7c0e32b | 2002-12-18 14:57:34 +0000 | [diff] [blame] | 152 | GGI implements OpenGL 1.3 |
Brian Paul | 7f223f2 | 2003-03-30 16:17:54 +0000 | [diff] [blame] | 153 | BeOS implements OpenGL 1.4 |
Brian Paul | 7c0e32b | 2002-12-18 14:57:34 +0000 | [diff] [blame] | 154 | Allegro needs updating |
| 155 | D3D needs updating |
| 156 | |
| 157 | Note: supporting OpenGL 1.4 (vs. 1.3 or 1.2) usually only requires that the |
| 158 | driver call the _mesa_enable_1_4_extensions() function. |
| 159 | |
| 160 | |
| 161 | ---------------------------------------------------------------------- |