OSDN Git Service

egl: Add support for EGL_KHR_image_base.
[android-x86/external-mesa.git] / docs / RELNOTES-3.5
1
2                          Mesa 3.5 release notes
3
4                              June 21, 2001
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.5) designate new developmental releases.
15 Even numbered versions (such as 3.4) designate stable releases.
16
17 The biggest change in Mesa 3.5 is a complete overhaul of the source
18 code in order to make it more modular.  This was driven by the DRI
19 hardware drivers.  It simplifies the DRI drivers and opens the door
20 to hardware transform/clip/lighting (TCL).  Keith Whitwell can take
21 the credit for that.
22
23
24
25 Driver Support
26 --------------
27
28 The device driver interface in Mesa 3.5 has changed a lot since Mesa 3.4
29 Not all of the older Mesa drivers have been updated.  Here's the status:
30
31 Driver                  Status
32 ----------------------  -----------
33 XMesa (Xlib)            updated
34 OSMesa (off-screen)     updated
35 FX (3dfx Voodoo1/2)     updated
36 SVGA                    updated
37 GGI                     not updated
38 Windows/Win32           not updated
39 DOS/DJGPP               not updated
40 BeOS                    not updated
41 Allegro                 not updated
42 D3D                     not updated
43 DOS                     not updated
44
45 We're looking for volunteers to update the remaining drivers.  Please
46 post to the Mesa3d-dev mailing list if you can help.
47
48
49
50 GLU 1.3
51 -------
52
53 Mesa 3.5 includes the SGI Sample Implementation (SI) GLU library.
54 This version of GLU supports the GLU 1.3 specification.  The old
55 Mesa GLU library implemented the 1.1 specification.  The SI GLU
56 library should work much better.
57
58 You'll need a C++ compiler to compile the SI GLU library.  This may
59 be a problem on some systems.
60
61
62
63 New Extensions
64 --------------
65
66 GL_EXT_convolution
67         Adds image convolution to glRead/Copy/DrawPixels/TexImage.
68
69 GL_ARB_imaging
70         This is the optional imaging subset of OpenGL 1.2.
71         It's the GL_EXT_convolution, GL_HP_convolution_border_modes,
72         GL_EXT_histogram, GL_EXT_color_table, GL_EXT_color_subtable
73         GL_EXT_blend_color, GL_EXT_blend_minmax, GL_EXT_blend_subtract
74         and GL_SGI_color_matrix extensions all rolled together.
75         This is supported in all software renderers but not in all
76         hardware drivers (3dfx for example).
77
78 GL_ARB_texture_compression
79         This is supported in Mesa but only used by the 3dfx DRI drivers
80         for Voodoo4 and later.
81
82 GL_ARB_texture_env_add
83         This is identical to GL_EXT_texture_env_add.
84
85 GL_NV_blend_square
86         Adds extra blend source and dest factors which allow squaring
87         of color values.
88
89 GL_EXT_fog_coord
90         Allows specification of a per-vertex fog coordinate instead of
91         having fog always computed from the eye distance.
92
93 GL_EXT_secondary_color
94         Allows specifying the secondary (specular) color for each vertex
95         instead of getting it only from lighting in GL_SEPARATE_SPECULAR_COLOR
96         mode.
97
98 GL_ARB_texture_env_combine
99         Basically the same as GL_EXT_texture_env_combine
100
101 GL_ARB_texture_env_add extension
102         Texture addition mode.
103
104 GL_ARB_texture_env_dot3 extension
105         Dot product texture environment.
106
107 GL_ARB_texture_border_clamp
108         Adds GL_CLAMP_TO_BORDER_ARB texture wrap mode
109
110 GL_SGIX_depth_texture, GL_SGIX_shadow and GL_SGIX_shadow_ambient
111         Implements a shadow casting algorithm based on depth map textures
112
113 GL_SGIS_generate_mipmap
114         Automatically generate lower mipmap images whenever the base mipmap
115         image is changed with glTexImage, glCopyTexImage, etc.
116
117
118
119 libOSMesa.so
120 ------------
121
122 libOSMesa.so is a new library which contains the OSMesa interface for
123 off-screen rendering.  Apps which need the OSMesa interface should link
124 with both -lOSMesa and -lGL.  This change was made so that stand-alone
125 Mesa works the same way as XFree86/DRI's libGL.
126
127
128
129 Device Driver Changes / Core Mesa Changes
130 -----------------------------------------
131
132 The ctx->Driver.LogicOp() function has been removed.  It used to
133 be called during state update in order to determine if the driver
134 could do glLogicOp() operations, and if not, set the SWLogicOpEnabled
135 flag.  Drivers should instead examine the LogicOp state themselves
136 and choose specialized point, line, and triangle functions appropriately,
137 or fall back to software rendering.  The Xlib driver was the only driver
138 to use this function.  And since the Xlib driver no longer draws
139 points, lines or triangles using Xlib, the LogicOp function isn't needed.
140
141 The ctx->Driver.Dither() function has been removed.  Drivers should
142 detect dither enable/disable via ctx->Driver.Enable() instead.
143
144 The ctx->Driver.IndexMask() and ctx->Driver.ColorMask() functions
145 are now just called from glIndexMask and glColorMask like the other
146 GL state-changing functions.  They are no longer called from inside
147 gl_update_state().  Also, they now return void.  The change was made
148 mostly for sake of uniformity.
149
150 The NEW_DRVSTATE[0123] flags have been removed.  They weren't being used
151 and are obsolete w.r.t. the way state updates are done in DRI drivers.
152
153
154 Removed obsolete gl_create_visual() and gl_destroy_visual().
155
156 Renamed functions (new namespace):
157
158 old                             new
159 gl_create_framebuffer           _mesa_create_framebuffer
160 gl_destroy_framebuffer          _mesa_destroy_framebuffer
161 gl_create_context               _mesa_create_context
162 gl_destroy_context              _mesa_destroy_context
163 gl_context_initialize           _mesa_context_initialize
164 gl_copy_context                 _mesa_copy_context
165 gl_make_current                 _mesa_make_current
166 gl_make_current2                _mesa_make_current2
167 gl_get_current_context          _mesa_get_current_context
168 gl_flush_vb                     _mesa_flush_vb
169 gl_warning                      _mesa_warning
170 gl_compile_error                _mesa_compile_error
171
172
173 All the drivers have been updated, but not all of them have been
174 tested since I can't test some platforms (DOS, Windows, Allegro, etc).
175
176
177 X/Mesa Driver
178 -------------
179
180 The source files for the X/Mesa driver in src/X have been renamed.
181 The xmesa[1234].c files are gone.  The new files are xm_api.c,
182 xm_dd.c, xm_line.c, xm_span.c and xm_tri.c.
183
184
185
186 Multitexture
187 ------------
188
189 Eight texture units are now supported by default.
190
191
192
193 OpenGL SI related changes
194 -------------------------
195
196 In an effort to make Mesa's internal interfaces more like the OpenGL
197 SI interfaces, a number of changes have been made:
198
199 1. Importing the SI's glcore.h file which defines a number of
200 interface structures like __GLimports and __GLexports.
201
202 2. Renamed "struct gl_context" to "struct __GLcontextRec".
203
204 3. Added __glCoreCreateContext() and __glCoreNopDispatch() functions.
205
206 4. The GLcontext member Visual is no longer a pointer.
207
208 5. New file: imports.c to setup default import functions for Mesa.
209
210
211
212
213 16-bit color channels
214 ---------------------
215
216 There's experimental support for 16-bit color channels (64-bit pixels)
217 in Mesa 3.5.  Only the OSMesa interface can be used for 16-bit rendering.
218 Type "make linux-osmesa16" in the top-level directory to build the
219 special libOSMesa16.so library.
220
221 This hasn't been tested very thoroughly yet so please file bug reports
222 if you have trouble.
223
224 In the future I hope to implement support for 32-bit, floating point
225 color channels.
226
227 ----------------------------------------------------------------------