From 807c6931fe683fd844ceec1b023232181e6aae03 Mon Sep 17 00:00:00 2001 From: marha Date: Tue, 28 Dec 2010 16:10:20 +0000 Subject: xserver and mesa git update 28-12-2010 --- mesalib/docs/GL3.txt | 114 ++ mesalib/docs/MESA_drm_image.spec | 298 ++--- mesalib/docs/VERSIONS | 1514 ++++++++++++++++++++++ mesalib/docs/devinfo.html | 441 +++---- mesalib/docs/egl.html | 631 ++++----- mesalib/docs/enums.txt | 57 + mesalib/docs/gears.png | Bin 0 -> 1608 bytes mesalib/docs/libGL.txt | 197 +++ mesalib/docs/mesa.css | 33 + mesalib/docs/news.html | 2612 +++++++++++++++++++------------------- mesalib/docs/openvg.html | 113 +- mesalib/docs/relnotes-7.8.2.html | 199 ++- mesalib/docs/relnotes-7.9.html | 274 ++-- mesalib/docs/relnotes.html | 165 +-- 14 files changed, 4336 insertions(+), 2312 deletions(-) create mode 100644 mesalib/docs/GL3.txt create mode 100644 mesalib/docs/VERSIONS create mode 100644 mesalib/docs/enums.txt create mode 100644 mesalib/docs/gears.png create mode 100644 mesalib/docs/libGL.txt create mode 100644 mesalib/docs/mesa.css (limited to 'mesalib/docs') diff --git a/mesalib/docs/GL3.txt b/mesalib/docs/GL3.txt new file mode 100644 index 000000000..b8068bbe6 --- /dev/null +++ b/mesalib/docs/GL3.txt @@ -0,0 +1,114 @@ + +Status of OpenGL 3.x features in Mesa + + +Note: when an item is marked as "DONE" it means all the core Mesa +infrastructure is complete but it may be the case that few (if any) drivers +implement the features. + + +Feature Status +----------------------------------------------------- ------------------------ + +GL 3.0: + +GLSL changes (GL_EXT_gpu_shader4, etc) not started +Conditional rendering (GL_NV_conditional_render) DONE (swrast & softpipe) +Map buffer subranges (GL_ARB_map_buffer_range) DONE +Float textures, renderbuffers some infrastructure done + (incl. GL_EXT_packed_float, GL_EXT_shared_exponent) +Framebuffer objects (GL_EXT_framebuffer_object) DONE +Half-float some infrastructure done +Multisample blit DONE +Non-normalized Integer texture/framebuffer formats ~50% done +1D/2D Texture arrays core Mesa, swrast done +Packed depth/stencil formats DONE +Per-buffer blend and masks (GL_EXT_draw_buffers2) DONE +GL_EXT_texture_compression_rgtc not started +Red and red/green texture formats DONE (swrast, i965, gallium) +Transform feedback (GL_EXT_transform_feedback) ~50% done + glBindFragDataLocation, glGetFragDataLocation, + glBindBufferRange, glBindBufferBase commands +Vertex array objects (GL_APPLE_vertex_array_object) DONE +sRGB framebuffer format (GL_EXT_framebuffer_sRGB) not started +glClearBuffer commands DONE +glGetStringi command DONE +glTexParameterI, glGetTexParameterI commands DONE +glVertexAttribI commands DONE (but converts int + values to floats) + + +GL 3.1: + +GLSL 1.30 and 1.40 not started +Instanced drawing (GL_ARB_draw_instanced) ~50% done +Buffer copying (GL_ARB_copy_buffer) DONE +Primitive restart (GL_NV_primitive_restart) DONE (gallium) +16 vertex texture image units not started +Texture buffer objs (GL_ARB_texture_buffer_object) not started +Rectangular textures (GL_ARB_texture_rectangle) DONE +Uniform buffer objs (GL_ARB_uniform_buffer_object) not started +Signed normalized texture formats ~50% done + + +GL 3.2: + +Core/compatibility profiles not started +GLSL 1.50 not started +Geometry shaders (GL_ARB_geometry_shader4) partially done (Zack) +BGRA vertex order (GL_ARB_vertex_array_bgra) DONE +Base vertex offset(GL_ARB_draw_elements_base_vertex) DONE +Frag shader coord (GL_ARB_fragment_coord_conventions) DONE (swrast, gallium) +Provoking vertex (GL_ARB_provoking_vertex) DONE +Seamless cubemaps (GL_ARB_seamless_cube_map) DONE, mostly? +Multisample textures (GL_ARB_texture_multisample) not started +Frag depth clamp (GL_ARB_depth_clamp) DONE +Fence objects (GL_ARB_sync) DONE + + +GL 3.3: + +GLSL 3.30 not started +GL_ARB_blend_func_extended not started +GL_ARB_explicit_attrib_location DONE (swrast, i915, i965) +GL_ARB_occlusion_query2 DONE (swrast, gallium) +GL_ARB_sampler_objects not started +GL_ARB_texture_rgb10_a2ui not started +GL_ARB_texture_swizzle DONE (same as EXT version) +GL_ARB_timer_query DONE (only Xlib sw driver) +GL_ARB_instanced_arrays not started +GL_ARB_vertex_type_2_10_10_10_rev not started + + +GL 4.0: + +GLSL 4.0 not started +GL_ARB_texture_query_lod not started +GL_ARB_draw_buffers_blend not started +GL_ARB_draw_indirect not started +GL_ARB_gpu_shader_fp64 not started +GL_ARB_sample_shading not started +GL_ARB_shader_subroutine not started +GL_ARB_tessellation_shader not started +GL_ARB_texture_buffer_object_rgb32 not started +GL_ARB_texture_cube_map_array not started +GL_ARB_texture_gather not started +GL_ARB_transform_feedback2 not started +GL_ARB_transform_feedback3 not started + + +GL 4.1: + +GLSL 4.1 not started +GL_ARB_ES2_compatibility not started +GL_ARB_get_program_binary not started +GL_ARB_separate_shader_objects some infrastructure done +GL_ARB_shader_precision not started +GL_ARB_vertex_attrib_64bit not started +GL_ARB_viewport_array not started + + + + +More info about these features and the work involved can be found at +http://dri.freedesktop.org/wiki/MissingFunctionality diff --git a/mesalib/docs/MESA_drm_image.spec b/mesalib/docs/MESA_drm_image.spec index 118501c3d..5f58f620f 100644 --- a/mesalib/docs/MESA_drm_image.spec +++ b/mesalib/docs/MESA_drm_image.spec @@ -1,149 +1,149 @@ -Name - - MESA_drm_image - -Name Strings - - EGL_MESA_drm_image - -Contact - - Kristian Høgsberg - -Status - - Proposal - -Version - - Version 2, August 25, 2010 - -Number - - EGL Extension #not assigned - -Dependencies - - Reguires EGL 1.4 or later. This extension is written against the - wording of the EGL 1.4 specification. - - EGL_KHR_base_image is required. - -Overview - - This extension provides entry points for integrating EGLImage with the - Linux DRM mode setting and memory management drivers. The extension - lets applications create EGLImages without a client API resource and - lets the application get the DRM buffer handles. - -IP Status - - Open-source; freely implementable. - -New Procedures and Functions - - EGLImageKHR eglCreateDRMImageMESA(EGLDisplay dpy, - const EGLint *attrib_list); - - EGLBoolean eglExportDRMImageMESA(EGLDisplay dpy, - EGLImageKHR image, - EGLint *name, - EGLint *handle, - EGLint *stride); - -New Tokens - - Accepted in the parameter of eglCreateDRMImageMESA: - - EGL_DRM_BUFFER_FORMAT_MESA 0x31D0 - EGL_DRM_BUFFER_USE_MESA 0x31D1 - - Accepted as values for the EGL_IMAGE_FORMAT_MESA attribute: - - EGL_DRM_BUFFER_FORMAT_ARGB32_MESA 0x31D2 - - Bits accepted in EGL_DRM_BUFFER_USE_MESA: - - EGL_DRM_BUFFER_USE_SCANOUT_MESA 0x0001 - EGL_DRM_BUFFER_USE_SHARE_MESA 0x0002 - - Accepted in the parameter of eglCreateImageKHR: - - EGL_DRM_BUFFER_MESA 0x31D3 - - Use when importing drm buffer: - - EGL_DRM_BUFFER_STRIDE_MESA 0x31D4 - EGL_DRM_BUFFER_FORMAT_MESA 0x31D0 - -Additions to the EGL 1.4 Specification: - - To create a DRM EGLImage, call - - EGLImageKHR eglCreateDRMImageMESA(EGLDisplay dpy, - const EGLint *attrib_list); - - In the attribute list, pass EGL_WIDTH, EGL_EIGHT and format and - use in the attrib list using EGL_DRM_BUFFER_FORMAT_MESA and - EGL_DRM_BUFFER_USE_MESA. The only format specified by this - extension is EGL_DRM_BUFFER_FORMAT_ARGB32_MESA, where each pixel - is a CPU-endian, 32-bit quantity, with alpha in the upper 8 bits, - then red, then green, then blue. The bit values accepted by - EGL_DRM_BUFFER_USE_MESA are EGL_DRM_BUFFER_USE_SCANOUT_MESA and - EGL_DRM_BUFFER_USE_SHARE_MESA. EGL_DRM_BUFFER_USE_SCANOUT_MESA - requests that the created EGLImage should be usable as a scanout - buffer with the DRM kernel modesetting API. The - EGL_DRM_BUFFER_USE_SHARE_MESA bit requests that the EGLImage can - be shared with other processes by passing the underlying DRM - buffer name. - - To create a process local handle or a global DRM name for a - buffer, call - - EGLBoolean eglExportDRMImageMESA(EGLDisplay dpy, - EGLImageKHR image, - EGLint *name, - EGLint *handle, - EGLint *stride); - - If is non-NULL, a global name is assigned to the image and - written to , the handle (local to the DRM file descriptor, - for use with DRM kernel modesetting API) is written to if - non-NULL and the stride (in bytes) is written to , if - non-NULL. - - Import a shared buffer by calling eglCreateImageKHR with - EGL_DRM_BUFFER_MESA as the target, using EGL_WIDTH, EGL_HEIGHT, - EGL_DRM_BUFFER_FORMAT_MESA, EGL_DRM_BUFFER_STRIDE_MESA - in the attrib list. - -Issues - - 1. Why don't we use eglCreateImageKHR with a target that - indicates that we want to create an EGLImage from scratch? - - RESOLVED: The eglCreateImageKHR entry point is reserved for - creating an EGLImage from an already existing client API - resource. This is fine when we're creating the EGLImage from - an existing DRM buffer name, it doesn't seem right to overload - the function to also allocate the underlying resource. - - 2. Why don't we use an eglQueryImageMESA type functions for - querying the DRM EGLImage attributes (name, handle, and stride)? - - RESOLVED: The eglQueryImage function has been proposed often, - but it goes against the EGLImage design. EGLImages are opaque - handles to a 2D array of pixels, which can be passed between - client APIs. By referenceing an EGLImage in a client API, the - EGLImage target (a texture, a renderbuffer or such) can be - used to query the attributes of the EGLImage. We don't have a - full client API for creating and querying DRM buffers, though, - so we use a new EGL extension entry point instead. - -Revision History - - Version 1, June 3, 2010 - Initial draft (Kristian Høgsberg) - Version 2, August 25, 2010 - Flesh out the extension a bit, add final EGL tokens, capture - some of the original discussion in the issues section. +Name + + MESA_drm_image + +Name Strings + + EGL_MESA_drm_image + +Contact + + Kristian Høgsberg + +Status + + Proposal + +Version + + Version 2, August 25, 2010 + +Number + + EGL Extension #not assigned + +Dependencies + + Reguires EGL 1.4 or later. This extension is written against the + wording of the EGL 1.4 specification. + + EGL_KHR_base_image is required. + +Overview + + This extension provides entry points for integrating EGLImage with the + Linux DRM mode setting and memory management drivers. The extension + lets applications create EGLImages without a client API resource and + lets the application get the DRM buffer handles. + +IP Status + + Open-source; freely implementable. + +New Procedures and Functions + + EGLImageKHR eglCreateDRMImageMESA(EGLDisplay dpy, + const EGLint *attrib_list); + + EGLBoolean eglExportDRMImageMESA(EGLDisplay dpy, + EGLImageKHR image, + EGLint *name, + EGLint *handle, + EGLint *stride); + +New Tokens + + Accepted in the parameter of eglCreateDRMImageMESA: + + EGL_DRM_BUFFER_FORMAT_MESA 0x31D0 + EGL_DRM_BUFFER_USE_MESA 0x31D1 + + Accepted as values for the EGL_IMAGE_FORMAT_MESA attribute: + + EGL_DRM_BUFFER_FORMAT_ARGB32_MESA 0x31D2 + + Bits accepted in EGL_DRM_BUFFER_USE_MESA: + + EGL_DRM_BUFFER_USE_SCANOUT_MESA 0x0001 + EGL_DRM_BUFFER_USE_SHARE_MESA 0x0002 + + Accepted in the parameter of eglCreateImageKHR: + + EGL_DRM_BUFFER_MESA 0x31D3 + + Use when importing drm buffer: + + EGL_DRM_BUFFER_STRIDE_MESA 0x31D4 + EGL_DRM_BUFFER_FORMAT_MESA 0x31D0 + +Additions to the EGL 1.4 Specification: + + To create a DRM EGLImage, call + + EGLImageKHR eglCreateDRMImageMESA(EGLDisplay dpy, + const EGLint *attrib_list); + + In the attribute list, pass EGL_WIDTH, EGL_HEIGHT and format and + use in the attrib list using EGL_DRM_BUFFER_FORMAT_MESA and + EGL_DRM_BUFFER_USE_MESA. The only format specified by this + extension is EGL_DRM_BUFFER_FORMAT_ARGB32_MESA, where each pixel + is a CPU-endian, 32-bit quantity, with alpha in the upper 8 bits, + then red, then green, then blue. The bit values accepted by + EGL_DRM_BUFFER_USE_MESA are EGL_DRM_BUFFER_USE_SCANOUT_MESA and + EGL_DRM_BUFFER_USE_SHARE_MESA. EGL_DRM_BUFFER_USE_SCANOUT_MESA + requests that the created EGLImage should be usable as a scanout + buffer with the DRM kernel modesetting API. The + EGL_DRM_BUFFER_USE_SHARE_MESA bit requests that the EGLImage can + be shared with other processes by passing the underlying DRM + buffer name. + + To create a process local handle or a global DRM name for a + buffer, call + + EGLBoolean eglExportDRMImageMESA(EGLDisplay dpy, + EGLImageKHR image, + EGLint *name, + EGLint *handle, + EGLint *stride); + + If is non-NULL, a global name is assigned to the image and + written to , the handle (local to the DRM file descriptor, + for use with DRM kernel modesetting API) is written to if + non-NULL and the stride (in bytes) is written to , if + non-NULL. + + Import a shared buffer by calling eglCreateImageKHR with + EGL_DRM_BUFFER_MESA as the target, using EGL_WIDTH, EGL_HEIGHT, + EGL_DRM_BUFFER_FORMAT_MESA, EGL_DRM_BUFFER_STRIDE_MESA + in the attrib list. + +Issues + + 1. Why don't we use eglCreateImageKHR with a target that + indicates that we want to create an EGLImage from scratch? + + RESOLVED: The eglCreateImageKHR entry point is reserved for + creating an EGLImage from an already existing client API + resource. This is fine when we're creating the EGLImage from + an existing DRM buffer name, it doesn't seem right to overload + the function to also allocate the underlying resource. + + 2. Why don't we use an eglQueryImageMESA type functions for + querying the DRM EGLImage attributes (name, handle, and stride)? + + RESOLVED: The eglQueryImage function has been proposed often, + but it goes against the EGLImage design. EGLImages are opaque + handles to a 2D array of pixels, which can be passed between + client APIs. By referenceing an EGLImage in a client API, the + EGLImage target (a texture, a renderbuffer or such) can be + used to query the attributes of the EGLImage. We don't have a + full client API for creating and querying DRM buffers, though, + so we use a new EGL extension entry point instead. + +Revision History + + Version 1, June 3, 2010 + Initial draft (Kristian Høgsberg) + Version 2, August 25, 2010 + Flesh out the extension a bit, add final EGL tokens, capture + some of the original discussion in the issues section. diff --git a/mesalib/docs/VERSIONS b/mesalib/docs/VERSIONS new file mode 100644 index 000000000..f72679fbe --- /dev/null +++ b/mesalib/docs/VERSIONS @@ -0,0 +1,1514 @@ + + +Mesa Version History +==================== + +1.0 beta February 1995 + Initial release + +1.1 beta March 4, 1995 + Changes: + faster point and line drawing (2x faster) + more systems supported, better Makefiles + Renamed lib*.a files to avoid collisions + many small bug fixes + New: + pseudo-GLX functions added + new implementation of evaluators (eval2.c) + GLUT support + +1.1.1 beta March 7, 1995 + Changes: + Reverted from eval2.c to eval.c due to FPE on Linux + more speed improvements + more Makefile changes + +1.1.2 beta March 14, 1995 + New: + implementation of SGI's blending extensions + glXUseXFont implemented + added MESA_DEBUG environment variable support + Changes: + Using eval2.c again + more FPE-prevention checks (0-length normals are OK) + a few small bug fixes + much faster pixel logic ops! + faster transformation arithmetic + +1.1.3 beta March 31, 1995 + New: + gluScaleImage() and gluBuild2DMipMaps() implemented + Mesa widgets for Xt/Motif + blendEXT demos + added environment variables for selecting visuals + Changes: + almost all GLUT demos work correctly now + faster X device driver functions + more bug fixes + +1.1.4 beta April 20, 1995 + Bug fixes: + - missing #define SEEK_SET in src-tk/image.c + - compile glShadeModel into display lists + - fixed pow() domain error in src/light.c + - fixed "flickering bitmaps" in double buffer mode + - fixed tk.h and aux.h for C++ + - state of LIGHT_MODEL_LOCAL_VIEWER was inverted + New features: + - MUCH, MUCH nicer dithering in 8-bit RGB mode + - updated widgets and widget demos + - Implemented GLXPixmap functions + - Added GLU 1.1 and GLX 1.1 functions + - Changed the X/Mesa interface API, more versatile + - Implemented gluPartialDisk() + +1.2 May 22, 1995 + Bug fixes: + - IRIX 4.x makefile problem + - modified tk to share root colormap as needed + - gluLookAt normalization problem + - suppress Expose, NoExpose events in swapbuffers + - glBitmap() and glDrawPixels() clipping + New features: + - GL_BLEND, GL_MODULATE, GL_DECAL, and GL_REPLACE_EXT texture + modes implemented + - texture maps stored more efficiently + - texture maps can be compiled into display lists + - Bogdan Sikorski's GLU polygon tesselation code + - Linas Vepstas's sweep and extrusion library + - glXCreateContext()'s shareList parameter works as it's supposed to. + XMesaCreateContext() updated to accept a shareList parameter too. + - Mesa can be compiled with real OpenGL .h files + - MESA_BACK_BUFFER environment variable + - better GLX error checking + +1.2.1 June 22, 1995 + Bug fixes: + - X/Mesa double buffer window resize crash + - widgets now pass PointerMotion events + - X/Mesa incorrect default clear color and drawing color + - more robust X MIT-SHM support in X/Mesa + - glTexImage( format=GL_LUMINANCE ) didn't work + - GL_LINE mode polygons with line width > 1.0 could cause a crash + - numerous feedback bugs + - glReadPixels() from depth buffer was wrong + - error prone depth and stencil buffer allocation + New features: + - Preliminary Microsoft Windows driver + - Implemented a number of missing functions: glEvalCoord[12][df]v(), + glGet...(), etc. + - Added a few missing symbols to gl.h and glu.h + - Faster rendering of smooth-shaded, RGBA, depth-buffered polygons. + - Faster rendering of lines when width=2.0 + - Stencil-related functions now work in display lists + Changes: + - renamed aux.h as glaux.h (MS-DOS names can't start with aux) + - most filenames are in 8.3 format to accomodate MS-DOS + - use GLubytes to store arrays of colors instead of GLints + +1.2.2 August 2, 1995 + New features: + - texture mapped points and lines + - NURBS! (but not 100% complete) + - viewports may safely extend beyond window boundaries + - MESA_PRIVATE_CMAP environment variable + - Grayscale X display support + - two new demos: demos/gears.c and demos/shadow.c + - MachTen for Macintosh configuration + Bug fixes: + - glGet*(GL_DEPTH_BITS) returned bytes, not bits + - point, line, and bitmap rasterization suffered from roundoff errors + - fixed a division by zero error in line clippping + - occasional wrong default background color really fixed! + - glDepthFunc(GL_ALWAYS) with glDepthMask(GL_FALSE) didn't work + - gluBuild2DMipmaps malloc problem fixed + - view volume clipping of smooth shaded lines resulted in bad colors + Changes: + - new visual selection method in glXChooseVisual() + - improved GLU quadric functions + - call XSync for glFinish and XFlush for glFlush + - glVertex() calls now use a function pointer to avoid conditionals + - removed contrib directory from Mesa tar file (available on ftp site) + - AIX shared library support + - Removed GLUenum type as it's not in OpenGL + +1.2.3 September 26, 1995 + New features: + - Mesa header files now equivalent to SGI OpenGL headers + - Support for HP's Color Recovery dithering displays + - Faster vertex transformation + - Faster raster operations into X windows under certain conditions + - New configurations: HP w/ shared libs, Ultrix w/ GCC, Data General + - 4-bit visuals now supported + Bug fixes: + - glScissor bug fixed + - round-off errors in clipping lines against clip planes fixed + - byte swapping between hosts and display servers implemented + - glGetError() can be called without a current rendering context + - problem with accidentally culled polygons is fixed + - fixed some widget compilation problems + +1.2.4 November 17, 1995 + New features: + - More speed improvements (lighting, fogging, polygon drawing) + - Window system and OS-independent off-screen rendering + - Preliminary Fortran bindings + - glPolygonOffsetEXT implemented + - glColorMask and glIndexMask now fully implemented + - glPixelZoom implemented + - display lists fully implemented + - gamma correction + - dithering in 8-bit TrueColor/DirectColor visuals + Changes: + - Improved device driver interface + - tk.h renamed to gltk.h to avoid conflicts with Tcl's Tk + - Dithering support moved from core into device driver + Bug fixes: + - glEnable/Disable( GL_LIGHTING ) didn't always take effect + - glReadPixels byte swapping was broken + - glMaterial with pname==GL_AMBIENT_AND_DIFFUSE was broken + - duplicate glColor4b() prototype in GL/gl.h removed + - stripes in wave -ci demo fixed + - GL_LINEAR_MIPMAP_NEAREST had wrong value + - bugs in HP Color Recovery support fixed + - fixed bug when blending lines, points, bitmaps outside of window + +1.2.5 November 30, 1995 + New Features: + - updated MS Windows driver + - new implementation of StaticGray/GrayScale visual support + Bug fixes: + - pixelzooming with gamma correction or blending didn't work + - HP color recovery visual wasn't being picked by glXChooseVisual + - glClear didn't always observe glColorMask changes + - olympic and offset demos didn't compile on some Suns + - texcoord clamping wasn't correct + - a polygon optimization introduced an occasional sampling problem + +1.2.6 January 26, 1996 + New Features: + - faster line and polygon rendering under certain conditions. See + Performance Tips 9 and 10 in README + - profiling + - lighting is a bit faster + - better perspective corrected texture mapping + - Amiga AmiWin (X11) support + - preliminary Linux SVGA driver + Changes: + - now using a 16-bit depth buffer, faster, smaller + - GL_NORMALIZE is disabled by default + Bug fixes: + - projective texture mapping + - fixed a memory leak in the context destroy function + - GL_POLYGON with less than 3 vertices caused a crash + - glGet*() returned wrong result for GL_INDEX_MODE + - reading pixels from an unmapped X window caused a BadMatch error + +1.2.7 March 5, 1996 + New: + - faster lighting + - faster 16-bit TrueColor rendering on Linux + - faster 32-bit TrueColor rendering on Linux, HP, IBM + - non-depth-buffered XImage polygons are faster + - vertex array extension + - software alpha planes + - updated Macintosh driver + - new NeXT driver + - GLU quadric functions generate texture coordinates + - reflect.c demo - reflective, textured surface demo + Changes: + - gamma correction code moved into the X driver for better performance + Bug fixes: + - multiple glClipPlane()'s didn't work reliably + - glPolygonMode() didn't always work + - glCullFace( GL_FRONT_AND_BACK ) didn't work + - texture mapping with gamma correction was buggy + - floating point exceptions in texture coordinate interpolation + - XImage byte swapping didn't always work + - polygon edge flags weren't always used correctly + +1.2.8 May 22, 1996 + New: + - overlay planes on X servers with the SERVER_OVERLAY_VISUALS property + - better monochrome output + - more IRIX 6.x configurations + - more robust RGB mode color allocation + - added MESA_XSYNC environment variable + - GLX_MESA_pixmap_colormap and GLX_EXT_visual_info extensions + - GL_MESA_window_pos extension + - faster glReadPixels/glDrawPixels for GL_DEPTH and GL_UNSIGNED_SHORT + and GL_UNSIGNED_INT + - driver for prototype Cirrus Mondello 3-D board + - updated AmigaDOS driver + - a few small speed optimizations in polygon rendering + Changes: + - internal device driver interface modified to simplify device + driver implementations and to support hardware Z buffers + - several changes to the X/Mesa interface (xmesa.h) + Bug fixes: + - fixed pow(0,0) domain error triggered on some systems + - glStencilClear() in a display list caused an infinite loop + - glRasterPos*() was sometimes off by +/-0.5 in X and Y + - color masking and blending were performed in wrong order + - auxSolidCylinder() sometimes drew a wire-frame cylinder + - fixed file writing bug in osdemo.c + - pixel mapping didn't always work + - the GL_GEQUAL stencil func didn't work + - the GL_INVERT stencil op didn't work + - the stencil write mask didn't work + - glPush/PopAttrib() didn't do enough error checking + - glIsList() didn't always work correctly + +2.0 October 10, 1996 + New: + - Implements OpenGL 1.1 API functions + - all texture filtering modes supported (mipmapping) + - faster texture mapping, see Performance Tip 11 in README + - antialiased RGB points + - X support for line and polygon stippling + - glDrawBuffer( GL_FRONT_AND_BACK ) works + - util/ directory of useful stuff + - demos/texobj demo of texture objects + Changes: + - major internal changes for thread-safeness + - new device driver interface + - MESA_ALPHA env variable removed + - triangle rasterizer replaces polygon rasterizer + Bug fixes: + - glPopAttrib() bug + - glDrawBuffer(GL_NONE) works now + +2.1 December 14, 1996 + New: + - VMS support + - MS-DOS driver + - OpenStep support + - updated, combined Windows 95/NT driver + - implemented glGetLighti() and glGetTexGen*() + - GLX does garbage collection of ancillary buffers + Bug fixes: + - removed unused _EXT constants from gl.h + - fixed polygon offset bugs + - Z coordinates of clipped lines were incorrect + - glEdgeFlag() in display lists didn't always work + - glLight*() in display lists didn't work + - fixed X line stipple bugs (Michael Pichler) + - glXUseXfonts XFreeFont/XFreeFontInfo bug fixed + - fixed a feedback bug + - glTexGen*() now transforms GL_EYE_PLANE by inverse modelview matrix + - polygons were sometimes culled instead of clipped + - triangle rasterizer suffered from float/int overflow exceptions + - fixed FP underflow exception in lighting (specular exponent) + - glEnable/glDisable of GL_EXT_vertex_array enums didn't work + - fixed free(NULL) in GLU tesselator code + - using 24-bit color on some X servers resulted in garbage rendering + - 32-bit per pixel mode for XFree86 now works + - glRotate(a,0,0,0) gave unpredictable results + - GL_LINE_STRIP with > 480 vertices had occasional clipping problems + - 8-bit TrueColor GLXPixmap rendering incorrectly required a colormap + - glMaterial() wasn't ignored when GL_COLOR_MATERIAL was enabled + - glEnable(GL_COLOR_MATERIAL) followed by glColor() didn't work right + - accumulation buffer was limited to positive values + - projective textures didn't work + - selection buffer overflows weren't handled correctly + Changes: + - restored the GL_EXT_polygon_offset extension + - slightly faster RGB dithering + - the SVGA driver works again + - Amiga driver now distributed separately + - NeXT driver updated for Mesa 2.x + +2.2 March 14, 1997 + New: + - better color selection when dithering + - added GL_EXT_texture_object extension + - updated MS-DOS driver for DJGPP + - added openbsd make configuration + - faster dithered flat-shaded triangles + - various compilation problems with Motif widgets fixed + - gl.h, glx.h and glu.h name mangling option + - BeOS driver + - 3D texture mapping extension + - GL_MESA_resize_buffers extension + - morph3d, stex3d and spectex demos + - 3Dfx support + Bug fixes: + - glColorMaterial should finally work right in all respects + - linear interpolation of mipmap levels was incorrectly weighted + - readpix.c didn't compile on Macintosh + - GL_INVERT and related logic ops didn't work right + - glTexImage[12]D() didn't check its parameters consistantly + - fixed a memory leak in glTexImage[12]D() + - kludged around a SunOS 5.x/GCC compiler bug in the feedback code + - glReadPixels aborted instead of normally catching some errors + - a few 1.1 constants were missing or misnamed in gl.h + - glBegin(p); glBegin(q); didn't generate an error + - fixed a memory leak in GLX code + - clipping of concave polygons could cause a core dump + - 1-component alpha texture maps didn't work + - fixed a GLU polygon tesselator bug + - polygons with colinear vertices were sometimes culled + - feedback triangle colors were wrong when using smooth shading + - textures with borders didn't work correctly + - colors returned in feedback mode were wrong when using lighting + - spotlights didn't effect ambient lighting correctly + - gluPartialDisk() had a few bugs + Changes: + - device driver interface expanded to support texture mapping + - faster matrix inversion subroutine + - commented out #include "wmesa_extend.h" from src/wmesa.c + - fixed many compiler warnings in the demo programs + +2.3 June 30, 1997 + New: + - Mesa distribution divided into two pieces: library code and demos + - faster vertex transformation, clip testing, lighting + - faster line drawing + - TrueColor visuals how have dithering (for depths < 24 bits) + - added MESA_NO_DITHER environment variable + - new device driver function: NearFar(), RenderVB(), RasterSetup() + - added LynxOS configuration + - added cygnus Win32 configuration + - added texcyl.c GLUT demo + - added XMesaDitherColor() to X/Mesa interface + - new NURBS code from Bogdan Sikorski + - added demos/shape.c (non-rectangular X window!) + Bug fixes: + - glEnable/DisableClientState() were missing from GL/gl.h + - GL_SPHERE_MAP texcoord generation didn't work correctly + - glXGetConfig() returned wrong number of depth, stencil, accum bits + - glDrawPixels feedback/selection didn't examine RasterPos valid bit + - black and white were reversed on some monochrome displays + - fixed potential image memory leak (wasn't setting reference counter) + - glDrawPixels sometimes didn't recognize some GL state changes + - gluProject/UnProject() didn't check for divide by zero + - stex3d demo called random() and srandom(), not portable + - fixed memory leaks in context.c and drawpix.c + - fixed NULL dereferencing problem in gl_update_texture_state() + - glReadPixels between glBegin/glEnd didn't generate an error. + - fixed memory leak in polygon tesselator (Randy Frank) + - fixed seg fault bug drawing flat-shaded, depth-tested lines + - clipped GL_TRIANGLE_STRIPs sometimes had wrong color when flat-shaded + - glBindTexture sometimes didn't work + - fixed a bug deep in glXReleaseBuffersMESA() + - fog was mistakenly applied to alpha + - glPopMatrix didn't set "dirty matrix" flag + - glPolygonStipple pattern was sometimes wrong + - glClear wasn't disabled during feedback and selection + - fixed memory leak in glTexSubImage[123]D + Changes: + - many library source files reorganized + - faster X color allocation, colors also freed when finished with them + - new texture sampling function pointer in texture objects + - incorporated 3Dfx VooDoo driver v0.16 into main source tree + - many 3Dfx driver updates + - cygnus Makefiles now included + - updated DOS driver + - made a few changes to dosmesa.c and wmesa.c (VB->Unclipped) + - internally, colors now stored in GLubytes, not GLfixed + - optimized changing of GL_SHININESS parameter + +2.4 September 18, 1997 + New: + - updated 3Dfx Glide driver + - hacks for 3Dfx rendering into an X window or fullscreen + - added depth buffer access functions to X/Mesa and OS/Mesa interfaces + Bug fixes: + - pixel buffer could overflow with long, wide lines + - fixed FP underflow problems in lighting + - glTexSubImage1D() had an unitialized variable + - incomplete texture objects could cause a segfault + - glDrawPixels with GL_COMPILE_AND_EXECUTE caused infinite loop + - flat-shaded quads in a strip were miscolored if clipped + - mipmapped triangle lod computation now works correctly + - fixed a few under/overflow bugs in triangle rasterizer + - glArrayElement() assigned bad normal if normal array disabled + - changed argument to glXReleaseBuffersMESA() + - fixed small triangle underflow bugs in tritemp.h (hopefully) + - glBindTexture(target, 0) caused a crash + - glTexImage[123]D() with NULL image pointer caused crash + - glPixelStore parameters are now ignored during display list execution + - fixed a two-sided lighting w/ clipping bug (black vertices) + - textures with width!=height were sometimes mis-rendered + - "weird" projection matrices could cause div by 0, other fp errors + Changes: + - changed precompiled header symbol from PCH to PC_HEADER + - split api.c into api1.c and api2.c + - added hash.c source file (but not used yet) + - a few Sun and HP configuration file changes + - MESA_GLX_FX env var replaces MESA_FX_WINDOW and MESA_FX_FULLSCREEN + - fixed a few cygnus build problems (src/Makefile.cygnus, src/wmesa.c) + +2.5 November 20, 1997 + New: + - updated 3Dfx driver (v20) for GLQuake + - added GL_EXT_paletted_texture extension + - added GL_EXT_shared_texture_palette extension + - added GL_EXT_point_parameters extension + - now including Mark Kilgard's GLUT library v3.6 + - new GLUT-based demos in gdemos/ + - added a few more Unix config targets + - added Intel X86 assembly language vertex transformation code + - 3Dfx/Glide driver for Mesa now recognizes SST_SCREENREFRESH env var + - Windows 95 S3 Virge driver + Bug fixes: + - glCopyTexImage?D would crash due to uninitialized variable + - glColor w/ glColorMaterial in a display list caused a bug + - fixed several glDrawPixels() and ReadPixels() bugs in 3Dfx driver + - glVertex4*() vertices weren't always projected correctly + - trying to use mipmapped textured points or lines caused crash + - glColor[34][fd]() values now clamped to [0,1] before int conversion + Changes: + - new device driver functions for texture mapping + - hash tables used for display list and texture object lookup + - fixed GLX visual handling code to avoid saving redundant visuals + - 3Dfx Glide libraries automatically linked to libMesaGL.so + - dropped the Cirrus Logic Mondello code since it's obsolete + - updated Cygnus Makefiles (Stephane Rehel) + - updated Windows MSVC++ Makefiles (Oleg Letsinsky) + - procedure for making library files has changed: scripts now take + a major and minor version arguments. Make-config changed a lot. + - new implementation of glTexSubImage2D() + - updated widgets-mesa directory to create libMesaGLwM.a (Motif widget) + - separate linux-glide and linux-386-glide configurations + +2.6 February 12, 1998 + New: + - Windows WGL functions + - updated VMS, DOS, Windows, Cygnus, BeOS, Amiga compilation support + - v0.22 of 3Dfx Glide driver + - more X86 assembly language optimizations + - faster blending for some modes + - XMesaSetFXmode() to switch between 3Dfx window and full-screen mode + - added preliminary thread support + - added GLX_MESA_copy_sub_buffer extension + - some clipping optimizations + Bug fixes: + - fixed shading/material bug when drawing long primitive strips + - fixed clipping problem in long primitive strips + - fixed clipping bug when using 3Dfx driver + - fixed a problem when trying to use X fonts w/ 3Dfx driver + - fixed a texture filter bug in 3Dfx/Glide driver + - fixed bug in 3Dfx/Glide driver involving depth mask & clearing + - glLoadMatrix to set projection matrix confused the 3Dfx driver + - non-identity texture matrices didn't work with linux-386 configs + - glGenTextures() didn't reserve the returned texture IDs + - NULL proxy image sent to glTexImageXD() caused crash + - added texture state validation optimization (Henk Kok) + - fixed colormap reuse problem when using both RGB and CI windows + - 32bpp True/DirectColor X visuals weren't recognized + - fixed potential problem in evaluators memory allocation + - fixed assorted demo compilation bugs + Changes: + - replaced old Mesa/windows/ directory with Mesa/WIN32/ directory + - converted a few old glaux/gltk demos to GLUT + - renamed directories: demos -> xdemos, gdemos -> demos + + +3.0 September 17, 1998 + New: + - OpenGL 1.2 API + - GL_EXT_abgr pixel format extension + - GL_SGIS_texture_edge_clamp extension + - GL_SGIS_multitexture extension (to be replaced by GL_ARB_multitex) + - GL_EXT_multitexture extension (to be replaced by GL_ARB_multitex) + - GL_EXT_rescale_normal extension and renormal.c demo + - GLX_SGI_video_sync extension (a no-op) + - antialiased lines + - glGetTexImage() now implemented + - glDraw/Copy/ReadPixels() optimizations + - optimized textured triangle code (Marten Stromberg) + - more optimization of dithered TrueColor triangles in X driver + - Linux GGI driver + - updated MGL driver + Bug fixes: + - lots of assorted compilation fixes + - glInitNames didn't write initial hit record + - glBitmap didn't always check for invalid raster position + - switching between GLX and OSMesa contexts caused a crash + - fixed uninitialized variable in Mesa widget code + - fixed typo in texture code which caused book/texgen to crash + - fixed texture sampling bug when filter=GL_LINEAR and wrap=GL_CLAMP + - gluDisk() in POINT or LINE mode sometimes failed + - fixed texture + fog bug + - GL_COMPILE_AND_EXECUTE mode didn't work reliably + - glMultMatrix in projection matrix mode w/ 3Dfx driver could fail + - glDrawPixels(color index pixels) weren't converted to RGBA + - fixed possible getenv() buffer overflow security bug + - glBitmap in feedback mode was offset by xOrig, yOrig params + - device driver's DrawPixels hook was never used + - glDrawPixels with zoomY!=1 and top/bottom clipping didn't work + - glDrawPixels optimized for GL_LUMINANCE, GL_LUMINANCE_ALPHA, GLubyte + - fixed MakeCurrent bug in GLwRedrawObjects() in MesaWorkstation.c + - glCopyTexSubImage2D() didn't work with 3Dfx driver + - lines with width = 2 could cause crash + - glClear with scissor rect sometimes cleared whole buffer + - glTexSubImage2D( .. GL_COLOR_INDEX .. ) didn't work + - glTexImageXD( .. GL_ABGR_EXT .. ) didn't work + - computation of inverse modelview matrix sometimes failed + - fixed GL_CLAMP mode texture sampling bug + - textured line interpolation was somewhat broken + - textured triangle interpolation was also somewhat broken + - glGet(MODELVIEW/PROJECTION/TEXTURE_MATRIX_STACK_DEPTH) off by one + - evaluator state wasn't fully initialized + - texture coordinate clipping was buggy + - evaluator surfaces could be mis-colored + - glAccum(GL_RETURN, s) didn't obey glColorMask() settings + - zero area polygons shouldn't be culled if polygon mode is point/line + - clipped width and height of glReadPixels was sometimes off by one + - blending with alpha = 0 or 1.0 wasn't always exact + - reading of pixels from clipped region was buggy + - minor tweaking of X visual management in GLX emulator + - glPolygonStipple now obeys pixel unpacking parameters + - glGetPolygonStipple now obeys pixel packing parameters + - interleaved vertex array texture coordinates were broken + - query of proxy texture internal format was broken + - alpha channel wasn't reliably cleared + - fixed divide by zero error in gluScaleImage if dest size = 1 x 1 + Conformance bug fixes: + - GL_SELECTION_BUFFER_POINTER and GL_SELECTION_BUFFER_SIZE were missing + - GL_TEXTURE_INTERNAL_FORMAT was missing + - glGet*(GL_POLYGON_STIPPLE) was broken + - glPush/PopAttrib() didn't save/restore all texture state + - glBitmap in feedback mode didn't work + - feedback of texture coords didn't always work + - glDrawPixels w/ format=GL_DEPTH_COMPONENT, type=GLbyte was broke + - glDrawPixels w/ format=GL_DEPTH_COMPONENT, type=GLubyte was broke + - glDrawPixels w/ format=GL_STENCIL_INDEX, type=GL_BITMAP was broke + Changes: + - upgraded GLUT to version 3.7 + - only GL and GLU library code included in MesaLib.tar.gz + - GLUT and all demos now in MesaDemos.tar.gz + - glaux and gltk libraries removed + - IRIX -n32 and -64 libs go in lib32/ and lib64/ directories + + +3.1 beta 1 November 19, 1998 + New: + - GL_EXT_stencil_wrap extension + - GL_INGR_blend_func_separate extension + - GL_ARB_multitexture extension + - GL_NV_texgen_reflection extension + - newly optimized vertex transformation code + - updated GLUT 3.7 code + - better precision when using 32-bit Z buffer + - Allegro DJGPP driver + Bug fixes: + - glCopyPixels between front/back buffers didn't copy alpha correctly + - fixed out-of-bounds memory access in optimized 2-D texture code + - glPixelStorei didn't accept GL_PACK/UNPACK_IMAGE_HEIGHT parameter + - glGet*() didn't accept GL_MAX_3D_TEXTURE_SIZE parameter + - clipping of texture coordinates sometimes had bad R,Q values + - GL_CLAMP_TO_EDGE texture sampling was off by 0.5 texels + - glEdgeFlagPointer() now takes a GLvoid * instead of GLboolean * + - texture was sometimes applied twice with 3Dfx driver + - glPush/PopAttrib() fouled up texture object reference counts + - glDeleteLists(0, n) caused assertion failure + - bilinear texture sampling wasn't accurate enough + - glClear w/ glDepthMask(GL_FALSE) didn't work right on 3Dfx + - color components were reversed on big endian 32 bpp X visuals + Changes: + - removed GL_EXT_multitexture extension + + +3.1 beta 2 May 24, 1999 + New: + - multi-textured points and lines (mjk@nvidia.com) + - optimized 24bpp X rendering (bernd.paysan@gmx.de) + - added allegro support (bernie-t@geocities.com) + - cleaned-up Windows-related stuff (Ted Jump) + - minor stereo changes (KendallB@scitechsoft.com) + - new BeOS driver which implements BGLView class + - new Direct3D driver (see src/D3D) + - more efficient filled gluCylinder() function + - utilities: util/showbuffer.[ch] and util/glstate.[ch] + - fixed some IRIX compiler warnings + - added support for building Mesa in XFree86 with + SGI's GLX (kevin@precisioninsight.com) + Bug fixes: + - a variety of Windows/Mesa bug fixes (mjk@nvidia.com) + - packed pixel images weren't unpacked correctly + - patches some win32 files in GLUT (mjk@nvidia.com) + - glTexImage[123]D() didn't accept internalFormat == GL_COLOR_INDEX + - fixed lighting bug in Keith's new shading code + - fixed texture segfault seen in Lament screensaver + - fixed miscellaneous low-memory bugs + - glClear(GL_COLOR_BUFFER_BIT) with RGBA or CI masking was broken + - GL_LINEAR sampling of 3D textures was broken + - fixed SVR4 'cc' compiler macro problem (dawes@xfree86.org) + - added GL_TEXTURE_PRIORITY fix (keithh@netcomuk.co.uk) + - fixed wide point and wide line conformance bugs (brianp) + Changes: + - some device driver changes (see src/dd.h) + - new copyright on core Mesa code + + +3.1 beta 3 September 17, 1999 + New: + - optimized glAccum function + - optimized 24bpp rendering in XMesa driver + - GLU 1.2 polygon tessellator + Bug Fixes: + - glGetTexLevelParameter wasn't fully implemented + - glXUseXFont now handles multi-byte fonts + - glIsEnabled(GL_TEXTURE_2D / 3D) returned wrong result + - alpha channel of blending points, lines was sometimes incorrect + Changes: + - New library names: "libGL" instead of "libMesaGL" + - New library numbering: libGL.so.1.2.310 + - New subdirectories: docs/ and bin/ + - New Makefile-system (autoconf,automake,libtool) + + +3.1 final December 14, 1999 + New: + - added demos/gloss.c + - added xdemos/glxdpyinfo.c + - added GLX_ARB_get_proc_address extension + - rewritten glTexImage code paths (faster, less memory, bug fixes) + Bug Fixes: + - several vertex array bug fixes + - overlapping glCopyPixels with pixel zooming now works + - glXUseXFont() bitmaps were vertically shifted by one pixel + - glCopyPixels with pixel zooming now works + + +3.2 final April 24, 2000 + Bug fixes: + - fixed memcpy bugs in span.c + - fixed missing glEnd problem in demos/tessdemo.c + - fixed bug when clearing 24bpp Ximages + - fixed clipping problem found in Unreal Tournament + - fixed Loki's "ice bug" and "crazy triangles" seen in Heretic2 + - fixed Loki's 3dfx RGB vs BGR bug + - fixed Loki's 3dfx smooth/flat shading bug in SoF + Changes: + - updated docs/README file + - use bcopy() optimizations on FreeBSD + - re-enabled the optimized persp_textured_triangle() function + + +3.2.1 July 19, 2000 + Bug fixes: + - gluBuild2DMipmaps() didn't accept GL_BGRA + - Fixed compile/makefile problems on IRIX + - fixed segfault in 3dfx driver when using GL selection/feedback + - no longer cull very, very tiny triangles + - blending w/ drawbuffer==GL_FRONT_BACK caused segfault (sw rendering) + - fixed Motif detection code in widgets-mesa/configure.in + - glColorMaterial and glMaterial updates to emissive and ambient + didn't always work right + - Specular highlights weren't always in the right place + - clipped GL_LINE mode polygons had interior lines appear + - blend term GL_ONE_MINUS_CONSTANT_ALPHA was broken + - GL_NICEST fog didn't always work with flat shading + - glRect commands in display lists were sometimes miscolored + - Line Z offset didn't always work + - fixed texgen normal vector problem (gloss's teapot) + - numerous GL conformance bugs fixed + Changes: + - glColorMask(false, false, false, false) handled better/faster + - reverted to old GLU polygon tessellator, GLU 1.1 + - updated Win32 build files + + +3.3 July 21, 2000 + New: + - antialiased triangles now implemented + - GL_EXT_texture_env_add texture mode extension + - GLX 1.3 API + - support for separate draw/read buffers (ie GL_SGI_make_current_read) + - thread-safe API dispath + - improved glxinfo program + - demos/texdown program to measure texture download performance + - glext.h header file + - demos/geartrain program + - GL_EXT_texture_lod_bias extension + - demos/lodbias program + - further optimized glRead/DrawPixels for 16-bit TrueColor X visuals + - GLX_EXT_visual_rating extension (a no-op, however) + - GL_HP_occlusion_test extension (for X and OS/Mesa drivers) + - demos/occlude program + - GL_SGIS_pixel_texture and GL_SGIX_pixel_texture extensions + - demos/pixeltex program + - GL_SGI_color_matrix extension + - GL_SGI_color_table extension + - GL_EXT_histogram extension + - GL_ARB_texture_cube_map extension + - added xdemos/glxheads and xdemos/manywin + - demos/texenv.c demo + - GL_EXT_texture_env_combine extension (by Holger Waechtler) + - Xlib driver is now thread-safe (see xdemos/glthreads) + Bug Fixes: + - various GL conformance failures fixed since 3.2.1 + Changes: + - gl.h now uses #defines instead of C enums for all tokens + - glu.h now uses #defines instead of C enums for all tokens + - moved programs from 3Dfx/demos/ into demos/ directory + + +3.4 November 3, 2000 + New: + - optimized glDrawPixels for glPixelZoom(1,-1) + Bug Fixes: + - widgets-mesa/src/*.c files were missing from 3.3 distro + - include/GL/mesa_wgl.h file was missing from 3.3 distro + - fixed some Win32 compile problems + - texture object priorities weren't getting initialized to 1.0 + - glAreTexturesResident return value was wrong when using hardware + - glXUseXFont segfaulted when using 3dfx driver (via MESA_GLX_FX) + - glReadPixels with GLushort packed types was broken + - fixed a few bugs in the GL_EXT_texture_env_combine texture code + - glPush/PopAttrib(GL_ENABLE_BIT) mishandled multi-texture enables + - fixed some typos/bugs in the VB code + - glDrawPixels(GL_COLOR_INDEX) to RGB window didn't work + - optimized glDrawPixels paths weren't being used + - per-fragment fog calculation didn't work without a Z buffer + - improved blending accuracy, fixes Glean blendFunc test failures + - glPixelStore(GL_PACK/UNPACK_SKIP_IMAGES) wasn't handled correctly + - glXGetProcAddressARB() didn't always return the right address + - gluBuild[12]DMipmaps() didn't grok the GL_BGR pixel format + - texture matrix changes weren't always detected (GLUT projtex demo) + - fixed random color problem in vertex fog code + - fixed Glide-related bug that let Quake get a 24-bit Z buffer + Changes: + - finished internal support for compressed textures for DRI + + +3.4.1 February 14, 2001 + New: + - fixed some Linux build problems + - fixed some Windows build problems + - GL_EXT_texture_env_dot3 extension (Gareth Hughes) + Bug fixes: + - added RENDER_START/RENDER_FINISH macros for glCopyTexImage in DRI + - various state-update code changes needed for DRI bugs + - disabled pixel transfer ops in glColorTable commands, not needed + - fixed bugs in glCopyConvolutionFilter1D/2D, glGetConvolutionFilter + - updated sources and fixed compile problems in widgets-mesa/ + - GLX_PBUFFER enum value was wrong in glx.h + - fixed a glColorMaterial lighting bug + - fixed bad args to Read/WriteStencilSpan in h/w stencil clear function + - glXCopySubBufferMESA() Y position was off by one + - Error checking of glTexSubImage3D() was broken (bug 128775) + - glPopAttrib() didn't restore all derived Mesa state correctly + - Better glReadPixels accuracy for 16bpp color - fixes lots of OpenGL + conformance problems at 16bpp. + - clearing depth buffer with scissoring was broken, would segfault + - OSMesaGetDepthBuffer() returned bad bytesPerValue value + - fixed a line clipping bug (reported by Craig McDaniel) + - fixed RGB color over/underflow bug for very tiny triangles + Known problems: + - NURBS or evaluator surfaces inside display lists don't always work + + +3.4.2 May 17, 2001 + Bug fixes: + - deleting the currently bound texture could cause bad problems + - using fog could result in random vertex alpha values + - AA triangle rendering could touch pixels outside right window bound + - fixed byteswapping problem in clear_32bit_ximage() function + - fixed bugs in wglUseFontBitmapsA(), by Frank Warmerdam + - fixed memory leak in glXUseXFont() + - fragment sampling in AA triangle function was off by 1/2 pixel + - Windows: reading pixels from framebuffer didn't always work + - glConvolutionFilter2D could segfault or cause FP exception + - fixed segfaults in FX and X drivers when using tex unit 1 but not 0 + - GL_NAND logicop didn't work right in RGBA mode + - fixed a memory corruption bug in vertex buffer reset code + - clearing the softwara alpha buffer with scissoring was broken + - fixed a few color index mode fog bugs + - fixed some bad assertions in color index mode + - fixed FX line 'stipple' bug #420091 + - fixed stencil buffer clear width/height typo + - fixed GL error glitches in gl[Client]ActiveTextureARB() + - fixed Windows compilation problem in texutil.c + - fixed 1/8-pixel AA triangle sampling error + Changes: + - optimized writing mono-colored pixel spans to X pixmaps + - increased max viewport size to 2048 x 2048 + + +3.5 June 21, 2001 + New: + - internals of Mesa divided into modular pieces (Keith Whitwell) + - 100% OpenGL 1.2 conformance (passes all conformance tests) + - new AA line algorithm + - GL_EXT_convolution extension + - GL_ARB_imaging subset + - OSMesaCreateContextExt() function + - GL_ARB_texture_env_add extension (same as GL_EXT_texture_env_add) + - GL_MAX_TEXTURE_UNITS_ARB now defaults to eight + - GL_EXT_fog_coord extension (Keith Whitwell) + - GL_EXT_secondary_color extension (Keith Whitwell) + - GL_ARB_texture_env_add extension (same as GL_EXT_texture_env_add) + - GL_SGIX_depth_texture extension + - GL_SGIX_shadow and GL_SGIX_shadow_ambient extensions + - demos/shadowtex.c demo of GL_SGIX_depth_texture and GL_SGIX_shadow + - GL_ARB_texture_env_combine extension + - GL_ARB_texture_env_dot3 extension + - GL_ARB_texture_border_clamp (aka GL_SGIS_texture_border_clamp) + - OSMesaCreateContextExt() function + - libOSMesa.so library, contains the OSMesa driver interface + - GL/glxext.h header file for GLX extensions + - somewhat faster software texturing, fogging, depth testing + - all color-index conformance tests now pass (only 8bpp tested) + - SPARC assembly language TCL optimizations (David Miller) + - GL_SGIS_generate_mipmap extension + Bug Fixes: + - fbiRev and tmuRev were unitialized when using Glide3 + - fixed a few color index mode conformance failures; all pass now + - now appling antialiasing coverage to alpha after texturing + - colors weren't getting clamped to [0,1] before color table lookup + - fixed RISC alignment errors caused by COPY_4UBV macro + - drawing wide, flat-shaded lines could cause a segfault + - vertices now snapped to 1/16 pixel to fix rendering of tiny triangles + Changes: + - SGI's Sample Implementation (SI) 1.3 GLU library replaces Mesa GLU + - new libOSMesa.so library, contains the OSMesa driver interface + + +4.0 October 22, 2001 + New: + - Mesa 4.0 implements the OpenGL 1.3 specification + - GL_IBM_rasterpos_clip extension + - GL_EXT_texture_edge_clamp extension (aka GL_SGIS_texture_edge_clamp) + - GL_ARB_texture_mirrored_repeat extension + - WindML UGL driver (Stephane Raimbault) + - added OSMESA_MAX_WIDTH/HEIGHT queries + - attempted compiliation fixes for Solaris 5, 7 and 8 + - updated glext.h and glxext.h files + - updated Windows driver (Karl Schultz) + Bug fixes: + - added some missing GLX 1.3 tokens to include/GL/glx.h + - GL_COLOR_MATRIX changes weren't recognized by teximage functions + - glCopyPixels with scale and bias was broken + - glRasterPos with lighting could segfault + - glDeleteTextures could leave a dangling pointer + - Proxy textures for cube maps didn't work + - fixed a number of 16-bit color channel bugs + - fixed a few minor memory leaks + - GLX context sharing was broken in 3.5 + - fixed state-update bugs in glPopClientAttrib() + - fixed glDrawRangeElements() bug + - fixed a glPush/PopAttrib() bug related to texture binding + - flat-shaded, textured lines were broken + - fixed a dangling pointer problem in the XMesa code (Chris Burghart) + - lighting didn't always produce the correct alpha value + - fixed 3DNow! code to not read past end of arrays (Andrew Lewycky) + + +4.0.1 December 17, 2001 + New: + - better sub-pixel sample positions for AA triangles (Ray Tice) + - slightly faster blending for (GL_ZERO, GL_ONE) and (GL_ONE, GL_ZERO) + Bug fixes: + - added missing break statements in glGet*() for multisample cases + - fixed uninitialized hash table mutex bug (display lists / texobjs) + - fixed bad teximage error check conditional (bug 476846) + - fixed demos readtex.c compilation problem on Windows (Karl Schultz) + - added missing glGet() query for GL_MAX_TEXTURE_LOD_BIAS_EXT + - silence some compiler warnings (gcc 2.96) + - enable the #define GL_VERSION_1_3 in GL/gl.h + - added GL 1.3 and GLX 1.4 entries to gl_mangle.h and glx_mangle.h + - fixed glu.h typedef problem found with MSDev 6.0 + - build libGL.so with -Bsymbolic (fixes bug found with Chromium) + - added missing 'const' to glXGetContextIDEXT() in glxext.h + - fixed a few glXGetProcAddress() errors (texture compression, etc) + - fixed start index bug in compiled vertex arrays (Keith) + - fixed compilation problems in src/SPARC/glapi_sparc.S + - fixed triangle strip "parity" bug found in VTK medical1 demo (Keith) + - use glXGetProcAddressARB in GLUT to avoid extension linking problems + - provoking vertex of flat-shaded, color-index triangles was wrong + - fixed a few display list bugs (GLUT walker, molecule, etc) (Keith) + - glTexParameter didn't flush the vertex buffer (Ray Tice) + - feedback attributes for glDraw/CopyPixels and glBitmap were wrong + - fixed bug in normal length caching (ParaView lighting bug) + - fixed separate_specular color bug found in Chimera (18 Dec 2001) + + +4.0.2 April 2, 2002 + New: + - New DOS (DJGPP) driver written by Daniel Borca + - New driver interface functions for TCL drivers (such as Radeon DRI) + - GL_RENDERER string returns "Mesa Offscreen16" or "Mesa Offscreen32" + if using deep color channels + - latest GL/glext.h and GL/glxext.h headers from SGI + Bug fixes: + - GL_BLEND with non-black texture env color wasn't always correct + - GL_REPLACE with GL_RGB texture format wasn't always correct (alpha) + - glTexEnviv( pname != GL_TEXTURE_ENV_COLOR ) was broken + - glReadPixels was sometimes mistakenly clipped by the scissor box + - glDraw/ReadPixels didn't catch all the errors that they should have + - Fixed 24bpp rendering problem in Windows driver (Karl Schultz) + - 16-bit GLchan mode fixes (m_trans_tmp.h, s_triangle.c) + - Fixed 1-bit float->int conversion bug in glDrawPixels(GL_DEPTH_COMP) + - glColorMask as sometimes effecting glXSwapBuffers() + - fixed a potential bug in XMesaGarbageCollect() + - N threads rendering into one window didn't work reliably + - glCopyPixels didn't work for deep color channels + - improved 8 -> 16bit/channel texture image conversion (Gerk Huisma) + - glPopAttrib() didn't correctly restore user clip planes + - user clip planes failed for some perspective projections (Chromium) + Known bugs: + - mipmap LOD computation + + +4.0.3 June 25, 2002 + New: + - updated GL/glext.h file (version 15) + - corrected MMX blend code (Jose Fonseca) + - support for software-based alpha planes in Windows driver + - updated GGI driver (Filip Spacek) + Bug fixes: + - glext.h had wrong values for GL_DOT3_RGB[A]_EXT tokens + - OSMesaMakeCurrent() didn't recognize buffer size changes + - assorted conformance fixes for 16-bit/channel rendering + - texcombine alpha subtraction mode was broken + - fixed lighting bug with non-uniform scaling and display lists + - fixed bug when deleting shared display lists + - disabled SPARC cliptest assembly code (Mesa bug 544665) + - fixed a couple Solaris compilation/link problems + - blending clipped glDrawPixels didn't always work + - glGetTexImage() didn't accept packed pixel types + - glPixelMapu[is]v() could explode given too large of pixelmap + - glGetTexParameter[if]v() didn't accept GL_TEXTURE_MAX_ANISOTROPY_EXT + - glXCopyContext() could lead to segfaults + - glCullFace(GL_FRONT_AND_BACK) didn't work (bug 572665) + Changes: + - lots of C++ (g++) code clean-ups + - lots of T&L updates for the Radeon DRI driver + Known bugs: + - mipmap LOD computation (fixed for Mesa 4.1) + + +4.0.4 October 3, 2002 + New: + - GL_NV_texture_rectangle extension + - updated glext.h header (version 17) + - updated DOS driver (Daniel Borca) + - updated BeOS R5 driver (Philippe Houdoin) + - added GL_IBM_texture_mirror_repeat + - glxinfo now takes -l option to print interesting OpenGL limits info + - GL_MESA_ycbcr_texture extension + - GL_APPLE_client_storage extension (for some DRI drivers only) + - GL_MESA_pack_invert extension + Bug fixes: + - fixed GL_LINEAR fog bug by adding clamping + - fixed FP exceptions found using Alpha CPU + - 3dfx MESA_GLX_FX=window (render to window) didn't work + - fixed memory leak in wglCreateContest (Karl Schultz) + - define GLAPIENTRY and GLAPI if undefined in glu.h + - wglGetProcAddress didn't handle all API functions + - when testing for OpenGL 1.2 vs 1.3, check for GL_ARB_texture_cube_map + - removed GL_MAX_CONVOLUTION_WIDTH/HEIGHT from glGetInteger/Float/etc() + - error checking in compressed tex image functions had some glitches + - fixed AIX compile problem in src/config.c + - glGetTexImage was using pixel unpacking instead of packing params + - auto-mipmap generation for cube maps was incorrect + Changes: + - max texture units reduced to six to accomodate texture rectangles + - removed unfinished GL_MESA_sprite_point extension code + + +4.1 October 29, 2002 + New: + - GL_NV_vertex_program extension + - GL_NV_vertex_program1_1 extension + - GL_ARB_window_pos extension + - GL_ARB_depth_texture extension + - GL_ARB_shadow extension + - GL_ARB_shadow_ambient extension + - GL_EXT_shadow_funcs extension + - GL_ARB_point_parameters extension + - GL_ARB_texture_env_crossbar + - GL_NV_point_sprite extension + - GL_NV_texture_rectangle extension + - GL_EXT_multi_draw_arrays extension + - GL_EXT_stencil_two_side extension + - GLX_SGIX_fbconfig and GLX_SGIX_pbuffer extensions + - GL_ATI_texture_mirror_once extension (Ian Romanick) + - massive overhaul/simplification of software rasterizer module, + many contributions from Klaus Niederkrueger + - faster software texturing in some cases (i.e. trilinear filtering) + - new OSMesaGetProcAddress() function + - more blend modes implemented with MMX code (Jose Fonseca) + - added glutGetProcAddress() to GLUT + - added GLUT_FPS env var to compute frames/second in glutSwapBuffers() + - pbinfo and pbdemo PBuffer programs + - glxinfo -v prints transprent pixel info (Gerd Sussner) + Bug fixes: + - better mipmap LOD computation (prevents excessive blurriness) + - OSMesaMakeCurrent() didn't recognize buffer size changes + - assorted conformance fixes for 16-bit/channel rendering + - texcombine alpha subtraction mode was broken + - fixed some blend problems when GLchan==GLfloat (Gerk Huisma) + - clamp colors to [0,inf] in OSMesa if GLchan==GLfloat (Gerk Huisma) + - fixed divide by zero error in NURBS tessellator (Jon Perry) + - fixed GL_LINEAR fog bug by adding clamping + - fixed FP exceptions found using Alpha CPU + - 3dfx/glide driver render-to-window feature was broken + - added missing GLX_TRANSPARENT_RGB token to glx.h + - fixed error checking related to paletted textures + - fixed reference count error in glDeleteTextures (Randy Fayan) + Changes: + - New spec file and Python code to generate some GL dispatch files + - Glide driver defaults to "no" with autoconf/automake + - updated demos/stex3d with new options + + +5.0 November 13, 2002 + New: + - OpenGL 1.4 support (glGetString(GL_VERSION) returns "1.4") + - removed some overlooked debugging code + - glxinfo updated to support GLX_ARB_multisample + - GLUT now support GLX_ARB_multisample + - updated DOS driver (Daniel Borca) + Bug fixes: + - GL_POINT and GL_LINE-mode polygons didn't obey cull state + - fixed potential bug in _mesa_align_malloc/calloc() + - fixed missing triangle bug when running vertex programs + - fixed a few HPUX compilation problems + - FX (Glide) driver didn't compile + - setting GL_TEXTURE_BORDER_COLOR with glTexParameteriv() didn't work + - a few EXT functions, like glGenTexturesEXT, were no-ops + - a few OpenGL 1.4 functions like glFogCoord*, glBlendFuncSeparate, + glMultiDrawArrays and glMultiDrawElements were missing + - glGet*(GL_ACTIVE_STENCIL_FACE_EXT) was broken + - Pentium 4 Mobile was mistakenly identified as having 3DNow! + - fixed one-bit error in point/line fragment Z calculation + - fixed potential segfault in fakeglx code + - fixed color overflow problem in DOT3 texture env mode + + +5.0.1 March 30, 2003 + New: + - DOS driver updates from Daniel Borca + - updated GL/gl_mangle.h file (Bill Hoffman) + Bug fixes: + - auto mipmap generation for cube maps was broken (bug 641363) + - writing/clearing software alpha channels was unreliable + - minor compilation fixes for OS/2 (Evgeny Kotsuba) + - fixed some bad assertions found with shadowtex demo + - fixed error checking bug in glCopyTexSubImage2D (bug 659020) + - glRotate(angle, -x, 0, 0) was incorrect (bug 659677) + - fixed potential segfault in texture object validation (bug 659012) + - fixed some bogus code in _mesa_test_os_sse_exception_support (Linus) + - fix fog stride bug in tnl code for h/w drivers (Michel Danzer) + - fixed glActiveTexture / glMatrixMode(GL_TEXTURE) bug (#669080) + - glGet(GL_CURRENT_SECONDARY_COLOR) should return 4 values, not 3 + - fixed compilation problem on Solaris7/x86 (bug 536406) + - fixed prefetch bug in 3DNow! code (Felix Kuhling) + - fixed NeXT build problem (FABSF macro) + - glDrawPixels Z values when glPixelZoom!=1 were invalid (bug 687811) + - zoomed glDraw/CopyPixels with clipping sometimes failed (bug 689964) + - AA line and triangle Z values are now rounded, not truncated + - fixed color interpolation bug when GLchan==GLfloat (bug 694461) + - glArePrograms/TexturesResident() wasn't 100% correct (Jose Fonseca) + - fixed a minor GL_COLOR_MATERIAL bug + - NV vertex program EXP instruction was broken + - glColorMask misbehaved with X window / pixmap rendering + - fix autoconf/libtool GLU C++ linker problem on Linux (a total hack) + - attempt to fix GGI compilation problem when MesaDemos not present + - NV vertex program ARL-relative fetches didn't work + Changes: + - use glPolygonOffset in gloss demo to avoid z-fighting artifacts + - updated winpos and pointblast demos to use ARB extensions + - disable SPARC normal transformation code (bug 673938) + - GLU fixes for OS/2 (Evgeny Kotsuba) + + +5.0.2 September 5, 2003 + Bug fixes: + - fixed texgen problem causing texcoord's Q to be zero (stex3d) + - default GL_TEXTURE_COMPARE_MODE_ARB was wrong + - GL_CURRENT_MATRIX_NV query was wrong + - GL_CURRENT_MATRIX_STACK_DEPTH_NV query was off by one + - GL_LIST_MODE query wasn't correct + - GL_FOG_COORDINATE_SOURCE_EXT query wasn't supported + - GL_SECONDARY_COLOR_ARRAY_SIZE_EXT query returned wrong value + - blended, wide lines didn't always work correctly (bug 711595) + - glVertexAttrib4svNV w component was always 1 + - fixed bug in GL_IBM_rasterpos_clip (missing return) + - GL_DEPTH_TEXTURE_MODE = GL_ALPHA didn't work correctly + - a few Solaris compilation fixes + - fixed glClear() problem for DRI drivers (non-existant stencil, etc) + - fixed int/REAL mixup in GLU NURBS curve evaluator (Eric Cazeaux) + - fixed delete [] bug in SI GLU (bug 721765) (Diego Santa Cruz) + - glFog() didn't clamp fog colors + - fixed bad float/int conversion for GL_TEXTURE_PRIORITY in the + gl[Get]TexParameteri[v] functions + - fixed invalid memory references in glTexGen functions (bug 781602) + - integer-valued color arrays weren't handled correctly + - glDrawPixels(GL_DEPTH_COMPONENT) with glPixelZoom didn't work + - GL_EXT_texture_lod_bias is part of 1.4, overlooked in 5.0.1 + Changes: + - build GLUT with -fexceptions so C++ apps propogate exceptions + + +5.1 December 17, 2003 + New: + - reorganized directory tree + - GL_ARB_vertex/fragment_program extensions (Michal Krol & Karl Rasche) + - GL_ATI_texture_env_combine3 extension (Ian Romanick) + - GL_SGI_texture_color_table extension (Eric Plante) + - GL_NV_fragment_program extension + - GL_NV_light_max_exponent extension + - GL_EXT_texture_rectangle (identical to GL_NV_texture_rectangle) + - GL_ARB_occlusion_query extension + - GL_ARB_point_sprite extension + - GL_ARB_texture_non_power_of_two extension + - GL_IBM_multimode_draw_arrays extension + - GL_EXT_texture_mirror_clamp extension (Ian Romanick) + - GL_ARB_vertex_buffer_object extension + - new X86 feature detection code (Petr Sebor) + - less memory used for display lists and vertex buffers + - demo of per-pixel lighting with a fragment program (demos/fplight.c) + - new version (18) of glext.h header + - new spriteblast.c demo of GL_ARB_point_sprite + - faster glDrawPixels in X11 driver in some cases (see RELNOTES-5.1) + - faster glCopyPixels in X11 driver in some cases (see RELNOTES-5.1) + Bug fixes: + - really enable OpenGL 1.4 features in DOS driver. + - fixed issues in glDrawPixels and glCopyPixels for very wide images + - glPixelMapf/ui/usv()'s size parameter is GLsizei, not GLint + - fixed some texgen bugs reported by Daniel Borca + - fixed wglMakeCurrent(NULL, NULL) bug (#835861) + - fixed glTexSubImage3D z-offset bug (Cedric Gautier) + - fixed RGBA blend enable bug (Ville Syrjala) + - glAccum is supposed to be a no-op in selection/feedback mode + - fixed texgen bug #597589 (John Popplewell) + Changes: + - dropped API trace feature (src/Trace/) + - documentation overhaul. merged with website content. more html. + - glxgears.c demo updated to use GLX swap rate extensions + - glTexImage1/2/3D now allows width/height/depth = 0 + - disable SPARC asm code on Linux (bug 852204) + + +6.0 January 16, 2004 + New: + - full OpenGL 1.5 support + - updated GL/glext.h file to version 21 + Changes: + - changed max framebuffer size to 4Kx4K (MAX_WIDTH/HEIGHT in config.h) + Bug fixes: + - fixed bug in UNCLAMPED_FLOAT_TO_UBYTE macro; solves a color + clamping issue + - updated suno5-gcc configs + - glColor3 functions sometimes resulted in undefined alpha values + - fixed FP divide by zero error seen on VMS with xlockmore, others + - fixed vertex/fragment program debug problem (bug 873011) + - building on AIX with gcc works now + - glDeleteProgramsARB failed for ARB fragment programs (bug 876160) + - glDrawRangeElements tried to modify potentially read-only storage + - updated files for building on Windows + + +6.0.1 April 2, 2004 + New: + - upgraded glext.h to version 22 + - new build targets (Dan Schikore) + - new linux-x86-opteron build target (Heath Feather) + Bug fixes: + - glBindProgramARB didn't update all necessary state + - fixed build problems on OpenBSD + - omit CVS directories from tarballs + - glGetTexImage(GL_COLOR_INDEX) was broken + - fixed an infinite loop in t&l module + - silenced some valgrind warnings about using unitialized memory + - fixed some compilation/link glitches on IRIX (Mike Stephens) + - glBindProgram wasn't getting compiled into display lists + - GLX_FBCONFIG_ID wasn't recognized in glXChooseFBConfig() (bug 888079) + - two-sided lighting and vertex program didn't work (bug 887330) + - stores to program parameter registers in vertex state programs + didn't work. + - fixed glOrtho bug found with gcc 3.2.2 (RH9) + - glXCreateWindow() wasn't fully implemented (bug 890894) + - generic vertex attribute arrays didn't work in display lists + - vertex buffer objects' default usage and access fields were wrong + - glDrawArrays with start!=0 was broken + - fragment program PK2H, UP2H, UP4B and UP4UB instructions were broken + - linux-osmesa16-static config didn't work + - fixed a few color index rendering problems (bug 910687) + - glInterleavedArrays didn't respect GL_CLIENT_ACTIVE_TEXTURE + - OSMesa RGB and BGR modes were broken + - glProgramStringARB mistakenly required a null-terminated string + - fragment program XPD instruction was incorrect + - glGetMaterial() didn't work reliably + - ARB_fragment_program KIL instruction was incorrect + + +6.1 August 18, 2004 + New: + - Revamped Makefile system + - glXUseRotatedXFont() utility (see xdemos/xuserotfont.c) + - internal driver interface changes related to texture object + allocation, vertex/fragment programs, BlendEquationSeparate, etc. + - option to walk triangle edges with double-precision floats + (Justin Novosad of Discreet) (see config.h file) + - support for AUX buffers in software GLX driver + - updated glext.h to version 24 and glxext.h to version 6 + - new MESA_GLX_FORCE_ALPHA and MESA_GLX_DEPTH_BITS env vars + - updated BeOS support (Philippe Houdoin) + Changes: + - fragment fog interpolation is perspective corrected now + - new glTexImage code, much cleaner, may be a bit faster + Bug fixes: + - glArrayElement in display lists didn't handle generic vertex attribs + - glFogCoord didn't always work properly + - ARB_fragment_program fog options didn't work + - frag prog TEX instruction no longer incorrectly divides s,t,r by q + - ARB frag prog TEX and TEXP instructions now use LOD=0 + - glTexEnviv in display lists didn't work + - glRasterPos didn't do texgen or apply texture matrix + - GL_DOUBLE-valued vertex arrays were broken in some cases + - fixed texture rectangle edge/border sampling bugs + - sampling an incomplete texture in a fragment program would segfault + - glTexImage was missing a few error checks + - fixed some minor glGetTexParameter glitches + - GL_INTENSITY was mistakenly accepted as a to glTexImage + - fragment program writes to RC/HC register were broken + - fixed a few glitches in GL_HP_occlusion_test extension + - glBeginQueryARB and glEndQueryARB didn't work inside display lists + - vertex program state references were broken + - fixed triangle color interpolation bug on AIX (Shane Blackett) + - fixed a number of minor memory leaks (bug #1002030) + + +6.2 October 2, 2004 + New: + - enabled GL_ARB_texture_rectangle (same as GL_NV_texture_rectangle) + - updated Doxygen support (Jose Fonseca) + Changes: + - some GGI driver updates (Christoph Egger, bug 1025977) + Bug fixes: + - Omit GL_ARB_texture_non_power_of_two from list of OpenGL 1.5 features + - fixed a few compilation issues on IRIX + - fixed a matrix classification bug (reported by Wes Bethel) + - we weren't reseting the vertex/fragment program error state + before parsing (Dave Reveman) + - adjust texcoords for sampling texture rectangles (Dave Reveman) + - glGet*(GL_MAX_VERTEX_ATTRIBS_ARB) wasn't implemented + - repeated calls to glDeleteTexture(t) could lead to a crash + - fixed potential ref count bugs in VBOs and vertex/fragment programs + - spriteblast demo didn't handle window size changes correctly + - glTexSubImage didn't handle pixels=NULL correctly for PBOs + - fixed color index mode glDrawPixels bug (Karl Schultz) + + +6.2.1 December 9, 2004 + Bug fixes: + - don't apply regular fog or color sum when using a fragment program + - glProgramEnvParameter4fARB always generated an error on + GL_FRAGMENT_PROGRAM_ARB (fdo bug 1645) + - glVertexAttrib3svNV and glVertexAttrib3svARB were broken + - fixed width/height mix-up in glSeparableFilter2D() + - fixed regression in glCopyPixels + convolution + - glReadPixels from a clipped front color buffer didn't always work + - glTexImage didn't accept GL_RED/GREEN/BLUE as the format + - Attempting queries/accesses of VBO 0 weren't detected as errors + - paletted textures failed if the palette had fewer than 256 entries + Changes: + - fixed a bunch of compiler warnings found with gcc 3.4 + - bug reports should to go bugzilla.freedesktop.org + + +6.3 July 20, 2005 + New: + - GL_EXT_framebuffer_object extension + - GL_ARB_draw_buffers extension + - GL_ARB_pixel_buffer_object extension + - GL_OES_read_format extension (Ian Romanick) + - DirectFB driver (Claudio Ciccani) + - x86_64 vertex transformation code (Mikko T.) + - Updated GL/glext.h to version 29 + Changes: + - added -stereo option for glxgears demo (Jacek Rosik) + - updated the PBuffer demo code in xdemos/ directory + - glDeleteTextures/Programs/Buffers() now makes the object ID + available for immediate re-use + - assorted 64-bit clean-ups fixes (x86_64 and Win64) + - lots of internal changes for GL_EXT_framebuffer_object + Bug fixes: + - some functions didn't support PBO functionality + - glGetTexImage didn't convert color index images to RGBA as required + - fragment program texcoords were sometimes wrong for points and lines + - fixed problem with negative dot product in arbfplight, fplight demos + - fixed bug in perspective correction of antialiased, textured lines + - querying GL_POST_CONVOLUTION_ALPHA_BIAS_EXT returned wrong value + - fixed a couple per-pixel fog bugs (Soju Matsumoto) + - glGetBooleanv(GL_FRAGMENT_PROGRAM_BINDING_NV) was broken + - fixed float parsing bug in ARB frag/vert programs (bug 2520) + - XMesaGetDepthBuffer() returned incorrect value for bytesPerValue + - GL_COLOR_MATERIAL with glColor3 didn't properly set diffuse alpha + - glXChooseFBConfig() crashed if attribList pointer was NULL + - program state.light[n].spot.direction.w was wrong value (bug 3083) + - fragment program fog option required glEnable(GL_FOG) - wrong. + - glColorTable() could produce a Mesa implementation error (bug 3135) + - RasterPos could get corrupted by color index rendering path + - Removed bad XTranslateCoordinates call when rendering to Pixmaps + - glPopAttrib() didn't properly restore GL_TEXTURE_GEN enable state + - fixed a few Darwin compilation problems + + +6.3.1 + This was an intermediate release for X.org which wasn't otherwise released. + + +6.3.2 August 19, 2005 + New: + - The distribution now includes the DRI drivers and GLX code + Changes: + - Made the DRI "new" driver interface standard, remove old code + Bug fixes: + - GL_ARB_vertex/fragment_shader were mistakenly listed in the + extensions string + - negative relative addressing in vertex programs was broken + - update/fix SPARC assembly code for vertex transformation + - fixed memory leak when freeing GLX drawables/renderbuffers + - fixed display list memory leak + - the GL_PIXEL_MAP_I_TO_I table is now floating point, not integer + - wglGetProcAddress() didn't handle wgl-functions + - fixed glxext.h cross-compile issue (Colin Harrison) + - assorted DRI driver fixes + + +6.4 October 24, 2005 + New: + - Added a fast XOR line drawing function in Xlib driver + - Added support for GL_ARB_texture_mirrored_repeat to savage + driver (supported only on Savage4 hardware). + Changes: + - Mesa now packaged in three parts: Library, Demos and GLUT + Bug fixes: + - GLX_X_RENDERABLE token wasn't accepted by glXChooseFBConfig + - Some files were present multiple times in the 6.3.2 tarballs + - r200_vtxtmp_x86.S file was missing from 6.3.2 tarball (bug 4207) + - glxgears_fbconfig demo didn't work (bug 4237) + - fixed bug when bilinear sampling 2d textures with borders + - glXCreatePbuffer() could segfault instead of returning 0 (bug 4235) + - fixed undefined frexp and rand in X.org libGLcore.a (bug 4242) + - fixed a few problems with proxy color tables (bug 4270) + - fixed precision problem in Z clearing (bug 4395) + - glBitmap, glDraw/CopyPixels mistakenly generated selection hits + - fixed potential segfault caused by reading pixels outside + of renderbuffer bounds + - glGetTexLevelParameter didn't accept GL_TEXTURE_DEPTH_SIZE_ARB + - fixed memory corruption bug involving software alpha buffers + - glReadPixels clipped by window bounds was sometimes broken + - glDraw/CopyPixels of stencil data ignored the stencil write mask + - glReadPixels from a texture bound to a framebuffer object didn't work + - glIsRender/FramebufferEXT weren't totally correct + - fixed a number of point size attenuation/fade bugs + - fixed glFogCoord bug 4729 + - GLX encoding for transpose matrix functions was broken + - fixed broken fragment program KIL and SWZ instructions + - fragment programs that wrote result.depth.z didn't work + + +6.4.1 November 30, 2005 + Bug fixes: + - redefining a vertex program string didn't take effect in TNL module + - fixed occasional segfault upon vertex/fragment parsing error + - vertex program LIT instruction didn't handle 0^0=1 correctly + - fragment program fog option didn't work with glDrawPixels, glBitmap + - USE_MGL_NAMESPACE didn't work for x86-64 + - OSMesa demos were missing from previous release tarballs + - fixed problem with float->ushort conversion in glClear (bug 4992) + - popping of GL_EYE_PLANE texgen state was broken (bug 4996) + - popping of GL_SPOT_DIRECTION light state was broken (bug 5005) + - fixed occasional triangle color interpolation problem on VMS + - work around invalid free() call (bug 5131) + - fixed BSD X server compilation problem by including stdint.h + + +6.4.2 February 2, 2006 + New: + - added OSMesaColorClamp() function/feature + - added wglGetExtensionStringARB() function + Bug fixes: + - fixed some problems when building on Windows + - GLw header files weren't installed by installmesa script (bug 5396) + - GL/glfbdev.h file was missing from tarballs + - fixed TNL initialization bug which could lead to crash (bug 5791) + + +6.5 March 31, 2006 + New: + - OpenGL Shading Language support through GL_ARB_shader_objects, + GL_ARB_shading_language_100, GL_ARB_vertex_shader and + GL_ARB_fragment_shader (done by Michal Krol) + - GL_EXT_packed_depth_stencil extension + - GL_EXT_timer_query extension + - GL_EXT_framebuffer_blit extension + - GL_ARB_half_float_pixel + - reflect demo improved to support multiple windows + - singlebuffer demo (shows no/little-flicker single-buffered rendering) + - r200: enable GL_ARB_texture_env_crossbar, separate the texture + sampling unit bits from the texture env combine enable bits + - r200: add support for GL_ATI_fragment_shader + - added fast XOR-mode line drawing optimization + - radeon: add support for all 3 tmus, GL_ARB_texture_cube_map + and GL_EXT_fog_coord + - MESA_GLX_ALPHA_BITS env var for xlib driver + - many DRI driver updates (including screen rotation support + for the Intel DRI driver) + Changes: + - removed GL_HP_occlusion_test (use GL_ARB_occlusion_query instead) + - removed GL_SGIX/SGIS_pixel_texture extensions + Bug fixes: + - fixed glxcontextmodes.c datatype problem (bug 5835) + - fixed aix-gcc build/install bugs (bug 5874) + - fixed some bugs in texture env program generation + - glXCopyContext() didn't handle texture object bindings properly + - glXCopyContext() didn't copy all lighting state + - fixed FreeBSD config (Pedro Giffuni) + - fixed some minor framebuffer object bugs + - replaced dprintf() with _glu_printf() in GLU (bug 6244) + - fixed a number of thread safety bugs/regressions + - fixed a number of GLU tesselator bugs (John Shell, bug 6339) + - paletted texturing was broken w/ floating point palettes (K. Schultz) + - lots of assorted framebuffer object bug fixes + +6.5.1 August 31, 2006 + New: + - Intel i965 DRI driver + - GL_APPLE_vertex_array_object extension (Ian Romanick) + - GL_EXT_texture_sRGB extension + - GL_EXT_gpu_program_parameters (Ian Romanick) + - "engine" demo + - updated fbdev driver and GLUT for fbdev (Sean D'Epagnier) + - many updates to the DRI drivers + Changes: + - The glVertexAttribARB functions no longer alias the conventional + vertex attributes. + - glxinfo program prints more info with -l option + - GL_FRAGMENT_PROGRAM_NV and GL_FRAGMENT_PROGRAM_ARB are now + compatible, in terms of glBindProgramARB() + Bug fixes: + - fixed broken texture border handling for depth textures (bug 6498) + - removed the test for duplicated framebuffer attachments, per + version 117 of the GL_EXT_framebuffer_object specification + - fixed a few render-to-texture bugs, including render to depth texture + - clipping of lines against user-defined clip planes was broken (6512) + - assembly language dispatch for SPARC was broken (bug 6484) + - assorted compilation fixes on various Unix platforms (Dan Schikore) + - glPopAttrib could restore an invalid value for GL_DRAW_BUFFER + - assorted minor fixes for 16 and 32 bit/channel modes + - fixed assorted bugs in texture compression paths + - fixed indirect rendering vertex array crashes (bug 6863) + - glDrawPixels GL_INDEX_OFFSET didn't always work + - fixed convolution memory leak (bug 7077) + - rectangular depth textures didn't work + - invalid mode to glBegin didn't generate an error (bug 7142) + - 'normalized' parameter to glVertexAttribPointerARB didn't work + - disable bogus GLX_SGI_video_sync extension in xlib driver + - fixed R128 driver locking bug (Martijn van Oosterhout) + - using evaluators with vertex programs caused crashes (bug 7564) + - fragment.position wasn't set correctly for point/line primitives + - fixed parser bug for scalar sources for GL_NV_fragment_program + - max fragment program length was incorrectly 128, now 1024 + - writes to result.depth in fragment programs weren't clamped to [0,1] + - fixed potential dangling pointer bug in glBindProgram() + - fixed some memory leaks (and potential crashes) in Xlib driver diff --git a/mesalib/docs/devinfo.html b/mesalib/docs/devinfo.html index df0e72652..b2cbf17b4 100644 --- a/mesalib/docs/devinfo.html +++ b/mesalib/docs/devinfo.html @@ -1,220 +1,221 @@ - - -Development Notes - - - - - -

