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