added glReadPixels item
[mesa.git] / docs / VERSIONS
1 $Id: VERSIONS,v 1.47 2000/12/13 00:48:02 brianp Exp $
2
3
4 Mesa Version History
5 ====================
6
7 1.0 beta February 1995
8 Initial release
9
10 1.1 beta March 4, 1995
11 Changes:
12 faster point and line drawing (2x faster)
13 more systems supported, better Makefiles
14 Renamed lib*.a files to avoid collisions
15 many small bug fixes
16 New:
17 pseudo-GLX functions added
18 new implementation of evaluators (eval2.c)
19 GLUT support
20
21 1.1.1 beta March 7, 1995
22 Changes:
23 Reverted from eval2.c to eval.c due to FPE on Linux
24 more speed improvements
25 more Makefile changes
26
27 1.1.2 beta March 14, 1995
28 New:
29 implementation of SGI's blending extensions
30 glXUseXFont implemented
31 added MESA_DEBUG environment variable support
32 Changes:
33 Using eval2.c again
34 more FPE-prevention checks (0-length normals are OK)
35 a few small bug fixes
36 much faster pixel logic ops!
37 faster transformation arithmetic
38
39 1.1.3 beta March 31, 1995
40 New:
41 gluScaleImage() and gluBuild2DMipMaps() implemented
42 Mesa widgets for Xt/Motif
43 blendEXT demos
44 added environment variables for selecting visuals
45 Changes:
46 almost all GLUT demos work correctly now
47 faster X device driver functions
48 more bug fixes
49
50 1.1.4 beta April 20, 1995
51 Bug fixes:
52 - missing #define SEEK_SET in src-tk/image.c
53 - compile glShadeModel into display lists
54 - fixed pow() domain error in src/light.c
55 - fixed "flickering bitmaps" in double buffer mode
56 - fixed tk.h and aux.h for C++
57 - state of LIGHT_MODEL_LOCAL_VIEWER was inverted
58 New features:
59 - MUCH, MUCH nicer dithering in 8-bit RGB mode
60 - updated widgets and widget demos
61 - Implemented GLXPixmap functions
62 - Added GLU 1.1 and GLX 1.1 functions
63 - Changed the X/Mesa interface API, more versatile
64 - Implemented gluPartialDisk()
65
66 1.2 May 22, 1995
67 Bug fixes:
68 - IRIX 4.x makefile problem
69 - modified tk to share root colormap as needed
70 - gluLookAt normalization problem
71 - suppress Expose, NoExpose events in swapbuffers
72 - glBitmap() and glDrawPixels() clipping
73 New features:
74 - GL_BLEND, GL_MODULATE, GL_DECAL, and GL_REPLACE_EXT texture
75 modes implemented
76 - texture maps stored more efficiently
77 - texture maps can be compiled into display lists
78 - Bogdan Sikorski's GLU polygon tesselation code
79 - Linas Vepstas's sweep and extrusion library
80 - glXCreateContext()'s shareList parameter works as it's supposed to.
81 XMesaCreateContext() updated to accept a shareList parameter too.
82 - Mesa can be compiled with real OpenGL .h files
83 - MESA_BACK_BUFFER environment variable
84 - better GLX error checking
85
86 1.2.1 June 22, 1995
87 Bug fixes:
88 - X/Mesa double buffer window resize crash
89 - widgets now pass PointerMotion events
90 - X/Mesa incorrect default clear color and drawing color
91 - more robust X MIT-SHM support in X/Mesa
92 - glTexImage( format=GL_LUMINANCE ) didn't work
93 - GL_LINE mode polygons with line width > 1.0 could cause a crash
94 - numerous feedback bugs
95 - glReadPixels() from depth buffer was wrong
96 - error prone depth and stencil buffer allocation
97 New features:
98 - Preliminary Microsoft Windows driver
99 - Implemented a number of missing functions: glEvalCoord[12][df]v(),
100 glGet...(), etc.
101 - Added a few missing symbols to gl.h and glu.h
102 - Faster rendering of smooth-shaded, RGBA, depth-buffered polygons.
103 - Faster rendering of lines when width=2.0
104 - Stencil-related functions now work in display lists
105 Changes:
106 - renamed aux.h as glaux.h (MS-DOS names can't start with aux)
107 - most filenames are in 8.3 format to accomodate MS-DOS
108 - use GLubytes to store arrays of colors instead of GLints
109
110 1.2.2 August 2, 1995
111 New features:
112 - texture mapped points and lines
113 - NURBS! (but not 100% complete)
114 - viewports may safely extend beyond window boundaries
115 - MESA_PRIVATE_CMAP environment variable
116 - Grayscale X display support
117 - two new demos: demos/gears.c and demos/shadow.c
118 - MachTen for Macintosh configuration
119 Bug fixes:
120 - glGet*(GL_DEPTH_BITS) returned bytes, not bits
121 - point, line, and bitmap rasterization suffered from roundoff errors
122 - fixed a division by zero error in line clippping
123 - occasional wrong default background color really fixed!
124 - glDepthFunc(GL_ALWAYS) with glDepthMask(GL_FALSE) didn't work
125 - gluBuild2DMipmaps malloc problem fixed
126 - view volume clipping of smooth shaded lines resulted in bad colors
127 Changes:
128 - new visual selection method in glXChooseVisual()
129 - improved GLU quadric functions
130 - call XSync for glFinish and XFlush for glFlush
131 - glVertex() calls now use a function pointer to avoid conditionals
132 - removed contrib directory from Mesa tar file (available on ftp site)
133 - AIX shared library support
134 - Removed GLUenum type as it's not in OpenGL
135
136 1.2.3 September 26, 1995
137 New features:
138 - Mesa header files now equivalent to SGI OpenGL headers
139 - Support for HP's Color Recovery dithering displays
140 - Faster vertex transformation
141 - Faster raster operations into X windows under certain conditions
142 - New configurations: HP w/ shared libs, Ultrix w/ GCC, Data General
143 - 4-bit visuals now supported
144 Bug fixes:
145 - glScissor bug fixed
146 - round-off errors in clipping lines against clip planes fixed
147 - byte swapping between hosts and display servers implemented
148 - glGetError() can be called without a current rendering context
149 - problem with accidentally culled polygons is fixed
150 - fixed some widget compilation problems
151
152 1.2.4 November 17, 1995
153 New features:
154 - More speed improvements (lighting, fogging, polygon drawing)
155 - Window system and OS-independent off-screen rendering
156 - Preliminary Fortran bindings
157 - glPolygonOffsetEXT implemented
158 - glColorMask and glIndexMask now fully implemented
159 - glPixelZoom implemented
160 - display lists fully implemented
161 - gamma correction
162 - dithering in 8-bit TrueColor/DirectColor visuals
163 Changes:
164 - Improved device driver interface
165 - tk.h renamed to gltk.h to avoid conflicts with Tcl's Tk
166 - Dithering support moved from core into device driver
167 Bug fixes:
168 - glEnable/Disable( GL_LIGHTING ) didn't always take effect
169 - glReadPixels byte swapping was broken
170 - glMaterial with pname==GL_AMBIENT_AND_DIFFUSE was broken
171 - duplicate glColor4b() prototype in GL/gl.h removed
172 - stripes in wave -ci demo fixed
173 - GL_LINEAR_MIPMAP_NEAREST had wrong value
174 - bugs in HP Color Recovery support fixed
175 - fixed bug when blending lines, points, bitmaps outside of window
176
177 1.2.5 November 30, 1995
178 New Features:
179 - updated MS Windows driver
180 - new implementation of StaticGray/GrayScale visual support
181 Bug fixes:
182 - pixelzooming with gamma correction or blending didn't work
183 - HP color recovery visual wasn't being picked by glXChooseVisual
184 - glClear didn't always observe glColorMask changes
185 - olympic and offset demos didn't compile on some Suns
186 - texcoord clamping wasn't correct
187 - a polygon optimization introduced an occasional sampling problem
188
189 1.2.6 January 26, 1996
190 New Features:
191 - faster line and polygon rendering under certain conditions. See
192 Performance Tips 9 and 10 in README
193 - profiling
194 - lighting is a bit faster
195 - better perspective corrected texture mapping
196 - Amiga AmiWin (X11) support
197 - preliminary Linux SVGA driver
198 Changes:
199 - now using a 16-bit depth buffer, faster, smaller
200 - GL_NORMALIZE is disabled by default
201 Bug fixes:
202 - projective texture mapping
203 - fixed a memory leak in the context destroy function
204 - GL_POLYGON with less than 3 vertices caused a crash
205 - glGet*() returned wrong result for GL_INDEX_MODE
206 - reading pixels from an unmapped X window caused a BadMatch error
207
208 1.2.7 March 5, 1996
209 New:
210 - faster lighting
211 - faster 16-bit TrueColor rendering on Linux
212 - faster 32-bit TrueColor rendering on Linux, HP, IBM
213 - non-depth-buffered XImage polygons are faster
214 - vertex array extension
215 - software alpha planes
216 - updated Macintosh driver
217 - new NeXT driver
218 - GLU quadric functions generate texture coordinates
219 - reflect.c demo - reflective, textured surface demo
220 Changes:
221 - gamma correction code moved into the X driver for better performance
222 Bug fixes:
223 - multiple glClipPlane()'s didn't work reliably
224 - glPolygonMode() didn't always work
225 - glCullFace( GL_FRONT_AND_BACK ) didn't work
226 - texture mapping with gamma correction was buggy
227 - floating point exceptions in texture coordinate interpolation
228 - XImage byte swapping didn't always work
229 - polygon edge flags weren't always used correctly
230
231 1.2.8 May 22, 1996
232 New:
233 - overlay planes on X servers with the SERVER_OVERLAY_VISUALS property
234 - better monochrome output
235 - more IRIX 6.x configurations
236 - more robust RGB mode color allocation
237 - added MESA_XSYNC environment variable
238 - GLX_MESA_pixmap_colormap and GLX_EXT_visual_info extensions
239 - GL_MESA_window_pos extension
240 - faster glReadPixels/glDrawPixels for GL_DEPTH and GL_UNSIGNED_SHORT
241 and GL_UNSIGNED_INT
242 - driver for prototype Cirrus Mondello 3-D board
243 - updated AmigaDOS driver
244 - a few small speed optimizations in polygon rendering
245 Changes:
246 - internal device driver interface modified to simplify device
247 driver implementations and to support hardware Z buffers
248 - several changes to the X/Mesa interface (xmesa.h)
249 Bug fixes:
250 - fixed pow(0,0) domain error triggered on some systems
251 - glStencilClear() in a display list caused an infinite loop
252 - glRasterPos*() was sometimes off by +/-0.5 in X and Y
253 - color masking and blending were performed in wrong order
254 - auxSolidCylinder() sometimes drew a wire-frame cylinder
255 - fixed file writing bug in osdemo.c
256 - pixel mapping didn't always work
257 - the GL_GEQUAL stencil func didn't work
258 - the GL_INVERT stencil op didn't work
259 - the stencil write mask didn't work
260 - glPush/PopAttrib() didn't do enough error checking
261 - glIsList() didn't always work correctly
262
263 2.0 October 10, 1996
264 New:
265 - Implements OpenGL 1.1 API functions
266 - all texture filtering modes supported (mipmapping)
267 - faster texture mapping, see Performance Tip 11 in README
268 - antialiased RGB points
269 - X support for line and polygon stippling
270 - glDrawBuffer( GL_FRONT_AND_BACK ) works
271 - util/ directory of useful stuff
272 - demos/texobj demo of texture objects
273 Changes:
274 - major internal changes for thread-safeness
275 - new device driver interface
276 - MESA_ALPHA env variable removed
277 - triangle rasterizer replaces polygon rasterizer
278 Bug fixes:
279 - glPopAttrib() bug
280 - glDrawBuffer(GL_NONE) works now
281
282 2.1 December 14, 1996
283 New:
284 - VMS support
285 - MS-DOS driver
286 - OpenStep support
287 - updated, combined Windows 95/NT driver
288 - implemented glGetLighti() and glGetTexGen*()
289 - GLX does garbage collection of ancillary buffers
290 Bug fixes:
291 - removed unused _EXT constants from gl.h
292 - fixed polygon offset bugs
293 - Z coordinates of clipped lines were incorrect
294 - glEdgeFlag() in display lists didn't always work
295 - glLight*() in display lists didn't work
296 - fixed X line stipple bugs (Michael Pichler)
297 - glXUseXfonts XFreeFont/XFreeFontInfo bug fixed
298 - fixed a feedback bug
299 - glTexGen*() now transforms GL_EYE_PLANE by inverse modelview matrix
300 - polygons were sometimes culled instead of clipped
301 - triangle rasterizer suffered from float/int overflow exceptions
302 - fixed FP underflow exception in lighting (specular exponent)
303 - glEnable/glDisable of GL_EXT_vertex_array enums didn't work
304 - fixed free(NULL) in GLU tesselator code
305 - using 24-bit color on some X servers resulted in garbage rendering
306 - 32-bit per pixel mode for XFree86 now works
307 - glRotate(a,0,0,0) gave unpredictable results
308 - GL_LINE_STRIP with > 480 vertices had occasional clipping problems
309 - 8-bit TrueColor GLXPixmap rendering incorrectly required a colormap
310 - glMaterial() wasn't ignored when GL_COLOR_MATERIAL was enabled
311 - glEnable(GL_COLOR_MATERIAL) followed by glColor() didn't work right
312 - accumulation buffer was limited to positive values
313 - projective textures didn't work
314 - selection buffer overflows weren't handled correctly
315 Changes:
316 - restored the GL_EXT_polygon_offset extension
317 - slightly faster RGB dithering
318 - the SVGA driver works again
319 - Amiga driver now distributed separately
320 - NeXT driver updated for Mesa 2.x
321
322 2.2 March 14, 1997
323 New:
324 - better color selection when dithering
325 - added GL_EXT_texture_object extension
326 - updated MS-DOS driver for DJGPP
327 - added openbsd make configuration
328 - faster dithered flat-shaded triangles
329 - various compilation problems with Motif widgets fixed
330 - gl.h, glx.h and glu.h name mangling option
331 - BeOS driver
332 - 3D texture mapping extension
333 - GL_MESA_resize_buffers extension
334 - morph3d, stex3d and spectex demos
335 - 3Dfx support
336 Bug fixes:
337 - glColorMaterial should finally work right in all respects
338 - linear interpolation of mipmap levels was incorrectly weighted
339 - readpix.c didn't compile on Macintosh
340 - GL_INVERT and related logic ops didn't work right
341 - glTexImage[12]D() didn't check its parameters consistantly
342 - fixed a memory leak in glTexImage[12]D()
343 - kludged around a SunOS 5.x/GCC compiler bug in the feedback code
344 - glReadPixels aborted instead of normally catching some errors
345 - a few 1.1 constants were missing or misnamed in gl.h
346 - glBegin(p); glBegin(q); didn't generate an error
347 - fixed a memory leak in GLX code
348 - clipping of concave polygons could cause a core dump
349 - 1-component alpha texture maps didn't work
350 - fixed a GLU polygon tesselator bug
351 - polygons with colinear vertices were sometimes culled
352 - feedback triangle colors were wrong when using smooth shading
353 - textures with borders didn't work correctly
354 - colors returned in feedback mode were wrong when using lighting
355 - spotlights didn't effect ambient lighting correctly
356 - gluPartialDisk() had a few bugs
357 Changes:
358 - device driver interface expanded to support texture mapping
359 - faster matrix inversion subroutine
360 - commented out #include "wmesa_extend.h" from src/wmesa.c
361 - fixed many compiler warnings in the demo programs
362
363 2.3 June 30, 1997
364 New:
365 - Mesa distribution divided into two pieces: library code and demos
366 - faster vertex transformation, clip testing, lighting
367 - faster line drawing
368 - TrueColor visuals how have dithering (for depths < 24 bits)
369 - added MESA_NO_DITHER environment variable
370 - new device driver function: NearFar(), RenderVB(), RasterSetup()
371 - added LynxOS configuration
372 - added cygnus Win32 configuration
373 - added texcyl.c GLUT demo
374 - added XMesaDitherColor() to X/Mesa interface
375 - new NURBS code from Bogdan Sikorski
376 - added demos/shape.c (non-rectangular X window!)
377 Bug fixes:
378 - glEnable/DisableClientState() were missing from GL/gl.h
379 - GL_SPHERE_MAP texcoord generation didn't work correctly
380 - glXGetConfig() returned wrong number of depth, stencil, accum bits
381 - glDrawPixels feedback/selection didn't examine RasterPos valid bit
382 - black and white were reversed on some monochrome displays
383 - fixed potential image memory leak (wasn't setting reference counter)
384 - glDrawPixels sometimes didn't recognize some GL state changes
385 - gluProject/UnProject() didn't check for divide by zero
386 - stex3d demo called random() and srandom(), not portable
387 - fixed memory leaks in context.c and drawpix.c
388 - fixed NULL dereferencing problem in gl_update_texture_state()
389 - glReadPixels between glBegin/glEnd didn't generate an error.
390 - fixed memory leak in polygon tesselator (Randy Frank)
391 - fixed seg fault bug drawing flat-shaded, depth-tested lines
392 - clipped GL_TRIANGLE_STRIPs sometimes had wrong color when flat-shaded
393 - glBindTexture sometimes didn't work
394 - fixed a bug deep in glXReleaseBuffersMESA()
395 - fog was mistakenly applied to alpha
396 - glPopMatrix didn't set "dirty matrix" flag
397 - glPolygonStipple pattern was sometimes wrong
398 - glClear wasn't disabled during feedback and selection
399 - fixed memory leak in glTexSubImage[123]D
400 Changes:
401 - many library source files reorganized
402 - faster X color allocation, colors also freed when finished with them
403 - new texture sampling function pointer in texture objects
404 - incorporated 3Dfx VooDoo driver v0.16 into main source tree
405 - many 3Dfx driver updates
406 - cygnus Makefiles now included
407 - updated DOS driver
408 - made a few changes to dosmesa.c and wmesa.c (VB->Unclipped)
409 - internally, colors now stored in GLubytes, not GLfixed
410 - optimized changing of GL_SHININESS parameter
411
412 2.4 September 18, 1997
413 New:
414 - updated 3Dfx Glide driver
415 - hacks for 3Dfx rendering into an X window or fullscreen
416 - added depth buffer access functions to X/Mesa and OS/Mesa interfaces
417 Bug fixes:
418 - pixel buffer could overflow with long, wide lines
419 - fixed FP underflow problems in lighting
420 - glTexSubImage1D() had an unitialized variable
421 - incomplete texture objects could cause a segfault
422 - glDrawPixels with GL_COMPILE_AND_EXECUTE caused infinite loop
423 - flat-shaded quads in a strip were miscolored if clipped
424 - mipmapped triangle lod computation now works correctly
425 - fixed a few under/overflow bugs in triangle rasterizer
426 - glArrayElement() assigned bad normal if normal array disabled
427 - changed argument to glXReleaseBuffersMESA()
428 - fixed small triangle underflow bugs in tritemp.h (hopefully)
429 - glBindTexture(target, 0) caused a crash
430 - glTexImage[123]D() with NULL image pointer caused crash
431 - glPixelStore parameters are now ignored during display list execution
432 - fixed a two-sided lighting w/ clipping bug (black vertices)
433 - textures with width!=height were sometimes mis-rendered
434 - "weird" projection matrices could cause div by 0, other fp errors
435 Changes:
436 - changed precompiled header symbol from PCH to PC_HEADER
437 - split api.c into api1.c and api2.c
438 - added hash.c source file (but not used yet)
439 - a few Sun and HP configuration file changes
440 - MESA_GLX_FX env var replaces MESA_FX_WINDOW and MESA_FX_FULLSCREEN
441 - fixed a few cygnus build problems (src/Makefile.cygnus, src/wmesa.c)
442
443 2.5 November 20, 1997
444 New:
445 - updated 3Dfx driver (v20) for GLQuake
446 - added GL_EXT_paletted_texture extension
447 - added GL_EXT_shared_texture_palette extension
448 - added GL_EXT_point_parameters extension
449 - now including Mark Kilgard's GLUT library v3.6
450 - new GLUT-based demos in gdemos/
451 - added a few more Unix config targets
452 - added Intel X86 assembly language vertex transformation code
453 - 3Dfx/Glide driver for Mesa now recognizes SST_SCREENREFRESH env var
454 - Windows 95 S3 Virge driver
455 Bug fixes:
456 - glCopyTexImage?D would crash due to uninitialized variable
457 - glColor w/ glColorMaterial in a display list caused a bug
458 - fixed several glDrawPixels() and ReadPixels() bugs in 3Dfx driver
459 - glVertex4*() vertices weren't always projected correctly
460 - trying to use mipmapped textured points or lines caused crash
461 - glColor[34][fd]() values now clamped to [0,1] before int conversion
462 Changes:
463 - new device driver functions for texture mapping
464 - hash tables used for display list and texture object lookup
465 - fixed GLX visual handling code to avoid saving redundant visuals
466 - 3Dfx Glide libraries automatically linked to libMesaGL.so
467 - dropped the Cirrus Logic Mondello code since it's obsolete
468 - updated Cygnus Makefiles (Stephane Rehel)
469 - updated Windows MSVC++ Makefiles (Oleg Letsinsky)
470 - procedure for making library files has changed: scripts now take
471 a major and minor version arguments. Make-config changed a lot.
472 - new implementation of glTexSubImage2D()
473 - updated widgets-mesa directory to create libMesaGLwM.a (Motif widget)
474 - separate linux-glide and linux-386-glide configurations
475
476 2.6 February 12, 1998
477 New:
478 - Windows WGL functions
479 - updated VMS, DOS, Windows, Cygnus, BeOS, Amiga compilation support
480 - v0.22 of 3Dfx Glide driver
481 - more X86 assembly language optimizations
482 - faster blending for some modes
483 - XMesaSetFXmode() to switch between 3Dfx window and full-screen mode
484 - added preliminary thread support
485 - added GLX_MESA_copy_sub_buffer extension
486 - some clipping optimizations
487 Bug fixes:
488 - fixed shading/material bug when drawing long primitive strips
489 - fixed clipping problem in long primitive strips
490 - fixed clipping bug when using 3Dfx driver
491 - fixed a problem when trying to use X fonts w/ 3Dfx driver
492 - fixed a texture filter bug in 3Dfx/Glide driver
493 - fixed bug in 3Dfx/Glide driver involving depth mask & clearing
494 - glLoadMatrix to set projection matrix confused the 3Dfx driver
495 - non-identity texture matrices didn't work with linux-386 configs
496 - glGenTextures() didn't reserve the returned texture IDs
497 - NULL proxy image sent to glTexImageXD() caused crash
498 - added texture state validation optimization (Henk Kok)
499 - fixed colormap reuse problem when using both RGB and CI windows
500 - 32bpp True/DirectColor X visuals weren't recognized
501 - fixed potential problem in evaluators memory allocation
502 - fixed assorted demo compilation bugs
503 Changes:
504 - replaced old Mesa/windows/ directory with Mesa/WIN32/ directory
505 - converted a few old glaux/gltk demos to GLUT
506 - renamed directories: demos -> xdemos, gdemos -> demos
507
508
509 3.0 September 17, 1998
510 New:
511 - OpenGL 1.2 API
512 - GL_EXT_abgr pixel format extension
513 - GL_SGIS_texture_edge_clamp extension
514 - GL_SGIS_multitexture extension (to be replaced by GL_ARB_multitex)
515 - GL_EXT_multitexture extension (to be replaced by GL_ARB_multitex)
516 - GL_EXT_rescale_normal extension and renormal.c demo
517 - GLX_SGI_video_sync extension (a no-op)
518 - antialiased lines
519 - glGetTexImage() now implemented
520 - glDraw/Copy/ReadPixels() optimizations
521 - optimized textured triangle code (Marten Stromberg)
522 - more optimization of dithered TrueColor triangles in X driver
523 - Linux GGI driver
524 - updated MGL driver
525 Bug fixes:
526 - lots of assorted compilation fixes
527 - glInitNames didn't write initial hit record
528 - glBitmap didn't always check for invalid raster position
529 - switching between GLX and OSMesa contexts caused a crash
530 - fixed uninitialized variable in Mesa widget code
531 - fixed typo in texture code which caused book/texgen to crash
532 - fixed texture sampling bug when filter=GL_LINEAR and wrap=GL_CLAMP
533 - gluDisk() in POINT or LINE mode sometimes failed
534 - fixed texture + fog bug
535 - GL_COMPILE_AND_EXECUTE mode didn't work reliably
536 - glMultMatrix in projection matrix mode w/ 3Dfx driver could fail
537 - glDrawPixels(color index pixels) weren't converted to RGBA
538 - fixed possible getenv() buffer overflow security bug
539 - glBitmap in feedback mode was offset by xOrig, yOrig params
540 - device driver's DrawPixels hook was never used
541 - glDrawPixels with zoomY!=1 and top/bottom clipping didn't work
542 - glDrawPixels optimized for GL_LUMINANCE, GL_LUMINANCE_ALPHA, GLubyte
543 - fixed MakeCurrent bug in GLwRedrawObjects() in MesaWorkstation.c
544 - glCopyTexSubImage2D() didn't work with 3Dfx driver
545 - lines with width = 2 could cause crash
546 - glClear with scissor rect sometimes cleared whole buffer
547 - glTexSubImage2D( .. GL_COLOR_INDEX .. ) didn't work
548 - glTexImageXD( .. GL_ABGR_EXT .. ) didn't work
549 - computation of inverse modelview matrix sometimes failed
550 - fixed GL_CLAMP mode texture sampling bug
551 - textured line interpolation was somewhat broken
552 - textured triangle interpolation was also somewhat broken
553 - glGet(MODELVIEW/PROJECTION/TEXTURE_MATRIX_STACK_DEPTH) off by one
554 - evaluator state wasn't fully initialized
555 - texture coordinate clipping was buggy
556 - evaluator surfaces could be mis-colored
557 - glAccum(GL_RETURN, s) didn't obey glColorMask() settings
558 - zero area polygons shouldn't be culled if polygon mode is point/line
559 - clipped width and height of glReadPixels was sometimes off by one
560 - blending with alpha = 0 or 1.0 wasn't always exact
561 - reading of pixels from clipped region was buggy
562 - minor tweaking of X visual management in GLX emulator
563 - glPolygonStipple now obeys pixel unpacking parameters
564 - glGetPolygonStipple now obeys pixel packing parameters
565 - interleaved vertex array texture coordinates were broken
566 - query of proxy texture internal format was broken
567 - alpha channel wasn't reliably cleared
568 - fixed divide by zero error in gluScaleImage if dest size = 1 x 1
569 Conformance bug fixes:
570 - GL_SELECTION_BUFFER_POINTER and GL_SELECTION_BUFFER_SIZE were missing
571 - GL_TEXTURE_INTERNAL_FORMAT was missing
572 - glGet*(GL_POLYGON_STIPPLE) was broken
573 - glPush/PopAttrib() didn't save/restore all texture state
574 - glBitmap in feedback mode didn't work
575 - feedback of texture coords didn't always work
576 - glDrawPixels w/ format=GL_DEPTH_COMPONENT, type=GLbyte was broke
577 - glDrawPixels w/ format=GL_DEPTH_COMPONENT, type=GLubyte was broke
578 - glDrawPixels w/ format=GL_STENCIL_INDEX, type=GL_BITMAP was broke
579 Changes:
580 - upgraded GLUT to version 3.7
581 - only GL and GLU library code included in MesaLib.tar.gz
582 - GLUT and all demos now in MesaDemos.tar.gz
583 - glaux and gltk libraries removed
584 - IRIX -n32 and -64 libs go in lib32/ and lib64/ directories
585
586
587 3.1 beta 1 November 19, 1998
588 New:
589 - GL_EXT_stencil_wrap extension
590 - GL_INGR_blend_func_separate extension
591 - GL_ARB_multitexture extension
592 - GL_NV_texgen_reflection extension
593 - newly optimized vertex transformation code
594 - updated GLUT 3.7 code
595 - better precision when using 32-bit Z buffer
596 - Allegro DJGPP driver
597 Bug fixes:
598 - glCopyPixels between front/back buffers didn't copy alpha correctly
599 - fixed out-of-bounds memory access in optimized 2-D texture code
600 - glPixelStorei didn't accept GL_PACK/UNPACK_IMAGE_HEIGHT parameter
601 - glGet*() didn't accept GL_MAX_3D_TEXTURE_SIZE parameter
602 - clipping of texture coordinates sometimes had bad R,Q values
603 - GL_CLAMP_TO_EDGE texture sampling was off by 0.5 texels
604 - glEdgeFlagPointer() now takes a GLvoid * instead of GLboolean *
605 - texture was sometimes applied twice with 3Dfx driver
606 - glPush/PopAttrib() fouled up texture object reference counts
607 - glDeleteLists(0, n) caused assertion failure
608 - bilinear texture sampling wasn't accurate enough
609 - glClear w/ glDepthMask(GL_FALSE) didn't work right on 3Dfx
610 - color components were reversed on big endian 32 bpp X visuals
611 Changes:
612 - removed GL_EXT_multitexture extension
613
614
615 3.1 beta 2 May 24, 1999
616 New:
617 - multi-textured points and lines (mjk@nvidia.com)
618 - optimized 24bpp X rendering (bernd.paysan@gmx.de)
619 - added allegro support (bernie-t@geocities.com)
620 - cleaned-up Windows-related stuff (Ted Jump)
621 - minor stereo changes (KendallB@scitechsoft.com)
622 - new BeOS driver which implements BGLView class
623 - new Direct3D driver (see src/D3D)
624 - more efficient filled gluCylinder() function
625 - utilities: util/showbuffer.[ch] and util/glstate.[ch]
626 - fixed some IRIX compiler warnings
627 - added support for building Mesa in XFree86 with
628 SGI's GLX (kevin@precisioninsight.com)
629 Bug fixes:
630 - a variety of Windows/Mesa bug fixes (mjk@nvidia.com)
631 - packed pixel images weren't unpacked correctly
632 - patches some win32 files in GLUT (mjk@nvidia.com)
633 - glTexImage[123]D() didn't accept internalFormat == GL_COLOR_INDEX
634 - fixed lighting bug in Keith's new shading code
635 - fixed texture segfault seen in Lament screensaver
636 - fixed miscellaneous low-memory bugs
637 - glClear(GL_COLOR_BUFFER_BIT) with RGBA or CI masking was broken
638 - GL_LINEAR sampling of 3D textures was broken
639 - fixed SVR4 'cc' compiler macro problem (dawes@xfree86.org)
640 - added GL_TEXTURE_PRIORITY fix (keithh@netcomuk.co.uk)
641 - fixed wide point and wide line conformance bugs (brianp)
642 Changes:
643 - some device driver changes (see src/dd.h)
644 - new copyright on core Mesa code
645
646
647 3.1 beta 3 September 17, 1999
648 New:
649 - optimized glAccum function
650 - optimized 24bpp rendering in XMesa driver
651 - GLU 1.2 polygon tessellator
652 Bug Fixes:
653 - glGetTexLevelParameter wasn't fully implemented
654 - glXUseXFont now handles multi-byte fonts
655 - glIsEnabled(GL_TEXTURE_2D / 3D) returned wrong result
656 - alpha channel of blending points, lines was sometimes incorrect
657 Changes:
658 - New library names: "libGL" instead of "libMesaGL"
659 - New library numbering: libGL.so.1.2.310
660 - New subdirectories: docs/ and bin/
661 - New Makefile-system (autoconf,automake,libtool)
662
663
664 3.1 final December 14, 1999
665 New:
666 - added demos/gloss.c
667 - added xdemos/glxdpyinfo.c
668 - added GLX_ARB_get_proc_address extension
669 - rewritten glTexImage code paths (faster, less memory, bug fixes)
670 Bug Fixes:
671 - several vertex array bug fixes
672 - overlapping glCopyPixels with pixel zooming now works
673 - glXUseXFont() bitmaps were vertically shifted by one pixel
674 - glCopyPixels with pixel zooming now works
675
676
677 3.2 final April 24, 2000
678 Bug fixes:
679 - fixed memcpy bugs in span.c
680 - fixed missing glEnd problem in demos/tessdemo.c
681 - fixed bug when clearing 24bpp Ximages
682 - fixed clipping problem found in Unreal Tournament
683 - fixed Loki's "ice bug" and "crazy triangles" seen in Heretic2
684 - fixed Loki's 3dfx RGB vs BGR bug
685 - fixed Loki's 3dfx smooth/flat shading bug in SoF
686 Changes:
687 - updated docs/README file
688 - use bcopy() optimizations on FreeBSD
689 - re-enabled the optimized persp_textured_triangle() function
690
691
692 3.2.1 July 19, 2000
693 Bug fixes:
694 - gluBuild2DMipmaps() didn't accept GL_BGRA
695 - Fixed compile/makefile problems on IRIX
696 - fixed segfault in 3dfx driver when using GL selection/feedback
697 - no longer cull very, very tiny triangles
698 - blending w/ drawbuffer==GL_FRONT_BACK caused segfault (sw rendering)
699 - fixed Motif detection code in widgets-mesa/configure.in
700 - glColorMaterial and glMaterial updates to emissive and ambient
701 didn't always work right
702 - Specular highlights weren't always in the right place
703 - clipped GL_LINE mode polygons had interior lines appear
704 - blend term GL_ONE_MINUS_CONSTANT_ALPHA was broken
705 - GL_NICEST fog didn't always work with flat shading
706 - glRect commands in display lists were sometimes miscolored
707 - Line Z offset didn't always work
708 - fixed texgen normal vector problem (gloss's teapot)
709 - numerous GL conformance bugs fixed
710 Changes:
711 - glColorMask(false, false, false, false) handled better/faster
712 - reverted to old GLU polygon tessellator, GLU 1.1
713 - updated Win32 build files
714
715
716 3.3 July 21, 2000
717 New:
718 - antialiased triangles now implemented
719 - GL_EXT_texture_env_add texture mode extension
720 - GLX 1.3 API
721 - support for separate draw/read buffers (ie GL_SGI_make_current_read)
722 - thread-safe API dispath
723 - improved glxinfo program
724 - demos/texdown program to measure texture download performance
725 - glext.h header file
726 - demos/geartrain program
727 - GL_EXT_texture_lod_bias extension
728 - demos/lodbias program
729 - further optimized glRead/DrawPixels for 16-bit TrueColor X visuals
730 - GLX_EXT_visual_rating extension (a no-op, however)
731 - GL_HP_occlusion_test extension (for X and OS/Mesa drivers)
732 - demos/occlude program
733 - GL_SGIS_pixel_texture and GL_SGIX_pixel_texture extensions
734 - demos/pixeltex program
735 - GL_SGI_color_matrix extension
736 - GL_SGI_color_table extension
737 - GL_EXT_histogram extension
738 - GL_ARB_texture_cube_map extension
739 - added xdemos/glxheads and xdemos/manywin
740 - demos/texenv.c demo
741 - GL_EXT_texture_env_combine extension (by Holger Waechtler)
742 - Xlib driver is now thread-safe (see xdemos/glthreads)
743 Bug Fixes:
744 - various GL conformance failures fixed since 3.2.1
745 Changes:
746 - gl.h now uses #defines instead of C enums for all tokens
747 - glu.h now uses #defines instead of C enums for all tokens
748 - moved programs from 3Dfx/demos/ into demos/ directory
749
750
751 3.4 Month ??, 2000
752 XXX copy from 3.4's VERSION file
753
754
755
756 3.5 Month ??, 2000
757 New:
758 - internals of Mesa divided into modular pieces (Keith Whitwell)
759 - support for hardware T&L for DRI
760 - GL_EXT_convolution extension
761 - GL_ARB_imaging subset
762 - OSMesaCreateContextExt() function
763 - GL_ARB_texture_env_add extension (same as GL_EXT_texture_env_add)
764 - GL_MAX_TEXTURE_UNITS_ARB now defaults to three.
765 - libOSMesa.so now created, contains the OSMesa driver interface
766 - GL_EXT_fog_coord extension (Keith Whitwell)
767 - GL_EXT_secondary_color extension (Keith Whitwell)
768 - GL/glxext.h header file for GLX extensions
769 - Improved precision in glReadPixels, improves conformance for 16bpp
770 - somewhat faster software texturing, fogging, depth testing
771 Bug Fixes:
772 - fbiRev and tmuRev were unitialized when using Glide3
773 Changes:
774 -