Development Notes

- - -

Adding Extentions

- -

-To add a new GL extension to Mesa you have to do at least the following. - -

    -
  • - If glext.h doesn't define the extension, edit include/GL/gl.h and add - code like this: -
    -     #ifndef GL_EXT_the_extension_name
    -     #define GL_EXT_the_extension_name 1
    -     /* declare the new enum tokens */
    -     /* prototype the new functions */
    -     /* TYPEDEFS for the new functions */
    -     #endif
    -   
    -
  • -
  • - In the src/mesa/glapi/ directory, add the new extension functions and - enums to the gl_API.xml file. - Then, a bunch of source files must be regenerated by executing the - corresponding Python scripts. -
  • -
  • - Add a new entry to the gl_extensions struct in mtypes.h -
  • -
  • - Update the extensions.c file. -
  • -
  • - From this point, the best way to proceed is to find another extension, - similar to the new one, that's already implemented in Mesa and use it - as an example. -
  • -
  • - If the new extension adds new GL state, the functions in get.c, enable.c - and attrib.c will most likely require new code. -
  • -
- - - -

Coding Style

- -

-Mesa's code style has changed over the years. Here's the latest. -

- -

-Comment your code! It's extremely important that open-source code be -well documented. Also, strive to write clean, easily understandable code. -

