From 990bc3f015a4f8fce2eb918375defcd44980a845 Mon Sep 17 00:00:00 2001 From: marha Date: Fri, 8 Jun 2012 09:33:13 +0200 Subject: Used synchronise script to update files --- mesalib/docs/MESA_agp_offset.spec | 190 +- mesalib/docs/MESA_pack_invert.spec | 276 +- mesalib/docs/MESA_release_buffers.spec | 170 +- mesalib/docs/MESA_resize_buffers.spec | 162 +- mesalib/docs/MESA_swap_control.spec | 258 +- mesalib/docs/MESA_texture_array.spec | 1608 ++++---- mesalib/docs/MESA_texture_signed_rgba.spec | 428 +-- mesalib/docs/MESA_window_pos.spec | 252 +- mesalib/docs/MESA_ycbcr_texture.spec | 408 +- mesalib/docs/VERSIONS | 3028 +++++++-------- mesalib/docs/enums.txt | 114 +- mesalib/docs/install.html | 121 +- mesalib/docs/mesa.css | 66 +- mesalib/docs/relnotes-7.10.html | 5590 ++++++++++++++-------------- mesalib/docs/relnotes-7.8.2.html | 292 +- mesalib/docs/relnotes-7.8.3.html | 178 +- mesalib/docs/relnotes-7.9.1.html | 812 ++-- mesalib/docs/relnotes-7.9.html | 274 +- mesalib/docs/shading.html | 536 +-- 19 files changed, 7326 insertions(+), 7437 deletions(-) (limited to 'mesalib/docs') diff --git a/mesalib/docs/MESA_agp_offset.spec b/mesalib/docs/MESA_agp_offset.spec index bf3ea1748..06e1d902e 100644 --- a/mesalib/docs/MESA_agp_offset.spec +++ b/mesalib/docs/MESA_agp_offset.spec @@ -1,95 +1,95 @@ -Name - - MESA_agp_offset - -Name Strings - - GLX_MESA_agp_offset - -Contact - - Brian Paul, Tungsten Graphics, Inc. (brian.paul 'at' tungstengraphics.com) - Keith Whitwell, Tungsten Graphics, Inc. (keith 'at' tungstengraphics.com) - -Status - - Shipping (Mesa 4.0.4 and later. Only implemented in particular - XFree86/DRI drivers.) - -Version - - 1.0 - -Number - - TBD - -Dependencies - - OpenGL 1.0 or later is required - GLX_NV_vertex_array_range is required. - This extensions is written against the OpenGL 1.4 Specification. - -Overview - - This extensions provides a way to convert pointers in an AGP memory - region into byte offsets into the AGP aperture. - Note, this extension depends on GLX_NV_vertex_array_range, for which - no real specification exists. See GL_NV_vertex_array_range for more - information. - -IP Status - - None - -Issues - - None - -New Procedures and Functions - - unsigned int glXGetAGPOffsetMESA( const void *pointer ) - -New Tokens - - None - -Additions to the OpenGL 1.4 Specification - - None - -Additions to Chapter 3 the GLX 1.4 Specification (Functions and Errors) - - Add a new section, 3.6 as follows: - - 3.6 AGP Memory Access - - On "PC" computers, AGP memory can be allocated with glXAllocateMemoryNV - and freed with glXFreeMemoryNV. Sometimes it's useful to know where a - block of AGP memory is located with respect to the start of the AGP - aperture. The function - - GLuint glXGetAGPOffsetMESA( const GLvoid *pointer ) - - Returns the offset of the given memory block from the start of AGP - memory in basic machine units (i.e. bytes). If pointer is invalid - the value ~0 will be returned. - -GLX Protocol - - None. This is a client side-only extension. - -Errors - - glXGetAGPOffsetMESA will return ~0 if the pointer does not point to - an AGP memory region. - -New State - - None - -Revision History - - 20 September 2002 - Initial draft - 2 October 2002 - finished GLX chapter 3 additions - 27 July 2004 - use unsigned int instead of GLuint, void instead of GLvoid +Name + + MESA_agp_offset + +Name Strings + + GLX_MESA_agp_offset + +Contact + + Brian Paul, Tungsten Graphics, Inc. (brian.paul 'at' tungstengraphics.com) + Keith Whitwell, Tungsten Graphics, Inc. (keith 'at' tungstengraphics.com) + +Status + + Shipping (Mesa 4.0.4 and later. Only implemented in particular + XFree86/DRI drivers.) + +Version + + 1.0 + +Number + + TBD + +Dependencies + + OpenGL 1.0 or later is required + GLX_NV_vertex_array_range is required. + This extensions is written against the OpenGL 1.4 Specification. + +Overview + + This extensions provides a way to convert pointers in an AGP memory + region into byte offsets into the AGP aperture. + Note, this extension depends on GLX_NV_vertex_array_range, for which + no real specification exists. See GL_NV_vertex_array_range for more + information. + +IP Status + + None + +Issues + + None + +New Procedures and Functions + + unsigned int glXGetAGPOffsetMESA( const void *pointer ) + +New Tokens + + None + +Additions to the OpenGL 1.4 Specification + + None + +Additions to Chapter 3 the GLX 1.4 Specification (Functions and Errors) + + Add a new section, 3.6 as follows: + + 3.6 AGP Memory Access + + On "PC" computers, AGP memory can be allocated with glXAllocateMemoryNV + and freed with glXFreeMemoryNV. Sometimes it's useful to know where a + block of AGP memory is located with respect to the start of the AGP + aperture. The function + + GLuint glXGetAGPOffsetMESA( const GLvoid *pointer ) + + Returns the offset of the given memory block from the start of AGP + memory in basic machine units (i.e. bytes). If pointer is invalid + the value ~0 will be returned. + +GLX Protocol + + None. This is a client side-only extension. + +Errors + + glXGetAGPOffsetMESA will return ~0 if the pointer does not point to + an AGP memory region. + +New State + + None + +Revision History + + 20 September 2002 - Initial draft + 2 October 2002 - finished GLX chapter 3 additions + 27 July 2004 - use unsigned int instead of GLuint, void instead of GLvoid diff --git a/mesalib/docs/MESA_pack_invert.spec b/mesalib/docs/MESA_pack_invert.spec index 0eeb58c13..33fb3c7bf 100644 --- a/mesalib/docs/MESA_pack_invert.spec +++ b/mesalib/docs/MESA_pack_invert.spec @@ -1,138 +1,138 @@ -Name - - MESA_pack_invert - -Name Strings - - GL_MESA_pack_invert - -Contact - - Brian Paul, Tungsten Graphics, Inc. (brian.paul 'at' tungstengraphics.com) - Keith Whitwell, Tungsten Graphics, Inc. (keith 'at' tungstengraphics.com) - -Status - - Shipping (Mesa 4.0.4 and later) - -Version - - 1.0 - -Number - - TBD - -Dependencies - - OpenGL 1.0 or later is required - This extensions is written against the OpenGL 1.4 Specification. - -Overview - - This extension adds a new pixel storage parameter to indicate that - images are to be packed in top-to-bottom order instead of OpenGL's - conventional bottom-to-top order. Only pixel packing can be - inverted (i.e. for glReadPixels, glGetTexImage, glGetConvolutionFilter, - etc). - - Almost all known image file formats store images in top-to-bottom - order. As it is, OpenGL reads images from the frame buffer in - bottom-to-top order. Thus, images usually have to be inverted before - writing them to a file with image I/O libraries. This extension - allows images to be read such that inverting isn't needed. - -IP Status - - None - -Issues - - 1. Should we also define UNPACK_INVERT_MESA for glDrawPixels, etc? - - Resolved: No, we're only concerned with pixel packing. There are other - solutions for inverting images when using glDrawPixels (negative Y pixel - zoom) or glTexImage (invert the vertex T coordinates). It would be easy - enough to define a complementary extension for pixel packing in the - future if needed. - -New Procedures and Functions - - None - -New Tokens - - Accepted by the parameter of PixelStorei and PixelStoref - and the parameter of GetIntegerv, GetFloatv, GetDoublev - and GetBooleanv: - - PACK_INVERT_MESA 0x8758 - -Additions to Chapter 2 of the OpenGL 1.4 Specification (OpenGL Operation) - - None - -Additions to Chapter 3 of the OpenGL 1.4 Specification (Rasterization) - - None - -Additions to Chapter 4 of the OpenGL 1.4 Specification (Per-Fragment -Operations and the Frame Buffer) - - Add the following entry to table 4.4 (PixelStore parameters) on page 182: - - Parameter Name Type Initial Value Valid Range - --------------------------------------------------------- - PACK_INVERT_MESA boolean FALSE TRUE/FALSE - - In the section labeled "Placement in Client Memory" on page 184 - insert the following text into the paragraph before the sentence - that starts with "If the format is RED, GREEN, BLUE...": - - "The parameter PACK_INVERT_MESA controls whether the image is packed - in bottom-to-top order (the default) or top-to-bottom order. Equation - 3.8 is modified as follows: - - ... the first element of the Nth row is indicated by - - p + Nk, if PACK_INVERT_MESA is false - p + k * (H - 1) - Nk, if PACK_INVERT_MESA is true, where H is the - image height - " - -Additions to Chapter 5 of the OpenGL 1.4 Specification (Special Functions) - - None - -Additions to Chapter 6 of the OpenGL 1.4 Specification (State and -State Requests) - - None - -Additions to Appendix A of the OpenGL 1.4 Specification (Invariance) - - None - -Additions to the AGL/GLX/WGL Specifications - - None - -GLX Protocol - - None - -Errors - - None - -New State - - Add the following entry to table 6.20 (Pixels) on page 235: - - Get Value Type Get Cmd Initial Value Description Sec Attribute - -------------------------------------------------------------------------------------------------- - PACK_INVERT_MESA boolean GetBoolean FALSE Value of PACK_INVERT_MESA 4.3.2 pixel-store - -Revision History - - 21 September 2002 - Initial draft +Name + + MESA_pack_invert + +Name Strings + + GL_MESA_pack_invert + +Contact + + Brian Paul, Tungsten Graphics, Inc. (brian.paul 'at' tungstengraphics.com) + Keith Whitwell, Tungsten Graphics, Inc. (keith 'at' tungstengraphics.com) + +Status + + Shipping (Mesa 4.0.4 and later) + +Version + + 1.0 + +Number + + TBD + +Dependencies + + OpenGL 1.0 or later is required + This extensions is written against the OpenGL 1.4 Specification. + +Overview + + This extension adds a new pixel storage parameter to indicate that + images are to be packed in top-to-bottom order instead of OpenGL's + conventional bottom-to-top order. Only pixel packing can be + inverted (i.e. for glReadPixels, glGetTexImage, glGetConvolutionFilter, + etc). + + Almost all known image file formats store images in top-to-bottom + order. As it is, OpenGL reads images from the frame buffer in + bottom-to-top order. Thus, images usually have to be inverted before + writing them to a file with image I/O libraries. This extension + allows images to be read such that inverting isn't needed. + +IP Status + + None + +Issues + + 1. Should we also define UNPACK_INVERT_MESA for glDrawPixels, etc? + + Resolved: No, we're only concerned with pixel packing. There are other + solutions for inverting images when using glDrawPixels (negative Y pixel + zoom) or glTexImage (invert the vertex T coordinates). It would be easy + enough to define a complementary extension for pixel packing in the + future if needed. + +New Procedures and Functions + + None + +New Tokens + + Accepted by the parameter of PixelStorei and PixelStoref + and the parameter of GetIntegerv, GetFloatv, GetDoublev + and GetBooleanv: + + PACK_INVERT_MESA 0x8758 + +Additions to Chapter 2 of the OpenGL 1.4 Specification (OpenGL Operation) + + None + +Additions to Chapter 3 of the OpenGL 1.4 Specification (Rasterization) + + None + +Additions to Chapter 4 of the OpenGL 1.4 Specification (Per-Fragment +Operations and the Frame Buffer) + + Add the following entry to table 4.4 (PixelStore parameters) on page 182: + + Parameter Name Type Initial Value Valid Range + --------------------------------------------------------- + PACK_INVERT_MESA boolean FALSE TRUE/FALSE + + In the section labeled "Placement in Client Memory" on page 184 + insert the following text into the paragraph before the sentence + that starts with "If the format is RED, GREEN, BLUE...": + + "The parameter PACK_INVERT_MESA controls whether the image is packed + in bottom-to-top order (the default) or top-to-bottom order. Equation + 3.8 is modified as follows: + + ... the first element of the Nth row is indicated by + + p + Nk, if PACK_INVERT_MESA is false + p + k * (H - 1) - Nk, if PACK_INVERT_MESA is true, where H is the + image height + " + +Additions to Chapter 5 of the OpenGL 1.4 Specification (Special Functions) + + None + +Additions to Chapter 6 of the OpenGL 1.4 Specification (State and +State Requests) + + None + +Additions to Appendix A of the OpenGL 1.4 Specification (Invariance) + + None + +Additions to the AGL/GLX/WGL Specifications + + None + +GLX Protocol + + None + +Errors + + None + +New State + + Add the following entry to table 6.20 (Pixels) on page 235: + + Get Value Type Get Cmd Initial Value Description Sec Attribute + -------------------------------------------------------------------------------------------------- + PACK_INVERT_MESA boolean GetBoolean FALSE Value of PACK_INVERT_MESA 4.3.2 pixel-store + +Revision History + + 21 September 2002 - Initial draft diff --git a/mesalib/docs/MESA_release_buffers.spec b/mesalib/docs/MESA_release_buffers.spec index e906e1459..52d1e5a9c 100644 --- a/mesalib/docs/MESA_release_buffers.spec +++ b/mesalib/docs/MESA_release_buffers.spec @@ -1,85 +1,85 @@ -Name - - MESA_release_buffers - -Name Strings - - GLX_MESA_release_buffers - -Contact - - Brian Paul (brian.paul 'at' tungstengraphics.com) - -Status - - Shipping since Mesa 2.0 in October, 1996. - -Version - - Last Modified Date: 8 June 2000 - -Number - - 217 - -Dependencies - - OpenGL 1.0 or later is required. - GLX 1.0 or later is required. - -Overview - - Mesa's implementation of GLX is entirely implemented on the client side. - Therefore, Mesa cannot immediately detect when an X window or pixmap is - destroyed in order to free any ancillary data associated with the window - or pixmap. - - The glxMesaReleaseBuffers() function can be used to explicitly indicate - when the back color buffer, depth buffer, stencil buffer, and/or accumu- - lation buffer associated with a drawable can be freed. - -IP Status - - Open-source; freely implementable. - -Issues - - None. - -New Procedures and Functions - - Bool glXReleaseBuffersMESA( Display *dpy, GLXDrawable d ); - -New Tokens - - None. - -Additions to Chapter 3 of the GLX 1.3 Specification (Functions and Errors) - - The function - - Bool glXReleaseBuffersMESA( Display *dpy, GLXDrawable d ); - - causes all software ancillary buffers (back buffer, depth, stencil, - accum, etc) associated with the named drawable to be immediately - deallocated. True is returned if is a valid Mesa GLX drawable, - else False is returned. After calling glXReleaseBuffersMESA, the - drawable should no longer be used for GL rendering. Results of - attempting to do so are undefined. - - -GLX Protocol - - None, since this is a client-side operation. - -Errors - - None. - -New State - - None. - -Revision History - - 8 June 2000 - initial specification +Name + + MESA_release_buffers + +Name Strings + + GLX_MESA_release_buffers + +Contact + + Brian Paul (brian.paul 'at' tungstengraphics.com) + +Status + + Shipping since Mesa 2.0 in October, 1996. + +Version + + Last Modified Date: 8 June 2000 + +Number + + 217 + +Dependencies + + OpenGL 1.0 or later is required. + GLX 1.0 or later is required. + +Overview + + Mesa's implementation of GLX is entirely implemented on the client side. + Therefore, Mesa cannot immediately detect when an X window or pixmap is + destroyed in order to free any ancillary data associated with the window + or pixmap. + + The glxMesaReleaseBuffers() function can be used to explicitly indicate + when the back color buffer, depth buffer, stencil buffer, and/or accumu- + lation buffer associated with a drawable can be freed. + +IP Status + + Open-source; freely implementable. + +Issues + + None. + +New Procedures and Functions + + Bool glXReleaseBuffersMESA( Display *dpy, GLXDrawable d ); + +New Tokens + + None. + +Additions to Chapter 3 of the GLX 1.3 Specification (Functions and Errors) + + The function + + Bool glXReleaseBuffersMESA( Display *dpy, GLXDrawable d ); + + causes all software ancillary buffers (back buffer, depth, stencil, + accum, etc) associated with the named drawable to be immediately + deallocated. True is returned if is a valid Mesa GLX drawable, + else False is returned. After calling glXReleaseBuffersMESA, the + drawable should no longer be used for GL rendering. Results of + attempting to do so are undefined. + + +GLX Protocol + + None, since this is a client-side operation. + +Errors + + None. + +New State + + None. + +Revision History + + 8 June 2000 - initial specification diff --git a/mesalib/docs/MESA_resize_buffers.spec b/mesalib/docs/MESA_resize_buffers.spec index 4d6e9f720..dabc7c421 100644 --- a/mesalib/docs/MESA_resize_buffers.spec +++ b/mesalib/docs/MESA_resize_buffers.spec @@ -1,81 +1,81 @@ -Name - - MESA_resize_buffers - -Name Strings - - GL_MESA_resize_buffers - -Contact - - Brian Paul (brian.paul 'at' tungstengraphics.com) - -Status - - Shipping (since Mesa version 2.2) - -Version - - -Number - - 196 - -Dependencies - - Mesa 2.2 or later is required. - -Overview - - Mesa is often used as a client library with no integration with - the computer's window system (an X server, for example). And since - Mesa does not have an event loop nor window system callbacks, it - cannot properly respond to window system events. In particular, - Mesa cannot automatically detect when a window has been resized. - - Mesa's glViewport command queries the current window size and updates - its internal data structors accordingly. This normally works fine - since most applications call glViewport in response to window size - changes. - - In some situations, however, the application may not call glViewport - when a window size changes but would still like Mesa to adjust to - the new window size. This extension exports a new function to solve - this problem. - -New Procedures and Functions - - void glResizeBuffersMESA( void ) - -New Tokens - - none - -Additions to the OpenGL Specification (no particular section) - - The glResizeBuffersMESA command may be called when the client - determines that a window has been resized. Calling - glResizeBuffersMESA causes Mesa to query the current window size - and adjust its internal data structures. This may include - reallocating depth, stencil, alpha and accumulation buffers. - -Additions to the AGL/GLX/WGL Specifications - - None - -Errors - - INVALID_OPERATION is generated if glResizeBuffersMESA is called between - Begin and End. - -New State - - None. - -New Implementation Dependent State - - None. - -Revision History - - * Revision 1.0 - Initial specification +Name + + MESA_resize_buffers + +Name Strings + + GL_MESA_resize_buffers + +Contact + + Brian Paul (brian.paul 'at' tungstengraphics.com) + +Status + + Shipping (since Mesa version 2.2) + +Version + + +Number + + 196 + +Dependencies + + Mesa 2.2 or later is required. + +Overview + + Mesa is often used as a client library with no integration with + the computer's window system (an X server, for example). And since + Mesa does not have an event loop nor window system callbacks, it + cannot properly respond to window system events. In particular, + Mesa cannot automatically detect when a window has been resized. + + Mesa's glViewport command queries the current window size and updates + its internal data structors accordingly. This normally works fine + since most applications call glViewport in response to window size + changes. + + In some situations, however, the application may not call glViewport + when a window size changes but would still like Mesa to adjust to + the new window size. This extension exports a new function to solve + this problem. + +New Procedures and Functions + + void glResizeBuffersMESA( void ) + +New Tokens + + none + +Additions to the OpenGL Specification (no particular section) + + The glResizeBuffersMESA command may be called when the client + determines that a window has been resized. Calling + glResizeBuffersMESA causes Mesa to query the current window size + and adjust its internal data structures. This may include + reallocating depth, stencil, alpha and accumulation buffers. + +Additions to the AGL/GLX/WGL Specifications + + None + +Errors + + INVALID_OPERATION is generated if glResizeBuffersMESA is called between + Begin and End. + +New State + + None. + +New Implementation Dependent State + + None. + +Revision History + + * Revision 1.0 - Initial specification diff --git a/mesalib/docs/MESA_swap_control.spec b/mesalib/docs/MESA_swap_control.spec index 31340772f..a002563c9 100644 --- a/mesalib/docs/MESA_swap_control.spec +++ b/mesalib/docs/MESA_swap_control.spec @@ -1,129 +1,129 @@ -Name - - MESA_swap_control - -Name Strings - - GLX_MESA_swap_control - -Contact - - Ian Romanick, IBM, idr at us.ibm.com - -Status - - Deployed in DRI drivers post-XFree86 4.3. - -Version - - Date: 5/1/2003 Revision: 1.1 - -Number - - ??? - -Dependencies - - None - - Based on GLX_SGI_swap_control version 1.9 and WGL_EXT_swap_control - version 1.5. - -Overview - - This extension allows an application to specify a minimum periodicity - of color buffer swaps, measured in video frame periods. - -Issues - - * Should implementations that export GLX_MESA_swap_control also export - GL_EXT_swap_control for compatibility with WGL_EXT_swap_control? - - UNRESOLVED. - -New Procedures and Functions - - int glXSwapIntervalMESA(unsigned int interval) - int glXGetSwapIntervalMESA(void) - -New Tokens - - None - -Additions to Chapter 2 of the 1.4 GL Specification (OpenGL Operation) - - None - -Additions to Chapter 3 of the 1.4 GL Specification (Rasterization) - - None - -Additions to Chapter 4 of the 1.4 GL Specification (Per-Fragment Operations -and the Framebuffer) - - None - -Additions to Chapter 5 of the 1.4 GL Specification (Special Functions) - - None - -Additions to Chapter 6 of the 1.4 GL Specification (State and State Requests) - - None - -Additions to the GLX 1.3 Specification - - [Add the following to Section 3.3.10 of the GLX Specification (Double - Buffering)] - - glXSwapIntervalMESA specifies the minimum number of video frame periods - per buffer swap. (e.g. a value of two means that the color buffers - will be swapped at most every other video frame.) A return value - of zero indicates success; otherwise an error occurred. The interval - takes effect when glXSwapBuffers is first called subsequent to the - glXSwapIntervalMESA call. - - A video frame period is the time required by the monitor to display a - full frame of video data. In the case of an interlaced monitor, - this is typically the time required to display both the even and odd - fields of a frame of video data. - - If is set to a value of 0, buffer swaps are not synchro- - nized to a video frame. The value is silently clamped to - the maximum implementation-dependent value supported before being - stored. - - The swap interval is not part of the render context state. It cannot - be pushed or popped. The current swap interval for the window - associated with the current context can be obtained by calling - glXGetSwapIntervalMESA. The default swap interval is 0. - - On XFree86, setting the environment variable LIBGL_THROTTLE_REFRESH sets - the swap interval to 1. - -Errors - - glXSwapIntervalMESA returns GLX_BAD_CONTEXT if there is no current - GLXContext or if the current context is not a direct rendering context. - -GLX Protocol - - None. This extension only extends to direct rendering contexts. - -New State - - Get Value Get Command Type Initial Value - --------- ----------- ---- ------------- - [swap interval] GetSwapInterval Z+ 0 - -New Implementation Dependent State - - None - - -Revision History - - 1.1, 5/1/03 Added the issues section and contact information. - Changed the default swap interval to 0. - 1.0, 3/17/03 Initial version based on GLX_SGI_swap_control and - WGL_EXT_swap_control. +Name + + MESA_swap_control + +Name Strings + + GLX_MESA_swap_control + +Contact + + Ian Romanick, IBM, idr at us.ibm.com + +Status + + Deployed in DRI drivers post-XFree86 4.3. + +Version + + Date: 5/1/2003 Revision: 1.1 + +Number + + ??? + +Dependencies + + None + + Based on GLX_SGI_swap_control version 1.9 and WGL_EXT_swap_control + version 1.5. + +Overview + + This extension allows an application to specify a minimum periodicity + of color buffer swaps, measured in video frame periods. + +Issues + + * Should implementations that export GLX_MESA_swap_control also export + GL_EXT_swap_control for compatibility with WGL_EXT_swap_control? + + UNRESOLVED. + +New Procedures and Functions + + int glXSwapIntervalMESA(unsigned int interval) + int glXGetSwapIntervalMESA(void) + +New Tokens + + None + +Additions to Chapter 2 of the 1.4 GL Specification (OpenGL Operation) + + None + +Additions to Chapter 3 of the 1.4 GL Specification (Rasterization) + + None + +Additions to Chapter 4 of the 1.4 GL Specification (Per-Fragment Operations +and the Framebuffer) + + None + +Additions to Chapter 5 of the 1.4 GL Specification (Special Functions) + + None + +Additions to Chapter 6 of the 1.4 GL Specification (State and State Requests) + + None + +Additions to the GLX 1.3 Specification + + [Add the following to Section 3.3.10 of the GLX Specification (Double + Buffering)] + + glXSwapIntervalMESA specifies the minimum number of video frame periods + per buffer swap. (e.g. a value of two means that the color buffers + will be swapped at most every other video frame.) A return value + of zero indicates success; otherwise an error occurred. The interval + takes effect when glXSwapBuffers is first called subsequent to the + glXSwapIntervalMESA call. + + A video frame period is the time required by the monitor to display a + full frame of video data. In the case of an interlaced monitor, + this is typically the time required to display both the even and odd + fields of a frame of video data. + + If is set to a value of 0, buffer swaps are not synchro- + nized to a video frame. The value is silently clamped to + the maximum implementation-dependent value supported before being + stored. + + The swap interval is not part of the render context state. It cannot + be pushed or popped. The current swap interval for the window + associated with the current context can be obtained by calling + glXGetSwapIntervalMESA. The default swap interval is 0. + + On XFree86, setting the environment variable LIBGL_THROTTLE_REFRESH sets + the swap interval to 1. + +Errors + + glXSwapIntervalMESA returns GLX_BAD_CONTEXT if there is no current + GLXContext or if the current context is not a direct rendering context. + +GLX Protocol + + None. This extension only extends to direct rendering contexts. + +New State + + Get Value Get Command Type Initial Value + --------- ----------- ---- ------------- + [swap interval] GetSwapInterval Z+ 0 + +New Implementation Dependent State + + None + + +Revision History + + 1.1, 5/1/03 Added the issues section and contact information. + Changed the default swap interval to 0. + 1.0, 3/17/03 Initial version based on GLX_SGI_swap_control and + WGL_EXT_swap_control. diff --git a/mesalib/docs/MESA_texture_array.spec b/mesalib/docs/MESA_texture_array.spec index 1cc2217f3..b146821f7 100644 --- a/mesalib/docs/MESA_texture_array.spec +++ b/mesalib/docs/MESA_texture_array.spec @@ -1,804 +1,804 @@ -Name - - MESA_texture_array - -Name Strings - - GL_MESA_texture_array - -Contact - - Ian Romanick, IBM (idr 'at' us.ibm.com) - -IP Status - - No known IP issues. - -Status - - Shipping in Mesa 7.1 - -Version - - -Number - - TBD - -Dependencies - - OpenGL 1.2 or GL_EXT_texture3D is required. - - Support for ARB_fragment_program is assumed, but not required. - - Support for ARB_fragment_program_shadow is assumed, but not required. - - Support for EXT_framebuffer_object is assumed, but not required. - - Written based on the wording of the OpenGL 2.0 specification and - ARB_fragment_program_shadow but not dependent on them. - -Overview - - There are a number of circumstances where an application may wish to - blend two textures out of a larger set of textures. Moreover, in some - cases the selected textures may vary on a per-fragment basis within - a polygon. Several examples include: - - 1. High dynamic range textures. The application stores several - different "exposures" of an image as different textures. On a - per-fragment basis, the application selects which exposures are - used. - - 2. A terrain engine where the altitude of a point determines the - texture applied to it. If the transition is from beach sand to - grass to rocks to snow, the application will store each texture - in a different texture map, and dynamically select which two - textures to blend at run-time. - - 3. Storing short video clips in textures. Each depth slice is a - single frame of video. - - Several solutions to this problem have been proposed, but they either - involve using a separate texture unit for each texture map or using 3D - textures without mipmaps. Both of these options have major drawbacks. - - This extension provides a third alternative that eliminates the major - drawbacks of both previous methods. A new texture target, - TEXTURE_2D_ARRAY, is added that functions identically to TEXTURE_3D in - all aspects except the sizes of the non-base level images. In - traditional 3D texturing, the size of the N+1 LOD is half the size - of the N LOD in all three dimensions. For the TEXTURE_2D_ARRAY target, - the height and width of the N+1 LOD is halved, but the depth is the - same for all levels of detail. The texture then becomes an array of - 2D textures. The per-fragment texel is selected by the R texture - coordinate. - - References: - - http://www.opengl.org/discussion_boards/cgi_directory/ultimatebb.cgi?ubb=get_topic;f=3;t=011557 - http://www.opengl.org/discussion_boards/cgi_directory/ultimatebb.cgi?ubb=get_topic;f=3;t=000516 - http://www.opengl.org/discussion_boards/cgi_directory/ultimatebb.cgi?ubb=get_topic;f=3;t=011903 - http://www.delphi3d.net/articles/viewarticle.php?article=terraintex.htm - -New Procedures and Functions - - All functions come directly from EXT_texture_array. - - void FramebufferTextureLayerEXT(enum target, enum attachment, - uint texture, int level, int layer); - -New Tokens - - All token names and values come directly from EXT_texture_array. - - Accepted by the parameter of Enable, Disable, and IsEnabled, by - the parameter of GetBooleanv, GetIntegerv, GetFloatv, and - GetDoublev, and by the parameter of TexImage3D, GetTexImage, - GetTexLevelParameteriv, GetTexLevelParameterfv, GetTexParameteriv, and - GetTexParameterfv: - - TEXTURE_1D_ARRAY_EXT 0x8C18 - TEXTURE_2D_ARRAY_EXT 0x8C1A - - Accepted by the parameter of TexImage2D, TexSubImage2D, - CopyTexImage2D, CopyTexSubImage2D, CompressedTexImage2D, - CompressedTexSubImage2D, GetTexLevelParameteriv, and - GetTexLevelParameterfv: - - TEXTURE_1D_ARRAY_EXT - PROXY_TEXTURE_1D_ARRAY_EXT 0x8C19 - - Accepted by the parameter of TexImage3D, TexSubImage3D, - CopyTexSubImage3D, CompressedTexImage3D, CompressedTexSubImage3D, - GetTexLevelParameteriv, and GetTexLevelParameterfv: - - TEXTURE_2D_ARRAY_EXT - PROXY_TEXTURE_2D_ARRAY_EXT 0x8C1B - - Accepted by the parameter of GetBooleanv, GetIntegerv, - GetFloatv, and GetDoublev - - TEXTURE_BINDING_1D_ARRAY_EXT 0x8C1C - TEXTURE_BINDING_2D_ARRAY_EXT 0x8C1D - MAX_ARRAY_TEXTURE_LAYERS_EXT 0x88FF - - Accepted by the parameter of TexParameterf, TexParameteri, - TexParameterfv, and TexParameteriv when the parameter is - TEXTURE_COMPARE_MODE_ARB: - - COMPARE_REF_DEPTH_TO_TEXTURE_EXT 0x884E - - (Note: COMPARE_REF_DEPTH_TO_TEXTURE_EXT is simply an alias for the - existing COMPARE_R_TO_TEXTURE token in OpenGL 2.0; the alternate name - reflects the fact that the R coordinate is not always used.) - - Accepted by the parameter of TexImage3D and - CompressedTexImage3D, and by the parameter of - CompressedTexSubImage3D: - - COMPRESSED_RGB_S3TC_DXT1_EXT - COMPRESSED_RGBA_S3TC_DXT1_EXT - COMPRESSED_RGBA_S3TC_DXT3_EXT - COMPRESSED_RGBA_S3TC_DXT5_EXT - - Accepted by the parameter of - GetFramebufferAttachmentParameterivEXT: - - FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT 0x8CD4 - - (Note: FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER is simply an alias for the - FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT token provided in - EXT_framebuffer_object. This extension generalizes the notion of - "" to include layers of an array texture.) - -Additions to Chapter 2 of the OpenGL 2.0 Specification (OpenGL Operation) - - None - -Additions to Chapter 3 of the OpenGL 2.0 Specification (Rasterization) - - -- Section 3.8.1 "Texture Image Specification" - - Change the first paragraph (page 150) to say (spec changes identical to - EXT_texture_array): - - "The command - - void TexImage3D(enum target, int level, int internalformat, - sizei width, sizei height, sizei depth, int border, - enum format, enum type, void *data); - - is used to specify a three-dimensional texture image. target must be one - one of TEXTURE_3D for a three-dimensional texture or - TEXTURE_2D_ARRAY_EXT for an two-dimensional array texture. - Additionally, target may be either PROXY_TEXTURE_3D for a - three-dimensional proxy texture, or PROXY_TEXTURE_2D_ARRAY_EXT for a - two-dimensional proxy array texture." - - Change the fourth paragraph on page 151 to say (spec changes identical - to EXT_texture_array): - - "Textures with a base internal format of DEPTH_COMPONENT are supported - by texture image specification commands only if target is TEXTURE_1D, - TEXTURE_2D, TEXTURE_1D_ARRAY_EXT, TEXTURE_2D_ARRAY_EXT, - PROXY_TEXTURE_1D, PROXY_TEXTURE_2D, PROXY_TEXTURE_1D_ARRAY_EXT, or - PROXY_TEXTURE_2D_ARRAY_EXT. Using this format in conjunction with any - other target will result in an INVALID_OPERATION error." - - - Change the fourth paragraph on page 156 to say (spec changes identical - to EXT_texture_array): - - "The command - - void TexImage2D(enum target, int level, - int internalformat, sizei width, sizei height, - int border, enum format, enum type, void *data); - - is used to specify a two-dimensional texture image. target must be one - of TEXTURE_2D for a two-dimensional texture, TEXTURE_1D_ARRAY_EXT for a - one-dimensional array texture, or one of TEXTURE_CUBE_MAP_POSITIVE_X, - TEXTURE_CUBE_MAP_NEGATIVE_X, TEXTURE_CUBE_MAP_POSITIVE_Y, - TEXTURE_CUBE_MAP_NEGATIVE_Y, TEXTURE_CUBE_MAP_POSITIVE_Z, or - TEXTURE_CUBE_MAP_NEGATIVE_Z for a cube map texture. Additionally, - target may be either PROXY_TEXTURE_2D for a two-dimensional proxy - texture, PROXY_TEXTURE_1D_ARRAY_EXT for a one-dimensional proxy array - texture, or PROXY TEXTURE_CUBE_MAP for a cube map proxy texture in the - special case discussed in section 3.8.11. The other parameters match - the corresponding parameters of TexImage3D. - - For the purposes of decoding the texture image, TexImage2D is - equivalent to calling TexImage3D with corresponding arguments and depth - of 1, except that - - * The border depth, d_b, is zero, and the depth of the image is - always 1 regardless of the value of border. - - * The border height, h_b, is zero if is - TEXTURE_1D_ARRAY_EXT, and otherwise. - - * Convolution will be performed on the image (possibly changing its - width and height) if SEPARABLE 2D or CONVOLUTION 2D is enabled. - - * UNPACK SKIP IMAGES is ignored." - - -- Section 3.8.2 "Alternate Texture Image Specification Commands" - - Change the second paragraph (page 159) (spec changes identical - to EXT_texture_array): - - "The command - - void CopyTexImage2D(enum target, int level, - enum internalformat, int x, int y, sizei width, - sizei height, int border); - - defines a two-dimensional texture image in exactly the manner of - TexImage2D, except that the image data are taken from the framebuffer - rather than from client memory. Currently, target must be one of - TEXTURE_2D, TEXTURE_1D_ARRAY_EXT, TEXTURE_CUBE_MAP_POSITIVE_X, - TEXTURE_CUBE_MAP_NEGATIVE_X, TEXTURE_CUBE MAP_POSITIVE_Y, - TEXTURE_CUBE_MAP_NEGATIVE_Y, TEXTURE_CUBE_MAP_POSITIVE_Z, or - TEXTURE_CUBE_MAP_NEGATIVE_Z. - - - Change the last paragraph on page 160 to say (spec changes identical - to EXT_texture_array): - - "Currently the target arguments of TexSubImage1D and CopyTexSubImage1D - must be TEXTURE_1D, the target arguments of TexSubImage2D and - CopyTexSubImage2D must be one of TEXTURE_2D, TEXTURE_1D_ARRAY_EXT, - TEXTURE_CUBE_MAP_POSITIVE_X, TEXTURE_CUBE_MAP_NEGATIVE_X, - TEXTURE_CUBE_MAP_POSITIVE_Y, TEXTURE_CUBE_MAP_NEGATIVE_Y, - TEXTURE_CUBE_MAP_POSITIVE_Z, or TEXTURE_CUBE_MAP_NEGATIVE_Z, and the - target arguments of TexSubImage3D and CopyTexSubImage3D must be - TEXTURE_3D or TEXTURE_2D_ARRAY_EXT. ..." - - - -- Section 3.8.4 "Texture Parameters" - - Change the first paragraph (page 166) to say: - - "Various parameters control how the texel array is treated when - specified or changed, and when applied to a fragment. Each parameter is - set by calling - - void TexParameter{if}(enum target, enum pname, T param); - void TexParameter{if}v(enum target, enum pname, T params); - - target is the target, either TEXTURE_1D, TEXTURE_2D, TEXTURE_3D, - TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, or TEXTURE_2D_ARRAY_EXT." - - - -- Section 3.8.8 "Texture Minification" in the section "Scale Factor and Level of Detail" - - Change the first paragraph (page 172) to say: - - "Let s(x,y) be the function that associates an s texture coordinate - with each set of window coordinates (x,y) that lie within a primitive; - define t(x,y) and r(x,y) analogously. Let u(x,y) = w_t * s(x,y), - v(x,y) = h_t * t(x,y), and w(x,y) = d_t * r(x,y), where w_t, h_t, - and d_t are as defined by equations 3.15, 3.16, and 3.17 with - w_s, h_s, and d_s equal to the width, height, and depth of the - image array whose level is level_base. For a one-dimensional - texture or a one-dimensional array texture, define v(x,y) = 0 and - w(x,y) = 0; for a two-dimensional texture or a two-dimensional array - texture, define w(x,y) = 0..." - - -- Section 3.8.8 "Texture Minification" in the section "Mipmapping" - - Change the third paragraph (page 174) to say: - - "For a two-dimensional texture, two-dimensional array texture, or - cube map texture," - - Change the fourth paragraph (page 174) to say: - - "And for a one-dimensional texture or a one-dimensional array texture," - - After the first paragraph (page 175) add: - - "For one-dimensional array textures, h_b and d_b are treated as 1, - regardless of the actual values, when performing mipmap calculations. - For two-dimensional array textures, d_b is always treated as one, - regardless of the actual value, when performing mipmap calculations." - - -- Section 3.8.8 "Automatic Mipmap Generation" in the section "Mipmapping" - - Change the third paragraph (page 176) to say (spec changes identical - to EXT_texture_array): - - "The contents of the derived arrays are computed by repeated, filtered - reduction of the level_base array. For one- and two-dimensional array - textures, each layer is filtered independently. ..." - - -- Section 3.8.8 "Manual Mipmap Generation" in the section "Mipmapping" - - Change first paragraph to say (spec changes identical to - EXT_texture_array): - - "Mipmaps can be generated manually with the command - - void GenerateMipmapEXT(enum target); - - where is one of TEXTURE_1D, TEXTURE_2D, TEXTURE_CUBE_MAP, - TEXTURE_3D, TEXTURE_1D_ARRAY, or TEXTURE_2D_ARRAY. Mipmap generation - affects the texture image attached to . ..." - - -- Section 3.8.10 "Texture Completeness" - - Change the second paragraph (page 177) to say (spec changes identical - to EXT_texture_array): - - "For one-, two-, or three-dimensional textures and one- or - two-dimensional array textures, a texture is complete if the following - conditions all hold true:" - - -- Section 3.8.11 "Texture State and Proxy State" - - Change the second and third paragraphs (page 179) to say (spec changes - identical to EXT_texture_array): - - "In addition to image arrays for one-, two-, and three-dimensional - textures, one- and two-dimensional array textures, and the six image - arrays for the cube map texture, partially instantiated image arrays - are maintained for one-, two-, and three-dimensional textures and one- - and two-dimensional array textures. Additionally, a single proxy image - array is maintained for the cube map texture. Each proxy image array - includes width, height, depth, border width, and internal format state - values, as well as state for the red, green, blue, alpha, luminance, - and intensity component resolutions. Proxy image arrays do not include - image data, nor do they include texture properties. When TexImage3D is - executed with target specified as PROXY_TEXTURE_3D, the - three-dimensional proxy state values of the specified level-of-detail - are recomputed and updated. If the image array would not be supported - by TexImage3D called with target set to TEXTURE 3D, no error is - generated, but the proxy width, height, depth, border width, and - component resolutions are set to zero. If the image array would be - supported by such a call to TexImage3D, the proxy state values are set - exactly as though the actual image array were being specified. No pixel - data are transferred or processed in either case. - - Proxy arrays for one- and two-dimensional textures and one- and - two-dimensional array textures are operated on in the same way when - TexImage1D is executed with target specified as PROXY_TEXTURE_1D, - TexImage2D is executed with target specified as PROXY_TEXTURE_2D or - PROXY_TEXTURE_1D_ARRAY_EXT, or TexImage3D is executed with target - specified as PROXY_TETXURE_2D_ARRAY_EXT." - - -- Section 3.8.12 "Texture Objects" - - Change section (page 180) to say (spec changes identical to - EXT_texture_array): - - "In addition to the default textures TEXTURE_1D, TEXTURE_2D, - TEXTURE_3D, TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, and TEXTURE_2D_EXT, - named one-, two-, and three-dimensional, cube map, and one- and - two-dimensional array texture objects can be created and operated upon. - The name space for texture objects is the unsigned integers, with zero - reserved by the GL. - - A texture object is created by binding an unused name to TEXTURE_1D, - TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, or - TEXTURE_2D_ARRAY_EXT. The binding is effected by calling - - void BindTexture(enum target, uint texture); - - with set to the desired texture target and set to - the unused name. The resulting texture object is a new state vector, - comprising all the state values listed in section 3.8.11, set to the - same initial values. If the new texture object is bound to TEXTURE_1D, - TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, or - TEXTURE_2D_ARRAY_EXT, it is and remains a one-, two-, - three-dimensional, cube map, one- or two-dimensional array texture - respectively until it is deleted. - - BindTexture may also be used to bind an existing texture object to - either TEXTURE_1D, TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP, - TEXTURE_1D_ARRAY_EXT, or TEXTURE_2D_ARRAY_EXT. The error - INVALID_OPERATION is generated if an attempt is made to bind a texture - object of different dimensionality than the specified target. If the - bind is successful no change is made to the state of the bound texture - object, and any previous binding to target is broken. - - While a texture object is bound, GL operations on the target to which - it is bound affect the bound object, and queries of the target to which - it is bound return state from the bound object. If texture mapping of - the dimensionality of the target to which a texture object is bound is - enabled, the state of the bound texture object directs the texturing - operation. - - In the initial state, TEXTURE_1D, TEXTURE_2D, TEXTURE_3D, - TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, and TEXTURE_2D_ARRAY_EXT have - one-, two-, three-dimensional, cube map, and one- and two-dimensional - array texture state vectors respectively associated with them. In order - that access to these initial textures not be lost, they are treated as - texture objects all of whose names are 0. The initial one-, two-, - three-dimensional, cube map, one- and two-dimensional array textures - are therefore operated upon, queried, and applied as TEXTURE_1D, - TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, and - TEXTURE_2D_ARRAY_EXT respectively while 0 is bound to the corresponding - targets. - - Change second paragraph on page 181 to say (spec changes identical to - EXT_texture_array): - - "... If a texture that is currently bound to one of the targets - TEXTURE_1D, TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP, - TEXTURE_1D_ARRAY_EXT, or TEXTURE_2D_ARRAY_EXT is deleted, it is as - though BindTexture had been executed with the same target and texture - zero. ..." - - Change second paragraph on page 182 to say (spec changes identical to - EXT_texture_array): - - "The texture object name space, including the initial one-, two-, and - three dimensional, cube map, and one- and two-dimensional array texture - objects, is shared among all texture units. ..." - - - -- Section 3.8.14 "Depth Texture Comparison Modes" in "Texture Comparison Modes" - - Change second through fourth paragraphs (page 188) to say: - - "Let D_t be the depth texture value, in the range [0, 1]. For - texture lookups from one- and two-dimensional, rectangle, and - one-dimensional array targets, let R be the interpolated - texture coordinate, clamped to the range [0, 1]. For texture lookups - from two-dimensional array texture targets, let R be the interpolated - texture coordinate, clamped to the range [0, 1]. Then the - effective texture value L_t, I_t, or A_t is computed as follows: - - If the value of TEXTURE_COMPARE_MODE is NONE, then - - r = Dt - - If the value of TEXTURE_COMPARE_MODE is - COMPARE_REF_DEPTH_TO_TEXTURE_EXT), then r depends on the texture - comparison function as shown in table 3.27." - - -- Section 3.8.15 "Texture Application" - - Change the first paragraph (page 189) to say: - - "Texturing is enabled or disabled using the generic Enable and Disable - commands, respectively, with the symbolic constants TEXTURE_1D, - TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, or - TEXTURE_2D_ARRAY_EXT to enable one-, two-, three-dimensional, cube - map, one-dimensional array, or two-dimensional array texture, - respectively. If both two- and one-dimensional textures are enabled, - the two-dimensional texture is used. If the three-dimensional and - either of the two- or one-dimensional textures is enabled, the - three-dimensional texture is used. If the cube map texture and any of - the three-, two-, or one-dimensional textures is enabled, then cube map - texturing is used. If one-dimensional array texture is enabled and any - of cube map, three-, two-, or one-dimensional textures is enabled, - one-dimensional array texturing is used. If two-dimensional array - texture is enabled and any of cube map, three-, two-, one-dimensional - textures or one-dimensional array texture is enabled, two-dimensional - array texturing is used..." - - -- Section 3.11.2 of ARB_fragment_program (Fragment Program Grammar and Restrictions): - - (mostly add to existing grammar rules) - - ::= "MESA_texture_array" - - ::= "1D" - | "2D" - | "3D" - | "CUBE" - | "RECT" - | (if program option is present) - | (if program option is present) - - ::= "ARRAY1D" - | "ARRAY2D" - - ::= "SHADOW1D" - | "SHADOW2D" - | "SHADOWRECT" - | (if program option is present) - - ::= "SHADOWARRAY1D" - | "SHADOWARRAY2D" - - - -- Add Section 3.11.4.5.4 "Texture Stack Option" - - "If a fragment program specifies the "MESA_texture_array" program - option, the rule is modified to add the texture targets - ARRAY1D and ARRAY2D (See Section 3.11.2)." - - -- Section 3.11.6 "Fragment Program Texture Instruction Set" - - (replace 1st and 2nd paragraphs with the following paragraphs) - - "The first three texture instructions described below specify the - mapping of 4-tuple input vectors to 4-tuple output vectors. - The sampling of the texture works as described in section 3.8, - except that texture environments and texture functions are not - applicable, and the texture enables hierarchy is replaced by explicit - references to the desired texture target (i.e., 1D, 2D, 3D, cube map, - rectangle, ARRAY1D, ARRAY2D). These texture instructions specify - how the 4-tuple is mapped into the coordinates used for sampling. The - following function is used to describe the texture sampling in the - descriptions below: - - vec4 TextureSample(vec4 coord, float lodBias, int texImageUnit, - enum texTarget); - - Note that not all four components of the texture coordinates - are used by all texture targets. Component usage for each - is defined in table X. - - coordinates used - texTarget Texture Type s t r layer shadow - ---------------- --------------------- ----- ----- ------ - 1D TEXTURE_1D x - - - - - 2D TEXTURE_2D x y - - - - 3D TEXTURE_3D x y z - - - CUBE TEXTURE_CUBE_MAP x y z - - - RECT TEXTURE_RECTANGLE_ARB x y - - - - ARRAY1D TEXTURE_1D_ARRAY_EXT x - - y - - ARRAY2D TEXTURE_2D_ARRAY_EXT x y - z - - SHADOW1D TEXTURE_1D x - - - z - SHADOW2D TEXTURE_2D x y - - z - SHADOWRECT TEXTURE_RECTANGLE_ARB x y - - z - SHADOWARRAY1D TEXTURE_1D_ARRAY_EXT x - - y z - SHADOWARRAY2D TEXTURE_2D_ARRAY_EXT x y - z w - - Table X: Texture types accessed for each of the , and - coordinate mappings. The "coordinates used" column indicate the - input values used for each coordinate of the texture lookup, the - layer selector for array textures, and the reference value for - texture comparisons." - - -- Section 3.11.6.2 "TXP: Project coordinate and map to color" - - Add to the end of the section: - - "A program will fail to load if the TXP instruction is used in - conjunction with the SHADOWARRAY2D target." - -Additions to Chapter 4 of the OpenGL 2.0 Specification (Per-Fragment Operations) - - -- Section 4.4.2.3 "Attaching Texture Images to a Framebuffer" - - Add to the end of the section (spec changes identical to - EXT_texture_array): - - "The command - - void FramebufferTextureLayerEXT(enum target, enum attachment, - uint texture, int level, int layer); - - operates identically to FramebufferTexture3DEXT, except that it - attaches a single layer of a three-dimensional texture or a one- or - two-dimensional array texture. is an integer indicating the - layer number, and is treated identically to the parameter in - FramebufferTexture3DEXT. The error INVALID_VALUE is generated if - is negative. The error INVALID_OPERATION is generated if - is non-zero and is not the name of a three dimensional - texture or one- or two-dimensional array texture. Unlike - FramebufferTexture3D, no parameter is accepted. - - If is non-zero and the command does not result in an error, - the framebuffer attachment state corresponding to is - updated as in the other FramebufferTexture commands, except that - FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT is set to ." - - -- Section 4.4.4.1 "Framebuffer Attachment Completeness" - - Add to the end of the list of completeness rules (spec changes - identical to EXT_texture_array): - - "* If FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT is TEXTURE and - FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT names a one- or - two-dimensional array texture, then - FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT must be smaller than the - number of layers in the texture." - -Additions to Chapter 5 of the OpenGL 2.0 Specification (Special Functions) - - -- Section 5.4 "Display Lists" - - Change the first paragraph on page 242 to say (spec changes - identical to EXT_texture_array): - - "TexImage3D, TexImage2D, TexImage1D, Histogram, and ColorTable are - executed immediately when called with the corresponding proxy arguments - PROXY_TEXTURE_3D or PROXY_TEXTURE_2D_ARRAY_EXT; PROXY_TEXTURE_2D, - PROXY_TEXTURE_CUBE_MAP, or PROXY_TEXTURE_1D_ARRAY_EXT; - PROXY_TEXTURE_1D; PROXY_HISTOGRAM; and PROXY_COLOR_TABLE, - PROXY_POST_CONVOLUTION_COLOR_TABLE, or - PROXY_POST_COLOR_MATRIX_COLOR_TABLE." - -Additions to Chapter 6 of the OpenGL 2.0 Specification (State and State Requests) - - -- Section 6.1.3 "Enumerated Queries" - - Add after the line beginning "If the value of - FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT is TEXTURE" (spec changes - identical to EXT_texture_array): - - "If is FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT and the - texture object named FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT is a - three-dimensional texture or a one- or two-dimensional array texture, - then will contain the number of texture layer attached to the - attachment point. Otherwise, will contain the value zero." - - -- Section 6.1.4 "Texture Queries" - - Change the first three paragraphs (page 248) to say (spec changes - identical to EXT_texture_array): - - "The command - - void GetTexImage(enum tex, int lod, enum format, - enum type, void *img); - - is used to obtain texture images. It is somewhat different from the - other get commands; tex is a symbolic value indicating which texture - (or texture face in the case of a cube map texture target name) is to - be obtained. TEXTURE_1D, TEXTURE_2D, TEXTURE_3D, TEXTURE_1D_ARRAY_EXT, - and TEXTURE_2D_ARRAY_EXT indicate a one-, two-, or three-dimensional - texture, or one- or two-dimensional array texture, respectively. - TEXTURE_CUBE_MAP_POSITIVE_X, ... - - GetTexImage obtains... from the first image to the last for - three-dimensional textures. One- and two-dimensional array textures - are treated as two- and three-dimensional images, respectively, where - the layers are treated as rows or images. These groups are then... - - For three-dimensional and two-dimensional array textures, pixel storage - operations are applied as if the image were two-dimensional, except - that the additional pixel storage state values PACK_IMAGE_HEIGHT and - PACK_SKIP_IMAGES are applied. ..." - -Additions to Appendix A of the OpenGL 2.0 Specification (Invariance) - - None - -Additions to the AGL/GLX/WGL Specifications - - None - -GLX Protocol - - None - -Dependencies on ARB_fragment_program - - If ARB_fragment_program is not supported, the changes to section 3.11 - should be ignored. - -Dependencies on EXT_framebuffer_object - - If EXT_framebuffer_object is not supported, the changes to section - 3.8.8 ("Manual Mipmap Generation"), 4.4.2.3, and 6.1.3 should be ignored. - -Dependencies on EXT_texture_compression_s3tc and NV_texture_compression_vtc - - (Identical dependency as EXT_texture_array.) - - S3TC texture compression is supported for two-dimensional array textures. - When is TEXTURE_2D_ARRAY_EXT, each layer is stored independently - as a compressed two-dimensional textures. When specifying or querying - compressed images using one of the S3TC formats, the images are provided - and/or returned as a series of two-dimensional textures stored - consecutively in memory, with the layer closest to zero specified first. - For array textures, images are not arranged in 4x4x4 or 4x4x2 blocks as in - the three-dimensional compression format provided in the - EXT_texture_compression_vtc extension. Pixel store parameters, including - those specific to three-dimensional images, are ignored when compressed - image data are provided or returned, as in the - EXT_texture_compression_s3tc extension. - - S3TC compression is not supported for one-dimensional texture targets in - EXT_texture_compression_s3tc, and is not supported for one-dimensional - array textures in this extension. If compressed one-dimensional arrays - are needed, use a two-dimensional texture with a height of one. - - This extension allows the use of the four S3TC internal format types in - TexImage3D, CompressedTexImage3D, and CompressedTexSubImage3D calls. - -Errors - - None - -New State - - (add to table 6.15, p. 276) - - Initial - Get Value Type Get Command Value Description Sec. Attribute - ---------------------------- ----- ----------- ----- -------------------- ------ --------- - TEXTURE_BINDING_1D_ARRAY_EXT 2*xZ+ GetIntegerv 0 texture object bound 3.8.12 texture - to TEXTURE_1D_ARRAY - TEXTURE_BINDING_2D_ARRAY_EXT 2*xZ+ GetIntegerv 0 texture object bound 3.8.12 texture - to TEXTURE_2D_ARRAY - - -New Implementation Dependent State - - (add to Table 6.32, p. 293) - - Minimum - Get Value Type Get Command Value Description Sec. Attribute - ---------------------------- ---- ----------- ------- ------------------ ----- --------- - MAX_TEXTURE_ARRAY_LAYERS_EXT Z+ GetIntegerv 64 maximum number of 3.8.1 - - layers for texture - arrays - -Issues - - (1) Is "texture stack" a good name for this functionality? - - NO. The name is changed to "array texture" to match the - nomenclature used by GL_EXT_texture_array. - - (2) Should the R texture coordinate be treated as normalized or - un-normalized? If it were un-normalized, floor(R) could be thought - of as a direct index into the array texture. This may be more - convenient for applications. - - RESOLVED. All texture coordinates are normalized. The issue of - un-normalized texture coordinates has been discussed in the ARB - before and should be left for a layered extension. - - RE-RESOLVED. The R coordinate is un-normalized. Accessing an array - using [0, layers-1] coordinates is much more natural. - - (3) How does LOD selection work for stacked textures? - - RESOLVED. For 2D array textures the R coordinate is ignored, and - the LOD selection equations for 2D textures are used. For 1D - array textures the T coordinate is ignored, and the LOD selection - equations for 1D textures are used. The expected usage is in a - fragment program with an explicit LOD selection. - - (4) What is the maximum size of a 2D array texture? Is it the same - as for a 3D texture, or should a new query be added? How about for 1D - array textures? - - RESOLVED. A new query is added. - - (5) How are array textures exposed in GLSL? - - RESOLVED. Use GL_EXT_texture_array. - - (6) Should a 1D array texture also be exposed? - - RESOLVED. For orthogonality, yes. - - (7) How are stacked textures attached to framebuffer objects? - - RESOLVED. Layers of both one- and two-dimensional array textures - are attached using FreambufferTextureLayerEXT. Once attached, the - array texture layer behaves exactly as either a one- or - two-dimensional texture. - - (8) How is this extension related to GL_EXT_texture_array? - - This extension adapats GL_MESAX_texture_stack to the notation, - indexing, and FBO access of GL_EXT_texture_array. This extension - replaces the GLSL support of GL_EXT_texture_array with - GL_ARB_fragment_program support. - - Assembly program support is also provided by GL_NV_gpu_program4. - GL_NV_gpu_program4 also adds support for other features that are - specific to Nvidia hardware, while this extension adds only support - for array textures. - - Much of text of this extension that has changed since - GL_MESAX_texture_stack comes directly from either - GL_EXT_texture_array or GL_NV_gpu_program4. - -Revision History - - ||2005/11/15||0.1||idr||Initial draft MESAX version.|| - ||2005/12/07||0.2||idr||Added framebuffer object interactions.|| - ||2005/12/12||0.3||idr||Updated fragment program interactions.|| - ||2007/05/16||0.4||idr||Converted to MESA_texture_array. Brought in line with EXT_texture_array and NV_gpu_program4.|| +Name + + MESA_texture_array + +Name Strings + + GL_MESA_texture_array + +Contact + + Ian Romanick, IBM (idr 'at' us.ibm.com) + +IP Status + + No known IP issues. + +Status + + Shipping in Mesa 7.1 + +Version + + +Number + + TBD + +Dependencies + + OpenGL 1.2 or GL_EXT_texture3D is required. + + Support for ARB_fragment_program is assumed, but not required. + + Support for ARB_fragment_program_shadow is assumed, but not required. + + Support for EXT_framebuffer_object is assumed, but not required. + + Written based on the wording of the OpenGL 2.0 specification and + ARB_fragment_program_shadow but not dependent on them. + +Overview + + There are a number of circumstances where an application may wish to + blend two textures out of a larger set of textures. Moreover, in some + cases the selected textures may vary on a per-fragment basis within + a polygon. Several examples include: + + 1. High dynamic range textures. The application stores several + different "exposures" of an image as different textures. On a + per-fragment basis, the application selects which exposures are + used. + + 2. A terrain engine where the altitude of a point determines the + texture applied to it. If the transition is from beach sand to + grass to rocks to snow, the application will store each texture + in a different texture map, and dynamically select which two + textures to blend at run-time. + + 3. Storing short video clips in textures. Each depth slice is a + single frame of video. + + Several solutions to this problem have been proposed, but they either + involve using a separate texture unit for each texture map or using 3D + textures without mipmaps. Both of these options have major drawbacks. + + This extension provides a third alternative that eliminates the major + drawbacks of both previous methods. A new texture target, + TEXTURE_2D_ARRAY, is added that functions identically to TEXTURE_3D in + all aspects except the sizes of the non-base level images. In + traditional 3D texturing, the size of the N+1 LOD is half the size + of the N LOD in all three dimensions. For the TEXTURE_2D_ARRAY target, + the height and width of the N+1 LOD is halved, but the depth is the + same for all levels of detail. The texture then becomes an array of + 2D textures. The per-fragment texel is selected by the R texture + coordinate. + + References: + + http://www.opengl.org/discussion_boards/cgi_directory/ultimatebb.cgi?ubb=get_topic;f=3;t=011557 + http://www.opengl.org/discussion_boards/cgi_directory/ultimatebb.cgi?ubb=get_topic;f=3;t=000516 + http://www.opengl.org/discussion_boards/cgi_directory/ultimatebb.cgi?ubb=get_topic;f=3;t=011903 + http://www.delphi3d.net/articles/viewarticle.php?article=terraintex.htm + +New Procedures and Functions + + All functions come directly from EXT_texture_array. + + void FramebufferTextureLayerEXT(enum target, enum attachment, + uint texture, int level, int layer); + +New Tokens + + All token names and values come directly from EXT_texture_array. + + Accepted by the parameter of Enable, Disable, and IsEnabled, by + the parameter of GetBooleanv, GetIntegerv, GetFloatv, and + GetDoublev, and by the parameter of TexImage3D, GetTexImage, + GetTexLevelParameteriv, GetTexLevelParameterfv, GetTexParameteriv, and + GetTexParameterfv: + + TEXTURE_1D_ARRAY_EXT 0x8C18 + TEXTURE_2D_ARRAY_EXT 0x8C1A + + Accepted by the parameter of TexImage2D, TexSubImage2D, + CopyTexImage2D, CopyTexSubImage2D, CompressedTexImage2D, + CompressedTexSubImage2D, GetTexLevelParameteriv, and + GetTexLevelParameterfv: + + TEXTURE_1D_ARRAY_EXT + PROXY_TEXTURE_1D_ARRAY_EXT 0x8C19 + + Accepted by the parameter of TexImage3D, TexSubImage3D, + CopyTexSubImage3D, CompressedTexImage3D, CompressedTexSubImage3D, + GetTexLevelParameteriv, and GetTexLevelParameterfv: + + TEXTURE_2D_ARRAY_EXT + PROXY_TEXTURE_2D_ARRAY_EXT 0x8C1B + + Accepted by the parameter of GetBooleanv, GetIntegerv, + GetFloatv, and GetDoublev + + TEXTURE_BINDING_1D_ARRAY_EXT 0x8C1C + TEXTURE_BINDING_2D_ARRAY_EXT 0x8C1D + MAX_ARRAY_TEXTURE_LAYERS_EXT 0x88FF + + Accepted by the parameter of TexParameterf, TexParameteri, + TexParameterfv, and TexParameteriv when the parameter is + TEXTURE_COMPARE_MODE_ARB: + + COMPARE_REF_DEPTH_TO_TEXTURE_EXT 0x884E + + (Note: COMPARE_REF_DEPTH_TO_TEXTURE_EXT is simply an alias for the + existing COMPARE_R_TO_TEXTURE token in OpenGL 2.0; the alternate name + reflects the fact that the R coordinate is not always used.) + + Accepted by the parameter of TexImage3D and + CompressedTexImage3D, and by the parameter of + CompressedTexSubImage3D: + + COMPRESSED_RGB_S3TC_DXT1_EXT + COMPRESSED_RGBA_S3TC_DXT1_EXT + COMPRESSED_RGBA_S3TC_DXT3_EXT + COMPRESSED_RGBA_S3TC_DXT5_EXT + + Accepted by the parameter of + GetFramebufferAttachmentParameterivEXT: + + FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT 0x8CD4 + + (Note: FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER is simply an alias for the + FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT token provided in + EXT_framebuffer_object. This extension generalizes the notion of + "" to include layers of an array texture.) + +Additions to Chapter 2 of the OpenGL 2.0 Specification (OpenGL Operation) + + None + +Additions to Chapter 3 of the OpenGL 2.0 Specification (Rasterization) + + -- Section 3.8.1 "Texture Image Specification" + + Change the first paragraph (page 150) to say (spec changes identical to + EXT_texture_array): + + "The command + + void TexImage3D(enum target, int level, int internalformat, + sizei width, sizei height, sizei depth, int border, + enum format, enum type, void *data); + + is used to specify a three-dimensional texture image. target must be one + one of TEXTURE_3D for a three-dimensional texture or + TEXTURE_2D_ARRAY_EXT for an two-dimensional array texture. + Additionally, target may be either PROXY_TEXTURE_3D for a + three-dimensional proxy texture, or PROXY_TEXTURE_2D_ARRAY_EXT for a + two-dimensional proxy array texture." + + Change the fourth paragraph on page 151 to say (spec changes identical + to EXT_texture_array): + + "Textures with a base internal format of DEPTH_COMPONENT are supported + by texture image specification commands only if target is TEXTURE_1D, + TEXTURE_2D, TEXTURE_1D_ARRAY_EXT, TEXTURE_2D_ARRAY_EXT, + PROXY_TEXTURE_1D, PROXY_TEXTURE_2D, PROXY_TEXTURE_1D_ARRAY_EXT, or + PROXY_TEXTURE_2D_ARRAY_EXT. Using this format in conjunction with any + other target will result in an INVALID_OPERATION error." + + + Change the fourth paragraph on page 156 to say (spec changes identical + to EXT_texture_array): + + "The command + + void TexImage2D(enum target, int level, + int internalformat, sizei width, sizei height, + int border, enum format, enum type, void *data); + + is used to specify a two-dimensional texture image. target must be one + of TEXTURE_2D for a two-dimensional texture, TEXTURE_1D_ARRAY_EXT for a + one-dimensional array texture, or one of TEXTURE_CUBE_MAP_POSITIVE_X, + TEXTURE_CUBE_MAP_NEGATIVE_X, TEXTURE_CUBE_MAP_POSITIVE_Y, + TEXTURE_CUBE_MAP_NEGATIVE_Y, TEXTURE_CUBE_MAP_POSITIVE_Z, or + TEXTURE_CUBE_MAP_NEGATIVE_Z for a cube map texture. Additionally, + target may be either PROXY_TEXTURE_2D for a two-dimensional proxy + texture, PROXY_TEXTURE_1D_ARRAY_EXT for a one-dimensional proxy array + texture, or PROXY TEXTURE_CUBE_MAP for a cube map proxy texture in the + special case discussed in section 3.8.11. The other parameters match + the corresponding parameters of TexImage3D. + + For the purposes of decoding the texture image, TexImage2D is + equivalent to calling TexImage3D with corresponding arguments and depth + of 1, except that + + * The border depth, d_b, is zero, and the depth of the image is + always 1 regardless of the value of border. + + * The border height, h_b, is zero if is + TEXTURE_1D_ARRAY_EXT, and otherwise. + + * Convolution will be performed on the image (possibly changing its + width and height) if SEPARABLE 2D or CONVOLUTION 2D is enabled. + + * UNPACK SKIP IMAGES is ignored." + + -- Section 3.8.2 "Alternate Texture Image Specification Commands" + + Change the second paragraph (page 159) (spec changes identical + to EXT_texture_array): + + "The command + + void CopyTexImage2D(enum target, int level, + enum internalformat, int x, int y, sizei width, + sizei height, int border); + + defines a two-dimensional texture image in exactly the manner of + TexImage2D, except that the image data are taken from the framebuffer + rather than from client memory. Currently, target must be one of + TEXTURE_2D, TEXTURE_1D_ARRAY_EXT, TEXTURE_CUBE_MAP_POSITIVE_X, + TEXTURE_CUBE_MAP_NEGATIVE_X, TEXTURE_CUBE MAP_POSITIVE_Y, + TEXTURE_CUBE_MAP_NEGATIVE_Y, TEXTURE_CUBE_MAP_POSITIVE_Z, or + TEXTURE_CUBE_MAP_NEGATIVE_Z. + + + Change the last paragraph on page 160 to say (spec changes identical + to EXT_texture_array): + + "Currently the target arguments of TexSubImage1D and CopyTexSubImage1D + must be TEXTURE_1D, the target arguments of TexSubImage2D and + CopyTexSubImage2D must be one of TEXTURE_2D, TEXTURE_1D_ARRAY_EXT, + TEXTURE_CUBE_MAP_POSITIVE_X, TEXTURE_CUBE_MAP_NEGATIVE_X, + TEXTURE_CUBE_MAP_POSITIVE_Y, TEXTURE_CUBE_MAP_NEGATIVE_Y, + TEXTURE_CUBE_MAP_POSITIVE_Z, or TEXTURE_CUBE_MAP_NEGATIVE_Z, and the + target arguments of TexSubImage3D and CopyTexSubImage3D must be + TEXTURE_3D or TEXTURE_2D_ARRAY_EXT. ..." + + + -- Section 3.8.4 "Texture Parameters" + + Change the first paragraph (page 166) to say: + + "Various parameters control how the texel array is treated when + specified or changed, and when applied to a fragment. Each parameter is + set by calling + + void TexParameter{if}(enum target, enum pname, T param); + void TexParameter{if}v(enum target, enum pname, T params); + + target is the target, either TEXTURE_1D, TEXTURE_2D, TEXTURE_3D, + TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, or TEXTURE_2D_ARRAY_EXT." + + + -- Section 3.8.8 "Texture Minification" in the section "Scale Factor and Level of Detail" + + Change the first paragraph (page 172) to say: + + "Let s(x,y) be the function that associates an s texture coordinate + with each set of window coordinates (x,y) that lie within a primitive; + define t(x,y) and r(x,y) analogously. Let u(x,y) = w_t * s(x,y), + v(x,y) = h_t * t(x,y), and w(x,y) = d_t * r(x,y), where w_t, h_t, + and d_t are as defined by equations 3.15, 3.16, and 3.17 with + w_s, h_s, and d_s equal to the width, height, and depth of the + image array whose level is level_base. For a one-dimensional + texture or a one-dimensional array texture, define v(x,y) = 0 and + w(x,y) = 0; for a two-dimensional texture or a two-dimensional array + texture, define w(x,y) = 0..." + + -- Section 3.8.8 "Texture Minification" in the section "Mipmapping" + + Change the third paragraph (page 174) to say: + + "For a two-dimensional texture, two-dimensional array texture, or + cube map texture," + + Change the fourth paragraph (page 174) to say: + + "And for a one-dimensional texture or a one-dimensional array texture," + + After the first paragraph (page 175) add: + + "For one-dimensional array textures, h_b and d_b are treated as 1, + regardless of the actual values, when performing mipmap calculations. + For two-dimensional array textures, d_b is always treated as one, + regardless of the actual value, when performing mipmap calculations." + + -- Section 3.8.8 "Automatic Mipmap Generation" in the section "Mipmapping" + + Change the third paragraph (page 176) to say (spec changes identical + to EXT_texture_array): + + "The contents of the derived arrays are computed by repeated, filtered + reduction of the level_base array. For one- and two-dimensional array + textures, each layer is filtered independently. ..." + + -- Section 3.8.8 "Manual Mipmap Generation" in the section "Mipmapping" + + Change first paragraph to say (spec changes identical to + EXT_texture_array): + + "Mipmaps can be generated manually with the command + + void GenerateMipmapEXT(enum target); + + where is one of TEXTURE_1D, TEXTURE_2D, TEXTURE_CUBE_MAP, + TEXTURE_3D, TEXTURE_1D_ARRAY, or TEXTURE_2D_ARRAY. Mipmap generation + affects the texture image attached to . ..." + + -- Section 3.8.10 "Texture Completeness" + + Change the second paragraph (page 177) to say (spec changes identical + to EXT_texture_array): + + "For one-, two-, or three-dimensional textures and one- or + two-dimensional array textures, a texture is complete if the following + conditions all hold true:" + + -- Section 3.8.11 "Texture State and Proxy State" + + Change the second and third paragraphs (page 179) to say (spec changes + identical to EXT_texture_array): + + "In addition to image arrays for one-, two-, and three-dimensional + textures, one- and two-dimensional array textures, and the six image + arrays for the cube map texture, partially instantiated image arrays + are maintained for one-, two-, and three-dimensional textures and one- + and two-dimensional array textures. Additionally, a single proxy image + array is maintained for the cube map texture. Each proxy image array + includes width, height, depth, border width, and internal format state + values, as well as state for the red, green, blue, alpha, luminance, + and intensity component resolutions. Proxy image arrays do not include + image data, nor do they include texture properties. When TexImage3D is + executed with target specified as PROXY_TEXTURE_3D, the + three-dimensional proxy state values of the specified level-of-detail + are recomputed and updated. If the image array would not be supported + by TexImage3D called with target set to TEXTURE 3D, no error is + generated, but the proxy width, height, depth, border width, and + component resolutions are set to zero. If the image array would be + supported by such a call to TexImage3D, the proxy state values are set + exactly as though the actual image array were being specified. No pixel + data are transferred or processed in either case. + + Proxy arrays for one- and two-dimensional textures and one- and + two-dimensional array textures are operated on in the same way when + TexImage1D is executed with target specified as PROXY_TEXTURE_1D, + TexImage2D is executed with target specified as PROXY_TEXTURE_2D or + PROXY_TEXTURE_1D_ARRAY_EXT, or TexImage3D is executed with target + specified as PROXY_TETXURE_2D_ARRAY_EXT." + + -- Section 3.8.12 "Texture Objects" + + Change section (page 180) to say (spec changes identical to + EXT_texture_array): + + "In addition to the default textures TEXTURE_1D, TEXTURE_2D, + TEXTURE_3D, TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, and TEXTURE_2D_EXT, + named one-, two-, and three-dimensional, cube map, and one- and + two-dimensional array texture objects can be created and operated upon. + The name space for texture objects is the unsigned integers, with zero + reserved by the GL. + + A texture object is created by binding an unused name to TEXTURE_1D, + TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, or + TEXTURE_2D_ARRAY_EXT. The binding is effected by calling + + void BindTexture(enum target, uint texture); + + with set to the desired texture target and set to + the unused name. The resulting texture object is a new state vector, + comprising all the state values listed in section 3.8.11, set to the + same initial values. If the new texture object is bound to TEXTURE_1D, + TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, or + TEXTURE_2D_ARRAY_EXT, it is and remains a one-, two-, + three-dimensional, cube map, one- or two-dimensional array texture + respectively until it is deleted. + + BindTexture may also be used to bind an existing texture object to + either TEXTURE_1D, TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP, + TEXTURE_1D_ARRAY_EXT, or TEXTURE_2D_ARRAY_EXT. The error + INVALID_OPERATION is generated if an attempt is made to bind a texture + object of different dimensionality than the specified target. If the + bind is successful no change is made to the state of the bound texture + object, and any previous binding to target is broken. + + While a texture object is bound, GL operations on the target to which + it is bound affect the bound object, and queries of the target to which + it is bound return state from the bound object. If texture mapping of + the dimensionality of the target to which a texture object is bound is + enabled, the state of the bound texture object directs the texturing + operation. + + In the initial state, TEXTURE_1D, TEXTURE_2D, TEXTURE_3D, + TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, and TEXTURE_2D_ARRAY_EXT have + one-, two-, three-dimensional, cube map, and one- and two-dimensional + array texture state vectors respectively associated with them. In order + that access to these initial textures not be lost, they are treated as + texture objects all of whose names are 0. The initial one-, two-, + three-dimensional, cube map, one- and two-dimensional array textures + are therefore operated upon, queried, and applied as TEXTURE_1D, + TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, and + TEXTURE_2D_ARRAY_EXT respectively while 0 is bound to the corresponding + targets. + + Change second paragraph on page 181 to say (spec changes identical to + EXT_texture_array): + + "... If a texture that is currently bound to one of the targets + TEXTURE_1D, TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP, + TEXTURE_1D_ARRAY_EXT, or TEXTURE_2D_ARRAY_EXT is deleted, it is as + though BindTexture had been executed with the same target and texture + zero. ..." + + Change second paragraph on page 182 to say (spec changes identical to + EXT_texture_array): + + "The texture object name space, including the initial one-, two-, and + three dimensional, cube map, and one- and two-dimensional array texture + objects, is shared among all texture units. ..." + + + -- Section 3.8.14 "Depth Texture Comparison Modes" in "Texture Comparison Modes" + + Change second through fourth paragraphs (page 188) to say: + + "Let D_t be the depth texture value, in the range [0, 1]. For + texture lookups from one- and two-dimensional, rectangle, and + one-dimensional array targets, let R be the interpolated + texture coordinate, clamped to the range [0, 1]. For texture lookups + from two-dimensional array texture targets, let R be the interpolated + texture coordinate, clamped to the range [0, 1]. Then the + effective texture value L_t, I_t, or A_t is computed as follows: + + If the value of TEXTURE_COMPARE_MODE is NONE, then + + r = Dt + + If the value of TEXTURE_COMPARE_MODE is + COMPARE_REF_DEPTH_TO_TEXTURE_EXT), then r depends on the texture + comparison function as shown in table 3.27." + + -- Section 3.8.15 "Texture Application" + + Change the first paragraph (page 189) to say: + + "Texturing is enabled or disabled using the generic Enable and Disable + commands, respectively, with the symbolic constants TEXTURE_1D, + TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, or + TEXTURE_2D_ARRAY_EXT to enable one-, two-, three-dimensional, cube + map, one-dimensional array, or two-dimensional array texture, + respectively. If both two- and one-dimensional textures are enabled, + the two-dimensional texture is used. If the three-dimensional and + either of the two- or one-dimensional textures is enabled, the + three-dimensional texture is used. If the cube map texture and any of + the three-, two-, or one-dimensional textures is enabled, then cube map + texturing is used. If one-dimensional array texture is enabled and any + of cube map, three-, two-, or one-dimensional textures is enabled, + one-dimensional array texturing is used. If two-dimensional array + texture is enabled and any of cube map, three-, two-, one-dimensional + textures or one-dimensional array texture is enabled, two-dimensional + array texturing is used..." + + -- Section 3.11.2 of ARB_fragment_program (Fragment Program Grammar and Restrictions): + + (mostly add to existing grammar rules) + + ::= "MESA_texture_array" + + ::= "1D" + | "2D" + | "3D" + | "CUBE" + | "RECT" + | (if program option is present) + | (if program option is present) + + ::= "ARRAY1D" + | "ARRAY2D" + + ::= "SHADOW1D" + | "SHADOW2D" + | "SHADOWRECT" + | (if program option is present) + + ::= "SHADOWARRAY1D" + | "SHADOWARRAY2D" + + + -- Add Section 3.11.4.5.4 "Texture Stack Option" + + "If a fragment program specifies the "MESA_texture_array" program + option, the rule is modified to add the texture targets + ARRAY1D and ARRAY2D (See Section 3.11.2)." + + -- Section 3.11.6 "Fragment Program Texture Instruction Set" + + (replace 1st and 2nd paragraphs with the following paragraphs) + + "The first three texture instructions described below specify the + mapping of 4-tuple input vectors to 4-tuple output vectors. + The sampling of the texture works as described in section 3.8, + except that texture environments and texture functions are not + applicable, and the texture enables hierarchy is replaced by explicit + references to the desired texture target (i.e., 1D, 2D, 3D, cube map, + rectangle, ARRAY1D, ARRAY2D). These texture instructions specify + how the 4-tuple is mapped into the coordinates used for sampling. The + following function is used to describe the texture sampling in the + descriptions below: + + vec4 TextureSample(vec4 coord, float lodBias, int texImageUnit, + enum texTarget); + + Note that not all four components of the texture coordinates + are used by all texture targets. Component usage for each + is defined in table X. + + coordinates used + texTarget Texture Type s t r layer shadow + ---------------- --------------------- ----- ----- ------ + 1D TEXTURE_1D x - - - - + 2D TEXTURE_2D x y - - - + 3D TEXTURE_3D x y z - - + CUBE TEXTURE_CUBE_MAP x y z - - + RECT TEXTURE_RECTANGLE_ARB x y - - - + ARRAY1D TEXTURE_1D_ARRAY_EXT x - - y - + ARRAY2D TEXTURE_2D_ARRAY_EXT x y - z - + SHADOW1D TEXTURE_1D x - - - z + SHADOW2D TEXTURE_2D x y - - z + SHADOWRECT TEXTURE_RECTANGLE_ARB x y - - z + SHADOWARRAY1D TEXTURE_1D_ARRAY_EXT x - - y z + SHADOWARRAY2D TEXTURE_2D_ARRAY_EXT x y - z w + + Table X: Texture types accessed for each of the , and + coordinate mappings. The "coordinates used" column indicate the + input values used for each coordinate of the texture lookup, the + layer selector for array textures, and the reference value for + texture comparisons." + + -- Section 3.11.6.2 "TXP: Project coordinate and map to color" + + Add to the end of the section: + + "A program will fail to load if the TXP instruction is used in + conjunction with the SHADOWARRAY2D target." + +Additions to Chapter 4 of the OpenGL 2.0 Specification (Per-Fragment Operations) + + -- Section 4.4.2.3 "Attaching Texture Images to a Framebuffer" + + Add to the end of the section (spec changes identical to + EXT_texture_array): + + "The command + + void FramebufferTextureLayerEXT(enum target, enum attachment, + uint texture, int level, int layer); + + operates identically to FramebufferTexture3DEXT, except that it + attaches a single layer of a three-dimensional texture or a one- or + two-dimensional array texture. is an integer indicating the + layer number, and is treated identically to the parameter in + FramebufferTexture3DEXT. The error INVALID_VALUE is generated if + is negative. The error INVALID_OPERATION is generated if + is non-zero and is not the name of a three dimensional + texture or one- or two-dimensional array texture. Unlike + FramebufferTexture3D, no parameter is accepted. + + If is non-zero and the command does not result in an error, + the framebuffer attachment state corresponding to is + updated as in the other FramebufferTexture commands, except that + FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT is set to ." + + -- Section 4.4.4.1 "Framebuffer Attachment Completeness" + + Add to the end of the list of completeness rules (spec changes + identical to EXT_texture_array): + + "* If FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT is TEXTURE and + FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT names a one- or + two-dimensional array texture, then + FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT must be smaller than the + number of layers in the texture." + +Additions to Chapter 5 of the OpenGL 2.0 Specification (Special Functions) + + -- Section 5.4 "Display Lists" + + Change the first paragraph on page 242 to say (spec changes + identical to EXT_texture_array): + + "TexImage3D, TexImage2D, TexImage1D, Histogram, and ColorTable are + executed immediately when called with the corresponding proxy arguments + PROXY_TEXTURE_3D or PROXY_TEXTURE_2D_ARRAY_EXT; PROXY_TEXTURE_2D, + PROXY_TEXTURE_CUBE_MAP, or PROXY_TEXTURE_1D_ARRAY_EXT; + PROXY_TEXTURE_1D; PROXY_HISTOGRAM; and PROXY_COLOR_TABLE, + PROXY_POST_CONVOLUTION_COLOR_TABLE, or + PROXY_POST_COLOR_MATRIX_COLOR_TABLE." + +Additions to Chapter 6 of the OpenGL 2.0 Specification (State and State Requests) + + -- Section 6.1.3 "Enumerated Queries" + + Add after the line beginning "If the value of + FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT is TEXTURE" (spec changes + identical to EXT_texture_array): + + "If is FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT and the + texture object named FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT is a + three-dimensional texture or a one- or two-dimensional array texture, + then will contain the number of texture layer attached to the + attachment point. Otherwise, will contain the value zero." + + -- Section 6.1.4 "Texture Queries" + + Change the first three paragraphs (page 248) to say (spec changes + identical to EXT_texture_array): + + "The command + + void GetTexImage(enum tex, int lod, enum format, + enum type, void *img); + + is used to obtain texture images. It is somewhat different from the + other get commands; tex is a symbolic value indicating which texture + (or texture face in the case of a cube map texture target name) is to + be obtained. TEXTURE_1D, TEXTURE_2D, TEXTURE_3D, TEXTURE_1D_ARRAY_EXT, + and TEXTURE_2D_ARRAY_EXT indicate a one-, two-, or three-dimensional + texture, or one- or two-dimensional array texture, respectively. + TEXTURE_CUBE_MAP_POSITIVE_X, ... + + GetTexImage obtains... from the first image to the last for + three-dimensional textures. One- and two-dimensional array textures + are treated as two- and three-dimensional images, respectively, where + the layers are treated as rows or images. These groups are then... + + For three-dimensional and two-dimensional array textures, pixel storage + operations are applied as if the image were two-dimensional, except + that the additional pixel storage state values PACK_IMAGE_HEIGHT and + PACK_SKIP_IMAGES are applied. ..." + +Additions to Appendix A of the OpenGL 2.0 Specification (Invariance) + + None + +Additions to the AGL/GLX/WGL Specifications + + None + +GLX Protocol + + None + +Dependencies on ARB_fragment_program + + If ARB_fragment_program is not supported, the changes to section 3.11 + should be ignored. + +Dependencies on EXT_framebuffer_object + + If EXT_framebuffer_object is not supported, the changes to section + 3.8.8 ("Manual Mipmap Generation"), 4.4.2.3, and 6.1.3 should be ignored. + +Dependencies on EXT_texture_compression_s3tc and NV_texture_compression_vtc + + (Identical dependency as EXT_texture_array.) + + S3TC texture compression is supported for two-dimensional array textures. + When is TEXTURE_2D_ARRAY_EXT, each layer is stored independently + as a compressed two-dimensional textures. When specifying or querying + compressed images using one of the S3TC formats, the images are provided + and/or returned as a series of two-dimensional textures stored + consecutively in memory, with the layer closest to zero specified first. + For array textures, images are not arranged in 4x4x4 or 4x4x2 blocks as in + the three-dimensional compression format provided in the + EXT_texture_compression_vtc extension. Pixel store parameters, including + those specific to three-dimensional images, are ignored when compressed + image data are provided or returned, as in the + EXT_texture_compression_s3tc extension. + + S3TC compression is not supported for one-dimensional texture targets in + EXT_texture_compression_s3tc, and is not supported for one-dimensional + array textures in this extension. If compressed one-dimensional arrays + are needed, use a two-dimensional texture with a height of one. + + This extension allows the use of the four S3TC internal format types in + TexImage3D, CompressedTexImage3D, and CompressedTexSubImage3D calls. + +Errors + + None + +New State + + (add to table 6.15, p. 276) + + Initial + Get Value Type Get Command Value Description Sec. Attribute + ---------------------------- ----- ----------- ----- -------------------- ------ --------- + TEXTURE_BINDING_1D_ARRAY_EXT 2*xZ+ GetIntegerv 0 texture object bound 3.8.12 texture + to TEXTURE_1D_ARRAY + TEXTURE_BINDING_2D_ARRAY_EXT 2*xZ+ GetIntegerv 0 texture object bound 3.8.12 texture + to TEXTURE_2D_ARRAY + + +New Implementation Dependent State + + (add to Table 6.32, p. 293) + + Minimum + Get Value Type Get Command Value Description Sec. Attribute + ---------------------------- ---- ----------- ------- ------------------ ----- --------- + MAX_TEXTURE_ARRAY_LAYERS_EXT Z+ GetIntegerv 64 maximum number of 3.8.1 - + layers for texture + arrays + +Issues + + (1) Is "texture stack" a good name for this functionality? + + NO. The name is changed to "array texture" to match the + nomenclature used by GL_EXT_texture_array. + + (2) Should the R texture coordinate be treated as normalized or + un-normalized? If it were un-normalized, floor(R) could be thought + of as a direct index into the array texture. This may be more + convenient for applications. + + RESOLVED. All texture coordinates are normalized. The issue of + un-normalized texture coordinates has been discussed in the ARB + before and should be left for a layered extension. + + RE-RESOLVED. The R coordinate is un-normalized. Accessing an array + using [0, layers-1] coordinates is much more natural. + + (3) How does LOD selection work for stacked textures? + + RESOLVED. For 2D array textures the R coordinate is ignored, and + the LOD selection equations for 2D textures are used. For 1D + array textures the T coordinate is ignored, and the LOD selection + equations for 1D textures are used. The expected usage is in a + fragment program with an explicit LOD selection. + + (4) What is the maximum size of a 2D array texture? Is it the same + as for a 3D texture, or should a new query be added? How about for 1D + array textures? + + RESOLVED. A new query is added. + + (5) How are array textures exposed in GLSL? + + RESOLVED. Use GL_EXT_texture_array. + + (6) Should a 1D array texture also be exposed? + + RESOLVED. For orthogonality, yes. + + (7) How are stacked textures attached to framebuffer objects? + + RESOLVED. Layers of both one- and two-dimensional array textures + are attached using FreambufferTextureLayerEXT. Once attached, the + array texture layer behaves exactly as either a one- or + two-dimensional texture. + + (8) How is this extension related to GL_EXT_texture_array? + + This extension adapats GL_MESAX_texture_stack to the notation, + indexing, and FBO access of GL_EXT_texture_array. This extension + replaces the GLSL support of GL_EXT_texture_array with + GL_ARB_fragment_program support. + + Assembly program support is also provided by GL_NV_gpu_program4. + GL_NV_gpu_program4 also adds support for other features that are + specific to Nvidia hardware, while this extension adds only support + for array textures. + + Much of text of this extension that has changed since + GL_MESAX_texture_stack comes directly from either + GL_EXT_texture_array or GL_NV_gpu_program4. + +Revision History + + ||2005/11/15||0.1||idr||Initial draft MESAX version.|| + ||2005/12/07||0.2||idr||Added framebuffer object interactions.|| + ||2005/12/12||0.3||idr||Updated fragment program interactions.|| + ||2007/05/16||0.4||idr||Converted to MESA_texture_array. Brought in line with EXT_texture_array and NV_gpu_program4.|| diff --git a/mesalib/docs/MESA_texture_signed_rgba.spec b/mesalib/docs/MESA_texture_signed_rgba.spec index bcc4d4203..e3a6b59af 100644 --- a/mesalib/docs/MESA_texture_signed_rgba.spec +++ b/mesalib/docs/MESA_texture_signed_rgba.spec @@ -1,214 +1,214 @@ -Name - - MESA_texture_signed_rgba - -Name Strings - - GL_MESA_texture_signed_rgba - -Contact - - - -Notice - - - -IP Status - - No known IP issues - -Status - - - -Version - - 0.3, 2009-03-24 - -Number - - Not assigned ? - -Dependencies - - Written based on the wording of the OpenGL 2.0 specification. - - This extension trivially interacts with ARB_texture_float. - This extension shares some language with ARB_texture_compression_rgtc - but does not depend on it. - -Overview - - OpenGL prior to 3.1 does not support any signed texture formats. - ARB_texture_compression_rgtc introduces some compressed red and - red_green signed formats but no uncompressed ones, which might - still be useful. NV_texture_shader adds signed texture formats, - but also a lot of functionality which has been superseded by fragment - shaders. - It is usually possible to get the same functionality - using a unsigned format by doing scale and bias in a shader, but this - is undesirable since modern hardware has direct support for this. - This extension adds a signed 4-channel texture format by backporting - the relevant features from OpenGL 3.1, as a means to support this in - OpenGL implementations only supporting older versions. - -Issues - - 1) What should this extension be called? - - RESOLVED: MESA_texture_signed_rgba seems reasonable. - The rgba part is there because only 4 channel format is supported. - - - 2) Should the full set of signed formats (alpha, luminance, rgb, etc.) - be supported? - - RESOLVED: NO. To keep this extension simple, only add the most - universal format, rgba. alpha/luminance can't be trivially supported - since OpenGL 3.1 does not support them any longer, and there is some - implied dependency on ARB_texture_rg for red/red_green formats so - avoid all this. Likewise, only 8 bits per channel is supported. - - - 3) Should this extension use new enums for the texture formats? - - RESOLVED: NO. Same enums as those used in OpenGL 3.1. - - - 4) How are signed integer values mapped to floating-point values? - - RESOLVED: Same as described in issue 5) of - ARB_texture_compression_rgtc (quote): - A signed 8-bit two's complement value X is computed to - a floating-point value Xf with the formula: - - { X / 127.0, X > -128 - Xf = { - { -1.0, X == -128 - - This conversion means -1, 0, and +1 are all exactly representable, - however -128 and -127 both map to -1.0. Mapping -128 to -1.0 - avoids the numerical awkwardness of have a representable value - slightly more negative than -1.0. - - This conversion is intentionally NOT the "byte" conversion listed - in Table 2.9 for component conversions. That conversion says: - - Xf = (2*X + 1) / 255.0 - - The Table 2.9 conversion is incapable of exactly representing - zero. - - (Difference to ARB_texture_compression_rgtc): - This is the same mapping as OpenGL 3.1 uses. - This is also different to what NV_texture_shader used. - The above mapping should be considered the reference, but there - is some leeway so other mappings are allowed for implementations which - cannot do this. Particularly the mapping given in NV_texture_shader or - the standard OpenGL byte/float mapping is considered acceptable too, as - might be a mapping which represents -1.0 by -128, 0.0 by 0 and 1.0 by - 127 (that is, uses different scale factors for negative and positive - numbers). - Also, it is ok to store incoming GL_BYTE user data as-is, without - converting to GL_FLOAT (using the standard OpenGL float/byte mapping) - and converting back (using the mapping described here). - Other than those subtle issues there are no other non-standard - conversions used, so when using for instance CopyTexImage2D with - a framebuffer clamped to [0,1] all converted numbers will be in the range - [0, 127] (and not scaled and biased). - - - 5) How will signed components resulting from RGBA8_SNORM texture - fetches interact with fragment coloring? - - RESOLVED: Same as described in issue 6) of - ARB_texture_compression_rgtc (quote): - The specification language for this extension is silent - about clamping behavior leaving this to the core specification - and other extensions. The clamping or lack of clamping is left - to the core specification and other extensions. - - For assembly program extensions supporting texture fetches - (ARB_fragment_program, NV_fragment_program, NV_vertex_program3, - etc.) or the OpenGL Shading Language, these signed formats will - appear as expected with unclamped signed components as a result - of a texture fetch instruction. - - If ARB_color_buffer_float is supported, its clamping controls - will apply. - - NV_texture_shader extension, if supported, adds support for - fixed-point textures with signed components and relaxed the - fixed-function texture environment clamping appropriately. If the - NV_texture_shader extension is supported, its specified behavior - for the texture environment applies where intermediate values - are clamped to [-1,1] unless stated otherwise as in the case - of explicitly clamped to [0,1] for GL_COMBINE. or clamping the - linear interpolation weight to [0,1] for GL_DECAL and GL_BLEND. - - Otherwise, the conventional core texture environment clamps - incoming, intermediate, and output color components to [0,1]. - - This implies that the conventional texture environment - functionality of unextended OpenGL 1.5 or OpenGL 2.0 without - using GLSL (and with none of the extensions referred to above) - is unable to make proper use of the signed texture formats added - by this extension because the conventional texture environment - requires texture source colors to be clamped to [0,1]. Texture - filtering of these signed formats would be still signed, but - negative values generated post-filtering would be clamped to - zero by the core texture environment functionality. The - expectation is clearly that this extension would be co-implemented - with one of the previously referred to extensions or used with - GLSL for the new signed formats to be useful. - - - 6) Should the RGBA_SNORM tokens also be accepted by CopyTexImage - functions? - - RESOLVED: YES. - - - 7) What to do with GetTexParameter if ARB_texture_float is supported, - in particular what datatype should this return for TEXTURE_RED_TYPE_ARB, - TEXTURE_GREEN_TYPE_ARB, TEXTURE_BLUE_TYPE_ARB, TEXTURE_ALPHA_TYPE_ARB? - - RESOLVED: ARB_texture_float states type is either NONE, - UNSIGNED_NORMALIZED_ARB, or FLOAT. This extension adds a new enum, - SIGNED_NORMALIZED, which will be returned accordingly. This is the - same behaviour as in OpenGL 3.1. - - -New Tokens - - - Accepted by the parameter of - TexImage1D, TexImage2D, TexImage3D, CopyTexImage1D, and CopyTexImage2D: - - RGBA_SNORM 0x8F93 - RGBA8_SNORM 0x8F97 - - Returned by the parameter of GetTexLevelParameter: - - SIGNED_NORMALIZED 0x8F9C - - -Additions to Chapter 3 of the OpenGL 2.0 Specification (Rasterization): - - -- Section 3.8.1, Texture Image Specification - - Add to Table 3.16 (page 154): Sized internal formats - - Sized Base R G B A L I D - Internal Format Internal Format bits bits bits bits bits bits bits - --------------- --------------- ---- ---- ---- ---- ---- ---- ---- - RGBA8_SNORM RGBA 8 8 8 8 0 0 0 - - -Dependencies on ARB_texture_float extension: - - If ARB_texture_float is supported, GetTexParameter queries with - of TEXTURE_RED_TYPE_ARB, TEXTURE_GREEN_TYPE_ARB, TEXTURE_BLUE_TYPE_ARB or - TEXTURE_ALPHA_TYPE_ARB return SIGNED_NORMALIZED if - the base internal format is RGBA_SNORM. +Name + + MESA_texture_signed_rgba + +Name Strings + + GL_MESA_texture_signed_rgba + +Contact + + + +Notice + + + +IP Status + + No known IP issues + +Status + + + +Version + + 0.3, 2009-03-24 + +Number + + Not assigned ? + +Dependencies + + Written based on the wording of the OpenGL 2.0 specification. + + This extension trivially interacts with ARB_texture_float. + This extension shares some language with ARB_texture_compression_rgtc + but does not depend on it. + +Overview + + OpenGL prior to 3.1 does not support any signed texture formats. + ARB_texture_compression_rgtc introduces some compressed red and + red_green signed formats but no uncompressed ones, which might + still be useful. NV_texture_shader adds signed texture formats, + but also a lot of functionality which has been superseded by fragment + shaders. + It is usually possible to get the same functionality + using a unsigned format by doing scale and bias in a shader, but this + is undesirable since modern hardware has direct support for this. + This extension adds a signed 4-channel texture format by backporting + the relevant features from OpenGL 3.1, as a means to support this in + OpenGL implementations only supporting older versions. + +Issues + + 1) What should this extension be called? + + RESOLVED: MESA_texture_signed_rgba seems reasonable. + The rgba part is there because only 4 channel format is supported. + + + 2) Should the full set of signed formats (alpha, luminance, rgb, etc.) + be supported? + + RESOLVED: NO. To keep this extension simple, only add the most + universal format, rgba. alpha/luminance can't be trivially supported + since OpenGL 3.1 does not support them any longer, and there is some + implied dependency on ARB_texture_rg for red/red_green formats so + avoid all this. Likewise, only 8 bits per channel is supported. + + + 3) Should this extension use new enums for the texture formats? + + RESOLVED: NO. Same enums as those used in OpenGL 3.1. + + + 4) How are signed integer values mapped to floating-point values? + + RESOLVED: Same as described in issue 5) of + ARB_texture_compression_rgtc (quote): + A signed 8-bit two's complement value X is computed to + a floating-point value Xf with the formula: + + { X / 127.0, X > -128 + Xf = { + { -1.0, X == -128 + + This conversion means -1, 0, and +1 are all exactly representable, + however -128 and -127 both map to -1.0. Mapping -128 to -1.0 + avoids the numerical awkwardness of have a representable value + slightly more negative than -1.0. + + This conversion is intentionally NOT the "byte" conversion listed + in Table 2.9 for component conversions. That conversion says: + + Xf = (2*X + 1) / 255.0 + + The Table 2.9 conversion is incapable of exactly representing + zero. + + (Difference to ARB_texture_compression_rgtc): + This is the same mapping as OpenGL 3.1 uses. + This is also different to what NV_texture_shader used. + The above mapping should be considered the reference, but there + is some leeway so other mappings are allowed for implementations which + cannot do this. Particularly the mapping given in NV_texture_shader or + the standard OpenGL byte/float mapping is considered acceptable too, as + might be a mapping which represents -1.0 by -128, 0.0 by 0 and 1.0 by + 127 (that is, uses different scale factors for negative and positive + numbers). + Also, it is ok to store incoming GL_BYTE user data as-is, without + converting to GL_FLOAT (using the standard OpenGL float/byte mapping) + and converting back (using the mapping described here). + Other than those subtle issues there are no other non-standard + conversions used, so when using for instance CopyTexImage2D with + a framebuffer clamped to [0,1] all converted numbers will be in the range + [0, 127] (and not scaled and biased). + + + 5) How will signed components resulting from RGBA8_SNORM texture + fetches interact with fragment coloring? + + RESOLVED: Same as described in issue 6) of + ARB_texture_compression_rgtc (quote): + The specification language for this extension is silent + about clamping behavior leaving this to the core specification + and other extensions. The clamping or lack of clamping is left + to the core specification and other extensions. + + For assembly program extensions supporting texture fetches + (ARB_fragment_program, NV_fragment_program, NV_vertex_program3, + etc.) or the OpenGL Shading Language, these signed formats will + appear as expected with unclamped signed components as a result + of a texture fetch instruction. + + If ARB_color_buffer_float is supported, its clamping controls + will apply. + + NV_texture_shader extension, if supported, adds support for + fixed-point textures with signed components and relaxed the + fixed-function texture environment clamping appropriately. If the + NV_texture_shader extension is supported, its specified behavior + for the texture environment applies where intermediate values + are clamped to [-1,1] unless stated otherwise as in the case + of explicitly clamped to [0,1] for GL_COMBINE. or clamping the + linear interpolation weight to [0,1] for GL_DECAL and GL_BLEND. + + Otherwise, the conventional core texture environment clamps + incoming, intermediate, and output color components to [0,1]. + + This implies that the conventional texture environment + functionality of unextended OpenGL 1.5 or OpenGL 2.0 without + using GLSL (and with none of the extensions referred to above) + is unable to make proper use of the signed texture formats added + by this extension because the conventional texture environment + requires texture source colors to be clamped to [0,1]. Texture + filtering of these signed formats would be still signed, but + negative values generated post-filtering would be clamped to + zero by the core texture environment functionality. The + expectation is clearly that this extension would be co-implemented + with one of the previously referred to extensions or used with + GLSL for the new signed formats to be useful. + + + 6) Should the RGBA_SNORM tokens also be accepted by CopyTexImage + functions? + + RESOLVED: YES. + + + 7) What to do with GetTexParameter if ARB_texture_float is supported, + in particular what datatype should this return for TEXTURE_RED_TYPE_ARB, + TEXTURE_GREEN_TYPE_ARB, TEXTURE_BLUE_TYPE_ARB, TEXTURE_ALPHA_TYPE_ARB? + + RESOLVED: ARB_texture_float states type is either NONE, + UNSIGNED_NORMALIZED_ARB, or FLOAT. This extension adds a new enum, + SIGNED_NORMALIZED, which will be returned accordingly. This is the + same behaviour as in OpenGL 3.1. + + +New Tokens + + + Accepted by the parameter of + TexImage1D, TexImage2D, TexImage3D, CopyTexImage1D, and CopyTexImage2D: + + RGBA_SNORM 0x8F93 + RGBA8_SNORM 0x8F97 + + Returned by the parameter of GetTexLevelParameter: + + SIGNED_NORMALIZED 0x8F9C + + +Additions to Chapter 3 of the OpenGL 2.0 Specification (Rasterization): + + -- Section 3.8.1, Texture Image Specification + + Add to Table 3.16 (page 154): Sized internal formats + + Sized Base R G B A L I D + Internal Format Internal Format bits bits bits bits bits bits bits + --------------- --------------- ---- ---- ---- ---- ---- ---- ---- + RGBA8_SNORM RGBA 8 8 8 8 0 0 0 + + +Dependencies on ARB_texture_float extension: + + If ARB_texture_float is supported, GetTexParameter queries with + of TEXTURE_RED_TYPE_ARB, TEXTURE_GREEN_TYPE_ARB, TEXTURE_BLUE_TYPE_ARB or + TEXTURE_ALPHA_TYPE_ARB return SIGNED_NORMALIZED if + the base internal format is RGBA_SNORM. diff --git a/mesalib/docs/MESA_window_pos.spec b/mesalib/docs/MESA_window_pos.spec index ac3e5b1b3..9e81e9c4d 100644 --- a/mesalib/docs/MESA_window_pos.spec +++ b/mesalib/docs/MESA_window_pos.spec @@ -1,126 +1,126 @@ -Name - - MESA_window_pos - -Name Strings - - GL_MESA_window_pos - -Contact - - Brian Paul, brian.paul 'at' tungstengraphics.com - -Status - - Shipping (since Mesa version 1.2.8) - -Version - - -Number - - 197 - -Dependencies - - OpenGL 1.0 is required. - The extension is written against the OpenGL 1.2 Specification - -Overview - - In order to set the current raster position to a specific window - coordinate with the RasterPos command, the modelview matrix, projection - matrix and viewport must be set very carefully. Furthermore, if the - desired window coordinate is outside of the window's bounds one must - rely on a subtle side-effect of the Bitmap command in order to circumvent - frustum clipping. - - This extension provides a set of functions to directly set the - current raster position, bypassing the modelview matrix, the - projection matrix and the viewport to window mapping. Furthermore, - clip testing is not performed. - - This greatly simplifies the process of setting the current raster - position to a specific window coordinate prior to calling DrawPixels, - CopyPixels or Bitmap. - -New Procedures and Functions - - void WindowPos2dMESA(double x, double y) - void WindowPos2fMESA(float x, float y) - void WindowPos2iMESA(int x, int y) - void WindowPos2sMESA(short x, short y) - void WindowPos2ivMESA(const int *p) - void WindowPos2svMESA(const short *p) - void WindowPos2fvMESA(const float *p) - void WindowPos2dvMESA(const double *p) - void WindowPos3iMESA(int x, int y, int z) - void WindowPos3sMESA(short x, short y, short z) - void WindowPos3fMESA(float x, float y, float z) - void WindowPos3dMESA(double x, double y, double z) - void WindowPos3ivMESA(const int *p) - void WindowPos3svMESA(const short *p) - void WindowPos3fvMESA(const float *p) - void WindowPos3dvMESA(const double *p) - void WindowPos4iMESA(int x, int y, int z, int w) - void WindowPos4sMESA(short x, short y, short z, short w) - void WindowPos4fMESA(float x, float y, float z, float w) - void WindowPos4dMESA(double x, double y, double z, double ) - void WindowPos4ivMESA(const int *p) - void WindowPos4svMESA(const short *p) - void WindowPos4fvMESA(const float *p) - void WindowPos4dvMESA(const double *p) - -New Tokens - - none - -Additions to Chapter 2 of the OpenGL 1.2 Specification (OpenGL Operation) - - - (2.12, p. 41) Insert after third paragraph: - - Alternately, the current raster position may be set by one of the - WindowPosMESA commands: - - void WindowPos{234}{sidf}MESA( T coords ); - void WindowPos{234}{sidf}vMESA( T coords ); - - WindosPos4MESA takes four values indicating x, y, z, and w. - WindowPos3MESA (or WindowPos2MESA) is analaguos, but sets only - x, y, and z with w implicitly set to 1 (or only x and y with z - implicitly set to 0 and w implicitly set to 1). - - WindowPosMESA operates like RasterPos except that the current modelview - matrix, projection matrix and viewport parameters are ignored and the - clip test operation always passes. The current raster position values - are directly set to the parameters passed to WindowPosMESA. The current - color, color index and texture coordinate update the current raster - position's associated data. - -Additions to the AGL/GLX/WGL Specifications - - None - -GLX Protocol - - Not specified at this time. However, a protocol message very similar - to that of RasterPos is expected. - -Errors - - INVALID_OPERATION is generated if WindowPosMESA is called between - Begin and End. - -New State - - None. - -New Implementation Dependent State - - None. - -Revision History - - * Revision 1.0 - Initial specification - * Revision 1.1 - Minor clean-up (7 Jan 2000, Brian Paul) - +Name + + MESA_window_pos + +Name Strings + + GL_MESA_window_pos + +Contact + + Brian Paul, brian.paul 'at' tungstengraphics.com + +Status + + Shipping (since Mesa version 1.2.8) + +Version + + +Number + + 197 + +Dependencies + + OpenGL 1.0 is required. + The extension is written against the OpenGL 1.2 Specification + +Overview + + In order to set the current raster position to a specific window + coordinate with the RasterPos command, the modelview matrix, projection + matrix and viewport must be set very carefully. Furthermore, if the + desired window coordinate is outside of the window's bounds one must + rely on a subtle side-effect of the Bitmap command in order to circumvent + frustum clipping. + + This extension provides a set of functions to directly set the + current raster position, bypassing the modelview matrix, the + projection matrix and the viewport to window mapping. Furthermore, + clip testing is not performed. + + This greatly simplifies the process of setting the current raster + position to a specific window coordinate prior to calling DrawPixels, + CopyPixels or Bitmap. + +New Procedures and Functions + + void WindowPos2dMESA(double x, double y) + void WindowPos2fMESA(float x, float y) + void WindowPos2iMESA(int x, int y) + void WindowPos2sMESA(short x, short y) + void WindowPos2ivMESA(const int *p) + void WindowPos2svMESA(const short *p) + void WindowPos2fvMESA(const float *p) + void WindowPos2dvMESA(const double *p) + void WindowPos3iMESA(int x, int y, int z) + void WindowPos3sMESA(short x, short y, short z) + void WindowPos3fMESA(float x, float y, float z) + void WindowPos3dMESA(double x, double y, double z) + void WindowPos3ivMESA(const int *p) + void WindowPos3svMESA(const short *p) + void WindowPos3fvMESA(const float *p) + void WindowPos3dvMESA(const double *p) + void WindowPos4iMESA(int x, int y, int z, int w) + void WindowPos4sMESA(short x, short y, short z, short w) + void WindowPos4fMESA(float x, float y, float z, float w) + void WindowPos4dMESA(double x, double y, double z, double ) + void WindowPos4ivMESA(const int *p) + void WindowPos4svMESA(const short *p) + void WindowPos4fvMESA(const float *p) + void WindowPos4dvMESA(const double *p) + +New Tokens + + none + +Additions to Chapter 2 of the OpenGL 1.2 Specification (OpenGL Operation) + + - (2.12, p. 41) Insert after third paragraph: + + Alternately, the current raster position may be set by one of the + WindowPosMESA commands: + + void WindowPos{234}{sidf}MESA( T coords ); + void WindowPos{234}{sidf}vMESA( T coords ); + + WindosPos4MESA takes four values indicating x, y, z, and w. + WindowPos3MESA (or WindowPos2MESA) is analaguos, but sets only + x, y, and z with w implicitly set to 1 (or only x and y with z + implicitly set to 0 and w implicitly set to 1). + + WindowPosMESA operates like RasterPos except that the current modelview + matrix, projection matrix and viewport parameters are ignored and the + clip test operation always passes. The current raster position values + are directly set to the parameters passed to WindowPosMESA. The current + color, color index and texture coordinate update the current raster + position's associated data. + +Additions to the AGL/GLX/WGL Specifications + + None + +GLX Protocol + + Not specified at this time. However, a protocol message very similar + to that of RasterPos is expected. + +Errors + + INVALID_OPERATION is generated if WindowPosMESA is called between + Begin and End. + +New State + + None. + +New Implementation Dependent State + + None. + +Revision History + + * Revision 1.0 - Initial specification + * Revision 1.1 - Minor clean-up (7 Jan 2000, Brian Paul) + diff --git a/mesalib/docs/MESA_ycbcr_texture.spec b/mesalib/docs/MESA_ycbcr_texture.spec index e865039fb..6a730e81c 100644 --- a/mesalib/docs/MESA_ycbcr_texture.spec +++ b/mesalib/docs/MESA_ycbcr_texture.spec @@ -1,204 +1,204 @@ -Name - - MESA_ycbcr_texture - -Name Strings - - GL_MESA_ycbcr_texture - -Contact - - Brian Paul, Tungsten Graphics, Inc. (brian.paul 'at' tungstengraphics.com) - Keith Whitwell, Tungsten Graphics, Inc. (keith 'at' tungstengraphics.com) - -Status - - Shipping (Mesa 4.0.4 and later) - -Version - - 1.0 - -Number - - TBD - -Dependencies - - OpenGL 1.0 or later is required - This extension is written against the OpenGL 1.4 Specification. - NV_texture_rectangle effects the definition of this extension. - -Overview - - This extension supports texture images stored in the YCbCr format. - There is no support for converting YCbCr images to RGB or vice versa - during pixel transfer. The texture's YCbCr colors are converted to - RGB during texture sampling, after-which, all the usual per-fragment - operations take place. Only 2D texture images are supported (not - glDrawPixels, glReadPixels, etc). - - A YCbCr pixel (texel) is a 16-bit unsigned short with two components. - The first component is luminance (Y). For pixels in even-numbered - image columns, the second component is Cb. For pixels in odd-numbered - image columns, the second component is Cr. If one were to convert the - data to RGB one would need to examine two pixels from columns N and N+1 - (where N is even) to deduce the RGB color. - -IP Status - - None - -Issues - - None - -New Procedures and Functions - - None - -New Tokens - - Accepted by the and parameters of - TexImage2D and TexSubImage2D: - - YCBCR_MESA 0x8757 - - Accepted by the parameter of TexImage2D and TexSubImage2D: - - UNSIGNED_SHORT_8_8_MESA 0x85BA /* same as Apple's */ - UNSIGNED_SHORT_8_8_REV_MESA 0x85BB /* same as Apple's */ - -Additions to Chapter 2 of the OpenGL 1.4 Specification (OpenGL Operation) - - None - -Additions to Chapter 3 of the OpenGL 1.4 Specification (Rasterization) - - In section 3.6.4, Rasterization of Pixel Rectangles, on page 101, - add the following to Table 3.8 (Packed pixel formats): - - type Parameter GL Data Number of Matching - Token Name Type Components Pixel Formats - -------------- ------- ---------- ------------- - UNSIGNED_SHORT_8_8_MESA ushort 2 YCBCR_MESA - UNSIGNED_SHORT_8_8_REV_MESA ushort 2 YCBCR_MESA - - - In section 3.6.4, Rasterization of Pixel Rectangles, on page 102, - add the following to Table 3.10 (UNSIGNED_SHORT formats): - - UNSIGNED_SHORT_8_8_MESA: - - 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 - +-------------------------------+-------------------------------+ - | 1st | 2nd | - +-------------------------------+-------------------------------+ - - UNSIGNED_SHORT_8_8_REV_MESA: - - 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 - +-------------------------------+-------------------------------+ - | 2nd | 1st | - +-------------------------------+-------------------------------+ - - - In section 3.6.4, Rasterization of Pixel Rectangles, on page 104, - add the following to Table 3.12 (Packed pixel field assignments): - - First Second Third Fourth - Format Element Element Element Element - ------ ------- ------- ------- ------- - YCBCR_MESA luminance chroma - - - In section 3.8.1, Texture Image Specification, on page 125, add - another item to the list of TexImage2D and TexImage3D equivalence - exceptions: - - * The value of internalformat and format may be YCBCR_MESA to - indicate that the image data is in YCbCr format. type must - be either UNSIGNED_SHORT_8_8_MESA or UNSIGNED_SHORT_8_8_REV_MESA - as seen in tables 3.8 and 3.10. Table 3.12 describes the mapping - between Y and Cb/Cr to the components. - If NV_texture_rectangle is supported target may also be - TEXTURE_RECTANGLE_NV or PROXY_TEXTURE_RECTANGLE_NV. - All pixel transfer operations are bypassed. The texture is stored as - YCbCr, not RGB. Queries of the texture's red, green and blue component - sizes will return zero. The YCbCr colors are converted to RGB during - texture sampling using an implementation dependent conversion. - - - In section 3.8.1, Texture Image Specification, on page 126, add - another item to the list of TexImage1D and TexImage2D equivalence - exceptions: - - * The value of internalformat and format can not be YCBCR_MESA. - - - In section 3.8.2, Alternate Texture Image Specification Commands, on - page 129, insert this paragraph after the first full paragraph on the - page: - - "If the internal storage format of the image being updated by - TexSubImage2D is YCBCR_MESA then format must be YCBCR_MESA. - The error INVALID_OPERATION will be generated otherwise." - - -Additions to Chapter 4 of the OpenGL 1.4 Specification (Per-Fragment -Operations and the Frame Buffer) - - None - -Additions to Chapter 5 of the OpenGL 1.4 Specification (Special Functions) - - None - -Additions to Chapter 6 of the OpenGL 1.4 Specification (State and -State Requests) - - None - -Additions to Appendix A of the OpenGL 1.4 Specification (Invariance) - - None - -Additions to the AGL/GLX/WGL Specifications - - None - -GLX Protocol - - None - -Errors - - INVALID_ENUM is generated by TexImage2D if is - MESA_YCBCR but is not MESA_YCBCR. - - INVALID_ENUM is generated by TexImage2D if is MESA_YCBCR but - is not MESA_YCBCR. - - INVALID_VALUE is generated by TexImage2D if is MESA_YCBCR and - is MESA_YCBCR and is not zero. - - INVALID_OPERATION is generated by TexSubImage2D if the internal image - format is YCBCR_MESA and is not YCBCR_MESA. - - INVALID_OPERATION is generated by CopyTexSubImage2D if the internal - image is YCBCR_MESA. - -New State - - Edit table 6.16 on page 231: change the type of TEXTURE_INTERNAL_FORMAT - from n x Z42 to n x Z43 to indicate that internal format may also be - YCBCR_MESA. - -Revision History - - 20 September 2002 - Initial draft - 29 April 2003 - minor updates - 3 September 2003 - further clarify when YCbCr->RGB conversion takes place - 19 September 2003 - a few more updates prior to submitting to extension - registry. - 3 April 2004 - fix assorted inaccuracies +Name + + MESA_ycbcr_texture + +Name Strings + + GL_MESA_ycbcr_texture + +Contact + + Brian Paul, Tungsten Graphics, Inc. (brian.paul 'at' tungstengraphics.com) + Keith Whitwell, Tungsten Graphics, Inc. (keith 'at' tungstengraphics.com) + +Status + + Shipping (Mesa 4.0.4 and later) + +Version + + 1.0 + +Number + + TBD + +Dependencies + + OpenGL 1.0 or later is required + This extension is written against the OpenGL 1.4 Specification. + NV_texture_rectangle effects the definition of this extension. + +Overview + + This extension supports texture images stored in the YCbCr format. + There is no support for converting YCbCr images to RGB or vice versa + during pixel transfer. The texture's YCbCr colors are converted to + RGB during texture sampling, after-which, all the usual per-fragment + operations take place. Only 2D texture images are supported (not + glDrawPixels, glReadPixels, etc). + + A YCbCr pixel (texel) is a 16-bit unsigned short with two components. + The first component is luminance (Y). For pixels in even-numbered + image columns, the second component is Cb. For pixels in odd-numbered + image columns, the second component is Cr. If one were to convert the + data to RGB one would need to examine two pixels from columns N and N+1 + (where N is even) to deduce the RGB color. + +IP Status + + None + +Issues + + None + +New Procedures and Functions + + None + +New Tokens + + Accepted by the and parameters of + TexImage2D and TexSubImage2D: + + YCBCR_MESA 0x8757 + + Accepted by the parameter of TexImage2D and TexSubImage2D: + + UNSIGNED_SHORT_8_8_MESA 0x85BA /* same as Apple's */ + UNSIGNED_SHORT_8_8_REV_MESA 0x85BB /* same as Apple's */ + +Additions to Chapter 2 of the OpenGL 1.4 Specification (OpenGL Operation) + + None + +Additions to Chapter 3 of the OpenGL 1.4 Specification (Rasterization) + + In section 3.6.4, Rasterization of Pixel Rectangles, on page 101, + add the following to Table 3.8 (Packed pixel formats): + + type Parameter GL Data Number of Matching + Token Name Type Components Pixel Formats + -------------- ------- ---------- ------------- + UNSIGNED_SHORT_8_8_MESA ushort 2 YCBCR_MESA + UNSIGNED_SHORT_8_8_REV_MESA ushort 2 YCBCR_MESA + + + In section 3.6.4, Rasterization of Pixel Rectangles, on page 102, + add the following to Table 3.10 (UNSIGNED_SHORT formats): + + UNSIGNED_SHORT_8_8_MESA: + + 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + +-------------------------------+-------------------------------+ + | 1st | 2nd | + +-------------------------------+-------------------------------+ + + UNSIGNED_SHORT_8_8_REV_MESA: + + 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + +-------------------------------+-------------------------------+ + | 2nd | 1st | + +-------------------------------+-------------------------------+ + + + In section 3.6.4, Rasterization of Pixel Rectangles, on page 104, + add the following to Table 3.12 (Packed pixel field assignments): + + First Second Third Fourth + Format Element Element Element Element + ------ ------- ------- ------- ------- + YCBCR_MESA luminance chroma + + + In section 3.8.1, Texture Image Specification, on page 125, add + another item to the list of TexImage2D and TexImage3D equivalence + exceptions: + + * The value of internalformat and format may be YCBCR_MESA to + indicate that the image data is in YCbCr format. type must + be either UNSIGNED_SHORT_8_8_MESA or UNSIGNED_SHORT_8_8_REV_MESA + as seen in tables 3.8 and 3.10. Table 3.12 describes the mapping + between Y and Cb/Cr to the components. + If NV_texture_rectangle is supported target may also be + TEXTURE_RECTANGLE_NV or PROXY_TEXTURE_RECTANGLE_NV. + All pixel transfer operations are bypassed. The texture is stored as + YCbCr, not RGB. Queries of the texture's red, green and blue component + sizes will return zero. The YCbCr colors are converted to RGB during + texture sampling using an implementation dependent conversion. + + + In section 3.8.1, Texture Image Specification, on page 126, add + another item to the list of TexImage1D and TexImage2D equivalence + exceptions: + + * The value of internalformat and format can not be YCBCR_MESA. + + + In section 3.8.2, Alternate Texture Image Specification Commands, on + page 129, insert this paragraph after the first full paragraph on the + page: + + "If the internal storage format of the image being updated by + TexSubImage2D is YCBCR_MESA then format must be YCBCR_MESA. + The error INVALID_OPERATION will be generated otherwise." + + +Additions to Chapter 4 of the OpenGL 1.4 Specification (Per-Fragment +Operations and the Frame Buffer) + + None + +Additions to Chapter 5 of the OpenGL 1.4 Specification (Special Functions) + + None + +Additions to Chapter 6 of the OpenGL 1.4 Specification (State and +State Requests) + + None + +Additions to Appendix A of the OpenGL 1.4 Specification (Invariance) + + None + +Additions to the AGL/GLX/WGL Specifications + + None + +GLX Protocol + + None + +Errors + + INVALID_ENUM is generated by TexImage2D if is + MESA_YCBCR but is not MESA_YCBCR. + + INVALID_ENUM is generated by TexImage2D if is MESA_YCBCR but + is not MESA_YCBCR. + + INVALID_VALUE is generated by TexImage2D if is MESA_YCBCR and + is MESA_YCBCR and is not zero. + + INVALID_OPERATION is generated by TexSubImage2D if the internal image + format is YCBCR_MESA and is not YCBCR_MESA. + + INVALID_OPERATION is generated by CopyTexSubImage2D if the internal + image is YCBCR_MESA. + +New State + + Edit table 6.16 on page 231: change the type of TEXTURE_INTERNAL_FORMAT + from n x Z42 to n x Z43 to indicate that internal format may also be + YCBCR_MESA. + +Revision History + + 20 September 2002 - Initial draft + 29 April 2003 - minor updates + 3 September 2003 - further clarify when YCbCr->RGB conversion takes place + 19 September 2003 - a few more updates prior to submitting to extension + registry. + 3 April 2004 - fix assorted inaccuracies diff --git a/mesalib/docs/VERSIONS b/mesalib/docs/VERSIONS index f72679fbe..0ebcd1469 100644 --- a/mesalib/docs/VERSIONS +++ b/mesalib/docs/VERSIONS @@ -1,1514 +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 + + +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/enums.txt b/mesalib/docs/enums.txt index cb97b5a31..b37768e20 100644 --- a/mesalib/docs/enums.txt +++ b/mesalib/docs/enums.txt @@ -1,57 +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 - + +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/install.html b/mesalib/docs/install.html index 2ba7cb867..a344c2ca7 100644 --- a/mesalib/docs/install.html +++ b/mesalib/docs/install.html @@ -16,8 +16,7 @@
  • For DRI and hardware acceleration
  • Building with autoconf (Linux/Unix/X11) -
  • Building with SCons (Windows) -
  • Building with legacy Makefiles (deprecated) +
  • Building with SCons (Windows/Linux)
  • Building for other systems
  • Library Information
  • Building OpenGL programs with pkg-config @@ -95,7 +94,7 @@ for more details. -

    3. Building with SCons (Windows)

    +

    3. Building with SCons (Windows/Linux)

    To build Mesa with SCons on Linux or Windows do @@ -129,118 +128,8 @@ Put them all in the same directory to test them. - -

    4. Building with legacy Makefiles (deprecated)

    - -

    -The legacy Mesa build system is based on a collection of pre-defined -system configurations. -Some of these might work for older systems not supported by autoconf. -

    -

    -To see the list of configurations, just type make. -Then choose a configuration from the list and type make -configname. -

    - -

    -Mesa may be built in several different ways using the predefined configurations: -

    -
      -
    • Stand-alone/Xlib mode - Mesa will be compiled as -a software renderer using Xlib to do all rendering. -The libGL.so library will be a self-contained rendering library that will -allow you to run OpenGL/GLX applications on any X server (regardless of -whether it supports the GLX X server extension). -You will not be able to use hardware 3D acceleration. -

      -To compile stand-alone Mesa type make in the top-level directory. -You'll see a list of supported system configurations. -Choose one from the list (such as linux-x86), and type: -

      -
      -    make linux-x86
      -
      -

      This will produce libGL.so and several other libraries

      -
    • - -
    • DRI/accelerated - The DRI hardware drivers for -accelerated OpenGL rendering (for ATI, Intel, Matrox, etc) will be built. -The libGL.so library will support the GLX extension and will load/use -the DRI hardware drivers. - - -

      -Build Mesa and the DRI hardware drivers by running -

      -
      -   make linux-dri
      -
      -

      -There are also linux-dri-x86, linux-dri-x86-64, -and linux-ppc configurations which are optimized for those -architectures. -

      -

      -Make sure you have the prerequisite versions of DRM and Xserver mentioned -above. -

      - -
    - - -

    -Later, if you want to rebuild for a different configuration run -make realclean before rebuilding. -

    - - - -
    -

    Installing the header and library files

    - -

    -The standard location for the OpenGL header files on Unix-type systems is -in /usr/include/GL/. -The standard location for the libraries is /usr/lib/. -For more information see, the - -Linux/OpenGL ABI specification. -

    - -

    -If you'd like Mesa to co-exist with another implementation of OpenGL that's -already installed, you'll have to choose different directories, like -/usr/local/include/GL/ and /usr/local/lib/. -

    - -

    -To install Mesa's headers and libraries, run make install. -But first, check the Mesa/configs/default file and examine the values -of the INSTALL_DIR and DRI_DRIVER_INSTALL_DIR variables. -Change them if needed, then run make install. -

    - -

    -The variable -DESTDIR may also be used to install the contents to a temporary -staging directory. -This can be useful for package management. -For example: make install DESTDIR=/somepath/ -

    - -

    -Note: at runtime you can use the LD_LIBRARY_PATH environment variable -(on Linux at least) to switch -between the Mesa libraries and other vendor's libraries whenever you want. -This is a handy way to compare multiple OpenGL implementations. -

    - - - - -

    5. Building for other systems

    +

    4. Building for other systems

    Documentation for other environments (some may be very out of date): @@ -255,7 +144,7 @@ Documentation for other environments (some may be very out of date): -

    6. Library Information

    +

    5. Library Information

    When compilation has finished, look in the top-level lib/ @@ -300,7 +189,7 @@ versions of libGL and device drivers. -

    7. Building OpenGL programs with pkg-config

    +

    6. Building OpenGL programs with pkg-config

    Running make install will install package configuration files diff --git a/mesalib/docs/mesa.css b/mesalib/docs/mesa.css index 8e4944e44..a53a9df8b 100644 --- a/mesalib/docs/mesa.css +++ b/mesalib/docs/mesa.css @@ -1,33 +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;*/ -} - +/* 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/relnotes-7.10.html b/mesalib/docs/relnotes-7.10.html index bb73975b7..3f4f229b0 100644 --- a/mesalib/docs/relnotes-7.10.html +++ b/mesalib/docs/relnotes-7.10.html @@ -1,2795 +1,2795 @@ - - - -Mesa Release Notes - - - - - - - - -

    Mesa 7.10 Release Notes / January 7, 2011

    - -

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

    -

    -Mesa 7.10 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

    -
    -0a70c15c135561824bdcae92bf232e43  MesaLib-7.10.tar.gz
    -33fb94eccc02cbb4d8d1365615e38e46  MesaLib-7.10.tar.bz2
    -5cafdc0eda0f9bf370b95c98df3338fa  MesaLib-7.10.zip
    -bc644be551ed585fc4f66c16b64a91c9  MesaGLUT-7.10.tar.gz
    -5c2677a155672352d62b177e4f0f92e8  MesaGLUT-7.10.tar.bz2
    -2ce5001f74496d1ba719ef74d910a5cf  MesaGLUT-7.10.zip
    -
    - - -

    New features

    -
      -
    • GL_ARB_explicit_attrib_location extension (Intel and software drivers). -
    • GL_ARB_texture_rg (Intel, software drivers, gallium drivers). -
    • GL_EXT_separate_shader_objects extension (Intel and software drivers). -
    • GL_NV_primitive_restart extension (Gallium softpipe, llvmpipe). -
    • New fragment shader back-end for i965-class hardware. -
    • Support for Sandybridge chipset in i965 DRI driver. -
    - - -

    Bug fixes

    -

    This list is likely incomplete.

    -
      -
    • Bug 28800 - [r300c, r300g] Texture corruption with World of Warcraft
    • - -
    • Bug 29420 - Amnesia / HPL2 RendererFeatTest - not rendering correctly
    • - -
    • Bug 29946 - [swrast] piglit valgrind glsl-array-bounds-04 fails
    • - -
    • Bug 30261 - [GLSL 1.20] allowing inconsistent invariant declaration between two vertex shaders
    • - -
    • Bug 30632 - [softpipe] state_tracker/st_manager.c:489: st_context_notify_invalid_framebuffer: Assertion `stfb && stfb->iface == stfbi' failed.
    • - -
    • Bug 30694 - wincopy will crash on Gallium drivers when going to front buffer
    • - -
    • Bug 30771 - [r600g] vert-tex glsl demo
    • - -
    • Bug 30787 - Invalid asm shader does not generate draw-time error when used with GLSL shader
    • - -
    • Bug 30974 - [llvmpipe] SIGABRT src/gallium/drivers/llvmpipe/lp_state_fs.c:779
    • - -
    • Bug 30993 - getFramebufferAttachmentParameteriv wrongly generates error
    • - -
    • Bug 31101 - [glsl2] abort() in ir_validate::visit_enter(ir_assignment *ir)
    • - -
    • Bug 31193 - [regression] aa43176e break water reflections
    • - -
    • Bug 31194 - The mesa meta save/restore code doesn't ref the current GLSL program
    • - -
    • Bug 31371 - glslparsertest: ir.cpp:358: ir_constant::ir_constant(const glsl_type*, const ir_constant_data*): Assertion `(type->base_type >= 0) && (type->base_type <= 3)' failed.
    • - -
    • Bug 31439 - Crash in glBufferSubData() with size == 0
    • - -
    • Bug 31495 - [i965 gles2c bisected] OpenGL ES 2.0 conformance GL2Tests_GetBIFD_input.run regressed
    • - -
    • Bug 31514 - isBuffer returns true for unbound buffers
    • - -
    • Bug 31560 - [tdfx] tdfx_tex.c:702: error: ‘const struct gl_color_table’ has no member named ‘Format’
    • - -
    • Bug 31617 - Radeon/Compiz: 'failed to attach dri2 front buffer', error case not handled
    • - -
    • Bug 31648 - [GLSL] array-struct-array gets assertion: `(size >= 1) && (size <= 4)' failed.
    • - -
    • Bug 31650 - [GLSL] varying gl_TexCoord fails to be re-declared to different size in the second shader
    • - -
    • Bug 31673 - GL_FRAGMENT_PRECISION_HIGH preprocessor macro undefined in GLSL ES
    • - -
    • Bug 31690 - i915 shader compiler fails to flatten if in Aquarium webgl demo.
    • - -
    • Bug 31832 - [i915] Bad renderbuffer format: 21
    • - -
    • Bug 31841 - [drm:radeon_cs_ioctl] *ERROR* Invalid command stream !
    • - -
    • Bug 31894 - Writing to gl_PointSize with GLES2 corrupts other varyings
    • - -
    • Bug 31909 - [i965] brw_fs.cpp:1461: void fs_visitor::emit_bool_to_cond_code(ir_rvalue*): Assertion `expr->operands[i]->type->is_scalar()' failed.
    • - -
    • Bug 31934 - [gallium] Mapping empty buffer object causes SIGSEGV
    • - -
    • Bug 31983 - [i915 gles2] "if (expression with builtin/varying variables) discard" breaks linkage
    • - -
    • Bug 31985 - [GLSL 1.20] initialized uniform array considered as "unsized"
    • - -
    • Bug 31987 - [gles2] if input a wrong pname(GL_NONE) to glGetBoolean, it will not case GL_INVALID_ENUM
    • - -
    • Bug 32035 - [GLSL bisected] comparing unsized array gets segfault
    • - -
    • Bug 32070 - llvmpipe renders stencil demo incorrectly
    • - -
    • Bug 32273 - assertion fails when starting vdrift 2010 release with shaders enabled
    • - -
    • Bug 32287 - [bisected GLSL] float-int failure
    • - -
    • Bug 32311 - [965 bisected] Array look-ups broken on GM45
    • - -
    • Bug 32520 - [gles2] glBlendFunc(GL_ZERO, GL_DST_COLOR) will result in GL_INVALID_ENUM
    • - -
    • Bug 32825 - egl_glx driver completely broken in 7.9 branch [fix in master]
    • - -
    • Bug -
    • - -
    • Bug -
    • - -
    - - -

    Changes

    -

    Adam Jackson (2): -

      -
    • i965: Update renderer strings for sandybridge
    • -
    • drivers/x11: unifdef XFree86Server
    • -

    - -

    Alex Deucher (30): -

      -
    • r600c: fix mipmap stride on evergreen
    • -
    • r600c: add reloc for CB_COLOR0_ATTRIB
    • -
    • r600c: pull over 6xx/7xx vertex fixes for evergreen
    • -
    • r600c: fix segfault in evergreen stencil code
    • -
    • r100: revalidate after radeon_update_renderbuffers
    • -
    • r600c: add missing radeon_prepare_render() call on evergreen
    • -
    • r600c: properly align mipmaps to group size
    • -
    • egl_dri2: Add radeon chip ids
    • -
    • r600c/evergreen: texture align is group_bytes just like 6xx/7xx
    • -
    • r600g: fix buffer alignment
    • -
    • r600g: All EVENT_WRITE packets need the EVENT_INDEX field
    • -
    • r600g: translate ARR instruction for evergreen
    • -
    • r600g: use meaningful defines for chiprev
    • -
    • r600g: use full range of VS resources for vertex samplers
    • -
    • r600g: fix additional EVENT_WRITE packet
    • -
    • r600g: fix some winsys functions to deal properly with evergreen
    • -
    • r600c: add Ontario Fusion APU support
    • -
    • r600g: add support for ontario APUs
    • -
    • r600c: fix VC flush on cedar and palm
    • -
    • gallium/egl: fix r300 vs r600 loading
    • -
    • r600c: fix some opcodes on evergreen
    • -
    • r600c: bump texture limits to hw limits
    • -
    • r600g: bump texture/cb limits appropriately for evergreen
    • -
    • radeon: bump mip tree levels to 15
    • -
    • r600g: fix rendering with a vertex attrib having a zero stride
    • -
    • r600g: remove useless switch statements
    • -
    • r600g: add support for NI (northern islands) asics
    • -
    • r600c: add support for NI asics
    • -
    • r600g: support up to 64 shader constants
    • -
    • r600c: fix up SQ setup in blit code for Ontario/NI
    • -

    - -

    Andre Maasikas (3): -

      -
    • r600c: fix buffer height setting in dri2 case
    • -
    • r600g: break alu clause earlier
    • -
    • r600g: fix evergreen interpolation setup
    • -

    - -

    Andrew Randrianasulu (2): -

      -
    • dri/nv04: Don't expose ARB_texture_env_combine/dot3.
    • -
    • dri/nv04: Enable eng3dm for A8/L8 textures.
    • -

    - -

    Aras Pranckevicius (2): -

      -
    • glsl: fix crash in loop analysis when some controls can't be determined
    • -
    • glsl: fix matrix type check in ir_algebraic
    • -

    - -

    Bas Nieuwenhuizen (3): -

      -
    • r600g: set ENABLE_KILL in the shader state in the new design
    • -
    • r600g: set ENABLE_KILL on evergreen too
    • -
    • r600g: use dirty list to track dirty blocks
    • -

    - -

    Ben Skeggs (3): -

      -
    • nv50: DST
    • -
    • nv50: DPH
    • -
    • nv50: silence some unknown get_param warnings
    • -

    - -

    Benjamin Franzke (2): -

      -
    • st/egl image: multiply drm buf-stride with blocksize
    • -
    • r600g: implement texture_get_handle (needed for eglExportDRMImageMESA)
    • -

    - -

    Brian Paul (296): -

      -
    • glx: add const qualifiers to __indirect_glMultiDrawArraysEXT()
    • -
    • glsl2: fix signed/unsigned comparison warning
    • -
    • llvmpipe: cast to silence warning
    • -
    • llvmpipe: s/boolean/unsigned/ in bitfield to silence warning
    • -
    • nv50: use unsigned int for bitfields to silence warnings
    • -
    • tgsi: fix incorrect usage_mask for shadow tex instructions
    • -
    • gallivm: expand AoS sampling to cover all filtering modes
    • -
    • gallivm: fix incorrect vector shuffle datatype
    • -
    • gallivm: move i32_vec_type inside the #ifdef
    • -
    • mesa: include mfeatures.h in formats.c
    • -
    • gallivm: fix wrong return value in bitwise functions
    • -
    • tgsi/sse: fix aos_to_soa() loop to handle num_inputs==0
    • -
    • gallivm: added missing case for PIPE_TEXTURE_RECT
    • -
    • gallium: better docs for pipe_rasterizer_state::sprite_coord_enable
    • -
    • gallium: rework handling of sprite_coord_enable state
    • -
    • gallium/docs: added new pipeline.txt diagram
    • -
    • mesa: don't call valid_texture_object() in non-debug builds
    • -
    • glsl2: silence compiler warnings in printf() calls
    • -
    • docs: remove old broken link
    • -
    • docs: mark as obsolete, remove dead links
    • -
    • llvmpipe: fix query bug when no there's no scene
    • -
    • gallivm: remove debug code
    • -
    • llvmpipe: maintain fragment shader state for draw module
    • -
    • llvmpipe: indentation fix
    • -
    • llvmpipe: reformatting, remove trailing whitespace, etc
    • -
    • llvmpipe: clean-up, comments in setup_point_coefficient()
    • -
    • llvmpipe: rename sprite field, add sprite_coord_origin
    • -
    • llvmpipe: implement sprite coord origin modes
    • -
    • draw: fix test for using the wide-point stage
    • -
    • llvmpipe: check bitshift against PIPE_MAX_SHADER_OUTPUTS
    • -
    • draw: check bitshift against PIPE_MAX_SHADER_OUTPUS
    • -
    • Merge branch 'sprite-coord'
    • -
    • draw: new draw_fs.[ch] files
    • -
    • glsl2: fix typo in error msg
    • -
    • gallivm: fix lp_build_sample_compare()
    • -
    • softpipe: add missing calls to set draw vertex samplers/views
    • -
    • mesa: don't advertise bogus GL_ARB_shading_language_120 extension
    • -
    • configs: remove egl-swrast target from linux-dri config
    • -
    • llvmpipe: fix sprite texcoord setup for non-projective texturing
    • -
    • mesa: fix assertions to handle srgb formats
    • -
    • st/mesa: add missing MESA_FORMAT_S8 case in st_mesa_format_to_pipe_format()
    • -
    • st/mesa: use the wrapped renderbuffer in CopyPixels()
    • -
    • llvmpipe: make min/max lod and lod bias dynamic state
    • -
    • llvmpipe: make texture border_color dynamic state
    • -
    • softpipe: fix repeat() function for NPOT textures
    • -
    • gallivm: fix repeat() function for NPOT textures
    • -
    • swrast: update comments for REMAINDER() macro
    • -
    • softpipe: rename sp_state_fs.c -> sp_state_shader.c
    • -
    • softpipe: make shader-related functions static
    • -
    • softpipe: make blend/stencil/depth functions static
    • -
    • softpipe: make sampler state functions static
    • -
    • softpipe: make vertex state functions static
    • -
    • softpipe: make rasterizer state functions static
    • -
    • softpipe: make stream out state functions static
    • -
    • softpipe: make clip state functions static
    • -
    • softpipe: minor asst. clean-ups
    • -
    • softpipe: allocate tile data on demand
    • -
    • llvmpipe: fix swizzling of texture border color
    • -
    • softpipe: fix swizzling of texture border color
    • -
    • draw: pass sampler state down to llvm jit state
    • -
    • gallivm: check for level=0 case in lp_build_minify()
    • -
    • gallivm: added some comments
    • -
    • draw: check for null sampler pointers
    • -
    • swrast: fix choose_depth_texture_level() to respect mipmap filtering state
    • -
    • st/mesa: replace assertion w/ conditional in framebuffer invalidation
    • -
    • glsl2: fix signed/unsigned comparison warning
    • -
    • st/xlib: add some comments
    • -
    • ir_to_mesa: assorted clean-ups, const qualifiers, new comments
    • -
    • mesa: remove assertion w/ undeclared variable texelBytes
    • -
    • gallivm: remove newlines
    • -
    • draw/llvmpipe: replace DRAW_MAX_TEXTURE_LEVELS with PIPE_MAX_TEXTURE_LEVELS
    • -
    • mesa: reformatting, comments, code movement
    • -
    • x11: fix breakage from gl_config::visualType removal
    • -
    • gallivm: work-around trilinear mipmap filtering regression with LLVM 2.8
    • -
    • mesa: remove post-convolution width/height vars
    • -
    • gallivm: add compile-time option to emit inst addrs and/or line numbers
    • -
    • llvmpipe: code to dump bytecode to file (disabled)
    • -
    • gallivm: added lp_build_print_vec4()
    • -
    • gallivm: added lp_build_load_volatile()
    • -
    • glsl: add ir_unop_round_even case to silence unhandled enum warning
    • -
    • st/mesa: fix regressions in glDrawPixels(GL_STENCIL_INDEX)
    • -
    • st/mesa: reformatting in st_cb_drawpixels.c
    • -
    • st/mesa: use GLuint to avoid problem w/ uint not defined on mingw32
    • -
    • st/mesa: update function name, comments
    • -
    • gallivm: use util_snprintf()
    • -
    • llvmpipe: remove lp_setup_coef*.c files from Makefile
    • -
    • mesa: fix mesa version string construction
    • -
    • gallivm: fix incorrect type for zero vector in emit_kilp()
    • -
    • llvmpipe/draw: always enable LLVMAddInstructionCombiningPass()
    • -
    • draw: use float version of LLVM Mul/Add instructions
    • -
    • draw: fix typo in comment
    • -
    • mesa: add GL_RG case to _mesa_source_buffer_exists()
    • -
    • mesa: add missing cases for packing red/green images
    • -
    • st/mesa: added cases for GL_COMPRESSED_RED/RG in st_choose_format()
    • -
    • docs: update texture red/green support in GL3.txt
    • -
    • docs: add GL_ARB_texture_rg to release notes
    • -
    • mesa: driver hook for primitive restart
    • -
    • mesa: set/get primitive restart state
    • -
    • mesa: API spec for primitive restart
    • -
    • mesa: regenerated files with primitive restart
    • -
    • mesa: plug in primitive restart function
    • -
    • vbo: support for primitive restart
    • -
    • gallium: new CAP, state for primitive restart
    • -
    • st/mesa: support for primitive restart
    • -
    • draw: implement primitive splitting for primitive restart
    • -
    • softpipe: enable primitive restart
    • -
    • llvmpipe: enable primitive restart
    • -
    • docs: added GL_NV_primitive_restart extension
    • -
    • Merge branch 'primitive-restart-cleanup'
    • -
    • winsys/xlib: formatting fixes
    • -
    • winsys/xlib: use Bool type for shm field
    • -
    • winsys/xlib: fix up allocation/dealloction of XImage
    • -
    • winsys/xlib: rename xm->xlib
    • -
    • galahad: silence warnings
    • -
    • mesa: move declaration before code
    • -
    • docs: updated GL3 status for primitive restart
    • -
    • mesa: 80-column wrapping
    • -
    • mesa: simplify fbo format checking code
    • -
    • mesa: split up the image.c file
    • -
    • mesa: add pixel packing for unscaled integer types
    • -
    • mesa: _mesa_ClearColorIuiEXT() and _mesa_ClearColorIiEXT()
    • -
    • mesa: _mesa_is_format_integer() function
    • -
    • mesa: minor reformatting, clean-ups
    • -
    • mesa: added _mesa_is_fragment_shader_active() helper
    • -
    • mesa: new glDrawPixels error check for integer formats
    • -
    • softpipe: added some texture sample debug code (disabled)
    • -
    • mesa: added new gl_extensions::EXT_gpu_shader4 field
    • -
    • mesa: added new gl_framebuffer::_IntegerColor field
    • -
    • mesa: added glGet query for GL_RGBA_INTEGER_MODE_EXT
    • -
    • mesa: compute _IntegerColor field in _mesa_test_framebuffer_completeness()
    • -
    • mesa: added cases for GL_EXT_texture_integer formats
    • -
    • mesa: added cases for GL_EXT_texture_integer
    • -
    • st/mesa: add format selection for signed/unsigned integer formats
    • -
    • mesa: simplify target_can_be_compressed() function
    • -
    • glapi: GL_EXT_texture_integer API
    • -
    • glapi: include/build EXT_texture_integer.xml
    • -
    • mesa: regenerated API files for GL_EXT_texture_integer
    • -
    • mesa: plug in GL_EXT_texture_integer functions
    • -
    • mesa: display list support for GL_EXT_texture_integer
    • -
    • st/mesa: be smarter choosing texture format for glDrawPixels()
    • -
    • softpipe: remove >32bpp color restriction
    • -
    • mesa: silence enum comparison warning
    • -
    • mesa: fix uninitialized var warning
    • -
    • xlib: silence unused var warning
    • -
    • util: use pointer_to_func() to silence warning
    • -
    • rtasm: use pointer_to_func() to silence warning
    • -
    • translate: use function typedefs, casts to silence warnings
    • -
    • translate: remove unused prototypes
    • -
    • mesa: additional glReadPixels error checks for GL_EXT_texture_integer
    • -
    • mesa: additional switch cases for GL_EXT_texture_integer
    • -
    • mesa: additional teximage error checks for GL_EXT_texture_integer
    • -
    • mesa: do integer FB / shader validation check in _mesa_valid_to_render()
    • -
    • mesa: call _mesa_valid_to_render() in glDrawPixels, glCopyPixels, glBitmap
    • -
    • mesa: remove the unused _mesa_is_fragment_shader_active() function
    • -
    • mesa: fix bug in _mesa_is_format_integer()
    • -
    • mesa: rename function to _mesa_is_format_integer_color()
    • -
    • mesa: remove 'normalized' parameter from _mesa_VertexAttribIPointer()
    • -
    • vbo: re-indent file
    • -
    • glapi: xml spec file for GL_EXT_gpu_shader4
    • -
    • glapi: include EXT_gpu_shader4.xml
    • -
    • glapi: regenerated API files
    • -
    • mesa: plug in stubs for glBindFragDataLocation(), glGetFragDataLocation()
    • -
    • mesa: add glGetUniformuiv(), plug in uint glUniform funcs
    • -
    • mesa: plug in more GL_EXT_gpu_shader4 functions
    • -
    • mesa: add new GLvertexformat entries for integer-valued attributes
    • -
    • mesa: implement integer-valued vertex attribute functions
    • -
    • mesa: add gl_client_array::Integer field and related vertex array state code
    • -
    • mesa: consolidate glVertex/Color/etcPointer() code
    • -
    • mesa: state/queries for GL_MIN/MAX_PROGRAM_TEXEL_OFFSET_EXT
    • -
    • mesa: glArrayElement support for integer-valued arrays
    • -
    • mesa: clean-up array element code
    • -
    • mesa: add extension table entry for GL_EXT_gpu_shader4
    • -
    • mesa: remove obsolete comment
    • -
    • mesa: fix incorrect type in _mesa_texstore_rgba_int16()
    • -
    • mesa: fix integer cases in _mesa_is_legal_format_and_type()
    • -
    • mesa: add const qualifier to _mesa_is_legal_format_and_type()
    • -
    • mesa: additional integer formats in _mesa_bytes_per_pixel()
    • -
    • mesa: pixel transfer ops do not apply to integer-valued textures
    • -
    • mesa: remove dead code
    • -
    • osmesa: fix renderbuffer memleak in OSMesaMakeCurrent()
    • -
    • mesa: use GLubyte for edge flag arrays
    • -
    • mesa: move the gl_config struct declaration
    • -
    • dri/util: add a bunch of comments
    • -
    • mesa: remove always-false conditional in check_compatible()
    • -
    • mesa: fix aux/accum comment and error message mixups
    • -
    • llvmpipe: assign context's frag shader pointer before using it
    • -
    • llvmpipe: add a cast
    • -
    • mesa: silence new warnings in texobj.c
    • -
    • egl/gdi: fix typo: xsurf->gsurf
    • -
    • mesa: code to unpack RGBA as uints
    • -
    • gallivm: implement scatter stores into temp register file
    • -
    • gallivm: add some LLVM var labels
    • -
    • gallivm: added debug code to dump temp registers
    • -
    • gallivm: add pixel offsets in scatter stores
    • -
    • gallivm: added lp_elem_type()
    • -
    • gallivm: implement execution mask for scatter stores
    • -
    • tgsi: remove unused function
    • -
    • llvmpipe: added some debug assertions, but disabled
    • -
    • gallivm: alloca() was called too often for temporary arrays
    • -
    • gallivm: add const qualifiers, fix comment string
    • -
    • softpipe: disable vertex texturing with draw/llvm
    • -
    • mesa: consolidate pixel packing/unpacking code
    • -
    • mesa: rename vars in pixel pack/unpack code
    • -
    • mesa: implement uint texstore code
    • -
    • mesa: remove stray GL_FLOAT case in _mesa_is_legal_format_and_type()
    • -
    • mesa: make fixed-pt and byte-valued arrays a runtime feature
    • -
    • softpipe: can't no-op depth test stage when occlusion query is enabled
    • -
    • mesa: no-op glBufferSubData() on size==0
    • -
    • mesa: #include mfeatures.h in enums.h
    • -
    • mesa: improve error message
    • -
    • mesa: add missing formats in _mesa_format_to_type_and_comps()
    • -
    • mesa: handle more pixel types in mipmap generation code
    • -
    • mesa: make glIsBuffer() return false for never bound buffers
    • -
    • mesa: fix glDeleteBuffers() regression
    • -
    • tdfx: s/Format/_BaseFormat/
    • -
    • mesa: consolidate assertions in teximage code
    • -
    • radeon: set gl_texture_image::TexFormat field in radeonSetTexBuffer2()
    • -
    • r600: set gl_texture_image::TexFormat field in r600SetTexBuffer2()
    • -
    • r200: set gl_texture_image::TexFormat field in r200SetTexBuffer2()
    • -
    • r300: set gl_texture_image::TexFormat field in r300SetTexBuffer2()
    • -
    • evergreen: set gl_texture_image::TexFormat field in evergreenSetTexBuffer()
    • -
    • st/mesa: fix glDrawPixels(depth/stencil) bugs
    • -
    • glsl: fix assorted MSVC warnings
    • -
    • mesa: add more work-arounds for acoshf(), asinhf(), atahf()
    • -
    • glsl: remove opt_constant_expression.cpp from SConscript
    • -
    • mesa: fix error messages and minor reindenting
    • -
    • mesa: whitespace cleanups
    • -
    • mesa: 80-column wrapping
    • -
    • mesa: reorder texture_error_check() params
    • -
    • mesa: minor clean-ups in context code
    • -
    • mesa: upgrade to glext.h version 66
    • -
    • mesa: pass gl_format to _mesa_init_teximage_fields()
    • -
    • mesa: fix error msg typo
    • -
    • glapi: rename GL3.xml to GL3x.xml as it covers all GL 3.x versions
    • -
    • mesa: hook up GL 3.x entrypoints
    • -
    • docs: update some GL 3.0 status
    • -
    • mesa: fix get_texture_dimensions() for texture array targets
    • -
    • swrast: init alpha value to 1.0 in opt_sample_rgb_2d()
    • -
    • glsl: fix off by one in register index assertion
    • -
    • glsl: use gl_register_file in a few places
    • -
    • mesa: rename, make _mesa_register_file_name() non-static
    • -
    • mesa: _mesa_valid_register_index() to validate register indexes
    • -
    • mesa: replace #defines with new gl_shader_type enum
    • -
    • mesa: use gl_shader_type enum
    • -
    • glsl: better handling of linker failures
    • -
    • glsl: start restoring some geometry shader code
    • -
    • mesa: add assertion and update comment in _mesa_format_image_size()
    • -
    • mesa: added _mesa_format_image_size64()
    • -
    • x11: remove test_proxy_teximage() function
    • -
    • st/mesa: fix mapping of zero-sized buffer objects
    • -
    • gallivm/llvmpipe: squash merge of the llvm-context branch
    • -
    • mesa: raise max texture sizes to 16K
    • -
    • softpipe: increase max texture size to 16K
    • -
    • mesa: replace large/MAX_WIDTH stack allocations with heap allocations
    • -
    • mesa: replace large/MAX_WIDTH stack allocations with heap allocations
    • -
    • swrast: avoid large stack allocations in blend code
    • -
    • swrast: avoid large stack allocations in tex combine code
    • -
    • st/mesa: avoid large stack allocations in readpixels code
    • -
    • mesa: replace more MAX_WIDTH stack allocations with heap allocations
    • -
    • gallivm/llvmpipe: remove lp_build_context::builder
    • -
    • gallivm: fix null builder pointers
    • -
    • mesa: fix GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME query
    • -
    • mesa: return GL_FRAMEBUFFER_DEFAULT as FBO attachment type
    • -
    • llvmpipe: fix broken stencil writemask
    • -
    • mesa: consolidate some compiler -D flags
    • -
    • swrast: allow GL_RG format in glDrawPixels()
    • -
    • swrast: fix indentation
    • -
    • swrast: accept GL_RG in glReadPixels()
    • -
    • swrast: restructure some glReadPixels() code
    • -
    • mesa: make glGet*(GL_NONE) generate GL_INVALID_ENUM
    • -
    • mesa: remove unneeded cast
    • -
    • mesa: update comments, remove dead code
    • -
    • st/mesa: new comment about updating state vars
    • -
    • mesa: add error margin to clip mask debug/check code
    • -
    • gallium/util: minor formatting fixes
    • -
    • mesa/llvm: use llvm-config --cppflags
    • -
    • st/mesa: fix mipmap generation bug
    • -
    • mesa: test for cube map completeness in glGenerateMipmap()
    • -
    • mesa: set gl_texture_object::_Complete=FALSE in incomplete()
    • -
    • mesa: consolidate glTexImage1/2/3D() code
    • -
    • mesa: simplify proxy texture code in texture_error_check()
    • -
    • mesa: consolidate the glTexSubImage1/2/3D() functions
    • -
    • mesa: consolidate glCopyTexImage1/2D() code
    • -
    • mesa: consolidate glCopyTexSubImage1/2/3D() functions
    • -
    • mesa: consolidate glCompressedTexImage1/2/3D() functions
    • -
    • mesa: make _mesa_test_proxy_teximage() easier to read
    • -
    • configure: use llvm-config --cppflags instead of --cflags
    • -
    • mesa: revamp error checking for compressed texture images
    • -
    • mesa: simplify target checking for TexImage functions
    • -
    • draw/llvm: don't flush in vs_llvm_delete()
    • -
    • tnl: Initialize gl_program_machine memory in run_vp.
    • -
    • tnl: a better way to initialize the gl_program_machine memory
    • -
    • mesa, st/mesa: disable GL_ARB_geometry_shader4
    • -
    • mesa/meta: fix broken assertion, rename stack depth var
    • -
    • glsl: new glsl_strtod() wrapper to fix decimal point interpretation
    • -
    • st/mesa: fix renderbuffer pointer check in st_Clear()
    • -

    - -

    Brian Rogers (1): -

      -
    • mesa: Add missing else in do_row_3D
    • -

    - -

    Chad Versace (25): -

      -
    • intel_extensions: Add ability to set GLSL version via environment
    • -
    • glsl: Add glsl_type::uvecN_type for N=2,3
    • -
    • glsl: Add lexer rules for uint and uvecN (N=2..4)
    • -
    • glsl: Changes in generated file glsl_lexer.cpp
    • -
    • glsl: Add lexer rules for << and >> in GLSL 1.30
    • -
    • glsl: Change generated file glsl_lexer.cpp
    • -
    • glsl: Implement ast-to-hir for binary shifts in GLSL 1.30
    • -
    • glsl: Implement constant expr evaluation for bitwise-not
    • -
    • glsl: Implement constant expr evaluation for bit-shift ops
    • -
    • glsl: Implement constant expr evaluation for bitwise logic ops
    • -
    • glsl: Fix ir validation for bit logic ops
    • -
    • glsl: Define shift_result_type() in ast_to_hir.cpp
    • -
    • glsl: Implement ast-to-hir for bit-shift-assignment
    • -
    • glsl: Define bit_logic_result_type() in ast_to_hir.cpp
    • -
    • glsl: Implement ast-to-hir for bit-logic ops
    • -
    • glsl: Fix lexer rule for ^=
    • -
    • glsl: Commit generated file glsl_lexer.cpp
    • -
    • glsl: Fix ast-to-hir for ARB_fragment_coord_conventions
    • -
    • mesa: Fix C++ includes in sampler.cpp
    • -
    • glsl: Fix ir_expression::constant_expression_value()
    • -
    • glsl: Fix erroneous cast in ast_jump_statement::hir()
    • -
    • glsl: Fix Doxygen tag file in recently renamed files
    • -
    • glsl: Improve usage message for glsl_compiler
    • -
    • glsl: Fix linker bug in cross_validate_globals()
    • -
    • glsl: In ast_to_hir, check sampler array indexing
    • -

    - -

    Chia-I Wu (149): -

      -
    • glapi: Fix build errors for ES.
    • -
    • glapi: Fix ES build errors again.
    • -
    • mesa: Update ES APIspec.xml.
    • -
    • st/xlib: Notify the context when the front/back buffers are swapped.
    • -
    • targets/egl: Use C++ compiler to link GL/ES state trackers.
    • -
    • libgl-xlib: Remove unused st_api_create_OpenGL.
    • -
    • st/egl: Split modeset code support to modeset.c.
    • -
    • st/egl: Rename kms backend to drm.
    • -
    • st/egl: s/kms/drm/ on the drm backend.
    • -
    • egl: Enable drm platform by default.
    • -
    • egl: Check extensions.
    • -
    • st/egl: Skip single-buffered configs in EGL.
    • -
    • mapi: Fix compiler warnings.
    • -
    • st/egl: Drop context argument from egl_g3d_get_egl_image.
    • -
    • targets/egl: Fix linking with libdrm.
    • -
    • st/vega: Fix version check in context creation.
    • -
    • egl: Use attribute names as the _EGLConfig member names.
    • -
    • egl: Access config attributes directly.
    • -
    • st/egl: Access _EGLConfig directly.
    • -
    • st/egl: Do not finish a fence that is NULL.
    • -
    • mesa: Remove unused vtxfmt_tmp.h.
    • -
    • egl_dri2: Drop the use of _egl[SG]etConfigKey.
    • -
    • egl_glx: Drop the use of [SG]ET_CONFIG_ATTRIB.
    • -
    • egl_glx: Fix borken driver.
    • -
    • egl: Move attributes in _EGLImage to _EGLImageAttribs.
    • -
    • egl: Parse image attributes with _eglParseImageAttribList.
    • -
    • egl: Move fallback routines to eglfallbacks.c.
    • -
    • egl: Drop dpy argument from the link functions.
    • -
    • egl: Minor changes to the _EGLConfig interface.
    • -
    • egl: Minor changes to the _EGLScreen interface.
    • -
    • egl: Fix _eglModeLookup.
    • -
    • st/egl: Fix native_mode refresh mode.
    • -
    • egl: Add reference count for resources.
    • -
    • egl: Use reference counting to replace IsLinked or IsBound.
    • -
    • egl: Fix a false negative check in _eglCheckMakeCurrent.
    • -
    • st/egl: Use resource reference count for egl_g3d_sync.
    • -
    • egl_dri2: Fix a typo that make glFlush be called at wrong time.
    • -
    • glapi: Do not use glapidispatch.h.
    • -
    • glapi: Move glapidispatch.h to core mesa.
    • -
    • glapi: Do not use glapioffsets.h.
    • -
    • glapi: Merge glapioffsets.h into glapidispath.h.
    • -
    • vbo: Use CALL_* macros.
    • -
    • mesa: Remove unnecessary glapitable.h includes.
    • -
    • autoconf: Better client API selection.
    • -
    • docs: Update egl and openvg docs.
    • -
    • autoconf: Update configuration info.
    • -
    • Merge branch 'glapi-reorg'
    • -
    • targets: Add missing quotes to Makefile.xorg.
    • -
    • autoconf: st/vega requires --enable-openvg.
    • -
    • st/mesa: Unreference the sampler view in st_bind_surface.
    • -
    • autoconf: Tidy configure output for EGL.
    • -
    • targets/egl: Fix a warning with --disable-opengl build.
    • -
    • egl: Rework _eglGetSearchPath.
    • -
    • mesa: Select FEATURE_remap_table when multiple APIs are enabled.
    • -
    • mesa: Allow contexts of different APIs to coexist.
    • -
    • egl: Set up the pthread key even TLS is used.
    • -
    • st/egl: Add native_surface::present callback.
    • -
    • st/egl: Use native_surface::present callback.
    • -
    • d3d1x: Use native_surface::present.
    • -
    • st/egl: Remove flush_frontbuffer and swap_buffers.
    • -
    • st/egl: Add support for swap interval and swap behavior.
    • -
    • st/egl: Add support for EGL_MATCH_NATIVE_PIXMAP.
    • -
    • st/egl: Add extern "C" wrapper to native.h.
    • -
    • st/egl: Add native_display_buffer interface.
    • -
    • st/egl: Use native_display_buffer for EGL_MESA_drm_image.
    • -
    • autoconf: Add --enable-gallium-egl.
    • -
    • docs: Update egl docs.
    • -
    • st/dri: Add support for surfaceless current contexts.
    • -
    • egl_dri2: Fix __DRI_DRI2 version 1 support.
    • -
    • st/vega: Do not wait NULL fences.
    • -
    • gallium: Add st_api::name.
    • -
    • gallium: Add st_context_iface::share to st_api.
    • -
    • st/wgl: Use st_context_iface::share for DrvShareLists.
    • -
    • st/glx: Replace MESA_VERSION_STRING by xmesa_get_name.
    • -
    • mesa: Clean up core.h.
    • -
    • scons: Define IN_DRI_DRIVER.
    • -
    • tgsi: Add STENCIL to text parser.
    • -
    • st/vega: vegaLookupSingle should validate the state.
    • -
    • st/vega: Set wrap_r for mask and blend samplers.
    • -
    • st/vega: Fix vgReadPixels with a subrectangle.
    • -
    • egl_dri2: Fix one context, multiple surfaces.
    • -
    • auxiliary: util_blit_pixels_tex should restore the viewport.
    • -
    • st/vega: Fix a crash with empty paths.
    • -
    • st/vega: Masks and surfaces should share orientation.
    • -
    • st/vega: No flipping in vg_prepare_blend_surface.
    • -
    • st/vega: Fix a typo in EXTENDED_BLENDER_OVER_FUNC.
    • -
    • llvmpipe: Fix build errors on x86.
    • -
    • st/vega: Overhaul renderer with renderer states.
    • -
    • st/vega: Add DRAWTEX renderer state.
    • -
    • st/vega: Add SCISSOR renderer state.
    • -
    • st/vega: Add CLEAR renderer state for vgClear.
    • -
    • st/vega: Add FILTER renderer state for image filtering.
    • -
    • st/vega: Use the renderer for vgMask.
    • -
    • st/vega: Add POLYGON_STENCIL and POLYGON_FILL renderer state.
    • -
    • st/vega: Delay fb state update to vg_validate_state.
    • -
    • st/vega: Use st_framebuffer for fb width/height.
    • -
    • st/vega: Move g3d states to renderer.
    • -
    • st/vega: Make shader_bind call into the renderer.
    • -
    • st/vega: vg_manager should care about only the color buffer.
    • -
    • st/vega: Clean up vg_context fields and functions.
    • -
    • st/vega: Clean up renderer fields and functions.
    • -
    • st/vega: vg_copy_texture and vg_copy_surface should share code.
    • -
    • st/vega: Get rid of renderer_copy_texture.
    • -
    • st/vega: Update to latest headers.
    • -
    • st/vega: Fix image sampler views for alpha-only formats.
    • -
    • st/vega: Make path_render and path_stroke take a matrix.
    • -
    • st/vega: Make image_draw take a matrix.
    • -
    • st/vega: Add primitive text support.
    • -
    • st/vega: Revive mask layer support.
    • -
    • st/vega: More flexible shader selection.
    • -
    • st/vega: Add color transformation support.
    • -
    • st/vega: Bump version to 1.1.
    • -
    • st/vega: Fix paint coordinates transformations.
    • -
    • st/vega: Fix negated logic in image_draw.
    • -
    • st/vega: Fix degenerate paints.
    • -
    • st/vega: Simplify radial gradient.
    • -
    • st/vega: Remove st_inlines.h.
    • -
    • st/vega: Delay blend texture creation until needed.
    • -
    • st/vega: Create drawing surface mask as needed.
    • -
    • st/vega: Initialize pipe states with renderer.
    • -
    • st/vega: Avoid unnecessary constant bufer upload.
    • -
    • st/vega: Destroy the pipe context with vg_context.
    • -
    • st/vega: polygon_array requires a deep free.
    • -
    • st/egl: Set pipe_resource::array_size to 1.
    • -
    • st/vega: Set pipe_resource::array_size to 1.
    • -
    • st/vega: Move vertex transformation to shader.
    • -
    • st/vega: Add a missing break.
    • -
    • st/vega: Add some comments to pipeline shaders.
    • -
    • st/vega: Refactor blend shaders.
    • -
    • st/vega: Move masking after blending.
    • -
    • st/vega: Add support for per-channel alpha.
    • -
    • st/vega: Blending should use premultiplied alpha.
    • -
    • st/vega: Fix VG_BLEND_MULTIPLY.
    • -
    • st/vega: Add blend shaders for all blend modes.
    • -
    • st/vega: Fix pipe blend state for various blend modes.
    • -
    • egl: _eglFilterArray should not allocate.
    • -
    • mapi: Rewrite mapi_abi.py to get rid of preprocessor magic.
    • -
    • vbo: Drop second ATTR macro.
    • -
    • vbo: Fix GLES2 glVertexAttrib.
    • -
    • mesa: Do not advertise GL_OES_texture_3D.
    • -
    • mesa: Fix GL_FIXED arrays.
    • -
    • mesa: Fix glTexCoordPointer with type GL_FIXED.
    • -
    • st/egl: Plug pbuffer leaks.
    • -
    • st/egl: Fix eglCopyBuffers.
    • -
    • st/egl: Assorted fixes for dri2_display_get_configs.
    • -
    • docs/egl: Update egl.html.
    • -
    • st/egl: Fix eglChooseConfig when configs is NULL.
    • -
    • docs: Add an example for EGL_DRIVERS_PATH.
    • -
    • autoconf: Fix --with-driver=xlib --enable-openvg.
    • -

    - -

    Chris Wilson (2): -

      -
    • i915g: Fix closure of full batch buffers
    • -
    • intel: Check for unsupported texture when finishing using as a render target
    • -

    - -

    Christoph Bumiller (80): -

      -
    • nv50: import new compiler
    • -
    • nouveau: update nouveau_class.h
    • -
    • nv50: introduce the big formats table
    • -
    • nv50: don't produce MOV immediate to output reg in store opt
    • -
    • nv50: change back accidentally swapped UNORM,SNORM vertex type
    • -
    • nv50: add/fix some license headers
    • -
    • nv50: simple reload elimination and local CSE
    • -
    • nv50: fix constant_operand opt mul by 2 case
    • -
    • nv50: permit usage of undefined TGSI TEMPs
    • -
    • nv50: add missing 2nd source for POW multiplication
    • -
    • nv50: add signed RGTC1 to format table, allow 2_10_10_10 for vbufs
    • -
    • nv50: fix for empty BBs
    • -
    • nv50: insert MOVs also for PHI sources from dominating block
    • -
    • nv50: explicitly set src type for SET ops
    • -
    • nv50: fixes for nested IFs
    • -
    • nv50: don't eliminate loads to dedicated values
    • -
    • nv50: fix constbuf validation
    • -
    • nv50: build proper phi functions in the first place
    • -
    • nv50: fix reg count
    • -
    • nv50: begin implementing loops
    • -
    • nv50: more constant folding
    • -
    • nv50: loops part 2
    • -
    • nv50: flatten simple IF/ELSE/ENDIF constructs
    • -
    • nv50: fix thinko in store to output reg possible check
    • -
    • nv50: generate JOINs for outermost IF clauses
    • -
    • nv50: more TGSI opcodes (SIN, SCS, ARL, RET, KILP)
    • -
    • nv50: fix PSIZ and PRIMID mapping
    • -
    • nv50: check dst compatibility in CSE
    • -
    • nv50: initialize edgeflag input index
    • -
    • nv50: emit predicate for interp
    • -
    • Merge remote branch 'origin/master' into nv50-compiler
    • -
    • nv50: DP2, fix ARL
    • -
    • nv50: yet another case we need a nop.exit
    • -
    • nv50: fix check for sprite/point coord enable
    • -
    • nv50: handle TEXTURE_SWIZZLE and GEOMETRY_SHADER4 caps
    • -
    • nv50: set the FragDepth output index
    • -
    • nv50: turn off verbose debug output by default
    • -
    • nv50: attempt at making more complicated loops work
    • -
    • nv50: SSG
    • -
    • nv50: make FrontFacing -1 or +1
    • -
    • nv50: re-add proper TEXBIAS sequence
    • -
    • nv50: make use of TGSI immediate type
    • -
    • nv50: must join SELECT inputs before MOV inputs
    • -
    • nv50: fix XPD, was negated
    • -
    • nv50: fix find_dom_frontier
    • -
    • nv50: fix build-predicate function
    • -
    • Merge remote branch 'origin/master' into nv50-compiler
    • -
    • nv50: load address register before using it, not after
    • -
    • nv50: save tgsi instructions
    • -
    • nv50: prepare for having multiple functions
    • -
    • nv50: don't parse again in tgsi_2_nc
    • -
    • nv50: use actual loads/stores if TEMPs are accessed indirectly
    • -
    • nv50: create value references with the right type
    • -
    • nv50: duplicate interps in load_proj_tex_coords
    • -
    • nv50: address regs are 16 bit
    • -
    • nv50: fix can_load check for 3rd source
    • -
    • nv50: reduce bb_reachable_by runtime from pot to linear
    • -
    • nv50: minor compiler fixes and cleanups
    • -
    • nv50: cannot move from local mem to output reg directly
    • -
    • nv50: newlines in shader bincode printing
    • -
    • nv50: match TEMP limit with nv50 ir builder
    • -
    • nv50: handle TGSI EXP and LOG again
    • -
    • nv50: check for immediates when turning MUL ADD into MAD
    • -
    • nv50: interp cannot write flags reg
    • -
    • nv50: MOV TEMP[0], -CONST[0] must be float32 negation
    • -
    • nv50: fix indirect CONST access with large or negative offsets
    • -
    • nv50: fix TXP depth comparison value
    • -
    • nv50: consider address register in reload elimination
    • -
    • nv50: improve and fix modifier folding optimization
    • -
    • nv50: put low limit on REG_ALLOC_TEMP and FP_RESULT_COUNT
    • -
    • Merge remote branch 'origin/nv50-compiler'
    • -
    • nv50: don't segfault on shaders with 0 instructions
    • -
    • nv50: get shader fixups/relocations into working state
    • -
    • nv50: add relocs for stack and local mem buffers
    • -
    • nv50: emit constbuf relocs before uploading constants
    • -
    • nv50: fix typo in fifo packet length limit
    • -
    • nv50: use formats table in nv50_surface.c
    • -
    • nv50: use CLEAR_BUFFERS for surface fills
    • -
    • nv50: fix/handle a few more PIPE_CAPs
    • -
    • nv50: fix GP state bind and validate
    • -

    - -

    Corbin Simpson (8): -

      -
    • r600g: Use align() instead of handrolled code.
    • -
    • r600g: Trivially deobfuscate r600_hw_states.
    • -
    • r600g: Deobfuscate and comment a few more functions in r600_hw_states.
    • -
    • r600g: Clean up some indentation and |= vs. | usage.
    • -
    • r600g: Fix false and true.
    • -
    • r600g: "tmp" is such a bad name for a texture.
    • -
    • r600g: Clean up PS setup.
    • -
    • r600g: Cleanup viewport floats.
    • -

    - -

    Daniel Lichtenberger (1): -

      -
    • radeon: fix potential segfault in renderbuffer update
    • -

    - -

    Daniel Vetter (21): -

      -
    • r200: revalidate after radeon_update_renderbuffers
    • -
    • i915g: rip out ->sw_tiled
    • -
    • i915g: s/hw_tiled/tiling
    • -
    • i915g: add pineview pci ids
    • -
    • i915g: kill RGBA/X formats
    • -
    • i915g: kill buf->map_gtt
    • -
    • i915g: kill idws->pool
    • -
    • i915g: drop alignment parameter from iws->buffer_create
    • -
    • i915g: add winsys function to create tiled buffers
    • -
    • i915g: switch to tiled allocations, kill set_fence
    • -
    • i915g: prepare winsys/batchbuffer for execbuf2
    • -
    • i915g: return tiling in iws->buffer_from_handle
    • -
    • i915g: implement unfenced color&depth buffer using tiling bits
    • -
    • i915g: implement unfenced relocs for textures using tiling bits
    • -
    • i915g: postpone mipmap/face offset calculation
    • -
    • i915g: don't pot-align stride for tiled buffers
    • -
    • i915g: enable X-tiling for textures
    • -
    • i915g: switch rendering to mipmapped textures to (x,y) offsets
    • -
    • i915g: enable x-tiling for render targets
    • -
    • i915g: assert(depth_surface->offset == 0)
    • -
    • i915g: track TODO items
    • -

    - -

    Dave Airlie (182): -

      -
    • r300g: fix buffer reuse issue caused by previous commit
    • -
    • r600g: pull r600_draw struct out into header
    • -
    • r600g: use index min/max + index buffer offset.
    • -
    • r600g: add vgt dma src defines
    • -
    • r600g: fixup texture state on evergreen.
    • -
    • r600g: fix texture bos and avoid doing depth blit on evergreen
    • -
    • r600g: hide radeon_ctx inside winsys.
    • -
    • r600g: attempt to abstract kernel bos from pipe driver.
    • -
    • r600g: move constant buffer creation behind winsys abstraction.
    • -
    • r600g: use malloc bufmgr for constant buffers
    • -
    • r600g: add support for kernel bo
    • -
    • r600g: add winsys bo caching.
    • -
    • r600g: add upload manager support.
    • -
    • r600g: fixup map flushing.
    • -
    • r600g: use calloc for ctx bo allocations
    • -
    • r600g: oops got the use_mem_constant the wrong way around.
    • -
    • r600g; add uses waterfall to asm cf for r6xx.
    • -
    • r600g: only emit uses waterfall on r6xx hw.
    • -
    • util/r300g: split the r300 index buffer modifier functions out to util
    • -
    • r600g: modify index buffers for sizes the hw can't deal with.
    • -
    • r600g: send correct surface base update for multi-cbufs
    • -
    • r600g: fix fbo-drawbuffers-maxtargets
    • -
    • r600g: clean up valgrind issues on maxtargets test.
    • -
    • r600g: drop debugging that snuck in
    • -
    • r600g: fix tiling support for ddx supplied buffers
    • -
    • r600g: add z16 to color setup
    • -
    • r600g: add color/texture support for more depth formats.
    • -
    • r600g: fix r700 cube map sizing.
    • -
    • r600g: fixup r700 CB_SHADER_CONTROL register.
    • -
    • r600g: add missing BC_INST wrapper for evergreen
    • -
    • r600g: only flush for the correct colorbuffer, not all of them.
    • -
    • r600g: deal with overflow of VTX/TEX CF clauses.
    • -
    • r600g: set back to correct codepaths.
    • -
    • r600g: fixup evergreen miptree setup.
    • -
    • r600g: fix eg texture borders.
    • -
    • r600g: fix typo in struct member name
    • -
    • r600g: cleanup some of the DB blit code
    • -
    • r600g: make stencil readback work
    • -
    • r600g: disable dirty handling on texture from depth code.
    • -
    • r600g: use floats instead of hex for blit vbo
    • -
    • r600g: fix depth readback on rv610 and other quirky variants.
    • -
    • r600g: fix typo in evergreen register list
    • -
    • u_blitter: add a custom blitter call passing a dsa cso
    • -
    • r600g: use blitter to do db->cb flushing.
    • -
    • r600g: fix warnings since last commit.
    • -
    • egl: fix build since 17eace581d25a626a7d75d9d1205d012cbb14a6e
    • -
    • r300g: fix point sprite coord.
    • -
    • r600g: add vert support for 16/16 and 16/16/16 floats.
    • -
    • r600g: add some more vertex format support.
    • -
    • r600g: some more vertex formats
    • -
    • r600g: fix draw-elements and draw-elements-base-vertex
    • -
    • r600g: drop index_offset parameter to index buffer translate.
    • -
    • r600g: fixup tex wrapping.
    • -
    • r600g: fixup VP->FP output->input routing.
    • -
    • r600g: fix typo in r700 alu emit
    • -
    • r600g: fixup sprite coord enable.
    • -
    • r600g: fix polygon mode
    • -
    • mesa/mipmap: fix warning since 1acadebd6270d3604b026842b8a21360968618a0
    • -
    • r600g: add eg poly mode code.
    • -
    • r600g: make index bias fix for evergreen
    • -
    • r600g: add eg db count control register.
    • -
    • r300g: fix glsl-fs-pointcoord
    • -
    • r600g: add evergreen texture resource properly.
    • -
    • r600g: fix db flush breaking config state
    • -
    • r600g: on evergreen the centroid isn't set in this register.
    • -
    • r600g: add back evergreen name.
    • -
    • r600g: add evergreen texture border support to new path
    • -
    • r600g: move radeon.h members around to add back map flushing.
    • -
    • r600g: add initial vertex translate support.
    • -
    • r600g: remove old assert from new codepath
    • -
    • Revert "r600g: add initial vertex translate support."
    • -
    • r600g: port r300g fix for X* formats in texformat code
    • -
    • r600g: add L8A8 unorm.
    • -
    • r600g: clean up some code from move to new paths.
    • -
    • r600g: return string for chip family
    • -
    • r600g: use Elements macro instead of manual sizeofs
    • -
    • r600g: fix evergreen depth flushing.
    • -
    • r600g: add winsys support for CTL constants.
    • -
    • r600g: drop depth quirk on evergreen
    • -
    • r600g: add reloc for evergreen color attrib
    • -
    • r600g: realign evergreen code with r600 code.
    • -
    • r600g: add assembler support for other vtx fetch fields.
    • -
    • r600g: fixup vertex format picking.
    • -
    • r600g: sync vertex/texture cache on resources on evergreen
    • -
    • r600g: add cb flushing for extra buffers + depth buffer on r600/evergreen
    • -
    • r600g: fix evergreen draw-buffers
    • -
    • r600g: flush SH cache on constant change on evergreen
    • -
    • r600g: only set the Z export if shader exports it.
    • -
    • r600g: setup basic loop consts on r600 + evergreen.
    • -
    • mesa/st: initial attempt at RG support for gallium drivers
    • -
    • r600g: break out of search for reloc bo after finding it.
    • -
    • r600g: the code to check whether a new vertex shader is needed was wrong
    • -
    • r600g: fix wwarning in bo_map function
    • -
    • r600g: TODO domain management
    • -
    • r600g: add bo fenced list.
    • -
    • pb: don't keep checking buffers after first busy
    • -
    • r600g: add bo busy backoff.
    • -
    • r600g: drop mman allocator
    • -
    • r600g: drop use_mem_constant.
    • -
    • r600g: avoid unneeded bo wait
    • -
    • pb: fix numDelayed accounting
    • -
    • r600g: add evergreen stencil support.
    • -
    • r600g: use format from the sampler view not from the texture.
    • -
    • r600g: fix Z export enable bits.
    • -
    • r600g: add some RG texture format support.
    • -
    • r600g: drop width/height per level storage.
    • -
    • r600g: fix input/output Z export mixup for evergreen.
    • -
    • r600g: evergreen has no request size bit in texture word4
    • -
    • r600g: enable vertex samplers.
    • -
    • r600g: add TXL opcode support.
    • -
    • r600g: don't run with scissors.
    • -
    • r600g: fix typo in vertex sampling on r600
    • -
    • gallium/tgsi: add support for stencil writes.
    • -
    • gallium/format: add support for X24S8 and S8X24 formats.
    • -
    • gallium/format: add X32_S8X24_USCALED format.
    • -
    • gallium/util: add S8 tile sampling support.
    • -
    • mesa: add support for FRAG_RESULT_STENCIL.
    • -
    • mesa: improve texstore for 8/24 formats and add texstore for S8.
    • -
    • softpipe: add support for shader stencil export capability
    • -
    • st/mesa: add option to choose a texture format that we won't render to.
    • -
    • st/mesa: use shader stencil export to accelerate shader drawpixels.
    • -
    • r600g: add support for S8, X24S8 and S8X24 sampler formats.
    • -
    • r600g: add shader stencil export support.
    • -
    • glsl: add support for shader stencil export
    • -
    • st/mesa: enable stencil shader export extension if supported
    • -
    • r600g: fix depth0 setting
    • -
    • r600g: fix scissor/cliprect confusion
    • -
    • r600g: store samplers/views across blit when we need to modify them
    • -
    • r600g: reduce size of context structure.
    • -
    • r600g: the vs/ps const arrays weren't actually being used.
    • -
    • r600g: add copy into tiled texture
    • -
    • r600g: split out miptree setup like r300g
    • -
    • r600g: use common texture object create function
    • -
    • r600g: rename pitch in texture to pitch_in_bytes
    • -
    • r600g: remove bpt and start using pitch_in_bytes/pixels.
    • -
    • r600g: fix transfer stride.
    • -
    • r600g: drop all use of unsigned long
    • -
    • r600g: use blitter for hw copy region
    • -
    • r600g: evergreen add stencil export bit
    • -
    • r600g: add missing eg reg definition
    • -
    • r600g: fix stencil export for evergreen harder
    • -
    • r600g: drop unused context members
    • -
    • r600g: only pick centroid coordinate when asked.
    • -
    • r600g: fixup pos/face ena/address properly
    • -
    • r600g: fixup typo in macro name
    • -
    • r600g: select linear interpolate if tgsi input requests it
    • -
    • r300g: clean up warning due to unknown cap.
    • -
    • tgsi: add scanner support for centroid inputs
    • -
    • r600g: evergreen interpolation support.
    • -
    • r600g: add evergreen ARL support.
    • -
    • r600g: switch to a common formats.h file since they are in different regs
    • -
    • r600g: add defines for tiling
    • -
    • r600g: get tiling info from kernel
    • -
    • r600g: set tiling bits in hw state
    • -
    • r600g: do proper tracking of views/samplers.
    • -
    • r600g: fix typo in tiling setup cb code.
    • -
    • r600g: depth needs to bound to ds
    • -
    • r600g: attempt to cleanup depth blit
    • -
    • r600g: fix transfer function for tiling.
    • -
    • r600g: retrieve tiling info from kernel for shared buffers.
    • -
    • r600g: all non-0 mipmap levels need to be w/h aligned to POT.
    • -
    • r600g: move to per-miplevel array mode.
    • -
    • r600g: start adding hooks for aligning width/height for tiles.
    • -
    • r600g: add r600 surface to store the aligned height.
    • -
    • r600g: introduce a per-driver resource flag for transfers.
    • -
    • r600g: add texture tiling alignment support.
    • -
    • r600g: add texture tiling enable under a debug option.
    • -
    • r600g: initial translate state support
    • -
    • r600g: start splitting out common code from eg/r600.
    • -
    • r600g: not fatal if we can't get tiling info from kernel
    • -
    • r600g: merge more of the common r600/evergreen state handling
    • -
    • r600g: drop more common state handling code
    • -
    • r600g: fix magic 0x1 ->flat shade ena
    • -
    • r600g: add assembler support for all the kcache fields.
    • -
    • gallium/noop: report GL 2.1
    • -
    • r600g: pick correct color swap for A8 fbos.
    • -
    • r300g/r600g: bump cache manager timeouts to 1s
    • -
    • r600g: it looks like r600 can handle dword offsets in the indices.
    • -
    • r300g: try and use all of vertex constant space
    • -
    • r300g: fixup rs690 tiling stride alignment calculations.
    • -
    • r600g: fix evergreen segfaults.
    • -
    • r600g: hack around property unknown issues.
    • -

    - -

    Eric Anholt (300): -

      -
    • glsl: Add definition of gl_TextureMatrix inverse/transpose builtins.
    • -
    • i965: Share the KIL_NV implementation between glsl and non-glsl.
    • -
    • i965: Also enable CC statistics when doing OQs.
    • -
    • i965: Track the windowizer's dispatch for kill pixel, promoted, and OQ
    • -
    • glsl: Rework assignments with write_masks to have LHS chan count match RHS.
    • -
    • glsl: Fix copy'n'wasted ir_noop_swizzle conditions.
    • -
    • ir_to_mesa: Only compare vector_elements present for any_nequal/all_equal
    • -
    • i965: Fix the vector/expression splitting for the write_mask change.
    • -
    • i965: When splitting vector variable assignment, ignore unset channels.
    • -
    • i965: Update expression splitting for the vector-result change to compares.
    • -
    • i965: Warning fix for vector result any_nequal/all_equal change.
    • -
    • mesa: Remove the non-required ARB_imaging extension.
    • -
    • mesa: Remove EXT_histogram.
    • -
    • mesa: Remove SGI_color_table.
    • -
    • mesa: Remove SGI_color_matrix.
    • -
    • mesa: Remove EXT_convolution.
    • -
    • intel: Remove disabled stencil drawpixels acceleration.
    • -
    • intel: Remove unnecessary minimum pitch alignment to 32 bytes.
    • -
    • intel: Replace my intel_texture_bitmap code with _mesa_meta_Bitmap.
    • -
    • radeon: Remove copied minimum pitch alignment code.
    • -
    • unichrome: Mostly revert my convolution removal changes.
    • -
    • intel: Remove dead intelIsTextureResident().
    • -
    • i915: Remove a dead if (0) block.
    • -
    • intel: Dead comment removal.
    • -
    • intel: Corresponding FinishRenderTexture debug to BeginRenderTexture.
    • -
    • i965: Add support for rendering to SARGB8 FBOs.
    • -
    • intel: Fix segfault on INTEL_DEBUG=fbo with unsupported framebuffers.
    • -
    • intel: Add fallback debug to glGenerateMipmap.
    • -
    • intel: More reverting of the sw fallback for depth texture border color.
    • -
    • intel: Improve some of the miptree debugging.
    • -
    • mesa: Fix type typo in glGenerateMipmap handling of GL_UNSIGNED_INT data.
    • -
    • glsl: Fix broadcast_index of lower_variable_index_to_cond_assign.
    • -
    • glsl: Add validation that a swizzle only references valid channels.
    • -
    • i965: Fix up writemasked assignments in the new FS.
    • -
    • i965: Remove swizzling of assignment to vector-splitting single-channel LHS.
    • -
    • i965: Handle all_equal/any_nequal in the new FS.
    • -
    • i965: Fix vector splitting RHS channel selection with sparse writemasks.
    • -
    • i965: Add support for dFdx()/dFdy() to the FS backend.
    • -
    • i965: Add support for attribute interpolation on Sandybridge.
    • -
    • i965: Set up inputs to the fragment shader according to FP InputsRead.
    • -
    • i965: Add support for POW in gen6 FS.
    • -
    • i965: Fix negation in the new FS backend.
    • -
    • i965: Actually track the "if" depth in loop in the new FS backend.
    • -
    • i965: Apply the same set of lowering passes to new FS as to Mesa IR.
    • -
    • i965: Fix valgrind complaint about base_ir for new FS debugging.
    • -
    • i965: Fix up the FS backend for the variable array indexing pass.
    • -
    • i965: Set the variable type when dereferencing an array.
    • -
    • i965: Add support for dereferencing structs to the new FS backend.
    • -
    • i965: Add support for struct, array, and matrix uniforms to FS backend.
    • -
    • i965: Fix all non-snb regression in the snb attribute interpolation commit.
    • -
    • i965: Fix up part of my Sandybridge attributes support patch.
    • -
    • i965: Add support for gl_FrontFacing to the new FS backend.
    • -
    • i965: Subtract instead of adding when computing y delta in new FS backend.
    • -
    • mesa: Pull ir_to_mesa's sampler number fetcher out to shared code.
    • -
    • i965: Set up sampler numbers in the FS backend.
    • -
    • i965: Add support for non-color render target write data to new FS backend.
    • -
    • i965: Add support for MRT to the new FS backend.
    • -
    • i965: Add support for ir_loop counters to the new FS backend.
    • -
    • i965: Add support for ARB_fragment_coord_conventions to the new FS backend.
    • -
    • glsl: Also update implicit sizes of varyings at link time.
    • -
    • i965: Do interpolation for varying matrices and arrays in the FS backend.
    • -
    • i965: Don't try to emit interpolation for unused varying slots.
    • -
    • i965: Fix array indexing of arrays of matrices.
    • -
    • i965: Clean up obsolete FINISHME comment.
    • -
    • mesa: Move the list of builtin uniform info from ir_to_mesa to shared code.
    • -
    • i965: Add support for builtin uniforms to the new FS backend.
    • -
    • i965: Fix use of undefined mem_ctx in vector splitting.
    • -
    • i956: Make new FS discard do its work in a temp, not the null reg!
    • -
    • i965: Clean up the virtual GRF handling.
    • -
    • ra: First cut at a graph-coloring register allocator for mesa.
    • -
    • i965: First cut at register allocation using graph coloring.
    • -
    • i965: Add live interval analysis and hook it up to the register allocator.
    • -
    • i965: Remove my "safety counter" code from loops.
    • -
    • i965: Fix whole-structure/array assignment in new FS.
    • -
    • mesa: Don't reference a W component in setting up a vec3 uniform component.
    • -
    • i965: Fix new FS handling of builtin uniforms with packed scalars in structs.
    • -
    • glsl: Add a lowering pass for texture projection.
    • -
    • i965: Use the lowering pass for texture projection.
    • -
    • i965: Split the gen4 and gen5 sampler handling apart.
    • -
    • i965: Add gen6 attribute interpolation to new FS backend.
    • -
    • i965: Fix the gen6 jump size for BREAK/CONT in new FS.
    • -
    • i965: Also increment attribute location when skipping unused slots.
    • -
    • i965: Pre-gen6, map VS outputs (not FS inputs) to URB setup in the new FS.
    • -
    • i965: Add real support for pre-gen5 texture sampling to the new FS.
    • -
    • i965: Fix up copy'n'pasteo from moving coordinate setup around for gen4.
    • -
    • i965: Restore the forcing of aligned pairs for delta_xy on chips with PLN.
    • -
    • i965: When producing a single channel swizzle, don't make a temporary.
    • -
    • i965: Add a sanity check for register allocation sizes.
    • -
    • i965: Fix off-by-ones in handling the last members of register classes.
    • -
    • i965: Don't try to emit code if we failed register allocation.
    • -
    • i965: Add support for EXT_texture_swizzle to the new FS backend.
    • -
    • i965: Set up swizzling of shadow compare results for GL_DEPTH_TEXTURE_MODE.
    • -
    • i965: Fix glean/texSwizzle regression in previous commit.
    • -
    • i965: Be more conservative on live interval calculation.
    • -
    • i965: Add trivial dead code elimination in the new FS backend.
    • -
    • i965: Add initial folding of constants into operand immediate slots.
    • -
    • i965: In disasm, gen6 fb writes don't put msg reg # in destreg_conditionalmod.
    • -
    • i965: Add support for gen6 FB writes to the new FS.
    • -
    • i965: Enable the constant propagation code.
    • -
    • i965: Also do constant propagation for the second operand of CMP.
    • -
    • i965: Add back gen6 headerless FB writes to the new FS backend.
    • -
    • i965: Gen6 no longer has the IFF instruction; always use IF.
    • -
    • i965: Fix up IF/ELSE/ENDIF for gen6.
    • -
    • i965: Fix botch in the header_present case in the new FS.
    • -
    • i965: Add some clarification of the WECtrl field.
    • -
    • i965: Don't do 1/w multiplication in new FS for gen6
    • -
    • i965: Gen6's sampler messages are the same as Ironlake.
    • -
    • i965: Refactor gl_FrontFacing setup out of general variable setup.
    • -
    • i965: Add support for gl_FrontFacing on gen6.
    • -
    • i965: Don't assume that WPOS is always provided on gen6 in the new FS.
    • -
    • i965: Fix gen6 pointsize handling to match pre-gen6.
    • -
    • i965: Disable emitting if () statements on gen6 until we really fix them.
    • -
    • i965: Normalize cubemap coordinates like is done in the Mesa IR path.
    • -
    • mesa: Simplify a bit of _mesa_add_state_reference using memcmp.
    • -
    • i965: Drop the check for duplicate _mesa_add_state_reference.
    • -
    • i965: Drop the check for YUV constants in the param list.
    • -
    • i965: Handle swizzles in the addition of YUV texture constants.
    • -
    • i965: Fix gen6 WM push constants updates.
    • -
    • i965: Fix new FS gen6 interpolation for sparsely-populated arrays.
    • -
    • i965: Enable attribute swizzling (repositioning) in the gen6 SF.
    • -
    • i965: Add register coalescing to the new FS backend.
    • -
    • i965: Split FS_OPCODE_DISCARD into two steps.
    • -
    • i965: Reduce register interference checks for changed FS_OPCODE_DISCARD.
    • -
    • i965: Move FS backend structures to a header.
    • -
    • i965: Give the math opcodes information on base mrf/mrf len.
    • -
    • i965: Give the FB write and texture opcodes the info on base MRF, like math.
    • -
    • i965: Compute to MRF in the new FS backend.
    • -
    • i965: Don't consider gen6 math instructions to write to MRFs.
    • -
    • i965: Add a couple of checks for gen6 math instruction limits.
    • -
    • i965: Don't compute-to-MRF in gen6 math instructions.
    • -
    • i965: Expand uniform args to gen6 math to full registers to get hstride == 1.
    • -
    • i965: Don't compute-to-MRF in gen6 VS math.
    • -
    • i965: Fix gen6 pixel_[xy] setup to avoid mixing int and float src operands.
    • -
    • i965: Always use the new FS backend on gen6.
    • -
    • i965: Fix missing "break;" in i2b/f2b, and missing AND of CMP result.
    • -
    • intel: Allow CopyTexSubImage to InternalFormat 3/4 textures, like RGB/RGBA.
    • -
    • i965: Don't rebase the index buffer to min 0 if any arrays are in VBOs.
    • -
    • i965: Add support for rescaling GL_TEXTURE_RECTANGLE coords to new FS.
    • -
    • i965: Set class_sizes[] for the aligned reg pair class.
    • -
    • i965: Update the live interval when coalescing regs.
    • -
    • i965: Add a pass to the FS to split virtual GRFs to float channels.
    • -
    • i965: Add a function for handling the move of boolean values to flag regs.
    • -
    • i965: Add peepholing of conditional mod generation from expressions.
    • -
    • i965: Enable the new FS backend on pre-gen6 as well.
    • -
    • i965: Fix texturing on pre-gen5.
    • -
    • i965: Set the type of the null register to fix gen6 FS comparisons.
    • -
    • i965: Disable the debug printf I added for FS disasm.
    • -
    • i965: Fix a weirdness in NOT handling.
    • -
    • i965: Fix assertion failure on gen6 BufferSubData to busy BO.
    • -
    • i965: Assert out on gen6 VS constant buffer reads that hang the GPU for now.
    • -
    • i965: Fix scissor-offscreen on gen6 like we did pre-gen6.
    • -
    • i965: Avoid blits in BufferCopySubdata on gen6.
    • -
    • i965: Tell the shader compiler when we expect depth writes for gen6.
    • -
    • i965: Remove the gen6 emit_mi_flushes I sprinkled around the driver.
    • -
    • i965: Disable thread dispatch when the FS doesn't do any work.
    • -
    • i965: Add EU emit support for gen6's new IF instruction with comparison.
    • -
    • i965: Set the source operand types for gen6 if/else/endif to integer.
    • -
    • i965: Use the new style of IF statement with embedded comparison on gen6.
    • -
    • i965: Split register allocation out of the ever-growing brw_fs.cpp.
    • -
    • i965: Fix gl_FrontFacing emit on pre-gen6.
    • -
    • i965: Add support for register spilling.
    • -
    • i965: Don't emit register spill offsets directly into g0.
    • -
    • i965: Correct scratch space allocation.
    • -
    • i965: Be more aggressive in tracking live/dead intervals within loops.
    • -
    • i965: Move the FS disasm/annotation printout to codegen time.
    • -
    • i965: Add support for pull constants to the new FS backend.
    • -
    • i965: Add EU code for dword scattered reads (constant buffer array indexing).
    • -
    • i965: Clarify an XXX comment in FB writes with real info.
    • -
    • i965: Use SENDC on the first render target write on gen6.
    • -
    • i965: Clear some undefined fields of g0 when using them for gen6 FB writes.
    • -
    • i965: Add disasm for the flag register.
    • -
    • i965: Add support for discard instructions on gen6.
    • -
    • i965: Handle new ir_unop_round_even in channel expression splitting.
    • -
    • i965: Fix typo in comment about state flags.
    • -
    • i965: Set up the constant buffer on gen6 when it's needed.
    • -
    • i965: Add support for constant buffer loads on gen6.
    • -
    • i965: Drop the eot argument to read messages, which can never be set.
    • -
    • i965: Fix VS URB entry sizing.
    • -
    • i965: Disable register spilling on gen6 until it's fixed.
    • -
    • i965: Make FS uniforms be the actual type of the uniform at upload time.
    • -
    • i965: Add user clip planes support to gen6.
    • -
    • i965: Update gen6 SF state when point state (sprite or attenuation) changes.
    • -
    • i965: Upload required gen6 VS push constants even when using pull constants.
    • -
    • i965: Update the gen6 stencil ref state when stencil state changes.
    • -
    • mesa: Make metaops use program refcounts instead of names.
    • -
    • mesa: Don't compute an unused texture completeness debug string.
    • -
    • intel: For batch, use GTT mapping instead of writing to a malloc and copying.
    • -
    • intel: Annotate debug printout checks with unlikely().
    • -
    • intel: Remove the magic unaligned memcpy code.
    • -
    • i965: Remove dead intel_structs.h file.
    • -
    • intel: Avoid taking logbase2 of several things that we max.
    • -
    • intel: Remove duplicated teximage miptree to object miptree promotion.
    • -
    • intel: Remove leftover dri1 locking fields in the context.
    • -
    • mesa: Fix delayed state flagging for EXT_sso-related program changes.
    • -
    • intel: Fix the client-side swapbuffers throttling.
    • -
    • Revert "intel: Fix the client-side swapbuffers throttling."
    • -
    • i965: Allow OPCODE_SWZ to put immediates in the first arg.
    • -
    • i965: Add support for math on constants in gen6 brw_wm_glsl.c path.
    • -
    • i965: Work around strangeness in swizzling/masking of gen6 math.
    • -
    • i965: re-enable gen6 IF statements in the fragment shader.
    • -
    • glsl: Free the loop state context when we free the loop state.
    • -
    • i965: Fix gl_FragCoord inversion when drawing to an FBO.
    • -
    • i965: Shut up spurious gcc warning about GLSL_TYPE enums.
    • -
    • mesa: Don't spam the console in a debug build unless some spam is requested.
    • -
    • i965: Add state dumping for sampler state.
    • -
    • i965: Add dumping of the sampler default color.
    • -
    • i965: Fail on loops on gen6 for now until we write the EU emit code for it.
    • -
    • i965: Eliminate dead code more aggressively.
    • -
    • mesa: Include C++ files in the makedepend of DRI drivers.
    • -
    • i965: Fix compute_to_mrf to not move a MRF write up into another live range.
    • -
    • i965: Just use memset() to clear most members in FS constructors.
    • -
    • i965: Remove extra n at the end of every instruction in INTEL_DEBUG=wm.
    • -
    • i965: Fold constants into the second arg of BRW_SEL as well.
    • -
    • glsl: Add a helper function for determining if an rvalue could be a saturate.
    • -
    • i965: Recognize saturates and turn them into a saturated mov.
    • -
    • ir_to_mesa: Detect and emit MOV_SATs for saturate constructs.
    • -
    • i965: Improve compute-to-mrf.
    • -
    • i965: Remove duplicate MRF writes in the FS backend.
    • -
    • i965: Move gen4 blend constant color to the gen4 blending file.
    • -
    • i965: Don't upload polygon stipple unless required.
    • -
    • i965: Don't upload line stipple pattern unless we're stippling.
    • -
    • i965: Don't upload line smooth params unless we're line smoothing.
    • -
    • i965: Use the new embedded compare in SEL on gen6 for VS MIN and MAX opcodes.
    • -
    • i965: Fix type of gl_FragData[] dereference for FB write.
    • -
    • glsl: Make the symbol table's add_function just use the function's name.
    • -
    • glsl: Make the symbol table's add_variable just use the variable's name.
    • -
    • glsl: Add a helper constructor for expressions that works out result type.
    • -
    • glsl: Fix structure and array comparisions.
    • -
    • glsl: Quiet unreachable no-return-from-function warning.
    • -
    • i965: Dump the WHILE jump distance on gen6.
    • -
    • i965: Add support for gen6 DO/WHILE ISA emit.
    • -
    • i965: Add support for gen6 BREAK ISA emit.
    • -
    • i965: Add support for gen6 CONTINUE instruction emit.
    • -
    • i965: Enable IF statements in the VS.
    • -
    • i965: Add support for loops in the VS.
    • -
    • glsl: Mark the array access for whole-array comparisons.
    • -
    • glsl: Fix flipped return of has_value() for array constants.
    • -
    • mesa: Add getters for the rest of the supported draw buffers.
    • -
    • mesa: Add getters for ARB_copy_buffer's attachment points.
    • -
    • intel: Add an env var override to execute for a different GPU revision.
    • -
    • i965: Update gen6 WM state on compiled program change, not just FP change.
    • -
    • i965: Update gen6 SF state on fragment program change too.
    • -
    • i965: Fix compile warning about missing opcodes.
    • -
    • i965: Move payload reg setup to compile, not lookup time.
    • -
    • i965: Provide delta_xy reg to gen6 non-GLSL path PINTERP.
    • -
    • i965: Fix up 16-wide gen6 FB writes after various refactoring.
    • -
    • i965: Don't smash a group of coordinates doing gen6 16-wide sampler headers.
    • -
    • i965: Fix gen6 interpolation setup for 16-wide.
    • -
    • i965: Fix up gen6 samplers for their usage by brw_wm_emit.c
    • -
    • i965: Make the sampler's implied move on gen6 be a raw move.
    • -
    • i965: Align gen6 push constant size to dispatch width.
    • -
    • i965: Add support for the instruction compression bits on gen6.
    • -
    • i965: Nuke brw_wm_glsl.c.
    • -
    • i965: Remove INTEL_DEBUG=glsl_force now that there's no brw_wm_glsl.c
    • -
    • i965: Fix comment about gen6_wm_constants.
    • -
    • i965: Handle saturates on gen6 math instructions.
    • -
    • i965: Always hand the absolute value to RSQ.
    • -
    • i965: Add disabled debug code for dumping out the WM constant payload.
    • -
    • i965: Work around gen6 ignoring source modifiers on math instructions.
    • -
    • i965: Fix flipped value of the not-embedded-in-if on gen6.
    • -
    • i965: Don't try to store gen6 (float) blend constant color in bytes.
    • -
    • i965: Set up the color masking for the first drawbuffer on gen6.
    • -
    • i965: Set up the per-render-target blend state on gen6.
    • -
    • i965: Set the render target index in gen6 fixed-function/ARB_fp path.
    • -
    • i965: Use the new pixel mask location for gen6 ARB_fp KIL instructions.
    • -
    • i965: Drop KIL_NV from the ff/ARB_fp path since it was only used for GLSL.
    • -
    • i965: Drop push-mode reladdr constant loading and always use constant_map.
    • -
    • i965: Fix VS constants regression pre-gen6.
    • -
    • i965: Clean up VS constant buffer location setup.
    • -
    • i965: Set up the correct texture border color state struct for Ironlake.
    • -
    • i965: Set render_cache_read_write surface state bit on gen6 constant surfs.
    • -
    • i965: remove unused variable since brw_wm_glsl.c removal.
    • -
    • intel: Use plain R8 and RG8 for COMPRESSED_RED and COMPRESSED_RG.
    • -
    • intel: Set the swizzling for depth textures using the GL_RED depth mode.
    • -
    • glsl: Correct the marking of InputsRead/OutputsWritten on in/out matrices.
    • -
    • i965: Correct the dp_read message descriptor setup on g4x.
    • -
    • intel: Include stdbool so we can stop using GLboolean when we want to.
    • -
    • i965: Fix ARL to work on gen6.
    • -
    • i956: Fix the old FP path fragment position setup on gen6.
    • -
    • i965: Fix gl_FragCoord.z setup on gen6.
    • -
    • i965: Add support for using the BLT ring on gen6.
    • -
    • intel: Update renderbuffers before looking up CopyTexImage's read buffer.
    • -
    • intel: Drop commented intel_flush from copy_teximage.
    • -
    • intel: Try to sanely check that formats match for CopyTexImage.
    • -
    • intel: Support glCopyTexImage() from XRGB8888 to ARGB8888.
    • -
    • i965: Avoid using float type for raw moves, to work around SNB issue.
    • -
    • i965: Set the alternative floating point mode on gen6 VS and WM.
    • -
    • i965: Add support for gen6 constant-index constant loading.
    • -
    • i965: Add support for gen6 reladdr VS constant loading.
    • -
    • i965: Improve the hacks for ARB_fp scalar^scalar POW on gen6.
    • -
    • i965: Factor out the ir comparision to BRW_CONDITIONAL_* code.
    • -
    • i965: Fix regression in FS comparisons on original gen4 due to gen6 changes.
    • -
    • i965: Do lowering of array indexing of a vector in the FS.
    • -
    • intel: Only do frame throttling at glFlush time when using frontbuffer.
    • -
    • intel: Handle forced swrast clears before other clear bits.
    • -
    • intel: Use tri clears when we don't know how to blit clear the format.
    • -
    • intel: Add spans code for the ARB_texture_rg support.
    • -
    • intel: Add a couple of helper functions to reduce rb code duplication.
    • -
    • intel: Fix segfaults from trying to use _ColorDrawBuffers in FBO validation.
    • -
    • intel: When validating an FBO's combined depth/stencil, use the given FBO.
    • -

    - -

    Fabian Bieler (2): -

      -
    • r600g: set address of pop instructions to next instruction
    • -
    • glsl: fix lowering conditional returns in subroutines
    • -

    - -

    Francisco Jerez (51): -

      -
    • dri/nv04: Fix PGRAPH_ERRORs when running OA.
    • -
    • dri/nv04: Mipmapping fixes.
    • -
    • dri/nv04: Align SIFM transfer dimensions.
    • -
    • dri/nv04: Fix up color mask.
    • -
    • dri/nv04: Fix maximum texture size.
    • -
    • dri/nv04: Fix provoking vertex.
    • -
    • dri/nouveau: Update nouveau_class.h.
    • -
    • dri/nouveau: Add some more extensions.
    • -
    • dri/nouveau: Fix glRenderbufferStorage with DEPTH_COMPONENT as internal format.
    • -
    • dri/nouveau: Don't request a fake front unnecessarily.
    • -
    • dri/nouveau: Don't reemit the BO state in nouveau_state_emit().
    • -
    • dri/nouveau: Cleanup references to the old FBOs on glMakeCurrent().
    • -
    • meta: Don't bind the created texture object in init_temp_texture().
    • -
    • dri/nv10: Fix the CLAMP texture wrap mode.
    • -
    • dri/nv04: Use nvgl_wrap_mode().
    • -
    • dri/nouveau: Remove unnecessary assertion.
    • -
    • dri/nouveau: Cleanup more references to old FBOs and VBOs.
    • -
    • dri/nv10-nv20: Fix texturing in some cases after a base level change.
    • -
    • dri/nouveau: Fix software mipmap generation on 1x1 textures.
    • -
    • dri/nouveau: Have a smaller amount of larger scratch buffers.
    • -
    • dri/nouveau: Remove unnecessary flush.
    • -
    • dri/nv10: Use fast Z clears.
    • -
    • dri/nouveau: Minor cleanup.
    • -
    • dri/nv10: Fake fast Z clears for pre-nv17 cards.
    • -
    • dri/nouveau: Initialize tile_flags when allocating a render target.
    • -
    • nouveau: Get larger push buffers.
    • -
    • dri/nouveau: Force a "slow" Z clear if we're getting a new depth buffer.
    • -
    • dri/nv20: Clear with the 3D engine.
    • -
    • dri/nouveau: Don't assert(0) on compressed internal formats.
    • -
    • dri/nv25: Bind a hierarchical depth buffer.
    • -
    • dri/nouveau: Call _mesa_update_state() after framebuffer invalidation.
    • -
    • dri/nouveau: Honor the access flags in nouveau_bufferobj_map_range.
    • -
    • dri/nouveau: Tell the vbo module we want real hardware BOs.
    • -
    • dri/nouveau: Split out the scratch helpers to a separate file.
    • -
    • dri/nouveau: Avoid recursion in nouveau_bo_context_reset().
    • -
    • dri/nouveau: Use a macro to iterate over the bound vertex attributes.
    • -
    • dri/nouveau: Split out array handling to its own file.
    • -
    • dri/nouveau: Optimize VBO binding re-emission.
    • -
    • dri/nouveau: Keep small DYNAMIC_DRAW vertex buffers in system ram.
    • -
    • dri/nouveau: Pipeline glTexSubImage texture transfers.
    • -
    • dri/nouveau: Fix type promotion issue on 32bit platforms.
    • -
    • dri/nouveau: Validate the framebuffer state on read buffer changes.
    • -
    • dri/nouveau: Re-emit the BO state when coming back from a software fallback.
    • -
    • meta: Don't leak alpha function/reference value changes.
    • -
    • meta: Fix incorrect rendering of the bitmap alpha component.
    • -
    • vbo: Avoid unnecessary copy to/from current in vertex format upgrade.
    • -
    • meta: Don't try to disable cube maps if the driver doesn't expose the extension.
    • -
    • meta: Handle bitmaps with alpha test enabled.
    • -
    • dri/nouveau: Split hardware/software TNL instantiation more cleanly.
    • -
    • dri/nouveau: Fix typo.
    • -
    • dri/nouveau: Kill a bunch of ternary operators.
    • -

    - -

    Fredrik Höglund (2): -

      -
    • r600g: Fix texture sampling with swizzled coords
    • -
    • r600g: fix pow(0, 0) evaluating to NaN
    • -

    - -

    Guillermo S. Romero (1): -

      -
    • r300g: Do not use buf param before checking for NULL.
    • -

    - -

    Henri Verbeet (19): -

      -
    • r600g: Flush upload buffers before draws instead of before flushes.
    • -
    • r600g: Check for other references before checking for existing mappings in radeon_bo_pb_map_internal().
    • -
    • r600g: Remove a redundant flush in r600_texture_transfer_map().
    • -
    • r600g: Buffer object maps imply a wait.
    • -
    • r600g: Respect PB_USAGE_UNSYNCHRONIZED in radeon_bo_pb_map_internal().
    • -
    • Revert "r600g: Flush upload buffers before draws instead of before flushes."
    • -
    • r600g: fix exports_ps to export a number not a mask.
    • -
    • r600g: Mention AMD in the renderer string.
    • -
    • r600g: Cleanup the fenced_bo list in r600_context_fini().
    • -
    • r600g: Evergreen has two extra frac_bits for the sampler LOD state.
    • -
    • r600: Evergreen has two extra frac_bits for the sampler LOD state.
    • -
    • r600g: Add PIPE_FORMAT_L8A8_UNORM for Evergreen as well.
    • -
    • r600g: Swizzle vertex data only once.
    • -
    • r600g: Synchronize supported color formats between Evergreen and r600/r700.
    • -
    • r600g: Fix the PIPE_FORMAT_L8A8_UNORM color swaps.
    • -
    • r600g: Fix the PIPE_FORMAT_A8_UNORM color swap for Evergreen as well.
    • -
    • r600g: Cleanup block bo references in r600_context_fini().
    • -
    • r600g: Cleanup fetch shader resources in r600_pipe_shader_destroy().
    • -
    • st/mesa: Handle wrapped depth buffers in st_copy_texsubimage().
    • -

    - -

    Hui Qi Tay (10): -

      -
    • llvmpipe: minor changes in llvm coefficient calcs
    • -
    • draw: cliptest and viewport done in a single loop in vertex shader
    • -
    • draw: added viewport and cliptest flags
    • -
    • draw: sanitize llvm variant key
    • -
    • draw: corrections for w coordinate
    • -
    • draw: corrections to allow for different cliptest cases
    • -
    • llvmpipe: Moved draw pipeline twoside function to llvm setup code
    • -
    • llvmpipe: added llvm offset setup code
    • -
    • llvmpipe: clean up polygon offset function in lp setup code
    • -
    • llvmpipe: fix such that offset/twoside function only does in-place modification
    • -

    - -

    Ian Romanick (102): -

      -
    • glsl2: Refactor testing for whether a deref is of a matrix or array
    • -
    • glsl2: Add flags to enable variable index lowering
    • -
    • glsl: Add doxygen comments
    • -
    • EGL DRI2: Silence piles of 'unused variable' warnings
    • -
    • EGL DRI2: Silence 'missing initializer' warnings
    • -
    • egl_glx: Silence piles of 'unused variable' warnings
    • -
    • egl: Fix several 'comparison between signed and unsigned integer' warnings
    • -
    • dri: Ensure that DRI driver cpp files are in tarballs
    • -
    • mesa: Force GL_ARB_copy_buffer to always be enabled
    • -
    • mesa: Force GL_SGIS_generate_mipmap to always be enabled
    • -
    • Remove GL_MESA_packed_depth_stencil
    • -
    • Remove GL_EXT_cull_vertex
    • -
    • Regenerate files changed by previous commit
    • -
    • Remove unnescessary initializations of UpdateTexturePalette
    • -
    • ARB_texture_rg: Add GLX protocol support
    • -
    • ARB_texture_rg: Correct some errors in RED / RG internal format handling
    • -
    • ARB_texture_rg: Add GL_TEXTURE_{RED,GREEN}_SIZE query support
    • -
    • ARB_texture_rg: Add GL_RED as a valid GL_DEPTH_TEXTURE_MODE
    • -
    • ARB_texture_rg: Handle RED and RG the same as RGB for tex env
    • -
    • ARB_texture_rg: Add R8, R16, RG88, and RG1616 internal formats
    • -
    • ARB_texture_rg: Allow RED and RG textures as FBO color buffer attachments
    • -
    • mesa: Enable GL_ARB_texture_rg in software paths
    • -
    • i965: Enable GL_ARB_texture_rg
    • -
    • mesa: Add ARB_texture_compression_rgtc as an alias for EXT_texture_compression_rgtc
    • -
    • ARB_texture_rg: Add GL_COMPRESSED_{RED,RG} cases in _mesa_is_color_format
    • -
    • mesa: Fix misplaced #endif
    • -
    • mesa: Trivial correction to comment
    • -
    • rgtc: Detect RGTC formats as color formats and as compressed formats
    • -
    • docs: Add list of bugs fixed in 7.9
    • -
    • docs: Import 7.9 release notes from 7.9 branch.
    • -
    • docs: Import 7.8.x release notes from 7.8 branch.
    • -
    • docs: download.html does not need to be updated for each release
    • -
    • docs: Update mailing lines from sf.net to freedesktop.org
    • -
    • docs: Import news updates from 7.9 branch
    • -
    • docs: added news item for 7.9 release
    • -
    • glsl: Fail linking if assign_attribute_locations fails
    • -
    • glsl: Refactor 'layout' grammar to match GLSL 1.60 spec grammar
    • -
    • glsl: Slight refactor of error / warning checking for ARB_fcc layout
    • -
    • glsl: Clear type_qualifier using memset
    • -
    • glsl: Wrap ast_type_qualifier contents in a struct in a union
    • -
    • glsl: Regenerate files modified by previous commits
    • -
    • glcpp: Add the define for ARB_explicit_attrib_location when present
    • -
    • glcpp: Regenerate files changes by previous commit
    • -
    • glsl: Add parser support for GL_ARB_explicit_attrib_location layouts
    • -
    • glsl: Regenerate files changes by previous commit
    • -
    • glsl: Track explicit location in AST to IR translation
    • -
    • glsl: Add linker support for explicit attribute locations
    • -
    • main: Enable GL_ARB_explicit_attrib_location for swrast
    • -
    • intel: Enable GL_ARB_explicit_attrib_location
    • -
    • glsl: Remove const decoration from inlined function parameters
    • -
    • docs: skeleton for 7.10 release notes
    • -
    • docs: Update status of GL 3.x related extensions
    • -
    • mesa: Validate assembly shaders when GLSL shaders are used
    • -
    • glsl: Fix incorrect assertion
    • -
    • linker: Reject shaders that have unresolved function calls
    • -
    • mesa: Silence unused variable warning
    • -
    • mesa: Refactor validation of shader targets
    • -
    • mesa: Clean up two 'comparison between signed and unsigned' warnings
    • -
    • mesa: Clean up various 'unused parameter' warnings in shaderapi
    • -
    • glsl: Slightly change the semantic of _LinkedShaders
    • -
    • linker: Trivial indention fix
    • -
    • i965: Fix indentation after commit 3322fbaf
    • -
    • linker: Improve handling of unread/unwritten shader inputs/outputs
    • -
    • glapi: Add GL_EXT_separate_shader_objects
    • -
    • glapi: Commit files changed by previous commit
    • -
    • mesa: Add infrastructure to track GL_EXT_separate_shader_objects
    • -
    • mesa: Skeletal support for GL_EXT_separate_shader_objects
    • -
    • mesa: Add display list support for GL_EXT_separate_shader_objects functions
    • -
    • mesa: Track an ActiveProgram distinct from CurrentProgram
    • -
    • Track separate programs for each stage
    • -
    • swrast: Enable GL_EXT_separate_shader_objects in software paths
    • -
    • intel: Enable GL_EXT_separate_shader_objects in Intel drivers
    • -
    • docs: add GL_EXT_separate_shader_objects to release notes
    • -
    • glsl: Fix incorrect gl_type of sampler2DArray and sampler1DArrayShadow
    • -
    • ir_to_mesa: Refactor code for emitting DP instructions
    • -
    • mesa: Allow query of MAX_SAMPLES with EXT_framebuffer_multisample
    • -
    • glsl: Refactor is_vec_{zero,one} to be methods of ir_constant
    • -
    • glsl: Simplify generation of swizzle for vector constructors
    • -
    • glsl: Make is_zero and is_one virtual methods of ir_rvalue
    • -
    • ir_to_mesa: Generate smarter code for some conditional moves
    • -
    • glsl: Add ir_unop_sin_reduced and ir_unop_cos_reduced
    • -
    • glsl: Eliminate assumptions about size of ir_expression::operands
    • -
    • glsl: Add ir_rvalue::is_negative_one predicate
    • -
    • glsl: Add unary ir_expression constructor
    • -
    • glsl: Add ir_quadop_vector expression
    • -
    • glsl: Fix matrix constructors with vector parameters
    • -
    • i915: Disallow alpha, red, RG, and sRGB as render targets
    • -
    • glsl: Use M_LOG2E constant instead of calling log2
    • -
    • glsl: Lower ir_binop_pow to a sequence of EXP2 and LOG2
    • -
    • i915: Request that POW instructions be lowered
    • -
    • i915: Correctly generate unconditional KIL instructions
    • -
    • glsl: Ensure that equality comparisons don't return a NULL IR tree
    • -
    • i965: Correctly emit constants for aggregate types (array, matrix, struct)
    • -
    • glsl: Inherrit type of declared variable from initializer
    • -
    • linker: Ensure that unsized arrays have a size after linking
    • -
    • linker: Fix regressions caused by previous commit
    • -
    • glsl: Inherrit type of declared variable from initializer after processing assignment
    • -
    • linker: Allow built-in arrays to have different sizes between shader stages
    • -
    • ir_to_mesa: Don't generate swizzles for record derefs of non-scalar/vectors
    • -
    • Refresh autogenerated file builtin_function.cpp.
    • -
    • glsl: Allow less restrictive uses of sampler array indexing in GLSL <= 1.20
    • -
    • docs: Import 7.9.1 release notes from 7.9 branch
    • -

    - -

    Jakob Bornecrantz (27): -

      -
    • rbug: Cast opcode to corrent int size
    • -
    • rbug: Add function to get opcode name string
    • -
    • scons: Link against talloc in the Gallium DRI drivers
    • -
    • i915g: Link with wrapper sw winsys with scons
    • -
    • tgsi: Actually care what check_soa_dependencies says
    • -
    • tgsi: Fix missing test before check
    • -
    • llvmpipe: Move makefile include to before targets
    • -
    • wrapper: Fix spelling
    • -
    • wrapper: Add a way to dewrap a pipe screen without destroying it
    • -
    • egl: Remove unnecessary headers
    • -
    • target-helpers: Remove per target software wrapper check
    • -
    • graw: Tidy graw xlib scons file a bit
    • -
    • scons: Remove old pipebuffer SConscript
    • -
    • scons: Detabify
    • -
    • scons: Check for pkg-config before trying to use it
    • -
    • scons: Check for libdrm_[intel|radeon] as well
    • -
    • scons: Move dependancy checks to the main gallium scons file
    • -
    • scons: Unify state tracker SConscripts
    • -
    • galahad: Correct the name of the scons library
    • -
    • graw: Use inline sw helper instead of roll your own loader
    • -
    • libgl-xlib: Use sw helper instead of roll your own
    • -
    • libgl-xlib: Use inline debug helper instead of non-inline version
    • -
    • graw: Use inline debug helper instead of non-inline version
    • -
    • gallium: Remove redundant sw and debug target helpers
    • -
    • i915g: Improve debug printing for textures
    • -
    • i915g: Make sure that new vbo gets updated
    • -
    • st/mesa: Unbind all constant buffers
    • -

    - -

    Jerome Glisse (75): -

      -
    • r600g: alternative command stream building from context
    • -
    • r600g: move chip class to radeon common structure
    • -
    • r600g: use pipe context for flushing inside map
    • -
    • r600g: add back reference check when mapping buffer
    • -
    • r600g: directly allocate bo for user buffer
    • -
    • r600g: fix multi buffer rendering
    • -
    • r600g: occlusion query for new design
    • -
    • r600g: flush color buffer after draw command
    • -
    • r600g: disable shader rebuild optimization & account cb flush packet
    • -
    • r600g: fix multiple occlusion query on same id
    • -
    • r600g: initial evergreen support in new path
    • -
    • r600g: fix typo in evergreen define (resource are in x range)
    • -
    • r600g: move use_mem_constants flags for new designs structure alignment
    • -
    • r600g: evergreen fix for new design
    • -
    • r600g: fix compilation after change to evergreend.h
    • -
    • r600g: fixup some evergreen register definitions
    • -
    • r600g: fix evergreen new path
    • -
    • r600g: fix reg definition
    • -
    • r600g: fix evergreen new path
    • -
    • r600g: bring over fix from old path to new path
    • -
    • r600g: fix vertex resource & polygon offset
    • -
    • r600g: disable early cull optimization when occlusion query running
    • -
    • r600g: move around variables to share depth uncompression code
    • -
    • r600g: use depth decompression in new path
    • -
    • r600g: fix index buffer drawing
    • -
    • r600g: build packet header once
    • -
    • r600g: fix pointsprite & resource unbinding
    • -
    • r600g: fix routing btw vertex & pixel shader
    • -
    • r600g: fix occlusion query after change to block structure
    • -
    • r600g: use ptr for blit depth uncompress function
    • -
    • r600g: fix remaining piglit issue in new design
    • -
    • r600g: switch to new design
    • -
    • r600g: suspend/resume occlusion query around clear/copy
    • -
    • r600g: avoid rebuilding the vertex shader if no change to input format
    • -
    • r600g: use a hash table instead of group
    • -
    • r600g: delete old path
    • -
    • r600g: cleanup
    • -
    • r600g: more cleanup
    • -
    • r600g: use constant buffer instead of register for constant
    • -
    • r600g: fix constant & literal src splitting, also fix mplayer gl2 shader
    • -
    • evergreeng: avoid overlapping border color btw VS & PS
    • -
    • r600g: indentation fixes
    • -
    • r600g: rename radeon_ws_bo to r600_bo
    • -
    • r600g: allow r600_bo to be a sub allocation of a big bo
    • -
    • r600g: use r600_bo for relocation argument, simplify code
    • -
    • r600g: rename radeon_ws_bo to r600_bo
    • -
    • r600g: remove dead label & fix indentation
    • -
    • r600g: store reloc information in bo structure
    • -
    • r600g: improve bo flushing
    • -
    • r600g: simplify block relocation
    • -
    • r600g: userspace fence to avoid kernel call for testing bo busy status
    • -
    • r600g: avoid segfault due to unintialized list pointer
    • -
    • r600g: fix dirty state handling
    • -
    • r600g: allow driver to work without submitting cmd to GPU
    • -
    • gallium/noop: no operation gallium driver
    • -
    • r600g: code cleanup (indent, trailing space, empty line ...)
    • -
    • r600g: fix occlusion query on evergreen (avoid lockup)
    • -
    • r600g: add fetch shader capabilities
    • -
    • r600g: dump raw shader output for debugging
    • -
    • r600g: update polygon offset only when rasterizer or zbuffer change
    • -
    • r600g: indentation fix
    • -
    • r600g: more indentation fix + warning silencing + dead code removal
    • -
    • r600g: build fetch shader from vertex elements
    • -
    • r600g: avoid useless shader rebuild at draw call
    • -
    • r600g: remove useless flush map
    • -
    • r600g: remove dead code
    • -
    • r600g: fix userspace fence against lastest kernel
    • -
    • r600g: avoid using pb* helper we are loosing previous cpu cycle with it
    • -
    • r600g: specialized upload manager
    • -
    • r600g: indentation cleanup
    • -
    • r600g: fix bo size when creating bo from handle
    • -
    • r600g: fix segfault when translating vertex buffer
    • -
    • r600g: need to reference upload buffer as the might still live accross flush
    • -
    • r600g: properly unset vertex buffer
    • -
    • r600g: avoid segfault
    • -

    - -

    Joakim Sindholt (3): -

      -
    • util/u_blitter: fix leak
    • -
    • radeong: fix leaks
    • -
    • r300g: silence guard band cap errors
    • -

    - -

    Johann Rudloff (3): -

      -
    • radeon: Implement EGL_MESA_no_surface_extension
    • -
    • radeon: Implement __DRI_IMAGE and EGL_MESA_image_drm
    • -
    • radeon: Implement GL_OES_EGL_image
    • -

    - -

    John Doe (3): -

      -
    • r600g: misc cleanup
    • -
    • r600g: don't double count dirty block
    • -
    • r600g: keep a mapping around for each bo
    • -

    - -

    Jon TURNEY (1): -

      -
    • Ensure -L$(TOP)/$(LIB_DIR) appears in link line before any -L in $LDFLAGS
    • -

    - -

    José Fonseca (128): -

      -
    • gallivm: Fix address register swizzle.
    • -
    • gallivm: Start collecting bitwise arithmetic helpers in a new module.
    • -
    • gallivm: Clamp indirect register indices to file_max.
    • -
    • util: linearized sRGB values don't fit into 8bits
    • -
    • llvmpipe: Default to no threading on single processor systems.
    • -
    • tgsi: Don't ignore indirect registers in tgsi_check_soa_dependencies
    • -
    • llvmpipe: Describe how to profile llvmpipe.
    • -
    • llvmpipe: When failing free fs shader too.
    • -
    • util: Flush stdout on util_format.
    • -
    • gallivm: Add unorm support to lp_build_lerp()
    • -
    • llvmpipe: Special case complementary and identify blend factors in SoA.
    • -
    • llvmpipe: Make rgb/alpha bland func/factors match, when there is no alpha.
    • -
    • draw: Prevent clipped vertices overflow.
    • -
    • draw: Fullfil the new min_lod/max_lod/lod_bias/border_color dynamic state
    • -
    • gallivm: Fetch the lod from the dynamic state when min_lod == max_lod.
    • -
    • gallivm: Remove dead experimental code.
    • -
    • llvmpipe: Decouple sampler view and sampler state updates.
    • -
    • scons: New build= option, with support for checked builds.
    • -
    • scons: New build= option, with support for checked builds.
    • -
    • trace: Fix set_index_buffer and draw_vbo tracing.
    • -
    • python/retrace: Handle set_index_buffer and draw_vbo.
    • -
    • gallivm: Use SSE4.1's ROUNDSS/ROUNDSD for scalar rounding.
    • -
    • gallivm: More comprehensive border usage logic.
    • -
    • retrace: Handle clear_render_target and clear_depth_stencil.
    • -
    • llvmpipe: Dump a few missing shader key flags.
    • -
    • llvmpipe: Fix perspective interpolation for point sprites.
    • -
    • llvmpipe: Fix sprite coord perspective interpolation of Q.
    • -
    • gallivm: Take the type signedness in consideration in round/ceil/floor.
    • -
    • gallivm: Use a faster (and less accurate) log2 in lod computation.
    • -
    • gallivm: Fast implementation of iround(log2(x))
    • -
    • gallivm: Combined ifloor & fract helper.
    • -
    • gallivm: Only apply min/max_lod when necessary.
    • -
    • gallivm: Compute lod as integer whenever possible.
    • -
    • util: Cleanup util_pack_z_stencil and friends.
    • -
    • llvmpipe: Cleanup depth-stencil clears.
    • -
    • gallivm: Vectorize the rho computation.
    • -
    • gallivm: Do not do mipfiltering when magnifying.
    • -
    • gallivm: Simplify lp_build_mipmap_level_sizes' interface.
    • -
    • gallivm: Don't compute the second mipmap level when frac(lod) == 0
    • -
    • gallivm: Use lp_build_ifloor_fract for lod computation.
    • -
    • gallivm: Clamp mipmap level and zero mip weight simultaneously.
    • -
    • gallivm: Fix copy'n'paste typo in previous commit.
    • -
    • gallivm: Implement brilinear filtering.
    • -
    • gallivm: Use the wrappers for SSE pack intrinsics.
    • -
    • gallivm: Avoid control flow for two-sided stencil test.
    • -
    • gallivm: Warn when doing inefficient integer comparisons.
    • -
    • gallivm: Move into the as much of the second level code as possible.
    • -
    • llvmpipe: First minify the texture size, then broadcast.
    • -
    • gallivm: Help for combined extraction and broadcasting.
    • -
    • gallivm: Do size computations simultanously for all dimensions (AoS).
    • -
    • llvmpipe: Prevent z > 1.0
    • -
    • llvmpipe: Fix MSVC build. Enable the new SSE2 code on non SSE3 systems.
    • -
    • gallivm: Handle code have ret correctly.
    • -
    • util: Defined M_SQRT2 when not available.
    • -
    • gallivm: Less code duplication in log computation.
    • -
    • gallivm: Special bri-linear computation path for unmodified rho.
    • -
    • gallivm: Don't generate Phis for execution mask.
    • -
    • gallivm: Use varilables instead of Phis for cubemap selection.
    • -
    • gallivm: Remove support for Phi generation.
    • -
    • gallivm: Factor out the SI->FP texture size conversion for SoA path too
    • -
    • gallivm: Simplify if/then/else implementation.
    • -
    • gallivm: Cleanup the rest of the flow module.
    • -
    • gallivm: Fix a long standing bug with nested if-then-else emission.
    • -
    • gallivm: Allow to disable bri-linear filtering with GALLIVM_DEBUG=no_brilinear runtime option
    • -
    • gallivm: Use variables instead of Phis in loops.
    • -
    • gallivm: Pass texture coords derivates as scalars.
    • -
    • llvmpipe: Remove outdated comment about stencil testing.
    • -
    • gallivm: Eliminate unsigned integer arithmetic from texture coordinates.
    • -
    • gallium: Define C99 restrict keyword where absent.
    • -
    • tgsi: Export some names for some tgsi enums.
    • -
    • gallivm: More detailed analysis of tgsi shaders.
    • -
    • llvmpipe: Use lp_tgsi_info.
    • -
    • llvmpipe: Do not dispose the execution engine.
    • -
    • llvmpipe: Fix MSVC build.
    • -
    • llmvpipe: improve mm_mullo_epi32
    • -
    • gallivm: Name anonymous union.
    • -
    • llvmpipe: Unbreak Z32_FLOAT.
    • -
    • gallivm: More accurate float -> 24bit & 32bit unorm conversion.
    • -
    • llvmpipe: Generalize the x8z24 fast path to all depth formats.
    • -
    • llvmpipe: Fix depth-stencil regression.
    • -
    • llvmpipe: Ensure z_shift and z_width is initialized.
    • -
    • gallivm: Fix SoA cubemap derivative computation.
    • -
    • llvmpipe: Fix bad refactoring.
    • -
    • llvmpipe: Initialize bld ctx via lp_build_context_init instead of ad-hoc and broken code.
    • -
    • gallivm: Comment lp_build_insert_new_block().
    • -
    • gallivm: Add a note about SSE4.1's nearest mode rounding.
    • -
    • llvmpipe: Don't test rounding of x.5 numbers.
    • -
    • gallium: Avoid using __doc__ in python scripts.
    • -
    • gallivm: always enable LLVMAddInstructionCombiningPass()
    • -
    • gallivm: Remove the EMMS opcodes.
    • -
    • mesa: Fix windows build (uint -> GLuint).
    • -
    • scons: Revamp how to specify targets to build.
    • -
    • scons: Fix MinGW cross-compilation.
    • -
    • scons: Some pipe drivers are not portable for MSVC
    • -
    • scons: Restore x11 tool behavior for backwards compatability.
    • -
    • scons: Disable python state tracker when swig is not present.
    • -
    • r600g: List recently added files in SConscript.
    • -
    • scons: Add aliases for several pipe drivers.
    • -
    • scons: i915 can't build on MSVC either.
    • -
    • scons: Propagate installation targets.
    • -
    • xorg/vmwgfx: Add missing source file to SConscript.
    • -
    • st/xorg: Add missing n to error message.
    • -
    • st/xorg: Detect libkms with scons too.
    • -
    • xorg/vmwgfx: Link libkms when available.
    • -
    • r600g: Swap the util_blitter_destroy call order.
    • -
    • gallivm: Allocate TEMP/OUT arrays only once.
    • -
    • libgl-gdi: Allow to pick softpipe/llvmpipe on runtime.
    • -
    • scons: Use inline wrap helpers more consistently.
    • -
    • svga: Use consistent hexadecimal representation on debug output.
    • -
    • scons: Alias for svga
    • -
    • wgl: Stub WGL_ARB_pbuffer support.
    • -
    • wgl: More complete WGL_ARB_pbuffer support.
    • -
    • svga: Silence debug printf.
    • -
    • scons: Move MSVS_VERSION option to common module.
    • -
    • vega: Remove extraneous ;
    • -
    • retrace: Some fixes.
    • -
    • util: C++ safe.
    • -
    • wgl: Fix double free. Remove dead code.
    • -
    • util: Plug leaks in util_destroy_gen_mipmap.
    • -
    • util: __builtin_frame_address() doesn't work on mingw.
    • -
    • util: Don't try to use imagehlp on mingw.
    • -
    • wgl: Unreference the current framebuffer after the make_current call.
    • -
    • WIN32_THREADS -> WIN32
    • -
    • mapi: Hack to avoid vgCreateFont being generated as vgCreateFontA.
    • -
    • wgl: Fix visual's buffer_mask configuration.
    • -
    • mesa: Temporary hack to prevent stack overflow on windows
    • -
    • mesa: Bump the number of bits in the register index.
    • -
    • llvmpipe: Plug fence leaks.
    • -

    - -

    Julien Cristau (1): -

      -
    • Makefile: don't include the same files twice in the tarball
    • -

    - -

    Keith Whitwell (89): -

      -
    • llvmpipe: brackets around macro arg
    • -
    • llvmpipe: remove duplicate code
    • -
    • llvmpipe: return zero from floor_pot(zero)
    • -
    • gallivm: make lp_build_sample_nop public
    • -
    • llvmpipe: add LP_PERF flag to disable various aspects of rasterization
    • -
    • llvmpipe: add DEBUG_FS to dump variant information
    • -
    • llvmpipe: use llvm for attribute interpolant calculation
    • -
    • graw: add frag-face shader
    • -
    • llvmpipe: fix flatshading in new line code
    • -
    • draw: don't apply flatshading to clipped tris with <3 verts
    • -
    • llvmpipe: handle FACING interpolants in line and point setup
    • -
    • llvmpipe: handle up to 8 planes in triangle binner
    • -
    • llvmpipe: make debug_fs_variant respect variant->nr_samplers
    • -
    • gallivm: don't apply zero lod_bias
    • -
    • llvmpipe: fail gracefully on oom in scene creation
    • -
    • llvmpipe: avoid overflow in triangle culling
    • -
    • gallivm: special case conversion 4x4f to 1x16ub
    • -
    • gallivm: round rather than truncate in new 4x4f->1x16ub conversion path
    • -
    • llvmpipe: clean up setup_tri a little
    • -
    • llvmpipe: add rast_tri_4_16 for small lines and points
    • -
    • llvmpipe: fix off-by-one in tri_16
    • -
    • llvmpipe: defer attribute interpolation until after mask and ztest
    • -
    • llvmpipe: use alloca for fs color outputs
    • -
    • llvmpipe: store zero into all alloca'd values
    • -
    • llvmpipe: dump fragment shader ir and asm when LP_DEBUG=fs
    • -
    • gallivm: specialized x8z24 depthtest path
    • -
    • gallivm: prefer blendvb for integer arguments
    • -
    • gallivm: simpler uint8->float conversions
    • -
    • llvmpipe: try to be sensible about whether to branch after mask updates
    • -
    • llvmpipe: clean up shader pre/postamble, try to catch more early-z
    • -
    • llvmpipe: simplified SSE2 swz/unswz routines
    • -
    • llvmpipe: try to do more of rast_tri_3_16 with intrinsics
    • -
    • llvmpipe: add debug helpers for epi32 etc
    • -
    • llvmpipe: try to keep plane c values small
    • -
    • llvmpipe: fix typo in last commit
    • -
    • gallium: move sse intrinsics debug helpers to u_sse.h
    • -
    • r600g: add missing file to sconscript
    • -
    • gallivm: don't branch on KILLs near end of shader
    • -
    • Revert "llvmpipe: try to keep plane c values small"
    • -
    • llvmpipe: make sure intrinsics code is guarded with PIPE_ARCH_SSE
    • -
    • llvmpipe: don't try to emit non-existent color outputs
    • -
    • r600/drm: fix segfaults in winsys create failure path
    • -
    • r600g: emit hardware linewidth
    • -
    • r600g: handle absolute modifier in shader translator
    • -
    • llvmpipe: reintroduce SET_STATE binner command
    • -
    • llvmpipe: don't pass frontfacing as a float
    • -
    • llvmpipe: slightly shrink the size of a binned triangle
    • -
    • llvmpipe: don't store plane.ei value in binned data
    • -
    • gallium: move some intrinsics helpers to u_sse.h
    • -
    • llvmpipe: do plane calculations with intrinsics
    • -
    • llvmpipe: use aligned loads/stores for plane values
    • -
    • llvmpipe: fix non-sse build after recent changes
    • -
    • llvmpipe: check shader outputs are non-null before using
    • -
    • llvmpipe: validate color outputs against key->nr_cbufs
    • -
    • llvmpipe: clean up fields in draw_llvm_variant_key
    • -
    • llvmpipe: remove setup fallback path
    • -
    • llvmpipe: fail cleanly on malloc failure in lp_setup_alloc_triangle
    • -
    • Merge remote branch 'origin/master' into lp-setup-llvm
    • -
    • llvmpipe: remove unused file
    • -
    • llvmpipe: remove unused arg from jit_setup_tri function
    • -
    • Merge branch 'llvm-cliptest-viewport'
    • -
    • draw: make sure viewport gets updated in draw llvm shader
    • -
    • llvmpipe: turn off draw offset/twoside when we can handle it
    • -
    • llvmpipe: avoid generating tri_16 for tris which extend past tile bounds
    • -
    • llvmpipe: guard against NULL task->query pointer
    • -
    • st/mesa: unbind constant buffer when not in use
    • -
    • r600g: propagate usage flags in texture transfers
    • -
    • r600g: propogate resource usage flags to winsys, use to choose bo domains
    • -
    • r600g: use a buffer in GTT as intermediate on texture up and downloads
    • -
    • r600g: remove unused flink, domain fields from r600_resource
    • -
    • r600g: set hardware pixel centers according to gl_rasterization_rules
    • -
    • evergreeng: protect against null constant buffers
    • -
    • r600g: don't call debug_get_bool_option for tiling more than once
    • -
    • evergreeng: respect linewidth state, use integer widths only
    • -
    • evergreeng: set hardware pixelcenters according to gl_rasterization_rules
    • -
    • r600g: avoid recursion with staged uploads
    • -
    • r600g: attempt to turn on DXTn formats
    • -
    • r600g: translate ARR instruction
    • -
    • r600: fix my pessimism about PIPE_TRANSFER_x flags
    • -
    • ws/r600: match bo_busy shared/fence logic in bo_wait
    • -
    • r600g: guard experimental s3tc code with R600_ENABLE_S3TC
    • -
    • r600g: do not try to use staging resource for depth textures
    • -
    • r600g: enforce minimum stride on render target texture images
    • -
    • llvmpipe: fix up twoside after recent changes
    • -
    • llvmpipe: twoside for specular color also
    • -
    • Merge branch 'lp-offset-twoside'
    • -
    • llvmpipe: raise dirty flag on transfers to bound constbuf
    • -
    • llvmpipe: remove misleading debug string
    • -
    • llvmpipe: shortcircuit some calls to set_scene_state
    • -

    - -

    Kenneth Graunke (94): -

      -
    • glsl: Change from has_builtin_signature to has_user_signature.
    • -
    • glsl: Don't print blank (function ...) headers for built-ins.
    • -
    • glsl: Properly handle nested structure types.
    • -
    • glsl/builtins: Fix equal and notEqual builtins.
    • -
    • glsl/builtins: Switch comparison functions to just return an expression.
    • -
    • glsl: Add comments to clarify the types of comparison binops.
    • -
    • glsl: Fix broken handling of ir_binop_equal and ir_binop_nequal.
    • -
    • glsl: "Copyright", not "Constantright"
    • -
    • i965: Fix incorrect batchbuffer size in gen6 clip state command.
    • -
    • i965: Use logical-not when emitting ir_unop_ceil.
    • -
    • glsl: Add front-end support for the "trunc" built-in.
    • -
    • glsl: Refresh autogenerated file builtin_function.cpp.
    • -
    • i965: Use RNDZ for ir_unop_trunc in the new FS.
    • -
    • i965: Correctly emit the RNDZ instruction.
    • -
    • i965: Clean up a warning in the old fragment backend.
    • -
    • glsl: Add a new ir_unop_round_even opcode for GLSL 1.30's roundEven.
    • -
    • glsl: Add front-end support for GLSL 1.30's roundEven built-in.
    • -
    • i965: Add support for ir_unop_round_even via the RNDE instruction.
    • -
    • glsl: Add support for the 1.30 round() built-in.
    • -
    • glsl: Refresh autogenerated file builtin_function.cpp.
    • -
    • glsl: Don't return NULL IR for erroneous bit-shift operators.
    • -
    • i965: Add missing "break" statement.
    • -
    • glsl: Fix copy and paste error in ast_bit_and node creation.
    • -
    • glsl: Regenerate parser files.
    • -
    • i965: Remove unused variable.
    • -
    • glsl: Remove useless ir_shader enumeration value.
    • -
    • mesa: Remove FEATURE_ARB_shading_language_120 macro.
    • -
    • glcpp: Return NEWLINE token for newlines inside multi-line comments.
    • -
    • glcpp: Refresh autogenerated lexer file.
    • -
    • glsl: Add support for GLSL 1.30's modf built-in.
    • -
    • glsl: Refresh autogenerated file builtin_function.cpp.
    • -
    • generate_builtins.py: Output large strings as arrays of characters.
    • -
    • Refresh autogenerated file builtin_function.cpp.
    • -
    • glsl: Fix constant component count in vector constructor emitting.
    • -
    • Fix build on systems where "python" is python 3.
    • -
    • i965: Add bit operation support to the fragment shader backend.
    • -
    • glsl: Remove unused ARRAY_SIZE macro.
    • -
    • glsl/builtins: Rename 'x' to 'y_over_x' in atan(float) implementation.
    • -
    • glsl/builtins: Clean up some ugly autogenerated code in atan.
    • -
    • Refresh autogenerated file builtin_function.cpp.
    • -
    • glsl: Don't print a useless space at the end of an S-Expression list.
    • -
    • ir_reader: Return a specific ir_dereference variant.
    • -
    • ir_reader: Remove useless error check.
    • -
    • ir_reader: Fix some potential NULL pointer dereferences.
    • -
    • ir_dead_functions: Actually free dead functions and signatures.
    • -
    • glsl: Remove unnecessary "unused variable" warning suppression.
    • -
    • glsl: Remove GLSL_TYPE_FUNCTION define.
    • -
    • glsl: Convert glsl_type::base_type from #define'd constants to an enum.
    • -
    • glsl: Rework reserved word/keyword handling in the lexer.
    • -
    • glsl: Add new keywords and reserved words for GLSL 1.30.
    • -
    • glsl: Add support for the 'u' and 'U' unsigned integer suffixes.
    • -
    • glsl: Refresh autogenerated lexer and parser files.
    • -
    • generate_builtins.py: Fix inconsistent use of tabs and spaces warning.
    • -
    • glsl: Implement the asinh, acosh, and atanh built-in functions.
    • -
    • glsl: Refresh autogenerated file builtin_function.cpp.
    • -
    • glsl: Add constant expression handling for asinh, acosh, and atanh.
    • -
    • glsl: Remove unused and out of date Makefile.am.
    • -
    • glsl: Rename various ir_* files to lower_* and opt_*.
    • -
    • glcpp: Define GL_FRAGMENT_PRECISION_HIGH if GLSL version >= 1.30.
    • -
    • Refresh autogenerated glcpp parser.
    • -
    • glsl: Fix constant expression handling for <, >, <=, >= on vectors.
    • -
    • glsl: Unconditionally define GL_FRAGMENT_PRECISION_HIGH in ES2 shaders.
    • -
    • Regenerate glcpp parser.
    • -
    • glsl: Reimplement the "cross" built-in without ir_binop_cross.
    • -
    • Refresh autogenerated file builtin_function.cpp.
    • -
    • glsl: Remove the ir_binop_cross opcode.
    • -
    • glsl: Refactor get_num_operands.
    • -
    • glsl: Simplify a type check by using type->is_integer().
    • -
    • glsl: Combine many instruction lowering passes into one.
    • -
    • mesa: Fix glGet of ES2's GL_MAX_*_VECTORS properties.
    • -
    • glsl: Don't inline function prototypes.
    • -
    • glsl: Use do_common_optimization in the standalone compiler.
    • -
    • glsl: Add a virtual as_discard() method.
    • -
    • glsl: Refactor out cloning of function prototypes.
    • -
    • glsl: Lazily import built-in function prototypes.
    • -
    • glsl: Remove anti-built-in hacks from the print visitor.
    • -
    • glsl/linker: Free any IR discarded by optimization passes.
    • -
    • glsl: Add an optimization pass to simplify discards.
    • -
    • glsl: Add a lowering pass to move discards out of if-statements.
    • -
    • glsl: Remove "discard" support from lower_jumps.
    • -
    • glsl: Add comments to lower_jumps (from the commit message).
    • -
    • ir_print_visitor: Print out constant structure values.
    • -
    • glsl: Factor out code which emits a new function into the IR stream.
    • -
    • symbol_table: Add support for adding a symbol at top-level/global scope.
    • -
    • glsl: Properly add functions during lazy built-in prototype importing.
    • -
    • glcpp: Don't emit SPACE tokens in conditional_tokens production.
    • -
    • Refresh autogenerated glcpp parser.
    • -
    • glsl: Clean up code by adding a new is_break() function.
    • -
    • glsl: Consider the "else" branch when looking for loop breaks.
    • -
    • Remove OES_compressed_paletted_texture from the ES2 extension list.
    • -
    • glsl/builtins: Compute the correct value for smoothstep(vec, vec, vec).
    • -
    • glsl: Support if-flattening beyond a given maximum nesting depth.
    • -
    • i965: Flatten if-statements beyond depth 16 on pre-gen6.
    • -
    • i965: Internally enable GL_NV_blend_square on ES2.
    • -

    - -

    Kristian Høgsberg (16): -

      -
    • glx: Hold on to drawables if we're just switching to another context
    • -
    • intel: Fix GL_ARB_shading_language_120 commit
    • -
    • dri2: Make createImageFromName() take a __DRIscreen instead of __DRIcontext
    • -
    • glx: Invalidate buffers after binding a drawable
    • -
    • dri: Pass the __DRIscreen and the __DRIscreen private back to image lookup
    • -
    • glx: Only remove drawables from the hash when we actually delete them
    • -
    • gles2: Add GL_EXT_texture_format_BGRA8888 support
    • -
    • Get rid of GL/internal/glcore.h
    • -
    • gl: Remove unused GLcontextModes fields
    • -
    • Rename GLvisual and __GLcontextModes to struct gl_config
    • -
    • Drop GLframebuffer typedef and just use struct gl_framebuffer
    • -
    • Drop GLcontext typedef and use struct gl_context instead
    • -
    • Drop the "neutral" tnl module
    • -
    • Only install vtxfmt tables for OpenGL
    • -
    • i965: Don't write mrf assignment for pointsize output
    • -
    • docs: Fix MESA_drm_image typo
    • -

    - -

    Krzysztof Smiechowicz (1): -

      -
    • nvfx: Pair os_malloc_aligned() with os_free_aligned().
    • -

    - -

    Luca Barbieri (84): -

      -
    • auxiliary: fix unintended fallthrough
    • -
    • glsl: add pass to lower variable array indexing to conditional assignments
    • -
    • auxiliary: fix depth-only and stencil-only clears
    • -
    • gallium: avoid the C++ keyword "template" in sw_winsys.h
    • -
    • softpipe: make z/s test always pass if no zsbuf, instead of crashing
    • -
    • tgsi: add switch/case opcodes to tgsi_opcode_tmp.h
    • -
    • softpipe: fix whitespace
    • -
    • d3d1x: add new Direct3D 10/11 COM state tracker for Gallium
    • -
    • d3d1x: add blob and signature extraction APIs
    • -
    • d3d1x: fix compilation with recent Wine versions installed
    • -
    • d3d1x: add missing file
    • -
    • d3d1x: actually enable and fix blob apis
    • -
    • d3d1x: fix build with compilers other than GCC 4.5
    • -
    • d3d1x: add template parameters to base class ctor calls for GCC 4.4
    • -
    • d3d1x: fix GCC 4.1/4.2 build
    • -
    • d3d1x: ignore errors while building docs
    • -
    • d3d1x: attempt to fix/workaround bug #30322
    • -
    • nvfx: remove gl_PointCoord hack
    • -
    • glx: decouple dri2.c and GLX, fixing Gallium EGL and d3d1x build
    • -
    • winsys: automatically build sw winsys needed by EGL and d3d1x
    • -
    • d3d1x: don't build progs automatically
    • -
    • d3d1x: add missing memory barrier
    • -
    • d3d1x: link with CXXFLAGS
    • -
    • d3d1x: fix cf analysis
    • -
    • d3d1x: fix warning
    • -
    • d3d1x: fix segfault when hashing
    • -
    • d3d1x: destroy native_display on adapter destruction
    • -
    • d3d1x: fix GUID declarations
    • -
    • d3d1x: redesign the HWND resolver interface
    • -
    • d3d1x: fix API name
    • -
    • d3d1x: define GUIDs in the normal way
    • -
    • d3d1x: add Wine dlls (tri, tex working, but no other testing)
    • -
    • d3d1x: properly reference count the backend
    • -
    • d3d1x: fix deadlocks on non-recursive mutex
    • -
    • d3d1x: bind NULL CSOs before destroying default CSOs on context dtor
    • -
    • d3d1x: initialize the mutex
    • -
    • d3d1x: autogenerate shader enums and text from def files
    • -
    • d3d1x: s/tpf/sm4/g
    • -
    • d3d1x: normalize whitespace
    • -
    • d3d1x: remove specstrings
    • -
    • d3d1x: minifix
    • -
    • d3d1x: rename context params
    • -
    • d3d11: rename screen params
    • -
    • d3d1x: rename params in misc and objects
    • -
    • d3d1x: rename parameters in dxgi
    • -
    • d3d11: obliterate IDL parameter names
    • -
    • d3d1x: remove specstrings.h include
    • -
    • d3d1x: flush the pipe context when presenting
    • -
    • d3d1x: remove another include specstrings.h
    • -
    • d3d1x: flush properly
    • -
    • d3d1x: add missing guid.cpp
    • -
    • d3d1x: fix build without system EGL/egl.h
    • -
    • d3d1x: add autogenerated files as prerequisites, so make builds them
    • -
    • d3d1x: obliterate IDL parameter names from d3d10.idl from Wine too
    • -
    • d3d1x: add shader dumping
    • -
    • d3d1x: add untested support for geometry shader translation
    • -
    • d3d1x: don't assert on unsupported resource types
    • -
    • d3d1x: fix CheckMultisampleQualityLevels
    • -
    • d3d1x: draw to the correct buffer
    • -
    • d3d1x: fix linking of dxbc2tgsi
    • -
    • nvfx: allow setting NULL constant buffers
    • -
    • nvfx: add RGB framebuffer format support in addition to BGR
    • -
    • d3d1x: don't crash on drivers not supporting vertex or geometry sampling
    • -
    • d3d1x: assert if X visual is not among enumerated visuals
    • -
    • d3d1x: stop using GLX in demos, just use the default visual
    • -
    • d3d1x: CRLF -> LF in progs
    • -
    • mesa: make makedepend an hard requirement
    • -
    • gallium: add $(PROGS_DEPS) as dependencies for $(PROGS)
    • -
    • d3d1x: fix parallel build
    • -
    • d3d1x: add private gitignore file
    • -
    • d3d1x: fix progs linking if not all EGL platforms are enabled
    • -
    • d3d1x: link progs with CXXFLAGS
    • -
    • d3d11: advertise IDXGIDevice1, not just IDXGIDevice
    • -
    • d3d11: ignore StructureByteStride
    • -
    • d3d1x: link to libdrm for X11 platform too
    • -
    • ureg: support centroid interpolation
    • -
    • d3d1x: support centroid interpolation
    • -
    • d3d1x: properly support specifying MipLevels as 0
    • -
    • d3d1x: put proper calling convention in headers, fixes 64-bit builds
    • -
    • d3d1x: rework DXGI for occlusion testing and default width/height
    • -
    • d3d1x: fix Map
    • -
    • d3d11: fix reference counting so devices get freed
    • -
    • d3d1x: work around crash in widl
    • -
    • glsl: Unroll loops with conditional breaks anywhere (not just the end)
    • -

    - -

    Lucas Stach (1): -

      -
    • nvfx: fill PIPE_CAP_PRIMITIVE_RESTART and PIPE_CAP_SHADER_STENCIL_EXPORT
    • -

    - -

    Marek Olšák (100): -

      -
    • r300g: prevent creating multiple winsys BOs for the same handle
    • -
    • r300g/swtcl: fix CS overrun
    • -
    • st/mesa: fix assertion failure in GetTexImage for cubemaps
    • -
    • util: make calling remove_from_list multiple times in a row safe
    • -
    • r300g: fixup long-lived BO maps being incorrectly unmapped when flushing
    • -
    • r300g: make accessing map_list and buffer_handles thread-safe
    • -
    • r300g: fix a copy-paste typo for logging
    • -
    • r300g: fix the border color for every format other than PIPE_FORMAT_B8G8R8A8
    • -
    • Build r300g by default
    • -
    • util: fix util_pack_color for B4G4R4A4
    • -
    • r300g: fix macrotiling on R350
    • -
    • r300g: code cleanups
    • -
    • r300/compiler: fix projective mapping of 2D NPOT textures
    • -
    • r300/compiler: do not use copy propagation if SaturateMode is used
    • -
    • r300/compiler: fix shadow sampling with swizzled coords
    • -
    • r300g: add support for 3D NPOT textures without mipmapping
    • -
    • r300g: fix swizzling of texture border color
    • -
    • configure.ac: look for libdrm_radeon before building gallium/r300,r600
    • -
    • configure.ac: do not build xorg-r300g by default
    • -
    • Makefile: ensure Gallium's Makefile.xorg and SConscript.dri are in the tarball
    • -
    • r300g: add support for formats beginning with X, like X8R8G8B8
    • -
    • r300g: fix conditional rendering in non-wait path
    • -
    • r300g: add support for R8G8 colorbuffers
    • -
    • r300g: add support for L8A8 colorbuffers
    • -
    • update release notes for Gallium
    • -
    • r300g: fix microtiling for 16-bits-per-channel formats
    • -
    • r300g: do not print get_param errors in non-debug build
    • -
    • r300g: say no to PIPE_CAP_STREAM_OUTPUT and PIPE_CAP_PRIMITIVE_RESTART
    • -
    • mesa: allow FBO attachments of formats LUMINANCE, LUMINANCE_ALPHA, and INTENSITY
    • -
    • r300g: fix texture border for 16-bits-per-channel formats
    • -
    • st/mesa: support RGBA16 and use it for RGBA12 as well
    • -
    • r300g: add a default channel ordering of texture border for unhandled formats
    • -
    • r300g: mention ATI in the renderer string
    • -
    • r300g: rename has_hyperz -> can_hyperz
    • -
    • r300g: turn magic numbers into names in the hyperz code
    • -
    • gallium: add CAPs for indirect addressing and lower it in st/mesa when needed
    • -
    • tgsi: fill out CAPs for indirect addressing
    • -
    • i915g: fill out CAPs for indirect addressing
    • -
    • i965g: fill out CAPs for indirect addressing
    • -
    • nv50: fill out CAPs for indirect addressing
    • -
    • nvfx: fill out CAPs for indirect addressing
    • -
    • r300g: fill out CAPs for indirect addressing
    • -
    • r600g: fill out CAPs for indirect addressing
    • -
    • svga: fill out CAPs for indirect addressing
    • -
    • r300g: fix texture border color for all texture formats
    • -
    • r300g: clean up redundancy in draw functions
    • -
    • r300g: return shader caps from Draw for SWTCL vertex shaders
    • -
    • r300g: remove the hack with OPCODE_RET
    • -
    • r300g: print FS inputs uninitialized due to hardware limits to stderr
    • -
    • r300g: fix rendering with no vertex elements
    • -
    • st/mesa: enable ARB_explicit_attrib_location and EXT_separate_shader_objects
    • -
    • docs: add GL 4.1 status
    • -
    • gallium: add PIPE_SHADER_CAP_SUBROUTINES
    • -
    • st/mesa: set MaxUniformComponents
    • -
    • u_blitter: use PIPE_TRANSFER_DISCARD to prevent cpu/gpu stall
    • -
    • r300/compiler: fix rc_rewrite_depth_out for it to work with any instruction
    • -
    • r300/compiler: remove duplicate function rc_mask_to_swz
    • -
    • r300/compiler: add a function for swizzling a mask
    • -
    • r300/compiler: move util functions to radeon_compiler_util
    • -
    • u_blitter: interpolate clear color using a GENERIC varying instead of COLOR
    • -
    • st/mesa: fix texture border color for RED and RG base formats
    • -
    • util: rename u_mempool -> u_slab
    • -
    • r300g: fix texture border color once again
    • -
    • r300/compiler: implement and lower OPCODE_CLAMP
    • -
    • ir_to_mesa: Add support for conditional discards.
    • -
    • r300g: fix texture swizzling with compressed textures on r400-r500
    • -
    • r300g: disable ARB_texture_swizzle if S3TC is enabled on r3xx-only
    • -
    • r300g: fix up cubemap texture offset computation
    • -
    • r300/compiler: disable the swizzle lowering pass in vertex shaders
    • -
    • r300g: fix build
    • -
    • r300g: use internal BO handle for add_buffer and write_reloc
    • -
    • r300g: implement simple transfer_inline_write for buffers
    • -
    • mesa, st/mesa: fix gl_FragCoord with FBOs in Gallium
    • -
    • r300g: fix pointer arithmetic with void* in transfer_inline_write
    • -
    • r300g: do not remove unused constants if we are not near the limit
    • -
    • r300g: add capability bit index_bias_supported
    • -
    • r300g: one more r500_index_bias_supported leftover
    • -
    • r300g: do not use the index parameter in set_constant_buffer
    • -
    • r300g: cleanup winsys
    • -
    • r300g: optimize looping over atoms
    • -
    • st/mesa: initialize key in st_vp_varient
    • -
    • u_blitter: use util_is_format_compatible in the assert
    • -
    • r300g: cache packet dwords of 3D_LOAD_VBPNTR in a command buffer if possible
    • -
    • r300g: validate buffers only if any of bound buffers is changed
    • -
    • r300g: also revalidate the SWTCL vertex buffer after its reallocation
    • -
    • r300/compiler: don't terminate regalloc if we surpass max temps limit
    • -
    • r300/compiler: add a function to query program stats (alu, tex, temps..)
    • -
    • r300/compiler: cleanup rc_run_compiler
    • -
    • r300/compiler: do not print pair/tex/presub program stats for vertex shaders
    • -
    • r300/compiler: handle DPH and XPD in rc_compute_sources_for_writemask
    • -
    • r300/compiler: make lowering passes possibly use up to two less temps
    • -
    • r300/compiler: remove at least unused immediates if externals cannot be removed
    • -
    • r300/compiler: fix LIT in VS
    • -
    • r300/compiler: fix swizzle lowering with a presubtract source operand
    • -
    • r300g: fix rendering with a vertex attrib having a zero stride
    • -
    • r300g: finally fix the texture corruption on r3xx-r4xx
    • -
    • r300g/swtcl: re-enable LLVM
    • -
    • r300g: mark vertex arrays as dirty after a buffer_offset change
    • -
    • mesa: fix texel store functions for some float formats
    • -
    • r300/compiler: disable the rename_regs pass for loops
    • -

    - -

    Mario Kleiner (1): -

      -
    • mesa/r300classic: Fix dri2Invalidate/radeon_prepare_render for page flipping.
    • -

    - -

    Mathias Fröhlich (3): -

      -
    • r300g: Avoid returning values in a static array, fixing a potential race
    • -
    • r600g: Only compare active vertex elements
    • -
    • st/mesa: Set PIPE_TRANSFER_DISCARD for GL_MAP_INVALIDATE_RANGE/BUFFFER_BIT
    • -

    - -

    Michal Krol (10): -

      -
    • svga: Fix relative addressing translation for pixel shaders.
    • -
    • svga: Integer constant register file has a separate namespace.
    • -
    • tgsi/exec: Cleanup the remaining arithmetic instructions.
    • -
    • tgsi/exec: Get rid of obsolete condition codes.
    • -
    • tgsi/build: Reduce interface clutter.
    • -
    • graw/gdi: Initial commit.
    • -
    • scons: Hook-up graw-gdi target.
    • -
    • graw/gdi: Fix window dimensions.
    • -
    • os: Open file streams in binary mode.
    • -
    • graw: Export graw_save_surface_to_file().
    • -

    - -

    Nicolas Kaiser (26): -

      -
    • swrast: remove duplicated include
    • -
    • egl: remove duplicated include
    • -
    • gallium/rtasm: remove duplicated include
    • -
    • gallium/util: remove duplicated include
    • -
    • gallium/i915: remove duplicated include
    • -
    • gallium/llvmpipe: remove duplicated include
    • -
    • gallium/softpipe: remove duplicated include
    • -
    • gallium/st: remove duplicated includes
    • -
    • gallium/winsys: remove duplicated include
    • -
    • glx: remove duplicated include
    • -
    • dri/common: remove duplicated include
    • -
    • dri/i810: remove duplicated include
    • -
    • dri/i915: remove duplicated include
    • -
    • dri/i965: remove duplicated include
    • -
    • dri/intel: remove duplicated include
    • -
    • dri/mga: remove duplicated include
    • -
    • dri/r128: remove duplicated include
    • -
    • dri/r300: remove duplicated include
    • -
    • dri/r600: remove duplicated include
    • -
    • dri/radeon: remove duplicated includes
    • -
    • dri/savage: remove duplicated include
    • -
    • main: remove duplicated includes
    • -
    • math: remove duplicated includes
    • -
    • st: remove duplicated include
    • -
    • i965g: use Elements macro instead of manual sizeofs
    • -
    • nv50: fix always true conditional in shader optimization
    • -

    - -

    Orion Poplawski (1): -

      -
    • osmesa: link against libtalloc
    • -

    - -

    Owen W. Taylor (1): -

      -
    • r600g: Fix location for clip plane registers
    • -

    - -

    Peter Clifton (3): -

      -
    • intel: Fix emit_linear_blit to use DWORD aligned width blits
    • -
    • intel: Add assert check for blitting alignment.
    • -
    • meta: Mask Stencil.Clear against stencilMax in _mesa_meta_Clear
    • -

    - -

    Robert Hooker (2): -

      -
    • intel: Add a new B43 pci id.
    • -
    • egl_dri2: Add missing intel chip ids.
    • -

    - -

    Roland Scheidegger (16): -

      -
    • gallivm: fix copy&paste bug
    • -
    • gallivm: don't use URem/UDiv when calculating offsets for blocks
    • -
    • gallivm: optimize yuv decoding
    • -
    • gallivm: fix trunc/itrunc comment
    • -
    • gallivm: faster iround implementation for sse2
    • -
    • gallivm: replace sub/floor/ifloor combo with ifloor_fract
    • -
    • gallivm: optimize some tex wrap mode calculations a bit
    • -
    • gallivm: more linear tex wrap mode calculation simplification
    • -
    • gallivm: avoid unnecessary URem in linear wrap repeat case
    • -
    • gallivm: optimize soa linear clamp to edge wrap mode a bit
    • -
    • gallivm: make use of new iround code in lp_bld_conv.
    • -
    • gallivm: fix different handling of [non]normalized coords in linear soa path
    • -
    • gallivm: only use lp_build_conv 4x4f -> 1x16 ub fastpath with sse2
    • -
    • r200: fix r200 large points
    • -
    • mesa: remove unneeded DD_POINT_SIZE and DD_LINE_WIDTH tricaps
    • -
    • gallium: support for array textures and related changes
    • -

    - -

    Shuang He (1): -

      -
    • mesa: allow GLfixed arrays for OpenGL ES 2.0
    • -

    - -

    Stephan Schmid (1): -

      -
    • r600g: fix relative addressing when splitting constant accesses
    • -

    - -

    Thomas Hellstrom (21): -

      -
    • st/xorg: Don't try to use option values before processing options
    • -
    • xorg/vmwgfx: Make vmwarectrl work also on 64-bit servers
    • -
    • st/xorg: Add a customizer option to get rid of annoying cursor update flicker
    • -
    • xorg/vmwgfx: Don't hide HW cursors when updating them
    • -
    • st/xorg: Don't try to remove invalid fbs
    • -
    • st/xorg: Fix typo
    • -
    • st/xorg, xorg/vmwgfx: Be a bit more frendly towards cross-compiling environments
    • -
    • st/xorg: Fix compilation errors for Xservers compiled without Composite
    • -
    • st/xorg: Don't use deprecated x*alloc / xfree functions
    • -
    • xorg/vmwgfx: Don't use deprecated x*alloc / xfree functions
    • -
    • st/xorg: Fix compilation for Xservers >= 1.10
    • -
    • mesa: Make sure we have the talloc cflags when using the talloc headers
    • -
    • egl: Add an include for size_t
    • -
    • mesa: Add talloc includes for gles
    • -
    • st/egl: Fix build for include files in nonstandard places
    • -
    • svga/drm: Optionally resolve calls to powf during link-time
    • -
    • gallium/targets: Trivial crosscompiling fix
    • -
    • st/xorg: Add a function to flush pending rendering and damage
    • -
    • gallium/targets/xorg-vmwgfx: Xv fixes
    • -
    • xorg/vmwgfx: Flush even if we don't autopaint the color key
    • -
    • xorg/vmwgfx: Don't clip video to viewport
    • -

    - -

    Tilman Sauerbeck (35): -

      -
    • r600g: Fixed a bo leak in r600_blit_state_ps_shader().
    • -
    • r600g: Use clamped math for RCP and RSQ.
    • -
    • r600g: Formatting fixes.
    • -
    • r600g: Added DB_SHADER_CONTROL defines.
    • -
    • r600g: Only set PA_SC_EDGERULE on rv770 and greater.
    • -
    • r600g: Enable PIPE_SHADER_CAP_TGSI_CONT_SUPPORTED.
    • -
    • r600g: Fixed the shift in S_02880C_KILL_ENABLE.
    • -
    • glsl2: Empty functions can be inlined.
    • -
    • glsl2: Fixed cloning of ir_call error instructions.
    • -
    • r600g: Added support for TGSI_SEMANTIC_FACE.
    • -
    • gallium/docs: Fixed a typo in the SCS opcode description.
    • -
    • r600g: Honour destination operand's writemask in the SCS implementation.
    • -
    • r600g: Implemented the Z and W component write for the SCS opcode.
    • -
    • python/tests: Fixed tri.py for API and TGSI syntax changes.
    • -
    • r600g: Removed debug code.
    • -
    • gallium/docs: The RET opcode may appear anywhere in a subroutine.
    • -
    • r600g: Destroy the blitter.
    • -
    • r600g: Fixed two texture surface leaks in r600_blit_uncompress_depth().
    • -
    • r600g: Cleaned up index buffer reference handling in the draw module.
    • -
    • r600g: Fixed r600_vertex_element leak.
    • -
    • r600g: Added r600_pipe_shader_destroy().
    • -
    • r600g: Also clear bc data when we're destroying a shader.
    • -
    • r600g: In radeon_bo(), call LIST_INITHEAD early.
    • -
    • r600g: Destroy the blitter.
    • -
    • r600g: Removed unused 'ptr' argument from radeon_bo().
    • -
    • r600g: Made radeon_bo_pb_map_internal() actually call radeon_bo_map().
    • -
    • r600g: Fixed unmap condition in radeon_bo_pb_destroy().
    • -
    • r600g: Made radeon_bo::map_count signed.
    • -
    • r600g: We don't support PIPE_CAP_PRIMITIVE_RESTART.
    • -
    • r600g: Delete custom_dsa_flush on shutdown.
    • -
    • r600g: Fixed two memory leaks in winsys.
    • -
    • r600g: Destroy the winsys in r600_destroy_screen().
    • -
    • st/mesa: Reset the index buffer before destroying the pipe context.
    • -
    • st/mesa: Reset the constant buffers before destroying the pipe context.
    • -
    • r600g: Removed duplicated call to tgsi_split_literal_constant().
    • -

    - -

    Timo Wiren (1): -

      -
    • Fix typos in comments and debug output strings.
    • -

    - -

    Tom Fogal (3): -

      -
    • Implement x86_64 atomics for compilers w/o intrinsics.
    • -
    • Prefer intrinsics to handrolled atomic ops.
    • -
    • Revert "Prefer intrinsics to handrolled atomic ops."
    • -

    - -

    Tom Stellard (32): -

      -
    • r300/compiler: Refactor the pair instruction data structures
    • -
    • r300g: Always try to build libr300compiler.a
    • -
    • r300/compiler: Fix two mistakes in the presubtract optimization pass.
    • -
    • r300/compiler: Add more helper functions for iterating through sources
    • -
    • r300/compiler: Print immediate values after "dead constants" pass
    • -
    • r300/compiler: radeon_remove_constants.c: fix indentation
    • -
    • r300/compiler: Use rc_for_all_reads_src() in "dead constants" pass
    • -
    • r300/compiler: Fix segfault in error path
    • -
    • r300/compiler: Don't use rc_error() unless the error is unrecoverable
    • -
    • r300/compiler: Don't merge instructions that write output regs and ALU result
    • -
    • r300/compiler: Create a helper function for merging presubtract sources
    • -
    • r300/compiler: Fix incorrect assumption
    • -
    • r300/compiler: Clear empty registers after constant folding
    • -
    • r300/compiler: Add a new function for more efficient dataflow analysis
    • -
    • r300g: Add new debug option for logging vertex/fragment program stats
    • -
    • r300/compiler: Use rc_get_readers_normal() for presubtract optimizations
    • -
    • r300/compiler: Don't clobber presubtract sources during optimizations
    • -
    • r300/compiler: Don't track readers into an IF block.
    • -
    • r300/compiler: Make sure presubtract sources use supported swizzles
    • -
    • r300/compiler: Fix register allocator's handling of loops
    • -
    • r300/compiler: Fix instruction scheduling within IF blocks
    • -
    • r300/compiler: Use zero as the register index for unused sources
    • -
    • r300/compiler: Ignore alpha dest register when replicating the result
    • -
    • r300/compiler: Add rc_get_readers()
    • -
    • r300/compiler: Handle BREAK and CONTINUE in rc_get_readers()
    • -
    • r300/compiler: Track readers through branches in rc_get_readers()
    • -
    • r300/compiler: Convert RGB to alpha in the scheduler
    • -
    • r300/compiler: Use presubtract operations as much as possible
    • -
    • r300/compiler: Enable rename_reg pass for r500 cards
    • -
    • r300/compiler: Add a more efficient version of rc_find_free_temporary()
    • -
    • r300/compiler: Don't allow presubtract sources to be remapped twice
    • -
    • r300/compiler: Fix black terrain in Civ4
    • -

    - -

    Victor Tseng (1): -

      -
    • egl/i965: include inline_wrapper_sw_helper.h
    • -

    - -

    Viktor Novotný (6): -

      -
    • dri/nouveau: Import headers from rules-ng-ng
    • -
    • dri/nouveau: nv04: Use rules-ng-ng headers
    • -
    • dri/nouveau: nv10: Use rules-ng-ng headers
    • -
    • dri/nouveau nv20: Use rules-ng-ng headers
    • -
    • dri/nouveau: Remove nouveau_class.h, finishing switch to rules-ng-ng headers
    • -
    • dri/nouveau: Clean up magic numbers in get_rt_format
    • -

    - -

    Vinson Lee (214): -

      -
    • llvmpipe: Remove unnecessary header.
    • -
    • r600g: Remove unnecessary headers.
    • -
    • mesa: Include missing header in program.h.
    • -
    • glsl: Fix 'format not a string literal and no format arguments' warning.
    • -
    • r600g: Silence uninitialized variable warning.
    • -
    • r600g: Silence uninitialized variable warning.
    • -
    • nvfx: Silence uninitialized variable warnings.
    • -
    • r600g: Silence uninitialized variable warning.
    • -
    • r600g: Silence uninitialized variable warning.
    • -
    • r600g: Silence uninitialized variable warning.
    • -
    • r600g: Silence unused variable warning.
    • -
    • nv50: Update files in SConscript to match Makefile.
    • -
    • nv50: Remove unnecessary headers.
    • -
    • nv50: Silence uninitialized variable warning.
    • -
    • nv50: Silence uninitialized variable warning.
    • -
    • nv50: Silence uninitialized variable warning.
    • -
    • gallivm: Remove unnecessary headers.
    • -
    • draw: Remove unnecessary header.
    • -
    • nv50: Silence uninitialized variable warnings.
    • -
    • nv50: Fix 'control reaches end of non-void function' warning.
    • -
    • mesa/st: Silence uninitialized variable warning.
    • -
    • gallivm: Remove unnecessary header.
    • -
    • r600g: Remove unnecessary header.
    • -
    • r600g: Remove unnecessary headers.
    • -
    • r600g: Fix implicit declaration warning.
    • -
    • r600g: Fix memory leak on error path.
    • -
    • r600g: Silence uninitialized variable warning.
    • -
    • r600g: Silence unused variable warnings.
    • -
    • mesa: bump version to 7.10
    • -
    • ir_to_mesa: Remove unused member array_indexed from struct statevar_element.
    • -
    • mesa: Silence "'valid_texture_object' defined but not used" warning.
    • -
    • x86: Silence unused variable warning on Mac OS X.
    • -
    • glsl: Fix 'control reaches end of non-void function' warning.
    • -
    • nvfx: Remove const qualifer from nvfx_vertprog_translate.
    • -
    • nvfx: Silence uninitialized variable warnings.
    • -
    • r600g: Remove unused variable.
    • -
    • nv50: Silence missing initializer warning.
    • -
    • nv50: Remove dead initialization.
    • -
    • nv50: Remove dead initialization.
    • -
    • tgsi: Remove duplicate case value.
    • -
    • glut: Define markWindowHidden for non-Windows only.
    • -
    • glut: Define eventParser for non-Windows only.
    • -
    • r300g: Silence uninitialized variable warning.
    • -
    • intel: Fix implicit declaration of function '_mesa_meta_Bitmap' warning.
    • -
    • mesa: Remove unnecessary headers.
    • -
    • r600g: Remove unnecessary header.
    • -
    • unichrome: Remove unnecessary header.
    • -
    • intel: Remove unnecessary headers.
    • -
    • r600g: Remove unused variable.
    • -
    • r600g: Disable unused variables.
    • -
    • r600g: Remove unused variable.
    • -
    • r600g: Silence 'control reaches end of non-void function' warning.
    • -
    • r600g: Remove unused variable.
    • -
    • r600g: Remove unused variable.
    • -
    • r600g: Disable unused variables.
    • -
    • intel: Remove unnecessary header.
    • -
    • st/dri: Remove unnecessary header.
    • -
    • r600g: Remove unused variable.
    • -
    • r300g: Remove unused variable.
    • -
    • r600g: Don't return a value in function returning void.
    • -
    • r600g: Remove unused variables.
    • -
    • r600g: Include p_compiler.h instead of malloc.h.
    • -
    • r600g: Silence uninitialized variable warnings.
    • -
    • scons: Add MinGW-w64 prefixes for MinGW build.
    • -
    • dri: Add GET_PROGRAM_NAME definition for Mac OS X.
    • -
    • scons: Add program/sampler.cpp to SCons build.
    • -
    • mesa: Fix printf format warning.
    • -
    • mesa: Fix printf format warning.
    • -
    • mesa: Fix printf format warning.
    • -
    • r300/compiler: Move declaration before code.
    • -
    • r300/compiler: Move declaration before code.
    • -
    • r300/compiler: Move declaration before code.
    • -
    • r300/compiler: Move declaration before code.
    • -
    • r600g: Update SConscript.
    • -
    • r300/compiler: Move declaration before code.
    • -
    • r600g: Update SConscript.
    • -
    • r300/compiler: Move declaration before code.
    • -
    • r600g: Update SConscript.
    • -
    • r300/compiler: Move declaration before code.
    • -
    • r600g: Fix SCons build.
    • -
    • r300/compiler: Move declaration before code.
    • -
    • r300/compiler: Move declaration before code.
    • -
    • r300/compiler: Move declaration before code.
    • -
    • r300/compiler: Remove declaration before code.
    • -
    • r300/compiler: Move declaration before code.
    • -
    • r300/compiler: Move declaration before code.
    • -
    • r300/compiler: Move declaration before code.
    • -
    • r300/compiler: Move declaration before code.
    • -
    • glsl: Remove unnecessary header.
    • -
    • savage: Remove unnecessary header.
    • -
    • r600g: Remove unused variable.
    • -
    • r600g: Remove unnecessary headers.
    • -
    • r600g: Fix SCons build.
    • -
    • r600g: Remove unnecessary header.
    • -
    • gallivm: Remove unnecessary header.
    • -
    • r600g: Silence uninitialized variable warning.
    • -
    • r600g: Silence uninitialized variable warning.
    • -
    • r600g: Silence uninitialized variable warning.
    • -
    • i915: Silence unused variable warning in non-debug builds.
    • -
    • i915: Silence unused variable warning in non-debug builds.
    • -
    • i965: Silence unused variable warning on non-debug builds.
    • -
    • i965: Silence unused variable warning on non-debug builds.
    • -
    • i965: Initialize member variables.
    • -
    • r300: Silence uninitialized variable warning.
    • -
    • tdfx: Silence unused variable warning on non-debug builds.
    • -
    • gallivm: Remove unnecessary header.
    • -
    • glsl: Initialize variable in ir_derefence_array::constant_expression_value
    • -
    • mesa: Add missing header to shaderobj.h.
    • -
    • llvmpipe: Return non-zero exit code for lp_test_round failures.
    • -
    • r300/compiler: Remove unused variable.
    • -
    • st/xorg: Fix memory leak on error path.
    • -
    • llvmpipe: Initialize state variable in debug_bin function.
    • -
    • llvmpipe: Initialize variable.
    • -
    • draw: Move loop variable declaration outside for loop.
    • -
    • r600g: Ensure r600_src is initialized in tgsi_exp function.
    • -
    • glsl: Add assert for unhandled ir_shader case.
    • -
    • swrast: Print out format on unexpected failure in _swrast_DrawPixels.
    • -
    • llvmpipe: Remove unnecessary header.
    • -
    • draw: Remove unnecessary header.
    • -
    • gallivm: Silence uninitialized variable warnings.
    • -
    • gallivm: Silence uninitialized variable warnings.
    • -
    • gallivm: Silence uninitialized variable warning.
    • -
    • r300g: Silence uninitialized variable warning.
    • -
    • mesa: Remove unnecessary headers.
    • -
    • r600g: Silence uninitialized variable warnings.
    • -
    • st/mesa: Remove unnecessary header.
    • -
    • mesa: Remove unnecessary header.
    • -
    • egl: Remove unnecessary headers.
    • -
    • swrast: Print out format on unexpected failure in _swrast_ReadPixels.
    • -
    • st/mesa: Silence uninitialized variable warning.
    • -
    • savage: Remove unnecessary header.
    • -
    • st/vega: Remove unnecessary headers.
    • -
    • dri/nouveau: Silence uninitialized variable warning.
    • -
    • r300/compiler: Move declaration before code.
    • -
    • r300/compiler: Move declaration before code.
    • -
    • i965: Silence uninitialized variable warning.
    • -
    • i965: Silence uninitialized variable warning.
    • -
    • mesa: Clean up header file inclusion in accum.h.
    • -
    • mesa: Clean up header file inclusion in version.h.
    • -
    • mesa: Clean up header file inclusion in api_loopback.h.
    • -
    • mesa: Clean up header file inclusion in api_validate.h.
    • -
    • mesa: Include mfeatures.h in api_loopback for FEATURE_beginend.
    • -
    • mesa: Include mfeatures.h in api_validate.c for FEATURE_* symbols.
    • -
    • mesa: Clean up header file inclusion in arrayobj.h.
    • -
    • mesa: Clean up header file inclusion in atifragshader.h.
    • -
    • mesa: Clean up header file inclusion in attrib.h.
    • -
    • mesa: Clean up header file inclusion in blend.h.
    • -
    • mesa: Clean up header file inclusion in buffers.h.
    • -
    • mesa: Clean up header file inclusion in colortab.h.
    • -
    • mesa: Clean up header file inclusion in convolve.h.
    • -
    • mesa: Clean up header file inclusion in debug.h.
    • -
    • mesa: Clean up header file inclusion in depth.h.
    • -
    • mesa: Clean up header file inclusion in depthstencil.h.
    • -
    • mesa: Clean up header file inclusion in drawpix.h.
    • -
    • mesa: Clean up header file inclusion in drawtex.h.
    • -
    • mesa: Clean up header file inclusion in enable.h.
    • -
    • mesa: Clean up header file inclusion in extensions.h.
    • -
    • graw: Add struct pipe_surface forward declaration.
    • -
    • mesa: Clean up header file inclusion in fbobject.h.
    • -
    • mesa: Clean up header file inclusion in ffvertex_prog.h.
    • -
    • mesa: Clean up header file inclusion in fog.h.
    • -
    • mesa: Clean up header file inclusion in framebuffer.h.
    • -
    • mesa: Clean up header file inclusion in hint.h.
    • -
    • mesa: Clean up header file inclusion in histogram.h.
    • -
    • mesa: Clean up header file inclusion in image.h.
    • -
    • mesa: Add missing header and forward declarations in dd.h.
    • -
    • mesa: Clean up header file inclusion in light.h.
    • -
    • mesa: Clean up header file inclusion in lines.h.
    • -
    • mesa: Clean up header file inclusion in matrix.h.
    • -
    • mesa: Clean up header file inclusion in multisample.h.
    • -
    • mesa: Clean up header file inclusion in nvprogram.h.
    • -
    • winsys/xlib: Add cygwin to SConscript.
    • -
    • mesa: Clean up header file inclusion in pixel.h.
    • -
    • mesa: Clean up header file inclusion in pixelstore.h.
    • -
    • mesa: Fix printf format warnings.
    • -
    • mesa: Clean up header file inclusion in points.h.
    • -
    • i965: Silence uninitialized variable warning.
    • -
    • glsl: Add ir_constant_expression.cpp to SConscript.
    • -
    • mesa: Add definitions for inverse hyperbolic function on MSVC.
    • -
    • glsl: Fix 'control reaches end of non-void function' warning.
    • -
    • glsl: Add lower_vector.cpp to SConscript.
    • -
    • glsl: Fix type of label 'default' in switch statement.
    • -
    • st/mesa: Remove unnecessary headers.
    • -
    • swrast: Remove unnecessary header.
    • -
    • r600: Remove unnecesary header.
    • -
    • intel: Remove unnecessary header.
    • -
    • mesa: Clean up header file inclusion in polygon.h.
    • -
    • mesa: Clean up header file inclusion in rastpos.h.
    • -
    • mesa: Clean up header file inclusion in readpix.h.
    • -
    • mesa: Clean up header file inclusion in renderbuffer.h.
    • -
    • mesa: Clean up header file inclusion in scissor.h.
    • -
    • mesa: Clean up header file inclusion in shaderapi.h.
    • -
    • mesa: Clean up header file inclusion in shared.h.
    • -
    • mesa: Clean up header file inclusion in stencil.h.
    • -
    • r600: Remove unnecessary header.
    • -
    • llvmpipe: Remove unnecessary headers.
    • -
    • mesa: Clean up header file inclusion in syncobj.h.
    • -
    • r300/compiler: Move declaration before code.
    • -
    • r300/compiler: Move declaration before code.
    • -
    • mesa: Clean up header file inclusion in texcompress.h.
    • -
    • st/vega: Silence uninitialized variable warning.
    • -
    • mesa: Clean up header file inclusion in texcompress_s3tc.h.
    • -
    • mesa: Clean up header file inclusion in texenvprogram.h.
    • -
    • mesa: Clean up header file inclusion in texformat.h.
    • -
    • mesa: Clean up header file inclusion in texgetimage.h.
    • -
    • mesa: Clean up header file inclusion in texobj.h.
    • -
    • gallium/noop: Add prototype for noop_init_state_functions.
    • -
    • mesa: Clean up header file inclusion in texrender.h.
    • -
    • mesa: Clean up header file inclusion in transformfeedback.h.
    • -
    • mesa: Clean up header file inclusion in varray.h.
    • -
    • mesa: Clean up header file inclusion in viewport.h.
    • -
    • r200: Silence uninitialized variable warning.
    • -
    • r600g: Fix SCons build.
    • -
    • i965: Silence uninitialized variable warning.
    • -

    - -

    Xavier Chantry (8): -

      -
    • nv50: fix size of outputs_written array
    • -
    • nv50: apply layout_mask to tile_flags
    • -
    • nvfx: only expose one rt on nv30
    • -
    • nvfx: fb->nr_cbufs <= 1 on nv30
    • -
    • nvfx: reset nvfx->hw_zeta
    • -
    • nvfx: fixes after array textures merge
    • -
    • init ps->context with util_surfaces_get and do_get
    • -
    • gallium/trace: check bind_vertex_sampler_states and set_vertex_sampler_views
    • -

    - -

    Xiang, Haihao (10): -

      -
    • mesa: fix regression from b4bb6680200b5a898583392f4c831c02f41e63f7
    • -
    • i965: add support for polygon mode on Sandybridge.
    • -
    • i965: fix for flat shading on Sandybridge
    • -
    • i965: set minimum/maximum Point Width on Sandybridge
    • -
    • meta: allow nested meta operations
    • -
    • i965: support for two-sided lighting on Sandybridge
    • -
    • i965: fix register region description
    • -
    • i965: use align1 access mode for instructions with execSize=1 in VS
    • -
    • i965: don't spawn GS thread for LINELOOP on Sandybridge
    • -
    • i965: use BLT to clear buffer if possible on Sandybridge
    • -

    - -

    Zack Rusin (8): -

      -
    • rbug: fix rbug when contexts are being destroyed
    • -
    • llvmpipe: fix rasterization of vertical lines on pixel boundaries
    • -
    • scons: build the xorg state trackers only when env includes drm
    • -
    • gallivm: implement indirect addressing of the output registers
    • -
    • gallivm: implement indirect addressing over inputs
    • -
    • gallivm: fix storing of the addr register
    • -
    • scons: add alias for identity
    • -
    • gallium/util: add states relevant to geometry shaders
    • -

    - -

    Zhenyu Wang (40): -

      -
    • i965: disasm quarter and write enable instruction control on sandybridge
    • -
    • i965: new state dump for sandybridge
    • -
    • i965: enable accumulator update in PS kernel too on sandybridge
    • -
    • i965: Fix color interpolation on sandybridge
    • -
    • i965: force zero in clipper to ignore RTAIndex on sandybridge
    • -
    • i965: fix point size setting in header on sandybridge
    • -
    • i965: ff sync message change for sandybridge
    • -
    • i965: ignore quads for GS kernel on sandybridge
    • -
    • i965: add sandybridge viewport state bo into validation list
    • -
    • i965: VS use SPF mode on sandybridge for now
    • -
    • i965: fix jump count on sandybridge
    • -
    • i965: Fix sampler on sandybridge
    • -
    • i965: fix const register count for sandybridge
    • -
    • i965: Add all device ids for sandybridge
    • -
    • i965: sandybridge pipe control workaround before write cache flush
    • -
    • i965: only allow SIMD8 kernel on sandybridge now
    • -
    • i965: don't do calculation for delta_xy on sandybridge
    • -
    • i965: fix pixel w interpolation on sandybridge
    • -
    • i965: enable polygon offset on sandybridge
    • -
    • i965: fix scissor state on sandybridge
    • -
    • i965: fix point sprite on sandybridge
    • -
    • i965: fix occlusion query on sandybridge
    • -
    • i965: fallback bitmap operation on sandybridge
    • -
    • i965: Always set tiling for depth buffer on sandybridge
    • -
    • i965: fallback lineloop on sandybridge for now
    • -
    • Revert "i965: Always set tiling for depth buffer on sandybridge"
    • -
    • i965: always set tiling for fbo depth buffer on sandybridge
    • -
    • i965: Fix GS hang on Sandybridge
    • -
    • Revert "i965: fallback lineloop on sandybridge for now"
    • -
    • i965: refresh wm push constant also for BRW_NEW_FRAMENT_PROGRAM on gen6
    • -
    • i965: fix dest type of 'endif' on sandybridge
    • -
    • Revert "i965: VS use SPF mode on sandybridge for now"
    • -
    • i965: also using align1 mode for math2 on sandybridge
    • -
    • i965: Fix GS state uploading on Sandybridge
    • -
    • i965: upload WM state for _NEW_POLYGON on sandybridge
    • -
    • i965: Use MI_FLUSH_DW for blt ring flush on sandybridge
    • -
    • i965: explicit tell header present for fb write on sandybridge
    • -
    • i965: Fix occlusion query on sandybridge
    • -
    • i965: Use last vertex convention for quad provoking vertex on sandybridge
    • -
    • i965: Fix provoking vertex select in clip state for sandybridge
    • -

    - -

    Zou Nan hai (1): -

      -
    • i965: skip too small size mipmap
    • -

    - -

    delphi (2): -

      -
    • draw: added userclip planes and updated variant_key
    • -
    • draw: some changes to allow for runtime changes to userclip planes
    • -

    - -

    nobled (3): -

      -
    • r300g: Abort if atom allocations fail
    • -
    • r300g: Abort if draw_create() fails
    • -
    • r300g: Drop unnecessary cast
    • -

    - -

    pontus lidman (1): -

      -
    • mesa: check for posix_memalign() errors
    • -

    - -

    richard (2): -

      -
    • evergreen : fix z format setting, enable stencil.
    • -
    • r600c : inline vertex format is not updated in an app, switch to use vfetch constants. For the 7.9 and 7.10 branches as well.
    • -

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

    Mesa 7.10 Release Notes / January 7, 2011

    + +

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

    +

    +Mesa 7.10 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

    +
    +0a70c15c135561824bdcae92bf232e43  MesaLib-7.10.tar.gz
    +33fb94eccc02cbb4d8d1365615e38e46  MesaLib-7.10.tar.bz2
    +5cafdc0eda0f9bf370b95c98df3338fa  MesaLib-7.10.zip
    +bc644be551ed585fc4f66c16b64a91c9  MesaGLUT-7.10.tar.gz
    +5c2677a155672352d62b177e4f0f92e8  MesaGLUT-7.10.tar.bz2
    +2ce5001f74496d1ba719ef74d910a5cf  MesaGLUT-7.10.zip
    +
    + + +

    New features

    +
      +
    • GL_ARB_explicit_attrib_location extension (Intel and software drivers). +
    • GL_ARB_texture_rg (Intel, software drivers, gallium drivers). +
    • GL_EXT_separate_shader_objects extension (Intel and software drivers). +
    • GL_NV_primitive_restart extension (Gallium softpipe, llvmpipe). +
    • New fragment shader back-end for i965-class hardware. +
    • Support for Sandybridge chipset in i965 DRI driver. +
    + + +

    Bug fixes

    +

    This list is likely incomplete.

    +
      +
    • Bug 28800 - [r300c, r300g] Texture corruption with World of Warcraft
    • + +
    • Bug 29420 - Amnesia / HPL2 RendererFeatTest - not rendering correctly
    • + +
    • Bug 29946 - [swrast] piglit valgrind glsl-array-bounds-04 fails
    • + +
    • Bug 30261 - [GLSL 1.20] allowing inconsistent invariant declaration between two vertex shaders
    • + +
    • Bug 30632 - [softpipe] state_tracker/st_manager.c:489: st_context_notify_invalid_framebuffer: Assertion `stfb && stfb->iface == stfbi' failed.
    • + +
    • Bug 30694 - wincopy will crash on Gallium drivers when going to front buffer
    • + +
    • Bug 30771 - [r600g] vert-tex glsl demo
    • + +
    • Bug 30787 - Invalid asm shader does not generate draw-time error when used with GLSL shader
    • + +
    • Bug 30974 - [llvmpipe] SIGABRT src/gallium/drivers/llvmpipe/lp_state_fs.c:779
    • + +
    • Bug 30993 - getFramebufferAttachmentParameteriv wrongly generates error
    • + +
    • Bug 31101 - [glsl2] abort() in ir_validate::visit_enter(ir_assignment *ir)
    • + +
    • Bug 31193 - [regression] aa43176e break water reflections
    • + +
    • Bug 31194 - The mesa meta save/restore code doesn't ref the current GLSL program
    • + +
    • Bug 31371 - glslparsertest: ir.cpp:358: ir_constant::ir_constant(const glsl_type*, const ir_constant_data*): Assertion `(type->base_type >= 0) && (type->base_type <= 3)' failed.
    • + +
    • Bug 31439 - Crash in glBufferSubData() with size == 0
    • + +
    • Bug 31495 - [i965 gles2c bisected] OpenGL ES 2.0 conformance GL2Tests_GetBIFD_input.run regressed
    • + +
    • Bug 31514 - isBuffer returns true for unbound buffers
    • + +
    • Bug 31560 - [tdfx] tdfx_tex.c:702: error: ‘const struct gl_color_table’ has no member named ‘Format’
    • + +
    • Bug 31617 - Radeon/Compiz: 'failed to attach dri2 front buffer', error case not handled
    • + +
    • Bug 31648 - [GLSL] array-struct-array gets assertion: `(size >= 1) && (size <= 4)' failed.
    • + +
    • Bug 31650 - [GLSL] varying gl_TexCoord fails to be re-declared to different size in the second shader
    • + +
    • Bug 31673 - GL_FRAGMENT_PRECISION_HIGH preprocessor macro undefined in GLSL ES
    • + +
    • Bug 31690 - i915 shader compiler fails to flatten if in Aquarium webgl demo.
    • + +
    • Bug 31832 - [i915] Bad renderbuffer format: 21
    • + +
    • Bug 31841 - [drm:radeon_cs_ioctl] *ERROR* Invalid command stream !
    • + +
    • Bug 31894 - Writing to gl_PointSize with GLES2 corrupts other varyings
    • + +
    • Bug 31909 - [i965] brw_fs.cpp:1461: void fs_visitor::emit_bool_to_cond_code(ir_rvalue*): Assertion `expr->operands[i]->type->is_scalar()' failed.
    • + +
    • Bug 31934 - [gallium] Mapping empty buffer object causes SIGSEGV
    • + +
    • Bug 31983 - [i915 gles2] "if (expression with builtin/varying variables) discard" breaks linkage
    • + +
    • Bug 31985 - [GLSL 1.20] initialized uniform array considered as "unsized"
    • + +
    • Bug 31987 - [gles2] if input a wrong pname(GL_NONE) to glGetBoolean, it will not case GL_INVALID_ENUM
    • + +
    • Bug 32035 - [GLSL bisected] comparing unsized array gets segfault
    • + +
    • Bug 32070 - llvmpipe renders stencil demo incorrectly
    • + +
    • Bug 32273 - assertion fails when starting vdrift 2010 release with shaders enabled
    • + +
    • Bug 32287 - [bisected GLSL] float-int failure
    • + +
    • Bug 32311 - [965 bisected] Array look-ups broken on GM45
    • + +
    • Bug 32520 - [gles2] glBlendFunc(GL_ZERO, GL_DST_COLOR) will result in GL_INVALID_ENUM
    • + +
    • Bug 32825 - egl_glx driver completely broken in 7.9 branch [fix in master]
    • + +
    • Bug -
    • + +
    • Bug -
    • + +
    + + +

    Changes

    +

    Adam Jackson (2): +

      +
    • i965: Update renderer strings for sandybridge
    • +
    • drivers/x11: unifdef XFree86Server
    • +

    + +

    Alex Deucher (30): +

      +
    • r600c: fix mipmap stride on evergreen
    • +
    • r600c: add reloc for CB_COLOR0_ATTRIB
    • +
    • r600c: pull over 6xx/7xx vertex fixes for evergreen
    • +
    • r600c: fix segfault in evergreen stencil code
    • +
    • r100: revalidate after radeon_update_renderbuffers
    • +
    • r600c: add missing radeon_prepare_render() call on evergreen
    • +
    • r600c: properly align mipmaps to group size
    • +
    • egl_dri2: Add radeon chip ids
    • +
    • r600c/evergreen: texture align is group_bytes just like 6xx/7xx
    • +
    • r600g: fix buffer alignment
    • +
    • r600g: All EVENT_WRITE packets need the EVENT_INDEX field
    • +
    • r600g: translate ARR instruction for evergreen
    • +
    • r600g: use meaningful defines for chiprev
    • +
    • r600g: use full range of VS resources for vertex samplers
    • +
    • r600g: fix additional EVENT_WRITE packet
    • +
    • r600g: fix some winsys functions to deal properly with evergreen
    • +
    • r600c: add Ontario Fusion APU support
    • +
    • r600g: add support for ontario APUs
    • +
    • r600c: fix VC flush on cedar and palm
    • +
    • gallium/egl: fix r300 vs r600 loading
    • +
    • r600c: fix some opcodes on evergreen
    • +
    • r600c: bump texture limits to hw limits
    • +
    • r600g: bump texture/cb limits appropriately for evergreen
    • +
    • radeon: bump mip tree levels to 15
    • +
    • r600g: fix rendering with a vertex attrib having a zero stride
    • +
    • r600g: remove useless switch statements
    • +
    • r600g: add support for NI (northern islands) asics
    • +
    • r600c: add support for NI asics
    • +
    • r600g: support up to 64 shader constants
    • +
    • r600c: fix up SQ setup in blit code for Ontario/NI
    • +

    + +

    Andre Maasikas (3): +

      +
    • r600c: fix buffer height setting in dri2 case
    • +
    • r600g: break alu clause earlier
    • +
    • r600g: fix evergreen interpolation setup
    • +

    + +

    Andrew Randrianasulu (2): +

      +
    • dri/nv04: Don't expose ARB_texture_env_combine/dot3.
    • +
    • dri/nv04: Enable eng3dm for A8/L8 textures.
    • +

    + +

    Aras Pranckevicius (2): +

      +
    • glsl: fix crash in loop analysis when some controls can't be determined
    • +
    • glsl: fix matrix type check in ir_algebraic
    • +

    + +

    Bas Nieuwenhuizen (3): +

      +
    • r600g: set ENABLE_KILL in the shader state in the new design
    • +
    • r600g: set ENABLE_KILL on evergreen too
    • +
    • r600g: use dirty list to track dirty blocks
    • +

    + +

    Ben Skeggs (3): +

      +
    • nv50: DST
    • +
    • nv50: DPH
    • +
    • nv50: silence some unknown get_param warnings
    • +

    + +

    Benjamin Franzke (2): +

      +
    • st/egl image: multiply drm buf-stride with blocksize
    • +
    • r600g: implement texture_get_handle (needed for eglExportDRMImageMESA)
    • +

    + +

    Brian Paul (296): +

      +
    • glx: add const qualifiers to __indirect_glMultiDrawArraysEXT()
    • +
    • glsl2: fix signed/unsigned comparison warning
    • +
    • llvmpipe: cast to silence warning
    • +
    • llvmpipe: s/boolean/unsigned/ in bitfield to silence warning
    • +
    • nv50: use unsigned int for bitfields to silence warnings
    • +
    • tgsi: fix incorrect usage_mask for shadow tex instructions
    • +
    • gallivm: expand AoS sampling to cover all filtering modes
    • +
    • gallivm: fix incorrect vector shuffle datatype
    • +
    • gallivm: move i32_vec_type inside the #ifdef
    • +
    • mesa: include mfeatures.h in formats.c
    • +
    • gallivm: fix wrong return value in bitwise functions
    • +
    • tgsi/sse: fix aos_to_soa() loop to handle num_inputs==0
    • +
    • gallivm: added missing case for PIPE_TEXTURE_RECT
    • +
    • gallium: better docs for pipe_rasterizer_state::sprite_coord_enable
    • +
    • gallium: rework handling of sprite_coord_enable state
    • +
    • gallium/docs: added new pipeline.txt diagram
    • +
    • mesa: don't call valid_texture_object() in non-debug builds
    • +
    • glsl2: silence compiler warnings in printf() calls
    • +
    • docs: remove old broken link
    • +
    • docs: mark as obsolete, remove dead links
    • +
    • llvmpipe: fix query bug when no there's no scene
    • +
    • gallivm: remove debug code
    • +
    • llvmpipe: maintain fragment shader state for draw module
    • +
    • llvmpipe: indentation fix
    • +
    • llvmpipe: reformatting, remove trailing whitespace, etc
    • +
    • llvmpipe: clean-up, comments in setup_point_coefficient()
    • +
    • llvmpipe: rename sprite field, add sprite_coord_origin
    • +
    • llvmpipe: implement sprite coord origin modes
    • +
    • draw: fix test for using the wide-point stage
    • +
    • llvmpipe: check bitshift against PIPE_MAX_SHADER_OUTPUTS
    • +
    • draw: check bitshift against PIPE_MAX_SHADER_OUTPUS
    • +
    • Merge branch 'sprite-coord'
    • +
    • draw: new draw_fs.[ch] files
    • +
    • glsl2: fix typo in error msg
    • +
    • gallivm: fix lp_build_sample_compare()
    • +
    • softpipe: add missing calls to set draw vertex samplers/views
    • +
    • mesa: don't advertise bogus GL_ARB_shading_language_120 extension
    • +
    • configs: remove egl-swrast target from linux-dri config
    • +
    • llvmpipe: fix sprite texcoord setup for non-projective texturing
    • +
    • mesa: fix assertions to handle srgb formats
    • +
    • st/mesa: add missing MESA_FORMAT_S8 case in st_mesa_format_to_pipe_format()
    • +
    • st/mesa: use the wrapped renderbuffer in CopyPixels()
    • +
    • llvmpipe: make min/max lod and lod bias dynamic state
    • +
    • llvmpipe: make texture border_color dynamic state
    • +
    • softpipe: fix repeat() function for NPOT textures
    • +
    • gallivm: fix repeat() function for NPOT textures
    • +
    • swrast: update comments for REMAINDER() macro
    • +
    • softpipe: rename sp_state_fs.c -> sp_state_shader.c
    • +
    • softpipe: make shader-related functions static
    • +
    • softpipe: make blend/stencil/depth functions static
    • +
    • softpipe: make sampler state functions static
    • +
    • softpipe: make vertex state functions static
    • +
    • softpipe: make rasterizer state functions static
    • +
    • softpipe: make stream out state functions static
    • +
    • softpipe: make clip state functions static
    • +
    • softpipe: minor asst. clean-ups
    • +
    • softpipe: allocate tile data on demand
    • +
    • llvmpipe: fix swizzling of texture border color
    • +
    • softpipe: fix swizzling of texture border color
    • +
    • draw: pass sampler state down to llvm jit state
    • +
    • gallivm: check for level=0 case in lp_build_minify()
    • +
    • gallivm: added some comments
    • +
    • draw: check for null sampler pointers
    • +
    • swrast: fix choose_depth_texture_level() to respect mipmap filtering state
    • +
    • st/mesa: replace assertion w/ conditional in framebuffer invalidation
    • +
    • glsl2: fix signed/unsigned comparison warning
    • +
    • st/xlib: add some comments
    • +
    • ir_to_mesa: assorted clean-ups, const qualifiers, new comments
    • +
    • mesa: remove assertion w/ undeclared variable texelBytes
    • +
    • gallivm: remove newlines
    • +
    • draw/llvmpipe: replace DRAW_MAX_TEXTURE_LEVELS with PIPE_MAX_TEXTURE_LEVELS
    • +
    • mesa: reformatting, comments, code movement
    • +
    • x11: fix breakage from gl_config::visualType removal
    • +
    • gallivm: work-around trilinear mipmap filtering regression with LLVM 2.8
    • +
    • mesa: remove post-convolution width/height vars
    • +
    • gallivm: add compile-time option to emit inst addrs and/or line numbers
    • +
    • llvmpipe: code to dump bytecode to file (disabled)
    • +
    • gallivm: added lp_build_print_vec4()
    • +
    • gallivm: added lp_build_load_volatile()
    • +
    • glsl: add ir_unop_round_even case to silence unhandled enum warning
    • +
    • st/mesa: fix regressions in glDrawPixels(GL_STENCIL_INDEX)
    • +
    • st/mesa: reformatting in st_cb_drawpixels.c
    • +
    • st/mesa: use GLuint to avoid problem w/ uint not defined on mingw32
    • +
    • st/mesa: update function name, comments
    • +
    • gallivm: use util_snprintf()
    • +
    • llvmpipe: remove lp_setup_coef*.c files from Makefile
    • +
    • mesa: fix mesa version string construction
    • +
    • gallivm: fix incorrect type for zero vector in emit_kilp()
    • +
    • llvmpipe/draw: always enable LLVMAddInstructionCombiningPass()
    • +
    • draw: use float version of LLVM Mul/Add instructions
    • +
    • draw: fix typo in comment
    • +
    • mesa: add GL_RG case to _mesa_source_buffer_exists()
    • +
    • mesa: add missing cases for packing red/green images
    • +
    • st/mesa: added cases for GL_COMPRESSED_RED/RG in st_choose_format()
    • +
    • docs: update texture red/green support in GL3.txt
    • +
    • docs: add GL_ARB_texture_rg to release notes
    • +
    • mesa: driver hook for primitive restart
    • +
    • mesa: set/get primitive restart state
    • +
    • mesa: API spec for primitive restart
    • +
    • mesa: regenerated files with primitive restart
    • +
    • mesa: plug in primitive restart function
    • +
    • vbo: support for primitive restart
    • +
    • gallium: new CAP, state for primitive restart
    • +
    • st/mesa: support for primitive restart
    • +
    • draw: implement primitive splitting for primitive restart
    • +
    • softpipe: enable primitive restart
    • +
    • llvmpipe: enable primitive restart
    • +
    • docs: added GL_NV_primitive_restart extension
    • +
    • Merge branch 'primitive-restart-cleanup'
    • +
    • winsys/xlib: formatting fixes
    • +
    • winsys/xlib: use Bool type for shm field
    • +
    • winsys/xlib: fix up allocation/dealloction of XImage
    • +
    • winsys/xlib: rename xm->xlib
    • +
    • galahad: silence warnings
    • +
    • mesa: move declaration before code
    • +
    • docs: updated GL3 status for primitive restart
    • +
    • mesa: 80-column wrapping
    • +
    • mesa: simplify fbo format checking code
    • +
    • mesa: split up the image.c file
    • +
    • mesa: add pixel packing for unscaled integer types
    • +
    • mesa: _mesa_ClearColorIuiEXT() and _mesa_ClearColorIiEXT()
    • +
    • mesa: _mesa_is_format_integer() function
    • +
    • mesa: minor reformatting, clean-ups
    • +
    • mesa: added _mesa_is_fragment_shader_active() helper
    • +
    • mesa: new glDrawPixels error check for integer formats
    • +
    • softpipe: added some texture sample debug code (disabled)
    • +
    • mesa: added new gl_extensions::EXT_gpu_shader4 field
    • +
    • mesa: added new gl_framebuffer::_IntegerColor field
    • +
    • mesa: added glGet query for GL_RGBA_INTEGER_MODE_EXT
    • +
    • mesa: compute _IntegerColor field in _mesa_test_framebuffer_completeness()
    • +
    • mesa: added cases for GL_EXT_texture_integer formats
    • +
    • mesa: added cases for GL_EXT_texture_integer
    • +
    • st/mesa: add format selection for signed/unsigned integer formats
    • +
    • mesa: simplify target_can_be_compressed() function
    • +
    • glapi: GL_EXT_texture_integer API
    • +
    • glapi: include/build EXT_texture_integer.xml
    • +
    • mesa: regenerated API files for GL_EXT_texture_integer
    • +
    • mesa: plug in GL_EXT_texture_integer functions
    • +
    • mesa: display list support for GL_EXT_texture_integer
    • +
    • st/mesa: be smarter choosing texture format for glDrawPixels()
    • +
    • softpipe: remove >32bpp color restriction
    • +
    • mesa: silence enum comparison warning
    • +
    • mesa: fix uninitialized var warning
    • +
    • xlib: silence unused var warning
    • +
    • util: use pointer_to_func() to silence warning
    • +
    • rtasm: use pointer_to_func() to silence warning
    • +
    • translate: use function typedefs, casts to silence warnings
    • +
    • translate: remove unused prototypes
    • +
    • mesa: additional glReadPixels error checks for GL_EXT_texture_integer
    • +
    • mesa: additional switch cases for GL_EXT_texture_integer
    • +
    • mesa: additional teximage error checks for GL_EXT_texture_integer
    • +
    • mesa: do integer FB / shader validation check in _mesa_valid_to_render()
    • +
    • mesa: call _mesa_valid_to_render() in glDrawPixels, glCopyPixels, glBitmap
    • +
    • mesa: remove the unused _mesa_is_fragment_shader_active() function
    • +
    • mesa: fix bug in _mesa_is_format_integer()
    • +
    • mesa: rename function to _mesa_is_format_integer_color()
    • +
    • mesa: remove 'normalized' parameter from _mesa_VertexAttribIPointer()
    • +
    • vbo: re-indent file
    • +
    • glapi: xml spec file for GL_EXT_gpu_shader4
    • +
    • glapi: include EXT_gpu_shader4.xml
    • +
    • glapi: regenerated API files
    • +
    • mesa: plug in stubs for glBindFragDataLocation(), glGetFragDataLocation()
    • +
    • mesa: add glGetUniformuiv(), plug in uint glUniform funcs
    • +
    • mesa: plug in more GL_EXT_gpu_shader4 functions
    • +
    • mesa: add new GLvertexformat entries for integer-valued attributes
    • +
    • mesa: implement integer-valued vertex attribute functions
    • +
    • mesa: add gl_client_array::Integer field and related vertex array state code
    • +
    • mesa: consolidate glVertex/Color/etcPointer() code
    • +
    • mesa: state/queries for GL_MIN/MAX_PROGRAM_TEXEL_OFFSET_EXT
    • +
    • mesa: glArrayElement support for integer-valued arrays
    • +
    • mesa: clean-up array element code
    • +
    • mesa: add extension table entry for GL_EXT_gpu_shader4
    • +
    • mesa: remove obsolete comment
    • +
    • mesa: fix incorrect type in _mesa_texstore_rgba_int16()
    • +
    • mesa: fix integer cases in _mesa_is_legal_format_and_type()
    • +
    • mesa: add const qualifier to _mesa_is_legal_format_and_type()
    • +
    • mesa: additional integer formats in _mesa_bytes_per_pixel()
    • +
    • mesa: pixel transfer ops do not apply to integer-valued textures
    • +
    • mesa: remove dead code
    • +
    • osmesa: fix renderbuffer memleak in OSMesaMakeCurrent()
    • +
    • mesa: use GLubyte for edge flag arrays
    • +
    • mesa: move the gl_config struct declaration
    • +
    • dri/util: add a bunch of comments
    • +
    • mesa: remove always-false conditional in check_compatible()
    • +
    • mesa: fix aux/accum comment and error message mixups
    • +
    • llvmpipe: assign context's frag shader pointer before using it
    • +
    • llvmpipe: add a cast
    • +
    • mesa: silence new warnings in texobj.c
    • +
    • egl/gdi: fix typo: xsurf->gsurf
    • +
    • mesa: code to unpack RGBA as uints
    • +
    • gallivm: implement scatter stores into temp register file
    • +
    • gallivm: add some LLVM var labels
    • +
    • gallivm: added debug code to dump temp registers
    • +
    • gallivm: add pixel offsets in scatter stores
    • +
    • gallivm: added lp_elem_type()
    • +
    • gallivm: implement execution mask for scatter stores
    • +
    • tgsi: remove unused function
    • +
    • llvmpipe: added some debug assertions, but disabled
    • +
    • gallivm: alloca() was called too often for temporary arrays
    • +
    • gallivm: add const qualifiers, fix comment string
    • +
    • softpipe: disable vertex texturing with draw/llvm
    • +
    • mesa: consolidate pixel packing/unpacking code
    • +
    • mesa: rename vars in pixel pack/unpack code
    • +
    • mesa: implement uint texstore code
    • +
    • mesa: remove stray GL_FLOAT case in _mesa_is_legal_format_and_type()
    • +
    • mesa: make fixed-pt and byte-valued arrays a runtime feature
    • +
    • softpipe: can't no-op depth test stage when occlusion query is enabled
    • +
    • mesa: no-op glBufferSubData() on size==0
    • +
    • mesa: #include mfeatures.h in enums.h
    • +
    • mesa: improve error message
    • +
    • mesa: add missing formats in _mesa_format_to_type_and_comps()
    • +
    • mesa: handle more pixel types in mipmap generation code
    • +
    • mesa: make glIsBuffer() return false for never bound buffers
    • +
    • mesa: fix glDeleteBuffers() regression
    • +
    • tdfx: s/Format/_BaseFormat/
    • +
    • mesa: consolidate assertions in teximage code
    • +
    • radeon: set gl_texture_image::TexFormat field in radeonSetTexBuffer2()
    • +
    • r600: set gl_texture_image::TexFormat field in r600SetTexBuffer2()
    • +
    • r200: set gl_texture_image::TexFormat field in r200SetTexBuffer2()
    • +
    • r300: set gl_texture_image::TexFormat field in r300SetTexBuffer2()
    • +
    • evergreen: set gl_texture_image::TexFormat field in evergreenSetTexBuffer()
    • +
    • st/mesa: fix glDrawPixels(depth/stencil) bugs
    • +
    • glsl: fix assorted MSVC warnings
    • +
    • mesa: add more work-arounds for acoshf(), asinhf(), atahf()
    • +
    • glsl: remove opt_constant_expression.cpp from SConscript
    • +
    • mesa: fix error messages and minor reindenting
    • +
    • mesa: whitespace cleanups
    • +
    • mesa: 80-column wrapping
    • +
    • mesa: reorder texture_error_check() params
    • +
    • mesa: minor clean-ups in context code
    • +
    • mesa: upgrade to glext.h version 66
    • +
    • mesa: pass gl_format to _mesa_init_teximage_fields()
    • +
    • mesa: fix error msg typo
    • +
    • glapi: rename GL3.xml to GL3x.xml as it covers all GL 3.x versions
    • +
    • mesa: hook up GL 3.x entrypoints
    • +
    • docs: update some GL 3.0 status
    • +
    • mesa: fix get_texture_dimensions() for texture array targets
    • +
    • swrast: init alpha value to 1.0 in opt_sample_rgb_2d()
    • +
    • glsl: fix off by one in register index assertion
    • +
    • glsl: use gl_register_file in a few places
    • +
    • mesa: rename, make _mesa_register_file_name() non-static
    • +
    • mesa: _mesa_valid_register_index() to validate register indexes
    • +
    • mesa: replace #defines with new gl_shader_type enum
    • +
    • mesa: use gl_shader_type enum
    • +
    • glsl: better handling of linker failures
    • +
    • glsl: start restoring some geometry shader code
    • +
    • mesa: add assertion and update comment in _mesa_format_image_size()
    • +
    • mesa: added _mesa_format_image_size64()
    • +
    • x11: remove test_proxy_teximage() function
    • +
    • st/mesa: fix mapping of zero-sized buffer objects
    • +
    • gallivm/llvmpipe: squash merge of the llvm-context branch
    • +
    • mesa: raise max texture sizes to 16K
    • +
    • softpipe: increase max texture size to 16K
    • +
    • mesa: replace large/MAX_WIDTH stack allocations with heap allocations
    • +
    • mesa: replace large/MAX_WIDTH stack allocations with heap allocations
    • +
    • swrast: avoid large stack allocations in blend code
    • +
    • swrast: avoid large stack allocations in tex combine code
    • +
    • st/mesa: avoid large stack allocations in readpixels code
    • +
    • mesa: replace more MAX_WIDTH stack allocations with heap allocations
    • +
    • gallivm/llvmpipe: remove lp_build_context::builder
    • +
    • gallivm: fix null builder pointers
    • +
    • mesa: fix GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME query
    • +
    • mesa: return GL_FRAMEBUFFER_DEFAULT as FBO attachment type
    • +
    • llvmpipe: fix broken stencil writemask
    • +
    • mesa: consolidate some compiler -D flags
    • +
    • swrast: allow GL_RG format in glDrawPixels()
    • +
    • swrast: fix indentation
    • +
    • swrast: accept GL_RG in glReadPixels()
    • +
    • swrast: restructure some glReadPixels() code
    • +
    • mesa: make glGet*(GL_NONE) generate GL_INVALID_ENUM
    • +
    • mesa: remove unneeded cast
    • +
    • mesa: update comments, remove dead code
    • +
    • st/mesa: new comment about updating state vars
    • +
    • mesa: add error margin to clip mask debug/check code
    • +
    • gallium/util: minor formatting fixes
    • +
    • mesa/llvm: use llvm-config --cppflags
    • +
    • st/mesa: fix mipmap generation bug
    • +
    • mesa: test for cube map completeness in glGenerateMipmap()
    • +
    • mesa: set gl_texture_object::_Complete=FALSE in incomplete()
    • +
    • mesa: consolidate glTexImage1/2/3D() code
    • +
    • mesa: simplify proxy texture code in texture_error_check()
    • +
    • mesa: consolidate the glTexSubImage1/2/3D() functions
    • +
    • mesa: consolidate glCopyTexImage1/2D() code
    • +
    • mesa: consolidate glCopyTexSubImage1/2/3D() functions
    • +
    • mesa: consolidate glCompressedTexImage1/2/3D() functions
    • +
    • mesa: make _mesa_test_proxy_teximage() easier to read
    • +
    • configure: use llvm-config --cppflags instead of --cflags
    • +
    • mesa: revamp error checking for compressed texture images
    • +
    • mesa: simplify target checking for TexImage functions
    • +
    • draw/llvm: don't flush in vs_llvm_delete()
    • +
    • tnl: Initialize gl_program_machine memory in run_vp.
    • +
    • tnl: a better way to initialize the gl_program_machine memory
    • +
    • mesa, st/mesa: disable GL_ARB_geometry_shader4
    • +
    • mesa/meta: fix broken assertion, rename stack depth var
    • +
    • glsl: new glsl_strtod() wrapper to fix decimal point interpretation
    • +
    • st/mesa: fix renderbuffer pointer check in st_Clear()
    • +

    + +

    Brian Rogers (1): +

      +
    • mesa: Add missing else in do_row_3D
    • +

    + +

    Chad Versace (25): +

      +
    • intel_extensions: Add ability to set GLSL version via environment
    • +
    • glsl: Add glsl_type::uvecN_type for N=2,3
    • +
    • glsl: Add lexer rules for uint and uvecN (N=2..4)
    • +
    • glsl: Changes in generated file glsl_lexer.cpp
    • +
    • glsl: Add lexer rules for << and >> in GLSL 1.30
    • +
    • glsl: Change generated file glsl_lexer.cpp
    • +
    • glsl: Implement ast-to-hir for binary shifts in GLSL 1.30
    • +
    • glsl: Implement constant expr evaluation for bitwise-not
    • +
    • glsl: Implement constant expr evaluation for bit-shift ops
    • +
    • glsl: Implement constant expr evaluation for bitwise logic ops
    • +
    • glsl: Fix ir validation for bit logic ops
    • +
    • glsl: Define shift_result_type() in ast_to_hir.cpp
    • +
    • glsl: Implement ast-to-hir for bit-shift-assignment
    • +
    • glsl: Define bit_logic_result_type() in ast_to_hir.cpp
    • +
    • glsl: Implement ast-to-hir for bit-logic ops
    • +
    • glsl: Fix lexer rule for ^=
    • +
    • glsl: Commit generated file glsl_lexer.cpp
    • +
    • glsl: Fix ast-to-hir for ARB_fragment_coord_conventions
    • +
    • mesa: Fix C++ includes in sampler.cpp
    • +
    • glsl: Fix ir_expression::constant_expression_value()
    • +
    • glsl: Fix erroneous cast in ast_jump_statement::hir()
    • +
    • glsl: Fix Doxygen tag file in recently renamed files
    • +
    • glsl: Improve usage message for glsl_compiler
    • +
    • glsl: Fix linker bug in cross_validate_globals()
    • +
    • glsl: In ast_to_hir, check sampler array indexing
    • +

    + +

    Chia-I Wu (149): +

      +
    • glapi: Fix build errors for ES.
    • +
    • glapi: Fix ES build errors again.
    • +
    • mesa: Update ES APIspec.xml.
    • +
    • st/xlib: Notify the context when the front/back buffers are swapped.
    • +
    • targets/egl: Use C++ compiler to link GL/ES state trackers.
    • +
    • libgl-xlib: Remove unused st_api_create_OpenGL.
    • +
    • st/egl: Split modeset code support to modeset.c.
    • +
    • st/egl: Rename kms backend to drm.
    • +
    • st/egl: s/kms/drm/ on the drm backend.
    • +
    • egl: Enable drm platform by default.
    • +
    • egl: Check extensions.
    • +
    • st/egl: Skip single-buffered configs in EGL.
    • +
    • mapi: Fix compiler warnings.
    • +
    • st/egl: Drop context argument from egl_g3d_get_egl_image.
    • +
    • targets/egl: Fix linking with libdrm.
    • +
    • st/vega: Fix version check in context creation.
    • +
    • egl: Use attribute names as the _EGLConfig member names.
    • +
    • egl: Access config attributes directly.
    • +
    • st/egl: Access _EGLConfig directly.
    • +
    • st/egl: Do not finish a fence that is NULL.
    • +
    • mesa: Remove unused vtxfmt_tmp.h.
    • +
    • egl_dri2: Drop the use of _egl[SG]etConfigKey.
    • +
    • egl_glx: Drop the use of [SG]ET_CONFIG_ATTRIB.
    • +
    • egl_glx: Fix borken driver.
    • +
    • egl: Move attributes in _EGLImage to _EGLImageAttribs.
    • +
    • egl: Parse image attributes with _eglParseImageAttribList.
    • +
    • egl: Move fallback routines to eglfallbacks.c.
    • +
    • egl: Drop dpy argument from the link functions.
    • +
    • egl: Minor changes to the _EGLConfig interface.
    • +
    • egl: Minor changes to the _EGLScreen interface.
    • +
    • egl: Fix _eglModeLookup.
    • +
    • st/egl: Fix native_mode refresh mode.
    • +
    • egl: Add reference count for resources.
    • +
    • egl: Use reference counting to replace IsLinked or IsBound.
    • +
    • egl: Fix a false negative check in _eglCheckMakeCurrent.
    • +
    • st/egl: Use resource reference count for egl_g3d_sync.
    • +
    • egl_dri2: Fix a typo that make glFlush be called at wrong time.
    • +
    • glapi: Do not use glapidispatch.h.
    • +
    • glapi: Move glapidispatch.h to core mesa.
    • +
    • glapi: Do not use glapioffsets.h.
    • +
    • glapi: Merge glapioffsets.h into glapidispath.h.
    • +
    • vbo: Use CALL_* macros.
    • +
    • mesa: Remove unnecessary glapitable.h includes.
    • +
    • autoconf: Better client API selection.
    • +
    • docs: Update egl and openvg docs.
    • +
    • autoconf: Update configuration info.
    • +
    • Merge branch 'glapi-reorg'
    • +
    • targets: Add missing quotes to Makefile.xorg.
    • +
    • autoconf: st/vega requires --enable-openvg.
    • +
    • st/mesa: Unreference the sampler view in st_bind_surface.
    • +
    • autoconf: Tidy configure output for EGL.
    • +
    • targets/egl: Fix a warning with --disable-opengl build.
    • +
    • egl: Rework _eglGetSearchPath.
    • +
    • mesa: Select FEATURE_remap_table when multiple APIs are enabled.
    • +
    • mesa: Allow contexts of different APIs to coexist.
    • +
    • egl: Set up the pthread key even TLS is used.
    • +
    • st/egl: Add native_surface::present callback.
    • +
    • st/egl: Use native_surface::present callback.
    • +
    • d3d1x: Use native_surface::present.
    • +
    • st/egl: Remove flush_frontbuffer and swap_buffers.
    • +
    • st/egl: Add support for swap interval and swap behavior.
    • +
    • st/egl: Add support for EGL_MATCH_NATIVE_PIXMAP.
    • +
    • st/egl: Add extern "C" wrapper to native.h.
    • +
    • st/egl: Add native_display_buffer interface.
    • +
    • st/egl: Use native_display_buffer for EGL_MESA_drm_image.
    • +
    • autoconf: Add --enable-gallium-egl.
    • +
    • docs: Update egl docs.
    • +
    • st/dri: Add support for surfaceless current contexts.
    • +
    • egl_dri2: Fix __DRI_DRI2 version 1 support.
    • +
    • st/vega: Do not wait NULL fences.
    • +
    • gallium: Add st_api::name.
    • +
    • gallium: Add st_context_iface::share to st_api.
    • +
    • st/wgl: Use st_context_iface::share for DrvShareLists.
    • +
    • st/glx: Replace MESA_VERSION_STRING by xmesa_get_name.
    • +
    • mesa: Clean up core.h.
    • +
    • scons: Define IN_DRI_DRIVER.
    • +
    • tgsi: Add STENCIL to text parser.
    • +
    • st/vega: vegaLookupSingle should validate the state.
    • +
    • st/vega: Set wrap_r for mask and blend samplers.
    • +
    • st/vega: Fix vgReadPixels with a subrectangle.
    • +
    • egl_dri2: Fix one context, multiple surfaces.
    • +
    • auxiliary: util_blit_pixels_tex should restore the viewport.
    • +
    • st/vega: Fix a crash with empty paths.
    • +
    • st/vega: Masks and surfaces should share orientation.
    • +
    • st/vega: No flipping in vg_prepare_blend_surface.
    • +
    • st/vega: Fix a typo in EXTENDED_BLENDER_OVER_FUNC.
    • +
    • llvmpipe: Fix build errors on x86.
    • +
    • st/vega: Overhaul renderer with renderer states.
    • +
    • st/vega: Add DRAWTEX renderer state.
    • +
    • st/vega: Add SCISSOR renderer state.
    • +
    • st/vega: Add CLEAR renderer state for vgClear.
    • +
    • st/vega: Add FILTER renderer state for image filtering.
    • +
    • st/vega: Use the renderer for vgMask.
    • +
    • st/vega: Add POLYGON_STENCIL and POLYGON_FILL renderer state.
    • +
    • st/vega: Delay fb state update to vg_validate_state.
    • +
    • st/vega: Use st_framebuffer for fb width/height.
    • +
    • st/vega: Move g3d states to renderer.
    • +
    • st/vega: Make shader_bind call into the renderer.
    • +
    • st/vega: vg_manager should care about only the color buffer.
    • +
    • st/vega: Clean up vg_context fields and functions.
    • +
    • st/vega: Clean up renderer fields and functions.
    • +
    • st/vega: vg_copy_texture and vg_copy_surface should share code.
    • +
    • st/vega: Get rid of renderer_copy_texture.
    • +
    • st/vega: Update to latest headers.
    • +
    • st/vega: Fix image sampler views for alpha-only formats.
    • +
    • st/vega: Make path_render and path_stroke take a matrix.
    • +
    • st/vega: Make image_draw take a matrix.
    • +
    • st/vega: Add primitive text support.
    • +
    • st/vega: Revive mask layer support.
    • +
    • st/vega: More flexible shader selection.
    • +
    • st/vega: Add color transformation support.
    • +
    • st/vega: Bump version to 1.1.
    • +
    • st/vega: Fix paint coordinates transformations.
    • +
    • st/vega: Fix negated logic in image_draw.
    • +
    • st/vega: Fix degenerate paints.
    • +
    • st/vega: Simplify radial gradient.
    • +
    • st/vega: Remove st_inlines.h.
    • +
    • st/vega: Delay blend texture creation until needed.
    • +
    • st/vega: Create drawing surface mask as needed.
    • +
    • st/vega: Initialize pipe states with renderer.
    • +
    • st/vega: Avoid unnecessary constant bufer upload.
    • +
    • st/vega: Destroy the pipe context with vg_context.
    • +
    • st/vega: polygon_array requires a deep free.
    • +
    • st/egl: Set pipe_resource::array_size to 1.
    • +
    • st/vega: Set pipe_resource::array_size to 1.
    • +
    • st/vega: Move vertex transformation to shader.
    • +
    • st/vega: Add a missing break.
    • +
    • st/vega: Add some comments to pipeline shaders.
    • +
    • st/vega: Refactor blend shaders.
    • +
    • st/vega: Move masking after blending.
    • +
    • st/vega: Add support for per-channel alpha.
    • +
    • st/vega: Blending should use premultiplied alpha.
    • +
    • st/vega: Fix VG_BLEND_MULTIPLY.
    • +
    • st/vega: Add blend shaders for all blend modes.
    • +
    • st/vega: Fix pipe blend state for various blend modes.
    • +
    • egl: _eglFilterArray should not allocate.
    • +
    • mapi: Rewrite mapi_abi.py to get rid of preprocessor magic.
    • +
    • vbo: Drop second ATTR macro.
    • +
    • vbo: Fix GLES2 glVertexAttrib.
    • +
    • mesa: Do not advertise GL_OES_texture_3D.
    • +
    • mesa: Fix GL_FIXED arrays.
    • +
    • mesa: Fix glTexCoordPointer with type GL_FIXED.
    • +
    • st/egl: Plug pbuffer leaks.
    • +
    • st/egl: Fix eglCopyBuffers.
    • +
    • st/egl: Assorted fixes for dri2_display_get_configs.
    • +
    • docs/egl: Update egl.html.
    • +
    • st/egl: Fix eglChooseConfig when configs is NULL.
    • +
    • docs: Add an example for EGL_DRIVERS_PATH.
    • +
    • autoconf: Fix --with-driver=xlib --enable-openvg.
    • +

    + +

    Chris Wilson (2): +

      +
    • i915g: Fix closure of full batch buffers
    • +
    • intel: Check for unsupported texture when finishing using as a render target
    • +

    + +

    Christoph Bumiller (80): +

      +
    • nv50: import new compiler
    • +
    • nouveau: update nouveau_class.h
    • +
    • nv50: introduce the big formats table
    • +
    • nv50: don't produce MOV immediate to output reg in store opt
    • +
    • nv50: change back accidentally swapped UNORM,SNORM vertex type
    • +
    • nv50: add/fix some license headers
    • +
    • nv50: simple reload elimination and local CSE
    • +
    • nv50: fix constant_operand opt mul by 2 case
    • +
    • nv50: permit usage of undefined TGSI TEMPs
    • +
    • nv50: add missing 2nd source for POW multiplication
    • +
    • nv50: add signed RGTC1 to format table, allow 2_10_10_10 for vbufs
    • +
    • nv50: fix for empty BBs
    • +
    • nv50: insert MOVs also for PHI sources from dominating block
    • +
    • nv50: explicitly set src type for SET ops
    • +
    • nv50: fixes for nested IFs
    • +
    • nv50: don't eliminate loads to dedicated values
    • +
    • nv50: fix constbuf validation
    • +
    • nv50: build proper phi functions in the first place
    • +
    • nv50: fix reg count
    • +
    • nv50: begin implementing loops
    • +
    • nv50: more constant folding
    • +
    • nv50: loops part 2
    • +
    • nv50: flatten simple IF/ELSE/ENDIF constructs
    • +
    • nv50: fix thinko in store to output reg possible check
    • +
    • nv50: generate JOINs for outermost IF clauses
    • +
    • nv50: more TGSI opcodes (SIN, SCS, ARL, RET, KILP)
    • +
    • nv50: fix PSIZ and PRIMID mapping
    • +
    • nv50: check dst compatibility in CSE
    • +
    • nv50: initialize edgeflag input index
    • +
    • nv50: emit predicate for interp
    • +
    • Merge remote branch 'origin/master' into nv50-compiler
    • +
    • nv50: DP2, fix ARL
    • +
    • nv50: yet another case we need a nop.exit
    • +
    • nv50: fix check for sprite/point coord enable
    • +
    • nv50: handle TEXTURE_SWIZZLE and GEOMETRY_SHADER4 caps
    • +
    • nv50: set the FragDepth output index
    • +
    • nv50: turn off verbose debug output by default
    • +
    • nv50: attempt at making more complicated loops work
    • +
    • nv50: SSG
    • +
    • nv50: make FrontFacing -1 or +1
    • +
    • nv50: re-add proper TEXBIAS sequence
    • +
    • nv50: make use of TGSI immediate type
    • +
    • nv50: must join SELECT inputs before MOV inputs
    • +
    • nv50: fix XPD, was negated
    • +
    • nv50: fix find_dom_frontier
    • +
    • nv50: fix build-predicate function
    • +
    • Merge remote branch 'origin/master' into nv50-compiler
    • +
    • nv50: load address register before using it, not after
    • +
    • nv50: save tgsi instructions
    • +
    • nv50: prepare for having multiple functions
    • +
    • nv50: don't parse again in tgsi_2_nc
    • +
    • nv50: use actual loads/stores if TEMPs are accessed indirectly
    • +
    • nv50: create value references with the right type
    • +
    • nv50: duplicate interps in load_proj_tex_coords
    • +
    • nv50: address regs are 16 bit
    • +
    • nv50: fix can_load check for 3rd source
    • +
    • nv50: reduce bb_reachable_by runtime from pot to linear
    • +
    • nv50: minor compiler fixes and cleanups
    • +
    • nv50: cannot move from local mem to output reg directly
    • +
    • nv50: newlines in shader bincode printing
    • +
    • nv50: match TEMP limit with nv50 ir builder
    • +
    • nv50: handle TGSI EXP and LOG again
    • +
    • nv50: check for immediates when turning MUL ADD into MAD
    • +
    • nv50: interp cannot write flags reg
    • +
    • nv50: MOV TEMP[0], -CONST[0] must be float32 negation
    • +
    • nv50: fix indirect CONST access with large or negative offsets
    • +
    • nv50: fix TXP depth comparison value
    • +
    • nv50: consider address register in reload elimination
    • +
    • nv50: improve and fix modifier folding optimization
    • +
    • nv50: put low limit on REG_ALLOC_TEMP and FP_RESULT_COUNT
    • +
    • Merge remote branch 'origin/nv50-compiler'
    • +
    • nv50: don't segfault on shaders with 0 instructions
    • +
    • nv50: get shader fixups/relocations into working state
    • +
    • nv50: add relocs for stack and local mem buffers
    • +
    • nv50: emit constbuf relocs before uploading constants
    • +
    • nv50: fix typo in fifo packet length limit
    • +
    • nv50: use formats table in nv50_surface.c
    • +
    • nv50: use CLEAR_BUFFERS for surface fills
    • +
    • nv50: fix/handle a few more PIPE_CAPs
    • +
    • nv50: fix GP state bind and validate
    • +

    + +

    Corbin Simpson (8): +

      +
    • r600g: Use align() instead of handrolled code.
    • +
    • r600g: Trivially deobfuscate r600_hw_states.
    • +
    • r600g: Deobfuscate and comment a few more functions in r600_hw_states.
    • +
    • r600g: Clean up some indentation and |= vs. | usage.
    • +
    • r600g: Fix false and true.
    • +
    • r600g: "tmp" is such a bad name for a texture.
    • +
    • r600g: Clean up PS setup.
    • +
    • r600g: Cleanup viewport floats.
    • +

    + +

    Daniel Lichtenberger (1): +

      +
    • radeon: fix potential segfault in renderbuffer update
    • +

    + +

    Daniel Vetter (21): +

      +
    • r200: revalidate after radeon_update_renderbuffers
    • +
    • i915g: rip out ->sw_tiled
    • +
    • i915g: s/hw_tiled/tiling
    • +
    • i915g: add pineview pci ids
    • +
    • i915g: kill RGBA/X formats
    • +
    • i915g: kill buf->map_gtt
    • +
    • i915g: kill idws->pool
    • +
    • i915g: drop alignment parameter from iws->buffer_create
    • +
    • i915g: add winsys function to create tiled buffers
    • +
    • i915g: switch to tiled allocations, kill set_fence
    • +
    • i915g: prepare winsys/batchbuffer for execbuf2
    • +
    • i915g: return tiling in iws->buffer_from_handle
    • +
    • i915g: implement unfenced color&depth buffer using tiling bits
    • +
    • i915g: implement unfenced relocs for textures using tiling bits
    • +
    • i915g: postpone mipmap/face offset calculation
    • +
    • i915g: don't pot-align stride for tiled buffers
    • +
    • i915g: enable X-tiling for textures
    • +
    • i915g: switch rendering to mipmapped textures to (x,y) offsets
    • +
    • i915g: enable x-tiling for render targets
    • +
    • i915g: assert(depth_surface->offset == 0)
    • +
    • i915g: track TODO items
    • +

    + +

    Dave Airlie (182): +

      +
    • r300g: fix buffer reuse issue caused by previous commit
    • +
    • r600g: pull r600_draw struct out into header
    • +
    • r600g: use index min/max + index buffer offset.
    • +
    • r600g: add vgt dma src defines
    • +
    • r600g: fixup texture state on evergreen.
    • +
    • r600g: fix texture bos and avoid doing depth blit on evergreen
    • +
    • r600g: hide radeon_ctx inside winsys.
    • +
    • r600g: attempt to abstract kernel bos from pipe driver.
    • +
    • r600g: move constant buffer creation behind winsys abstraction.
    • +
    • r600g: use malloc bufmgr for constant buffers
    • +
    • r600g: add support for kernel bo
    • +
    • r600g: add winsys bo caching.
    • +
    • r600g: add upload manager support.
    • +
    • r600g: fixup map flushing.
    • +
    • r600g: use calloc for ctx bo allocations
    • +
    • r600g: oops got the use_mem_constant the wrong way around.
    • +
    • r600g; add uses waterfall to asm cf for r6xx.
    • +
    • r600g: only emit uses waterfall on r6xx hw.
    • +
    • util/r300g: split the r300 index buffer modifier functions out to util
    • +
    • r600g: modify index buffers for sizes the hw can't deal with.
    • +
    • r600g: send correct surface base update for multi-cbufs
    • +
    • r600g: fix fbo-drawbuffers-maxtargets
    • +
    • r600g: clean up valgrind issues on maxtargets test.
    • +
    • r600g: drop debugging that snuck in
    • +
    • r600g: fix tiling support for ddx supplied buffers
    • +
    • r600g: add z16 to color setup
    • +
    • r600g: add color/texture support for more depth formats.
    • +
    • r600g: fix r700 cube map sizing.
    • +
    • r600g: fixup r700 CB_SHADER_CONTROL register.
    • +
    • r600g: add missing BC_INST wrapper for evergreen
    • +
    • r600g: only flush for the correct colorbuffer, not all of them.
    • +
    • r600g: deal with overflow of VTX/TEX CF clauses.
    • +
    • r600g: set back to correct codepaths.
    • +
    • r600g: fixup evergreen miptree setup.
    • +
    • r600g: fix eg texture borders.
    • +
    • r600g: fix typo in struct member name
    • +
    • r600g: cleanup some of the DB blit code
    • +
    • r600g: make stencil readback work
    • +
    • r600g: disable dirty handling on texture from depth code.
    • +
    • r600g: use floats instead of hex for blit vbo
    • +
    • r600g: fix depth readback on rv610 and other quirky variants.
    • +
    • r600g: fix typo in evergreen register list
    • +
    • u_blitter: add a custom blitter call passing a dsa cso
    • +
    • r600g: use blitter to do db->cb flushing.
    • +
    • r600g: fix warnings since last commit.
    • +
    • egl: fix build since 17eace581d25a626a7d75d9d1205d012cbb14a6e
    • +
    • r300g: fix point sprite coord.
    • +
    • r600g: add vert support for 16/16 and 16/16/16 floats.
    • +
    • r600g: add some more vertex format support.
    • +
    • r600g: some more vertex formats
    • +
    • r600g: fix draw-elements and draw-elements-base-vertex
    • +
    • r600g: drop index_offset parameter to index buffer translate.
    • +
    • r600g: fixup tex wrapping.
    • +
    • r600g: fixup VP->FP output->input routing.
    • +
    • r600g: fix typo in r700 alu emit
    • +
    • r600g: fixup sprite coord enable.
    • +
    • r600g: fix polygon mode
    • +
    • mesa/mipmap: fix warning since 1acadebd6270d3604b026842b8a21360968618a0
    • +
    • r600g: add eg poly mode code.
    • +
    • r600g: make index bias fix for evergreen
    • +
    • r600g: add eg db count control register.
    • +
    • r300g: fix glsl-fs-pointcoord
    • +
    • r600g: add evergreen texture resource properly.
    • +
    • r600g: fix db flush breaking config state
    • +
    • r600g: on evergreen the centroid isn't set in this register.
    • +
    • r600g: add back evergreen name.
    • +
    • r600g: add evergreen texture border support to new path
    • +
    • r600g: move radeon.h members around to add back map flushing.
    • +
    • r600g: add initial vertex translate support.
    • +
    • r600g: remove old assert from new codepath
    • +
    • Revert "r600g: add initial vertex translate support."
    • +
    • r600g: port r300g fix for X* formats in texformat code
    • +
    • r600g: add L8A8 unorm.
    • +
    • r600g: clean up some code from move to new paths.
    • +
    • r600g: return string for chip family
    • +
    • r600g: use Elements macro instead of manual sizeofs
    • +
    • r600g: fix evergreen depth flushing.
    • +
    • r600g: add winsys support for CTL constants.
    • +
    • r600g: drop depth quirk on evergreen
    • +
    • r600g: add reloc for evergreen color attrib
    • +
    • r600g: realign evergreen code with r600 code.
    • +
    • r600g: add assembler support for other vtx fetch fields.
    • +
    • r600g: fixup vertex format picking.
    • +
    • r600g: sync vertex/texture cache on resources on evergreen
    • +
    • r600g: add cb flushing for extra buffers + depth buffer on r600/evergreen
    • +
    • r600g: fix evergreen draw-buffers
    • +
    • r600g: flush SH cache on constant change on evergreen
    • +
    • r600g: only set the Z export if shader exports it.
    • +
    • r600g: setup basic loop consts on r600 + evergreen.
    • +
    • mesa/st: initial attempt at RG support for gallium drivers
    • +
    • r600g: break out of search for reloc bo after finding it.
    • +
    • r600g: the code to check whether a new vertex shader is needed was wrong
    • +
    • r600g: fix wwarning in bo_map function
    • +
    • r600g: TODO domain management
    • +
    • r600g: add bo fenced list.
    • +
    • pb: don't keep checking buffers after first busy
    • +
    • r600g: add bo busy backoff.
    • +
    • r600g: drop mman allocator
    • +
    • r600g: drop use_mem_constant.
    • +
    • r600g: avoid unneeded bo wait
    • +
    • pb: fix numDelayed accounting
    • +
    • r600g: add evergreen stencil support.
    • +
    • r600g: use format from the sampler view not from the texture.
    • +
    • r600g: fix Z export enable bits.
    • +
    • r600g: add some RG texture format support.
    • +
    • r600g: drop width/height per level storage.
    • +
    • r600g: fix input/output Z export mixup for evergreen.
    • +
    • r600g: evergreen has no request size bit in texture word4
    • +
    • r600g: enable vertex samplers.
    • +
    • r600g: add TXL opcode support.
    • +
    • r600g: don't run with scissors.
    • +
    • r600g: fix typo in vertex sampling on r600
    • +
    • gallium/tgsi: add support for stencil writes.
    • +
    • gallium/format: add support for X24S8 and S8X24 formats.
    • +
    • gallium/format: add X32_S8X24_USCALED format.
    • +
    • gallium/util: add S8 tile sampling support.
    • +
    • mesa: add support for FRAG_RESULT_STENCIL.
    • +
    • mesa: improve texstore for 8/24 formats and add texstore for S8.
    • +
    • softpipe: add support for shader stencil export capability
    • +
    • st/mesa: add option to choose a texture format that we won't render to.
    • +
    • st/mesa: use shader stencil export to accelerate shader drawpixels.
    • +
    • r600g: add support for S8, X24S8 and S8X24 sampler formats.
    • +
    • r600g: add shader stencil export support.
    • +
    • glsl: add support for shader stencil export
    • +
    • st/mesa: enable stencil shader export extension if supported
    • +
    • r600g: fix depth0 setting
    • +
    • r600g: fix scissor/cliprect confusion
    • +
    • r600g: store samplers/views across blit when we need to modify them
    • +
    • r600g: reduce size of context structure.
    • +
    • r600g: the vs/ps const arrays weren't actually being used.
    • +
    • r600g: add copy into tiled texture
    • +
    • r600g: split out miptree setup like r300g
    • +
    • r600g: use common texture object create function
    • +
    • r600g: rename pitch in texture to pitch_in_bytes
    • +
    • r600g: remove bpt and start using pitch_in_bytes/pixels.
    • +
    • r600g: fix transfer stride.
    • +
    • r600g: drop all use of unsigned long
    • +
    • r600g: use blitter for hw copy region
    • +
    • r600g: evergreen add stencil export bit
    • +
    • r600g: add missing eg reg definition
    • +
    • r600g: fix stencil export for evergreen harder
    • +
    • r600g: drop unused context members
    • +
    • r600g: only pick centroid coordinate when asked.
    • +
    • r600g: fixup pos/face ena/address properly
    • +
    • r600g: fixup typo in macro name
    • +
    • r600g: select linear interpolate if tgsi input requests it
    • +
    • r300g: clean up warning due to unknown cap.
    • +
    • tgsi: add scanner support for centroid inputs
    • +
    • r600g: evergreen interpolation support.
    • +
    • r600g: add evergreen ARL support.
    • +
    • r600g: switch to a common formats.h file since they are in different regs
    • +
    • r600g: add defines for tiling
    • +
    • r600g: get tiling info from kernel
    • +
    • r600g: set tiling bits in hw state
    • +
    • r600g: do proper tracking of views/samplers.
    • +
    • r600g: fix typo in tiling setup cb code.
    • +
    • r600g: depth needs to bound to ds
    • +
    • r600g: attempt to cleanup depth blit
    • +
    • r600g: fix transfer function for tiling.
    • +
    • r600g: retrieve tiling info from kernel for shared buffers.
    • +
    • r600g: all non-0 mipmap levels need to be w/h aligned to POT.
    • +
    • r600g: move to per-miplevel array mode.
    • +
    • r600g: start adding hooks for aligning width/height for tiles.
    • +
    • r600g: add r600 surface to store the aligned height.
    • +
    • r600g: introduce a per-driver resource flag for transfers.
    • +
    • r600g: add texture tiling alignment support.
    • +
    • r600g: add texture tiling enable under a debug option.
    • +
    • r600g: initial translate state support
    • +
    • r600g: start splitting out common code from eg/r600.
    • +
    • r600g: not fatal if we can't get tiling info from kernel
    • +
    • r600g: merge more of the common r600/evergreen state handling
    • +
    • r600g: drop more common state handling code
    • +
    • r600g: fix magic 0x1 ->flat shade ena
    • +
    • r600g: add assembler support for all the kcache fields.
    • +
    • gallium/noop: report GL 2.1
    • +
    • r600g: pick correct color swap for A8 fbos.
    • +
    • r300g/r600g: bump cache manager timeouts to 1s
    • +
    • r600g: it looks like r600 can handle dword offsets in the indices.
    • +
    • r300g: try and use all of vertex constant space
    • +
    • r300g: fixup rs690 tiling stride alignment calculations.
    • +
    • r600g: fix evergreen segfaults.
    • +
    • r600g: hack around property unknown issues.
    • +

    + +

    Eric Anholt (300): +

      +
    • glsl: Add definition of gl_TextureMatrix inverse/transpose builtins.
    • +
    • i965: Share the KIL_NV implementation between glsl and non-glsl.
    • +
    • i965: Also enable CC statistics when doing OQs.
    • +
    • i965: Track the windowizer's dispatch for kill pixel, promoted, and OQ
    • +
    • glsl: Rework assignments with write_masks to have LHS chan count match RHS.
    • +
    • glsl: Fix copy'n'wasted ir_noop_swizzle conditions.
    • +
    • ir_to_mesa: Only compare vector_elements present for any_nequal/all_equal
    • +
    • i965: Fix the vector/expression splitting for the write_mask change.
    • +
    • i965: When splitting vector variable assignment, ignore unset channels.
    • +
    • i965: Update expression splitting for the vector-result change to compares.
    • +
    • i965: Warning fix for vector result any_nequal/all_equal change.
    • +
    • mesa: Remove the non-required ARB_imaging extension.
    • +
    • mesa: Remove EXT_histogram.
    • +
    • mesa: Remove SGI_color_table.
    • +
    • mesa: Remove SGI_color_matrix.
    • +
    • mesa: Remove EXT_convolution.
    • +
    • intel: Remove disabled stencil drawpixels acceleration.
    • +
    • intel: Remove unnecessary minimum pitch alignment to 32 bytes.
    • +
    • intel: Replace my intel_texture_bitmap code with _mesa_meta_Bitmap.
    • +
    • radeon: Remove copied minimum pitch alignment code.
    • +
    • unichrome: Mostly revert my convolution removal changes.
    • +
    • intel: Remove dead intelIsTextureResident().
    • +
    • i915: Remove a dead if (0) block.
    • +
    • intel: Dead comment removal.
    • +
    • intel: Corresponding FinishRenderTexture debug to BeginRenderTexture.
    • +
    • i965: Add support for rendering to SARGB8 FBOs.
    • +
    • intel: Fix segfault on INTEL_DEBUG=fbo with unsupported framebuffers.
    • +
    • intel: Add fallback debug to glGenerateMipmap.
    • +
    • intel: More reverting of the sw fallback for depth texture border color.
    • +
    • intel: Improve some of the miptree debugging.
    • +
    • mesa: Fix type typo in glGenerateMipmap handling of GL_UNSIGNED_INT data.
    • +
    • glsl: Fix broadcast_index of lower_variable_index_to_cond_assign.
    • +
    • glsl: Add validation that a swizzle only references valid channels.
    • +
    • i965: Fix up writemasked assignments in the new FS.
    • +
    • i965: Remove swizzling of assignment to vector-splitting single-channel LHS.
    • +
    • i965: Handle all_equal/any_nequal in the new FS.
    • +
    • i965: Fix vector splitting RHS channel selection with sparse writemasks.
    • +
    • i965: Add support for dFdx()/dFdy() to the FS backend.
    • +
    • i965: Add support for attribute interpolation on Sandybridge.
    • +
    • i965: Set up inputs to the fragment shader according to FP InputsRead.
    • +
    • i965: Add support for POW in gen6 FS.
    • +
    • i965: Fix negation in the new FS backend.
    • +
    • i965: Actually track the "if" depth in loop in the new FS backend.
    • +
    • i965: Apply the same set of lowering passes to new FS as to Mesa IR.
    • +
    • i965: Fix valgrind complaint about base_ir for new FS debugging.
    • +
    • i965: Fix up the FS backend for the variable array indexing pass.
    • +
    • i965: Set the variable type when dereferencing an array.
    • +
    • i965: Add support for dereferencing structs to the new FS backend.
    • +
    • i965: Add support for struct, array, and matrix uniforms to FS backend.
    • +
    • i965: Fix all non-snb regression in the snb attribute interpolation commit.
    • +
    • i965: Fix up part of my Sandybridge attributes support patch.
    • +
    • i965: Add support for gl_FrontFacing to the new FS backend.
    • +
    • i965: Subtract instead of adding when computing y delta in new FS backend.
    • +
    • mesa: Pull ir_to_mesa's sampler number fetcher out to shared code.
    • +
    • i965: Set up sampler numbers in the FS backend.
    • +
    • i965: Add support for non-color render target write data to new FS backend.
    • +
    • i965: Add support for MRT to the new FS backend.
    • +
    • i965: Add support for ir_loop counters to the new FS backend.
    • +
    • i965: Add support for ARB_fragment_coord_conventions to the new FS backend.
    • +
    • glsl: Also update implicit sizes of varyings at link time.
    • +
    • i965: Do interpolation for varying matrices and arrays in the FS backend.
    • +
    • i965: Don't try to emit interpolation for unused varying slots.
    • +
    • i965: Fix array indexing of arrays of matrices.
    • +
    • i965: Clean up obsolete FINISHME comment.
    • +
    • mesa: Move the list of builtin uniform info from ir_to_mesa to shared code.
    • +
    • i965: Add support for builtin uniforms to the new FS backend.
    • +
    • i965: Fix use of undefined mem_ctx in vector splitting.
    • +
    • i956: Make new FS discard do its work in a temp, not the null reg!
    • +
    • i965: Clean up the virtual GRF handling.
    • +
    • ra: First cut at a graph-coloring register allocator for mesa.
    • +
    • i965: First cut at register allocation using graph coloring.
    • +
    • i965: Add live interval analysis and hook it up to the register allocator.
    • +
    • i965: Remove my "safety counter" code from loops.
    • +
    • i965: Fix whole-structure/array assignment in new FS.
    • +
    • mesa: Don't reference a W component in setting up a vec3 uniform component.
    • +
    • i965: Fix new FS handling of builtin uniforms with packed scalars in structs.
    • +
    • glsl: Add a lowering pass for texture projection.
    • +
    • i965: Use the lowering pass for texture projection.
    • +
    • i965: Split the gen4 and gen5 sampler handling apart.
    • +
    • i965: Add gen6 attribute interpolation to new FS backend.
    • +
    • i965: Fix the gen6 jump size for BREAK/CONT in new FS.
    • +
    • i965: Also increment attribute location when skipping unused slots.
    • +
    • i965: Pre-gen6, map VS outputs (not FS inputs) to URB setup in the new FS.
    • +
    • i965: Add real support for pre-gen5 texture sampling to the new FS.
    • +
    • i965: Fix up copy'n'pasteo from moving coordinate setup around for gen4.
    • +
    • i965: Restore the forcing of aligned pairs for delta_xy on chips with PLN.
    • +
    • i965: When producing a single channel swizzle, don't make a temporary.
    • +
    • i965: Add a sanity check for register allocation sizes.
    • +
    • i965: Fix off-by-ones in handling the last members of register classes.
    • +
    • i965: Don't try to emit code if we failed register allocation.
    • +
    • i965: Add support for EXT_texture_swizzle to the new FS backend.
    • +
    • i965: Set up swizzling of shadow compare results for GL_DEPTH_TEXTURE_MODE.
    • +
    • i965: Fix glean/texSwizzle regression in previous commit.
    • +
    • i965: Be more conservative on live interval calculation.
    • +
    • i965: Add trivial dead code elimination in the new FS backend.
    • +
    • i965: Add initial folding of constants into operand immediate slots.
    • +
    • i965: In disasm, gen6 fb writes don't put msg reg # in destreg_conditionalmod.
    • +
    • i965: Add support for gen6 FB writes to the new FS.
    • +
    • i965: Enable the constant propagation code.
    • +
    • i965: Also do constant propagation for the second operand of CMP.
    • +
    • i965: Add back gen6 headerless FB writes to the new FS backend.
    • +
    • i965: Gen6 no longer has the IFF instruction; always use IF.
    • +
    • i965: Fix up IF/ELSE/ENDIF for gen6.
    • +
    • i965: Fix botch in the header_present case in the new FS.
    • +
    • i965: Add some clarification of the WECtrl field.
    • +
    • i965: Don't do 1/w multiplication in new FS for gen6
    • +
    • i965: Gen6's sampler messages are the same as Ironlake.
    • +
    • i965: Refactor gl_FrontFacing setup out of general variable setup.
    • +
    • i965: Add support for gl_FrontFacing on gen6.
    • +
    • i965: Don't assume that WPOS is always provided on gen6 in the new FS.
    • +
    • i965: Fix gen6 pointsize handling to match pre-gen6.
    • +
    • i965: Disable emitting if () statements on gen6 until we really fix them.
    • +
    • i965: Normalize cubemap coordinates like is done in the Mesa IR path.
    • +
    • mesa: Simplify a bit of _mesa_add_state_reference using memcmp.
    • +
    • i965: Drop the check for duplicate _mesa_add_state_reference.
    • +
    • i965: Drop the check for YUV constants in the param list.
    • +
    • i965: Handle swizzles in the addition of YUV texture constants.
    • +
    • i965: Fix gen6 WM push constants updates.
    • +
    • i965: Fix new FS gen6 interpolation for sparsely-populated arrays.
    • +
    • i965: Enable attribute swizzling (repositioning) in the gen6 SF.
    • +
    • i965: Add register coalescing to the new FS backend.
    • +
    • i965: Split FS_OPCODE_DISCARD into two steps.
    • +
    • i965: Reduce register interference checks for changed FS_OPCODE_DISCARD.
    • +
    • i965: Move FS backend structures to a header.
    • +
    • i965: Give the math opcodes information on base mrf/mrf len.
    • +
    • i965: Give the FB write and texture opcodes the info on base MRF, like math.
    • +
    • i965: Compute to MRF in the new FS backend.
    • +
    • i965: Don't consider gen6 math instructions to write to MRFs.
    • +
    • i965: Add a couple of checks for gen6 math instruction limits.
    • +
    • i965: Don't compute-to-MRF in gen6 math instructions.
    • +
    • i965: Expand uniform args to gen6 math to full registers to get hstride == 1.
    • +
    • i965: Don't compute-to-MRF in gen6 VS math.
    • +
    • i965: Fix gen6 pixel_[xy] setup to avoid mixing int and float src operands.
    • +
    • i965: Always use the new FS backend on gen6.
    • +
    • i965: Fix missing "break;" in i2b/f2b, and missing AND of CMP result.
    • +
    • intel: Allow CopyTexSubImage to InternalFormat 3/4 textures, like RGB/RGBA.
    • +
    • i965: Don't rebase the index buffer to min 0 if any arrays are in VBOs.
    • +
    • i965: Add support for rescaling GL_TEXTURE_RECTANGLE coords to new FS.
    • +
    • i965: Set class_sizes[] for the aligned reg pair class.
    • +
    • i965: Update the live interval when coalescing regs.
    • +
    • i965: Add a pass to the FS to split virtual GRFs to float channels.
    • +
    • i965: Add a function for handling the move of boolean values to flag regs.
    • +
    • i965: Add peepholing of conditional mod generation from expressions.
    • +
    • i965: Enable the new FS backend on pre-gen6 as well.
    • +
    • i965: Fix texturing on pre-gen5.
    • +
    • i965: Set the type of the null register to fix gen6 FS comparisons.
    • +
    • i965: Disable the debug printf I added for FS disasm.
    • +
    • i965: Fix a weirdness in NOT handling.
    • +
    • i965: Fix assertion failure on gen6 BufferSubData to busy BO.
    • +
    • i965: Assert out on gen6 VS constant buffer reads that hang the GPU for now.
    • +
    • i965: Fix scissor-offscreen on gen6 like we did pre-gen6.
    • +
    • i965: Avoid blits in BufferCopySubdata on gen6.
    • +
    • i965: Tell the shader compiler when we expect depth writes for gen6.
    • +
    • i965: Remove the gen6 emit_mi_flushes I sprinkled around the driver.
    • +
    • i965: Disable thread dispatch when the FS doesn't do any work.
    • +
    • i965: Add EU emit support for gen6's new IF instruction with comparison.
    • +
    • i965: Set the source operand types for gen6 if/else/endif to integer.
    • +
    • i965: Use the new style of IF statement with embedded comparison on gen6.
    • +
    • i965: Split register allocation out of the ever-growing brw_fs.cpp.
    • +
    • i965: Fix gl_FrontFacing emit on pre-gen6.
    • +
    • i965: Add support for register spilling.
    • +
    • i965: Don't emit register spill offsets directly into g0.
    • +
    • i965: Correct scratch space allocation.
    • +
    • i965: Be more aggressive in tracking live/dead intervals within loops.
    • +
    • i965: Move the FS disasm/annotation printout to codegen time.
    • +
    • i965: Add support for pull constants to the new FS backend.
    • +
    • i965: Add EU code for dword scattered reads (constant buffer array indexing).
    • +
    • i965: Clarify an XXX comment in FB writes with real info.
    • +
    • i965: Use SENDC on the first render target write on gen6.
    • +
    • i965: Clear some undefined fields of g0 when using them for gen6 FB writes.
    • +
    • i965: Add disasm for the flag register.
    • +
    • i965: Add support for discard instructions on gen6.
    • +
    • i965: Handle new ir_unop_round_even in channel expression splitting.
    • +
    • i965: Fix typo in comment about state flags.
    • +
    • i965: Set up the constant buffer on gen6 when it's needed.
    • +
    • i965: Add support for constant buffer loads on gen6.
    • +
    • i965: Drop the eot argument to read messages, which can never be set.
    • +
    • i965: Fix VS URB entry sizing.
    • +
    • i965: Disable register spilling on gen6 until it's fixed.
    • +
    • i965: Make FS uniforms be the actual type of the uniform at upload time.
    • +
    • i965: Add user clip planes support to gen6.
    • +
    • i965: Update gen6 SF state when point state (sprite or attenuation) changes.
    • +
    • i965: Upload required gen6 VS push constants even when using pull constants.
    • +
    • i965: Update the gen6 stencil ref state when stencil state changes.
    • +
    • mesa: Make metaops use program refcounts instead of names.
    • +
    • mesa: Don't compute an unused texture completeness debug string.
    • +
    • intel: For batch, use GTT mapping instead of writing to a malloc and copying.
    • +
    • intel: Annotate debug printout checks with unlikely().
    • +
    • intel: Remove the magic unaligned memcpy code.
    • +
    • i965: Remove dead intel_structs.h file.
    • +
    • intel: Avoid taking logbase2 of several things that we max.
    • +
    • intel: Remove duplicated teximage miptree to object miptree promotion.
    • +
    • intel: Remove leftover dri1 locking fields in the context.
    • +
    • mesa: Fix delayed state flagging for EXT_sso-related program changes.
    • +
    • intel: Fix the client-side swapbuffers throttling.
    • +
    • Revert "intel: Fix the client-side swapbuffers throttling."
    • +
    • i965: Allow OPCODE_SWZ to put immediates in the first arg.
    • +
    • i965: Add support for math on constants in gen6 brw_wm_glsl.c path.
    • +
    • i965: Work around strangeness in swizzling/masking of gen6 math.
    • +
    • i965: re-enable gen6 IF statements in the fragment shader.
    • +
    • glsl: Free the loop state context when we free the loop state.
    • +
    • i965: Fix gl_FragCoord inversion when drawing to an FBO.
    • +
    • i965: Shut up spurious gcc warning about GLSL_TYPE enums.
    • +
    • mesa: Don't spam the console in a debug build unless some spam is requested.
    • +
    • i965: Add state dumping for sampler state.
    • +
    • i965: Add dumping of the sampler default color.
    • +
    • i965: Fail on loops on gen6 for now until we write the EU emit code for it.
    • +
    • i965: Eliminate dead code more aggressively.
    • +
    • mesa: Include C++ files in the makedepend of DRI drivers.
    • +
    • i965: Fix compute_to_mrf to not move a MRF write up into another live range.
    • +
    • i965: Just use memset() to clear most members in FS constructors.
    • +
    • i965: Remove extra n at the end of every instruction in INTEL_DEBUG=wm.
    • +
    • i965: Fold constants into the second arg of BRW_SEL as well.
    • +
    • glsl: Add a helper function for determining if an rvalue could be a saturate.
    • +
    • i965: Recognize saturates and turn them into a saturated mov.
    • +
    • ir_to_mesa: Detect and emit MOV_SATs for saturate constructs.
    • +
    • i965: Improve compute-to-mrf.
    • +
    • i965: Remove duplicate MRF writes in the FS backend.
    • +
    • i965: Move gen4 blend constant color to the gen4 blending file.
    • +
    • i965: Don't upload polygon stipple unless required.
    • +
    • i965: Don't upload line stipple pattern unless we're stippling.
    • +
    • i965: Don't upload line smooth params unless we're line smoothing.
    • +
    • i965: Use the new embedded compare in SEL on gen6 for VS MIN and MAX opcodes.
    • +
    • i965: Fix type of gl_FragData[] dereference for FB write.
    • +
    • glsl: Make the symbol table's add_function just use the function's name.
    • +
    • glsl: Make the symbol table's add_variable just use the variable's name.
    • +
    • glsl: Add a helper constructor for expressions that works out result type.
    • +
    • glsl: Fix structure and array comparisions.
    • +
    • glsl: Quiet unreachable no-return-from-function warning.
    • +
    • i965: Dump the WHILE jump distance on gen6.
    • +
    • i965: Add support for gen6 DO/WHILE ISA emit.
    • +
    • i965: Add support for gen6 BREAK ISA emit.
    • +
    • i965: Add support for gen6 CONTINUE instruction emit.
    • +
    • i965: Enable IF statements in the VS.
    • +
    • i965: Add support for loops in the VS.
    • +
    • glsl: Mark the array access for whole-array comparisons.
    • +
    • glsl: Fix flipped return of has_value() for array constants.
    • +
    • mesa: Add getters for the rest of the supported draw buffers.
    • +
    • mesa: Add getters for ARB_copy_buffer's attachment points.
    • +
    • intel: Add an env var override to execute for a different GPU revision.
    • +
    • i965: Update gen6 WM state on compiled program change, not just FP change.
    • +
    • i965: Update gen6 SF state on fragment program change too.
    • +
    • i965: Fix compile warning about missing opcodes.
    • +
    • i965: Move payload reg setup to compile, not lookup time.
    • +
    • i965: Provide delta_xy reg to gen6 non-GLSL path PINTERP.
    • +
    • i965: Fix up 16-wide gen6 FB writes after various refactoring.
    • +
    • i965: Don't smash a group of coordinates doing gen6 16-wide sampler headers.
    • +
    • i965: Fix gen6 interpolation setup for 16-wide.
    • +
    • i965: Fix up gen6 samplers for their usage by brw_wm_emit.c
    • +
    • i965: Make the sampler's implied move on gen6 be a raw move.
    • +
    • i965: Align gen6 push constant size to dispatch width.
    • +
    • i965: Add support for the instruction compression bits on gen6.
    • +
    • i965: Nuke brw_wm_glsl.c.
    • +
    • i965: Remove INTEL_DEBUG=glsl_force now that there's no brw_wm_glsl.c
    • +
    • i965: Fix comment about gen6_wm_constants.
    • +
    • i965: Handle saturates on gen6 math instructions.
    • +
    • i965: Always hand the absolute value to RSQ.
    • +
    • i965: Add disabled debug code for dumping out the WM constant payload.
    • +
    • i965: Work around gen6 ignoring source modifiers on math instructions.
    • +
    • i965: Fix flipped value of the not-embedded-in-if on gen6.
    • +
    • i965: Don't try to store gen6 (float) blend constant color in bytes.
    • +
    • i965: Set up the color masking for the first drawbuffer on gen6.
    • +
    • i965: Set up the per-render-target blend state on gen6.
    • +
    • i965: Set the render target index in gen6 fixed-function/ARB_fp path.
    • +
    • i965: Use the new pixel mask location for gen6 ARB_fp KIL instructions.
    • +
    • i965: Drop KIL_NV from the ff/ARB_fp path since it was only used for GLSL.
    • +
    • i965: Drop push-mode reladdr constant loading and always use constant_map.
    • +
    • i965: Fix VS constants regression pre-gen6.
    • +
    • i965: Clean up VS constant buffer location setup.
    • +
    • i965: Set up the correct texture border color state struct for Ironlake.
    • +
    • i965: Set render_cache_read_write surface state bit on gen6 constant surfs.
    • +
    • i965: remove unused variable since brw_wm_glsl.c removal.
    • +
    • intel: Use plain R8 and RG8 for COMPRESSED_RED and COMPRESSED_RG.
    • +
    • intel: Set the swizzling for depth textures using the GL_RED depth mode.
    • +
    • glsl: Correct the marking of InputsRead/OutputsWritten on in/out matrices.
    • +
    • i965: Correct the dp_read message descriptor setup on g4x.
    • +
    • intel: Include stdbool so we can stop using GLboolean when we want to.
    • +
    • i965: Fix ARL to work on gen6.
    • +
    • i956: Fix the old FP path fragment position setup on gen6.
    • +
    • i965: Fix gl_FragCoord.z setup on gen6.
    • +
    • i965: Add support for using the BLT ring on gen6.
    • +
    • intel: Update renderbuffers before looking up CopyTexImage's read buffer.
    • +
    • intel: Drop commented intel_flush from copy_teximage.
    • +
    • intel: Try to sanely check that formats match for CopyTexImage.
    • +
    • intel: Support glCopyTexImage() from XRGB8888 to ARGB8888.
    • +
    • i965: Avoid using float type for raw moves, to work around SNB issue.
    • +
    • i965: Set the alternative floating point mode on gen6 VS and WM.
    • +
    • i965: Add support for gen6 constant-index constant loading.
    • +
    • i965: Add support for gen6 reladdr VS constant loading.
    • +
    • i965: Improve the hacks for ARB_fp scalar^scalar POW on gen6.
    • +
    • i965: Factor out the ir comparision to BRW_CONDITIONAL_* code.
    • +
    • i965: Fix regression in FS comparisons on original gen4 due to gen6 changes.
    • +
    • i965: Do lowering of array indexing of a vector in the FS.
    • +
    • intel: Only do frame throttling at glFlush time when using frontbuffer.
    • +
    • intel: Handle forced swrast clears before other clear bits.
    • +
    • intel: Use tri clears when we don't know how to blit clear the format.
    • +
    • intel: Add spans code for the ARB_texture_rg support.
    • +
    • intel: Add a couple of helper functions to reduce rb code duplication.
    • +
    • intel: Fix segfaults from trying to use _ColorDrawBuffers in FBO validation.
    • +
    • intel: When validating an FBO's combined depth/stencil, use the given FBO.
    • +

    + +

    Fabian Bieler (2): +

      +
    • r600g: set address of pop instructions to next instruction
    • +
    • glsl: fix lowering conditional returns in subroutines
    • +

    + +

    Francisco Jerez (51): +

      +
    • dri/nv04: Fix PGRAPH_ERRORs when running OA.
    • +
    • dri/nv04: Mipmapping fixes.
    • +
    • dri/nv04: Align SIFM transfer dimensions.
    • +
    • dri/nv04: Fix up color mask.
    • +
    • dri/nv04: Fix maximum texture size.
    • +
    • dri/nv04: Fix provoking vertex.
    • +
    • dri/nouveau: Update nouveau_class.h.
    • +
    • dri/nouveau: Add some more extensions.
    • +
    • dri/nouveau: Fix glRenderbufferStorage with DEPTH_COMPONENT as internal format.
    • +
    • dri/nouveau: Don't request a fake front unnecessarily.
    • +
    • dri/nouveau: Don't reemit the BO state in nouveau_state_emit().
    • +
    • dri/nouveau: Cleanup references to the old FBOs on glMakeCurrent().
    • +
    • meta: Don't bind the created texture object in init_temp_texture().
    • +
    • dri/nv10: Fix the CLAMP texture wrap mode.
    • +
    • dri/nv04: Use nvgl_wrap_mode().
    • +
    • dri/nouveau: Remove unnecessary assertion.
    • +
    • dri/nouveau: Cleanup more references to old FBOs and VBOs.
    • +
    • dri/nv10-nv20: Fix texturing in some cases after a base level change.
    • +
    • dri/nouveau: Fix software mipmap generation on 1x1 textures.
    • +
    • dri/nouveau: Have a smaller amount of larger scratch buffers.
    • +
    • dri/nouveau: Remove unnecessary flush.
    • +
    • dri/nv10: Use fast Z clears.
    • +
    • dri/nouveau: Minor cleanup.
    • +
    • dri/nv10: Fake fast Z clears for pre-nv17 cards.
    • +
    • dri/nouveau: Initialize tile_flags when allocating a render target.
    • +
    • nouveau: Get larger push buffers.
    • +
    • dri/nouveau: Force a "slow" Z clear if we're getting a new depth buffer.
    • +
    • dri/nv20: Clear with the 3D engine.
    • +
    • dri/nouveau: Don't assert(0) on compressed internal formats.
    • +
    • dri/nv25: Bind a hierarchical depth buffer.
    • +
    • dri/nouveau: Call _mesa_update_state() after framebuffer invalidation.
    • +
    • dri/nouveau: Honor the access flags in nouveau_bufferobj_map_range.
    • +
    • dri/nouveau: Tell the vbo module we want real hardware BOs.
    • +
    • dri/nouveau: Split out the scratch helpers to a separate file.
    • +
    • dri/nouveau: Avoid recursion in nouveau_bo_context_reset().
    • +
    • dri/nouveau: Use a macro to iterate over the bound vertex attributes.
    • +
    • dri/nouveau: Split out array handling to its own file.
    • +
    • dri/nouveau: Optimize VBO binding re-emission.
    • +
    • dri/nouveau: Keep small DYNAMIC_DRAW vertex buffers in system ram.
    • +
    • dri/nouveau: Pipeline glTexSubImage texture transfers.
    • +
    • dri/nouveau: Fix type promotion issue on 32bit platforms.
    • +
    • dri/nouveau: Validate the framebuffer state on read buffer changes.
    • +
    • dri/nouveau: Re-emit the BO state when coming back from a software fallback.
    • +
    • meta: Don't leak alpha function/reference value changes.
    • +
    • meta: Fix incorrect rendering of the bitmap alpha component.
    • +
    • vbo: Avoid unnecessary copy to/from current in vertex format upgrade.
    • +
    • meta: Don't try to disable cube maps if the driver doesn't expose the extension.
    • +
    • meta: Handle bitmaps with alpha test enabled.
    • +
    • dri/nouveau: Split hardware/software TNL instantiation more cleanly.
    • +
    • dri/nouveau: Fix typo.
    • +
    • dri/nouveau: Kill a bunch of ternary operators.
    • +

    + +

    Fredrik Höglund (2): +

      +
    • r600g: Fix texture sampling with swizzled coords
    • +
    • r600g: fix pow(0, 0) evaluating to NaN
    • +

    + +

    Guillermo S. Romero (1): +

      +
    • r300g: Do not use buf param before checking for NULL.
    • +

    + +

    Henri Verbeet (19): +

      +
    • r600g: Flush upload buffers before draws instead of before flushes.
    • +
    • r600g: Check for other references before checking for existing mappings in radeon_bo_pb_map_internal().
    • +
    • r600g: Remove a redundant flush in r600_texture_transfer_map().
    • +
    • r600g: Buffer object maps imply a wait.
    • +
    • r600g: Respect PB_USAGE_UNSYNCHRONIZED in radeon_bo_pb_map_internal().
    • +
    • Revert "r600g: Flush upload buffers before draws instead of before flushes."
    • +
    • r600g: fix exports_ps to export a number not a mask.
    • +
    • r600g: Mention AMD in the renderer string.
    • +
    • r600g: Cleanup the fenced_bo list in r600_context_fini().
    • +
    • r600g: Evergreen has two extra frac_bits for the sampler LOD state.
    • +
    • r600: Evergreen has two extra frac_bits for the sampler LOD state.
    • +
    • r600g: Add PIPE_FORMAT_L8A8_UNORM for Evergreen as well.
    • +
    • r600g: Swizzle vertex data only once.
    • +
    • r600g: Synchronize supported color formats between Evergreen and r600/r700.
    • +
    • r600g: Fix the PIPE_FORMAT_L8A8_UNORM color swaps.
    • +
    • r600g: Fix the PIPE_FORMAT_A8_UNORM color swap for Evergreen as well.
    • +
    • r600g: Cleanup block bo references in r600_context_fini().
    • +
    • r600g: Cleanup fetch shader resources in r600_pipe_shader_destroy().
    • +
    • st/mesa: Handle wrapped depth buffers in st_copy_texsubimage().
    • +

    + +

    Hui Qi Tay (10): +

      +
    • llvmpipe: minor changes in llvm coefficient calcs
    • +
    • draw: cliptest and viewport done in a single loop in vertex shader
    • +
    • draw: added viewport and cliptest flags
    • +
    • draw: sanitize llvm variant key
    • +
    • draw: corrections for w coordinate
    • +
    • draw: corrections to allow for different cliptest cases
    • +
    • llvmpipe: Moved draw pipeline twoside function to llvm setup code
    • +
    • llvmpipe: added llvm offset setup code
    • +
    • llvmpipe: clean up polygon offset function in lp setup code
    • +
    • llvmpipe: fix such that offset/twoside function only does in-place modification
    • +

    + +

    Ian Romanick (102): +

      +
    • glsl2: Refactor testing for whether a deref is of a matrix or array
    • +
    • glsl2: Add flags to enable variable index lowering
    • +
    • glsl: Add doxygen comments
    • +
    • EGL DRI2: Silence piles of 'unused variable' warnings
    • +
    • EGL DRI2: Silence 'missing initializer' warnings
    • +
    • egl_glx: Silence piles of 'unused variable' warnings
    • +
    • egl: Fix several 'comparison between signed and unsigned integer' warnings
    • +
    • dri: Ensure that DRI driver cpp files are in tarballs
    • +
    • mesa: Force GL_ARB_copy_buffer to always be enabled
    • +
    • mesa: Force GL_SGIS_generate_mipmap to always be enabled
    • +
    • Remove GL_MESA_packed_depth_stencil
    • +
    • Remove GL_EXT_cull_vertex
    • +
    • Regenerate files changed by previous commit
    • +
    • Remove unnescessary initializations of UpdateTexturePalette
    • +
    • ARB_texture_rg: Add GLX protocol support
    • +
    • ARB_texture_rg: Correct some errors in RED / RG internal format handling
    • +
    • ARB_texture_rg: Add GL_TEXTURE_{RED,GREEN}_SIZE query support
    • +
    • ARB_texture_rg: Add GL_RED as a valid GL_DEPTH_TEXTURE_MODE
    • +
    • ARB_texture_rg: Handle RED and RG the same as RGB for tex env
    • +
    • ARB_texture_rg: Add R8, R16, RG88, and RG1616 internal formats
    • +
    • ARB_texture_rg: Allow RED and RG textures as FBO color buffer attachments
    • +
    • mesa: Enable GL_ARB_texture_rg in software paths
    • +
    • i965: Enable GL_ARB_texture_rg
    • +
    • mesa: Add ARB_texture_compression_rgtc as an alias for EXT_texture_compression_rgtc
    • +
    • ARB_texture_rg: Add GL_COMPRESSED_{RED,RG} cases in _mesa_is_color_format
    • +
    • mesa: Fix misplaced #endif
    • +
    • mesa: Trivial correction to comment
    • +
    • rgtc: Detect RGTC formats as color formats and as compressed formats
    • +
    • docs: Add list of bugs fixed in 7.9
    • +
    • docs: Import 7.9 release notes from 7.9 branch.
    • +
    • docs: Import 7.8.x release notes from 7.8 branch.
    • +
    • docs: download.html does not need to be updated for each release
    • +
    • docs: Update mailing lines from sf.net to freedesktop.org
    • +
    • docs: Import news updates from 7.9 branch
    • +
    • docs: added news item for 7.9 release
    • +
    • glsl: Fail linking if assign_attribute_locations fails
    • +
    • glsl: Refactor 'layout' grammar to match GLSL 1.60 spec grammar
    • +
    • glsl: Slight refactor of error / warning checking for ARB_fcc layout
    • +
    • glsl: Clear type_qualifier using memset
    • +
    • glsl: Wrap ast_type_qualifier contents in a struct in a union
    • +
    • glsl: Regenerate files modified by previous commits
    • +
    • glcpp: Add the define for ARB_explicit_attrib_location when present
    • +
    • glcpp: Regenerate files changes by previous commit
    • +
    • glsl: Add parser support for GL_ARB_explicit_attrib_location layouts
    • +
    • glsl: Regenerate files changes by previous commit
    • +
    • glsl: Track explicit location in AST to IR translation
    • +
    • glsl: Add linker support for explicit attribute locations
    • +
    • main: Enable GL_ARB_explicit_attrib_location for swrast
    • +
    • intel: Enable GL_ARB_explicit_attrib_location
    • +
    • glsl: Remove const decoration from inlined function parameters
    • +
    • docs: skeleton for 7.10 release notes
    • +
    • docs: Update status of GL 3.x related extensions
    • +
    • mesa: Validate assembly shaders when GLSL shaders are used
    • +
    • glsl: Fix incorrect assertion
    • +
    • linker: Reject shaders that have unresolved function calls
    • +
    • mesa: Silence unused variable warning
    • +
    • mesa: Refactor validation of shader targets
    • +
    • mesa: Clean up two 'comparison between signed and unsigned' warnings
    • +
    • mesa: Clean up various 'unused parameter' warnings in shaderapi
    • +
    • glsl: Slightly change the semantic of _LinkedShaders
    • +
    • linker: Trivial indention fix
    • +
    • i965: Fix indentation after commit 3322fbaf
    • +
    • linker: Improve handling of unread/unwritten shader inputs/outputs
    • +
    • glapi: Add GL_EXT_separate_shader_objects
    • +
    • glapi: Commit files changed by previous commit
    • +
    • mesa: Add infrastructure to track GL_EXT_separate_shader_objects
    • +
    • mesa: Skeletal support for GL_EXT_separate_shader_objects
    • +
    • mesa: Add display list support for GL_EXT_separate_shader_objects functions
    • +
    • mesa: Track an ActiveProgram distinct from CurrentProgram
    • +
    • Track separate programs for each stage
    • +
    • swrast: Enable GL_EXT_separate_shader_objects in software paths
    • +
    • intel: Enable GL_EXT_separate_shader_objects in Intel drivers
    • +
    • docs: add GL_EXT_separate_shader_objects to release notes
    • +
    • glsl: Fix incorrect gl_type of sampler2DArray and sampler1DArrayShadow
    • +
    • ir_to_mesa: Refactor code for emitting DP instructions
    • +
    • mesa: Allow query of MAX_SAMPLES with EXT_framebuffer_multisample
    • +
    • glsl: Refactor is_vec_{zero,one} to be methods of ir_constant
    • +
    • glsl: Simplify generation of swizzle for vector constructors
    • +
    • glsl: Make is_zero and is_one virtual methods of ir_rvalue
    • +
    • ir_to_mesa: Generate smarter code for some conditional moves
    • +
    • glsl: Add ir_unop_sin_reduced and ir_unop_cos_reduced
    • +
    • glsl: Eliminate assumptions about size of ir_expression::operands
    • +
    • glsl: Add ir_rvalue::is_negative_one predicate
    • +
    • glsl: Add unary ir_expression constructor
    • +
    • glsl: Add ir_quadop_vector expression
    • +
    • glsl: Fix matrix constructors with vector parameters
    • +
    • i915: Disallow alpha, red, RG, and sRGB as render targets
    • +
    • glsl: Use M_LOG2E constant instead of calling log2
    • +
    • glsl: Lower ir_binop_pow to a sequence of EXP2 and LOG2
    • +
    • i915: Request that POW instructions be lowered
    • +
    • i915: Correctly generate unconditional KIL instructions
    • +
    • glsl: Ensure that equality comparisons don't return a NULL IR tree
    • +
    • i965: Correctly emit constants for aggregate types (array, matrix, struct)
    • +
    • glsl: Inherrit type of declared variable from initializer
    • +
    • linker: Ensure that unsized arrays have a size after linking
    • +
    • linker: Fix regressions caused by previous commit
    • +
    • glsl: Inherrit type of declared variable from initializer after processing assignment
    • +
    • linker: Allow built-in arrays to have different sizes between shader stages
    • +
    • ir_to_mesa: Don't generate swizzles for record derefs of non-scalar/vectors
    • +
    • Refresh autogenerated file builtin_function.cpp.
    • +
    • glsl: Allow less restrictive uses of sampler array indexing in GLSL <= 1.20
    • +
    • docs: Import 7.9.1 release notes from 7.9 branch
    • +

    + +

    Jakob Bornecrantz (27): +

      +
    • rbug: Cast opcode to corrent int size
    • +
    • rbug: Add function to get opcode name string
    • +
    • scons: Link against talloc in the Gallium DRI drivers
    • +
    • i915g: Link with wrapper sw winsys with scons
    • +
    • tgsi: Actually care what check_soa_dependencies says
    • +
    • tgsi: Fix missing test before check
    • +
    • llvmpipe: Move makefile include to before targets
    • +
    • wrapper: Fix spelling
    • +
    • wrapper: Add a way to dewrap a pipe screen without destroying it
    • +
    • egl: Remove unnecessary headers
    • +
    • target-helpers: Remove per target software wrapper check
    • +
    • graw: Tidy graw xlib scons file a bit
    • +
    • scons: Remove old pipebuffer SConscript
    • +
    • scons: Detabify
    • +
    • scons: Check for pkg-config before trying to use it
    • +
    • scons: Check for libdrm_[intel|radeon] as well
    • +
    • scons: Move dependancy checks to the main gallium scons file
    • +
    • scons: Unify state tracker SConscripts
    • +
    • galahad: Correct the name of the scons library
    • +
    • graw: Use inline sw helper instead of roll your own loader
    • +
    • libgl-xlib: Use sw helper instead of roll your own
    • +
    • libgl-xlib: Use inline debug helper instead of non-inline version
    • +
    • graw: Use inline debug helper instead of non-inline version
    • +
    • gallium: Remove redundant sw and debug target helpers
    • +
    • i915g: Improve debug printing for textures
    • +
    • i915g: Make sure that new vbo gets updated
    • +
    • st/mesa: Unbind all constant buffers
    • +

    + +

    Jerome Glisse (75): +

      +
    • r600g: alternative command stream building from context
    • +
    • r600g: move chip class to radeon common structure
    • +
    • r600g: use pipe context for flushing inside map
    • +
    • r600g: add back reference check when mapping buffer
    • +
    • r600g: directly allocate bo for user buffer
    • +
    • r600g: fix multi buffer rendering
    • +
    • r600g: occlusion query for new design
    • +
    • r600g: flush color buffer after draw command
    • +
    • r600g: disable shader rebuild optimization & account cb flush packet
    • +
    • r600g: fix multiple occlusion query on same id
    • +
    • r600g: initial evergreen support in new path
    • +
    • r600g: fix typo in evergreen define (resource are in x range)
    • +
    • r600g: move use_mem_constants flags for new designs structure alignment
    • +
    • r600g: evergreen fix for new design
    • +
    • r600g: fix compilation after change to evergreend.h
    • +
    • r600g: fixup some evergreen register definitions
    • +
    • r600g: fix evergreen new path
    • +
    • r600g: fix reg definition
    • +
    • r600g: fix evergreen new path
    • +
    • r600g: bring over fix from old path to new path
    • +
    • r600g: fix vertex resource & polygon offset
    • +
    • r600g: disable early cull optimization when occlusion query running
    • +
    • r600g: move around variables to share depth uncompression code
    • +
    • r600g: use depth decompression in new path
    • +
    • r600g: fix index buffer drawing
    • +
    • r600g: build packet header once
    • +
    • r600g: fix pointsprite & resource unbinding
    • +
    • r600g: fix routing btw vertex & pixel shader
    • +
    • r600g: fix occlusion query after change to block structure
    • +
    • r600g: use ptr for blit depth uncompress function
    • +
    • r600g: fix remaining piglit issue in new design
    • +
    • r600g: switch to new design
    • +
    • r600g: suspend/resume occlusion query around clear/copy
    • +
    • r600g: avoid rebuilding the vertex shader if no change to input format
    • +
    • r600g: use a hash table instead of group
    • +
    • r600g: delete old path
    • +
    • r600g: cleanup
    • +
    • r600g: more cleanup
    • +
    • r600g: use constant buffer instead of register for constant
    • +
    • r600g: fix constant & literal src splitting, also fix mplayer gl2 shader
    • +
    • evergreeng: avoid overlapping border color btw VS & PS
    • +
    • r600g: indentation fixes
    • +
    • r600g: rename radeon_ws_bo to r600_bo
    • +
    • r600g: allow r600_bo to be a sub allocation of a big bo
    • +
    • r600g: use r600_bo for relocation argument, simplify code
    • +
    • r600g: rename radeon_ws_bo to r600_bo
    • +
    • r600g: remove dead label & fix indentation
    • +
    • r600g: store reloc information in bo structure
    • +
    • r600g: improve bo flushing
    • +
    • r600g: simplify block relocation
    • +
    • r600g: userspace fence to avoid kernel call for testing bo busy status
    • +
    • r600g: avoid segfault due to unintialized list pointer
    • +
    • r600g: fix dirty state handling
    • +
    • r600g: allow driver to work without submitting cmd to GPU
    • +
    • gallium/noop: no operation gallium driver
    • +
    • r600g: code cleanup (indent, trailing space, empty line ...)
    • +
    • r600g: fix occlusion query on evergreen (avoid lockup)
    • +
    • r600g: add fetch shader capabilities
    • +
    • r600g: dump raw shader output for debugging
    • +
    • r600g: update polygon offset only when rasterizer or zbuffer change
    • +
    • r600g: indentation fix
    • +
    • r600g: more indentation fix + warning silencing + dead code removal
    • +
    • r600g: build fetch shader from vertex elements
    • +
    • r600g: avoid useless shader rebuild at draw call
    • +
    • r600g: remove useless flush map
    • +
    • r600g: remove dead code
    • +
    • r600g: fix userspace fence against lastest kernel
    • +
    • r600g: avoid using pb* helper we are loosing previous cpu cycle with it
    • +
    • r600g: specialized upload manager
    • +
    • r600g: indentation cleanup
    • +
    • r600g: fix bo size when creating bo from handle
    • +
    • r600g: fix segfault when translating vertex buffer
    • +
    • r600g: need to reference upload buffer as the might still live accross flush
    • +
    • r600g: properly unset vertex buffer
    • +
    • r600g: avoid segfault
    • +

    + +

    Joakim Sindholt (3): +

      +
    • util/u_blitter: fix leak
    • +
    • radeong: fix leaks
    • +
    • r300g: silence guard band cap errors
    • +

    + +

    Johann Rudloff (3): +

      +
    • radeon: Implement EGL_MESA_no_surface_extension
    • +
    • radeon: Implement __DRI_IMAGE and EGL_MESA_image_drm
    • +
    • radeon: Implement GL_OES_EGL_image
    • +

    + +

    John Doe (3): +

      +
    • r600g: misc cleanup
    • +
    • r600g: don't double count dirty block
    • +
    • r600g: keep a mapping around for each bo
    • +

    + +

    Jon TURNEY (1): +

      +
    • Ensure -L$(TOP)/$(LIB_DIR) appears in link line before any -L in $LDFLAGS
    • +

    + +

    José Fonseca (128): +

      +
    • gallivm: Fix address register swizzle.
    • +
    • gallivm: Start collecting bitwise arithmetic helpers in a new module.
    • +
    • gallivm: Clamp indirect register indices to file_max.
    • +
    • util: linearized sRGB values don't fit into 8bits
    • +
    • llvmpipe: Default to no threading on single processor systems.
    • +
    • tgsi: Don't ignore indirect registers in tgsi_check_soa_dependencies
    • +
    • llvmpipe: Describe how to profile llvmpipe.
    • +
    • llvmpipe: When failing free fs shader too.
    • +
    • util: Flush stdout on util_format.
    • +
    • gallivm: Add unorm support to lp_build_lerp()
    • +
    • llvmpipe: Special case complementary and identify blend factors in SoA.
    • +
    • llvmpipe: Make rgb/alpha bland func/factors match, when there is no alpha.
    • +
    • draw: Prevent clipped vertices overflow.
    • +
    • draw: Fullfil the new min_lod/max_lod/lod_bias/border_color dynamic state
    • +
    • gallivm: Fetch the lod from the dynamic state when min_lod == max_lod.
    • +
    • gallivm: Remove dead experimental code.
    • +
    • llvmpipe: Decouple sampler view and sampler state updates.
    • +
    • scons: New build= option, with support for checked builds.
    • +
    • scons: New build= option, with support for checked builds.
    • +
    • trace: Fix set_index_buffer and draw_vbo tracing.
    • +
    • python/retrace: Handle set_index_buffer and draw_vbo.
    • +
    • gallivm: Use SSE4.1's ROUNDSS/ROUNDSD for scalar rounding.
    • +
    • gallivm: More comprehensive border usage logic.
    • +
    • retrace: Handle clear_render_target and clear_depth_stencil.
    • +
    • llvmpipe: Dump a few missing shader key flags.
    • +
    • llvmpipe: Fix perspective interpolation for point sprites.
    • +
    • llvmpipe: Fix sprite coord perspective interpolation of Q.
    • +
    • gallivm: Take the type signedness in consideration in round/ceil/floor.
    • +
    • gallivm: Use a faster (and less accurate) log2 in lod computation.
    • +
    • gallivm: Fast implementation of iround(log2(x))
    • +
    • gallivm: Combined ifloor & fract helper.
    • +
    • gallivm: Only apply min/max_lod when necessary.
    • +
    • gallivm: Compute lod as integer whenever possible.
    • +
    • util: Cleanup util_pack_z_stencil and friends.
    • +
    • llvmpipe: Cleanup depth-stencil clears.
    • +
    • gallivm: Vectorize the rho computation.
    • +
    • gallivm: Do not do mipfiltering when magnifying.
    • +
    • gallivm: Simplify lp_build_mipmap_level_sizes' interface.
    • +
    • gallivm: Don't compute the second mipmap level when frac(lod) == 0
    • +
    • gallivm: Use lp_build_ifloor_fract for lod computation.
    • +
    • gallivm: Clamp mipmap level and zero mip weight simultaneously.
    • +
    • gallivm: Fix copy'n'paste typo in previous commit.
    • +
    • gallivm: Implement brilinear filtering.
    • +
    • gallivm: Use the wrappers for SSE pack intrinsics.
    • +
    • gallivm: Avoid control flow for two-sided stencil test.
    • +
    • gallivm: Warn when doing inefficient integer comparisons.
    • +
    • gallivm: Move into the as much of the second level code as possible.
    • +
    • llvmpipe: First minify the texture size, then broadcast.
    • +
    • gallivm: Help for combined extraction and broadcasting.
    • +
    • gallivm: Do size computations simultanously for all dimensions (AoS).
    • +
    • llvmpipe: Prevent z > 1.0
    • +
    • llvmpipe: Fix MSVC build. Enable the new SSE2 code on non SSE3 systems.
    • +
    • gallivm: Handle code have ret correctly.
    • +
    • util: Defined M_SQRT2 when not available.
    • +
    • gallivm: Less code duplication in log computation.
    • +
    • gallivm: Special bri-linear computation path for unmodified rho.
    • +
    • gallivm: Don't generate Phis for execution mask.
    • +
    • gallivm: Use varilables instead of Phis for cubemap selection.
    • +
    • gallivm: Remove support for Phi generation.
    • +
    • gallivm: Factor out the SI->FP texture size conversion for SoA path too
    • +
    • gallivm: Simplify if/then/else implementation.
    • +
    • gallivm: Cleanup the rest of the flow module.
    • +
    • gallivm: Fix a long standing bug with nested if-then-else emission.
    • +
    • gallivm: Allow to disable bri-linear filtering with GALLIVM_DEBUG=no_brilinear runtime option
    • +
    • gallivm: Use variables instead of Phis in loops.
    • +
    • gallivm: Pass texture coords derivates as scalars.
    • +
    • llvmpipe: Remove outdated comment about stencil testing.
    • +
    • gallivm: Eliminate unsigned integer arithmetic from texture coordinates.
    • +
    • gallium: Define C99 restrict keyword where absent.
    • +
    • tgsi: Export some names for some tgsi enums.
    • +
    • gallivm: More detailed analysis of tgsi shaders.
    • +
    • llvmpipe: Use lp_tgsi_info.
    • +
    • llvmpipe: Do not dispose the execution engine.
    • +
    • llvmpipe: Fix MSVC build.
    • +
    • llmvpipe: improve mm_mullo_epi32
    • +
    • gallivm: Name anonymous union.
    • +
    • llvmpipe: Unbreak Z32_FLOAT.
    • +
    • gallivm: More accurate float -> 24bit & 32bit unorm conversion.
    • +
    • llvmpipe: Generalize the x8z24 fast path to all depth formats.
    • +
    • llvmpipe: Fix depth-stencil regression.
    • +
    • llvmpipe: Ensure z_shift and z_width is initialized.
    • +
    • gallivm: Fix SoA cubemap derivative computation.
    • +
    • llvmpipe: Fix bad refactoring.
    • +
    • llvmpipe: Initialize bld ctx via lp_build_context_init instead of ad-hoc and broken code.
    • +
    • gallivm: Comment lp_build_insert_new_block().
    • +
    • gallivm: Add a note about SSE4.1's nearest mode rounding.
    • +
    • llvmpipe: Don't test rounding of x.5 numbers.
    • +
    • gallium: Avoid using __doc__ in python scripts.
    • +
    • gallivm: always enable LLVMAddInstructionCombiningPass()
    • +
    • gallivm: Remove the EMMS opcodes.
    • +
    • mesa: Fix windows build (uint -> GLuint).
    • +
    • scons: Revamp how to specify targets to build.
    • +
    • scons: Fix MinGW cross-compilation.
    • +
    • scons: Some pipe drivers are not portable for MSVC
    • +
    • scons: Restore x11 tool behavior for backwards compatability.
    • +
    • scons: Disable python state tracker when swig is not present.
    • +
    • r600g: List recently added files in SConscript.
    • +
    • scons: Add aliases for several pipe drivers.
    • +
    • scons: i915 can't build on MSVC either.
    • +
    • scons: Propagate installation targets.
    • +
    • xorg/vmwgfx: Add missing source file to SConscript.
    • +
    • st/xorg: Add missing n to error message.
    • +
    • st/xorg: Detect libkms with scons too.
    • +
    • xorg/vmwgfx: Link libkms when available.
    • +
    • r600g: Swap the util_blitter_destroy call order.
    • +
    • gallivm: Allocate TEMP/OUT arrays only once.
    • +
    • libgl-gdi: Allow to pick softpipe/llvmpipe on runtime.
    • +
    • scons: Use inline wrap helpers more consistently.
    • +
    • svga: Use consistent hexadecimal representation on debug output.
    • +
    • scons: Alias for svga
    • +
    • wgl: Stub WGL_ARB_pbuffer support.
    • +
    • wgl: More complete WGL_ARB_pbuffer support.
    • +
    • svga: Silence debug printf.
    • +
    • scons: Move MSVS_VERSION option to common module.
    • +
    • vega: Remove extraneous ;
    • +
    • retrace: Some fixes.
    • +
    • util: C++ safe.
    • +
    • wgl: Fix double free. Remove dead code.
    • +
    • util: Plug leaks in util_destroy_gen_mipmap.
    • +
    • util: __builtin_frame_address() doesn't work on mingw.
    • +
    • util: Don't try to use imagehlp on mingw.
    • +
    • wgl: Unreference the current framebuffer after the make_current call.
    • +
    • WIN32_THREADS -> WIN32
    • +
    • mapi: Hack to avoid vgCreateFont being generated as vgCreateFontA.
    • +
    • wgl: Fix visual's buffer_mask configuration.
    • +
    • mesa: Temporary hack to prevent stack overflow on windows
    • +
    • mesa: Bump the number of bits in the register index.
    • +
    • llvmpipe: Plug fence leaks.
    • +

    + +

    Julien Cristau (1): +

      +
    • Makefile: don't include the same files twice in the tarball
    • +

    + +

    Keith Whitwell (89): +

      +
    • llvmpipe: brackets around macro arg
    • +
    • llvmpipe: remove duplicate code
    • +
    • llvmpipe: return zero from floor_pot(zero)
    • +
    • gallivm: make lp_build_sample_nop public
    • +
    • llvmpipe: add LP_PERF flag to disable various aspects of rasterization
    • +
    • llvmpipe: add DEBUG_FS to dump variant information
    • +
    • llvmpipe: use llvm for attribute interpolant calculation
    • +
    • graw: add frag-face shader
    • +
    • llvmpipe: fix flatshading in new line code
    • +
    • draw: don't apply flatshading to clipped tris with <3 verts
    • +
    • llvmpipe: handle FACING interpolants in line and point setup
    • +
    • llvmpipe: handle up to 8 planes in triangle binner
    • +
    • llvmpipe: make debug_fs_variant respect variant->nr_samplers
    • +
    • gallivm: don't apply zero lod_bias
    • +
    • llvmpipe: fail gracefully on oom in scene creation
    • +
    • llvmpipe: avoid overflow in triangle culling
    • +
    • gallivm: special case conversion 4x4f to 1x16ub
    • +
    • gallivm: round rather than truncate in new 4x4f->1x16ub conversion path
    • +
    • llvmpipe: clean up setup_tri a little
    • +
    • llvmpipe: add rast_tri_4_16 for small lines and points
    • +
    • llvmpipe: fix off-by-one in tri_16
    • +
    • llvmpipe: defer attribute interpolation until after mask and ztest
    • +
    • llvmpipe: use alloca for fs color outputs
    • +
    • llvmpipe: store zero into all alloca'd values
    • +
    • llvmpipe: dump fragment shader ir and asm when LP_DEBUG=fs
    • +
    • gallivm: specialized x8z24 depthtest path
    • +
    • gallivm: prefer blendvb for integer arguments
    • +
    • gallivm: simpler uint8->float conversions
    • +
    • llvmpipe: try to be sensible about whether to branch after mask updates
    • +
    • llvmpipe: clean up shader pre/postamble, try to catch more early-z
    • +
    • llvmpipe: simplified SSE2 swz/unswz routines
    • +
    • llvmpipe: try to do more of rast_tri_3_16 with intrinsics
    • +
    • llvmpipe: add debug helpers for epi32 etc
    • +
    • llvmpipe: try to keep plane c values small
    • +
    • llvmpipe: fix typo in last commit
    • +
    • gallium: move sse intrinsics debug helpers to u_sse.h
    • +
    • r600g: add missing file to sconscript
    • +
    • gallivm: don't branch on KILLs near end of shader
    • +
    • Revert "llvmpipe: try to keep plane c values small"
    • +
    • llvmpipe: make sure intrinsics code is guarded with PIPE_ARCH_SSE
    • +
    • llvmpipe: don't try to emit non-existent color outputs
    • +
    • r600/drm: fix segfaults in winsys create failure path
    • +
    • r600g: emit hardware linewidth
    • +
    • r600g: handle absolute modifier in shader translator
    • +
    • llvmpipe: reintroduce SET_STATE binner command
    • +
    • llvmpipe: don't pass frontfacing as a float
    • +
    • llvmpipe: slightly shrink the size of a binned triangle
    • +
    • llvmpipe: don't store plane.ei value in binned data
    • +
    • gallium: move some intrinsics helpers to u_sse.h
    • +
    • llvmpipe: do plane calculations with intrinsics
    • +
    • llvmpipe: use aligned loads/stores for plane values
    • +
    • llvmpipe: fix non-sse build after recent changes
    • +
    • llvmpipe: check shader outputs are non-null before using
    • +
    • llvmpipe: validate color outputs against key->nr_cbufs
    • +
    • llvmpipe: clean up fields in draw_llvm_variant_key
    • +
    • llvmpipe: remove setup fallback path
    • +
    • llvmpipe: fail cleanly on malloc failure in lp_setup_alloc_triangle
    • +
    • Merge remote branch 'origin/master' into lp-setup-llvm
    • +
    • llvmpipe: remove unused file
    • +
    • llvmpipe: remove unused arg from jit_setup_tri function
    • +
    • Merge branch 'llvm-cliptest-viewport'
    • +
    • draw: make sure viewport gets updated in draw llvm shader
    • +
    • llvmpipe: turn off draw offset/twoside when we can handle it
    • +
    • llvmpipe: avoid generating tri_16 for tris which extend past tile bounds
    • +
    • llvmpipe: guard against NULL task->query pointer
    • +
    • st/mesa: unbind constant buffer when not in use
    • +
    • r600g: propagate usage flags in texture transfers
    • +
    • r600g: propogate resource usage flags to winsys, use to choose bo domains
    • +
    • r600g: use a buffer in GTT as intermediate on texture up and downloads
    • +
    • r600g: remove unused flink, domain fields from r600_resource
    • +
    • r600g: set hardware pixel centers according to gl_rasterization_rules
    • +
    • evergreeng: protect against null constant buffers
    • +
    • r600g: don't call debug_get_bool_option for tiling more than once
    • +
    • evergreeng: respect linewidth state, use integer widths only
    • +
    • evergreeng: set hardware pixelcenters according to gl_rasterization_rules
    • +
    • r600g: avoid recursion with staged uploads
    • +
    • r600g: attempt to turn on DXTn formats
    • +
    • r600g: translate ARR instruction
    • +
    • r600: fix my pessimism about PIPE_TRANSFER_x flags
    • +
    • ws/r600: match bo_busy shared/fence logic in bo_wait
    • +
    • r600g: guard experimental s3tc code with R600_ENABLE_S3TC
    • +
    • r600g: do not try to use staging resource for depth textures
    • +
    • r600g: enforce minimum stride on render target texture images
    • +
    • llvmpipe: fix up twoside after recent changes
    • +
    • llvmpipe: twoside for specular color also
    • +
    • Merge branch 'lp-offset-twoside'
    • +
    • llvmpipe: raise dirty flag on transfers to bound constbuf
    • +
    • llvmpipe: remove misleading debug string
    • +
    • llvmpipe: shortcircuit some calls to set_scene_state
    • +

    + +

    Kenneth Graunke (94): +

      +
    • glsl: Change from has_builtin_signature to has_user_signature.
    • +
    • glsl: Don't print blank (function ...) headers for built-ins.
    • +
    • glsl: Properly handle nested structure types.
    • +
    • glsl/builtins: Fix equal and notEqual builtins.
    • +
    • glsl/builtins: Switch comparison functions to just return an expression.
    • +
    • glsl: Add comments to clarify the types of comparison binops.
    • +
    • glsl: Fix broken handling of ir_binop_equal and ir_binop_nequal.
    • +
    • glsl: "Copyright", not "Constantright"
    • +
    • i965: Fix incorrect batchbuffer size in gen6 clip state command.
    • +
    • i965: Use logical-not when emitting ir_unop_ceil.
    • +
    • glsl: Add front-end support for the "trunc" built-in.
    • +
    • glsl: Refresh autogenerated file builtin_function.cpp.
    • +
    • i965: Use RNDZ for ir_unop_trunc in the new FS.
    • +
    • i965: Correctly emit the RNDZ instruction.
    • +
    • i965: Clean up a warning in the old fragment backend.
    • +
    • glsl: Add a new ir_unop_round_even opcode for GLSL 1.30's roundEven.
    • +
    • glsl: Add front-end support for GLSL 1.30's roundEven built-in.
    • +
    • i965: Add support for ir_unop_round_even via the RNDE instruction.
    • +
    • glsl: Add support for the 1.30 round() built-in.
    • +
    • glsl: Refresh autogenerated file builtin_function.cpp.
    • +
    • glsl: Don't return NULL IR for erroneous bit-shift operators.
    • +
    • i965: Add missing "break" statement.
    • +
    • glsl: Fix copy and paste error in ast_bit_and node creation.
    • +
    • glsl: Regenerate parser files.
    • +
    • i965: Remove unused variable.
    • +
    • glsl: Remove useless ir_shader enumeration value.
    • +
    • mesa: Remove FEATURE_ARB_shading_language_120 macro.
    • +
    • glcpp: Return NEWLINE token for newlines inside multi-line comments.
    • +
    • glcpp: Refresh autogenerated lexer file.
    • +
    • glsl: Add support for GLSL 1.30's modf built-in.
    • +
    • glsl: Refresh autogenerated file builtin_function.cpp.
    • +
    • generate_builtins.py: Output large strings as arrays of characters.
    • +
    • Refresh autogenerated file builtin_function.cpp.
    • +
    • glsl: Fix constant component count in vector constructor emitting.
    • +
    • Fix build on systems where "python" is python 3.
    • +
    • i965: Add bit operation support to the fragment shader backend.
    • +
    • glsl: Remove unused ARRAY_SIZE macro.
    • +
    • glsl/builtins: Rename 'x' to 'y_over_x' in atan(float) implementation.
    • +
    • glsl/builtins: Clean up some ugly autogenerated code in atan.
    • +
    • Refresh autogenerated file builtin_function.cpp.
    • +
    • glsl: Don't print a useless space at the end of an S-Expression list.
    • +
    • ir_reader: Return a specific ir_dereference variant.
    • +
    • ir_reader: Remove useless error check.
    • +
    • ir_reader: Fix some potential NULL pointer dereferences.
    • +
    • ir_dead_functions: Actually free dead functions and signatures.
    • +
    • glsl: Remove unnecessary "unused variable" warning suppression.
    • +
    • glsl: Remove GLSL_TYPE_FUNCTION define.
    • +
    • glsl: Convert glsl_type::base_type from #define'd constants to an enum.
    • +
    • glsl: Rework reserved word/keyword handling in the lexer.
    • +
    • glsl: Add new keywords and reserved words for GLSL 1.30.
    • +
    • glsl: Add support for the 'u' and 'U' unsigned integer suffixes.
    • +
    • glsl: Refresh autogenerated lexer and parser files.
    • +
    • generate_builtins.py: Fix inconsistent use of tabs and spaces warning.
    • +
    • glsl: Implement the asinh, acosh, and atanh built-in functions.
    • +
    • glsl: Refresh autogenerated file builtin_function.cpp.
    • +
    • glsl: Add constant expression handling for asinh, acosh, and atanh.
    • +
    • glsl: Remove unused and out of date Makefile.am.
    • +
    • glsl: Rename various ir_* files to lower_* and opt_*.
    • +
    • glcpp: Define GL_FRAGMENT_PRECISION_HIGH if GLSL version >= 1.30.
    • +
    • Refresh autogenerated glcpp parser.
    • +
    • glsl: Fix constant expression handling for <, >, <=, >= on vectors.
    • +
    • glsl: Unconditionally define GL_FRAGMENT_PRECISION_HIGH in ES2 shaders.
    • +
    • Regenerate glcpp parser.
    • +
    • glsl: Reimplement the "cross" built-in without ir_binop_cross.
    • +
    • Refresh autogenerated file builtin_function.cpp.
    • +
    • glsl: Remove the ir_binop_cross opcode.
    • +
    • glsl: Refactor get_num_operands.
    • +
    • glsl: Simplify a type check by using type->is_integer().
    • +
    • glsl: Combine many instruction lowering passes into one.
    • +
    • mesa: Fix glGet of ES2's GL_MAX_*_VECTORS properties.
    • +
    • glsl: Don't inline function prototypes.
    • +
    • glsl: Use do_common_optimization in the standalone compiler.
    • +
    • glsl: Add a virtual as_discard() method.
    • +
    • glsl: Refactor out cloning of function prototypes.
    • +
    • glsl: Lazily import built-in function prototypes.
    • +
    • glsl: Remove anti-built-in hacks from the print visitor.
    • +
    • glsl/linker: Free any IR discarded by optimization passes.
    • +
    • glsl: Add an optimization pass to simplify discards.
    • +
    • glsl: Add a lowering pass to move discards out of if-statements.
    • +
    • glsl: Remove "discard" support from lower_jumps.
    • +
    • glsl: Add comments to lower_jumps (from the commit message).
    • +
    • ir_print_visitor: Print out constant structure values.
    • +
    • glsl: Factor out code which emits a new function into the IR stream.
    • +
    • symbol_table: Add support for adding a symbol at top-level/global scope.
    • +
    • glsl: Properly add functions during lazy built-in prototype importing.
    • +
    • glcpp: Don't emit SPACE tokens in conditional_tokens production.
    • +
    • Refresh autogenerated glcpp parser.
    • +
    • glsl: Clean up code by adding a new is_break() function.
    • +
    • glsl: Consider the "else" branch when looking for loop breaks.
    • +
    • Remove OES_compressed_paletted_texture from the ES2 extension list.
    • +
    • glsl/builtins: Compute the correct value for smoothstep(vec, vec, vec).
    • +
    • glsl: Support if-flattening beyond a given maximum nesting depth.
    • +
    • i965: Flatten if-statements beyond depth 16 on pre-gen6.
    • +
    • i965: Internally enable GL_NV_blend_square on ES2.
    • +

    + +

    Kristian Høgsberg (16): +

      +
    • glx: Hold on to drawables if we're just switching to another context
    • +
    • intel: Fix GL_ARB_shading_language_120 commit
    • +
    • dri2: Make createImageFromName() take a __DRIscreen instead of __DRIcontext
    • +
    • glx: Invalidate buffers after binding a drawable
    • +
    • dri: Pass the __DRIscreen and the __DRIscreen private back to image lookup
    • +
    • glx: Only remove drawables from the hash when we actually delete them
    • +
    • gles2: Add GL_EXT_texture_format_BGRA8888 support
    • +
    • Get rid of GL/internal/glcore.h
    • +
    • gl: Remove unused GLcontextModes fields
    • +
    • Rename GLvisual and __GLcontextModes to struct gl_config
    • +
    • Drop GLframebuffer typedef and just use struct gl_framebuffer
    • +
    • Drop GLcontext typedef and use struct gl_context instead
    • +
    • Drop the "neutral" tnl module
    • +
    • Only install vtxfmt tables for OpenGL
    • +
    • i965: Don't write mrf assignment for pointsize output
    • +
    • docs: Fix MESA_drm_image typo
    • +

    + +

    Krzysztof Smiechowicz (1): +

      +
    • nvfx: Pair os_malloc_aligned() with os_free_aligned().
    • +

    + +

    Luca Barbieri (84): +

      +
    • auxiliary: fix unintended fallthrough
    • +
    • glsl: add pass to lower variable array indexing to conditional assignments
    • +
    • auxiliary: fix depth-only and stencil-only clears
    • +
    • gallium: avoid the C++ keyword "template" in sw_winsys.h
    • +
    • softpipe: make z/s test always pass if no zsbuf, instead of crashing
    • +
    • tgsi: add switch/case opcodes to tgsi_opcode_tmp.h
    • +
    • softpipe: fix whitespace
    • +
    • d3d1x: add new Direct3D 10/11 COM state tracker for Gallium
    • +
    • d3d1x: add blob and signature extraction APIs
    • +
    • d3d1x: fix compilation with recent Wine versions installed
    • +
    • d3d1x: add missing file
    • +
    • d3d1x: actually enable and fix blob apis
    • +
    • d3d1x: fix build with compilers other than GCC 4.5
    • +
    • d3d1x: add template parameters to base class ctor calls for GCC 4.4
    • +
    • d3d1x: fix GCC 4.1/4.2 build
    • +
    • d3d1x: ignore errors while building docs
    • +
    • d3d1x: attempt to fix/workaround bug #30322
    • +
    • nvfx: remove gl_PointCoord hack
    • +
    • glx: decouple dri2.c and GLX, fixing Gallium EGL and d3d1x build
    • +
    • winsys: automatically build sw winsys needed by EGL and d3d1x
    • +
    • d3d1x: don't build progs automatically
    • +
    • d3d1x: add missing memory barrier
    • +
    • d3d1x: link with CXXFLAGS
    • +
    • d3d1x: fix cf analysis
    • +
    • d3d1x: fix warning
    • +
    • d3d1x: fix segfault when hashing
    • +
    • d3d1x: destroy native_display on adapter destruction
    • +
    • d3d1x: fix GUID declarations
    • +
    • d3d1x: redesign the HWND resolver interface
    • +
    • d3d1x: fix API name
    • +
    • d3d1x: define GUIDs in the normal way
    • +
    • d3d1x: add Wine dlls (tri, tex working, but no other testing)
    • +
    • d3d1x: properly reference count the backend
    • +
    • d3d1x: fix deadlocks on non-recursive mutex
    • +
    • d3d1x: bind NULL CSOs before destroying default CSOs on context dtor
    • +
    • d3d1x: initialize the mutex
    • +
    • d3d1x: autogenerate shader enums and text from def files
    • +
    • d3d1x: s/tpf/sm4/g
    • +
    • d3d1x: normalize whitespace
    • +
    • d3d1x: remove specstrings
    • +
    • d3d1x: minifix
    • +
    • d3d1x: rename context params
    • +
    • d3d11: rename screen params
    • +
    • d3d1x: rename params in misc and objects
    • +
    • d3d1x: rename parameters in dxgi
    • +
    • d3d11: obliterate IDL parameter names
    • +
    • d3d1x: remove specstrings.h include
    • +
    • d3d1x: flush the pipe context when presenting
    • +
    • d3d1x: remove another include specstrings.h
    • +
    • d3d1x: flush properly
    • +
    • d3d1x: add missing guid.cpp
    • +
    • d3d1x: fix build without system EGL/egl.h
    • +
    • d3d1x: add autogenerated files as prerequisites, so make builds them
    • +
    • d3d1x: obliterate IDL parameter names from d3d10.idl from Wine too
    • +
    • d3d1x: add shader dumping
    • +
    • d3d1x: add untested support for geometry shader translation
    • +
    • d3d1x: don't assert on unsupported resource types
    • +
    • d3d1x: fix CheckMultisampleQualityLevels
    • +
    • d3d1x: draw to the correct buffer
    • +
    • d3d1x: fix linking of dxbc2tgsi
    • +
    • nvfx: allow setting NULL constant buffers
    • +
    • nvfx: add RGB framebuffer format support in addition to BGR
    • +
    • d3d1x: don't crash on drivers not supporting vertex or geometry sampling
    • +
    • d3d1x: assert if X visual is not among enumerated visuals
    • +
    • d3d1x: stop using GLX in demos, just use the default visual
    • +
    • d3d1x: CRLF -> LF in progs
    • +
    • mesa: make makedepend an hard requirement
    • +
    • gallium: add $(PROGS_DEPS) as dependencies for $(PROGS)
    • +
    • d3d1x: fix parallel build
    • +
    • d3d1x: add private gitignore file
    • +
    • d3d1x: fix progs linking if not all EGL platforms are enabled
    • +
    • d3d1x: link progs with CXXFLAGS
    • +
    • d3d11: advertise IDXGIDevice1, not just IDXGIDevice
    • +
    • d3d11: ignore StructureByteStride
    • +
    • d3d1x: link to libdrm for X11 platform too
    • +
    • ureg: support centroid interpolation
    • +
    • d3d1x: support centroid interpolation
    • +
    • d3d1x: properly support specifying MipLevels as 0
    • +
    • d3d1x: put proper calling convention in headers, fixes 64-bit builds
    • +
    • d3d1x: rework DXGI for occlusion testing and default width/height
    • +
    • d3d1x: fix Map
    • +
    • d3d11: fix reference counting so devices get freed
    • +
    • d3d1x: work around crash in widl
    • +
    • glsl: Unroll loops with conditional breaks anywhere (not just the end)
    • +

    + +

    Lucas Stach (1): +

      +
    • nvfx: fill PIPE_CAP_PRIMITIVE_RESTART and PIPE_CAP_SHADER_STENCIL_EXPORT
    • +

    + +

    Marek Olšák (100): +

      +
    • r300g: prevent creating multiple winsys BOs for the same handle
    • +
    • r300g/swtcl: fix CS overrun
    • +
    • st/mesa: fix assertion failure in GetTexImage for cubemaps
    • +
    • util: make calling remove_from_list multiple times in a row safe
    • +
    • r300g: fixup long-lived BO maps being incorrectly unmapped when flushing
    • +
    • r300g: make accessing map_list and buffer_handles thread-safe
    • +
    • r300g: fix a copy-paste typo for logging
    • +
    • r300g: fix the border color for every format other than PIPE_FORMAT_B8G8R8A8
    • +
    • Build r300g by default
    • +
    • util: fix util_pack_color for B4G4R4A4
    • +
    • r300g: fix macrotiling on R350
    • +
    • r300g: code cleanups
    • +
    • r300/compiler: fix projective mapping of 2D NPOT textures
    • +
    • r300/compiler: do not use copy propagation if SaturateMode is used
    • +
    • r300/compiler: fix shadow sampling with swizzled coords
    • +
    • r300g: add support for 3D NPOT textures without mipmapping
    • +
    • r300g: fix swizzling of texture border color
    • +
    • configure.ac: look for libdrm_radeon before building gallium/r300,r600
    • +
    • configure.ac: do not build xorg-r300g by default
    • +
    • Makefile: ensure Gallium's Makefile.xorg and SConscript.dri are in the tarball
    • +
    • r300g: add support for formats beginning with X, like X8R8G8B8
    • +
    • r300g: fix conditional rendering in non-wait path
    • +
    • r300g: add support for R8G8 colorbuffers
    • +
    • r300g: add support for L8A8 colorbuffers
    • +
    • update release notes for Gallium
    • +
    • r300g: fix microtiling for 16-bits-per-channel formats
    • +
    • r300g: do not print get_param errors in non-debug build
    • +
    • r300g: say no to PIPE_CAP_STREAM_OUTPUT and PIPE_CAP_PRIMITIVE_RESTART
    • +
    • mesa: allow FBO attachments of formats LUMINANCE, LUMINANCE_ALPHA, and INTENSITY
    • +
    • r300g: fix texture border for 16-bits-per-channel formats
    • +
    • st/mesa: support RGBA16 and use it for RGBA12 as well
    • +
    • r300g: add a default channel ordering of texture border for unhandled formats
    • +
    • r300g: mention ATI in the renderer string
    • +
    • r300g: rename has_hyperz -> can_hyperz
    • +
    • r300g: turn magic numbers into names in the hyperz code
    • +
    • gallium: add CAPs for indirect addressing and lower it in st/mesa when needed
    • +
    • tgsi: fill out CAPs for indirect addressing
    • +
    • i915g: fill out CAPs for indirect addressing
    • +
    • i965g: fill out CAPs for indirect addressing
    • +
    • nv50: fill out CAPs for indirect addressing
    • +
    • nvfx: fill out CAPs for indirect addressing
    • +
    • r300g: fill out CAPs for indirect addressing
    • +
    • r600g: fill out CAPs for indirect addressing
    • +
    • svga: fill out CAPs for indirect addressing
    • +
    • r300g: fix texture border color for all texture formats
    • +
    • r300g: clean up redundancy in draw functions
    • +
    • r300g: return shader caps from Draw for SWTCL vertex shaders
    • +
    • r300g: remove the hack with OPCODE_RET
    • +
    • r300g: print FS inputs uninitialized due to hardware limits to stderr
    • +
    • r300g: fix rendering with no vertex elements
    • +
    • st/mesa: enable ARB_explicit_attrib_location and EXT_separate_shader_objects
    • +
    • docs: add GL 4.1 status
    • +
    • gallium: add PIPE_SHADER_CAP_SUBROUTINES
    • +
    • st/mesa: set MaxUniformComponents
    • +
    • u_blitter: use PIPE_TRANSFER_DISCARD to prevent cpu/gpu stall
    • +
    • r300/compiler: fix rc_rewrite_depth_out for it to work with any instruction
    • +
    • r300/compiler: remove duplicate function rc_mask_to_swz
    • +
    • r300/compiler: add a function for swizzling a mask
    • +
    • r300/compiler: move util functions to radeon_compiler_util
    • +
    • u_blitter: interpolate clear color using a GENERIC varying instead of COLOR
    • +
    • st/mesa: fix texture border color for RED and RG base formats
    • +
    • util: rename u_mempool -> u_slab
    • +
    • r300g: fix texture border color once again
    • +
    • r300/compiler: implement and lower OPCODE_CLAMP
    • +
    • ir_to_mesa: Add support for conditional discards.
    • +
    • r300g: fix texture swizzling with compressed textures on r400-r500
    • +
    • r300g: disable ARB_texture_swizzle if S3TC is enabled on r3xx-only
    • +
    • r300g: fix up cubemap texture offset computation
    • +
    • r300/compiler: disable the swizzle lowering pass in vertex shaders
    • +
    • r300g: fix build
    • +
    • r300g: use internal BO handle for add_buffer and write_reloc
    • +
    • r300g: implement simple transfer_inline_write for buffers
    • +
    • mesa, st/mesa: fix gl_FragCoord with FBOs in Gallium
    • +
    • r300g: fix pointer arithmetic with void* in transfer_inline_write
    • +
    • r300g: do not remove unused constants if we are not near the limit
    • +
    • r300g: add capability bit index_bias_supported
    • +
    • r300g: one more r500_index_bias_supported leftover
    • +
    • r300g: do not use the index parameter in set_constant_buffer
    • +
    • r300g: cleanup winsys
    • +
    • r300g: optimize looping over atoms
    • +
    • st/mesa: initialize key in st_vp_varient
    • +
    • u_blitter: use util_is_format_compatible in the assert
    • +
    • r300g: cache packet dwords of 3D_LOAD_VBPNTR in a command buffer if possible
    • +
    • r300g: validate buffers only if any of bound buffers is changed
    • +
    • r300g: also revalidate the SWTCL vertex buffer after its reallocation
    • +
    • r300/compiler: don't terminate regalloc if we surpass max temps limit
    • +
    • r300/compiler: add a function to query program stats (alu, tex, temps..)
    • +
    • r300/compiler: cleanup rc_run_compiler
    • +
    • r300/compiler: do not print pair/tex/presub program stats for vertex shaders
    • +
    • r300/compiler: handle DPH and XPD in rc_compute_sources_for_writemask
    • +
    • r300/compiler: make lowering passes possibly use up to two less temps
    • +
    • r300/compiler: remove at least unused immediates if externals cannot be removed
    • +
    • r300/compiler: fix LIT in VS
    • +
    • r300/compiler: fix swizzle lowering with a presubtract source operand
    • +
    • r300g: fix rendering with a vertex attrib having a zero stride
    • +
    • r300g: finally fix the texture corruption on r3xx-r4xx
    • +
    • r300g/swtcl: re-enable LLVM
    • +
    • r300g: mark vertex arrays as dirty after a buffer_offset change
    • +
    • mesa: fix texel store functions for some float formats
    • +
    • r300/compiler: disable the rename_regs pass for loops
    • +

    + +

    Mario Kleiner (1): +

      +
    • mesa/r300classic: Fix dri2Invalidate/radeon_prepare_render for page flipping.
    • +

    + +

    Mathias Fröhlich (3): +

      +
    • r300g: Avoid returning values in a static array, fixing a potential race
    • +
    • r600g: Only compare active vertex elements
    • +
    • st/mesa: Set PIPE_TRANSFER_DISCARD for GL_MAP_INVALIDATE_RANGE/BUFFFER_BIT
    • +

    + +

    Michal Krol (10): +

      +
    • svga: Fix relative addressing translation for pixel shaders.
    • +
    • svga: Integer constant register file has a separate namespace.
    • +
    • tgsi/exec: Cleanup the remaining arithmetic instructions.
    • +
    • tgsi/exec: Get rid of obsolete condition codes.
    • +
    • tgsi/build: Reduce interface clutter.
    • +
    • graw/gdi: Initial commit.
    • +
    • scons: Hook-up graw-gdi target.
    • +
    • graw/gdi: Fix window dimensions.
    • +
    • os: Open file streams in binary mode.
    • +
    • graw: Export graw_save_surface_to_file().
    • +

    + +

    Nicolas Kaiser (26): +

      +
    • swrast: remove duplicated include
    • +
    • egl: remove duplicated include
    • +
    • gallium/rtasm: remove duplicated include
    • +
    • gallium/util: remove duplicated include
    • +
    • gallium/i915: remove duplicated include
    • +
    • gallium/llvmpipe: remove duplicated include
    • +
    • gallium/softpipe: remove duplicated include
    • +
    • gallium/st: remove duplicated includes
    • +
    • gallium/winsys: remove duplicated include
    • +
    • glx: remove duplicated include
    • +
    • dri/common: remove duplicated include
    • +
    • dri/i810: remove duplicated include
    • +
    • dri/i915: remove duplicated include
    • +
    • dri/i965: remove duplicated include
    • +
    • dri/intel: remove duplicated include
    • +
    • dri/mga: remove duplicated include
    • +
    • dri/r128: remove duplicated include
    • +
    • dri/r300: remove duplicated include
    • +
    • dri/r600: remove duplicated include
    • +
    • dri/radeon: remove duplicated includes
    • +
    • dri/savage: remove duplicated include
    • +
    • main: remove duplicated includes
    • +
    • math: remove duplicated includes
    • +
    • st: remove duplicated include
    • +
    • i965g: use Elements macro instead of manual sizeofs
    • +
    • nv50: fix always true conditional in shader optimization
    • +

    + +

    Orion Poplawski (1): +

      +
    • osmesa: link against libtalloc
    • +

    + +

    Owen W. Taylor (1): +

      +
    • r600g: Fix location for clip plane registers
    • +

    + +

    Peter Clifton (3): +

      +
    • intel: Fix emit_linear_blit to use DWORD aligned width blits
    • +
    • intel: Add assert check for blitting alignment.
    • +
    • meta: Mask Stencil.Clear against stencilMax in _mesa_meta_Clear
    • +

    + +

    Robert Hooker (2): +

      +
    • intel: Add a new B43 pci id.
    • +
    • egl_dri2: Add missing intel chip ids.
    • +

    + +

    Roland Scheidegger (16): +

      +
    • gallivm: fix copy&paste bug
    • +
    • gallivm: don't use URem/UDiv when calculating offsets for blocks
    • +
    • gallivm: optimize yuv decoding
    • +
    • gallivm: fix trunc/itrunc comment
    • +
    • gallivm: faster iround implementation for sse2
    • +
    • gallivm: replace sub/floor/ifloor combo with ifloor_fract
    • +
    • gallivm: optimize some tex wrap mode calculations a bit
    • +
    • gallivm: more linear tex wrap mode calculation simplification
    • +
    • gallivm: avoid unnecessary URem in linear wrap repeat case
    • +
    • gallivm: optimize soa linear clamp to edge wrap mode a bit
    • +
    • gallivm: make use of new iround code in lp_bld_conv.
    • +
    • gallivm: fix different handling of [non]normalized coords in linear soa path
    • +
    • gallivm: only use lp_build_conv 4x4f -> 1x16 ub fastpath with sse2
    • +
    • r200: fix r200 large points
    • +
    • mesa: remove unneeded DD_POINT_SIZE and DD_LINE_WIDTH tricaps
    • +
    • gallium: support for array textures and related changes
    • +

    + +

    Shuang He (1): +

      +
    • mesa: allow GLfixed arrays for OpenGL ES 2.0
    • +

    + +

    Stephan Schmid (1): +

      +
    • r600g: fix relative addressing when splitting constant accesses
    • +

    + +

    Thomas Hellstrom (21): +

      +
    • st/xorg: Don't try to use option values before processing options
    • +
    • xorg/vmwgfx: Make vmwarectrl work also on 64-bit servers
    • +
    • st/xorg: Add a customizer option to get rid of annoying cursor update flicker
    • +
    • xorg/vmwgfx: Don't hide HW cursors when updating them
    • +
    • st/xorg: Don't try to remove invalid fbs
    • +
    • st/xorg: Fix typo
    • +
    • st/xorg, xorg/vmwgfx: Be a bit more frendly towards cross-compiling environments
    • +
    • st/xorg: Fix compilation errors for Xservers compiled without Composite
    • +
    • st/xorg: Don't use deprecated x*alloc / xfree functions
    • +
    • xorg/vmwgfx: Don't use deprecated x*alloc / xfree functions
    • +
    • st/xorg: Fix compilation for Xservers >= 1.10
    • +
    • mesa: Make sure we have the talloc cflags when using the talloc headers
    • +
    • egl: Add an include for size_t
    • +
    • mesa: Add talloc includes for gles
    • +
    • st/egl: Fix build for include files in nonstandard places
    • +
    • svga/drm: Optionally resolve calls to powf during link-time
    • +
    • gallium/targets: Trivial crosscompiling fix
    • +
    • st/xorg: Add a function to flush pending rendering and damage
    • +
    • gallium/targets/xorg-vmwgfx: Xv fixes
    • +
    • xorg/vmwgfx: Flush even if we don't autopaint the color key
    • +
    • xorg/vmwgfx: Don't clip video to viewport
    • +

    + +

    Tilman Sauerbeck (35): +

      +
    • r600g: Fixed a bo leak in r600_blit_state_ps_shader().
    • +
    • r600g: Use clamped math for RCP and RSQ.
    • +
    • r600g: Formatting fixes.
    • +
    • r600g: Added DB_SHADER_CONTROL defines.
    • +
    • r600g: Only set PA_SC_EDGERULE on rv770 and greater.
    • +
    • r600g: Enable PIPE_SHADER_CAP_TGSI_CONT_SUPPORTED.
    • +
    • r600g: Fixed the shift in S_02880C_KILL_ENABLE.
    • +
    • glsl2: Empty functions can be inlined.
    • +
    • glsl2: Fixed cloning of ir_call error instructions.
    • +
    • r600g: Added support for TGSI_SEMANTIC_FACE.
    • +
    • gallium/docs: Fixed a typo in the SCS opcode description.
    • +
    • r600g: Honour destination operand's writemask in the SCS implementation.
    • +
    • r600g: Implemented the Z and W component write for the SCS opcode.
    • +
    • python/tests: Fixed tri.py for API and TGSI syntax changes.
    • +
    • r600g: Removed debug code.
    • +
    • gallium/docs: The RET opcode may appear anywhere in a subroutine.
    • +
    • r600g: Destroy the blitter.
    • +
    • r600g: Fixed two texture surface leaks in r600_blit_uncompress_depth().
    • +
    • r600g: Cleaned up index buffer reference handling in the draw module.
    • +
    • r600g: Fixed r600_vertex_element leak.
    • +
    • r600g: Added r600_pipe_shader_destroy().
    • +
    • r600g: Also clear bc data when we're destroying a shader.
    • +
    • r600g: In radeon_bo(), call LIST_INITHEAD early.
    • +
    • r600g: Destroy the blitter.
    • +
    • r600g: Removed unused 'ptr' argument from radeon_bo().
    • +
    • r600g: Made radeon_bo_pb_map_internal() actually call radeon_bo_map().
    • +
    • r600g: Fixed unmap condition in radeon_bo_pb_destroy().
    • +
    • r600g: Made radeon_bo::map_count signed.
    • +
    • r600g: We don't support PIPE_CAP_PRIMITIVE_RESTART.
    • +
    • r600g: Delete custom_dsa_flush on shutdown.
    • +
    • r600g: Fixed two memory leaks in winsys.
    • +
    • r600g: Destroy the winsys in r600_destroy_screen().
    • +
    • st/mesa: Reset the index buffer before destroying the pipe context.
    • +
    • st/mesa: Reset the constant buffers before destroying the pipe context.
    • +
    • r600g: Removed duplicated call to tgsi_split_literal_constant().
    • +

    + +

    Timo Wiren (1): +

      +
    • Fix typos in comments and debug output strings.
    • +

    + +

    Tom Fogal (3): +

      +
    • Implement x86_64 atomics for compilers w/o intrinsics.
    • +
    • Prefer intrinsics to handrolled atomic ops.
    • +
    • Revert "Prefer intrinsics to handrolled atomic ops."
    • +

    + +

    Tom Stellard (32): +

      +
    • r300/compiler: Refactor the pair instruction data structures
    • +
    • r300g: Always try to build libr300compiler.a
    • +
    • r300/compiler: Fix two mistakes in the presubtract optimization pass.
    • +
    • r300/compiler: Add more helper functions for iterating through sources
    • +
    • r300/compiler: Print immediate values after "dead constants" pass
    • +
    • r300/compiler: radeon_remove_constants.c: fix indentation
    • +
    • r300/compiler: Use rc_for_all_reads_src() in "dead constants" pass
    • +
    • r300/compiler: Fix segfault in error path
    • +
    • r300/compiler: Don't use rc_error() unless the error is unrecoverable
    • +
    • r300/compiler: Don't merge instructions that write output regs and ALU result
    • +
    • r300/compiler: Create a helper function for merging presubtract sources
    • +
    • r300/compiler: Fix incorrect assumption
    • +
    • r300/compiler: Clear empty registers after constant folding
    • +
    • r300/compiler: Add a new function for more efficient dataflow analysis
    • +
    • r300g: Add new debug option for logging vertex/fragment program stats
    • +
    • r300/compiler: Use rc_get_readers_normal() for presubtract optimizations
    • +
    • r300/compiler: Don't clobber presubtract sources during optimizations
    • +
    • r300/compiler: Don't track readers into an IF block.
    • +
    • r300/compiler: Make sure presubtract sources use supported swizzles
    • +
    • r300/compiler: Fix register allocator's handling of loops
    • +
    • r300/compiler: Fix instruction scheduling within IF blocks
    • +
    • r300/compiler: Use zero as the register index for unused sources
    • +
    • r300/compiler: Ignore alpha dest register when replicating the result
    • +
    • r300/compiler: Add rc_get_readers()
    • +
    • r300/compiler: Handle BREAK and CONTINUE in rc_get_readers()
    • +
    • r300/compiler: Track readers through branches in rc_get_readers()
    • +
    • r300/compiler: Convert RGB to alpha in the scheduler
    • +
    • r300/compiler: Use presubtract operations as much as possible
    • +
    • r300/compiler: Enable rename_reg pass for r500 cards
    • +
    • r300/compiler: Add a more efficient version of rc_find_free_temporary()
    • +
    • r300/compiler: Don't allow presubtract sources to be remapped twice
    • +
    • r300/compiler: Fix black terrain in Civ4
    • +

    + +

    Victor Tseng (1): +

      +
    • egl/i965: include inline_wrapper_sw_helper.h
    • +

    + +

    Viktor Novotný (6): +

      +
    • dri/nouveau: Import headers from rules-ng-ng
    • +
    • dri/nouveau: nv04: Use rules-ng-ng headers
    • +
    • dri/nouveau: nv10: Use rules-ng-ng headers
    • +
    • dri/nouveau nv20: Use rules-ng-ng headers
    • +
    • dri/nouveau: Remove nouveau_class.h, finishing switch to rules-ng-ng headers
    • +
    • dri/nouveau: Clean up magic numbers in get_rt_format
    • +

    + +

    Vinson Lee (214): +

      +
    • llvmpipe: Remove unnecessary header.
    • +
    • r600g: Remove unnecessary headers.
    • +
    • mesa: Include missing header in program.h.
    • +
    • glsl: Fix 'format not a string literal and no format arguments' warning.
    • +
    • r600g: Silence uninitialized variable warning.
    • +
    • r600g: Silence uninitialized variable warning.
    • +
    • nvfx: Silence uninitialized variable warnings.
    • +
    • r600g: Silence uninitialized variable warning.
    • +
    • r600g: Silence uninitialized variable warning.
    • +
    • r600g: Silence uninitialized variable warning.
    • +
    • r600g: Silence unused variable warning.
    • +
    • nv50: Update files in SConscript to match Makefile.
    • +
    • nv50: Remove unnecessary headers.
    • +
    • nv50: Silence uninitialized variable warning.
    • +
    • nv50: Silence uninitialized variable warning.
    • +
    • nv50: Silence uninitialized variable warning.
    • +
    • gallivm: Remove unnecessary headers.
    • +
    • draw: Remove unnecessary header.
    • +
    • nv50: Silence uninitialized variable warnings.
    • +
    • nv50: Fix 'control reaches end of non-void function' warning.
    • +
    • mesa/st: Silence uninitialized variable warning.
    • +
    • gallivm: Remove unnecessary header.
    • +
    • r600g: Remove unnecessary header.
    • +
    • r600g: Remove unnecessary headers.
    • +
    • r600g: Fix implicit declaration warning.
    • +
    • r600g: Fix memory leak on error path.
    • +
    • r600g: Silence uninitialized variable warning.
    • +
    • r600g: Silence unused variable warnings.
    • +
    • mesa: bump version to 7.10
    • +
    • ir_to_mesa: Remove unused member array_indexed from struct statevar_element.
    • +
    • mesa: Silence "'valid_texture_object' defined but not used" warning.
    • +
    • x86: Silence unused variable warning on Mac OS X.
    • +
    • glsl: Fix 'control reaches end of non-void function' warning.
    • +
    • nvfx: Remove const qualifer from nvfx_vertprog_translate.
    • +
    • nvfx: Silence uninitialized variable warnings.
    • +
    • r600g: Remove unused variable.
    • +
    • nv50: Silence missing initializer warning.
    • +
    • nv50: Remove dead initialization.
    • +
    • nv50: Remove dead initialization.
    • +
    • tgsi: Remove duplicate case value.
    • +
    • glut: Define markWindowHidden for non-Windows only.
    • +
    • glut: Define eventParser for non-Windows only.
    • +
    • r300g: Silence uninitialized variable warning.
    • +
    • intel: Fix implicit declaration of function '_mesa_meta_Bitmap' warning.
    • +
    • mesa: Remove unnecessary headers.
    • +
    • r600g: Remove unnecessary header.
    • +
    • unichrome: Remove unnecessary header.
    • +
    • intel: Remove unnecessary headers.
    • +
    • r600g: Remove unused variable.
    • +
    • r600g: Disable unused variables.
    • +
    • r600g: Remove unused variable.
    • +
    • r600g: Silence 'control reaches end of non-void function' warning.
    • +
    • r600g: Remove unused variable.
    • +
    • r600g: Remove unused variable.
    • +
    • r600g: Disable unused variables.
    • +
    • intel: Remove unnecessary header.
    • +
    • st/dri: Remove unnecessary header.
    • +
    • r600g: Remove unused variable.
    • +
    • r300g: Remove unused variable.
    • +
    • r600g: Don't return a value in function returning void.
    • +
    • r600g: Remove unused variables.
    • +
    • r600g: Include p_compiler.h instead of malloc.h.
    • +
    • r600g: Silence uninitialized variable warnings.
    • +
    • scons: Add MinGW-w64 prefixes for MinGW build.
    • +
    • dri: Add GET_PROGRAM_NAME definition for Mac OS X.
    • +
    • scons: Add program/sampler.cpp to SCons build.
    • +
    • mesa: Fix printf format warning.
    • +
    • mesa: Fix printf format warning.
    • +
    • mesa: Fix printf format warning.
    • +
    • r300/compiler: Move declaration before code.
    • +
    • r300/compiler: Move declaration before code.
    • +
    • r300/compiler: Move declaration before code.
    • +
    • r300/compiler: Move declaration before code.
    • +
    • r600g: Update SConscript.
    • +
    • r300/compiler: Move declaration before code.
    • +
    • r600g: Update SConscript.
    • +
    • r300/compiler: Move declaration before code.
    • +
    • r600g: Update SConscript.
    • +
    • r300/compiler: Move declaration before code.
    • +
    • r600g: Fix SCons build.
    • +
    • r300/compiler: Move declaration before code.
    • +
    • r300/compiler: Move declaration before code.
    • +
    • r300/compiler: Move declaration before code.
    • +
    • r300/compiler: Remove declaration before code.
    • +
    • r300/compiler: Move declaration before code.
    • +
    • r300/compiler: Move declaration before code.
    • +
    • r300/compiler: Move declaration before code.
    • +
    • r300/compiler: Move declaration before code.
    • +
    • glsl: Remove unnecessary header.
    • +
    • savage: Remove unnecessary header.
    • +
    • r600g: Remove unused variable.
    • +
    • r600g: Remove unnecessary headers.
    • +
    • r600g: Fix SCons build.
    • +
    • r600g: Remove unnecessary header.
    • +
    • gallivm: Remove unnecessary header.
    • +
    • r600g: Silence uninitialized variable warning.
    • +
    • r600g: Silence uninitialized variable warning.
    • +
    • r600g: Silence uninitialized variable warning.
    • +
    • i915: Silence unused variable warning in non-debug builds.
    • +
    • i915: Silence unused variable warning in non-debug builds.
    • +
    • i965: Silence unused variable warning on non-debug builds.
    • +
    • i965: Silence unused variable warning on non-debug builds.
    • +
    • i965: Initialize member variables.
    • +
    • r300: Silence uninitialized variable warning.
    • +
    • tdfx: Silence unused variable warning on non-debug builds.
    • +
    • gallivm: Remove unnecessary header.
    • +
    • glsl: Initialize variable in ir_derefence_array::constant_expression_value
    • +
    • mesa: Add missing header to shaderobj.h.
    • +
    • llvmpipe: Return non-zero exit code for lp_test_round failures.
    • +
    • r300/compiler: Remove unused variable.
    • +
    • st/xorg: Fix memory leak on error path.
    • +
    • llvmpipe: Initialize state variable in debug_bin function.
    • +
    • llvmpipe: Initialize variable.
    • +
    • draw: Move loop variable declaration outside for loop.
    • +
    • r600g: Ensure r600_src is initialized in tgsi_exp function.
    • +
    • glsl: Add assert for unhandled ir_shader case.
    • +
    • swrast: Print out format on unexpected failure in _swrast_DrawPixels.
    • +
    • llvmpipe: Remove unnecessary header.
    • +
    • draw: Remove unnecessary header.
    • +
    • gallivm: Silence uninitialized variable warnings.
    • +
    • gallivm: Silence uninitialized variable warnings.
    • +
    • gallivm: Silence uninitialized variable warning.
    • +
    • r300g: Silence uninitialized variable warning.
    • +
    • mesa: Remove unnecessary headers.
    • +
    • r600g: Silence uninitialized variable warnings.
    • +
    • st/mesa: Remove unnecessary header.
    • +
    • mesa: Remove unnecessary header.
    • +
    • egl: Remove unnecessary headers.
    • +
    • swrast: Print out format on unexpected failure in _swrast_ReadPixels.
    • +
    • st/mesa: Silence uninitialized variable warning.
    • +
    • savage: Remove unnecessary header.
    • +
    • st/vega: Remove unnecessary headers.
    • +
    • dri/nouveau: Silence uninitialized variable warning.
    • +
    • r300/compiler: Move declaration before code.
    • +
    • r300/compiler: Move declaration before code.
    • +
    • i965: Silence uninitialized variable warning.
    • +
    • i965: Silence uninitialized variable warning.
    • +
    • mesa: Clean up header file inclusion in accum.h.
    • +
    • mesa: Clean up header file inclusion in version.h.
    • +
    • mesa: Clean up header file inclusion in api_loopback.h.
    • +
    • mesa: Clean up header file inclusion in api_validate.h.
    • +
    • mesa: Include mfeatures.h in api_loopback for FEATURE_beginend.
    • +
    • mesa: Include mfeatures.h in api_validate.c for FEATURE_* symbols.
    • +
    • mesa: Clean up header file inclusion in arrayobj.h.
    • +
    • mesa: Clean up header file inclusion in atifragshader.h.
    • +
    • mesa: Clean up header file inclusion in attrib.h.
    • +
    • mesa: Clean up header file inclusion in blend.h.
    • +
    • mesa: Clean up header file inclusion in buffers.h.
    • +
    • mesa: Clean up header file inclusion in colortab.h.
    • +
    • mesa: Clean up header file inclusion in convolve.h.
    • +
    • mesa: Clean up header file inclusion in debug.h.
    • +
    • mesa: Clean up header file inclusion in depth.h.
    • +
    • mesa: Clean up header file inclusion in depthstencil.h.
    • +
    • mesa: Clean up header file inclusion in drawpix.h.
    • +
    • mesa: Clean up header file inclusion in drawtex.h.
    • +
    • mesa: Clean up header file inclusion in enable.h.
    • +
    • mesa: Clean up header file inclusion in extensions.h.
    • +
    • graw: Add struct pipe_surface forward declaration.
    • +
    • mesa: Clean up header file inclusion in fbobject.h.
    • +
    • mesa: Clean up header file inclusion in ffvertex_prog.h.
    • +
    • mesa: Clean up header file inclusion in fog.h.
    • +
    • mesa: Clean up header file inclusion in framebuffer.h.
    • +
    • mesa: Clean up header file inclusion in hint.h.
    • +
    • mesa: Clean up header file inclusion in histogram.h.
    • +
    • mesa: Clean up header file inclusion in image.h.
    • +
    • mesa: Add missing header and forward declarations in dd.h.
    • +
    • mesa: Clean up header file inclusion in light.h.
    • +
    • mesa: Clean up header file inclusion in lines.h.
    • +
    • mesa: Clean up header file inclusion in matrix.h.
    • +
    • mesa: Clean up header file inclusion in multisample.h.
    • +
    • mesa: Clean up header file inclusion in nvprogram.h.
    • +
    • winsys/xlib: Add cygwin to SConscript.
    • +
    • mesa: Clean up header file inclusion in pixel.h.
    • +
    • mesa: Clean up header file inclusion in pixelstore.h.
    • +
    • mesa: Fix printf format warnings.
    • +
    • mesa: Clean up header file inclusion in points.h.
    • +
    • i965: Silence uninitialized variable warning.
    • +
    • glsl: Add ir_constant_expression.cpp to SConscript.
    • +
    • mesa: Add definitions for inverse hyperbolic function on MSVC.
    • +
    • glsl: Fix 'control reaches end of non-void function' warning.
    • +
    • glsl: Add lower_vector.cpp to SConscript.
    • +
    • glsl: Fix type of label 'default' in switch statement.
    • +
    • st/mesa: Remove unnecessary headers.
    • +
    • swrast: Remove unnecessary header.
    • +
    • r600: Remove unnecesary header.
    • +
    • intel: Remove unnecessary header.
    • +
    • mesa: Clean up header file inclusion in polygon.h.
    • +
    • mesa: Clean up header file inclusion in rastpos.h.
    • +
    • mesa: Clean up header file inclusion in readpix.h.
    • +
    • mesa: Clean up header file inclusion in renderbuffer.h.
    • +
    • mesa: Clean up header file inclusion in scissor.h.
    • +
    • mesa: Clean up header file inclusion in shaderapi.h.
    • +
    • mesa: Clean up header file inclusion in shared.h.
    • +
    • mesa: Clean up header file inclusion in stencil.h.
    • +
    • r600: Remove unnecessary header.
    • +
    • llvmpipe: Remove unnecessary headers.
    • +
    • mesa: Clean up header file inclusion in syncobj.h.
    • +
    • r300/compiler: Move declaration before code.
    • +
    • r300/compiler: Move declaration before code.
    • +
    • mesa: Clean up header file inclusion in texcompress.h.
    • +
    • st/vega: Silence uninitialized variable warning.
    • +
    • mesa: Clean up header file inclusion in texcompress_s3tc.h.
    • +
    • mesa: Clean up header file inclusion in texenvprogram.h.
    • +
    • mesa: Clean up header file inclusion in texformat.h.
    • +
    • mesa: Clean up header file inclusion in texgetimage.h.
    • +
    • mesa: Clean up header file inclusion in texobj.h.
    • +
    • gallium/noop: Add prototype for noop_init_state_functions.
    • +
    • mesa: Clean up header file inclusion in texrender.h.
    • +
    • mesa: Clean up header file inclusion in transformfeedback.h.
    • +
    • mesa: Clean up header file inclusion in varray.h.
    • +
    • mesa: Clean up header file inclusion in viewport.h.
    • +
    • r200: Silence uninitialized variable warning.
    • +
    • r600g: Fix SCons build.
    • +
    • i965: Silence uninitialized variable warning.
    • +

    + +

    Xavier Chantry (8): +

      +
    • nv50: fix size of outputs_written array
    • +
    • nv50: apply layout_mask to tile_flags
    • +
    • nvfx: only expose one rt on nv30
    • +
    • nvfx: fb->nr_cbufs <= 1 on nv30
    • +
    • nvfx: reset nvfx->hw_zeta
    • +
    • nvfx: fixes after array textures merge
    • +
    • init ps->context with util_surfaces_get and do_get
    • +
    • gallium/trace: check bind_vertex_sampler_states and set_vertex_sampler_views
    • +

    + +

    Xiang, Haihao (10): +

      +
    • mesa: fix regression from b4bb6680200b5a898583392f4c831c02f41e63f7
    • +
    • i965: add support for polygon mode on Sandybridge.
    • +
    • i965: fix for flat shading on Sandybridge
    • +
    • i965: set minimum/maximum Point Width on Sandybridge
    • +
    • meta: allow nested meta operations
    • +
    • i965: support for two-sided lighting on Sandybridge
    • +
    • i965: fix register region description
    • +
    • i965: use align1 access mode for instructions with execSize=1 in VS
    • +
    • i965: don't spawn GS thread for LINELOOP on Sandybridge
    • +
    • i965: use BLT to clear buffer if possible on Sandybridge
    • +

    + +

    Zack Rusin (8): +

      +
    • rbug: fix rbug when contexts are being destroyed
    • +
    • llvmpipe: fix rasterization of vertical lines on pixel boundaries
    • +
    • scons: build the xorg state trackers only when env includes drm
    • +
    • gallivm: implement indirect addressing of the output registers
    • +
    • gallivm: implement indirect addressing over inputs
    • +
    • gallivm: fix storing of the addr register
    • +
    • scons: add alias for identity
    • +
    • gallium/util: add states relevant to geometry shaders
    • +

    + +

    Zhenyu Wang (40): +

      +
    • i965: disasm quarter and write enable instruction control on sandybridge
    • +
    • i965: new state dump for sandybridge
    • +
    • i965: enable accumulator update in PS kernel too on sandybridge
    • +
    • i965: Fix color interpolation on sandybridge
    • +
    • i965: force zero in clipper to ignore RTAIndex on sandybridge
    • +
    • i965: fix point size setting in header on sandybridge
    • +
    • i965: ff sync message change for sandybridge
    • +
    • i965: ignore quads for GS kernel on sandybridge
    • +
    • i965: add sandybridge viewport state bo into validation list
    • +
    • i965: VS use SPF mode on sandybridge for now
    • +
    • i965: fix jump count on sandybridge
    • +
    • i965: Fix sampler on sandybridge
    • +
    • i965: fix const register count for sandybridge
    • +
    • i965: Add all device ids for sandybridge
    • +
    • i965: sandybridge pipe control workaround before write cache flush
    • +
    • i965: only allow SIMD8 kernel on sandybridge now
    • +
    • i965: don't do calculation for delta_xy on sandybridge
    • +
    • i965: fix pixel w interpolation on sandybridge
    • +
    • i965: enable polygon offset on sandybridge
    • +
    • i965: fix scissor state on sandybridge
    • +
    • i965: fix point sprite on sandybridge
    • +
    • i965: fix occlusion query on sandybridge
    • +
    • i965: fallback bitmap operation on sandybridge
    • +
    • i965: Always set tiling for depth buffer on sandybridge
    • +
    • i965: fallback lineloop on sandybridge for now
    • +
    • Revert "i965: Always set tiling for depth buffer on sandybridge"
    • +
    • i965: always set tiling for fbo depth buffer on sandybridge
    • +
    • i965: Fix GS hang on Sandybridge
    • +
    • Revert "i965: fallback lineloop on sandybridge for now"
    • +
    • i965: refresh wm push constant also for BRW_NEW_FRAMENT_PROGRAM on gen6
    • +
    • i965: fix dest type of 'endif' on sandybridge
    • +
    • Revert "i965: VS use SPF mode on sandybridge for now"
    • +
    • i965: also using align1 mode for math2 on sandybridge
    • +
    • i965: Fix GS state uploading on Sandybridge
    • +
    • i965: upload WM state for _NEW_POLYGON on sandybridge
    • +
    • i965: Use MI_FLUSH_DW for blt ring flush on sandybridge
    • +
    • i965: explicit tell header present for fb write on sandybridge
    • +
    • i965: Fix occlusion query on sandybridge
    • +
    • i965: Use last vertex convention for quad provoking vertex on sandybridge
    • +
    • i965: Fix provoking vertex select in clip state for sandybridge
    • +

    + +

    Zou Nan hai (1): +

      +
    • i965: skip too small size mipmap
    • +

    + +

    delphi (2): +

      +
    • draw: added userclip planes and updated variant_key
    • +
    • draw: some changes to allow for runtime changes to userclip planes
    • +

    + +

    nobled (3): +

      +
    • r300g: Abort if atom allocations fail
    • +
    • r300g: Abort if draw_create() fails
    • +
    • r300g: Drop unnecessary cast
    • +

    + +

    pontus lidman (1): +

      +
    • mesa: check for posix_memalign() errors
    • +

    + +

    richard (2): +

      +
    • evergreen : fix z format setting, enable stencil.
    • +
    • r600c : inline vertex format is not updated in an app, switch to use vfetch constants. For the 7.9 and 7.10 branches as well.
    • +

    + + + diff --git a/mesalib/docs/relnotes-7.8.2.html b/mesalib/docs/relnotes-7.8.2.html index 5ee7e12d2..1393b2ede 100644 --- a/mesalib/docs/relnotes-7.8.2.html +++ b/mesalib/docs/relnotes-7.8.2.html @@ -1,146 +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

    -
    -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.
    • -
    - - - - + + +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.8.3.html b/mesalib/docs/relnotes-7.8.3.html index e729ee820..1e9f43313 100644 --- a/mesalib/docs/relnotes-7.8.3.html +++ b/mesalib/docs/relnotes-7.8.3.html @@ -1,89 +1,89 @@ - - -Mesa Release Notes - - - - - - - -

    Mesa 7.8.3 Release Notes / (date tbd)

    - -

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

    -

    -Mesa 7.8.3 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

    -
    -x  MesaLib-7.8.3.tar.gz
    -x  MesaLib-7.8.3.tar.bz2
    -x  MesaLib-7.8.3.zip
    -x  MesaDemos-7.8.3.tar.gz
    -x  MesaDemos-7.8.3.tar.bz2
    -x  MesaDemos-7.8.3.zip
    -x  MesaGLUT-7.8.3.tar.gz
    -x  MesaGLUT-7.8.3.tar.bz2
    -x  MesaGLUT-7.8.3.zip
    -
    - - -

    New features

    -

    None.

    - - -

    Changes

    -
      -
    • The radeon driver should use less memory when searching for a valid mip -image.
    • -
    - - -

    Bug fixes

    -
      -
    • Fix unsupported FB with D24S8 (bug - 29116)
    • -
    • Fix ReadPixels crash when reading depth/stencil from an FBO
    • -
    • Fixed a bug rendering to 16-bit buffers using swrast.
    • -
    • Fixed a state tracker/TGSI bug that caused crashes when using Windows' - memory debugging features.
    • -
    • Fixed an issue rendering to 32-bit channels with swrast (bug - 29487)
    • -
    • GLSL: fix indirect gl_TextureMatrix addressing (bug - 28967)
    • -
    • GLSL: fix for bug - 27216
    • -
    • GLSL: fix zw fragcoord entries in some cases (bug - 29183)
    • -
    • Fix texture env generation in some cases (bug - 28169)
    • -
    • osmesa: a fix for calling OSMesaMakeCurrent twice was applied (bug - 10966
    • -
    • A bug was fixed which could cause Mesa to ignore the - MESA_EXTENSION_OVERRIDE environment variable.
    • -
    • A bug related to specular highlights on backfaces was fixed.
    • -
    • A radeon-specific issue with glCopyTex(Sub)Image was - corrected.
    • -
    • radeon/wine: flush command stream in more cases, fixing wine d3d9 - tests.
    • -
    • r600: fix sin+cos normalization.
    • -
    • r600: (properly) ignore GL_COORD_REPLACE when point sprites are - disabled.
    • -
    • radeon: avoid flushing when the context is not current.
    • -
    • r300c: a bug affecting unaligned BOs was fixed.
    • -
    • r300c: a hardlock caused by ARB_half_float_vertex incorrectly advertised on some chipsets.
    • -
    - - - - + + +Mesa Release Notes + + + + + + + +

    Mesa 7.8.3 Release Notes / (date tbd)

    + +

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

    +

    +Mesa 7.8.3 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

    +
    +x  MesaLib-7.8.3.tar.gz
    +x  MesaLib-7.8.3.tar.bz2
    +x  MesaLib-7.8.3.zip
    +x  MesaDemos-7.8.3.tar.gz
    +x  MesaDemos-7.8.3.tar.bz2
    +x  MesaDemos-7.8.3.zip
    +x  MesaGLUT-7.8.3.tar.gz
    +x  MesaGLUT-7.8.3.tar.bz2
    +x  MesaGLUT-7.8.3.zip
    +
    + + +

    New features

    +

    None.

    + + +

    Changes

    +
      +
    • The radeon driver should use less memory when searching for a valid mip +image.
    • +
    + + +

    Bug fixes

    +
      +
    • Fix unsupported FB with D24S8 (bug + 29116)
    • +
    • Fix ReadPixels crash when reading depth/stencil from an FBO
    • +
    • Fixed a bug rendering to 16-bit buffers using swrast.
    • +
    • Fixed a state tracker/TGSI bug that caused crashes when using Windows' + memory debugging features.
    • +
    • Fixed an issue rendering to 32-bit channels with swrast (bug + 29487)
    • +
    • GLSL: fix indirect gl_TextureMatrix addressing (bug + 28967)
    • +
    • GLSL: fix for bug + 27216
    • +
    • GLSL: fix zw fragcoord entries in some cases (bug + 29183)
    • +
    • Fix texture env generation in some cases (bug + 28169)
    • +
    • osmesa: a fix for calling OSMesaMakeCurrent twice was applied (bug + 10966
    • +
    • A bug was fixed which could cause Mesa to ignore the + MESA_EXTENSION_OVERRIDE environment variable.
    • +
    • A bug related to specular highlights on backfaces was fixed.
    • +
    • A radeon-specific issue with glCopyTex(Sub)Image was + corrected.
    • +
    • radeon/wine: flush command stream in more cases, fixing wine d3d9 + tests.
    • +
    • r600: fix sin+cos normalization.
    • +
    • r600: (properly) ignore GL_COORD_REPLACE when point sprites are + disabled.
    • +
    • radeon: avoid flushing when the context is not current.
    • +
    • r300c: a bug affecting unaligned BOs was fixed.
    • +
    • r300c: a hardlock caused by ARB_half_float_vertex incorrectly advertised on some chipsets.
    • +
    + + + + diff --git a/mesalib/docs/relnotes-7.9.1.html b/mesalib/docs/relnotes-7.9.1.html index c12db4a50..bef4ef1dd 100644 --- a/mesalib/docs/relnotes-7.9.1.html +++ b/mesalib/docs/relnotes-7.9.1.html @@ -1,406 +1,406 @@ - - - -Mesa Release Notes - - - - - - - - -

    Mesa 7.9.1 Release Notes / January 7, 2011

    - -

    -Mesa 7.9.1 is a bug fix release which fixes bugs found since the 7.9 release. -

    -

    -Mesa 7.9.1 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

    -
    -78422843ea875ad4eac35b9b8584032b  MesaLib-7.9.1.tar.gz
    -07dc6cfb5928840b8b9df5bd1b3ae434  MesaLib-7.9.1.tar.bz2
    -c8eaea5b3c3d6dee784bd8c2db91c80f  MesaLib-7.9.1.zip
    -ee9ecae4ca56fbb2d14dc15e3a0a7640  MesaGLUT-7.9.1.tar.gz
    -41fc477d524e7dc5c84da8ef22422bea  MesaGLUT-7.9.1.tar.bz2
    -90b287229afdf19317aa989d19462e7a  MesaGLUT-7.9.1.zip
    -
    - - -

    New features

    -

    None.

    - -

    Bug fixes

    -

    This list is likely incomplete.

    -
      -
    • Bug 28800 - [r300c, r300g] Texture corruption with World of Warcraft
    • - -
    • Bug 29420 - Amnesia / HPL2 RendererFeatTest - not rendering correctly
    • - -
    • Bug 29946 - [swrast] piglit valgrind glsl-array-bounds-04 fails
    • - -
    • Bug 30261 - [GLSL 1.20] allowing inconsistent invariant declaration between two vertex shaders
    • - -
    • Bug 30632 - [softpipe] state_tracker/st_manager.c:489: st_context_notify_invalid_framebuffer: Assertion `stfb && stfb->iface == stfbi' failed.
    • - -
    • Bug 30694 - wincopy will crash on Gallium drivers when going to front buffer
    • - -
    • Bug 30787 - Invalid asm shader does not generate draw-time error when used with GLSL shader
    • - -
    • Bug 30993 - getFramebufferAttachmentParameteriv wrongly generates error
    • - -
    • Bug 31101 - [glsl2] abort() in ir_validate::visit_enter(ir_assignment *ir)
    • - -
    • Bug 31193 - [regression] aa43176e break water reflections
    • - -
    • Bug 31194 - The mesa meta save/restore code doesn't ref the current GLSL program
    • - -
    • Bug 31371 - glslparsertest: ir.cpp:358: ir_constant::ir_constant(const glsl_type*, const ir_constant_data*): Assertion `(type->base_type >= 0) && (type->base_type <= 3)' failed.
    • - -
    • Bug 31439 - Crash in glBufferSubData() with size == 0
    • - -
    • Bug 31495 - [i965 gles2c bisected] OpenGL ES 2.0 conformance GL2Tests_GetBIFD_input.run regressed
    • - -
    • Bug 31514 - isBuffer returns true for unbound buffers
    • - -
    • Bug 31560 - [tdfx] tdfx_tex.c:702: error: ‘const struct gl_color_table’ has no member named ‘Format’
    • - -
    • Bug 31617 - Radeon/Compiz: 'failed to attach dri2 front buffer', error case not handled
    • - -
    • Bug 31648 - [GLSL] array-struct-array gets assertion: `(size >= 1) && (size <= 4)' failed.
    • - -
    • Bug 31650 - [GLSL] varying gl_TexCoord fails to be re-declared to different size in the second shader
    • - -
    • Bug 31673 - GL_FRAGMENT_PRECISION_HIGH preprocessor macro undefined in GLSL ES
    • - -
    • Bug 31690 - i915 shader compiler fails to flatten if in Aquarium webgl demo.
    • - -
    • Bug 31832 - [i915] Bad renderbuffer format: 21
    • - -
    • Bug 31841 - [drm:radeon_cs_ioctl] *ERROR* Invalid command stream !
    • - -
    • Bug 31894 - Writing to gl_PointSize with GLES2 corrupts other varyings
    • - -
    • Bug 31909 - [i965] brw_fs.cpp:1461: void fs_visitor::emit_bool_to_cond_code(ir_rvalue*): Assertion `expr->operands[i]->type->is_scalar()' failed.
    • - -
    • Bug 31934 - [gallium] Mapping empty buffer object causes SIGSEGV
    • - -
    • Bug 31983 - [i915 gles2] "if (expression with builtin/varying variables) discard" breaks linkage
    • - -
    • Bug 31985 - [GLSL 1.20] initialized uniform array considered as "unsized"
    • - -
    • Bug 31987 - [gles2] if input a wrong pname(GL_NONE) to glGetBoolean, it will not case GL_INVALID_ENUM
    • - -
    • Bug 32035 - [GLSL bisected] comparing unsized array gets segfault
    • - -
    • Bug 32070 - llvmpipe renders stencil demo incorrectly
    • - -
    • Bug 32273 - assertion fails when starting vdrift 2010 release with shaders enabled
    • - -
    • Bug 32287 - [bisected GLSL] float-int failure
    • - -
    • Bug 32311 - [965 bisected] Array look-ups broken on GM45
    • - -
    • Bug 32520 - [gles2] glBlendFunc(GL_ZERO, GL_DST_COLOR) will result in GL_INVALID_ENUM
    • - -
    • Bug 32825 - egl_glx driver completely broken in 7.9 branch [fix in master]
    • -
    - - -

    Changes

    -

    The full set of changes can be viewed by using the following GIT command:

    - -
    -  git log mesa-7.9..mesa-7.9.1
    -
    - -

    Alex Deucher (5): -

      -
    • r100: revalidate after radeon_update_renderbuffers
    • -
    • r600c: add missing radeon_prepare_render() call on evergreen
    • -
    • r600c: properly align mipmaps to group size
    • -
    • gallium/egl: fix r300 vs r600 loading
    • -
    • r600c: fix some opcodes on evergreen
    • -

    - -

    Aras Pranckevicius (2): -

      -
    • glsl: fix crash in loop analysis when some controls can't be determined
    • -
    • glsl: fix matrix type check in ir_algebraic
    • -

    - -

    Brian Paul (27): -

      -
    • swrast: fix choose_depth_texture_level() to respect mipmap filtering state
    • -
    • st/mesa: replace assertion w/ conditional in framebuffer invalidation
    • -
    • egl/i965: include inline_wrapper_sw_helper.h
    • -
    • mesa: Add missing else in do_row_3D
    • -
    • mesa: add missing formats in _mesa_format_to_type_and_comps()
    • -
    • mesa: handle more pixel types in mipmap generation code
    • -
    • mesa: make glIsBuffer() return false for never bound buffers
    • -
    • mesa: fix glDeleteBuffers() regression
    • -
    • swrast: init alpha value to 1.0 in opt_sample_rgb_2d()
    • -
    • meta: Mask Stencil.Clear against stencilMax in _mesa_meta_Clear
    • -
    • st/mesa: fix mapping of zero-sized buffer objects
    • -
    • mesa: check for posix_memalign() errors
    • -
    • llvmpipe: fix broken stencil writemask
    • -
    • mesa: fix GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME query
    • -
    • mesa: return GL_FRAMEBUFFER_DEFAULT as FBO attachment type
    • -
    • mesa: make glGet*(GL_NONE) generate GL_INVALID_ENUM
    • -
    • mesa: test for cube map completeness in glGenerateMipmap()
    • -
    • tnl: Initialize gl_program_machine memory in run_vp.
    • -
    • tnl: a better way to initialize the gl_program_machine memory
    • -
    • mesa, st/mesa: disable GL_ARB_geometry_shader4
    • -
    • glsl: fix off by one in register index assertion
    • -
    • st/mesa: fix mipmap generation bug
    • -
    • glsl: new glsl_strtod() wrapper to fix decimal point interpretation
    • -
    • mesa: no-op glBufferSubData() on size==0
    • -
    • tdfx: s/Format/_BaseFormat/
    • -
    • st/mesa: fix renderbuffer pointer check in st_Clear()
    • -
    • mesa: Bump the number of bits in the register index.
    • -

    - -

    Chad Versace (5): -

      -
    • glsl: Fix lexer rule for ^=
    • -
    • glsl: Fix ast-to-hir for ARB_fragment_coord_conventions
    • -
    • glsl: Fix ir_expression::constant_expression_value()
    • -
    • glsl: Fix erroneous cast in ast_jump_statement::hir()
    • -
    • glsl: Fix linker bug in cross_validate_globals()
    • -

    - -

    Chia-I Wu (10): -

      -
    • targets/egl: Fix linking with libdrm.
    • -
    • st/vega: Fix version check in context creation.
    • -
    • st/egl: Do not finish a fence that is NULL.
    • -
    • egl: Fix a false negative check in _eglCheckMakeCurrent.
    • -
    • st/mesa: Unreference the sampler view in st_bind_surface.
    • -
    • egl_dri2: Fix __DRI_DRI2 version 1 support.
    • -
    • st/vega: Do not wait NULL fences.
    • -
    • mesa: Do not advertise GL_OES_texture_3D.
    • -
    • egl_glx: Fix borken driver.
    • -
    • egl: Check extensions.
    • -

    - -

    Daniel Lichtenberger (1): -

      -
    • radeon: fix potential segfault in renderbuffer update
    • -

    - -

    Daniel Vetter (1): -

      -
    • r200: revalidate after radeon_update_renderbuffers
    • -

    - -

    Dave Airlie (1): -

      -
    • r300g: fixup rs690 tiling stride alignment calculations.
    • -

    - -

    Eric Anholt (13): -

      -
    • intel: Allow CopyTexSubImage to InternalFormat 3/4 textures, like RGB/RGBA.
    • -
    • glsl: Free the loop state context when we free the loop state.
    • -
    • i965: Allow OPCODE_SWZ to put immediates in the first arg.
    • -
    • i965: Add support for rendering to SARGB8 FBOs.
    • -
    • glsl: Add a helper constructor for expressions that works out result type.
    • -
    • glsl: Fix structure and array comparisions.
    • -
    • glsl: Quiet unreachable no-return-from-function warning.
    • -
    • glsl: Mark the array access for whole-array comparisons.
    • -
    • glsl: Fix flipped return of has_value() for array constants.
    • -
    • mesa: Add getters for the rest of the supported draw buffers.
    • -
    • mesa: Add getters for ARB_copy_buffer's attachment points.
    • -
    • i965: Correct the dp_read message descriptor setup on g4x.
    • -
    • glsl: Correct the marking of InputsRead/OutputsWritten on in/out matrices.
    • -

    - -

    Fabian Bieler (1): -

      -
    • glsl: fix lowering conditional returns in subroutines
    • -

    - -

    Francisco Jerez (3): -

      -
    • meta: Don't leak alpha function/reference value changes.
    • -
    • meta: Fix incorrect rendering of the bitmap alpha component.
    • -
    • meta: Don't try to disable cube maps if the driver doesn't expose the extension.
    • -

    - -

    Henri Verbeet (2): -

      -
    • r600: Evergreen has two extra frac_bits for the sampler LOD state.
    • -
    • st/mesa: Handle wrapped depth buffers in st_copy_texsubimage().
    • -

    - -

    Ian Romanick (33): -

      -
    • Add 7.9 md5sums
    • -
    • docs: Import 7.8.x release notes from 7.8 branch.
    • -
    • docs: download.html does not need to be updated for each release
    • -
    • docs: Update mailing lines from sf.net to freedesktop.org
    • -
    • docs: added news item for 7.9 release
    • -
    • mesa: Validate assembly shaders when GLSL shaders are used
    • -
    • linker: Reject shaders that have unresolved function calls
    • -
    • mesa: Refactor validation of shader targets
    • -
    • glsl: Slightly change the semantic of _LinkedShaders
    • -
    • linker: Improve handling of unread/unwritten shader inputs/outputs
    • -
    • glsl: Commit lexer files changed by previous cherry picking
    • -
    • mesa: Make metaops use program refcounts instead of names.
    • -
    • glsl: Fix incorrect gl_type of sampler2DArray and sampler1DArrayShadow
    • -
    • mesa: Allow query of MAX_SAMPLES with EXT_framebuffer_multisample
    • -
    • glsl: better handling of linker failures
    • -
    • mesa: Fix glGet of ES2's GL_MAX_*_VECTORS properties.
    • -
    • i915: Disallow alpha, red, RG, and sRGB as render targets
    • -
    • glsl/linker: Free any IR discarded by optimization passes.
    • -
    • glsl: Add an optimization pass to simplify discards.
    • -
    • glsl: Add a lowering pass to move discards out of if-statements.
    • -
    • i915: Correctly generate unconditional KIL instructions
    • -
    • glsl: Add unary ir_expression constructor
    • -
    • glsl: Ensure that equality comparisons don't return a NULL IR tree
    • -
    • glcpp: Commit changes in generated files cause by previous commit
    • -
    • glsl: Inherrit type of declared variable from initializer
    • -
    • glsl: Inherrit type of declared variable from initializer after processing assignment
    • -
    • linker: Ensure that unsized arrays have a size after linking
    • -
    • linker: Fix regressions caused by previous commit
    • -
    • linker: Allow built-in arrays to have different sizes between shader stages
    • -
    • ir_to_mesa: Don't generate swizzles for record derefs of non-scalar/vectors
    • -
    • Refresh autogenerated file builtin_function.cpp.
    • -
    • docs: Initial set of release notes for 7.9.1
    • -
    • mesa: set version string to 7.9.1
    • -

    - -

    Julien Cristau (1): -

      -
    • Makefile: don't include the same files twice in the tarball
    • -

    - -

    Kenneth Graunke (19): -

      -
    • glcpp: Return NEWLINE token for newlines inside multi-line comments.
    • -
    • generate_builtins.py: Output large strings as arrays of characters.
    • -
    • glsl: Fix constant component count in vector constructor emitting.
    • -
    • ir_dead_functions: Actually free dead functions and signatures.
    • -
    • glcpp: Define GL_FRAGMENT_PRECISION_HIGH if GLSL version >= 1.30.
    • -
    • glsl: Unconditionally define GL_FRAGMENT_PRECISION_HIGH in ES2 shaders.
    • -
    • glsl: Fix constant expression handling for <, >, <=, >= on vectors.
    • -
    • glsl: Use do_common_optimization in the standalone compiler.
    • -
    • glsl: Don't inline function prototypes.
    • -
    • glsl: Add a virtual as_discard() method.
    • -
    • glsl: Remove "discard" support from lower_jumps.
    • -
    • glsl: Refactor get_num_operands.
    • -
    • glcpp: Don't emit SPACE tokens in conditional_tokens production.
    • -
    • glsl: Clean up code by adding a new is_break() function.
    • -
    • glsl: Consider the "else" branch when looking for loop breaks.
    • -
    • Remove OES_compressed_paletted_texture from the ES2 extension list.
    • -
    • glsl/builtins: Compute the correct value for smoothstep(vec, vec, vec).
    • -
    • Fix build on systems where "python" is python 3.
    • -
    • i965: Internally enable GL_NV_blend_square on ES2.
    • -

    - -

    Kristian Høgsberg (1): -

      -
    • i965: Don't write mrf assignment for pointsize output
    • -

    - -

    Luca Barbieri (1): -

      -
    • glsl: Unroll loops with conditional breaks anywhere (not just the end)
    • -

    - -

    Marek Olšák (17): -

      -
    • r300g: fix microtiling for 16-bits-per-channel formats
    • -
    • r300g: fix texture border for 16-bits-per-channel formats
    • -
    • r300g: add a default channel ordering of texture border for unhandled formats
    • -
    • r300g: fix texture border color for all texture formats
    • -
    • r300g: fix rendering with no vertex elements
    • -
    • r300/compiler: fix rc_rewrite_depth_out for it to work with any instruction
    • -
    • r300g: fix texture border color once again
    • -
    • r300g: fix texture swizzling with compressed textures on r400-r500
    • -
    • r300g: disable ARB_texture_swizzle if S3TC is enabled on r3xx-only
    • -
    • mesa, st/mesa: fix gl_FragCoord with FBOs in Gallium
    • -
    • st/mesa: initialize key in st_vp_varient
    • -
    • r300/compiler: fix swizzle lowering with a presubtract source operand
    • -
    • r300g: fix rendering with a vertex attrib having a zero stride
    • -
    • ir_to_mesa: Add support for conditional discards.
    • -
    • r300g: finally fix the texture corruption on r3xx-r4xx
    • -
    • mesa: fix texel store functions for some float formats
    • -
    • r300/compiler: disable the rename_regs pass for loops
    • -

    - -

    Mario Kleiner (1): -

      -
    • mesa/r300classic: Fix dri2Invalidate/radeon_prepare_render for page flipping.
    • -

    - -

    Peter Clifton (1): -

      -
    • intel: Fix emit_linear_blit to use DWORD aligned width blits
    • -

    - -

    Robert Hooker (2): -

      -
    • intel: Add a new B43 pci id.
    • -
    • egl_dri2: Add missing intel chip ids.
    • -

    - -

    Roland Scheidegger (1): -

      -
    • r200: fix r200 large points
    • -

    - -

    Thomas Hellstrom (17): -

      -
    • st/xorg: Don't try to use option values before processing options
    • -
    • xorg/vmwgfx: Make vmwarectrl work also on 64-bit servers
    • -
    • st/xorg: Add a customizer option to get rid of annoying cursor update flicker
    • -
    • xorg/vmwgfx: Don't hide HW cursors when updating them
    • -
    • st/xorg: Don't try to remove invalid fbs
    • -
    • st/xorg: Fix typo
    • -
    • st/xorg, xorg/vmwgfx: Be a bit more frendly towards cross-compiling environments
    • -
    • st/xorg: Fix compilation errors for Xservers compiled without Composite
    • -
    • st/xorg: Don't use deprecated x*alloc / xfree functions
    • -
    • xorg/vmwgfx: Don't use deprecated x*alloc / xfree functions
    • -
    • st/xorg: Fix compilation for Xservers >= 1.10
    • -
    • mesa: Make sure we have the talloc cflags when using the talloc headers
    • -
    • egl: Add an include for size_t
    • -
    • mesa: Add talloc includes for gles
    • -
    • st/egl: Fix build for include files in nonstandard places
    • -
    • svga/drm: Optionally resolve calls to powf during link-time
    • -
    • gallium/targets: Trivial crosscompiling fix
    • -

    - -

    Tom Stellard (7): -

      -
    • r300/compiler: Make sure presubtract sources use supported swizzles
    • -
    • r300/compiler: Fix register allocator's handling of loops
    • -
    • r300/compiler: Fix instruction scheduling within IF blocks
    • -
    • r300/compiler: Use zero as the register index for unused sources
    • -
    • r300/compiler: Ignore alpha dest register when replicating the result
    • -
    • r300/compiler: Use correct swizzles for all presubtract sources
    • -
    • r300/compiler: Don't allow presubtract sources to be remapped twice
    • -

    - -

    Vinson Lee (1): -

      -
    • glsl: Fix 'control reaches end of non-void function' warning.
    • -

    - -

    richard (1): -

      -
    • r600c : inline vertex format is not updated in an app, switch to use vfetch constants. For the 7.9 and 7.10 branches as well.
    • -

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

    Mesa 7.9.1 Release Notes / January 7, 2011

    + +

    +Mesa 7.9.1 is a bug fix release which fixes bugs found since the 7.9 release. +

    +

    +Mesa 7.9.1 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

    +
    +78422843ea875ad4eac35b9b8584032b  MesaLib-7.9.1.tar.gz
    +07dc6cfb5928840b8b9df5bd1b3ae434  MesaLib-7.9.1.tar.bz2
    +c8eaea5b3c3d6dee784bd8c2db91c80f  MesaLib-7.9.1.zip
    +ee9ecae4ca56fbb2d14dc15e3a0a7640  MesaGLUT-7.9.1.tar.gz
    +41fc477d524e7dc5c84da8ef22422bea  MesaGLUT-7.9.1.tar.bz2
    +90b287229afdf19317aa989d19462e7a  MesaGLUT-7.9.1.zip
    +
    + + +

    New features

    +

    None.

    + +

    Bug fixes

    +

    This list is likely incomplete.

    +
      +
    • Bug 28800 - [r300c, r300g] Texture corruption with World of Warcraft
    • + +
    • Bug 29420 - Amnesia / HPL2 RendererFeatTest - not rendering correctly
    • + +
    • Bug 29946 - [swrast] piglit valgrind glsl-array-bounds-04 fails
    • + +
    • Bug 30261 - [GLSL 1.20] allowing inconsistent invariant declaration between two vertex shaders
    • + +
    • Bug 30632 - [softpipe] state_tracker/st_manager.c:489: st_context_notify_invalid_framebuffer: Assertion `stfb && stfb->iface == stfbi' failed.
    • + +
    • Bug 30694 - wincopy will crash on Gallium drivers when going to front buffer
    • + +
    • Bug 30787 - Invalid asm shader does not generate draw-time error when used with GLSL shader
    • + +
    • Bug 30993 - getFramebufferAttachmentParameteriv wrongly generates error
    • + +
    • Bug 31101 - [glsl2] abort() in ir_validate::visit_enter(ir_assignment *ir)
    • + +
    • Bug 31193 - [regression] aa43176e break water reflections
    • + +
    • Bug 31194 - The mesa meta save/restore code doesn't ref the current GLSL program
    • + +
    • Bug 31371 - glslparsertest: ir.cpp:358: ir_constant::ir_constant(const glsl_type*, const ir_constant_data*): Assertion `(type->base_type >= 0) && (type->base_type <= 3)' failed.
    • + +
    • Bug 31439 - Crash in glBufferSubData() with size == 0
    • + +
    • Bug 31495 - [i965 gles2c bisected] OpenGL ES 2.0 conformance GL2Tests_GetBIFD_input.run regressed
    • + +
    • Bug 31514 - isBuffer returns true for unbound buffers
    • + +
    • Bug 31560 - [tdfx] tdfx_tex.c:702: error: ‘const struct gl_color_table’ has no member named ‘Format’
    • + +
    • Bug 31617 - Radeon/Compiz: 'failed to attach dri2 front buffer', error case not handled
    • + +
    • Bug 31648 - [GLSL] array-struct-array gets assertion: `(size >= 1) && (size <= 4)' failed.
    • + +
    • Bug 31650 - [GLSL] varying gl_TexCoord fails to be re-declared to different size in the second shader
    • + +
    • Bug 31673 - GL_FRAGMENT_PRECISION_HIGH preprocessor macro undefined in GLSL ES
    • + +
    • Bug 31690 - i915 shader compiler fails to flatten if in Aquarium webgl demo.
    • + +
    • Bug 31832 - [i915] Bad renderbuffer format: 21
    • + +
    • Bug 31841 - [drm:radeon_cs_ioctl] *ERROR* Invalid command stream !
    • + +
    • Bug 31894 - Writing to gl_PointSize with GLES2 corrupts other varyings
    • + +
    • Bug 31909 - [i965] brw_fs.cpp:1461: void fs_visitor::emit_bool_to_cond_code(ir_rvalue*): Assertion `expr->operands[i]->type->is_scalar()' failed.
    • + +
    • Bug 31934 - [gallium] Mapping empty buffer object causes SIGSEGV
    • + +
    • Bug 31983 - [i915 gles2] "if (expression with builtin/varying variables) discard" breaks linkage
    • + +
    • Bug 31985 - [GLSL 1.20] initialized uniform array considered as "unsized"
    • + +
    • Bug 31987 - [gles2] if input a wrong pname(GL_NONE) to glGetBoolean, it will not case GL_INVALID_ENUM
    • + +
    • Bug 32035 - [GLSL bisected] comparing unsized array gets segfault
    • + +
    • Bug 32070 - llvmpipe renders stencil demo incorrectly
    • + +
    • Bug 32273 - assertion fails when starting vdrift 2010 release with shaders enabled
    • + +
    • Bug 32287 - [bisected GLSL] float-int failure
    • + +
    • Bug 32311 - [965 bisected] Array look-ups broken on GM45
    • + +
    • Bug 32520 - [gles2] glBlendFunc(GL_ZERO, GL_DST_COLOR) will result in GL_INVALID_ENUM
    • + +
    • Bug 32825 - egl_glx driver completely broken in 7.9 branch [fix in master]
    • +
    + + +

    Changes

    +

    The full set of changes can be viewed by using the following GIT command:

    + +
    +  git log mesa-7.9..mesa-7.9.1
    +
    + +

    Alex Deucher (5): +

      +
    • r100: revalidate after radeon_update_renderbuffers
    • +
    • r600c: add missing radeon_prepare_render() call on evergreen
    • +
    • r600c: properly align mipmaps to group size
    • +
    • gallium/egl: fix r300 vs r600 loading
    • +
    • r600c: fix some opcodes on evergreen
    • +

    + +

    Aras Pranckevicius (2): +

      +
    • glsl: fix crash in loop analysis when some controls can't be determined
    • +
    • glsl: fix matrix type check in ir_algebraic
    • +

    + +

    Brian Paul (27): +

      +
    • swrast: fix choose_depth_texture_level() to respect mipmap filtering state
    • +
    • st/mesa: replace assertion w/ conditional in framebuffer invalidation
    • +
    • egl/i965: include inline_wrapper_sw_helper.h
    • +
    • mesa: Add missing else in do_row_3D
    • +
    • mesa: add missing formats in _mesa_format_to_type_and_comps()
    • +
    • mesa: handle more pixel types in mipmap generation code
    • +
    • mesa: make glIsBuffer() return false for never bound buffers
    • +
    • mesa: fix glDeleteBuffers() regression
    • +
    • swrast: init alpha value to 1.0 in opt_sample_rgb_2d()
    • +
    • meta: Mask Stencil.Clear against stencilMax in _mesa_meta_Clear
    • +
    • st/mesa: fix mapping of zero-sized buffer objects
    • +
    • mesa: check for posix_memalign() errors
    • +
    • llvmpipe: fix broken stencil writemask
    • +
    • mesa: fix GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME query
    • +
    • mesa: return GL_FRAMEBUFFER_DEFAULT as FBO attachment type
    • +
    • mesa: make glGet*(GL_NONE) generate GL_INVALID_ENUM
    • +
    • mesa: test for cube map completeness in glGenerateMipmap()
    • +
    • tnl: Initialize gl_program_machine memory in run_vp.
    • +
    • tnl: a better way to initialize the gl_program_machine memory
    • +
    • mesa, st/mesa: disable GL_ARB_geometry_shader4
    • +
    • glsl: fix off by one in register index assertion
    • +
    • st/mesa: fix mipmap generation bug
    • +
    • glsl: new glsl_strtod() wrapper to fix decimal point interpretation
    • +
    • mesa: no-op glBufferSubData() on size==0
    • +
    • tdfx: s/Format/_BaseFormat/
    • +
    • st/mesa: fix renderbuffer pointer check in st_Clear()
    • +
    • mesa: Bump the number of bits in the register index.
    • +

    + +

    Chad Versace (5): +

      +
    • glsl: Fix lexer rule for ^=
    • +
    • glsl: Fix ast-to-hir for ARB_fragment_coord_conventions
    • +
    • glsl: Fix ir_expression::constant_expression_value()
    • +
    • glsl: Fix erroneous cast in ast_jump_statement::hir()
    • +
    • glsl: Fix linker bug in cross_validate_globals()
    • +

    + +

    Chia-I Wu (10): +

      +
    • targets/egl: Fix linking with libdrm.
    • +
    • st/vega: Fix version check in context creation.
    • +
    • st/egl: Do not finish a fence that is NULL.
    • +
    • egl: Fix a false negative check in _eglCheckMakeCurrent.
    • +
    • st/mesa: Unreference the sampler view in st_bind_surface.
    • +
    • egl_dri2: Fix __DRI_DRI2 version 1 support.
    • +
    • st/vega: Do not wait NULL fences.
    • +
    • mesa: Do not advertise GL_OES_texture_3D.
    • +
    • egl_glx: Fix borken driver.
    • +
    • egl: Check extensions.
    • +

    + +

    Daniel Lichtenberger (1): +

      +
    • radeon: fix potential segfault in renderbuffer update
    • +

    + +

    Daniel Vetter (1): +

      +
    • r200: revalidate after radeon_update_renderbuffers
    • +

    + +

    Dave Airlie (1): +

      +
    • r300g: fixup rs690 tiling stride alignment calculations.
    • +

    + +

    Eric Anholt (13): +

      +
    • intel: Allow CopyTexSubImage to InternalFormat 3/4 textures, like RGB/RGBA.
    • +
    • glsl: Free the loop state context when we free the loop state.
    • +
    • i965: Allow OPCODE_SWZ to put immediates in the first arg.
    • +
    • i965: Add support for rendering to SARGB8 FBOs.
    • +
    • glsl: Add a helper constructor for expressions that works out result type.
    • +
    • glsl: Fix structure and array comparisions.
    • +
    • glsl: Quiet unreachable no-return-from-function warning.
    • +
    • glsl: Mark the array access for whole-array comparisons.
    • +
    • glsl: Fix flipped return of has_value() for array constants.
    • +
    • mesa: Add getters for the rest of the supported draw buffers.
    • +
    • mesa: Add getters for ARB_copy_buffer's attachment points.
    • +
    • i965: Correct the dp_read message descriptor setup on g4x.
    • +
    • glsl: Correct the marking of InputsRead/OutputsWritten on in/out matrices.
    • +

    + +

    Fabian Bieler (1): +

      +
    • glsl: fix lowering conditional returns in subroutines
    • +

    + +

    Francisco Jerez (3): +

      +
    • meta: Don't leak alpha function/reference value changes.
    • +
    • meta: Fix incorrect rendering of the bitmap alpha component.
    • +
    • meta: Don't try to disable cube maps if the driver doesn't expose the extension.
    • +

    + +

    Henri Verbeet (2): +

      +
    • r600: Evergreen has two extra frac_bits for the sampler LOD state.
    • +
    • st/mesa: Handle wrapped depth buffers in st_copy_texsubimage().
    • +

    + +

    Ian Romanick (33): +

      +
    • Add 7.9 md5sums
    • +
    • docs: Import 7.8.x release notes from 7.8 branch.
    • +
    • docs: download.html does not need to be updated for each release
    • +
    • docs: Update mailing lines from sf.net to freedesktop.org
    • +
    • docs: added news item for 7.9 release
    • +
    • mesa: Validate assembly shaders when GLSL shaders are used
    • +
    • linker: Reject shaders that have unresolved function calls
    • +
    • mesa: Refactor validation of shader targets
    • +
    • glsl: Slightly change the semantic of _LinkedShaders
    • +
    • linker: Improve handling of unread/unwritten shader inputs/outputs
    • +
    • glsl: Commit lexer files changed by previous cherry picking
    • +
    • mesa: Make metaops use program refcounts instead of names.
    • +
    • glsl: Fix incorrect gl_type of sampler2DArray and sampler1DArrayShadow
    • +
    • mesa: Allow query of MAX_SAMPLES with EXT_framebuffer_multisample
    • +
    • glsl: better handling of linker failures
    • +
    • mesa: Fix glGet of ES2's GL_MAX_*_VECTORS properties.
    • +
    • i915: Disallow alpha, red, RG, and sRGB as render targets
    • +
    • glsl/linker: Free any IR discarded by optimization passes.
    • +
    • glsl: Add an optimization pass to simplify discards.
    • +
    • glsl: Add a lowering pass to move discards out of if-statements.
    • +
    • i915: Correctly generate unconditional KIL instructions
    • +
    • glsl: Add unary ir_expression constructor
    • +
    • glsl: Ensure that equality comparisons don't return a NULL IR tree
    • +
    • glcpp: Commit changes in generated files cause by previous commit
    • +
    • glsl: Inherrit type of declared variable from initializer
    • +
    • glsl: Inherrit type of declared variable from initializer after processing assignment
    • +
    • linker: Ensure that unsized arrays have a size after linking
    • +
    • linker: Fix regressions caused by previous commit
    • +
    • linker: Allow built-in arrays to have different sizes between shader stages
    • +
    • ir_to_mesa: Don't generate swizzles for record derefs of non-scalar/vectors
    • +
    • Refresh autogenerated file builtin_function.cpp.
    • +
    • docs: Initial set of release notes for 7.9.1
    • +
    • mesa: set version string to 7.9.1
    • +

    + +

    Julien Cristau (1): +

      +
    • Makefile: don't include the same files twice in the tarball
    • +

    + +

    Kenneth Graunke (19): +

      +
    • glcpp: Return NEWLINE token for newlines inside multi-line comments.
    • +
    • generate_builtins.py: Output large strings as arrays of characters.
    • +
    • glsl: Fix constant component count in vector constructor emitting.
    • +
    • ir_dead_functions: Actually free dead functions and signatures.
    • +
    • glcpp: Define GL_FRAGMENT_PRECISION_HIGH if GLSL version >= 1.30.
    • +
    • glsl: Unconditionally define GL_FRAGMENT_PRECISION_HIGH in ES2 shaders.
    • +
    • glsl: Fix constant expression handling for <, >, <=, >= on vectors.
    • +
    • glsl: Use do_common_optimization in the standalone compiler.
    • +
    • glsl: Don't inline function prototypes.
    • +
    • glsl: Add a virtual as_discard() method.
    • +
    • glsl: Remove "discard" support from lower_jumps.
    • +
    • glsl: Refactor get_num_operands.
    • +
    • glcpp: Don't emit SPACE tokens in conditional_tokens production.
    • +
    • glsl: Clean up code by adding a new is_break() function.
    • +
    • glsl: Consider the "else" branch when looking for loop breaks.
    • +
    • Remove OES_compressed_paletted_texture from the ES2 extension list.
    • +
    • glsl/builtins: Compute the correct value for smoothstep(vec, vec, vec).
    • +
    • Fix build on systems where "python" is python 3.
    • +
    • i965: Internally enable GL_NV_blend_square on ES2.
    • +

    + +

    Kristian Høgsberg (1): +

      +
    • i965: Don't write mrf assignment for pointsize output
    • +

    + +

    Luca Barbieri (1): +

      +
    • glsl: Unroll loops with conditional breaks anywhere (not just the end)
    • +

    + +

    Marek Olšák (17): +

      +
    • r300g: fix microtiling for 16-bits-per-channel formats
    • +
    • r300g: fix texture border for 16-bits-per-channel formats
    • +
    • r300g: add a default channel ordering of texture border for unhandled formats
    • +
    • r300g: fix texture border color for all texture formats
    • +
    • r300g: fix rendering with no vertex elements
    • +
    • r300/compiler: fix rc_rewrite_depth_out for it to work with any instruction
    • +
    • r300g: fix texture border color once again
    • +
    • r300g: fix texture swizzling with compressed textures on r400-r500
    • +
    • r300g: disable ARB_texture_swizzle if S3TC is enabled on r3xx-only
    • +
    • mesa, st/mesa: fix gl_FragCoord with FBOs in Gallium
    • +
    • st/mesa: initialize key in st_vp_varient
    • +
    • r300/compiler: fix swizzle lowering with a presubtract source operand
    • +
    • r300g: fix rendering with a vertex attrib having a zero stride
    • +
    • ir_to_mesa: Add support for conditional discards.
    • +
    • r300g: finally fix the texture corruption on r3xx-r4xx
    • +
    • mesa: fix texel store functions for some float formats
    • +
    • r300/compiler: disable the rename_regs pass for loops
    • +

    + +

    Mario Kleiner (1): +

      +
    • mesa/r300classic: Fix dri2Invalidate/radeon_prepare_render for page flipping.
    • +

    + +

    Peter Clifton (1): +

      +
    • intel: Fix emit_linear_blit to use DWORD aligned width blits
    • +

    + +

    Robert Hooker (2): +

      +
    • intel: Add a new B43 pci id.
    • +
    • egl_dri2: Add missing intel chip ids.
    • +

    + +

    Roland Scheidegger (1): +

      +
    • r200: fix r200 large points
    • +

    + +

    Thomas Hellstrom (17): +

      +
    • st/xorg: Don't try to use option values before processing options
    • +
    • xorg/vmwgfx: Make vmwarectrl work also on 64-bit servers
    • +
    • st/xorg: Add a customizer option to get rid of annoying cursor update flicker
    • +
    • xorg/vmwgfx: Don't hide HW cursors when updating them
    • +
    • st/xorg: Don't try to remove invalid fbs
    • +
    • st/xorg: Fix typo
    • +
    • st/xorg, xorg/vmwgfx: Be a bit more frendly towards cross-compiling environments
    • +
    • st/xorg: Fix compilation errors for Xservers compiled without Composite
    • +
    • st/xorg: Don't use deprecated x*alloc / xfree functions
    • +
    • xorg/vmwgfx: Don't use deprecated x*alloc / xfree functions
    • +
    • st/xorg: Fix compilation for Xservers >= 1.10
    • +
    • mesa: Make sure we have the talloc cflags when using the talloc headers
    • +
    • egl: Add an include for size_t
    • +
    • mesa: Add talloc includes for gles
    • +
    • st/egl: Fix build for include files in nonstandard places
    • +
    • svga/drm: Optionally resolve calls to powf during link-time
    • +
    • gallium/targets: Trivial crosscompiling fix
    • +

    + +

    Tom Stellard (7): +

      +
    • r300/compiler: Make sure presubtract sources use supported swizzles
    • +
    • r300/compiler: Fix register allocator's handling of loops
    • +
    • r300/compiler: Fix instruction scheduling within IF blocks
    • +
    • r300/compiler: Use zero as the register index for unused sources
    • +
    • r300/compiler: Ignore alpha dest register when replicating the result
    • +
    • r300/compiler: Use correct swizzles for all presubtract sources
    • +
    • r300/compiler: Don't allow presubtract sources to be remapped twice
    • +

    + +

    Vinson Lee (1): +

      +
    • glsl: Fix 'control reaches end of non-void function' warning.
    • +

    + +

    richard (1): +

      +
    • r600c : inline vertex format is not updated in an app, switch to use vfetch constants. For the 7.9 and 7.10 branches as well.
    • +

    + + + diff --git a/mesalib/docs/relnotes-7.9.html b/mesalib/docs/relnotes-7.9.html index c94ebeef5..fe1fd5e41 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

    -
    -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 -
    - - - + + +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/shading.html b/mesalib/docs/shading.html index cc1f9f1ec..aba395974 100644 --- a/mesalib/docs/shading.html +++ b/mesalib/docs/shading.html @@ -1,268 +1,268 @@ - - -Shading Language Support - - - - - -

    Shading Language Support

    - -

    -This page describes the features and status of Mesa's support for the - -OpenGL Shading Language. -

    - -

    -Contents -

    - - - - - -

    Environment Variables

    - -

    -The MESA_GLSL environment variable can be set to a comma-separated -list of keywords to control some aspects of the GLSL compiler and shader -execution. These are generally used for debugging. -

    -
      -
    • dump - print GLSL shader code to stdout at link time -
    • log - log all GLSL shaders to files. - The filenames will be "shader_X.vert" or "shader_X.frag" where X - the shader ID. -
    • nopt - disable compiler optimizations -
    • opt - force compiler optimizations -
    • uniform - print message to stdout when glUniform is called -
    • nopvert - force vertex shaders to be a simple shader that just transforms - the vertex position with ftransform() and passes through the color and - texcoord[0] attributes. -
    • nopfrag - force fragment shader to be a simple shader that passes - through the color attribute. -
    • useprog - log glUseProgram calls to stderr -
    -

    -Example: export MESA_GLSL=dump,nopt -

    - - -
    -

    GLSL Version

    - -

    -The GLSL compiler currently supports version 1.20 of the shading language. -

    - -

    -Several GLSL extensions are also supported: -

    -
      -
    • GL_ARB_draw_buffers -
    • GL_ARB_texture_rectangle -
    • GL_ARB_fragment_coord_conventions -
    • GL_EXT_texture_array -
    - - -
    -

    Unsupported Features

    - -

    XXX update this section

    - -

    -The following features of the shading language are not yet fully supported -in Mesa: -

    - -
      -
    • Linking of multiple shaders does not always work. Currently, linking - is implemented through shader concatenation and re-compiling. This - doesn't always work because of some #pragma and preprocessor issues. -
    • gl_ClipVertex -
    • The gl_Color and gl_SecondaryColor varying vars are interpolated - without perspective correction -
    - -

    -All other major features of the shading language should function. -

    - - -
    -

    Implementation Notes

    - -
      -
    • Shading language programs are compiled into low-level programs - very similar to those of GL_ARB_vertex/fragment_program. -
    • All vector types (vec2, vec3, vec4, bvec2, etc) currently occupy full - float[4] registers. -
    • Float constants and variables are packed so that up to four floats - can occupy one program parameter/register. -
    • All function calls are inlined. -
    • Shaders which use too many registers will not compile. -
    • The quality of generated code is pretty good, register usage is fair. -
    • Shader error detection and reporting of errors (InfoLog) is not - very good yet. -
    • The ftransform() function doesn't necessarily match the results of - fixed-function transformation. -
    - -

    -These issues will be addressed/resolved in the future. -

    - - -
    -

    Programming Hints

    - -
      -
    • Use the built-in library functions whenever possible. - For example, instead of writing this: -
      -        float x = 1.0 / sqrt(y);
      -
      - Write this: -
      -        float x = inversesqrt(y);
      -
      -
    • -
    - - -
    -

    Stand-alone GLSL Compiler

    - -

    -The stand-alone GLSL compiler program can be used to compile GLSL shaders -into low-level GPU code. -

    - -

    -This tool is useful for: -

    -

      -
    • Inspecting GPU code to gain insight into compilation -
    • Generating initial GPU code for subsequent hand-tuning -
    • Debugging the GLSL compiler itself -
    - -

    -After building Mesa, the compiler can be found at src/glsl/glsl_compiler -

    - -

    -Here's an example of using the compiler to compile a vertex shader and -emit GL_ARB_vertex_program-style instructions: -

    -
    -    src/glsl/glsl_compiler --dump-ast myshader.vert
    -
    - -Options include -
      -
    • --dump-ast - dump GPU code -
    • --dump-hir - dump high-level IR code -
    • --dump-lir - dump low-level IR code -
    • --link - ??? -
    - - - - -
    -

    Compiler Implementation

    - -

    -The source code for Mesa's shading language compiler is in the -src/glsl/ directory. -

    - -

    -XXX provide some info about the compiler.... -

    - -

    -The final vertex and fragment programs may be interpreted in software -(see prog_execute.c) or translated into a specific hardware architecture -(see drivers/dri/i915/i915_fragprog.c for example). -

    - -

    Code Generation Options

    - -

    -Internally, there are several options that control the compiler's code -generation and instruction selection. -These options are seen in the gl_shader_state struct and may be set -by the device driver to indicate its preferences: - -

    -struct gl_shader_state
    -{
    -   ...
    -   /** Driver-selectable options: */
    -   GLboolean EmitHighLevelInstructions;
    -   GLboolean EmitCondCodes;
    -   GLboolean EmitComments;
    -};
    -
    - -
      -
    • EmitHighLevelInstructions -
      -This option controls instruction selection for loops and conditionals. -If the option is set high-level IF/ELSE/ENDIF, LOOP/ENDLOOP, CONT/BRK -instructions will be emitted. -Otherwise, those constructs will be implemented with BRA instructions. -
    • - -
    • EmitCondCodes -
      -If set, condition codes (ala GL_NV_fragment_program) will be used for -branching and looping. -Otherwise, ordinary registers will be used (the IF instruction will -examine the first operand's X component and do the if-part if non-zero). -This option is only relevant if EmitHighLevelInstructions is set. -
    • - -
    • EmitComments -
      -If set, instructions will be annoted with comments to help with debugging. -Extra NOP instructions will also be inserted. -
      - -
    - - -
    -

    Compiler Validation

    - -

    -Developers working on the GLSL compiler should test frequently to avoid -regressions. -

    - -

    -The Piglit project -has many GLSL tests and the -Glean glsl1 test -tests GLSL features. -

    - -

    -The Mesa demos repository also has some good GLSL tests. -

    - - - + + +Shading Language Support + + + + + +

    Shading Language Support

    + +

    +This page describes the features and status of Mesa's support for the + +OpenGL Shading Language. +

    + +

    +Contents +

    + + + + + +

    Environment Variables

    + +

    +The MESA_GLSL environment variable can be set to a comma-separated +list of keywords to control some aspects of the GLSL compiler and shader +execution. These are generally used for debugging. +

    +
      +
    • dump - print GLSL shader code to stdout at link time +
    • log - log all GLSL shaders to files. + The filenames will be "shader_X.vert" or "shader_X.frag" where X + the shader ID. +
    • nopt - disable compiler optimizations +
    • opt - force compiler optimizations +
    • uniform - print message to stdout when glUniform is called +
    • nopvert - force vertex shaders to be a simple shader that just transforms + the vertex position with ftransform() and passes through the color and + texcoord[0] attributes. +
    • nopfrag - force fragment shader to be a simple shader that passes + through the color attribute. +
    • useprog - log glUseProgram calls to stderr +
    +

    +Example: export MESA_GLSL=dump,nopt +

    + + +
    +

    GLSL Version

    + +

    +The GLSL compiler currently supports version 1.20 of the shading language. +

    + +

    +Several GLSL extensions are also supported: +

    +
      +
    • GL_ARB_draw_buffers +
    • GL_ARB_texture_rectangle +
    • GL_ARB_fragment_coord_conventions +
    • GL_EXT_texture_array +
    + + +
    +

    Unsupported Features

    + +

    XXX update this section

    + +

    +The following features of the shading language are not yet fully supported +in Mesa: +

    + +
      +
    • Linking of multiple shaders does not always work. Currently, linking + is implemented through shader concatenation and re-compiling. This + doesn't always work because of some #pragma and preprocessor issues. +
    • gl_ClipVertex +
    • The gl_Color and gl_SecondaryColor varying vars are interpolated + without perspective correction +
    + +

    +All other major features of the shading language should function. +

    + + +
    +

    Implementation Notes

    + +
      +
    • Shading language programs are compiled into low-level programs + very similar to those of GL_ARB_vertex/fragment_program. +
    • All vector types (vec2, vec3, vec4, bvec2, etc) currently occupy full + float[4] registers. +
    • Float constants and variables are packed so that up to four floats + can occupy one program parameter/register. +
    • All function calls are inlined. +
    • Shaders which use too many registers will not compile. +
    • The quality of generated code is pretty good, register usage is fair. +
    • Shader error detection and reporting of errors (InfoLog) is not + very good yet. +
    • The ftransform() function doesn't necessarily match the results of + fixed-function transformation. +
    + +

    +These issues will be addressed/resolved in the future. +

    + + +
    +

    Programming Hints

    + +
      +
    • Use the built-in library functions whenever possible. + For example, instead of writing this: +
      +        float x = 1.0 / sqrt(y);
      +
      + Write this: +
      +        float x = inversesqrt(y);
      +
      +
    • +
    + + +
    +

    Stand-alone GLSL Compiler

    + +

    +The stand-alone GLSL compiler program can be used to compile GLSL shaders +into low-level GPU code. +

    + +

    +This tool is useful for: +

    +

      +
    • Inspecting GPU code to gain insight into compilation +
    • Generating initial GPU code for subsequent hand-tuning +
    • Debugging the GLSL compiler itself +
    + +

    +After building Mesa, the compiler can be found at src/glsl/glsl_compiler +

    + +

    +Here's an example of using the compiler to compile a vertex shader and +emit GL_ARB_vertex_program-style instructions: +

    +
    +    src/glsl/glsl_compiler --dump-ast myshader.vert
    +
    + +Options include +
      +
    • --dump-ast - dump GPU code +
    • --dump-hir - dump high-level IR code +
    • --dump-lir - dump low-level IR code +
    • --link - ??? +
    + + + + +
    +

    Compiler Implementation

    + +

    +The source code for Mesa's shading language compiler is in the +src/glsl/ directory. +

    + +

    +XXX provide some info about the compiler.... +

    + +

    +The final vertex and fragment programs may be interpreted in software +(see prog_execute.c) or translated into a specific hardware architecture +(see drivers/dri/i915/i915_fragprog.c for example). +

    + +

    Code Generation Options

    + +

    +Internally, there are several options that control the compiler's code +generation and instruction selection. +These options are seen in the gl_shader_state struct and may be set +by the device driver to indicate its preferences: + +

    +struct gl_shader_state
    +{
    +   ...
    +   /** Driver-selectable options: */
    +   GLboolean EmitHighLevelInstructions;
    +   GLboolean EmitCondCodes;
    +   GLboolean EmitComments;
    +};
    +
    + +
      +
    • EmitHighLevelInstructions +
      +This option controls instruction selection for loops and conditionals. +If the option is set high-level IF/ELSE/ENDIF, LOOP/ENDLOOP, CONT/BRK +instructions will be emitted. +Otherwise, those constructs will be implemented with BRA instructions. +
    • + +
    • EmitCondCodes +
      +If set, condition codes (ala GL_NV_fragment_program) will be used for +branching and looping. +Otherwise, ordinary registers will be used (the IF instruction will +examine the first operand's X component and do the if-part if non-zero). +This option is only relevant if EmitHighLevelInstructions is set. +
    • + +
    • EmitComments +
      +If set, instructions will be annoted with comments to help with debugging. +Extra NOP instructions will also be inserted. +
      + +
    + + +
    +

    Compiler Validation

    + +

    +Developers working on the GLSL compiler should test frequently to avoid +regressions. +

    + +

    +The Piglit project +has many GLSL tests and the +Glean glsl1 test +tests GLSL features. +

    + +

    +The Mesa demos repository also has some good GLSL tests. +

    + + + -- cgit v1.2.3