[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

mesa: Changes to 'master'



New branch 'master' available with the following commits:
commit a22bda9f80070393581c6ac512c03aa3144577ef
Author: Marek Olšák <maraeo@gmail.com>
Date:   Mon Feb 7 03:46:25 2011 +0100

    r600g: correctly report supported vertex formats

commit c95bc1224a4b20b9470ddcb37b5f78975991073b
Author: Marek Olšák <maraeo@gmail.com>
Date:   Mon Feb 7 02:00:44 2011 +0100

    r300g: use the new vertex buffer manager

commit aa8a2224a3df111a1613f0baefebc00883e1b70b
Author: Marek Olšák <maraeo@gmail.com>
Date:   Mon Feb 7 02:00:56 2011 +0100

    r600g: use the new vertex buffer manager

commit 975320ab76f5c247f6ed4dab80627173845200d0
Author: Marek Olšák <maraeo@gmail.com>
Date:   Sat Jan 29 20:53:57 2011 +0100

    util: import a new vertex buffer manager
    
    This code has originally matured in r300g and was ported to r600g several
    times. It was obvious it's a code duplication.
    
    See also comments in the header file.

commit 1c2a4f0820ff2272f993e6da28dcf8bcbbc3252a
Author: Marek Olšák <maraeo@gmail.com>
Date:   Sun Feb 6 21:12:19 2011 +0100

    r600g: do not flush the uploader

commit 529d867207a7f14364d9453cc2beaa4da4ea4752
Author: Marek Olšák <maraeo@gmail.com>
Date:   Sun Feb 6 21:09:38 2011 +0100

    r300g: do not flush the uploader
    
    We don't have to unmap and recreate the upload buffer when a flush occurs.
    This should also prevent buffer allocations from failing.

commit ec96b0ecdbe723f4664188010c7f86d5d7f41d82
Author: Marek Olšák <maraeo@gmail.com>
Date:   Sun Feb 6 15:42:55 2011 +0100

    configure.ac: correctly check for libdrm_radeon version

commit 4ad3b27ceee94cff9a0a78e6b778756d3714bdbf
Author: Marek Olšák <maraeo@gmail.com>
Date:   Wed Feb 2 06:46:24 2011 +0100

    r300g: RS400 doesn't have ZMASK

commit 780c183b8fdf2d301e1eea7f0b83cd96fb6cbf84
Author: Dave Airlie <airlied@redhat.com>
Date:   Sun Feb 6 18:57:11 2011 +1000

    r600g: use surface format not underlying texture format
    
    This uses the surface format to set the CB up not the underlying texture
    format, since these can and do differ.
    
    Fixes piglit fbo-srgb.

commit 68b701f5ded5f6b73a6b07cf37d862fab4836607
Author: Tom Stellard <tstellar@gmail.com>
Date:   Sat Feb 5 22:39:58 2011 -0800

    r300/compiler: Disable register rename pass on r500
    
    The scheduler and the register allocator are not good enough yet to deal
    with the effects of the register rename pass.  This was causing a 50%
    performance drop in Lightsmark.  The pass can be re-enabled once the
    scheduler and the register allocator are more mature.  r300 and r400
    still need this pass, because it prevents a lot of shaders from using
    too many texture indirections.
    
    NOTE: This is a candidate for the 7.10 branch.

commit 19202284c069b1295d590aa6c04809e5e33bda57
Author: Tom Stellard <tstellar@gmail.com>
Date:   Sat Feb 5 00:27:24 2011 -0800

    r300/compiler: Don't count BEGIN_TEX instructions in the compiler stats

commit 88ffa9ce5b8e5fe2b93238f8b9a7a888be28324e
Author: Dave Airlie <airlied@gmail.com>
Date:   Fri Jan 28 14:16:00 2011 +1000

    mesa/965: add support for GL_EXT_framebuffer_sRGB (v2)
    
    This adds i965 support for GL_EXT_framebuffer_sRGB, it introduces a new
    constant to say that the driver can support sRGB enabled FBOs since enabling
    the extension doesn't mean the driver can actually support sRGB.
    
    Also adds the suggested state flush in the core code suggested by Brian.
    
    fix the ARB_fbo color encoding.
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>

commit 5c3f1cdbbeb4d787bad7729ccd3f10aa78d113ac
Author: Ian Romanick <ian.d.romanick@intel.com>
Date:   Thu Feb 3 17:56:44 2011 -0800

    mesa: Fix error checks in GetVertexAttrib functions
    
    Querying index zero is not an error in OpenGL ES 2.0.
    
    Querying an index larger than the value returned by
    GL_MAX_VERTEX_ATTRIBS is an error in all APIs.
    
    Fixes bugzilla #32375.

commit ce9171f9d8e0e2c2422fdddb198f8d548381b7ea
Author: Ian Romanick <ian.d.romanick@intel.com>
Date:   Thu Feb 3 17:10:14 2011 -0800

    linker: Generate link errors when ES shaders are missing stages
    
    ES requires that a vertex shader and a fragment shader be present.
    
    Fixes bugzilla #32214.

commit 425ba198321b06b8c399812210228a42b4dd9fc7
Author: Vinson Lee <vlee@vmware.com>
Date:   Fri Feb 4 11:47:01 2011 -0800

    glsl: Add opt_copy_propagation_elements.cpp to SConscript.
    
    Fixes SCons build.

commit 1b80622c4e94e8c59eb2f7ee9989d99712baff8f
Author: Eric Anholt <eric@anholt.net>
Date:   Sun Jan 30 21:13:17 2011 -0800

    i965: Drop the dead tracking of color_regions[].
    
    We pull the draw regions right out of the renderbuffers these days.

commit 95cdce7f703ff24ee39ec9a341141622842d61b9
Author: Eric Anholt <eric@anholt.net>
Date:   Wed Jan 19 19:52:15 2011 -0800

    i965: Drop the INTEL_DEBUG=state spam about the cache size check.
    
    There's way more interesting info in INTEL_DEBUG=state if you could find
    it among the state size checks.

commit 29a2e9133e415de8b010df5b80db758aaf1007a6
Author: Eric Anholt <eric@anholt.net>
Date:   Sun Jan 30 07:59:14 2011 +1000

    glsl: Remove extra checks for constant true assignment conditions.
    
    These are already stripped by opt_constant_folding.cpp.

commit b6d49ab843ff7ee989e99bb28a36eb53f704c879
Author: Eric Anholt <eric@anholt.net>
Date:   Sun Jan 30 07:50:21 2011 +1000

    glsl: Fix a comment typo in copy propagation.

commit e31266ed3e3667c043bc5ad1abd65cfdb0fa7fdb
Author: Eric Anholt <eric@anholt.net>
Date:   Tue Jan 25 10:28:13 2011 +1000

    glsl: Add a new opt_copy_propagation variant that does it channel-wise.
    
    This patch cleans up many of the extra copies in GLSL IR introduced by
    i965's scalarizing passes.  It doesn't result in a statistically
    significant performance difference on nexuiz high settings (n=3) or my
    demo (n=10), due to brw_fs.cpp's register coalescing covering most of
    those extra moves anyway.  However, it does make the debug of wine's
    GLSL shaders much more tractable, and reduces instruction count of
    glsl-fs-convolution-2 from 376 to 288.

commit cde443e0b94ec6d8d0a99284e72ca7f9e2591174
Author: Vinson Lee <vlee@vmware.com>
Date:   Thu Feb 3 22:10:16 2011 -0800

    ralloc: Add missing va_end following va_copy.

commit 3188a7deb3d8bcaee647de27831c0f62b17a6ea9
Author: Dave Airlie <airlied@redhat.com>
Date:   Fri Feb 4 15:26:41 2011 +1000

    r600g: don't set tile_type on evergreen.
    
    Since we never bind the actual DB to the CB/texture only the flushed one
    we don't need to track the tile type at the moment.

commit fdd35dc91220046ed66877e60479f155e3a23690
Author: Dave Airlie <airlied@redhat.com>
Date:   Fri Feb 4 15:26:09 2011 +1000

    r600g: fix evergreen sampler view + depth interaction

commit 9ee765197c9af24545b4cc774da3b01e056e6299
Author: Vinson Lee <vlee@vmware.com>
Date:   Thu Feb 3 20:15:25 2011 -0800

    util: Change u_get_transfer_vtbl usage argument type to match prototype.
    
    The type of u_get_transfer_vtbl of the usage argument in u_transfer.h is
    unsigned and not enum pipe_transfer_usage. This patch changes the type
    of usage to unsigned to match the prototype in the header file.

commit 61c59234f916406512b3591f46599cc29a5d8e23
Author: Vinson Lee <vlee@vmware.com>
Date:   Thu Feb 3 19:19:12 2011 -0800

    glsl: Add using statements for standard library functions.
    
    Standard library functions in C++ are in the std namespace. When using
    C++-style header files for the standard library, some compilers, such as
    Sun Studio, provide symbols only for the std namespace and not for the
    global namespace.
    
    This patch adds using statements for standard library functions. Another
    option could have been to prepend standard library function calls with
    'std::'.
    
    This patch fixes several compilation errors with Sun Studio.

commit 151a945d38d8c9231799b00364c5b85c8a4b2279
Author: Dave Airlie <airlied@redhat.com>
Date:   Fri Feb 4 09:38:01 2011 +1000

    r600g: get offset for correct texture when setting up CB.
    
    this fixes the mipmap tests with tiling forced on.
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>

commit 812c314e5161d2b5f91c86ba45b79d4b34046bee
Author: Dave Airlie <airlied@redhat.com>
Date:   Fri Feb 4 09:36:02 2011 +1000

    r600g: avoid trying to flush the flushing texture.
    
    Since these textures still have the depth bit set.
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>

commit 8c643446f982892aeec4298977fbbe1ab92206fb
Author: Dave Airlie <airlied@redhat.com>
Date:   Fri Feb 4 09:34:32 2011 +1000

    r600g: evergreen CB check for flushed texture

commit 2271c793e8650e0e55c054301ab85b5b92b9bf11
Author: Dave Airlie <airlied@redhat.com>
Date:   Fri Feb 4 09:08:32 2011 +1000

    r600g: flushing texture needs all levels.
    
    For mipmap generation we need all levels in the flushing texture.
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>

commit cd6864c07976fad5f9008206d558dc6c8c599c11
Author: Dave Airlie <airlied@redhat.com>
Date:   Fri Feb 4 09:08:18 2011 +1000

    r600g: remove unused variables

commit 3e9bc43fbafdd497d475eaffe0deec81b446d122
Author: Dave Airlie <airlied@redhat.com>
Date:   Fri Feb 4 09:07:08 2011 +1000

    r600g: add a flag to just create flushed texture without flushing.
    
    This just adds a flag to create the texture without doing any
    flushing to it. Flushing occurs in the draw function. This avoids
    unnecessary flushes when we end up rebinding a CB/DB/texture due
    to the blitter just restoring state.
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>

commit 446bc12c1760fe5d402cdd519a7f0e42d89b9696
Author: Dave Airlie <airlied@redhat.com>
Date:   Fri Feb 4 09:06:02 2011 +1000

    r600g: also check CB bindings for textures to depth flush.
    
    This checks the color buffer bindings to make sure there is something
    to flush.
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>

commit 4b49fcbb9a26680e9a4ef441668e0dd817529d47
Author: Dave Airlie <airlied@redhat.com>
Date:   Thu Feb 3 14:45:40 2011 +1000

    r600g: flush depth texture before a blit from it.
    
    If we are going to blit from a depth texture we need to flush
    it before we blit from it.
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>

commit 5026841d5edc1f3c94e9057f7b331d4f56f0199a
Author: Brian Paul <brianp@vmware.com>
Date:   Thu Feb 3 12:41:16 2011 -0700

    svga: rename a couple sampler, sampler view functions

commit e40252d4d997ed8040611ebe13a769d0ad9e5582
Author: Brian Paul <brianp@vmware.com>
Date:   Mon Jan 31 14:41:36 2011 -0700

    gallium/svga: added debug code for dumping framebuffer images (disabled)

commit 73e37d933da6b5b65d70803e56341460b12d1156
Author: Brian Paul <brianp@vmware.com>
Date:   Thu Feb 3 12:30:19 2011 -0700

    gallium/docs: more info about setting samplers and sampler views
    
    Plus other assorted clarifications.

commit c5fb2c60bfe114d993da6c416a39c7873ab9cb3d
Author: Brian Paul <brianp@vmware.com>
Date:   Thu Feb 3 11:59:59 2011 -0700

    cso: don't tell drivers to bind null samplers, sampler views
    
    Before, the set_sampler_views() and restore_sampler_views() functions
    used MAX2(old,new) to tell the driver how many samplers or sampler
    views to set.  This could result in cases such as:
    
    pipe->set_fragment_sampler_views(pipe, 4, views={foo, bar, NULL, NULL})
    
    Many/most gallium drivers would take this as-is and set
    ctx->num_sampler_views=4 and ctx->sampler_views={foo, bar, NULL, NULL, ...}.
    Later, loops over ctx->num_sampler_views would have to check for null
    pointers.  Worse, the number of sampler views and number of sampler CSOs
    could get out of sync:
    
    ctx->num_samplers = 2
    ctx->samplers = {foo, bar, ...}
    ctx->num_sampler_views = 4
    ctx->sampler_views={Foo, Bar, NULL, NULL, ...}
    
    So loops over the num_samplers could run into null sampler_views pointers
    or vice versa.
    
    This fixes a failed assertion in the SVGA driver when running the Mesa
    engine demo in AA line mode (and possibly other cases).
    
    It looks like all gallium drivers are careful to unreference views
    and null-out sampler CSO pointers for the units beyond what's set
    with the pipe::bind_x_sampler_states() and pipe::set_x_sampler_views()
    functions.
    
    I'll update the gallium docs to explain this as well.

commit a6a710cbe7425819e1cd5ad5f2085311c092f2e7
Author: Henri Verbeet <hverbeet@gmail.com>
Date:   Thu Feb 3 21:10:50 2011 +0100

    r600g: Make some more things static.

commit d06b99009699f8bc1d7a1d711bee8edc92dfb1a9
Author: Henri Verbeet <hverbeet@gmail.com>
Date:   Thu Feb 3 21:10:50 2011 +0100

    r600g: Get rid of the unused r600_cf_vtx_tc() function.

commit d17d03a8dccb4bad25211693320459420409d997
Author: Henri Verbeet <hverbeet@gmail.com>
Date:   Thu Feb 3 21:10:50 2011 +0100

    r300g: Make the buffer and texture vbtls static const.

commit 126e98966d5396ed251a34e3c39f11b36351a579
Author: Henri Verbeet <hverbeet@gmail.com>
Date:   Thu Feb 3 21:10:50 2011 +0100

    r600g: Make the buffer and texture vbtls static const.

commit 4668ad36f397df183bcce2e596ac34d3d8b8f01f
Author: Alex Deucher <alexdeucher@gmail.com>
Date:   Thu Feb 3 14:35:54 2011 -0500

    egl_dri2: Add new radeon pci ids
    
    Signed-off-by: Alex Deucher <alexdeucher@gmail.com>

commit 9dc5de5bb13bfcd960f178c8e0eac265c3496fa8
Author: Kristian Høgsberg <krh@bitplanet.net>
Date:   Wed Feb 2 22:21:13 2011 -0500

    egl_dri2: Split out drm platform implementation to a separate file

commit 2889d9640fa98b690c6a89593572bbc9ea5640e3
Author: Kristian Høgsberg <krh@bitplanet.net>
Date:   Wed Feb 2 22:10:40 2011 -0500

    egl_dri2: Split out x11 platform code

commit b43a147128a1144a5fe4afcda412ccaba0c0793b
Author: Haitao Feng <haitao.feng@intel.com>
Date:   Sun Jan 30 16:03:35 2011 +0800

    swrast: add an interface createNewContextForAPI
    
    This new interface could set up context for OpenGL,
    OpenGL ES1 and OpenGL ES2. It will be used by egl_dri2
    driver.
    
    Signed-off-by: Haitao Feng <haitao.feng@intel.com>

commit 610c24b19d21f3d147fde4d96a3afaa107670f1e
Author: José Fonseca <jfonseca@vmware.com>
Date:   Thu Feb 3 16:14:02 2011 +0000

    svga: Fix resource leak; undo temporary workaround.
    
    Leak was introduced when fixing strict aliasing violation in this code:
    the reference counting was preserved, but the destructor call on zero
    reference count was not.

commit 0f3eeb45c73e77b791a047d7bd1ba0c18accb116
Author: José Fonseca <jfonseca@vmware.com>
Date:   Thu Feb 3 15:14:59 2011 +0000

    svga: Temporarily disable buffer DMA upload coalescing.
    
    See comment for more details.

commit 637ed52f597098ac556b27a4403056bd54343426
Author: José Fonseca <jfonseca@vmware.com>
Date:   Thu Feb 3 15:06:39 2011 +0000

    svga/drm: Flushing preemptively on a 1/3 of the aperture.
    
    Exactly one half would be the ideal, but this is a soft limit, and one
    more byte over brings us to synchronous behavior.
    
    Flushing when the referred GMR exceeds one third of the aperture gives us
    statistically better performance.

commit b6b6b8f8bb56c2e010b9e126797b4e54c6875eb3
Author: José Fonseca <jfonseca@vmware.com>
Date:   Thu Feb 3 15:05:03 2011 +0000

    util: Prevent transfer dangling pointer on map failure.

commit 5c296a583dd0e93188117188f1d0083057c31eac
Author: José Fonseca <jfonseca@vmware.com>
Date:   Thu Feb 3 15:02:07 2011 +0000

    svga: Don't call swc->flush directly.
    
    Only svga_context_flush should do it, to ensure upload commands are not
    submitted to hardware in an inconsistent state.

commit 9d4488e4a8bba2bce89d2c348ddc57ced2c6f6cd
Author: José Fonseca <jfonseca@vmware.com>
Date:   Thu Feb 3 15:01:09 2011 +0000

    svga: Add an assert to catch reentrancy.

commit 63c0a504a02baf95d34f06d7d9e9ae3fb8e952d4
Author: José Fonseca <jfonseca@vmware.com>
Date:   Thu Feb 3 13:59:58 2011 +0000

    svga/drm: Update for pb_vtbl::map argument addition.

commit 7535f93e5a98e5e79d76c07ccabe59f576ce01f0
Author: Michel Dänzer <daenzer@vmware.com>
Date:   Thu Feb 3 13:25:16 2011 +0100

    r300c: Unbreak after R4xx support was added to r300/compiler.

commit 82e79e93ac2aca07acbf14bfde2102b236c4e079
Author: José Fonseca <jfonseca@vmware.com>
Date:   Thu Feb 3 09:12:11 2011 +0000

    scons: Eliminate libgcc_s_sjlj-1.dll dependency
    
    Certain mingw32 cross compilers (e.g. RedHat's) defaults to use DLL gcc
    runtime.
    
    Given the main deliverable from this project are self-contained drivers,
    which are loaded by any application, this dependency can cause havoc.

commit aa31a5cbc7b52eb1d03c6eab414479249830eabf
Author: Dave Airlie <airlied@redhat.com>
Date:   Thu Feb 3 13:43:37 2011 +1000

    r600g: flush differences back to DB copy.

commit 417cfa60b2fec89423be6ce51ab8b1f3063abb2a
Author: Dave Airlie <airlied@redhat.com>
Date:   Tue Feb 1 17:20:53 2011 +1000

    r600g: fix depth hw resource copies.
    
    With the previous fixes we can now enabled hw depth copies
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>

commit 5730d565498cb8b4608fb7ed526172bc4bd84cb9
Author: Dave Airlie <airlied@redhat.com>
Date:   Thu Feb 3 13:19:30 2011 +1000

    r600g: only set depth bit for hw accessible depth buffers.
    
    If we get a sw accessible buffer like the S8 texture we end up
    doing depth tracking on it when there is no need since we won't
    ever bind it to the hardware. This leads to a sw fallback in the
    transfer destruction which leads to and endless recusion loop
    of fail in transfer destroy.
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>

commit b13b7b86b2e1165b24a2df20cb67f9f3baa17b13
Author: Dave Airlie <airlied@redhat.com>
Date:   Thu Feb 3 13:12:35 2011 +1000

    r600g: rework dirty / depth texture tracking.
    
    this adds a flag to keep track of whether the depth texture structure
    is the flushed texture or not, so we can avoid doing flushes when
    we do a hw rendering from one to the other.
    
    it also renames flushed to dirty_db which tracks if the DB copy
    has been dirtied by being bound to the hw.
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>

commit d0293290ad620084d490b51693d97731a8935094
Author: Dave Airlie <airlied@redhat.com>
Date:   Thu Feb 3 13:21:08 2011 +1000

    r600g: set correct pitch/offset for depth textures in flushed state.
    
    This fixes zreaddraw in tiling mode

commit 4629be05098a4cfececcfa98ad88282800ab3a6c
Author: Brian Paul <brianp@vmware.com>
Date:   Wed Feb 2 20:43:56 2011 -0700

    softpipe: rename sampler[] -> fragment_samplers[]

commit 843f206a342751084cbd55d9fb0fdf78fd310e99
Author: Brian Paul <brianp@vmware.com>
Date:   Wed Feb 2 20:30:54 2011 -0700

    softpipe: rename fragment sampler/view fields
    
    To be consistant with vertex, geometry sampler fields.

commit c06fa98c86abbff730a098ffbe980347b3c7d0e6
Author: Brian Paul <brianp@vmware.com>
Date:   Wed Feb 2 20:19:51 2011 -0700

    cso: refactor texture sampler and sampler view code
    
    This consolidates the code duplicated between the fragment sampler
    and vertex sampler functions.  Plus, it'll make adding support for
    geometry shader samplers trivial.

commit 5f30e0b2316c5d0a50f1b331e7cdb4c46882e918
Author: Brian Paul <brianp@vmware.com>
Date:   Wed Feb 2 18:14:46 2011 -0700

    cso: rename fragment sampler-related fields
    
    To better distinguish from vertex sampler fields.

commit d087cfaabf386c462329fb62f54311523a89f106
Author: Brian Paul <brianp@vmware.com>
Date:   Wed Feb 2 18:11:27 2011 -0700

    cso: fix loop bound in cso_set_vertex_samplers()
    
    Before we were looping to nr_samplers, which is the number of fragment
    samplers, not vertex samplers.
    
    NOTE: This is a candidate for the 7.9 and 7.10 branches.

commit fd1252ab67abb1ea351195e192429f292667a8a2
Author: Chad Versace <chad.versace@intel.com>
Date:   Wed Feb 2 10:15:19 2011 -0800

    glcpp: Raise error when modulus is zero
    
    For example, this now raises an error:
       #define XXX 1 / 0
    
    Fixes bug: https://bugs.freedesktop.org//show_bug.cgi?id=33507
    Fixes Piglit test: spec/glsl-1.10/preprocessor/modulus-by-zero.vert
    
    NOTE: This is a candidate for the 7.9 and 7.10 branches.

commit e7c1f058d18f62aa4871aec623f994d7b68cb8c1
Author: Chad Versace <chad.versace@intel.com>
Date:   Tue Feb 1 10:14:28 2011 -0800

    glsl: Avoid division-by-zero during constant-folding
    
    Avoid division-by-zero when constant-folding the following expression
    types:
        ir_unop_rsq
        ir_binop_div
        ir_binop_mod
    
    Fixes bugs:
    https://bugs.freedesktop.org//show_bug.cgi?id=33306
    https://bugs.freedesktop.org//show_bug.cgi?id=33508
    
    Fixes Piglit tests:
    glslparsertest/glsl2/div-by-zero-01.frag
    glslparsertest/glsl2/div-by-zero-02.frag
    glslparsertest/glsl2/div-by-zero-03.frag
    glslparsertest/glsl2/modulus-zero-01.frag
    glslparsertest/glsl2/modulus-zero-02.frag
    
    NOTE: This is a candidate for the 7.9 and 7.10 branches.

commit b3cf92aa916ee0537ee37723c23a9897ac9cd3e0
Author: Chad Versace <chad.versace@intel.com>
Date:   Tue Feb 1 09:09:33 2011 -0800

    glsl: Fix constant-folding for reciprocal expressions
    
    Do not constant-fold a reciprocal if any component of the reciprocated
    expression is 0. For example, do not constant-fold `1 / vec4(0, 1, 2, 3)`.
    
    Incorrect, previous behavior
    ----------------------------
    Reciprocals were constant-folded even when some component of the
    reciprocated expression was 0. The incorrectly applied arithmetic was:
       1 / 0 := 0
    For example,
       1 / vec4(0, 1, 2, 3) = vec4(0, 1, 1/2, 1/3)
    
    NOTE: This is a candidate for the 7.9 and 7.10 branches.

commit 50278c0901d07d0b6c8b883683b1f3d96378bdb5
Author: José Fonseca <jfonseca@vmware.com>
Date:   Wed Feb 2 11:28:41 2011 +0000

    svga: Flush upload buffers or we get asserts
    
    Based on work from Jakob Bornecrantz, Michel Dänzer, and Brian Paul.

commit dfdb9fda826bb6c5dac2c55d9efcd1644a0dd2b9
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Tue Feb 1 23:47:26 2011 -0800

    glsl: Fix use of uninitialized values in _mesa_glsl_parse_state ctor.
    
    This has probably existed since e5e34ab18eeaffa465 or so.
    
    NOTE: This is a candidate for the 7.9 and 7.10 branches.

commit cfd8d45ccde3252fd9a27fe0b2031a35f437a6a2
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Tue Feb 1 23:31:35 2011 -0800

    glsl: Fix invalid use of ralloc_asprintf in prototype_string.
    
    This was my mistake when converting from talloc to ralloc.  I was
    confused because the other calls in the function are to asprintf_append
    and the original code used str as the context rather than NULL.
    
    Fixes bug #33823.

commit 8ca3b140eb53fd8063337a5a2a54a35987d597bc
Author: Christian König <deathsimple@vodafone.de>
Date:   Wed Feb 2 00:24:34 2011 +0100

    r600g: use burst exports in shaders
    
    Join multiple exports into just one instruction
    instead of exporting each register separately.

commit 8503cffc4c7b8df8d4260161dc8aa06b0f81f19e
Author: Alex Deucher <alexdeucher@gmail.com>
Date:   Tue Feb 1 19:13:54 2011 -0500

    r200: remove 0x4243 pci id
    
    There's no such device.  0x4243 is a pci bridge id,
    not a GPU.
    
    Signed-off-by: Alex Deucher <alexdeucher@gmail.com>

commit a04582739e77b58cea9e2aa523109e878bf90b6a
Author: Ian Romanick <ian.d.romanick@intel.com>
Date:   Tue Feb 1 13:35:36 2011 -0800

    i915: Only mark a register as available if all components are written
    
    Previously a register would be marked as available if any component
    was written.  This caused shaders such as this:
    
      0: TEX TEMP[0].xyz, INPUT[14].xyyy, texture[0], 2D;
      1: MUL TEMP[1], UNIFORM[0], TEMP[0].xxxx;
      2: MAD TEMP[2], UNIFORM[1], TEMP[0].yyyy, TEMP[1];
      3: MAD TEMP[1], UNIFORM[2], TEMP[0].zzzz, TEMP[2];
      4: ADD TEMP[0].xyz, TEMP[1].xyzx, UNIFORM[3].xyzx;
      5: TEX TEMP[1].w, INPUT[14].xyyy, texture[0], 2D;
      6: MOV TEMP[0].w, TEMP[1].wwww;
      7: MOV OUTPUT[2], TEMP[0];
      8: END
    
    to produce incorrect code such as this:
    
      BEGIN
      DCL S[0]
      DCL T_TEX0
      R[0] = MOV T_TEX0.xyyy
      U[0] = TEXLD S[0],R[0]
      R[0].xyz = MOV U[0]
      R[1] = MUL CONST[0], R[0].xxxx
      R[2] = MAD CONST[1], R[0].yyyy, R[1]
      R[1] = MAD CONST[2], R[0].zzzz, R[2]
      R[0].xyz = ADD R[1].xyzx, CONST[3].xyzx
      R[0] = MOV T_TEX0.xyyy
      U[0] = TEXLD S[0],R[0]
      R[1].w = MOV U[0]
      R[0].w = MOV R[1].wwww
      oC = MOV R[0]
      END
    
    Note that T_TEX0 is copied to R[0], but the xyz components of R[0] are
    still expected to hold a calculated value.
    
    Fixes piglit tests draw-elements-vs-inputs, fp-kill, and
    glsl-fs-color-matrix.  It also fixes Meego bugzilla #13005.
    
    NOTE: This is a candidate for the 7.9 and 7.10 branches.

commit 20d278a7ff0ce66e5c4ac437e1fbe52c31a1ecb3
Author: Ian Romanick <ian.d.romanick@intel.com>
Date:   Thu Jan 27 12:24:27 2011 -0800

    mesa: glGetUniform only returns a single element of an array
    
    Also return it as the correct type.  Previously the whole array would
    be returned and each element would be expanded to a vec4.
    
    Fixes piglit test getuniform-01 and bugzilla #29823.

commit 3c701f1d61b33a5ffaddd4199ac277da8e287f30
Author: José Fonseca <jfonseca@vmware.com>
Date:   Tue Feb 1 10:41:46 2011 +0000

    glsl: Fix printf_length() on MSVC.

commit a7d350790b4d0416117bc785aa77de52e9298a01
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Tue Feb 1 00:20:01 2011 -0800

    glsl: Fix memory error when creating the supported version string.
    
    Passing ralloc_vasprintf_append a 0-byte allocation doesn't work.  If
    passed a non-NULL argument, ralloc calls strlen to find the end of the
    string.  Since there's no terminating '\0', it runs off the end.
    
    Fixes a crash introduced in 14880a510a1a288df0778395097d5a52806abfb0.

commit 11bc8991e94e2fa6d461193a6aff47f8f94b7a47
Author: Dave Airlie <airlied@redhat.com>
Date:   Tue Feb 1 14:38:45 2011 +1000

    r600g: just change tile type when buffer is set to depth.
    
    Not 100% sure on this one, but this is how it should work,
    the question is whether it will uncover other bugs elsewhere.

commit a112cc283d2c62f895cdd6aceb976b3c7ef5f59d
Author: Dave Airlie <airlied@redhat.com>
Date:   Tue Feb 1 14:22:08 2011 +1000

    r600g: align the tiling modes with what the DDX and kernel expects.
    
    If we see a MACRO bit on r600g its 2D tiled,
    if don't see a MACRO bit and we do see a MICRO bit then its 1D tiled.
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>

commit 8b5a50b31ca272ab8761e2a31025a54d8999ec06
Author: Dave Airlie <airlied@redhat.com>
Date:   Tue Feb 1 13:06:35 2011 +1000

    r600g: fix evergreen for depth decompress test

commit aee5f1e40ca27149a6226187e855125821d96971
Author: Dave Airlie <airlied@redhat.com>
Date:   Tue Feb 1 13:00:56 2011 +1000

    r600: only decompress depth when its tile type is wrong.
    
    If the tile type for the buffer is 1 then its been bound to the
    DB at some point, we need to decompress it, otherwise its only
    been bound as texture/cb so don't do anything.
    
    This fixes 5 piglit tests here on r600g.

commit 3ef397dafc80278d48d1385e14d4e500a86e94ac
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Mon Jan 31 16:41:34 2011 -0800

    texture_builtins.py: Fix a warning about mixed tabs/spaces.

commit 42b5f6819881e4885ff73a17635eb7d2d341563d
Author: Dave Airlie <airlied@redhat.com>
Date:   Sat Jan 29 21:25:37 2011 +1000

    r600g: start looking at evergreen tiling.
    
    this just adds the ioctl interface and sets the tile type
    and array mode in the correct place.
    
    This seems to bring eg 1D tiling to the same level, and issues
    as on r600. No idea how to address 2D yet.

commit d171ae086bae37279251a1d6f32e16e333cfc154
Author: Henri Verbeet <hverbeet@gmail.com>
Date:   Tue Feb 1 01:17:02 2011 +0100

    r600g: Actually use the info from the flushed depth texture when creating a sampler view on a depth texture.
    
    R600/R700 was using incorrect tiling information from the (compressed) depth
    buffer. Evergreen worked anyway because tiling doesn't work.

commit 5e19b5ad16b2761fe9d8877318f2fc97b229335c
Author: Ian Romanick <ian.d.romanick@intel.com>
Date:   Mon Jan 31 15:04:45 2011 -0800

    glsl: Refresh autogenerated lexer and parser files.
    
    For the previous commit.

commit 14880a510a1a288df0778395097d5a52806abfb0
Author: Ian Romanick <ian.d.romanick@intel.com>
Date:   Mon Jan 31 15:02:24 2011 -0800

    glsl: Reject shader versions not supported by the implementation
    
    Previously we'd happily compile GLSL 1.30 shaders on any driver.  We'd
    also happily compile GLSL 1.10 and 1.20 shaders in an ES2 context.
    This has been a long standing FINISHME in the compiler.
    
    NOTE: This is a candidate for the 7.9 and 7.10 branches

commit e5e34ab18eeaffa465094f6281dfe293b84376db
Author: Ian Romanick <ian.d.romanick@intel.com>
Date:   Mon Jan 31 14:52:27 2011 -0800

    glsl: Ensure that all GLSL versions are supported in the stand-alone compiler
    
    NOTE: This is a candidate for the 7.9 and 7.10 branches

commit bf9850db2221384f1b92b034391f7149c74bf10e
Author: Ian Romanick <ian.d.romanick@intel.com>
Date:   Thu Jan 27 17:51:55 2011 -0800

    glsl: Fix dependencies / linkage for glsl_compiler

commit 09e15ac76a6efb17148467671508f171658765d9
Author: Ian Romanick <ian.d.romanick@intel.com>
Date:   Mon Jan 31 13:46:16 2011 -0800

    mesa: Initial size for secondary color array is 3
    
    See table 6.7 on page 347 of the OpenGL 3.0 specification.

commit 7fb722c35c2d2cb74b14417a8ddc0684ed6dd838
Author: Christian König <deathsimple@vodafone.de>
Date:   Mon Jan 31 23:38:10 2011 +0100

    r600g: fix invalid ref count handling in r600_set_constant_buffer
    
    Only decrement ref count if r600_upload_const_buffer
    really changes the buffer.

commit a8c144a388a5c7275d8d223c5508c66a0612a1b0
Author: Brian Paul <brianp@vmware.com>
Date:   Mon Jan 31 14:09:17 2011 -0700

    llvmpipe: fix incorrect array index in image dump code

commit a1f5c46d24ed9952d5643364d2814425002b5690
Author: Brian Paul <brianp@vmware.com>
Date:   Mon Jan 31 14:08:47 2011 -0700

    glsl: regerated files

commit aacd07d623d60356cfad9f96a261310e12eed7c0
Author: Brian Paul <brianp@vmware.com>
Date:   Mon Jan 31 14:08:22 2011 -0700

    glsl: make _token_list_is_empty_ignoring_space() static
    
    To silence warning about missing prototype.

commit 3b8c7d70b392c4110fd00f8efc3d10adf1db2f0c
Author: Brian Paul <brianp@vmware.com>
Date:   Mon Jan 31 14:07:12 2011 -0700

    scons/glsl: add top-level 'include' dir to CPPPATH
    
    To avoid using the /usr/include/GL/gl.h file which may be lacking
    some special #defines.

commit 59c957b688651a4c7fa4660ee7a404bd83e8bb0b
Author: Brian Paul <brianp@vmware.com>
Date:   Mon Jan 31 14:06:38 2011 -0700

    glsl: add cast to silence signed/unsigned comparison warning

commit 3ae7aa340305dbfa703abc9ec53ebad3ab6afa11
Author: José Fonseca <jfonseca@vmware.com>
Date:   Mon Jan 31 20:52:18 2011 +0000

    glsl: Define va_copy on MSVC.

commit 0f7325b89038937bd428f7c89ed9859189a0ab0b
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Mon Dec 27 03:21:23 2010 -0800

    i965: Emit texel offsets in sampler messages.

commit ca418cbde6377dd723c857582db2f8f3725ffdea
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Sat Jan 8 23:53:51 2011 -0800

    glsl/builtins: Uncomment prototypes for texture*Offset functions.

commit ba3de801ecb54bf980c338ef4f54097ca4ea60ee
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Sat Jan 8 23:53:11 2011 -0800

    texture_builtins.py: Generate texture*Offset functions.

commit 4c63f2de2fdac3cedef65eb29f57e6e2b26a0d59
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Mon Dec 27 02:53:43 2010 -0800

    texture_builtins.py: Generalize the "use_proj" field to support offsets.
    
    Rather than passing "True", pass a bitfield describing the particular
    variant's features - either projection or offset.
    
    This should make the code a bit more readable ("Proj" instead of "True")
    and make it easier to support offsets in the future.

commit 99f36486ebf3d5a6edfd6329e882d6409a085582
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Mon Dec 27 02:50:42 2010 -0800

    texture_builtins.py: Refactor coordinate dimension calculations.
    
    For offsets, we'll want the straight sampler dimensionality, without the
    +1 for array types.  Create a new function to do that; refactor.

commit 819d57fce94b20fa0d34da6f037f0a53c4a5bdc2
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Wed Jan 12 15:37:37 2011 -0800

    glsl: Introduce a new "const_in" variable mode.
    
    This annotation is for an "in" function parameter for which it is only legal
    to pass constant expressions.  The only known example of this, currently,
    is the textureOffset functions.
    
    This should never be used for globals.

commit c5a27b5939427bdc95c926b450ed3de1ff4baafb
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Sat Jan 8 23:49:23 2011 -0800

    glsl: Change texel offsets to a single vector rvalue.
    
    Having these as actual integer values makes it difficult to implement
    the texture*Offset built-in functions, since the offset is actually a
    function parameter (which doesn't have a constant value).
    
    The original rationale was that some hardware needs these offset baked
    into the instruction opcode.  However, at least i965 should be able to
    support non-constant offsets.  Others should be able to rely on inlining
    and constant propagation.

commit 60c8e91c795dc604c08977d5773f96a4de8e402b
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Mon Jan 31 11:01:27 2011 -0800

    glsl: Re-synchronize ir_variable_mode and the printer's string array.


Reply to: