Brian Paul | 5c8de84 | 2000-07-31 13:58:04 +0000 | [diff] [blame] | 1 | |
| 2 | Mesa 3.5 release notes |
| 3 | |
| 4 | Month ??, 2000 |
| 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 | Odd numbered versions (such as 3.3) designate new developmental releases. |
| 15 | Even numbered versions (such as 3.4) designate stable releases. |
| 16 | |
| 17 | The internal structure of Mesa 3.5 is (will be) changed so that it |
| 18 | is more modular. The motivation is better support of 3D hardware |
| 19 | such as T&L hardware in which much of core Mesa isn't needed. |
| 20 | |
| 21 | Details to come... |
| 22 | |
| 23 | |
| 24 | |
Brian Paul | bed5735 | 2000-08-31 23:04:17 +0000 | [diff] [blame] | 25 | New Extensions |
| 26 | -------------- |
| 27 | |
| 28 | GL_EXT_convolution |
| 29 | Adds image convolution to glRead/Copy/DrawPixels/TexImage. |
| 30 | |
| 31 | GL_ARB_imaging |
| 32 | This is the optional imaging subset of OpenGL 1.2. |
| 33 | It's the GL_EXT_convolution, GL_HP_convolution_border_modes, |
| 34 | GL_EXT_histogram, GL_EXT_color_table, GL_EXT_color_subtable |
| 35 | GL_EXT_blend_color, GL_EXT_blend_minmax, GL_EXT_blend_subtract |
| 36 | and GL_SGI_color_matrix extensions all rolled together. |
| 37 | This is supported in all software renderers but not in all |
| 38 | hardware drivers (3dfx for example). |
| 39 | |
| 40 | GL_ARB_texture_compression |
| 41 | This is supported in Mesa but only used by the 3dfx DRI drivers |
| 42 | for Voodoo4 and later. |
| 43 | |
Brian Paul | 423f2b2 | 2000-09-25 16:03:59 +0000 | [diff] [blame] | 44 | GL_ARB_texture_env_add |
| 45 | This is identical to GL_EXT_texture_env_add. |
| 46 | |
Brian Paul | bed5735 | 2000-08-31 23:04:17 +0000 | [diff] [blame] | 47 | GL_NV_blend_square |
| 48 | Adds extra blend source and dest factors which allow squaring |
| 49 | of color values. |
| 50 | |
Brian Paul | 7dd57a4 | 2000-10-27 18:32:55 +0000 | [diff] [blame] | 51 | GL_EXT_fog_coord |
| 52 | Allows specification of a per-vertex fog coordinate instead of |
| 53 | having fog always computed from the eye distance. |
| 54 | |
| 55 | GL_EXT_secondary_color |
| 56 | Allows specifying the secondary (specular) color for each vertex |
| 57 | instead of getting it only from lighting in GL_SEPARATE_SPECULAR_COLOR |
| 58 | mode. |
| 59 | |
Brian Paul | bed5735 | 2000-08-31 23:04:17 +0000 | [diff] [blame] | 60 | |
| 61 | |
Brian Paul | 5a501fb | 2000-10-23 19:46:11 +0000 | [diff] [blame] | 62 | libOSMesa.so |
| 63 | ------------ |
| 64 | |
| 65 | libOSMesa.so is a new library which contains the OSMesa interface for |
| 66 | off-screen rendering. Apps which need the OSMesa interface should link |
| 67 | with both -lOSMesa and -lGL. This change was made so that stand-alone |
| 68 | Mesa works the same way as XFree86/DRI's libGL. |
| 69 | |
| 70 | |
| 71 | |
Brian Paul | 9a2da66 | 2000-09-08 22:39:09 +0000 | [diff] [blame] | 72 | Device Driver Changes / Core Mesa Changes |
| 73 | ----------------------------------------- |
Brian Paul | 8ad306b | 2000-09-07 15:46:05 +0000 | [diff] [blame] | 74 | |
| 75 | The ctx->Driver.LogicOp() function has been removed. It used to |
| 76 | be called during state update in order to determine if the driver |
| 77 | could do glLogicOp() operations, and if not, set the SWLogicOpEnabled |
| 78 | flag. Drivers should instead examine the LogicOp state themselves |
| 79 | and choose specialized point, line, and triangle functions appropriately, |
| 80 | or fall back to software rendering. The Xlib driver was the only driver |
| 81 | to use this function. And since the Xlib driver no longer draws |
| 82 | points, lines or triangles using Xlib, the LogicOp function isn't needed. |
| 83 | |
Brian Paul | 9a2da66 | 2000-09-08 22:39:09 +0000 | [diff] [blame] | 84 | The ctx->Driver.Dither() function has been removed. Drivers should |
| 85 | detect dither enable/disable via ctx->Driver.Enable() instead. |
Brian Paul | 8ad306b | 2000-09-07 15:46:05 +0000 | [diff] [blame] | 86 | |
| 87 | The ctx->Driver.IndexMask() and ctx->Driver.ColorMask() functions |
| 88 | are now just called from glIndexMask and glColorMask like the other |
| 89 | GL state-changing functions. They are no longer called from inside |
| 90 | gl_update_state(). Also, they now return void. The change was made |
| 91 | mostly for sake of uniformity. |
| 92 | |
Brian Paul | 9a2da66 | 2000-09-08 22:39:09 +0000 | [diff] [blame] | 93 | The NEW_DRVSTATE[0123] flags have been removed. They weren't being used |
| 94 | and are obsolete w.r.t. the way state updates are done in DRI drivers. |
Brian Paul | 8ad306b | 2000-09-07 15:46:05 +0000 | [diff] [blame] | 95 | |
| 96 | |
Brian Paul | 5a501fb | 2000-10-23 19:46:11 +0000 | [diff] [blame] | 97 | Removed obsolete gl_create_visual() and gl_destroy_visual(). |
| 98 | |
| 99 | Renamed functions (new namespace): |
| 100 | |
| 101 | old new |
| 102 | gl_create_framebuffer _mesa_create_framebuffer |
| 103 | gl_destroy_framebuffer _mesa_destroy_framebuffer |
| 104 | gl_create_context _mesa_create_context |
| 105 | gl_destroy_context _mesa_destroy_context |
| 106 | gl_context_initialize _mesa_context_initialize |
| 107 | gl_copy_context _mesa_copy_context |
| 108 | gl_make_current _mesa_make_current |
| 109 | gl_make_current2 _mesa_make_current2 |
| 110 | gl_get_current_context _mesa_get_current_context |
| 111 | gl_flush_vb _mesa_flush_vb |
| 112 | gl_warning _mesa_warning |
| 113 | gl_compile_error _mesa_compile_error |
| 114 | |
| 115 | |
| 116 | All the drivers have been updated, but not all of them have been |
| 117 | tested since I can't test some platforms (DOS, Windows, Allegro, etc). |
| 118 | |
| 119 | |
| 120 | Multitexture |
| 121 | ------------ |
| 122 | |
| 123 | Three texture units are now supported by default. We'll allow more |
| 124 | than three texture units when we fix some bitfield issues. In at least |
| 125 | one place we have a 32-bit bitfield which is fully allocated, leaving |
| 126 | no space for texture unit #3 or higher. |
| 127 | |
| 128 | The TEXTURE1_1D, TEXTURE1_2D, etc constants may go away in the future. |
| 129 | Currently, they're only used in the ctx->Texture.ReallyEnabled field. |
| 130 | This bitfield is just a conglomerate of ctx->Texture.Unit[i].ReallyEnabled |
| 131 | for all <i> texture units. ctx->Texture.ReallyEnabled may become a |
| 132 | GLboolean. Then, drivers will have to loop over the texture units to |
| 133 | examine ctx->Texture.Unit[i].ReallyEnabled. |
| 134 | |
| 135 | |
| 136 | |
| 137 | |
Keith Whitwell | 69676ac | 2000-10-30 16:00:42 +0000 | [diff] [blame] | 138 | |
| 139 | |
Brian Paul | 5a501fb | 2000-10-23 19:46:11 +0000 | [diff] [blame] | 140 | OpenGL SI related changes |
| 141 | ------------------------- |
| 142 | |
| 143 | In an effort to make Mesa's internal interfaces more like the OpenGL |
| 144 | SI interfaces, a number of changes have been made: |
| 145 | |
| 146 | 1. Importing the SI's glcore.h file which defines a number of |
| 147 | interface structures like __GLimports and __GLexports. |
| 148 | |
| 149 | 2. Renamed "struct gl_context" to "struct __GLcontextRec". |
| 150 | |
| 151 | 3. Added __glCoreCreateContext() and __glCoreNopDispatch() functions. |
| 152 | |
| 153 | 4. The GLcontext member Visual is no longer a pointer. |
| 154 | |
| 155 | 5. New file: imports.c to setup default import functions for Mesa. |
| 156 | |
| 157 | |
Brian Paul | 5c8de84 | 2000-07-31 13:58:04 +0000 | [diff] [blame] | 158 | ---------------------------------------------------------------------- |
Keith Whitwell | 69676ac | 2000-10-30 16:00:42 +0000 | [diff] [blame] | 159 | $Id: RELNOTES-3.5,v 1.8 2000/10/30 16:00:42 keithw Exp $ |