- -

-3-space indentation -

- -

-If you use tabs, set them to 8 columns -

- -

-Brace example: -

-
-	if (condition) {
-	   foo;
-	}
-	else {
-	   bar;
-	}
-
- -

-Here's the GNU indent command which will best approximate my preferred style: -

-
-	indent -br -i3 -npcs --no-tabs infile.c -o outfile.c
-
- - -

-Local variable name example: localVarName (no underscores) -

- -

-Constants and macros are ALL_UPPERCASE, with _ between words -

- -

-Global variables are not allowed. -

- -

-Function name examples: -

-
-	glFooBar()       - a public GL entry point (in glapi_dispatch.c)
-	_mesa_FooBar()   - the internal immediate mode function
-	save_FooBar()    - retained mode (display list) function in dlist.c
-	foo_bar()        - a static (private) function
-	_mesa_foo_bar()  - an internal non-static Mesa function
-
- - -

Making a New Mesa Release

- -

-These are the instructions for making a new Mesa release. -

- -

Get latest source files

-

-Use git to get the latest Mesa files from the git repository, from whatever -branch is relevant. -

- - -

Verify and update version info

-

-Create/edit the docs/relnotes-x.y.html file to document what's new in the release. -Add the new relnotes-x.y.html file to relnotes.html. -

- -

-Update the MESA_MAJOR, MESA_MINOR and MESA_TINY version numbers in -configs/default. -Also update the VERSION line in the top-level Makefile. -

- -

-Make sure the values in src/mesa/main/version.h are correct. -

- -

-Update the docs/news.html file and docs/download.html files. -

- -

-Check in all updates to git. -

- -

-Tag the files with the release name (in the form mesa_X_Y) -with: git tag -a mesa_X_Y -Then: git push origin mesa_X_Y -

- - -

Make the tarballs

-

-Make a symbolic link from $(DIRECTORY) to 'Mesa'. For example, -ln -s Mesa Mesa-7.5 -This is needed in order to make a correct tar file in the next step. -

- -

-Make the distribution files. From inside the Mesa directory: -

-	make tarballs
-
- -

-After the tarballs are created, the md5 checksums for the files will -be computed. -Add them to the docs/relnotes-X.Y.html file. -

- -

-Copy the distribution files to a temporary directory, unpack them, -compile everything, and run some demos to be sure everything works. -

- -

Update the website and announce the release

-

-Follow the directions on SourceForge for creating a new "release" and -uploading the tarballs. -

- -

-Basically, to upload the tarball files with: -
- -rsync -avP ssh Mesa*-X.Y.* USERNAME@frs.sourceforge.net:uploads/ - -

- -

-Update the web site by copying the docs/ directory's files to -/home/users/b/br/brianp/mesa-www/htdocs/ with: -
- -sftp USERNAME,mesa3d@web.sourceforge.net - -

- -

-Make an announcement on the mailing lists: -mesa3d-dev@lists.sf.net, -mesa3d-users@lists.sf.net -and -mesa3d-announce@lists.sf.net -

- - - - - + + +Development Notes + + + + + +

Development Notes

+ + +

Adding Extentions

+ +

+To add a new GL extension to Mesa you have to do at least the following. + +

    +
  • + If glext.h doesn't define the extension, edit include/GL/gl.h and add + code like this: +
    +     #ifndef GL_EXT_the_extension_name
    +     #define GL_EXT_the_extension_name 1
    +     /* declare the new enum tokens */
    +     /* prototype the new functions */
    +     /* TYPEDEFS for the new functions */
    +     #endif
    +   
    +
  • +
  • + In the src/mesa/glapi/ directory, add the new extension functions and + enums to the gl_API.xml file. + Then, a bunch of source files must be regenerated by executing the + corresponding Python scripts. +
  • +
  • + Add a new entry to the gl_extensions struct in mtypes.h +
  • +
  • + Update the extensions.c file. +
  • +
  • + From this point, the best way to proceed is to find another extension, + similar to the new one, that's already implemented in Mesa and use it + as an example. +
  • +
  • + If the new extension adds new GL state, the functions in get.c, enable.c + and attrib.c will most likely require new code. +
  • +
+ + + +

Coding Style

+ +

+Mesa's code style has changed over the years. Here's the latest. +

+ +

+Comment your code! It's extremely important that open-source code be +well documented. Also, strive to write clean, easily understandable code. +

+ +

+3-space indentation +

+ +

+If you use tabs, set them to 8 columns +

+ +

+Brace example: +

+
+	if (condition) {
+	   foo;
+	}
+	else {
+	   bar;
+	}
+
+ +

+Here's the GNU indent command which will best approximate my preferred style: +

+
+	indent -br -i3 -npcs --no-tabs infile.c -o outfile.c
+
+ + +

+Local variable name example: localVarName (no underscores) +

+ +

+Constants and macros are ALL_UPPERCASE, with _ between words +

+ +

+Global variables are not allowed. +

+ +

+Function name examples: +

+
+	glFooBar()       - a public GL entry point (in glapi_dispatch.c)
+	_mesa_FooBar()   - the internal immediate mode function
+	save_FooBar()    - retained mode (display list) function in dlist.c
+	foo_bar()        - a static (private) function
+	_mesa_foo_bar()  - an internal non-static Mesa function
+
+ + +

Making a New Mesa Release

+ +

+These are the instructions for making a new Mesa release. +

+ +

Get latest source files

+

+Use git to get the latest Mesa files from the git repository, from whatever +branch is relevant. +

+ + +

Verify and update version info

+

+Create/edit the docs/relnotes-x.y.html file to document what's new in the release. +Add the new relnotes-x.y.html file to relnotes.html. +

+ +

+Update the MESA_MAJOR, MESA_MINOR and MESA_TINY version numbers in +configs/default. +Also update the VERSION line in the top-level Makefile. +

+ +

+Make sure the values in src/mesa/main/version.h are correct. +

+ +

+Update docs/news.html. +

+ +

+Check in all updates to git. +

+ +

+Tag the files with the release name (in the form mesa_X_Y) +with: git tag -a mesa_X_Y +Then: git push origin mesa_X_Y +

+ + +

Make the tarballs

+

+Make a symbolic link from $(DIRECTORY) to 'Mesa'. For example, +ln -s Mesa Mesa-7.5 +This is needed in order to make a correct tar file in the next step. +

+ +

+Make the distribution files. From inside the Mesa directory: +

+	make tarballs
+
+ +

+After the tarballs are created, the md5 checksums for the files will +be computed. +Add them to the docs/relnotes-X.Y.html file. +

+ +

+Copy the distribution files to a temporary directory, unpack them, +compile everything, and run some demos to be sure everything works. +

+ +

Update the website and announce the release

+

+Follow the directions on SourceForge for creating a new "release" and +uploading the tarballs. +

+ +

+Basically, to upload the tarball files with: +
+ +rsync -avP ssh Mesa*-X.Y.* USERNAME@frs.sourceforge.net:uploads/ + +

+ +

+Update the web site by copying the docs/ directory's files to +/home/users/b/br/brianp/mesa-www/htdocs/ with: +
+ +sftp USERNAME,mesa3d@web.sourceforge.net + +

+ +

+Make an announcement on the mailing lists: + +mesa-dev@lists.freedesktop.org, +mesa-users@lists.freedesktop.org +and +mesa-announce@lists.freedesktop.org +

+ + + + + diff --git a/mesalib/docs/egl.html b/mesalib/docs/egl.html index d38f2dd7b..28ade1567 100644 --- a/mesalib/docs/egl.html +++ b/mesalib/docs/egl.html @@ -1,308 +1,323 @@ - - -Mesa EGL - - - - - -

Mesa EGL

- -

The current version of EGL in Mesa implements EGL 1.4. More information -about EGL can be found at - -http://www.khronos.org/egl/.

- -

The Mesa's implementation of EGL uses a driver architecture. The main -library (libEGL) is window system neutral. It provides the EGL -API entry points and helper functions for use by the drivers. Drivers are -dynamically loaded by the main library and most of the EGL API calls are -directly dispatched to the drivers.

- -

The driver in use decides the window system to support. For drivers that -support hardware rendering, there are usually multiple drivers supporting the -same window system. Each one of of them supports a certain range of graphics -cards.

- -

Build EGL

- -
    -
  1. -

    Run configure with the desired state trackers and enable -the Gallium driver for your hardware. For example

    - -
    -  $ ./configure --enable-gles-overlay --with-state-trackers=egl,vega --enable-gallium-intel
    -
    - -

    The main library and OpenGL is enabled by default. The first option enables -OpenGL ES 1.x and 2.x. The egl state -tracker is needed by a number of EGL drivers. EGL drivers will be covered -later. The vega state tracker provides OpenVG -1.x.

    -
  2. - -
  3. Build and install Mesa as usual.
  4. -
- -

In the given example, it will build and install libEGL, -libGL, libGLESv1_CM, libGLESv2, -libOpenVG, and one or more EGL drivers.

