versions.html revision b8e80941
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2<html lang="en">
3<head>
4  <meta http-equiv="content-type" content="text/html; charset=utf-8">
5  <title>Mesa Version History</title>
6  <link rel="stylesheet" type="text/css" href="mesa.css">
7</head>
8<body>
9
10<div class="header">
11  <h1>The Mesa 3D Graphics Library</h1>
12</div>
13
14<iframe src="contents.html"></iframe>
15<div class="content">
16
17<h1>Mesa Version History</h1>
18
19<b>
20NOTE: Changes for Mesa 6.4 and later are documented in the corresponding
21<a href="relnotes.html">release notes</a> file.
22</b>
23
24<h2>1.0 beta   February 1995</h2>
25<ul>
26<li>Initial release
27</ul>
28
29<h2>1.1 beta   March 4, 1995</h2>
30Changes:
31<ul>
32<li>faster point and line drawing (2x faster)
33<li>more systems supported, better Makefiles
34<li>Renamed lib*.a files to avoid collisions
35<li>many small bug fixes
36</ul>
37New:
38<ul>
39<li>pseudo-GLX functions added
40<li>new implementation of evaluators (eval2.c)
41<li>GLUT support
42</ul>
43
44<h2>1.1.1 beta   March 7, 1995</h2>
45Changes:
46<ul>
47<li>Reverted from eval2.c to eval.c due to FPE on Linux
48<li>more speed improvements
49<li>more Makefile changes
50</ul>
51
52<h2>1.1.2 beta   March 14, 1995</h2>
53New:
54<ul>
55<li>implementation of SGI's blending extensions
56<li>glXUseXFont implemented
57<li>added MESA_DEBUG environment variable support
58</ul>
59Changes:
60<ul>
61<li>Using eval2.c again
62<li>more FPE-prevention checks (0-length normals are OK)
63<li>a few small bug fixes
64<li>much faster pixel logic ops!
65<li>faster transformation arithmetic
66</ul>
67
68<h2>1.1.3 beta   March 31, 1995</h2>
69New:
70<ul>
71<li>gluScaleImage() and gluBuild2DMipMaps() implemented
72<li>Mesa widgets for Xt/Motif
73<li>blendEXT demos
74<li>added environment variables for selecting visuals
75</ul>
76Changes:
77<ul>
78<li>almost all GLUT demos work correctly now
79<li>faster X device driver functions
80<li>more bug fixes
81</ul>
82
83<h2>1.1.4 beta   April 20, 1995</h2>
84Bug fixes:
85<ul>
86<li>missing #define SEEK_SET in src-tk/image.c
87<li>compile glShadeModel into display lists
88<li>fixed pow() domain error in src/light.c
89<li>fixed "flickering bitmaps" in double buffer mode
90<li>fixed tk.h and aux.h for C++
91<li>state of LIGHT_MODEL_LOCAL_VIEWER was inverted
92</ul>
93New features:
94<ul>
95<li>MUCH, MUCH nicer dithering in 8-bit RGB mode
96<li>updated widgets and widget demos
97<li>Implemented GLXPixmap functions
98<li>Added GLU 1.1 and GLX 1.1 functions
99<li>Changed the X/Mesa interface API, more versatile
100<li>Implemented gluPartialDisk()
101</ul>
102
103<h2>1.2   May 22, 1995</h2>
104Bug fixes:
105<ul>
106<li>IRIX 4.x makefile problem
107<li>modified tk to share root colormap as needed
108<li>gluLookAt normalization problem
109<li>suppress Expose, NoExpose events in swapbuffers
110<li>glBitmap() and glDrawPixels() clipping
111</ul>
112New features:
113<ul>
114<li>GL_BLEND, GL_MODULATE, GL_DECAL, and GL_REPLACE_EXT texture
115	    modes implemented
116<li>texture maps stored more efficiently
117<li>texture maps can be compiled into display lists
118<li>Bogdan Sikorski's GLU polygon tesselation code
119<li>Linas Vepstas's sweep and extrusion library
120<li>glXCreateContext()'s shareList parameter works as it's supposed to.
121	XMesaCreateContext() updated to accept a shareList parameter too.
122<li>Mesa can be compiled with real OpenGL .h files
123<li>MESA_BACK_BUFFER environment variable
124<li>better GLX error checking
125</ul>
126
127<h2>1.2.1   June 22, 1995</h2>
128Bug fixes:
129<ul>
130<li>X/Mesa double buffer window resize crash
131<li>widgets now pass PointerMotion events
132<li>X/Mesa incorrect default clear color and drawing color
133<li>more robust X MIT-SHM support in X/Mesa
134<li>glTexImage( format=GL_LUMINANCE ) didn't work
135<li>GL_LINE mode polygons with line width &gt; 1.0 could cause a crash
136<li>numerous feedback bugs
137<li>glReadPixels() from depth buffer was wrong
138<li>error prone depth and stencil buffer allocation
139New features:
140<li>Preliminary Microsoft Windows driver
141<li>Implemented a number of missing functions: glEvalCoord[12][df]v(),
142	glGet...(), etc.
143<li>Added a few missing symbols to gl.h and glu.h
144<li>Faster rendering of smooth-shaded, RGBA, depth-buffered polygons.
145<li>Faster rendering of lines when width=2.0
146<li>Stencil-related functions now work in display lists
147</ul>
148Changes:
149<ul>
150<li>renamed aux.h as glaux.h (MS-DOS names can't start with aux)
151<li>most filenames are in 8.3 format to accommodate MS-DOS
152<li>use GLubytes to store arrays of colors instead of GLints
153</ul>
154
155<h2>1.2.2   August 2, 1995</h2>
156New features:
157<ul>
158<li>texture mapped points and lines
159<li>NURBS! (but not 100% complete)
160<li>viewports may safely extend beyond window boundaries
161<li>MESA_PRIVATE_CMAP environment variable
162<li>Grayscale X display support
163<li>two new demos:  demos/gears.c and demos/shadow.c
164<li>MachTen for Macintosh configuration
165</ul>
166Bug fixes:
167<ul>
168<li>glGet*(GL_DEPTH_BITS) returned bytes, not bits
169<li>point, line, and bitmap rasterization suffered from roundoff errors
170<li>fixed a division by zero error in line clippping
171<li>occasional wrong default background color really fixed!
172<li>glDepthFunc(GL_ALWAYS) with glDepthMask(GL_FALSE) didn't work
173<li>gluBuild2DMipmaps malloc problem fixed
174<li>view volume clipping of smooth shaded lines resulted in bad colors
175</ul>
176Changes:
177<ul>
178<li>new visual selection method in glXChooseVisual()
179<li>improved GLU quadric functions
180<li>call XSync for glFinish and XFlush for glFlush
181<li>glVertex() calls now use a function pointer to avoid conditionals
182<li>removed contrib directory from Mesa tar file (available on ftp site)
183<li>AIX shared library support
184<li>Removed GLUenum type as it's not in OpenGL
185</ul>
186
187<h2>1.2.3   September 26, 1995</h2>
188New features:
189<ul>
190<li>Mesa header files now equivalent to SGI OpenGL headers
191<li>Support for HP's Color Recovery dithering displays
192<li>Faster vertex transformation
193<li>Faster raster operations into X windows under certain conditions
194<li>New configurations:  HP w/ shared libs, Ultrix w/ GCC, Data General
195<li>4-bit visuals now supported
196</ul>
197Bug fixes:
198<ul>
199<li>glScissor bug fixed
200<li>round-off errors in clipping lines against clip planes fixed
201<li>byte swapping between hosts and display servers implemented
202<li>glGetError() can be called without a current rendering context
203<li>problem with accidentally culled polygons is fixed
204<li>fixed some widget compilation problems
205</ul>
206
207<h2>1.2.4   November 17, 1995</h2>
208New features:
209<ul>
210<li>More speed improvements (lighting, fogging, polygon drawing)
211<li>Window system and OS-independent off-screen rendering
212<li>Preliminary Fortran bindings
213<li>glPolygonOffsetEXT implemented
214<li>glColorMask and glIndexMask now fully implemented
215<li>glPixelZoom implemented
216<li>display lists fully implemented
217<li>gamma correction
218<li>dithering in 8-bit TrueColor/DirectColor visuals
219</ul>
220Changes:
221<ul>
222<li>Improved device driver interface
223<li>tk.h renamed to gltk.h to avoid conflicts with Tcl's Tk
224<li>Dithering support moved from core into device driver
225</ul>
226Bug fixes:
227<ul>
228<li>glEnable/Disable( GL_LIGHTING ) didn't always take effect
229<li>glReadPixels byte swapping was broken
230<li>glMaterial with pname==GL_AMBIENT_AND_DIFFUSE was broken
231<li>duplicate glColor4b() prototype in GL/gl.h removed
232<li>stripes in wave -ci demo fixed
233<li>GL_LINEAR_MIPMAP_NEAREST had wrong value
234<li>bugs in HP Color Recovery support fixed
235<li>fixed bug when blending lines, points, bitmaps outside of window
236</ul>
237
238<h2>1.2.5   November 30, 1995</h2>
239New Features:
240<ul>
241<li>updated MS Windows driver
242<li>new implementation of StaticGray/GrayScale visual support
243</ul>
244Bug fixes:
245<ul>
246<li>pixelzooming with gamma correction or blending didn't work
247<li>HP color recovery visual wasn't being picked by glXChooseVisual
248<li>glClear didn't always observe glColorMask changes
249<li>olympic and offset demos didn't compile on some Suns
250<li>texcoord clamping wasn't correct
251<li>a polygon optimization introduced an occasional sampling problem
252</ul>
253
254<h2>1.2.6   January 26, 1996</h2>
255New Features:
256<ul>
257<li>faster line and polygon rendering under certain conditions.  See
258	  Performance Tips 9 and 10 in README
259<li>profiling
260<li>lighting is a bit faster
261<li>better perspective corrected texture mapping
262<li>Amiga AmiWin (X11) support
263<li>preliminary Linux SVGA driver
264Changes:
265<li>now using a 16-bit depth buffer, faster, smaller
266<li>GL_NORMALIZE is disabled by default
267</ul>
268Bug fixes:
269<ul>
270<li>projective texture mapping
271<li>fixed a memory leak in the context destroy function
272<li>GL_POLYGON with less than 3 vertices caused a crash
273<li>glGet*() returned wrong result for GL_INDEX_MODE
274<li>reading pixels from an unmapped X window caused a BadMatch error
275</ul>
276
277<h2>1.2.7   March 5, 1996</h2>
278New:
279<ul>
280<li>faster lighting
281<li>faster 16-bit TrueColor rendering on Linux
282<li>faster 32-bit TrueColor rendering on Linux, HP, IBM
283<li>non-depth-buffered XImage polygons are faster
284<li>vertex array extension
285<li>software alpha planes
286<li>updated Macintosh driver
287<li>new NeXT driver
288<li>GLU quadric functions generate texture coordinates
289<li>reflect.c demo - reflective, textured surface demo
290</ul>
291Changes:
292<ul>
293<li>gamma correction code moved into the X driver for better performance
294</ul>
295Bug fixes:
296<ul>
297<li>multiple glClipPlane()'s didn't work reliably
298<li>glPolygonMode() didn't always work
299<li>glCullFace( GL_FRONT_AND_BACK ) didn't work
300<li>texture mapping with gamma correction was buggy
301<li>floating point exceptions in texture coordinate interpolation
302<li>XImage byte swapping didn't always work
303<li>polygon edge flags weren't always used correctly
304</ul>
305
306<h2>1.2.8   May 22, 1996</h2>
307New:
308<ul>
309<li>overlay planes on X servers with the SERVER_OVERLAY_VISUALS property
310<li>better monochrome output
311<li>more IRIX 6.x configurations
312<li>more robust RGB mode color allocation
313<li>added MESA_XSYNC environment variable
314<li>GLX_MESA_pixmap_colormap and GLX_EXT_visual_info extensions
315<li>GL_MESA_window_pos extension
316<li>faster glReadPixels/glDrawPixels for GL_DEPTH and GL_UNSIGNED_SHORT
317	and GL_UNSIGNED_INT
318<li>driver for prototype Cirrus Mondello 3-D board
319<li>updated AmigaDOS driver
320<li>a few small speed optimizations in polygon rendering
321</ul>
322Changes:
323<ul>
324<li>internal device driver interface modified to simplify device
325	  driver implementations and to support hardware Z buffers
326<li>several changes to the X/Mesa interface (xmesa.h)
327</ul>
328Bug fixes:
329<ul>
330<li>fixed pow(0,0) domain error triggered on some systems
331<li>glStencilClear() in a display list caused an infinite loop
332<li>glRasterPos*() was sometimes off by +/-0.5 in X and Y
333<li>color masking and blending were performed in wrong order
334<li>auxSolidCylinder() sometimes drew a wire-frame cylinder
335<li>fixed file writing bug in osdemo.c
336<li>pixel mapping didn't always work
337<li>the GL_GEQUAL stencil func didn't work
338<li>the GL_INVERT stencil op didn't work
339<li>the stencil write mask didn't work
340<li>glPush/PopAttrib() didn't do enough error checking
341<li>glIsList() didn't always work correctly
342</ul>
343
344<h2>2.0  October 10, 1996</h2>
345New:
346<ul>
347<li>Implements OpenGL 1.1 API functions
348<li>all texture filtering modes supported (mipmapping)
349<li>faster texture mapping, see Performance Tip 11 in README
350<li>antialiased RGB points
351<li>X support for line and polygon stippling
352<li>glDrawBuffer( GL_FRONT_AND_BACK ) works
353<li>util/ directory of useful stuff
354<li>demos/texobj demo of texture objects
355</ul>
356Changes:
357<ul>
358<li>major internal changes for thread-safeness
359<li>new device driver interface
360<li>MESA_ALPHA env variable removed
361<li>triangle rasterizer replaces polygon rasterizer
362</ul>
363Bug fixes:
364<ul>
365<li>glPopAttrib() bug
366<li>glDrawBuffer(GL_NONE) works now
367</ul>
368
369<h2>2.1  December 14, 1996</h2>
370New:
371<ul>
372<li>VMS support
373<li>MS-DOS driver
374<li>OpenStep support
375<li>updated, combined Windows 95/NT driver
376<li>implemented glGetLighti() and glGetTexGen*()
377<li>GLX does garbage collection of ancillary buffers
378</ul>
379Bug fixes:
380<ul>
381<li>removed unused _EXT constants from gl.h
382<li>fixed polygon offset bugs
383<li>Z coordinates of clipped lines were incorrect
384<li>glEdgeFlag() in display lists didn't always work
385<li>glLight*() in display lists didn't work
386<li>fixed X line stipple bugs (Michael Pichler)
387<li>glXUseXfonts XFreeFont/XFreeFontInfo bug fixed
388<li>fixed a feedback bug
389<li>glTexGen*() now transforms GL_EYE_PLANE by inverse modelview matrix
390<li>polygons were sometimes culled instead of clipped
391<li>triangle rasterizer suffered from float/int overflow exceptions
392<li>fixed FP underflow exception in lighting (specular exponent)
393<li>glEnable/glDisable of GL_EXT_vertex_array enums didn't work
394<li>fixed free(NULL) in GLU tesselator code
395<li>using 24-bit color on some X servers resulted in garbage rendering
396<li>32-bit per pixel mode for XFree86 now works
397<li>glRotate(a,0,0,0) gave unpredictable results
398<li>GL_LINE_STRIP with &gt; 480 vertices had occasional clipping problems
399<li>8-bit TrueColor GLXPixmap rendering incorrectly required a colormap
400<li>glMaterial() wasn't ignored when GL_COLOR_MATERIAL was enabled
401<li>glEnable(GL_COLOR_MATERIAL) followed by glColor() didn't work right
402<li>accumulation buffer was limited to positive values
403<li>projective textures didn't work
404<li>selection buffer overflows weren't handled correctly
405</ul>
406Changes:
407<ul>
408<li>restored the GL_EXT_polygon_offset extension
409<li>slightly faster RGB dithering
410<li>the SVGA driver works again
411<li>Amiga driver now distributed separately
412<li>NeXT driver updated for Mesa 2.x
413</ul>
414
415<h2>2.2  March 14, 1997</h2>
416New:
417<ul>
418<li>better color selection when dithering
419<li>added GL_EXT_texture_object extension
420<li>updated MS-DOS driver for DJGPP
421<li>added openbsd make configuration
422<li>faster dithered flat-shaded triangles
423<li>various compilation problems with Motif widgets fixed
424<li>gl.h, glx.h and glu.h name mangling option
425<li>BeOS driver
426<li>3D texture mapping extension
427<li>GL_MESA_resize_buffers extension
428<li>morph3d, stex3d and spectex demos
429<li>3Dfx support
430</ul>
431Bug fixes:
432<ul>
433<li>glColorMaterial should finally work right in all respects
434<li>linear interpolation of mipmap levels was incorrectly weighted
435<li>readpix.c didn't compile on Macintosh
436<li>GL_INVERT and related logic ops didn't work right
437<li>glTexImage[12]D() didn't check its parameters consistantly
438<li>fixed a memory leak in glTexImage[12]D()
439<li>kludged around a SunOS 5.x/GCC compiler bug in the feedback code
440<li>glReadPixels aborted instead of normally catching some errors
441<li>a few 1.1 constants were missing or misnamed in gl.h
442<li>glBegin(p); glBegin(q); didn't generate an error
443<li>fixed a memory leak in GLX code
444<li>clipping of concave polygons could cause a core dump
445<li>1-component alpha texture maps didn't work
446<li>fixed a GLU polygon tesselator bug
447<li>polygons with colinear vertices were sometimes culled
448<li>feedback triangle colors were wrong when using smooth shading
449<li>textures with borders didn't work correctly
450<li>colors returned in feedback mode were wrong when using lighting
451<li>spotlights didn't effect ambient lighting correctly
452<li>gluPartialDisk() had a few bugs
453</ul>
454Changes:
455<ul>
456<li>device driver interface expanded to support texture mapping
457<li>faster matrix inversion subroutine
458<li>commented out #include "wmesa_extend.h" from src/wmesa.c
459<li>fixed many compiler warnings in the demo programs
460</ul>
461
462<h2>2.3  June 30, 1997</h2>
463New:
464<ul>
465<li>Mesa distribution divided into two pieces:  library code and demos
466<li>faster vertex transformation, clip testing, lighting
467<li>faster line drawing
468<li>TrueColor visuals how have dithering (for depths < 24 bits)
469<li>added MESA_NO_DITHER environment variable
470<li>new device driver function: NearFar(), RenderVB(), RasterSetup()
471<li>added LynxOS configuration
472<li>added cygnus Win32 configuration
473<li>added texcyl.c GLUT demo
474<li>added XMesaDitherColor() to X/Mesa interface
475<li>new NURBS code from Bogdan Sikorski
476<li>added demos/shape.c (non-rectangular X window!)
477</ul>
478Bug fixes:
479<ul>
480<li>glEnable/DisableClientState() were missing from GL/gl.h
481<li>GL_SPHERE_MAP texcoord generation didn't work correctly
482<li>glXGetConfig() returned wrong number of depth, stencil, accum bits
483<li>glDrawPixels feedback/selection didn't examine RasterPos valid bit
484<li>black and white were reversed on some monochrome displays
485<li>fixed potential image memory leak (wasn't setting reference counter)
486<li>glDrawPixels sometimes didn't recognize some GL state changes
487<li>gluProject/UnProject() didn't check for divide by zero
488<li>stex3d demo called random() and srandom(), not portable
489<li>fixed memory leaks in context.c and drawpix.c
490<li>fixed NULL dereferencing problem in gl_update_texture_state()
491<li>glReadPixels between glBegin/glEnd didn't generate an error.
492<li>fixed memory leak in polygon tesselator (Randy Frank)
493<li>fixed seg fault bug drawing flat-shaded, depth-tested lines
494<li>clipped GL_TRIANGLE_STRIPs sometimes had wrong color when flat-shaded
495<li>glBindTexture sometimes didn't work
496<li>fixed a bug deep in glXReleaseBuffersMESA()
497<li>fog was mistakenly applied to alpha
498<li>glPopMatrix didn't set "dirty matrix" flag
499<li>glPolygonStipple pattern was sometimes wrong
500<li>glClear wasn't disabled during feedback and selection
501<li>fixed memory leak in glTexSubImage[123]D
502</ul>
503Changes:
504<ul>
505<li>many library source files reorganized
506<li>faster X color allocation, colors also freed when finished with them
507<li>new texture sampling function pointer in texture objects
508<li>incorporated 3Dfx VooDoo driver v0.16 into main source tree
509<li>many 3Dfx driver updates
510<li>cygnus Makefiles now included
511<li>updated DOS driver
512<li>made a few changes to dosmesa.c and wmesa.c (VB-&gt;Unclipped)
513<li>internally, colors now stored in GLubytes, not GLfixed
514<li>optimized changing of GL_SHININESS parameter
515</ul>
516
517<h2>2.4  September 18, 1997</h2>
518New:
519<ul>
520<li>updated 3Dfx Glide driver
521<li>hacks for 3Dfx rendering into an X window or fullscreen
522<li>added depth buffer access functions to X/Mesa and OS/Mesa interfaces
523</ul>
524Bug fixes:
525<ul>
526<li>pixel buffer could overflow with long, wide lines
527<li>fixed FP underflow problems in lighting
528<li>glTexSubImage1D() had an unitialized variable
529<li>incomplete texture objects could cause a segfault
530<li>glDrawPixels with GL_COMPILE_AND_EXECUTE caused infinite loop
531<li>flat-shaded quads in a strip were miscolored if clipped
532<li>mipmapped triangle lod computation now works correctly
533<li>fixed a few under/overflow bugs in triangle rasterizer
534<li>glArrayElement() assigned bad normal if normal array disabled
535<li>changed argument to glXReleaseBuffersMESA()
536<li>fixed small triangle underflow bugs in tritemp.h (hopefully)
537<li>glBindTexture(target, 0) caused a crash
538<li>glTexImage[123]D() with NULL image pointer caused crash
539<li>glPixelStore parameters are now ignored during display list execution
540<li>fixed a two-sided lighting w/ clipping bug (black vertices)
541<li>textures with width!=height were sometimes mis-rendered
542<li>"weird" projection matrices could cause div by 0, other fp errors
543</ul>
544Changes:
545<ul>
546<li>changed precompiled header symbol from PCH to PC_HEADER
547<li>split api.c into api1.c and api2.c
548<li>added hash.c source file (but not used yet)
549<li>a few Sun and HP configuration file changes
550<li>MESA_GLX_FX env var replaces MESA_FX_WINDOW and MESA_FX_FULLSCREEN
551<li>fixed a few cygnus build problems (src/Makefile.cygnus, src/wmesa.c)
552</ul>
553
554<h2>2.5  November 20, 1997</h2>
555New:
556<ul>
557<li>updated 3Dfx driver (v20) for GLQuake
558<li>added GL_EXT_paletted_texture extension
559<li>added GL_EXT_shared_texture_palette extension
560<li>added GL_EXT_point_parameters extension
561<li>now including Mark Kilgard's GLUT library v3.6
562<li>new GLUT-based demos in gdemos/
563<li>added a few more Unix config targets
564<li>added Intel X86 assembly language vertex transformation code
565<li>3Dfx/Glide driver for Mesa now recognizes SST_SCREENREFRESH env var
566<li>Windows 95 S3 Virge driver
567</ul>
568Bug fixes:
569<ul>
570<li>glCopyTexImage?D would crash due to uninitialized variable
571<li>glColor w/ glColorMaterial in a display list caused a bug
572<li>fixed several glDrawPixels() and ReadPixels() bugs in 3Dfx driver
573<li>glVertex4*() vertices weren't always projected correctly
574<li>trying to use mipmapped textured points or lines caused crash
575<li>glColor[34][fd]() values now clamped to [0,1] before int conversion
576</ul>
577Changes:
578<ul>
579<li>new device driver functions for texture mapping
580<li>hash tables used for display list and texture object lookup
581<li>fixed GLX visual handling code to avoid saving redundant visuals
582<li>3Dfx Glide libraries automatically linked to libMesaGL.so
583<li>dropped the Cirrus Logic Mondello code since it's obsolete
584<li>updated Cygnus Makefiles (Stephane Rehel)
585<li>updated Windows MSVC++ Makefiles (Oleg Letsinsky)
586<li>procedure for making library files has changed: scripts now take
587	a major and minor version arguments.  Make-config changed a lot.
588<li>new implementation of glTexSubImage2D()
589<li>updated widgets-mesa directory to create libMesaGLwM.a (Motif widget)
590<li>separate linux-glide and linux-386-glide configurations
591</ul>
592
593<h2>2.6  February 12, 1998</h2>
594New:
595<ul>
596<li>Windows WGL functions
597<li>updated VMS, DOS, Windows, Cygnus, BeOS, Amiga compilation support
598<li>v0.22 of 3Dfx Glide driver
599<li>more X86 assembly language optimizations
600<li>faster blending for some modes
601<li>XMesaSetFXmode() to switch between 3Dfx window and full-screen mode
602<li>added preliminary thread support
603<li>added GLX_MESA_copy_sub_buffer extension
604<li>some clipping optimizations
605</ul>
606Bug fixes:
607<ul>
608<li>fixed shading/material bug when drawing long primitive strips
609<li>fixed clipping problem in long primitive strips
610<li>fixed clipping bug when using 3Dfx driver
611<li>fixed a problem when trying to use X fonts w/ 3Dfx driver
612<li>fixed a texture filter bug in 3Dfx/Glide driver
613<li>fixed bug in 3Dfx/Glide driver involving depth mask &amp; clearing
614<li>glLoadMatrix to set projection matrix confused the 3Dfx driver
615<li>non-identity texture matrices didn't work with linux-386 configs
616<li>glGenTextures() didn't reserve the returned texture IDs
617<li>NULL proxy image sent to glTexImageXD() caused crash
618<li>added texture state validation optimization (Henk Kok)
619<li>fixed colormap reuse problem when using both RGB and CI windows
620<li>32bpp True/DirectColor X visuals weren't recognized
621<li>fixed potential problem in evaluators memory allocation
622<li>fixed assorted demo compilation bugs
623</ul>
624Changes:
625<ul>
626<li>replaced old Mesa/windows/ directory with Mesa/WIN32/ directory
627<li>converted a few old glaux/gltk demos to GLUT
628<li>renamed directories:  demos -&gt; xdemos,  gdemos -&gt; demos
629</ul>
630
631
632<h2>3.0  September 17, 1998</h2>
633New:
634<ul>
635<li>OpenGL 1.2 API
636<li>GL_EXT_abgr pixel format extension
637<li>GL_SGIS_texture_edge_clamp extension
638<li>GL_SGIS_multitexture extension (to be replaced by GL_ARB_multitex)
639<li>GL_EXT_multitexture extension (to be replaced by GL_ARB_multitex)
640<li>GL_EXT_rescale_normal extension and renormal.c demo
641<li>GLX_SGI_video_sync extension (a no-op)
642<li>antialiased lines
643<li>glGetTexImage() now implemented
644<li>glDraw/Copy/ReadPixels() optimizations
645<li>optimized textured triangle code (Marten Stromberg)
646<li>more optimization of dithered TrueColor triangles in X driver
647<li>Linux GGI driver
648<li>updated MGL driver
649</ul>
650Bug fixes:
651<ul>
652<li>lots of assorted compilation fixes
653<li>glInitNames didn't write initial hit record
654<li>glBitmap didn't always check for invalid raster position
655<li>switching between GLX and OSMesa contexts caused a crash
656<li>fixed uninitialized variable in Mesa widget code
657<li>fixed typo in texture code which caused book/texgen to crash
658<li>fixed texture sampling bug when filter=GL_LINEAR and wrap=GL_CLAMP
659<li>gluDisk() in POINT or LINE mode sometimes failed
660<li>fixed texture + fog bug
661<li>GL_COMPILE_AND_EXECUTE mode didn't work reliably
662<li>glMultMatrix in projection matrix mode w/ 3Dfx driver could fail
663<li>glDrawPixels(color index pixels) weren't converted to RGBA
664<li>fixed possible getenv() buffer overflow security bug
665<li>glBitmap in feedback mode was offset by xOrig, yOrig params
666<li>device driver's DrawPixels hook was never used
667<li>glDrawPixels with zoomY!=1 and top/bottom clipping didn't work
668<li>glDrawPixels optimized for GL_LUMINANCE, GL_LUMINANCE_ALPHA, GLubyte
669<li>fixed MakeCurrent bug in GLwRedrawObjects() in MesaWorkstation.c
670<li>glCopyTexSubImage2D() didn't work with 3Dfx driver
671<li>lines with width = 2 could cause crash
672<li>glClear with scissor rect sometimes cleared whole buffer
673<li>glTexSubImage2D( .. GL_COLOR_INDEX .. ) didn't work
674<li>glTexImageXD( .. GL_ABGR_EXT .. ) didn't work
675<li>computation of inverse modelview matrix sometimes failed
676<li>fixed GL_CLAMP mode texture sampling bug
677<li>textured line interpolation was somewhat broken
678<li>textured triangle interpolation was also somewhat broken
679<li>glGet(MODELVIEW/PROJECTION/TEXTURE_MATRIX_STACK_DEPTH) off by one
680<li>evaluator state wasn't fully initialized
681<li>texture coordinate clipping was buggy
682<li>evaluator surfaces could be mis-colored
683<li>glAccum(GL_RETURN, s) didn't obey glColorMask() settings
684<li>zero area polygons shouldn't be culled if polygon mode is point/line
685<li>clipped width and height of glReadPixels was sometimes off by one
686<li>blending with alpha = 0 or 1.0 wasn't always exact
687<li>reading of pixels from clipped region was buggy
688<li>minor tweaking of X visual management in GLX emulator
689<li>glPolygonStipple now obeys pixel unpacking parameters
690<li>glGetPolygonStipple now obeys pixel packing parameters
691<li>interleaved vertex array texture coordinates were broken
692<li>query of proxy texture internal format was broken
693<li>alpha channel wasn't reliably cleared
694<li>fixed divide by zero error in gluScaleImage if dest size = 1 x 1
695</ul>
696Conformance bug fixes:
697<ul>
698<li>GL_SELECTION_BUFFER_POINTER and GL_SELECTION_BUFFER_SIZE were missing
699<li>GL_TEXTURE_INTERNAL_FORMAT was missing
700<li>glGet*(GL_POLYGON_STIPPLE) was broken
701<li>glPush/PopAttrib() didn't save/restore all texture state
702<li>glBitmap in feedback mode didn't work
703<li>feedback of texture coords didn't always work
704<li>glDrawPixels w/ format=GL_DEPTH_COMPONENT, type=GLbyte was broke
705<li>glDrawPixels w/ format=GL_DEPTH_COMPONENT, type=GLubyte was broke
706<li>glDrawPixels w/ format=GL_STENCIL_INDEX, type=GL_BITMAP was broke
707</ul>
708Changes:
709<ul>
710<li>upgraded GLUT to version 3.7
711<li>only GL and GLU library code included in MesaLib.tar.gz
712<li>GLUT and all demos now in MesaDemos.tar.gz
713<li>glaux and gltk libraries removed
714<li>IRIX -n32 and -64 libs go in lib32/ and lib64/ directories
715</ul>
716
717
718<h2>3.1 beta 1  November 19, 1998</h2>
719New:
720<ul>
721<li>GL_EXT_stencil_wrap extension
722<li>GL_INGR_blend_func_separate extension
723<li>GL_ARB_multitexture extension
724<li>GL_NV_texgen_reflection extension
725<li>newly optimized vertex transformation code
726<li>updated GLUT 3.7 code
727<li>better precision when using 32-bit Z buffer
728<li>Allegro DJGPP driver
729</ul>
730Bug fixes:
731<ul>
732<li>glCopyPixels between front/back buffers didn't copy alpha correctly
733<li>fixed out-of-bounds memory access in optimized 2-D texture code
734<li>glPixelStorei didn't accept GL_PACK/UNPACK_IMAGE_HEIGHT parameter
735<li>glGet*() didn't accept GL_MAX_3D_TEXTURE_SIZE parameter
736<li>clipping of texture coordinates sometimes had bad R,Q values
737<li>GL_CLAMP_TO_EDGE texture sampling was off by 0.5 texels
738<li>glEdgeFlagPointer() now takes a GLvoid * instead of GLboolean *
739<li>texture was sometimes applied twice with 3Dfx driver
740<li>glPush/PopAttrib() fouled up texture object reference counts
741<li>glDeleteLists(0, n) caused assertion failure
742<li>bilinear texture sampling wasn't accurate enough
743<li>glClear w/ glDepthMask(GL_FALSE) didn't work right on 3Dfx
744<li>color components were reversed on big endian 32 bpp X visuals
745</ul>
746Changes:
747<ul>
748<li>removed GL_EXT_multitexture extension
749</ul>
750
751
752<h2>3.1 beta 2  May 24, 1999</h2>
753New:
754<ul>
755<li>multi-textured points and lines (mjk@nvidia.com)
756<li>optimized 24bpp X rendering (bernd.paysan@gmx.de)
757<li>added allegro support (bernie-t@geocities.com)
758<li>cleaned-up Windows-related stuff (Ted Jump)
759<li>minor stereo changes (KendallB@scitechsoft.com)
760<li>new BeOS driver which implements BGLView class
761<li>new Direct3D driver (see src/D3D)
762<li>more efficient filled gluCylinder() function
763<li>utilities:  util/showbuffer.[ch] and util/glstate.[ch]
764<li>fixed some IRIX compiler warnings
765<li>added support for building Mesa in XFree86 with
766	SGI's GLX (kevin@precisioninsight.com)
767</ul>
768Bug fixes:
769<ul>
770<li>a variety of Windows/Mesa bug fixes (mjk@nvidia.com)
771<li>packed pixel images weren't unpacked correctly
772<li>patches some win32 files in GLUT (mjk@nvidia.com)
773<li>glTexImage[123]D() didn't accept internalFormat == GL_COLOR_INDEX
774<li>fixed lighting bug in Keith's new shading code
775<li>fixed texture segfault seen in Lament screensaver
776<li>fixed miscellaneous low-memory bugs
777<li>glClear(GL_COLOR_BUFFER_BIT) with RGBA or CI masking was broken
778<li>GL_LINEAR sampling of 3D textures was broken
779<li>fixed SVR4 'cc' compiler macro problem (dawes@xfree86.org)
780<li>added GL_TEXTURE_PRIORITY fix (keithh@netcomuk.co.uk)
781<li>fixed wide point and wide line conformance bugs (brianp)
782</ul>
783Changes:
784<ul>
785<li>some device driver changes (see src/dd.h)
786<li>new copyright on core Mesa code
787</ul>
788
789
790<h2>3.1 beta 3  September 17, 1999</h2>
791New:
792<ul>
793<li>optimized glAccum function
794<li>optimized 24bpp rendering in XMesa driver
795<li>GLU 1.2 polygon tessellator
796</ul>
797Bug Fixes:
798<ul>
799<li>glGetTexLevelParameter wasn't fully implemented
800<li>glXUseXFont now handles multi-byte fonts
801<li>glIsEnabled(GL_TEXTURE_2D / 3D) returned wrong result
802<li>alpha channel of blending points, lines was sometimes incorrect
803</ul>
804Changes:
805<ul>
806<li>New library names:  "libGL" instead of "libMesaGL"
807<li>New library numbering: libGL.so.1.2.310
808<li>New subdirectories:  docs/ and bin/
809<li>New Makefile-system (autoconf,automake,libtool)
810</ul>
811
812
813<h2>3.1 final  December 14, 1999</h2>
814New:
815<ul>
816<li>added demos/gloss.c
817<li>added xdemos/glxdpyinfo.c
818<li>added GLX_ARB_get_proc_address extension
819<li>rewritten glTexImage code paths (faster, less memory, bug fixes)
820</ul>
821Bug Fixes:
822<ul>
823<li>several vertex array bug fixes
824<li>overlapping glCopyPixels with pixel zooming now works
825<li>glXUseXFont() bitmaps were vertically shifted by one pixel
826<li>glCopyPixels with pixel zooming now works
827</ul>
828
829
830<h2>3.2 final  April 24, 2000</h2>
831Bug fixes:
832<ul>
833<li>fixed memcpy bugs in span.c
834<li>fixed missing glEnd problem in demos/tessdemo.c
835<li>fixed bug when clearing 24bpp Ximages
836<li>fixed clipping problem found in Unreal Tournament
837<li>fixed Loki's "ice bug" and "crazy triangles" seen in Heretic2
838<li>fixed Loki's 3dfx RGB vs BGR bug
839<li>fixed Loki's 3dfx smooth/flat shading bug in SoF
840</ul>
841Changes:
842<ul>
843<li>updated docs/README file
844<li>use bcopy() optimizations on FreeBSD
845<li>re-enabled the optimized persp_textured_triangle() function
846</ul>
847
848
849<h2>3.2.1  July 19, 2000</h2>
850Bug fixes:
851<ul>
852<li>gluBuild2DMipmaps() didn't accept GL_BGRA
853<li>Fixed compile/makefile problems on IRIX
854<li>fixed segfault in 3dfx driver when using GL selection/feedback
855<li>no longer cull very, very tiny triangles
856<li>blending w/ drawbuffer==GL_FRONT_BACK caused segfault (sw rendering)
857<li>fixed Motif detection code in widgets-mesa/configure.in
858<li>glColorMaterial and glMaterial updates to emissive and ambient
859	  didn't always work right
860<li>Specular highlights weren't always in the right place
861<li>clipped GL_LINE mode polygons had interior lines appear
862<li>blend term GL_ONE_MINUS_CONSTANT_ALPHA was broken
863<li>GL_NICEST fog didn't always work with flat shading
864<li>glRect commands in display lists were sometimes miscolored
865<li>Line Z offset didn't always work
866<li>fixed texgen normal vector problem (gloss's teapot)
867<li>numerous GL conformance bugs fixed
868</ul>
869Changes:
870<ul>
871<li>glColorMask(false, false, false, false) handled better/faster
872<li>reverted to old GLU polygon tessellator, GLU 1.1
873<li>updated Win32 build files
874</ul>
875
876
877<h2>3.3  July 21, 2000</h2>
878New:
879<ul>
880<li>antialiased triangles now implemented
881<li>GL_EXT_texture_env_add texture mode extension
882<li>GLX 1.3 API
883<li>support for separate draw/read buffers (ie GL_SGI_make_current_read)
884<li>thread-safe API dispath
885<li>improved glxinfo program
886<li>demos/texdown program to measure texture download performance
887<li>glext.h header file
888<li>demos/geartrain program
889<li>GL_EXT_texture_lod_bias extension
890<li>demos/lodbias program
891<li>further optimized glRead/DrawPixels for 16-bit TrueColor X visuals
892<li>GLX_EXT_visual_rating extension (a no-op, however)
893<li>GL_HP_occlusion_test extension (for X and OS/Mesa drivers)
894<li>demos/occlude program
895<li>GL_SGIS_pixel_texture and GL_SGIX_pixel_texture extensions
896<li>demos/pixeltex program
897<li>GL_SGI_color_matrix extension
898<li>GL_SGI_color_table extension
899<li>GL_EXT_histogram extension
900<li>GL_ARB_texture_cube_map extension
901<li>added xdemos/glxheads and xdemos/manywin
902<li>demos/texenv.c demo
903<li>GL_EXT_texture_env_combine extension (by Holger Waechtler)
904<li>Xlib driver is now thread-safe (see xdemos/glthreads)
905</ul>
906Bug Fixes:
907<ul>
908<li>various GL conformance failures fixed since 3.2.1
909</ul>
910Changes:
911<ul>
912<li>gl.h now uses #defines instead of C enums for all tokens
913<li>glu.h now uses #defines instead of C enums for all tokens
914<li>moved programs from 3Dfx/demos/ into demos/ directory
915</ul>
916
917
918<h2>3.4  November 3, 2000</h2>
919New:
920<ul>
921<li>optimized glDrawPixels for glPixelZoom(1,-1)
922Bug Fixes:
923<li>widgets-mesa/src/*.c files were missing from 3.3 distro
924<li>include/GL/mesa_wgl.h file was missing from 3.3 distro
925<li>fixed some Win32 compile problems
926<li>texture object priorities weren't getting initialized to 1.0
927<li>glAreTexturesResident return value was wrong when using hardware
928<li>glXUseXFont segfaulted when using 3dfx driver (via MESA_GLX_FX)
929<li>glReadPixels with GLushort packed types was broken
930<li>fixed a few bugs in the GL_EXT_texture_env_combine texture code
931<li>glPush/PopAttrib(GL_ENABLE_BIT) mishandled multi-texture enables
932<li>fixed some typos/bugs in the VB code
933<li>glDrawPixels(GL_COLOR_INDEX) to RGB window didn't work
934<li>optimized glDrawPixels paths weren't being used
935<li>per-fragment fog calculation didn't work without a Z buffer
936<li>improved blending accuracy, fixes Glean blendFunc test failures
937<li>glPixelStore(GL_PACK/UNPACK_SKIP_IMAGES) wasn't handled correctly
938<li>glXGetProcAddressARB() didn't always return the right address
939<li>gluBuild[12]DMipmaps() didn't grok the GL_BGR pixel format
940<li>texture matrix changes weren't always detected (GLUT projtex demo)
941<li>fixed random color problem in vertex fog code
942<li>fixed Glide-related bug that let Quake get a 24-bit Z buffer
943</ul>
944Changes:
945<ul>
946<li>finished internal support for compressed textures for DRI
947</ul>
948
949
950<h2>3.4.1  February 14, 2001</h2>
951New:
952<ul>
953<li>fixed some Linux build problems
954<li>fixed some Windows build problems
955<li>GL_EXT_texture_env_dot3 extension (Gareth Hughes)
956</ul>
957Bug fixes:
958<ul>
959<li>added RENDER_START/RENDER_FINISH macros for glCopyTexImage in DRI
960<li>various state-update code changes needed for DRI bugs
961<li>disabled pixel transfer ops in glColorTable commands, not needed
962<li>fixed bugs in glCopyConvolutionFilter1D/2D, glGetConvolutionFilter
963<li>updated sources and fixed compile problems in widgets-mesa/
964<li>GLX_PBUFFER enum value was wrong in glx.h
965<li>fixed a glColorMaterial lighting bug
966<li>fixed bad args to Read/WriteStencilSpan in h/w stencil clear function
967<li>glXCopySubBufferMESA() Y position was off by one
968<li>Error checking of glTexSubImage3D() was broken (bug 128775)
969<li>glPopAttrib() didn't restore all derived Mesa state correctly
970<li>Better glReadPixels accuracy for 16bpp color - fixes lots of OpenGL
971	  conformance problems at 16bpp.
972<li>clearing depth buffer with scissoring was broken, would segfault
973<li>OSMesaGetDepthBuffer() returned bad bytesPerValue value
974<li>fixed a line clipping bug (reported by Craig McDaniel)
975<li>fixed RGB color over/underflow bug for very tiny triangles
976</ul>
977Known problems:
978<ul>
979<li>NURBS or evaluator surfaces inside display lists don't always work
980</ul>
981
982
983<h2>3.4.2  May 17, 2001</h2>
984Bug fixes:
985<ul>
986<li>deleting the currently bound texture could cause bad problems
987<li>using fog could result in random vertex alpha values
988<li>AA triangle rendering could touch pixels outside right window bound
989<li>fixed byteswapping problem in clear_32bit_ximage() function
990<li>fixed bugs in wglUseFontBitmapsA(), by Frank Warmerdam
991<li>fixed memory leak in glXUseXFont()
992<li>fragment sampling in AA triangle function was off by 1/2 pixel
993<li>Windows: reading pixels from framebuffer didn't always work
994<li>glConvolutionFilter2D could segfault or cause FP exception
995<li>fixed segfaults in FX and X drivers when using tex unit 1 but not 0
996<li>GL_NAND logicop didn't work right in RGBA mode
997<li>fixed a memory corruption bug in vertex buffer reset code
998<li>clearing the softwara alpha buffer with scissoring was broken
999<li>fixed a few color index mode fog bugs
1000<li>fixed some bad assertions in color index mode
1001<li>fixed FX line 'stipple' bug #420091
1002<li>fixed stencil buffer clear width/height typo
1003<li>fixed GL error glitches in gl[Client]ActiveTextureARB()
1004<li>fixed Windows compilation problem in texutil.c
1005<li>fixed 1/8-pixel AA triangle sampling error
1006</ul>
1007Changes:
1008<ul>
1009<li>optimized writing mono-colored pixel spans to X pixmaps
1010<li>increased max viewport size to 2048 x 2048
1011</ul>
1012
1013
1014<h2>3.5  June 21, 2001</h2>
1015New:
1016<ul>
1017<li>internals of Mesa divided into modular pieces (Keith Whitwell)
1018<li>100% OpenGL 1.2 conformance (passes all conformance tests)
1019<li>new AA line algorithm
1020<li>GL_EXT_convolution extension
1021<li>GL_ARB_imaging subset
1022<li>OSMesaCreateContextExt() function
1023<li>GL_ARB_texture_env_add extension (same as GL_EXT_texture_env_add)
1024<li>GL_MAX_TEXTURE_UNITS_ARB now defaults to eight
1025<li>GL_EXT_fog_coord extension (Keith Whitwell)
1026<li>GL_EXT_secondary_color extension (Keith Whitwell)
1027<li>GL_ARB_texture_env_add extension (same as GL_EXT_texture_env_add)
1028<li>GL_SGIX_depth_texture extension
1029<li>GL_SGIX_shadow and GL_SGIX_shadow_ambient extensions
1030<li>demos/shadowtex.c demo of GL_SGIX_depth_texture and GL_SGIX_shadow
1031<li>GL_ARB_texture_env_combine extension
1032<li>GL_ARB_texture_env_dot3 extension
1033<li>GL_ARB_texture_border_clamp (aka GL_SGIS_texture_border_clamp)
1034<li>OSMesaCreateContextExt() function
1035<li>libOSMesa.so library, contains the OSMesa driver interface
1036<li>GL/glxext.h header file for GLX extensions
1037<li>somewhat faster software texturing, fogging, depth testing
1038<li>all color-index conformance tests now pass (only 8bpp tested)
1039<li>SPARC assembly language TCL optimizations (David Miller)
1040<li>GL_SGIS_generate_mipmap extension
1041</ul>
1042Bug Fixes:
1043<ul>
1044<li>fbiRev and tmuRev were unitialized when using Glide3
1045<li>fixed a few color index mode conformance failures; all pass now
1046<li>now appling antialiasing coverage to alpha after texturing
1047<li>colors weren't getting clamped to [0,1] before color table lookup
1048<li>fixed RISC alignment errors caused by COPY_4UBV macro
1049<li>drawing wide, flat-shaded lines could cause a segfault
1050<li>vertices now snapped to 1/16 pixel to fix rendering of tiny triangles
1051</ul>
1052Changes:
1053<ul>
1054<li>SGI's Sample Implementation (SI) 1.3 GLU library replaces Mesa GLU
1055<li>new libOSMesa.so library, contains the OSMesa driver interface
1056</ul>
1057
1058
1059<h2>4.0  October 22, 2001</h2>
1060New:
1061<ul>
1062<li>Mesa 4.0 implements the OpenGL 1.3 specification
1063<li>GL_IBM_rasterpos_clip extension
1064<li>GL_EXT_texture_edge_clamp extension (aka GL_SGIS_texture_edge_clamp)
1065<li>GL_ARB_texture_mirrored_repeat extension
1066<li>WindML UGL driver (Stephane Raimbault)
1067<li>added OSMESA_MAX_WIDTH/HEIGHT queries
1068<li>attempted compiliation fixes for Solaris 5, 7 and 8
1069<li>updated glext.h and glxext.h files
1070<li>updated Windows driver (Karl Schultz)
1071</ul>
1072Bug fixes:
1073<ul>
1074<li>added some missing GLX 1.3 tokens to include/GL/glx.h
1075<li>GL_COLOR_MATRIX changes weren't recognized by teximage functions
1076<li>glCopyPixels with scale and bias was broken
1077<li>glRasterPos with lighting could segfault
1078<li>glDeleteTextures could leave a dangling pointer
1079<li>Proxy textures for cube maps didn't work
1080<li>fixed a number of 16-bit color channel bugs
1081<li>fixed a few minor memory leaks
1082<li>GLX context sharing was broken in 3.5
1083<li>fixed state-update bugs in glPopClientAttrib()
1084<li>fixed glDrawRangeElements() bug
1085<li>fixed a glPush/PopAttrib() bug related to texture binding
1086<li>flat-shaded, textured lines were broken
1087<li>fixed a dangling pointer problem in the XMesa code (Chris Burghart)
1088<li>lighting didn't always produce the correct alpha value
1089<li>fixed 3DNow! code to not read past end of arrays (Andrew Lewycky)
1090</ul>
1091
1092
1093<h2>4.0.1 December 17, 2001</h2>
1094New:
1095<ul>
1096<li>better sub-pixel sample positions for AA triangles (Ray Tice)
1097<li>slightly faster blending for (GL_ZERO, GL_ONE) and (GL_ONE, GL_ZERO)
1098</ul>
1099Bug fixes:
1100<ul>
1101<li>added missing break statements in glGet*() for multisample cases
1102<li>fixed uninitialized hash table mutex bug (display lists / texobjs)
1103<li>fixed bad teximage error check conditional (bug 476846)
1104<li>fixed demos readtex.c compilation problem on Windows (Karl Schultz)
1105<li>added missing glGet() query for GL_MAX_TEXTURE_LOD_BIAS_EXT
1106<li>silence some compiler warnings (gcc 2.96)
1107<li>enable the #define GL_VERSION_1_3 in GL/gl.h
1108<li>added GL 1.3 and GLX 1.4 entries to gl_mangle.h and glx_mangle.h
1109<li>fixed glu.h typedef problem found with MSDev 6.0
1110<li>build libGL.so with -Bsymbolic (fixes bug found with Chromium)
1111<li>added missing 'const' to glXGetContextIDEXT() in glxext.h
1112<li>fixed a few glXGetProcAddress() errors (texture compression, etc)
1113<li>fixed start index bug in compiled vertex arrays (Keith)
1114<li>fixed compilation problems in src/SPARC/glapi_sparc.S
1115<li>fixed triangle strip "parity" bug found in VTK medical1 demo (Keith)
1116<li>use glXGetProcAddressARB in GLUT to avoid extension linking problems
1117<li>provoking vertex of flat-shaded, color-index triangles was wrong
1118<li>fixed a few display list bugs (GLUT walker, molecule, etc) (Keith)
1119<li>glTexParameter didn't flush the vertex buffer (Ray Tice)
1120<li>feedback attributes for glDraw/CopyPixels and glBitmap were wrong
1121<li>fixed bug in normal length caching (ParaView lighting bug)
1122<li>fixed separate_specular color bug found in Chimera (18 Dec 2001)
1123</ul>
1124
1125
1126<h2>4.0.2  April 2, 2002</h2>
1127New:
1128<ul>
1129<li>New DOS (DJGPP) driver written by Daniel Borca
1130<li>New driver interface functions for TCL drivers (such as Radeon DRI)
1131<li>GL_RENDERER string returns "Mesa Offscreen16" or "Mesa Offscreen32"
1132	  if using deep color channels
1133<li>latest GL/glext.h and GL/glxext.h headers from SGI
1134</ul>
1135Bug fixes:
1136<ul>
1137<li>GL_BLEND with non-black texture env color wasn't always correct
1138<li>GL_REPLACE with GL_RGB texture format wasn't always correct (alpha)
1139<li>glTexEnviv( pname != GL_TEXTURE_ENV_COLOR ) was broken
1140<li>glReadPixels was sometimes mistakenly clipped by the scissor box
1141<li>glDraw/ReadPixels didn't catch all the errors that they should have
1142<li>Fixed 24bpp rendering problem in Windows driver (Karl Schultz)
1143<li>16-bit GLchan mode fixes (m_trans_tmp.h, s_triangle.c)
1144<li>Fixed 1-bit float-&gt;int conversion bug in glDrawPixels(GL_DEPTH_COMP)
1145<li>glColorMask as sometimes effecting glXSwapBuffers()
1146<li>fixed a potential bug in XMesaGarbageCollect()
1147<li>N threads rendering into one window didn't work reliably
1148<li>glCopyPixels didn't work for deep color channels
1149<li>improved 8 -&gt; 16bit/channel texture image conversion (Gerk Huisma)
1150<li>glPopAttrib() didn't correctly restore user clip planes
1151<li>user clip planes failed for some perspective projections (Chromium)
1152</ul>
1153Known bugs:
1154<ul>
1155<li>mipmap LOD computation
1156</ul>
1157
1158
1159<h2>4.0.3  June 25, 2002</h2>
1160New:
1161<ul>
1162<li>updated GL/glext.h file (version 15)
1163<li>corrected MMX blend code (Jose Fonseca)
1164<li>support for software-based alpha planes in Windows driver
1165<li>updated GGI driver (Filip Spacek)
1166</ul>
1167Bug fixes:
1168<ul>
1169<li>glext.h had wrong values for GL_DOT3_RGB[A]_EXT tokens
1170<li>OSMesaMakeCurrent() didn't recognize buffer size changes
1171<li>assorted conformance fixes for 16-bit/channel rendering
1172<li>texcombine alpha subtraction mode was broken
1173<li>fixed lighting bug with non-uniform scaling and display lists
1174<li>fixed bug when deleting shared display lists
1175<li>disabled SPARC cliptest assembly code (Mesa bug 544665)
1176<li>fixed a couple Solaris compilation/link problems
1177<li>blending clipped glDrawPixels didn't always work
1178<li>glGetTexImage() didn't accept packed pixel types
1179<li>glPixelMapu[is]v() could explode given too large of pixelmap
1180<li>glGetTexParameter[if]v() didn't accept GL_TEXTURE_MAX_ANISOTROPY_EXT
1181<li>glXCopyContext() could lead to segfaults
1182<li>glCullFace(GL_FRONT_AND_BACK) didn't work (bug 572665)
1183</ul>
1184Changes:
1185<ul>
1186<li>lots of C++ (g++) code clean-ups
1187<li>lots of T&amp;L updates for the Radeon DRI driver
1188</ul>
1189Known bugs:
1190<ul>
1191<li>mipmap LOD computation (fixed for Mesa 4.1)
1192</ul>
1193
1194
1195<h2>4.0.4  October 3, 2002</h2>
1196New:
1197<ul>
1198<li>GL_NV_texture_rectangle extension
1199<li>updated glext.h header (version 17)
1200<li>updated DOS driver (Daniel Borca)
1201<li>updated BeOS R5 driver (Philippe Houdoin)
1202<li>added GL_IBM_texture_mirror_repeat
1203<li>glxinfo now takes -l option to print interesting OpenGL limits info
1204<li>GL_MESA_ycbcr_texture extension
1205<li>GL_APPLE_client_storage extension (for some DRI drivers only)
1206<li>GL_MESA_pack_invert extension
1207</ul>
1208Bug fixes:
1209<ul>
1210<li>fixed GL_LINEAR fog bug by adding clamping
1211<li>fixed FP exceptions found using Alpha CPU
1212<li>3dfx MESA_GLX_FX=window (render to window) didn't work
1213<li>fixed memory leak in wglCreateContest (Karl Schultz)
1214<li>define GLAPIENTRY and GLAPI if undefined in glu.h
1215<li>wglGetProcAddress didn't handle all API functions
1216<li>when testing for OpenGL 1.2 vs 1.3, check for GL_ARB_texture_cube_map
1217<li>removed GL_MAX_CONVOLUTION_WIDTH/HEIGHT from glGetInteger/Float/etc()
1218<li>error checking in compressed tex image functions had some glitches
1219<li>fixed AIX compile problem in src/config.c
1220<li>glGetTexImage was using pixel unpacking instead of packing params
1221<li>auto-mipmap generation for cube maps was incorrect
1222</ul>
1223Changes:
1224<ul>
1225<li>max texture units reduced to six to accommodate texture rectangles
1226<li>removed unfinished GL_MESA_sprite_point extension code
1227</ul>
1228
1229
1230<h2>4.1  October 29, 2002</h2>
1231New:
1232<ul>
1233<li>GL_NV_vertex_program extension
1234<li>GL_NV_vertex_program1_1 extension
1235<li>GL_ARB_window_pos extension
1236<li>GL_ARB_depth_texture extension
1237<li>GL_ARB_shadow extension
1238<li>GL_ARB_shadow_ambient extension
1239<li>GL_EXT_shadow_funcs extension
1240<li>GL_ARB_point_parameters extension
1241<li>GL_ARB_texture_env_crossbar
1242<li>GL_NV_point_sprite extension
1243<li>GL_NV_texture_rectangle extension
1244<li>GL_EXT_multi_draw_arrays extension
1245<li>GL_EXT_stencil_two_side extension
1246<li>GLX_SGIX_fbconfig and GLX_SGIX_pbuffer extensions
1247<li>GL_ATI_texture_mirror_once extension (Ian Romanick)
1248<li>massive overhaul/simplification of software rasterizer module,
1249	  many contributions from Klaus Niederkrueger
1250<li>faster software texturing in some cases (i.e. trilinear filtering)
1251<li>new OSMesaGetProcAddress() function
1252<li>more blend modes implemented with MMX code (Jose Fonseca)
1253<li>added glutGetProcAddress() to GLUT
1254<li>added GLUT_FPS env var to compute frames/second in glutSwapBuffers()
1255<li>pbinfo and pbdemo PBuffer programs
1256<li>glxinfo -v prints transprent pixel info (Gerd Sussner)
1257</ul>
1258Bug fixes:
1259<ul>
1260<li>better mipmap LOD computation (prevents excessive blurriness)
1261<li>OSMesaMakeCurrent() didn't recognize buffer size changes
1262<li>assorted conformance fixes for 16-bit/channel rendering
1263<li>texcombine alpha subtraction mode was broken
1264<li>fixed some blend problems when GLchan==GLfloat (Gerk Huisma)
1265<li>clamp colors to [0,inf] in OSMesa if GLchan==GLfloat (Gerk Huisma)
1266<li>fixed divide by zero error in NURBS tessellator (Jon Perry)
1267<li>fixed GL_LINEAR fog bug by adding clamping
1268<li>fixed FP exceptions found using Alpha CPU
1269<li>3dfx/glide driver render-to-window feature was broken
1270<li>added missing GLX_TRANSPARENT_RGB token to glx.h
1271<li>fixed error checking related to paletted textures
1272<li>fixed reference count error in glDeleteTextures (Randy Fayan)
1273</ul>
1274Changes:
1275<ul>
1276<li>New spec file and Python code to generate some GL dispatch files
1277<li>Glide driver defaults to "no" with autoconf/automake
1278<li>updated demos/stex3d with new options
1279</ul>
1280
1281
1282<h2>5.0  November 13, 2002</h2>
1283New:
1284<ul>
1285<li>OpenGL 1.4 support (glGetString(GL_VERSION) returns "1.4")
1286<li>removed some overlooked debugging code
1287<li>glxinfo updated to support GLX_ARB_multisample
1288<li>GLUT now support GLX_ARB_multisample
1289<li>updated DOS driver (Daniel Borca)
1290</ul>
1291Bug fixes:
1292<ul>
1293<li>GL_POINT and GL_LINE-mode polygons didn't obey cull state
1294<li>fixed potential bug in _mesa_align_malloc/calloc()
1295<li>fixed missing triangle bug when running vertex programs
1296<li>fixed a few HPUX compilation problems
1297<li>FX (Glide) driver didn't compile
1298<li>setting GL_TEXTURE_BORDER_COLOR with glTexParameteriv() didn't work
1299<li>a few EXT functions, like glGenTexturesEXT, were no-ops
1300<li>a few OpenGL 1.4 functions like glFogCoord*, glBlendFuncSeparate,
1301	  glMultiDrawArrays and glMultiDrawElements were missing
1302<li>glGet*(GL_ACTIVE_STENCIL_FACE_EXT) was broken
1303<li>Pentium 4 Mobile was mistakenly identified as having 3DNow!
1304<li>fixed one-bit error in point/line fragment Z calculation
1305<li>fixed potential segfault in fakeglx code
1306<li>fixed color overflow problem in DOT3 texture env mode
1307</ul>
1308
1309
1310<h2>5.0.1  March 30, 2003</h2>
1311New:
1312<ul>
1313<li>DOS driver updates from Daniel Borca
1314<li>updated GL/gl_mangle.h file (Bill Hoffman)
1315Bug fixes:
1316<li>auto mipmap generation for cube maps was broken (bug 641363)
1317<li>writing/clearing software alpha channels was unreliable
1318<li>minor compilation fixes for OS/2 (Evgeny Kotsuba)
1319<li>fixed some bad assertions found with shadowtex demo
1320<li>fixed error checking bug in glCopyTexSubImage2D (bug 659020)
1321<li>glRotate(angle, -x, 0, 0) was incorrect (bug 659677)
1322<li>fixed potential segfault in texture object validation (bug 659012)
1323<li>fixed some bogus code in _mesa_test_os_sse_exception_support (Linus)
1324<li>fix fog stride bug in tnl code for h/w drivers (Michel Danzer)
1325<li>fixed glActiveTexture / glMatrixMode(GL_TEXTURE) bug (#669080)
1326<li>glGet(GL_CURRENT_SECONDARY_COLOR) should return 4 values, not 3
1327<li>fixed compilation problem on Solaris7/x86 (bug 536406)
1328<li>fixed prefetch bug in 3DNow! code (Felix Kuhling)
1329<li>fixed NeXT build problem (FABSF macro)
1330<li>glDrawPixels Z values when glPixelZoom!=1 were invalid (bug 687811)
1331<li>zoomed glDraw/CopyPixels with clipping sometimes failed (bug 689964)
1332<li>AA line and triangle Z values are now rounded, not truncated
1333<li>fixed color interpolation bug when GLchan==GLfloat (bug 694461)
1334<li>glArePrograms/TexturesResident() wasn't 100% correct (Jose Fonseca)
1335<li>fixed a minor GL_COLOR_MATERIAL bug
1336<li>NV vertex program EXP instruction was broken
1337<li>glColorMask misbehaved with X window / pixmap rendering
1338<li>fix autoconf/libtool GLU C++ linker problem on Linux (a total hack)
1339<li>attempt to fix GGI compilation problem when MesaDemos not present
1340<li>NV vertex program ARL-relative fetches didn't work
1341</ul>
1342Changes:
1343<ul>
1344<li>use glPolygonOffset in gloss demo to avoid z-fighting artifacts
1345<li>updated winpos and pointblast demos to use ARB extensions
1346<li>disable SPARC normal transformation code (bug 673938)
1347<li>GLU fixes for OS/2 (Evgeny Kotsuba)
1348</ul>
1349
1350
1351<h2>5.0.2  September 5, 2003</h2>
1352Bug fixes:
1353<ul>
1354<li>fixed texgen problem causing texcoord's Q to be zero (stex3d)
1355<li>default GL_TEXTURE_COMPARE_MODE_ARB was wrong
1356<li>GL_CURRENT_MATRIX_NV query was wrong
1357<li>GL_CURRENT_MATRIX_STACK_DEPTH_NV query was off by one
1358<li>GL_LIST_MODE query wasn't correct
1359<li>GL_FOG_COORDINATE_SOURCE_EXT query wasn't supported
1360<li>GL_SECONDARY_COLOR_ARRAY_SIZE_EXT query returned wrong value
1361<li>blended, wide lines didn't always work correctly (bug 711595)
1362<li>glVertexAttrib4svNV w component was always 1
1363<li>fixed bug in GL_IBM_rasterpos_clip (missing return)
1364<li>GL_DEPTH_TEXTURE_MODE = GL_ALPHA didn't work correctly
1365<li>a few Solaris compilation fixes
1366<li>fixed glClear() problem for DRI drivers (non-existant stencil, etc)
1367<li>fixed int/REAL mixup in GLU NURBS curve evaluator (Eric Cazeaux)
1368<li>fixed delete [] bug in SI GLU (bug 721765) (Diego Santa Cruz)
1369<li>glFog() didn't clamp fog colors
1370<li>fixed bad float/int conversion for GL_TEXTURE_PRIORITY in the
1371	  gl[Get]TexParameteri[v] functions
1372<li>fixed invalid memory references in glTexGen functions (bug 781602)
1373<li>integer-valued color arrays weren't handled correctly
1374<li>glDrawPixels(GL_DEPTH_COMPONENT) with glPixelZoom didn't work
1375<li>GL_EXT_texture_lod_bias is part of 1.4, overlooked in 5.0.1
1376</ul>
1377Changes:
1378<ul>
1379<li>build GLUT with -fexceptions so C++ apps propogate exceptions
1380</ul>
1381
1382
1383<h2>5.1  December 17, 2003</h2>
1384New:
1385<ul>
1386<li>reorganized directory tree
1387<li>GL_ARB_vertex/fragment_program extensions (Michal Krol &amp; Karl Rasche)
1388<li>GL_ATI_texture_env_combine3 extension (Ian Romanick)
1389<li>GL_SGI_texture_color_table extension (Eric Plante)
1390<li>GL_NV_fragment_program extension
1391<li>GL_NV_light_max_exponent extension
1392<li>GL_EXT_texture_rectangle (identical to GL_NV_texture_rectangle)
1393<li>GL_ARB_occlusion_query extension
1394<li>GL_ARB_point_sprite extension
1395<li>GL_ARB_texture_non_power_of_two extension
1396<li>GL_IBM_multimode_draw_arrays extension
1397<li>GL_EXT_texture_mirror_clamp extension (Ian Romanick)
1398<li>GL_ARB_vertex_buffer_object extension
1399<li>new X86 feature detection code (Petr Sebor)
1400<li>less memory used for display lists and vertex buffers
1401<li>demo of per-pixel lighting with a fragment program (demos/fplight.c)
1402<li>new version (18) of glext.h header
1403<li>new spriteblast.c demo of GL_ARB_point_sprite
1404<li>faster glDrawPixels in X11 driver in some cases (see relnotes/5.1)
1405<li>faster glCopyPixels in X11 driver in some cases (see relnotes/5.1)
1406</ul>
1407Bug fixes:
1408<ul>
1409<li>really enable OpenGL 1.4 features in DOS driver.
1410<li>fixed issues in glDrawPixels and glCopyPixels for very wide images
1411<li>glPixelMapf/ui/usv()'s size parameter is GLsizei, not GLint
1412<li>fixed some texgen bugs reported by Daniel Borca
1413<li>fixed wglMakeCurrent(NULL, NULL) bug (#835861)
1414<li>fixed glTexSubImage3D z-offset bug (Cedric Gautier)
1415<li>fixed RGBA blend enable bug (Ville Syrjala)
1416<li>glAccum is supposed to be a no-op in selection/feedback mode
1417<li>fixed texgen bug #597589 (John Popplewell)
1418</ul>
1419Changes:
1420<ul>
1421<li>dropped API trace feature (src/Trace/)
1422<li>documentation overhaul.  merged with website content.  more html.
1423<li>glxgears.c demo updated to use GLX swap rate extensions
1424<li>glTexImage1/2/3D now allows width/height/depth = 0
1425<li>disable SPARC asm code on Linux (bug 852204)
1426</ul>
1427
1428
1429<h2>6.0  January 16, 2004</h2>
1430New:
1431<ul>
1432<li>full OpenGL 1.5 support
1433<li>updated GL/glext.h file to version 21
1434Changes:
1435<li>changed max framebuffer size to 4Kx4K (MAX_WIDTH/HEIGHT in config.h)
1436Bug fixes:
1437<li>fixed bug in UNCLAMPED_FLOAT_TO_UBYTE macro; solves a color
1438	  clamping issue
1439<li>updated suno5-gcc configs
1440<li>glColor3 functions sometimes resulted in undefined alpha values
1441<li>fixed FP divide by zero error seen on VMS with xlockmore, others
1442<li>fixed vertex/fragment program debug problem (bug 873011)
1443<li>building on AIX with gcc works now
1444<li>glDeleteProgramsARB failed for ARB fragment programs (bug 876160)
1445<li>glDrawRangeElements tried to modify potentially read-only storage
1446<li>updated files for building on Windows
1447</ul>
1448
1449
1450<h2>6.0.1  April 2, 2004</h2>
1451New:
1452<ul>
1453<li>upgraded glext.h to version 22
1454<li>new build targets (Dan Schikore)
1455<li>new linux-x86-opteron build target (Heath Feather)
1456</ul>
1457Bug fixes:
1458<ul>
1459<li>glBindProgramARB didn't update all necessary state
1460<li>fixed build problems on OpenBSD
1461<li>omit CVS directories from tarballs
1462<li>glGetTexImage(GL_COLOR_INDEX) was broken
1463<li>fixed an infinite loop in t&amp;l module
1464<li>silenced some valgrind warnings about using unitialized memory
1465<li>fixed some compilation/link glitches on IRIX (Mike Stephens)
1466<li>glBindProgram wasn't getting compiled into display lists
1467<li>GLX_FBCONFIG_ID wasn't recognized in glXChooseFBConfig() (bug 888079)
1468<li>two-sided lighting and vertex program didn't work (bug 887330)
1469<li>stores to program parameter registers in vertex state programs
1470	  didn't work.
1471<li>fixed glOrtho bug found with gcc 3.2.2 (RH9)
1472<li>glXCreateWindow() wasn't fully implemented (bug 890894)
1473<li>generic vertex attribute arrays didn't work in display lists
1474<li>vertex buffer objects' default usage and access fields were wrong
1475<li>glDrawArrays with start!=0 was broken
1476<li>fragment program PK2H, UP2H, UP4B and UP4UB instructions were broken
1477<li>linux-osmesa16-static config didn't work
1478<li>fixed a few color index rendering problems (bug 910687)
1479<li>glInterleavedArrays didn't respect GL_CLIENT_ACTIVE_TEXTURE
1480<li>OSMesa RGB and BGR modes were broken
1481<li>glProgramStringARB mistakenly required a null-terminated string
1482<li>fragment program XPD instruction was incorrect
1483<li>glGetMaterial() didn't work reliably
1484<li>ARB_fragment_program KIL instruction was incorrect
1485</ul>
1486
1487
1488<h2>6.1  August 18, 2004</h2>
1489New:
1490<ul>
1491<li>Revamped Makefile system
1492<li>glXUseRotatedXFont() utility (see xdemos/xuserotfont.c)
1493<li>internal driver interface changes related to texture object
1494	  allocation, vertex/fragment programs, BlendEquationSeparate, etc.
1495<li>option to walk triangle edges with double-precision floats
1496	  (Justin Novosad of Discreet) (see config.h file)
1497<li>support for AUX buffers in software GLX driver
1498<li>updated glext.h to version 24 and glxext.h to version 6
1499<li>new MESA_GLX_FORCE_ALPHA and MESA_GLX_DEPTH_BITS env vars
1500<li>updated BeOS support (Philippe Houdoin)
1501</ul>
1502Changes:
1503<ul>
1504<li>fragment fog interpolation is perspective corrected now
1505<li>new glTexImage code, much cleaner, may be a bit faster
1506</ul>
1507Bug fixes:
1508<ul>
1509<li>glArrayElement in display lists didn't handle generic vertex attribs
1510<li>glFogCoord didn't always work properly
1511<li>ARB_fragment_program fog options didn't work
1512<li>frag prog TEX instruction no longer incorrectly divides s,t,r by q
1513<li>ARB frag prog TEX and TEXP instructions now use LOD=0
1514<li>glTexEnviv in display lists didn't work
1515<li>glRasterPos didn't do texgen or apply texture matrix
1516<li>GL_DOUBLE-valued vertex arrays were broken in some cases
1517<li>fixed texture rectangle edge/border sampling bugs
1518<li>sampling an incomplete texture in a fragment program would segfault
1519<li>glTexImage was missing a few error checks
1520<li>fixed some minor glGetTexParameter glitches
1521<li>GL_INTENSITY was mistakenly accepted as a &lt;format&gt; to glTexImage
1522<li>fragment program writes to RC/HC register were broken
1523<li>fixed a few glitches in GL_HP_occlusion_test extension
1524<li>glBeginQueryARB and glEndQueryARB didn't work inside display lists
1525<li>vertex program state references were broken
1526<li>fixed triangle color interpolation bug on AIX (Shane Blackett)
1527<li>fixed a number of minor memory leaks (bug #1002030)
1528</ul>
1529
1530
1531<h2>6.2  October 2, 2004</h2>
1532New:
1533<ul>
1534<li>enabled GL_ARB_texture_rectangle (same as GL_NV_texture_rectangle)
1535<li>updated Doxygen support (Jose Fonseca)
1536</ul>
1537Changes:
1538<ul>
1539<li>some GGI driver updates (Christoph Egger, bug 1025977)
1540</ul>
1541Bug fixes:
1542<ul>
1543<li>Omit GL_ARB_texture_non_power_of_two from list of OpenGL 1.5 features
1544<li>fixed a few compilation issues on IRIX
1545<li>fixed a matrix classification bug (reported by Wes Bethel)
1546<li>we weren't reseting the vertex/fragment program error state
1547	  before parsing (Dave Reveman)
1548<li>adjust texcoords for sampling texture rectangles (Dave Reveman)
1549<li>glGet*(GL_MAX_VERTEX_ATTRIBS_ARB) wasn't implemented
1550<li>repeated calls to glDeleteTexture(t) could lead to a crash
1551<li>fixed potential ref count bugs in VBOs and vertex/fragment programs
1552<li>spriteblast demo didn't handle window size changes correctly
1553<li>glTexSubImage didn't handle pixels=NULL correctly for PBOs
1554<li>fixed color index mode glDrawPixels bug (Karl Schultz)
1555</ul>
1556
1557
1558<h2>6.2.1  December 9, 2004</h2>
1559Bug fixes:
1560<ul>
1561<li>don't apply regular fog or color sum when using a fragment program
1562<li>glProgramEnvParameter4fARB always generated an error on
1563	  GL_FRAGMENT_PROGRAM_ARB (fdo bug 1645)
1564<li>glVertexAttrib3svNV and glVertexAttrib3svARB were broken
1565<li>fixed width/height mix-up in glSeparableFilter2D()
1566<li>fixed regression in glCopyPixels + convolution
1567<li>glReadPixels from a clipped front color buffer didn't always work
1568<li>glTexImage didn't accept GL_RED/GREEN/BLUE as the format
1569<li>Attempting queries/accesses of VBO 0 weren't detected as errors
1570<li>paletted textures failed if the palette had fewer than 256 entries
1571</ul>
1572Changes:
1573<ul>
1574<li>fixed a bunch of compiler warnings found with gcc 3.4
1575<li>bug reports should to go bugzilla.freedesktop.org
1576</ul>
1577
1578
1579<h2>6.3  July 20, 2005</h2>
1580New:
1581<ul>
1582<li>GL_EXT_framebuffer_object extension
1583<li>GL_ARB_draw_buffers extension
1584<li>GL_ARB_pixel_buffer_object extension
1585<li>GL_OES_read_format extension (Ian Romanick)
1586<li>DirectFB driver (Claudio Ciccani)
1587<li>x86_64 vertex transformation code (Mikko T.)
1588<li>Updated GL/glext.h to version 29
1589</ul>
1590Changes:
1591<ul>
1592<li>added -stereo option for glxgears demo (Jacek Rosik)
1593<li>updated the PBuffer demo code in xdemos/ directory
1594<li>glDeleteTextures/Programs/Buffers() now makes the object ID
1595	available for immediate re-use
1596<li>assorted 64-bit clean-ups fixes (x86_64 and Win64)
1597<li>lots of internal changes for GL_EXT_framebuffer_object
1598</ul>
1599Bug fixes:
1600<ul>
1601<li>some functions didn't support PBO functionality
1602<li>glGetTexImage didn't convert color index images to RGBA as required
1603<li>fragment program texcoords were sometimes wrong for points and lines
1604<li>fixed problem with negative dot product in arbfplight, fplight demos
1605<li>fixed bug in perspective correction of antialiased, textured lines
1606<li>querying GL_POST_CONVOLUTION_ALPHA_BIAS_EXT returned wrong value
1607<li>fixed a couple per-pixel fog bugs (Soju Matsumoto)
1608<li>glGetBooleanv(GL_FRAGMENT_PROGRAM_BINDING_NV) was broken
1609<li>fixed float parsing bug in ARB frag/vert programs (bug 2520)
1610<li>XMesaGetDepthBuffer() returned incorrect value for bytesPerValue
1611<li>GL_COLOR_MATERIAL with glColor3 didn't properly set diffuse alpha
1612<li>glXChooseFBConfig() crashed if attribList pointer was NULL
1613<li>program state.light[n].spot.direction.w was wrong value (bug 3083)
1614<li>fragment program fog option required glEnable(GL_FOG) - wrong.
1615<li>glColorTable() could produce a Mesa implementation error (bug 3135)
1616<li>RasterPos could get corrupted by color index rendering path
1617<li>Removed bad XTranslateCoordinates call when rendering to Pixmaps
1618<li>glPopAttrib() didn't properly restore GL_TEXTURE_GEN enable state
1619<li>fixed a few Darwin compilation problems
1620</ul>
1621
1622
1623<h2>6.3.1</h2>
1624<p>
1625This was an intermediate release for X.org which wasn't otherwise released.)
1626</p>
1627
1628
1629<h2>6.3.2  August 19, 2005</h2>
1630New:
1631<ul>
1632<li>The distribution now includes the DRI drivers and GLX code
1633</ul>
1634Changes:
1635<ul>
1636<li>Made the DRI "new" driver interface standard, remove old code
1637</ul>
1638Bug fixes:
1639<ul>
1640<li>GL_ARB_vertex/fragment_shader were mistakenly listed in the
1641	  extensions string
1642<li>negative relative addressing in vertex programs was broken
1643<li>update/fix SPARC assembly code for vertex transformation
1644<li>fixed memory leak when freeing GLX drawables/renderbuffers
1645<li>fixed display list memory leak
1646<li>the GL_PIXEL_MAP_I_TO_I table is now floating point, not integer
1647<li>wglGetProcAddress() didn't handle wgl-functions
1648<li>fixed glxext.h cross-compile issue (Colin Harrison)
1649<li>assorted DRI driver fixes
1650</ul>
1651
1652
1653<b>
1654NOTE: Changes for Mesa 6.4 and later are documented in the corresponding
1655<a href="relnotes.html">release notes</a> file.
1656</b>
1657
1658</div>
1659</body>
1660</html>
1661