diff options
author | marha <marha@users.sourceforge.net> | 2012-06-08 09:33:13 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2012-06-08 09:33:13 +0200 |
commit | 990bc3f015a4f8fce2eb918375defcd44980a845 (patch) | |
tree | 8e8301f19482b52cc00bd95b4593522cc93267af /mesalib/docs | |
parent | 1af6fc1b5d93e54d6674de8b5870448b29f139a7 (diff) | |
download | vcxsrv-990bc3f015a4f8fce2eb918375defcd44980a845.tar.gz vcxsrv-990bc3f015a4f8fce2eb918375defcd44980a845.tar.bz2 vcxsrv-990bc3f015a4f8fce2eb918375defcd44980a845.zip |
Used synchronise script to update files
Diffstat (limited to 'mesalib/docs')
-rw-r--r-- | mesalib/docs/MESA_agp_offset.spec | 190 | ||||
-rw-r--r-- | mesalib/docs/MESA_pack_invert.spec | 276 | ||||
-rw-r--r-- | mesalib/docs/MESA_release_buffers.spec | 170 | ||||
-rw-r--r-- | mesalib/docs/MESA_resize_buffers.spec | 162 | ||||
-rw-r--r-- | mesalib/docs/MESA_swap_control.spec | 258 | ||||
-rw-r--r-- | mesalib/docs/MESA_texture_array.spec | 1608 | ||||
-rw-r--r-- | mesalib/docs/MESA_texture_signed_rgba.spec | 428 | ||||
-rw-r--r-- | mesalib/docs/MESA_window_pos.spec | 252 | ||||
-rw-r--r-- | mesalib/docs/MESA_ycbcr_texture.spec | 408 | ||||
-rw-r--r-- | mesalib/docs/VERSIONS | 3028 | ||||
-rw-r--r-- | mesalib/docs/enums.txt | 114 | ||||
-rw-r--r-- | mesalib/docs/install.html | 121 | ||||
-rw-r--r-- | mesalib/docs/mesa.css | 66 | ||||
-rw-r--r-- | mesalib/docs/relnotes-7.10.html | 5590 | ||||
-rw-r--r-- | mesalib/docs/relnotes-7.8.2.html | 292 | ||||
-rw-r--r-- | mesalib/docs/relnotes-7.8.3.html | 178 | ||||
-rw-r--r-- | mesalib/docs/relnotes-7.9.1.html | 812 | ||||
-rw-r--r-- | mesalib/docs/relnotes-7.9.html | 274 | ||||
-rw-r--r-- | mesalib/docs/shading.html | 536 |
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 && stfb->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 >= 0) && (type->base_type <= 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 >= 1) && (size <= 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->operands[i]->type->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 -> 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->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 >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->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 << and >> 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 ->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->map_gtt</li>
- <li>i915g: kill idws->pool</li>
- <li>i915g: drop alignment parameter from iws->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->buffer_from_handle</li>
- <li>i915g: implement unfenced color&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->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->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->FP output->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 ->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 <= 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 & 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 & 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 & resource unbinding</li>
- <li>r600g: fix routing btw vertex & 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 & literal src splitting, also fix mplayer gl2 shader</li>
- <li>evergreeng: avoid overlapping border color btw VS & 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 & 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 & 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 > 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->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 -> 24bit & 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 -> 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 -> 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 <3 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->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->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->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->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->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 >= 1.30.</li>
- <li>Refresh autogenerated glcpp parser.</li>
- <li>glsl: Fix constant expression handling for <, >, <=, >= 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->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 -> 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 -> 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 -> 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&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 -> 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 >= 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->nr_cbufs <= 1 on nv30</li>
- <li>nvfx: reset nvfx->hw_zeta</li>
- <li>nvfx: fixes after array textures merge</li>
- <li>init ps->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 && stfb->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 >= 0) && (type->base_type <= 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 >= 1) && (size <= 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->operands[i]->type->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 -> 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->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 >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->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 << and >> 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 ->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->map_gtt</li> + <li>i915g: kill idws->pool</li> + <li>i915g: drop alignment parameter from iws->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->buffer_from_handle</li> + <li>i915g: implement unfenced color&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->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->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->FP output->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 ->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 <= 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 & 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 & 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 & resource unbinding</li> + <li>r600g: fix routing btw vertex & 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 & literal src splitting, also fix mplayer gl2 shader</li> + <li>evergreeng: avoid overlapping border color btw VS & 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 & 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 & 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 > 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->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 -> 24bit & 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 -> 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 -> 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 <3 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->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->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->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->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->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 >= 1.30.</li> + <li>Refresh autogenerated glcpp parser.</li> + <li>glsl: Fix constant expression handling for <, >, <=, >= 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->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 -> 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 -> 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 -> 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&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 -> 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 >= 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->nr_cbufs <= 1 on nv30</li> + <li>nvfx: reset nvfx->hw_zeta</li> + <li>nvfx: fixes after array textures merge</li> + <li>init ps->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 && stfb->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 >= 0) && (type->base_type <= 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 >= 1) && (size <= 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->operands[i]->type->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 >= 1.30.</li>
- <li>glsl: Unconditionally define GL_FRAGMENT_PRECISION_HIGH in ES2 shaders.</li>
- <li>glsl: Fix constant expression handling for <, >, <=, >= 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 >= 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 && stfb->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 >= 0) && (type->base_type <= 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 >= 1) && (size <= 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->operands[i]->type->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 >= 1.30.</li> + <li>glsl: Unconditionally define GL_FRAGMENT_PRECISION_HIGH in ES2 shaders.</li> + <li>glsl: Fix constant expression handling for <, >, <=, >= 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 >= 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 >= 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 >= 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> |