- -

Configure Options

- -

There are several options that control the build of EGL at configuration -time

- -
    -
  • --enable-egl - -

    By default, EGL is enabled. When disabled, the main library and the drivers -will not be built.

    - -
  • - -
  • --with-egl-driver-dir - -

    The directory EGL drivers should be installed to. If not specified, EGL -drivers will be installed to ${libdir}/egl.

    - -
  • - -
  • --with-egl-platforms - -

    List the platforms (window systems) to support. Its argument is a comma -seprated string such as --with-egl-platforms=x11,drm. It decides -the platforms a driver may support. The first listed platform is also used by -the main library to decide the native platform: the platform the EGL native -types such as EGLNativeDisplayType or -EGLNativeWindowType defined for.

    - -

    The available platforms are x11, drm, -fbdev, and gdi. The gdi platform can -only be built with SCons.

    - -
  • - -
  • --with-state-trackers - -

    The argument is a comma separated string. It is usually used to specify the -rendering APIs, such as OpenVG, to build. But it is also used to specify -egl state tracker that egl_gallium depends on.

    - -
  • - -
  • --enable-gles-overlay - -

    OpenGL and OpenGL ES are not controlled by ---with-state-trackers. OpenGL is always built. To build OpenGL -ES, this option must be explicitly given.

    - -
  • - -
  • --enable-gles1 and --enable-gles2 - -

    Unlike --enable-gles-overlay, which builds one library for each -rendering API, these options enable OpenGL ES support in OpenGL. The result is -one big library that supports multiple APIs.

    - -
  • - -
- -

Use EGL

- -

Demos

- -

There are demos for the client APIs supported by EGL. They can be found in -mesa/demos repository.

- -

Environment Variables

- -

There are several environment variables that control the behavior of EGL at -runtime

- -
    -
  • EGL_DRIVERS_PATH - -

    By default, the main library will look for drivers in the directory where -the drivers are installed to. This variable specifies a list of -colon-separated directories where the main library will look for drivers, in -addition to the default directory. This variable is ignored for setuid/setgid -binaries.

    - -
  • - -
  • EGL_DRIVER - -

    This variable specifies a full path to an EGL driver and it forces the -specified EGL driver to be loaded. It comes in handy when one wants to test a -specific driver. This variable is ignored for setuid/setgid binaries.

    - -

    egl_gallium dynamically loads hardware drivers and client API -modules found in EGL_DRIVERS_PATH. Thus, specifying this variable -alone is not sufficient for egl_gallium for uninstalled build.

    - -
  • - -
  • EGL_PLATFORM - -

    This variable specifies the native platform. The valid values are the same -as those for --with-egl-platforms. When the variable is not set, -the main library uses the first platform listed in ---with-egl-platforms as the native platform

    - -
  • - -
  • EGL_LOG_LEVEL - -

    This changes the log level of the main library and the drivers. The valid -values are: debug, info, warning, and -fatal.

    - -
  • - -
  • EGL_SOFTWARE - -

    For drivers that support both hardware and software rendering, setting this -variable to true forces the use of software rendering.

    - -
  • -
- -

EGL Drivers

- -
    -
  • egl_gallium - -

    This driver is based on Gallium3D. It supports all rendering APIs and -hardwares supported by Gallium3D. It is the only driver that supports OpenVG. -The supported platforms are X11, KMS, FBDEV, and GDI.

    - -
  • - -
  • egl_glx - -

    This driver provides a wrapper to GLX. It uses exclusively GLX to implement -the EGL API. It supports both direct and indirect rendering when the GLX does. -It is accelerated when the GLX is. As such, it cannot provide functions that -is not available in GLX or GLX extensions.

    -
  • - -
  • egl_dri2 - -

    This driver supports the X Window System as its window system. It functions -as a DRI2 driver loader. Unlike egl_glx, it has no dependency on -libGL. It talks to the X server directly using DRI2 protocol.

    - -
  • -
  • egl_dri - -

    This driver lacks maintenance and does not build. It is similiar -to egl_dri2 in that it functions as a DRI(1) driver loader. But -unlike egl_dri2, it supports Linux framebuffer devices as its -window system and supports EGL_MESA_screen_surface extension. As DRI1 drivers -are phasing out, it might eventually be replaced by egl_dri2.

    - -
  • -
- -

Developers

- -

The sources of the main library and the classic drivers can be found at -src/egl/. The sources of the egl state tracker can -be found at src/gallium/state_trackers/egl/.

- -

The suggested way to learn to write a EGL driver is to see how other drivers -are written. egl_glx should be a good reference. It works in any -environment that has GLX support, and it is simpler than most drivers.

- -

Lifetime of Display Resources

- -

Contexts and surfaces are examples of display resources. They might live -longer than the display that creates them.

- -

In EGL, when a display is terminated through eglTerminate, all -display resources should be destroyed. Similarly, when a thread is released -throught eglReleaseThread, all current display resources should be -released. Another way to destory or release resources is through functions -such as eglDestroySurface or eglMakeCurrent.

- -

When a resource that is current to some thread is destroyed, the resource -should not be destroyed immediately. EGL requires the resource to live until -it is no longer current. A driver usually calls -eglIs<Resource>Bound to check if a resource is bound -(current) to any thread in the destroy callbacks. If it is still bound, the -resource is not destroyed.

- -

The main library will mark destroyed current resources as unlinked. In a -driver's MakeCurrent callback, -eglIs<Resource>Linked can then be called to check if a newly -released resource is linked to a display. If it is not, the last reference to -the resource is removed and the driver should destroy the resource. But it -should be careful here because MakeCurrent might be called with an -uninitialized display.

- -

This is the only mechanism provided by the main library to help manage the -resources. The drivers are responsible to the correct behavior as defined by -EGL.

- -

EGL_RENDER_BUFFER

- -

In EGL, the color buffer a context should try to render to is decided by the -binding surface. It should try to render to the front buffer if the binding -surface has EGL_RENDER_BUFFER set to -EGL_SINGLE_BUFFER; If the same context is later bound to a -surface with EGL_RENDER_BUFFER set to -EGL_BACK_BUFFER, the context should try to render to the back -buffer. However, the context is allowed to make the final decision as to which -color buffer it wants to or is able to render to.

- -

For pbuffer surfaces, the render buffer is always -EGL_BACK_BUFFER. And for pixmap surfaces, the render buffer is -always EGL_SINGLE_BUFFER. Unlike window surfaces, EGL spec -requires their EGL_RENDER_BUFFER values to be honored. As a -result, a driver should never set EGL_PIXMAP_BIT or -EGL_PBUFFER_BIT bits of a config if the contexts created with the -config won't be able to honor the EGL_RENDER_BUFFER of pixmap or -pbuffer surfaces.

- -

It should also be noted that pixmap and pbuffer surfaces are assumed to be -single-buffered, in that eglSwapBuffers has no effect on them. It -is desirable that a driver allocates a private color buffer for each pbuffer -surface created. If the window system the driver supports has native pbuffers, -or if the native pixmaps have more than one color buffers, the driver should -carefully attach the native color buffers to the EGL surfaces, re-route them if -required.

- -

There is no defined behavior as to, for example, how -glDrawBuffer interacts with EGL_RENDER_BUFFER. Right -now, it is desired that the draw buffer in a client API be fixed for pixmap and -pbuffer surfaces. Therefore, the driver is responsible to guarantee that the -client API renders to the specified render buffer for pixmap and pbuffer -surfaces.

- -

EGLDisplay Mutex

- -The EGLDisplay will be locked before calling any of the dispatch -functions (well, except for GetProcAddress which does not take an -EGLDisplay). This guarantees that the same dispatch function will -not be called with the sample display at the same time. If a driver has access -to an EGLDisplay without going through the EGL APIs, the driver -should as well lock the display before using it. - -

TODOs

- -
    -
  • Pass the conformance tests
  • -
  • Reference counting in main library?
  • -
  • Mixed use of OpenGL, OpenGL ES 1.1, and OpenGL ES 2.0 is supported. But -which one of libGL.so, libGLESv1_CM.so, and -libGLESv2.so should an application link to? Bad things may happen -when, say, an application is linked to libGLESv2.so and -libcairo, which is linked to libGL.so instead.
  • - -
- - - + + +Mesa EGL + + + + + +

Mesa EGL

+ +

The current version of EGL in Mesa implements EGL 1.4. More information +about EGL can be found at + +http://www.khronos.org/egl/.

+ +

The Mesa's implementation of EGL uses a driver architecture. The main +library (libEGL) is window system neutral. It provides the EGL +API entry points and helper functions for use by the drivers. Drivers are +dynamically loaded by the main library and most of the EGL API calls are +directly dispatched to the drivers.

+ +

The driver in use decides the window system to support.

+ +

Build EGL

+ +
    +
  1. +

    Run configure with the desired client APIs and enable +the driver for your hardware. For example

    + +
    +  $ ./configure --enable-gles2 --enable-openvg --enable-gallium-nouveau
    +
    + +

    The main library and OpenGL is enabled by default. The first option above +enables OpenGL ES 2.x. The second option enables +OpenVG.

    + +
  2. + +
  3. Build and install Mesa as usual.
  4. +
+ +

In the given example, it will build and install libEGL, +libGL, libGLESv1_CM, libGLESv2, +libOpenVG, and one or more EGL drivers.

+ +

Configure Options

+ +

There are several options that control the build of EGL at configuration +time

+ +
    +
  • --enable-egl + +

    By default, EGL is enabled. When disabled, the main library and the drivers +will not be built.

    + +
  • + +
  • --with-egl-driver-dir + +

    The directory EGL drivers should be installed to. If not specified, EGL +drivers will be installed to ${libdir}/egl.

    + +
  • + +
  • --with-egl-platforms + +

    List the platforms (window systems) to support. Its argument is a comma +seprated string such as --with-egl-platforms=x11,drm. It decides +the platforms a driver may support. The first listed platform is also used by +the main library to decide the native platform: the platform the EGL native +types such as EGLNativeDisplayType or +EGLNativeWindowType defined for.

    + +

    The available platforms are x11, drm, +fbdev, and gdi. The gdi platform can +only be built with SCons. Unless for special needs, the build system should +select the right platforms automatically.

    + +
  • + +
  • --enable-gles1 and --enable-gles2 + +

    These options enable OpenGL ES support in OpenGL. The result is one big +internal library that supports multiple APIs.

    + +
  • + +
  • --enable-gles-overlay + +

    This option enables OpenGL ES as separate internal libraries. This is an +alternative approach to enable OpenGL ES.

    + +

    This is only supported by egl_gallium. For systems using DRI +drivers, --enable-gles1 and --enable-gles2 are +suggested instead as all drivers will benefit.

    + +
  • + +
  • --enable-openvg + +

    OpenVG must be explicitly enabled by this option.

    + +
  • + +
  • --enable-gallium-egl + +

    Explicitly enable or disable egl_gallium.

    + +
  • + +
+ +

Use EGL

+ +

Demos

+ +

There are demos for the client APIs supported by EGL. They can be found in +mesa/demos repository.

+ +

Environment Variables

+ +

There are several environment variables that control the behavior of EGL at +runtime

+ +
    +
  • EGL_DRIVERS_PATH + +

    By default, the main library will look for drivers in the directory where +the drivers are installed to. This variable specifies a list of +colon-separated directories where the main library will look for drivers, in +addition to the default directory. This variable is ignored for setuid/setgid +binaries.

    + +
  • + +
  • EGL_DRIVER + +

    This variable specifies a full path to an EGL driver and it forces the +specified EGL driver to be loaded. It comes in handy when one wants to test a +specific driver. This variable is ignored for setuid/setgid binaries.

    + +
  • + +
  • EGL_PLATFORM + +

    This variable specifies the native platform. The valid values are the same +as those for --with-egl-platforms. When the variable is not set, +the main library uses the first platform listed in +--with-egl-platforms as the native platform.

    + +

    Extensions like EGL_MESA_drm_display define new functions to +create displays for non-native platforms. These extensions are usually used by +applications that support non-native platforms. Setting this variable is +probably required only for some of the demos found in mesa/demo repository.

    + +
  • + +
  • EGL_LOG_LEVEL + +

    This changes the log level of the main library and the drivers. The valid +values are: debug, info, warning, and +fatal.

    + +
  • + +
  • EGL_SOFTWARE + +

    For drivers that support both hardware and software rendering, setting this +variable to true forces the use of software rendering.

    + +
  • +
+ +

EGL Drivers

+ +
    +
  • egl_dri2 + +

    This driver supports both x11 and drm platforms. +It functions as a DRI driver loader. For x11 support, it talks to +the X server directly using (XCB-)DRI2 protocol.

    + +

    This driver can share DRI drivers with libGL.

    + +
  • + +
  • egl_gallium + +

    This driver is based on Gallium3D. It supports all rendering APIs and +hardwares supported by Gallium3D. It is the only driver that supports OpenVG. +The supported platforms are X11, DRM, FBDEV, and GDI.

    + +

    This driver comes with its own hardware drivers +(pipe_<hw>) and client API modules +(st_<api>).

    + +
  • + +
  • egl_glx + +

    This driver provides a wrapper to GLX. It uses exclusively GLX to implement +the EGL API. It supports both direct and indirect rendering when the GLX does. +It is accelerated when the GLX is. As such, it cannot provide functions that +is not available in GLX or GLX extensions.

    +
  • +
+ +

Packaging

+ +

The ABI between the main library and its drivers are not stable. Nor is +there a plan to stabilize it at the moment. Of the EGL drivers, +egl_gallium has its own hardware drivers and client API modules. +They are considered internal to egl_gallium and there is also no +stable ABI between them. These should be kept in mind when packaging for +distribution.

+ +

Generally, egl_dri2 is preferred over egl_gallium +when the system already has DRI drivers. As egl_gallium is loaded +before egl_dri2 when both are available, egl_gallium +may either be disabled with --disable-gallium-egl or packaged +separately.

+ +

Developers

+ +

The sources of the main library and the classic drivers can be found at +src/egl/. The sources of the egl state tracker can +be found at src/gallium/state_trackers/egl/.

+ +

The suggested way to learn to write a EGL driver is to see how other drivers +are written. egl_glx should be a good reference. It works in any +environment that has GLX support, and it is simpler than most drivers.

+ +

Lifetime of Display Resources

+ +

Contexts and surfaces are examples of display resources. They might live +longer than the display that creates them.

+ +

In EGL, when a display is terminated through eglTerminate, all +display resources should be destroyed. Similarly, when a thread is released +throught eglReleaseThread, all current display resources should be +released. Another way to destory or release resources is through functions +such as eglDestroySurface or eglMakeCurrent.

+ +

When a resource that is current to some thread is destroyed, the resource +should not be destroyed immediately. EGL requires the resource to live until +it is no longer current. A driver usually calls +eglIs<Resource>Bound to check if a resource is bound +(current) to any thread in the destroy callbacks. If it is still bound, the +resource is not destroyed.

+ +

The main library will mark destroyed current resources as unlinked. In a +driver's MakeCurrent callback, +eglIs<Resource>Linked can then be called to check if a newly +released resource is linked to a display. If it is not, the last reference to +the resource is removed and the driver should destroy the resource. But it +should be careful here because MakeCurrent might be called with an +uninitialized display.

+ +

This is the only mechanism provided by the main library to help manage the +resources. The drivers are responsible to the correct behavior as defined by +EGL.

+ +

EGL_RENDER_BUFFER

+ +

In EGL, the color buffer a context should try to render to is decided by the +binding surface. It should try to render to the front buffer if the binding +surface has EGL_RENDER_BUFFER set to +EGL_SINGLE_BUFFER; If the same context is later bound to a +surface with EGL_RENDER_BUFFER set to +EGL_BACK_BUFFER, the context should try to render to the back +buffer. However, the context is allowed to make the final decision as to which +color buffer it wants to or is able to render to.

+ +

For pbuffer surfaces, the render buffer is always +EGL_BACK_BUFFER. And for pixmap surfaces, the render buffer is +always EGL_SINGLE_BUFFER. Unlike window surfaces, EGL spec +requires their EGL_RENDER_BUFFER values to be honored. As a +result, a driver should never set EGL_PIXMAP_BIT or +EGL_PBUFFER_BIT bits of a config if the contexts created with the +config won't be able to honor the EGL_RENDER_BUFFER of pixmap or +pbuffer surfaces.

+ +

It should also be noted that pixmap and pbuffer surfaces are assumed to be +single-buffered, in that eglSwapBuffers has no effect on them. It +is desirable that a driver allocates a private color buffer for each pbuffer +surface created. If the window system the driver supports has native pbuffers, +or if the native pixmaps have more than one color buffers, the driver should +carefully attach the native color buffers to the EGL surfaces, re-route them if +required.

+ +

There is no defined behavior as to, for example, how +glDrawBuffer interacts with EGL_RENDER_BUFFER. Right +now, it is desired that the draw buffer in a client API be fixed for pixmap and +pbuffer surfaces. Therefore, the driver is responsible to guarantee that the +client API renders to the specified render buffer for pixmap and pbuffer +surfaces.

+ +

EGLDisplay Mutex

+ +The EGLDisplay will be locked before calling any of the dispatch +functions (well, except for GetProcAddress which does not take an +EGLDisplay). This guarantees that the same dispatch function will +not be called with the sample display at the same time. If a driver has access +to an EGLDisplay without going through the EGL APIs, the driver +should as well lock the display before using it. + +

TODOs

+ +
    +
  • Pass the conformance tests
  • +
  • Mixed use of OpenGL, OpenGL ES 1.1, and OpenGL ES 2.0 is supported. But +which one of libGL.so, libGLESv1_CM.so, and +libGLESv2.so should an application link to? Bad things may happen +when, say, an application is linked to libGLESv2.so and +libcairo, which is linked to libGL.so instead.
  • + +
+ + + diff --git a/mesalib/docs/enums.txt b/mesalib/docs/enums.txt new file mode 100644 index 000000000..cb97b5a31 --- /dev/null +++ b/mesalib/docs/enums.txt @@ -0,0 +1,57 @@ + +See the OpenGL ARB enum registry at http://www.opengl.org/registry/api/enum.spec + +Blocks allocated to Mesa: + 0x8750-0x875F + 0x8BB0-0x8BBF + + +GL_MESA_packed_depth_stencil + GL_DEPTH_STENCIL_MESA 0x8750 + GL_UNSIGNED_INT_24_8_MESA 0x8751 + GL_UNSIGNED_INT_8_24_REV_MESA 0x8752 + GL_UNSIGNED_SHORT_15_1_MESA 0x8753 + GL_UNSIGNED_SHORT_1_15_REV_MESA 0x8754 + +GL_MESA_trace.spec: + GL_TRACE_ALL_BITS_MESA 0xFFFF + GL_TRACE_OPERATIONS_BIT_MESA 0x0001 + GL_TRACE_PRIMITIVES_BIT_MESA 0x0002 + GL_TRACE_ARRAYS_BIT_MESA 0x0004 + GL_TRACE_TEXTURES_BIT_MESA 0x0008 + GL_TRACE_PIXELS_BIT_MESA 0x0010 + GL_TRACE_ERRORS_BIT_MESA 0x0020 + GL_TRACE_MASK_MESA 0x8755 + GL_TRACE_NAME_MESA 0x8756 + +MESA_ycbcr_texture.spec: + GL_YCBCR_MESA 0x8757 + GL_UNSIGNED_SHORT_8_8_MESA 0x85BA /* same as Apple's */ + GL_UNSIGNED_SHORT_8_8_REV_MESA 0x85BB /* same as Apple's */ + +GL_MESA_pack_invert.spec + GL_PACK_INVERT_MESA 0x8758 + +GL_MESA_shader_debug.spec: (obsolete) + GL_DEBUG_OBJECT_MESA 0x8759 + GL_DEBUG_PRINT_MESA 0x875A + GL_DEBUG_ASSERT_MESA 0x875B + +GL_MESA_program_debug.spec: (obsolete) + GL_FRAGMENT_PROGRAM_CALLBACK_MESA 0x???? + GL_VERTEX_PROGRAM_CALLBACK_MESA 0x???? + GL_FRAGMENT_PROGRAM_POSITION_MESA 0x???? + GL_VERTEX_PROGRAM_POSITION_MESA 0x???? + GL_FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA 0x???? + GL_FRAGMENT_PROGRAM_CALLBACK_DATA_MESA 0x???? + GL_VERTEX_PROGRAM_CALLBACK_FUNC_MESA 0x???? + GL_VERTEX_PROGRAM_CALLBACK_DATA_MESA 0x???? + +GL_MESAX_texture_stack: + GL_TEXTURE_1D_STACK_MESAX 0x8759 + GL_TEXTURE_2D_STACK_MESAX 0x875A + GL_PROXY_TEXTURE_1D_STACK_MESAX 0x875B + GL_PROXY_TEXTURE_2D_STACK_MESAX 0x875C + GL_TEXTURE_1D_STACK_BINDING_MESAX 0x875D + GL_TEXTURE_2D_STACK_BINDING_MESAX 0x875E + diff --git a/mesalib/docs/gears.png b/mesalib/docs/gears.png new file mode 100644 index 000000000..4052b30ed Binary files /dev/null and b/mesalib/docs/gears.png differ diff --git a/mesalib/docs/libGL.txt b/mesalib/docs/libGL.txt new file mode 100644 index 000000000..750917d10 --- /dev/null +++ b/mesalib/docs/libGL.txt @@ -0,0 +1,197 @@ + + + +Introduction +------------ + +This document describes the implementation of the XFree86 4.0 libGL.so +library defined by the Linux/OpenGL Base specification found at +http://reality.sgi.com/opengl/linux/linuxbase.html. + +The documentation is divided into two sections: + User's Guide + Driver Developer's Guide + +Author: Brian Paul (brian@precisioninsight.com) +Date: February 2000 + + + +User's Guide +------------ + +Using libGL.so + +The libGL.so library defines the gl- and glX-prefixed functions needed to +run OpenGL programs. OpenGL client applications should link with the +-lGL option to use it. + +libGL.so serves two primary functions: GLX protocol generation for indirect +rendering and loading/management of hardware drivers for direct rendering. + +When libGL.so initializes itself it uses the DRI to determine the +appropriate hardware driver for each screen on the local X display. +The hardware drivers are expected to be in the /usr/X11R6/lib/modules/dri/ +directory. Drivers are named with the convention _dri.so where + is a driver such as "tdfx", "i810", "gamma", etc. + +The LIBGL_DRIVERS_DIR environment variable may be used to specify a +different DRI modules directory, overriding /usr/X11R6/lib/modules/dri/. +This environment variable is ignored in setuid programs for security +reasons. + +When libGL.so is unable to locate appropriate hardware drivers it will +fall back to using indirect GLX rendering. + +To aid in solving problems, libGL.so will print diagnostic messages to +stderr if the LIBGL_DEBUG environment variable is defined. + +libGL.so is thread safe. The overhead of thread safety for common, +single-thread clients is negligible. However, the overhead of thread +safety for multi-threaded clients is significant. Each GL API call +requires two calls to pthread_get_specific() which can noticably +impact performance. Warning: libGL.so is thread safe but individual +DRI drivers may not be. Please consult the documentation for a driver +to learn if it is thread safe. + + + +Indirect Rendering + +You can force indirect rendering mode by setting the LIBGL_ALWAYS_INDIRECT +environment variable. Hardware acceleration will not be used. + + + +libGL.so Extensibility + +libGL.so is designed to be extended without upgrading. That is, +drivers may install new OpenGL extension functions into libGL.so +without requiring libGL.so to be replaced. Clients of libGL.so should +use the glXGetProcAddressEXT() function to obtain the address of +functions by name. For more details of GLX_ARB_get_proc_address see +http://oss.sgi.com/projects/ogl-sample/registry/ARB/get_proc_address.spec + +libGL.so is also designed with flexibility such that it may be used +with many generations of hardware drivers to come. + + + + +Driver Developer's Guide +------------------------ + +This section describes the requirements to make an XFree86 4.0 +libGL.so-compatible hardware driver. It is not intended for end +users of libGL.so. + + +XFree86 source files + +libGL.so is built inside XFree86 with sources found in xc/lib/GL/. +Specifically, libGL.so is built from: + + xc/lib/GL/glx/*.c + xc/lib/dri/XF86dri.c + xc/lib/dri/dri_glx.c + xc/lib/GL/mesa/src/glapi.c + xc/lib/GL/mesa/src/glapitemp.h + xc/lib/GL/mesa/src/glapitable.h + xc/lib/GL/mesa/src/glapioffsets.h + xc/lib/GL/mesa/src/glapinoop.c + xc/lib/GL/mesa/src/glheader.h + xc/lib/GL/mesa/src/glthread.c + xc/lib/GL/mesa/src/glthread.h + xc/lib/GL/mesa/src/X86/glapi_x86.S + xc/lib/GL/mesa/src/X86/assyntax.h + +Understand that the mesa/src/gl*.[ch] files are not tied to Mesa. They +have no dependencies on the rest of Mesa and are designed to be reusable +in a number of projects. + +The glapi_x86.X and assyntax.h files implement x86-optimized dispatch +of GL functions. They are not required; C-based dispatch can be used +instead, with a slight performance penalty. + + + +Driver loading and binding + +When libGL.so initializes itself (via the __glXInitialize function) a +call is made to driCreateDisplay(). This function uses DRI facilities +to determine the driver file appropriate for each screen on the local +display. Each screen's driver is then opened with dlopen() and asked +for its __driCreateScreen() function. The pointers to the __driCreateScreen() +functions are kept in an array, indexed by screen number, in the +__DRIdisplayRec struct. + +When a driver's __driCreateScreen() function is called, it must initialize +a __DRIscreenRec struct. This struct acts as the root of a tree of +function pointers which are called to create and destroy contexts and +drawables and perform all the operations needed by the GLX interface. +See the xc/lib/GL/glx/glxclient.h file for details. + + + +Dynamic Extension Function Registration + +In order to provide forward compatibility with future drivers, libGL.so +allows drivers to register new OpenGL extension functions which weren't +known when libGL.so was built. + +The register_extensions() function in xc/lib/GL/dri/dri_glx.c is called +as soon as libGL.so is loaded. This is done with gcc's constructor +attribute. This mechanism will likely have to be changed for other compilers. + +register_extensions() loops over all local displays and screens, determines +the DRI driver for each, and calls the driver's __driRegisterExtensions() +function, if present. + +The __driRegisterExtensions() function can add new entrypoints to libGL +by calling: + + GLboolean _glapi_add_entrypoint(const char *funcName, GLuint offset) + +The parameters are the name of the function (such as "glFoobarEXT") and the +offset of the dispatch slot in the API dispatch table. The return value +indicates success (GL_TRUE) or failure (GL_FALSE). + +_glapi_add_entrypoint() will synthesize entrypoint code in assembly +language. Assembly languages is required since parameter passing +can't be handled correctly using a C-based solution. + +The address of the new entrypoint is obtained by calling the +glXGetProcAddressARB() function. + +The dispatch offset number MUST be a number allocated by SGI in the same +manner in which new GL_* constants are allocated. Using an arbitrary +offset number will result in many problems. + + + +Dispatch Management + +When a GL context is made current, the driver must install its dispatch +table as the current dispatch table. This is done by calling + + void _glapi_set_dispatch(struct _glapi_table *dispatch); + +This will install the named dispatch table for the calling thread. +The current dispatch table for a thread can be obtained by calling + + struct _glapi_table *_glapi_get_dispatch(void); + +For higher performance in the common single-thread case, the global +variable _glapi_Dispatch will point to the current dispatch table. +This variable will be NULL when in multi-thread mode. + + + +Context Management + +libGL.so uses the XFree86 xthreads package to manage a thread-specific +current context pointer. See __glXGet/SetCurrentContext() in glext.c + +Drivers may use the _glapi_set/get_context() functions to maintain +a private thread-specific context pointer. + diff --git a/mesalib/docs/mesa.css b/mesalib/docs/mesa.css new file mode 100644 index 000000000..8e4944e44 --- /dev/null +++ b/mesalib/docs/mesa.css @@ -0,0 +1,33 @@ +/* Mesa CSS */ +body { + background-color: #ffffff; + font: 14px 'Lucida Grande', Geneva, Arial, Verdana, sans-serif; + color: black; + link: #111188; +} + +h1 { + font: 24px 'Lucida Grande', Geneva, Arial, Verdana, sans-serif; + font-weight: bold; + color: black; +} + +h2 { + font: 18px 'Lucida Grande', Geneva, Arial, Verdana, sans-serif, bold; + font-weight: bold; + color: black; +} + +code { + font-family: monospace; + font-size: 10pt; + color: black; +} + + +pre { + /*font-family: monospace;*/ + font-size: 10pt; + /*color: black;*/ +} + diff --git a/mesalib/docs/news.html b/mesalib/docs/news.html index b3fb8b556..1bdef71de 100644 --- a/mesalib/docs/news.html +++ b/mesalib/docs/news.html @@ -1,1302 +1,1310 @@ - - -Mesa News - - - - - - - -

News

- - -

September 27, 2010

- -

-Mesa 7.9.0-rc1 is released. This is a -release candidate for the 7.9 development release. -

- - -

June 16, 2010

- -

-Mesa 7.8.2 is released. This is a bug-fix -release collecting fixes since the 7.8.1 release. -

- - -

April 5, 2010

- -

-Mesa 7.8.1 is released. This is a bug-fix -release for a few critical issues in the 7.8 release. -

- - -

March 28, 2010

-

-Mesa 7.7.1 is released. This is a bug-fix -release fixing issues found in the 7.7 release. -

-

-Also, Mesa 7.8 is released. This is a new -development release. -

- - - -

December 21, 2009

-

-Mesa 7.6.1 is released. This is a bug-fix -release fixing issues found in the 7.6 release. -

-

-Also, Mesa 7.7 is released. This is a new -development release. -

- - -

September 28, 2009

-

-Mesa 7.6 is released. This is a new feature -release. Those especially concerned about stability may want to wait for the -follow-on 7.6.1 bug-fix release. -

-

-Mesa 7.5.2 is also released. -This is a stable release fixing bugs since the 7.5.1 release. -

- - -

September 3, 2009

-

-Mesa 7.5.1 is released. -This is a bug-fix release which fixes bugs found in version 7.5. -

- - -

July 17, 2009

-

-Mesa 7.5 is released. -This is a new features release. People especially concerned about -stability may want to wait for the follow-on 7.5.1 bug-fix release. -

- - -

June 23, 2009

-

-Mesa 7.4.4 is released. -This is a stable release that fixes a regression in the i915/i965 drivers -that slipped into the 7.4.3 release. -

- - -

June 19, 2009

-

-Mesa 7.4.3 is released. -This is a stable release fixing bugs since the 7.4.2 release. -

- - -

May 15, 2009

-

-Mesa 7.4.2 is released. -This is a stable release fixing bugs since the 7.4.1 release. -

- - -

April 18, 2009

-

-Mesa 7.4.1 is released. -This is a stable release fixing bugs since the 7.4 release. -

- - -

March 27, 2009

-

-Mesa 7.4 is released. -This is a stable release fixing bugs since the 7.3 release. -

- - -

January 22, 2009

-

-Mesa 7.3 is released. -This is a new development release. -Mesa 7.4 will follow and will have bug fixes relative to 7.3. -

- - -

September 20, 2008

-

-Mesa 7.2 is released. -This is a stable, bug-fix release. -

- - -

August 26, 2008

-

-Mesa 7.1 is released. -This is a new development release. -It should be relatively stable, but those especially concerned about -stability should wait for the 7.2 release or use Mesa 7.0.4 (the -previous stable release). -

- - -

August 16, 2008

-

-Mesa 7.0.4 is released. -This is a bug-fix release. -

- - -

April 4, 2008

-

-Mesa 7.0.3 is released. -This is a bug-fix release. -

- - -

January 24, 2008

- -

-Added a new page describing the Mesa Cell driver. -

- - - -

November 13, 2007

- -

-Gallium3D is the codename for the new Mesa device driver architecture -which is currently under development. -

-

-Gallium3D development is taking place on the gallium-0.1 branch -of the git repository. -Currently, there's only a software-only driver and an Intel i915/945 driver -but other drivers will be coming... -

