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