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