- - -

November 10, 2007

-

-Mesa 7.0.2 is released. -This is a bug-fix release. -

- - -

August 3, 2007

-

-Mesa 7.0.1 is released. -This is a bug-fix release. -

- - -

June 22, 2007

-

-Mesa 7.0 is released. -This is a stable release featuring OpenGL 2.1 support. -

- - -

April 27, 2007

-

-Mesa 6.5.3 is released. -This is a development release which will lead up to the Mesa 7.0 release -(which will advertise OpenGL 2.1 API support). -

- - -

March 26, 2007

-

-The new Shading Language compiler branch has been merged into the git -master branch. This is a step toward hardware support for the OpenGL -2.0 Shading Language and will be included in the next Mesa release. -In conjunction, Glean - has been updated with a new test that does over 130 tests of the -shading language and built-in functions. -

- -

April 2007

-

-Thomas Hellström of Tungsten Graphics has written a whitepaper -describing the new DRI memory management system. -

- -

December 5, 2006

-

-Mesa is now using git as its source code management system. -The previous CVS repository should no longer be used. -See the repository page for more information. -

- -

December 2, 2006

-

-Mesa 6.5.2 has been released. -This is a new development release. -

- -

September 15, 2006

-

-Mesa 6.5.1 has been released. -This is a new development release. -

- -

March 31, 2006

-

-Mesa 6.5 has been released. -This is a new development release. -

- - -

February 2, 2006

-

-Mesa 6.4.2 has been released. -This is stable, bug-fix release. -

- - -

November 29, 2005

-

-Mesa 6.4.1 has been released. -This is stable, bug-fix release. -

- - - -

October 24, 2005

-

-Mesa 6.4 has been released. -This is stable, bug-fix release. -

- - -

August 19, 2005

-

-Mesa 6.3.2 has been released. -Note: there was no public release of version 6.3.1. -

-Changes in version 6.3.1 -

-The MD5 checksums are: -

-
-98192e45ed8d69113688f89f90869346  MesaLib-6.3.2.tar.gz
-0df27701df0924d17ddf41185efa8ce1  MesaLib-6.3.2.tar.bz2
-ccb2423aab77fc7e81ce628734586140  MesaLib-6.3.2.zip
-9d0fca0a7d051c34a0b485423fb3e85d  MesaDemos-6.3.2.tar.gz
-96708868450c188205e42229b5d813c4  MesaDemos-6.3.2.tar.bz2
-c5102501e609aa8996d832fafacb8ab9  MesaDemos-6.3.2.zip
-
- - -

July 20, 2005

-

-Mesa 6.3 has been released. -This is a development release with new features, changes and bug fixes. -

-
-    New:
-	- GL_EXT_framebuffer_object extension
-	- GL_ARB_draw_buffers extension
-	- GL_ARB_pixel_buffer_object extension
-	- GL_OES_read_format extension (Ian Romanick)
-	- DirectFB driver (Claudio Ciccani)
-	- x86_64 vertex transformation code (Mikko T.)
-    Changes:
-	- added -stereo option for glxgears demo (Jacek Rosik)
-	- updated the PBuffer demo code in xdemos/ directory
-	- glDeleteTextures/Programs/Buffers() now makes the object ID
-	  available for immediate re-use
-	- assorted 64-bit clean-ups fixes (x86_64 and Win64)
-	- lots of internal changes for GL_EXT_framebuffer_object
-    Bug fixes:
-	- some functions didn't support PBO functionality
-	- glGetTexImage didn't convert color index images to RGBA as required
-	- fragment program texcoords were sometimes wrong for points and lines
-	- fixed problem with negative dot product in arbfplight, fplight demos
-	- fixed bug in perspective correction of antialiased, textured lines
-	- querying GL_POST_CONVOLUTION_ALPHA_BIAS_EXT returned wrong value
-	- fixed a couple per-pixel fog bugs (Soju Matsumoto)
-	- glGetBooleanv(GL_FRAGMENT_PROGRAM_BINDING_NV) was broken
-	- fixed float parsing bug in ARB frag/vert programs (bug 2520)
-	- XMesaGetDepthBuffer() returned incorrect value for bytesPerValue
-	- GL_COLOR_MATERIAL with glColor3 didn't properly set diffuse alpha
-	- glXChooseFBConfig() crashed if attribList pointer was NULL
-	- program state.light[n].spot.direction.w was wrong value (bug 3083)
-	- fragment program fog option required glEnable(GL_FOG) - wrong.
-	- glColorTable() could produce a Mesa implementation error (bug 3135)
-	- RasterPos could get corrupted by color index rendering path
-	- Removed bad XTranslateCoordinates call when rendering to Pixmaps
-	- glPopAttrib() didn't properly restore GL_TEXTURE_GEN enable state
-	- fixed a few Darwin compilation problems
-
-

-The MD5 checksums are: -

-
-0236f552d37514776945d5a013e5bb7b  MesaLib-6.3.tar.gz
-60e1a8f78c4a8c7750a1e95753190986  MesaLib-6.3.tar.bz2
-ca7c950fbace68c70caa822322db7223  MesaLib-6.3.zip
-25ea801645b376c014051804fe4974b2  MesaDemos-6.3.tar.gz
-9248e74872ea88c57ec25c900c295057  MesaDemos-6.3.tar.bz2
-8537dfa734ef258dcc7272097558d434  MesaDemos-6.3.zip
-
- - -

December 9, 2004

-

-Mesa 6.2.1 has been released. -This is a stable release which just fixes bugs since the 6.2 release. -

-
-    Bug fixes:
-	- don't apply regular fog or color sum when using a fragment program
-	- glProgramEnvParameter4fARB always generated an error on
-	  GL_FRAGMENT_PROGRAM_ARB (fdo bug 1645)
-	- glVertexAttrib3svNV and glVertexAttrib3svARB were broken
-	- fixed width/height mix-up in glSeparableFilter2D()
-	- fixed regression in glCopyPixels + convolution
-	- glReadPixels from a clipped front color buffer didn't always work
-	- glTexImage didn't accept GL_RED/GREEN/BLUE as the format
-	- Attempting queries/accesses of VBO 0 weren't detected as errors
-	- paletted textures failed if the palette had fewer than 256 entries
-    Changes:
-	- fixed a bunch of compiler warnings found with gcc 3.4
-	- bug reports should to go bugzilla.freedesktop.org
-
-

-The MD5 checksums are: -

-
-80008a92f6e055d3bfdde2cf331ec3fa  MesaLib-6.2.1.tar.gz
-f43228cd2bf70f583ef3275c1c545421  MesaLib-6.2.1.tar.bz2
-dec26cfd40116ad021020fea2d94f652  MesaLib-6.2.1.zip
-2c7af3c986a7571c8713c8bfee7e49e3  MesaDemos-6.2.1.tar.gz
-3cac74667b50bcbd4f67f594fb4224a2  MesaDemos-6.2.1.tar.bz2
-75b3edd12eb2b370caf05f29b99e508a  MesaDemos-6.2.1.zip
-
- - -

October 2, 2004

-

-Mesa 6.2 has been released. -This is a stable release which just fixes bugs since the 6.1 release. -

-
-    New:
-	- enabled GL_ARB_texture_rectangle (same as GL_NV_texture_rectangle)
-	- updated Doxygen support (Jose Fonseca)
-    Changes:
-	- some GGI driver updates (Christoph Egger, bug 1025977)
-    Bug fixes:
-	- Omit GL_ARB_texture_non_power_of_two from list of OpenGL 1.5 features
-	- fixed a few compilation issues on IRIX
-	- fixed a matrix classification bug (reported by Wes Bethel)
-	- we weren't reseting the vertex/fragment program error state
-	  before parsing (Dave Reveman)
-	- adjust texcoords for sampling texture rectangles (Dave Reveman)
-	- glGet*(GL_MAX_VERTEX_ATTRIBS_ARB) wasn't implemented
-	- repeated calls to glDeleteTexture(t) could lead to a crash
-	- fixed potential ref count bugs in VBOs and vertex/fragment programs
-	- spriteblast demo didn't handle window size changes correctly
-	- glTexSubImage didn't handle pixels=NULL correctly for PBOs
-	- fixed color index mode glDrawPixels bug (Karl Schultz)
-
-

-The MD5 checksums are: -

-
-9e8f34b059272dbb8e1f2c968b33bbf0  MesaLib-6.2.tar.gz
-3d6a6362390b6a37d3cb2e615f3ac7db  MesaLib-6.2.tar.bz2
-6cfd7895d28e695c0dbbed9469564091  MesaLib-6.2.zip
-3e06e33b0809f09855cb60883b8bdfef  MesaDemos-6.2.tar.gz
-9d160009c3dfdb35fe7e4088c9ba8f85  MesaDemos-6.2.tar.bz2
-856f7ec947122eb3c8985ebc2f654dcd  MesaDemos-6.2.zip
-
- - -

August 18, 2004

-

-Mesa 6.1 has been released. -This is a new development release (version 6.2 will be a stabilization -release). -

