aboutsummaryrefslogtreecommitdiff
path: root/mesalib/docs
diff options
context:
space:
mode:
Diffstat (limited to 'mesalib/docs')
-rw-r--r--mesalib/docs/MESA_agp_offset.spec190
-rw-r--r--mesalib/docs/MESA_pack_invert.spec276
-rw-r--r--mesalib/docs/MESA_release_buffers.spec170
-rw-r--r--mesalib/docs/MESA_resize_buffers.spec162
-rw-r--r--mesalib/docs/MESA_swap_control.spec258
-rw-r--r--mesalib/docs/MESA_texture_array.spec1608
-rw-r--r--mesalib/docs/MESA_texture_signed_rgba.spec428
-rw-r--r--mesalib/docs/MESA_window_pos.spec252
-rw-r--r--mesalib/docs/MESA_ycbcr_texture.spec408
-rw-r--r--mesalib/docs/VERSIONS3028
-rw-r--r--mesalib/docs/enums.txt114
-rw-r--r--mesalib/docs/install.html121
-rw-r--r--mesalib/docs/mesa.css66
-rw-r--r--mesalib/docs/relnotes-7.10.html5590
-rw-r--r--mesalib/docs/relnotes-7.8.2.html292
-rw-r--r--mesalib/docs/relnotes-7.8.3.html178
-rw-r--r--mesalib/docs/relnotes-7.9.1.html812
-rw-r--r--mesalib/docs/relnotes-7.9.html274
-rw-r--r--mesalib/docs/shading.html536
19 files changed, 7326 insertions, 7437 deletions
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 <pname> parameter of PixelStorei and PixelStoref
- and the <pname> 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 <pname> parameter of PixelStorei and PixelStoref
+ and the <pname> 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 <d> 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 <d> 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 <interval> is set to a value of 0, buffer swaps are not synchro-
- nized to a video frame. The <interval> 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 <interval> is set to a value of 0, buffer swaps are not synchro-
+ nized to a video frame. The <interval> 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 <cap> parameter of Enable, Disable, and IsEnabled, by
- the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, and
- GetDoublev, and by the <target> parameter of TexImage3D, GetTexImage,
- GetTexLevelParameteriv, GetTexLevelParameterfv, GetTexParameteriv, and
- GetTexParameterfv:
-
- TEXTURE_1D_ARRAY_EXT 0x8C18
- TEXTURE_2D_ARRAY_EXT 0x8C1A
-
- Accepted by the <target> parameter of TexImage2D, TexSubImage2D,
- CopyTexImage2D, CopyTexSubImage2D, CompressedTexImage2D,
- CompressedTexSubImage2D, GetTexLevelParameteriv, and
- GetTexLevelParameterfv:
-
- TEXTURE_1D_ARRAY_EXT
- PROXY_TEXTURE_1D_ARRAY_EXT 0x8C19
-
- Accepted by the <target> parameter of TexImage3D, TexSubImage3D,
- CopyTexSubImage3D, CompressedTexImage3D, CompressedTexSubImage3D,
- GetTexLevelParameteriv, and GetTexLevelParameterfv:
-
- TEXTURE_2D_ARRAY_EXT
- PROXY_TEXTURE_2D_ARRAY_EXT 0x8C1B
-
- Accepted by the <pname> 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 <param> parameter of TexParameterf, TexParameteri,
- TexParameterfv, and TexParameteriv when the <pname> 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 <internalformat> parameter of TexImage3D and
- CompressedTexImage3D, and by the <format> 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 <pname> 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
- "<zoffset>" 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 <target> is
- TEXTURE_1D_ARRAY_EXT, and <border> 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 <target> 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 <target>. ..."
-
- -- 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 <target> set to the desired texture target and <texture> 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 <r>
- texture coordinate, clamped to the range [0, 1]. For texture lookups
- from two-dimensional array texture targets, let R be the interpolated
- <q> 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)
-
- <optionName> ::= "MESA_texture_array"
-
- <texTarget> ::= "1D"
- | "2D"
- | "3D"
- | "CUBE"
- | "RECT"
- | <arrayTarget> (if program option is present)
- | <shadowTarget> (if program option is present)
-
- <arrayTarget> ::= "ARRAY1D"
- | "ARRAY2D"
-
- <shadowTarget> ::= "SHADOW1D"
- | "SHADOW2D"
- | "SHADOWRECT"
- | <shadowArrayTarget> (if program option is present)
-
- <shadowArrayTarget> ::= "SHADOWARRAY1D"
- | "SHADOWARRAY2D"
-
-
- -- Add Section 3.11.4.5.4 "Texture Stack Option"
-
- "If a fragment program specifies the "MESA_texture_array" program
- option, the <texTarget> 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 <coord>
- are used by all texture targets. Component usage for each <texTarget>
- 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 <texTarget>, 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. <layer> is an integer indicating the
- layer number, and is treated identically to the <zoffset> parameter in
- FramebufferTexture3DEXT. The error INVALID_VALUE is generated if
- <layer> is negative. The error INVALID_OPERATION is generated if
- <texture> is non-zero and is not the name of a three dimensional
- texture or one- or two-dimensional array texture. Unlike
- FramebufferTexture3D, no <textarget> parameter is accepted.
-
- If <texture> is non-zero and the command does not result in an error,
- the framebuffer attachment state corresponding to <attachment> is
- updated as in the other FramebufferTexture commands, except that
- FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT is set to <layer>."
-
- -- 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 <pname> 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 <params> will contain the number of texture layer attached to the
- attachment point. Otherwise, <params> 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 <target> 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 <cap> parameter of Enable, Disable, and IsEnabled, by
+ the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, and
+ GetDoublev, and by the <target> parameter of TexImage3D, GetTexImage,
+ GetTexLevelParameteriv, GetTexLevelParameterfv, GetTexParameteriv, and
+ GetTexParameterfv:
+
+ TEXTURE_1D_ARRAY_EXT 0x8C18
+ TEXTURE_2D_ARRAY_EXT 0x8C1A
+
+ Accepted by the <target> parameter of TexImage2D, TexSubImage2D,
+ CopyTexImage2D, CopyTexSubImage2D, CompressedTexImage2D,
+ CompressedTexSubImage2D, GetTexLevelParameteriv, and
+ GetTexLevelParameterfv:
+
+ TEXTURE_1D_ARRAY_EXT
+ PROXY_TEXTURE_1D_ARRAY_EXT 0x8C19
+
+ Accepted by the <target> parameter of TexImage3D, TexSubImage3D,
+ CopyTexSubImage3D, CompressedTexImage3D, CompressedTexSubImage3D,
+ GetTexLevelParameteriv, and GetTexLevelParameterfv:
+
+ TEXTURE_2D_ARRAY_EXT
+ PROXY_TEXTURE_2D_ARRAY_EXT 0x8C1B
+
+ Accepted by the <pname> 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 <param> parameter of TexParameterf, TexParameteri,
+ TexParameterfv, and TexParameteriv when the <pname> 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 <internalformat> parameter of TexImage3D and
+ CompressedTexImage3D, and by the <format> 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 <pname> 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
+ "<zoffset>" 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 <target> is
+ TEXTURE_1D_ARRAY_EXT, and <border> 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 <target> 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 <target>. ..."
+
+ -- 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 <target> set to the desired texture target and <texture> 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 <r>
+ texture coordinate, clamped to the range [0, 1]. For texture lookups
+ from two-dimensional array texture targets, let R be the interpolated
+ <q> 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)
+
+ <optionName> ::= "MESA_texture_array"
+
+ <texTarget> ::= "1D"
+ | "2D"
+ | "3D"
+ | "CUBE"
+ | "RECT"
+ | <arrayTarget> (if program option is present)
+ | <shadowTarget> (if program option is present)
+
+ <arrayTarget> ::= "ARRAY1D"
+ | "ARRAY2D"
+
+ <shadowTarget> ::= "SHADOW1D"
+ | "SHADOW2D"
+ | "SHADOWRECT"
+ | <shadowArrayTarget> (if program option is present)
+
+ <shadowArrayTarget> ::= "SHADOWARRAY1D"
+ | "SHADOWARRAY2D"
+
+
+ -- Add Section 3.11.4.5.4 "Texture Stack Option"
+
+ "If a fragment program specifies the "MESA_texture_array" program
+ option, the <texTarget> 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 <coord>
+ are used by all texture targets. Component usage for each <texTarget>
+ 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 <texTarget>, 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. <layer> is an integer indicating the
+ layer number, and is treated identically to the <zoffset> parameter in
+ FramebufferTexture3DEXT. The error INVALID_VALUE is generated if
+ <layer> is negative. The error INVALID_OPERATION is generated if
+ <texture> is non-zero and is not the name of a three dimensional
+ texture or one- or two-dimensional array texture. Unlike
+ FramebufferTexture3D, no <textarget> parameter is accepted.
+
+ If <texture> is non-zero and the command does not result in an error,
+ the framebuffer attachment state corresponding to <attachment> is
+ updated as in the other FramebufferTexture commands, except that
+ FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT is set to <layer>."
+
+ -- 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 <pname> 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 <params> will contain the number of texture layer attached to the
+ attachment point. Otherwise, <params> 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 <target> 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 <internalformat> parameter of
- TexImage1D, TexImage2D, TexImage3D, CopyTexImage1D, and CopyTexImage2D:
-
- RGBA_SNORM 0x8F93
- RGBA8_SNORM 0x8F97
-
- Returned by the <params> 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 <value>
- 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 <internalformat> parameter of
+ TexImage1D, TexImage2D, TexImage3D, CopyTexImage1D, and CopyTexImage2D:
+
+ RGBA_SNORM 0x8F93
+ RGBA8_SNORM 0x8F97
+
+ Returned by the <params> 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 <value>
+ 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 <internalFormat> and <format> parameters of
- TexImage2D and TexSubImage2D:
-
- YCBCR_MESA 0x8757
-
- Accepted by the <type> 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 <internalFormat> is
- MESA_YCBCR but <format> is not MESA_YCBCR.
-
- INVALID_ENUM is generated by TexImage2D if <format> is MESA_YCBCR but
- <internalFormat> is not MESA_YCBCR.
-
- INVALID_VALUE is generated by TexImage2D if <format> is MESA_YCBCR and
- <internalFormat> is MESA_YCBCR and <border> is not zero.
-
- INVALID_OPERATION is generated by TexSubImage2D if the internal image
- format is YCBCR_MESA and <format> 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 <internalFormat> and <format> parameters of
+ TexImage2D and TexSubImage2D:
+
+ YCBCR_MESA 0x8757
+
+ Accepted by the <type> 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 <internalFormat> is
+ MESA_YCBCR but <format> is not MESA_YCBCR.
+
+ INVALID_ENUM is generated by TexImage2D if <format> is MESA_YCBCR but
+ <internalFormat> is not MESA_YCBCR.
+
+ INVALID_VALUE is generated by TexImage2D if <format> is MESA_YCBCR and
+ <internalFormat> is MESA_YCBCR and <border> is not zero.
+
+ INVALID_OPERATION is generated by TexSubImage2D if the internal image
+ format is YCBCR_MESA and <format> 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 <format> 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 <format> 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 @@
<li><a href="#prereq-dri">For DRI and hardware acceleration</a>
</ul>
<li><a href="#autoconf">Building with autoconf (Linux/Unix/X11)</a>
-<li><a href="#scons">Building with SCons (Windows)</a>
-<li><a href="#legacy">Building with legacy Makefiles (deprecated)</a>
+<li><a href="#scons">Building with SCons (Windows/Linux)</a>
<li><a href="#other">Building for other systems</a>
<li><a href="#libs">Library Information</a>
<li><a href="#pkg-config">Building OpenGL programs with pkg-config
@@ -95,7 +94,7 @@ for more details.
<a name="scons">
-<H1>3. Building with SCons (Windows)</H1>
+<H1>3. Building with SCons (Windows/Linux)</H1>
<p>
To build Mesa with SCons on Linux or Windows do
@@ -129,118 +128,8 @@ Put them all in the same directory to test them.
-<a name="legacy">
-<h1>4. Building with legacy Makefiles (deprecated)</h1>
-
-<p>
-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.
-</p>
-<p>
-To see the list of configurations, just type <code>make</code>.
-Then choose a configuration from the list and type <code>make</code>
-<em>configname</em>.
-</p>
-
-<p>
-Mesa may be built in several different ways using the predefined configurations:
-</p>
-<ul>
-<li><b><em>Stand-alone/Xlib mode</em></b> - 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 <em>not</em> be able to use hardware 3D acceleration.
-<p>
-To compile stand-alone Mesa type <code>make</code> 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:
-</p>
-<pre>
- make linux-x86
-</pre>
-<p>This will produce libGL.so and several other libraries</p>
-</li>
-
-<li><b><em>DRI/accelerated</em></b> - 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.
-
-
-<p>
-Build Mesa and the DRI hardware drivers by running
-</p>
-<pre>
- make linux-dri
-</pre>
-<p>
-There are also <code>linux-dri-x86</code>, <code>linux-dri-x86-64</code>,
-and <code>linux-ppc</code> configurations which are optimized for those
-architectures.
-</p>
-<p>
-Make sure you have the prerequisite versions of DRM and Xserver mentioned
-above.
-</p>
-
-</ul>
-
-
-<p>
-Later, if you want to rebuild for a different configuration run
-<code>make realclean</code> before rebuilding.
-</p>
-
-
-
-<a name="install">
-<H2>Installing the header and library files</H2>
-
-<p>
-The standard location for the OpenGL header files on Unix-type systems is
-in <code>/usr/include/GL/</code>.
-The standard location for the libraries is <code>/usr/lib/</code>.
-For more information see, the
-<a href="http://oss.sgi.com/projects/ogl-sample/ABI/" target="_parent">
-Linux/OpenGL ABI specification</a>.
-</p>
-
-<p>
-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
-<code>/usr/local/include/GL/</code> and <code>/usr/local/lib/</code>.
-</p>
-
-<p>
-To install Mesa's headers and libraries, run <code>make install</code>.
-But first, check the Mesa/configs/default file and examine the values
-of the <b>INSTALL_DIR</b> and <b>DRI_DRIVER_INSTALL_DIR</b> variables.
-Change them if needed, then run <code>make install</code>.
-</p>
-
-<p>
-The variable
-<b>DESTDIR</b> may also be used to install the contents to a temporary
-staging directory.
-This can be useful for package management.
-For example: <code>make install DESTDIR=/somepath/</code>
-</p>
-
-<p>
-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.
-</p>
-
-
-
-
<a name="other">
-<H1>5. Building for other systems</H1>
+<H1>4. Building for other systems</H1>
<p>
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):
<a name="libs">
-<H1>6. Library Information</H1>
+<H1>5. Library Information</H1>
<p>
When compilation has finished, look in the top-level <code>lib/</code>
@@ -300,7 +189,7 @@ versions of libGL and device drivers.
<a name="pkg-config">
-<H1>7. Building OpenGL programs with pkg-config</H1>
+<H1>6. Building OpenGL programs with pkg-config</H1>
<p>
Running <code>make install</code> 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 @@
-<HTML>
-
-<head>
-<TITLE>Mesa Release Notes</TITLE>
-<link rel="stylesheet" type="text/css" href="mesa.css">
-<meta http-equiv="content-type" content="text/html; charset=utf-8" />
-</head>
-
-<BODY>
-
-<body bgcolor="#eeeeee">
-
-<H1>Mesa 7.10 Release Notes / January 7, 2011</H1>
-
-<p>
-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.
-</p>
-<p>
-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.
-</p>
-<p>
-See the <a href="install.html">Compiling/Installing page</a> for prerequisites
-for DRI hardware acceleration.
-</p>
-
-
-<h2>MD5 checksums</h2>
-<pre>
-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
-</pre>
-
-
-<h2>New features</h2>
-<ul>
-<li>GL_ARB_explicit_attrib_location extension (Intel and software drivers).
-<li>GL_ARB_texture_rg (Intel, software drivers, gallium drivers).
-<li>GL_EXT_separate_shader_objects extension (Intel and software drivers).
-<li>GL_NV_primitive_restart extension (Gallium softpipe, llvmpipe).
-<li>New fragment shader back-end for i965-class hardware.
-<li>Support for Sandybridge chipset in i965 DRI driver.
-</ul>
-
-
-<h2>Bug fixes</h2>
-<p>This list is likely incomplete.</p>
-<ul>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28800">Bug 28800</a> - [r300c, r300g] Texture corruption with World of Warcraft</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29420">Bug 29420</a> - Amnesia / HPL2 RendererFeatTest - not rendering correctly</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29946">Bug 29946</a> - [swrast] piglit valgrind glsl-array-bounds-04 fails</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30261">Bug 30261</a> - [GLSL 1.20] allowing inconsistent invariant declaration between two vertex shaders</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30632">Bug 30632</a> - [softpipe] state_tracker/st_manager.c:489: st_context_notify_invalid_framebuffer: Assertion `stfb &amp;&amp; stfb-&gt;iface == stfbi' failed.</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30694">Bug 30694</a> - wincopy will crash on Gallium drivers when going to front buffer</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30771">Bug 30771</a> - [r600g] vert-tex glsl demo</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30787">Bug 30787</a> - Invalid asm shader does not generate draw-time error when used with GLSL shader</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30974">Bug 30974</a> - [llvmpipe] SIGABRT src/gallium/drivers/llvmpipe/lp_state_fs.c:779</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30993">Bug 30993</a> - getFramebufferAttachmentParameteriv wrongly generates error</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31101">Bug 31101</a> - [glsl2] abort() in ir_validate::visit_enter(ir_assignment *ir)</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31193">Bug 31193</a> - [regression] aa43176e break water reflections</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31194">Bug 31194</a> - The mesa meta save/restore code doesn't ref the current GLSL program</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31371">Bug 31371</a> - glslparsertest: ir.cpp:358: ir_constant::ir_constant(const glsl_type*, const ir_constant_data*): Assertion `(type->base_type &gt;= 0) &amp;&amp; (type->base_type &lt;= 3)' failed.</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31439">Bug 31439</a> - Crash in glBufferSubData() with size == 0</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31495">Bug 31495</a> - [i965 gles2c bisected] OpenGL ES 2.0 conformance GL2Tests_GetBIFD_input.run regressed</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31514">Bug 31514</a> - isBuffer returns true for unbound buffers</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31560">Bug 31560</a> - [tdfx] tdfx_tex.c:702: error: ‘const struct gl_color_table’ has no member named ‘Format’</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31617">Bug 31617</a> - Radeon/Compiz: 'failed to attach dri2 front buffer', error case not handled</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31648">Bug 31648</a> - [GLSL] array-struct-array gets assertion: `(size &gt;= 1) && (size &lt;= 4)' failed.</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31650">Bug 31650</a> - [GLSL] varying gl_TexCoord fails to be re-declared to different size in the second shader</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31673">Bug 31673</a> - GL_FRAGMENT_PRECISION_HIGH preprocessor macro undefined in GLSL ES</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31690">Bug 31690</a> - i915 shader compiler fails to flatten if in Aquarium webgl demo.</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31832">Bug 31832</a> - [i915] Bad renderbuffer format: 21</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31841">Bug 31841</a> - [drm:radeon_cs_ioctl] *ERROR* Invalid command stream !</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31894">Bug 31894</a> - Writing to gl_PointSize with GLES2 corrupts other varyings</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31909">Bug 31909</a> - [i965] brw_fs.cpp:1461: void fs_visitor::emit_bool_to_cond_code(ir_rvalue*): Assertion `expr-&gt;operands[i]-&gt;type-&gt;is_scalar()' failed.</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31934">Bug 31934</a> - [gallium] Mapping empty buffer object causes SIGSEGV</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31983">Bug 31983</a> - [i915 gles2] "if (expression with builtin/varying variables) discard" breaks linkage</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31985">Bug 31985</a> - [GLSL 1.20] initialized uniform array considered as "unsized"</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31987">Bug 31987</a> - [gles2] if input a wrong pname(GL_NONE) to glGetBoolean, it will not case GL_INVALID_ENUM</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32035">Bug 32035</a> - [GLSL bisected] comparing unsized array gets segfault</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32070">Bug 32070</a> - llvmpipe renders stencil demo incorrectly</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32273">Bug 32273</a> - assertion fails when starting vdrift 2010 release with shaders enabled</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32287">Bug 32287</a> - [bisected GLSL] float-int failure</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32311">Bug 32311</a> - [965 bisected] Array look-ups broken on GM45</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32520">Bug 32520</a> - [gles2] glBlendFunc(GL_ZERO, GL_DST_COLOR) will result in GL_INVALID_ENUM</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32825">Bug 32825</a> - egl_glx driver completely broken in 7.9 branch [fix in master]</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=">Bug </a> - </li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=">Bug </a> - </li>
-
-</ul>
-
-
-<h2>Changes</h2>
-<p>Adam Jackson (2):
-<ul>
- <li>i965: Update renderer strings for sandybridge</li>
- <li>drivers/x11: unifdef XFree86Server</li>
-</ul></p>
-
-<p>Alex Deucher (30):
-<ul>
- <li>r600c: fix mipmap stride on evergreen</li>
- <li>r600c: add reloc for CB_COLOR0_ATTRIB</li>
- <li>r600c: pull over 6xx/7xx vertex fixes for evergreen</li>
- <li>r600c: fix segfault in evergreen stencil code</li>
- <li>r100: revalidate after radeon_update_renderbuffers</li>
- <li>r600c: add missing radeon_prepare_render() call on evergreen</li>
- <li>r600c: properly align mipmaps to group size</li>
- <li>egl_dri2: Add radeon chip ids</li>
- <li>r600c/evergreen: texture align is group_bytes just like 6xx/7xx</li>
- <li>r600g: fix buffer alignment</li>
- <li>r600g: All EVENT_WRITE packets need the EVENT_INDEX field</li>
- <li>r600g: translate ARR instruction for evergreen</li>
- <li>r600g: use meaningful defines for chiprev</li>
- <li>r600g: use full range of VS resources for vertex samplers</li>
- <li>r600g: fix additional EVENT_WRITE packet</li>
- <li>r600g: fix some winsys functions to deal properly with evergreen</li>
- <li>r600c: add Ontario Fusion APU support</li>
- <li>r600g: add support for ontario APUs</li>
- <li>r600c: fix VC flush on cedar and palm</li>
- <li>gallium/egl: fix r300 vs r600 loading</li>
- <li>r600c: fix some opcodes on evergreen</li>
- <li>r600c: bump texture limits to hw limits</li>
- <li>r600g: bump texture/cb limits appropriately for evergreen</li>
- <li>radeon: bump mip tree levels to 15</li>
- <li>r600g: fix rendering with a vertex attrib having a zero stride</li>
- <li>r600g: remove useless switch statements</li>
- <li>r600g: add support for NI (northern islands) asics</li>
- <li>r600c: add support for NI asics</li>
- <li>r600g: support up to 64 shader constants</li>
- <li>r600c: fix up SQ setup in blit code for Ontario/NI</li>
-</ul></p>
-
-<p>Andre Maasikas (3):
-<ul>
- <li>r600c: fix buffer height setting in dri2 case</li>
- <li>r600g: break alu clause earlier</li>
- <li>r600g: fix evergreen interpolation setup</li>
-</ul></p>
-
-<p>Andrew Randrianasulu (2):
-<ul>
- <li>dri/nv04: Don't expose ARB_texture_env_combine/dot3.</li>
- <li>dri/nv04: Enable eng3dm for A8/L8 textures.</li>
-</ul></p>
-
-<p>Aras Pranckevicius (2):
-<ul>
- <li>glsl: fix crash in loop analysis when some controls can't be determined</li>
- <li>glsl: fix matrix type check in ir_algebraic</li>
-</ul></p>
-
-<p>Bas Nieuwenhuizen (3):
-<ul>
- <li>r600g: set ENABLE_KILL in the shader state in the new design</li>
- <li>r600g: set ENABLE_KILL on evergreen too</li>
- <li>r600g: use dirty list to track dirty blocks</li>
-</ul></p>
-
-<p>Ben Skeggs (3):
-<ul>
- <li>nv50: DST</li>
- <li>nv50: DPH</li>
- <li>nv50: silence some unknown get_param warnings</li>
-</ul></p>
-
-<p>Benjamin Franzke (2):
-<ul>
- <li>st/egl image: multiply drm buf-stride with blocksize</li>
- <li>r600g: implement texture_get_handle (needed for eglExportDRMImageMESA)</li>
-</ul></p>
-
-<p>Brian Paul (296):
-<ul>
- <li>glx: add const qualifiers to __indirect_glMultiDrawArraysEXT()</li>
- <li>glsl2: fix signed/unsigned comparison warning</li>
- <li>llvmpipe: cast to silence warning</li>
- <li>llvmpipe: s/boolean/unsigned/ in bitfield to silence warning</li>
- <li>nv50: use unsigned int for bitfields to silence warnings</li>
- <li>tgsi: fix incorrect usage_mask for shadow tex instructions</li>
- <li>gallivm: expand AoS sampling to cover all filtering modes</li>
- <li>gallivm: fix incorrect vector shuffle datatype</li>
- <li>gallivm: move i32_vec_type inside the #ifdef</li>
- <li>mesa: include mfeatures.h in formats.c</li>
- <li>gallivm: fix wrong return value in bitwise functions</li>
- <li>tgsi/sse: fix aos_to_soa() loop to handle num_inputs==0</li>
- <li>gallivm: added missing case for PIPE_TEXTURE_RECT</li>
- <li>gallium: better docs for pipe_rasterizer_state::sprite_coord_enable</li>
- <li>gallium: rework handling of sprite_coord_enable state</li>
- <li>gallium/docs: added new pipeline.txt diagram</li>
- <li>mesa: don't call valid_texture_object() in non-debug builds</li>
- <li>glsl2: silence compiler warnings in printf() calls</li>
- <li>docs: remove old broken link</li>
- <li>docs: mark as obsolete, remove dead links</li>
- <li>llvmpipe: fix query bug when no there's no scene</li>
- <li>gallivm: remove debug code</li>
- <li>llvmpipe: maintain fragment shader state for draw module</li>
- <li>llvmpipe: indentation fix</li>
- <li>llvmpipe: reformatting, remove trailing whitespace, etc</li>
- <li>llvmpipe: clean-up, comments in setup_point_coefficient()</li>
- <li>llvmpipe: rename sprite field, add sprite_coord_origin</li>
- <li>llvmpipe: implement sprite coord origin modes</li>
- <li>draw: fix test for using the wide-point stage</li>
- <li>llvmpipe: check bitshift against PIPE_MAX_SHADER_OUTPUTS</li>
- <li>draw: check bitshift against PIPE_MAX_SHADER_OUTPUS</li>
- <li>Merge branch 'sprite-coord'</li>
- <li>draw: new draw_fs.[ch] files</li>
- <li>glsl2: fix typo in error msg</li>
- <li>gallivm: fix lp_build_sample_compare()</li>
- <li>softpipe: add missing calls to set draw vertex samplers/views</li>
- <li>mesa: don't advertise bogus GL_ARB_shading_language_120 extension</li>
- <li>configs: remove egl-swrast target from linux-dri config</li>
- <li>llvmpipe: fix sprite texcoord setup for non-projective texturing</li>
- <li>mesa: fix assertions to handle srgb formats</li>
- <li>st/mesa: add missing MESA_FORMAT_S8 case in st_mesa_format_to_pipe_format()</li>
- <li>st/mesa: use the wrapped renderbuffer in CopyPixels()</li>
- <li>llvmpipe: make min/max lod and lod bias dynamic state</li>
- <li>llvmpipe: make texture border_color dynamic state</li>
- <li>softpipe: fix repeat() function for NPOT textures</li>
- <li>gallivm: fix repeat() function for NPOT textures</li>
- <li>swrast: update comments for REMAINDER() macro</li>
- <li>softpipe: rename sp_state_fs.c -&gt; sp_state_shader.c</li>
- <li>softpipe: make shader-related functions static</li>
- <li>softpipe: make blend/stencil/depth functions static</li>
- <li>softpipe: make sampler state functions static</li>
- <li>softpipe: make vertex state functions static</li>
- <li>softpipe: make rasterizer state functions static</li>
- <li>softpipe: make stream out state functions static</li>
- <li>softpipe: make clip state functions static</li>
- <li>softpipe: minor asst. clean-ups</li>
- <li>softpipe: allocate tile data on demand</li>
- <li>llvmpipe: fix swizzling of texture border color</li>
- <li>softpipe: fix swizzling of texture border color</li>
- <li>draw: pass sampler state down to llvm jit state</li>
- <li>gallivm: check for level=0 case in lp_build_minify()</li>
- <li>gallivm: added some comments</li>
- <li>draw: check for null sampler pointers</li>
- <li>swrast: fix choose_depth_texture_level() to respect mipmap filtering state</li>
- <li>st/mesa: replace assertion w/ conditional in framebuffer invalidation</li>
- <li>glsl2: fix signed/unsigned comparison warning</li>
- <li>st/xlib: add some comments</li>
- <li>ir_to_mesa: assorted clean-ups, const qualifiers, new comments</li>
- <li>mesa: remove assertion w/ undeclared variable texelBytes</li>
- <li>gallivm: remove newlines</li>
- <li>draw/llvmpipe: replace DRAW_MAX_TEXTURE_LEVELS with PIPE_MAX_TEXTURE_LEVELS</li>
- <li>mesa: reformatting, comments, code movement</li>
- <li>x11: fix breakage from gl_config::visualType removal</li>
- <li>gallivm: work-around trilinear mipmap filtering regression with LLVM 2.8</li>
- <li>mesa: remove post-convolution width/height vars</li>
- <li>gallivm: add compile-time option to emit inst addrs and/or line numbers</li>
- <li>llvmpipe: code to dump bytecode to file (disabled)</li>
- <li>gallivm: added lp_build_print_vec4()</li>
- <li>gallivm: added lp_build_load_volatile()</li>
- <li>glsl: add ir_unop_round_even case to silence unhandled enum warning</li>
- <li>st/mesa: fix regressions in glDrawPixels(GL_STENCIL_INDEX)</li>
- <li>st/mesa: reformatting in st_cb_drawpixels.c</li>
- <li>st/mesa: use GLuint to avoid problem w/ uint not defined on mingw32</li>
- <li>st/mesa: update function name, comments</li>
- <li>gallivm: use util_snprintf()</li>
- <li>llvmpipe: remove lp_setup_coef*.c files from Makefile</li>
- <li>mesa: fix mesa version string construction</li>
- <li>gallivm: fix incorrect type for zero vector in emit_kilp()</li>
- <li>llvmpipe/draw: always enable LLVMAddInstructionCombiningPass()</li>
- <li>draw: use float version of LLVM Mul/Add instructions</li>
- <li>draw: fix typo in comment</li>
- <li>mesa: add GL_RG case to _mesa_source_buffer_exists()</li>
- <li>mesa: add missing cases for packing red/green images</li>
- <li>st/mesa: added cases for GL_COMPRESSED_RED/RG in st_choose_format()</li>
- <li>docs: update texture red/green support in GL3.txt</li>
- <li>docs: add GL_ARB_texture_rg to release notes</li>
- <li>mesa: driver hook for primitive restart</li>
- <li>mesa: set/get primitive restart state</li>
- <li>mesa: API spec for primitive restart</li>
- <li>mesa: regenerated files with primitive restart</li>
- <li>mesa: plug in primitive restart function</li>
- <li>vbo: support for primitive restart</li>
- <li>gallium: new CAP, state for primitive restart</li>
- <li>st/mesa: support for primitive restart</li>
- <li>draw: implement primitive splitting for primitive restart</li>
- <li>softpipe: enable primitive restart</li>
- <li>llvmpipe: enable primitive restart</li>
- <li>docs: added GL_NV_primitive_restart extension</li>
- <li>Merge branch 'primitive-restart-cleanup'</li>
- <li>winsys/xlib: formatting fixes</li>
- <li>winsys/xlib: use Bool type for shm field</li>
- <li>winsys/xlib: fix up allocation/dealloction of XImage</li>
- <li>winsys/xlib: rename xm-&gt;xlib</li>
- <li>galahad: silence warnings</li>
- <li>mesa: move declaration before code</li>
- <li>docs: updated GL3 status for primitive restart</li>
- <li>mesa: 80-column wrapping</li>
- <li>mesa: simplify fbo format checking code</li>
- <li>mesa: split up the image.c file</li>
- <li>mesa: add pixel packing for unscaled integer types</li>
- <li>mesa: _mesa_ClearColorIuiEXT() and _mesa_ClearColorIiEXT()</li>
- <li>mesa: _mesa_is_format_integer() function</li>
- <li>mesa: minor reformatting, clean-ups</li>
- <li>mesa: added _mesa_is_fragment_shader_active() helper</li>
- <li>mesa: new glDrawPixels error check for integer formats</li>
- <li>softpipe: added some texture sample debug code (disabled)</li>
- <li>mesa: added new gl_extensions::EXT_gpu_shader4 field</li>
- <li>mesa: added new gl_framebuffer::_IntegerColor field</li>
- <li>mesa: added glGet query for GL_RGBA_INTEGER_MODE_EXT</li>
- <li>mesa: compute _IntegerColor field in _mesa_test_framebuffer_completeness()</li>
- <li>mesa: added cases for GL_EXT_texture_integer formats</li>
- <li>mesa: added cases for GL_EXT_texture_integer</li>
- <li>st/mesa: add format selection for signed/unsigned integer formats</li>
- <li>mesa: simplify target_can_be_compressed() function</li>
- <li>glapi: GL_EXT_texture_integer API</li>
- <li>glapi: include/build EXT_texture_integer.xml</li>
- <li>mesa: regenerated API files for GL_EXT_texture_integer</li>
- <li>mesa: plug in GL_EXT_texture_integer functions</li>
- <li>mesa: display list support for GL_EXT_texture_integer</li>
- <li>st/mesa: be smarter choosing texture format for glDrawPixels()</li>
- <li>softpipe: remove &gt;32bpp color restriction</li>
- <li>mesa: silence enum comparison warning</li>
- <li>mesa: fix uninitialized var warning</li>
- <li>xlib: silence unused var warning</li>
- <li>util: use pointer_to_func() to silence warning</li>
- <li>rtasm: use pointer_to_func() to silence warning</li>
- <li>translate: use function typedefs, casts to silence warnings</li>
- <li>translate: remove unused prototypes</li>
- <li>mesa: additional glReadPixels error checks for GL_EXT_texture_integer</li>
- <li>mesa: additional switch cases for GL_EXT_texture_integer</li>
- <li>mesa: additional teximage error checks for GL_EXT_texture_integer</li>
- <li>mesa: do integer FB / shader validation check in _mesa_valid_to_render()</li>
- <li>mesa: call _mesa_valid_to_render() in glDrawPixels, glCopyPixels, glBitmap</li>
- <li>mesa: remove the unused _mesa_is_fragment_shader_active() function</li>
- <li>mesa: fix bug in _mesa_is_format_integer()</li>
- <li>mesa: rename function to _mesa_is_format_integer_color()</li>
- <li>mesa: remove 'normalized' parameter from _mesa_VertexAttribIPointer()</li>
- <li>vbo: re-indent file</li>
- <li>glapi: xml spec file for GL_EXT_gpu_shader4</li>
- <li>glapi: include EXT_gpu_shader4.xml</li>
- <li>glapi: regenerated API files</li>
- <li>mesa: plug in stubs for glBindFragDataLocation(), glGetFragDataLocation()</li>
- <li>mesa: add glGetUniformuiv(), plug in uint glUniform funcs</li>
- <li>mesa: plug in more GL_EXT_gpu_shader4 functions</li>
- <li>mesa: add new GLvertexformat entries for integer-valued attributes</li>
- <li>mesa: implement integer-valued vertex attribute functions</li>
- <li>mesa: add gl_client_array::Integer field and related vertex array state code</li>
- <li>mesa: consolidate glVertex/Color/etcPointer() code</li>
- <li>mesa: state/queries for GL_MIN/MAX_PROGRAM_TEXEL_OFFSET_EXT</li>
- <li>mesa: glArrayElement support for integer-valued arrays</li>
- <li>mesa: clean-up array element code</li>
- <li>mesa: add extension table entry for GL_EXT_gpu_shader4</li>
- <li>mesa: remove obsolete comment</li>
- <li>mesa: fix incorrect type in _mesa_texstore_rgba_int16()</li>
- <li>mesa: fix integer cases in _mesa_is_legal_format_and_type()</li>
- <li>mesa: add const qualifier to _mesa_is_legal_format_and_type()</li>
- <li>mesa: additional integer formats in _mesa_bytes_per_pixel()</li>
- <li>mesa: pixel transfer ops do not apply to integer-valued textures</li>
- <li>mesa: remove dead code</li>
- <li>osmesa: fix renderbuffer memleak in OSMesaMakeCurrent()</li>
- <li>mesa: use GLubyte for edge flag arrays</li>
- <li>mesa: move the gl_config struct declaration</li>
- <li>dri/util: add a bunch of comments</li>
- <li>mesa: remove always-false conditional in check_compatible()</li>
- <li>mesa: fix aux/accum comment and error message mixups</li>
- <li>llvmpipe: assign context's frag shader pointer before using it</li>
- <li>llvmpipe: add a cast</li>
- <li>mesa: silence new warnings in texobj.c</li>
- <li>egl/gdi: fix typo: xsurf-&gt;gsurf</li>
- <li>mesa: code to unpack RGBA as uints</li>
- <li>gallivm: implement scatter stores into temp register file</li>
- <li>gallivm: add some LLVM var labels</li>
- <li>gallivm: added debug code to dump temp registers</li>
- <li>gallivm: add pixel offsets in scatter stores</li>
- <li>gallivm: added lp_elem_type()</li>
- <li>gallivm: implement execution mask for scatter stores</li>
- <li>tgsi: remove unused function</li>
- <li>llvmpipe: added some debug assertions, but disabled</li>
- <li>gallivm: alloca() was called too often for temporary arrays</li>
- <li>gallivm: add const qualifiers, fix comment string</li>
- <li>softpipe: disable vertex texturing with draw/llvm</li>
- <li>mesa: consolidate pixel packing/unpacking code</li>
- <li>mesa: rename vars in pixel pack/unpack code</li>
- <li>mesa: implement uint texstore code</li>
- <li>mesa: remove stray GL_FLOAT case in _mesa_is_legal_format_and_type()</li>
- <li>mesa: make fixed-pt and byte-valued arrays a runtime feature</li>
- <li>softpipe: can't no-op depth test stage when occlusion query is enabled</li>
- <li>mesa: no-op glBufferSubData() on size==0</li>
- <li>mesa: #include mfeatures.h in enums.h</li>
- <li>mesa: improve error message</li>
- <li>mesa: add missing formats in _mesa_format_to_type_and_comps()</li>
- <li>mesa: handle more pixel types in mipmap generation code</li>
- <li>mesa: make glIsBuffer() return false for never bound buffers</li>
- <li>mesa: fix glDeleteBuffers() regression</li>
- <li>tdfx: s/Format/_BaseFormat/</li>
- <li>mesa: consolidate assertions in teximage code</li>
- <li>radeon: set gl_texture_image::TexFormat field in radeonSetTexBuffer2()</li>
- <li>r600: set gl_texture_image::TexFormat field in r600SetTexBuffer2()</li>
- <li>r200: set gl_texture_image::TexFormat field in r200SetTexBuffer2()</li>
- <li>r300: set gl_texture_image::TexFormat field in r300SetTexBuffer2()</li>
- <li>evergreen: set gl_texture_image::TexFormat field in evergreenSetTexBuffer()</li>
- <li>st/mesa: fix glDrawPixels(depth/stencil) bugs</li>
- <li>glsl: fix assorted MSVC warnings</li>
- <li>mesa: add more work-arounds for acoshf(), asinhf(), atahf()</li>
- <li>glsl: remove opt_constant_expression.cpp from SConscript</li>
- <li>mesa: fix error messages and minor reindenting</li>
- <li>mesa: whitespace cleanups</li>
- <li>mesa: 80-column wrapping</li>
- <li>mesa: reorder texture_error_check() params</li>
- <li>mesa: minor clean-ups in context code</li>
- <li>mesa: upgrade to glext.h version 66</li>
- <li>mesa: pass gl_format to _mesa_init_teximage_fields()</li>
- <li>mesa: fix error msg typo</li>
- <li>glapi: rename GL3.xml to GL3x.xml as it covers all GL 3.x versions</li>
- <li>mesa: hook up GL 3.x entrypoints</li>
- <li>docs: update some GL 3.0 status</li>
- <li>mesa: fix get_texture_dimensions() for texture array targets</li>
- <li>swrast: init alpha value to 1.0 in opt_sample_rgb_2d()</li>
- <li>glsl: fix off by one in register index assertion</li>
- <li>glsl: use gl_register_file in a few places</li>
- <li>mesa: rename, make _mesa_register_file_name() non-static</li>
- <li>mesa: _mesa_valid_register_index() to validate register indexes</li>
- <li>mesa: replace #defines with new gl_shader_type enum</li>
- <li>mesa: use gl_shader_type enum</li>
- <li>glsl: better handling of linker failures</li>
- <li>glsl: start restoring some geometry shader code</li>
- <li>mesa: add assertion and update comment in _mesa_format_image_size()</li>
- <li>mesa: added _mesa_format_image_size64()</li>
- <li>x11: remove test_proxy_teximage() function</li>
- <li>st/mesa: fix mapping of zero-sized buffer objects</li>
- <li>gallivm/llvmpipe: squash merge of the llvm-context branch</li>
- <li>mesa: raise max texture sizes to 16K</li>
- <li>softpipe: increase max texture size to 16K</li>
- <li>mesa: replace large/MAX_WIDTH stack allocations with heap allocations</li>
- <li>mesa: replace large/MAX_WIDTH stack allocations with heap allocations</li>
- <li>swrast: avoid large stack allocations in blend code</li>
- <li>swrast: avoid large stack allocations in tex combine code</li>
- <li>st/mesa: avoid large stack allocations in readpixels code</li>
- <li>mesa: replace more MAX_WIDTH stack allocations with heap allocations</li>
- <li>gallivm/llvmpipe: remove lp_build_context::builder</li>
- <li>gallivm: fix null builder pointers</li>
- <li>mesa: fix GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME query</li>
- <li>mesa: return GL_FRAMEBUFFER_DEFAULT as FBO attachment type</li>
- <li>llvmpipe: fix broken stencil writemask</li>
- <li>mesa: consolidate some compiler -D flags</li>
- <li>swrast: allow GL_RG format in glDrawPixels()</li>
- <li>swrast: fix indentation</li>
- <li>swrast: accept GL_RG in glReadPixels()</li>
- <li>swrast: restructure some glReadPixels() code</li>
- <li>mesa: make glGet*(GL_NONE) generate GL_INVALID_ENUM</li>
- <li>mesa: remove unneeded cast</li>
- <li>mesa: update comments, remove dead code</li>
- <li>st/mesa: new comment about updating state vars</li>
- <li>mesa: add error margin to clip mask debug/check code</li>
- <li>gallium/util: minor formatting fixes</li>
- <li>mesa/llvm: use llvm-config --cppflags</li>
- <li>st/mesa: fix mipmap generation bug</li>
- <li>mesa: test for cube map completeness in glGenerateMipmap()</li>
- <li>mesa: set gl_texture_object::_Complete=FALSE in incomplete()</li>
- <li>mesa: consolidate glTexImage1/2/3D() code</li>
- <li>mesa: simplify proxy texture code in texture_error_check()</li>
- <li>mesa: consolidate the glTexSubImage1/2/3D() functions</li>
- <li>mesa: consolidate glCopyTexImage1/2D() code</li>
- <li>mesa: consolidate glCopyTexSubImage1/2/3D() functions</li>
- <li>mesa: consolidate glCompressedTexImage1/2/3D() functions</li>
- <li>mesa: make _mesa_test_proxy_teximage() easier to read</li>
- <li>configure: use llvm-config --cppflags instead of --cflags</li>
- <li>mesa: revamp error checking for compressed texture images</li>
- <li>mesa: simplify target checking for TexImage functions</li>
- <li>draw/llvm: don't flush in vs_llvm_delete()</li>
- <li>tnl: Initialize gl_program_machine memory in run_vp.</li>
- <li>tnl: a better way to initialize the gl_program_machine memory</li>
- <li>mesa, st/mesa: disable GL_ARB_geometry_shader4</li>
- <li>mesa/meta: fix broken assertion, rename stack depth var</li>
- <li>glsl: new glsl_strtod() wrapper to fix decimal point interpretation</li>
- <li>st/mesa: fix renderbuffer pointer check in st_Clear()</li>
-</ul></p>
-
-<p>Brian Rogers (1):
-<ul>
- <li>mesa: Add missing else in do_row_3D</li>
-</ul></p>
-
-<p>Chad Versace (25):
-<ul>
- <li>intel_extensions: Add ability to set GLSL version via environment</li>
- <li>glsl: Add glsl_type::uvecN_type for N=2,3</li>
- <li>glsl: Add lexer rules for uint and uvecN (N=2..4)</li>
- <li>glsl: Changes in generated file glsl_lexer.cpp</li>
- <li>glsl: Add lexer rules for &lt&lt and &gt;&gt; in GLSL 1.30</li>
- <li>glsl: Change generated file glsl_lexer.cpp</li>
- <li>glsl: Implement ast-to-hir for binary shifts in GLSL 1.30</li>
- <li>glsl: Implement constant expr evaluation for bitwise-not</li>
- <li>glsl: Implement constant expr evaluation for bit-shift ops</li>
- <li>glsl: Implement constant expr evaluation for bitwise logic ops</li>
- <li>glsl: Fix ir validation for bit logic ops</li>
- <li>glsl: Define shift_result_type() in ast_to_hir.cpp</li>
- <li>glsl: Implement ast-to-hir for bit-shift-assignment</li>
- <li>glsl: Define bit_logic_result_type() in ast_to_hir.cpp</li>
- <li>glsl: Implement ast-to-hir for bit-logic ops</li>
- <li>glsl: Fix lexer rule for ^=</li>
- <li>glsl: Commit generated file glsl_lexer.cpp</li>
- <li>glsl: Fix ast-to-hir for ARB_fragment_coord_conventions</li>
- <li>mesa: Fix C++ includes in sampler.cpp</li>
- <li>glsl: Fix ir_expression::constant_expression_value()</li>
- <li>glsl: Fix erroneous cast in ast_jump_statement::hir()</li>
- <li>glsl: Fix Doxygen tag file in recently renamed files</li>
- <li>glsl: Improve usage message for glsl_compiler</li>
- <li>glsl: Fix linker bug in cross_validate_globals()</li>
- <li>glsl: In ast_to_hir, check sampler array indexing</li>
-</ul></p>
-
-<p>Chia-I Wu (149):
-<ul>
- <li>glapi: Fix build errors for ES.</li>
- <li>glapi: Fix ES build errors again.</li>
- <li>mesa: Update ES APIspec.xml.</li>
- <li>st/xlib: Notify the context when the front/back buffers are swapped.</li>
- <li>targets/egl: Use C++ compiler to link GL/ES state trackers.</li>
- <li>libgl-xlib: Remove unused st_api_create_OpenGL.</li>
- <li>st/egl: Split modeset code support to modeset.c.</li>
- <li>st/egl: Rename kms backend to drm.</li>
- <li>st/egl: s/kms/drm/ on the drm backend.</li>
- <li>egl: Enable drm platform by default.</li>
- <li>egl: Check extensions.</li>
- <li>st/egl: Skip single-buffered configs in EGL.</li>
- <li>mapi: Fix compiler warnings.</li>
- <li>st/egl: Drop context argument from egl_g3d_get_egl_image.</li>
- <li>targets/egl: Fix linking with libdrm.</li>
- <li>st/vega: Fix version check in context creation.</li>
- <li>egl: Use attribute names as the _EGLConfig member names.</li>
- <li>egl: Access config attributes directly.</li>
- <li>st/egl: Access _EGLConfig directly.</li>
- <li>st/egl: Do not finish a fence that is NULL.</li>
- <li>mesa: Remove unused vtxfmt_tmp.h.</li>
- <li>egl_dri2: Drop the use of _egl[SG]etConfigKey.</li>
- <li>egl_glx: Drop the use of [SG]ET_CONFIG_ATTRIB.</li>
- <li>egl_glx: Fix borken driver.</li>
- <li>egl: Move attributes in _EGLImage to _EGLImageAttribs.</li>
- <li>egl: Parse image attributes with _eglParseImageAttribList.</li>
- <li>egl: Move fallback routines to eglfallbacks.c.</li>
- <li>egl: Drop dpy argument from the link functions.</li>
- <li>egl: Minor changes to the _EGLConfig interface.</li>
- <li>egl: Minor changes to the _EGLScreen interface.</li>
- <li>egl: Fix _eglModeLookup.</li>
- <li>st/egl: Fix native_mode refresh mode.</li>
- <li>egl: Add reference count for resources.</li>
- <li>egl: Use reference counting to replace IsLinked or IsBound.</li>
- <li>egl: Fix a false negative check in _eglCheckMakeCurrent.</li>
- <li>st/egl: Use resource reference count for egl_g3d_sync.</li>
- <li>egl_dri2: Fix a typo that make glFlush be called at wrong time.</li>
- <li>glapi: Do not use glapidispatch.h.</li>
- <li>glapi: Move glapidispatch.h to core mesa.</li>
- <li>glapi: Do not use glapioffsets.h.</li>
- <li>glapi: Merge glapioffsets.h into glapidispath.h.</li>
- <li>vbo: Use CALL_* macros.</li>
- <li>mesa: Remove unnecessary glapitable.h includes.</li>
- <li>autoconf: Better client API selection.</li>
- <li>docs: Update egl and openvg docs.</li>
- <li>autoconf: Update configuration info.</li>
- <li>Merge branch 'glapi-reorg'</li>
- <li>targets: Add missing quotes to Makefile.xorg.</li>
- <li>autoconf: st/vega requires --enable-openvg.</li>
- <li>st/mesa: Unreference the sampler view in st_bind_surface.</li>
- <li>autoconf: Tidy configure output for EGL.</li>
- <li>targets/egl: Fix a warning with --disable-opengl build.</li>
- <li>egl: Rework _eglGetSearchPath.</li>
- <li>mesa: Select FEATURE_remap_table when multiple APIs are enabled.</li>
- <li>mesa: Allow contexts of different APIs to coexist.</li>
- <li>egl: Set up the pthread key even TLS is used.</li>
- <li>st/egl: Add native_surface::present callback.</li>
- <li>st/egl: Use native_surface::present callback.</li>
- <li>d3d1x: Use native_surface::present.</li>
- <li>st/egl: Remove flush_frontbuffer and swap_buffers.</li>
- <li>st/egl: Add support for swap interval and swap behavior.</li>
- <li>st/egl: Add support for EGL_MATCH_NATIVE_PIXMAP.</li>
- <li>st/egl: Add extern "C" wrapper to native.h.</li>
- <li>st/egl: Add native_display_buffer interface.</li>
- <li>st/egl: Use native_display_buffer for EGL_MESA_drm_image.</li>
- <li>autoconf: Add --enable-gallium-egl.</li>
- <li>docs: Update egl docs.</li>
- <li>st/dri: Add support for surfaceless current contexts.</li>
- <li>egl_dri2: Fix __DRI_DRI2 version 1 support.</li>
- <li>st/vega: Do not wait NULL fences.</li>
- <li>gallium: Add st_api::name.</li>
- <li>gallium: Add st_context_iface::share to st_api.</li>
- <li>st/wgl: Use st_context_iface::share for DrvShareLists.</li>
- <li>st/glx: Replace MESA_VERSION_STRING by xmesa_get_name.</li>
- <li>mesa: Clean up core.h.</li>
- <li>scons: Define IN_DRI_DRIVER.</li>
- <li>tgsi: Add STENCIL to text parser.</li>
- <li>st/vega: vegaLookupSingle should validate the state.</li>
- <li>st/vega: Set wrap_r for mask and blend samplers.</li>
- <li>st/vega: Fix vgReadPixels with a subrectangle.</li>
- <li>egl_dri2: Fix one context, multiple surfaces.</li>
- <li>auxiliary: util_blit_pixels_tex should restore the viewport.</li>
- <li>st/vega: Fix a crash with empty paths.</li>
- <li>st/vega: Masks and surfaces should share orientation.</li>
- <li>st/vega: No flipping in vg_prepare_blend_surface.</li>
- <li>st/vega: Fix a typo in EXTENDED_BLENDER_OVER_FUNC.</li>
- <li>llvmpipe: Fix build errors on x86.</li>
- <li>st/vega: Overhaul renderer with renderer states.</li>
- <li>st/vega: Add DRAWTEX renderer state.</li>
- <li>st/vega: Add SCISSOR renderer state.</li>
- <li>st/vega: Add CLEAR renderer state for vgClear.</li>
- <li>st/vega: Add FILTER renderer state for image filtering.</li>
- <li>st/vega: Use the renderer for vgMask.</li>
- <li>st/vega: Add POLYGON_STENCIL and POLYGON_FILL renderer state.</li>
- <li>st/vega: Delay fb state update to vg_validate_state.</li>
- <li>st/vega: Use st_framebuffer for fb width/height.</li>
- <li>st/vega: Move g3d states to renderer.</li>
- <li>st/vega: Make shader_bind call into the renderer.</li>
- <li>st/vega: vg_manager should care about only the color buffer.</li>
- <li>st/vega: Clean up vg_context fields and functions.</li>
- <li>st/vega: Clean up renderer fields and functions.</li>
- <li>st/vega: vg_copy_texture and vg_copy_surface should share code.</li>
- <li>st/vega: Get rid of renderer_copy_texture.</li>
- <li>st/vega: Update to latest headers.</li>
- <li>st/vega: Fix image sampler views for alpha-only formats.</li>
- <li>st/vega: Make path_render and path_stroke take a matrix.</li>
- <li>st/vega: Make image_draw take a matrix.</li>
- <li>st/vega: Add primitive text support.</li>
- <li>st/vega: Revive mask layer support.</li>
- <li>st/vega: More flexible shader selection.</li>
- <li>st/vega: Add color transformation support.</li>
- <li>st/vega: Bump version to 1.1.</li>
- <li>st/vega: Fix paint coordinates transformations.</li>
- <li>st/vega: Fix negated logic in image_draw.</li>
- <li>st/vega: Fix degenerate paints.</li>
- <li>st/vega: Simplify radial gradient.</li>
- <li>st/vega: Remove st_inlines.h.</li>
- <li>st/vega: Delay blend texture creation until needed.</li>
- <li>st/vega: Create drawing surface mask as needed.</li>
- <li>st/vega: Initialize pipe states with renderer.</li>
- <li>st/vega: Avoid unnecessary constant bufer upload.</li>
- <li>st/vega: Destroy the pipe context with vg_context.</li>
- <li>st/vega: polygon_array requires a deep free.</li>
- <li>st/egl: Set pipe_resource::array_size to 1.</li>
- <li>st/vega: Set pipe_resource::array_size to 1.</li>
- <li>st/vega: Move vertex transformation to shader.</li>
- <li>st/vega: Add a missing break.</li>
- <li>st/vega: Add some comments to pipeline shaders.</li>
- <li>st/vega: Refactor blend shaders.</li>
- <li>st/vega: Move masking after blending.</li>
- <li>st/vega: Add support for per-channel alpha.</li>
- <li>st/vega: Blending should use premultiplied alpha.</li>
- <li>st/vega: Fix VG_BLEND_MULTIPLY.</li>
- <li>st/vega: Add blend shaders for all blend modes.</li>
- <li>st/vega: Fix pipe blend state for various blend modes.</li>
- <li>egl: _eglFilterArray should not allocate.</li>
- <li>mapi: Rewrite mapi_abi.py to get rid of preprocessor magic.</li>
- <li>vbo: Drop second ATTR macro.</li>
- <li>vbo: Fix GLES2 glVertexAttrib.</li>
- <li>mesa: Do not advertise GL_OES_texture_3D.</li>
- <li>mesa: Fix GL_FIXED arrays.</li>
- <li>mesa: Fix glTexCoordPointer with type GL_FIXED.</li>
- <li>st/egl: Plug pbuffer leaks.</li>
- <li>st/egl: Fix eglCopyBuffers.</li>
- <li>st/egl: Assorted fixes for dri2_display_get_configs.</li>
- <li>docs/egl: Update egl.html.</li>
- <li>st/egl: Fix eglChooseConfig when configs is NULL.</li>
- <li>docs: Add an example for EGL_DRIVERS_PATH.</li>
- <li>autoconf: Fix --with-driver=xlib --enable-openvg.</li>
-</ul></p>
-
-<p>Chris Wilson (2):
-<ul>
- <li>i915g: Fix closure of full batch buffers</li>
- <li>intel: Check for unsupported texture when finishing using as a render target</li>
-</ul></p>
-
-<p>Christoph Bumiller (80):
-<ul>
- <li>nv50: import new compiler</li>
- <li>nouveau: update nouveau_class.h</li>
- <li>nv50: introduce the big formats table</li>
- <li>nv50: don't produce MOV immediate to output reg in store opt</li>
- <li>nv50: change back accidentally swapped UNORM,SNORM vertex type</li>
- <li>nv50: add/fix some license headers</li>
- <li>nv50: simple reload elimination and local CSE</li>
- <li>nv50: fix constant_operand opt mul by 2 case</li>
- <li>nv50: permit usage of undefined TGSI TEMPs</li>
- <li>nv50: add missing 2nd source for POW multiplication</li>
- <li>nv50: add signed RGTC1 to format table, allow 2_10_10_10 for vbufs</li>
- <li>nv50: fix for empty BBs</li>
- <li>nv50: insert MOVs also for PHI sources from dominating block</li>
- <li>nv50: explicitly set src type for SET ops</li>
- <li>nv50: fixes for nested IFs</li>
- <li>nv50: don't eliminate loads to dedicated values</li>
- <li>nv50: fix constbuf validation</li>
- <li>nv50: build proper phi functions in the first place</li>
- <li>nv50: fix reg count</li>
- <li>nv50: begin implementing loops</li>
- <li>nv50: more constant folding</li>
- <li>nv50: loops part 2</li>
- <li>nv50: flatten simple IF/ELSE/ENDIF constructs</li>
- <li>nv50: fix thinko in store to output reg possible check</li>
- <li>nv50: generate JOINs for outermost IF clauses</li>
- <li>nv50: more TGSI opcodes (SIN, SCS, ARL, RET, KILP)</li>
- <li>nv50: fix PSIZ and PRIMID mapping</li>
- <li>nv50: check dst compatibility in CSE</li>
- <li>nv50: initialize edgeflag input index</li>
- <li>nv50: emit predicate for interp</li>
- <li>Merge remote branch 'origin/master' into nv50-compiler</li>
- <li>nv50: DP2, fix ARL</li>
- <li>nv50: yet another case we need a nop.exit</li>
- <li>nv50: fix check for sprite/point coord enable</li>
- <li>nv50: handle TEXTURE_SWIZZLE and GEOMETRY_SHADER4 caps</li>
- <li>nv50: set the FragDepth output index</li>
- <li>nv50: turn off verbose debug output by default</li>
- <li>nv50: attempt at making more complicated loops work</li>
- <li>nv50: SSG</li>
- <li>nv50: make FrontFacing -1 or +1</li>
- <li>nv50: re-add proper TEXBIAS sequence</li>
- <li>nv50: make use of TGSI immediate type</li>
- <li>nv50: must join SELECT inputs before MOV inputs</li>
- <li>nv50: fix XPD, was negated</li>
- <li>nv50: fix find_dom_frontier</li>
- <li>nv50: fix build-predicate function</li>
- <li>Merge remote branch 'origin/master' into nv50-compiler</li>
- <li>nv50: load address register before using it, not after</li>
- <li>nv50: save tgsi instructions</li>
- <li>nv50: prepare for having multiple functions</li>
- <li>nv50: don't parse again in tgsi_2_nc</li>
- <li>nv50: use actual loads/stores if TEMPs are accessed indirectly</li>
- <li>nv50: create value references with the right type</li>
- <li>nv50: duplicate interps in load_proj_tex_coords</li>
- <li>nv50: address regs are 16 bit</li>
- <li>nv50: fix can_load check for 3rd source</li>
- <li>nv50: reduce bb_reachable_by runtime from pot to linear</li>
- <li>nv50: minor compiler fixes and cleanups</li>
- <li>nv50: cannot move from local mem to output reg directly</li>
- <li>nv50: newlines in shader bincode printing</li>
- <li>nv50: match TEMP limit with nv50 ir builder</li>
- <li>nv50: handle TGSI EXP and LOG again</li>
- <li>nv50: check for immediates when turning MUL ADD into MAD</li>
- <li>nv50: interp cannot write flags reg</li>
- <li>nv50: MOV TEMP[0], -CONST[0] must be float32 negation</li>
- <li>nv50: fix indirect CONST access with large or negative offsets</li>
- <li>nv50: fix TXP depth comparison value</li>
- <li>nv50: consider address register in reload elimination</li>
- <li>nv50: improve and fix modifier folding optimization</li>
- <li>nv50: put low limit on REG_ALLOC_TEMP and FP_RESULT_COUNT</li>
- <li>Merge remote branch 'origin/nv50-compiler'</li>
- <li>nv50: don't segfault on shaders with 0 instructions</li>
- <li>nv50: get shader fixups/relocations into working state</li>
- <li>nv50: add relocs for stack and local mem buffers</li>
- <li>nv50: emit constbuf relocs before uploading constants</li>
- <li>nv50: fix typo in fifo packet length limit</li>
- <li>nv50: use formats table in nv50_surface.c</li>
- <li>nv50: use CLEAR_BUFFERS for surface fills</li>
- <li>nv50: fix/handle a few more PIPE_CAPs</li>
- <li>nv50: fix GP state bind and validate</li>
-</ul></p>
-
-<p>Corbin Simpson (8):
-<ul>
- <li>r600g: Use align() instead of handrolled code.</li>
- <li>r600g: Trivially deobfuscate r600_hw_states.</li>
- <li>r600g: Deobfuscate and comment a few more functions in r600_hw_states.</li>
- <li>r600g: Clean up some indentation and |= vs. | usage.</li>
- <li>r600g: Fix false and true.</li>
- <li>r600g: "tmp" is such a bad name for a texture.</li>
- <li>r600g: Clean up PS setup.</li>
- <li>r600g: Cleanup viewport floats.</li>
-</ul></p>
-
-<p>Daniel Lichtenberger (1):
-<ul>
- <li>radeon: fix potential segfault in renderbuffer update</li>
-</ul></p>
-
-<p>Daniel Vetter (21):
-<ul>
- <li>r200: revalidate after radeon_update_renderbuffers</li>
- <li>i915g: rip out -&gt;sw_tiled</li>
- <li>i915g: s/hw_tiled/tiling</li>
- <li>i915g: add pineview pci ids</li>
- <li>i915g: kill RGBA/X formats</li>
- <li>i915g: kill buf-&gt;map_gtt</li>
- <li>i915g: kill idws-&gt;pool</li>
- <li>i915g: drop alignment parameter from iws-&gt;buffer_create</li>
- <li>i915g: add winsys function to create tiled buffers</li>
- <li>i915g: switch to tiled allocations, kill set_fence</li>
- <li>i915g: prepare winsys/batchbuffer for execbuf2</li>
- <li>i915g: return tiling in iws-&gt;buffer_from_handle</li>
- <li>i915g: implement unfenced color&amp;depth buffer using tiling bits</li>
- <li>i915g: implement unfenced relocs for textures using tiling bits</li>
- <li>i915g: postpone mipmap/face offset calculation</li>
- <li>i915g: don't pot-align stride for tiled buffers</li>
- <li>i915g: enable X-tiling for textures</li>
- <li>i915g: switch rendering to mipmapped textures to (x,y) offsets</li>
- <li>i915g: enable x-tiling for render targets</li>
- <li>i915g: assert(depth_surface-&gt;offset == 0)</li>
- <li>i915g: track TODO items</li>
-</ul></p>
-
-<p>Dave Airlie (182):
-<ul>
- <li>r300g: fix buffer reuse issue caused by previous commit</li>
- <li>r600g: pull r600_draw struct out into header</li>
- <li>r600g: use index min/max + index buffer offset.</li>
- <li>r600g: add vgt dma src defines</li>
- <li>r600g: fixup texture state on evergreen.</li>
- <li>r600g: fix texture bos and avoid doing depth blit on evergreen</li>
- <li>r600g: hide radeon_ctx inside winsys.</li>
- <li>r600g: attempt to abstract kernel bos from pipe driver.</li>
- <li>r600g: move constant buffer creation behind winsys abstraction.</li>
- <li>r600g: use malloc bufmgr for constant buffers</li>
- <li>r600g: add support for kernel bo</li>
- <li>r600g: add winsys bo caching.</li>
- <li>r600g: add upload manager support.</li>
- <li>r600g: fixup map flushing.</li>
- <li>r600g: use calloc for ctx bo allocations</li>
- <li>r600g: oops got the use_mem_constant the wrong way around.</li>
- <li>r600g; add uses waterfall to asm cf for r6xx.</li>
- <li>r600g: only emit uses waterfall on r6xx hw.</li>
- <li>util/r300g: split the r300 index buffer modifier functions out to util</li>
- <li>r600g: modify index buffers for sizes the hw can't deal with.</li>
- <li>r600g: send correct surface base update for multi-cbufs</li>
- <li>r600g: fix fbo-drawbuffers-maxtargets</li>
- <li>r600g: clean up valgrind issues on maxtargets test.</li>
- <li>r600g: drop debugging that snuck in</li>
- <li>r600g: fix tiling support for ddx supplied buffers</li>
- <li>r600g: add z16 to color setup</li>
- <li>r600g: add color/texture support for more depth formats.</li>
- <li>r600g: fix r700 cube map sizing.</li>
- <li>r600g: fixup r700 CB_SHADER_CONTROL register.</li>
- <li>r600g: add missing BC_INST wrapper for evergreen</li>
- <li>r600g: only flush for the correct colorbuffer, not all of them.</li>
- <li>r600g: deal with overflow of VTX/TEX CF clauses.</li>
- <li>r600g: set back to correct codepaths.</li>
- <li>r600g: fixup evergreen miptree setup.</li>
- <li>r600g: fix eg texture borders.</li>
- <li>r600g: fix typo in struct member name</li>
- <li>r600g: cleanup some of the DB blit code</li>
- <li>r600g: make stencil readback work</li>
- <li>r600g: disable dirty handling on texture from depth code.</li>
- <li>r600g: use floats instead of hex for blit vbo</li>
- <li>r600g: fix depth readback on rv610 and other quirky variants.</li>
- <li>r600g: fix typo in evergreen register list</li>
- <li>u_blitter: add a custom blitter call passing a dsa cso</li>
- <li>r600g: use blitter to do db-&gt;cb flushing.</li>
- <li>r600g: fix warnings since last commit.</li>
- <li>egl: fix build since 17eace581d25a626a7d75d9d1205d012cbb14a6e</li>
- <li>r300g: fix point sprite coord.</li>
- <li>r600g: add vert support for 16/16 and 16/16/16 floats.</li>
- <li>r600g: add some more vertex format support.</li>
- <li>r600g: some more vertex formats</li>
- <li>r600g: fix draw-elements and draw-elements-base-vertex</li>
- <li>r600g: drop index_offset parameter to index buffer translate.</li>
- <li>r600g: fixup tex wrapping.</li>
- <li>r600g: fixup VP-&gt;FP output-&gt;input routing.</li>
- <li>r600g: fix typo in r700 alu emit</li>
- <li>r600g: fixup sprite coord enable.</li>
- <li>r600g: fix polygon mode</li>
- <li>mesa/mipmap: fix warning since 1acadebd6270d3604b026842b8a21360968618a0</li>
- <li>r600g: add eg poly mode code.</li>
- <li>r600g: make index bias fix for evergreen</li>
- <li>r600g: add eg db count control register.</li>
- <li>r300g: fix glsl-fs-pointcoord</li>
- <li>r600g: add evergreen texture resource properly.</li>
- <li>r600g: fix db flush breaking config state</li>
- <li>r600g: on evergreen the centroid isn't set in this register.</li>
- <li>r600g: add back evergreen name.</li>
- <li>r600g: add evergreen texture border support to new path</li>
- <li>r600g: move radeon.h members around to add back map flushing.</li>
- <li>r600g: add initial vertex translate support.</li>
- <li>r600g: remove old assert from new codepath</li>
- <li>Revert "r600g: add initial vertex translate support."</li>
- <li>r600g: port r300g fix for X* formats in texformat code</li>
- <li>r600g: add L8A8 unorm.</li>
- <li>r600g: clean up some code from move to new paths.</li>
- <li>r600g: return string for chip family</li>
- <li>r600g: use Elements macro instead of manual sizeofs</li>
- <li>r600g: fix evergreen depth flushing.</li>
- <li>r600g: add winsys support for CTL constants.</li>
- <li>r600g: drop depth quirk on evergreen</li>
- <li>r600g: add reloc for evergreen color attrib</li>
- <li>r600g: realign evergreen code with r600 code.</li>
- <li>r600g: add assembler support for other vtx fetch fields.</li>
- <li>r600g: fixup vertex format picking.</li>
- <li>r600g: sync vertex/texture cache on resources on evergreen</li>
- <li>r600g: add cb flushing for extra buffers + depth buffer on r600/evergreen</li>
- <li>r600g: fix evergreen draw-buffers</li>
- <li>r600g: flush SH cache on constant change on evergreen</li>
- <li>r600g: only set the Z export if shader exports it.</li>
- <li>r600g: setup basic loop consts on r600 + evergreen.</li>
- <li>mesa/st: initial attempt at RG support for gallium drivers</li>
- <li>r600g: break out of search for reloc bo after finding it.</li>
- <li>r600g: the code to check whether a new vertex shader is needed was wrong</li>
- <li>r600g: fix wwarning in bo_map function</li>
- <li>r600g: TODO domain management</li>
- <li>r600g: add bo fenced list.</li>
- <li>pb: don't keep checking buffers after first busy</li>
- <li>r600g: add bo busy backoff.</li>
- <li>r600g: drop mman allocator</li>
- <li>r600g: drop use_mem_constant.</li>
- <li>r600g: avoid unneeded bo wait</li>
- <li>pb: fix numDelayed accounting</li>
- <li>r600g: add evergreen stencil support.</li>
- <li>r600g: use format from the sampler view not from the texture.</li>
- <li>r600g: fix Z export enable bits.</li>
- <li>r600g: add some RG texture format support.</li>
- <li>r600g: drop width/height per level storage.</li>
- <li>r600g: fix input/output Z export mixup for evergreen.</li>
- <li>r600g: evergreen has no request size bit in texture word4</li>
- <li>r600g: enable vertex samplers.</li>
- <li>r600g: add TXL opcode support.</li>
- <li>r600g: don't run with scissors.</li>
- <li>r600g: fix typo in vertex sampling on r600</li>
- <li>gallium/tgsi: add support for stencil writes.</li>
- <li>gallium/format: add support for X24S8 and S8X24 formats.</li>
- <li>gallium/format: add X32_S8X24_USCALED format.</li>
- <li>gallium/util: add S8 tile sampling support.</li>
- <li>mesa: add support for FRAG_RESULT_STENCIL.</li>
- <li>mesa: improve texstore for 8/24 formats and add texstore for S8.</li>
- <li>softpipe: add support for shader stencil export capability</li>
- <li>st/mesa: add option to choose a texture format that we won't render to.</li>
- <li>st/mesa: use shader stencil export to accelerate shader drawpixels.</li>
- <li>r600g: add support for S8, X24S8 and S8X24 sampler formats.</li>
- <li>r600g: add shader stencil export support.</li>
- <li>glsl: add support for shader stencil export</li>
- <li>st/mesa: enable stencil shader export extension if supported</li>
- <li>r600g: fix depth0 setting</li>
- <li>r600g: fix scissor/cliprect confusion</li>
- <li>r600g: store samplers/views across blit when we need to modify them</li>
- <li>r600g: reduce size of context structure.</li>
- <li>r600g: the vs/ps const arrays weren't actually being used.</li>
- <li>r600g: add copy into tiled texture</li>
- <li>r600g: split out miptree setup like r300g</li>
- <li>r600g: use common texture object create function</li>
- <li>r600g: rename pitch in texture to pitch_in_bytes</li>
- <li>r600g: remove bpt and start using pitch_in_bytes/pixels.</li>
- <li>r600g: fix transfer stride.</li>
- <li>r600g: drop all use of unsigned long</li>
- <li>r600g: use blitter for hw copy region</li>
- <li>r600g: evergreen add stencil export bit</li>
- <li>r600g: add missing eg reg definition</li>
- <li>r600g: fix stencil export for evergreen harder</li>
- <li>r600g: drop unused context members</li>
- <li>r600g: only pick centroid coordinate when asked.</li>
- <li>r600g: fixup pos/face ena/address properly</li>
- <li>r600g: fixup typo in macro name</li>
- <li>r600g: select linear interpolate if tgsi input requests it</li>
- <li>r300g: clean up warning due to unknown cap.</li>
- <li>tgsi: add scanner support for centroid inputs</li>
- <li>r600g: evergreen interpolation support.</li>
- <li>r600g: add evergreen ARL support.</li>
- <li>r600g: switch to a common formats.h file since they are in different regs</li>
- <li>r600g: add defines for tiling</li>
- <li>r600g: get tiling info from kernel</li>
- <li>r600g: set tiling bits in hw state</li>
- <li>r600g: do proper tracking of views/samplers.</li>
- <li>r600g: fix typo in tiling setup cb code.</li>
- <li>r600g: depth needs to bound to ds</li>
- <li>r600g: attempt to cleanup depth blit</li>
- <li>r600g: fix transfer function for tiling.</li>
- <li>r600g: retrieve tiling info from kernel for shared buffers.</li>
- <li>r600g: all non-0 mipmap levels need to be w/h aligned to POT.</li>
- <li>r600g: move to per-miplevel array mode.</li>
- <li>r600g: start adding hooks for aligning width/height for tiles.</li>
- <li>r600g: add r600 surface to store the aligned height.</li>
- <li>r600g: introduce a per-driver resource flag for transfers.</li>
- <li>r600g: add texture tiling alignment support.</li>
- <li>r600g: add texture tiling enable under a debug option.</li>
- <li>r600g: initial translate state support</li>
- <li>r600g: start splitting out common code from eg/r600.</li>
- <li>r600g: not fatal if we can't get tiling info from kernel</li>
- <li>r600g: merge more of the common r600/evergreen state handling</li>
- <li>r600g: drop more common state handling code</li>
- <li>r600g: fix magic 0x1 -&gt;flat shade ena</li>
- <li>r600g: add assembler support for all the kcache fields.</li>
- <li>gallium/noop: report GL 2.1</li>
- <li>r600g: pick correct color swap for A8 fbos.</li>
- <li>r300g/r600g: bump cache manager timeouts to 1s</li>
- <li>r600g: it looks like r600 can handle dword offsets in the indices.</li>
- <li>r300g: try and use all of vertex constant space</li>
- <li>r300g: fixup rs690 tiling stride alignment calculations.</li>
- <li>r600g: fix evergreen segfaults.</li>
- <li>r600g: hack around property unknown issues.</li>
-</ul></p>
-
-<p>Eric Anholt (300):
-<ul>
- <li>glsl: Add definition of gl_TextureMatrix inverse/transpose builtins.</li>
- <li>i965: Share the KIL_NV implementation between glsl and non-glsl.</li>
- <li>i965: Also enable CC statistics when doing OQs.</li>
- <li>i965: Track the windowizer's dispatch for kill pixel, promoted, and OQ</li>
- <li>glsl: Rework assignments with write_masks to have LHS chan count match RHS.</li>
- <li>glsl: Fix copy'n'wasted ir_noop_swizzle conditions.</li>
- <li>ir_to_mesa: Only compare vector_elements present for any_nequal/all_equal</li>
- <li>i965: Fix the vector/expression splitting for the write_mask change.</li>
- <li>i965: When splitting vector variable assignment, ignore unset channels.</li>
- <li>i965: Update expression splitting for the vector-result change to compares.</li>
- <li>i965: Warning fix for vector result any_nequal/all_equal change.</li>
- <li>mesa: Remove the non-required ARB_imaging extension.</li>
- <li>mesa: Remove EXT_histogram.</li>
- <li>mesa: Remove SGI_color_table.</li>
- <li>mesa: Remove SGI_color_matrix.</li>
- <li>mesa: Remove EXT_convolution.</li>
- <li>intel: Remove disabled stencil drawpixels acceleration.</li>
- <li>intel: Remove unnecessary minimum pitch alignment to 32 bytes.</li>
- <li>intel: Replace my intel_texture_bitmap code with _mesa_meta_Bitmap.</li>
- <li>radeon: Remove copied minimum pitch alignment code.</li>
- <li>unichrome: Mostly revert my convolution removal changes.</li>
- <li>intel: Remove dead intelIsTextureResident().</li>
- <li>i915: Remove a dead if (0) block.</li>
- <li>intel: Dead comment removal.</li>
- <li>intel: Corresponding FinishRenderTexture debug to BeginRenderTexture.</li>
- <li>i965: Add support for rendering to SARGB8 FBOs.</li>
- <li>intel: Fix segfault on INTEL_DEBUG=fbo with unsupported framebuffers.</li>
- <li>intel: Add fallback debug to glGenerateMipmap.</li>
- <li>intel: More reverting of the sw fallback for depth texture border color.</li>
- <li>intel: Improve some of the miptree debugging.</li>
- <li>mesa: Fix type typo in glGenerateMipmap handling of GL_UNSIGNED_INT data.</li>
- <li>glsl: Fix broadcast_index of lower_variable_index_to_cond_assign.</li>
- <li>glsl: Add validation that a swizzle only references valid channels.</li>
- <li>i965: Fix up writemasked assignments in the new FS.</li>
- <li>i965: Remove swizzling of assignment to vector-splitting single-channel LHS.</li>
- <li>i965: Handle all_equal/any_nequal in the new FS.</li>
- <li>i965: Fix vector splitting RHS channel selection with sparse writemasks.</li>
- <li>i965: Add support for dFdx()/dFdy() to the FS backend.</li>
- <li>i965: Add support for attribute interpolation on Sandybridge.</li>
- <li>i965: Set up inputs to the fragment shader according to FP InputsRead.</li>
- <li>i965: Add support for POW in gen6 FS.</li>
- <li>i965: Fix negation in the new FS backend.</li>
- <li>i965: Actually track the "if" depth in loop in the new FS backend.</li>
- <li>i965: Apply the same set of lowering passes to new FS as to Mesa IR.</li>
- <li>i965: Fix valgrind complaint about base_ir for new FS debugging.</li>
- <li>i965: Fix up the FS backend for the variable array indexing pass.</li>
- <li>i965: Set the variable type when dereferencing an array.</li>
- <li>i965: Add support for dereferencing structs to the new FS backend.</li>
- <li>i965: Add support for struct, array, and matrix uniforms to FS backend.</li>
- <li>i965: Fix all non-snb regression in the snb attribute interpolation commit.</li>
- <li>i965: Fix up part of my Sandybridge attributes support patch.</li>
- <li>i965: Add support for gl_FrontFacing to the new FS backend.</li>
- <li>i965: Subtract instead of adding when computing y delta in new FS backend.</li>
- <li>mesa: Pull ir_to_mesa's sampler number fetcher out to shared code.</li>
- <li>i965: Set up sampler numbers in the FS backend.</li>
- <li>i965: Add support for non-color render target write data to new FS backend.</li>
- <li>i965: Add support for MRT to the new FS backend.</li>
- <li>i965: Add support for ir_loop counters to the new FS backend.</li>
- <li>i965: Add support for ARB_fragment_coord_conventions to the new FS backend.</li>
- <li>glsl: Also update implicit sizes of varyings at link time.</li>
- <li>i965: Do interpolation for varying matrices and arrays in the FS backend.</li>
- <li>i965: Don't try to emit interpolation for unused varying slots.</li>
- <li>i965: Fix array indexing of arrays of matrices.</li>
- <li>i965: Clean up obsolete FINISHME comment.</li>
- <li>mesa: Move the list of builtin uniform info from ir_to_mesa to shared code.</li>
- <li>i965: Add support for builtin uniforms to the new FS backend.</li>
- <li>i965: Fix use of undefined mem_ctx in vector splitting.</li>
- <li>i956: Make new FS discard do its work in a temp, not the null reg!</li>
- <li>i965: Clean up the virtual GRF handling.</li>
- <li>ra: First cut at a graph-coloring register allocator for mesa.</li>
- <li>i965: First cut at register allocation using graph coloring.</li>
- <li>i965: Add live interval analysis and hook it up to the register allocator.</li>
- <li>i965: Remove my "safety counter" code from loops.</li>
- <li>i965: Fix whole-structure/array assignment in new FS.</li>
- <li>mesa: Don't reference a W component in setting up a vec3 uniform component.</li>
- <li>i965: Fix new FS handling of builtin uniforms with packed scalars in structs.</li>
- <li>glsl: Add a lowering pass for texture projection.</li>
- <li>i965: Use the lowering pass for texture projection.</li>
- <li>i965: Split the gen4 and gen5 sampler handling apart.</li>
- <li>i965: Add gen6 attribute interpolation to new FS backend.</li>
- <li>i965: Fix the gen6 jump size for BREAK/CONT in new FS.</li>
- <li>i965: Also increment attribute location when skipping unused slots.</li>
- <li>i965: Pre-gen6, map VS outputs (not FS inputs) to URB setup in the new FS.</li>
- <li>i965: Add real support for pre-gen5 texture sampling to the new FS.</li>
- <li>i965: Fix up copy'n'pasteo from moving coordinate setup around for gen4.</li>
- <li>i965: Restore the forcing of aligned pairs for delta_xy on chips with PLN.</li>
- <li>i965: When producing a single channel swizzle, don't make a temporary.</li>
- <li>i965: Add a sanity check for register allocation sizes.</li>
- <li>i965: Fix off-by-ones in handling the last members of register classes.</li>
- <li>i965: Don't try to emit code if we failed register allocation.</li>
- <li>i965: Add support for EXT_texture_swizzle to the new FS backend.</li>
- <li>i965: Set up swizzling of shadow compare results for GL_DEPTH_TEXTURE_MODE.</li>
- <li>i965: Fix glean/texSwizzle regression in previous commit.</li>
- <li>i965: Be more conservative on live interval calculation.</li>
- <li>i965: Add trivial dead code elimination in the new FS backend.</li>
- <li>i965: Add initial folding of constants into operand immediate slots.</li>
- <li>i965: In disasm, gen6 fb writes don't put msg reg # in destreg_conditionalmod.</li>
- <li>i965: Add support for gen6 FB writes to the new FS.</li>
- <li>i965: Enable the constant propagation code.</li>
- <li>i965: Also do constant propagation for the second operand of CMP.</li>
- <li>i965: Add back gen6 headerless FB writes to the new FS backend.</li>
- <li>i965: Gen6 no longer has the IFF instruction; always use IF.</li>
- <li>i965: Fix up IF/ELSE/ENDIF for gen6.</li>
- <li>i965: Fix botch in the header_present case in the new FS.</li>
- <li>i965: Add some clarification of the WECtrl field.</li>
- <li>i965: Don't do 1/w multiplication in new FS for gen6</li>
- <li>i965: Gen6's sampler messages are the same as Ironlake.</li>
- <li>i965: Refactor gl_FrontFacing setup out of general variable setup.</li>
- <li>i965: Add support for gl_FrontFacing on gen6.</li>
- <li>i965: Don't assume that WPOS is always provided on gen6 in the new FS.</li>
- <li>i965: Fix gen6 pointsize handling to match pre-gen6.</li>
- <li>i965: Disable emitting if () statements on gen6 until we really fix them.</li>
- <li>i965: Normalize cubemap coordinates like is done in the Mesa IR path.</li>
- <li>mesa: Simplify a bit of _mesa_add_state_reference using memcmp.</li>
- <li>i965: Drop the check for duplicate _mesa_add_state_reference.</li>
- <li>i965: Drop the check for YUV constants in the param list.</li>
- <li>i965: Handle swizzles in the addition of YUV texture constants.</li>
- <li>i965: Fix gen6 WM push constants updates.</li>
- <li>i965: Fix new FS gen6 interpolation for sparsely-populated arrays.</li>
- <li>i965: Enable attribute swizzling (repositioning) in the gen6 SF.</li>
- <li>i965: Add register coalescing to the new FS backend.</li>
- <li>i965: Split FS_OPCODE_DISCARD into two steps.</li>
- <li>i965: Reduce register interference checks for changed FS_OPCODE_DISCARD.</li>
- <li>i965: Move FS backend structures to a header.</li>
- <li>i965: Give the math opcodes information on base mrf/mrf len.</li>
- <li>i965: Give the FB write and texture opcodes the info on base MRF, like math.</li>
- <li>i965: Compute to MRF in the new FS backend.</li>
- <li>i965: Don't consider gen6 math instructions to write to MRFs.</li>
- <li>i965: Add a couple of checks for gen6 math instruction limits.</li>
- <li>i965: Don't compute-to-MRF in gen6 math instructions.</li>
- <li>i965: Expand uniform args to gen6 math to full registers to get hstride == 1.</li>
- <li>i965: Don't compute-to-MRF in gen6 VS math.</li>
- <li>i965: Fix gen6 pixel_[xy] setup to avoid mixing int and float src operands.</li>
- <li>i965: Always use the new FS backend on gen6.</li>
- <li>i965: Fix missing "break;" in i2b/f2b, and missing AND of CMP result.</li>
- <li>intel: Allow CopyTexSubImage to InternalFormat 3/4 textures, like RGB/RGBA.</li>
- <li>i965: Don't rebase the index buffer to min 0 if any arrays are in VBOs.</li>
- <li>i965: Add support for rescaling GL_TEXTURE_RECTANGLE coords to new FS.</li>
- <li>i965: Set class_sizes[] for the aligned reg pair class.</li>
- <li>i965: Update the live interval when coalescing regs.</li>
- <li>i965: Add a pass to the FS to split virtual GRFs to float channels.</li>
- <li>i965: Add a function for handling the move of boolean values to flag regs.</li>
- <li>i965: Add peepholing of conditional mod generation from expressions.</li>
- <li>i965: Enable the new FS backend on pre-gen6 as well.</li>
- <li>i965: Fix texturing on pre-gen5.</li>
- <li>i965: Set the type of the null register to fix gen6 FS comparisons.</li>
- <li>i965: Disable the debug printf I added for FS disasm.</li>
- <li>i965: Fix a weirdness in NOT handling.</li>
- <li>i965: Fix assertion failure on gen6 BufferSubData to busy BO.</li>
- <li>i965: Assert out on gen6 VS constant buffer reads that hang the GPU for now.</li>
- <li>i965: Fix scissor-offscreen on gen6 like we did pre-gen6.</li>
- <li>i965: Avoid blits in BufferCopySubdata on gen6.</li>
- <li>i965: Tell the shader compiler when we expect depth writes for gen6.</li>
- <li>i965: Remove the gen6 emit_mi_flushes I sprinkled around the driver.</li>
- <li>i965: Disable thread dispatch when the FS doesn't do any work.</li>
- <li>i965: Add EU emit support for gen6's new IF instruction with comparison.</li>
- <li>i965: Set the source operand types for gen6 if/else/endif to integer.</li>
- <li>i965: Use the new style of IF statement with embedded comparison on gen6.</li>
- <li>i965: Split register allocation out of the ever-growing brw_fs.cpp.</li>
- <li>i965: Fix gl_FrontFacing emit on pre-gen6.</li>
- <li>i965: Add support for register spilling.</li>
- <li>i965: Don't emit register spill offsets directly into g0.</li>
- <li>i965: Correct scratch space allocation.</li>
- <li>i965: Be more aggressive in tracking live/dead intervals within loops.</li>
- <li>i965: Move the FS disasm/annotation printout to codegen time.</li>
- <li>i965: Add support for pull constants to the new FS backend.</li>
- <li>i965: Add EU code for dword scattered reads (constant buffer array indexing).</li>
- <li>i965: Clarify an XXX comment in FB writes with real info.</li>
- <li>i965: Use SENDC on the first render target write on gen6.</li>
- <li>i965: Clear some undefined fields of g0 when using them for gen6 FB writes.</li>
- <li>i965: Add disasm for the flag register.</li>
- <li>i965: Add support for discard instructions on gen6.</li>
- <li>i965: Handle new ir_unop_round_even in channel expression splitting.</li>
- <li>i965: Fix typo in comment about state flags.</li>
- <li>i965: Set up the constant buffer on gen6 when it's needed.</li>
- <li>i965: Add support for constant buffer loads on gen6.</li>
- <li>i965: Drop the eot argument to read messages, which can never be set.</li>
- <li>i965: Fix VS URB entry sizing.</li>
- <li>i965: Disable register spilling on gen6 until it's fixed.</li>
- <li>i965: Make FS uniforms be the actual type of the uniform at upload time.</li>
- <li>i965: Add user clip planes support to gen6.</li>
- <li>i965: Update gen6 SF state when point state (sprite or attenuation) changes.</li>
- <li>i965: Upload required gen6 VS push constants even when using pull constants.</li>
- <li>i965: Update the gen6 stencil ref state when stencil state changes.</li>
- <li>mesa: Make metaops use program refcounts instead of names.</li>
- <li>mesa: Don't compute an unused texture completeness debug string.</li>
- <li>intel: For batch, use GTT mapping instead of writing to a malloc and copying.</li>
- <li>intel: Annotate debug printout checks with unlikely().</li>
- <li>intel: Remove the magic unaligned memcpy code.</li>
- <li>i965: Remove dead intel_structs.h file.</li>
- <li>intel: Avoid taking logbase2 of several things that we max.</li>
- <li>intel: Remove duplicated teximage miptree to object miptree promotion.</li>
- <li>intel: Remove leftover dri1 locking fields in the context.</li>
- <li>mesa: Fix delayed state flagging for EXT_sso-related program changes.</li>
- <li>intel: Fix the client-side swapbuffers throttling.</li>
- <li>Revert "intel: Fix the client-side swapbuffers throttling."</li>
- <li>i965: Allow OPCODE_SWZ to put immediates in the first arg.</li>
- <li>i965: Add support for math on constants in gen6 brw_wm_glsl.c path.</li>
- <li>i965: Work around strangeness in swizzling/masking of gen6 math.</li>
- <li>i965: re-enable gen6 IF statements in the fragment shader.</li>
- <li>glsl: Free the loop state context when we free the loop state.</li>
- <li>i965: Fix gl_FragCoord inversion when drawing to an FBO.</li>
- <li>i965: Shut up spurious gcc warning about GLSL_TYPE enums.</li>
- <li>mesa: Don't spam the console in a debug build unless some spam is requested.</li>
- <li>i965: Add state dumping for sampler state.</li>
- <li>i965: Add dumping of the sampler default color.</li>
- <li>i965: Fail on loops on gen6 for now until we write the EU emit code for it.</li>
- <li>i965: Eliminate dead code more aggressively.</li>
- <li>mesa: Include C++ files in the makedepend of DRI drivers.</li>
- <li>i965: Fix compute_to_mrf to not move a MRF write up into another live range.</li>
- <li>i965: Just use memset() to clear most members in FS constructors.</li>
- <li>i965: Remove extra n at the end of every instruction in INTEL_DEBUG=wm.</li>
- <li>i965: Fold constants into the second arg of BRW_SEL as well.</li>
- <li>glsl: Add a helper function for determining if an rvalue could be a saturate.</li>
- <li>i965: Recognize saturates and turn them into a saturated mov.</li>
- <li>ir_to_mesa: Detect and emit MOV_SATs for saturate constructs.</li>
- <li>i965: Improve compute-to-mrf.</li>
- <li>i965: Remove duplicate MRF writes in the FS backend.</li>
- <li>i965: Move gen4 blend constant color to the gen4 blending file.</li>
- <li>i965: Don't upload polygon stipple unless required.</li>
- <li>i965: Don't upload line stipple pattern unless we're stippling.</li>
- <li>i965: Don't upload line smooth params unless we're line smoothing.</li>
- <li>i965: Use the new embedded compare in SEL on gen6 for VS MIN and MAX opcodes.</li>
- <li>i965: Fix type of gl_FragData[] dereference for FB write.</li>
- <li>glsl: Make the symbol table's add_function just use the function's name.</li>
- <li>glsl: Make the symbol table's add_variable just use the variable's name.</li>
- <li>glsl: Add a helper constructor for expressions that works out result type.</li>
- <li>glsl: Fix structure and array comparisions.</li>
- <li>glsl: Quiet unreachable no-return-from-function warning.</li>
- <li>i965: Dump the WHILE jump distance on gen6.</li>
- <li>i965: Add support for gen6 DO/WHILE ISA emit.</li>
- <li>i965: Add support for gen6 BREAK ISA emit.</li>
- <li>i965: Add support for gen6 CONTINUE instruction emit.</li>
- <li>i965: Enable IF statements in the VS.</li>
- <li>i965: Add support for loops in the VS.</li>
- <li>glsl: Mark the array access for whole-array comparisons.</li>
- <li>glsl: Fix flipped return of has_value() for array constants.</li>
- <li>mesa: Add getters for the rest of the supported draw buffers.</li>
- <li>mesa: Add getters for ARB_copy_buffer's attachment points.</li>
- <li>intel: Add an env var override to execute for a different GPU revision.</li>
- <li>i965: Update gen6 WM state on compiled program change, not just FP change.</li>
- <li>i965: Update gen6 SF state on fragment program change too.</li>
- <li>i965: Fix compile warning about missing opcodes.</li>
- <li>i965: Move payload reg setup to compile, not lookup time.</li>
- <li>i965: Provide delta_xy reg to gen6 non-GLSL path PINTERP.</li>
- <li>i965: Fix up 16-wide gen6 FB writes after various refactoring.</li>
- <li>i965: Don't smash a group of coordinates doing gen6 16-wide sampler headers.</li>
- <li>i965: Fix gen6 interpolation setup for 16-wide.</li>
- <li>i965: Fix up gen6 samplers for their usage by brw_wm_emit.c</li>
- <li>i965: Make the sampler's implied move on gen6 be a raw move.</li>
- <li>i965: Align gen6 push constant size to dispatch width.</li>
- <li>i965: Add support for the instruction compression bits on gen6.</li>
- <li>i965: Nuke brw_wm_glsl.c.</li>
- <li>i965: Remove INTEL_DEBUG=glsl_force now that there's no brw_wm_glsl.c</li>
- <li>i965: Fix comment about gen6_wm_constants.</li>
- <li>i965: Handle saturates on gen6 math instructions.</li>
- <li>i965: Always hand the absolute value to RSQ.</li>
- <li>i965: Add disabled debug code for dumping out the WM constant payload.</li>
- <li>i965: Work around gen6 ignoring source modifiers on math instructions.</li>
- <li>i965: Fix flipped value of the not-embedded-in-if on gen6.</li>
- <li>i965: Don't try to store gen6 (float) blend constant color in bytes.</li>
- <li>i965: Set up the color masking for the first drawbuffer on gen6.</li>
- <li>i965: Set up the per-render-target blend state on gen6.</li>
- <li>i965: Set the render target index in gen6 fixed-function/ARB_fp path.</li>
- <li>i965: Use the new pixel mask location for gen6 ARB_fp KIL instructions.</li>
- <li>i965: Drop KIL_NV from the ff/ARB_fp path since it was only used for GLSL.</li>
- <li>i965: Drop push-mode reladdr constant loading and always use constant_map.</li>
- <li>i965: Fix VS constants regression pre-gen6.</li>
- <li>i965: Clean up VS constant buffer location setup.</li>
- <li>i965: Set up the correct texture border color state struct for Ironlake.</li>
- <li>i965: Set render_cache_read_write surface state bit on gen6 constant surfs.</li>
- <li>i965: remove unused variable since brw_wm_glsl.c removal.</li>
- <li>intel: Use plain R8 and RG8 for COMPRESSED_RED and COMPRESSED_RG.</li>
- <li>intel: Set the swizzling for depth textures using the GL_RED depth mode.</li>
- <li>glsl: Correct the marking of InputsRead/OutputsWritten on in/out matrices.</li>
- <li>i965: Correct the dp_read message descriptor setup on g4x.</li>
- <li>intel: Include stdbool so we can stop using GLboolean when we want to.</li>
- <li>i965: Fix ARL to work on gen6.</li>
- <li>i956: Fix the old FP path fragment position setup on gen6.</li>
- <li>i965: Fix gl_FragCoord.z setup on gen6.</li>
- <li>i965: Add support for using the BLT ring on gen6.</li>
- <li>intel: Update renderbuffers before looking up CopyTexImage's read buffer.</li>
- <li>intel: Drop commented intel_flush from copy_teximage.</li>
- <li>intel: Try to sanely check that formats match for CopyTexImage.</li>
- <li>intel: Support glCopyTexImage() from XRGB8888 to ARGB8888.</li>
- <li>i965: Avoid using float type for raw moves, to work around SNB issue.</li>
- <li>i965: Set the alternative floating point mode on gen6 VS and WM.</li>
- <li>i965: Add support for gen6 constant-index constant loading.</li>
- <li>i965: Add support for gen6 reladdr VS constant loading.</li>
- <li>i965: Improve the hacks for ARB_fp scalar^scalar POW on gen6.</li>
- <li>i965: Factor out the ir comparision to BRW_CONDITIONAL_* code.</li>
- <li>i965: Fix regression in FS comparisons on original gen4 due to gen6 changes.</li>
- <li>i965: Do lowering of array indexing of a vector in the FS.</li>
- <li>intel: Only do frame throttling at glFlush time when using frontbuffer.</li>
- <li>intel: Handle forced swrast clears before other clear bits.</li>
- <li>intel: Use tri clears when we don't know how to blit clear the format.</li>
- <li>intel: Add spans code for the ARB_texture_rg support.</li>
- <li>intel: Add a couple of helper functions to reduce rb code duplication.</li>
- <li>intel: Fix segfaults from trying to use _ColorDrawBuffers in FBO validation.</li>
- <li>intel: When validating an FBO's combined depth/stencil, use the given FBO.</li>
-</ul></p>
-
-<p>Fabian Bieler (2):
-<ul>
- <li>r600g: set address of pop instructions to next instruction</li>
- <li>glsl: fix lowering conditional returns in subroutines</li>
-</ul></p>
-
-<p>Francisco Jerez (51):
-<ul>
- <li>dri/nv04: Fix PGRAPH_ERRORs when running OA.</li>
- <li>dri/nv04: Mipmapping fixes.</li>
- <li>dri/nv04: Align SIFM transfer dimensions.</li>
- <li>dri/nv04: Fix up color mask.</li>
- <li>dri/nv04: Fix maximum texture size.</li>
- <li>dri/nv04: Fix provoking vertex.</li>
- <li>dri/nouveau: Update nouveau_class.h.</li>
- <li>dri/nouveau: Add some more extensions.</li>
- <li>dri/nouveau: Fix glRenderbufferStorage with DEPTH_COMPONENT as internal format.</li>
- <li>dri/nouveau: Don't request a fake front unnecessarily.</li>
- <li>dri/nouveau: Don't reemit the BO state in nouveau_state_emit().</li>
- <li>dri/nouveau: Cleanup references to the old FBOs on glMakeCurrent().</li>
- <li>meta: Don't bind the created texture object in init_temp_texture().</li>
- <li>dri/nv10: Fix the CLAMP texture wrap mode.</li>
- <li>dri/nv04: Use nvgl_wrap_mode().</li>
- <li>dri/nouveau: Remove unnecessary assertion.</li>
- <li>dri/nouveau: Cleanup more references to old FBOs and VBOs.</li>
- <li>dri/nv10-nv20: Fix texturing in some cases after a base level change.</li>
- <li>dri/nouveau: Fix software mipmap generation on 1x1 textures.</li>
- <li>dri/nouveau: Have a smaller amount of larger scratch buffers.</li>
- <li>dri/nouveau: Remove unnecessary flush.</li>
- <li>dri/nv10: Use fast Z clears.</li>
- <li>dri/nouveau: Minor cleanup.</li>
- <li>dri/nv10: Fake fast Z clears for pre-nv17 cards.</li>
- <li>dri/nouveau: Initialize tile_flags when allocating a render target.</li>
- <li>nouveau: Get larger push buffers.</li>
- <li>dri/nouveau: Force a "slow" Z clear if we're getting a new depth buffer.</li>
- <li>dri/nv20: Clear with the 3D engine.</li>
- <li>dri/nouveau: Don't assert(0) on compressed internal formats.</li>
- <li>dri/nv25: Bind a hierarchical depth buffer.</li>
- <li>dri/nouveau: Call _mesa_update_state() after framebuffer invalidation.</li>
- <li>dri/nouveau: Honor the access flags in nouveau_bufferobj_map_range.</li>
- <li>dri/nouveau: Tell the vbo module we want real hardware BOs.</li>
- <li>dri/nouveau: Split out the scratch helpers to a separate file.</li>
- <li>dri/nouveau: Avoid recursion in nouveau_bo_context_reset().</li>
- <li>dri/nouveau: Use a macro to iterate over the bound vertex attributes.</li>
- <li>dri/nouveau: Split out array handling to its own file.</li>
- <li>dri/nouveau: Optimize VBO binding re-emission.</li>
- <li>dri/nouveau: Keep small DYNAMIC_DRAW vertex buffers in system ram.</li>
- <li>dri/nouveau: Pipeline glTexSubImage texture transfers.</li>
- <li>dri/nouveau: Fix type promotion issue on 32bit platforms.</li>
- <li>dri/nouveau: Validate the framebuffer state on read buffer changes.</li>
- <li>dri/nouveau: Re-emit the BO state when coming back from a software fallback.</li>
- <li>meta: Don't leak alpha function/reference value changes.</li>
- <li>meta: Fix incorrect rendering of the bitmap alpha component.</li>
- <li>vbo: Avoid unnecessary copy to/from current in vertex format upgrade.</li>
- <li>meta: Don't try to disable cube maps if the driver doesn't expose the extension.</li>
- <li>meta: Handle bitmaps with alpha test enabled.</li>
- <li>dri/nouveau: Split hardware/software TNL instantiation more cleanly.</li>
- <li>dri/nouveau: Fix typo.</li>
- <li>dri/nouveau: Kill a bunch of ternary operators.</li>
-</ul></p>
-
-<p>Fredrik Höglund (2):
-<ul>
- <li>r600g: Fix texture sampling with swizzled coords</li>
- <li>r600g: fix pow(0, 0) evaluating to NaN</li>
-</ul></p>
-
-<p>Guillermo S. Romero (1):
-<ul>
- <li>r300g: Do not use buf param before checking for NULL.</li>
-</ul></p>
-
-<p>Henri Verbeet (19):
-<ul>
- <li>r600g: Flush upload buffers before draws instead of before flushes.</li>
- <li>r600g: Check for other references before checking for existing mappings in radeon_bo_pb_map_internal().</li>
- <li>r600g: Remove a redundant flush in r600_texture_transfer_map().</li>
- <li>r600g: Buffer object maps imply a wait.</li>
- <li>r600g: Respect PB_USAGE_UNSYNCHRONIZED in radeon_bo_pb_map_internal().</li>
- <li>Revert "r600g: Flush upload buffers before draws instead of before flushes."</li>
- <li>r600g: fix exports_ps to export a number not a mask.</li>
- <li>r600g: Mention AMD in the renderer string.</li>
- <li>r600g: Cleanup the fenced_bo list in r600_context_fini().</li>
- <li>r600g: Evergreen has two extra frac_bits for the sampler LOD state.</li>
- <li>r600: Evergreen has two extra frac_bits for the sampler LOD state.</li>
- <li>r600g: Add PIPE_FORMAT_L8A8_UNORM for Evergreen as well.</li>
- <li>r600g: Swizzle vertex data only once.</li>
- <li>r600g: Synchronize supported color formats between Evergreen and r600/r700.</li>
- <li>r600g: Fix the PIPE_FORMAT_L8A8_UNORM color swaps.</li>
- <li>r600g: Fix the PIPE_FORMAT_A8_UNORM color swap for Evergreen as well.</li>
- <li>r600g: Cleanup block bo references in r600_context_fini().</li>
- <li>r600g: Cleanup fetch shader resources in r600_pipe_shader_destroy().</li>
- <li>st/mesa: Handle wrapped depth buffers in st_copy_texsubimage().</li>
-</ul></p>
-
-<p>Hui Qi Tay (10):
-<ul>
- <li>llvmpipe: minor changes in llvm coefficient calcs</li>
- <li>draw: cliptest and viewport done in a single loop in vertex shader</li>
- <li>draw: added viewport and cliptest flags</li>
- <li>draw: sanitize llvm variant key</li>
- <li>draw: corrections for w coordinate</li>
- <li>draw: corrections to allow for different cliptest cases</li>
- <li>llvmpipe: Moved draw pipeline twoside function to llvm setup code</li>
- <li>llvmpipe: added llvm offset setup code</li>
- <li>llvmpipe: clean up polygon offset function in lp setup code</li>
- <li>llvmpipe: fix such that offset/twoside function only does in-place modification</li>
-</ul></p>
-
-<p>Ian Romanick (102):
-<ul>
- <li>glsl2: Refactor testing for whether a deref is of a matrix or array</li>
- <li>glsl2: Add flags to enable variable index lowering</li>
- <li>glsl: Add doxygen comments</li>
- <li>EGL DRI2: Silence piles of 'unused variable' warnings</li>
- <li>EGL DRI2: Silence 'missing initializer' warnings</li>
- <li>egl_glx: Silence piles of 'unused variable' warnings</li>
- <li>egl: Fix several 'comparison between signed and unsigned integer' warnings</li>
- <li>dri: Ensure that DRI driver cpp files are in tarballs</li>
- <li>mesa: Force GL_ARB_copy_buffer to always be enabled</li>
- <li>mesa: Force GL_SGIS_generate_mipmap to always be enabled</li>
- <li>Remove GL_MESA_packed_depth_stencil</li>
- <li>Remove GL_EXT_cull_vertex</li>
- <li>Regenerate files changed by previous commit</li>
- <li>Remove unnescessary initializations of UpdateTexturePalette</li>
- <li>ARB_texture_rg: Add GLX protocol support</li>
- <li>ARB_texture_rg: Correct some errors in RED / RG internal format handling</li>
- <li>ARB_texture_rg: Add GL_TEXTURE_{RED,GREEN}_SIZE query support</li>
- <li>ARB_texture_rg: Add GL_RED as a valid GL_DEPTH_TEXTURE_MODE</li>
- <li>ARB_texture_rg: Handle RED and RG the same as RGB for tex env</li>
- <li>ARB_texture_rg: Add R8, R16, RG88, and RG1616 internal formats</li>
- <li>ARB_texture_rg: Allow RED and RG textures as FBO color buffer attachments</li>
- <li>mesa: Enable GL_ARB_texture_rg in software paths</li>
- <li>i965: Enable GL_ARB_texture_rg</li>
- <li>mesa: Add ARB_texture_compression_rgtc as an alias for EXT_texture_compression_rgtc</li>
- <li>ARB_texture_rg: Add GL_COMPRESSED_{RED,RG} cases in _mesa_is_color_format</li>
- <li>mesa: Fix misplaced #endif</li>
- <li>mesa: Trivial correction to comment</li>
- <li>rgtc: Detect RGTC formats as color formats and as compressed formats</li>
- <li>docs: Add list of bugs fixed in 7.9</li>
- <li>docs: Import 7.9 release notes from 7.9 branch.</li>
- <li>docs: Import 7.8.x release notes from 7.8 branch.</li>
- <li>docs: download.html does not need to be updated for each release</li>
- <li>docs: Update mailing lines from sf.net to freedesktop.org</li>
- <li>docs: Import news updates from 7.9 branch</li>
- <li>docs: added news item for 7.9 release</li>
- <li>glsl: Fail linking if assign_attribute_locations fails</li>
- <li>glsl: Refactor 'layout' grammar to match GLSL 1.60 spec grammar</li>
- <li>glsl: Slight refactor of error / warning checking for ARB_fcc layout</li>
- <li>glsl: Clear type_qualifier using memset</li>
- <li>glsl: Wrap ast_type_qualifier contents in a struct in a union</li>
- <li>glsl: Regenerate files modified by previous commits</li>
- <li>glcpp: Add the define for ARB_explicit_attrib_location when present</li>
- <li>glcpp: Regenerate files changes by previous commit</li>
- <li>glsl: Add parser support for GL_ARB_explicit_attrib_location layouts</li>
- <li>glsl: Regenerate files changes by previous commit</li>
- <li>glsl: Track explicit location in AST to IR translation</li>
- <li>glsl: Add linker support for explicit attribute locations</li>
- <li>main: Enable GL_ARB_explicit_attrib_location for swrast</li>
- <li>intel: Enable GL_ARB_explicit_attrib_location</li>
- <li>glsl: Remove const decoration from inlined function parameters</li>
- <li>docs: skeleton for 7.10 release notes</li>
- <li>docs: Update status of GL 3.x related extensions</li>
- <li>mesa: Validate assembly shaders when GLSL shaders are used</li>
- <li>glsl: Fix incorrect assertion</li>
- <li>linker: Reject shaders that have unresolved function calls</li>
- <li>mesa: Silence unused variable warning</li>
- <li>mesa: Refactor validation of shader targets</li>
- <li>mesa: Clean up two 'comparison between signed and unsigned' warnings</li>
- <li>mesa: Clean up various 'unused parameter' warnings in shaderapi</li>
- <li>glsl: Slightly change the semantic of _LinkedShaders</li>
- <li>linker: Trivial indention fix</li>
- <li>i965: Fix indentation after commit 3322fbaf</li>
- <li>linker: Improve handling of unread/unwritten shader inputs/outputs</li>
- <li>glapi: Add GL_EXT_separate_shader_objects</li>
- <li>glapi: Commit files changed by previous commit</li>
- <li>mesa: Add infrastructure to track GL_EXT_separate_shader_objects</li>
- <li>mesa: Skeletal support for GL_EXT_separate_shader_objects</li>
- <li>mesa: Add display list support for GL_EXT_separate_shader_objects functions</li>
- <li>mesa: Track an ActiveProgram distinct from CurrentProgram</li>
- <li>Track separate programs for each stage</li>
- <li>swrast: Enable GL_EXT_separate_shader_objects in software paths</li>
- <li>intel: Enable GL_EXT_separate_shader_objects in Intel drivers</li>
- <li>docs: add GL_EXT_separate_shader_objects to release notes</li>
- <li>glsl: Fix incorrect gl_type of sampler2DArray and sampler1DArrayShadow</li>
- <li>ir_to_mesa: Refactor code for emitting DP instructions</li>
- <li>mesa: Allow query of MAX_SAMPLES with EXT_framebuffer_multisample</li>
- <li>glsl: Refactor is_vec_{zero,one} to be methods of ir_constant</li>
- <li>glsl: Simplify generation of swizzle for vector constructors</li>
- <li>glsl: Make is_zero and is_one virtual methods of ir_rvalue</li>
- <li>ir_to_mesa: Generate smarter code for some conditional moves</li>
- <li>glsl: Add ir_unop_sin_reduced and ir_unop_cos_reduced</li>
- <li>glsl: Eliminate assumptions about size of ir_expression::operands</li>
- <li>glsl: Add ir_rvalue::is_negative_one predicate</li>
- <li>glsl: Add unary ir_expression constructor</li>
- <li>glsl: Add ir_quadop_vector expression</li>
- <li>glsl: Fix matrix constructors with vector parameters</li>
- <li>i915: Disallow alpha, red, RG, and sRGB as render targets</li>
- <li>glsl: Use M_LOG2E constant instead of calling log2</li>
- <li>glsl: Lower ir_binop_pow to a sequence of EXP2 and LOG2</li>
- <li>i915: Request that POW instructions be lowered</li>
- <li>i915: Correctly generate unconditional KIL instructions</li>
- <li>glsl: Ensure that equality comparisons don't return a NULL IR tree</li>
- <li>i965: Correctly emit constants for aggregate types (array, matrix, struct)</li>
- <li>glsl: Inherrit type of declared variable from initializer</li>
- <li>linker: Ensure that unsized arrays have a size after linking</li>
- <li>linker: Fix regressions caused by previous commit</li>
- <li>glsl: Inherrit type of declared variable from initializer after processing assignment</li>
- <li>linker: Allow built-in arrays to have different sizes between shader stages</li>
- <li>ir_to_mesa: Don't generate swizzles for record derefs of non-scalar/vectors</li>
- <li>Refresh autogenerated file builtin_function.cpp.</li>
- <li>glsl: Allow less restrictive uses of sampler array indexing in GLSL &lt= 1.20</li>
- <li>docs: Import 7.9.1 release notes from 7.9 branch</li>
-</ul></p>
-
-<p>Jakob Bornecrantz (27):
-<ul>
- <li>rbug: Cast opcode to corrent int size</li>
- <li>rbug: Add function to get opcode name string</li>
- <li>scons: Link against talloc in the Gallium DRI drivers</li>
- <li>i915g: Link with wrapper sw winsys with scons</li>
- <li>tgsi: Actually care what check_soa_dependencies says</li>
- <li>tgsi: Fix missing test before check</li>
- <li>llvmpipe: Move makefile include to before targets</li>
- <li>wrapper: Fix spelling</li>
- <li>wrapper: Add a way to dewrap a pipe screen without destroying it</li>
- <li>egl: Remove unnecessary headers</li>
- <li>target-helpers: Remove per target software wrapper check</li>
- <li>graw: Tidy graw xlib scons file a bit</li>
- <li>scons: Remove old pipebuffer SConscript</li>
- <li>scons: Detabify</li>
- <li>scons: Check for pkg-config before trying to use it</li>
- <li>scons: Check for libdrm_[intel|radeon] as well</li>
- <li>scons: Move dependancy checks to the main gallium scons file</li>
- <li>scons: Unify state tracker SConscripts</li>
- <li>galahad: Correct the name of the scons library</li>
- <li>graw: Use inline sw helper instead of roll your own loader</li>
- <li>libgl-xlib: Use sw helper instead of roll your own</li>
- <li>libgl-xlib: Use inline debug helper instead of non-inline version</li>
- <li>graw: Use inline debug helper instead of non-inline version</li>
- <li>gallium: Remove redundant sw and debug target helpers</li>
- <li>i915g: Improve debug printing for textures</li>
- <li>i915g: Make sure that new vbo gets updated</li>
- <li>st/mesa: Unbind all constant buffers</li>
-</ul></p>
-
-<p>Jerome Glisse (75):
-<ul>
- <li>r600g: alternative command stream building from context</li>
- <li>r600g: move chip class to radeon common structure</li>
- <li>r600g: use pipe context for flushing inside map</li>
- <li>r600g: add back reference check when mapping buffer</li>
- <li>r600g: directly allocate bo for user buffer</li>
- <li>r600g: fix multi buffer rendering</li>
- <li>r600g: occlusion query for new design</li>
- <li>r600g: flush color buffer after draw command</li>
- <li>r600g: disable shader rebuild optimization &amp; account cb flush packet</li>
- <li>r600g: fix multiple occlusion query on same id</li>
- <li>r600g: initial evergreen support in new path</li>
- <li>r600g: fix typo in evergreen define (resource are in x range)</li>
- <li>r600g: move use_mem_constants flags for new designs structure alignment</li>
- <li>r600g: evergreen fix for new design</li>
- <li>r600g: fix compilation after change to evergreend.h</li>
- <li>r600g: fixup some evergreen register definitions</li>
- <li>r600g: fix evergreen new path</li>
- <li>r600g: fix reg definition</li>
- <li>r600g: fix evergreen new path</li>
- <li>r600g: bring over fix from old path to new path</li>
- <li>r600g: fix vertex resource &amp; polygon offset</li>
- <li>r600g: disable early cull optimization when occlusion query running</li>
- <li>r600g: move around variables to share depth uncompression code</li>
- <li>r600g: use depth decompression in new path</li>
- <li>r600g: fix index buffer drawing</li>
- <li>r600g: build packet header once</li>
- <li>r600g: fix pointsprite &amp; resource unbinding</li>
- <li>r600g: fix routing btw vertex &amp; pixel shader</li>
- <li>r600g: fix occlusion query after change to block structure</li>
- <li>r600g: use ptr for blit depth uncompress function</li>
- <li>r600g: fix remaining piglit issue in new design</li>
- <li>r600g: switch to new design</li>
- <li>r600g: suspend/resume occlusion query around clear/copy</li>
- <li>r600g: avoid rebuilding the vertex shader if no change to input format</li>
- <li>r600g: use a hash table instead of group</li>
- <li>r600g: delete old path</li>
- <li>r600g: cleanup</li>
- <li>r600g: more cleanup</li>
- <li>r600g: use constant buffer instead of register for constant</li>
- <li>r600g: fix constant &amp; literal src splitting, also fix mplayer gl2 shader</li>
- <li>evergreeng: avoid overlapping border color btw VS &amp; PS</li>
- <li>r600g: indentation fixes</li>
- <li>r600g: rename radeon_ws_bo to r600_bo</li>
- <li>r600g: allow r600_bo to be a sub allocation of a big bo</li>
- <li>r600g: use r600_bo for relocation argument, simplify code</li>
- <li>r600g: rename radeon_ws_bo to r600_bo</li>
- <li>r600g: remove dead label &amp; fix indentation</li>
- <li>r600g: store reloc information in bo structure</li>
- <li>r600g: improve bo flushing</li>
- <li>r600g: simplify block relocation</li>
- <li>r600g: userspace fence to avoid kernel call for testing bo busy status</li>
- <li>r600g: avoid segfault due to unintialized list pointer</li>
- <li>r600g: fix dirty state handling</li>
- <li>r600g: allow driver to work without submitting cmd to GPU</li>
- <li>gallium/noop: no operation gallium driver</li>
- <li>r600g: code cleanup (indent, trailing space, empty line ...)</li>
- <li>r600g: fix occlusion query on evergreen (avoid lockup)</li>
- <li>r600g: add fetch shader capabilities</li>
- <li>r600g: dump raw shader output for debugging</li>
- <li>r600g: update polygon offset only when rasterizer or zbuffer change</li>
- <li>r600g: indentation fix</li>
- <li>r600g: more indentation fix + warning silencing + dead code removal</li>
- <li>r600g: build fetch shader from vertex elements</li>
- <li>r600g: avoid useless shader rebuild at draw call</li>
- <li>r600g: remove useless flush map</li>
- <li>r600g: remove dead code</li>
- <li>r600g: fix userspace fence against lastest kernel</li>
- <li>r600g: avoid using pb* helper we are loosing previous cpu cycle with it</li>
- <li>r600g: specialized upload manager</li>
- <li>r600g: indentation cleanup</li>
- <li>r600g: fix bo size when creating bo from handle</li>
- <li>r600g: fix segfault when translating vertex buffer</li>
- <li>r600g: need to reference upload buffer as the might still live accross flush</li>
- <li>r600g: properly unset vertex buffer</li>
- <li>r600g: avoid segfault</li>
-</ul></p>
-
-<p>Joakim Sindholt (3):
-<ul>
- <li>util/u_blitter: fix leak</li>
- <li>radeong: fix leaks</li>
- <li>r300g: silence guard band cap errors</li>
-</ul></p>
-
-<p>Johann Rudloff (3):
-<ul>
- <li>radeon: Implement EGL_MESA_no_surface_extension</li>
- <li>radeon: Implement __DRI_IMAGE and EGL_MESA_image_drm</li>
- <li>radeon: Implement GL_OES_EGL_image</li>
-</ul></p>
-
-<p>John Doe (3):
-<ul>
- <li>r600g: misc cleanup</li>
- <li>r600g: don't double count dirty block</li>
- <li>r600g: keep a mapping around for each bo</li>
-</ul></p>
-
-<p>Jon TURNEY (1):
-<ul>
- <li>Ensure -L$(TOP)/$(LIB_DIR) appears in link line before any -L in $LDFLAGS</li>
-</ul></p>
-
-<p>José Fonseca (128):
-<ul>
- <li>gallivm: Fix address register swizzle.</li>
- <li>gallivm: Start collecting bitwise arithmetic helpers in a new module.</li>
- <li>gallivm: Clamp indirect register indices to file_max.</li>
- <li>util: linearized sRGB values don't fit into 8bits</li>
- <li>llvmpipe: Default to no threading on single processor systems.</li>
- <li>tgsi: Don't ignore indirect registers in tgsi_check_soa_dependencies</li>
- <li>llvmpipe: Describe how to profile llvmpipe.</li>
- <li>llvmpipe: When failing free fs shader too.</li>
- <li>util: Flush stdout on util_format.</li>
- <li>gallivm: Add unorm support to lp_build_lerp()</li>
- <li>llvmpipe: Special case complementary and identify blend factors in SoA.</li>
- <li>llvmpipe: Make rgb/alpha bland func/factors match, when there is no alpha.</li>
- <li>draw: Prevent clipped vertices overflow.</li>
- <li>draw: Fullfil the new min_lod/max_lod/lod_bias/border_color dynamic state</li>
- <li>gallivm: Fetch the lod from the dynamic state when min_lod == max_lod.</li>
- <li>gallivm: Remove dead experimental code.</li>
- <li>llvmpipe: Decouple sampler view and sampler state updates.</li>
- <li>scons: New build= option, with support for checked builds.</li>
- <li>scons: New build= option, with support for checked builds.</li>
- <li>trace: Fix set_index_buffer and draw_vbo tracing.</li>
- <li>python/retrace: Handle set_index_buffer and draw_vbo.</li>
- <li>gallivm: Use SSE4.1's ROUNDSS/ROUNDSD for scalar rounding.</li>
- <li>gallivm: More comprehensive border usage logic.</li>
- <li>retrace: Handle clear_render_target and clear_depth_stencil.</li>
- <li>llvmpipe: Dump a few missing shader key flags.</li>
- <li>llvmpipe: Fix perspective interpolation for point sprites.</li>
- <li>llvmpipe: Fix sprite coord perspective interpolation of Q.</li>
- <li>gallivm: Take the type signedness in consideration in round/ceil/floor.</li>
- <li>gallivm: Use a faster (and less accurate) log2 in lod computation.</li>
- <li>gallivm: Fast implementation of iround(log2(x))</li>
- <li>gallivm: Combined ifloor &amp; fract helper.</li>
- <li>gallivm: Only apply min/max_lod when necessary.</li>
- <li>gallivm: Compute lod as integer whenever possible.</li>
- <li>util: Cleanup util_pack_z_stencil and friends.</li>
- <li>llvmpipe: Cleanup depth-stencil clears.</li>
- <li>gallivm: Vectorize the rho computation.</li>
- <li>gallivm: Do not do mipfiltering when magnifying.</li>
- <li>gallivm: Simplify lp_build_mipmap_level_sizes' interface.</li>
- <li>gallivm: Don't compute the second mipmap level when frac(lod) == 0</li>
- <li>gallivm: Use lp_build_ifloor_fract for lod computation.</li>
- <li>gallivm: Clamp mipmap level and zero mip weight simultaneously.</li>
- <li>gallivm: Fix copy'n'paste typo in previous commit.</li>
- <li>gallivm: Implement brilinear filtering.</li>
- <li>gallivm: Use the wrappers for SSE pack intrinsics.</li>
- <li>gallivm: Avoid control flow for two-sided stencil test.</li>
- <li>gallivm: Warn when doing inefficient integer comparisons.</li>
- <li>gallivm: Move into the as much of the second level code as possible.</li>
- <li>llvmpipe: First minify the texture size, then broadcast.</li>
- <li>gallivm: Help for combined extraction and broadcasting.</li>
- <li>gallivm: Do size computations simultanously for all dimensions (AoS).</li>
- <li>llvmpipe: Prevent z &gt; 1.0</li>
- <li>llvmpipe: Fix MSVC build. Enable the new SSE2 code on non SSE3 systems.</li>
- <li>gallivm: Handle code have ret correctly.</li>
- <li>util: Defined M_SQRT2 when not available.</li>
- <li>gallivm: Less code duplication in log computation.</li>
- <li>gallivm: Special bri-linear computation path for unmodified rho.</li>
- <li>gallivm: Don't generate Phis for execution mask.</li>
- <li>gallivm: Use varilables instead of Phis for cubemap selection.</li>
- <li>gallivm: Remove support for Phi generation.</li>
- <li>gallivm: Factor out the SI-&gt;FP texture size conversion for SoA path too</li>
- <li>gallivm: Simplify if/then/else implementation.</li>
- <li>gallivm: Cleanup the rest of the flow module.</li>
- <li>gallivm: Fix a long standing bug with nested if-then-else emission.</li>
- <li>gallivm: Allow to disable bri-linear filtering with GALLIVM_DEBUG=no_brilinear runtime option</li>
- <li>gallivm: Use variables instead of Phis in loops.</li>
- <li>gallivm: Pass texture coords derivates as scalars.</li>
- <li>llvmpipe: Remove outdated comment about stencil testing.</li>
- <li>gallivm: Eliminate unsigned integer arithmetic from texture coordinates.</li>
- <li>gallium: Define C99 restrict keyword where absent.</li>
- <li>tgsi: Export some names for some tgsi enums.</li>
- <li>gallivm: More detailed analysis of tgsi shaders.</li>
- <li>llvmpipe: Use lp_tgsi_info.</li>
- <li>llvmpipe: Do not dispose the execution engine.</li>
- <li>llvmpipe: Fix MSVC build.</li>
- <li>llmvpipe: improve mm_mullo_epi32</li>
- <li>gallivm: Name anonymous union.</li>
- <li>llvmpipe: Unbreak Z32_FLOAT.</li>
- <li>gallivm: More accurate float -&gt; 24bit &amp; 32bit unorm conversion.</li>
- <li>llvmpipe: Generalize the x8z24 fast path to all depth formats.</li>
- <li>llvmpipe: Fix depth-stencil regression.</li>
- <li>llvmpipe: Ensure z_shift and z_width is initialized.</li>
- <li>gallivm: Fix SoA cubemap derivative computation.</li>
- <li>llvmpipe: Fix bad refactoring.</li>
- <li>llvmpipe: Initialize bld ctx via lp_build_context_init instead of ad-hoc and broken code.</li>
- <li>gallivm: Comment lp_build_insert_new_block().</li>
- <li>gallivm: Add a note about SSE4.1's nearest mode rounding.</li>
- <li>llvmpipe: Don't test rounding of x.5 numbers.</li>
- <li>gallium: Avoid using __doc__ in python scripts.</li>
- <li>gallivm: always enable LLVMAddInstructionCombiningPass()</li>
- <li>gallivm: Remove the EMMS opcodes.</li>
- <li>mesa: Fix windows build (uint -&gt; GLuint).</li>
- <li>scons: Revamp how to specify targets to build.</li>
- <li>scons: Fix MinGW cross-compilation.</li>
- <li>scons: Some pipe drivers are not portable for MSVC</li>
- <li>scons: Restore x11 tool behavior for backwards compatability.</li>
- <li>scons: Disable python state tracker when swig is not present.</li>
- <li>r600g: List recently added files in SConscript.</li>
- <li>scons: Add aliases for several pipe drivers.</li>
- <li>scons: i915 can't build on MSVC either.</li>
- <li>scons: Propagate installation targets.</li>
- <li>xorg/vmwgfx: Add missing source file to SConscript.</li>
- <li>st/xorg: Add missing n to error message.</li>
- <li>st/xorg: Detect libkms with scons too.</li>
- <li>xorg/vmwgfx: Link libkms when available.</li>
- <li>r600g: Swap the util_blitter_destroy call order.</li>
- <li>gallivm: Allocate TEMP/OUT arrays only once.</li>
- <li>libgl-gdi: Allow to pick softpipe/llvmpipe on runtime.</li>
- <li>scons: Use inline wrap helpers more consistently.</li>
- <li>svga: Use consistent hexadecimal representation on debug output.</li>
- <li>scons: Alias for svga</li>
- <li>wgl: Stub WGL_ARB_pbuffer support.</li>
- <li>wgl: More complete WGL_ARB_pbuffer support.</li>
- <li>svga: Silence debug printf.</li>
- <li>scons: Move MSVS_VERSION option to common module.</li>
- <li>vega: Remove extraneous ;</li>
- <li>retrace: Some fixes.</li>
- <li>util: C++ safe.</li>
- <li>wgl: Fix double free. Remove dead code.</li>
- <li>util: Plug leaks in util_destroy_gen_mipmap.</li>
- <li>util: __builtin_frame_address() doesn't work on mingw.</li>
- <li>util: Don't try to use imagehlp on mingw.</li>
- <li>wgl: Unreference the current framebuffer after the make_current call.</li>
- <li>WIN32_THREADS -&gt; WIN32</li>
- <li>mapi: Hack to avoid vgCreateFont being generated as vgCreateFontA.</li>
- <li>wgl: Fix visual's buffer_mask configuration.</li>
- <li>mesa: Temporary hack to prevent stack overflow on windows</li>
- <li>mesa: Bump the number of bits in the register index.</li>
- <li>llvmpipe: Plug fence leaks.</li>
-</ul></p>
-
-<p>Julien Cristau (1):
-<ul>
- <li>Makefile: don't include the same files twice in the tarball</li>
-</ul></p>
-
-<p>Keith Whitwell (89):
-<ul>
- <li>llvmpipe: brackets around macro arg</li>
- <li>llvmpipe: remove duplicate code</li>
- <li>llvmpipe: return zero from floor_pot(zero)</li>
- <li>gallivm: make lp_build_sample_nop public</li>
- <li>llvmpipe: add LP_PERF flag to disable various aspects of rasterization</li>
- <li>llvmpipe: add DEBUG_FS to dump variant information</li>
- <li>llvmpipe: use llvm for attribute interpolant calculation</li>
- <li>graw: add frag-face shader</li>
- <li>llvmpipe: fix flatshading in new line code</li>
- <li>draw: don't apply flatshading to clipped tris with &lt3 verts</li>
- <li>llvmpipe: handle FACING interpolants in line and point setup</li>
- <li>llvmpipe: handle up to 8 planes in triangle binner</li>
- <li>llvmpipe: make debug_fs_variant respect variant-&gt;nr_samplers</li>
- <li>gallivm: don't apply zero lod_bias</li>
- <li>llvmpipe: fail gracefully on oom in scene creation</li>
- <li>llvmpipe: avoid overflow in triangle culling</li>
- <li>gallivm: special case conversion 4x4f to 1x16ub</li>
- <li>gallivm: round rather than truncate in new 4x4f-&gt;1x16ub conversion path</li>
- <li>llvmpipe: clean up setup_tri a little</li>
- <li>llvmpipe: add rast_tri_4_16 for small lines and points</li>
- <li>llvmpipe: fix off-by-one in tri_16</li>
- <li>llvmpipe: defer attribute interpolation until after mask and ztest</li>
- <li>llvmpipe: use alloca for fs color outputs</li>
- <li>llvmpipe: store zero into all alloca'd values</li>
- <li>llvmpipe: dump fragment shader ir and asm when LP_DEBUG=fs</li>
- <li>gallivm: specialized x8z24 depthtest path</li>
- <li>gallivm: prefer blendvb for integer arguments</li>
- <li>gallivm: simpler uint8-&gt;float conversions</li>
- <li>llvmpipe: try to be sensible about whether to branch after mask updates</li>
- <li>llvmpipe: clean up shader pre/postamble, try to catch more early-z</li>
- <li>llvmpipe: simplified SSE2 swz/unswz routines</li>
- <li>llvmpipe: try to do more of rast_tri_3_16 with intrinsics</li>
- <li>llvmpipe: add debug helpers for epi32 etc</li>
- <li>llvmpipe: try to keep plane c values small</li>
- <li>llvmpipe: fix typo in last commit</li>
- <li>gallium: move sse intrinsics debug helpers to u_sse.h</li>
- <li>r600g: add missing file to sconscript</li>
- <li>gallivm: don't branch on KILLs near end of shader</li>
- <li>Revert "llvmpipe: try to keep plane c values small"</li>
- <li>llvmpipe: make sure intrinsics code is guarded with PIPE_ARCH_SSE</li>
- <li>llvmpipe: don't try to emit non-existent color outputs</li>
- <li>r600/drm: fix segfaults in winsys create failure path</li>
- <li>r600g: emit hardware linewidth</li>
- <li>r600g: handle absolute modifier in shader translator</li>
- <li>llvmpipe: reintroduce SET_STATE binner command</li>
- <li>llvmpipe: don't pass frontfacing as a float</li>
- <li>llvmpipe: slightly shrink the size of a binned triangle</li>
- <li>llvmpipe: don't store plane.ei value in binned data</li>
- <li>gallium: move some intrinsics helpers to u_sse.h</li>
- <li>llvmpipe: do plane calculations with intrinsics</li>
- <li>llvmpipe: use aligned loads/stores for plane values</li>
- <li>llvmpipe: fix non-sse build after recent changes</li>
- <li>llvmpipe: check shader outputs are non-null before using</li>
- <li>llvmpipe: validate color outputs against key-&gt;nr_cbufs</li>
- <li>llvmpipe: clean up fields in draw_llvm_variant_key</li>
- <li>llvmpipe: remove setup fallback path</li>
- <li>llvmpipe: fail cleanly on malloc failure in lp_setup_alloc_triangle</li>
- <li>Merge remote branch 'origin/master' into lp-setup-llvm</li>
- <li>llvmpipe: remove unused file</li>
- <li>llvmpipe: remove unused arg from jit_setup_tri function</li>
- <li>Merge branch 'llvm-cliptest-viewport'</li>
- <li>draw: make sure viewport gets updated in draw llvm shader</li>
- <li>llvmpipe: turn off draw offset/twoside when we can handle it</li>
- <li>llvmpipe: avoid generating tri_16 for tris which extend past tile bounds</li>
- <li>llvmpipe: guard against NULL task-&gt;query pointer</li>
- <li>st/mesa: unbind constant buffer when not in use</li>
- <li>r600g: propagate usage flags in texture transfers</li>
- <li>r600g: propogate resource usage flags to winsys, use to choose bo domains</li>
- <li>r600g: use a buffer in GTT as intermediate on texture up and downloads</li>
- <li>r600g: remove unused flink, domain fields from r600_resource</li>
- <li>r600g: set hardware pixel centers according to gl_rasterization_rules</li>
- <li>evergreeng: protect against null constant buffers</li>
- <li>r600g: don't call debug_get_bool_option for tiling more than once</li>
- <li>evergreeng: respect linewidth state, use integer widths only</li>
- <li>evergreeng: set hardware pixelcenters according to gl_rasterization_rules</li>
- <li>r600g: avoid recursion with staged uploads</li>
- <li>r600g: attempt to turn on DXTn formats</li>
- <li>r600g: translate ARR instruction</li>
- <li>r600: fix my pessimism about PIPE_TRANSFER_x flags</li>
- <li>ws/r600: match bo_busy shared/fence logic in bo_wait</li>
- <li>r600g: guard experimental s3tc code with R600_ENABLE_S3TC</li>
- <li>r600g: do not try to use staging resource for depth textures</li>
- <li>r600g: enforce minimum stride on render target texture images</li>
- <li>llvmpipe: fix up twoside after recent changes</li>
- <li>llvmpipe: twoside for specular color also</li>
- <li>Merge branch 'lp-offset-twoside'</li>
- <li>llvmpipe: raise dirty flag on transfers to bound constbuf</li>
- <li>llvmpipe: remove misleading debug string</li>
- <li>llvmpipe: shortcircuit some calls to set_scene_state</li>
-</ul></p>
-
-<p>Kenneth Graunke (94):
-<ul>
- <li>glsl: Change from has_builtin_signature to has_user_signature.</li>
- <li>glsl: Don't print blank (function ...) headers for built-ins.</li>
- <li>glsl: Properly handle nested structure types.</li>
- <li>glsl/builtins: Fix equal and notEqual builtins.</li>
- <li>glsl/builtins: Switch comparison functions to just return an expression.</li>
- <li>glsl: Add comments to clarify the types of comparison binops.</li>
- <li>glsl: Fix broken handling of ir_binop_equal and ir_binop_nequal.</li>
- <li>glsl: "Copyright", not "Constantright"</li>
- <li>i965: Fix incorrect batchbuffer size in gen6 clip state command.</li>
- <li>i965: Use logical-not when emitting ir_unop_ceil.</li>
- <li>glsl: Add front-end support for the "trunc" built-in.</li>
- <li>glsl: Refresh autogenerated file builtin_function.cpp.</li>
- <li>i965: Use RNDZ for ir_unop_trunc in the new FS.</li>
- <li>i965: Correctly emit the RNDZ instruction.</li>
- <li>i965: Clean up a warning in the old fragment backend.</li>
- <li>glsl: Add a new ir_unop_round_even opcode for GLSL 1.30's roundEven.</li>
- <li>glsl: Add front-end support for GLSL 1.30's roundEven built-in.</li>
- <li>i965: Add support for ir_unop_round_even via the RNDE instruction.</li>
- <li>glsl: Add support for the 1.30 round() built-in.</li>
- <li>glsl: Refresh autogenerated file builtin_function.cpp.</li>
- <li>glsl: Don't return NULL IR for erroneous bit-shift operators.</li>
- <li>i965: Add missing "break" statement.</li>
- <li>glsl: Fix copy and paste error in ast_bit_and node creation.</li>
- <li>glsl: Regenerate parser files.</li>
- <li>i965: Remove unused variable.</li>
- <li>glsl: Remove useless ir_shader enumeration value.</li>
- <li>mesa: Remove FEATURE_ARB_shading_language_120 macro.</li>
- <li>glcpp: Return NEWLINE token for newlines inside multi-line comments.</li>
- <li>glcpp: Refresh autogenerated lexer file.</li>
- <li>glsl: Add support for GLSL 1.30's modf built-in.</li>
- <li>glsl: Refresh autogenerated file builtin_function.cpp.</li>
- <li>generate_builtins.py: Output large strings as arrays of characters.</li>
- <li>Refresh autogenerated file builtin_function.cpp.</li>
- <li>glsl: Fix constant component count in vector constructor emitting.</li>
- <li>Fix build on systems where "python" is python 3.</li>
- <li>i965: Add bit operation support to the fragment shader backend.</li>
- <li>glsl: Remove unused ARRAY_SIZE macro.</li>
- <li>glsl/builtins: Rename 'x' to 'y_over_x' in atan(float) implementation.</li>
- <li>glsl/builtins: Clean up some ugly autogenerated code in atan.</li>
- <li>Refresh autogenerated file builtin_function.cpp.</li>
- <li>glsl: Don't print a useless space at the end of an S-Expression list.</li>
- <li>ir_reader: Return a specific ir_dereference variant.</li>
- <li>ir_reader: Remove useless error check.</li>
- <li>ir_reader: Fix some potential NULL pointer dereferences.</li>
- <li>ir_dead_functions: Actually free dead functions and signatures.</li>
- <li>glsl: Remove unnecessary "unused variable" warning suppression.</li>
- <li>glsl: Remove GLSL_TYPE_FUNCTION define.</li>
- <li>glsl: Convert glsl_type::base_type from #define'd constants to an enum.</li>
- <li>glsl: Rework reserved word/keyword handling in the lexer.</li>
- <li>glsl: Add new keywords and reserved words for GLSL 1.30.</li>
- <li>glsl: Add support for the 'u' and 'U' unsigned integer suffixes.</li>
- <li>glsl: Refresh autogenerated lexer and parser files.</li>
- <li>generate_builtins.py: Fix inconsistent use of tabs and spaces warning.</li>
- <li>glsl: Implement the asinh, acosh, and atanh built-in functions.</li>
- <li>glsl: Refresh autogenerated file builtin_function.cpp.</li>
- <li>glsl: Add constant expression handling for asinh, acosh, and atanh.</li>
- <li>glsl: Remove unused and out of date Makefile.am.</li>
- <li>glsl: Rename various ir_* files to lower_* and opt_*.</li>
- <li>glcpp: Define GL_FRAGMENT_PRECISION_HIGH if GLSL version &gt;= 1.30.</li>
- <li>Refresh autogenerated glcpp parser.</li>
- <li>glsl: Fix constant expression handling for &lt, &gt;, &lt=, &gt;= on vectors.</li>
- <li>glsl: Unconditionally define GL_FRAGMENT_PRECISION_HIGH in ES2 shaders.</li>
- <li>Regenerate glcpp parser.</li>
- <li>glsl: Reimplement the "cross" built-in without ir_binop_cross.</li>
- <li>Refresh autogenerated file builtin_function.cpp.</li>
- <li>glsl: Remove the ir_binop_cross opcode.</li>
- <li>glsl: Refactor get_num_operands.</li>
- <li>glsl: Simplify a type check by using type-&gt;is_integer().</li>
- <li>glsl: Combine many instruction lowering passes into one.</li>
- <li>mesa: Fix glGet of ES2's GL_MAX_*_VECTORS properties.</li>
- <li>glsl: Don't inline function prototypes.</li>
- <li>glsl: Use do_common_optimization in the standalone compiler.</li>
- <li>glsl: Add a virtual as_discard() method.</li>
- <li>glsl: Refactor out cloning of function prototypes.</li>
- <li>glsl: Lazily import built-in function prototypes.</li>
- <li>glsl: Remove anti-built-in hacks from the print visitor.</li>
- <li>glsl/linker: Free any IR discarded by optimization passes.</li>
- <li>glsl: Add an optimization pass to simplify discards.</li>
- <li>glsl: Add a lowering pass to move discards out of if-statements.</li>
- <li>glsl: Remove "discard" support from lower_jumps.</li>
- <li>glsl: Add comments to lower_jumps (from the commit message).</li>
- <li>ir_print_visitor: Print out constant structure values.</li>
- <li>glsl: Factor out code which emits a new function into the IR stream.</li>
- <li>symbol_table: Add support for adding a symbol at top-level/global scope.</li>
- <li>glsl: Properly add functions during lazy built-in prototype importing.</li>
- <li>glcpp: Don't emit SPACE tokens in conditional_tokens production.</li>
- <li>Refresh autogenerated glcpp parser.</li>
- <li>glsl: Clean up code by adding a new is_break() function.</li>
- <li>glsl: Consider the "else" branch when looking for loop breaks.</li>
- <li>Remove OES_compressed_paletted_texture from the ES2 extension list.</li>
- <li>glsl/builtins: Compute the correct value for smoothstep(vec, vec, vec).</li>
- <li>glsl: Support if-flattening beyond a given maximum nesting depth.</li>
- <li>i965: Flatten if-statements beyond depth 16 on pre-gen6.</li>
- <li>i965: Internally enable GL_NV_blend_square on ES2.</li>
-</ul></p>
-
-<p>Kristian Høgsberg (16):
-<ul>
- <li>glx: Hold on to drawables if we're just switching to another context</li>
- <li>intel: Fix GL_ARB_shading_language_120 commit</li>
- <li>dri2: Make createImageFromName() take a __DRIscreen instead of __DRIcontext</li>
- <li>glx: Invalidate buffers after binding a drawable</li>
- <li>dri: Pass the __DRIscreen and the __DRIscreen private back to image lookup</li>
- <li>glx: Only remove drawables from the hash when we actually delete them</li>
- <li>gles2: Add GL_EXT_texture_format_BGRA8888 support</li>
- <li>Get rid of GL/internal/glcore.h</li>
- <li>gl: Remove unused GLcontextModes fields</li>
- <li>Rename GLvisual and __GLcontextModes to struct gl_config</li>
- <li>Drop GLframebuffer typedef and just use struct gl_framebuffer</li>
- <li>Drop GLcontext typedef and use struct gl_context instead</li>
- <li>Drop the "neutral" tnl module</li>
- <li>Only install vtxfmt tables for OpenGL</li>
- <li>i965: Don't write mrf assignment for pointsize output</li>
- <li>docs: Fix MESA_drm_image typo</li>
-</ul></p>
-
-<p>Krzysztof Smiechowicz (1):
-<ul>
- <li>nvfx: Pair os_malloc_aligned() with os_free_aligned().</li>
-</ul></p>
-
-<p>Luca Barbieri (84):
-<ul>
- <li>auxiliary: fix unintended fallthrough</li>
- <li>glsl: add pass to lower variable array indexing to conditional assignments</li>
- <li>auxiliary: fix depth-only and stencil-only clears</li>
- <li>gallium: avoid the C++ keyword "template" in sw_winsys.h</li>
- <li>softpipe: make z/s test always pass if no zsbuf, instead of crashing</li>
- <li>tgsi: add switch/case opcodes to tgsi_opcode_tmp.h</li>
- <li>softpipe: fix whitespace</li>
- <li>d3d1x: add new Direct3D 10/11 COM state tracker for Gallium</li>
- <li>d3d1x: add blob and signature extraction APIs</li>
- <li>d3d1x: fix compilation with recent Wine versions installed</li>
- <li>d3d1x: add missing file</li>
- <li>d3d1x: actually enable and fix blob apis</li>
- <li>d3d1x: fix build with compilers other than GCC 4.5</li>
- <li>d3d1x: add template parameters to base class ctor calls for GCC 4.4</li>
- <li>d3d1x: fix GCC 4.1/4.2 build</li>
- <li>d3d1x: ignore errors while building docs</li>
- <li>d3d1x: attempt to fix/workaround bug #30322</li>
- <li>nvfx: remove gl_PointCoord hack</li>
- <li>glx: decouple dri2.c and GLX, fixing Gallium EGL and d3d1x build</li>
- <li>winsys: automatically build sw winsys needed by EGL and d3d1x</li>
- <li>d3d1x: don't build progs automatically</li>
- <li>d3d1x: add missing memory barrier</li>
- <li>d3d1x: link with CXXFLAGS</li>
- <li>d3d1x: fix cf analysis</li>
- <li>d3d1x: fix warning</li>
- <li>d3d1x: fix segfault when hashing</li>
- <li>d3d1x: destroy native_display on adapter destruction</li>
- <li>d3d1x: fix GUID declarations</li>
- <li>d3d1x: redesign the HWND resolver interface</li>
- <li>d3d1x: fix API name</li>
- <li>d3d1x: define GUIDs in the normal way</li>
- <li>d3d1x: add Wine dlls (tri, tex working, but no other testing)</li>
- <li>d3d1x: properly reference count the backend</li>
- <li>d3d1x: fix deadlocks on non-recursive mutex</li>
- <li>d3d1x: bind NULL CSOs before destroying default CSOs on context dtor</li>
- <li>d3d1x: initialize the mutex</li>
- <li>d3d1x: autogenerate shader enums and text from def files</li>
- <li>d3d1x: s/tpf/sm4/g</li>
- <li>d3d1x: normalize whitespace</li>
- <li>d3d1x: remove specstrings</li>
- <li>d3d1x: minifix</li>
- <li>d3d1x: rename context params</li>
- <li>d3d11: rename screen params</li>
- <li>d3d1x: rename params in misc and objects</li>
- <li>d3d1x: rename parameters in dxgi</li>
- <li>d3d11: obliterate IDL parameter names</li>
- <li>d3d1x: remove specstrings.h include</li>
- <li>d3d1x: flush the pipe context when presenting</li>
- <li>d3d1x: remove another include specstrings.h</li>
- <li>d3d1x: flush properly</li>
- <li>d3d1x: add missing guid.cpp</li>
- <li>d3d1x: fix build without system EGL/egl.h</li>
- <li>d3d1x: add autogenerated files as prerequisites, so make builds them</li>
- <li>d3d1x: obliterate IDL parameter names from d3d10.idl from Wine too</li>
- <li>d3d1x: add shader dumping</li>
- <li>d3d1x: add untested support for geometry shader translation</li>
- <li>d3d1x: don't assert on unsupported resource types</li>
- <li>d3d1x: fix CheckMultisampleQualityLevels</li>
- <li>d3d1x: draw to the correct buffer</li>
- <li>d3d1x: fix linking of dxbc2tgsi</li>
- <li>nvfx: allow setting NULL constant buffers</li>
- <li>nvfx: add RGB framebuffer format support in addition to BGR</li>
- <li>d3d1x: don't crash on drivers not supporting vertex or geometry sampling</li>
- <li>d3d1x: assert if X visual is not among enumerated visuals</li>
- <li>d3d1x: stop using GLX in demos, just use the default visual</li>
- <li>d3d1x: CRLF -&gt; LF in progs</li>
- <li>mesa: make makedepend an hard requirement</li>
- <li>gallium: add $(PROGS_DEPS) as dependencies for $(PROGS)</li>
- <li>d3d1x: fix parallel build</li>
- <li>d3d1x: add private gitignore file</li>
- <li>d3d1x: fix progs linking if not all EGL platforms are enabled</li>
- <li>d3d1x: link progs with CXXFLAGS</li>
- <li>d3d11: advertise IDXGIDevice1, not just IDXGIDevice</li>
- <li>d3d11: ignore StructureByteStride</li>
- <li>d3d1x: link to libdrm for X11 platform too</li>
- <li>ureg: support centroid interpolation</li>
- <li>d3d1x: support centroid interpolation</li>
- <li>d3d1x: properly support specifying MipLevels as 0</li>
- <li>d3d1x: put proper calling convention in headers, fixes 64-bit builds</li>
- <li>d3d1x: rework DXGI for occlusion testing and default width/height</li>
- <li>d3d1x: fix Map</li>
- <li>d3d11: fix reference counting so devices get freed</li>
- <li>d3d1x: work around crash in widl</li>
- <li>glsl: Unroll loops with conditional breaks anywhere (not just the end)</li>
-</ul></p>
-
-<p>Lucas Stach (1):
-<ul>
- <li>nvfx: fill PIPE_CAP_PRIMITIVE_RESTART and PIPE_CAP_SHADER_STENCIL_EXPORT</li>
-</ul></p>
-
-<p>Marek Olšák (100):
-<ul>
- <li>r300g: prevent creating multiple winsys BOs for the same handle</li>
- <li>r300g/swtcl: fix CS overrun</li>
- <li>st/mesa: fix assertion failure in GetTexImage for cubemaps</li>
- <li>util: make calling remove_from_list multiple times in a row safe</li>
- <li>r300g: fixup long-lived BO maps being incorrectly unmapped when flushing</li>
- <li>r300g: make accessing map_list and buffer_handles thread-safe</li>
- <li>r300g: fix a copy-paste typo for logging</li>
- <li>r300g: fix the border color for every format other than PIPE_FORMAT_B8G8R8A8</li>
- <li>Build r300g by default</li>
- <li>util: fix util_pack_color for B4G4R4A4</li>
- <li>r300g: fix macrotiling on R350</li>
- <li>r300g: code cleanups</li>
- <li>r300/compiler: fix projective mapping of 2D NPOT textures</li>
- <li>r300/compiler: do not use copy propagation if SaturateMode is used</li>
- <li>r300/compiler: fix shadow sampling with swizzled coords</li>
- <li>r300g: add support for 3D NPOT textures without mipmapping</li>
- <li>r300g: fix swizzling of texture border color</li>
- <li>configure.ac: look for libdrm_radeon before building gallium/r300,r600</li>
- <li>configure.ac: do not build xorg-r300g by default</li>
- <li>Makefile: ensure Gallium's Makefile.xorg and SConscript.dri are in the tarball</li>
- <li>r300g: add support for formats beginning with X, like X8R8G8B8</li>
- <li>r300g: fix conditional rendering in non-wait path</li>
- <li>r300g: add support for R8G8 colorbuffers</li>
- <li>r300g: add support for L8A8 colorbuffers</li>
- <li>update release notes for Gallium</li>
- <li>r300g: fix microtiling for 16-bits-per-channel formats</li>
- <li>r300g: do not print get_param errors in non-debug build</li>
- <li>r300g: say no to PIPE_CAP_STREAM_OUTPUT and PIPE_CAP_PRIMITIVE_RESTART</li>
- <li>mesa: allow FBO attachments of formats LUMINANCE, LUMINANCE_ALPHA, and INTENSITY</li>
- <li>r300g: fix texture border for 16-bits-per-channel formats</li>
- <li>st/mesa: support RGBA16 and use it for RGBA12 as well</li>
- <li>r300g: add a default channel ordering of texture border for unhandled formats</li>
- <li>r300g: mention ATI in the renderer string</li>
- <li>r300g: rename has_hyperz -&gt; can_hyperz</li>
- <li>r300g: turn magic numbers into names in the hyperz code</li>
- <li>gallium: add CAPs for indirect addressing and lower it in st/mesa when needed</li>
- <li>tgsi: fill out CAPs for indirect addressing</li>
- <li>i915g: fill out CAPs for indirect addressing</li>
- <li>i965g: fill out CAPs for indirect addressing</li>
- <li>nv50: fill out CAPs for indirect addressing</li>
- <li>nvfx: fill out CAPs for indirect addressing</li>
- <li>r300g: fill out CAPs for indirect addressing</li>
- <li>r600g: fill out CAPs for indirect addressing</li>
- <li>svga: fill out CAPs for indirect addressing</li>
- <li>r300g: fix texture border color for all texture formats</li>
- <li>r300g: clean up redundancy in draw functions</li>
- <li>r300g: return shader caps from Draw for SWTCL vertex shaders</li>
- <li>r300g: remove the hack with OPCODE_RET</li>
- <li>r300g: print FS inputs uninitialized due to hardware limits to stderr</li>
- <li>r300g: fix rendering with no vertex elements</li>
- <li>st/mesa: enable ARB_explicit_attrib_location and EXT_separate_shader_objects</li>
- <li>docs: add GL 4.1 status</li>
- <li>gallium: add PIPE_SHADER_CAP_SUBROUTINES</li>
- <li>st/mesa: set MaxUniformComponents</li>
- <li>u_blitter: use PIPE_TRANSFER_DISCARD to prevent cpu/gpu stall</li>
- <li>r300/compiler: fix rc_rewrite_depth_out for it to work with any instruction</li>
- <li>r300/compiler: remove duplicate function rc_mask_to_swz</li>
- <li>r300/compiler: add a function for swizzling a mask</li>
- <li>r300/compiler: move util functions to radeon_compiler_util</li>
- <li>u_blitter: interpolate clear color using a GENERIC varying instead of COLOR</li>
- <li>st/mesa: fix texture border color for RED and RG base formats</li>
- <li>util: rename u_mempool -&gt; u_slab</li>
- <li>r300g: fix texture border color once again</li>
- <li>r300/compiler: implement and lower OPCODE_CLAMP</li>
- <li>ir_to_mesa: Add support for conditional discards.</li>
- <li>r300g: fix texture swizzling with compressed textures on r400-r500</li>
- <li>r300g: disable ARB_texture_swizzle if S3TC is enabled on r3xx-only</li>
- <li>r300g: fix up cubemap texture offset computation</li>
- <li>r300/compiler: disable the swizzle lowering pass in vertex shaders</li>
- <li>r300g: fix build</li>
- <li>r300g: use internal BO handle for add_buffer and write_reloc</li>
- <li>r300g: implement simple transfer_inline_write for buffers</li>
- <li>mesa, st/mesa: fix gl_FragCoord with FBOs in Gallium</li>
- <li>r300g: fix pointer arithmetic with void* in transfer_inline_write</li>
- <li>r300g: do not remove unused constants if we are not near the limit</li>
- <li>r300g: add capability bit index_bias_supported</li>
- <li>r300g: one more r500_index_bias_supported leftover</li>
- <li>r300g: do not use the index parameter in set_constant_buffer</li>
- <li>r300g: cleanup winsys</li>
- <li>r300g: optimize looping over atoms</li>
- <li>st/mesa: initialize key in st_vp_varient</li>
- <li>u_blitter: use util_is_format_compatible in the assert</li>
- <li>r300g: cache packet dwords of 3D_LOAD_VBPNTR in a command buffer if possible</li>
- <li>r300g: validate buffers only if any of bound buffers is changed</li>
- <li>r300g: also revalidate the SWTCL vertex buffer after its reallocation</li>
- <li>r300/compiler: don't terminate regalloc if we surpass max temps limit</li>
- <li>r300/compiler: add a function to query program stats (alu, tex, temps..)</li>
- <li>r300/compiler: cleanup rc_run_compiler</li>
- <li>r300/compiler: do not print pair/tex/presub program stats for vertex shaders</li>
- <li>r300/compiler: handle DPH and XPD in rc_compute_sources_for_writemask</li>
- <li>r300/compiler: make lowering passes possibly use up to two less temps</li>
- <li>r300/compiler: remove at least unused immediates if externals cannot be removed</li>
- <li>r300/compiler: fix LIT in VS</li>
- <li>r300/compiler: fix swizzle lowering with a presubtract source operand</li>
- <li>r300g: fix rendering with a vertex attrib having a zero stride</li>
- <li>r300g: finally fix the texture corruption on r3xx-r4xx</li>
- <li>r300g/swtcl: re-enable LLVM</li>
- <li>r300g: mark vertex arrays as dirty after a buffer_offset change</li>
- <li>mesa: fix texel store functions for some float formats</li>
- <li>r300/compiler: disable the rename_regs pass for loops</li>
-</ul></p>
-
-<p>Mario Kleiner (1):
-<ul>
- <li>mesa/r300classic: Fix dri2Invalidate/radeon_prepare_render for page flipping.</li>
-</ul></p>
-
-<p>Mathias Fröhlich (3):
-<ul>
- <li>r300g: Avoid returning values in a static array, fixing a potential race</li>
- <li>r600g: Only compare active vertex elements</li>
- <li>st/mesa: Set PIPE_TRANSFER_DISCARD for GL_MAP_INVALIDATE_RANGE/BUFFFER_BIT</li>
-</ul></p>
-
-<p>Michal Krol (10):
-<ul>
- <li>svga: Fix relative addressing translation for pixel shaders.</li>
- <li>svga: Integer constant register file has a separate namespace.</li>
- <li>tgsi/exec: Cleanup the remaining arithmetic instructions.</li>
- <li>tgsi/exec: Get rid of obsolete condition codes.</li>
- <li>tgsi/build: Reduce interface clutter.</li>
- <li>graw/gdi: Initial commit.</li>
- <li>scons: Hook-up graw-gdi target.</li>
- <li>graw/gdi: Fix window dimensions.</li>
- <li>os: Open file streams in binary mode.</li>
- <li>graw: Export graw_save_surface_to_file().</li>
-</ul></p>
-
-<p>Nicolas Kaiser (26):
-<ul>
- <li>swrast: remove duplicated include</li>
- <li>egl: remove duplicated include</li>
- <li>gallium/rtasm: remove duplicated include</li>
- <li>gallium/util: remove duplicated include</li>
- <li>gallium/i915: remove duplicated include</li>
- <li>gallium/llvmpipe: remove duplicated include</li>
- <li>gallium/softpipe: remove duplicated include</li>
- <li>gallium/st: remove duplicated includes</li>
- <li>gallium/winsys: remove duplicated include</li>
- <li>glx: remove duplicated include</li>
- <li>dri/common: remove duplicated include</li>
- <li>dri/i810: remove duplicated include</li>
- <li>dri/i915: remove duplicated include</li>
- <li>dri/i965: remove duplicated include</li>
- <li>dri/intel: remove duplicated include</li>
- <li>dri/mga: remove duplicated include</li>
- <li>dri/r128: remove duplicated include</li>
- <li>dri/r300: remove duplicated include</li>
- <li>dri/r600: remove duplicated include</li>
- <li>dri/radeon: remove duplicated includes</li>
- <li>dri/savage: remove duplicated include</li>
- <li>main: remove duplicated includes</li>
- <li>math: remove duplicated includes</li>
- <li>st: remove duplicated include</li>
- <li>i965g: use Elements macro instead of manual sizeofs</li>
- <li>nv50: fix always true conditional in shader optimization</li>
-</ul></p>
-
-<p>Orion Poplawski (1):
-<ul>
- <li>osmesa: link against libtalloc</li>
-</ul></p>
-
-<p>Owen W. Taylor (1):
-<ul>
- <li>r600g: Fix location for clip plane registers</li>
-</ul></p>
-
-<p>Peter Clifton (3):
-<ul>
- <li>intel: Fix emit_linear_blit to use DWORD aligned width blits</li>
- <li>intel: Add assert check for blitting alignment.</li>
- <li>meta: Mask Stencil.Clear against stencilMax in _mesa_meta_Clear</li>
-</ul></p>
-
-<p>Robert Hooker (2):
-<ul>
- <li>intel: Add a new B43 pci id.</li>
- <li>egl_dri2: Add missing intel chip ids.</li>
-</ul></p>
-
-<p>Roland Scheidegger (16):
-<ul>
- <li>gallivm: fix copy&amp;paste bug</li>
- <li>gallivm: don't use URem/UDiv when calculating offsets for blocks</li>
- <li>gallivm: optimize yuv decoding</li>
- <li>gallivm: fix trunc/itrunc comment</li>
- <li>gallivm: faster iround implementation for sse2</li>
- <li>gallivm: replace sub/floor/ifloor combo with ifloor_fract</li>
- <li>gallivm: optimize some tex wrap mode calculations a bit</li>
- <li>gallivm: more linear tex wrap mode calculation simplification</li>
- <li>gallivm: avoid unnecessary URem in linear wrap repeat case</li>
- <li>gallivm: optimize soa linear clamp to edge wrap mode a bit</li>
- <li>gallivm: make use of new iround code in lp_bld_conv.</li>
- <li>gallivm: fix different handling of [non]normalized coords in linear soa path</li>
- <li>gallivm: only use lp_build_conv 4x4f -&gt; 1x16 ub fastpath with sse2</li>
- <li>r200: fix r200 large points</li>
- <li>mesa: remove unneeded DD_POINT_SIZE and DD_LINE_WIDTH tricaps</li>
- <li>gallium: support for array textures and related changes</li>
-</ul></p>
-
-<p>Shuang He (1):
-<ul>
- <li>mesa: allow GLfixed arrays for OpenGL ES 2.0</li>
-</ul></p>
-
-<p>Stephan Schmid (1):
-<ul>
- <li>r600g: fix relative addressing when splitting constant accesses</li>
-</ul></p>
-
-<p>Thomas Hellstrom (21):
-<ul>
- <li>st/xorg: Don't try to use option values before processing options</li>
- <li>xorg/vmwgfx: Make vmwarectrl work also on 64-bit servers</li>
- <li>st/xorg: Add a customizer option to get rid of annoying cursor update flicker</li>
- <li>xorg/vmwgfx: Don't hide HW cursors when updating them</li>
- <li>st/xorg: Don't try to remove invalid fbs</li>
- <li>st/xorg: Fix typo</li>
- <li>st/xorg, xorg/vmwgfx: Be a bit more frendly towards cross-compiling environments</li>
- <li>st/xorg: Fix compilation errors for Xservers compiled without Composite</li>
- <li>st/xorg: Don't use deprecated x*alloc / xfree functions</li>
- <li>xorg/vmwgfx: Don't use deprecated x*alloc / xfree functions</li>
- <li>st/xorg: Fix compilation for Xservers &gt;= 1.10</li>
- <li>mesa: Make sure we have the talloc cflags when using the talloc headers</li>
- <li>egl: Add an include for size_t</li>
- <li>mesa: Add talloc includes for gles</li>
- <li>st/egl: Fix build for include files in nonstandard places</li>
- <li>svga/drm: Optionally resolve calls to powf during link-time</li>
- <li>gallium/targets: Trivial crosscompiling fix</li>
- <li>st/xorg: Add a function to flush pending rendering and damage</li>
- <li>gallium/targets/xorg-vmwgfx: Xv fixes</li>
- <li>xorg/vmwgfx: Flush even if we don't autopaint the color key</li>
- <li>xorg/vmwgfx: Don't clip video to viewport</li>
-</ul></p>
-
-<p>Tilman Sauerbeck (35):
-<ul>
- <li>r600g: Fixed a bo leak in r600_blit_state_ps_shader().</li>
- <li>r600g: Use clamped math for RCP and RSQ.</li>
- <li>r600g: Formatting fixes.</li>
- <li>r600g: Added DB_SHADER_CONTROL defines.</li>
- <li>r600g: Only set PA_SC_EDGERULE on rv770 and greater.</li>
- <li>r600g: Enable PIPE_SHADER_CAP_TGSI_CONT_SUPPORTED.</li>
- <li>r600g: Fixed the shift in S_02880C_KILL_ENABLE.</li>
- <li>glsl2: Empty functions can be inlined.</li>
- <li>glsl2: Fixed cloning of ir_call error instructions.</li>
- <li>r600g: Added support for TGSI_SEMANTIC_FACE.</li>
- <li>gallium/docs: Fixed a typo in the SCS opcode description.</li>
- <li>r600g: Honour destination operand's writemask in the SCS implementation.</li>
- <li>r600g: Implemented the Z and W component write for the SCS opcode.</li>
- <li>python/tests: Fixed tri.py for API and TGSI syntax changes.</li>
- <li>r600g: Removed debug code.</li>
- <li>gallium/docs: The RET opcode may appear anywhere in a subroutine.</li>
- <li>r600g: Destroy the blitter.</li>
- <li>r600g: Fixed two texture surface leaks in r600_blit_uncompress_depth().</li>
- <li>r600g: Cleaned up index buffer reference handling in the draw module.</li>
- <li>r600g: Fixed r600_vertex_element leak.</li>
- <li>r600g: Added r600_pipe_shader_destroy().</li>
- <li>r600g: Also clear bc data when we're destroying a shader.</li>
- <li>r600g: In radeon_bo(), call LIST_INITHEAD early.</li>
- <li>r600g: Destroy the blitter.</li>
- <li>r600g: Removed unused 'ptr' argument from radeon_bo().</li>
- <li>r600g: Made radeon_bo_pb_map_internal() actually call radeon_bo_map().</li>
- <li>r600g: Fixed unmap condition in radeon_bo_pb_destroy().</li>
- <li>r600g: Made radeon_bo::map_count signed.</li>
- <li>r600g: We don't support PIPE_CAP_PRIMITIVE_RESTART.</li>
- <li>r600g: Delete custom_dsa_flush on shutdown.</li>
- <li>r600g: Fixed two memory leaks in winsys.</li>
- <li>r600g: Destroy the winsys in r600_destroy_screen().</li>
- <li>st/mesa: Reset the index buffer before destroying the pipe context.</li>
- <li>st/mesa: Reset the constant buffers before destroying the pipe context.</li>
- <li>r600g: Removed duplicated call to tgsi_split_literal_constant().</li>
-</ul></p>
-
-<p>Timo Wiren (1):
-<ul>
- <li>Fix typos in comments and debug output strings.</li>
-</ul></p>
-
-<p>Tom Fogal (3):
-<ul>
- <li>Implement x86_64 atomics for compilers w/o intrinsics.</li>
- <li>Prefer intrinsics to handrolled atomic ops.</li>
- <li>Revert "Prefer intrinsics to handrolled atomic ops."</li>
-</ul></p>
-
-<p>Tom Stellard (32):
-<ul>
- <li>r300/compiler: Refactor the pair instruction data structures</li>
- <li>r300g: Always try to build libr300compiler.a</li>
- <li>r300/compiler: Fix two mistakes in the presubtract optimization pass.</li>
- <li>r300/compiler: Add more helper functions for iterating through sources</li>
- <li>r300/compiler: Print immediate values after "dead constants" pass</li>
- <li>r300/compiler: radeon_remove_constants.c: fix indentation</li>
- <li>r300/compiler: Use rc_for_all_reads_src() in "dead constants" pass</li>
- <li>r300/compiler: Fix segfault in error path</li>
- <li>r300/compiler: Don't use rc_error() unless the error is unrecoverable</li>
- <li>r300/compiler: Don't merge instructions that write output regs and ALU result</li>
- <li>r300/compiler: Create a helper function for merging presubtract sources</li>
- <li>r300/compiler: Fix incorrect assumption</li>
- <li>r300/compiler: Clear empty registers after constant folding</li>
- <li>r300/compiler: Add a new function for more efficient dataflow analysis</li>
- <li>r300g: Add new debug option for logging vertex/fragment program stats</li>
- <li>r300/compiler: Use rc_get_readers_normal() for presubtract optimizations</li>
- <li>r300/compiler: Don't clobber presubtract sources during optimizations</li>
- <li>r300/compiler: Don't track readers into an IF block.</li>
- <li>r300/compiler: Make sure presubtract sources use supported swizzles</li>
- <li>r300/compiler: Fix register allocator's handling of loops</li>
- <li>r300/compiler: Fix instruction scheduling within IF blocks</li>
- <li>r300/compiler: Use zero as the register index for unused sources</li>
- <li>r300/compiler: Ignore alpha dest register when replicating the result</li>
- <li>r300/compiler: Add rc_get_readers()</li>
- <li>r300/compiler: Handle BREAK and CONTINUE in rc_get_readers()</li>
- <li>r300/compiler: Track readers through branches in rc_get_readers()</li>
- <li>r300/compiler: Convert RGB to alpha in the scheduler</li>
- <li>r300/compiler: Use presubtract operations as much as possible</li>
- <li>r300/compiler: Enable rename_reg pass for r500 cards</li>
- <li>r300/compiler: Add a more efficient version of rc_find_free_temporary()</li>
- <li>r300/compiler: Don't allow presubtract sources to be remapped twice</li>
- <li>r300/compiler: Fix black terrain in Civ4</li>
-</ul></p>
-
-<p>Victor Tseng (1):
-<ul>
- <li>egl/i965: include inline_wrapper_sw_helper.h</li>
-</ul></p>
-
-<p>Viktor Novotný (6):
-<ul>
- <li>dri/nouveau: Import headers from rules-ng-ng</li>
- <li>dri/nouveau: nv04: Use rules-ng-ng headers</li>
- <li>dri/nouveau: nv10: Use rules-ng-ng headers</li>
- <li>dri/nouveau nv20: Use rules-ng-ng headers</li>
- <li>dri/nouveau: Remove nouveau_class.h, finishing switch to rules-ng-ng headers</li>
- <li>dri/nouveau: Clean up magic numbers in get_rt_format</li>
-</ul></p>
-
-<p>Vinson Lee (214):
-<ul>
- <li>llvmpipe: Remove unnecessary header.</li>
- <li>r600g: Remove unnecessary headers.</li>
- <li>mesa: Include missing header in program.h.</li>
- <li>glsl: Fix 'format not a string literal and no format arguments' warning.</li>
- <li>r600g: Silence uninitialized variable warning.</li>
- <li>r600g: Silence uninitialized variable warning.</li>
- <li>nvfx: Silence uninitialized variable warnings.</li>
- <li>r600g: Silence uninitialized variable warning.</li>
- <li>r600g: Silence uninitialized variable warning.</li>
- <li>r600g: Silence uninitialized variable warning.</li>
- <li>r600g: Silence unused variable warning.</li>
- <li>nv50: Update files in SConscript to match Makefile.</li>
- <li>nv50: Remove unnecessary headers.</li>
- <li>nv50: Silence uninitialized variable warning.</li>
- <li>nv50: Silence uninitialized variable warning.</li>
- <li>nv50: Silence uninitialized variable warning.</li>
- <li>gallivm: Remove unnecessary headers.</li>
- <li>draw: Remove unnecessary header.</li>
- <li>nv50: Silence uninitialized variable warnings.</li>
- <li>nv50: Fix 'control reaches end of non-void function' warning.</li>
- <li>mesa/st: Silence uninitialized variable warning.</li>
- <li>gallivm: Remove unnecessary header.</li>
- <li>r600g: Remove unnecessary header.</li>
- <li>r600g: Remove unnecessary headers.</li>
- <li>r600g: Fix implicit declaration warning.</li>
- <li>r600g: Fix memory leak on error path.</li>
- <li>r600g: Silence uninitialized variable warning.</li>
- <li>r600g: Silence unused variable warnings.</li>
- <li>mesa: bump version to 7.10</li>
- <li>ir_to_mesa: Remove unused member array_indexed from struct statevar_element.</li>
- <li>mesa: Silence "'valid_texture_object' defined but not used" warning.</li>
- <li>x86: Silence unused variable warning on Mac OS X.</li>
- <li>glsl: Fix 'control reaches end of non-void function' warning.</li>
- <li>nvfx: Remove const qualifer from nvfx_vertprog_translate.</li>
- <li>nvfx: Silence uninitialized variable warnings.</li>
- <li>r600g: Remove unused variable.</li>
- <li>nv50: Silence missing initializer warning.</li>
- <li>nv50: Remove dead initialization.</li>
- <li>nv50: Remove dead initialization.</li>
- <li>tgsi: Remove duplicate case value.</li>
- <li>glut: Define markWindowHidden for non-Windows only.</li>
- <li>glut: Define eventParser for non-Windows only.</li>
- <li>r300g: Silence uninitialized variable warning.</li>
- <li>intel: Fix implicit declaration of function '_mesa_meta_Bitmap' warning.</li>
- <li>mesa: Remove unnecessary headers.</li>
- <li>r600g: Remove unnecessary header.</li>
- <li>unichrome: Remove unnecessary header.</li>
- <li>intel: Remove unnecessary headers.</li>
- <li>r600g: Remove unused variable.</li>
- <li>r600g: Disable unused variables.</li>
- <li>r600g: Remove unused variable.</li>
- <li>r600g: Silence 'control reaches end of non-void function' warning.</li>
- <li>r600g: Remove unused variable.</li>
- <li>r600g: Remove unused variable.</li>
- <li>r600g: Disable unused variables.</li>
- <li>intel: Remove unnecessary header.</li>
- <li>st/dri: Remove unnecessary header.</li>
- <li>r600g: Remove unused variable.</li>
- <li>r300g: Remove unused variable.</li>
- <li>r600g: Don't return a value in function returning void.</li>
- <li>r600g: Remove unused variables.</li>
- <li>r600g: Include p_compiler.h instead of malloc.h.</li>
- <li>r600g: Silence uninitialized variable warnings.</li>
- <li>scons: Add MinGW-w64 prefixes for MinGW build.</li>
- <li>dri: Add GET_PROGRAM_NAME definition for Mac OS X.</li>
- <li>scons: Add program/sampler.cpp to SCons build.</li>
- <li>mesa: Fix printf format warning.</li>
- <li>mesa: Fix printf format warning.</li>
- <li>mesa: Fix printf format warning.</li>
- <li>r300/compiler: Move declaration before code.</li>
- <li>r300/compiler: Move declaration before code.</li>
- <li>r300/compiler: Move declaration before code.</li>
- <li>r300/compiler: Move declaration before code.</li>
- <li>r600g: Update SConscript.</li>
- <li>r300/compiler: Move declaration before code.</li>
- <li>r600g: Update SConscript.</li>
- <li>r300/compiler: Move declaration before code.</li>
- <li>r600g: Update SConscript.</li>
- <li>r300/compiler: Move declaration before code.</li>
- <li>r600g: Fix SCons build.</li>
- <li>r300/compiler: Move declaration before code.</li>
- <li>r300/compiler: Move declaration before code.</li>
- <li>r300/compiler: Move declaration before code.</li>
- <li>r300/compiler: Remove declaration before code.</li>
- <li>r300/compiler: Move declaration before code.</li>
- <li>r300/compiler: Move declaration before code.</li>
- <li>r300/compiler: Move declaration before code.</li>
- <li>r300/compiler: Move declaration before code.</li>
- <li>glsl: Remove unnecessary header.</li>
- <li>savage: Remove unnecessary header.</li>
- <li>r600g: Remove unused variable.</li>
- <li>r600g: Remove unnecessary headers.</li>
- <li>r600g: Fix SCons build.</li>
- <li>r600g: Remove unnecessary header.</li>
- <li>gallivm: Remove unnecessary header.</li>
- <li>r600g: Silence uninitialized variable warning.</li>
- <li>r600g: Silence uninitialized variable warning.</li>
- <li>r600g: Silence uninitialized variable warning.</li>
- <li>i915: Silence unused variable warning in non-debug builds.</li>
- <li>i915: Silence unused variable warning in non-debug builds.</li>
- <li>i965: Silence unused variable warning on non-debug builds.</li>
- <li>i965: Silence unused variable warning on non-debug builds.</li>
- <li>i965: Initialize member variables.</li>
- <li>r300: Silence uninitialized variable warning.</li>
- <li>tdfx: Silence unused variable warning on non-debug builds.</li>
- <li>gallivm: Remove unnecessary header.</li>
- <li>glsl: Initialize variable in ir_derefence_array::constant_expression_value</li>
- <li>mesa: Add missing header to shaderobj.h.</li>
- <li>llvmpipe: Return non-zero exit code for lp_test_round failures.</li>
- <li>r300/compiler: Remove unused variable.</li>
- <li>st/xorg: Fix memory leak on error path.</li>
- <li>llvmpipe: Initialize state variable in debug_bin function.</li>
- <li>llvmpipe: Initialize variable.</li>
- <li>draw: Move loop variable declaration outside for loop.</li>
- <li>r600g: Ensure r600_src is initialized in tgsi_exp function.</li>
- <li>glsl: Add assert for unhandled ir_shader case.</li>
- <li>swrast: Print out format on unexpected failure in _swrast_DrawPixels.</li>
- <li>llvmpipe: Remove unnecessary header.</li>
- <li>draw: Remove unnecessary header.</li>
- <li>gallivm: Silence uninitialized variable warnings.</li>
- <li>gallivm: Silence uninitialized variable warnings.</li>
- <li>gallivm: Silence uninitialized variable warning.</li>
- <li>r300g: Silence uninitialized variable warning.</li>
- <li>mesa: Remove unnecessary headers.</li>
- <li>r600g: Silence uninitialized variable warnings.</li>
- <li>st/mesa: Remove unnecessary header.</li>
- <li>mesa: Remove unnecessary header.</li>
- <li>egl: Remove unnecessary headers.</li>
- <li>swrast: Print out format on unexpected failure in _swrast_ReadPixels.</li>
- <li>st/mesa: Silence uninitialized variable warning.</li>
- <li>savage: Remove unnecessary header.</li>
- <li>st/vega: Remove unnecessary headers.</li>
- <li>dri/nouveau: Silence uninitialized variable warning.</li>
- <li>r300/compiler: Move declaration before code.</li>
- <li>r300/compiler: Move declaration before code.</li>
- <li>i965: Silence uninitialized variable warning.</li>
- <li>i965: Silence uninitialized variable warning.</li>
- <li>mesa: Clean up header file inclusion in accum.h.</li>
- <li>mesa: Clean up header file inclusion in version.h.</li>
- <li>mesa: Clean up header file inclusion in api_loopback.h.</li>
- <li>mesa: Clean up header file inclusion in api_validate.h.</li>
- <li>mesa: Include mfeatures.h in api_loopback for FEATURE_beginend.</li>
- <li>mesa: Include mfeatures.h in api_validate.c for FEATURE_* symbols.</li>
- <li>mesa: Clean up header file inclusion in arrayobj.h.</li>
- <li>mesa: Clean up header file inclusion in atifragshader.h.</li>
- <li>mesa: Clean up header file inclusion in attrib.h.</li>
- <li>mesa: Clean up header file inclusion in blend.h.</li>
- <li>mesa: Clean up header file inclusion in buffers.h.</li>
- <li>mesa: Clean up header file inclusion in colortab.h.</li>
- <li>mesa: Clean up header file inclusion in convolve.h.</li>
- <li>mesa: Clean up header file inclusion in debug.h.</li>
- <li>mesa: Clean up header file inclusion in depth.h.</li>
- <li>mesa: Clean up header file inclusion in depthstencil.h.</li>
- <li>mesa: Clean up header file inclusion in drawpix.h.</li>
- <li>mesa: Clean up header file inclusion in drawtex.h.</li>
- <li>mesa: Clean up header file inclusion in enable.h.</li>
- <li>mesa: Clean up header file inclusion in extensions.h.</li>
- <li>graw: Add struct pipe_surface forward declaration.</li>
- <li>mesa: Clean up header file inclusion in fbobject.h.</li>
- <li>mesa: Clean up header file inclusion in ffvertex_prog.h.</li>
- <li>mesa: Clean up header file inclusion in fog.h.</li>
- <li>mesa: Clean up header file inclusion in framebuffer.h.</li>
- <li>mesa: Clean up header file inclusion in hint.h.</li>
- <li>mesa: Clean up header file inclusion in histogram.h.</li>
- <li>mesa: Clean up header file inclusion in image.h.</li>
- <li>mesa: Add missing header and forward declarations in dd.h.</li>
- <li>mesa: Clean up header file inclusion in light.h.</li>
- <li>mesa: Clean up header file inclusion in lines.h.</li>
- <li>mesa: Clean up header file inclusion in matrix.h.</li>
- <li>mesa: Clean up header file inclusion in multisample.h.</li>
- <li>mesa: Clean up header file inclusion in nvprogram.h.</li>
- <li>winsys/xlib: Add cygwin to SConscript.</li>
- <li>mesa: Clean up header file inclusion in pixel.h.</li>
- <li>mesa: Clean up header file inclusion in pixelstore.h.</li>
- <li>mesa: Fix printf format warnings.</li>
- <li>mesa: Clean up header file inclusion in points.h.</li>
- <li>i965: Silence uninitialized variable warning.</li>
- <li>glsl: Add ir_constant_expression.cpp to SConscript.</li>
- <li>mesa: Add definitions for inverse hyperbolic function on MSVC.</li>
- <li>glsl: Fix 'control reaches end of non-void function' warning.</li>
- <li>glsl: Add lower_vector.cpp to SConscript.</li>
- <li>glsl: Fix type of label 'default' in switch statement.</li>
- <li>st/mesa: Remove unnecessary headers.</li>
- <li>swrast: Remove unnecessary header.</li>
- <li>r600: Remove unnecesary header.</li>
- <li>intel: Remove unnecessary header.</li>
- <li>mesa: Clean up header file inclusion in polygon.h.</li>
- <li>mesa: Clean up header file inclusion in rastpos.h.</li>
- <li>mesa: Clean up header file inclusion in readpix.h.</li>
- <li>mesa: Clean up header file inclusion in renderbuffer.h.</li>
- <li>mesa: Clean up header file inclusion in scissor.h.</li>
- <li>mesa: Clean up header file inclusion in shaderapi.h.</li>
- <li>mesa: Clean up header file inclusion in shared.h.</li>
- <li>mesa: Clean up header file inclusion in stencil.h.</li>
- <li>r600: Remove unnecessary header.</li>
- <li>llvmpipe: Remove unnecessary headers.</li>
- <li>mesa: Clean up header file inclusion in syncobj.h.</li>
- <li>r300/compiler: Move declaration before code.</li>
- <li>r300/compiler: Move declaration before code.</li>
- <li>mesa: Clean up header file inclusion in texcompress.h.</li>
- <li>st/vega: Silence uninitialized variable warning.</li>
- <li>mesa: Clean up header file inclusion in texcompress_s3tc.h.</li>
- <li>mesa: Clean up header file inclusion in texenvprogram.h.</li>
- <li>mesa: Clean up header file inclusion in texformat.h.</li>
- <li>mesa: Clean up header file inclusion in texgetimage.h.</li>
- <li>mesa: Clean up header file inclusion in texobj.h.</li>
- <li>gallium/noop: Add prototype for noop_init_state_functions.</li>
- <li>mesa: Clean up header file inclusion in texrender.h.</li>
- <li>mesa: Clean up header file inclusion in transformfeedback.h.</li>
- <li>mesa: Clean up header file inclusion in varray.h.</li>
- <li>mesa: Clean up header file inclusion in viewport.h.</li>
- <li>r200: Silence uninitialized variable warning.</li>
- <li>r600g: Fix SCons build.</li>
- <li>i965: Silence uninitialized variable warning.</li>
-</ul></p>
-
-<p>Xavier Chantry (8):
-<ul>
- <li>nv50: fix size of outputs_written array</li>
- <li>nv50: apply layout_mask to tile_flags</li>
- <li>nvfx: only expose one rt on nv30</li>
- <li>nvfx: fb-&gt;nr_cbufs &lt= 1 on nv30</li>
- <li>nvfx: reset nvfx-&gt;hw_zeta</li>
- <li>nvfx: fixes after array textures merge</li>
- <li>init ps-&gt;context with util_surfaces_get and do_get</li>
- <li>gallium/trace: check bind_vertex_sampler_states and set_vertex_sampler_views</li>
-</ul></p>
-
-<p>Xiang, Haihao (10):
-<ul>
- <li>mesa: fix regression from b4bb6680200b5a898583392f4c831c02f41e63f7</li>
- <li>i965: add support for polygon mode on Sandybridge.</li>
- <li>i965: fix for flat shading on Sandybridge</li>
- <li>i965: set minimum/maximum Point Width on Sandybridge</li>
- <li>meta: allow nested meta operations</li>
- <li>i965: support for two-sided lighting on Sandybridge</li>
- <li>i965: fix register region description</li>
- <li>i965: use align1 access mode for instructions with execSize=1 in VS</li>
- <li>i965: don't spawn GS thread for LINELOOP on Sandybridge</li>
- <li>i965: use BLT to clear buffer if possible on Sandybridge</li>
-</ul></p>
-
-<p>Zack Rusin (8):
-<ul>
- <li>rbug: fix rbug when contexts are being destroyed</li>
- <li>llvmpipe: fix rasterization of vertical lines on pixel boundaries</li>
- <li>scons: build the xorg state trackers only when env includes drm</li>
- <li>gallivm: implement indirect addressing of the output registers</li>
- <li>gallivm: implement indirect addressing over inputs</li>
- <li>gallivm: fix storing of the addr register</li>
- <li>scons: add alias for identity</li>
- <li>gallium/util: add states relevant to geometry shaders</li>
-</ul></p>
-
-<p>Zhenyu Wang (40):
-<ul>
- <li>i965: disasm quarter and write enable instruction control on sandybridge</li>
- <li>i965: new state dump for sandybridge</li>
- <li>i965: enable accumulator update in PS kernel too on sandybridge</li>
- <li>i965: Fix color interpolation on sandybridge</li>
- <li>i965: force zero in clipper to ignore RTAIndex on sandybridge</li>
- <li>i965: fix point size setting in header on sandybridge</li>
- <li>i965: ff sync message change for sandybridge</li>
- <li>i965: ignore quads for GS kernel on sandybridge</li>
- <li>i965: add sandybridge viewport state bo into validation list</li>
- <li>i965: VS use SPF mode on sandybridge for now</li>
- <li>i965: fix jump count on sandybridge</li>
- <li>i965: Fix sampler on sandybridge</li>
- <li>i965: fix const register count for sandybridge</li>
- <li>i965: Add all device ids for sandybridge</li>
- <li>i965: sandybridge pipe control workaround before write cache flush</li>
- <li>i965: only allow SIMD8 kernel on sandybridge now</li>
- <li>i965: don't do calculation for delta_xy on sandybridge</li>
- <li>i965: fix pixel w interpolation on sandybridge</li>
- <li>i965: enable polygon offset on sandybridge</li>
- <li>i965: fix scissor state on sandybridge</li>
- <li>i965: fix point sprite on sandybridge</li>
- <li>i965: fix occlusion query on sandybridge</li>
- <li>i965: fallback bitmap operation on sandybridge</li>
- <li>i965: Always set tiling for depth buffer on sandybridge</li>
- <li>i965: fallback lineloop on sandybridge for now</li>
- <li>Revert "i965: Always set tiling for depth buffer on sandybridge"</li>
- <li>i965: always set tiling for fbo depth buffer on sandybridge</li>
- <li>i965: Fix GS hang on Sandybridge</li>
- <li>Revert "i965: fallback lineloop on sandybridge for now"</li>
- <li>i965: refresh wm push constant also for BRW_NEW_FRAMENT_PROGRAM on gen6</li>
- <li>i965: fix dest type of 'endif' on sandybridge</li>
- <li>Revert "i965: VS use SPF mode on sandybridge for now"</li>
- <li>i965: also using align1 mode for math2 on sandybridge</li>
- <li>i965: Fix GS state uploading on Sandybridge</li>
- <li>i965: upload WM state for _NEW_POLYGON on sandybridge</li>
- <li>i965: Use MI_FLUSH_DW for blt ring flush on sandybridge</li>
- <li>i965: explicit tell header present for fb write on sandybridge</li>
- <li>i965: Fix occlusion query on sandybridge</li>
- <li>i965: Use last vertex convention for quad provoking vertex on sandybridge</li>
- <li>i965: Fix provoking vertex select in clip state for sandybridge</li>
-</ul></p>
-
-<p>Zou Nan hai (1):
-<ul>
- <li>i965: skip too small size mipmap</li>
-</ul></p>
-
-<p>delphi (2):
-<ul>
- <li>draw: added userclip planes and updated variant_key</li>
- <li>draw: some changes to allow for runtime changes to userclip planes</li>
-</ul></p>
-
-<p>nobled (3):
-<ul>
- <li>r300g: Abort if atom allocations fail</li>
- <li>r300g: Abort if draw_create() fails</li>
- <li>r300g: Drop unnecessary cast</li>
-</ul></p>
-
-<p>pontus lidman (1):
-<ul>
- <li>mesa: check for posix_memalign() errors</li>
-</ul></p>
-
-<p>richard (2):
-<ul>
- <li>evergreen : fix z format setting, enable stencil.</li>
- <li>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.</li>
-</ul></p>
-
-</body>
-</html>
+<HTML>
+
+<head>
+<TITLE>Mesa Release Notes</TITLE>
+<link rel="stylesheet" type="text/css" href="mesa.css">
+<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+</head>
+
+<BODY>
+
+<body bgcolor="#eeeeee">
+
+<H1>Mesa 7.10 Release Notes / January 7, 2011</H1>
+
+<p>
+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.
+</p>
+<p>
+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.
+</p>
+<p>
+See the <a href="install.html">Compiling/Installing page</a> for prerequisites
+for DRI hardware acceleration.
+</p>
+
+
+<h2>MD5 checksums</h2>
+<pre>
+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
+</pre>
+
+
+<h2>New features</h2>
+<ul>
+<li>GL_ARB_explicit_attrib_location extension (Intel and software drivers).
+<li>GL_ARB_texture_rg (Intel, software drivers, gallium drivers).
+<li>GL_EXT_separate_shader_objects extension (Intel and software drivers).
+<li>GL_NV_primitive_restart extension (Gallium softpipe, llvmpipe).
+<li>New fragment shader back-end for i965-class hardware.
+<li>Support for Sandybridge chipset in i965 DRI driver.
+</ul>
+
+
+<h2>Bug fixes</h2>
+<p>This list is likely incomplete.</p>
+<ul>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28800">Bug 28800</a> - [r300c, r300g] Texture corruption with World of Warcraft</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29420">Bug 29420</a> - Amnesia / HPL2 RendererFeatTest - not rendering correctly</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29946">Bug 29946</a> - [swrast] piglit valgrind glsl-array-bounds-04 fails</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30261">Bug 30261</a> - [GLSL 1.20] allowing inconsistent invariant declaration between two vertex shaders</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30632">Bug 30632</a> - [softpipe] state_tracker/st_manager.c:489: st_context_notify_invalid_framebuffer: Assertion `stfb &amp;&amp; stfb-&gt;iface == stfbi' failed.</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30694">Bug 30694</a> - wincopy will crash on Gallium drivers when going to front buffer</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30771">Bug 30771</a> - [r600g] vert-tex glsl demo</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30787">Bug 30787</a> - Invalid asm shader does not generate draw-time error when used with GLSL shader</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30974">Bug 30974</a> - [llvmpipe] SIGABRT src/gallium/drivers/llvmpipe/lp_state_fs.c:779</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30993">Bug 30993</a> - getFramebufferAttachmentParameteriv wrongly generates error</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31101">Bug 31101</a> - [glsl2] abort() in ir_validate::visit_enter(ir_assignment *ir)</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31193">Bug 31193</a> - [regression] aa43176e break water reflections</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31194">Bug 31194</a> - The mesa meta save/restore code doesn't ref the current GLSL program</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31371">Bug 31371</a> - glslparsertest: ir.cpp:358: ir_constant::ir_constant(const glsl_type*, const ir_constant_data*): Assertion `(type->base_type &gt;= 0) &amp;&amp; (type->base_type &lt;= 3)' failed.</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31439">Bug 31439</a> - Crash in glBufferSubData() with size == 0</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31495">Bug 31495</a> - [i965 gles2c bisected] OpenGL ES 2.0 conformance GL2Tests_GetBIFD_input.run regressed</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31514">Bug 31514</a> - isBuffer returns true for unbound buffers</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31560">Bug 31560</a> - [tdfx] tdfx_tex.c:702: error: ‘const struct gl_color_table’ has no member named ‘Format’</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31617">Bug 31617</a> - Radeon/Compiz: 'failed to attach dri2 front buffer', error case not handled</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31648">Bug 31648</a> - [GLSL] array-struct-array gets assertion: `(size &gt;= 1) && (size &lt;= 4)' failed.</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31650">Bug 31650</a> - [GLSL] varying gl_TexCoord fails to be re-declared to different size in the second shader</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31673">Bug 31673</a> - GL_FRAGMENT_PRECISION_HIGH preprocessor macro undefined in GLSL ES</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31690">Bug 31690</a> - i915 shader compiler fails to flatten if in Aquarium webgl demo.</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31832">Bug 31832</a> - [i915] Bad renderbuffer format: 21</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31841">Bug 31841</a> - [drm:radeon_cs_ioctl] *ERROR* Invalid command stream !</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31894">Bug 31894</a> - Writing to gl_PointSize with GLES2 corrupts other varyings</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31909">Bug 31909</a> - [i965] brw_fs.cpp:1461: void fs_visitor::emit_bool_to_cond_code(ir_rvalue*): Assertion `expr-&gt;operands[i]-&gt;type-&gt;is_scalar()' failed.</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31934">Bug 31934</a> - [gallium] Mapping empty buffer object causes SIGSEGV</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31983">Bug 31983</a> - [i915 gles2] "if (expression with builtin/varying variables) discard" breaks linkage</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31985">Bug 31985</a> - [GLSL 1.20] initialized uniform array considered as "unsized"</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31987">Bug 31987</a> - [gles2] if input a wrong pname(GL_NONE) to glGetBoolean, it will not case GL_INVALID_ENUM</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32035">Bug 32035</a> - [GLSL bisected] comparing unsized array gets segfault</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32070">Bug 32070</a> - llvmpipe renders stencil demo incorrectly</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32273">Bug 32273</a> - assertion fails when starting vdrift 2010 release with shaders enabled</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32287">Bug 32287</a> - [bisected GLSL] float-int failure</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32311">Bug 32311</a> - [965 bisected] Array look-ups broken on GM45</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32520">Bug 32520</a> - [gles2] glBlendFunc(GL_ZERO, GL_DST_COLOR) will result in GL_INVALID_ENUM</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32825">Bug 32825</a> - egl_glx driver completely broken in 7.9 branch [fix in master]</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=">Bug </a> - </li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=">Bug </a> - </li>
+
+</ul>
+
+
+<h2>Changes</h2>
+<p>Adam Jackson (2):
+<ul>
+ <li>i965: Update renderer strings for sandybridge</li>
+ <li>drivers/x11: unifdef XFree86Server</li>
+</ul></p>
+
+<p>Alex Deucher (30):
+<ul>
+ <li>r600c: fix mipmap stride on evergreen</li>
+ <li>r600c: add reloc for CB_COLOR0_ATTRIB</li>
+ <li>r600c: pull over 6xx/7xx vertex fixes for evergreen</li>
+ <li>r600c: fix segfault in evergreen stencil code</li>
+ <li>r100: revalidate after radeon_update_renderbuffers</li>
+ <li>r600c: add missing radeon_prepare_render() call on evergreen</li>
+ <li>r600c: properly align mipmaps to group size</li>
+ <li>egl_dri2: Add radeon chip ids</li>
+ <li>r600c/evergreen: texture align is group_bytes just like 6xx/7xx</li>
+ <li>r600g: fix buffer alignment</li>
+ <li>r600g: All EVENT_WRITE packets need the EVENT_INDEX field</li>
+ <li>r600g: translate ARR instruction for evergreen</li>
+ <li>r600g: use meaningful defines for chiprev</li>
+ <li>r600g: use full range of VS resources for vertex samplers</li>
+ <li>r600g: fix additional EVENT_WRITE packet</li>
+ <li>r600g: fix some winsys functions to deal properly with evergreen</li>
+ <li>r600c: add Ontario Fusion APU support</li>
+ <li>r600g: add support for ontario APUs</li>
+ <li>r600c: fix VC flush on cedar and palm</li>
+ <li>gallium/egl: fix r300 vs r600 loading</li>
+ <li>r600c: fix some opcodes on evergreen</li>
+ <li>r600c: bump texture limits to hw limits</li>
+ <li>r600g: bump texture/cb limits appropriately for evergreen</li>
+ <li>radeon: bump mip tree levels to 15</li>
+ <li>r600g: fix rendering with a vertex attrib having a zero stride</li>
+ <li>r600g: remove useless switch statements</li>
+ <li>r600g: add support for NI (northern islands) asics</li>
+ <li>r600c: add support for NI asics</li>
+ <li>r600g: support up to 64 shader constants</li>
+ <li>r600c: fix up SQ setup in blit code for Ontario/NI</li>
+</ul></p>
+
+<p>Andre Maasikas (3):
+<ul>
+ <li>r600c: fix buffer height setting in dri2 case</li>
+ <li>r600g: break alu clause earlier</li>
+ <li>r600g: fix evergreen interpolation setup</li>
+</ul></p>
+
+<p>Andrew Randrianasulu (2):
+<ul>
+ <li>dri/nv04: Don't expose ARB_texture_env_combine/dot3.</li>
+ <li>dri/nv04: Enable eng3dm for A8/L8 textures.</li>
+</ul></p>
+
+<p>Aras Pranckevicius (2):
+<ul>
+ <li>glsl: fix crash in loop analysis when some controls can't be determined</li>
+ <li>glsl: fix matrix type check in ir_algebraic</li>
+</ul></p>
+
+<p>Bas Nieuwenhuizen (3):
+<ul>
+ <li>r600g: set ENABLE_KILL in the shader state in the new design</li>
+ <li>r600g: set ENABLE_KILL on evergreen too</li>
+ <li>r600g: use dirty list to track dirty blocks</li>
+</ul></p>
+
+<p>Ben Skeggs (3):
+<ul>
+ <li>nv50: DST</li>
+ <li>nv50: DPH</li>
+ <li>nv50: silence some unknown get_param warnings</li>
+</ul></p>
+
+<p>Benjamin Franzke (2):
+<ul>
+ <li>st/egl image: multiply drm buf-stride with blocksize</li>
+ <li>r600g: implement texture_get_handle (needed for eglExportDRMImageMESA)</li>
+</ul></p>
+
+<p>Brian Paul (296):
+<ul>
+ <li>glx: add const qualifiers to __indirect_glMultiDrawArraysEXT()</li>
+ <li>glsl2: fix signed/unsigned comparison warning</li>
+ <li>llvmpipe: cast to silence warning</li>
+ <li>llvmpipe: s/boolean/unsigned/ in bitfield to silence warning</li>
+ <li>nv50: use unsigned int for bitfields to silence warnings</li>
+ <li>tgsi: fix incorrect usage_mask for shadow tex instructions</li>
+ <li>gallivm: expand AoS sampling to cover all filtering modes</li>
+ <li>gallivm: fix incorrect vector shuffle datatype</li>
+ <li>gallivm: move i32_vec_type inside the #ifdef</li>
+ <li>mesa: include mfeatures.h in formats.c</li>
+ <li>gallivm: fix wrong return value in bitwise functions</li>
+ <li>tgsi/sse: fix aos_to_soa() loop to handle num_inputs==0</li>
+ <li>gallivm: added missing case for PIPE_TEXTURE_RECT</li>
+ <li>gallium: better docs for pipe_rasterizer_state::sprite_coord_enable</li>
+ <li>gallium: rework handling of sprite_coord_enable state</li>
+ <li>gallium/docs: added new pipeline.txt diagram</li>
+ <li>mesa: don't call valid_texture_object() in non-debug builds</li>
+ <li>glsl2: silence compiler warnings in printf() calls</li>
+ <li>docs: remove old broken link</li>
+ <li>docs: mark as obsolete, remove dead links</li>
+ <li>llvmpipe: fix query bug when no there's no scene</li>
+ <li>gallivm: remove debug code</li>
+ <li>llvmpipe: maintain fragment shader state for draw module</li>
+ <li>llvmpipe: indentation fix</li>
+ <li>llvmpipe: reformatting, remove trailing whitespace, etc</li>
+ <li>llvmpipe: clean-up, comments in setup_point_coefficient()</li>
+ <li>llvmpipe: rename sprite field, add sprite_coord_origin</li>
+ <li>llvmpipe: implement sprite coord origin modes</li>
+ <li>draw: fix test for using the wide-point stage</li>
+ <li>llvmpipe: check bitshift against PIPE_MAX_SHADER_OUTPUTS</li>
+ <li>draw: check bitshift against PIPE_MAX_SHADER_OUTPUS</li>
+ <li>Merge branch 'sprite-coord'</li>
+ <li>draw: new draw_fs.[ch] files</li>
+ <li>glsl2: fix typo in error msg</li>
+ <li>gallivm: fix lp_build_sample_compare()</li>
+ <li>softpipe: add missing calls to set draw vertex samplers/views</li>
+ <li>mesa: don't advertise bogus GL_ARB_shading_language_120 extension</li>
+ <li>configs: remove egl-swrast target from linux-dri config</li>
+ <li>llvmpipe: fix sprite texcoord setup for non-projective texturing</li>
+ <li>mesa: fix assertions to handle srgb formats</li>
+ <li>st/mesa: add missing MESA_FORMAT_S8 case in st_mesa_format_to_pipe_format()</li>
+ <li>st/mesa: use the wrapped renderbuffer in CopyPixels()</li>
+ <li>llvmpipe: make min/max lod and lod bias dynamic state</li>
+ <li>llvmpipe: make texture border_color dynamic state</li>
+ <li>softpipe: fix repeat() function for NPOT textures</li>
+ <li>gallivm: fix repeat() function for NPOT textures</li>
+ <li>swrast: update comments for REMAINDER() macro</li>
+ <li>softpipe: rename sp_state_fs.c -&gt; sp_state_shader.c</li>
+ <li>softpipe: make shader-related functions static</li>
+ <li>softpipe: make blend/stencil/depth functions static</li>
+ <li>softpipe: make sampler state functions static</li>
+ <li>softpipe: make vertex state functions static</li>
+ <li>softpipe: make rasterizer state functions static</li>
+ <li>softpipe: make stream out state functions static</li>
+ <li>softpipe: make clip state functions static</li>
+ <li>softpipe: minor asst. clean-ups</li>
+ <li>softpipe: allocate tile data on demand</li>
+ <li>llvmpipe: fix swizzling of texture border color</li>
+ <li>softpipe: fix swizzling of texture border color</li>
+ <li>draw: pass sampler state down to llvm jit state</li>
+ <li>gallivm: check for level=0 case in lp_build_minify()</li>
+ <li>gallivm: added some comments</li>
+ <li>draw: check for null sampler pointers</li>
+ <li>swrast: fix choose_depth_texture_level() to respect mipmap filtering state</li>
+ <li>st/mesa: replace assertion w/ conditional in framebuffer invalidation</li>
+ <li>glsl2: fix signed/unsigned comparison warning</li>
+ <li>st/xlib: add some comments</li>
+ <li>ir_to_mesa: assorted clean-ups, const qualifiers, new comments</li>
+ <li>mesa: remove assertion w/ undeclared variable texelBytes</li>
+ <li>gallivm: remove newlines</li>
+ <li>draw/llvmpipe: replace DRAW_MAX_TEXTURE_LEVELS with PIPE_MAX_TEXTURE_LEVELS</li>
+ <li>mesa: reformatting, comments, code movement</li>
+ <li>x11: fix breakage from gl_config::visualType removal</li>
+ <li>gallivm: work-around trilinear mipmap filtering regression with LLVM 2.8</li>
+ <li>mesa: remove post-convolution width/height vars</li>
+ <li>gallivm: add compile-time option to emit inst addrs and/or line numbers</li>
+ <li>llvmpipe: code to dump bytecode to file (disabled)</li>
+ <li>gallivm: added lp_build_print_vec4()</li>
+ <li>gallivm: added lp_build_load_volatile()</li>
+ <li>glsl: add ir_unop_round_even case to silence unhandled enum warning</li>
+ <li>st/mesa: fix regressions in glDrawPixels(GL_STENCIL_INDEX)</li>
+ <li>st/mesa: reformatting in st_cb_drawpixels.c</li>
+ <li>st/mesa: use GLuint to avoid problem w/ uint not defined on mingw32</li>
+ <li>st/mesa: update function name, comments</li>
+ <li>gallivm: use util_snprintf()</li>
+ <li>llvmpipe: remove lp_setup_coef*.c files from Makefile</li>
+ <li>mesa: fix mesa version string construction</li>
+ <li>gallivm: fix incorrect type for zero vector in emit_kilp()</li>
+ <li>llvmpipe/draw: always enable LLVMAddInstructionCombiningPass()</li>
+ <li>draw: use float version of LLVM Mul/Add instructions</li>
+ <li>draw: fix typo in comment</li>
+ <li>mesa: add GL_RG case to _mesa_source_buffer_exists()</li>
+ <li>mesa: add missing cases for packing red/green images</li>
+ <li>st/mesa: added cases for GL_COMPRESSED_RED/RG in st_choose_format()</li>
+ <li>docs: update texture red/green support in GL3.txt</li>
+ <li>docs: add GL_ARB_texture_rg to release notes</li>
+ <li>mesa: driver hook for primitive restart</li>
+ <li>mesa: set/get primitive restart state</li>
+ <li>mesa: API spec for primitive restart</li>
+ <li>mesa: regenerated files with primitive restart</li>
+ <li>mesa: plug in primitive restart function</li>
+ <li>vbo: support for primitive restart</li>
+ <li>gallium: new CAP, state for primitive restart</li>
+ <li>st/mesa: support for primitive restart</li>
+ <li>draw: implement primitive splitting for primitive restart</li>
+ <li>softpipe: enable primitive restart</li>
+ <li>llvmpipe: enable primitive restart</li>
+ <li>docs: added GL_NV_primitive_restart extension</li>
+ <li>Merge branch 'primitive-restart-cleanup'</li>
+ <li>winsys/xlib: formatting fixes</li>
+ <li>winsys/xlib: use Bool type for shm field</li>
+ <li>winsys/xlib: fix up allocation/dealloction of XImage</li>
+ <li>winsys/xlib: rename xm-&gt;xlib</li>
+ <li>galahad: silence warnings</li>
+ <li>mesa: move declaration before code</li>
+ <li>docs: updated GL3 status for primitive restart</li>
+ <li>mesa: 80-column wrapping</li>
+ <li>mesa: simplify fbo format checking code</li>
+ <li>mesa: split up the image.c file</li>
+ <li>mesa: add pixel packing for unscaled integer types</li>
+ <li>mesa: _mesa_ClearColorIuiEXT() and _mesa_ClearColorIiEXT()</li>
+ <li>mesa: _mesa_is_format_integer() function</li>
+ <li>mesa: minor reformatting, clean-ups</li>
+ <li>mesa: added _mesa_is_fragment_shader_active() helper</li>
+ <li>mesa: new glDrawPixels error check for integer formats</li>
+ <li>softpipe: added some texture sample debug code (disabled)</li>
+ <li>mesa: added new gl_extensions::EXT_gpu_shader4 field</li>
+ <li>mesa: added new gl_framebuffer::_IntegerColor field</li>
+ <li>mesa: added glGet query for GL_RGBA_INTEGER_MODE_EXT</li>
+ <li>mesa: compute _IntegerColor field in _mesa_test_framebuffer_completeness()</li>
+ <li>mesa: added cases for GL_EXT_texture_integer formats</li>
+ <li>mesa: added cases for GL_EXT_texture_integer</li>
+ <li>st/mesa: add format selection for signed/unsigned integer formats</li>
+ <li>mesa: simplify target_can_be_compressed() function</li>
+ <li>glapi: GL_EXT_texture_integer API</li>
+ <li>glapi: include/build EXT_texture_integer.xml</li>
+ <li>mesa: regenerated API files for GL_EXT_texture_integer</li>
+ <li>mesa: plug in GL_EXT_texture_integer functions</li>
+ <li>mesa: display list support for GL_EXT_texture_integer</li>
+ <li>st/mesa: be smarter choosing texture format for glDrawPixels()</li>
+ <li>softpipe: remove &gt;32bpp color restriction</li>
+ <li>mesa: silence enum comparison warning</li>
+ <li>mesa: fix uninitialized var warning</li>
+ <li>xlib: silence unused var warning</li>
+ <li>util: use pointer_to_func() to silence warning</li>
+ <li>rtasm: use pointer_to_func() to silence warning</li>
+ <li>translate: use function typedefs, casts to silence warnings</li>
+ <li>translate: remove unused prototypes</li>
+ <li>mesa: additional glReadPixels error checks for GL_EXT_texture_integer</li>
+ <li>mesa: additional switch cases for GL_EXT_texture_integer</li>
+ <li>mesa: additional teximage error checks for GL_EXT_texture_integer</li>
+ <li>mesa: do integer FB / shader validation check in _mesa_valid_to_render()</li>
+ <li>mesa: call _mesa_valid_to_render() in glDrawPixels, glCopyPixels, glBitmap</li>
+ <li>mesa: remove the unused _mesa_is_fragment_shader_active() function</li>
+ <li>mesa: fix bug in _mesa_is_format_integer()</li>
+ <li>mesa: rename function to _mesa_is_format_integer_color()</li>
+ <li>mesa: remove 'normalized' parameter from _mesa_VertexAttribIPointer()</li>
+ <li>vbo: re-indent file</li>
+ <li>glapi: xml spec file for GL_EXT_gpu_shader4</li>
+ <li>glapi: include EXT_gpu_shader4.xml</li>
+ <li>glapi: regenerated API files</li>
+ <li>mesa: plug in stubs for glBindFragDataLocation(), glGetFragDataLocation()</li>
+ <li>mesa: add glGetUniformuiv(), plug in uint glUniform funcs</li>
+ <li>mesa: plug in more GL_EXT_gpu_shader4 functions</li>
+ <li>mesa: add new GLvertexformat entries for integer-valued attributes</li>
+ <li>mesa: implement integer-valued vertex attribute functions</li>
+ <li>mesa: add gl_client_array::Integer field and related vertex array state code</li>
+ <li>mesa: consolidate glVertex/Color/etcPointer() code</li>
+ <li>mesa: state/queries for GL_MIN/MAX_PROGRAM_TEXEL_OFFSET_EXT</li>
+ <li>mesa: glArrayElement support for integer-valued arrays</li>
+ <li>mesa: clean-up array element code</li>
+ <li>mesa: add extension table entry for GL_EXT_gpu_shader4</li>
+ <li>mesa: remove obsolete comment</li>
+ <li>mesa: fix incorrect type in _mesa_texstore_rgba_int16()</li>
+ <li>mesa: fix integer cases in _mesa_is_legal_format_and_type()</li>
+ <li>mesa: add const qualifier to _mesa_is_legal_format_and_type()</li>
+ <li>mesa: additional integer formats in _mesa_bytes_per_pixel()</li>
+ <li>mesa: pixel transfer ops do not apply to integer-valued textures</li>
+ <li>mesa: remove dead code</li>
+ <li>osmesa: fix renderbuffer memleak in OSMesaMakeCurrent()</li>
+ <li>mesa: use GLubyte for edge flag arrays</li>
+ <li>mesa: move the gl_config struct declaration</li>
+ <li>dri/util: add a bunch of comments</li>
+ <li>mesa: remove always-false conditional in check_compatible()</li>
+ <li>mesa: fix aux/accum comment and error message mixups</li>
+ <li>llvmpipe: assign context's frag shader pointer before using it</li>
+ <li>llvmpipe: add a cast</li>
+ <li>mesa: silence new warnings in texobj.c</li>
+ <li>egl/gdi: fix typo: xsurf-&gt;gsurf</li>
+ <li>mesa: code to unpack RGBA as uints</li>
+ <li>gallivm: implement scatter stores into temp register file</li>
+ <li>gallivm: add some LLVM var labels</li>
+ <li>gallivm: added debug code to dump temp registers</li>
+ <li>gallivm: add pixel offsets in scatter stores</li>
+ <li>gallivm: added lp_elem_type()</li>
+ <li>gallivm: implement execution mask for scatter stores</li>
+ <li>tgsi: remove unused function</li>
+ <li>llvmpipe: added some debug assertions, but disabled</li>
+ <li>gallivm: alloca() was called too often for temporary arrays</li>
+ <li>gallivm: add const qualifiers, fix comment string</li>
+ <li>softpipe: disable vertex texturing with draw/llvm</li>
+ <li>mesa: consolidate pixel packing/unpacking code</li>
+ <li>mesa: rename vars in pixel pack/unpack code</li>
+ <li>mesa: implement uint texstore code</li>
+ <li>mesa: remove stray GL_FLOAT case in _mesa_is_legal_format_and_type()</li>
+ <li>mesa: make fixed-pt and byte-valued arrays a runtime feature</li>
+ <li>softpipe: can't no-op depth test stage when occlusion query is enabled</li>
+ <li>mesa: no-op glBufferSubData() on size==0</li>
+ <li>mesa: #include mfeatures.h in enums.h</li>
+ <li>mesa: improve error message</li>
+ <li>mesa: add missing formats in _mesa_format_to_type_and_comps()</li>
+ <li>mesa: handle more pixel types in mipmap generation code</li>
+ <li>mesa: make glIsBuffer() return false for never bound buffers</li>
+ <li>mesa: fix glDeleteBuffers() regression</li>
+ <li>tdfx: s/Format/_BaseFormat/</li>
+ <li>mesa: consolidate assertions in teximage code</li>
+ <li>radeon: set gl_texture_image::TexFormat field in radeonSetTexBuffer2()</li>
+ <li>r600: set gl_texture_image::TexFormat field in r600SetTexBuffer2()</li>
+ <li>r200: set gl_texture_image::TexFormat field in r200SetTexBuffer2()</li>
+ <li>r300: set gl_texture_image::TexFormat field in r300SetTexBuffer2()</li>
+ <li>evergreen: set gl_texture_image::TexFormat field in evergreenSetTexBuffer()</li>
+ <li>st/mesa: fix glDrawPixels(depth/stencil) bugs</li>
+ <li>glsl: fix assorted MSVC warnings</li>
+ <li>mesa: add more work-arounds for acoshf(), asinhf(), atahf()</li>
+ <li>glsl: remove opt_constant_expression.cpp from SConscript</li>
+ <li>mesa: fix error messages and minor reindenting</li>
+ <li>mesa: whitespace cleanups</li>
+ <li>mesa: 80-column wrapping</li>
+ <li>mesa: reorder texture_error_check() params</li>
+ <li>mesa: minor clean-ups in context code</li>
+ <li>mesa: upgrade to glext.h version 66</li>
+ <li>mesa: pass gl_format to _mesa_init_teximage_fields()</li>
+ <li>mesa: fix error msg typo</li>
+ <li>glapi: rename GL3.xml to GL3x.xml as it covers all GL 3.x versions</li>
+ <li>mesa: hook up GL 3.x entrypoints</li>
+ <li>docs: update some GL 3.0 status</li>
+ <li>mesa: fix get_texture_dimensions() for texture array targets</li>
+ <li>swrast: init alpha value to 1.0 in opt_sample_rgb_2d()</li>
+ <li>glsl: fix off by one in register index assertion</li>
+ <li>glsl: use gl_register_file in a few places</li>
+ <li>mesa: rename, make _mesa_register_file_name() non-static</li>
+ <li>mesa: _mesa_valid_register_index() to validate register indexes</li>
+ <li>mesa: replace #defines with new gl_shader_type enum</li>
+ <li>mesa: use gl_shader_type enum</li>
+ <li>glsl: better handling of linker failures</li>
+ <li>glsl: start restoring some geometry shader code</li>
+ <li>mesa: add assertion and update comment in _mesa_format_image_size()</li>
+ <li>mesa: added _mesa_format_image_size64()</li>
+ <li>x11: remove test_proxy_teximage() function</li>
+ <li>st/mesa: fix mapping of zero-sized buffer objects</li>
+ <li>gallivm/llvmpipe: squash merge of the llvm-context branch</li>
+ <li>mesa: raise max texture sizes to 16K</li>
+ <li>softpipe: increase max texture size to 16K</li>
+ <li>mesa: replace large/MAX_WIDTH stack allocations with heap allocations</li>
+ <li>mesa: replace large/MAX_WIDTH stack allocations with heap allocations</li>
+ <li>swrast: avoid large stack allocations in blend code</li>
+ <li>swrast: avoid large stack allocations in tex combine code</li>
+ <li>st/mesa: avoid large stack allocations in readpixels code</li>
+ <li>mesa: replace more MAX_WIDTH stack allocations with heap allocations</li>
+ <li>gallivm/llvmpipe: remove lp_build_context::builder</li>
+ <li>gallivm: fix null builder pointers</li>
+ <li>mesa: fix GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME query</li>
+ <li>mesa: return GL_FRAMEBUFFER_DEFAULT as FBO attachment type</li>
+ <li>llvmpipe: fix broken stencil writemask</li>
+ <li>mesa: consolidate some compiler -D flags</li>
+ <li>swrast: allow GL_RG format in glDrawPixels()</li>
+ <li>swrast: fix indentation</li>
+ <li>swrast: accept GL_RG in glReadPixels()</li>
+ <li>swrast: restructure some glReadPixels() code</li>
+ <li>mesa: make glGet*(GL_NONE) generate GL_INVALID_ENUM</li>
+ <li>mesa: remove unneeded cast</li>
+ <li>mesa: update comments, remove dead code</li>
+ <li>st/mesa: new comment about updating state vars</li>
+ <li>mesa: add error margin to clip mask debug/check code</li>
+ <li>gallium/util: minor formatting fixes</li>
+ <li>mesa/llvm: use llvm-config --cppflags</li>
+ <li>st/mesa: fix mipmap generation bug</li>
+ <li>mesa: test for cube map completeness in glGenerateMipmap()</li>
+ <li>mesa: set gl_texture_object::_Complete=FALSE in incomplete()</li>
+ <li>mesa: consolidate glTexImage1/2/3D() code</li>
+ <li>mesa: simplify proxy texture code in texture_error_check()</li>
+ <li>mesa: consolidate the glTexSubImage1/2/3D() functions</li>
+ <li>mesa: consolidate glCopyTexImage1/2D() code</li>
+ <li>mesa: consolidate glCopyTexSubImage1/2/3D() functions</li>
+ <li>mesa: consolidate glCompressedTexImage1/2/3D() functions</li>
+ <li>mesa: make _mesa_test_proxy_teximage() easier to read</li>
+ <li>configure: use llvm-config --cppflags instead of --cflags</li>
+ <li>mesa: revamp error checking for compressed texture images</li>
+ <li>mesa: simplify target checking for TexImage functions</li>
+ <li>draw/llvm: don't flush in vs_llvm_delete()</li>
+ <li>tnl: Initialize gl_program_machine memory in run_vp.</li>
+ <li>tnl: a better way to initialize the gl_program_machine memory</li>
+ <li>mesa, st/mesa: disable GL_ARB_geometry_shader4</li>
+ <li>mesa/meta: fix broken assertion, rename stack depth var</li>
+ <li>glsl: new glsl_strtod() wrapper to fix decimal point interpretation</li>
+ <li>st/mesa: fix renderbuffer pointer check in st_Clear()</li>
+</ul></p>
+
+<p>Brian Rogers (1):
+<ul>
+ <li>mesa: Add missing else in do_row_3D</li>
+</ul></p>
+
+<p>Chad Versace (25):
+<ul>
+ <li>intel_extensions: Add ability to set GLSL version via environment</li>
+ <li>glsl: Add glsl_type::uvecN_type for N=2,3</li>
+ <li>glsl: Add lexer rules for uint and uvecN (N=2..4)</li>
+ <li>glsl: Changes in generated file glsl_lexer.cpp</li>
+ <li>glsl: Add lexer rules for &lt&lt and &gt;&gt; in GLSL 1.30</li>
+ <li>glsl: Change generated file glsl_lexer.cpp</li>
+ <li>glsl: Implement ast-to-hir for binary shifts in GLSL 1.30</li>
+ <li>glsl: Implement constant expr evaluation for bitwise-not</li>
+ <li>glsl: Implement constant expr evaluation for bit-shift ops</li>
+ <li>glsl: Implement constant expr evaluation for bitwise logic ops</li>
+ <li>glsl: Fix ir validation for bit logic ops</li>
+ <li>glsl: Define shift_result_type() in ast_to_hir.cpp</li>
+ <li>glsl: Implement ast-to-hir for bit-shift-assignment</li>
+ <li>glsl: Define bit_logic_result_type() in ast_to_hir.cpp</li>
+ <li>glsl: Implement ast-to-hir for bit-logic ops</li>
+ <li>glsl: Fix lexer rule for ^=</li>
+ <li>glsl: Commit generated file glsl_lexer.cpp</li>
+ <li>glsl: Fix ast-to-hir for ARB_fragment_coord_conventions</li>
+ <li>mesa: Fix C++ includes in sampler.cpp</li>
+ <li>glsl: Fix ir_expression::constant_expression_value()</li>
+ <li>glsl: Fix erroneous cast in ast_jump_statement::hir()</li>
+ <li>glsl: Fix Doxygen tag file in recently renamed files</li>
+ <li>glsl: Improve usage message for glsl_compiler</li>
+ <li>glsl: Fix linker bug in cross_validate_globals()</li>
+ <li>glsl: In ast_to_hir, check sampler array indexing</li>
+</ul></p>
+
+<p>Chia-I Wu (149):
+<ul>
+ <li>glapi: Fix build errors for ES.</li>
+ <li>glapi: Fix ES build errors again.</li>
+ <li>mesa: Update ES APIspec.xml.</li>
+ <li>st/xlib: Notify the context when the front/back buffers are swapped.</li>
+ <li>targets/egl: Use C++ compiler to link GL/ES state trackers.</li>
+ <li>libgl-xlib: Remove unused st_api_create_OpenGL.</li>
+ <li>st/egl: Split modeset code support to modeset.c.</li>
+ <li>st/egl: Rename kms backend to drm.</li>
+ <li>st/egl: s/kms/drm/ on the drm backend.</li>
+ <li>egl: Enable drm platform by default.</li>
+ <li>egl: Check extensions.</li>
+ <li>st/egl: Skip single-buffered configs in EGL.</li>
+ <li>mapi: Fix compiler warnings.</li>
+ <li>st/egl: Drop context argument from egl_g3d_get_egl_image.</li>
+ <li>targets/egl: Fix linking with libdrm.</li>
+ <li>st/vega: Fix version check in context creation.</li>
+ <li>egl: Use attribute names as the _EGLConfig member names.</li>
+ <li>egl: Access config attributes directly.</li>
+ <li>st/egl: Access _EGLConfig directly.</li>
+ <li>st/egl: Do not finish a fence that is NULL.</li>
+ <li>mesa: Remove unused vtxfmt_tmp.h.</li>
+ <li>egl_dri2: Drop the use of _egl[SG]etConfigKey.</li>
+ <li>egl_glx: Drop the use of [SG]ET_CONFIG_ATTRIB.</li>
+ <li>egl_glx: Fix borken driver.</li>
+ <li>egl: Move attributes in _EGLImage to _EGLImageAttribs.</li>
+ <li>egl: Parse image attributes with _eglParseImageAttribList.</li>
+ <li>egl: Move fallback routines to eglfallbacks.c.</li>
+ <li>egl: Drop dpy argument from the link functions.</li>
+ <li>egl: Minor changes to the _EGLConfig interface.</li>
+ <li>egl: Minor changes to the _EGLScreen interface.</li>
+ <li>egl: Fix _eglModeLookup.</li>
+ <li>st/egl: Fix native_mode refresh mode.</li>
+ <li>egl: Add reference count for resources.</li>
+ <li>egl: Use reference counting to replace IsLinked or IsBound.</li>
+ <li>egl: Fix a false negative check in _eglCheckMakeCurrent.</li>
+ <li>st/egl: Use resource reference count for egl_g3d_sync.</li>
+ <li>egl_dri2: Fix a typo that make glFlush be called at wrong time.</li>
+ <li>glapi: Do not use glapidispatch.h.</li>
+ <li>glapi: Move glapidispatch.h to core mesa.</li>
+ <li>glapi: Do not use glapioffsets.h.</li>
+ <li>glapi: Merge glapioffsets.h into glapidispath.h.</li>
+ <li>vbo: Use CALL_* macros.</li>
+ <li>mesa: Remove unnecessary glapitable.h includes.</li>
+ <li>autoconf: Better client API selection.</li>
+ <li>docs: Update egl and openvg docs.</li>
+ <li>autoconf: Update configuration info.</li>
+ <li>Merge branch 'glapi-reorg'</li>
+ <li>targets: Add missing quotes to Makefile.xorg.</li>
+ <li>autoconf: st/vega requires --enable-openvg.</li>
+ <li>st/mesa: Unreference the sampler view in st_bind_surface.</li>
+ <li>autoconf: Tidy configure output for EGL.</li>
+ <li>targets/egl: Fix a warning with --disable-opengl build.</li>
+ <li>egl: Rework _eglGetSearchPath.</li>
+ <li>mesa: Select FEATURE_remap_table when multiple APIs are enabled.</li>
+ <li>mesa: Allow contexts of different APIs to coexist.</li>
+ <li>egl: Set up the pthread key even TLS is used.</li>
+ <li>st/egl: Add native_surface::present callback.</li>
+ <li>st/egl: Use native_surface::present callback.</li>
+ <li>d3d1x: Use native_surface::present.</li>
+ <li>st/egl: Remove flush_frontbuffer and swap_buffers.</li>
+ <li>st/egl: Add support for swap interval and swap behavior.</li>
+ <li>st/egl: Add support for EGL_MATCH_NATIVE_PIXMAP.</li>
+ <li>st/egl: Add extern "C" wrapper to native.h.</li>
+ <li>st/egl: Add native_display_buffer interface.</li>
+ <li>st/egl: Use native_display_buffer for EGL_MESA_drm_image.</li>
+ <li>autoconf: Add --enable-gallium-egl.</li>
+ <li>docs: Update egl docs.</li>
+ <li>st/dri: Add support for surfaceless current contexts.</li>
+ <li>egl_dri2: Fix __DRI_DRI2 version 1 support.</li>
+ <li>st/vega: Do not wait NULL fences.</li>
+ <li>gallium: Add st_api::name.</li>
+ <li>gallium: Add st_context_iface::share to st_api.</li>
+ <li>st/wgl: Use st_context_iface::share for DrvShareLists.</li>
+ <li>st/glx: Replace MESA_VERSION_STRING by xmesa_get_name.</li>
+ <li>mesa: Clean up core.h.</li>
+ <li>scons: Define IN_DRI_DRIVER.</li>
+ <li>tgsi: Add STENCIL to text parser.</li>
+ <li>st/vega: vegaLookupSingle should validate the state.</li>
+ <li>st/vega: Set wrap_r for mask and blend samplers.</li>
+ <li>st/vega: Fix vgReadPixels with a subrectangle.</li>
+ <li>egl_dri2: Fix one context, multiple surfaces.</li>
+ <li>auxiliary: util_blit_pixels_tex should restore the viewport.</li>
+ <li>st/vega: Fix a crash with empty paths.</li>
+ <li>st/vega: Masks and surfaces should share orientation.</li>
+ <li>st/vega: No flipping in vg_prepare_blend_surface.</li>
+ <li>st/vega: Fix a typo in EXTENDED_BLENDER_OVER_FUNC.</li>
+ <li>llvmpipe: Fix build errors on x86.</li>
+ <li>st/vega: Overhaul renderer with renderer states.</li>
+ <li>st/vega: Add DRAWTEX renderer state.</li>
+ <li>st/vega: Add SCISSOR renderer state.</li>
+ <li>st/vega: Add CLEAR renderer state for vgClear.</li>
+ <li>st/vega: Add FILTER renderer state for image filtering.</li>
+ <li>st/vega: Use the renderer for vgMask.</li>
+ <li>st/vega: Add POLYGON_STENCIL and POLYGON_FILL renderer state.</li>
+ <li>st/vega: Delay fb state update to vg_validate_state.</li>
+ <li>st/vega: Use st_framebuffer for fb width/height.</li>
+ <li>st/vega: Move g3d states to renderer.</li>
+ <li>st/vega: Make shader_bind call into the renderer.</li>
+ <li>st/vega: vg_manager should care about only the color buffer.</li>
+ <li>st/vega: Clean up vg_context fields and functions.</li>
+ <li>st/vega: Clean up renderer fields and functions.</li>
+ <li>st/vega: vg_copy_texture and vg_copy_surface should share code.</li>
+ <li>st/vega: Get rid of renderer_copy_texture.</li>
+ <li>st/vega: Update to latest headers.</li>
+ <li>st/vega: Fix image sampler views for alpha-only formats.</li>
+ <li>st/vega: Make path_render and path_stroke take a matrix.</li>
+ <li>st/vega: Make image_draw take a matrix.</li>
+ <li>st/vega: Add primitive text support.</li>
+ <li>st/vega: Revive mask layer support.</li>
+ <li>st/vega: More flexible shader selection.</li>
+ <li>st/vega: Add color transformation support.</li>
+ <li>st/vega: Bump version to 1.1.</li>
+ <li>st/vega: Fix paint coordinates transformations.</li>
+ <li>st/vega: Fix negated logic in image_draw.</li>
+ <li>st/vega: Fix degenerate paints.</li>
+ <li>st/vega: Simplify radial gradient.</li>
+ <li>st/vega: Remove st_inlines.h.</li>
+ <li>st/vega: Delay blend texture creation until needed.</li>
+ <li>st/vega: Create drawing surface mask as needed.</li>
+ <li>st/vega: Initialize pipe states with renderer.</li>
+ <li>st/vega: Avoid unnecessary constant bufer upload.</li>
+ <li>st/vega: Destroy the pipe context with vg_context.</li>
+ <li>st/vega: polygon_array requires a deep free.</li>
+ <li>st/egl: Set pipe_resource::array_size to 1.</li>
+ <li>st/vega: Set pipe_resource::array_size to 1.</li>
+ <li>st/vega: Move vertex transformation to shader.</li>
+ <li>st/vega: Add a missing break.</li>
+ <li>st/vega: Add some comments to pipeline shaders.</li>
+ <li>st/vega: Refactor blend shaders.</li>
+ <li>st/vega: Move masking after blending.</li>
+ <li>st/vega: Add support for per-channel alpha.</li>
+ <li>st/vega: Blending should use premultiplied alpha.</li>
+ <li>st/vega: Fix VG_BLEND_MULTIPLY.</li>
+ <li>st/vega: Add blend shaders for all blend modes.</li>
+ <li>st/vega: Fix pipe blend state for various blend modes.</li>
+ <li>egl: _eglFilterArray should not allocate.</li>
+ <li>mapi: Rewrite mapi_abi.py to get rid of preprocessor magic.</li>
+ <li>vbo: Drop second ATTR macro.</li>
+ <li>vbo: Fix GLES2 glVertexAttrib.</li>
+ <li>mesa: Do not advertise GL_OES_texture_3D.</li>
+ <li>mesa: Fix GL_FIXED arrays.</li>
+ <li>mesa: Fix glTexCoordPointer with type GL_FIXED.</li>
+ <li>st/egl: Plug pbuffer leaks.</li>
+ <li>st/egl: Fix eglCopyBuffers.</li>
+ <li>st/egl: Assorted fixes for dri2_display_get_configs.</li>
+ <li>docs/egl: Update egl.html.</li>
+ <li>st/egl: Fix eglChooseConfig when configs is NULL.</li>
+ <li>docs: Add an example for EGL_DRIVERS_PATH.</li>
+ <li>autoconf: Fix --with-driver=xlib --enable-openvg.</li>
+</ul></p>
+
+<p>Chris Wilson (2):
+<ul>
+ <li>i915g: Fix closure of full batch buffers</li>
+ <li>intel: Check for unsupported texture when finishing using as a render target</li>
+</ul></p>
+
+<p>Christoph Bumiller (80):
+<ul>
+ <li>nv50: import new compiler</li>
+ <li>nouveau: update nouveau_class.h</li>
+ <li>nv50: introduce the big formats table</li>
+ <li>nv50: don't produce MOV immediate to output reg in store opt</li>
+ <li>nv50: change back accidentally swapped UNORM,SNORM vertex type</li>
+ <li>nv50: add/fix some license headers</li>
+ <li>nv50: simple reload elimination and local CSE</li>
+ <li>nv50: fix constant_operand opt mul by 2 case</li>
+ <li>nv50: permit usage of undefined TGSI TEMPs</li>
+ <li>nv50: add missing 2nd source for POW multiplication</li>
+ <li>nv50: add signed RGTC1 to format table, allow 2_10_10_10 for vbufs</li>
+ <li>nv50: fix for empty BBs</li>
+ <li>nv50: insert MOVs also for PHI sources from dominating block</li>
+ <li>nv50: explicitly set src type for SET ops</li>
+ <li>nv50: fixes for nested IFs</li>
+ <li>nv50: don't eliminate loads to dedicated values</li>
+ <li>nv50: fix constbuf validation</li>
+ <li>nv50: build proper phi functions in the first place</li>
+ <li>nv50: fix reg count</li>
+ <li>nv50: begin implementing loops</li>
+ <li>nv50: more constant folding</li>
+ <li>nv50: loops part 2</li>
+ <li>nv50: flatten simple IF/ELSE/ENDIF constructs</li>
+ <li>nv50: fix thinko in store to output reg possible check</li>
+ <li>nv50: generate JOINs for outermost IF clauses</li>
+ <li>nv50: more TGSI opcodes (SIN, SCS, ARL, RET, KILP)</li>
+ <li>nv50: fix PSIZ and PRIMID mapping</li>
+ <li>nv50: check dst compatibility in CSE</li>
+ <li>nv50: initialize edgeflag input index</li>
+ <li>nv50: emit predicate for interp</li>
+ <li>Merge remote branch 'origin/master' into nv50-compiler</li>
+ <li>nv50: DP2, fix ARL</li>
+ <li>nv50: yet another case we need a nop.exit</li>
+ <li>nv50: fix check for sprite/point coord enable</li>
+ <li>nv50: handle TEXTURE_SWIZZLE and GEOMETRY_SHADER4 caps</li>
+ <li>nv50: set the FragDepth output index</li>
+ <li>nv50: turn off verbose debug output by default</li>
+ <li>nv50: attempt at making more complicated loops work</li>
+ <li>nv50: SSG</li>
+ <li>nv50: make FrontFacing -1 or +1</li>
+ <li>nv50: re-add proper TEXBIAS sequence</li>
+ <li>nv50: make use of TGSI immediate type</li>
+ <li>nv50: must join SELECT inputs before MOV inputs</li>
+ <li>nv50: fix XPD, was negated</li>
+ <li>nv50: fix find_dom_frontier</li>
+ <li>nv50: fix build-predicate function</li>
+ <li>Merge remote branch 'origin/master' into nv50-compiler</li>
+ <li>nv50: load address register before using it, not after</li>
+ <li>nv50: save tgsi instructions</li>
+ <li>nv50: prepare for having multiple functions</li>
+ <li>nv50: don't parse again in tgsi_2_nc</li>
+ <li>nv50: use actual loads/stores if TEMPs are accessed indirectly</li>
+ <li>nv50: create value references with the right type</li>
+ <li>nv50: duplicate interps in load_proj_tex_coords</li>
+ <li>nv50: address regs are 16 bit</li>
+ <li>nv50: fix can_load check for 3rd source</li>
+ <li>nv50: reduce bb_reachable_by runtime from pot to linear</li>
+ <li>nv50: minor compiler fixes and cleanups</li>
+ <li>nv50: cannot move from local mem to output reg directly</li>
+ <li>nv50: newlines in shader bincode printing</li>
+ <li>nv50: match TEMP limit with nv50 ir builder</li>
+ <li>nv50: handle TGSI EXP and LOG again</li>
+ <li>nv50: check for immediates when turning MUL ADD into MAD</li>
+ <li>nv50: interp cannot write flags reg</li>
+ <li>nv50: MOV TEMP[0], -CONST[0] must be float32 negation</li>
+ <li>nv50: fix indirect CONST access with large or negative offsets</li>
+ <li>nv50: fix TXP depth comparison value</li>
+ <li>nv50: consider address register in reload elimination</li>
+ <li>nv50: improve and fix modifier folding optimization</li>
+ <li>nv50: put low limit on REG_ALLOC_TEMP and FP_RESULT_COUNT</li>
+ <li>Merge remote branch 'origin/nv50-compiler'</li>
+ <li>nv50: don't segfault on shaders with 0 instructions</li>
+ <li>nv50: get shader fixups/relocations into working state</li>
+ <li>nv50: add relocs for stack and local mem buffers</li>
+ <li>nv50: emit constbuf relocs before uploading constants</li>
+ <li>nv50: fix typo in fifo packet length limit</li>
+ <li>nv50: use formats table in nv50_surface.c</li>
+ <li>nv50: use CLEAR_BUFFERS for surface fills</li>
+ <li>nv50: fix/handle a few more PIPE_CAPs</li>
+ <li>nv50: fix GP state bind and validate</li>
+</ul></p>
+
+<p>Corbin Simpson (8):
+<ul>
+ <li>r600g: Use align() instead of handrolled code.</li>
+ <li>r600g: Trivially deobfuscate r600_hw_states.</li>
+ <li>r600g: Deobfuscate and comment a few more functions in r600_hw_states.</li>
+ <li>r600g: Clean up some indentation and |= vs. | usage.</li>
+ <li>r600g: Fix false and true.</li>
+ <li>r600g: "tmp" is such a bad name for a texture.</li>
+ <li>r600g: Clean up PS setup.</li>
+ <li>r600g: Cleanup viewport floats.</li>
+</ul></p>
+
+<p>Daniel Lichtenberger (1):
+<ul>
+ <li>radeon: fix potential segfault in renderbuffer update</li>
+</ul></p>
+
+<p>Daniel Vetter (21):
+<ul>
+ <li>r200: revalidate after radeon_update_renderbuffers</li>
+ <li>i915g: rip out -&gt;sw_tiled</li>
+ <li>i915g: s/hw_tiled/tiling</li>
+ <li>i915g: add pineview pci ids</li>
+ <li>i915g: kill RGBA/X formats</li>
+ <li>i915g: kill buf-&gt;map_gtt</li>
+ <li>i915g: kill idws-&gt;pool</li>
+ <li>i915g: drop alignment parameter from iws-&gt;buffer_create</li>
+ <li>i915g: add winsys function to create tiled buffers</li>
+ <li>i915g: switch to tiled allocations, kill set_fence</li>
+ <li>i915g: prepare winsys/batchbuffer for execbuf2</li>
+ <li>i915g: return tiling in iws-&gt;buffer_from_handle</li>
+ <li>i915g: implement unfenced color&amp;depth buffer using tiling bits</li>
+ <li>i915g: implement unfenced relocs for textures using tiling bits</li>
+ <li>i915g: postpone mipmap/face offset calculation</li>
+ <li>i915g: don't pot-align stride for tiled buffers</li>
+ <li>i915g: enable X-tiling for textures</li>
+ <li>i915g: switch rendering to mipmapped textures to (x,y) offsets</li>
+ <li>i915g: enable x-tiling for render targets</li>
+ <li>i915g: assert(depth_surface-&gt;offset == 0)</li>
+ <li>i915g: track TODO items</li>
+</ul></p>
+
+<p>Dave Airlie (182):
+<ul>
+ <li>r300g: fix buffer reuse issue caused by previous commit</li>
+ <li>r600g: pull r600_draw struct out into header</li>
+ <li>r600g: use index min/max + index buffer offset.</li>
+ <li>r600g: add vgt dma src defines</li>
+ <li>r600g: fixup texture state on evergreen.</li>
+ <li>r600g: fix texture bos and avoid doing depth blit on evergreen</li>
+ <li>r600g: hide radeon_ctx inside winsys.</li>
+ <li>r600g: attempt to abstract kernel bos from pipe driver.</li>
+ <li>r600g: move constant buffer creation behind winsys abstraction.</li>
+ <li>r600g: use malloc bufmgr for constant buffers</li>
+ <li>r600g: add support for kernel bo</li>
+ <li>r600g: add winsys bo caching.</li>
+ <li>r600g: add upload manager support.</li>
+ <li>r600g: fixup map flushing.</li>
+ <li>r600g: use calloc for ctx bo allocations</li>
+ <li>r600g: oops got the use_mem_constant the wrong way around.</li>
+ <li>r600g; add uses waterfall to asm cf for r6xx.</li>
+ <li>r600g: only emit uses waterfall on r6xx hw.</li>
+ <li>util/r300g: split the r300 index buffer modifier functions out to util</li>
+ <li>r600g: modify index buffers for sizes the hw can't deal with.</li>
+ <li>r600g: send correct surface base update for multi-cbufs</li>
+ <li>r600g: fix fbo-drawbuffers-maxtargets</li>
+ <li>r600g: clean up valgrind issues on maxtargets test.</li>
+ <li>r600g: drop debugging that snuck in</li>
+ <li>r600g: fix tiling support for ddx supplied buffers</li>
+ <li>r600g: add z16 to color setup</li>
+ <li>r600g: add color/texture support for more depth formats.</li>
+ <li>r600g: fix r700 cube map sizing.</li>
+ <li>r600g: fixup r700 CB_SHADER_CONTROL register.</li>
+ <li>r600g: add missing BC_INST wrapper for evergreen</li>
+ <li>r600g: only flush for the correct colorbuffer, not all of them.</li>
+ <li>r600g: deal with overflow of VTX/TEX CF clauses.</li>
+ <li>r600g: set back to correct codepaths.</li>
+ <li>r600g: fixup evergreen miptree setup.</li>
+ <li>r600g: fix eg texture borders.</li>
+ <li>r600g: fix typo in struct member name</li>
+ <li>r600g: cleanup some of the DB blit code</li>
+ <li>r600g: make stencil readback work</li>
+ <li>r600g: disable dirty handling on texture from depth code.</li>
+ <li>r600g: use floats instead of hex for blit vbo</li>
+ <li>r600g: fix depth readback on rv610 and other quirky variants.</li>
+ <li>r600g: fix typo in evergreen register list</li>
+ <li>u_blitter: add a custom blitter call passing a dsa cso</li>
+ <li>r600g: use blitter to do db-&gt;cb flushing.</li>
+ <li>r600g: fix warnings since last commit.</li>
+ <li>egl: fix build since 17eace581d25a626a7d75d9d1205d012cbb14a6e</li>
+ <li>r300g: fix point sprite coord.</li>
+ <li>r600g: add vert support for 16/16 and 16/16/16 floats.</li>
+ <li>r600g: add some more vertex format support.</li>
+ <li>r600g: some more vertex formats</li>
+ <li>r600g: fix draw-elements and draw-elements-base-vertex</li>
+ <li>r600g: drop index_offset parameter to index buffer translate.</li>
+ <li>r600g: fixup tex wrapping.</li>
+ <li>r600g: fixup VP-&gt;FP output-&gt;input routing.</li>
+ <li>r600g: fix typo in r700 alu emit</li>
+ <li>r600g: fixup sprite coord enable.</li>
+ <li>r600g: fix polygon mode</li>
+ <li>mesa/mipmap: fix warning since 1acadebd6270d3604b026842b8a21360968618a0</li>
+ <li>r600g: add eg poly mode code.</li>
+ <li>r600g: make index bias fix for evergreen</li>
+ <li>r600g: add eg db count control register.</li>
+ <li>r300g: fix glsl-fs-pointcoord</li>
+ <li>r600g: add evergreen texture resource properly.</li>
+ <li>r600g: fix db flush breaking config state</li>
+ <li>r600g: on evergreen the centroid isn't set in this register.</li>
+ <li>r600g: add back evergreen name.</li>
+ <li>r600g: add evergreen texture border support to new path</li>
+ <li>r600g: move radeon.h members around to add back map flushing.</li>
+ <li>r600g: add initial vertex translate support.</li>
+ <li>r600g: remove old assert from new codepath</li>
+ <li>Revert "r600g: add initial vertex translate support."</li>
+ <li>r600g: port r300g fix for X* formats in texformat code</li>
+ <li>r600g: add L8A8 unorm.</li>
+ <li>r600g: clean up some code from move to new paths.</li>
+ <li>r600g: return string for chip family</li>
+ <li>r600g: use Elements macro instead of manual sizeofs</li>
+ <li>r600g: fix evergreen depth flushing.</li>
+ <li>r600g: add winsys support for CTL constants.</li>
+ <li>r600g: drop depth quirk on evergreen</li>
+ <li>r600g: add reloc for evergreen color attrib</li>
+ <li>r600g: realign evergreen code with r600 code.</li>
+ <li>r600g: add assembler support for other vtx fetch fields.</li>
+ <li>r600g: fixup vertex format picking.</li>
+ <li>r600g: sync vertex/texture cache on resources on evergreen</li>
+ <li>r600g: add cb flushing for extra buffers + depth buffer on r600/evergreen</li>
+ <li>r600g: fix evergreen draw-buffers</li>
+ <li>r600g: flush SH cache on constant change on evergreen</li>
+ <li>r600g: only set the Z export if shader exports it.</li>
+ <li>r600g: setup basic loop consts on r600 + evergreen.</li>
+ <li>mesa/st: initial attempt at RG support for gallium drivers</li>
+ <li>r600g: break out of search for reloc bo after finding it.</li>
+ <li>r600g: the code to check whether a new vertex shader is needed was wrong</li>
+ <li>r600g: fix wwarning in bo_map function</li>
+ <li>r600g: TODO domain management</li>
+ <li>r600g: add bo fenced list.</li>
+ <li>pb: don't keep checking buffers after first busy</li>
+ <li>r600g: add bo busy backoff.</li>
+ <li>r600g: drop mman allocator</li>
+ <li>r600g: drop use_mem_constant.</li>
+ <li>r600g: avoid unneeded bo wait</li>
+ <li>pb: fix numDelayed accounting</li>
+ <li>r600g: add evergreen stencil support.</li>
+ <li>r600g: use format from the sampler view not from the texture.</li>
+ <li>r600g: fix Z export enable bits.</li>
+ <li>r600g: add some RG texture format support.</li>
+ <li>r600g: drop width/height per level storage.</li>
+ <li>r600g: fix input/output Z export mixup for evergreen.</li>
+ <li>r600g: evergreen has no request size bit in texture word4</li>
+ <li>r600g: enable vertex samplers.</li>
+ <li>r600g: add TXL opcode support.</li>
+ <li>r600g: don't run with scissors.</li>
+ <li>r600g: fix typo in vertex sampling on r600</li>
+ <li>gallium/tgsi: add support for stencil writes.</li>
+ <li>gallium/format: add support for X24S8 and S8X24 formats.</li>
+ <li>gallium/format: add X32_S8X24_USCALED format.</li>
+ <li>gallium/util: add S8 tile sampling support.</li>
+ <li>mesa: add support for FRAG_RESULT_STENCIL.</li>
+ <li>mesa: improve texstore for 8/24 formats and add texstore for S8.</li>
+ <li>softpipe: add support for shader stencil export capability</li>
+ <li>st/mesa: add option to choose a texture format that we won't render to.</li>
+ <li>st/mesa: use shader stencil export to accelerate shader drawpixels.</li>
+ <li>r600g: add support for S8, X24S8 and S8X24 sampler formats.</li>
+ <li>r600g: add shader stencil export support.</li>
+ <li>glsl: add support for shader stencil export</li>
+ <li>st/mesa: enable stencil shader export extension if supported</li>
+ <li>r600g: fix depth0 setting</li>
+ <li>r600g: fix scissor/cliprect confusion</li>
+ <li>r600g: store samplers/views across blit when we need to modify them</li>
+ <li>r600g: reduce size of context structure.</li>
+ <li>r600g: the vs/ps const arrays weren't actually being used.</li>
+ <li>r600g: add copy into tiled texture</li>
+ <li>r600g: split out miptree setup like r300g</li>
+ <li>r600g: use common texture object create function</li>
+ <li>r600g: rename pitch in texture to pitch_in_bytes</li>
+ <li>r600g: remove bpt and start using pitch_in_bytes/pixels.</li>
+ <li>r600g: fix transfer stride.</li>
+ <li>r600g: drop all use of unsigned long</li>
+ <li>r600g: use blitter for hw copy region</li>
+ <li>r600g: evergreen add stencil export bit</li>
+ <li>r600g: add missing eg reg definition</li>
+ <li>r600g: fix stencil export for evergreen harder</li>
+ <li>r600g: drop unused context members</li>
+ <li>r600g: only pick centroid coordinate when asked.</li>
+ <li>r600g: fixup pos/face ena/address properly</li>
+ <li>r600g: fixup typo in macro name</li>
+ <li>r600g: select linear interpolate if tgsi input requests it</li>
+ <li>r300g: clean up warning due to unknown cap.</li>
+ <li>tgsi: add scanner support for centroid inputs</li>
+ <li>r600g: evergreen interpolation support.</li>
+ <li>r600g: add evergreen ARL support.</li>
+ <li>r600g: switch to a common formats.h file since they are in different regs</li>
+ <li>r600g: add defines for tiling</li>
+ <li>r600g: get tiling info from kernel</li>
+ <li>r600g: set tiling bits in hw state</li>
+ <li>r600g: do proper tracking of views/samplers.</li>
+ <li>r600g: fix typo in tiling setup cb code.</li>
+ <li>r600g: depth needs to bound to ds</li>
+ <li>r600g: attempt to cleanup depth blit</li>
+ <li>r600g: fix transfer function for tiling.</li>
+ <li>r600g: retrieve tiling info from kernel for shared buffers.</li>
+ <li>r600g: all non-0 mipmap levels need to be w/h aligned to POT.</li>
+ <li>r600g: move to per-miplevel array mode.</li>
+ <li>r600g: start adding hooks for aligning width/height for tiles.</li>
+ <li>r600g: add r600 surface to store the aligned height.</li>
+ <li>r600g: introduce a per-driver resource flag for transfers.</li>
+ <li>r600g: add texture tiling alignment support.</li>
+ <li>r600g: add texture tiling enable under a debug option.</li>
+ <li>r600g: initial translate state support</li>
+ <li>r600g: start splitting out common code from eg/r600.</li>
+ <li>r600g: not fatal if we can't get tiling info from kernel</li>
+ <li>r600g: merge more of the common r600/evergreen state handling</li>
+ <li>r600g: drop more common state handling code</li>
+ <li>r600g: fix magic 0x1 -&gt;flat shade ena</li>
+ <li>r600g: add assembler support for all the kcache fields.</li>
+ <li>gallium/noop: report GL 2.1</li>
+ <li>r600g: pick correct color swap for A8 fbos.</li>
+ <li>r300g/r600g: bump cache manager timeouts to 1s</li>
+ <li>r600g: it looks like r600 can handle dword offsets in the indices.</li>
+ <li>r300g: try and use all of vertex constant space</li>
+ <li>r300g: fixup rs690 tiling stride alignment calculations.</li>
+ <li>r600g: fix evergreen segfaults.</li>
+ <li>r600g: hack around property unknown issues.</li>
+</ul></p>
+
+<p>Eric Anholt (300):
+<ul>
+ <li>glsl: Add definition of gl_TextureMatrix inverse/transpose builtins.</li>
+ <li>i965: Share the KIL_NV implementation between glsl and non-glsl.</li>
+ <li>i965: Also enable CC statistics when doing OQs.</li>
+ <li>i965: Track the windowizer's dispatch for kill pixel, promoted, and OQ</li>
+ <li>glsl: Rework assignments with write_masks to have LHS chan count match RHS.</li>
+ <li>glsl: Fix copy'n'wasted ir_noop_swizzle conditions.</li>
+ <li>ir_to_mesa: Only compare vector_elements present for any_nequal/all_equal</li>
+ <li>i965: Fix the vector/expression splitting for the write_mask change.</li>
+ <li>i965: When splitting vector variable assignment, ignore unset channels.</li>
+ <li>i965: Update expression splitting for the vector-result change to compares.</li>
+ <li>i965: Warning fix for vector result any_nequal/all_equal change.</li>
+ <li>mesa: Remove the non-required ARB_imaging extension.</li>
+ <li>mesa: Remove EXT_histogram.</li>
+ <li>mesa: Remove SGI_color_table.</li>
+ <li>mesa: Remove SGI_color_matrix.</li>
+ <li>mesa: Remove EXT_convolution.</li>
+ <li>intel: Remove disabled stencil drawpixels acceleration.</li>
+ <li>intel: Remove unnecessary minimum pitch alignment to 32 bytes.</li>
+ <li>intel: Replace my intel_texture_bitmap code with _mesa_meta_Bitmap.</li>
+ <li>radeon: Remove copied minimum pitch alignment code.</li>
+ <li>unichrome: Mostly revert my convolution removal changes.</li>
+ <li>intel: Remove dead intelIsTextureResident().</li>
+ <li>i915: Remove a dead if (0) block.</li>
+ <li>intel: Dead comment removal.</li>
+ <li>intel: Corresponding FinishRenderTexture debug to BeginRenderTexture.</li>
+ <li>i965: Add support for rendering to SARGB8 FBOs.</li>
+ <li>intel: Fix segfault on INTEL_DEBUG=fbo with unsupported framebuffers.</li>
+ <li>intel: Add fallback debug to glGenerateMipmap.</li>
+ <li>intel: More reverting of the sw fallback for depth texture border color.</li>
+ <li>intel: Improve some of the miptree debugging.</li>
+ <li>mesa: Fix type typo in glGenerateMipmap handling of GL_UNSIGNED_INT data.</li>
+ <li>glsl: Fix broadcast_index of lower_variable_index_to_cond_assign.</li>
+ <li>glsl: Add validation that a swizzle only references valid channels.</li>
+ <li>i965: Fix up writemasked assignments in the new FS.</li>
+ <li>i965: Remove swizzling of assignment to vector-splitting single-channel LHS.</li>
+ <li>i965: Handle all_equal/any_nequal in the new FS.</li>
+ <li>i965: Fix vector splitting RHS channel selection with sparse writemasks.</li>
+ <li>i965: Add support for dFdx()/dFdy() to the FS backend.</li>
+ <li>i965: Add support for attribute interpolation on Sandybridge.</li>
+ <li>i965: Set up inputs to the fragment shader according to FP InputsRead.</li>
+ <li>i965: Add support for POW in gen6 FS.</li>
+ <li>i965: Fix negation in the new FS backend.</li>
+ <li>i965: Actually track the "if" depth in loop in the new FS backend.</li>
+ <li>i965: Apply the same set of lowering passes to new FS as to Mesa IR.</li>
+ <li>i965: Fix valgrind complaint about base_ir for new FS debugging.</li>
+ <li>i965: Fix up the FS backend for the variable array indexing pass.</li>
+ <li>i965: Set the variable type when dereferencing an array.</li>
+ <li>i965: Add support for dereferencing structs to the new FS backend.</li>
+ <li>i965: Add support for struct, array, and matrix uniforms to FS backend.</li>
+ <li>i965: Fix all non-snb regression in the snb attribute interpolation commit.</li>
+ <li>i965: Fix up part of my Sandybridge attributes support patch.</li>
+ <li>i965: Add support for gl_FrontFacing to the new FS backend.</li>
+ <li>i965: Subtract instead of adding when computing y delta in new FS backend.</li>
+ <li>mesa: Pull ir_to_mesa's sampler number fetcher out to shared code.</li>
+ <li>i965: Set up sampler numbers in the FS backend.</li>
+ <li>i965: Add support for non-color render target write data to new FS backend.</li>
+ <li>i965: Add support for MRT to the new FS backend.</li>
+ <li>i965: Add support for ir_loop counters to the new FS backend.</li>
+ <li>i965: Add support for ARB_fragment_coord_conventions to the new FS backend.</li>
+ <li>glsl: Also update implicit sizes of varyings at link time.</li>
+ <li>i965: Do interpolation for varying matrices and arrays in the FS backend.</li>
+ <li>i965: Don't try to emit interpolation for unused varying slots.</li>
+ <li>i965: Fix array indexing of arrays of matrices.</li>
+ <li>i965: Clean up obsolete FINISHME comment.</li>
+ <li>mesa: Move the list of builtin uniform info from ir_to_mesa to shared code.</li>
+ <li>i965: Add support for builtin uniforms to the new FS backend.</li>
+ <li>i965: Fix use of undefined mem_ctx in vector splitting.</li>
+ <li>i956: Make new FS discard do its work in a temp, not the null reg!</li>
+ <li>i965: Clean up the virtual GRF handling.</li>
+ <li>ra: First cut at a graph-coloring register allocator for mesa.</li>
+ <li>i965: First cut at register allocation using graph coloring.</li>
+ <li>i965: Add live interval analysis and hook it up to the register allocator.</li>
+ <li>i965: Remove my "safety counter" code from loops.</li>
+ <li>i965: Fix whole-structure/array assignment in new FS.</li>
+ <li>mesa: Don't reference a W component in setting up a vec3 uniform component.</li>
+ <li>i965: Fix new FS handling of builtin uniforms with packed scalars in structs.</li>
+ <li>glsl: Add a lowering pass for texture projection.</li>
+ <li>i965: Use the lowering pass for texture projection.</li>
+ <li>i965: Split the gen4 and gen5 sampler handling apart.</li>
+ <li>i965: Add gen6 attribute interpolation to new FS backend.</li>
+ <li>i965: Fix the gen6 jump size for BREAK/CONT in new FS.</li>
+ <li>i965: Also increment attribute location when skipping unused slots.</li>
+ <li>i965: Pre-gen6, map VS outputs (not FS inputs) to URB setup in the new FS.</li>
+ <li>i965: Add real support for pre-gen5 texture sampling to the new FS.</li>
+ <li>i965: Fix up copy'n'pasteo from moving coordinate setup around for gen4.</li>
+ <li>i965: Restore the forcing of aligned pairs for delta_xy on chips with PLN.</li>
+ <li>i965: When producing a single channel swizzle, don't make a temporary.</li>
+ <li>i965: Add a sanity check for register allocation sizes.</li>
+ <li>i965: Fix off-by-ones in handling the last members of register classes.</li>
+ <li>i965: Don't try to emit code if we failed register allocation.</li>
+ <li>i965: Add support for EXT_texture_swizzle to the new FS backend.</li>
+ <li>i965: Set up swizzling of shadow compare results for GL_DEPTH_TEXTURE_MODE.</li>
+ <li>i965: Fix glean/texSwizzle regression in previous commit.</li>
+ <li>i965: Be more conservative on live interval calculation.</li>
+ <li>i965: Add trivial dead code elimination in the new FS backend.</li>
+ <li>i965: Add initial folding of constants into operand immediate slots.</li>
+ <li>i965: In disasm, gen6 fb writes don't put msg reg # in destreg_conditionalmod.</li>
+ <li>i965: Add support for gen6 FB writes to the new FS.</li>
+ <li>i965: Enable the constant propagation code.</li>
+ <li>i965: Also do constant propagation for the second operand of CMP.</li>
+ <li>i965: Add back gen6 headerless FB writes to the new FS backend.</li>
+ <li>i965: Gen6 no longer has the IFF instruction; always use IF.</li>
+ <li>i965: Fix up IF/ELSE/ENDIF for gen6.</li>
+ <li>i965: Fix botch in the header_present case in the new FS.</li>
+ <li>i965: Add some clarification of the WECtrl field.</li>
+ <li>i965: Don't do 1/w multiplication in new FS for gen6</li>
+ <li>i965: Gen6's sampler messages are the same as Ironlake.</li>
+ <li>i965: Refactor gl_FrontFacing setup out of general variable setup.</li>
+ <li>i965: Add support for gl_FrontFacing on gen6.</li>
+ <li>i965: Don't assume that WPOS is always provided on gen6 in the new FS.</li>
+ <li>i965: Fix gen6 pointsize handling to match pre-gen6.</li>
+ <li>i965: Disable emitting if () statements on gen6 until we really fix them.</li>
+ <li>i965: Normalize cubemap coordinates like is done in the Mesa IR path.</li>
+ <li>mesa: Simplify a bit of _mesa_add_state_reference using memcmp.</li>
+ <li>i965: Drop the check for duplicate _mesa_add_state_reference.</li>
+ <li>i965: Drop the check for YUV constants in the param list.</li>
+ <li>i965: Handle swizzles in the addition of YUV texture constants.</li>
+ <li>i965: Fix gen6 WM push constants updates.</li>
+ <li>i965: Fix new FS gen6 interpolation for sparsely-populated arrays.</li>
+ <li>i965: Enable attribute swizzling (repositioning) in the gen6 SF.</li>
+ <li>i965: Add register coalescing to the new FS backend.</li>
+ <li>i965: Split FS_OPCODE_DISCARD into two steps.</li>
+ <li>i965: Reduce register interference checks for changed FS_OPCODE_DISCARD.</li>
+ <li>i965: Move FS backend structures to a header.</li>
+ <li>i965: Give the math opcodes information on base mrf/mrf len.</li>
+ <li>i965: Give the FB write and texture opcodes the info on base MRF, like math.</li>
+ <li>i965: Compute to MRF in the new FS backend.</li>
+ <li>i965: Don't consider gen6 math instructions to write to MRFs.</li>
+ <li>i965: Add a couple of checks for gen6 math instruction limits.</li>
+ <li>i965: Don't compute-to-MRF in gen6 math instructions.</li>
+ <li>i965: Expand uniform args to gen6 math to full registers to get hstride == 1.</li>
+ <li>i965: Don't compute-to-MRF in gen6 VS math.</li>
+ <li>i965: Fix gen6 pixel_[xy] setup to avoid mixing int and float src operands.</li>
+ <li>i965: Always use the new FS backend on gen6.</li>
+ <li>i965: Fix missing "break;" in i2b/f2b, and missing AND of CMP result.</li>
+ <li>intel: Allow CopyTexSubImage to InternalFormat 3/4 textures, like RGB/RGBA.</li>
+ <li>i965: Don't rebase the index buffer to min 0 if any arrays are in VBOs.</li>
+ <li>i965: Add support for rescaling GL_TEXTURE_RECTANGLE coords to new FS.</li>
+ <li>i965: Set class_sizes[] for the aligned reg pair class.</li>
+ <li>i965: Update the live interval when coalescing regs.</li>
+ <li>i965: Add a pass to the FS to split virtual GRFs to float channels.</li>
+ <li>i965: Add a function for handling the move of boolean values to flag regs.</li>
+ <li>i965: Add peepholing of conditional mod generation from expressions.</li>
+ <li>i965: Enable the new FS backend on pre-gen6 as well.</li>
+ <li>i965: Fix texturing on pre-gen5.</li>
+ <li>i965: Set the type of the null register to fix gen6 FS comparisons.</li>
+ <li>i965: Disable the debug printf I added for FS disasm.</li>
+ <li>i965: Fix a weirdness in NOT handling.</li>
+ <li>i965: Fix assertion failure on gen6 BufferSubData to busy BO.</li>
+ <li>i965: Assert out on gen6 VS constant buffer reads that hang the GPU for now.</li>
+ <li>i965: Fix scissor-offscreen on gen6 like we did pre-gen6.</li>
+ <li>i965: Avoid blits in BufferCopySubdata on gen6.</li>
+ <li>i965: Tell the shader compiler when we expect depth writes for gen6.</li>
+ <li>i965: Remove the gen6 emit_mi_flushes I sprinkled around the driver.</li>
+ <li>i965: Disable thread dispatch when the FS doesn't do any work.</li>
+ <li>i965: Add EU emit support for gen6's new IF instruction with comparison.</li>
+ <li>i965: Set the source operand types for gen6 if/else/endif to integer.</li>
+ <li>i965: Use the new style of IF statement with embedded comparison on gen6.</li>
+ <li>i965: Split register allocation out of the ever-growing brw_fs.cpp.</li>
+ <li>i965: Fix gl_FrontFacing emit on pre-gen6.</li>
+ <li>i965: Add support for register spilling.</li>
+ <li>i965: Don't emit register spill offsets directly into g0.</li>
+ <li>i965: Correct scratch space allocation.</li>
+ <li>i965: Be more aggressive in tracking live/dead intervals within loops.</li>
+ <li>i965: Move the FS disasm/annotation printout to codegen time.</li>
+ <li>i965: Add support for pull constants to the new FS backend.</li>
+ <li>i965: Add EU code for dword scattered reads (constant buffer array indexing).</li>
+ <li>i965: Clarify an XXX comment in FB writes with real info.</li>
+ <li>i965: Use SENDC on the first render target write on gen6.</li>
+ <li>i965: Clear some undefined fields of g0 when using them for gen6 FB writes.</li>
+ <li>i965: Add disasm for the flag register.</li>
+ <li>i965: Add support for discard instructions on gen6.</li>
+ <li>i965: Handle new ir_unop_round_even in channel expression splitting.</li>
+ <li>i965: Fix typo in comment about state flags.</li>
+ <li>i965: Set up the constant buffer on gen6 when it's needed.</li>
+ <li>i965: Add support for constant buffer loads on gen6.</li>
+ <li>i965: Drop the eot argument to read messages, which can never be set.</li>
+ <li>i965: Fix VS URB entry sizing.</li>
+ <li>i965: Disable register spilling on gen6 until it's fixed.</li>
+ <li>i965: Make FS uniforms be the actual type of the uniform at upload time.</li>
+ <li>i965: Add user clip planes support to gen6.</li>
+ <li>i965: Update gen6 SF state when point state (sprite or attenuation) changes.</li>
+ <li>i965: Upload required gen6 VS push constants even when using pull constants.</li>
+ <li>i965: Update the gen6 stencil ref state when stencil state changes.</li>
+ <li>mesa: Make metaops use program refcounts instead of names.</li>
+ <li>mesa: Don't compute an unused texture completeness debug string.</li>
+ <li>intel: For batch, use GTT mapping instead of writing to a malloc and copying.</li>
+ <li>intel: Annotate debug printout checks with unlikely().</li>
+ <li>intel: Remove the magic unaligned memcpy code.</li>
+ <li>i965: Remove dead intel_structs.h file.</li>
+ <li>intel: Avoid taking logbase2 of several things that we max.</li>
+ <li>intel: Remove duplicated teximage miptree to object miptree promotion.</li>
+ <li>intel: Remove leftover dri1 locking fields in the context.</li>
+ <li>mesa: Fix delayed state flagging for EXT_sso-related program changes.</li>
+ <li>intel: Fix the client-side swapbuffers throttling.</li>
+ <li>Revert "intel: Fix the client-side swapbuffers throttling."</li>
+ <li>i965: Allow OPCODE_SWZ to put immediates in the first arg.</li>
+ <li>i965: Add support for math on constants in gen6 brw_wm_glsl.c path.</li>
+ <li>i965: Work around strangeness in swizzling/masking of gen6 math.</li>
+ <li>i965: re-enable gen6 IF statements in the fragment shader.</li>
+ <li>glsl: Free the loop state context when we free the loop state.</li>
+ <li>i965: Fix gl_FragCoord inversion when drawing to an FBO.</li>
+ <li>i965: Shut up spurious gcc warning about GLSL_TYPE enums.</li>
+ <li>mesa: Don't spam the console in a debug build unless some spam is requested.</li>
+ <li>i965: Add state dumping for sampler state.</li>
+ <li>i965: Add dumping of the sampler default color.</li>
+ <li>i965: Fail on loops on gen6 for now until we write the EU emit code for it.</li>
+ <li>i965: Eliminate dead code more aggressively.</li>
+ <li>mesa: Include C++ files in the makedepend of DRI drivers.</li>
+ <li>i965: Fix compute_to_mrf to not move a MRF write up into another live range.</li>
+ <li>i965: Just use memset() to clear most members in FS constructors.</li>
+ <li>i965: Remove extra n at the end of every instruction in INTEL_DEBUG=wm.</li>
+ <li>i965: Fold constants into the second arg of BRW_SEL as well.</li>
+ <li>glsl: Add a helper function for determining if an rvalue could be a saturate.</li>
+ <li>i965: Recognize saturates and turn them into a saturated mov.</li>
+ <li>ir_to_mesa: Detect and emit MOV_SATs for saturate constructs.</li>
+ <li>i965: Improve compute-to-mrf.</li>
+ <li>i965: Remove duplicate MRF writes in the FS backend.</li>
+ <li>i965: Move gen4 blend constant color to the gen4 blending file.</li>
+ <li>i965: Don't upload polygon stipple unless required.</li>
+ <li>i965: Don't upload line stipple pattern unless we're stippling.</li>
+ <li>i965: Don't upload line smooth params unless we're line smoothing.</li>
+ <li>i965: Use the new embedded compare in SEL on gen6 for VS MIN and MAX opcodes.</li>
+ <li>i965: Fix type of gl_FragData[] dereference for FB write.</li>
+ <li>glsl: Make the symbol table's add_function just use the function's name.</li>
+ <li>glsl: Make the symbol table's add_variable just use the variable's name.</li>
+ <li>glsl: Add a helper constructor for expressions that works out result type.</li>
+ <li>glsl: Fix structure and array comparisions.</li>
+ <li>glsl: Quiet unreachable no-return-from-function warning.</li>
+ <li>i965: Dump the WHILE jump distance on gen6.</li>
+ <li>i965: Add support for gen6 DO/WHILE ISA emit.</li>
+ <li>i965: Add support for gen6 BREAK ISA emit.</li>
+ <li>i965: Add support for gen6 CONTINUE instruction emit.</li>
+ <li>i965: Enable IF statements in the VS.</li>
+ <li>i965: Add support for loops in the VS.</li>
+ <li>glsl: Mark the array access for whole-array comparisons.</li>
+ <li>glsl: Fix flipped return of has_value() for array constants.</li>
+ <li>mesa: Add getters for the rest of the supported draw buffers.</li>
+ <li>mesa: Add getters for ARB_copy_buffer's attachment points.</li>
+ <li>intel: Add an env var override to execute for a different GPU revision.</li>
+ <li>i965: Update gen6 WM state on compiled program change, not just FP change.</li>
+ <li>i965: Update gen6 SF state on fragment program change too.</li>
+ <li>i965: Fix compile warning about missing opcodes.</li>
+ <li>i965: Move payload reg setup to compile, not lookup time.</li>
+ <li>i965: Provide delta_xy reg to gen6 non-GLSL path PINTERP.</li>
+ <li>i965: Fix up 16-wide gen6 FB writes after various refactoring.</li>
+ <li>i965: Don't smash a group of coordinates doing gen6 16-wide sampler headers.</li>
+ <li>i965: Fix gen6 interpolation setup for 16-wide.</li>
+ <li>i965: Fix up gen6 samplers for their usage by brw_wm_emit.c</li>
+ <li>i965: Make the sampler's implied move on gen6 be a raw move.</li>
+ <li>i965: Align gen6 push constant size to dispatch width.</li>
+ <li>i965: Add support for the instruction compression bits on gen6.</li>
+ <li>i965: Nuke brw_wm_glsl.c.</li>
+ <li>i965: Remove INTEL_DEBUG=glsl_force now that there's no brw_wm_glsl.c</li>
+ <li>i965: Fix comment about gen6_wm_constants.</li>
+ <li>i965: Handle saturates on gen6 math instructions.</li>
+ <li>i965: Always hand the absolute value to RSQ.</li>
+ <li>i965: Add disabled debug code for dumping out the WM constant payload.</li>
+ <li>i965: Work around gen6 ignoring source modifiers on math instructions.</li>
+ <li>i965: Fix flipped value of the not-embedded-in-if on gen6.</li>
+ <li>i965: Don't try to store gen6 (float) blend constant color in bytes.</li>
+ <li>i965: Set up the color masking for the first drawbuffer on gen6.</li>
+ <li>i965: Set up the per-render-target blend state on gen6.</li>
+ <li>i965: Set the render target index in gen6 fixed-function/ARB_fp path.</li>
+ <li>i965: Use the new pixel mask location for gen6 ARB_fp KIL instructions.</li>
+ <li>i965: Drop KIL_NV from the ff/ARB_fp path since it was only used for GLSL.</li>
+ <li>i965: Drop push-mode reladdr constant loading and always use constant_map.</li>
+ <li>i965: Fix VS constants regression pre-gen6.</li>
+ <li>i965: Clean up VS constant buffer location setup.</li>
+ <li>i965: Set up the correct texture border color state struct for Ironlake.</li>
+ <li>i965: Set render_cache_read_write surface state bit on gen6 constant surfs.</li>
+ <li>i965: remove unused variable since brw_wm_glsl.c removal.</li>
+ <li>intel: Use plain R8 and RG8 for COMPRESSED_RED and COMPRESSED_RG.</li>
+ <li>intel: Set the swizzling for depth textures using the GL_RED depth mode.</li>
+ <li>glsl: Correct the marking of InputsRead/OutputsWritten on in/out matrices.</li>
+ <li>i965: Correct the dp_read message descriptor setup on g4x.</li>
+ <li>intel: Include stdbool so we can stop using GLboolean when we want to.</li>
+ <li>i965: Fix ARL to work on gen6.</li>
+ <li>i956: Fix the old FP path fragment position setup on gen6.</li>
+ <li>i965: Fix gl_FragCoord.z setup on gen6.</li>
+ <li>i965: Add support for using the BLT ring on gen6.</li>
+ <li>intel: Update renderbuffers before looking up CopyTexImage's read buffer.</li>
+ <li>intel: Drop commented intel_flush from copy_teximage.</li>
+ <li>intel: Try to sanely check that formats match for CopyTexImage.</li>
+ <li>intel: Support glCopyTexImage() from XRGB8888 to ARGB8888.</li>
+ <li>i965: Avoid using float type for raw moves, to work around SNB issue.</li>
+ <li>i965: Set the alternative floating point mode on gen6 VS and WM.</li>
+ <li>i965: Add support for gen6 constant-index constant loading.</li>
+ <li>i965: Add support for gen6 reladdr VS constant loading.</li>
+ <li>i965: Improve the hacks for ARB_fp scalar^scalar POW on gen6.</li>
+ <li>i965: Factor out the ir comparision to BRW_CONDITIONAL_* code.</li>
+ <li>i965: Fix regression in FS comparisons on original gen4 due to gen6 changes.</li>
+ <li>i965: Do lowering of array indexing of a vector in the FS.</li>
+ <li>intel: Only do frame throttling at glFlush time when using frontbuffer.</li>
+ <li>intel: Handle forced swrast clears before other clear bits.</li>
+ <li>intel: Use tri clears when we don't know how to blit clear the format.</li>
+ <li>intel: Add spans code for the ARB_texture_rg support.</li>
+ <li>intel: Add a couple of helper functions to reduce rb code duplication.</li>
+ <li>intel: Fix segfaults from trying to use _ColorDrawBuffers in FBO validation.</li>
+ <li>intel: When validating an FBO's combined depth/stencil, use the given FBO.</li>
+</ul></p>
+
+<p>Fabian Bieler (2):
+<ul>
+ <li>r600g: set address of pop instructions to next instruction</li>
+ <li>glsl: fix lowering conditional returns in subroutines</li>
+</ul></p>
+
+<p>Francisco Jerez (51):
+<ul>
+ <li>dri/nv04: Fix PGRAPH_ERRORs when running OA.</li>
+ <li>dri/nv04: Mipmapping fixes.</li>
+ <li>dri/nv04: Align SIFM transfer dimensions.</li>
+ <li>dri/nv04: Fix up color mask.</li>
+ <li>dri/nv04: Fix maximum texture size.</li>
+ <li>dri/nv04: Fix provoking vertex.</li>
+ <li>dri/nouveau: Update nouveau_class.h.</li>
+ <li>dri/nouveau: Add some more extensions.</li>
+ <li>dri/nouveau: Fix glRenderbufferStorage with DEPTH_COMPONENT as internal format.</li>
+ <li>dri/nouveau: Don't request a fake front unnecessarily.</li>
+ <li>dri/nouveau: Don't reemit the BO state in nouveau_state_emit().</li>
+ <li>dri/nouveau: Cleanup references to the old FBOs on glMakeCurrent().</li>
+ <li>meta: Don't bind the created texture object in init_temp_texture().</li>
+ <li>dri/nv10: Fix the CLAMP texture wrap mode.</li>
+ <li>dri/nv04: Use nvgl_wrap_mode().</li>
+ <li>dri/nouveau: Remove unnecessary assertion.</li>
+ <li>dri/nouveau: Cleanup more references to old FBOs and VBOs.</li>
+ <li>dri/nv10-nv20: Fix texturing in some cases after a base level change.</li>
+ <li>dri/nouveau: Fix software mipmap generation on 1x1 textures.</li>
+ <li>dri/nouveau: Have a smaller amount of larger scratch buffers.</li>
+ <li>dri/nouveau: Remove unnecessary flush.</li>
+ <li>dri/nv10: Use fast Z clears.</li>
+ <li>dri/nouveau: Minor cleanup.</li>
+ <li>dri/nv10: Fake fast Z clears for pre-nv17 cards.</li>
+ <li>dri/nouveau: Initialize tile_flags when allocating a render target.</li>
+ <li>nouveau: Get larger push buffers.</li>
+ <li>dri/nouveau: Force a "slow" Z clear if we're getting a new depth buffer.</li>
+ <li>dri/nv20: Clear with the 3D engine.</li>
+ <li>dri/nouveau: Don't assert(0) on compressed internal formats.</li>
+ <li>dri/nv25: Bind a hierarchical depth buffer.</li>
+ <li>dri/nouveau: Call _mesa_update_state() after framebuffer invalidation.</li>
+ <li>dri/nouveau: Honor the access flags in nouveau_bufferobj_map_range.</li>
+ <li>dri/nouveau: Tell the vbo module we want real hardware BOs.</li>
+ <li>dri/nouveau: Split out the scratch helpers to a separate file.</li>
+ <li>dri/nouveau: Avoid recursion in nouveau_bo_context_reset().</li>
+ <li>dri/nouveau: Use a macro to iterate over the bound vertex attributes.</li>
+ <li>dri/nouveau: Split out array handling to its own file.</li>
+ <li>dri/nouveau: Optimize VBO binding re-emission.</li>
+ <li>dri/nouveau: Keep small DYNAMIC_DRAW vertex buffers in system ram.</li>
+ <li>dri/nouveau: Pipeline glTexSubImage texture transfers.</li>
+ <li>dri/nouveau: Fix type promotion issue on 32bit platforms.</li>
+ <li>dri/nouveau: Validate the framebuffer state on read buffer changes.</li>
+ <li>dri/nouveau: Re-emit the BO state when coming back from a software fallback.</li>
+ <li>meta: Don't leak alpha function/reference value changes.</li>
+ <li>meta: Fix incorrect rendering of the bitmap alpha component.</li>
+ <li>vbo: Avoid unnecessary copy to/from current in vertex format upgrade.</li>
+ <li>meta: Don't try to disable cube maps if the driver doesn't expose the extension.</li>
+ <li>meta: Handle bitmaps with alpha test enabled.</li>
+ <li>dri/nouveau: Split hardware/software TNL instantiation more cleanly.</li>
+ <li>dri/nouveau: Fix typo.</li>
+ <li>dri/nouveau: Kill a bunch of ternary operators.</li>
+</ul></p>
+
+<p>Fredrik Höglund (2):
+<ul>
+ <li>r600g: Fix texture sampling with swizzled coords</li>
+ <li>r600g: fix pow(0, 0) evaluating to NaN</li>
+</ul></p>
+
+<p>Guillermo S. Romero (1):
+<ul>
+ <li>r300g: Do not use buf param before checking for NULL.</li>
+</ul></p>
+
+<p>Henri Verbeet (19):
+<ul>
+ <li>r600g: Flush upload buffers before draws instead of before flushes.</li>
+ <li>r600g: Check for other references before checking for existing mappings in radeon_bo_pb_map_internal().</li>
+ <li>r600g: Remove a redundant flush in r600_texture_transfer_map().</li>
+ <li>r600g: Buffer object maps imply a wait.</li>
+ <li>r600g: Respect PB_USAGE_UNSYNCHRONIZED in radeon_bo_pb_map_internal().</li>
+ <li>Revert "r600g: Flush upload buffers before draws instead of before flushes."</li>
+ <li>r600g: fix exports_ps to export a number not a mask.</li>
+ <li>r600g: Mention AMD in the renderer string.</li>
+ <li>r600g: Cleanup the fenced_bo list in r600_context_fini().</li>
+ <li>r600g: Evergreen has two extra frac_bits for the sampler LOD state.</li>
+ <li>r600: Evergreen has two extra frac_bits for the sampler LOD state.</li>
+ <li>r600g: Add PIPE_FORMAT_L8A8_UNORM for Evergreen as well.</li>
+ <li>r600g: Swizzle vertex data only once.</li>
+ <li>r600g: Synchronize supported color formats between Evergreen and r600/r700.</li>
+ <li>r600g: Fix the PIPE_FORMAT_L8A8_UNORM color swaps.</li>
+ <li>r600g: Fix the PIPE_FORMAT_A8_UNORM color swap for Evergreen as well.</li>
+ <li>r600g: Cleanup block bo references in r600_context_fini().</li>
+ <li>r600g: Cleanup fetch shader resources in r600_pipe_shader_destroy().</li>
+ <li>st/mesa: Handle wrapped depth buffers in st_copy_texsubimage().</li>
+</ul></p>
+
+<p>Hui Qi Tay (10):
+<ul>
+ <li>llvmpipe: minor changes in llvm coefficient calcs</li>
+ <li>draw: cliptest and viewport done in a single loop in vertex shader</li>
+ <li>draw: added viewport and cliptest flags</li>
+ <li>draw: sanitize llvm variant key</li>
+ <li>draw: corrections for w coordinate</li>
+ <li>draw: corrections to allow for different cliptest cases</li>
+ <li>llvmpipe: Moved draw pipeline twoside function to llvm setup code</li>
+ <li>llvmpipe: added llvm offset setup code</li>
+ <li>llvmpipe: clean up polygon offset function in lp setup code</li>
+ <li>llvmpipe: fix such that offset/twoside function only does in-place modification</li>
+</ul></p>
+
+<p>Ian Romanick (102):
+<ul>
+ <li>glsl2: Refactor testing for whether a deref is of a matrix or array</li>
+ <li>glsl2: Add flags to enable variable index lowering</li>
+ <li>glsl: Add doxygen comments</li>
+ <li>EGL DRI2: Silence piles of 'unused variable' warnings</li>
+ <li>EGL DRI2: Silence 'missing initializer' warnings</li>
+ <li>egl_glx: Silence piles of 'unused variable' warnings</li>
+ <li>egl: Fix several 'comparison between signed and unsigned integer' warnings</li>
+ <li>dri: Ensure that DRI driver cpp files are in tarballs</li>
+ <li>mesa: Force GL_ARB_copy_buffer to always be enabled</li>
+ <li>mesa: Force GL_SGIS_generate_mipmap to always be enabled</li>
+ <li>Remove GL_MESA_packed_depth_stencil</li>
+ <li>Remove GL_EXT_cull_vertex</li>
+ <li>Regenerate files changed by previous commit</li>
+ <li>Remove unnescessary initializations of UpdateTexturePalette</li>
+ <li>ARB_texture_rg: Add GLX protocol support</li>
+ <li>ARB_texture_rg: Correct some errors in RED / RG internal format handling</li>
+ <li>ARB_texture_rg: Add GL_TEXTURE_{RED,GREEN}_SIZE query support</li>
+ <li>ARB_texture_rg: Add GL_RED as a valid GL_DEPTH_TEXTURE_MODE</li>
+ <li>ARB_texture_rg: Handle RED and RG the same as RGB for tex env</li>
+ <li>ARB_texture_rg: Add R8, R16, RG88, and RG1616 internal formats</li>
+ <li>ARB_texture_rg: Allow RED and RG textures as FBO color buffer attachments</li>
+ <li>mesa: Enable GL_ARB_texture_rg in software paths</li>
+ <li>i965: Enable GL_ARB_texture_rg</li>
+ <li>mesa: Add ARB_texture_compression_rgtc as an alias for EXT_texture_compression_rgtc</li>
+ <li>ARB_texture_rg: Add GL_COMPRESSED_{RED,RG} cases in _mesa_is_color_format</li>
+ <li>mesa: Fix misplaced #endif</li>
+ <li>mesa: Trivial correction to comment</li>
+ <li>rgtc: Detect RGTC formats as color formats and as compressed formats</li>
+ <li>docs: Add list of bugs fixed in 7.9</li>
+ <li>docs: Import 7.9 release notes from 7.9 branch.</li>
+ <li>docs: Import 7.8.x release notes from 7.8 branch.</li>
+ <li>docs: download.html does not need to be updated for each release</li>
+ <li>docs: Update mailing lines from sf.net to freedesktop.org</li>
+ <li>docs: Import news updates from 7.9 branch</li>
+ <li>docs: added news item for 7.9 release</li>
+ <li>glsl: Fail linking if assign_attribute_locations fails</li>
+ <li>glsl: Refactor 'layout' grammar to match GLSL 1.60 spec grammar</li>
+ <li>glsl: Slight refactor of error / warning checking for ARB_fcc layout</li>
+ <li>glsl: Clear type_qualifier using memset</li>
+ <li>glsl: Wrap ast_type_qualifier contents in a struct in a union</li>
+ <li>glsl: Regenerate files modified by previous commits</li>
+ <li>glcpp: Add the define for ARB_explicit_attrib_location when present</li>
+ <li>glcpp: Regenerate files changes by previous commit</li>
+ <li>glsl: Add parser support for GL_ARB_explicit_attrib_location layouts</li>
+ <li>glsl: Regenerate files changes by previous commit</li>
+ <li>glsl: Track explicit location in AST to IR translation</li>
+ <li>glsl: Add linker support for explicit attribute locations</li>
+ <li>main: Enable GL_ARB_explicit_attrib_location for swrast</li>
+ <li>intel: Enable GL_ARB_explicit_attrib_location</li>
+ <li>glsl: Remove const decoration from inlined function parameters</li>
+ <li>docs: skeleton for 7.10 release notes</li>
+ <li>docs: Update status of GL 3.x related extensions</li>
+ <li>mesa: Validate assembly shaders when GLSL shaders are used</li>
+ <li>glsl: Fix incorrect assertion</li>
+ <li>linker: Reject shaders that have unresolved function calls</li>
+ <li>mesa: Silence unused variable warning</li>
+ <li>mesa: Refactor validation of shader targets</li>
+ <li>mesa: Clean up two 'comparison between signed and unsigned' warnings</li>
+ <li>mesa: Clean up various 'unused parameter' warnings in shaderapi</li>
+ <li>glsl: Slightly change the semantic of _LinkedShaders</li>
+ <li>linker: Trivial indention fix</li>
+ <li>i965: Fix indentation after commit 3322fbaf</li>
+ <li>linker: Improve handling of unread/unwritten shader inputs/outputs</li>
+ <li>glapi: Add GL_EXT_separate_shader_objects</li>
+ <li>glapi: Commit files changed by previous commit</li>
+ <li>mesa: Add infrastructure to track GL_EXT_separate_shader_objects</li>
+ <li>mesa: Skeletal support for GL_EXT_separate_shader_objects</li>
+ <li>mesa: Add display list support for GL_EXT_separate_shader_objects functions</li>
+ <li>mesa: Track an ActiveProgram distinct from CurrentProgram</li>
+ <li>Track separate programs for each stage</li>
+ <li>swrast: Enable GL_EXT_separate_shader_objects in software paths</li>
+ <li>intel: Enable GL_EXT_separate_shader_objects in Intel drivers</li>
+ <li>docs: add GL_EXT_separate_shader_objects to release notes</li>
+ <li>glsl: Fix incorrect gl_type of sampler2DArray and sampler1DArrayShadow</li>
+ <li>ir_to_mesa: Refactor code for emitting DP instructions</li>
+ <li>mesa: Allow query of MAX_SAMPLES with EXT_framebuffer_multisample</li>
+ <li>glsl: Refactor is_vec_{zero,one} to be methods of ir_constant</li>
+ <li>glsl: Simplify generation of swizzle for vector constructors</li>
+ <li>glsl: Make is_zero and is_one virtual methods of ir_rvalue</li>
+ <li>ir_to_mesa: Generate smarter code for some conditional moves</li>
+ <li>glsl: Add ir_unop_sin_reduced and ir_unop_cos_reduced</li>
+ <li>glsl: Eliminate assumptions about size of ir_expression::operands</li>
+ <li>glsl: Add ir_rvalue::is_negative_one predicate</li>
+ <li>glsl: Add unary ir_expression constructor</li>
+ <li>glsl: Add ir_quadop_vector expression</li>
+ <li>glsl: Fix matrix constructors with vector parameters</li>
+ <li>i915: Disallow alpha, red, RG, and sRGB as render targets</li>
+ <li>glsl: Use M_LOG2E constant instead of calling log2</li>
+ <li>glsl: Lower ir_binop_pow to a sequence of EXP2 and LOG2</li>
+ <li>i915: Request that POW instructions be lowered</li>
+ <li>i915: Correctly generate unconditional KIL instructions</li>
+ <li>glsl: Ensure that equality comparisons don't return a NULL IR tree</li>
+ <li>i965: Correctly emit constants for aggregate types (array, matrix, struct)</li>
+ <li>glsl: Inherrit type of declared variable from initializer</li>
+ <li>linker: Ensure that unsized arrays have a size after linking</li>
+ <li>linker: Fix regressions caused by previous commit</li>
+ <li>glsl: Inherrit type of declared variable from initializer after processing assignment</li>
+ <li>linker: Allow built-in arrays to have different sizes between shader stages</li>
+ <li>ir_to_mesa: Don't generate swizzles for record derefs of non-scalar/vectors</li>
+ <li>Refresh autogenerated file builtin_function.cpp.</li>
+ <li>glsl: Allow less restrictive uses of sampler array indexing in GLSL &lt= 1.20</li>
+ <li>docs: Import 7.9.1 release notes from 7.9 branch</li>
+</ul></p>
+
+<p>Jakob Bornecrantz (27):
+<ul>
+ <li>rbug: Cast opcode to corrent int size</li>
+ <li>rbug: Add function to get opcode name string</li>
+ <li>scons: Link against talloc in the Gallium DRI drivers</li>
+ <li>i915g: Link with wrapper sw winsys with scons</li>
+ <li>tgsi: Actually care what check_soa_dependencies says</li>
+ <li>tgsi: Fix missing test before check</li>
+ <li>llvmpipe: Move makefile include to before targets</li>
+ <li>wrapper: Fix spelling</li>
+ <li>wrapper: Add a way to dewrap a pipe screen without destroying it</li>
+ <li>egl: Remove unnecessary headers</li>
+ <li>target-helpers: Remove per target software wrapper check</li>
+ <li>graw: Tidy graw xlib scons file a bit</li>
+ <li>scons: Remove old pipebuffer SConscript</li>
+ <li>scons: Detabify</li>
+ <li>scons: Check for pkg-config before trying to use it</li>
+ <li>scons: Check for libdrm_[intel|radeon] as well</li>
+ <li>scons: Move dependancy checks to the main gallium scons file</li>
+ <li>scons: Unify state tracker SConscripts</li>
+ <li>galahad: Correct the name of the scons library</li>
+ <li>graw: Use inline sw helper instead of roll your own loader</li>
+ <li>libgl-xlib: Use sw helper instead of roll your own</li>
+ <li>libgl-xlib: Use inline debug helper instead of non-inline version</li>
+ <li>graw: Use inline debug helper instead of non-inline version</li>
+ <li>gallium: Remove redundant sw and debug target helpers</li>
+ <li>i915g: Improve debug printing for textures</li>
+ <li>i915g: Make sure that new vbo gets updated</li>
+ <li>st/mesa: Unbind all constant buffers</li>
+</ul></p>
+
+<p>Jerome Glisse (75):
+<ul>
+ <li>r600g: alternative command stream building from context</li>
+ <li>r600g: move chip class to radeon common structure</li>
+ <li>r600g: use pipe context for flushing inside map</li>
+ <li>r600g: add back reference check when mapping buffer</li>
+ <li>r600g: directly allocate bo for user buffer</li>
+ <li>r600g: fix multi buffer rendering</li>
+ <li>r600g: occlusion query for new design</li>
+ <li>r600g: flush color buffer after draw command</li>
+ <li>r600g: disable shader rebuild optimization &amp; account cb flush packet</li>
+ <li>r600g: fix multiple occlusion query on same id</li>
+ <li>r600g: initial evergreen support in new path</li>
+ <li>r600g: fix typo in evergreen define (resource are in x range)</li>
+ <li>r600g: move use_mem_constants flags for new designs structure alignment</li>
+ <li>r600g: evergreen fix for new design</li>
+ <li>r600g: fix compilation after change to evergreend.h</li>
+ <li>r600g: fixup some evergreen register definitions</li>
+ <li>r600g: fix evergreen new path</li>
+ <li>r600g: fix reg definition</li>
+ <li>r600g: fix evergreen new path</li>
+ <li>r600g: bring over fix from old path to new path</li>
+ <li>r600g: fix vertex resource &amp; polygon offset</li>
+ <li>r600g: disable early cull optimization when occlusion query running</li>
+ <li>r600g: move around variables to share depth uncompression code</li>
+ <li>r600g: use depth decompression in new path</li>
+ <li>r600g: fix index buffer drawing</li>
+ <li>r600g: build packet header once</li>
+ <li>r600g: fix pointsprite &amp; resource unbinding</li>
+ <li>r600g: fix routing btw vertex &amp; pixel shader</li>
+ <li>r600g: fix occlusion query after change to block structure</li>
+ <li>r600g: use ptr for blit depth uncompress function</li>
+ <li>r600g: fix remaining piglit issue in new design</li>
+ <li>r600g: switch to new design</li>
+ <li>r600g: suspend/resume occlusion query around clear/copy</li>
+ <li>r600g: avoid rebuilding the vertex shader if no change to input format</li>
+ <li>r600g: use a hash table instead of group</li>
+ <li>r600g: delete old path</li>
+ <li>r600g: cleanup</li>
+ <li>r600g: more cleanup</li>
+ <li>r600g: use constant buffer instead of register for constant</li>
+ <li>r600g: fix constant &amp; literal src splitting, also fix mplayer gl2 shader</li>
+ <li>evergreeng: avoid overlapping border color btw VS &amp; PS</li>
+ <li>r600g: indentation fixes</li>
+ <li>r600g: rename radeon_ws_bo to r600_bo</li>
+ <li>r600g: allow r600_bo to be a sub allocation of a big bo</li>
+ <li>r600g: use r600_bo for relocation argument, simplify code</li>
+ <li>r600g: rename radeon_ws_bo to r600_bo</li>
+ <li>r600g: remove dead label &amp; fix indentation</li>
+ <li>r600g: store reloc information in bo structure</li>
+ <li>r600g: improve bo flushing</li>
+ <li>r600g: simplify block relocation</li>
+ <li>r600g: userspace fence to avoid kernel call for testing bo busy status</li>
+ <li>r600g: avoid segfault due to unintialized list pointer</li>
+ <li>r600g: fix dirty state handling</li>
+ <li>r600g: allow driver to work without submitting cmd to GPU</li>
+ <li>gallium/noop: no operation gallium driver</li>
+ <li>r600g: code cleanup (indent, trailing space, empty line ...)</li>
+ <li>r600g: fix occlusion query on evergreen (avoid lockup)</li>
+ <li>r600g: add fetch shader capabilities</li>
+ <li>r600g: dump raw shader output for debugging</li>
+ <li>r600g: update polygon offset only when rasterizer or zbuffer change</li>
+ <li>r600g: indentation fix</li>
+ <li>r600g: more indentation fix + warning silencing + dead code removal</li>
+ <li>r600g: build fetch shader from vertex elements</li>
+ <li>r600g: avoid useless shader rebuild at draw call</li>
+ <li>r600g: remove useless flush map</li>
+ <li>r600g: remove dead code</li>
+ <li>r600g: fix userspace fence against lastest kernel</li>
+ <li>r600g: avoid using pb* helper we are loosing previous cpu cycle with it</li>
+ <li>r600g: specialized upload manager</li>
+ <li>r600g: indentation cleanup</li>
+ <li>r600g: fix bo size when creating bo from handle</li>
+ <li>r600g: fix segfault when translating vertex buffer</li>
+ <li>r600g: need to reference upload buffer as the might still live accross flush</li>
+ <li>r600g: properly unset vertex buffer</li>
+ <li>r600g: avoid segfault</li>
+</ul></p>
+
+<p>Joakim Sindholt (3):
+<ul>
+ <li>util/u_blitter: fix leak</li>
+ <li>radeong: fix leaks</li>
+ <li>r300g: silence guard band cap errors</li>
+</ul></p>
+
+<p>Johann Rudloff (3):
+<ul>
+ <li>radeon: Implement EGL_MESA_no_surface_extension</li>
+ <li>radeon: Implement __DRI_IMAGE and EGL_MESA_image_drm</li>
+ <li>radeon: Implement GL_OES_EGL_image</li>
+</ul></p>
+
+<p>John Doe (3):
+<ul>
+ <li>r600g: misc cleanup</li>
+ <li>r600g: don't double count dirty block</li>
+ <li>r600g: keep a mapping around for each bo</li>
+</ul></p>
+
+<p>Jon TURNEY (1):
+<ul>
+ <li>Ensure -L$(TOP)/$(LIB_DIR) appears in link line before any -L in $LDFLAGS</li>
+</ul></p>
+
+<p>José Fonseca (128):
+<ul>
+ <li>gallivm: Fix address register swizzle.</li>
+ <li>gallivm: Start collecting bitwise arithmetic helpers in a new module.</li>
+ <li>gallivm: Clamp indirect register indices to file_max.</li>
+ <li>util: linearized sRGB values don't fit into 8bits</li>
+ <li>llvmpipe: Default to no threading on single processor systems.</li>
+ <li>tgsi: Don't ignore indirect registers in tgsi_check_soa_dependencies</li>
+ <li>llvmpipe: Describe how to profile llvmpipe.</li>
+ <li>llvmpipe: When failing free fs shader too.</li>
+ <li>util: Flush stdout on util_format.</li>
+ <li>gallivm: Add unorm support to lp_build_lerp()</li>
+ <li>llvmpipe: Special case complementary and identify blend factors in SoA.</li>
+ <li>llvmpipe: Make rgb/alpha bland func/factors match, when there is no alpha.</li>
+ <li>draw: Prevent clipped vertices overflow.</li>
+ <li>draw: Fullfil the new min_lod/max_lod/lod_bias/border_color dynamic state</li>
+ <li>gallivm: Fetch the lod from the dynamic state when min_lod == max_lod.</li>
+ <li>gallivm: Remove dead experimental code.</li>
+ <li>llvmpipe: Decouple sampler view and sampler state updates.</li>
+ <li>scons: New build= option, with support for checked builds.</li>
+ <li>scons: New build= option, with support for checked builds.</li>
+ <li>trace: Fix set_index_buffer and draw_vbo tracing.</li>
+ <li>python/retrace: Handle set_index_buffer and draw_vbo.</li>
+ <li>gallivm: Use SSE4.1's ROUNDSS/ROUNDSD for scalar rounding.</li>
+ <li>gallivm: More comprehensive border usage logic.</li>
+ <li>retrace: Handle clear_render_target and clear_depth_stencil.</li>
+ <li>llvmpipe: Dump a few missing shader key flags.</li>
+ <li>llvmpipe: Fix perspective interpolation for point sprites.</li>
+ <li>llvmpipe: Fix sprite coord perspective interpolation of Q.</li>
+ <li>gallivm: Take the type signedness in consideration in round/ceil/floor.</li>
+ <li>gallivm: Use a faster (and less accurate) log2 in lod computation.</li>
+ <li>gallivm: Fast implementation of iround(log2(x))</li>
+ <li>gallivm: Combined ifloor &amp; fract helper.</li>
+ <li>gallivm: Only apply min/max_lod when necessary.</li>
+ <li>gallivm: Compute lod as integer whenever possible.</li>
+ <li>util: Cleanup util_pack_z_stencil and friends.</li>
+ <li>llvmpipe: Cleanup depth-stencil clears.</li>
+ <li>gallivm: Vectorize the rho computation.</li>
+ <li>gallivm: Do not do mipfiltering when magnifying.</li>
+ <li>gallivm: Simplify lp_build_mipmap_level_sizes' interface.</li>
+ <li>gallivm: Don't compute the second mipmap level when frac(lod) == 0</li>
+ <li>gallivm: Use lp_build_ifloor_fract for lod computation.</li>
+ <li>gallivm: Clamp mipmap level and zero mip weight simultaneously.</li>
+ <li>gallivm: Fix copy'n'paste typo in previous commit.</li>
+ <li>gallivm: Implement brilinear filtering.</li>
+ <li>gallivm: Use the wrappers for SSE pack intrinsics.</li>
+ <li>gallivm: Avoid control flow for two-sided stencil test.</li>
+ <li>gallivm: Warn when doing inefficient integer comparisons.</li>
+ <li>gallivm: Move into the as much of the second level code as possible.</li>
+ <li>llvmpipe: First minify the texture size, then broadcast.</li>
+ <li>gallivm: Help for combined extraction and broadcasting.</li>
+ <li>gallivm: Do size computations simultanously for all dimensions (AoS).</li>
+ <li>llvmpipe: Prevent z &gt; 1.0</li>
+ <li>llvmpipe: Fix MSVC build. Enable the new SSE2 code on non SSE3 systems.</li>
+ <li>gallivm: Handle code have ret correctly.</li>
+ <li>util: Defined M_SQRT2 when not available.</li>
+ <li>gallivm: Less code duplication in log computation.</li>
+ <li>gallivm: Special bri-linear computation path for unmodified rho.</li>
+ <li>gallivm: Don't generate Phis for execution mask.</li>
+ <li>gallivm: Use varilables instead of Phis for cubemap selection.</li>
+ <li>gallivm: Remove support for Phi generation.</li>
+ <li>gallivm: Factor out the SI-&gt;FP texture size conversion for SoA path too</li>
+ <li>gallivm: Simplify if/then/else implementation.</li>
+ <li>gallivm: Cleanup the rest of the flow module.</li>
+ <li>gallivm: Fix a long standing bug with nested if-then-else emission.</li>
+ <li>gallivm: Allow to disable bri-linear filtering with GALLIVM_DEBUG=no_brilinear runtime option</li>
+ <li>gallivm: Use variables instead of Phis in loops.</li>
+ <li>gallivm: Pass texture coords derivates as scalars.</li>
+ <li>llvmpipe: Remove outdated comment about stencil testing.</li>
+ <li>gallivm: Eliminate unsigned integer arithmetic from texture coordinates.</li>
+ <li>gallium: Define C99 restrict keyword where absent.</li>
+ <li>tgsi: Export some names for some tgsi enums.</li>
+ <li>gallivm: More detailed analysis of tgsi shaders.</li>
+ <li>llvmpipe: Use lp_tgsi_info.</li>
+ <li>llvmpipe: Do not dispose the execution engine.</li>
+ <li>llvmpipe: Fix MSVC build.</li>
+ <li>llmvpipe: improve mm_mullo_epi32</li>
+ <li>gallivm: Name anonymous union.</li>
+ <li>llvmpipe: Unbreak Z32_FLOAT.</li>
+ <li>gallivm: More accurate float -&gt; 24bit &amp; 32bit unorm conversion.</li>
+ <li>llvmpipe: Generalize the x8z24 fast path to all depth formats.</li>
+ <li>llvmpipe: Fix depth-stencil regression.</li>
+ <li>llvmpipe: Ensure z_shift and z_width is initialized.</li>
+ <li>gallivm: Fix SoA cubemap derivative computation.</li>
+ <li>llvmpipe: Fix bad refactoring.</li>
+ <li>llvmpipe: Initialize bld ctx via lp_build_context_init instead of ad-hoc and broken code.</li>
+ <li>gallivm: Comment lp_build_insert_new_block().</li>
+ <li>gallivm: Add a note about SSE4.1's nearest mode rounding.</li>
+ <li>llvmpipe: Don't test rounding of x.5 numbers.</li>
+ <li>gallium: Avoid using __doc__ in python scripts.</li>
+ <li>gallivm: always enable LLVMAddInstructionCombiningPass()</li>
+ <li>gallivm: Remove the EMMS opcodes.</li>
+ <li>mesa: Fix windows build (uint -&gt; GLuint).</li>
+ <li>scons: Revamp how to specify targets to build.</li>
+ <li>scons: Fix MinGW cross-compilation.</li>
+ <li>scons: Some pipe drivers are not portable for MSVC</li>
+ <li>scons: Restore x11 tool behavior for backwards compatability.</li>
+ <li>scons: Disable python state tracker when swig is not present.</li>
+ <li>r600g: List recently added files in SConscript.</li>
+ <li>scons: Add aliases for several pipe drivers.</li>
+ <li>scons: i915 can't build on MSVC either.</li>
+ <li>scons: Propagate installation targets.</li>
+ <li>xorg/vmwgfx: Add missing source file to SConscript.</li>
+ <li>st/xorg: Add missing n to error message.</li>
+ <li>st/xorg: Detect libkms with scons too.</li>
+ <li>xorg/vmwgfx: Link libkms when available.</li>
+ <li>r600g: Swap the util_blitter_destroy call order.</li>
+ <li>gallivm: Allocate TEMP/OUT arrays only once.</li>
+ <li>libgl-gdi: Allow to pick softpipe/llvmpipe on runtime.</li>
+ <li>scons: Use inline wrap helpers more consistently.</li>
+ <li>svga: Use consistent hexadecimal representation on debug output.</li>
+ <li>scons: Alias for svga</li>
+ <li>wgl: Stub WGL_ARB_pbuffer support.</li>
+ <li>wgl: More complete WGL_ARB_pbuffer support.</li>
+ <li>svga: Silence debug printf.</li>
+ <li>scons: Move MSVS_VERSION option to common module.</li>
+ <li>vega: Remove extraneous ;</li>
+ <li>retrace: Some fixes.</li>
+ <li>util: C++ safe.</li>
+ <li>wgl: Fix double free. Remove dead code.</li>
+ <li>util: Plug leaks in util_destroy_gen_mipmap.</li>
+ <li>util: __builtin_frame_address() doesn't work on mingw.</li>
+ <li>util: Don't try to use imagehlp on mingw.</li>
+ <li>wgl: Unreference the current framebuffer after the make_current call.</li>
+ <li>WIN32_THREADS -&gt; WIN32</li>
+ <li>mapi: Hack to avoid vgCreateFont being generated as vgCreateFontA.</li>
+ <li>wgl: Fix visual's buffer_mask configuration.</li>
+ <li>mesa: Temporary hack to prevent stack overflow on windows</li>
+ <li>mesa: Bump the number of bits in the register index.</li>
+ <li>llvmpipe: Plug fence leaks.</li>
+</ul></p>
+
+<p>Julien Cristau (1):
+<ul>
+ <li>Makefile: don't include the same files twice in the tarball</li>
+</ul></p>
+
+<p>Keith Whitwell (89):
+<ul>
+ <li>llvmpipe: brackets around macro arg</li>
+ <li>llvmpipe: remove duplicate code</li>
+ <li>llvmpipe: return zero from floor_pot(zero)</li>
+ <li>gallivm: make lp_build_sample_nop public</li>
+ <li>llvmpipe: add LP_PERF flag to disable various aspects of rasterization</li>
+ <li>llvmpipe: add DEBUG_FS to dump variant information</li>
+ <li>llvmpipe: use llvm for attribute interpolant calculation</li>
+ <li>graw: add frag-face shader</li>
+ <li>llvmpipe: fix flatshading in new line code</li>
+ <li>draw: don't apply flatshading to clipped tris with &lt3 verts</li>
+ <li>llvmpipe: handle FACING interpolants in line and point setup</li>
+ <li>llvmpipe: handle up to 8 planes in triangle binner</li>
+ <li>llvmpipe: make debug_fs_variant respect variant-&gt;nr_samplers</li>
+ <li>gallivm: don't apply zero lod_bias</li>
+ <li>llvmpipe: fail gracefully on oom in scene creation</li>
+ <li>llvmpipe: avoid overflow in triangle culling</li>
+ <li>gallivm: special case conversion 4x4f to 1x16ub</li>
+ <li>gallivm: round rather than truncate in new 4x4f-&gt;1x16ub conversion path</li>
+ <li>llvmpipe: clean up setup_tri a little</li>
+ <li>llvmpipe: add rast_tri_4_16 for small lines and points</li>
+ <li>llvmpipe: fix off-by-one in tri_16</li>
+ <li>llvmpipe: defer attribute interpolation until after mask and ztest</li>
+ <li>llvmpipe: use alloca for fs color outputs</li>
+ <li>llvmpipe: store zero into all alloca'd values</li>
+ <li>llvmpipe: dump fragment shader ir and asm when LP_DEBUG=fs</li>
+ <li>gallivm: specialized x8z24 depthtest path</li>
+ <li>gallivm: prefer blendvb for integer arguments</li>
+ <li>gallivm: simpler uint8-&gt;float conversions</li>
+ <li>llvmpipe: try to be sensible about whether to branch after mask updates</li>
+ <li>llvmpipe: clean up shader pre/postamble, try to catch more early-z</li>
+ <li>llvmpipe: simplified SSE2 swz/unswz routines</li>
+ <li>llvmpipe: try to do more of rast_tri_3_16 with intrinsics</li>
+ <li>llvmpipe: add debug helpers for epi32 etc</li>
+ <li>llvmpipe: try to keep plane c values small</li>
+ <li>llvmpipe: fix typo in last commit</li>
+ <li>gallium: move sse intrinsics debug helpers to u_sse.h</li>
+ <li>r600g: add missing file to sconscript</li>
+ <li>gallivm: don't branch on KILLs near end of shader</li>
+ <li>Revert "llvmpipe: try to keep plane c values small"</li>
+ <li>llvmpipe: make sure intrinsics code is guarded with PIPE_ARCH_SSE</li>
+ <li>llvmpipe: don't try to emit non-existent color outputs</li>
+ <li>r600/drm: fix segfaults in winsys create failure path</li>
+ <li>r600g: emit hardware linewidth</li>
+ <li>r600g: handle absolute modifier in shader translator</li>
+ <li>llvmpipe: reintroduce SET_STATE binner command</li>
+ <li>llvmpipe: don't pass frontfacing as a float</li>
+ <li>llvmpipe: slightly shrink the size of a binned triangle</li>
+ <li>llvmpipe: don't store plane.ei value in binned data</li>
+ <li>gallium: move some intrinsics helpers to u_sse.h</li>
+ <li>llvmpipe: do plane calculations with intrinsics</li>
+ <li>llvmpipe: use aligned loads/stores for plane values</li>
+ <li>llvmpipe: fix non-sse build after recent changes</li>
+ <li>llvmpipe: check shader outputs are non-null before using</li>
+ <li>llvmpipe: validate color outputs against key-&gt;nr_cbufs</li>
+ <li>llvmpipe: clean up fields in draw_llvm_variant_key</li>
+ <li>llvmpipe: remove setup fallback path</li>
+ <li>llvmpipe: fail cleanly on malloc failure in lp_setup_alloc_triangle</li>
+ <li>Merge remote branch 'origin/master' into lp-setup-llvm</li>
+ <li>llvmpipe: remove unused file</li>
+ <li>llvmpipe: remove unused arg from jit_setup_tri function</li>
+ <li>Merge branch 'llvm-cliptest-viewport'</li>
+ <li>draw: make sure viewport gets updated in draw llvm shader</li>
+ <li>llvmpipe: turn off draw offset/twoside when we can handle it</li>
+ <li>llvmpipe: avoid generating tri_16 for tris which extend past tile bounds</li>
+ <li>llvmpipe: guard against NULL task-&gt;query pointer</li>
+ <li>st/mesa: unbind constant buffer when not in use</li>
+ <li>r600g: propagate usage flags in texture transfers</li>
+ <li>r600g: propogate resource usage flags to winsys, use to choose bo domains</li>
+ <li>r600g: use a buffer in GTT as intermediate on texture up and downloads</li>
+ <li>r600g: remove unused flink, domain fields from r600_resource</li>
+ <li>r600g: set hardware pixel centers according to gl_rasterization_rules</li>
+ <li>evergreeng: protect against null constant buffers</li>
+ <li>r600g: don't call debug_get_bool_option for tiling more than once</li>
+ <li>evergreeng: respect linewidth state, use integer widths only</li>
+ <li>evergreeng: set hardware pixelcenters according to gl_rasterization_rules</li>
+ <li>r600g: avoid recursion with staged uploads</li>
+ <li>r600g: attempt to turn on DXTn formats</li>
+ <li>r600g: translate ARR instruction</li>
+ <li>r600: fix my pessimism about PIPE_TRANSFER_x flags</li>
+ <li>ws/r600: match bo_busy shared/fence logic in bo_wait</li>
+ <li>r600g: guard experimental s3tc code with R600_ENABLE_S3TC</li>
+ <li>r600g: do not try to use staging resource for depth textures</li>
+ <li>r600g: enforce minimum stride on render target texture images</li>
+ <li>llvmpipe: fix up twoside after recent changes</li>
+ <li>llvmpipe: twoside for specular color also</li>
+ <li>Merge branch 'lp-offset-twoside'</li>
+ <li>llvmpipe: raise dirty flag on transfers to bound constbuf</li>
+ <li>llvmpipe: remove misleading debug string</li>
+ <li>llvmpipe: shortcircuit some calls to set_scene_state</li>
+</ul></p>
+
+<p>Kenneth Graunke (94):
+<ul>
+ <li>glsl: Change from has_builtin_signature to has_user_signature.</li>
+ <li>glsl: Don't print blank (function ...) headers for built-ins.</li>
+ <li>glsl: Properly handle nested structure types.</li>
+ <li>glsl/builtins: Fix equal and notEqual builtins.</li>
+ <li>glsl/builtins: Switch comparison functions to just return an expression.</li>
+ <li>glsl: Add comments to clarify the types of comparison binops.</li>
+ <li>glsl: Fix broken handling of ir_binop_equal and ir_binop_nequal.</li>
+ <li>glsl: "Copyright", not "Constantright"</li>
+ <li>i965: Fix incorrect batchbuffer size in gen6 clip state command.</li>
+ <li>i965: Use logical-not when emitting ir_unop_ceil.</li>
+ <li>glsl: Add front-end support for the "trunc" built-in.</li>
+ <li>glsl: Refresh autogenerated file builtin_function.cpp.</li>
+ <li>i965: Use RNDZ for ir_unop_trunc in the new FS.</li>
+ <li>i965: Correctly emit the RNDZ instruction.</li>
+ <li>i965: Clean up a warning in the old fragment backend.</li>
+ <li>glsl: Add a new ir_unop_round_even opcode for GLSL 1.30's roundEven.</li>
+ <li>glsl: Add front-end support for GLSL 1.30's roundEven built-in.</li>
+ <li>i965: Add support for ir_unop_round_even via the RNDE instruction.</li>
+ <li>glsl: Add support for the 1.30 round() built-in.</li>
+ <li>glsl: Refresh autogenerated file builtin_function.cpp.</li>
+ <li>glsl: Don't return NULL IR for erroneous bit-shift operators.</li>
+ <li>i965: Add missing "break" statement.</li>
+ <li>glsl: Fix copy and paste error in ast_bit_and node creation.</li>
+ <li>glsl: Regenerate parser files.</li>
+ <li>i965: Remove unused variable.</li>
+ <li>glsl: Remove useless ir_shader enumeration value.</li>
+ <li>mesa: Remove FEATURE_ARB_shading_language_120 macro.</li>
+ <li>glcpp: Return NEWLINE token for newlines inside multi-line comments.</li>
+ <li>glcpp: Refresh autogenerated lexer file.</li>
+ <li>glsl: Add support for GLSL 1.30's modf built-in.</li>
+ <li>glsl: Refresh autogenerated file builtin_function.cpp.</li>
+ <li>generate_builtins.py: Output large strings as arrays of characters.</li>
+ <li>Refresh autogenerated file builtin_function.cpp.</li>
+ <li>glsl: Fix constant component count in vector constructor emitting.</li>
+ <li>Fix build on systems where "python" is python 3.</li>
+ <li>i965: Add bit operation support to the fragment shader backend.</li>
+ <li>glsl: Remove unused ARRAY_SIZE macro.</li>
+ <li>glsl/builtins: Rename 'x' to 'y_over_x' in atan(float) implementation.</li>
+ <li>glsl/builtins: Clean up some ugly autogenerated code in atan.</li>
+ <li>Refresh autogenerated file builtin_function.cpp.</li>
+ <li>glsl: Don't print a useless space at the end of an S-Expression list.</li>
+ <li>ir_reader: Return a specific ir_dereference variant.</li>
+ <li>ir_reader: Remove useless error check.</li>
+ <li>ir_reader: Fix some potential NULL pointer dereferences.</li>
+ <li>ir_dead_functions: Actually free dead functions and signatures.</li>
+ <li>glsl: Remove unnecessary "unused variable" warning suppression.</li>
+ <li>glsl: Remove GLSL_TYPE_FUNCTION define.</li>
+ <li>glsl: Convert glsl_type::base_type from #define'd constants to an enum.</li>
+ <li>glsl: Rework reserved word/keyword handling in the lexer.</li>
+ <li>glsl: Add new keywords and reserved words for GLSL 1.30.</li>
+ <li>glsl: Add support for the 'u' and 'U' unsigned integer suffixes.</li>
+ <li>glsl: Refresh autogenerated lexer and parser files.</li>
+ <li>generate_builtins.py: Fix inconsistent use of tabs and spaces warning.</li>
+ <li>glsl: Implement the asinh, acosh, and atanh built-in functions.</li>
+ <li>glsl: Refresh autogenerated file builtin_function.cpp.</li>
+ <li>glsl: Add constant expression handling for asinh, acosh, and atanh.</li>
+ <li>glsl: Remove unused and out of date Makefile.am.</li>
+ <li>glsl: Rename various ir_* files to lower_* and opt_*.</li>
+ <li>glcpp: Define GL_FRAGMENT_PRECISION_HIGH if GLSL version &gt;= 1.30.</li>
+ <li>Refresh autogenerated glcpp parser.</li>
+ <li>glsl: Fix constant expression handling for &lt, &gt;, &lt=, &gt;= on vectors.</li>
+ <li>glsl: Unconditionally define GL_FRAGMENT_PRECISION_HIGH in ES2 shaders.</li>
+ <li>Regenerate glcpp parser.</li>
+ <li>glsl: Reimplement the "cross" built-in without ir_binop_cross.</li>
+ <li>Refresh autogenerated file builtin_function.cpp.</li>
+ <li>glsl: Remove the ir_binop_cross opcode.</li>
+ <li>glsl: Refactor get_num_operands.</li>
+ <li>glsl: Simplify a type check by using type-&gt;is_integer().</li>
+ <li>glsl: Combine many instruction lowering passes into one.</li>
+ <li>mesa: Fix glGet of ES2's GL_MAX_*_VECTORS properties.</li>
+ <li>glsl: Don't inline function prototypes.</li>
+ <li>glsl: Use do_common_optimization in the standalone compiler.</li>
+ <li>glsl: Add a virtual as_discard() method.</li>
+ <li>glsl: Refactor out cloning of function prototypes.</li>
+ <li>glsl: Lazily import built-in function prototypes.</li>
+ <li>glsl: Remove anti-built-in hacks from the print visitor.</li>
+ <li>glsl/linker: Free any IR discarded by optimization passes.</li>
+ <li>glsl: Add an optimization pass to simplify discards.</li>
+ <li>glsl: Add a lowering pass to move discards out of if-statements.</li>
+ <li>glsl: Remove "discard" support from lower_jumps.</li>
+ <li>glsl: Add comments to lower_jumps (from the commit message).</li>
+ <li>ir_print_visitor: Print out constant structure values.</li>
+ <li>glsl: Factor out code which emits a new function into the IR stream.</li>
+ <li>symbol_table: Add support for adding a symbol at top-level/global scope.</li>
+ <li>glsl: Properly add functions during lazy built-in prototype importing.</li>
+ <li>glcpp: Don't emit SPACE tokens in conditional_tokens production.</li>
+ <li>Refresh autogenerated glcpp parser.</li>
+ <li>glsl: Clean up code by adding a new is_break() function.</li>
+ <li>glsl: Consider the "else" branch when looking for loop breaks.</li>
+ <li>Remove OES_compressed_paletted_texture from the ES2 extension list.</li>
+ <li>glsl/builtins: Compute the correct value for smoothstep(vec, vec, vec).</li>
+ <li>glsl: Support if-flattening beyond a given maximum nesting depth.</li>
+ <li>i965: Flatten if-statements beyond depth 16 on pre-gen6.</li>
+ <li>i965: Internally enable GL_NV_blend_square on ES2.</li>
+</ul></p>
+
+<p>Kristian Høgsberg (16):
+<ul>
+ <li>glx: Hold on to drawables if we're just switching to another context</li>
+ <li>intel: Fix GL_ARB_shading_language_120 commit</li>
+ <li>dri2: Make createImageFromName() take a __DRIscreen instead of __DRIcontext</li>
+ <li>glx: Invalidate buffers after binding a drawable</li>
+ <li>dri: Pass the __DRIscreen and the __DRIscreen private back to image lookup</li>
+ <li>glx: Only remove drawables from the hash when we actually delete them</li>
+ <li>gles2: Add GL_EXT_texture_format_BGRA8888 support</li>
+ <li>Get rid of GL/internal/glcore.h</li>
+ <li>gl: Remove unused GLcontextModes fields</li>
+ <li>Rename GLvisual and __GLcontextModes to struct gl_config</li>
+ <li>Drop GLframebuffer typedef and just use struct gl_framebuffer</li>
+ <li>Drop GLcontext typedef and use struct gl_context instead</li>
+ <li>Drop the "neutral" tnl module</li>
+ <li>Only install vtxfmt tables for OpenGL</li>
+ <li>i965: Don't write mrf assignment for pointsize output</li>
+ <li>docs: Fix MESA_drm_image typo</li>
+</ul></p>
+
+<p>Krzysztof Smiechowicz (1):
+<ul>
+ <li>nvfx: Pair os_malloc_aligned() with os_free_aligned().</li>
+</ul></p>
+
+<p>Luca Barbieri (84):
+<ul>
+ <li>auxiliary: fix unintended fallthrough</li>
+ <li>glsl: add pass to lower variable array indexing to conditional assignments</li>
+ <li>auxiliary: fix depth-only and stencil-only clears</li>
+ <li>gallium: avoid the C++ keyword "template" in sw_winsys.h</li>
+ <li>softpipe: make z/s test always pass if no zsbuf, instead of crashing</li>
+ <li>tgsi: add switch/case opcodes to tgsi_opcode_tmp.h</li>
+ <li>softpipe: fix whitespace</li>
+ <li>d3d1x: add new Direct3D 10/11 COM state tracker for Gallium</li>
+ <li>d3d1x: add blob and signature extraction APIs</li>
+ <li>d3d1x: fix compilation with recent Wine versions installed</li>
+ <li>d3d1x: add missing file</li>
+ <li>d3d1x: actually enable and fix blob apis</li>
+ <li>d3d1x: fix build with compilers other than GCC 4.5</li>
+ <li>d3d1x: add template parameters to base class ctor calls for GCC 4.4</li>
+ <li>d3d1x: fix GCC 4.1/4.2 build</li>
+ <li>d3d1x: ignore errors while building docs</li>
+ <li>d3d1x: attempt to fix/workaround bug #30322</li>
+ <li>nvfx: remove gl_PointCoord hack</li>
+ <li>glx: decouple dri2.c and GLX, fixing Gallium EGL and d3d1x build</li>
+ <li>winsys: automatically build sw winsys needed by EGL and d3d1x</li>
+ <li>d3d1x: don't build progs automatically</li>
+ <li>d3d1x: add missing memory barrier</li>
+ <li>d3d1x: link with CXXFLAGS</li>
+ <li>d3d1x: fix cf analysis</li>
+ <li>d3d1x: fix warning</li>
+ <li>d3d1x: fix segfault when hashing</li>
+ <li>d3d1x: destroy native_display on adapter destruction</li>
+ <li>d3d1x: fix GUID declarations</li>
+ <li>d3d1x: redesign the HWND resolver interface</li>
+ <li>d3d1x: fix API name</li>
+ <li>d3d1x: define GUIDs in the normal way</li>
+ <li>d3d1x: add Wine dlls (tri, tex working, but no other testing)</li>
+ <li>d3d1x: properly reference count the backend</li>
+ <li>d3d1x: fix deadlocks on non-recursive mutex</li>
+ <li>d3d1x: bind NULL CSOs before destroying default CSOs on context dtor</li>
+ <li>d3d1x: initialize the mutex</li>
+ <li>d3d1x: autogenerate shader enums and text from def files</li>
+ <li>d3d1x: s/tpf/sm4/g</li>
+ <li>d3d1x: normalize whitespace</li>
+ <li>d3d1x: remove specstrings</li>
+ <li>d3d1x: minifix</li>
+ <li>d3d1x: rename context params</li>
+ <li>d3d11: rename screen params</li>
+ <li>d3d1x: rename params in misc and objects</li>
+ <li>d3d1x: rename parameters in dxgi</li>
+ <li>d3d11: obliterate IDL parameter names</li>
+ <li>d3d1x: remove specstrings.h include</li>
+ <li>d3d1x: flush the pipe context when presenting</li>
+ <li>d3d1x: remove another include specstrings.h</li>
+ <li>d3d1x: flush properly</li>
+ <li>d3d1x: add missing guid.cpp</li>
+ <li>d3d1x: fix build without system EGL/egl.h</li>
+ <li>d3d1x: add autogenerated files as prerequisites, so make builds them</li>
+ <li>d3d1x: obliterate IDL parameter names from d3d10.idl from Wine too</li>
+ <li>d3d1x: add shader dumping</li>
+ <li>d3d1x: add untested support for geometry shader translation</li>
+ <li>d3d1x: don't assert on unsupported resource types</li>
+ <li>d3d1x: fix CheckMultisampleQualityLevels</li>
+ <li>d3d1x: draw to the correct buffer</li>
+ <li>d3d1x: fix linking of dxbc2tgsi</li>
+ <li>nvfx: allow setting NULL constant buffers</li>
+ <li>nvfx: add RGB framebuffer format support in addition to BGR</li>
+ <li>d3d1x: don't crash on drivers not supporting vertex or geometry sampling</li>
+ <li>d3d1x: assert if X visual is not among enumerated visuals</li>
+ <li>d3d1x: stop using GLX in demos, just use the default visual</li>
+ <li>d3d1x: CRLF -&gt; LF in progs</li>
+ <li>mesa: make makedepend an hard requirement</li>
+ <li>gallium: add $(PROGS_DEPS) as dependencies for $(PROGS)</li>
+ <li>d3d1x: fix parallel build</li>
+ <li>d3d1x: add private gitignore file</li>
+ <li>d3d1x: fix progs linking if not all EGL platforms are enabled</li>
+ <li>d3d1x: link progs with CXXFLAGS</li>
+ <li>d3d11: advertise IDXGIDevice1, not just IDXGIDevice</li>
+ <li>d3d11: ignore StructureByteStride</li>
+ <li>d3d1x: link to libdrm for X11 platform too</li>
+ <li>ureg: support centroid interpolation</li>
+ <li>d3d1x: support centroid interpolation</li>
+ <li>d3d1x: properly support specifying MipLevels as 0</li>
+ <li>d3d1x: put proper calling convention in headers, fixes 64-bit builds</li>
+ <li>d3d1x: rework DXGI for occlusion testing and default width/height</li>
+ <li>d3d1x: fix Map</li>
+ <li>d3d11: fix reference counting so devices get freed</li>
+ <li>d3d1x: work around crash in widl</li>
+ <li>glsl: Unroll loops with conditional breaks anywhere (not just the end)</li>
+</ul></p>
+
+<p>Lucas Stach (1):
+<ul>
+ <li>nvfx: fill PIPE_CAP_PRIMITIVE_RESTART and PIPE_CAP_SHADER_STENCIL_EXPORT</li>
+</ul></p>
+
+<p>Marek Olšák (100):
+<ul>
+ <li>r300g: prevent creating multiple winsys BOs for the same handle</li>
+ <li>r300g/swtcl: fix CS overrun</li>
+ <li>st/mesa: fix assertion failure in GetTexImage for cubemaps</li>
+ <li>util: make calling remove_from_list multiple times in a row safe</li>
+ <li>r300g: fixup long-lived BO maps being incorrectly unmapped when flushing</li>
+ <li>r300g: make accessing map_list and buffer_handles thread-safe</li>
+ <li>r300g: fix a copy-paste typo for logging</li>
+ <li>r300g: fix the border color for every format other than PIPE_FORMAT_B8G8R8A8</li>
+ <li>Build r300g by default</li>
+ <li>util: fix util_pack_color for B4G4R4A4</li>
+ <li>r300g: fix macrotiling on R350</li>
+ <li>r300g: code cleanups</li>
+ <li>r300/compiler: fix projective mapping of 2D NPOT textures</li>
+ <li>r300/compiler: do not use copy propagation if SaturateMode is used</li>
+ <li>r300/compiler: fix shadow sampling with swizzled coords</li>
+ <li>r300g: add support for 3D NPOT textures without mipmapping</li>
+ <li>r300g: fix swizzling of texture border color</li>
+ <li>configure.ac: look for libdrm_radeon before building gallium/r300,r600</li>
+ <li>configure.ac: do not build xorg-r300g by default</li>
+ <li>Makefile: ensure Gallium's Makefile.xorg and SConscript.dri are in the tarball</li>
+ <li>r300g: add support for formats beginning with X, like X8R8G8B8</li>
+ <li>r300g: fix conditional rendering in non-wait path</li>
+ <li>r300g: add support for R8G8 colorbuffers</li>
+ <li>r300g: add support for L8A8 colorbuffers</li>
+ <li>update release notes for Gallium</li>
+ <li>r300g: fix microtiling for 16-bits-per-channel formats</li>
+ <li>r300g: do not print get_param errors in non-debug build</li>
+ <li>r300g: say no to PIPE_CAP_STREAM_OUTPUT and PIPE_CAP_PRIMITIVE_RESTART</li>
+ <li>mesa: allow FBO attachments of formats LUMINANCE, LUMINANCE_ALPHA, and INTENSITY</li>
+ <li>r300g: fix texture border for 16-bits-per-channel formats</li>
+ <li>st/mesa: support RGBA16 and use it for RGBA12 as well</li>
+ <li>r300g: add a default channel ordering of texture border for unhandled formats</li>
+ <li>r300g: mention ATI in the renderer string</li>
+ <li>r300g: rename has_hyperz -&gt; can_hyperz</li>
+ <li>r300g: turn magic numbers into names in the hyperz code</li>
+ <li>gallium: add CAPs for indirect addressing and lower it in st/mesa when needed</li>
+ <li>tgsi: fill out CAPs for indirect addressing</li>
+ <li>i915g: fill out CAPs for indirect addressing</li>
+ <li>i965g: fill out CAPs for indirect addressing</li>
+ <li>nv50: fill out CAPs for indirect addressing</li>
+ <li>nvfx: fill out CAPs for indirect addressing</li>
+ <li>r300g: fill out CAPs for indirect addressing</li>
+ <li>r600g: fill out CAPs for indirect addressing</li>
+ <li>svga: fill out CAPs for indirect addressing</li>
+ <li>r300g: fix texture border color for all texture formats</li>
+ <li>r300g: clean up redundancy in draw functions</li>
+ <li>r300g: return shader caps from Draw for SWTCL vertex shaders</li>
+ <li>r300g: remove the hack with OPCODE_RET</li>
+ <li>r300g: print FS inputs uninitialized due to hardware limits to stderr</li>
+ <li>r300g: fix rendering with no vertex elements</li>
+ <li>st/mesa: enable ARB_explicit_attrib_location and EXT_separate_shader_objects</li>
+ <li>docs: add GL 4.1 status</li>
+ <li>gallium: add PIPE_SHADER_CAP_SUBROUTINES</li>
+ <li>st/mesa: set MaxUniformComponents</li>
+ <li>u_blitter: use PIPE_TRANSFER_DISCARD to prevent cpu/gpu stall</li>
+ <li>r300/compiler: fix rc_rewrite_depth_out for it to work with any instruction</li>
+ <li>r300/compiler: remove duplicate function rc_mask_to_swz</li>
+ <li>r300/compiler: add a function for swizzling a mask</li>
+ <li>r300/compiler: move util functions to radeon_compiler_util</li>
+ <li>u_blitter: interpolate clear color using a GENERIC varying instead of COLOR</li>
+ <li>st/mesa: fix texture border color for RED and RG base formats</li>
+ <li>util: rename u_mempool -&gt; u_slab</li>
+ <li>r300g: fix texture border color once again</li>
+ <li>r300/compiler: implement and lower OPCODE_CLAMP</li>
+ <li>ir_to_mesa: Add support for conditional discards.</li>
+ <li>r300g: fix texture swizzling with compressed textures on r400-r500</li>
+ <li>r300g: disable ARB_texture_swizzle if S3TC is enabled on r3xx-only</li>
+ <li>r300g: fix up cubemap texture offset computation</li>
+ <li>r300/compiler: disable the swizzle lowering pass in vertex shaders</li>
+ <li>r300g: fix build</li>
+ <li>r300g: use internal BO handle for add_buffer and write_reloc</li>
+ <li>r300g: implement simple transfer_inline_write for buffers</li>
+ <li>mesa, st/mesa: fix gl_FragCoord with FBOs in Gallium</li>
+ <li>r300g: fix pointer arithmetic with void* in transfer_inline_write</li>
+ <li>r300g: do not remove unused constants if we are not near the limit</li>
+ <li>r300g: add capability bit index_bias_supported</li>
+ <li>r300g: one more r500_index_bias_supported leftover</li>
+ <li>r300g: do not use the index parameter in set_constant_buffer</li>
+ <li>r300g: cleanup winsys</li>
+ <li>r300g: optimize looping over atoms</li>
+ <li>st/mesa: initialize key in st_vp_varient</li>
+ <li>u_blitter: use util_is_format_compatible in the assert</li>
+ <li>r300g: cache packet dwords of 3D_LOAD_VBPNTR in a command buffer if possible</li>
+ <li>r300g: validate buffers only if any of bound buffers is changed</li>
+ <li>r300g: also revalidate the SWTCL vertex buffer after its reallocation</li>
+ <li>r300/compiler: don't terminate regalloc if we surpass max temps limit</li>
+ <li>r300/compiler: add a function to query program stats (alu, tex, temps..)</li>
+ <li>r300/compiler: cleanup rc_run_compiler</li>
+ <li>r300/compiler: do not print pair/tex/presub program stats for vertex shaders</li>
+ <li>r300/compiler: handle DPH and XPD in rc_compute_sources_for_writemask</li>
+ <li>r300/compiler: make lowering passes possibly use up to two less temps</li>
+ <li>r300/compiler: remove at least unused immediates if externals cannot be removed</li>
+ <li>r300/compiler: fix LIT in VS</li>
+ <li>r300/compiler: fix swizzle lowering with a presubtract source operand</li>
+ <li>r300g: fix rendering with a vertex attrib having a zero stride</li>
+ <li>r300g: finally fix the texture corruption on r3xx-r4xx</li>
+ <li>r300g/swtcl: re-enable LLVM</li>
+ <li>r300g: mark vertex arrays as dirty after a buffer_offset change</li>
+ <li>mesa: fix texel store functions for some float formats</li>
+ <li>r300/compiler: disable the rename_regs pass for loops</li>
+</ul></p>
+
+<p>Mario Kleiner (1):
+<ul>
+ <li>mesa/r300classic: Fix dri2Invalidate/radeon_prepare_render for page flipping.</li>
+</ul></p>
+
+<p>Mathias Fröhlich (3):
+<ul>
+ <li>r300g: Avoid returning values in a static array, fixing a potential race</li>
+ <li>r600g: Only compare active vertex elements</li>
+ <li>st/mesa: Set PIPE_TRANSFER_DISCARD for GL_MAP_INVALIDATE_RANGE/BUFFFER_BIT</li>
+</ul></p>
+
+<p>Michal Krol (10):
+<ul>
+ <li>svga: Fix relative addressing translation for pixel shaders.</li>
+ <li>svga: Integer constant register file has a separate namespace.</li>
+ <li>tgsi/exec: Cleanup the remaining arithmetic instructions.</li>
+ <li>tgsi/exec: Get rid of obsolete condition codes.</li>
+ <li>tgsi/build: Reduce interface clutter.</li>
+ <li>graw/gdi: Initial commit.</li>
+ <li>scons: Hook-up graw-gdi target.</li>
+ <li>graw/gdi: Fix window dimensions.</li>
+ <li>os: Open file streams in binary mode.</li>
+ <li>graw: Export graw_save_surface_to_file().</li>
+</ul></p>
+
+<p>Nicolas Kaiser (26):
+<ul>
+ <li>swrast: remove duplicated include</li>
+ <li>egl: remove duplicated include</li>
+ <li>gallium/rtasm: remove duplicated include</li>
+ <li>gallium/util: remove duplicated include</li>
+ <li>gallium/i915: remove duplicated include</li>
+ <li>gallium/llvmpipe: remove duplicated include</li>
+ <li>gallium/softpipe: remove duplicated include</li>
+ <li>gallium/st: remove duplicated includes</li>
+ <li>gallium/winsys: remove duplicated include</li>
+ <li>glx: remove duplicated include</li>
+ <li>dri/common: remove duplicated include</li>
+ <li>dri/i810: remove duplicated include</li>
+ <li>dri/i915: remove duplicated include</li>
+ <li>dri/i965: remove duplicated include</li>
+ <li>dri/intel: remove duplicated include</li>
+ <li>dri/mga: remove duplicated include</li>
+ <li>dri/r128: remove duplicated include</li>
+ <li>dri/r300: remove duplicated include</li>
+ <li>dri/r600: remove duplicated include</li>
+ <li>dri/radeon: remove duplicated includes</li>
+ <li>dri/savage: remove duplicated include</li>
+ <li>main: remove duplicated includes</li>
+ <li>math: remove duplicated includes</li>
+ <li>st: remove duplicated include</li>
+ <li>i965g: use Elements macro instead of manual sizeofs</li>
+ <li>nv50: fix always true conditional in shader optimization</li>
+</ul></p>
+
+<p>Orion Poplawski (1):
+<ul>
+ <li>osmesa: link against libtalloc</li>
+</ul></p>
+
+<p>Owen W. Taylor (1):
+<ul>
+ <li>r600g: Fix location for clip plane registers</li>
+</ul></p>
+
+<p>Peter Clifton (3):
+<ul>
+ <li>intel: Fix emit_linear_blit to use DWORD aligned width blits</li>
+ <li>intel: Add assert check for blitting alignment.</li>
+ <li>meta: Mask Stencil.Clear against stencilMax in _mesa_meta_Clear</li>
+</ul></p>
+
+<p>Robert Hooker (2):
+<ul>
+ <li>intel: Add a new B43 pci id.</li>
+ <li>egl_dri2: Add missing intel chip ids.</li>
+</ul></p>
+
+<p>Roland Scheidegger (16):
+<ul>
+ <li>gallivm: fix copy&amp;paste bug</li>
+ <li>gallivm: don't use URem/UDiv when calculating offsets for blocks</li>
+ <li>gallivm: optimize yuv decoding</li>
+ <li>gallivm: fix trunc/itrunc comment</li>
+ <li>gallivm: faster iround implementation for sse2</li>
+ <li>gallivm: replace sub/floor/ifloor combo with ifloor_fract</li>
+ <li>gallivm: optimize some tex wrap mode calculations a bit</li>
+ <li>gallivm: more linear tex wrap mode calculation simplification</li>
+ <li>gallivm: avoid unnecessary URem in linear wrap repeat case</li>
+ <li>gallivm: optimize soa linear clamp to edge wrap mode a bit</li>
+ <li>gallivm: make use of new iround code in lp_bld_conv.</li>
+ <li>gallivm: fix different handling of [non]normalized coords in linear soa path</li>
+ <li>gallivm: only use lp_build_conv 4x4f -&gt; 1x16 ub fastpath with sse2</li>
+ <li>r200: fix r200 large points</li>
+ <li>mesa: remove unneeded DD_POINT_SIZE and DD_LINE_WIDTH tricaps</li>
+ <li>gallium: support for array textures and related changes</li>
+</ul></p>
+
+<p>Shuang He (1):
+<ul>
+ <li>mesa: allow GLfixed arrays for OpenGL ES 2.0</li>
+</ul></p>
+
+<p>Stephan Schmid (1):
+<ul>
+ <li>r600g: fix relative addressing when splitting constant accesses</li>
+</ul></p>
+
+<p>Thomas Hellstrom (21):
+<ul>
+ <li>st/xorg: Don't try to use option values before processing options</li>
+ <li>xorg/vmwgfx: Make vmwarectrl work also on 64-bit servers</li>
+ <li>st/xorg: Add a customizer option to get rid of annoying cursor update flicker</li>
+ <li>xorg/vmwgfx: Don't hide HW cursors when updating them</li>
+ <li>st/xorg: Don't try to remove invalid fbs</li>
+ <li>st/xorg: Fix typo</li>
+ <li>st/xorg, xorg/vmwgfx: Be a bit more frendly towards cross-compiling environments</li>
+ <li>st/xorg: Fix compilation errors for Xservers compiled without Composite</li>
+ <li>st/xorg: Don't use deprecated x*alloc / xfree functions</li>
+ <li>xorg/vmwgfx: Don't use deprecated x*alloc / xfree functions</li>
+ <li>st/xorg: Fix compilation for Xservers &gt;= 1.10</li>
+ <li>mesa: Make sure we have the talloc cflags when using the talloc headers</li>
+ <li>egl: Add an include for size_t</li>
+ <li>mesa: Add talloc includes for gles</li>
+ <li>st/egl: Fix build for include files in nonstandard places</li>
+ <li>svga/drm: Optionally resolve calls to powf during link-time</li>
+ <li>gallium/targets: Trivial crosscompiling fix</li>
+ <li>st/xorg: Add a function to flush pending rendering and damage</li>
+ <li>gallium/targets/xorg-vmwgfx: Xv fixes</li>
+ <li>xorg/vmwgfx: Flush even if we don't autopaint the color key</li>
+ <li>xorg/vmwgfx: Don't clip video to viewport</li>
+</ul></p>
+
+<p>Tilman Sauerbeck (35):
+<ul>
+ <li>r600g: Fixed a bo leak in r600_blit_state_ps_shader().</li>
+ <li>r600g: Use clamped math for RCP and RSQ.</li>
+ <li>r600g: Formatting fixes.</li>
+ <li>r600g: Added DB_SHADER_CONTROL defines.</li>
+ <li>r600g: Only set PA_SC_EDGERULE on rv770 and greater.</li>
+ <li>r600g: Enable PIPE_SHADER_CAP_TGSI_CONT_SUPPORTED.</li>
+ <li>r600g: Fixed the shift in S_02880C_KILL_ENABLE.</li>
+ <li>glsl2: Empty functions can be inlined.</li>
+ <li>glsl2: Fixed cloning of ir_call error instructions.</li>
+ <li>r600g: Added support for TGSI_SEMANTIC_FACE.</li>
+ <li>gallium/docs: Fixed a typo in the SCS opcode description.</li>
+ <li>r600g: Honour destination operand's writemask in the SCS implementation.</li>
+ <li>r600g: Implemented the Z and W component write for the SCS opcode.</li>
+ <li>python/tests: Fixed tri.py for API and TGSI syntax changes.</li>
+ <li>r600g: Removed debug code.</li>
+ <li>gallium/docs: The RET opcode may appear anywhere in a subroutine.</li>
+ <li>r600g: Destroy the blitter.</li>
+ <li>r600g: Fixed two texture surface leaks in r600_blit_uncompress_depth().</li>
+ <li>r600g: Cleaned up index buffer reference handling in the draw module.</li>
+ <li>r600g: Fixed r600_vertex_element leak.</li>
+ <li>r600g: Added r600_pipe_shader_destroy().</li>
+ <li>r600g: Also clear bc data when we're destroying a shader.</li>
+ <li>r600g: In radeon_bo(), call LIST_INITHEAD early.</li>
+ <li>r600g: Destroy the blitter.</li>
+ <li>r600g: Removed unused 'ptr' argument from radeon_bo().</li>
+ <li>r600g: Made radeon_bo_pb_map_internal() actually call radeon_bo_map().</li>
+ <li>r600g: Fixed unmap condition in radeon_bo_pb_destroy().</li>
+ <li>r600g: Made radeon_bo::map_count signed.</li>
+ <li>r600g: We don't support PIPE_CAP_PRIMITIVE_RESTART.</li>
+ <li>r600g: Delete custom_dsa_flush on shutdown.</li>
+ <li>r600g: Fixed two memory leaks in winsys.</li>
+ <li>r600g: Destroy the winsys in r600_destroy_screen().</li>
+ <li>st/mesa: Reset the index buffer before destroying the pipe context.</li>
+ <li>st/mesa: Reset the constant buffers before destroying the pipe context.</li>
+ <li>r600g: Removed duplicated call to tgsi_split_literal_constant().</li>
+</ul></p>
+
+<p>Timo Wiren (1):
+<ul>
+ <li>Fix typos in comments and debug output strings.</li>
+</ul></p>
+
+<p>Tom Fogal (3):
+<ul>
+ <li>Implement x86_64 atomics for compilers w/o intrinsics.</li>
+ <li>Prefer intrinsics to handrolled atomic ops.</li>
+ <li>Revert "Prefer intrinsics to handrolled atomic ops."</li>
+</ul></p>
+
+<p>Tom Stellard (32):
+<ul>
+ <li>r300/compiler: Refactor the pair instruction data structures</li>
+ <li>r300g: Always try to build libr300compiler.a</li>
+ <li>r300/compiler: Fix two mistakes in the presubtract optimization pass.</li>
+ <li>r300/compiler: Add more helper functions for iterating through sources</li>
+ <li>r300/compiler: Print immediate values after "dead constants" pass</li>
+ <li>r300/compiler: radeon_remove_constants.c: fix indentation</li>
+ <li>r300/compiler: Use rc_for_all_reads_src() in "dead constants" pass</li>
+ <li>r300/compiler: Fix segfault in error path</li>
+ <li>r300/compiler: Don't use rc_error() unless the error is unrecoverable</li>
+ <li>r300/compiler: Don't merge instructions that write output regs and ALU result</li>
+ <li>r300/compiler: Create a helper function for merging presubtract sources</li>
+ <li>r300/compiler: Fix incorrect assumption</li>
+ <li>r300/compiler: Clear empty registers after constant folding</li>
+ <li>r300/compiler: Add a new function for more efficient dataflow analysis</li>
+ <li>r300g: Add new debug option for logging vertex/fragment program stats</li>
+ <li>r300/compiler: Use rc_get_readers_normal() for presubtract optimizations</li>
+ <li>r300/compiler: Don't clobber presubtract sources during optimizations</li>
+ <li>r300/compiler: Don't track readers into an IF block.</li>
+ <li>r300/compiler: Make sure presubtract sources use supported swizzles</li>
+ <li>r300/compiler: Fix register allocator's handling of loops</li>
+ <li>r300/compiler: Fix instruction scheduling within IF blocks</li>
+ <li>r300/compiler: Use zero as the register index for unused sources</li>
+ <li>r300/compiler: Ignore alpha dest register when replicating the result</li>
+ <li>r300/compiler: Add rc_get_readers()</li>
+ <li>r300/compiler: Handle BREAK and CONTINUE in rc_get_readers()</li>
+ <li>r300/compiler: Track readers through branches in rc_get_readers()</li>
+ <li>r300/compiler: Convert RGB to alpha in the scheduler</li>
+ <li>r300/compiler: Use presubtract operations as much as possible</li>
+ <li>r300/compiler: Enable rename_reg pass for r500 cards</li>
+ <li>r300/compiler: Add a more efficient version of rc_find_free_temporary()</li>
+ <li>r300/compiler: Don't allow presubtract sources to be remapped twice</li>
+ <li>r300/compiler: Fix black terrain in Civ4</li>
+</ul></p>
+
+<p>Victor Tseng (1):
+<ul>
+ <li>egl/i965: include inline_wrapper_sw_helper.h</li>
+</ul></p>
+
+<p>Viktor Novotný (6):
+<ul>
+ <li>dri/nouveau: Import headers from rules-ng-ng</li>
+ <li>dri/nouveau: nv04: Use rules-ng-ng headers</li>
+ <li>dri/nouveau: nv10: Use rules-ng-ng headers</li>
+ <li>dri/nouveau nv20: Use rules-ng-ng headers</li>
+ <li>dri/nouveau: Remove nouveau_class.h, finishing switch to rules-ng-ng headers</li>
+ <li>dri/nouveau: Clean up magic numbers in get_rt_format</li>
+</ul></p>
+
+<p>Vinson Lee (214):
+<ul>
+ <li>llvmpipe: Remove unnecessary header.</li>
+ <li>r600g: Remove unnecessary headers.</li>
+ <li>mesa: Include missing header in program.h.</li>
+ <li>glsl: Fix 'format not a string literal and no format arguments' warning.</li>
+ <li>r600g: Silence uninitialized variable warning.</li>
+ <li>r600g: Silence uninitialized variable warning.</li>
+ <li>nvfx: Silence uninitialized variable warnings.</li>
+ <li>r600g: Silence uninitialized variable warning.</li>
+ <li>r600g: Silence uninitialized variable warning.</li>
+ <li>r600g: Silence uninitialized variable warning.</li>
+ <li>r600g: Silence unused variable warning.</li>
+ <li>nv50: Update files in SConscript to match Makefile.</li>
+ <li>nv50: Remove unnecessary headers.</li>
+ <li>nv50: Silence uninitialized variable warning.</li>
+ <li>nv50: Silence uninitialized variable warning.</li>
+ <li>nv50: Silence uninitialized variable warning.</li>
+ <li>gallivm: Remove unnecessary headers.</li>
+ <li>draw: Remove unnecessary header.</li>
+ <li>nv50: Silence uninitialized variable warnings.</li>
+ <li>nv50: Fix 'control reaches end of non-void function' warning.</li>
+ <li>mesa/st: Silence uninitialized variable warning.</li>
+ <li>gallivm: Remove unnecessary header.</li>
+ <li>r600g: Remove unnecessary header.</li>
+ <li>r600g: Remove unnecessary headers.</li>
+ <li>r600g: Fix implicit declaration warning.</li>
+ <li>r600g: Fix memory leak on error path.</li>
+ <li>r600g: Silence uninitialized variable warning.</li>
+ <li>r600g: Silence unused variable warnings.</li>
+ <li>mesa: bump version to 7.10</li>
+ <li>ir_to_mesa: Remove unused member array_indexed from struct statevar_element.</li>
+ <li>mesa: Silence "'valid_texture_object' defined but not used" warning.</li>
+ <li>x86: Silence unused variable warning on Mac OS X.</li>
+ <li>glsl: Fix 'control reaches end of non-void function' warning.</li>
+ <li>nvfx: Remove const qualifer from nvfx_vertprog_translate.</li>
+ <li>nvfx: Silence uninitialized variable warnings.</li>
+ <li>r600g: Remove unused variable.</li>
+ <li>nv50: Silence missing initializer warning.</li>
+ <li>nv50: Remove dead initialization.</li>
+ <li>nv50: Remove dead initialization.</li>
+ <li>tgsi: Remove duplicate case value.</li>
+ <li>glut: Define markWindowHidden for non-Windows only.</li>
+ <li>glut: Define eventParser for non-Windows only.</li>
+ <li>r300g: Silence uninitialized variable warning.</li>
+ <li>intel: Fix implicit declaration of function '_mesa_meta_Bitmap' warning.</li>
+ <li>mesa: Remove unnecessary headers.</li>
+ <li>r600g: Remove unnecessary header.</li>
+ <li>unichrome: Remove unnecessary header.</li>
+ <li>intel: Remove unnecessary headers.</li>
+ <li>r600g: Remove unused variable.</li>
+ <li>r600g: Disable unused variables.</li>
+ <li>r600g: Remove unused variable.</li>
+ <li>r600g: Silence 'control reaches end of non-void function' warning.</li>
+ <li>r600g: Remove unused variable.</li>
+ <li>r600g: Remove unused variable.</li>
+ <li>r600g: Disable unused variables.</li>
+ <li>intel: Remove unnecessary header.</li>
+ <li>st/dri: Remove unnecessary header.</li>
+ <li>r600g: Remove unused variable.</li>
+ <li>r300g: Remove unused variable.</li>
+ <li>r600g: Don't return a value in function returning void.</li>
+ <li>r600g: Remove unused variables.</li>
+ <li>r600g: Include p_compiler.h instead of malloc.h.</li>
+ <li>r600g: Silence uninitialized variable warnings.</li>
+ <li>scons: Add MinGW-w64 prefixes for MinGW build.</li>
+ <li>dri: Add GET_PROGRAM_NAME definition for Mac OS X.</li>
+ <li>scons: Add program/sampler.cpp to SCons build.</li>
+ <li>mesa: Fix printf format warning.</li>
+ <li>mesa: Fix printf format warning.</li>
+ <li>mesa: Fix printf format warning.</li>
+ <li>r300/compiler: Move declaration before code.</li>
+ <li>r300/compiler: Move declaration before code.</li>
+ <li>r300/compiler: Move declaration before code.</li>
+ <li>r300/compiler: Move declaration before code.</li>
+ <li>r600g: Update SConscript.</li>
+ <li>r300/compiler: Move declaration before code.</li>
+ <li>r600g: Update SConscript.</li>
+ <li>r300/compiler: Move declaration before code.</li>
+ <li>r600g: Update SConscript.</li>
+ <li>r300/compiler: Move declaration before code.</li>
+ <li>r600g: Fix SCons build.</li>
+ <li>r300/compiler: Move declaration before code.</li>
+ <li>r300/compiler: Move declaration before code.</li>
+ <li>r300/compiler: Move declaration before code.</li>
+ <li>r300/compiler: Remove declaration before code.</li>
+ <li>r300/compiler: Move declaration before code.</li>
+ <li>r300/compiler: Move declaration before code.</li>
+ <li>r300/compiler: Move declaration before code.</li>
+ <li>r300/compiler: Move declaration before code.</li>
+ <li>glsl: Remove unnecessary header.</li>
+ <li>savage: Remove unnecessary header.</li>
+ <li>r600g: Remove unused variable.</li>
+ <li>r600g: Remove unnecessary headers.</li>
+ <li>r600g: Fix SCons build.</li>
+ <li>r600g: Remove unnecessary header.</li>
+ <li>gallivm: Remove unnecessary header.</li>
+ <li>r600g: Silence uninitialized variable warning.</li>
+ <li>r600g: Silence uninitialized variable warning.</li>
+ <li>r600g: Silence uninitialized variable warning.</li>
+ <li>i915: Silence unused variable warning in non-debug builds.</li>
+ <li>i915: Silence unused variable warning in non-debug builds.</li>
+ <li>i965: Silence unused variable warning on non-debug builds.</li>
+ <li>i965: Silence unused variable warning on non-debug builds.</li>
+ <li>i965: Initialize member variables.</li>
+ <li>r300: Silence uninitialized variable warning.</li>
+ <li>tdfx: Silence unused variable warning on non-debug builds.</li>
+ <li>gallivm: Remove unnecessary header.</li>
+ <li>glsl: Initialize variable in ir_derefence_array::constant_expression_value</li>
+ <li>mesa: Add missing header to shaderobj.h.</li>
+ <li>llvmpipe: Return non-zero exit code for lp_test_round failures.</li>
+ <li>r300/compiler: Remove unused variable.</li>
+ <li>st/xorg: Fix memory leak on error path.</li>
+ <li>llvmpipe: Initialize state variable in debug_bin function.</li>
+ <li>llvmpipe: Initialize variable.</li>
+ <li>draw: Move loop variable declaration outside for loop.</li>
+ <li>r600g: Ensure r600_src is initialized in tgsi_exp function.</li>
+ <li>glsl: Add assert for unhandled ir_shader case.</li>
+ <li>swrast: Print out format on unexpected failure in _swrast_DrawPixels.</li>
+ <li>llvmpipe: Remove unnecessary header.</li>
+ <li>draw: Remove unnecessary header.</li>
+ <li>gallivm: Silence uninitialized variable warnings.</li>
+ <li>gallivm: Silence uninitialized variable warnings.</li>
+ <li>gallivm: Silence uninitialized variable warning.</li>
+ <li>r300g: Silence uninitialized variable warning.</li>
+ <li>mesa: Remove unnecessary headers.</li>
+ <li>r600g: Silence uninitialized variable warnings.</li>
+ <li>st/mesa: Remove unnecessary header.</li>
+ <li>mesa: Remove unnecessary header.</li>
+ <li>egl: Remove unnecessary headers.</li>
+ <li>swrast: Print out format on unexpected failure in _swrast_ReadPixels.</li>
+ <li>st/mesa: Silence uninitialized variable warning.</li>
+ <li>savage: Remove unnecessary header.</li>
+ <li>st/vega: Remove unnecessary headers.</li>
+ <li>dri/nouveau: Silence uninitialized variable warning.</li>
+ <li>r300/compiler: Move declaration before code.</li>
+ <li>r300/compiler: Move declaration before code.</li>
+ <li>i965: Silence uninitialized variable warning.</li>
+ <li>i965: Silence uninitialized variable warning.</li>
+ <li>mesa: Clean up header file inclusion in accum.h.</li>
+ <li>mesa: Clean up header file inclusion in version.h.</li>
+ <li>mesa: Clean up header file inclusion in api_loopback.h.</li>
+ <li>mesa: Clean up header file inclusion in api_validate.h.</li>
+ <li>mesa: Include mfeatures.h in api_loopback for FEATURE_beginend.</li>
+ <li>mesa: Include mfeatures.h in api_validate.c for FEATURE_* symbols.</li>
+ <li>mesa: Clean up header file inclusion in arrayobj.h.</li>
+ <li>mesa: Clean up header file inclusion in atifragshader.h.</li>
+ <li>mesa: Clean up header file inclusion in attrib.h.</li>
+ <li>mesa: Clean up header file inclusion in blend.h.</li>
+ <li>mesa: Clean up header file inclusion in buffers.h.</li>
+ <li>mesa: Clean up header file inclusion in colortab.h.</li>
+ <li>mesa: Clean up header file inclusion in convolve.h.</li>
+ <li>mesa: Clean up header file inclusion in debug.h.</li>
+ <li>mesa: Clean up header file inclusion in depth.h.</li>
+ <li>mesa: Clean up header file inclusion in depthstencil.h.</li>
+ <li>mesa: Clean up header file inclusion in drawpix.h.</li>
+ <li>mesa: Clean up header file inclusion in drawtex.h.</li>
+ <li>mesa: Clean up header file inclusion in enable.h.</li>
+ <li>mesa: Clean up header file inclusion in extensions.h.</li>
+ <li>graw: Add struct pipe_surface forward declaration.</li>
+ <li>mesa: Clean up header file inclusion in fbobject.h.</li>
+ <li>mesa: Clean up header file inclusion in ffvertex_prog.h.</li>
+ <li>mesa: Clean up header file inclusion in fog.h.</li>
+ <li>mesa: Clean up header file inclusion in framebuffer.h.</li>
+ <li>mesa: Clean up header file inclusion in hint.h.</li>
+ <li>mesa: Clean up header file inclusion in histogram.h.</li>
+ <li>mesa: Clean up header file inclusion in image.h.</li>
+ <li>mesa: Add missing header and forward declarations in dd.h.</li>
+ <li>mesa: Clean up header file inclusion in light.h.</li>
+ <li>mesa: Clean up header file inclusion in lines.h.</li>
+ <li>mesa: Clean up header file inclusion in matrix.h.</li>
+ <li>mesa: Clean up header file inclusion in multisample.h.</li>
+ <li>mesa: Clean up header file inclusion in nvprogram.h.</li>
+ <li>winsys/xlib: Add cygwin to SConscript.</li>
+ <li>mesa: Clean up header file inclusion in pixel.h.</li>
+ <li>mesa: Clean up header file inclusion in pixelstore.h.</li>
+ <li>mesa: Fix printf format warnings.</li>
+ <li>mesa: Clean up header file inclusion in points.h.</li>
+ <li>i965: Silence uninitialized variable warning.</li>
+ <li>glsl: Add ir_constant_expression.cpp to SConscript.</li>
+ <li>mesa: Add definitions for inverse hyperbolic function on MSVC.</li>
+ <li>glsl: Fix 'control reaches end of non-void function' warning.</li>
+ <li>glsl: Add lower_vector.cpp to SConscript.</li>
+ <li>glsl: Fix type of label 'default' in switch statement.</li>
+ <li>st/mesa: Remove unnecessary headers.</li>
+ <li>swrast: Remove unnecessary header.</li>
+ <li>r600: Remove unnecesary header.</li>
+ <li>intel: Remove unnecessary header.</li>
+ <li>mesa: Clean up header file inclusion in polygon.h.</li>
+ <li>mesa: Clean up header file inclusion in rastpos.h.</li>
+ <li>mesa: Clean up header file inclusion in readpix.h.</li>
+ <li>mesa: Clean up header file inclusion in renderbuffer.h.</li>
+ <li>mesa: Clean up header file inclusion in scissor.h.</li>
+ <li>mesa: Clean up header file inclusion in shaderapi.h.</li>
+ <li>mesa: Clean up header file inclusion in shared.h.</li>
+ <li>mesa: Clean up header file inclusion in stencil.h.</li>
+ <li>r600: Remove unnecessary header.</li>
+ <li>llvmpipe: Remove unnecessary headers.</li>
+ <li>mesa: Clean up header file inclusion in syncobj.h.</li>
+ <li>r300/compiler: Move declaration before code.</li>
+ <li>r300/compiler: Move declaration before code.</li>
+ <li>mesa: Clean up header file inclusion in texcompress.h.</li>
+ <li>st/vega: Silence uninitialized variable warning.</li>
+ <li>mesa: Clean up header file inclusion in texcompress_s3tc.h.</li>
+ <li>mesa: Clean up header file inclusion in texenvprogram.h.</li>
+ <li>mesa: Clean up header file inclusion in texformat.h.</li>
+ <li>mesa: Clean up header file inclusion in texgetimage.h.</li>
+ <li>mesa: Clean up header file inclusion in texobj.h.</li>
+ <li>gallium/noop: Add prototype for noop_init_state_functions.</li>
+ <li>mesa: Clean up header file inclusion in texrender.h.</li>
+ <li>mesa: Clean up header file inclusion in transformfeedback.h.</li>
+ <li>mesa: Clean up header file inclusion in varray.h.</li>
+ <li>mesa: Clean up header file inclusion in viewport.h.</li>
+ <li>r200: Silence uninitialized variable warning.</li>
+ <li>r600g: Fix SCons build.</li>
+ <li>i965: Silence uninitialized variable warning.</li>
+</ul></p>
+
+<p>Xavier Chantry (8):
+<ul>
+ <li>nv50: fix size of outputs_written array</li>
+ <li>nv50: apply layout_mask to tile_flags</li>
+ <li>nvfx: only expose one rt on nv30</li>
+ <li>nvfx: fb-&gt;nr_cbufs &lt= 1 on nv30</li>
+ <li>nvfx: reset nvfx-&gt;hw_zeta</li>
+ <li>nvfx: fixes after array textures merge</li>
+ <li>init ps-&gt;context with util_surfaces_get and do_get</li>
+ <li>gallium/trace: check bind_vertex_sampler_states and set_vertex_sampler_views</li>
+</ul></p>
+
+<p>Xiang, Haihao (10):
+<ul>
+ <li>mesa: fix regression from b4bb6680200b5a898583392f4c831c02f41e63f7</li>
+ <li>i965: add support for polygon mode on Sandybridge.</li>
+ <li>i965: fix for flat shading on Sandybridge</li>
+ <li>i965: set minimum/maximum Point Width on Sandybridge</li>
+ <li>meta: allow nested meta operations</li>
+ <li>i965: support for two-sided lighting on Sandybridge</li>
+ <li>i965: fix register region description</li>
+ <li>i965: use align1 access mode for instructions with execSize=1 in VS</li>
+ <li>i965: don't spawn GS thread for LINELOOP on Sandybridge</li>
+ <li>i965: use BLT to clear buffer if possible on Sandybridge</li>
+</ul></p>
+
+<p>Zack Rusin (8):
+<ul>
+ <li>rbug: fix rbug when contexts are being destroyed</li>
+ <li>llvmpipe: fix rasterization of vertical lines on pixel boundaries</li>
+ <li>scons: build the xorg state trackers only when env includes drm</li>
+ <li>gallivm: implement indirect addressing of the output registers</li>
+ <li>gallivm: implement indirect addressing over inputs</li>
+ <li>gallivm: fix storing of the addr register</li>
+ <li>scons: add alias for identity</li>
+ <li>gallium/util: add states relevant to geometry shaders</li>
+</ul></p>
+
+<p>Zhenyu Wang (40):
+<ul>
+ <li>i965: disasm quarter and write enable instruction control on sandybridge</li>
+ <li>i965: new state dump for sandybridge</li>
+ <li>i965: enable accumulator update in PS kernel too on sandybridge</li>
+ <li>i965: Fix color interpolation on sandybridge</li>
+ <li>i965: force zero in clipper to ignore RTAIndex on sandybridge</li>
+ <li>i965: fix point size setting in header on sandybridge</li>
+ <li>i965: ff sync message change for sandybridge</li>
+ <li>i965: ignore quads for GS kernel on sandybridge</li>
+ <li>i965: add sandybridge viewport state bo into validation list</li>
+ <li>i965: VS use SPF mode on sandybridge for now</li>
+ <li>i965: fix jump count on sandybridge</li>
+ <li>i965: Fix sampler on sandybridge</li>
+ <li>i965: fix const register count for sandybridge</li>
+ <li>i965: Add all device ids for sandybridge</li>
+ <li>i965: sandybridge pipe control workaround before write cache flush</li>
+ <li>i965: only allow SIMD8 kernel on sandybridge now</li>
+ <li>i965: don't do calculation for delta_xy on sandybridge</li>
+ <li>i965: fix pixel w interpolation on sandybridge</li>
+ <li>i965: enable polygon offset on sandybridge</li>
+ <li>i965: fix scissor state on sandybridge</li>
+ <li>i965: fix point sprite on sandybridge</li>
+ <li>i965: fix occlusion query on sandybridge</li>
+ <li>i965: fallback bitmap operation on sandybridge</li>
+ <li>i965: Always set tiling for depth buffer on sandybridge</li>
+ <li>i965: fallback lineloop on sandybridge for now</li>
+ <li>Revert "i965: Always set tiling for depth buffer on sandybridge"</li>
+ <li>i965: always set tiling for fbo depth buffer on sandybridge</li>
+ <li>i965: Fix GS hang on Sandybridge</li>
+ <li>Revert "i965: fallback lineloop on sandybridge for now"</li>
+ <li>i965: refresh wm push constant also for BRW_NEW_FRAMENT_PROGRAM on gen6</li>
+ <li>i965: fix dest type of 'endif' on sandybridge</li>
+ <li>Revert "i965: VS use SPF mode on sandybridge for now"</li>
+ <li>i965: also using align1 mode for math2 on sandybridge</li>
+ <li>i965: Fix GS state uploading on Sandybridge</li>
+ <li>i965: upload WM state for _NEW_POLYGON on sandybridge</li>
+ <li>i965: Use MI_FLUSH_DW for blt ring flush on sandybridge</li>
+ <li>i965: explicit tell header present for fb write on sandybridge</li>
+ <li>i965: Fix occlusion query on sandybridge</li>
+ <li>i965: Use last vertex convention for quad provoking vertex on sandybridge</li>
+ <li>i965: Fix provoking vertex select in clip state for sandybridge</li>
+</ul></p>
+
+<p>Zou Nan hai (1):
+<ul>
+ <li>i965: skip too small size mipmap</li>
+</ul></p>
+
+<p>delphi (2):
+<ul>
+ <li>draw: added userclip planes and updated variant_key</li>
+ <li>draw: some changes to allow for runtime changes to userclip planes</li>
+</ul></p>
+
+<p>nobled (3):
+<ul>
+ <li>r300g: Abort if atom allocations fail</li>
+ <li>r300g: Abort if draw_create() fails</li>
+ <li>r300g: Drop unnecessary cast</li>
+</ul></p>
+
+<p>pontus lidman (1):
+<ul>
+ <li>mesa: check for posix_memalign() errors</li>
+</ul></p>
+
+<p>richard (2):
+<ul>
+ <li>evergreen : fix z format setting, enable stencil.</li>
+ <li>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.</li>
+</ul></p>
+
+</body>
+</html>
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 @@
-<HTML>
-
-<TITLE>Mesa Release Notes</TITLE>
-
-<head><link rel="stylesheet" type="text/css" href="mesa.css"></head>
-
-<BODY>
-
-<body bgcolor="#eeeeee">
-
-<H1>Mesa 7.8.2 Release Notes / (date tbd)</H1>
-
-<p>
-Mesa 7.8.2 is a bug fix release which fixes bugs found since the 7.8.1 release.
-</p>
-<p>
-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.
-</p>
-<p>
-See the <a href="install.html">Compiling/Installing page</a> for prerequisites
-for DRI hardware acceleration.
-</p>
-
-
-<h2>MD5 checksums</h2>
-<pre>
-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
-</pre>
-
-
-<h2>New features</h2>
-<p>None.</p>
-
-
-<h2>Changes</h2>
-<ul>
-<li>Upgraded glext.h to version 61, and upgraded glxext.h
-</ul>
-
-
-<h2>Bug fixes</h2>
-<ul>
-<li>Fixed Gallium glDrawPixels(GL_DEPTH_COMPONENT).
-<li>Fixed Gallium Cell driver to buildable, runable state
-<li>Fixed bad error checking for glFramebufferRenderbuffer(attachment=GL_DEPTH_STENCIL_ATTACHMENT).
-<li>Fixed incorrect Z coordinate handling in "meta" glDraw/CopyPixels.
- <a href="https://bugs.freedesktop.org/show_bug.cgi?id=23670">Bug
- #23670</a>.</li>
-
-<li>Assorted i965 driver fixes.
- Including but not limited to:
- <ul>
- <li>Fix scissoring when width or height is
- 0. <a href="https://bugs.freedesktop.org/show_bug.cgi?id=27643">Bug
- #27643</a>.
- <li>Fix bit allocation for number of color regions for
- ARB_draw_buffers.</li>
- <li>Set the correct provoking vertex for clipped first-mode
- trifans. <a href="https://bugs.freedesktop.org/show_bug.cgi?id=24470">Bug
- #24470</a>.</li>
- <li>Use <code>R16G16B16A16_FLOAT</code> for 3-component half-float.</li>
- <li>Fix assertion for surface tile offset usage on Ironlake.</li>
- <li>Fix cube map layouts on Ironlake.</li>
- <li>When an RB gets a new region, clear the old from the state
- cache. <a href="https://bugs.freedesktop.org/show_bug.cgi?id=24119">Bug
- #24119</a>.</li>
- <li>Reject shaders with uninlined function calls instead of hanging.</li>
- </ul>
-</li>
-
-<li>Assorted i915 driver fixes. Including but not limited to:
- <ul>
- <li>Fixed texture LOD clamping in i915 driver.
- <a href="https://bugs.freedesktop.org/show_bug.cgi?id=24846">Bug
- #24846</a>.</li>
- <li>Fix off-by-one for drawing rectangle.
- <a href="https://bugs.freedesktop.org/show_bug.cgi?id=27408">Bug
- #27408</a>.</li>
- </ul>
-</li>
-
-<li>Fixed hangs in etracer on 830 and 845
- chipsets. <a href="https://bugs.freedesktop.org/show_bug.cgi?id=26557">Bug
- #26557</a>.</li>
-<li>Fixed tiling of small textures on all Intel drivers.</li>
-<li>Fixed crash in Savage driver when using <code>_mesa_CopyTexImage2D</code>.
- <a href="https://bugs.freedesktop.org/show_bug.cgi?id=27652">Bug
- #27652</a>.</li>
-
-<li>Assorted GLX fixes. Including but not limited to:
- <ul>
- <li>Fixed <code>__glXInitializeVisualConfigFromTags</code>'s handling of
- unrecognized fbconfig tags.</li>
- <li>Fixed regression with <code>GLX_USE_GL</code>.
- <li>Fixed config chooser logic for 'mask' matching.</li>
- <li>Report swap events correctly in direct rendered case (DRI2)</li>
- <li>Fixed build with dri2proto which doesn't define
- <code>X_DRI2SwapInterval</code>.</li>
- <li>Get <code>GLX_SCREEN</code> first in <code>__glXQueryContextInfo</code>.
- <a href="https://bugs.freedesktop.org/show_bug.cgi?id=14245">Bug
- #14245</a>.</li>
- </ul>
-</li>
-
-<li>Assorted GLSL fixes. Including but not limited to:
- <ul>
- <li>Change variable declared assertion into conditional in GLSL
- compiler. <a href="https://bugs.freedesktop.org/show_bug.cgi?id=27921">Bug
- #27921</a>.</li>
- <li>Fix instruction indexing
- bugs. <a href="https://bugs.freedesktop.org/show_bug.cgi?id=27566">Bug
- #27566</a>.</li>
- <li>Updated uniform location / offset encoding to be more like
- other implementations.</li>
- <li>Don't overwrite a driver's shader infolog with generic failure
- message.</li>
- </ul>
-</li>
-
-<li>Fixed OSMesa build for 16 and 32-bit color channel depth.
-<li>Fixed OSMesa build with hidden symbol visibility. libOSMesa no longer links to libGL.
- <a href="https://bugs.freedesktop.org/show_bug.cgi?id=28305">Bug
- #28305</a>.
-<li>Fixed handling of multiple render targets in fixed-function
- texture envrionmnent programs.</li>
-<li>Fixed conversion errors in <code>signed_rgba8888[rev]</code> texel
- fetch.</li>
-<li>Don't set srcLevel on <code>GL_TEXTURE_RECTANGLE_ARB</code> targets.</li>
-<li>Various build fixes for OpenBSD.</li>
-<li>Various build fixes for OS X.</li>
-<li>Various build fixes for GCC 3.3.</li>
-</ul>
-
-
-</body>
-</html>
+<HTML>
+
+<TITLE>Mesa Release Notes</TITLE>
+
+<head><link rel="stylesheet" type="text/css" href="mesa.css"></head>
+
+<BODY>
+
+<body bgcolor="#eeeeee">
+
+<H1>Mesa 7.8.2 Release Notes / (date tbd)</H1>
+
+<p>
+Mesa 7.8.2 is a bug fix release which fixes bugs found since the 7.8.1 release.
+</p>
+<p>
+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.
+</p>
+<p>
+See the <a href="install.html">Compiling/Installing page</a> for prerequisites
+for DRI hardware acceleration.
+</p>
+
+
+<h2>MD5 checksums</h2>
+<pre>
+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
+</pre>
+
+
+<h2>New features</h2>
+<p>None.</p>
+
+
+<h2>Changes</h2>
+<ul>
+<li>Upgraded glext.h to version 61, and upgraded glxext.h
+</ul>
+
+
+<h2>Bug fixes</h2>
+<ul>
+<li>Fixed Gallium glDrawPixels(GL_DEPTH_COMPONENT).
+<li>Fixed Gallium Cell driver to buildable, runable state
+<li>Fixed bad error checking for glFramebufferRenderbuffer(attachment=GL_DEPTH_STENCIL_ATTACHMENT).
+<li>Fixed incorrect Z coordinate handling in "meta" glDraw/CopyPixels.
+ <a href="https://bugs.freedesktop.org/show_bug.cgi?id=23670">Bug
+ #23670</a>.</li>
+
+<li>Assorted i965 driver fixes.
+ Including but not limited to:
+ <ul>
+ <li>Fix scissoring when width or height is
+ 0. <a href="https://bugs.freedesktop.org/show_bug.cgi?id=27643">Bug
+ #27643</a>.
+ <li>Fix bit allocation for number of color regions for
+ ARB_draw_buffers.</li>
+ <li>Set the correct provoking vertex for clipped first-mode
+ trifans. <a href="https://bugs.freedesktop.org/show_bug.cgi?id=24470">Bug
+ #24470</a>.</li>
+ <li>Use <code>R16G16B16A16_FLOAT</code> for 3-component half-float.</li>
+ <li>Fix assertion for surface tile offset usage on Ironlake.</li>
+ <li>Fix cube map layouts on Ironlake.</li>
+ <li>When an RB gets a new region, clear the old from the state
+ cache. <a href="https://bugs.freedesktop.org/show_bug.cgi?id=24119">Bug
+ #24119</a>.</li>
+ <li>Reject shaders with uninlined function calls instead of hanging.</li>
+ </ul>
+</li>
+
+<li>Assorted i915 driver fixes. Including but not limited to:
+ <ul>
+ <li>Fixed texture LOD clamping in i915 driver.
+ <a href="https://bugs.freedesktop.org/show_bug.cgi?id=24846">Bug
+ #24846</a>.</li>
+ <li>Fix off-by-one for drawing rectangle.
+ <a href="https://bugs.freedesktop.org/show_bug.cgi?id=27408">Bug
+ #27408</a>.</li>
+ </ul>
+</li>
+
+<li>Fixed hangs in etracer on 830 and 845
+ chipsets. <a href="https://bugs.freedesktop.org/show_bug.cgi?id=26557">Bug
+ #26557</a>.</li>
+<li>Fixed tiling of small textures on all Intel drivers.</li>
+<li>Fixed crash in Savage driver when using <code>_mesa_CopyTexImage2D</code>.
+ <a href="https://bugs.freedesktop.org/show_bug.cgi?id=27652">Bug
+ #27652</a>.</li>
+
+<li>Assorted GLX fixes. Including but not limited to:
+ <ul>
+ <li>Fixed <code>__glXInitializeVisualConfigFromTags</code>'s handling of
+ unrecognized fbconfig tags.</li>
+ <li>Fixed regression with <code>GLX_USE_GL</code>.
+ <li>Fixed config chooser logic for 'mask' matching.</li>
+ <li>Report swap events correctly in direct rendered case (DRI2)</li>
+ <li>Fixed build with dri2proto which doesn't define
+ <code>X_DRI2SwapInterval</code>.</li>
+ <li>Get <code>GLX_SCREEN</code> first in <code>__glXQueryContextInfo</code>.
+ <a href="https://bugs.freedesktop.org/show_bug.cgi?id=14245">Bug
+ #14245</a>.</li>
+ </ul>
+</li>
+
+<li>Assorted GLSL fixes. Including but not limited to:
+ <ul>
+ <li>Change variable declared assertion into conditional in GLSL
+ compiler. <a href="https://bugs.freedesktop.org/show_bug.cgi?id=27921">Bug
+ #27921</a>.</li>
+ <li>Fix instruction indexing
+ bugs. <a href="https://bugs.freedesktop.org/show_bug.cgi?id=27566">Bug
+ #27566</a>.</li>
+ <li>Updated uniform location / offset encoding to be more like
+ other implementations.</li>
+ <li>Don't overwrite a driver's shader infolog with generic failure
+ message.</li>
+ </ul>
+</li>
+
+<li>Fixed OSMesa build for 16 and 32-bit color channel depth.
+<li>Fixed OSMesa build with hidden symbol visibility. libOSMesa no longer links to libGL.
+ <a href="https://bugs.freedesktop.org/show_bug.cgi?id=28305">Bug
+ #28305</a>.
+<li>Fixed handling of multiple render targets in fixed-function
+ texture envrionmnent programs.</li>
+<li>Fixed conversion errors in <code>signed_rgba8888[rev]</code> texel
+ fetch.</li>
+<li>Don't set srcLevel on <code>GL_TEXTURE_RECTANGLE_ARB</code> targets.</li>
+<li>Various build fixes for OpenBSD.</li>
+<li>Various build fixes for OS X.</li>
+<li>Various build fixes for GCC 3.3.</li>
+</ul>
+
+
+</body>
+</html>
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 @@
-<HTML>
-
-<TITLE>Mesa Release Notes</TITLE>
-
-<head><link rel="stylesheet" type="text/css" href="mesa.css"></head>
-
-<BODY>
-
-<body bgcolor="#eeeeee">
-
-<H1>Mesa 7.8.3 Release Notes / (date tbd)</H1>
-
-<p>
-Mesa 7.8.3 is a bug fix release which fixes bugs found since the 7.8.2 release.
-</p>
-<p>
-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.
-</p>
-<p>
-See the <a href="install.html">Compiling/Installing page</a> for prerequisites
-for DRI hardware acceleration.
-</p>
-
-
-<h2>MD5 checksums</h2>
-<pre>
-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
-</pre>
-
-
-<h2>New features</h2>
-<p>None.</p>
-
-
-<h2>Changes</h2>
-<ul>
-<li>The radeon driver should use less memory when searching for a valid mip
-image.</li>
-</ul>
-
-
-<h2>Bug fixes</h2>
-<ul>
-<li>Fix unsupported FB with D24S8 (bug
- <a href="https://bugs.freedesktop.org/show_bug.cgi?id=23670">29116</a>)</li>
-<li>Fix ReadPixels crash when reading depth/stencil from an FBO</li>
-<li>Fixed a bug rendering to 16-bit buffers using swrast.</li>
-<li>Fixed a state tracker/TGSI bug that caused crashes when using Windows'
- memory debugging features.</li>
-<li>Fixed an issue rendering to 32-bit channels with swrast (bug
- <a href="https://bugs.freedesktop.org/show_bug.cgi?id=29487">29487</a>)</li>
-<li>GLSL: fix indirect <TT>gl_TextureMatrix</TT> addressing (bug
- <a href="https://bugs.freedesktop.org/show_bug.cgi?id=28967">28967</a>)</li>
-<li>GLSL: fix for bug
- <a href="https://bugs.freedesktop.org/show_bug.cgi?id=27216">27216</a></li>
-<li>GLSL: fix zw fragcoord entries in some cases (bug
- <a href="https://bugs.freedesktop.org/show_bug.cgi?id=29183">29183</a>)</li>
-<li>Fix texture env generation in some cases (bug
- <a href="https://bugs.freedesktop.org/show_bug.cgi?id=28169">28169</a>)</li>
-<li>osmesa: a fix for calling <TT>OSMesaMakeCurrent</TT> twice was applied (bug
- <a href="https://bugs.freedesktop.org/show_bug.cgi?id=10966">10966</a></li>
-<li>A bug was fixed which could cause Mesa to ignore the
- <TT>MESA_EXTENSION_OVERRIDE</TT> environment variable.</li>
-<li>A bug related to specular highlights on backfaces was fixed.</li>
-<li>A radeon-specific issue with <TT>glCopyTex(Sub)Image</TT> was
- corrected.</li>
-<li>radeon/wine: flush command stream in more cases, fixing wine d3d9
- tests.</li>
-<li>r600: fix sin+cos normalization.</li>
-<li>r600: (properly) ignore <TT>GL_COORD_REPLACE</TT> when point sprites are
- disabled.</li>
-<li>radeon: avoid flushing when the context is not current.</li>
-<li>r300c: a bug affecting unaligned BOs was fixed.</li>
-<li>r300c: a hardlock caused by ARB_half_float_vertex incorrectly advertised on some chipsets.</li>
-</ul>
-
-
-</body>
-</html>
+<HTML>
+
+<TITLE>Mesa Release Notes</TITLE>
+
+<head><link rel="stylesheet" type="text/css" href="mesa.css"></head>
+
+<BODY>
+
+<body bgcolor="#eeeeee">
+
+<H1>Mesa 7.8.3 Release Notes / (date tbd)</H1>
+
+<p>
+Mesa 7.8.3 is a bug fix release which fixes bugs found since the 7.8.2 release.
+</p>
+<p>
+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.
+</p>
+<p>
+See the <a href="install.html">Compiling/Installing page</a> for prerequisites
+for DRI hardware acceleration.
+</p>
+
+
+<h2>MD5 checksums</h2>
+<pre>
+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
+</pre>
+
+
+<h2>New features</h2>
+<p>None.</p>
+
+
+<h2>Changes</h2>
+<ul>
+<li>The radeon driver should use less memory when searching for a valid mip
+image.</li>
+</ul>
+
+
+<h2>Bug fixes</h2>
+<ul>
+<li>Fix unsupported FB with D24S8 (bug
+ <a href="https://bugs.freedesktop.org/show_bug.cgi?id=23670">29116</a>)</li>
+<li>Fix ReadPixels crash when reading depth/stencil from an FBO</li>
+<li>Fixed a bug rendering to 16-bit buffers using swrast.</li>
+<li>Fixed a state tracker/TGSI bug that caused crashes when using Windows'
+ memory debugging features.</li>
+<li>Fixed an issue rendering to 32-bit channels with swrast (bug
+ <a href="https://bugs.freedesktop.org/show_bug.cgi?id=29487">29487</a>)</li>
+<li>GLSL: fix indirect <TT>gl_TextureMatrix</TT> addressing (bug
+ <a href="https://bugs.freedesktop.org/show_bug.cgi?id=28967">28967</a>)</li>
+<li>GLSL: fix for bug
+ <a href="https://bugs.freedesktop.org/show_bug.cgi?id=27216">27216</a></li>
+<li>GLSL: fix zw fragcoord entries in some cases (bug
+ <a href="https://bugs.freedesktop.org/show_bug.cgi?id=29183">29183</a>)</li>
+<li>Fix texture env generation in some cases (bug
+ <a href="https://bugs.freedesktop.org/show_bug.cgi?id=28169">28169</a>)</li>
+<li>osmesa: a fix for calling <TT>OSMesaMakeCurrent</TT> twice was applied (bug
+ <a href="https://bugs.freedesktop.org/show_bug.cgi?id=10966">10966</a></li>
+<li>A bug was fixed which could cause Mesa to ignore the
+ <TT>MESA_EXTENSION_OVERRIDE</TT> environment variable.</li>
+<li>A bug related to specular highlights on backfaces was fixed.</li>
+<li>A radeon-specific issue with <TT>glCopyTex(Sub)Image</TT> was
+ corrected.</li>
+<li>radeon/wine: flush command stream in more cases, fixing wine d3d9
+ tests.</li>
+<li>r600: fix sin+cos normalization.</li>
+<li>r600: (properly) ignore <TT>GL_COORD_REPLACE</TT> when point sprites are
+ disabled.</li>
+<li>radeon: avoid flushing when the context is not current.</li>
+<li>r300c: a bug affecting unaligned BOs was fixed.</li>
+<li>r300c: a hardlock caused by ARB_half_float_vertex incorrectly advertised on some chipsets.</li>
+</ul>
+
+
+</body>
+</html>
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 @@
-<HTML>
-
-<head>
-<TITLE>Mesa Release Notes</TITLE>
-<link rel="stylesheet" type="text/css" href="mesa.css">
-<meta http-equiv="content-type" content="text/html; charset=utf-8" />
-</head>
-
-<BODY>
-
-<body bgcolor="#eeeeee">
-
-<H1>Mesa 7.9.1 Release Notes / January 7, 2011</H1>
-
-<p>
-Mesa 7.9.1 is a bug fix release which fixes bugs found since the 7.9 release.
-</p>
-<p>
-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.
-</p>
-<p>
-See the <a href="install.html">Compiling/Installing page</a> for prerequisites
-for DRI hardware acceleration.
-</p>
-
-
-<h2>MD5 checksums</h2>
-<pre>
-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
-</pre>
-
-
-<h2>New features</h2>
-<p>None.</p>
-
-<h2>Bug fixes</h2>
-<p>This list is likely incomplete.</p>
-<ul>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28800">Bug 28800</a> - [r300c, r300g] Texture corruption with World of Warcraft</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29420">Bug 29420</a> - Amnesia / HPL2 RendererFeatTest - not rendering correctly</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29946">Bug 29946</a> - [swrast] piglit valgrind glsl-array-bounds-04 fails</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30261">Bug 30261</a> - [GLSL 1.20] allowing inconsistent invariant declaration between two vertex shaders</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30632">Bug 30632</a> - [softpipe] state_tracker/st_manager.c:489: st_context_notify_invalid_framebuffer: Assertion `stfb &amp;&amp; stfb-&gt;iface == stfbi' failed.</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30694">Bug 30694</a> - wincopy will crash on Gallium drivers when going to front buffer</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30787">Bug 30787</a> - Invalid asm shader does not generate draw-time error when used with GLSL shader</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30993">Bug 30993</a> - getFramebufferAttachmentParameteriv wrongly generates error</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31101">Bug 31101</a> - [glsl2] abort() in ir_validate::visit_enter(ir_assignment *ir)</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31193">Bug 31193</a> - [regression] aa43176e break water reflections</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31194">Bug 31194</a> - The mesa meta save/restore code doesn't ref the current GLSL program</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31371">Bug 31371</a> - glslparsertest: ir.cpp:358: ir_constant::ir_constant(const glsl_type*, const ir_constant_data*): Assertion `(type->base_type &gt;= 0) &amp;&amp; (type->base_type &lt;= 3)' failed.</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31439">Bug 31439</a> - Crash in glBufferSubData() with size == 0</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31495">Bug 31495</a> - [i965 gles2c bisected] OpenGL ES 2.0 conformance GL2Tests_GetBIFD_input.run regressed</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31514">Bug 31514</a> - isBuffer returns true for unbound buffers</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31560">Bug 31560</a> - [tdfx] tdfx_tex.c:702: error: ‘const struct gl_color_table’ has no member named ‘Format’</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31617">Bug 31617</a> - Radeon/Compiz: 'failed to attach dri2 front buffer', error case not handled</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31648">Bug 31648</a> - [GLSL] array-struct-array gets assertion: `(size &gt;= 1) && (size &lt;= 4)' failed.</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31650">Bug 31650</a> - [GLSL] varying gl_TexCoord fails to be re-declared to different size in the second shader</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31673">Bug 31673</a> - GL_FRAGMENT_PRECISION_HIGH preprocessor macro undefined in GLSL ES</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31690">Bug 31690</a> - i915 shader compiler fails to flatten if in Aquarium webgl demo.</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31832">Bug 31832</a> - [i915] Bad renderbuffer format: 21</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31841">Bug 31841</a> - [drm:radeon_cs_ioctl] *ERROR* Invalid command stream !</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31894">Bug 31894</a> - Writing to gl_PointSize with GLES2 corrupts other varyings</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31909">Bug 31909</a> - [i965] brw_fs.cpp:1461: void fs_visitor::emit_bool_to_cond_code(ir_rvalue*): Assertion `expr-&gt;operands[i]-&gt;type-&gt;is_scalar()' failed.</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31934">Bug 31934</a> - [gallium] Mapping empty buffer object causes SIGSEGV</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31983">Bug 31983</a> - [i915 gles2] "if (expression with builtin/varying variables) discard" breaks linkage</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31985">Bug 31985</a> - [GLSL 1.20] initialized uniform array considered as "unsized"</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31987">Bug 31987</a> - [gles2] if input a wrong pname(GL_NONE) to glGetBoolean, it will not case GL_INVALID_ENUM</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32035">Bug 32035</a> - [GLSL bisected] comparing unsized array gets segfault</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32070">Bug 32070</a> - llvmpipe renders stencil demo incorrectly</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32273">Bug 32273</a> - assertion fails when starting vdrift 2010 release with shaders enabled</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32287">Bug 32287</a> - [bisected GLSL] float-int failure</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32311">Bug 32311</a> - [965 bisected] Array look-ups broken on GM45</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32520">Bug 32520</a> - [gles2] glBlendFunc(GL_ZERO, GL_DST_COLOR) will result in GL_INVALID_ENUM</li>
-
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32825">Bug 32825</a> - egl_glx driver completely broken in 7.9 branch [fix in master]</li>
-</ul>
-
-
-<h2>Changes</h2>
-<p>The full set of changes can be viewed by using the following GIT command:</p>
-
-<pre>
- git log mesa-7.9..mesa-7.9.1
-</pre>
-
-<p>Alex Deucher (5):
-<ul>
- <li>r100: revalidate after radeon_update_renderbuffers</li>
- <li>r600c: add missing radeon_prepare_render() call on evergreen</li>
- <li>r600c: properly align mipmaps to group size</li>
- <li>gallium/egl: fix r300 vs r600 loading</li>
- <li>r600c: fix some opcodes on evergreen</li>
-</ul></p>
-
-<p>Aras Pranckevicius (2):
-<ul>
- <li>glsl: fix crash in loop analysis when some controls can't be determined</li>
- <li>glsl: fix matrix type check in ir_algebraic</li>
-</ul></p>
-
-<p>Brian Paul (27):
-<ul>
- <li>swrast: fix choose_depth_texture_level() to respect mipmap filtering state</li>
- <li>st/mesa: replace assertion w/ conditional in framebuffer invalidation</li>
- <li>egl/i965: include inline_wrapper_sw_helper.h</li>
- <li>mesa: Add missing else in do_row_3D</li>
- <li>mesa: add missing formats in _mesa_format_to_type_and_comps()</li>
- <li>mesa: handle more pixel types in mipmap generation code</li>
- <li>mesa: make glIsBuffer() return false for never bound buffers</li>
- <li>mesa: fix glDeleteBuffers() regression</li>
- <li>swrast: init alpha value to 1.0 in opt_sample_rgb_2d()</li>
- <li>meta: Mask Stencil.Clear against stencilMax in _mesa_meta_Clear</li>
- <li>st/mesa: fix mapping of zero-sized buffer objects</li>
- <li>mesa: check for posix_memalign() errors</li>
- <li>llvmpipe: fix broken stencil writemask</li>
- <li>mesa: fix GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME query</li>
- <li>mesa: return GL_FRAMEBUFFER_DEFAULT as FBO attachment type</li>
- <li>mesa: make glGet*(GL_NONE) generate GL_INVALID_ENUM</li>
- <li>mesa: test for cube map completeness in glGenerateMipmap()</li>
- <li>tnl: Initialize gl_program_machine memory in run_vp.</li>
- <li>tnl: a better way to initialize the gl_program_machine memory</li>
- <li>mesa, st/mesa: disable GL_ARB_geometry_shader4</li>
- <li>glsl: fix off by one in register index assertion</li>
- <li>st/mesa: fix mipmap generation bug</li>
- <li>glsl: new glsl_strtod() wrapper to fix decimal point interpretation</li>
- <li>mesa: no-op glBufferSubData() on size==0</li>
- <li>tdfx: s/Format/_BaseFormat/</li>
- <li>st/mesa: fix renderbuffer pointer check in st_Clear()</li>
- <li>mesa: Bump the number of bits in the register index.</li>
-</ul></p>
-
-<p>Chad Versace (5):
-<ul>
- <li>glsl: Fix lexer rule for ^=</li>
- <li>glsl: Fix ast-to-hir for ARB_fragment_coord_conventions</li>
- <li>glsl: Fix ir_expression::constant_expression_value()</li>
- <li>glsl: Fix erroneous cast in ast_jump_statement::hir()</li>
- <li>glsl: Fix linker bug in cross_validate_globals()</li>
-</ul></p>
-
-<p>Chia-I Wu (10):
-<ul>
- <li>targets/egl: Fix linking with libdrm.</li>
- <li>st/vega: Fix version check in context creation.</li>
- <li>st/egl: Do not finish a fence that is NULL.</li>
- <li>egl: Fix a false negative check in _eglCheckMakeCurrent.</li>
- <li>st/mesa: Unreference the sampler view in st_bind_surface.</li>
- <li>egl_dri2: Fix __DRI_DRI2 version 1 support.</li>
- <li>st/vega: Do not wait NULL fences.</li>
- <li>mesa: Do not advertise GL_OES_texture_3D.</li>
- <li>egl_glx: Fix borken driver.</li>
- <li>egl: Check extensions.</li>
-</ul></p>
-
-<p>Daniel Lichtenberger (1):
-<ul>
- <li>radeon: fix potential segfault in renderbuffer update</li>
-</ul></p>
-
-<p>Daniel Vetter (1):
-<ul>
- <li>r200: revalidate after radeon_update_renderbuffers</li>
-</ul></p>
-
-<p>Dave Airlie (1):
-<ul>
- <li>r300g: fixup rs690 tiling stride alignment calculations.</li>
-</ul></p>
-
-<p>Eric Anholt (13):
-<ul>
- <li>intel: Allow CopyTexSubImage to InternalFormat 3/4 textures, like RGB/RGBA.</li>
- <li>glsl: Free the loop state context when we free the loop state.</li>
- <li>i965: Allow OPCODE_SWZ to put immediates in the first arg.</li>
- <li>i965: Add support for rendering to SARGB8 FBOs.</li>
- <li>glsl: Add a helper constructor for expressions that works out result type.</li>
- <li>glsl: Fix structure and array comparisions.</li>
- <li>glsl: Quiet unreachable no-return-from-function warning.</li>
- <li>glsl: Mark the array access for whole-array comparisons.</li>
- <li>glsl: Fix flipped return of has_value() for array constants.</li>
- <li>mesa: Add getters for the rest of the supported draw buffers.</li>
- <li>mesa: Add getters for ARB_copy_buffer's attachment points.</li>
- <li>i965: Correct the dp_read message descriptor setup on g4x.</li>
- <li>glsl: Correct the marking of InputsRead/OutputsWritten on in/out matrices.</li>
-</ul></p>
-
-<p>Fabian Bieler (1):
-<ul>
- <li>glsl: fix lowering conditional returns in subroutines</li>
-</ul></p>
-
-<p>Francisco Jerez (3):
-<ul>
- <li>meta: Don't leak alpha function/reference value changes.</li>
- <li>meta: Fix incorrect rendering of the bitmap alpha component.</li>
- <li>meta: Don't try to disable cube maps if the driver doesn't expose the extension.</li>
-</ul></p>
-
-<p>Henri Verbeet (2):
-<ul>
- <li>r600: Evergreen has two extra frac_bits for the sampler LOD state.</li>
- <li>st/mesa: Handle wrapped depth buffers in st_copy_texsubimage().</li>
-</ul></p>
-
-<p>Ian Romanick (33):
-<ul>
- <li>Add 7.9 md5sums</li>
- <li>docs: Import 7.8.x release notes from 7.8 branch.</li>
- <li>docs: download.html does not need to be updated for each release</li>
- <li>docs: Update mailing lines from sf.net to freedesktop.org</li>
- <li>docs: added news item for 7.9 release</li>
- <li>mesa: Validate assembly shaders when GLSL shaders are used</li>
- <li>linker: Reject shaders that have unresolved function calls</li>
- <li>mesa: Refactor validation of shader targets</li>
- <li>glsl: Slightly change the semantic of _LinkedShaders</li>
- <li>linker: Improve handling of unread/unwritten shader inputs/outputs</li>
- <li>glsl: Commit lexer files changed by previous cherry picking</li>
- <li>mesa: Make metaops use program refcounts instead of names.</li>
- <li>glsl: Fix incorrect gl_type of sampler2DArray and sampler1DArrayShadow</li>
- <li>mesa: Allow query of MAX_SAMPLES with EXT_framebuffer_multisample</li>
- <li>glsl: better handling of linker failures</li>
- <li>mesa: Fix glGet of ES2's GL_MAX_*_VECTORS properties.</li>
- <li>i915: Disallow alpha, red, RG, and sRGB as render targets</li>
- <li>glsl/linker: Free any IR discarded by optimization passes.</li>
- <li>glsl: Add an optimization pass to simplify discards.</li>
- <li>glsl: Add a lowering pass to move discards out of if-statements.</li>
- <li>i915: Correctly generate unconditional KIL instructions</li>
- <li>glsl: Add unary ir_expression constructor</li>
- <li>glsl: Ensure that equality comparisons don't return a NULL IR tree</li>
- <li>glcpp: Commit changes in generated files cause by previous commit</li>
- <li>glsl: Inherrit type of declared variable from initializer</li>
- <li>glsl: Inherrit type of declared variable from initializer after processing assignment</li>
- <li>linker: Ensure that unsized arrays have a size after linking</li>
- <li>linker: Fix regressions caused by previous commit</li>
- <li>linker: Allow built-in arrays to have different sizes between shader stages</li>
- <li>ir_to_mesa: Don't generate swizzles for record derefs of non-scalar/vectors</li>
- <li>Refresh autogenerated file builtin_function.cpp.</li>
- <li>docs: Initial set of release notes for 7.9.1</li>
- <li>mesa: set version string to 7.9.1</li>
-</ul></p>
-
-<p>Julien Cristau (1):
-<ul>
- <li>Makefile: don't include the same files twice in the tarball</li>
-</ul></p>
-
-<p>Kenneth Graunke (19):
-<ul>
- <li>glcpp: Return NEWLINE token for newlines inside multi-line comments.</li>
- <li>generate_builtins.py: Output large strings as arrays of characters.</li>
- <li>glsl: Fix constant component count in vector constructor emitting.</li>
- <li>ir_dead_functions: Actually free dead functions and signatures.</li>
- <li>glcpp: Define GL_FRAGMENT_PRECISION_HIGH if GLSL version &gt;= 1.30.</li>
- <li>glsl: Unconditionally define GL_FRAGMENT_PRECISION_HIGH in ES2 shaders.</li>
- <li>glsl: Fix constant expression handling for &lt, &gt;, &lt=, &gt;= on vectors.</li>
- <li>glsl: Use do_common_optimization in the standalone compiler.</li>
- <li>glsl: Don't inline function prototypes.</li>
- <li>glsl: Add a virtual as_discard() method.</li>
- <li>glsl: Remove "discard" support from lower_jumps.</li>
- <li>glsl: Refactor get_num_operands.</li>
- <li>glcpp: Don't emit SPACE tokens in conditional_tokens production.</li>
- <li>glsl: Clean up code by adding a new is_break() function.</li>
- <li>glsl: Consider the "else" branch when looking for loop breaks.</li>
- <li>Remove OES_compressed_paletted_texture from the ES2 extension list.</li>
- <li>glsl/builtins: Compute the correct value for smoothstep(vec, vec, vec).</li>
- <li>Fix build on systems where "python" is python 3.</li>
- <li>i965: Internally enable GL_NV_blend_square on ES2.</li>
-</ul></p>
-
-<p>Kristian Høgsberg (1):
-<ul>
- <li>i965: Don't write mrf assignment for pointsize output</li>
-</ul></p>
-
-<p>Luca Barbieri (1):
-<ul>
- <li>glsl: Unroll loops with conditional breaks anywhere (not just the end)</li>
-</ul></p>
-
-<p>Marek Olšák (17):
-<ul>
- <li>r300g: fix microtiling for 16-bits-per-channel formats</li>
- <li>r300g: fix texture border for 16-bits-per-channel formats</li>
- <li>r300g: add a default channel ordering of texture border for unhandled formats</li>
- <li>r300g: fix texture border color for all texture formats</li>
- <li>r300g: fix rendering with no vertex elements</li>
- <li>r300/compiler: fix rc_rewrite_depth_out for it to work with any instruction</li>
- <li>r300g: fix texture border color once again</li>
- <li>r300g: fix texture swizzling with compressed textures on r400-r500</li>
- <li>r300g: disable ARB_texture_swizzle if S3TC is enabled on r3xx-only</li>
- <li>mesa, st/mesa: fix gl_FragCoord with FBOs in Gallium</li>
- <li>st/mesa: initialize key in st_vp_varient</li>
- <li>r300/compiler: fix swizzle lowering with a presubtract source operand</li>
- <li>r300g: fix rendering with a vertex attrib having a zero stride</li>
- <li>ir_to_mesa: Add support for conditional discards.</li>
- <li>r300g: finally fix the texture corruption on r3xx-r4xx</li>
- <li>mesa: fix texel store functions for some float formats</li>
- <li>r300/compiler: disable the rename_regs pass for loops</li>
-</ul></p>
-
-<p>Mario Kleiner (1):
-<ul>
- <li>mesa/r300classic: Fix dri2Invalidate/radeon_prepare_render for page flipping.</li>
-</ul></p>
-
-<p>Peter Clifton (1):
-<ul>
- <li>intel: Fix emit_linear_blit to use DWORD aligned width blits</li>
-</ul></p>
-
-<p>Robert Hooker (2):
-<ul>
- <li>intel: Add a new B43 pci id.</li>
- <li>egl_dri2: Add missing intel chip ids.</li>
-</ul></p>
-
-<p>Roland Scheidegger (1):
-<ul>
- <li>r200: fix r200 large points</li>
-</ul></p>
-
-<p>Thomas Hellstrom (17):
-<ul>
- <li>st/xorg: Don't try to use option values before processing options</li>
- <li>xorg/vmwgfx: Make vmwarectrl work also on 64-bit servers</li>
- <li>st/xorg: Add a customizer option to get rid of annoying cursor update flicker</li>
- <li>xorg/vmwgfx: Don't hide HW cursors when updating them</li>
- <li>st/xorg: Don't try to remove invalid fbs</li>
- <li>st/xorg: Fix typo</li>
- <li>st/xorg, xorg/vmwgfx: Be a bit more frendly towards cross-compiling environments</li>
- <li>st/xorg: Fix compilation errors for Xservers compiled without Composite</li>
- <li>st/xorg: Don't use deprecated x*alloc / xfree functions</li>
- <li>xorg/vmwgfx: Don't use deprecated x*alloc / xfree functions</li>
- <li>st/xorg: Fix compilation for Xservers &gt;= 1.10</li>
- <li>mesa: Make sure we have the talloc cflags when using the talloc headers</li>
- <li>egl: Add an include for size_t</li>
- <li>mesa: Add talloc includes for gles</li>
- <li>st/egl: Fix build for include files in nonstandard places</li>
- <li>svga/drm: Optionally resolve calls to powf during link-time</li>
- <li>gallium/targets: Trivial crosscompiling fix</li>
-</ul></p>
-
-<p>Tom Stellard (7):
-<ul>
- <li>r300/compiler: Make sure presubtract sources use supported swizzles</li>
- <li>r300/compiler: Fix register allocator's handling of loops</li>
- <li>r300/compiler: Fix instruction scheduling within IF blocks</li>
- <li>r300/compiler: Use zero as the register index for unused sources</li>
- <li>r300/compiler: Ignore alpha dest register when replicating the result</li>
- <li>r300/compiler: Use correct swizzles for all presubtract sources</li>
- <li>r300/compiler: Don't allow presubtract sources to be remapped twice</li>
-</ul></p>
-
-<p>Vinson Lee (1):
-<ul>
- <li>glsl: Fix 'control reaches end of non-void function' warning.</li>
-</ul></p>
-
-<p>richard (1):
-<ul>
- <li>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.</li>
-</ul></p>
-
-</body>
-</html>
+<HTML>
+
+<head>
+<TITLE>Mesa Release Notes</TITLE>
+<link rel="stylesheet" type="text/css" href="mesa.css">
+<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+</head>
+
+<BODY>
+
+<body bgcolor="#eeeeee">
+
+<H1>Mesa 7.9.1 Release Notes / January 7, 2011</H1>
+
+<p>
+Mesa 7.9.1 is a bug fix release which fixes bugs found since the 7.9 release.
+</p>
+<p>
+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.
+</p>
+<p>
+See the <a href="install.html">Compiling/Installing page</a> for prerequisites
+for DRI hardware acceleration.
+</p>
+
+
+<h2>MD5 checksums</h2>
+<pre>
+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
+</pre>
+
+
+<h2>New features</h2>
+<p>None.</p>
+
+<h2>Bug fixes</h2>
+<p>This list is likely incomplete.</p>
+<ul>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28800">Bug 28800</a> - [r300c, r300g] Texture corruption with World of Warcraft</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29420">Bug 29420</a> - Amnesia / HPL2 RendererFeatTest - not rendering correctly</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29946">Bug 29946</a> - [swrast] piglit valgrind glsl-array-bounds-04 fails</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30261">Bug 30261</a> - [GLSL 1.20] allowing inconsistent invariant declaration between two vertex shaders</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30632">Bug 30632</a> - [softpipe] state_tracker/st_manager.c:489: st_context_notify_invalid_framebuffer: Assertion `stfb &amp;&amp; stfb-&gt;iface == stfbi' failed.</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30694">Bug 30694</a> - wincopy will crash on Gallium drivers when going to front buffer</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30787">Bug 30787</a> - Invalid asm shader does not generate draw-time error when used with GLSL shader</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30993">Bug 30993</a> - getFramebufferAttachmentParameteriv wrongly generates error</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31101">Bug 31101</a> - [glsl2] abort() in ir_validate::visit_enter(ir_assignment *ir)</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31193">Bug 31193</a> - [regression] aa43176e break water reflections</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31194">Bug 31194</a> - The mesa meta save/restore code doesn't ref the current GLSL program</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31371">Bug 31371</a> - glslparsertest: ir.cpp:358: ir_constant::ir_constant(const glsl_type*, const ir_constant_data*): Assertion `(type->base_type &gt;= 0) &amp;&amp; (type->base_type &lt;= 3)' failed.</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31439">Bug 31439</a> - Crash in glBufferSubData() with size == 0</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31495">Bug 31495</a> - [i965 gles2c bisected] OpenGL ES 2.0 conformance GL2Tests_GetBIFD_input.run regressed</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31514">Bug 31514</a> - isBuffer returns true for unbound buffers</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31560">Bug 31560</a> - [tdfx] tdfx_tex.c:702: error: ‘const struct gl_color_table’ has no member named ‘Format’</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31617">Bug 31617</a> - Radeon/Compiz: 'failed to attach dri2 front buffer', error case not handled</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31648">Bug 31648</a> - [GLSL] array-struct-array gets assertion: `(size &gt;= 1) && (size &lt;= 4)' failed.</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31650">Bug 31650</a> - [GLSL] varying gl_TexCoord fails to be re-declared to different size in the second shader</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31673">Bug 31673</a> - GL_FRAGMENT_PRECISION_HIGH preprocessor macro undefined in GLSL ES</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31690">Bug 31690</a> - i915 shader compiler fails to flatten if in Aquarium webgl demo.</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31832">Bug 31832</a> - [i915] Bad renderbuffer format: 21</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31841">Bug 31841</a> - [drm:radeon_cs_ioctl] *ERROR* Invalid command stream !</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31894">Bug 31894</a> - Writing to gl_PointSize with GLES2 corrupts other varyings</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31909">Bug 31909</a> - [i965] brw_fs.cpp:1461: void fs_visitor::emit_bool_to_cond_code(ir_rvalue*): Assertion `expr-&gt;operands[i]-&gt;type-&gt;is_scalar()' failed.</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31934">Bug 31934</a> - [gallium] Mapping empty buffer object causes SIGSEGV</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31983">Bug 31983</a> - [i915 gles2] "if (expression with builtin/varying variables) discard" breaks linkage</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31985">Bug 31985</a> - [GLSL 1.20] initialized uniform array considered as "unsized"</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31987">Bug 31987</a> - [gles2] if input a wrong pname(GL_NONE) to glGetBoolean, it will not case GL_INVALID_ENUM</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32035">Bug 32035</a> - [GLSL bisected] comparing unsized array gets segfault</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32070">Bug 32070</a> - llvmpipe renders stencil demo incorrectly</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32273">Bug 32273</a> - assertion fails when starting vdrift 2010 release with shaders enabled</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32287">Bug 32287</a> - [bisected GLSL] float-int failure</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32311">Bug 32311</a> - [965 bisected] Array look-ups broken on GM45</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32520">Bug 32520</a> - [gles2] glBlendFunc(GL_ZERO, GL_DST_COLOR) will result in GL_INVALID_ENUM</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32825">Bug 32825</a> - egl_glx driver completely broken in 7.9 branch [fix in master]</li>
+</ul>
+
+
+<h2>Changes</h2>
+<p>The full set of changes can be viewed by using the following GIT command:</p>
+
+<pre>
+ git log mesa-7.9..mesa-7.9.1
+</pre>
+
+<p>Alex Deucher (5):
+<ul>
+ <li>r100: revalidate after radeon_update_renderbuffers</li>
+ <li>r600c: add missing radeon_prepare_render() call on evergreen</li>
+ <li>r600c: properly align mipmaps to group size</li>
+ <li>gallium/egl: fix r300 vs r600 loading</li>
+ <li>r600c: fix some opcodes on evergreen</li>
+</ul></p>
+
+<p>Aras Pranckevicius (2):
+<ul>
+ <li>glsl: fix crash in loop analysis when some controls can't be determined</li>
+ <li>glsl: fix matrix type check in ir_algebraic</li>
+</ul></p>
+
+<p>Brian Paul (27):
+<ul>
+ <li>swrast: fix choose_depth_texture_level() to respect mipmap filtering state</li>
+ <li>st/mesa: replace assertion w/ conditional in framebuffer invalidation</li>
+ <li>egl/i965: include inline_wrapper_sw_helper.h</li>
+ <li>mesa: Add missing else in do_row_3D</li>
+ <li>mesa: add missing formats in _mesa_format_to_type_and_comps()</li>
+ <li>mesa: handle more pixel types in mipmap generation code</li>
+ <li>mesa: make glIsBuffer() return false for never bound buffers</li>
+ <li>mesa: fix glDeleteBuffers() regression</li>
+ <li>swrast: init alpha value to 1.0 in opt_sample_rgb_2d()</li>
+ <li>meta: Mask Stencil.Clear against stencilMax in _mesa_meta_Clear</li>
+ <li>st/mesa: fix mapping of zero-sized buffer objects</li>
+ <li>mesa: check for posix_memalign() errors</li>
+ <li>llvmpipe: fix broken stencil writemask</li>
+ <li>mesa: fix GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME query</li>
+ <li>mesa: return GL_FRAMEBUFFER_DEFAULT as FBO attachment type</li>
+ <li>mesa: make glGet*(GL_NONE) generate GL_INVALID_ENUM</li>
+ <li>mesa: test for cube map completeness in glGenerateMipmap()</li>
+ <li>tnl: Initialize gl_program_machine memory in run_vp.</li>
+ <li>tnl: a better way to initialize the gl_program_machine memory</li>
+ <li>mesa, st/mesa: disable GL_ARB_geometry_shader4</li>
+ <li>glsl: fix off by one in register index assertion</li>
+ <li>st/mesa: fix mipmap generation bug</li>
+ <li>glsl: new glsl_strtod() wrapper to fix decimal point interpretation</li>
+ <li>mesa: no-op glBufferSubData() on size==0</li>
+ <li>tdfx: s/Format/_BaseFormat/</li>
+ <li>st/mesa: fix renderbuffer pointer check in st_Clear()</li>
+ <li>mesa: Bump the number of bits in the register index.</li>
+</ul></p>
+
+<p>Chad Versace (5):
+<ul>
+ <li>glsl: Fix lexer rule for ^=</li>
+ <li>glsl: Fix ast-to-hir for ARB_fragment_coord_conventions</li>
+ <li>glsl: Fix ir_expression::constant_expression_value()</li>
+ <li>glsl: Fix erroneous cast in ast_jump_statement::hir()</li>
+ <li>glsl: Fix linker bug in cross_validate_globals()</li>
+</ul></p>
+
+<p>Chia-I Wu (10):
+<ul>
+ <li>targets/egl: Fix linking with libdrm.</li>
+ <li>st/vega: Fix version check in context creation.</li>
+ <li>st/egl: Do not finish a fence that is NULL.</li>
+ <li>egl: Fix a false negative check in _eglCheckMakeCurrent.</li>
+ <li>st/mesa: Unreference the sampler view in st_bind_surface.</li>
+ <li>egl_dri2: Fix __DRI_DRI2 version 1 support.</li>
+ <li>st/vega: Do not wait NULL fences.</li>
+ <li>mesa: Do not advertise GL_OES_texture_3D.</li>
+ <li>egl_glx: Fix borken driver.</li>
+ <li>egl: Check extensions.</li>
+</ul></p>
+
+<p>Daniel Lichtenberger (1):
+<ul>
+ <li>radeon: fix potential segfault in renderbuffer update</li>
+</ul></p>
+
+<p>Daniel Vetter (1):
+<ul>
+ <li>r200: revalidate after radeon_update_renderbuffers</li>
+</ul></p>
+
+<p>Dave Airlie (1):
+<ul>
+ <li>r300g: fixup rs690 tiling stride alignment calculations.</li>
+</ul></p>
+
+<p>Eric Anholt (13):
+<ul>
+ <li>intel: Allow CopyTexSubImage to InternalFormat 3/4 textures, like RGB/RGBA.</li>
+ <li>glsl: Free the loop state context when we free the loop state.</li>
+ <li>i965: Allow OPCODE_SWZ to put immediates in the first arg.</li>
+ <li>i965: Add support for rendering to SARGB8 FBOs.</li>
+ <li>glsl: Add a helper constructor for expressions that works out result type.</li>
+ <li>glsl: Fix structure and array comparisions.</li>
+ <li>glsl: Quiet unreachable no-return-from-function warning.</li>
+ <li>glsl: Mark the array access for whole-array comparisons.</li>
+ <li>glsl: Fix flipped return of has_value() for array constants.</li>
+ <li>mesa: Add getters for the rest of the supported draw buffers.</li>
+ <li>mesa: Add getters for ARB_copy_buffer's attachment points.</li>
+ <li>i965: Correct the dp_read message descriptor setup on g4x.</li>
+ <li>glsl: Correct the marking of InputsRead/OutputsWritten on in/out matrices.</li>
+</ul></p>
+
+<p>Fabian Bieler (1):
+<ul>
+ <li>glsl: fix lowering conditional returns in subroutines</li>
+</ul></p>
+
+<p>Francisco Jerez (3):
+<ul>
+ <li>meta: Don't leak alpha function/reference value changes.</li>
+ <li>meta: Fix incorrect rendering of the bitmap alpha component.</li>
+ <li>meta: Don't try to disable cube maps if the driver doesn't expose the extension.</li>
+</ul></p>
+
+<p>Henri Verbeet (2):
+<ul>
+ <li>r600: Evergreen has two extra frac_bits for the sampler LOD state.</li>
+ <li>st/mesa: Handle wrapped depth buffers in st_copy_texsubimage().</li>
+</ul></p>
+
+<p>Ian Romanick (33):
+<ul>
+ <li>Add 7.9 md5sums</li>
+ <li>docs: Import 7.8.x release notes from 7.8 branch.</li>
+ <li>docs: download.html does not need to be updated for each release</li>
+ <li>docs: Update mailing lines from sf.net to freedesktop.org</li>
+ <li>docs: added news item for 7.9 release</li>
+ <li>mesa: Validate assembly shaders when GLSL shaders are used</li>
+ <li>linker: Reject shaders that have unresolved function calls</li>
+ <li>mesa: Refactor validation of shader targets</li>
+ <li>glsl: Slightly change the semantic of _LinkedShaders</li>
+ <li>linker: Improve handling of unread/unwritten shader inputs/outputs</li>
+ <li>glsl: Commit lexer files changed by previous cherry picking</li>
+ <li>mesa: Make metaops use program refcounts instead of names.</li>
+ <li>glsl: Fix incorrect gl_type of sampler2DArray and sampler1DArrayShadow</li>
+ <li>mesa: Allow query of MAX_SAMPLES with EXT_framebuffer_multisample</li>
+ <li>glsl: better handling of linker failures</li>
+ <li>mesa: Fix glGet of ES2's GL_MAX_*_VECTORS properties.</li>
+ <li>i915: Disallow alpha, red, RG, and sRGB as render targets</li>
+ <li>glsl/linker: Free any IR discarded by optimization passes.</li>
+ <li>glsl: Add an optimization pass to simplify discards.</li>
+ <li>glsl: Add a lowering pass to move discards out of if-statements.</li>
+ <li>i915: Correctly generate unconditional KIL instructions</li>
+ <li>glsl: Add unary ir_expression constructor</li>
+ <li>glsl: Ensure that equality comparisons don't return a NULL IR tree</li>
+ <li>glcpp: Commit changes in generated files cause by previous commit</li>
+ <li>glsl: Inherrit type of declared variable from initializer</li>
+ <li>glsl: Inherrit type of declared variable from initializer after processing assignment</li>
+ <li>linker: Ensure that unsized arrays have a size after linking</li>
+ <li>linker: Fix regressions caused by previous commit</li>
+ <li>linker: Allow built-in arrays to have different sizes between shader stages</li>
+ <li>ir_to_mesa: Don't generate swizzles for record derefs of non-scalar/vectors</li>
+ <li>Refresh autogenerated file builtin_function.cpp.</li>
+ <li>docs: Initial set of release notes for 7.9.1</li>
+ <li>mesa: set version string to 7.9.1</li>
+</ul></p>
+
+<p>Julien Cristau (1):
+<ul>
+ <li>Makefile: don't include the same files twice in the tarball</li>
+</ul></p>
+
+<p>Kenneth Graunke (19):
+<ul>
+ <li>glcpp: Return NEWLINE token for newlines inside multi-line comments.</li>
+ <li>generate_builtins.py: Output large strings as arrays of characters.</li>
+ <li>glsl: Fix constant component count in vector constructor emitting.</li>
+ <li>ir_dead_functions: Actually free dead functions and signatures.</li>
+ <li>glcpp: Define GL_FRAGMENT_PRECISION_HIGH if GLSL version &gt;= 1.30.</li>
+ <li>glsl: Unconditionally define GL_FRAGMENT_PRECISION_HIGH in ES2 shaders.</li>
+ <li>glsl: Fix constant expression handling for &lt, &gt;, &lt=, &gt;= on vectors.</li>
+ <li>glsl: Use do_common_optimization in the standalone compiler.</li>
+ <li>glsl: Don't inline function prototypes.</li>
+ <li>glsl: Add a virtual as_discard() method.</li>
+ <li>glsl: Remove "discard" support from lower_jumps.</li>
+ <li>glsl: Refactor get_num_operands.</li>
+ <li>glcpp: Don't emit SPACE tokens in conditional_tokens production.</li>
+ <li>glsl: Clean up code by adding a new is_break() function.</li>
+ <li>glsl: Consider the "else" branch when looking for loop breaks.</li>
+ <li>Remove OES_compressed_paletted_texture from the ES2 extension list.</li>
+ <li>glsl/builtins: Compute the correct value for smoothstep(vec, vec, vec).</li>
+ <li>Fix build on systems where "python" is python 3.</li>
+ <li>i965: Internally enable GL_NV_blend_square on ES2.</li>
+</ul></p>
+
+<p>Kristian Høgsberg (1):
+<ul>
+ <li>i965: Don't write mrf assignment for pointsize output</li>
+</ul></p>
+
+<p>Luca Barbieri (1):
+<ul>
+ <li>glsl: Unroll loops with conditional breaks anywhere (not just the end)</li>
+</ul></p>
+
+<p>Marek Olšák (17):
+<ul>
+ <li>r300g: fix microtiling for 16-bits-per-channel formats</li>
+ <li>r300g: fix texture border for 16-bits-per-channel formats</li>
+ <li>r300g: add a default channel ordering of texture border for unhandled formats</li>
+ <li>r300g: fix texture border color for all texture formats</li>
+ <li>r300g: fix rendering with no vertex elements</li>
+ <li>r300/compiler: fix rc_rewrite_depth_out for it to work with any instruction</li>
+ <li>r300g: fix texture border color once again</li>
+ <li>r300g: fix texture swizzling with compressed textures on r400-r500</li>
+ <li>r300g: disable ARB_texture_swizzle if S3TC is enabled on r3xx-only</li>
+ <li>mesa, st/mesa: fix gl_FragCoord with FBOs in Gallium</li>
+ <li>st/mesa: initialize key in st_vp_varient</li>
+ <li>r300/compiler: fix swizzle lowering with a presubtract source operand</li>
+ <li>r300g: fix rendering with a vertex attrib having a zero stride</li>
+ <li>ir_to_mesa: Add support for conditional discards.</li>
+ <li>r300g: finally fix the texture corruption on r3xx-r4xx</li>
+ <li>mesa: fix texel store functions for some float formats</li>
+ <li>r300/compiler: disable the rename_regs pass for loops</li>
+</ul></p>
+
+<p>Mario Kleiner (1):
+<ul>
+ <li>mesa/r300classic: Fix dri2Invalidate/radeon_prepare_render for page flipping.</li>
+</ul></p>
+
+<p>Peter Clifton (1):
+<ul>
+ <li>intel: Fix emit_linear_blit to use DWORD aligned width blits</li>
+</ul></p>
+
+<p>Robert Hooker (2):
+<ul>
+ <li>intel: Add a new B43 pci id.</li>
+ <li>egl_dri2: Add missing intel chip ids.</li>
+</ul></p>
+
+<p>Roland Scheidegger (1):
+<ul>
+ <li>r200: fix r200 large points</li>
+</ul></p>
+
+<p>Thomas Hellstrom (17):
+<ul>
+ <li>st/xorg: Don't try to use option values before processing options</li>
+ <li>xorg/vmwgfx: Make vmwarectrl work also on 64-bit servers</li>
+ <li>st/xorg: Add a customizer option to get rid of annoying cursor update flicker</li>
+ <li>xorg/vmwgfx: Don't hide HW cursors when updating them</li>
+ <li>st/xorg: Don't try to remove invalid fbs</li>
+ <li>st/xorg: Fix typo</li>
+ <li>st/xorg, xorg/vmwgfx: Be a bit more frendly towards cross-compiling environments</li>
+ <li>st/xorg: Fix compilation errors for Xservers compiled without Composite</li>
+ <li>st/xorg: Don't use deprecated x*alloc / xfree functions</li>
+ <li>xorg/vmwgfx: Don't use deprecated x*alloc / xfree functions</li>
+ <li>st/xorg: Fix compilation for Xservers &gt;= 1.10</li>
+ <li>mesa: Make sure we have the talloc cflags when using the talloc headers</li>
+ <li>egl: Add an include for size_t</li>
+ <li>mesa: Add talloc includes for gles</li>
+ <li>st/egl: Fix build for include files in nonstandard places</li>
+ <li>svga/drm: Optionally resolve calls to powf during link-time</li>
+ <li>gallium/targets: Trivial crosscompiling fix</li>
+</ul></p>
+
+<p>Tom Stellard (7):
+<ul>
+ <li>r300/compiler: Make sure presubtract sources use supported swizzles</li>
+ <li>r300/compiler: Fix register allocator's handling of loops</li>
+ <li>r300/compiler: Fix instruction scheduling within IF blocks</li>
+ <li>r300/compiler: Use zero as the register index for unused sources</li>
+ <li>r300/compiler: Ignore alpha dest register when replicating the result</li>
+ <li>r300/compiler: Use correct swizzles for all presubtract sources</li>
+ <li>r300/compiler: Don't allow presubtract sources to be remapped twice</li>
+</ul></p>
+
+<p>Vinson Lee (1):
+<ul>
+ <li>glsl: Fix 'control reaches end of non-void function' warning.</li>
+</ul></p>
+
+<p>richard (1):
+<ul>
+ <li>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.</li>
+</ul></p>
+
+</body>
+</html>
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 @@
-<HTML>
-
-<TITLE>Mesa Release Notes</TITLE>
-
-<head><link rel="stylesheet" type="text/css" href="mesa.css"></head>
-
-<BODY>
-
-<body bgcolor="#eeeeee">
-
-<H1>Mesa 7.9 Release Notes / October 4, 2010</H1>
-
-<p>
-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.
-</p>
-<p>
-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.
-</p>
-<p>
-See the <a href="install.html">Compiling/Installing page</a> for prerequisites
-for DRI hardware acceleration.
-</p>
-
-
-<h2>MD5 checksums</h2>
-<pre>
-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
-</pre>
-
-
-<h2>New features</h2>
-<ul>
-<li>New, improved GLSL compiler written by Intel.
- See the <a href="shading.html"> Shading Language</a> page for
- more information.
-<li>New, very experimental Gallium driver for R600-R700 Radeons.
-<li>Support for AMD Evergreen-based Radeons (HD 5xxx)
-<li>GL_EXT_timer_query extension (i965 driver and softpipe only)
-<li>GL_EXT_framebuffer_multisample extension (intel drivers, MAX_SAMPLES = 1)
-<li>GL_ARB_texture_swizzle extension (alias of GL_EXT_texture_swizzle)
-<li>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
-<li>GL_ARB_depth_clamp and GL_NV_depth_clamp extensions (in nv50 and r600
- Gallium drivers)
-<li>GL_ARB_half_float_vertex extension (in nvfx, r300, r600, softpipe,
- and llvmpipe Gallium drivers)
-<li>GL_EXT_draw_buffers2 (in nv50, r600, softpipe, and llvmpipe Gallium
- drivers)
-<li>GL_EXT_texture_swizzle (in nvfx, r300, r600, softpipe, and llvmpipe
- Gallium drivers)
-<li>GL_ATI_texture_mirror_once (in nvfx, nv50, r300, r600, softpipe, and
- llvmpipe Gallium drivers)
-<li>GL_NV_conditional_render (in r300 Gallium driver)
-<li>Initial "signs of life" support for Sandybridge hardware in i965 DRI
- driver.
-</ul>
-
-
-<h2>Bug fixes</h2>
-<p>This list is likely incomplete.</p>
-<ul>
-<li>Massive improvements to the Gallium driver for R300-R500 Radeons; this
- driver is now considered stable for use as a DRI (OpenGL) driver.
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=10908">Bug 10908</a> - GLSL: gl_FogParamaters gl_Fog built-in uniform not functioning</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=13753">Bug 13753</a> - Numerous bugs in GLSL uniform handling</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=16854">Bug 16854</a> - GLSL function call at global scope causes SEGV</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=16856">Bug 16856</a> - GLSL indexing of unsized array results in assertion failure</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=18659">Bug 18659</a> - Crash in shader/slang/slang_codegen.c _slang_gen_function_call_name()</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=19089">Bug 19089</a> - [GLSL] glsl1/shadow2D() cases fail</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=22622">Bug 22622</a> - [GM965 GLSL] noise*() cause GPU lockup</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=23743">Bug 23743</a> - For loop from 0 to 0 not optimized out</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=24553">Bug 24553</a> - shader compilation times explode when using more () pairs</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25664">Bug 25664</a> - [GLSL] re-declaring an empty array fails to compile</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25769">Bug 25769</a> - [GLSL] "float" can be implicitly converted to "int"</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25808">Bug 25808</a> - [GLSL] const variable is modified successfully</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25826">Bug 25826</a> - [GLSL] declaring an unsized array then re-declaring with a size fails</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25827">Bug 25827</a> - [GLSL] vector constructor accepts too many arguments successfully</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25829">Bug 25829</a> - [GLSL] allowing non-void function without returning value</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25830">Bug 25830</a> - [GLSL] allowing non-constant-expression as const declaration initializer</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25877">Bug 25877</a> - [GLSL 1.10] implicit conversion from "int" to "float" should not be allowed</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25878">Bug 25878</a> - [GLSL] sampler is converted to int successfully</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25994">Bug 25994</a> - [GM45][GLSL] 'return' statement in vertex shader unsupported</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25999">Bug 25999</a> - [GLSL] embedded structure constructor fails to compile</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=26000">Bug 26000</a> - [GLSL] allowing different parameter qualifier between the function definition and declaration</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=26001">Bug 26001</a> - [GLSL 1.10] constructing matrix from matrix succeeds</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=26224">Bug 26224</a> - [GLSL] Cannot get location of a uniform struct member</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=26990">Bug 26990</a> - [GLSL] variable declaration in "while" fails to compile</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27004">Bug 27004</a> - [GLSL] allowing macro redefinition</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27060">Bug 27060</a> - [965] piglit glsl-fs-raytrace failure due to lack of function calls.</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27216">Bug 27216</a> - Assignment with a function call in an if statement causes an assertion failure</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27261">Bug 27261</a> - GLSL Compiler fails on the following vertex shader</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27265">Bug 27265</a> - GLSL Compiler doesnt link the attached vertex shader</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27388">Bug 27388</a> - [i965] piglit glsl-vs-arrays failure</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27403">Bug 27403</a> - GLSL struct causing "Invalid src register file ..." error</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27914">Bug 27914</a> - GLSL compiler uses MUL+ADD where it could use MAD</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28055">Bug 28055</a> - glsl-texcoord-array fails GLSL compilation</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28374">Bug 28374</a> - SIGSEGV shader/slang/slang_typeinfo.c:534</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28748">Bug 28748</a> - [i965] uninlined function calls support</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28833">Bug 28833</a> - piglit/shaders/glsl-texcoord-array fail</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28834">Bug 28834</a> - Add support for system fpclassify to GL_OES_query_matrix function for OpenBSD / NetBSD</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28837">Bug 28837</a> - varying vec4 index support</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28845">Bug 28845</a> - The GLU tesselator code has some warnings</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28889">Bug 28889</a> - [regression] wine game crash</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28894">Bug 28894</a> - slang build fails if absolute path contains spaces</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28913">Bug 28913</a> - [GLSL] allowing two version statements</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28931">Bug 28931</a> - Floating Point Exception in Warzone2100 Trunk version</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28966">Bug 28966</a> - [r300g] Dynamic branching 3 demo does not run</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28967">Bug 28967</a> - slang/slang_emit.c:350: storage_to_src_reg: Assertion `index &gt;= 0' failed.</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29013">Bug 29013</a> - [r300g] translate_rgb_op: unknown opcode ILLEGAL OPCODE</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29020">Bug 29020</a> - [r300g] Wine d3d9 tests hardlock</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29910">Bug 29910</a> - Mesa advertises bogus GL_ARB_shading_language_120</li>
-<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30196">Bug 30196</a> - [GLSL] gl_TextureMatrix{Inverse,Transpose,InverseTranspose} unsupported</li>
-</ul>
-
-
-<h2>Changes</h2>
-<ul>
-<li>The Mesa demo/test programs have been moved into a separate git
-repository.
-<li>GL/glext.h file upgraded to version 64
-<li>GL/glxext.h file upgraded to version 32
-<li>GL/wglext.h file upgraded to version 22
-</ul>
-
-</body>
-</html>
+<HTML>
+
+<TITLE>Mesa Release Notes</TITLE>
+
+<head><link rel="stylesheet" type="text/css" href="mesa.css"></head>
+
+<BODY>
+
+<body bgcolor="#eeeeee">
+
+<H1>Mesa 7.9 Release Notes / October 4, 2010</H1>
+
+<p>
+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.
+</p>
+<p>
+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.
+</p>
+<p>
+See the <a href="install.html">Compiling/Installing page</a> for prerequisites
+for DRI hardware acceleration.
+</p>
+
+
+<h2>MD5 checksums</h2>
+<pre>
+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
+</pre>
+
+
+<h2>New features</h2>
+<ul>
+<li>New, improved GLSL compiler written by Intel.
+ See the <a href="shading.html"> Shading Language</a> page for
+ more information.
+<li>New, very experimental Gallium driver for R600-R700 Radeons.
+<li>Support for AMD Evergreen-based Radeons (HD 5xxx)
+<li>GL_EXT_timer_query extension (i965 driver and softpipe only)
+<li>GL_EXT_framebuffer_multisample extension (intel drivers, MAX_SAMPLES = 1)
+<li>GL_ARB_texture_swizzle extension (alias of GL_EXT_texture_swizzle)
+<li>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
+<li>GL_ARB_depth_clamp and GL_NV_depth_clamp extensions (in nv50 and r600
+ Gallium drivers)
+<li>GL_ARB_half_float_vertex extension (in nvfx, r300, r600, softpipe,
+ and llvmpipe Gallium drivers)
+<li>GL_EXT_draw_buffers2 (in nv50, r600, softpipe, and llvmpipe Gallium
+ drivers)
+<li>GL_EXT_texture_swizzle (in nvfx, r300, r600, softpipe, and llvmpipe
+ Gallium drivers)
+<li>GL_ATI_texture_mirror_once (in nvfx, nv50, r300, r600, softpipe, and
+ llvmpipe Gallium drivers)
+<li>GL_NV_conditional_render (in r300 Gallium driver)
+<li>Initial "signs of life" support for Sandybridge hardware in i965 DRI
+ driver.
+</ul>
+
+
+<h2>Bug fixes</h2>
+<p>This list is likely incomplete.</p>
+<ul>
+<li>Massive improvements to the Gallium driver for R300-R500 Radeons; this
+ driver is now considered stable for use as a DRI (OpenGL) driver.
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=10908">Bug 10908</a> - GLSL: gl_FogParamaters gl_Fog built-in uniform not functioning</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=13753">Bug 13753</a> - Numerous bugs in GLSL uniform handling</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=16854">Bug 16854</a> - GLSL function call at global scope causes SEGV</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=16856">Bug 16856</a> - GLSL indexing of unsized array results in assertion failure</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=18659">Bug 18659</a> - Crash in shader/slang/slang_codegen.c _slang_gen_function_call_name()</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=19089">Bug 19089</a> - [GLSL] glsl1/shadow2D() cases fail</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=22622">Bug 22622</a> - [GM965 GLSL] noise*() cause GPU lockup</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=23743">Bug 23743</a> - For loop from 0 to 0 not optimized out</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=24553">Bug 24553</a> - shader compilation times explode when using more () pairs</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25664">Bug 25664</a> - [GLSL] re-declaring an empty array fails to compile</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25769">Bug 25769</a> - [GLSL] "float" can be implicitly converted to "int"</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25808">Bug 25808</a> - [GLSL] const variable is modified successfully</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25826">Bug 25826</a> - [GLSL] declaring an unsized array then re-declaring with a size fails</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25827">Bug 25827</a> - [GLSL] vector constructor accepts too many arguments successfully</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25829">Bug 25829</a> - [GLSL] allowing non-void function without returning value</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25830">Bug 25830</a> - [GLSL] allowing non-constant-expression as const declaration initializer</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25877">Bug 25877</a> - [GLSL 1.10] implicit conversion from "int" to "float" should not be allowed</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25878">Bug 25878</a> - [GLSL] sampler is converted to int successfully</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25994">Bug 25994</a> - [GM45][GLSL] 'return' statement in vertex shader unsupported</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=25999">Bug 25999</a> - [GLSL] embedded structure constructor fails to compile</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=26000">Bug 26000</a> - [GLSL] allowing different parameter qualifier between the function definition and declaration</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=26001">Bug 26001</a> - [GLSL 1.10] constructing matrix from matrix succeeds</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=26224">Bug 26224</a> - [GLSL] Cannot get location of a uniform struct member</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=26990">Bug 26990</a> - [GLSL] variable declaration in "while" fails to compile</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27004">Bug 27004</a> - [GLSL] allowing macro redefinition</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27060">Bug 27060</a> - [965] piglit glsl-fs-raytrace failure due to lack of function calls.</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27216">Bug 27216</a> - Assignment with a function call in an if statement causes an assertion failure</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27261">Bug 27261</a> - GLSL Compiler fails on the following vertex shader</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27265">Bug 27265</a> - GLSL Compiler doesnt link the attached vertex shader</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27388">Bug 27388</a> - [i965] piglit glsl-vs-arrays failure</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27403">Bug 27403</a> - GLSL struct causing "Invalid src register file ..." error</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27914">Bug 27914</a> - GLSL compiler uses MUL+ADD where it could use MAD</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28055">Bug 28055</a> - glsl-texcoord-array fails GLSL compilation</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28374">Bug 28374</a> - SIGSEGV shader/slang/slang_typeinfo.c:534</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28748">Bug 28748</a> - [i965] uninlined function calls support</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28833">Bug 28833</a> - piglit/shaders/glsl-texcoord-array fail</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28834">Bug 28834</a> - Add support for system fpclassify to GL_OES_query_matrix function for OpenBSD / NetBSD</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28837">Bug 28837</a> - varying vec4 index support</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28845">Bug 28845</a> - The GLU tesselator code has some warnings</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28889">Bug 28889</a> - [regression] wine game crash</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28894">Bug 28894</a> - slang build fails if absolute path contains spaces</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28913">Bug 28913</a> - [GLSL] allowing two version statements</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28931">Bug 28931</a> - Floating Point Exception in Warzone2100 Trunk version</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28966">Bug 28966</a> - [r300g] Dynamic branching 3 demo does not run</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28967">Bug 28967</a> - slang/slang_emit.c:350: storage_to_src_reg: Assertion `index &gt;= 0' failed.</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29013">Bug 29013</a> - [r300g] translate_rgb_op: unknown opcode ILLEGAL OPCODE</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29020">Bug 29020</a> - [r300g] Wine d3d9 tests hardlock</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29910">Bug 29910</a> - Mesa advertises bogus GL_ARB_shading_language_120</li>
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30196">Bug 30196</a> - [GLSL] gl_TextureMatrix{Inverse,Transpose,InverseTranspose} unsupported</li>
+</ul>
+
+
+<h2>Changes</h2>
+<ul>
+<li>The Mesa demo/test programs have been moved into a separate git
+repository.
+<li>GL/glext.h file upgraded to version 64
+<li>GL/glxext.h file upgraded to version 32
+<li>GL/wglext.h file upgraded to version 22
+</ul>
+
+</body>
+</html>
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 @@
-<HTML>
-
-<TITLE>Shading Language Support</TITLE>
-
-<link rel="stylesheet" type="text/css" href="mesa.css"></head>
-
-<BODY>
-
-<H1>Shading Language Support</H1>
-
-<p>
-This page describes the features and status of Mesa's support for the
-<a href="http://opengl.org/documentation/glsl/" target="_parent">
-OpenGL Shading Language</a>.
-</p>
-
-<p>
-Contents
-</p>
-<ul>
-<li><a href="#envvars">Environment variables</a>
-<li><a href="#120">GLSL 1.20 support</a>
-<li><a href="#unsup">Unsupported Features</a>
-<li><a href="#notes">Implementation Notes</a>
-<li><a href="#hints">Programming Hints</a>
-<li><a href="#standalone">Stand-alone GLSL Compiler</a>
-<li><a href="#implementation">Compiler Implementation</a>
-<li><a href="#validation">Compiler Validation</a>
-</ul>
-
-
-
-<a name="envvars">
-<h2>Environment Variables</h2>
-
-<p>
-The <b>MESA_GLSL</b> 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.
-</p>
-<ul>
-<li><b>dump</b> - print GLSL shader code to stdout at link time
-<li><b>log</b> - log all GLSL shaders to files.
- The filenames will be "shader_X.vert" or "shader_X.frag" where X
- the shader ID.
-<li><b>nopt</b> - disable compiler optimizations
-<li><b>opt</b> - force compiler optimizations
-<li><b>uniform</b> - print message to stdout when glUniform is called
-<li><b>nopvert</b> - 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.
-<li><b>nopfrag</b> - force fragment shader to be a simple shader that passes
- through the color attribute.
-<li><b>useprog</b> - log glUseProgram calls to stderr
-</ul>
-<p>
-Example: export MESA_GLSL=dump,nopt
-</p>
-
-
-<a name="120">
-<h2>GLSL Version</h2>
-
-<p>
-The GLSL compiler currently supports version 1.20 of the shading language.
-</p>
-
-<p>
-Several GLSL extensions are also supported:
-</p>
-<ul>
-<li>GL_ARB_draw_buffers
-<li>GL_ARB_texture_rectangle
-<li>GL_ARB_fragment_coord_conventions
-<li>GL_EXT_texture_array
-</ul>
-
-
-<a name="unsup">
-<h2>Unsupported Features</h2>
-
-<p>XXX update this section</p>
-
-<p>
-The following features of the shading language are not yet fully supported
-in Mesa:
-</p>
-
-<ul>
-<li>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.
-<li>gl_ClipVertex
-<li>The gl_Color and gl_SecondaryColor varying vars are interpolated
- without perspective correction
-</ul>
-
-<p>
-All other major features of the shading language should function.
-</p>
-
-
-<a name="notes">
-<h2>Implementation Notes</h2>
-
-<ul>
-<li>Shading language programs are compiled into low-level programs
- very similar to those of GL_ARB_vertex/fragment_program.
-<li>All vector types (vec2, vec3, vec4, bvec2, etc) currently occupy full
- float[4] registers.
-<li>Float constants and variables are packed so that up to four floats
- can occupy one program parameter/register.
-<li>All function calls are inlined.
-<li>Shaders which use too many registers will not compile.
-<li>The quality of generated code is pretty good, register usage is fair.
-<li>Shader error detection and reporting of errors (InfoLog) is not
- very good yet.
-<li>The ftransform() function doesn't necessarily match the results of
- fixed-function transformation.
-</ul>
-
-<p>
-These issues will be addressed/resolved in the future.
-</p>
-
-
-<a name="hints">
-<h2>Programming Hints</h2>
-
-<ul>
-<li>Use the built-in library functions whenever possible.
- For example, instead of writing this:
-<pre>
- float x = 1.0 / sqrt(y);
-</pre>
- Write this:
-<pre>
- float x = inversesqrt(y);
-</pre>
-</li>
-</ul>
-
-
-<a name="standalone">
-<h2>Stand-alone GLSL Compiler</h2>
-
-<p>
-The stand-alone GLSL compiler program can be used to compile GLSL shaders
-into low-level GPU code.
-</p>
-
-<p>
-This tool is useful for:
-<p>
-<ul>
-<li>Inspecting GPU code to gain insight into compilation
-<li>Generating initial GPU code for subsequent hand-tuning
-<li>Debugging the GLSL compiler itself
-</ul>
-
-<p>
-After building Mesa, the compiler can be found at src/glsl/glsl_compiler
-</p>
-
-<p>
-Here's an example of using the compiler to compile a vertex shader and
-emit GL_ARB_vertex_program-style instructions:
-</p>
-<pre>
- src/glsl/glsl_compiler --dump-ast myshader.vert
-</pre>
-
-Options include
-<ul>
-<li><b>--dump-ast</b> - dump GPU code
-<li><b>--dump-hir</b> - dump high-level IR code
-<li><b>--dump-lir</b> - dump low-level IR code
-<li><b>--link</b> - ???
-</ul>
-
-
-
-
-<a name="implementation">
-<h2>Compiler Implementation</h2>
-
-<p>
-The source code for Mesa's shading language compiler is in the
-<code>src/glsl/</code> directory.
-</p>
-
-<p>
-XXX provide some info about the compiler....
-</p>
-
-<p>
-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).
-</p>
-
-<h3>Code Generation Options</h3>
-
-<p>
-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:
-
-<pre>
-struct gl_shader_state
-{
- ...
- /** Driver-selectable options: */
- GLboolean EmitHighLevelInstructions;
- GLboolean EmitCondCodes;
- GLboolean EmitComments;
-};
-</pre>
-
-<ul>
-<li>EmitHighLevelInstructions
-<br>
-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.
-</li>
-
-<li>EmitCondCodes
-<br>
-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.
-</li>
-
-<li>EmitComments
-<br>
-If set, instructions will be annoted with comments to help with debugging.
-Extra NOP instructions will also be inserted.
-</br>
-
-</ul>
-
-
-<a name="validation">
-<h2>Compiler Validation</h2>
-
-<p>
-Developers working on the GLSL compiler should test frequently to avoid
-regressions.
-</p>
-
-<p>
-The <a href="http://people.freedesktop.org/~nh/piglit/">Piglit</a> project
-has many GLSL tests and the
-<a href="http://glean.sf.net" target="_parent">Glean</a> glsl1 test
-tests GLSL features.
-</p>
-
-<p>
-The Mesa demos repository also has some good GLSL tests.
-</p>
-
-</BODY>
-</HTML>
+<HTML>
+
+<TITLE>Shading Language Support</TITLE>
+
+<link rel="stylesheet" type="text/css" href="mesa.css"></head>
+
+<BODY>
+
+<H1>Shading Language Support</H1>
+
+<p>
+This page describes the features and status of Mesa's support for the
+<a href="http://opengl.org/documentation/glsl/" target="_parent">
+OpenGL Shading Language</a>.
+</p>
+
+<p>
+Contents
+</p>
+<ul>
+<li><a href="#envvars">Environment variables</a>
+<li><a href="#120">GLSL 1.20 support</a>
+<li><a href="#unsup">Unsupported Features</a>
+<li><a href="#notes">Implementation Notes</a>
+<li><a href="#hints">Programming Hints</a>
+<li><a href="#standalone">Stand-alone GLSL Compiler</a>
+<li><a href="#implementation">Compiler Implementation</a>
+<li><a href="#validation">Compiler Validation</a>
+</ul>
+
+
+
+<a name="envvars">
+<h2>Environment Variables</h2>
+
+<p>
+The <b>MESA_GLSL</b> 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.
+</p>
+<ul>
+<li><b>dump</b> - print GLSL shader code to stdout at link time
+<li><b>log</b> - log all GLSL shaders to files.
+ The filenames will be "shader_X.vert" or "shader_X.frag" where X
+ the shader ID.
+<li><b>nopt</b> - disable compiler optimizations
+<li><b>opt</b> - force compiler optimizations
+<li><b>uniform</b> - print message to stdout when glUniform is called
+<li><b>nopvert</b> - 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.
+<li><b>nopfrag</b> - force fragment shader to be a simple shader that passes
+ through the color attribute.
+<li><b>useprog</b> - log glUseProgram calls to stderr
+</ul>
+<p>
+Example: export MESA_GLSL=dump,nopt
+</p>
+
+
+<a name="120">
+<h2>GLSL Version</h2>
+
+<p>
+The GLSL compiler currently supports version 1.20 of the shading language.
+</p>
+
+<p>
+Several GLSL extensions are also supported:
+</p>
+<ul>
+<li>GL_ARB_draw_buffers
+<li>GL_ARB_texture_rectangle
+<li>GL_ARB_fragment_coord_conventions
+<li>GL_EXT_texture_array
+</ul>
+
+
+<a name="unsup">
+<h2>Unsupported Features</h2>
+
+<p>XXX update this section</p>
+
+<p>
+The following features of the shading language are not yet fully supported
+in Mesa:
+</p>
+
+<ul>
+<li>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.
+<li>gl_ClipVertex
+<li>The gl_Color and gl_SecondaryColor varying vars are interpolated
+ without perspective correction
+</ul>
+
+<p>
+All other major features of the shading language should function.
+</p>
+
+
+<a name="notes">
+<h2>Implementation Notes</h2>
+
+<ul>
+<li>Shading language programs are compiled into low-level programs
+ very similar to those of GL_ARB_vertex/fragment_program.
+<li>All vector types (vec2, vec3, vec4, bvec2, etc) currently occupy full
+ float[4] registers.
+<li>Float constants and variables are packed so that up to four floats
+ can occupy one program parameter/register.
+<li>All function calls are inlined.
+<li>Shaders which use too many registers will not compile.
+<li>The quality of generated code is pretty good, register usage is fair.
+<li>Shader error detection and reporting of errors (InfoLog) is not
+ very good yet.
+<li>The ftransform() function doesn't necessarily match the results of
+ fixed-function transformation.
+</ul>
+
+<p>
+These issues will be addressed/resolved in the future.
+</p>
+
+
+<a name="hints">
+<h2>Programming Hints</h2>
+
+<ul>
+<li>Use the built-in library functions whenever possible.
+ For example, instead of writing this:
+<pre>
+ float x = 1.0 / sqrt(y);
+</pre>
+ Write this:
+<pre>
+ float x = inversesqrt(y);
+</pre>
+</li>
+</ul>
+
+
+<a name="standalone">
+<h2>Stand-alone GLSL Compiler</h2>
+
+<p>
+The stand-alone GLSL compiler program can be used to compile GLSL shaders
+into low-level GPU code.
+</p>
+
+<p>
+This tool is useful for:
+<p>
+<ul>
+<li>Inspecting GPU code to gain insight into compilation
+<li>Generating initial GPU code for subsequent hand-tuning
+<li>Debugging the GLSL compiler itself
+</ul>
+
+<p>
+After building Mesa, the compiler can be found at src/glsl/glsl_compiler
+</p>
+
+<p>
+Here's an example of using the compiler to compile a vertex shader and
+emit GL_ARB_vertex_program-style instructions:
+</p>
+<pre>
+ src/glsl/glsl_compiler --dump-ast myshader.vert
+</pre>
+
+Options include
+<ul>
+<li><b>--dump-ast</b> - dump GPU code
+<li><b>--dump-hir</b> - dump high-level IR code
+<li><b>--dump-lir</b> - dump low-level IR code
+<li><b>--link</b> - ???
+</ul>
+
+
+
+
+<a name="implementation">
+<h2>Compiler Implementation</h2>
+
+<p>
+The source code for Mesa's shading language compiler is in the
+<code>src/glsl/</code> directory.
+</p>
+
+<p>
+XXX provide some info about the compiler....
+</p>
+
+<p>
+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).
+</p>
+
+<h3>Code Generation Options</h3>
+
+<p>
+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:
+
+<pre>
+struct gl_shader_state
+{
+ ...
+ /** Driver-selectable options: */
+ GLboolean EmitHighLevelInstructions;
+ GLboolean EmitCondCodes;
+ GLboolean EmitComments;
+};
+</pre>
+
+<ul>
+<li>EmitHighLevelInstructions
+<br>
+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.
+</li>
+
+<li>EmitCondCodes
+<br>
+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.
+</li>
+
+<li>EmitComments
+<br>
+If set, instructions will be annoted with comments to help with debugging.
+Extra NOP instructions will also be inserted.
+</br>
+
+</ul>
+
+
+<a name="validation">
+<h2>Compiler Validation</h2>
+
+<p>
+Developers working on the GLSL compiler should test frequently to avoid
+regressions.
+</p>
+
+<p>
+The <a href="http://people.freedesktop.org/~nh/piglit/">Piglit</a> project
+has many GLSL tests and the
+<a href="http://glean.sf.net" target="_parent">Glean</a> glsl1 test
+tests GLSL features.
+</p>
+
+<p>
+The Mesa demos repository also has some good GLSL tests.
+</p>
+
+</BODY>
+</HTML>