-
-    New:
-	- Revamped Makefile system
-	- glXUseRotatedXFont() utility (see xdemos/xuserotfont.c)
-	- internal driver interface changes related to texture object
-	  allocation, vertex/fragment programs, BlendEquationSeparate, etc.
-	- option to walk triangle edges with double-precision floats
-	  (Justin Novosad of Discreet) (see config.h file)
-	- support for AUX buffers in software GLX driver
-	- updated glext.h to version 24 and glxext.h to version 6
-	- new MESA_GLX_FORCE_ALPHA and MESA_GLX_DEPTH_BITS env vars
-	- updated BeOS support (Philippe Houdoin)
-    Changes:
-	- fragment fog interpolation is perspective corrected now
-	- new glTexImage code, much cleaner, may be a bit faster
-    Bug fixes:
-	- glArrayElement in display lists didn't handle generic vertex attribs
-	- glFogCoord didn't always work properly
-	- ARB_fragment_program fog options didn't work
-	- frag prog TEX instruction no longer incorrectly divides s,t,r by q
-	- ARB frag prog TEX and TEXP instructions now use LOD=0
-	- glTexEnviv in display lists didn't work
-	- glRasterPos didn't do texgen or apply texture matrix
-	- GL_DOUBLE-valued vertex arrays were broken in some cases
-	- fixed texture rectangle edge/border sampling bugs
-	- sampling an incomplete texture in a fragment program would segfault
-	- glTexImage was missing a few error checks
-	- fixed some minor glGetTexParameter glitches
-	- GL_INTENSITY was mistakenly accepted as a  to glTexImage
-	- fragment program writes to RC/HC register were broken
-	- fixed a few glitches in GL_HP_occlusion_test extension
-	- glBeginQueryARB and glEndQueryARB didn't work inside display lists
-	- vertex program state references were broken
-	- fixed triangle color interpolation bug on AIX (Shane Blackett)
-	- fixed a number of minor memory leaks (bug #1002030)
-
-The MD5 checksums are: -

-
-c9284d295ebcd2e0486cc3cd54e5863c  MesaLib-6.1.tar.gz
-5de1f53ec0709f60fc68fdfed57351f3  MesaLib-6.1.tar.bz2
-483e77cac4789a5d36c42f3c0136d6d8  MesaLib-6.1.zip
-8c46cfa6f9732acc6f6c25724aad0246  MesaDemos-6.1.tar.gz
-89bfe0f6c69b39fd0ebd9fff481a4e9b  MesaDemos-6.1.tar.bz2
-161268531fcc6f0c5a056430ee97e0c1  MesaDemos-6.1.zip
-
- - - -

April 2, 2004

- -

-Mesa 6.0.1 has been released. -This release basically just fixes bugs since the 6.0. release. -

-
-    New:
-	- upgraded glext.h to version 22
-	- new build targets (Dan Schikore)
-	- new linux-x86-opteron build target (Heath Feather)
-    Bug fixes:
-	- glBindProgramARB didn't update all necessary state
-	- fixed build problems on OpenBSD
-	- omit CVS directories from tarballs
-	- glGetTexImage(GL_COLOR_INDEX) was broken
-	- fixed an infinite loop in t&l module
-	- silenced some valgrind warnings about using unitialized memory
-	- fixed some compilation/link glitches on IRIX (Mike Stephens)
-	- glBindProgram wasn't getting compiled into display lists
-	- GLX_FBCONFIG_ID wasn't recognized in glXChooseFBConfig() (bug 888079)
-	- two-sided lighting and vertex program didn't work (bug 887330)
-	- stores to program parameter registers in vertex state programs
-	  didn't work.
-	- fixed glOrtho bug found with gcc 3.2.2 (RH9)
-	- glXCreateWindow() wasn't fully implemented (bug 890894)
-	- generic vertex attribute arrays didn't work in display lists
-	- vertex buffer objects' default usage and access fields were wrong
-	- glDrawArrays with start!=0 was broken
-	- fragment program PK2H, UP2H, UP4B and UP4UB instructions were broken
-	- linux-osmesa16-static config didn't work
-	- fixed a few color index rendering problems (bug 910687)
-	- glInterleavedArrays didn't respect GL_CLIENT_ACTIVE_TEXTURE
-	- OSMesa RGB and BGR modes were broken
-	- glProgramStringARB mistakenly required a null-terminated string
-	- fragment program XPD instruction was incorrect
-	- glGetMaterial() didn't work reliably
-
-The MD5 checksums are: -

-
-011be0e79666c7a6eb9693fbf9348653  MesaLib-6.0.1.tar.gz
-b7f14088c5c2f14490d2739a91102112  MesaLib-6.0.1.tar.bz2
-bf0510cf0a2b87d64cdd317eca3f1db1  MesaLib-6.0.1.zip
-b7b648599e0aaee1c4ffc554a2a9139e  MesaDemos-6.0.1.tar.gz
-dd6aadfd9ca8e1cfa90c6ee492bc6f43  MesaDemos-6.0.1.tar.bz2
-eff71d59c211825e949199852f5a2316  MesaDemos-6.0.1.zip
-
- - - -

January 16, 2004

- -

-Mesa 6.0 has been released. This is a stabilization of the 5.1 release -and primarily just incorporates bug fixes. -

-
-    New:
-	- full OpenGL 1.5 support
-	- updated GL/glext.h file to version 21
-    Changes:
-	- changed max framebuffer size to 4Kx4K (MAX_WIDTH/HEIGHT in config.h)
-    Bug fixes:
-	- fixed bug in UNCLAMPED_FLOAT_TO_UBYTE macro; solves a color
-	  clamping issue
-	- updated suno5-gcc configs
-	- glColor3 functions sometimes resulted in undefined alpha values
-	- fixed FP divide by zero error seen on VMS with xlockmore, others
-	- fixed vertex/fragment program debug problem (bug 873011)
-	- building on AIX with gcc works now
-	- glDeleteProgramsARB failed for ARB fragment programs (bug 876160)
-	- glDrawRangeElements tried to modify potentially read-only storage
-	- updated files for building on Windows
-
- - - -

December 28, 2003

- -

-The Mesa CVS server has been moved to -freedesktop.org because of problems with SourceForge's anonymous -CVS service. -

- -

Please see the CVS access page for details. -

- - -

December 17, 2003

- -

-Mesa 5.1 has been released. This is a new development release. -Mesa 6.0 will be the next stable release and will support all -OpenGL 1.5 features. -

-
-    New features:
-	- reorganized directory tree
-	- GL_ARB_vertex/fragment_program extensions (Michal Krol & Karl Rasche)
-	- GL_ATI_texture_env_combine3 extension (Ian Romanick)
-	- GL_SGI_texture_color_table extension (Eric Plante)
-	- GL_NV_fragment_program extension
-	- GL_NV_light_max_exponent extension
-	- GL_EXT_texture_rectangle (identical to GL_NV_texture_rectangle)
-	- GL_ARB_occlusion_query extension
-	- GL_ARB_point_sprite extension
-	- GL_ARB_texture_non_power_of_two extension
-	- GL_IBM_multimode_draw_arrays extension
-	- GL_EXT_texture_mirror_clamp extension (Ian Romanick)
-	- GL_ARB_vertex_buffer_object extension
-	- new X86 feature detection code (Petr Sebor)
-	- less memory used for display lists and vertex buffers
-	- demo of per-pixel lighting with a fragment program (demos/fplight.c)
-	- new version (18) of glext.h header
-	- new spriteblast.c demo of GL_ARB_point_sprite
-	- faster glDrawPixels in X11 driver in some cases (see RELNOTES-5.1)
-	- faster glCopyPixels in X11 driver in some cases (see RELNOTES-5.1)
-    Bug fixes:
-	- really enable OpenGL 1.4 features in DOS driver.
-	- fixed issues in glDrawPixels and glCopyPixels for very wide images
-	- glPixelMapf/ui/usv()'s size parameter is GLsizei, not GLint
-	- fixed some texgen bugs reported by Daniel Borca
-	- fixed wglMakeCurrent(NULL, NULL) bug (#835861)
-	- fixed glTexSubImage3D z-offset bug (Cedric Gautier)
-	- fixed RGBA blend enable bug (Ville Syrjala)
-	- glAccum is supposed to be a no-op in selection/feedback mode
-	- fixed texgen bug #597589 (John Popplewell)
-    Changes:
-	- dropped API trace feature (src/Trace/)
-	- documentation overhaul.  merged with website content.  more html.
-	- glxgears.c demo updated to use GLX swap rate extensions
-	- glTexImage1/2/3D now allows width/height/depth = 0
-	- disable SPARC asm code on Linux (bug 852204)
-
- -The MD5 checksums are: -

-
-78f452f6c55478471a744f07147612b5  MesaLib-5.1.tar.gz
-67b3b8d3f7f4c8c44904551b851d01af  MesaLib-5.1.tar.bz2
-6dd19ffa750ec7f634e370a987505c9d  MesaLib-5.1.zip
-e0214d4ebb22409dfa9262f2b52fd828  MesaDemos-5.1.tar.gz
-066c9aff4fd924405de1ae9bad5ec9a7  MesaDemos-5.1.tar.bz2
-d2b5ba32b53e0ad0576c637a4cc1fb41  MesaDemos-5.1.zip
-
- - -

November 12, 2003

- -

-New Mesa 5.0.2 tarballs have been uploaded to SourceForge which fix a -number of automake/libtool problems. -

-

-The new MD5 checksums are: -

-
-a9dcf3ff9ad1b7d6ce73a0df7cff8b5b  MesaLib-5.0.2.tar.gz
-7b4bf9261657c2fca03796d4955e6f50  MesaLib-5.0.2.tar.bz2
-79c141bddcbad557647535d02194f346  MesaLib-5.0.2.zip
-952d9dc823dd818981d1a648d7b2668a  MesaDemos-5.0.2.tar.gz
-b81fafff90995025d2f25ea02b786642  MesaDemos-5.0.2.tar.bz2
-a21be975589e8a2d1871b6bb7874fffa  MesaDemos-5.0.2.zip
-
- - - -

September 5, 2003

- -

-Mesa 5.0.2 has been released. This is a stable, bug-fix release. -

-
-    Bug fixes:
-	- fixed texgen problem causing texcoord's Q to be zero (stex3d)
-	- default GL_TEXTURE_COMPARE_MODE_ARB was wrong
-	- GL_CURRENT_MATRIX_NV query was wrong
-	- GL_CURRENT_MATRIX_STACK_DEPTH_NV query was off by one
-	- GL_LIST_MODE query wasn't correct
-	- GL_FOG_COORDINATE_SOURCE_EXT query wasn't supported
-	- GL_SECONDARY_COLOR_ARRAY_SIZE_EXT query returned wrong value
-	- blended, wide lines didn't always work correctly (bug 711595)
-	- glVertexAttrib4svNV w component was always 1
-	- fixed bug in GL_IBM_rasterpos_clip (missing return)
-	- GL_DEPTH_TEXTURE_MODE = GL_ALPHA didn't work correctly
-	- a few Solaris compilation fixes
-	- fixed glClear() problem for DRI drivers (non-existant stencil, etc)
-	- fixed int/REAL mixup in GLU NURBS curve evaluator (Eric Cazeaux)
-	- fixed delete [] bug in SI GLU (bug 721765) (Diego Santa Cruz)
-	- glFog() didn't clamp fog colors
-	- fixed bad float/int conversion for GL_TEXTURE_PRIORITY in the
-	  gl[Get]TexParameteri[v] functions
-	- fixed invalid memory references in glTexGen functions (bug 781602)
-	- integer-valued color arrays weren't handled correctly
-	- glDrawPixels(GL_DEPTH_COMPONENT) with glPixelZoom didn't work
-	- GL_EXT_texture_lod_bias is part of 1.4, overlooked in 5.0.1
-    Changes:
-	- build GLUT with -fexceptions so C++ apps propogate exceptions
-
- - - -

June 2003

- -

-Mesa's directory tree has been overhauled. -Things are better organized now with some thought toward future needs. -

-

-In CVS, the latest Mesa 5.1 development code is now rooted under the -Mesa-newtree/ directory. The old top-level Mesa/ directory -holds the Mesa 5.0.x code which will be abandoned at some point. -

- - - -

March 30, 2003

- -

-Mesa 5.0.1 has been released. This is a stable, bug-fix release. -

-
-    New:
-	- DOS driver updates from Daniel Borca
-	- updated GL/gl_mangle.h file (Bill Hoffman)
-    Bug fixes:
-	- auto mipmap generation for cube maps was broken (bug 641363)
-	- writing/clearing software alpha channels was unreliable
-	- minor compilation fixes for OS/2 (Evgeny Kotsuba)
-	- fixed some bad assertions found with shadowtex demo
-	- fixed error checking bug in glCopyTexSubImage2D (bug 659020)
-	- glRotate(angle, -x, 0, 0) was incorrect (bug 659677)
-	- fixed potential segfault in texture object validation (bug 659012)
-	- fixed some bogus code in _mesa_test_os_sse_exception_support (Linus)
-	- fix fog stride bug in tnl code for h/w drivers (Michel Danzer)
-	- fixed glActiveTexture / glMatrixMode(GL_TEXTURE) bug (#669080)
-	- glGet(GL_CURRENT_SECONDARY_COLOR) should return 4 values, not 3
-	- fixed compilation problem on Solaris7/x86 (bug 536406)
-	- fixed prefetch bug in 3DNow! code (Felix Kuhling)
-	- fixed NeXT build problem (FABSF macro)
-	- glDrawPixels Z values when glPixelZoom!=1 were invalid (bug 687811)
-	- zoomed glDraw/CopyPixels with clipping sometimes failed (bug 689964)
-	- AA line and triangle Z values are now rounded, not truncated
-	- fixed color interpolation bug when GLchan==GLfloat (bug 694461)
-	- glArePrograms/TexturesResident() wasn't 100% correct (Jose Fonseca)
-	- fixed a minor GL_COLOR_MATERIAL bug
-	- NV vertex program EXP instruction was broken
-	- glColorMask misbehaved with X window / pixmap rendering
-	- fix autoconf/libtool GLU C++ linker problem on Linux (a total hack)
-	- attempt to fix GGI compilation problem when MesaDemos not present
-	- NV vertex program ARL-relative fetches didn't work
-    Changes:
-	- use glPolygonOffset in gloss demo to avoid z-fighting artifacts
-	- updated winpos and pointblast demos to use ARB extensions
-	- disable SPARC normal transformation code (bug 673938)
-	- GLU fixes for OS/2 (Evgeny Kotsuba)
-
-

-MD5 checksums follow: -

-
-b80f8b5d53a3e9f19b9fde5af0c542f0  MesaLib-5.0.1.tar.gz
-513b4bbd7d38951f05027179063d876b  MesaLib-5.0.1.tar.bz2
-eebd395678f4520d33b267e5d5c22651  MesaLib-5.0.1.zip
-49d7feaec6dc1d2091d7c3cc72a9b320  MesaDemos-5.0.1.tar.gz
-37190374a98c3c892f0698be9ca3acf0  MesaDemos-5.0.1.tar.bz2
-becd8bf17f5791361b4a54ba2a78e5c9  MesaDemos-5.0.1.zip
-
- - - -

March 7, 2003

-

-Website and documentation overhaul. -

-

-The website content and Mesa documentation (from the doc/ directory) have -been merged together. -All the documentation files have been entered into the CVS repository. -Many of the old plain-text files have been converted to html and modernized. -

- - -

November 13, 2002

-

Mesa 5.0 has been released. This is a stable release which -implements the OpenGL 1.4 specification. -

New:
-    - OpenGL 1.4 support (glGetString(GL_VERSION) returns "1.4")
-    - removed some overlooked debugging code
-    - glxinfo updated to support GLX_ARB_multisample
-    - GLUT now support GLX_ARB_multisample
-    - updated DOS driver (Daniel Borca)
-Bug fixes:
-    - GL_POINT and GL_LINE-mode polygons didn't obey cull state
-    - fixed potential bug in _mesa_align_malloc/calloc()
-    - fixed missing triangle bug when running vertex programs
-    - fixed a few HPUX compilation problems
-    - FX (Glide) driver didn't compile
-    - setting GL_TEXTURE_BORDER_COLOR with glTexParameteriv() didn't work
-    - a few EXT functions, like glGenTexturesEXT, were no-ops
-    - a few OpenGL 1.4 functions like glFogCoord*, glBlendFuncSeparate,
-      glMultiDrawArrays and glMultiDrawElements were missing
-    - glGet*(GL_ACTIVE_STENCIL_FACE_EXT) was broken
-    - Pentium 4 Mobile was mistakenly identified as having 3DNow!
-    - fixed one-bit error in point/line fragment Z calculation
-    - fixed potential segfault in fakeglx code
-    - fixed color overflow problem in DOT3 texture env mode
-
- - -

October 29, 2002

-

Mesa 4.1 has been released. This is a new development release. -For a stable release, get 4.0.4. -

New:
-    - GL_NV_vertex_program extension
-    - GL_NV_vertex_program1_1 extension
-    - GL_ARB_window_pos extension
-    - GL_ARB_depth_texture extension
-    - GL_ARB_shadow extension
-    - GL_ARB_shadow_ambient extension
-    - GL_EXT_shadow_funcs extension
-    - GL_ARB_point_parameters extension
-    - GL_ARB_texture_env_crossbar
-    - GL_NV_point_sprite extension
-    - GL_NV_texture_rectangle extension
-    - GL_EXT_multi_draw_arrays extension
-    - GL_EXT_stencil_two_side extension
-    - GLX_SGIX_fbconfig and GLX_SGIX_pbuffer extensions
-    - GL_ATI_texture_mirror_once extension (Ian Romanick)
-    - massive overhaul/simplification of software rasterizer module,
-      many contributions from Klaus Niederkrueger
-    - faster software texturing in some cases (i.e. trilinear filtering)
-    - new OSMesaGetProcAddress() function
-    - more blend modes implemented with MMX code (Jose Fonseca)
-    - added glutGetProcAddress() to GLUT
-    - added GLUT_FPS env var to compute frames/second in glutSwapBuffers()
-    - pbinfo and pbdemo PBuffer programs
-    - glxinfo -v prints transprent pixel info (Gerd Sussner)
-Bug fixes:
-    - better mipmap LOD computation (prevents excessive blurriness)
-    - OSMesaMakeCurrent() didn't recognize buffer size changes
-    - assorted conformance fixes for 16-bit/channel rendering
-    - texcombine alpha subtraction mode was broken
-    - fixed some blend problems when GLchan==GLfloat (Gerk Huisma)
-    - clamp colors to [0,1] in OSMesa if GLchan==GLfloat (Gerk Huisma)
-    - fixed divide by zero error in NURBS tessellator (Jon Perry)
-    - fixed GL_LINEAR fog bug by adding clamping
-    - fixed FP exceptions found using Alpha CPU
-    - 3dfx/glide driver render-to-window feature was broken
-    - added missing GLX_TRANSPARENT_RGB token to glx.h
-    - fixed error checking related to paletted textures
-    - fixed reference count error in glDeleteTextures (Randy Fayan)
-Changes:
-    - New spec file and Python code to generate some GL dispatch files
-    - Glide driver defaults to "no" with autoconf/automake
-    - floating point color channels now clamped to [0,inf)
-    - updated demos/stex3d with new options
-
- - -

October 4, 2002

-

-The Mesa FAQ has been rewritten. -

- -

October 3, 2002

-

Mesa 4.0.4 has been released. This is a stable bug-fix release. -

    New:
-	- GL_NV_texture_rectangle extension
-	- updated glext.h header (version 17)
-	- updated DOS driver (Daniel Borca)
-	- updated BeOS R5 driver (Philippe Houdoin)
-	- added GL_IBM_texture_mirror_repeat
-	- glxinfo now takes -l option to print interesting OpenGL limits info
-	- GL_MESA_ycbcr_texture extension
-	- GL_APPLE_client_storage extension (for some DRI drivers only)
-	- GL_MESA_pack_invert extension
-    Bug fixes:
-	- fixed GL_LINEAR fog bug by adding clamping
-	- fixed FP exceptions found using Alpha CPU
-	- 3dfx MESA_GLX_FX=window (render to window) didn't work
-	- fixed memory leak in wglCreateContest (Karl Schultz)
-	- define GLAPIENTRY and GLAPI if undefined in glu.h
-	- wglGetProcAddress didn't handle all API functions
-	- when testing for OpenGL 1.2 vs 1.3, check for GL_ARB_texture_cube_map
-	- removed GL_MAX_CONVOLUTION_WIDTH/HEIGHT from glGetInteger/Float/etc()
-	- error checking in compressed tex image functions had some glitches
-	- fixed AIX compile problem in src/config.c
-	- glGetTexImage was using pixel unpacking instead of packing params
-	- auto-mipmap generation for cube maps was incorrect
-    Changes:
-	- max texture units reduced to six to accomodate texture rectangles
-	- removed unfinished GL_MESA_sprite_point extension code
-
- -

June 25, 2002

-

Mesa 4.0.3 has been released. This is a stable bug-fix release. -

    New:
-    - updated GL/glext.h file (version 15)
-    - corrected MMX blend code (Jose Fonseca)
-    - support for software-based alpha planes in Windows driver
-    - updated GGI driver (Filip Spacek)
-    Bug fixes:
-    - glext.h had wrong values for GL_DOT3_RGB[A]_EXT tokens
-    - OSMesaMakeCurrent() didn't recognize buffer size changes
-    - assorted conformance fixes for 16-bit/channel rendering
-    - texcombine alpha subtraction mode was broken
-    - fixed lighting bug with non-uniform scaling and display lists
-    - fixed bug when deleting shared display lists
-    - disabled SPARC cliptest assembly code (Mesa bug 544665)
-    - fixed a couple Solaris compilation/link problems
-    - blending clipped glDrawPixels didn't always work
-    - glGetTexImage() didn't accept packed pixel types
-    - glPixelMapu[is]v() could explode given too large of pixelmap
-    - glGetTexParameter[if]v() didn't accept GL_TEXTURE_MAX_ANISOTROPY_EXT
-    - glXCopyContext() could lead to segfaults
-    - glCullFace(GL_FRONT_AND_BACK) didn't work (bug 572665)
-    Changes:
-    - lots of C++ (g++) code clean-ups
-    - lots of T&L updates for the Radeon DRI driver
-    Known bugs:
-    - mipmap LOD computation (fixed for Mesa 4.1)
-
- -

April 2, 2002

-

Mesa 4.0.2 has been released. This is a stable bug-fix release. -

    New:
-      - New DOS (DJGPP) driver written by Daniel Borca
-      - New driver interface functions for TCL drivers (such as Radeon DRI)
-      - GL_RENDERER string returns "Mesa Offscreen16" or "Mesa Offscreen32"
-        if using deep color channels
-      - latest GL/glext.h and GL/glxext.h headers from SGI
-    Bug fixes:
-      - GL_BLEND with non-black texture env color wasn't always correct
-      - GL_REPLACE with GL_RGB texture format wasn't always correct (alpha)
-      - glTexEnviv( pname != GL_TEXTURE_ENV_COLOR ) was broken
-      - glReadPixels was sometimes mistakenly clipped by the scissor box
-      - glDraw/ReadPixels didn't catch all the errors that they should have
-      - Fixed 24bpp rendering problem in Windows driver (Karl Schultz)
-      - 16-bit GLchan mode fixes (m_trans_tmp.h, s_triangle.c)
-      - Fixed 1-bit float->int conversion bug in glDrawPixels(GL_DEPTH_COMP)
-      - glColorMask as sometimes effecting glXSwapBuffers()
-      - fixed a potential bug in XMesaGarbageCollect()
-      - N threads rendering into one window didn't work reliably
-      - glCopyPixels didn't work for deep color channels
-      - improved 8 -> 16bit/channel texture image conversion (Gerk Huisma)
-      - glPopAttrib() didn't correctly restore user clip planes
-      - user clip planes failed for some perspective projections (Chromium)
-
- -

December 17, 2001

-

Mesa 4.0.1 has been released. This is a stable bug-fix release. -

    New:
-      - better sub-pixel sample positions for AA triangles (Ray Tice)
-      - slightly faster blending for (GL_ZERO, GL_ONE) and (GL_ONE, GL_ZERO)
-    Bug fixes:
-      - added missing break statements in glGet*() for multisample cases
-      - fixed uninitialized hash table mutex bug (display lists / texobjs)
-      - fixed bad teximage error check conditional (bug 476846)
-      - fixed demos readtex.c compilation problem on Windows (Karl Schultz)
-      - added missing glGet() query for GL_MAX_TEXTURE_LOD_BIAS_EXT
-      - silence some compiler warnings (gcc 2.96)
-      - enable the #define GL_VERSION_1_3 in GL/gl.h
-      - added GL 1.3 and GLX 1.4 entries to gl_mangle.h and glx_mangle.h
-      - fixed glu.h typedef problem found with MSDev 6.0
-      - build libGL.so with -Bsymbolic (fixes bug found with Chromium)
-      - added missing 'const' to glXGetContextIDEXT() in glxext.h
-      - fixed a few glXGetProcAddress() errors (texture compression, etc)
-      - fixed start index bug in compiled vertex arrays (Keith)
-      - fixed compilation problems in src/SPARC/glapi_sparc.S
-      - fixed triangle strip "parity" bug found in VTK medical1 demo (Keith)
-      - use glXGetProcAddressARB in GLUT to avoid extension linking problems
-      - provoking vertex of flat-shaded, color-index triangles was wrong
-      - fixed a few display list bugs (GLUT walker, molecule, etc) (Keith)
-      - glTexParameter didn't flush the vertex buffer (Ray Tice)
-      - feedback attributes for glDraw/CopyPixels and glBitmap were wrong
-      - fixed bug in normal length caching (ParaView lighting bug)
-
- -

October 22, 2001

-

Mesa 4.0 has been released. This is a stable release. -

    New:
-      - Mesa 4.0 implements the OpenGL 1.3 specification
-      - GL_IBM_rasterpos_clip extension
-      - GL_EXT_texture_edge_clamp extension (aka GL_SGIS_texture_edge_clamp)
-      - GL_ARB_texture_mirrored_repeat extension
-      - WindML UGL driver (Stephane Raimbault)
-      - added OSMESA_MAX_WIDTH/HEIGHT queries
-      - attempted compiliation fixes for Solaris 5, 7 and 8
-      - updated glext.h and glxext.h files
-      - updated Windows driver (Karl Schultz)
-    Bug fixes:
-      - added some missing GLX 1.3 tokens to include/GL/glx.h
-      - GL_COLOR_MATRIX changes weren't recognized by teximage functions
-      - glCopyPixels with scale and bias was broken
-      - glRasterPos with lighting could segfault
-      - glDeleteTextures could leave a dangling pointer
-      - Proxy textures for cube maps didn't work
-      - fixed a number of 16-bit color channel bugs
-      - fixed a few minor memory leaks
-      - GLX context sharing was broken in 3.5
-      - fixed state-update bugs in glPopClientAttrib()
-      - fixed glDrawRangeElements() bug
-      - fixed a glPush/PopAttrib() bug related to texture binding
-      - flat-shaded, textured lines were broken
-      - fixed a dangling pointer problem in the XMesa code (Chris Burghart)
-      - lighting didn't always produce the correct alpha value
-      - fixed 3DNow! code to not read past end of arrays (Andrew Lewycky)
-
- - -

June 21, 2001

-

Mesa 3.5 has been released. This is a new development release. -

    New:
-	- internals of Mesa divided into modular pieces (Keith Whitwell)
-	- 100% OpenGL 1.2 conformance (passes all conformance tests)
-	- new AA line algorithm
-	- GL_EXT_convolution extension
-        - GL_ARB_imaging subset
-        - OSMesaCreateContextExt() function
-        - GL_ARB_texture_env_add extension (same as GL_EXT_texture_env_add)
-        - GL_MAX_TEXTURE_UNITS_ARB now defaults to eight
-        - GL_EXT_fog_coord extension (Keith Whitwell)
-        - GL_EXT_secondary_color extension (Keith Whitwell)
-        - GL_ARB_texture_env_add extension (same as GL_EXT_texture_env_add)
-        - GL_SGIX_depth_texture extension
-        - GL_SGIX_shadow and GL_SGIX_shadow_ambient extensions
-        - demos/shadowtex.c demo of GL_SGIX_depth_texture and GL_SGIX_shadow
-        - GL_ARB_texture_env_combine extension
-        - GL_ARB_texture_env_dot3 extension
-        - GL_ARB_texture_border_clamp (aka GL_SGIS_texture_border_clamp)
-        - OSMesaCreateContextExt() function
-        - libOSMesa.so library, contains the OSMesa driver interface
-        - GL/glxext.h header file for GLX extensions
-        - somewhat faster software texturing, fogging, depth testing
-        - all color-index conformance tests now pass (only 8bpp tested)
-        - SPARC assembly language TCL optimizations (David Miller)
-        - GL_SGIS_generate_mipmap extension
-    Bug Fixes:
-        - fbiRev and tmuRev were unitialized when using Glide3
-        - fixed a few color index mode conformance failures; all pass now
-        - now appling antialiasing coverage to alpha after texturing
-        - colors weren't getting clamped to [0,1] before color table lookup
-        - fixed RISC alignment errors caused by COPY_4UBV macro
-        - drawing wide, flat-shaded lines could cause a segfault
-        - vertices now snapped to 1/16 pixel to fix rendering of tiny triangles
-    Changes:
-        - SGI's Sample Implementation (SI) 1.3 GLU library replaces Mesa GLU
-        - new libOSMesa.so library, contains the OSMesa driver interface
-
- - -

May 17, 2001

-

Mesa 3.4.2 has been released. This is basically just a bug-fix release. -Here's what's new:

-
    Bug fixes:
-        - deleting the currently bound texture could cause bad problems
-        - using fog could result in random vertex alpha values
-         - AA triangle rendering could touch pixels outside right window bound
-        - fixed byteswapping problem in clear_32bit_ximage() function
-        - fixed bugs in wglUseFontBitmapsA(), by Frank Warmerdam
-        - fixed memory leak in glXUseXFont()
-        - fragment sampling in AA triangle function was off by 1/2 pixel
-        - Windows: reading pixels from framebuffer didn't always work
-        - glConvolutionFilter2D could segfault or cause FP exception
-        - fixed segfaults in FX and X drivers when using tex unit 1 but not 0
-        - GL_NAND logicop didn't work right in RGBA mode
-        - fixed a memory corruption bug in vertex buffer reset code
-        - clearing the softwara alpha buffer with scissoring was broken
-        - fixed a few color index mode fog bugs
-        - fixed some bad assertions in color index mode
-        - fixed FX line 'stipple' bug #420091
-    Changes:
-        - optimized writing mono-colored pixel spans to X pixmaps
-        - increased max viewport size to 2048 x 2048
-
- - -

April 29, 2001

-

New Mesa website

-

Mark Manning produced the new website.
Thanks, Mark!

- - -

February 14, 2001

-

Mesa 3.4.1 has been released. Here's what's new:

-
    New:
-        - fixed some Linux build problems
-        - fixed some Windows build problems
-        - GL_EXT_texture_env_dot3 extension (Gareth Hughes)
-    Bug fixes:
-        - added RENDER_START/RENDER_FINISH macros for glCopyTexImage in DRI
-        - various state-update code changes needed for DRI bugs
-        - disabled pixel transfer ops in glColorTable commands, not needed
-        - fixed bugs in glCopyConvolutionFilter1D/2D, glGetConvolutionFilter
-        - updated sources and fixed compile problems in widgets-mesa/
-        - GLX_PBUFFER enum value was wrong in glx.h
-        - fixed a glColorMaterial lighting bug
-        - fixed bad args to Read/WriteStencilSpan in h/w stencil clear function
-        - glXCopySubBufferMESA() Y position was off by one
-        - Error checking of glTexSubImage3D() was broken (bug 128775)
-        - glPopAttrib() didn't restore all derived Mesa state correctly
-        - Better glReadPixels accuracy for 16bpp color - fixes lots of OpenGL
-          conformance problems at 16bpp.
-        - clearing depth buffer with scissoring was broken, would segfault
-        - OSMesaGetDepthBuffer() returned bad bytesPerValue value
-        - fixed a line clipping bug (reported by Craig McDaniel)
-        - fixed RGB color over/underflow bug for very tiny triangles
-    Known problems:
-        - NURBS or evaluator surfaces inside display lists don't always work
-
-

-

November 3, 2000

-

Mesa 3.4 has been released. Here's what's new since the 3.3 release:

-
    New:
-    - optimized glDrawPixels for glPixelZoom(1,-1)
-    Bug Fixes:
-    - widgets-mesa/src/*.c files were missing from 3.3 distro
-    - include/GL/mesa_wgl.h file was missing from 3.3 distro
-    - fixed some Win32 compile problems
-    - texture object priorities weren't getting initialized to 1.0
-    - glAreTexturesResident return value was wrong when using hardware
-    - glXUseXFont segfaulted when using 3dfx driver (via MESA_GLX_FX)
-    - glReadPixels with GLushort packed types was broken
-    - fixed a few bugs in the GL_EXT_texture_env_combine texture code
-    - glPush/PopAttrib(GL_ENABLE_BIT) mishandled multi-texture enables
-    - fixed some typos/bugs in the VB code
-    - glDrawPixels(GL_COLOR_INDEX) to RGB window didn't work
-    - optimized glDrawPixels paths weren't being used
-    - per-fragment fog calculation didn't work without a Z buffer
-    - improved blending accuracy, fixes Glean  blendFunc test failures
-    - glPixelStore(GL_PACK/UNPACK_SKIP_IMAGES) wasn't handled correctly
-    - glXGetProcAddressARB() didn't always return the right address
-    - gluBuild[12]DMipmaps() didn't grok the GL_BGR pixel format
-    - texture matrix changes weren't always detected (GLUT projtex demo)
-    - fixed random color problem in vertex fog code
-    - fixed Glide-related bug that let Quake get a 24-bit Z buffer
-    Changes:
-    - finished internal support for compressed textures for DRI
-
-

-

April 24, 2000

-

Mesa 3.2 has been released. Here's what's new since the beta release:

-
    Bug fixes:
-    - fixed memcpy bugs in span.c
-    - fixed missing glEnd problem in demos/tessdemo.c
-    - fixed bug when clearing 24bpp Ximages
-    - fixed clipping problem found in Unreal Tournament
-    - fixed Loki's "ice bug" and "crazy triangles" seen in Heretic2
-    - fixed Loki's 3dfx RGB vs BGR bug
-    - fixed Loki's 3dfx smooth/flat shading bug in SoF
-    Changes:
-    - updated docs/README file
-    - use bcopy() optimizations on FreeBSD
-    - re-enabled the optimized persp_textured_triangle() function
-
-

-

March 23, 2000

-

I've just upload the Mesa 3.2 beta 1 files to SourceForge at http://sourceforge.net/project/filelist.php?group_id=3

-

3.2 (note even number) is a stabilization release of Mesa 3.1 meaning it's mainly -just bug fixes.

-

Here's what's changed: - -

    - Bug fixes: -
      - - mixed drawing of lines and bitmaps sometimes had wrong colors
      - - added missing glHintPGI() function
      - - fixed a polygon culling bug
      - - fixed bugs in gluPartialDisk()
      - - Z values in selection mode were wrong
      - - added missing tokens: -
        - GL_SMOOTH_POINT_SIZE_RANGE
        - GL_SMOOTH_POINT_SIZE_GRANULARITY
        - GL_SMOOTH_LINE_WIDTH_RANGE
        - GL_SMOOTH_LINE_WIDTH_GRANULARITY
        - GL_ALIASED_POINT_SIZE_RANGE
        - GL_ALIASED_LINE_WIDTH_RANGE -
      - - fixed glCopyPixels when copying from back to front buffer
      - - GL_EXT_compiled_vertex_array tokens had _SGI suffix instead of _EXT
      - - glDrawRangeElements(GL_LINES, 0, 1, 2, type, indices) was broken
      - - glDeleteTextures() didn't decrement reference count correctly
      - - GL_SRCA_ALPHA_SATURATE blend mode didn't work correctly
      - - Actual depth of transformation matrix stacks was off by one
      - - 24bpp visuals didn't address pixels correctly
      - - mipmap level of detail (lambda) calculation simplified, more accurate
      - - 101691 - Polygon clipping and GL_LINE
      - - 101928 - Polygon clipping and GL_LINE (same fix as above)
      - - 101808 - Non-glVertexArrays tristrip bug
      - - 101971 - find_last_3f on Dec OSF (worked around)
      - - 102369 - segv on dec osf (possibly a duplicate of the above)
      - - 102893 - orientations of modelview cause segfault -
    - New: -
      - - updated SVGA Linux driver
      - - added the MESA_FX_NO_SIGNALS env var, see docs/README.3DFX
      - - build libGLw.a (Xt/OpenGL drawing area widget) library by default
      - - changed -O2 to -O3 for a number of gcc configs -
    - Changes: -
      - - glXCopyContext's mask parameter is now unsigned long, per GLX spec -
    -
- -

Please report any problems with this release ASAP. Bugs should be filed on the -Mesa3D website at sourceforge.
-After 3.2 is wrapped up I hope to release 3.3 beta 1 soon afterward.

-

-- Brian

-

-

December 17, 1999

-

A Slashdot interview with Brian about Mesa (questions submitted by Slashdot readers) -can be found at http://slashdot.org/interviews/99/12/17/0927212.shtml.

-

-

December 14, 1999

-

Mesa 3.1 is released!

-

-

September 21, 1999

-

There appear to be two new files on the ftp site, MesaLib-3.1beta3.tar.gz -and MesaDemos-3.1beta3.tar.gz, -that seem to be... yes, I've just received confirmation from the beta center, they -are indeed the THIRD beta release of Mesa 3.1! Happy Days. Happy Days. Thanks -Keith Whitwell for preparing these for us during Brian's absence.

-

-

August 30, 1999

-

I'm pleased to announce that I've accepted a position with Precision Insight, -Inc. effective October, 1999. I'll be leaving Avid Technology in September.

-

I've been working on Mesa in my spare time for over five years. With Precision -Insight I now have the opportunity to devote my full attention to advancing Mesa -and OpenGL on Linux.

-

While I'll be focused on Linux, the X Window System, and hardware acceleration, -my work will continue to be open sourced and available to any other programmers who -may want to contribute to it, or use it for other projects or platforms

-

PS: I'm going to be traveling until Sep 6 and won't be reading email until then.

-

-

August 23, 1999

-

Anonymous CVS access is back online so suck up all the bandwidth you can afford. -Note that this is a new archive, so you will need to re-checkout the archive. That -means don't cvs update from a previous download.

-

-

August 17, 1999

-

A report from the SIGGRAPH '99 Linux/OpenGL -BOF meeting is now available.

-

-Brian

-

-

August 14, 1999

-

www.mesa3d.org is having technical problems due to hardware failures at VA Linux -systems. The Mac pages, ftp, and CVS services aren't fully restored yet. Please be -patient.

-

-Brian

-

-

June 7, 1999

-

RPMS of the nVidia RIVA server can be found at ftp://ftp.mesa3d.org/mesa/misc/nVidia/.

-

-

June 2, 1999

-

nVidia has released some Linux binaries for -xfree86 3.3.3.1, along with the full source, which includes GLX acceleration -based on Mesa 3.0. They can be downloaded from http://www.nvidia.com/Products.nsf/htmlmedia/software_drivers.html.

-

-

May 24, 1999

-

Beta 2 of Mesa 3.1 has been make available at ftp://ftp.mesa3d.org/mesa/beta/. -If you are into the quake scene, you may want to try this out, as it contains some -optimizations specifically in the Q3A rendering path. -

-

May 13, 1999

-

For those interested in the integration of Mesa into XFree86 4.0, Precision Insight -has posted their lowlevel design documents at http://www.precisioninsight.com.

-

-

May 13, 1999

-
May 1999 - John Carmack of id Software, Inc. has made a donation of
-US$10,000 to the Mesa project to support its continuing development.
-Mesa is a free implementation of the OpenGL 3D graphics library and id's
-newest game, Quake 3 Arena, will use Mesa as the 3D renderer on Linux.
-
-The donation will go to Keith Whitwell, who has been optimizing Mesa to
-improve performance on 3d hardware.  Thanks to Keith's work, many
-applications using Mesa 3.1 will see a dramatic performance increase
-over Mesa 3.0.  The donation will allow Keith to continue working on
-Mesa full time for some time to come.
-
-For more information about Mesa see www.mesa3d.org.  For more
-information about id Software, Inc. see www.idsoftware.com.
-
---------------------------------
-
-This donation from John/id is very generous.  Keith and I are very
-grateful.
-
-
-

-

May 1, 1999

-

John Carmack made an interesting .plan update yesterday: - -

    - "I put together a document on optimizing OpenGL drivers for Q3 that - should be helpful to the various Linux 3D teams.
    -
    http://www.quake3arena.com/news/glopt.html" -
- -

-

April 7, 1999

-

Updated the Mesa contributors section and added links to RPM Mesa packages.

-

-

March 18, 1999

-

The new webpages are now online. Enjoy, and let me know if you find any errors. -

-

February 16, 1999

-

SGI releases its GLX -source code.

-

-

January 22, 1999

-

www.mesa3d.org established

- - -

- - -
- - + + +Mesa News + + + + + + + +

News

+ + +

October 4, 2010

+ +

+Mesa 7.9 (final) is released. This is a new +development release. +

+ + +

September 27, 2010

+ +

+Mesa 7.9.0-rc1 is released. This is a +release candidate for the 7.9 development release. +

+ + +

June 16, 2010

+ +

+Mesa 7.8.2 is released. This is a bug-fix +release collecting fixes since the 7.8.1 release. +

+ + +

April 5, 2010

+ +

+Mesa 7.8.1 is released. This is a bug-fix +release for a few critical issues in the 7.8 release. +

+ + +

March 28, 2010

+

+Mesa 7.7.1 is released. This is a bug-fix +release fixing issues found in the 7.7 release. +

+

+Also, Mesa 7.8 is released. This is a new +development release. +

+ + + +

December 21, 2009

+

+Mesa 7.6.1 is released. This is a bug-fix +release fixing issues found in the 7.6 release. +

+

+Also, Mesa 7.7 is released. This is a new +development release. +

+ + +

September 28, 2009

+

+Mesa 7.6 is released. This is a new feature +release. Those especially concerned about stability may want to wait for the +follow-on 7.6.1 bug-fix release. +

+

+Mesa 7.5.2 is also released. +This is a stable release fixing bugs since the 7.5.1 release. +

+ + +

September 3, 2009

+

+Mesa 7.5.1 is released. +This is a bug-fix release which fixes bugs found in version 7.5. +

+ + +

July 17, 2009

+

+Mesa 7.5 is released. +This is a new features release. People especially concerned about +stability may want to wait for the follow-on 7.5.1 bug-fix release. +

+ + +

June 23, 2009

+

+Mesa 7.4.4 is released. +This is a stable release that fixes a regression in the i915/i965 drivers +that slipped into the 7.4.3 release. +

+ + +

June 19, 2009

+

+Mesa 7.4.3 is released. +This is a stable release fixing bugs since the 7.4.2 release. +

+ + +

May 15, 2009

+

+Mesa 7.4.2 is released. +This is a stable release fixing bugs since the 7.4.1 release. +

+ + +

April 18, 2009

+

+Mesa 7.4.1 is released. +This is a stable release fixing bugs since the 7.4 release. +

+ + +

March 27, 2009

+

+Mesa 7.4 is released. +This is a stable release fixing bugs since the 7.3 release. +

+ + +

January 22, 2009

+

+Mesa 7.3 is released. +This is a new development release. +Mesa 7.4 will follow and will have bug fixes relative to 7.3. +

+ + +

September 20, 2008

+

+Mesa 7.2 is released. +This is a stable, bug-fix release. +

+ + +

August 26, 2008

+

+Mesa 7.1 is released. +This is a new development release. +It should be relatively stable, but those especially concerned about +stability should wait for the 7.2 release or use Mesa 7.0.4 (the +previous stable release). +

+ + +

August 16, 2008

+

+Mesa 7.0.4 is released. +This is a bug-fix release. +

+ + +

April 4, 2008

+

+Mesa 7.0.3 is released. +This is a bug-fix release. +

+ + +

January 24, 2008

+ +

+Added a new page describing the Mesa Cell driver. +

+ + + +

November 13, 2007

+ +

+Gallium3D is the codename for the new Mesa device driver architecture +which is currently under development. +

+

+Gallium3D development is taking place on the gallium-0.1 branch +of the git repository. +Currently, there's only a software-only driver and an Intel i915/945 driver +but other drivers will be coming... +

+ + +

November 10, 2007

+

+Mesa 7.0.2 is released. +This is a bug-fix release. +

+ + +

August 3, 2007

+

+Mesa 7.0.1 is released. +This is a bug-fix release. +

+ + +

June 22, 2007

+

+Mesa 7.0 is released. +This is a stable release featuring OpenGL 2.1 support. +

+ + +

April 27, 2007

+

+Mesa 6.5.3 is released. +This is a development release which will lead up to the Mesa 7.0 release +(which will advertise OpenGL 2.1 API support). +

+ + +

March 26, 2007

+

+The new Shading Language compiler branch has been merged into the git +master branch. This is a step toward hardware support for the OpenGL +2.0 Shading Language and will be included in the next Mesa release. +In conjunction, Glean + has been updated with a new test that does over 130 tests of the +shading language and built-in functions. +

+ +

April 2007

+

+Thomas Hellström of Tungsten Graphics has written a whitepaper +describing the new DRI memory management system. +

+ +

December 5, 2006

+

+Mesa is now using git as its source code management system. +The previous CVS repository should no longer be used. +See the repository page for more information. +

+ +

December 2, 2006

+

+Mesa 6.5.2 has been released. +This is a new development release. +

+ +

September 15, 2006

+

+Mesa 6.5.1 has been released. +This is a new development release. +

+ +

March 31, 2006

+

+Mesa 6.5 has been released. +This is a new development release. +

+ + +

February 2, 2006

+

+Mesa 6.4.2 has been released. +This is stable, bug-fix release. +

+ + +

November 29, 2005

+

+Mesa 6.4.1 has been released. +This is stable, bug-fix release. +

+ + + +

October 24, 2005

+

+Mesa 6.4 has been released. +This is stable, bug-fix release. +

+ + +

August 19, 2005

+

+Mesa 6.3.2 has been released. +Note: there was no public release of version 6.3.1. +

+Changes in version 6.3.1 +

+The MD5 checksums are: +

+
+98192e45ed8d69113688f89f90869346  MesaLib-6.3.2.tar.gz
+0df27701df0924d17ddf41185efa8ce1  MesaLib-6.3.2.tar.bz2
+ccb2423aab77fc7e81ce628734586140  MesaLib-6.3.2.zip
+9d0fca0a7d051c34a0b485423fb3e85d  MesaDemos-6.3.2.tar.gz
+96708868450c188205e42229b5d813c4  MesaDemos-6.3.2.tar.bz2
+c5102501e609aa8996d832fafacb8ab9  MesaDemos-6.3.2.zip
+
+ + +

July 20, 2005

+

+Mesa 6.3 has been released. +This is a development release with new features, changes and bug fixes. +

+
+    New:
+	- GL_EXT_framebuffer_object extension
+	- GL_ARB_draw_buffers extension
+	- GL_ARB_pixel_buffer_object extension
+	- GL_OES_read_format extension (Ian Romanick)
+	- DirectFB driver (Claudio Ciccani)
+	- x86_64 vertex transformation code (Mikko T.)
+    Changes:
+	- added -stereo option for glxgears demo (Jacek Rosik)
+	- updated the PBuffer demo code in xdemos/ directory
+	- glDeleteTextures/Programs/Buffers() now makes the object ID
+	  available for immediate re-use
+	- assorted 64-bit clean-ups fixes (x86_64 and Win64)
+	- lots of internal changes for GL_EXT_framebuffer_object
+    Bug fixes:
+	- some functions didn't support PBO functionality
+	- glGetTexImage didn't convert color index images to RGBA as required
+	- fragment program texcoords were sometimes wrong for points and lines
+	- fixed problem with negative dot product in arbfplight, fplight demos
+	- fixed bug in perspective correction of antialiased, textured lines
+	- querying GL_POST_CONVOLUTION_ALPHA_BIAS_EXT returned wrong value
+	- fixed a couple per-pixel fog bugs (Soju Matsumoto)
+	- glGetBooleanv(GL_FRAGMENT_PROGRAM_BINDING_NV) was broken
+	- fixed float parsing bug in ARB frag/vert programs (bug 2520)
+	- XMesaGetDepthBuffer() returned incorrect value for bytesPerValue
+	- GL_COLOR_MATERIAL with glColor3 didn't properly set diffuse alpha
+	- glXChooseFBConfig() crashed if attribList pointer was NULL
+	- program state.light[n].spot.direction.w was wrong value (bug 3083)
+	- fragment program fog option required glEnable(GL_FOG) - wrong.
+	- glColorTable() could produce a Mesa implementation error (bug 3135)
+	- RasterPos could get corrupted by color index rendering path
+	- Removed bad XTranslateCoordinates call when rendering to Pixmaps
+	- glPopAttrib() didn't properly restore GL_TEXTURE_GEN enable state
+	- fixed a few Darwin compilation problems
+
+

+The MD5 checksums are: +

+
+0236f552d37514776945d5a013e5bb7b  MesaLib-6.3.tar.gz
+60e1a8f78c4a8c7750a1e95753190986  MesaLib-6.3.tar.bz2
+ca7c950fbace68c70caa822322db7223  MesaLib-6.3.zip
+25ea801645b376c014051804fe4974b2  MesaDemos-6.3.tar.gz
+9248e74872ea88c57ec25c900c295057  MesaDemos-6.3.tar.bz2
+8537dfa734ef258dcc7272097558d434  MesaDemos-6.3.zip
+
+ + +

December 9, 2004

+

+Mesa 6.2.1 has been released. +This is a stable release which just fixes bugs since the 6.2 release. +

+
+    Bug fixes:
+	- don't apply regular fog or color sum when using a fragment program
+	- glProgramEnvParameter4fARB always generated an error on
+	  GL_FRAGMENT_PROGRAM_ARB (fdo bug 1645)
+	- glVertexAttrib3svNV and glVertexAttrib3svARB were broken
+	- fixed width/height mix-up in glSeparableFilter2D()
+	- fixed regression in glCopyPixels + convolution
+	- glReadPixels from a clipped front color buffer didn't always work
+	- glTexImage didn't accept GL_RED/GREEN/BLUE as the format
+	- Attempting queries/accesses of VBO 0 weren't detected as errors
+	- paletted textures failed if the palette had fewer than 256 entries
+    Changes:
+	- fixed a bunch of compiler warnings found with gcc 3.4
+	- bug reports should to go bugzilla.freedesktop.org
+
+

+The MD5 checksums are: +

+
+80008a92f6e055d3bfdde2cf331ec3fa  MesaLib-6.2.1.tar.gz
+f43228cd2bf70f583ef3275c1c545421  MesaLib-6.2.1.tar.bz2
+dec26cfd40116ad021020fea2d94f652  MesaLib-6.2.1.zip
+2c7af3c986a7571c8713c8bfee7e49e3  MesaDemos-6.2.1.tar.gz
+3cac74667b50bcbd4f67f594fb4224a2  MesaDemos-6.2.1.tar.bz2
+75b3edd12eb2b370caf05f29b99e508a  MesaDemos-6.2.1.zip
+
+ + +

October 2, 2004

+

+Mesa 6.2 has been released. +This is a stable release which just fixes bugs since the 6.1 release. +

+
+    New:
+	- enabled GL_ARB_texture_rectangle (same as GL_NV_texture_rectangle)
+	- updated Doxygen support (Jose Fonseca)
+    Changes:
+	- some GGI driver updates (Christoph Egger, bug 1025977)
+    Bug fixes:
+	- Omit GL_ARB_texture_non_power_of_two from list of OpenGL 1.5 features
+	- fixed a few compilation issues on IRIX
+	- fixed a matrix classification bug (reported by Wes Bethel)
+	- we weren't reseting the vertex/fragment program error state
+	  before parsing (Dave Reveman)
+	- adjust texcoords for sampling texture rectangles (Dave Reveman)
+	- glGet*(GL_MAX_VERTEX_ATTRIBS_ARB) wasn't implemented
+	- repeated calls to glDeleteTexture(t) could lead to a crash
+	- fixed potential ref count bugs in VBOs and vertex/fragment programs
+	- spriteblast demo didn't handle window size changes correctly
+	- glTexSubImage didn't handle pixels=NULL correctly for PBOs
+	- fixed color index mode glDrawPixels bug (Karl Schultz)
+
+

+The MD5 checksums are: +

+
+9e8f34b059272dbb8e1f2c968b33bbf0  MesaLib-6.2.tar.gz
+3d6a6362390b6a37d3cb2e615f3ac7db  MesaLib-6.2.tar.bz2
+6cfd7895d28e695c0dbbed9469564091  MesaLib-6.2.zip
+3e06e33b0809f09855cb60883b8bdfef  MesaDemos-6.2.tar.gz
+9d160009c3dfdb35fe7e4088c9ba8f85  MesaDemos-6.2.tar.bz2
+856f7ec947122eb3c8985ebc2f654dcd  MesaDemos-6.2.zip
+
+ + +

August 18, 2004

+

+Mesa 6.1 has been released. +This is a new development release (version 6.2 will be a stabilization +release). +

+
+    New:
+	- Revamped Makefile system
+	- glXUseRotatedXFont() utility (see xdemos/xuserotfont.c)
+	- internal driver interface changes related to texture object
+	  allocation, vertex/fragment programs, BlendEquationSeparate, etc.
+	- option to walk triangle edges with double-precision floats
+	  (Justin Novosad of Discreet) (see config.h file)
+	- support for AUX buffers in software GLX driver
+	- updated glext.h to version 24 and glxext.h to version 6
+	- new MESA_GLX_FORCE_ALPHA and MESA_GLX_DEPTH_BITS env vars
+	- updated BeOS support (Philippe Houdoin)
+    Changes:
+	- fragment fog interpolation is perspective corrected now
+	- new glTexImage code, much cleaner, may be a bit faster
+    Bug fixes:
+	- glArrayElement in display lists didn't handle generic vertex attribs
+	- glFogCoord didn't always work properly
+	- ARB_fragment_program fog options didn't work
+	- frag prog TEX instruction no longer incorrectly divides s,t,r by q
+	- ARB frag prog TEX and TEXP instructions now use LOD=0
+	- glTexEnviv in display lists didn't work
+	- glRasterPos didn't do texgen or apply texture matrix
+	- GL_DOUBLE-valued vertex arrays were broken in some cases
+	- fixed texture rectangle edge/border sampling bugs
+	- sampling an incomplete texture in a fragment program would segfault
+	- glTexImage was missing a few error checks
+	- fixed some minor glGetTexParameter glitches
+	- GL_INTENSITY was mistakenly accepted as a  to glTexImage
+	- fragment program writes to RC/HC register were broken
+	- fixed a few glitches in GL_HP_occlusion_test extension
+	- glBeginQueryARB and glEndQueryARB didn't work inside display lists
+	- vertex program state references were broken
+	- fixed triangle color interpolation bug on AIX (Shane Blackett)
+	- fixed a number of minor memory leaks (bug #1002030)
+
+The MD5 checksums are: +

+
+c9284d295ebcd2e0486cc3cd54e5863c  MesaLib-6.1.tar.gz
+5de1f53ec0709f60fc68fdfed57351f3  MesaLib-6.1.tar.bz2
+483e77cac4789a5d36c42f3c0136d6d8  MesaLib-6.1.zip
+8c46cfa6f9732acc6f6c25724aad0246  MesaDemos-6.1.tar.gz
+89bfe0f6c69b39fd0ebd9fff481a4e9b  MesaDemos-6.1.tar.bz2
+161268531fcc6f0c5a056430ee97e0c1  MesaDemos-6.1.zip
+
+ + + +

April 2, 2004

+ +

+Mesa 6.0.1 has been released. +This release basically just fixes bugs since the 6.0. release. +

+
+    New:
+	- upgraded glext.h to version 22
+	- new build targets (Dan Schikore)
+	- new linux-x86-opteron build target (Heath Feather)
+    Bug fixes:
+	- glBindProgramARB didn't update all necessary state
+	- fixed build problems on OpenBSD
+	- omit CVS directories from tarballs
+	- glGetTexImage(GL_COLOR_INDEX) was broken
+	- fixed an infinite loop in t&l module
+	- silenced some valgrind warnings about using unitialized memory
+	- fixed some compilation/link glitches on IRIX (Mike Stephens)
+	- glBindProgram wasn't getting compiled into display lists
+	- GLX_FBCONFIG_ID wasn't recognized in glXChooseFBConfig() (bug 888079)
+	- two-sided lighting and vertex program didn't work (bug 887330)
+	- stores to program parameter registers in vertex state programs
+	  didn't work.
+	- fixed glOrtho bug found with gcc 3.2.2 (RH9)
+	- glXCreateWindow() wasn't fully implemented (bug 890894)
+	- generic vertex attribute arrays didn't work in display lists
+	- vertex buffer objects' default usage and access fields were wrong
+	- glDrawArrays with start!=0 was broken
+	- fragment program PK2H, UP2H, UP4B and UP4UB instructions were broken
+	- linux-osmesa16-static config didn't work
+	- fixed a few color index rendering problems (bug 910687)
+	- glInterleavedArrays didn't respect GL_CLIENT_ACTIVE_TEXTURE
+	- OSMesa RGB and BGR modes were broken
+	- glProgramStringARB mistakenly required a null-terminated string
+	- fragment program XPD instruction was incorrect
+	- glGetMaterial() didn't work reliably
+
+The MD5 checksums are: +

+
+011be0e79666c7a6eb9693fbf9348653  MesaLib-6.0.1.tar.gz
+b7f14088c5c2f14490d2739a91102112  MesaLib-6.0.1.tar.bz2
+bf0510cf0a2b87d64cdd317eca3f1db1  MesaLib-6.0.1.zip
+b7b648599e0aaee1c4ffc554a2a9139e  MesaDemos-6.0.1.tar.gz
+dd6aadfd9ca8e1cfa90c6ee492bc6f43  MesaDemos-6.0.1.tar.bz2
+eff71d59c211825e949199852f5a2316  MesaDemos-6.0.1.zip
+
+ + + +

January 16, 2004

+ +

+Mesa 6.0 has been released. This is a stabilization of the 5.1 release +and primarily just incorporates bug fixes. +

+
+    New:
+	- full OpenGL 1.5 support
+	- updated GL/glext.h file to version 21
+    Changes:
+	- changed max framebuffer size to 4Kx4K (MAX_WIDTH/HEIGHT in config.h)
+    Bug fixes:
+	- fixed bug in UNCLAMPED_FLOAT_TO_UBYTE macro; solves a color
+	  clamping issue
+	- updated suno5-gcc configs
+	- glColor3 functions sometimes resulted in undefined alpha values
+	- fixed FP divide by zero error seen on VMS with xlockmore, others
+	- fixed vertex/fragment program debug problem (bug 873011)
+	- building on AIX with gcc works now
+	- glDeleteProgramsARB failed for ARB fragment programs (bug 876160)
+	- glDrawRangeElements tried to modify potentially read-only storage
+	- updated files for building on Windows
+
+ + + +

December 28, 2003

+ +

+The Mesa CVS server has been moved to +freedesktop.org because of problems with SourceForge's anonymous +CVS service. +

+ +

Please see the CVS access page for details. +

+ + +

December 17, 2003

+ +

+Mesa 5.1 has been released. This is a new development release. +Mesa 6.0 will be the next stable release and will support all +OpenGL 1.5 features. +

+
+    New features:
+	- reorganized directory tree
+	- GL_ARB_vertex/fragment_program extensions (Michal Krol & Karl Rasche)
+	- GL_ATI_texture_env_combine3 extension (Ian Romanick)
+	- GL_SGI_texture_color_table extension (Eric Plante)
+	- GL_NV_fragment_program extension
+	- GL_NV_light_max_exponent extension
+	- GL_EXT_texture_rectangle (identical to GL_NV_texture_rectangle)
+	- GL_ARB_occlusion_query extension
+	- GL_ARB_point_sprite extension
+	- GL_ARB_texture_non_power_of_two extension
+	- GL_IBM_multimode_draw_arrays extension
+	- GL_EXT_texture_mirror_clamp extension (Ian Romanick)
+	- GL_ARB_vertex_buffer_object extension
+	- new X86 feature detection code (Petr Sebor)
+	- less memory used for display lists and vertex buffers
+	- demo of per-pixel lighting with a fragment program (demos/fplight.c)
+	- new version (18) of glext.h header
+	- new spriteblast.c demo of GL_ARB_point_sprite
+	- faster glDrawPixels in X11 driver in some cases (see RELNOTES-5.1)
+	- faster glCopyPixels in X11 driver in some cases (see RELNOTES-5.1)
+    Bug fixes:
+	- really enable OpenGL 1.4 features in DOS driver.
+	- fixed issues in glDrawPixels and glCopyPixels for very wide images
+	- glPixelMapf/ui/usv()'s size parameter is GLsizei, not GLint
+	- fixed some texgen bugs reported by Daniel Borca
+	- fixed wglMakeCurrent(NULL, NULL) bug (#835861)
+	- fixed glTexSubImage3D z-offset bug (Cedric Gautier)
+	- fixed RGBA blend enable bug (Ville Syrjala)
+	- glAccum is supposed to be a no-op in selection/feedback mode
+	- fixed texgen bug #597589 (John Popplewell)
+    Changes:
+	- dropped API trace feature (src/Trace/)
+	- documentation overhaul.  merged with website content.  more html.
+	- glxgears.c demo updated to use GLX swap rate extensions
+	- glTexImage1/2/3D now allows width/height/depth = 0
+	- disable SPARC asm code on Linux (bug 852204)
+
+ +The MD5 checksums are: +

+
+78f452f6c55478471a744f07147612b5  MesaLib-5.1.tar.gz
+67b3b8d3f7f4c8c44904551b851d01af  MesaLib-5.1.tar.bz2
+6dd19ffa750ec7f634e370a987505c9d  MesaLib-5.1.zip
+e0214d4ebb22409dfa9262f2b52fd828  MesaDemos-5.1.tar.gz
+066c9aff4fd924405de1ae9bad5ec9a7  MesaDemos-5.1.tar.bz2
+d2b5ba32b53e0ad0576c637a4cc1fb41  MesaDemos-5.1.zip
+
+ + +

November 12, 2003

+ +

+New Mesa 5.0.2 tarballs have been uploaded to SourceForge which fix a +number of automake/libtool problems. +

+

+The new MD5 checksums are: +

+
+a9dcf3ff9ad1b7d6ce73a0df7cff8b5b  MesaLib-5.0.2.tar.gz
+7b4bf9261657c2fca03796d4955e6f50  MesaLib-5.0.2.tar.bz2
+79c141bddcbad557647535d02194f346  MesaLib-5.0.2.zip
+952d9dc823dd818981d1a648d7b2668a  MesaDemos-5.0.2.tar.gz
+b81fafff90995025d2f25ea02b786642  MesaDemos-5.0.2.tar.bz2
+a21be975589e8a2d1871b6bb7874fffa  MesaDemos-5.0.2.zip
+
+ + + +

September 5, 2003

+ +

+Mesa 5.0.2 has been released. This is a stable, bug-fix release. +

+
+    Bug fixes:
+	- fixed texgen problem causing texcoord's Q to be zero (stex3d)
+	- default GL_TEXTURE_COMPARE_MODE_ARB was wrong
+	- GL_CURRENT_MATRIX_NV query was wrong
+	- GL_CURRENT_MATRIX_STACK_DEPTH_NV query was off by one
+	- GL_LIST_MODE query wasn't correct
+	- GL_FOG_COORDINATE_SOURCE_EXT query wasn't supported
+	- GL_SECONDARY_COLOR_ARRAY_SIZE_EXT query returned wrong value
+	- blended, wide lines didn't always work correctly (bug 711595)
+	- glVertexAttrib4svNV w component was always 1
+	- fixed bug in GL_IBM_rasterpos_clip (missing return)
+	- GL_DEPTH_TEXTURE_MODE = GL_ALPHA didn't work correctly
+	- a few Solaris compilation fixes
+	- fixed glClear() problem for DRI drivers (non-existant stencil, etc)
+	- fixed int/REAL mixup in GLU NURBS curve evaluator (Eric Cazeaux)
+	- fixed delete [] bug in SI GLU (bug 721765) (Diego Santa Cruz)
+	- glFog() didn't clamp fog colors
+	- fixed bad float/int conversion for GL_TEXTURE_PRIORITY in the
+	  gl[Get]TexParameteri[v] functions
+	- fixed invalid memory references in glTexGen functions (bug 781602)
+	- integer-valued color arrays weren't handled correctly
+	- glDrawPixels(GL_DEPTH_COMPONENT) with glPixelZoom didn't work
+	- GL_EXT_texture_lod_bias is part of 1.4, overlooked in 5.0.1
+    Changes:
+	- build GLUT with -fexceptions so C++ apps propogate exceptions
+
+ + + +

June 2003

+ +

+Mesa's directory tree has been overhauled. +Things are better organized now with some thought toward future needs. +

+

+In CVS, the latest Mesa 5.1 development code is now rooted under the +Mesa-newtree/ directory. The old top-level Mesa/ directory +holds the Mesa 5.0.x code which will be abandoned at some point. +

+ + + +

March 30, 2003

+ +

+Mesa 5.0.1 has been released. This is a stable, bug-fix release. +

+
+    New:
+	- DOS driver updates from Daniel Borca
+	- updated GL/gl_mangle.h file (Bill Hoffman)
+    Bug fixes:
+	- auto mipmap generation for cube maps was broken (bug 641363)
+	- writing/clearing software alpha channels was unreliable
+	- minor compilation fixes for OS/2 (Evgeny Kotsuba)
+	- fixed some bad assertions found with shadowtex demo
+	- fixed error checking bug in glCopyTexSubImage2D (bug 659020)
+	- glRotate(angle, -x, 0, 0) was incorrect (bug 659677)
+	- fixed potential segfault in texture object validation (bug 659012)
+	- fixed some bogus code in _mesa_test_os_sse_exception_support (Linus)
+	- fix fog stride bug in tnl code for h/w drivers (Michel Danzer)
+	- fixed glActiveTexture / glMatrixMode(GL_TEXTURE) bug (#669080)
+	- glGet(GL_CURRENT_SECONDARY_COLOR) should return 4 values, not 3
+	- fixed compilation problem on Solaris7/x86 (bug 536406)
+	- fixed prefetch bug in 3DNow! code (Felix Kuhling)
+	- fixed NeXT build problem (FABSF macro)
+	- glDrawPixels Z values when glPixelZoom!=1 were invalid (bug 687811)
+	- zoomed glDraw/CopyPixels with clipping sometimes failed (bug 689964)
+	- AA line and triangle Z values are now rounded, not truncated
+	- fixed color interpolation bug when GLchan==GLfloat (bug 694461)
+	- glArePrograms/TexturesResident() wasn't 100% correct (Jose Fonseca)
+	- fixed a minor GL_COLOR_MATERIAL bug
+	- NV vertex program EXP instruction was broken
+	- glColorMask misbehaved with X window / pixmap rendering
+	- fix autoconf/libtool GLU C++ linker problem on Linux (a total hack)
+	- attempt to fix GGI compilation problem when MesaDemos not present
+	- NV vertex program ARL-relative fetches didn't work
+    Changes:
+	- use glPolygonOffset in gloss demo to avoid z-fighting artifacts
+	- updated winpos and pointblast demos to use ARB extensions
+	- disable SPARC normal transformation code (bug 673938)
+	- GLU fixes for OS/2 (Evgeny Kotsuba)
+
+

+MD5 checksums follow: +

+
+b80f8b5d53a3e9f19b9fde5af0c542f0  MesaLib-5.0.1.tar.gz
+513b4bbd7d38951f05027179063d876b  MesaLib-5.0.1.tar.bz2
+eebd395678f4520d33b267e5d5c22651  MesaLib-5.0.1.zip
+49d7feaec6dc1d2091d7c3cc72a9b320  MesaDemos-5.0.1.tar.gz
+37190374a98c3c892f0698be9ca3acf0  MesaDemos-5.0.1.tar.bz2
+becd8bf17f5791361b4a54ba2a78e5c9  MesaDemos-5.0.1.zip
+
+ + + +

March 7, 2003

+

+Website and documentation overhaul. +

+

+The website content and Mesa documentation (from the doc/ directory) have +been merged together. +All the documentation files have been entered into the CVS repository. +Many of the old plain-text files have been converted to html and modernized. +

+ + +

November 13, 2002

+

Mesa 5.0 has been released. This is a stable release which +implements the OpenGL 1.4 specification. +

New:
+    - OpenGL 1.4 support (glGetString(GL_VERSION) returns "1.4")
+    - removed some overlooked debugging code
+    - glxinfo updated to support GLX_ARB_multisample
+    - GLUT now support GLX_ARB_multisample
+    - updated DOS driver (Daniel Borca)
+Bug fixes:
+    - GL_POINT and GL_LINE-mode polygons didn't obey cull state
+    - fixed potential bug in _mesa_align_malloc/calloc()
+    - fixed missing triangle bug when running vertex programs
+    - fixed a few HPUX compilation problems
+    - FX (Glide) driver didn't compile
+    - setting GL_TEXTURE_BORDER_COLOR with glTexParameteriv() didn't work
+    - a few EXT functions, like glGenTexturesEXT, were no-ops
+    - a few OpenGL 1.4 functions like glFogCoord*, glBlendFuncSeparate,
+      glMultiDrawArrays and glMultiDrawElements were missing
+    - glGet*(GL_ACTIVE_STENCIL_FACE_EXT) was broken
+    - Pentium 4 Mobile was mistakenly identified as having 3DNow!
+    - fixed one-bit error in point/line fragment Z calculation
+    - fixed potential segfault in fakeglx code
+    - fixed color overflow problem in DOT3 texture env mode
+
+ + +

October 29, 2002

+

Mesa 4.1 has been released. This is a new development release. +For a stable release, get 4.0.4. +

New:
+    - GL_NV_vertex_program extension
+    - GL_NV_vertex_program1_1 extension
+    - GL_ARB_window_pos extension
+    - GL_ARB_depth_texture extension
+    - GL_ARB_shadow extension
+    - GL_ARB_shadow_ambient extension
+    - GL_EXT_shadow_funcs extension
+    - GL_ARB_point_parameters extension
+    - GL_ARB_texture_env_crossbar
+    - GL_NV_point_sprite extension
+    - GL_NV_texture_rectangle extension
+    - GL_EXT_multi_draw_arrays extension
+    - GL_EXT_stencil_two_side extension
+    - GLX_SGIX_fbconfig and GLX_SGIX_pbuffer extensions
+    - GL_ATI_texture_mirror_once extension (Ian Romanick)
+    - massive overhaul/simplification of software rasterizer module,
+      many contributions from Klaus Niederkrueger
+    - faster software texturing in some cases (i.e. trilinear filtering)
+    - new OSMesaGetProcAddress() function
+    - more blend modes implemented with MMX code (Jose Fonseca)
+    - added glutGetProcAddress() to GLUT
+    - added GLUT_FPS env var to compute frames/second in glutSwapBuffers()
+    - pbinfo and pbdemo PBuffer programs
+    - glxinfo -v prints transprent pixel info (Gerd Sussner)
+Bug fixes:
+    - better mipmap LOD computation (prevents excessive blurriness)
+    - OSMesaMakeCurrent() didn't recognize buffer size changes
+    - assorted conformance fixes for 16-bit/channel rendering
+    - texcombine alpha subtraction mode was broken
+    - fixed some blend problems when GLchan==GLfloat (Gerk Huisma)
+    - clamp colors to [0,1] in OSMesa if GLchan==GLfloat (Gerk Huisma)
+    - fixed divide by zero error in NURBS tessellator (Jon Perry)
+    - fixed GL_LINEAR fog bug by adding clamping
+    - fixed FP exceptions found using Alpha CPU
+    - 3dfx/glide driver render-to-window feature was broken
+    - added missing GLX_TRANSPARENT_RGB token to glx.h
+    - fixed error checking related to paletted textures
+    - fixed reference count error in glDeleteTextures (Randy Fayan)
+Changes:
+    - New spec file and Python code to generate some GL dispatch files
+    - Glide driver defaults to "no" with autoconf/automake
+    - floating point color channels now clamped to [0,inf)
+    - updated demos/stex3d with new options
+
+ + +

October 4, 2002

+

+The Mesa FAQ has been rewritten. +

+ +

October 3, 2002

+

Mesa 4.0.4 has been released. This is a stable bug-fix release. +

    New:
+	- GL_NV_texture_rectangle extension
+	- updated glext.h header (version 17)
+	- updated DOS driver (Daniel Borca)
+	- updated BeOS R5 driver (Philippe Houdoin)
+	- added GL_IBM_texture_mirror_repeat
+	- glxinfo now takes -l option to print interesting OpenGL limits info
+	- GL_MESA_ycbcr_texture extension
+	- GL_APPLE_client_storage extension (for some DRI drivers only)
+	- GL_MESA_pack_invert extension
+    Bug fixes:
+	- fixed GL_LINEAR fog bug by adding clamping
+	- fixed FP exceptions found using Alpha CPU
+	- 3dfx MESA_GLX_FX=window (render to window) didn't work
+	- fixed memory leak in wglCreateContest (Karl Schultz)
+	- define GLAPIENTRY and GLAPI if undefined in glu.h
+	- wglGetProcAddress didn't handle all API functions
+	- when testing for OpenGL 1.2 vs 1.3, check for GL_ARB_texture_cube_map
+	- removed GL_MAX_CONVOLUTION_WIDTH/HEIGHT from glGetInteger/Float/etc()
+	- error checking in compressed tex image functions had some glitches
+	- fixed AIX compile problem in src/config.c
+	- glGetTexImage was using pixel unpacking instead of packing params
+	- auto-mipmap generation for cube maps was incorrect
+    Changes:
+	- max texture units reduced to six to accomodate texture rectangles
+	- removed unfinished GL_MESA_sprite_point extension code
+
+ +

June 25, 2002

+

Mesa 4.0.3 has been released. This is a stable bug-fix release. +

    New:
+    - updated GL/glext.h file (version 15)
+    - corrected MMX blend code (Jose Fonseca)
+    - support for software-based alpha planes in Windows driver
+    - updated GGI driver (Filip Spacek)
+    Bug fixes:
+    - glext.h had wrong values for GL_DOT3_RGB[A]_EXT tokens
+    - OSMesaMakeCurrent() didn't recognize buffer size changes
+    - assorted conformance fixes for 16-bit/channel rendering
+    - texcombine alpha subtraction mode was broken
+    - fixed lighting bug with non-uniform scaling and display lists
+    - fixed bug when deleting shared display lists
+    - disabled SPARC cliptest assembly code (Mesa bug 544665)
+    - fixed a couple Solaris compilation/link problems
+    - blending clipped glDrawPixels didn't always work
+    - glGetTexImage() didn't accept packed pixel types
+    - glPixelMapu[is]v() could explode given too large of pixelmap
+    - glGetTexParameter[if]v() didn't accept GL_TEXTURE_MAX_ANISOTROPY_EXT
+    - glXCopyContext() could lead to segfaults
+    - glCullFace(GL_FRONT_AND_BACK) didn't work (bug 572665)
+    Changes:
+    - lots of C++ (g++) code clean-ups
+    - lots of T&L updates for the Radeon DRI driver
+    Known bugs:
+    - mipmap LOD computation (fixed for Mesa 4.1)
+
+ +

April 2, 2002

+

Mesa 4.0.2 has been released. This is a stable bug-fix release. +

    New:
+      - New DOS (DJGPP) driver written by Daniel Borca
+      - New driver interface functions for TCL drivers (such as Radeon DRI)
+      - GL_RENDERER string returns "Mesa Offscreen16" or "Mesa Offscreen32"
+        if using deep color channels
+      - latest GL/glext.h and GL/glxext.h headers from SGI
+    Bug fixes:
+      - GL_BLEND with non-black texture env color wasn't always correct
+      - GL_REPLACE with GL_RGB texture format wasn't always correct (alpha)
+      - glTexEnviv( pname != GL_TEXTURE_ENV_COLOR ) was broken
+      - glReadPixels was sometimes mistakenly clipped by the scissor box
+      - glDraw/ReadPixels didn't catch all the errors that they should have
+      - Fixed 24bpp rendering problem in Windows driver (Karl Schultz)
+      - 16-bit GLchan mode fixes (m_trans_tmp.h, s_triangle.c)
+      - Fixed 1-bit float->int conversion bug in glDrawPixels(GL_DEPTH_COMP)
+      - glColorMask as sometimes effecting glXSwapBuffers()
+      - fixed a potential bug in XMesaGarbageCollect()
+      - N threads rendering into one window didn't work reliably
+      - glCopyPixels didn't work for deep color channels
+      - improved 8 -> 16bit/channel texture image conversion (Gerk Huisma)
+      - glPopAttrib() didn't correctly restore user clip planes
+      - user clip planes failed for some perspective projections (Chromium)
+
+ +

December 17, 2001

+

Mesa 4.0.1 has been released. This is a stable bug-fix release. +

    New:
+      - better sub-pixel sample positions for AA triangles (Ray Tice)
+      - slightly faster blending for (GL_ZERO, GL_ONE) and (GL_ONE, GL_ZERO)
+    Bug fixes:
+      - added missing break statements in glGet*() for multisample cases
+      - fixed uninitialized hash table mutex bug (display lists / texobjs)
+      - fixed bad teximage error check conditional (bug 476846)
+      - fixed demos readtex.c compilation problem on Windows (Karl Schultz)
+      - added missing glGet() query for GL_MAX_TEXTURE_LOD_BIAS_EXT
+      - silence some compiler warnings (gcc 2.96)
+      - enable the #define GL_VERSION_1_3 in GL/gl.h
+      - added GL 1.3 and GLX 1.4 entries to gl_mangle.h and glx_mangle.h
+      - fixed glu.h typedef problem found with MSDev 6.0
+      - build libGL.so with -Bsymbolic (fixes bug found with Chromium)
+      - added missing 'const' to glXGetContextIDEXT() in glxext.h
+      - fixed a few glXGetProcAddress() errors (texture compression, etc)
+      - fixed start index bug in compiled vertex arrays (Keith)
+      - fixed compilation problems in src/SPARC/glapi_sparc.S
+      - fixed triangle strip "parity" bug found in VTK medical1 demo (Keith)
+      - use glXGetProcAddressARB in GLUT to avoid extension linking problems
+      - provoking vertex of flat-shaded, color-index triangles was wrong
+      - fixed a few display list bugs (GLUT walker, molecule, etc) (Keith)
+      - glTexParameter didn't flush the vertex buffer (Ray Tice)
+      - feedback attributes for glDraw/CopyPixels and glBitmap were wrong
+      - fixed bug in normal length caching (ParaView lighting bug)
+
+ +

October 22, 2001

+

Mesa 4.0 has been released. This is a stable release. +

    New:
+      - Mesa 4.0 implements the OpenGL 1.3 specification
+      - GL_IBM_rasterpos_clip extension
+      - GL_EXT_texture_edge_clamp extension (aka GL_SGIS_texture_edge_clamp)
+      - GL_ARB_texture_mirrored_repeat extension
+      - WindML UGL driver (Stephane Raimbault)
+      - added OSMESA_MAX_WIDTH/HEIGHT queries
+      - attempted compiliation fixes for Solaris 5, 7 and 8
+      - updated glext.h and glxext.h files
+      - updated Windows driver (Karl Schultz)
+    Bug fixes:
+      - added some missing GLX 1.3 tokens to include/GL/glx.h
+      - GL_COLOR_MATRIX changes weren't recognized by teximage functions
+      - glCopyPixels with scale and bias was broken
+      - glRasterPos with lighting could segfault
+      - glDeleteTextures could leave a dangling pointer
+      - Proxy textures for cube maps didn't work
+      - fixed a number of 16-bit color channel bugs
+      - fixed a few minor memory leaks
+      - GLX context sharing was broken in 3.5
+      - fixed state-update bugs in glPopClientAttrib()
+      - fixed glDrawRangeElements() bug
+      - fixed a glPush/PopAttrib() bug related to texture binding
+      - flat-shaded, textured lines were broken
+      - fixed a dangling pointer problem in the XMesa code (Chris Burghart)
+      - lighting didn't always produce the correct alpha value
+      - fixed 3DNow! code to not read past end of arrays (Andrew Lewycky)
+
+ + +

June 21, 2001

+

Mesa 3.5 has been released. This is a new development release. +

    New:
+	- internals of Mesa divided into modular pieces (Keith Whitwell)
+	- 100% OpenGL 1.2 conformance (passes all conformance tests)
+	- new AA line algorithm
+	- GL_EXT_convolution extension
+        - GL_ARB_imaging subset
+        - OSMesaCreateContextExt() function
+        - GL_ARB_texture_env_add extension (same as GL_EXT_texture_env_add)
+        - GL_MAX_TEXTURE_UNITS_ARB now defaults to eight
+        - GL_EXT_fog_coord extension (Keith Whitwell)
+        - GL_EXT_secondary_color extension (Keith Whitwell)
+        - GL_ARB_texture_env_add extension (same as GL_EXT_texture_env_add)
+        - GL_SGIX_depth_texture extension
+        - GL_SGIX_shadow and GL_SGIX_shadow_ambient extensions
+        - demos/shadowtex.c demo of GL_SGIX_depth_texture and GL_SGIX_shadow
+        - GL_ARB_texture_env_combine extension
+        - GL_ARB_texture_env_dot3 extension
+        - GL_ARB_texture_border_clamp (aka GL_SGIS_texture_border_clamp)
+        - OSMesaCreateContextExt() function
+        - libOSMesa.so library, contains the OSMesa driver interface
+        - GL/glxext.h header file for GLX extensions
+        - somewhat faster software texturing, fogging, depth testing
+        - all color-index conformance tests now pass (only 8bpp tested)
+        - SPARC assembly language TCL optimizations (David Miller)
+        - GL_SGIS_generate_mipmap extension
+    Bug Fixes:
+        - fbiRev and tmuRev were unitialized when using Glide3
+        - fixed a few color index mode conformance failures; all pass now
+        - now appling antialiasing coverage to alpha after texturing
+        - colors weren't getting clamped to [0,1] before color table lookup
+        - fixed RISC alignment errors caused by COPY_4UBV macro
+        - drawing wide, flat-shaded lines could cause a segfault
+        - vertices now snapped to 1/16 pixel to fix rendering of tiny triangles
+    Changes:
+        - SGI's Sample Implementation (SI) 1.3 GLU library replaces Mesa GLU
+        - new libOSMesa.so library, contains the OSMesa driver interface
+
+ + +

May 17, 2001

+

Mesa 3.4.2 has been released. This is basically just a bug-fix release. +Here's what's new:

+
    Bug fixes:
+        - deleting the currently bound texture could cause bad problems
+        - using fog could result in random vertex alpha values
+         - AA triangle rendering could touch pixels outside right window bound
+        - fixed byteswapping problem in clear_32bit_ximage() function
+        - fixed bugs in wglUseFontBitmapsA(), by Frank Warmerdam
+        - fixed memory leak in glXUseXFont()
+        - fragment sampling in AA triangle function was off by 1/2 pixel
+        - Windows: reading pixels from framebuffer didn't always work
+        - glConvolutionFilter2D could segfault or cause FP exception
+        - fixed segfaults in FX and X drivers when using tex unit 1 but not 0
+        - GL_NAND logicop didn't work right in RGBA mode
+        - fixed a memory corruption bug in vertex buffer reset code
+        - clearing the softwara alpha buffer with scissoring was broken
+        - fixed a few color index mode fog bugs
+        - fixed some bad assertions in color index mode
+        - fixed FX line 'stipple' bug #420091
+    Changes:
+        - optimized writing mono-colored pixel spans to X pixmaps
+        - increased max viewport size to 2048 x 2048
+
+ + +

April 29, 2001

+

New Mesa website

+

Mark Manning produced the new website.
Thanks, Mark!

+ + +

February 14, 2001

+

Mesa 3.4.1 has been released. Here's what's new:

+
    New:
+        - fixed some Linux build problems
+        - fixed some Windows build problems
+        - GL_EXT_texture_env_dot3 extension (Gareth Hughes)
+    Bug fixes:
+        - added RENDER_START/RENDER_FINISH macros for glCopyTexImage in DRI
+        - various state-update code changes needed for DRI bugs
+        - disabled pixel transfer ops in glColorTable commands, not needed
+        - fixed bugs in glCopyConvolutionFilter1D/2D, glGetConvolutionFilter
+        - updated sources and fixed compile problems in widgets-mesa/
+        - GLX_PBUFFER enum value was wrong in glx.h
+        - fixed a glColorMaterial lighting bug
+        - fixed bad args to Read/WriteStencilSpan in h/w stencil clear function
+        - glXCopySubBufferMESA() Y position was off by one
+        - Error checking of glTexSubImage3D() was broken (bug 128775)
+        - glPopAttrib() didn't restore all derived Mesa state correctly
+        - Better glReadPixels accuracy for 16bpp color - fixes lots of OpenGL
+          conformance problems at 16bpp.
+        - clearing depth buffer with scissoring was broken, would segfault
+        - OSMesaGetDepthBuffer() returned bad bytesPerValue value
+        - fixed a line clipping bug (reported by Craig McDaniel)
+        - fixed RGB color over/underflow bug for very tiny triangles
+    Known problems:
+        - NURBS or evaluator surfaces inside display lists don't always work
+
+

+

November 3, 2000

+

Mesa 3.4 has been released. Here's what's new since the 3.3 release:

+
    New:
+    - optimized glDrawPixels for glPixelZoom(1,-1)
+    Bug Fixes:
+    - widgets-mesa/src/*.c files were missing from 3.3 distro
+    - include/GL/mesa_wgl.h file was missing from 3.3 distro
+    - fixed some Win32 compile problems
+    - texture object priorities weren't getting initialized to 1.0
+    - glAreTexturesResident return value was wrong when using hardware
+    - glXUseXFont segfaulted when using 3dfx driver (via MESA_GLX_FX)
+    - glReadPixels with GLushort packed types was broken
+    - fixed a few bugs in the GL_EXT_texture_env_combine texture code
+    - glPush/PopAttrib(GL_ENABLE_BIT) mishandled multi-texture enables
+    - fixed some typos/bugs in the VB code
+    - glDrawPixels(GL_COLOR_INDEX) to RGB window didn't work
+    - optimized glDrawPixels paths weren't being used
+    - per-fragment fog calculation didn't work without a Z buffer
+    - improved blending accuracy, fixes Glean  blendFunc test failures
+    - glPixelStore(GL_PACK/UNPACK_SKIP_IMAGES) wasn't handled correctly
+    - glXGetProcAddressARB() didn't always return the right address
+    - gluBuild[12]DMipmaps() didn't grok the GL_BGR pixel format
+    - texture matrix changes weren't always detected (GLUT projtex demo)
+    - fixed random color problem in vertex fog code
+    - fixed Glide-related bug that let Quake get a 24-bit Z buffer
+    Changes:
+    - finished internal support for compressed textures for DRI
+
+

+

April 24, 2000

+

Mesa 3.2 has been released. Here's what's new since the beta release:

+
    Bug fixes:
+    - fixed memcpy bugs in span.c
+    - fixed missing glEnd problem in demos/tessdemo.c
+    - fixed bug when clearing 24bpp Ximages
+    - fixed clipping problem found in Unreal Tournament
+    - fixed Loki's "ice bug" and "crazy triangles" seen in Heretic2
+    - fixed Loki's 3dfx RGB vs BGR bug
+    - fixed Loki's 3dfx smooth/flat shading bug in SoF
+    Changes:
+    - updated docs/README file
+    - use bcopy() optimizations on FreeBSD
+    - re-enabled the optimized persp_textured_triangle() function
+
+

+

March 23, 2000

+

I've just upload the Mesa 3.2 beta 1 files to SourceForge at http://sourceforge.net/project/filelist.php?group_id=3

+

3.2 (note even number) is a stabilization release of Mesa 3.1 meaning it's mainly +just bug fixes.

+

Here's what's changed: + +

    + Bug fixes: +
      + - mixed drawing of lines and bitmaps sometimes had wrong colors
      + - added missing glHintPGI() function
      + - fixed a polygon culling bug
      + - fixed bugs in gluPartialDisk()
      + - Z values in selection mode were wrong
      + - added missing tokens: +
        + GL_SMOOTH_POINT_SIZE_RANGE
        + GL_SMOOTH_POINT_SIZE_GRANULARITY
        + GL_SMOOTH_LINE_WIDTH_RANGE
        + GL_SMOOTH_LINE_WIDTH_GRANULARITY
        + GL_ALIASED_POINT_SIZE_RANGE
        + GL_ALIASED_LINE_WIDTH_RANGE +
      + - fixed glCopyPixels when copying from back to front buffer
      + - GL_EXT_compiled_vertex_array tokens had _SGI suffix instead of _EXT
      + - glDrawRangeElements(GL_LINES, 0, 1, 2, type, indices) was broken
      + - glDeleteTextures() didn't decrement reference count correctly
      + - GL_SRCA_ALPHA_SATURATE blend mode didn't work correctly
      + - Actual depth of transformation matrix stacks was off by one
      + - 24bpp visuals didn't address pixels correctly
      + - mipmap level of detail (lambda) calculation simplified, more accurate
      + - 101691 - Polygon clipping and GL_LINE
      + - 101928 - Polygon clipping and GL_LINE (same fix as above)
      + - 101808 - Non-glVertexArrays tristrip bug
      + - 101971 - find_last_3f on Dec OSF (worked around)
      + - 102369 - segv on dec osf (possibly a duplicate of the above)
      + - 102893 - orientations of modelview cause segfault +
    + New: +
      + - updated SVGA Linux driver
      + - added the MESA_FX_NO_SIGNALS env var, see docs/README.3DFX
      + - build libGLw.a (Xt/OpenGL drawing area widget) library by default
      + - changed -O2 to -O3 for a number of gcc configs +
    + Changes: +
      + - glXCopyContext's mask parameter is now unsigned long, per GLX spec +
    +
+ +

Please report any problems with this release ASAP. Bugs should be filed on the +Mesa3D website at sourceforge.
+After 3.2 is wrapped up I hope to release 3.3 beta 1 soon afterward.

+

-- Brian

+

+

December 17, 1999

+

A Slashdot interview with Brian about Mesa (questions submitted by Slashdot readers) +can be found at http://slashdot.org/interviews/99/12/17/0927212.shtml.

+

+

December 14, 1999

+

Mesa 3.1 is released!

+

+

September 21, 1999

+

There appear to be two new files on the ftp site, MesaLib-3.1beta3.tar.gz +and MesaDemos-3.1beta3.tar.gz, +that seem to be... yes, I've just received confirmation from the beta center, they +are indeed the THIRD beta release of Mesa 3.1! Happy Days. Happy Days. Thanks +Keith Whitwell for preparing these for us during Brian's absence.

+

+

August 30, 1999

+

I'm pleased to announce that I've accepted a position with Precision Insight, +Inc. effective October, 1999. I'll be leaving Avid Technology in September.

+

I've been working on Mesa in my spare time for over five years. With Precision +Insight I now have the opportunity to devote my full attention to advancing Mesa +and OpenGL on Linux.

+

While I'll be focused on Linux, the X Window System, and hardware acceleration, +my work will continue to be open sourced and available to any other programmers who +may want to contribute to it, or use it for other projects or platforms

+

PS: I'm going to be traveling until Sep 6 and won't be reading email until then.

+

+

August 23, 1999

+

Anonymous CVS access is back online so suck up all the bandwidth you can afford. +Note that this is a new archive, so you will need to re-checkout the archive. That +means don't cvs update from a previous download.

+

+

August 17, 1999

+

A report from the SIGGRAPH '99 Linux/OpenGL +BOF meeting is now available.

+

-Brian

+

+

August 14, 1999

+

www.mesa3d.org is having technical problems due to hardware failures at VA Linux +systems. The Mac pages, ftp, and CVS services aren't fully restored yet. Please be +patient.

+

-Brian

+

+

June 7, 1999

+

RPMS of the nVidia RIVA server can be found at ftp://ftp.mesa3d.org/mesa/misc/nVidia/.

+

+

June 2, 1999

+

nVidia has released some Linux binaries for +xfree86 3.3.3.1, along with the full source, which includes GLX acceleration +based on Mesa 3.0. They can be downloaded from http://www.nvidia.com/Products.nsf/htmlmedia/software_drivers.html.

+

+

May 24, 1999

+

Beta 2 of Mesa 3.1 has been make available at ftp://ftp.mesa3d.org/mesa/beta/. +If you are into the quake scene, you may want to try this out, as it contains some +optimizations specifically in the Q3A rendering path. +

+

May 13, 1999

+

For those interested in the integration of Mesa into XFree86 4.0, Precision Insight +has posted their lowlevel design documents at http://www.precisioninsight.com.

+

+

May 13, 1999

+
May 1999 - John Carmack of id Software, Inc. has made a donation of
+US$10,000 to the Mesa project to support its continuing development.
+Mesa is a free implementation of the OpenGL 3D graphics library and id's
+newest game, Quake 3 Arena, will use Mesa as the 3D renderer on Linux.
+
+The donation will go to Keith Whitwell, who has been optimizing Mesa to
+improve performance on 3d hardware.  Thanks to Keith's work, many
+applications using Mesa 3.1 will see a dramatic performance increase
+over Mesa 3.0.  The donation will allow Keith to continue working on
+Mesa full time for some time to come.
+
+For more information about Mesa see www.mesa3d.org.  For more
+information about id Software, Inc. see www.idsoftware.com.
+
+--------------------------------
+
+This donation from John/id is very generous.  Keith and I are very
+grateful.
+
+
+

+

May 1, 1999

+

John Carmack made an interesting .plan update yesterday: + +

    + "I put together a document on optimizing OpenGL drivers for Q3 that + should be helpful to the various Linux 3D teams.
    +
    http://www.quake3arena.com/news/glopt.html" +
+ +

+

April 7, 1999

+

Updated the Mesa contributors section and added links to RPM Mesa packages.

+

+

March 18, 1999

+

The new webpages are now online. Enjoy, and let me know if you find any errors. +

+

February 16, 1999

+

SGI releases its GLX +source code.

+

+

January 22, 1999

+

www.mesa3d.org established

+ + +

+ + +
+ + diff --git a/mesalib/docs/openvg.html b/mesalib/docs/openvg.html index cdf6b57e0..cb2e2b651 100644 --- a/mesalib/docs/openvg.html +++ b/mesalib/docs/openvg.html @@ -1,61 +1,52 @@ - - -OpenVG State Tracker - - - - - - - -

OpenVG State Tracker

- -

-The current version of the OpenVG state tracker implements OpenVG 1.0. -

-

-More informations about OpenVG can be found at - -http://www.khronos.org/openvg/ . -

-

-The OpenVG state tracker depends on the Gallium architecture and a working EGL implementation. -Please refer to Mesa EGL for more information about EGL. -

- - -

Building the library

-
    -
  1. Build Mesa3D with Gallium3D. Any build that builds Gallium3D libraries, EGL, and Gallium EGL drivers will suffice
  2. -
  3. cd src/gallium/state_trackers/vega; make
  4. -
  5. The last step will build libOpenVG library. You can add the libdir to LD_LIBRARY_PATH or install libOpenVG
  6. -
- -

Sample build

-A sample build looks as follows: -
-  $ ./configure --with-state-trackers=egl,vega --enable-gallium-intel
-  $ make
-  $ make install
-
- -

OpenVG Demos

- -

-To build the OpenVG demos: -

-
-  cd progs/openvg
-  make
-
-

-To run a demo: -

-
-  cd openvg/demos
-  ./lion
-
- - - - + + +OpenVG State Tracker + + + + + + + +

OpenVG State Tracker

+ +

+The current version of the OpenVG state tracker implements OpenVG 1.0. +

+

+More informations about OpenVG can be found at + +http://www.khronos.org/openvg/ . +

+

+The OpenVG state tracker depends on the Gallium architecture and a working EGL implementation. +Please refer to Mesa EGL for more information about EGL. +

+ + +

Building the library

+
    +
  1. Run configure with --enable-openvg. If you do +not need OpenGL, you can add --disable-opengl to save the +compilation time.
  2. + +
  3. Build and install Mesa as usual.
  4. +
+ +

Sample build

+A sample build looks as follows: +
+  $ ./configure --disable-opengl --enable-openvg
+  $ make
+  $ make install
+
+ +

It will install libOpenVG.so, libEGL.so, and one +or more EGL drivers.

+ +

OpenVG Demos

+ +

OpenVG demos can be found in mesa/demos repository.

+ + + diff --git a/mesalib/docs/relnotes-7.8.2.html b/mesalib/docs/relnotes-7.8.2.html index e1b0f2d27..5ee7e12d2 100644 --- a/mesalib/docs/relnotes-7.8.2.html +++ b/mesalib/docs/relnotes-7.8.2.html @@ -1,53 +1,146 @@ - - -Mesa Release Notes - - - - - - - -

Mesa 7.8.2 Release Notes / (date tbd)

- -

-Mesa 7.8.2 is a bug fix release which fixes bugs found since the 7.8.1 release. -

-

-Mesa 7.8.2 implements the OpenGL 2.1 API, but the version reported by -glGetString(GL_VERSION) depends on the particular driver being used. -Some drivers don't support all the features required in OpenGL 2.1. -

-

-See the Compiling/Installing page for prerequisites -for DRI hardware acceleration. -

- - -

MD5 checksums

-
-tbd
-
- - -

New features

-

None.

- - -

Changes

-
    -
  • Upgraded glext.h to version 61, and upgraded glxext.h -
- - -

Bug fixes

-
    -
  • Fixed Gallium glDrawPixels(GL_DEPTH_COMPONENT). -
  • Fixed Gallium Cell driver to buildable, runable state -
- - -

Changes

-

None.

- - + + +Mesa Release Notes + + + + + + + +

Mesa 7.8.2 Release Notes / (date tbd)

+ +

+Mesa 7.8.2 is a bug fix release which fixes bugs found since the 7.8.1 release. +

+

+Mesa 7.8.2 implements the OpenGL 2.1 API, but the version reported by +glGetString(GL_VERSION) depends on the particular driver being used. +Some drivers don't support all the features required in OpenGL 2.1. +

+

+See the Compiling/Installing page for prerequisites +for DRI hardware acceleration. +

+ + +

MD5 checksums

+
+c89b63d253605ed40e8ac370d25a833c  MesaLib-7.8.2.tar.gz
+6be2d343a0089bfd395ce02aaf8adb57  MesaLib-7.8.2.tar.bz2
+a04ad3b06ac5ff3969a003fa7bbf7d5b  MesaLib-7.8.2.zip
+7c213f92efeb471f0331670d5079d4c0  MesaDemos-7.8.2.tar.gz
+757d9e2e06f48b1a52848be9b0307ced  MesaDemos-7.8.2.tar.bz2
+8d0e5cfe68b8ebf90265d350ae2c48b1  MesaDemos-7.8.2.zip
+b74482e3f44f35ed395c4aada4fd8240  MesaGLUT-7.8.2.tar.gz
+a471807b65e49c325808ba4551be93ed  MesaGLUT-7.8.2.tar.bz2
+9f190268c42be582ef66e47365ee61e3  MesaGLUT-7.8.2.zip
+
+ + +

New features

+

None.

+ + +

Changes

+
    +
  • Upgraded glext.h to version 61, and upgraded glxext.h +
+ + +

Bug fixes

+
    +
  • Fixed Gallium glDrawPixels(GL_DEPTH_COMPONENT). +
  • Fixed Gallium Cell driver to buildable, runable state +
  • Fixed bad error checking for glFramebufferRenderbuffer(attachment=GL_DEPTH_STENCIL_ATTACHMENT). +
  • Fixed incorrect Z coordinate handling in "meta" glDraw/CopyPixels. + Bug + #23670.
  • + +
  • Assorted i965 driver fixes. + Including but not limited to: +
      +
    • Fix scissoring when width or height is + 0. Bug + #27643. +
    • Fix bit allocation for number of color regions for + ARB_draw_buffers.
    • +
    • Set the correct provoking vertex for clipped first-mode + trifans. Bug + #24470.
    • +
    • Use R16G16B16A16_FLOAT for 3-component half-float.
    • +
    • Fix assertion for surface tile offset usage on Ironlake.
    • +
    • Fix cube map layouts on Ironlake.
    • +
    • When an RB gets a new region, clear the old from the state + cache. Bug + #24119.
    • +
    • Reject shaders with uninlined function calls instead of hanging.
    • +
    +
  • + +
  • Assorted i915 driver fixes. Including but not limited to: +
      +
    • Fixed texture LOD clamping in i915 driver. + Bug + #24846.
    • +
    • Fix off-by-one for drawing rectangle. + Bug + #27408.
    • +
    +
  • + +
  • Fixed hangs in etracer on 830 and 845 + chipsets. Bug + #26557.
  • +
  • Fixed tiling of small textures on all Intel drivers.
  • +
  • Fixed crash in Savage driver when using _mesa_CopyTexImage2D. + Bug + #27652.
  • + +
  • Assorted GLX fixes. Including but not limited to: +
      +
    • Fixed __glXInitializeVisualConfigFromTags's handling of + unrecognized fbconfig tags.
    • +
    • Fixed regression with GLX_USE_GL. +
    • Fixed config chooser logic for 'mask' matching.
    • +
    • Report swap events correctly in direct rendered case (DRI2)
    • +
    • Fixed build with dri2proto which doesn't define + X_DRI2SwapInterval.
    • +
    • Get GLX_SCREEN first in __glXQueryContextInfo. + Bug + #14245.
    • +
    +
  • + +
  • Assorted GLSL fixes. Including but not limited to: +
      +
    • Change variable declared assertion into conditional in GLSL + compiler. Bug + #27921.
    • +
    • Fix instruction indexing + bugs. Bug + #27566.
    • +
    • Updated uniform location / offset encoding to be more like + other implementations.
    • +
    • Don't overwrite a driver's shader infolog with generic failure + message.
    • +
    +
  • + +
  • Fixed OSMesa build for 16 and 32-bit color channel depth. +
  • Fixed OSMesa build with hidden symbol visibility. libOSMesa no longer links to libGL. + Bug + #28305. +
  • Fixed handling of multiple render targets in fixed-function + texture envrionmnent programs.
  • +
  • Fixed conversion errors in signed_rgba8888[rev] texel + fetch.
  • +
  • Don't set srcLevel on GL_TEXTURE_RECTANGLE_ARB targets.
  • +
  • Various build fixes for OpenBSD.
  • +
  • Various build fixes for OS X.
  • +
  • Various build fixes for GCC 3.3.
  • +
+ + + + diff --git a/mesalib/docs/relnotes-7.9.html b/mesalib/docs/relnotes-7.9.html index b09fb1dbf..c94ebeef5 100644 --- a/mesalib/docs/relnotes-7.9.html +++ b/mesalib/docs/relnotes-7.9.html @@ -1,137 +1,137 @@ - - -Mesa Release Notes - - - - - - - -

Mesa 7.9 Release Notes / October 4, 2010

- -

-Mesa 7.9 is a new development release. -People who are concerned with stability and reliability should stick -with a previous release or wait for Mesa 7.9.1. -

-

-Mesa 7.9 implements the OpenGL 2.1 API, but the version reported by -glGetString(GL_VERSION) depends on the particular driver being used. -Some drivers don't support all the features required in OpenGL 2.1. -

-

-See the Compiling/Installing page for prerequisites -for DRI hardware acceleration. -

- - -

MD5 checksums

-
-f1f01a7baec255f13e9468fb4b05922a  MesaLib-7.9-rc1.tar.gz
-7ffbda3b7056c60b8f87e3082d853af1  MesaLib-7.9-rc1.tar.bz2
-9d4650df4e5b530178d6fde840f76664  MesaLib-7.9-rc1.zip
-a81c2e7a0c7832e67c768d6f209f2c8f  MesaGLUT-7.9-rc1.tar.gz
-b4c1c2f0b47a07be10fa2dd42e6a63d7  MesaGLUT-7.9-rc1.tar.bz2
-c9dd7419a19bcb24a1fe556ec2e78451  MesaGLUT-7.9-rc1.zip
-
- - -

New features

-
    -
  • New, improved GLSL compiler written by Intel. - See the Shading Language page for - more information. -
  • New, very experimental Gallium driver for R600-R700 Radeons. -
  • Support for AMD Evergreen-based Radeons (HD 5xxx) -
  • GL_EXT_timer_query extension (i965 driver and softpipe only) -
  • GL_EXT_framebuffer_multisample extension (intel drivers, MAX_SAMPLES = 1) -
  • GL_ARB_texture_swizzle extension (alias of GL_EXT_texture_swizzle) -
  • GL_ARB_draw_elements_base_vertex, GL_ARB_fragment_program_shadow, - GL_ARB_window_pos, GL_EXT_gpu_program_parameters, - GL_ATI_texture_env_combine3, GL_MESA_pack_invert, and GL_OES_EGL_image - extensions in Gallium drivers -
  • GL_ARB_depth_clamp and GL_NV_depth_clamp extensions (in nv50 and r600 - Gallium drivers) -
  • GL_ARB_half_float_vertex extension (in nvfx, r300, r600, softpipe, - and llvmpipe Gallium drivers) -
  • GL_EXT_draw_buffers2 (in nv50, r600, softpipe, and llvmpipe Gallium - drivers) -
  • GL_EXT_texture_swizzle (in nvfx, r300, r600, softpipe, and llvmpipe - Gallium drivers) -
  • GL_ATI_texture_mirror_once (in nvfx, nv50, r300, r600, softpipe, and - llvmpipe Gallium drivers) -
  • GL_NV_conditional_render (in r300 Gallium driver) -
  • Initial "signs of life" support for Sandybridge hardware in i965 DRI - driver. -
- - -

Bug fixes

-

This list is likely incomplete.

-
    -
  • Massive improvements to the Gallium driver for R300-R500 Radeons; this - driver is now considered stable for use as a DRI (OpenGL) driver. -
  • Bug 10908 - GLSL: gl_FogParamaters gl_Fog built-in uniform not functioning
  • -
  • Bug 13753 - Numerous bugs in GLSL uniform handling
  • -
  • Bug 16854 - GLSL function call at global scope causes SEGV
  • -
  • Bug 16856 - GLSL indexing of unsized array results in assertion failure
  • -
  • Bug 18659 - Crash in shader/slang/slang_codegen.c _slang_gen_function_call_name()
  • -
  • Bug 19089 - [GLSL] glsl1/shadow2D() cases fail
  • -
  • Bug 22622 - [GM965 GLSL] noise*() cause GPU lockup
  • -
  • Bug 23743 - For loop from 0 to 0 not optimized out
  • -
  • Bug 24553 - shader compilation times explode when using more () pairs
  • -
  • Bug 25664 - [GLSL] re-declaring an empty array fails to compile
  • -
  • Bug 25769 - [GLSL] "float" can be implicitly converted to "int"
  • -
  • Bug 25808 - [GLSL] const variable is modified successfully
  • -
  • Bug 25826 - [GLSL] declaring an unsized array then re-declaring with a size fails
  • -
  • Bug 25827 - [GLSL] vector constructor accepts too many arguments successfully
  • -
  • Bug 25829 - [GLSL] allowing non-void function without returning value
  • -
  • Bug 25830 - [GLSL] allowing non-constant-expression as const declaration initializer
  • -
  • Bug 25877 - [GLSL 1.10] implicit conversion from "int" to "float" should not be allowed
  • -
  • Bug 25878 - [GLSL] sampler is converted to int successfully
  • -
  • Bug 25994 - [GM45][GLSL] 'return' statement in vertex shader unsupported
  • -
  • Bug 25999 - [GLSL] embedded structure constructor fails to compile
  • -
  • Bug 26000 - [GLSL] allowing different parameter qualifier between the function definition and declaration
  • -
  • Bug 26001 - [GLSL 1.10] constructing matrix from matrix succeeds
  • -
  • Bug 26224 - [GLSL] Cannot get location of a uniform struct member
  • -
  • Bug 26990 - [GLSL] variable declaration in "while" fails to compile
  • -
  • Bug 27004 - [GLSL] allowing macro redefinition
  • -
  • Bug 27060 - [965] piglit glsl-fs-raytrace failure due to lack of function calls.
  • -
  • Bug 27216 - Assignment with a function call in an if statement causes an assertion failure
  • -
  • Bug 27261 - GLSL Compiler fails on the following vertex shader
  • -
  • Bug 27265 - GLSL Compiler doesnt link the attached vertex shader
  • -
  • Bug 27388 - [i965] piglit glsl-vs-arrays failure
  • -
  • Bug 27403 - GLSL struct causing "Invalid src register file ..." error
  • -
  • Bug 27914 - GLSL compiler uses MUL+ADD where it could use MAD
  • -
  • Bug 28055 - glsl-texcoord-array fails GLSL compilation
  • -
  • Bug 28374 - SIGSEGV shader/slang/slang_typeinfo.c:534
  • -
  • Bug 28748 - [i965] uninlined function calls support
  • -
  • Bug 28833 - piglit/shaders/glsl-texcoord-array fail
  • -
  • Bug 28834 - Add support for system fpclassify to GL_OES_query_matrix function for OpenBSD / NetBSD
  • -
  • Bug 28837 - varying vec4 index support
  • -
  • Bug 28845 - The GLU tesselator code has some warnings
  • -
  • Bug 28889 - [regression] wine game crash
  • -
  • Bug 28894 - slang build fails if absolute path contains spaces
  • -
  • Bug 28913 - [GLSL] allowing two version statements
  • -
  • Bug 28931 - Floating Point Exception in Warzone2100 Trunk version
  • -
  • Bug 28966 - [r300g] Dynamic branching 3 demo does not run
  • -
  • Bug 28967 - slang/slang_emit.c:350: storage_to_src_reg: Assertion `index >= 0' failed.
  • -
  • Bug 29013 - [r300g] translate_rgb_op: unknown opcode ILLEGAL OPCODE
  • -
  • Bug 29020 - [r300g] Wine d3d9 tests hardlock
  • -
  • Bug 29910 - Mesa advertises bogus GL_ARB_shading_language_120
  • -
  • Bug 30196 - [GLSL] gl_TextureMatrix{Inverse,Transpose,InverseTranspose} unsupported
  • -
- - -

Changes

-
    -
  • The Mesa demo/test programs have been moved into a separate git -repository. -
  • GL/glext.h file upgraded to version 64 -
  • GL/glxext.h file upgraded to version 32 -
  • GL/wglext.h file upgraded to version 22 -
- - - + + +Mesa Release Notes + + + + + + + +

Mesa 7.9 Release Notes / October 4, 2010

+ +

+Mesa 7.9 is a new development release. +People who are concerned with stability and reliability should stick +with a previous release or wait for Mesa 7.9.1. +

+

+Mesa 7.9 implements the OpenGL 2.1 API, but the version reported by +glGetString(GL_VERSION) depends on the particular driver being used. +Some drivers don't support all the features required in OpenGL 2.1. +

+

+See the Compiling/Installing page for prerequisites +for DRI hardware acceleration. +

+ + +

MD5 checksums

+
+ed65ab425b25895c7f473d0a5e6e64f8  MesaLib-7.9.tar.gz
+82c740c49d572baa6da2b1a1eee90bca  MesaLib-7.9.tar.bz2
+cd2b6ecec759b0457475e94bbb38fedb  MesaLib-7.9.zip
+7b54af9fb9b1f6a1a65db2520f50848f  MesaGLUT-7.9.tar.gz
+20d07419d1929f833fdb36bced290ad5  MesaGLUT-7.9.tar.bz2
+62a7edecd7c92675cd6029b05217eb0a  MesaGLUT-7.9.zip
+
+ + +

New features

+
    +
  • New, improved GLSL compiler written by Intel. + See the Shading Language page for + more information. +
  • New, very experimental Gallium driver for R600-R700 Radeons. +
  • Support for AMD Evergreen-based Radeons (HD 5xxx) +
  • GL_EXT_timer_query extension (i965 driver and softpipe only) +
  • GL_EXT_framebuffer_multisample extension (intel drivers, MAX_SAMPLES = 1) +
  • GL_ARB_texture_swizzle extension (alias of GL_EXT_texture_swizzle) +
  • GL_ARB_draw_elements_base_vertex, GL_ARB_fragment_program_shadow, + GL_ARB_window_pos, GL_EXT_gpu_program_parameters, + GL_ATI_texture_env_combine3, GL_MESA_pack_invert, and GL_OES_EGL_image + extensions in Gallium drivers +
  • GL_ARB_depth_clamp and GL_NV_depth_clamp extensions (in nv50 and r600 + Gallium drivers) +
  • GL_ARB_half_float_vertex extension (in nvfx, r300, r600, softpipe, + and llvmpipe Gallium drivers) +
  • GL_EXT_draw_buffers2 (in nv50, r600, softpipe, and llvmpipe Gallium + drivers) +
  • GL_EXT_texture_swizzle (in nvfx, r300, r600, softpipe, and llvmpipe + Gallium drivers) +
  • GL_ATI_texture_mirror_once (in nvfx, nv50, r300, r600, softpipe, and + llvmpipe Gallium drivers) +
  • GL_NV_conditional_render (in r300 Gallium driver) +
  • Initial "signs of life" support for Sandybridge hardware in i965 DRI + driver. +
+ + +

Bug fixes

+

This list is likely incomplete.

+
    +
  • Massive improvements to the Gallium driver for R300-R500 Radeons; this + driver is now considered stable for use as a DRI (OpenGL) driver. +
  • Bug 10908 - GLSL: gl_FogParamaters gl_Fog built-in uniform not functioning
  • +
  • Bug 13753 - Numerous bugs in GLSL uniform handling
  • +
  • Bug 16854 - GLSL function call at global scope causes SEGV
  • +
  • Bug 16856 - GLSL indexing of unsized array results in assertion failure
  • +
  • Bug 18659 - Crash in shader/slang/slang_codegen.c _slang_gen_function_call_name()
  • +
  • Bug 19089 - [GLSL] glsl1/shadow2D() cases fail
  • +
  • Bug 22622 - [GM965 GLSL] noise*() cause GPU lockup
  • +
  • Bug 23743 - For loop from 0 to 0 not optimized out
  • +
  • Bug 24553 - shader compilation times explode when using more () pairs
  • +
  • Bug 25664 - [GLSL] re-declaring an empty array fails to compile
  • +
  • Bug 25769 - [GLSL] "float" can be implicitly converted to "int"
  • +
  • Bug 25808 - [GLSL] const variable is modified successfully
  • +
  • Bug 25826 - [GLSL] declaring an unsized array then re-declaring with a size fails
  • +
  • Bug 25827 - [GLSL] vector constructor accepts too many arguments successfully
  • +
  • Bug 25829 - [GLSL] allowing non-void function without returning value
  • +
  • Bug 25830 - [GLSL] allowing non-constant-expression as const declaration initializer
  • +
  • Bug 25877 - [GLSL 1.10] implicit conversion from "int" to "float" should not be allowed
  • +
  • Bug 25878 - [GLSL] sampler is converted to int successfully
  • +
  • Bug 25994 - [GM45][GLSL] 'return' statement in vertex shader unsupported
  • +
  • Bug 25999 - [GLSL] embedded structure constructor fails to compile
  • +
  • Bug 26000 - [GLSL] allowing different parameter qualifier between the function definition and declaration
  • +
  • Bug 26001 - [GLSL 1.10] constructing matrix from matrix succeeds
  • +
  • Bug 26224 - [GLSL] Cannot get location of a uniform struct member
  • +
  • Bug 26990 - [GLSL] variable declaration in "while" fails to compile
  • +
  • Bug 27004 - [GLSL] allowing macro redefinition
  • +
  • Bug 27060 - [965] piglit glsl-fs-raytrace failure due to lack of function calls.
  • +
  • Bug 27216 - Assignment with a function call in an if statement causes an assertion failure
  • +
  • Bug 27261 - GLSL Compiler fails on the following vertex shader
  • +
  • Bug 27265 - GLSL Compiler doesnt link the attached vertex shader
  • +
  • Bug 27388 - [i965] piglit glsl-vs-arrays failure
  • +
  • Bug 27403 - GLSL struct causing "Invalid src register file ..." error
  • +
  • Bug 27914 - GLSL compiler uses MUL+ADD where it could use MAD
  • +
  • Bug 28055 - glsl-texcoord-array fails GLSL compilation
  • +
  • Bug 28374 - SIGSEGV shader/slang/slang_typeinfo.c:534
  • +
  • Bug 28748 - [i965] uninlined function calls support
  • +
  • Bug 28833 - piglit/shaders/glsl-texcoord-array fail
  • +
  • Bug 28834 - Add support for system fpclassify to GL_OES_query_matrix function for OpenBSD / NetBSD
  • +
  • Bug 28837 - varying vec4 index support
  • +
  • Bug 28845 - The GLU tesselator code has some warnings
  • +
  • Bug 28889 - [regression] wine game crash
  • +
  • Bug 28894 - slang build fails if absolute path contains spaces
  • +
  • Bug 28913 - [GLSL] allowing two version statements
  • +
  • Bug 28931 - Floating Point Exception in Warzone2100 Trunk version
  • +
  • Bug 28966 - [r300g] Dynamic branching 3 demo does not run
  • +
  • Bug 28967 - slang/slang_emit.c:350: storage_to_src_reg: Assertion `index >= 0' failed.
  • +
  • Bug 29013 - [r300g] translate_rgb_op: unknown opcode ILLEGAL OPCODE
  • +
  • Bug 29020 - [r300g] Wine d3d9 tests hardlock
  • +
  • Bug 29910 - Mesa advertises bogus GL_ARB_shading_language_120
  • +
  • Bug 30196 - [GLSL] gl_TextureMatrix{Inverse,Transpose,InverseTranspose} unsupported
  • +
+ + +

Changes

+
    +
  • The Mesa demo/test programs have been moved into a separate git +repository. +
  • GL/glext.h file upgraded to version 64 +
  • GL/glxext.h file upgraded to version 32 +
  • GL/wglext.h file upgraded to version 22 +
+ + + diff --git a/mesalib/docs/relnotes.html b/mesalib/docs/relnotes.html index 47e7f80d6..d04405b2f 100644 --- a/mesalib/docs/relnotes.html +++ b/mesalib/docs/relnotes.html @@ -1,82 +1,83 @@ - - -Mesa Release Notes - - - - - -

Release Notes

- -

-The release notes summarize what's new or changed in each Mesa release. -

- - -Versions of Mesa prior to 6.4 are summarized in the -versions file and the following release notes. -

- - - - - - + + +Mesa Release Notes + + + + + +

Release Notes

+ +

+The release notes summarize what's new or changed in each Mesa release. +

+ + +Versions of Mesa prior to 6.4 are summarized in the +versions file and the following release notes. +

+ + + + + + -- cgit v1.2.3