Mesa (gallium-compute): 265 new commits

Francisco Jerez currojerez at kemper.freedesktop.org
Fri Apr 20 16:12:16 UTC 2012


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=941c0f8dd837212491cfbc9e9b043b0d8067b0b5
Author: Alexey Shvetsov <alexxy at gentoo.org>
Date:   Wed Apr 11 01:11:56 2012 +0300

    gallium/targets/pipe-loader: Prepend DESTDIR to the installation directory.
    
    Signed-off-by: Alexey Shvetsov <alexxy at gentoo.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=515939d8abb4f28242777864c36f74b2a67e4eba
Author: Tom Stellard <thomas.stellard at amd.com>
Date:   Fri Apr 20 16:56:46 2012 +0200

    clover: Assorted build fixes.
    
    Contains the following patches squashed in:
    
    commit 9fff1dc0875f7c9591550fa3ebbe1ba7a18483fa
    Author: Tom Stellard <thomas.stellard at amd.com>
    Date:   Tue Mar 20 23:20:03 2012 +0100
    
        configure.ac: Build gallium loader when OpenCL is enabled
    
    commit 542111cb02957418c6a285cb6ef2924e49adc66e
    Author: Tom Stellard <thomas.stellard at amd.com>
    Date:   Tue Mar 20 23:30:29 2012 +0100
    
        configure.ac: Add sw/null to GALLIUM_WINSYS_DIRS for gallium loader
    
    commit 876f8de46062dde76b6075be3b6628f969b16648
    Author: Tom Stellard <thomas.stellard at amd.com>
    Date:   Thu Feb 9 11:26:05 2012 -0500
    
        configure.ac: Require gcc > 4.6.0 for clover
    
    commit 99049d50fa3d9a23297ae658189c19c89dca1766
    Author: Tom Stellard <thomas.stellard at amd.com>
    Date:   Tue Mar 20 23:32:06 2012 +0100
    
        configure.ac: Require Gallium drm loader when gallium loader is enabled
    
        No longer silently exclude this when building OpenCL drivers
        for nouveau and r600.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=abeec551d246c70a3fd2dd58286aa75a19ae1db4
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Fri Apr 20 16:56:19 2012 +0200

    clover: Import OpenCL state tracker.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=aeb70e5edb9bd5622c43bafeae05f016b8ba685e
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Tue Mar 20 23:41:09 2012 +0100

    gallium/tests/trivial: Import compute unit tests.
    
    Add a test program that tries to exercise some of the language
    features commonly used by compute programs at the Gallium API level:
    
       - Correctness of the values returned by the grid parameters.
       - Proper functioning of resource LOADs and STOREs.
       - Subroutine calls.
       - Argument passing to the compute parameter through the INPUT
         memory space.
       - Mapping of buffer objects to the GLOBAL memory space.
       - Proper functioning of the PRIVATE and LOCAL memory spaces.
       - Texture sampling and constant buffers.
       - Support for multiple kernels in the same program.
       - Indirect resource indexing.
       - Formatted resource loads and stores (i.e. with channel conversion
         and scaling) using several different formats.
       - Proper functioning of work-group barriers.
       - Atomicity and semantics of the atomic opcodes.
    
    As of now all of them seem to pass on my nvA8.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fb79835945ec8fdd400145217a9a92ebbbfc7d7f
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Fri Apr 20 16:31:23 2012 +0200

    gallium/gbm: Switch to auxiliary/pipe-loader.
    
    Reviewed-by: Jakob Bornecrantz <jakob at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=141c2af88337b0efcc3b66f734beb270a1b039b1
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Sun Apr 1 13:13:52 2012 +0200

    gallium/tests/trivial: Switch to the pipe loader.
    
    It simplifies things slightly, and besides, it makes possible to
    execute the trivial tests on a hardware device instead of being
    limited to software rendering.
    
    Reviewed-by: Jakob Bornecrantz <jakob at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7c5a00c2a7e935ae9fe2e62cab45293abcccb5a4
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Fri Nov 25 14:26:00 2011 +0100

    gallium: Add "pipe-loader" target.
    
    This target generates pipe driver modules intended to be consumed by
    auxiliary/pipe-loader.  Most of it was taken from the "gbm" target --
    the duplicated code will be replaced with references to this target in
    a future commit.
    
    Reviewed-by: Jakob Bornecrantz <jakob at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0977d0993920854c7cfb230328145710d14cb799
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Fri Apr 20 16:30:07 2012 +0200

    gallium: Add pipe loader for device enumeration and driver multiplexing.
    
    The goal is to have a uniform interface to create winsys and
    pipe_screen instances for any driver, exposing the device enumeration
    capabilities that might be supported by the operating system (for now
    there's a "drm" back-end using udev and a "sw" back-end that always
    returns the same built-in devices).
    
    The typical use case of this library will be:
    >
    > struct pipe_loader_device devs[n];
    > struct pipe_screen *screen;
    >
    > pipe_loader_probe(&devs, n);
    >[pick some device from the array...]
    >
    > screen = pipe_loader_create_screen(dev, library_search_path);
    >[do something with screen...]
    >
    > screen->destroy(screen);
    > pipe_loader_release(&devs, N);
    >
    
    A part of the code was taken from targets/gbm/pipe_loader.c, which
    will be removed and replaced with calls into this library by a future
    commit.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c0ec400f3f54ea6ca1a51b3126568a25d221cc80
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Tue Mar 20 22:46:11 2012 +0100

    gallium/tgsi/text: Replace open-coded integer parsing with parse_int().

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e8291d0ac4b7639a63c1a0e696cba11b617cce2d
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Tue Mar 20 22:39:29 2012 +0100

    gallium/tgsi/text: Parse immediates of non-float data types.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4b944cd431827dca345686e9bf40c0e0eff8d4e5
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Tue Mar 20 21:29:36 2012 +0100

    gallium/tgsi: Fix tgsi_build_full_immediate() for non-float data types.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6fb26f0345e1b19295baabefcf73353a688d2293
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Mon Mar 26 17:56:29 2012 +0200

    gallium/tgsi/text: Make label parsing optional for branch instructions.
    
    Structured branch instructions like IF, ELSE, BGNLOOP, ENDLOOP no
    longer require a label argument, make it optional for them.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f40ba62b21d9b49f28a481c984063f2126c0e1c7
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Thu Dec 8 18:05:25 2011 +0100

    st/mesa: Use local temporary registers.
    
    Local makes more sense in most places because non-inline function
    calls are unimplemented anyway.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=cab92d7a9aff9e056f75c0a38b641fa5087ecb12
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Mon Mar 26 17:55:30 2012 +0200

    gallium/tgsi/ureg: Support local temporary emission.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4bcada7378bff5ec33fb11851e77c48f1ff0f7c5
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Thu Dec 8 18:00:17 2011 +0100

    gallium/tgsi/ureg: Lift the restriction on releasing temporaries over UREG_MAX_TEMP.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c8a0be070dc3f8936ae20f7683883425a537896e
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Fri Nov 25 14:37:07 2011 +0100

    gallium/util: Define util_strchrnul.
    
    Reviewed-by: Jakob Bornecrantz <jakob at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=73b2716135f1645901143040ff8c5cc40204079c
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Sun Mar 18 23:59:33 2012 +0100

    gallium/compute: Drop TGSI dependency.
    
    Add a shader cap for specifying the preferred shader representation.
    Right now the only supported value is TGSI, other enum values will be
    added as they are needed.
    
    This is mainly to accommodate AMD's LLVM compiler back-end by letting
    it bypass the TGSI representation for compute programs.  Other drivers
    will keep using the common TGSI instruction set.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=963b82efe153278d1d58195cf232008169c622ba
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Sun Mar 18 19:21:36 2012 +0100

    gallium/tgsi: Introduce the "LOCAL" register declaration modifier.
    
    This change will be useful to implement function parameter passing on
    top of TGSI.  As we don't have a proper stack, a register-based
    calling convention will be used instead, which isn't necessarily a bad
    thing given that GPUs often have plenty of registers to spare.
    
    Using the same register space for local temporaries and
    inter-procedural communication caused some inefficiencies, because in
    some cases the register allocator would lose the freedom to merge
    temporary values together into the same physical register, leading to
    suboptimal register (and sometimes, as a side effect, instruction)
    usage.
    
    The LOCAL declaration modifier specifies that the value isn't intended
    for parameter passing and as a result the compiler doesn't have to
    give any guarantees of it being preserved across function boundaries.
    
    Ignoring the LOCAL flag doesn't change the semantics of a valid
    program in any way, because local variables are just supposed to get a
    more relaxed treatment.  IOW, this should be a backwards-compatible
    change.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b3a25879e8631b31d9e1bc587660f4ad3d422b70
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Tue Mar 6 20:52:25 2012 +0100

    gallium/tgsi: Add support for atomic opcodes.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=af0f106c7d0a582c01f0120bf06b58587c47500d
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Tue Mar 6 20:50:46 2012 +0100

    gallium/tgsi: Add support for barriers.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=54157e9cd34a4f146ca733350e2f20191e7fd668
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Sun Mar 18 18:13:29 2012 +0100

    gallium/tgsi: Define system values used to query the compute grid parameters.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=bf145a5786f1dc25a3394a9b6cb79a93d4aea765
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Tue Mar 20 18:14:11 2012 +0100

    gallium/tgsi: Add resource write-back support.
    
    Define a new STORE opcode with a role dual to the LOAD opcode, and add
    flags to specify that a resource, sampler view, or shader resource
    binding point is intended for writing.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d8860d0907ba2672421ed14e575fa9fb9e1318e2
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Sun Mar 18 19:14:24 2012 +0100

    gallium/tgsi: Add support for raw resources.
    
    Normal resource access (e.g. the LOAD TGSI opcode) is supposed to
    perform a series of conversions to turn the texture data as it's found
    in memory into the data format that was specified in the resource
    declaration.
    
    In compute programs it's often the case that we only want to access
    the raw bits as they're stored in some buffer object, and any kind of
    channel conversion and scaling is harmful or inefficient, especially
    in implementations that lack proper hardware support to take care of
    it -- in those cases the conversion has to be implemented in software
    and it's likely to result in a performance hit even if the pipe_buffer
    and declaration data types are set up in a way that would just pass
    the data through.
    
    Add a declaration flag that marks a resource as typeless.  No channel
    conversion will be performed in that case, and the X coordinate of the
    address vector will be interpreted in byte units instead of elements
    for obvious reasons.
    
    This is similar to D3D11's ByteAddressBuffer, and will be used to
    implement OpenCL's constant arguments.  The remaining four compute
    memory spaces can also be understood as raw resources.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f5ecdae60432dc32d3d69b2069b1e5303182dcd3
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Fri Apr 20 16:29:33 2012 +0200

    gallium/tgsi: Define the TGSI_BUFFER texture target.
    
    This texture type was already referred to by the documentation but it
    was never defined.  Define it as 0 to match the pipe_texture_target
    enumeration values.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e7fc259ef51eceeb3e167b4ffb91900611a98e64
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Sun Mar 18 19:09:18 2012 +0100

    gallium/tgsi: Introduce the compute processor.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1f11fb9bea764e752b1e8c9218d2ec05a86262f6
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Fri Apr 20 16:28:31 2012 +0200

    gallium/tgsi: Move interpolation info from tgsi_declaration to a separate token.
    
    Move Interpolate, Centroid and CylindricalWrap from tgsi_declaration
    to a separate token -- they only make sense for FS inputs and we need
    room for other flags in the top-level declaration token.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d9f774bbbc513d3cf528156c40cbde957b8a7917
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Tue Mar 20 18:12:19 2012 +0100

    gallium: Basic compute interface.
    
    Define an interface that exposes the minimal functionality required to
    implement some of the popular compute APIs.  This commit adds entry
    points to set the grid layout and other state required to keep track
    of the usual address spaces employed in compute APIs, to bind a
    compute program, and execute it on the device.
    
    Reviewed-by: Marek Olšák <maraeo at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b0e048f0b955ef79e2de794172de053d27d7d8fa
Author: Brian Paul <brianp at vmware.com>
Date:   Wed Apr 18 10:47:10 2012 -0600

    mesa: move gl_array_attrib::NewState to gl_array_object::NewArrays
    
    The field wasn't actually used before and it's not used now either.
    But this is a more logical place for it and will hopefully allow
    doing smarter draw/array validation (per array object) in the future.
    
    Reviewed-by: Mathias Fröhlich <Mathias.Froehlich at web.de>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0615eb8fc3e516f56c27cddb6206f4e53142506c
Author: Brian Paul <brianp at vmware.com>
Date:   Thu Apr 19 14:38:45 2012 -0600

    docs: recommend 2GB of RAM for Viewperf tests

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=137c5ece7d22bcbb017e52f00273b42a191f496d
Author: Eric Anholt <eric at anholt.net>
Date:   Wed Apr 11 13:24:22 2012 -0700

    i965: Convert live interval computation to using live variable analysis.
    
    Our previous live interval analysis just said that anything in a loop
    was live for the whole loop.  If you had to spill a reg in a loop,
    then we would consider the unspilled value live across the loop too,
    so you never made progress by spilling.  Eventually it would consider
    everything in the loop unspillable and fail out.
    
    With the new analysis, things completely deffed and used inside the
    loop won't be marked live across the loop, so even if you
    spill/unspill something that used to be live across the loop, you
    reduce register pressure.  But you usually don't even have to spill
    any more, since our intervals are smaller than before.
    
    This fixes assertion failure trying to compile the shader for the
    "glyphy" text rasterier and piglit glsl-fs-unroll-explosion.
    
    Improves Unigine Tropics performance 1.3% +/- 0.2% (n=5), by allowing
    more shaders to be compiled in 16-wide mode.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=34b17ee598e855e1090a455c2dac31ed8104954b
Author: Eric Anholt <eric at anholt.net>
Date:   Wed Apr 11 13:14:27 2012 -0700

    i965: Move the old live interval analysis code next to the new live vars code.
    
    I'm about to replace the insides of this using the new analysis.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0d6c96a5c34de3ffdd6167282d7520dfd3c863cb
Author: Eric Anholt <eric at anholt.net>
Date:   Wed Apr 11 13:12:33 2012 -0700

    i965: Add support for live variable analysis using dataflow analysis.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=080b125c64b48447a515b1a169f779e62b3de13d
Author: Eric Anholt <eric at anholt.net>
Date:   Tue Apr 10 12:01:50 2012 -0700

    i965: Add basic block generator.
    
    This takes the fs_inst list generated by the visitor, and generates a
    list of basic blocks with edges between them.  This is a building
    block for data-flow analysis.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8890c759513597903997f519c69e9db30790b6f4
Author: Eric Anholt <eric at anholt.net>
Date:   Wed Apr 11 13:45:55 2012 -0700

    i965/fs: Suppress printing the whole loop in BRW_OPCODE_DO annotation.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4b2a4cb7c2131c3c31e3d44a0d8838ef45f270e7
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Mar 29 17:29:20 2012 -0700

    glsl: Properly throw compile-time errors for conflicting FS output writes.
    
    We were checking for these at link time previously, which is not as
    early as mandated, and would actually fail to detect conflicting
    writes if dead code removal removed some writes.
    
    Fixes failures in piglit
    glsl-*/compiler/fragment-outputs/write-gl_Frag*
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f2475ca424f7e001be50f64dafa5700f6603d684
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Mar 29 17:02:15 2012 -0700

    glsl: Track in each ir_variable whether it was ever assigned.
    
    This will be used for some compile-and-link-time error checking, where
    currently we've been doing error checking only at link time.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=cc7e0de009a0ab528fe950b17fa465a0a97988fc
Author: Eric Anholt <eric at anholt.net>
Date:   Mon Apr 16 09:53:29 2012 -0700

    glsl: Convert the tests directory to automake.
    
    This runs optimization-test and produces the usual automake test
    output, which may be interesting to automated build systems.
    
    This doesn't convert the tests to be individually exposed to the
    automake runner, because automake doesn't like wildcards (due to being
    nonportable in make, not that we care).
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=86f270e0a9d34dd2b6689b7f7c693620db65098c
Author: Eric Anholt <eric at anholt.net>
Date:   Mon Apr 16 09:52:45 2012 -0700

    glsl: Fix up some comments in structure splitting, based on array-split work.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6de5da079682efd3f8887d3e0a7add7e70a5433d
Author: Eric Anholt <eric at anholt.net>
Date:   Mon Apr 16 09:45:07 2012 -0700

    glsl: Don't allow array splitting on function arguments.
    
    This is the reason the declaration member existed in the reference
    visitor, but I didn't copy the code from structure splitting that
    avoided setting it.
    
    This wasn't currently a problem, because we don't allow splitting of
    in/out variables.  But that would be nice to change some day.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=538ba0a36373d7d0bd047e6fc4ef4e6e8d8bb8d7
Author: Eric Anholt <eric at anholt.net>
Date:   Mon Apr 16 09:26:32 2012 -0700

    glsl: Rename the "whole_array_access" member in array splitting.
    
    This was carried over from structure splitting, without thinking about
    whether the name still made sense in this context.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=36a8c9caafef79524920120286649a0f53fe5228
Author: Eric Anholt <eric at anholt.net>
Date:   Mon Apr 16 09:17:46 2012 -0700

    glsl: Fix up a comment explaining what a visitor class does.
    
    Ken noted that some of the "actual work" was happening in the caller
    of this class.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c07290ddb2bf3095b9f5a1e0b33697999834fa0e
Author: Eric Anholt <eric at anholt.net>
Date:   Mon Apr 16 09:15:36 2012 -0700

    glsl: Use the column_types() helper method.
    
    Ken noted this in a review of this patch that I pushed early.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=40da3b03204b877c2c98eae65ada44ebd9518a46
Author: Eric Anholt <eric at anholt.net>
Date:   Mon Apr 16 14:33:34 2012 -0700

    glx: Use AM_CPPFLAGS to pass -I and -D to both C and C++ compiles.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Adam Jackson <ajax at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=bf3304a84b60a25bbc9de14d11af6e423939d7c3
Author: Marek Olšák <maraeo at gmail.com>
Date:   Thu Apr 19 20:47:22 2012 +0200

    Revert "mesa: only update _MaxElement when we actually need it"
    
    This reverts commit 0de5a21470b3bff9b7c8714e5d960d5ed9d01b9c.
    
    I was wrong, we use it in the vbo module too.
    This fixes a performance regression in Nexuiz.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dbf48e88eb11270e080eced8468008ed2c3329cc
Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Thu Apr 19 19:14:45 2012 +0200

    radeonsi: Fix VGPR_BIT() definition.
    
    Fixes encoding of VOP3 shader instructions.
    
    The shift was wrong for source registers 2 and 3, and the resulting value was
    only 32 bits, so the shift in SICodeEmitter::VOPPostEncode() didn't work as
    intended.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=09b2cd7ade15755f7375be9704b825e6f606cf25
Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Thu Apr 19 16:46:15 2012 +0200

    radeonsi: Replace magic numbers for vertex buffer resource.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9918fbd0268601b4dcd7c07c883733c959d78f9e
Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Thu Apr 19 11:41:48 2012 +0200

    radeonsi: (User) SGPR related cleanups.
    
    Use the same user SGPRs for the same purpose in vertex and pixel shaders.
    
    Better calculation of the number of SGPRs to reserve.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=de12c6cb5470eb51f71b5392efe012a10230d3d0
Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Thu Apr 19 10:35:31 2012 +0200

    radeonsi: Fix sampler offsets for shader intrinsic.
    
    The sampler number is in TGSI source register 1, and the S_LOAD_DWORD*
    instructions take offsets in DWORDs, not bytes.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7103a18c1242af7d3ec36a947841fa52e7f86bed
Author: Brian Paul <brianp at vmware.com>
Date:   Thu Apr 19 09:56:36 2012 -0600

    docs: overhaul the Mesa build/install instructions
    
    Rearrange thing in general.  Mark the legacy Makefile system as deprecated.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f64bae2e2a4181a6e9b0890e178b96b9bd3a00ae
Author: Brian Paul <brianp at vmware.com>
Date:   Thu Apr 19 08:56:02 2012 -0600

    docs: freshen up the download/unpack instructions

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0e5327ecf49744f620b0a73b8780ad5dbb74eeb6
Author: Brian Paul <brianp at vmware.com>
Date:   Thu Apr 19 07:56:05 2012 -0600

    mesa: move unrefs of array objects earlier in _mesa_free_context_data()
    
    If a non-default array object was bound at context destruction time
    we'd try to unreference the array object after it was already deleted
    in _mesa_free_varray_data().  Now do the unref first.
    
    Fixes a regression from commit 86f53e6d6bd07e2bc3ffcadeb9a4418fbae06e0b.
    
    Reviewed-by: José Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=939b26639fdc0913c5670b7fa20aab1f41b2b155
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Thu Apr 19 14:44:56 2012 +0200

    nv50,nvc0: prevent multiple flushes when user spins on get_query_result

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=90b5301ceab8fd86fccf76efe7ebb039c0e4a28f
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Wed Apr 18 17:00:52 2012 +0200

    nv50/ir/opt: swap VP inputs to first source where possible

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=97e2f625b8bcba96acde29dcd017031e036f4a24
Author: Marek Olšák <maraeo at gmail.com>
Date:   Mon Apr 16 16:41:09 2012 +0200

    vbo: remove vbo_context::mat_currval
    
    Reviewed-by: Brian Paul <brianp at vmware.com>
    Reviewed-by: Mathias Fröhlich <Mathias.Froehlich at web.de>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8c990de0d682bbedfd7e1988d4f8948ea99b0cc3
Author: Marek Olšák <maraeo at gmail.com>
Date:   Mon Apr 16 16:35:58 2012 +0200

    vbo: remove vbo_context::generic_currval
    
    Reviewed-by: Brian Paul <brianp at vmware.com>
    Reviewed-by: Mathias Fröhlich <Mathias.Froehlich at web.de>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fa48137f292bbf8cbcd65e9caf33633cddc96600
Author: Marek Olšák <maraeo at gmail.com>
Date:   Mon Apr 16 16:24:39 2012 +0200

    vbo: remove vbo_context::legacy_currval
    
    It's not nice when you have several variables pointing to the same array
    and you wanna ask your editor "where is this used" and you only get an answer
    for one of the four currval, legacy_currval, generic_currval, mat_currval,
    which is quite useless, because you never see the whole picture.
    
    Let's get rid of the additional pointers.
    
    Reviewed-by: Brian Paul <brianp at vmware.com>
    Reviewed-by: Mathias Fröhlich <Mathias.Froehlich at web.de>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f9c40dbb0d51be8f7952ecb0fbb6b63fa6ca7411
Author: Marek Olšák <maraeo at gmail.com>
Date:   Mon Apr 16 14:37:29 2012 +0200

    vbo: remove unused variables in vbo_context
    
    Reviewed-by: Brian Paul <brianp at vmware.com>
    Reviewed-by: Mathias Fröhlich <Mathias.Froehlich at web.de>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=81afdd20f3f574ce29559d8ad77df5c77652009e
Author: Marek Olšák <maraeo at gmail.com>
Date:   Mon Apr 16 05:55:08 2012 +0200

    vbo: don't check twice whether it's valid to render
    
    It's already done in _mesa_validate_Draw* and it's not needed to do it again
    unless I am missing something.
    
    Reviewed-by: Brian Paul <brianp at vmware.com>
    Reviewed-by: Mathias Fröhlich <Mathias.Froehlich at web.de>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fb4a34e60eb4c1bdc7b0fdcd98d1bf3038c354e8
Author: Marek Olšák <maraeo at gmail.com>
Date:   Mon Apr 16 16:04:52 2012 +0200

    mesa: set _NEW_VARYING_VP_INPUTS flag only if fixed-func VP is enabled & valid
    
    Reviewed-by: Brian Paul <brianp at vmware.com>
    Reviewed-by: Mathias Fröhlich <Mathias.Froehlich at web.de>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=576c8c592a4be7047a00b0c8fe3851b09f10d8d4
Author: Marek Olšák <maraeo at gmail.com>
Date:   Mon Apr 16 04:21:03 2012 +0200

    mesa: add _NEW_VARYING_VP_INPUTS for gl_context::varying_vp_inputs
    
    This is a frequently-updated state and _NEW_ARRAY already causes revalidation
    of the vbo module. It's kinda counter-productive to recompute arrays
    in the vbo module if _NEW_ARRAY is set and then set _NEW_ARRAY again.
    
    Reviewed-by: Brian Paul <brianp at vmware.com>
    Reviewed-by: Mathias Fröhlich <Mathias.Froehlich at web.de>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=784dd51198433e5c299da4a7742c68d21d68d1c1
Author: Marek Olšák <maraeo at gmail.com>
Date:   Mon Apr 16 03:34:22 2012 +0200

    mesa,vbo: properly detect when vertex arrays need to be recalculated
    
    This moves the RebindArrays flag into the vbo module, consolidates the code,
    and adds missing vbo_draw_method calls.
    
    Also with this change, the vertex arrays are not needlessly recalculated twice.
    The issue with the old code was:
    - If recalculate_input_bindings updates vp_varying_inputs, _NEW_ARRAY is set.
    - _mesa_update_state is called and the vp_varying_inputs change causes
      regeneration of the fixed-function shaders, which also sets _NEW_PROGRAM.
    - The occurence of either _NEW_ARRAY or _NEW_PROGRAM sets
      the recalculate_inputs flag to TRUE again.
    - The new code sets the flag to FALSE after the second _mesa_update_state,
      because there can't possibly be any change which would require recalculating
      the arrays.
    
    Reviewed-by: Brian Paul <brianp at vmware.com>
    Reviewed-by: Mathias Fröhlich <Mathias.Froehlich at web.de>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0de5a21470b3bff9b7c8714e5d960d5ed9d01b9c
Author: Marek Olšák <maraeo at gmail.com>
Date:   Mon Apr 16 02:14:18 2012 +0200

    mesa: only update _MaxElement when we actually need it
    
    Reviewed-by: Brian Paul <brianp at vmware.com>
    Reviewed-by: Mathias Fröhlich <Mathias.Froehlich at web.de>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=233da380a9c6af189547055ac91a188c19930212
Author: Marek Olšák <maraeo at gmail.com>
Date:   Sun Apr 15 23:12:19 2012 +0200

    st/mesa: use bitshifting to define state flags
    
    Reviewed-by: Brian Paul <brianp at vmware.com>
    Reviewed-by: Mathias Fröhlich <Mathias.Froehlich at web.de>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e1a173fb33b2090476130c944423ac3359ed8fd8
Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Thu Apr 19 09:36:52 2012 +0200

    radeonsi: MIMG shader instructions require waiting for the results.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2308cf8dafbe49f31c3df5c36d6a59447507a18b
Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Thu Apr 19 09:36:52 2012 +0200

    radeonsi: Replace more magic numbers for sampler state.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a1b67da0e1fa6992e5a26506402739cc2143ecf4
Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Thu Apr 19 09:36:51 2012 +0200

    radeonsi: Fix mip filter encoding in sampler state.
    
    Blits are starting to work.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=81c847f0f7192accc82175ee595c7c1adda6fd93
Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Thu Apr 19 09:36:51 2012 +0200

    radeonsi: Set tiling mode index for depth/stencil buffers.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=14e9942841d638b0ce5e858540f786fa4b04f67d
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Wed Apr 18 19:10:03 2012 -0700

    glsl: Remove unused mem_ctx field from ir_array_splitting_visitor.
    
    Vinson reported that we failed to initialize this, which would lead to
    all kinds of crashes if we actually used it.  Since we don't use it,
    we may as well just delete the broken code.
    
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4f96e9830fa316fd1dacd6068c1f0e79a56ba038
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Wed Apr 18 18:25:01 2012 -0700

    i965: Rename BRW_MAX_SURFACES to BRW_MAX_WM_SURFACES.
    
    Now that we use separate binding tables for WM, VS, and GS, and have
    BRW_MAX_VS_SURFACES and BRW_MAX_GS_SURFACES macros, we really shouldn't
    have an unqualified BRW_MAX_SURFACES macro.  It's confusing.
    
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5177f6b1b99a68daf50e47dc420c0057fa5e8980
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Wed Apr 18 18:21:24 2012 -0700

    i965: Fix outdated comments about binding tables.
    
    They had a number of issues:
    - A paragraph states that we use a single binding table, but we don't.
    - We labelled the WM binding table diagram as SOL/WM.
    - The WM diagram had an "Only relevant to the WM" comment.  Duh.
    
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=86f53e6d6bd07e2bc3ffcadeb9a4418fbae06e0b
Author: Mathias Fröhlich <Mathias.Froehlich at web.de>
Date:   Wed Nov 2 19:54:26 2011 +0100

    mesa: Use array object constructor.
    
    This change uses the array object factory for gl_array_objects. This
    prevents crashes when deriving from gl_array_object.
    
    Reviewed-by: Brian Paul <brianp at vmware.com>
    Signed-off-by: Mathias Froehlich <Mathias.Froehlich at web.de>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8ec18dfc1af43ef1f74c3f28c87e11da815f1958
Author: Brian Paul <brianp at vmware.com>
Date:   Wed Apr 18 08:31:45 2012 -0600

    svga: flush drawing before clearing
    
    We don't normally clear immediately after drawing something.  But as it
    was, the drawing would incorrectly appear after the clear.
    
    Fixes piglit clear-varray-2.0 failure.
    
    Reviewed-by: José Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=168a3b8627861fbb2786839f7e276de82f883e42
Author: Brian Paul <brianp at vmware.com>
Date:   Wed Apr 18 08:30:30 2012 -0600

    pipebuffer: split up assertion
    
    The problem with assert(a && b) is you don't know which term is zero
    when there's a failure.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=cf736aa098b2e2600a852ab61f7887a05e8969eb
Author: Brian Paul <brianp at vmware.com>
Date:   Tue Apr 17 13:58:05 2012 -0600

    svga: return PIPE_OK instead of 0

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=bdb0ad77c20653d01570a4ce44f4200a97fb5f11
Author: Marek Olšák <maraeo at gmail.com>
Date:   Fri Apr 13 21:20:18 2012 +0200

    gallium/u_gen_mipmap: don't release vertex buffer at end of frame / in glFlush
    
    There's no reason to do that. The buffer being used for rendering is always
    mapped as unsynchronized.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=462dcf617303a507a1b000f52abbfa3fe695bb95
Author: Marek Olšák <maraeo at gmail.com>
Date:   Fri Apr 13 21:20:18 2012 +0200

    gallium/u_blit: don't release vertex buffer at end of frame / in glFlush
    
    There's no reason to do that. The buffer being used for rendering is always
    mapped as unsynchronized.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5db9cedeafe98c5ac094fc32f7b4d275c273b867
Author: Marek Olšák <maraeo at gmail.com>
Date:   Fri Apr 13 21:10:21 2012 +0200

    gallium: remove PIPE_TRANSFER_NOOVERWRITE, use equivalent UNSYNCHRONIZED

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a8a478999c366cd08be2910ea83465d9b69181e8
Author: Marek Olšák <maraeo at gmail.com>
Date:   Fri Apr 13 20:37:41 2012 +0200

    st/mesa: write vertices directly into the buffer for glClear fallback

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2b151bbb957284e7a1a272c1b5ec6c9307e6e623
Author: Marek Olšák <maraeo at gmail.com>
Date:   Fri Apr 13 19:27:45 2012 +0200

    st/mesa: use u_upload_mgr to upload vertices for glClear fallback

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6c1fbe912f1623cbcf474a0b985841e44122a911
Author: Marek Olšák <maraeo at gmail.com>
Date:   Fri Apr 13 20:37:41 2012 +0200

    st/mesa: write vertices directly into the buffer in glDrawPixels

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b69dad1683f092e3ce9d0f3f8fb1bdf96bdff0c7
Author: Marek Olšák <maraeo at gmail.com>
Date:   Fri Apr 13 19:27:45 2012 +0200

    st/mesa: use u_upload_mgr to upload vertices for glDrawPixels

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0a43fd4c01395c2bdfef7b087e884aa4c657ba9a
Author: Marek Olšák <maraeo at gmail.com>
Date:   Fri Apr 13 19:27:45 2012 +0200

    st/mesa: use u_upload_mgr to upload vertices for glDrawTexOES

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3e8093d0688ce051d9e38ab9533d1d609bf8c9e9
Author: Marek Olšák <maraeo at gmail.com>
Date:   Fri Apr 13 20:37:41 2012 +0200

    st/mesa: write vertices directly into the buffer for glBitmap

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=76d9a99d6bafa5b2ad7839a79deda1a7d5e6d902
Author: Marek Olšák <maraeo at gmail.com>
Date:   Fri Apr 13 19:27:45 2012 +0200

    st/mesa: use u_upload_mgr to upload vertices for glBitmap
    
    instead of recreating the vertex buffer for each draw_vbo call.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0ef90e52d1c1898ae1e4618536a85622689c0b19
Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Wed Apr 18 10:44:03 2012 +0200

    radeonsi: Improve calculation of number of pixel shader interpolants.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=bb7912642030756946e0028c381ef0a55b52ecca
Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Wed Apr 18 10:37:15 2012 +0200

    radeonsi: Fix calculation of pitch value in sampler view state.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f2c81a4bfffb5be49b1a2c14562e8e025731a45b
Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Wed Apr 18 10:51:48 2012 +0200

    radeonsi: Set tiling mode index in sampler view state.
    
    Hardcode index for linear mode for now.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=29d7186e4cb2ae01e888368276602fe5072fe2d9
Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Wed Apr 18 10:29:23 2012 +0200

    radeonsi: Replace magic numbers with register definitions in sampler state.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c4bf6517ed9206de96a6c953ea77801aa00b5ab0
Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Wed Apr 18 10:48:26 2012 +0200

    radeonsi: Fix white border color type in sampler state.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=32f7676e9c09d9c13da3fa2518807ab94aad5fb2
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon Apr 16 13:29:42 2012 -0700

    glsl/builtins: Rework profiles to use the new '.glsl' common suffix.
    
    Deletes a lot of pointless duplication, as well as some run-time effort.
    
    Conveniently, GLSL 1.40 no longer needs a .vert variant, since it
    doesn't define any built-ins specific to the vertex shader stage.
    
    ARB_texture_rectangle and OES_EGL_image_external also only need a single
    profile, since the .vert and .frag variants were identical.
    
    I didn't bother with EXT_texture_array and OES_texture_3D because
    they're so tiny that the savings would be miniscule.
    
    Cuts the generated builtin_function.cpp from 1.7MB to 1.0MB (41%).
    
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Brian Paul <brianp at vmware.com>
    Reviewed-by: Eric Anholt <eric at anholt.net>
    Acked-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fbea94ae59817c1d9db9b2f1e257daeadf7c15a9
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Apr 17 11:26:29 2012 -0700

    glsl/builtins: Support stage-agnostic built-in profiles.
    
    The built-in subsystem uses "profiles," or GLSL shaders containing
    prototypes for all built-ins supported within a particular language
    version (or extension) and shader stage.
    
    Since profiles were stage-specific, we had to cut and paste almost all
    the prototypes between (e.g.) 110.vert and 110.frag.  Naturally, this
    led to sundry cut and paste bugs, where someone fixed an issue in .frag
    but neglected to update .vert, or vice-versa.  Geometry shaders would
    have only made this worse.
    
    This patch introduces support for a new '.glsl' profile suffix which
    contains prototypes common to all shader stages.  The existing '.frag'
    and '.vert' profiles need only contain the few stage-specific built-ins.
    
    Not only does this remove duplication, it makes built-in setup slightly
    faster: we don't need to re-read the common prototypes and function
    bodies for both the vertex and fragment shader stage.
    
    Internally, this was trivial.  We already create a list of gl_shader
    objects to search through for built-ins: one for the core language
    version/stage, and additional shaders for any extensions in use.  This
    patch simply adds another shader to the list: core/common, core/stage,
    and extensions.
    
    The next patch will update the profiles to remove the duplication.
    It's separated out purely to make review easier.
    
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Brian Paul <brianp at vmware.com>
    Reviewed-by: Eric Anholt <eric at anholt.net>
    Acked-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7e35d97a02cf139746ce9e85b78fe0c651139074
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon Apr 16 14:40:45 2012 -0700

    glsl: Make the standalone compiler accept '.glsl' files.
    
    These ought to be treated as 'any stage', but for now, they're just
    treated as vertex shaders.
    
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Brian Paul <brianp at vmware.com>
    Reviewed-by: Eric Anholt <eric at anholt.net>
    Acked-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a5e95a419e4f6ad93e35a960113d97ae2de27476
Author: Brian Paul <brianp at vmware.com>
Date:   Tue Apr 17 10:49:16 2012 -0600

    mesa: add a couple fast-paths to fast_read_rgba_pixels_memcpy()
    
    Accelerates a few glReadPixels cases for WebGL.
    See https://bugs.freedesktop.org/show_bug.cgi?id=48545
    
    v2: Per Jose, use bit twiddling for the swizzle case instead of ubyte
    arrays (it's about 44% faster).
    
    Note: This is a candidate for the 8.0 branch.
    
    Reviewed-by: José Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b814506e87f2de8b76fe6bcfa8d2f5daf4f5ef64
Author: Dave Airlie <airlied at redhat.com>
Date:   Tue Apr 17 19:58:39 2012 +0100

    configure.ac: add IA64 support.
    
    ia64 on Linux can use DRI as well.
    
    Reported-by: russiane39 on #radeon
    Bugzilla: http://bugs.freedesktop.org/show_bug.cgi?id=48788
    Signed-off-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f4f6e1f5a01ed4e4108dc0c4b94d24bb1d76347f
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon Apr 16 13:37:20 2012 -0700

    glsl/builtins: Use ivec for texel offsets in textureProjGradOffset.
    
    The GLSL 1.30 -> 4.10 specs all erroneously say "vec2" for a few
    overloads of textureProjGradOffset, while most overloads and all other
    texturing functions use ivec types.
    
    The GLSL 4.20 specification corrects these to "ivec2", but doesn't
    mention this as being a conscious change in behavior.  Nor does the
    ARB_shading_language_420pack extension.  So presumably it was a typo.
    
    At any rate, our builtin functions all use ivec already, so the fact
    that these prototypes use plain vecs will only lead to applications
    dying in a fire when trying to use them.
    
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Eric Anholt <eric at anholt.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=48aec56559a0199d8099d9edff8e51312f55f15c
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Tue Apr 17 18:35:16 2012 +0200

    nv50: specify location of UCPs to code generator
    
    Was made configurable in e44089b2f79aa2dcaacf348911433d1e21235c0c
    for Kepler but forgot to update nv50.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6077b347ae72af548667cc06cfff99e7e12c6d9f
Author: Tom Stellard <tstellar at gmail.com>
Date:   Fri Apr 13 14:29:49 2012 -0400

    r600g: Use automake to generate Makefile

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=35f2fb70d3826df70fa2f53af05339137cddefc8
Author: Eric Anholt <eric at anholt.net>
Date:   Mon Apr 16 13:37:04 2012 -0700

    Revert "glsl: Refuse to link GLSL 1.40+ shaders that would use fixed function."
    
    This reverts commit 4ec449a6ed1d2cea3bf83d6518b3b352ce5daceb.
    
    I meant to not push this one.  Review found that a link error is not
    mandated: it should link, but you get undefined rendering if you rely
    on a missing stage.
    
         page 42/55 section 2.11 "Vertex Shaders":
    
         "If the program object has no vertex shader, or no program object
          is currently in use, the results of vertex shader execution are
          undefined."
    
    (and similar for page 160/173 section 3.9 "Fragment Shaders" for FS,
    and page 45/58 section 2.11.2 "Program Objects" for program being 0)
    
    It turns out the commit was broken anyway, because it was missing a
    "goto done", so linkstatus got smashed back to true later and the
    error just showed up as a warning in the infolog.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f084b5ad323f021e9a0f667b977942fb25f69c43
Author: Eric Anholt <eric at anholt.net>
Date:   Fri Apr 13 12:18:46 2012 -0700

    docs: Update GLSL 1.40 status.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=252d99e4fae95a19871a9aa087b6308cbe1755d6
Author: Eric Anholt <eric at anholt.net>
Date:   Fri Apr 13 12:09:59 2012 -0700

    docs: Update that int textures got done for GL3.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=45f460f61ef27b42063737ac48d85115438057f3
Author: Eric Anholt <eric at anholt.net>
Date:   Fri Apr 13 12:09:11 2012 -0700

    docs: Update that ARB_draw_instanced is on in i965.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=61c4e5cd68a59434863d3c650ac1672f18acc857
Author: Eric Anholt <eric at anholt.net>
Date:   Fri Apr 13 12:07:01 2012 -0700

    docs: Update TBO support.
    
    All I know of that needs finishing in Mesa is to enable the extension
    in a GL3.1 core context on i965 -- we're not going to expose it in
    non-3.1 core contexts.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4ec449a6ed1d2cea3bf83d6518b3b352ce5daceb
Author: Eric Anholt <eric at anholt.net>
Date:   Fri Apr 13 13:51:34 2012 -0700

    glsl: Refuse to link GLSL 1.40+ shaders that would use fixed function.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=acd4024e0a0096c351a7143f908e029df53b1fdf
Author: Eric Anholt <eric at anholt.net>
Date:   Fri Apr 13 15:43:41 2012 -0700

    glsl: Add remaining *sampler2DRect* texture functions.
    
    Fixes the new piglit texelFetch() tests on these.  Note that the rest
    of the new functions are not tested (same as the non-2DRect versions
    of most of them).

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b9fed9f3d537f4f28ea19996fe34463d15831411
Author: Eric Anholt <eric at anholt.net>
Date:   Mon Apr 16 11:43:47 2012 -0700

    glsl: Fix the prototype of textureProjGradOffset(sampler2DShadow)
    
    Indirectly caught by Ken's review of my GLSL 1.40 changes where I
    copy-and-pasted this line.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=56e2f97697846c800b2ce53ad0bed87e3c1a5767
Author: Eric Anholt <eric at anholt.net>
Date:   Fri Apr 13 12:34:45 2012 -0700

    glsl: Mark [iu]sampler{Buffer,2DRect}as reserved in GLSL 1.40.
    
    The non-integer versions were already reserved in 1.30, but apparently
    these were forgotten.
    
    Fixes piglit glsl-1.40/compiler/reserved/
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d91c8edd851839799d8338ecc127ea004d76fcab
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Apr 12 16:28:37 2012 -0700

    glsl: Add textureSize(*samplerBuffer) support.
    
    Fixes the corresponding new tests in piglit.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9a01e09ee57a875ccff58316c81395c3f1094aa6
Author: Eric Anholt <eric at anholt.net>
Date:   Fri Apr 13 12:44:33 2012 -0700

    glsl: Fix comment typo in 1.40 work.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ecc4c361a68da9b858e8f3762fb43f39fb7e2a0e
Author: Eric Anholt <eric at anholt.net>
Date:   Fri Apr 13 12:43:15 2012 -0700

    mesa: Remove dead _mesa_sizeof_glsl_type().
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9d921b168b1bfe03b602922ab93482babc0bd3f4
Author: Eric Anholt <eric at anholt.net>
Date:   Fri Apr 13 09:59:00 2012 -0700

    gtest: Don't actually install a library.
    
    The whole point of importing it was that you're not supposed to
    install this library.
    
    Reviewed-by: Matt Turner <mattst88 at gmail.com>
    Fixes: https://bugs.gentoo.org/show_bug.cgi?id=411825
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6f89f5a524b3c385c6b13565cdc3f04a2ad69cec
Author: Brian Paul <brianp at vmware.com>
Date:   Mon Apr 16 10:35:20 2012 -0600

    svga: add case for PIPE_CAP_MAX_DUAL_SOURCE_RENDER_TARGETS

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a3d56734df2aaaf26d4405b0ecf8c5710148250e
Author: Dylan Noblesmith <nobled at dreamwidth.org>
Date:   Mon Apr 2 15:35:38 2012 +0000

    autoconf: add AM_PROG_CC_C_O
    
    Prevents this error with Automake 1.9:
    
    src/gallium/drivers/Makefile.am: C objects in subdir but
    `AM_PROG_CC_C_O' not in `configure.ac'
    autoreconf: automake failed with exit status: 1
    
    Reviewed-by: Eric Anholt <eric at anholt.net>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=847c89870238fe5813e89831b38d5fab5356158c
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Mon Apr 16 00:36:35 2012 +0200

    nvc0: fix nve4 linear copies

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1ce9205f790471214b69c94f2ee07c4eabfa26f0
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Sun Apr 15 16:40:53 2012 +0200

    targets/xvmc-nouveau: fix accidental hardcoded include path
    
    5b0cd37324555638661a4a70c2bdf49eeebe876c wasn't meant to be pushed.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e55c276255db9cba0a3b6780913a1e924cb6ff6b
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Sun Apr 15 16:30:13 2012 +0200

    nv50: use correct semantic map value for undefined PointSize output

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5b0cd37324555638661a4a70c2bdf49eeebe876c
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Fri Apr 6 17:02:08 2012 +0200

    targets/xvmc-nouveau: add libdrm include path

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d37f90f131ff18f0902e79853b2dbdfd494baa17
Author: Ben Skeggs <bskeggs at redhat.com>
Date:   Sun Apr 15 22:14:58 2012 +1000

    nv30: init sample_mask to some default value at context creation time
    
    Fixes demos/lodbias.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=29128e5ee20b198ebedf0ff979d96c78ad264b8f
Author: Ben Skeggs <bskeggs at redhat.com>
Date:   Sun Apr 15 10:52:06 2012 +1000

    nv30: fix some sifm transfer issues

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=abfe7591729c2ac205e17b0f873f843aea99c09b
Author: José Fonseca <jose.r.fonseca at gmail.com>
Date:   Sun Apr 15 11:32:21 2012 +0100

    scons: Fix egl-static build due to conflicting symbols.
    
    radeonsi and r600 have duplicate symbols, so it's not possible to
    statically link both.  Remove the newcomer, radeonsi, until duplicate
    symbols are fixed.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e44089b2f79aa2dcaacf348911433d1e21235c0c
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Sat Apr 14 23:56:56 2012 +0200

    nvc0: add initial support for nve4+ (Kepler) chipsets
    
    Most things that work on Fermi should work on Kepler too.
    
    There are a few performance optimizations left to do, like better
    placement of texture barriers and adding scheduling data to the
    shader instructions (without them, a thread group will be masked
    for 32 cycles after each single instruction issue).

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=69a921892d2303f1400576aa73980c28880f8654
Author: Tom Stellard <thomas.stellard at amd.com>
Date:   Sat Apr 14 17:37:37 2012 -0400

    radeonsi: s/DUAL_SOURCE_BLEND/MAX_DUAL_SOURCE_RENDER_TARGETS/
    
    Fixes build broken by commit 0d29fb017bce0968240ae875af4b3702c2cd46ef

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a6fcf14c239fa4c1542559f8c938fb574e48104f
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Sat Apr 14 21:12:22 2012 +0200

    nv50/ir/opt: extend handleCVT for nv50's SET u32 to f32 chain

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a9f22b91e5b6f0d462de8a92e13d7c5af35dadc4
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Thu Apr 12 21:42:29 2012 +0200

    nv50/ir: print interpolation mode

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dcc91fc5d3e79135e912a93e9de31d6d3a3458ff
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Sun Apr 8 17:33:08 2012 +0200

    nv50: update FP linkage state on one/two-sided lighting switch

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=df982399ccb477838078532c8cc7056b5b795ca0
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Sun Mar 18 23:28:07 2012 +0100

    nv50: delete old shader compiler files

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0bbf1659df3adf51784bcb376e681c05f49b6070
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Sat Apr 14 21:42:52 2012 +0200

    nv50: hook up to new shader code generator

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=322bc7ed68ed92233c97168c036d0aa50c11a20e
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Sat Apr 14 21:40:35 2012 +0200

    nv50/ir: import nv50 target

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=15ce0f76e2e014374a292550505f58da88333fb7
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Sat Apr 14 04:44:28 2012 +0200

    nv50/ir: fix off-by-ones in CSE and nvc0 insnCanLoad

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ce04221081cd145ac3fc8c053cc5ca0a8f05b7ef
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Sat Apr 7 22:46:35 2012 +0200

    nv50/ir/tgsi: generate UCPs with actual outputs instead of SVs
    
    gl_ClipDistance is treated the same way, this is just nicer and
    easier assign slots for them on nv50.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d07e4421ab39d10fb928dffee66698fef2679add
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Mon Apr 9 18:22:57 2012 +0200

    nv50/ir: Fix type of the instruction created by mkCmp() for dst in FILE_FLAGS.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f8c3212cbb0cddbfcf1853b55e954de31e0ff555
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Sun Apr 8 23:38:55 2012 +0200

    nv50/ir: fix Instruction::isCommutationLegal for WAW

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=93508b5b0d0a2b1e966973f1d0119b32d2ccf729
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Sun Apr 8 23:14:15 2012 +0200

    nv50/ir/opt: Add isOptSupported() check in logical arith optimization.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f4dbdcbfcf7370deeb5dcccec2e8d1c471d66517
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Tue Dec 27 12:43:27 2011 +0100

    nv50/ir/ra: Fix live set propagation in the secondary passes of buildLiveSets().

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2fc014f8c0d9339b1652f4e037aee5697142304a
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Tue Feb 7 22:39:20 2012 +0100

    nv50/ir/opt: don't regard OP_WRSV as dead code

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a765d7880f80d01be261a5d1f4b356a2b6fcfaad
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Sat Apr 14 21:30:52 2012 +0200

    nv50/ir: add isUniform query to Values

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e43a3a66a9d8a99021d76ff4d07dec7b8cfd62ca
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Mon Apr 9 20:58:39 2012 +0200

    nv50/ir: rewrite the register allocator as GCRA, with spilling
    
    This is more flexible than the linear scan, and we don't need the
    separate allocation pass for constrained values anymore.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=99319328d4c249090d3e4a387f6bdc00f711b688
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Thu Apr 5 23:14:33 2012 +0200

    nv50/ir/tgsi: only export x-component of PSIZE

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=12a2f5121d42f6f7cd94fe01f3cabe59280c62f8
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Thu Apr 5 22:53:46 2012 +0200

    nvc0: fix emission of 3rd src in SET_AND,OR,XOR

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f01efba60a37abfdefabecabe7abc899e76102ac
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Mon Apr 9 20:48:43 2012 +0200

    nv50/ir: Fix BuildUtil::mkSelect and mkClobber

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=054fab5b48ed8657da8549b9e1276acf4705f42c
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Fri Apr 6 19:18:05 2012 +0200

    nv50/ir: fix reg file conflicts with undefined-value placeholders

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=51327a2df283da9a77c6e537751c6a45baed6951
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Mon Apr 2 20:55:03 2012 +0200

    nv50/ir/opt: silence warning (int < Elements() signedness)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ef7f9f68cfe71b1f812e59abc644a54a0b80dd06
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Mon Apr 2 20:53:46 2012 +0200

    nv50/ir/opt: fix combineSt access to wrong instruction

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=bb9c15bac42cf323ef267095b33031ffc1d4fba4
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Sun Jan 29 15:41:52 2012 +0100

    nv50/ir/opt: another insn NULL check in phi elimination

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4ece0dbd2f595c376dc58252643e67bb63552e88
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Sun Nov 27 13:06:10 2011 +0100

    nv50/ir/ssa: Take into account function inputs and outputs.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4a44f94caf8887f6dfc66c4193e95c6430c9de57
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Tue Mar 27 21:48:58 2012 +0200

    nv50/ir: Clean up before calculating instruction ordering for a new function.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a5397851870d3a9969b2b864c849ba209ef9b0f7
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Tue Nov 15 17:24:18 2011 +0100

    nv50/ir/ra: Allocate registers for function arguments.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=530ff61ba77f940f6f4093956b99221ab62ab430
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Fri Apr 6 19:16:04 2012 +0200

    nv50/ir: Take into account function args in the live range calculation code.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ed255dbae2ada50cbdb71f6b03f4e42d3ed7ebc6
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Thu Mar 29 23:23:53 2012 +0200

    nv50/ir/ra: Use matching physical regs for function args in caller and callee.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a3dd45e1c27e4e55dadb9467c2ea428f58083ac1
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Fri Apr 6 19:08:27 2012 +0200

    nv50/ir/tgsi: Infer function inputs/outputs.
    
    Edit: Don't do it for the main function of (graphics) shaders,
    its inputs and outputs always go through TGSI_FILE_INPUT/OUTPUT.
    This prevents all TEMPs from counting as live out and reduces
    register pressure.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9bb36d54a2c69ebdc9d1c9c4c71945060de8c860
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Tue Mar 27 17:29:55 2012 +0200

    nv50/ir/tgsi: Replace the inlining logic with proper function calls.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=56d40aa51b34b77791cc3a49d7e86473a7459b72
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Tue Mar 27 17:30:31 2012 +0200

    nv50/ir: Decouple DataArray from the dictionary that maps locations to values.
    
    The point is to keep an independent dictionary for each function.
    
    The array that was being used as dictionary has been converted into a
    "bimap" for two different reasons: first, because having an almost
    empty instance of an array with as many entries as registers there are
    in the program, once for every function, would be wasteful, and
    second, because we want to be able to map Value pointers back to
    locations at some point.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d41f293bf014e08df3df4324cdc02de5ce49d5ed
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Thu Mar 22 11:59:32 2012 +0100

    nv50/ir/opt: don't delete instruction in removeFlow before its last use

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=be161e66d6108e56d40c116a4ee12668d6b8d960
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Thu Mar 22 11:58:31 2012 +0100

    nv50/ir/opt: check BB equality before instruction ordering in CSE

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=44e84d6f161e95d44d847440b3bc6d670c242cd7
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Thu Mar 22 11:51:52 2012 +0100

    nv50/ir/opt: don't copy-propagate cond MOVs or MOVs to other reg files
    
    We've never encountered the latter on nvc0, but on nv50 we have moves
    between GPRs and address regs.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ca1fc2b86400e3fc9dd0517863e22721b5e91c77
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Tue Feb 7 20:45:03 2012 +0100

    nv50/ir/opt: don't replace conditional definitions in CSE

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=90f0fac65524fbc4e2f2d396d20d9808e4a0a95c
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Thu Nov 17 18:23:28 2011 +0100

    nv50/ir/opt: Update the symbol size when combining loads and stores.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5df92c81c3a2132bc2974d68a09fd28076a61c5e
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Wed Dec 21 17:06:27 2011 +0100

    nv50/ir: initialize FlowInstruction::builtin

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1e957941735fae514de658c836b8bdaf6c66bc06
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Wed Mar 21 23:53:01 2012 +0100

    nv50/ir/opt: Fix for function calls.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=98116cc3dc3fc2cd84990cc2c968f05fe2978b4a
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Fri Apr 6 18:50:56 2012 +0200

    nv50/ir: Build a "symbol" table with the binary offsets of each function.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5e4b2a1a47ca9a173f6419ed2f12c9fba80e757c
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Tue Nov 15 00:18:28 2011 +0100

    nv50/ir: Add support for removing functions from a program.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d32ebb8c304725fa6bb7ec2d3d40ce828c713917
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Mon Apr 9 21:18:31 2012 +0200

    nv50/ir: Scan program functions in DFS-postorder.
    
    The reason is that several passes (regalloc, function argument
    binding, inlining) are going to require the callees of a function to
    be processed before the caller.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=78de8c8ab54c50c96bc3fae2fe0976054e0acd14
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Fri Apr 6 18:43:29 2012 +0200

    nv50/ir: Deal with graph iterators using RAII.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=898b0981b6c90d2f1e446a532b6ac3cbbb49747d
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Tue Nov 15 02:07:21 2011 +0100

    nv50/ir: Add convenience method for calculating the live sets of a function.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3e9150cd961b2399e402e940400deae11ec7852f
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Wed Mar 21 21:43:26 2012 +0100

    nv50/ir: Add support code for calculating the clobber set of a BB or function.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d6d1f0e4a25c9fbefce7485d77617855a8ea956a
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Mon Apr 9 20:43:28 2012 +0200

    nv50/ir/opt: Don't lose modifiers during constant folding.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=14d5f975a65c57830077dabf2f95261afbc51773
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Wed Mar 21 00:39:00 2012 +0100

    nv50/ir/opt: Improve modifier handling.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=784848a94d621b11020838fc058fc04a7fc57aa9
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Sat Apr 14 21:25:22 2012 +0200

    nv50/ir: Add support for cloning FlowInsns, ImmediateVals and BBs.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a05e6a3fa28168d58a13cfb07f7a664e84b925ae
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Sat Apr 14 21:24:16 2012 +0200

    nv50/ir: Decouple object cloning logic from the sub-object recursion policy.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=da28ba00d84f59650bf180769d9d9a1609eb6164
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Sat Apr 14 21:23:03 2012 +0200

    nv50/ir: Make sure that several IR objects are destroyed on takedown.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9362d4bc0a03860ec386156cf499e855a9c2d2a5
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Mon Apr 9 20:40:35 2012 +0200

    nv50/ir: make Instruction::src/def container private

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8cc2eca5df0116aa7fb8233a9ab6ad1c9e4203cd
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Thu Mar 29 21:18:24 2012 +0200

    nv50/ir: Add support for unlimited instruction arguments.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=15d224f7a7b099fa0e603d786a1980f50b3195a6
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Thu Mar 29 21:32:41 2012 +0200

    nv50/ir: temporarily exclude nv50 code emitter from build
    
    It's not used yet and shouldn't have been included in the first
    place.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f113b6f959d746bed5360c6ddb01f232c5d9c48e
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Fri Apr 6 18:37:24 2012 +0200

    nv50/ir: copy value size in SSA-rename pass

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=55f9bdb64e1f88c74754c8e090cd2cdbe62bba05
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Mon Apr 9 20:34:24 2012 +0200

    nv50/ir/opt: improve post-multiply and check target for support

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=56cf2da02226aee6b7476675c0e05ac7c218756e
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Wed Mar 28 23:50:32 2012 +0200

    nv50/ir: add setFlagsDef/Src helper
    
    Will be used by nv50 target.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=286abcb51ec2c27970e901ed815a814b3f0bebf6
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Fri Apr 6 18:34:44 2012 +0200

    nv50/ir: add isAccessSupported check for memory access coalescing

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c04d6d95e0efb8eea4d788d8d7b629209a3afaea
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Wed Mar 28 21:30:59 2012 +0200

    nv50/ir: add function for splitting a BasicBlock
    
    Fixes to initial implementation by Francisco Jerez.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0056e1b9889ce9cdf3669e5ebc02638e5acc448e
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Tue Nov 15 21:39:52 2011 +0100

    nv50/ir: Allow attaching two nodes when either one is already inside the graph.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=099b81396eb4518cc4de0393ceff1028c5bee2bd
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Tue Nov 15 21:39:22 2011 +0100

    nv50/ir: Allow inserting isolated nodes to a graph.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=18294844584f1a64454593c056148201c4d79ef7
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Tue Nov 15 00:38:15 2011 +0100

    nv50/ir: Fix memory corruption in Function::orderInstructions().
    
    "iter" doesn't reference a BasicBlock directly, but a Node::Graph,
    i.e. BasicBlock::get() is casting to the wrong pointer type.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ab382fbc35f6fd007dc278fcf4bc0dd3c0987a60
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Tue Nov 15 15:58:04 2011 +0100

    nv50/ir: Fix up insertion of PHI instructions using bb->insertHead().

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fc740e7924dfa52a39de5f2b8031c2cded0fafb3
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Wed Nov 16 00:39:41 2011 +0100

    nv50/ir: fix insertHead and remove for BBs with PHI ops only

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=349cb60ed58e42341351c5f0ebd186acb8f12005
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Sat Nov 19 21:31:28 2011 +0100

    nv50/ir: Don't crash on zero sized BitSets.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f0a7ec9a2fad56eeb70c76202c21c97a33915d0b
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Tue Nov 15 01:50:58 2011 +0100

    nv50/ir: Fix Interval::clear().

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=cd6d63fa60b7a5d7b81ebc51fa560bcc5b701c73
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Sun Dec 25 18:34:35 2011 +0100

    nv50/ir/tgsi: handle inferSrcType(NOT) to be u32

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=658c0bee712368fba31de677c3b64fc72ea1171d
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Mon Nov 14 23:09:45 2011 +0100

    nv50/ir/opt: Fix OP_NOT to modifier conversion.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f8741ff21eb014567a538c7f1475bb8d22a4a830
Author: Dave Airlie <airlied at redhat.com>
Date:   Sat Apr 14 20:25:59 2012 +0100

    r600g: disable dual-src hangs evergreen for some reason.
    
    This did work previously, so I've broken something.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0b59909e78e96f1bd95d63050e988492b40b03ee
Author: Tom Stellard <thomas.stellard at amd.com>
Date:   Sat Apr 14 12:11:29 2012 -0400

    r300/compiler: Exit immediately from rc_vert_fc() if there is an error
    
    This way we correctly report "Too many temporaries" errors.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=48680
    
    Note: This is a candidate for the stable branches.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=73249239cf71e3595ee19f3c1a02b8b0f58994cd
Author: Tom Stellard <thomas.stellard at amd.com>
Date:   Sat Apr 14 10:02:19 2012 -0400

    r300/compiler: Copy all instruction attributes during local transfoms
    
    Instruction attributes like WriteALUResult and ALUResultCompare
    were being discarded during the some of the local transformations.
    
    This fixes the following piglit tests:
    
    glsl1-inequality (vec2, pass)
    loopfunc
    fs-any-bvec2-using-if
    fs-op-ne-bvec2-bvec2-using-if
    fs-op-ne-ivec2-ivec2-using-if
    fs-op-ne-mat2-mat2-using-if
    fs-op-ne-vec2-vec2-using-if
    fs-op-ne-mat2x3-mat2x3-using-if
    fs-op-ne-mat2x4-mat2x4-using-if
    
    https://bugs.freedesktop.org/show_bug.cgi?id=45921
    
    NOTE: This is a candidate for the stable branches.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b2df031a959f36743527b9abc89913ce4f895de3
Author: Tom Stellard <tstellar at gmail.com>
Date:   Tue Sep 20 21:05:55 2011 -0700

    r300/compiler: Fix nested flow control in r500 vertex shaders

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4a269a8dc0170c75ff22af3910786228727ea41e
Author: Tom Stellard <thomas.stellard at amd.com>
Date:   Thu Apr 12 22:07:40 2012 -0400

    r300/compiler: Clear loop registers in vertex shaders w/o loops
    
    The loop registers weren't being cleared, so any shader that was
    executed after a shader containing loops was at risk of having a loop
    randomly inserted into it.
    
    This fixes over one hundred piglit tests, although these test
    only failed during full piglit runs and would pass if
    run individually.  The exact number of piglit tests that this patch
    fixes will vary depending on the version of piglit and the order the
    tests are run.
    
    NOTE: This is a candidate for the stable branches.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3f349d4e18d8c114a34fc3c36e1dc55345c1cc31
Author: Eric Anholt <eric at anholt.net>
Date:   Fri Mar 16 15:44:25 2012 -0700

    glsl: If an "if" has no "then" or "else" code left, remove it.
    
    Cuts 8/1068 instructions from glyphy's fragment shaders on i965.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8bb0091e6838aeee2a5819850c334fde71b5a439
Author: Eric Anholt <eric at anholt.net>
Date:   Mon Mar 19 16:37:23 2012 -0700

    glsl: Add a helper for generating temporary variables in ir_builder.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d32780d5041a6d241834fe565739104f86300425
Author: Eric Anholt <eric at anholt.net>
Date:   Mon Mar 19 16:27:34 2012 -0700

    glsl: Add a helper for ir_builder to make dereferences for assignments.
    
    v2: Fix writemask setup for non-vec4 assignments.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7e88f8ce8f9d72bbda248554e0630b4aca7e1154
Author: Eric Anholt <eric at anholt.net>
Date:   Mon Mar 19 16:01:52 2012 -0700

    glsl: Make a little tracking class for emitting IR lists.
    
    This lets us significantly shorten p->instructions->push_tail(ir), and
    will be used in a few more places.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b782352745d322596a9122969f5c0e57ea032c1b
Author: Eric Anholt <eric at anholt.net>
Date:   Mon Mar 19 14:26:04 2012 -0700

    glsl: Add common swizzles to ir_builder.
    
    Now we can fold a bunch of our expression setup in ff_fragment_shader
    into single-line, parseable commits.
    
    v2: Make it actually work.  I wasn't setting num_components in the
        mask structure, and not setting up a mask structure is way easier.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d6e6566206029ace72ba037a3ef7950876eeb88b
Author: Eric Anholt <eric at anholt.net>
Date:   Mon Mar 19 14:04:23 2012 -0700

    glsl: Let ir_builder expressions take un-dereferenced variables.
    
    Having to explicitly dereference is irritating and bloats the code,
    when the compiler can detect and do the right thing.
    
    v2: Use a little shim class to produce the automatic dereference
        generation at compile time as opposed to runtime, while also
        allowing compile-time type checking.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=599aac95ff2149d881177ed75a48d97d3dcf47bd
Author: Eric Anholt <eric at anholt.net>
Date:   Mon Mar 19 13:27:06 2012 -0700

    glsl: Create an ir_builder helper for hand-generating IR.
    
    The C++ constructors with placement new, while functional, are
    extremely verbose, leading to generation of simple GLSL IR expressions
    like (a * b + c * d) expanding to many lines of code and using lots of
    temporary variables.  By creating a new ir_builder.h that puts simple
    generators in our namespace and taking advantage of ralloc_parent(),
    we can generate much more compact code, at a minor runtime cost.
    
    v2: Replace ir_instruction usage with just ir_rvalue.
    v3: Drop remaining missed as_rvalue() in v2.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0e8ad4cc749626eebbc7f916e551bbfd80b75023
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Thu Mar 8 21:41:41 2012 +0100

    nv50,nvc0: fix handling of user vbufs with stride < access size

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7a40ae4a31f3ab526706fdfda7631d54f094512a
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Tue Feb 28 19:25:57 2012 +0100

    nvc0: prefix all macro methods with MACRO
    
    Some of them have non-macro counterparts.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ce713cd520792707e9097ef9e843ef7ab57b0eab
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Sat Apr 14 06:08:08 2012 +0200

    nvc0: replace VERTEX_DATA push mode with translate to buffer
    
    While pushing vertices through the FIFO is relatively fast on nv50,
    it's horribly slow on nvc0.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=edbfeed56f1ebd8517840ef48f8c87e24bb98157
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Fri Mar 16 17:37:32 2012 +0100

    nvc0: improve vertex state validation
    
    Now updating vertex attribute format only when necessary.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=784f49e69624cba07616fd5a22ccb80ad3b5111b
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Thu Mar 8 15:56:11 2012 +0100

    nvc0: track texture dirty state individually

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2206a7f5132905bb1b53d8343d11847010f6b63a
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Thu Mar 1 21:28:29 2012 +0100

    nv50,nvc0: use new scratch buffers code

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=680f20351ec65fb22774dc08f63d26cf66b47c59
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Sat Apr 14 05:38:16 2012 +0200

    nouveau: add new shared scratch buffers

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=36158c199448ce038d9fe913d972f29a655aecab
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Thu Mar 1 21:23:06 2012 +0100

    nvc0: only force early fragment tests if requested by shader

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2d06ee8bf784d98a822617db5366f56b9bb5d3a2
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Wed Mar 7 19:44:10 2012 +0100

    nv50,nvc0: hold references to the framebuffer surfaces

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=687c05661f54dc9a6df5974a91205fc7ed469f2b
Author: Marek Olšák <maraeo at gmail.com>
Date:   Fri Apr 13 17:51:42 2012 +0200

    r300g: align vertex buffer suballocations to 4

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7864933acd81892be0692555ae6d37d4293adb2a
Author: Marek Olšák <maraeo at gmail.com>
Date:   Fri Apr 13 17:51:42 2012 +0200

    u_blitter: align vertex buffer suballocations to 4

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=286e50a87d6dc2cd9e6d020a6d41eb7cdc506c9d
Author: Brian Paul <brianp at vmware.com>
Date:   Fri Apr 13 14:31:16 2012 -0600

    docs: document another viewperf bug in Maya-03

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f2509df95cd1d055e91b1558c5d9c5a935067d78
Author: Marcin Slusarz <marcin.slusarz at gmail.com>
Date:   Fri Apr 13 21:55:56 2012 +0200

    xorg/nouveau: switch to libdrm_nouveau-2.0

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3dd12ccc069790872e95f3f51ddc39991a06242f
Author: Martin Peres <martin.peres at labri.fr>
Date:   Fri Apr 13 20:53:02 2012 +0200

    targets/{egl-static,gbm}: further clean-up the nvfx remains

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=21b50ce63b10a33c5df8b8dd0a6c4ffe5c2a1b6d
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Sat Apr 14 03:05:02 2012 +0200

    nvc0: remove include of old libdrm_nouveau's nouveau_reloc.h

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=802d02c453486936053c75323ce5128ae2f158d6
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Sat Apr 14 02:39:16 2012 +0200

    nv50,nvc0: handle PIPE_CAP_MAX_DUAL_SOURCE_RENDER_TARGETS

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=42ec248eb7113595a485e205031d10ae2c6da8b1
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Sat Apr 14 02:38:25 2012 +0200

    nv30: s/DUAL_SOURCE_BLEND/MAX_DUAL_SOURCE_RENDER_TARGETS
    
    Merge accident.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a2fc42b899de22273c1df96091bfb5c636075cb0
Author: Ben Skeggs <bskeggs at redhat.com>
Date:   Wed Jan 11 12:42:07 2012 +0100

    nv30: import new driver for GeForce FX/6/7 chipsets, and Quadro variants
    
    The primary motivation for this rewrite was to have a maintainable driver
    going forward, as nvfx was quite horrible in a lot of ways.
    
    The driver is heavily based on the design of the nv50/nvc0 3d drivers we
    already have, and uses the same common buffer/fence code.  It also passes
    a HEAP more piglit tests than nvfx did, supports a couple more features,
    and a few more to come still probably.
    
    The CPU footprint of this driver is far far less than nvfx, and translates
    into far greater framerates in a lot of applications (unless you're using
    a CPU that's way way newer than the GPUs of these generations....)
    
    Basically, we once again have a maintained driver for these chipsets \o/
    
    Feel free to report bugs now!

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6d1cdec3ba151168bfc3aef222fba6265dfb41fb
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Fri Apr 6 15:41:55 2012 +0200

    nouveau: switch to libdrm_nouveau-2.0

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3c7872f35f4ae439082d413ab31333cf99be7e91
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Mon Feb 13 00:33:55 2012 +0100

    nvc0: remove obsolete nvc0_push2.c
    
    Slower version of nvc0_push.c, was only used to ascertain that
    bugs were not the new version's fault.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a3fee8fc86168f0709a164d9d983b40a9b671b3c
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Fri Feb 10 13:18:13 2012 +0100

    nouveau: remove automatic buffer migration heuristics

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=66c7dc5688bcd5ff9c596f4c410aee574ea2428a
Author: Ben Skeggs <bskeggs at redhat.com>
Date:   Thu Feb 16 22:08:41 2012 +1000

    nvfx: completely remove this driver (GeForce FX/6/7)
    
    This driver hasn't been maintained properly for a very long time, and for
    many very good reasons.  It's horrible.
    
    A new driver supporting these chipsets will appear with the commits that
    port vieux/nv50/nvc0 to libdrm_nouveau-2.0.
    
    Signed-off-by: Ben Skeggs <bskeggs at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f3d8bd3f7b9f5c6387cd5e629a82db9ad9a1e652
Author: Ben Skeggs <bskeggs at redhat.com>
Date:   Fri Apr 13 17:50:37 2012 +1000

    nouveau: rework and simplify nv04/nv05 driver a bit
    
    TEXTURED_TRIANGLE and MULTITEX_TRIANGLE are both a bit special in that if
    you use any other graph object in the meantime they'll forget their state
    and spew a lovely METHOD_CNT error at you when you try to draw.
    
    The pre-newlib driver has a flush_notify() hook which does this state
    re-emit, and a number of random workarounds like extra flushes and state
    dirtying after various operations to solve this issue.
    
    I'm taking a slightly different approach to things instead, which has the
    nice side-effect of removing the divergent code-paths for ttri/mtri, the
    flush/dirty workarounds and the need for flush_notify.  Also gives a few
    FPS boost in OA, yay.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2e47d01c9e5325906cf3bb979279599991c6328e
Author: Ben Skeggs <bskeggs at redhat.com>
Date:   Fri Dec 23 14:03:49 2011 +1000

    nouveau/vieux: switch to libdrm_nouveau-2.0

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7308b6e75fe64f4e3f318bc7b5d276585e4f6957
Author: Dave Airlie <airlied at redhat.com>
Date:   Fri Apr 13 17:15:47 2012 +0100

    docs: update GL3.txt for ARB_blend_func_extended
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1f2b53945115f9b54933af1412d3cc0eb16a877f
Author: Dave Airlie <airlied at redhat.com>
Date:   Fri Apr 13 17:13:01 2012 +0100

    gallium: document dual source blending restrictions on gallium
    
    As per Brian's suggestion, document the restrictions on dual src blending.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d1cc87c0b64c2221b079015a6c3b593af83f0758
Author: Dave Airlie <airlied at redhat.com>
Date:   Sat Mar 24 13:37:16 2012 +0000

    r600g: initial r600 dual src blending support
    
    survives piglit with no regressions on rv610/evergreen
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4b1c3b920ee921506948fc14a0b70c746a811c2f
Author: Dave Airlie <airlied at redhat.com>
Date:   Sat Mar 24 13:36:59 2012 +0000

    softpipe: add dual source blending support
    
    This adds support for a single dual source blending MRT to softpipe.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c59d32d1ce9eee7bf0dcebfca1e69edbda90c22d
Author: Dave Airlie <airlied at redhat.com>
Date:   Sat Mar 24 14:28:03 2012 +0000

    util: add dual blend helper function (v2)
    
    This is just a function to tell if a certain blend mode requires dual sources.
    
    v2: move to inlines as per Brian's suggestion
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a21df965075f6fa1bf27039490ad65b9f78548e6
Author: Dave Airlie <airlied at redhat.com>
Date:   Sat Mar 24 13:36:17 2012 +0000

    st/mesa: add ARB_blend_func_extended support to state tracker.
    
    This adds the blend mode mapping, it also uses the var->index in the
    glsl to tgsi convertor - this is the other half of my using 4 in the GLSL
    compiler.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0d29fb017bce0968240ae875af4b3702c2cd46ef
Author: Dave Airlie <airlied at redhat.com>
Date:   Sat Mar 24 13:34:45 2012 +0000

    gallium: rename DUAL_SOURCE_BLEND cap to MAX_DUAL_SOURCE_RENDER_TARGETS
    
    Though I don't think we'll ever expose > 1.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1256a5dcc86014d48bdc6fd10ea5a2fa11241667
Author: Dave Airlie <airlied at redhat.com>
Date:   Sat Mar 24 13:33:41 2012 +0000

    glsl: add support for ARB_blend_func_extended (v3)
    
    This adds index support to the GLSL compiler.
    
    I'm not 100% sure of my approach here, esp without how output ordering
    happens wrt location, index pairs, in the "mark" function.
    
    Since current hw doesn't ever have a location > 0 with an index > 0,
    we don't have to work out if the output ordering the hw requires is
    location, index, location, index or location, location, index, index.
    But we have no hw to know, so punt on it for now.
    
    v2: index requires layout - catch and error
        setup explicit index properly.
    
    v3: drop idx_offset stuff, assume index follow location
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f8cf79936b42405a8366613b80e3bde21aadaa02
Author: Dave Airlie <airlied at redhat.com>
Date:   Sat Mar 24 13:33:00 2012 +0000

    mesa: add support for ARB_blend_func_extended (v4)
    
    Add implementations of the two API functions,
    Add a new strings to uint mapping for index bindings
    Add the blending mode validation for SRC1 + SRC_ALPHA_SATURATE
    Add get for MAX_DUAL_SOURCE_DRAW_BUFFERS
    
    v2:
    Add check in valid_to_render to address case in spec ERRORS.
    
    v3:
    Add index to ir.h so this patch compiles on its own
    fixup comment
    
    v4: fixup Brian's comments
    
    The GLSL patch will setup the indices.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a75c6163e605f35b14f26930dd9227e4f337ec9e
Author: Tom Stellard <thomas.stellard at amd.com>
Date:   Fri Jan 6 17:38:37 2012 -0500

    radeonsi: initial WIP SI code
    
    This commit adds initial support for acceleration
    on SI chips.  egltri is starting to work.
    
    The SI/R600 llvm backend is currently included in mesa
    but that may change in the future.
    
    The plan is to write a single gallium driver and
    use gallium to support X acceleration.
    
    This commit contains patches from:
    Tom Stellard <thomas.stellard at amd.com>
    Michel Dänzer <michel.daenzer at amd.com>
    Alex Deucher <alexander.deucher at amd.com>
    Vadim Girlin <vadimgirlin at gmail.com>
    
    Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
    
    The following commits were squashed in:
    
    ======================================================================
    
    radeonsi: Remove unused winsys pointer
    
    This was removed from r600g in commit:
    
    commit 96d882939d612fcc8332f107befec470ed4359de
    Author: Marek Olšák <maraeo at gmail.com>
    Date:   Fri Feb 17 01:49:49 2012 +0100
    
        gallium: remove unused winsys pointers in pipe_screen and pipe_context
    
        A winsys is already a private object of a driver.
    
    ======================================================================
    
    radeonsi: Copy color clamping CAPs from r600
    
    Not sure if the values of these CAPS are correct for radeonsi, but the
    same changed were made to r600g in commit:
    
    commit bc1c8369384b5e16547c5bf9728aa78f8dfd66cc
    Author: Marek Olšák <maraeo at gmail.com>
    Date:   Mon Jan 23 03:11:17 2012 +0100
    
        st/mesa: do vertex and fragment color clamping in shaders
    
        For ARB_color_buffer_float. Most hardware can't do it and st/mesa is
        the perfect place for a fallback.
        The exceptions are:
        - r500 (vertex clamp only)
        - nv50 (both)
        - nvc0 (both)
        - softpipe (both)
    
        We also have to take into account that r300 can do CLAMPED vertex colors only,
        while r600 can do UNCLAMPED vertex colors only. The difference can be expressed
        with the two new CAPs.
    
    ======================================================================
    
    radeonsi: Remove PIPE_CAP_OUTPUT_READ
    
    This CAP was dropped in commit:
    
    commit 04e324008759282728a95a1394bac2c4c2a1a3f9
    Author: Marek Olšák <maraeo at gmail.com>
    Date:   Thu Feb 23 23:44:36 2012 +0100
    
        gallium: remove PIPE_SHADER_CAP_OUTPUT_READ
    
        r600g is the only driver which has made use of it. The reason the CAP was
        added was to fix some piglit tests when the GLSL pass lower_output_reads
        didn't exist.
    
        However, not removing output reads breaks the fallback for glClampColorARB,
        which assumes outputs are not readable. The fix would be non-trivial
        and my personal preference is to remove the CAP, considering that reading
        outputs is uncommon and that we can now use lower_output_reads to fix
        the issue that the CAP was supposed to workaround in the first place.
    
    ======================================================================
    
    radeonsi: Add missing parameters to rws->buffer_get_tiling() call
    
    This was changed in commit:
    
    commit c0c979eebc076b95cc8d18a013ce2968fe6311ad
    Author: Jerome Glisse <jglisse at redhat.com>
    Date:   Mon Jan 30 17:22:13 2012 -0500
    
        r600g: add support for common surface allocator for tiling v13
    
        Tiled surface have all kind of alignment constraint that needs to
        be met. Instead of having all this code duplicated btw ddx and
        mesa use common code in libdrm_radeon this also ensure that both
        ddx and mesa compute those alignment in the same way.
    
        v2 fix evergreen
        v3 fix compressed texture and workaround cube texture issue by
           disabling 2D array mode for cubemap (need to check if r7xx and
           newer are also affected by the issue)
        v4 fix texture array
        v5 fix evergreen and newer, split surface values computation from
           mipmap tree generation so that we can get them directly from the
           ddx
        v6 final fix to evergreen tile split value
        v7 fix mipmap offset to avoid to use random value, use color view
           depth view to address different layer as hardware is doing some
           magic rotation depending on the layer
        v8 fix COLOR_VIEW on r6xx for linear array mode, use COLOR_VIEW on
           evergreen, align bytes per pixel to a multiple of a dword
        v9 fix handling of stencil on evergreen, half fix for compressed
           texture
        v10 fix evergreen compressed texture proper support for stencil
            tile split. Fix stencil issue when array mode was clear by
            the kernel, always program stencil bo. On evergreen depth
            buffer bo need to be big enough to hold depth buffer + stencil
            buffer as even with stencil disabled things get written there.
        v11 rebase on top of mesa, fix pitch issue with 1d surface on evergreen,
            old ddx overestimate those. Fix linear case when pitch*height < 64.
            Fix r300g.
        v12 Fix linear case when pitch*height < 64 for old path, adapt to
            libdrm API change
        v13 add libdrm check
    
        Signed-off-by: Jerome Glisse <jglisse at redhat.com>
    
    ======================================================================
    
    radeonsi: Remove PIPE_TRANSFER_MAP_PERMANENTLY
    
    This was removed in commit:
    
    commit 62f44f670bb0162e89fd4786af877f8da9ff607c
    Author: Marek Olšák <maraeo at gmail.com>
    Date:   Mon Mar 5 13:45:00 2012 +0100
    
        Revert "gallium: add flag PIPE_TRANSFER_MAP_PERMANENTLY"
    
        This reverts commit 0950086376b1c8b7fb89eda81ed7f2f06dee58bc.
    
        It was decided to refactor the transfer API instead of adding workarounds
        to address the performance issues.
    
    ======================================================================
    
    radeonsi: Handle PIPE_VIDEO_CAP_PREFERED_FORMAT.
    
    Reintroduced in commit 9d9afcb5bac2931d4b8e6d1aa571e941c5110c90.
    
    ======================================================================
    
    radeonsi: nuke the fallback for vertex and fragment color clamping
    
    Ported from r600g commit c2b800cf38b299c1ab1c53dc0e4ea00c7acef853.
    
    ======================================================================
    
    radeonsi: don't expose transform_feedback2 without kernel support
    
    Ported from r600g commit 15146fd1bcbb08e44a1cbb984440ee1a5de63d48.
    
    ======================================================================
    
    radeonsi: Handle PIPE_CAP_GLSL_FEATURE_LEVEL.
    
    Ported from r600g part of commit 171be755223d99f8cc5cc1bdaf8bd7b4caa04b4f.
    
    ======================================================================
    
    radeonsi: set minimum point size to 1.0 for non-sprite non-aa points.
    
    Ported from r600g commit f183cc9ce3ad1d043bdf8b38fd519e8f437714fc.
    
    ======================================================================
    
    radeonsi: rework and consolidate stencilref state setting.
    
    Ported from r600g commit a2361946e782b57f0c63587841ca41c0ea707070.
    
    ======================================================================
    
    radeonsi: cleanup setting DB_SHADER_CONTROL.
    
    Ported from r600g commit 3d061caaed13b646ff40754f8ebe73f3d4983c5b.
    
    ======================================================================
    
    radeonsi: Get rid of register masks.
    
    Ported from r600g commits
    3d061caaed13b646ff40754f8ebe73f3d4983c5b..9344ab382a1765c1a7c2560e771485edf4954fe2.
    
    ======================================================================
    
    radeonsi: get rid of r600_context_reg.
    
    Ported from r600g commits
    9344ab382a1765c1a7c2560e771485edf4954fe2..bed20f02a771f43e1c5092254705701c228cfa7f.
    
    ======================================================================
    
    radeonsi: Fix regression from 'Get rid of register masks'.
    
    ======================================================================
    
    radeonsi: optimize r600_resource_va.
    
    Ported from r600g commit 669d8766ff3403938794eb80d7769347b6e52174.
    
    ======================================================================
    
    radeonsi: remove u8,u16,u32,u64 types.
    
    Ported from r600g commit 78293b99b23268e6698f1267aaf40647c17d95a5.
    
    ======================================================================
    
    radeonsi: merge r600_context with r600_pipe_context.
    
    Ported from r600g commit e4340c1908a6a3b09e1a15d5195f6da7d00494d0.
    
    ======================================================================
    
    radeonsi: Miscellaneous context cleanups.
    
    Ported from r600g commits
    e4340c1908a6a3b09e1a15d5195f6da7d00494d0..621e0db71c5ddcb379171064a4f720c9cf01e888.
    
    ======================================================================
    
    radeonsi: add a new simple API for state emission.
    
    Ported from r600g commits
    621e0db71c5ddcb379171064a4f720c9cf01e888..f661405637bba32c2cfbeecf6e2e56e414e9521e.
    
    ======================================================================
    
    radeonsi: Also remove sbu_flags member of struct r600_reg.
    
    Requires using sid.h instead of r600d.h for the new CP_COHER_CNTL definitions,
    so some code needs to be disabled for now.
    
    ======================================================================
    
    radeonsi: Miscellaneous simplifications.
    
    Ported from r600g commits 38bf2763482b4f1b6d95cd51aecec75601d8b90f and
    b0337b679ad4c2feae59215104cfa60b58a619d5.
    
    ======================================================================
    
    radeonsi: Handle PIPE_CAP_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION.
    
    Ported from commit 8b4f7b0672d663273310fffa9490ad996f5b914a.
    
    ======================================================================
    
    radeonsi: Use a fake reloc to sleep for fences.
    
    Ported from r600g commit 8cd03b933cf868ff867e2db4a0937005a02fd0e4.
    
    ======================================================================
    
    radeonsi: adapt to get_query_result interface change.
    
    Ported from r600g commit 4445e170bee23a3607ece0e010adef7058ac6a11.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e55cf4854d594eae9ac3f6abd24f4e616eea894f
Author: Dylan Noblesmith <nobled at dreamwidth.org>
Date:   Sun Apr 1 19:47:07 2012 +0000

    st/vega: silence enum cast warnings
    
    clang warns on these:
    
    stroker.c:626:19: warning: implicit conversion from enumeration
    type 'VGPathCommand' to different enumeration type 'VGPathSegment'
    [-Wconversion]
    
    No change in the underlying value.
    
    Reviewed-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dd32df3829317105adbfacc7fe7b1d2a2dc96a58
Author: Dylan Noblesmith <nobled at dreamwidth.org>
Date:   Sun Apr 1 19:04:47 2012 +0000

    i965: fix typo
    
    Noticed by clang:
    
    brw_wm_surface_state.c:330:30: warning: initializer overrides prior
    initialization of this subobject [-Winitializer-overrides]
          [MESA_FORMAT_Z24_S8] = 0,
                                 ^
    brw_wm_surface_state.c:326:30: note: previous initialization is here
          [MESA_FORMAT_Z24_S8] = 0,
                                 ^
    
    No functionality change, since the array is declared static so
    it was zero-initialized by default.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Chad Versace <chad.versace at linux.intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=52d021d4d785a4567b9e73ef89e74a295e8cfed9
Author: Dylan Noblesmith <nobled at dreamwidth.org>
Date:   Sun Apr 1 18:59:28 2012 +0000

    mesa: fix truncated value warning
    
    Silences a clang warning:
    
    format_pack.c:2546:30: warning: implicit conversion from 'int' to
    'GLubyte' (aka 'unsigned char') changes value from 65535 to 255
    [-Wconstant-conversion]
                   d[i] = d[i] ? 0xffff : 0x0;
                               ~ ^~~~~~
    
    Reviewed-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=75fe7d1995cc828e821efddfaee8cbc52e27a52c
Author: Dylan Noblesmith <nobled at dreamwidth.org>
Date:   Sun Apr 1 18:55:23 2012 +0000

    mesa: don't cast away const
    
    Reviewed-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2bb91274e2cc2290ce8e790335f1e57b81d9d783
Author: Dylan Noblesmith <nobled at dreamwidth.org>
Date:   Sun Apr 1 19:57:57 2012 +0000

    egl-static: fix printf warning
    
    Noticed by clang:
    
    egl_st.c:57:50: warning: field precision should have type 'int',
    but argument has type 'size_t' (aka 'unsigned long') [-Wformat]
          ret = util_snprintf(path, sizeof(path), "%.*s/%s" UTIL_DL_EXT,
                                                   ~~^~
    
    NOTE: This is a candidate for the 8.0 branch.
    
    Reviewed-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6a491b5728fcfb928612182fa87212eeb2253917
Author: Dylan Noblesmith <nobled at dreamwidth.org>
Date:   Sun Apr 1 19:48:21 2012 +0000

    st/vega: fix uninitialized values
    
    C still treats array arguments exactly like pointer arguments.
    By sheer coincidence, this still worked fine on 64-bit
    machines where 2 * sizeof(float) == sizeof(void*), but not
    on 32-bit.
    
    Noticed by clang:
    
    text.c:76:51: warning: sizeof on array function parameter will
    return size of 'const VGfloat *' (aka 'const float *') instead of
    'const VGfloat [2]' [-Wsizeof-array-argument]
       memcpy(glyph->glyph_origin, glyphOrigin, sizeof(glyphOrigin));
    
    NOTE: This is a candidate for the 8.0 branch.
    
    Reviewed-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=071501a68129768c6223beb24f7363d87c6684ea
Author: Dylan Noblesmith <nobled at dreamwidth.org>
Date:   Sun Apr 1 18:48:13 2012 +0000

    egl: fix uninitialized values
    
    Noticed by clang:
    
    eglimage.c:48:28: warning: argument to 'sizeof' in 'memset' call is
    the same expression as the destination; did you mean to dereference
    it? [-Wsizeof-pointer-memaccess]
       memset(attrs, 0, sizeof(attrs));
              ~~~~~            ^~~~~
    
    NOTE: This is a candidate for the 8.0 branch.
    
    Reviewed-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=520521e3809a36201582fa48ee173eba12e97812
Author: Dylan Noblesmith <nobled at dreamwidth.org>
Date:   Sun Apr 1 18:35:29 2012 +0000

    util: fix uninitialized table
    
    Most of the 256 values in the 'generic_to_slot' table were supposed to
    be initialized with the default value 0xff, but were left at zero
    (from CALLOC_STRUCT()) instead.
    
    Noticed by clang:
    
    u_linkage.h:60:31: warning: argument to 'sizeof' in 'memset' call is the same expression as the destination;
          did you mean to provide an explicit length? [-Wsizeof-pointer-memaccess]
       memset(table, 0xff, sizeof(table));
              ~~~~~               ^~~~~
    
    Also fix a signed/unsigned comparison and a comment typo here.
    
    NOTE: This is a candidate for the 8.0 branch.
    
    Reviewed-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ccff74971203b533bf16b46b49a9e61753f75e6c
Author: Dylan Noblesmith <nobled at dreamwidth.org>
Date:   Sun Apr 1 18:21:47 2012 +0000

    util: fix undefined behavior
    
    container_of() can legally return anything, even invalid addresses
    that cause segfaults, when 'sample' is an uninitialized pointer.
    
    Bug exposed by clang.
    
    NOTE: This is a candidate for the 8.0 branch.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=10ec14865aa7d0110ae202011be36d6e4a7ba154
Author: Vinson Lee <vlee at freedesktop.org>
Date:   Wed Apr 11 23:05:44 2012 -0700

    ir_to_mesa: Fix uninitialized member in add_uniform_to_shader.
    
    Fix uninitialized scalar field defect reported by Coverity.
    
    NOTE: This is a candidate for the 8.0 branch.
    
    Signed-off-by: Vinson Lee <vlee at freedesktop.org>
    Reviewed-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4f2eafe4dcea26d7275b121360c4f4e0b28455f5
Author: Neil Roberts <neil at linux.intel.com>
Date:   Wed Apr 11 17:07:56 2012 +0100

    wayland-drm: Implement wl_buffer.damage in old versions of Wayland
    
    Commit 272bc48976 removed the damage implementation for the
    wl_buffer_interface because that has been removed from git master of
    Wayland. However this breaks building with the 0.85 branch of Wayland
    because it would end up initialising the struct incorrectly.
    
    For the time being it's quite convenient for some compositors to track
    the 0.85 branch of Wayland because the protocol is stable but they
    will also want to track the master branch of Mesa so that they can use
    the gbm surface changes.
    
    This patch adds a compile-time check for the version of Wayland so
    that it can work with either Wayland master or the 0.85 branch.
    
    krh: Edited to also account for API changes in 6802eaa68, which
    removes the timestamp argument from wl_resource_destroy().

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=368878cc5f9a09afc6c254bcb73c2267633a5d6d
Author: Stéphane Marchesin <marcheu at chromium.org>
Date:   Thu Apr 12 18:31:10 2012 -0700

    Revert "i915g: Implement stipple with draw."
    
    This reverts commit 3cff45fdb182a1327f6b89fdc4e0ddc5d680372a.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=05265bee8554241d98e741643d62ad2f8d270192
Author: Stéphane Marchesin <marcheu at chromium.org>
Date:   Thu Apr 12 18:30:59 2012 -0700

    Revert "i915g: Remove unused poly stipple state."
    
    This reverts commit be6a02266d1a934c6eff9aaf12fc618588b2d586.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0d2bc18e4dd37892f2de0cf0cf4b9ed44cbc0cbc
Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Thu Mar 29 15:31:55 2012 -0700

    tests/glx: Point at the imported copy of gtest
    
    This is just in case there's one installed on the system.
    
    Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
    Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
    Acked-by: Eric Anholt <eric at anholt.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=94726d263ebee6364e9be2f254c3ca7d1f85dde4
Author: Eric Anholt <eric at anholt.net>
Date:   Mon Mar 5 17:01:13 2012 -0800

    glx: Hook up the unit tests again using the internal gtest.
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3d000e7dd14c3185b9e27a6c38a67288b4d10431
Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Thu Mar 29 15:31:27 2012 -0700

    gtest: Fix up import of gtest 1.6.0
    
    The include files were all missing.
    
    Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
    Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
    Acked-by: Eric Anholt <eric at anholt.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=19a4c0646b62311d3df70653d0186fb4f7866fd3
Author: Eric Anholt <eric at anholt.net>
Date:   Mon Mar 5 17:01:12 2012 -0800

    gtest: Build as a convenience library.
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fe358c0ffa4acb7ecab10fda68ba9740497d2e7f
Author: Eric Anholt <eric at anholt.net>
Date:   Mon Mar 5 17:01:11 2012 -0800

    gtest: Import sources from gtest 1.6.0.
    
    The upstream of gtest has decided that the intended usage model is for
    projects to import the source and use it, which is reflected in their
    recent removal of the gtest-config tool.
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
    Reviewed-by: Chad Versace <chad.versace at linux.intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6f03692775ed49035802d660516b7d7464c7a1ad
Author: Marek Olšák <maraeo at gmail.com>
Date:   Tue Apr 10 08:28:23 2012 +0200

    cso: unreference saved vertex buffers when restoring
    
    Reviewed-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=249fc7056104113633215106ac085b505d8dc161
Author: Eric Anholt <eric at anholt.net>
Date:   Wed Mar 21 14:35:14 2012 -0700

    i965: When the kernel lacks the LLC check, assume it's present on gen >= 6.
    
    The param wasn't added until drm-intel-next for 3.4, so we were
    missing our various LLC fast-paths.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e3df28337b6b45f5b3444a9d6d4e1f6988d2de1b
Author: Eric Anholt <eric at anholt.net>
Date:   Wed Mar 21 14:31:53 2012 -0700

    intel: Drop backwards compat code for not having libdrm with the LLC check.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=80ecb8f15b9ad7d6edcc85bd19f1867c368b09b6
Author: Eric Anholt <eric at anholt.net>
Date:   Tue Mar 13 14:19:31 2012 -0700

    i965/fs: Avoid generating extra AND instructions on bool logic ops.
    
    By making a bool fs_reg only have a defined low bit (matching CMP
    output), instead of being a full 0 or 1 value, we reduce the ANDs
    generated in logic chains like:
    
       if (v_texcoord.x < 0.0 || v_texcoord.x > texwidth ||
           v_texcoord.y < 0.0 || v_texcoord.y > 1.0)
          discard;
    
    My concern originally when writing this code was that we would end up
    generating unnecessary ANDs on bool uniforms, so I put the ANDs right
    at the point of doing the CMPs that otherwise set only the low bit.
    However, in order to use a bool, we're generating some instruction
    anyway (e.g. moving it so as to produce a condition code update), and
    those instructions can often be turned into an AND at that point.  It
    turns out in the shaders I have on hand, none of them regress in
    instruction count:
    
    Total instructions: 262649 -> 262545
    39/2148 programs affected (1.8%)
    14253 -> 14149 instructions in affected programs (0.7% reduction)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=32ae8d3b321185a85b73ff703d8fc26bd5f48fa7
Author: Eric Anholt <eric at anholt.net>
Date:   Sat Mar 10 13:48:42 2012 -0800

    i965/fs: Try to avoid generating extra MOVs to do saturates.
    
    This change (before the previous two) produced a .23% +/- .11%
    performance improvement in Unigine Tropics at 1024x768 on IVB.
    
    Total instructions: 269270 -> 262649
    614/2148 programs affected (28.6%)
    179386 -> 172765 instructions in affected programs (3.7% reduction)
    
    v2: Move some of the logic of finding the instruction that produced
        the result of an expression tree to a helper.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3bdccbc3e0185fbca16eada2a76f55c6e3f867b5
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Mar 22 13:22:51 2012 -0700

    glsl: Extend the array splitting optimization pass to matrices.
    
    This should fit in well with our lower_mat_op_to_vec code: now, in
    addition to having expressions on each column of a matrix, we also
    split the columns to separate variables so they can be tracked
    individually by the copy propagation, dead code, and other passes.
    
    This optimizes out some more code generation in unigine and gstreamer
    shaders.
    
    Total instructions: 269342 -> 269270
    14/2148 programs affected (0.7%)
    2226 -> 2154 instructions in affected programs (3.2% reduction)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=60177d5e2aec07ed6386a6935b118a356d58c4ec
Author: Eric Anholt <eric at anholt.net>
Date:   Sat Oct 2 22:57:17 2010 -0700

    glsl: Add an array splitting pass.
    
    I've had this code laying around almost done for a long time.  The
    idea is like opt_structure_splitting, that we've got a bunch of
    transforms at the GLSL IR level that only understand scalars and
    vectors, which just skip complicated dereferences.  While driver
    backends may manage some optimization after they split matrices up
    themselves, it would be better to bring all of our optimization to
    bear on the problem.
    
    While I wasn't expecting changes quite yet, a few programs end up
    winning: a gstreamer convolution shader, and the Humus dynamic
    branching demo:
    Total instructions: 269430 -> 269342
    3/2148 programs affected (0.1%)
    1498 -> 1410 instructions in affected programs (5.9% reduction)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fda662f4dffa658d28ea739dd236fe0350828d59
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Mar 22 08:58:33 2012 -0700

    glsl: Don't apply optimization passes to builtins.
    
    The builtins we have are generally optimized, having been
    hand-written.  This avoids generating bad code when an optimization
    pass prints debug output.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0fd4165261311fb36c98885edb7331df29eec09d
Author: Brian Paul <brianp at vmware.com>
Date:   Wed Apr 11 11:53:33 2012 -0600

    docs: document yet another viewperf bug

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=71d69161ab86e88dfbfe9931c03eef9d17de90ef
Author: Brian Paul <brianp at vmware.com>
Date:   Fri Apr 6 15:45:39 2012 -0600

    mesa: add _mesa_total_texture_memory() debug function
    
    This function can be called in gdb to find out how much memory is used
    by all texture objects.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=223654b81ddb50cc42ed8cd722b389b302a26980
Author: Brian Paul <brianp at vmware.com>
Date:   Fri Apr 6 15:44:56 2012 -0600

    mesa: new _mesa_total_buffer_object_memory() debug function
    
    This function can be called in gdb to find out how much memory is used
    by buffer objects.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5154b45217695e5daf24110bcff043fa1959d0a5
Author: Chad Versace <chad.versace at linux.intel.com>
Date:   Tue Apr 10 15:36:07 2012 -0700

    mapi: Fix Android build
    
    The Android build was broken by
        commit ca760181b4420696c7e86aa2951d7203522ad1e8
        Author: Kristian Høgsberg <krh at bitplanet.net>
        Date:   Fri Mar 16 12:55:40 2012 -0400
    
        shared-glapi: Convert to automake
    
    The offending change was that it redefined the filepaths in sources.mak
    like this:
        - FOO_FILES := bar.c
        + FOO_FILES := $(TOP)/src/mapi/mapi/bar.c
    This broke the build because source filepaths in Android makefiles must be
    relative to the makefile.
    
    Ideally, this could be fixed by reverting the change in sources.mak and
    making shared-glapi's Makefile.am use $(addprefix $(TOP)/src/mapi/mapi,
    $(FOO_FILES)). However, automake doesn't understand builtin GNU make
    functions, such as addprefix. So, it seems that automake and Android can
    no longer share sources.mak.
    
    Fix the build by duplicating the source lists from sources.mak into
    Android.mk.
    
    Signed-off-by: Chad Versace <chad.versace at linux.intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0695cf68f5afb903f93cc3779444d095b218271d
Author: Mandeep Singh Baines <mandeep.baines at gmail.com>
Date:   Tue Apr 10 14:48:14 2012 -0700

    egl_dri2: fix aux buffer leak in drm platform
    
    Keep a reference to any newly allocated aux buffers to avoid
    re-allocating for every st_framebuffer_validate() (i.e. leaking).
    
    Signed-off-by: Mandeep Singh Baines <msb at chromium.org>
    Signed-off-by: Kristian Høgsberg <krh at bitplanet.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a27c7d80afc3160a0face4b8781bf921229bc3cc
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Fri Apr 6 12:14:28 2012 -0700

    i965: Stop lying about cpp and height of a stencil buffer.
    
    When using a separate stencil buffer, i965 requires that the pitch of
    the buffer (in the 3DSTATE_STENCIL_BUFFER command) be specified as 2x
    the actual pitch.
    
    Previously this was accomplished by doubling the "cpp" and "pitch"
    values stored in the intel_region data structure, and halving the
    height.  However, this was confusing, and it led to a subtle (but
    benign) bug: since a stencil buffer is W-tiled, its true height must
    be aligned to a multiple of 64; we were accidentally aligning its faux
    height to a multiple of 64, causing memory to be wasted.
    
    Note that for window system stencil buffers, the DDX also doubles the
    cpp and pitch values.  To facilitate fixing this DDX server bug in the
    future, we fix the cpp and pitch values we receive from the X server
    only if cpp has the "incorrect" value of 2.
    
    Acked-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
    
    v2: Clarify comments about the DDX.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=272bc489762c6946e3c0314e9e035b281c567310
Author: Pekka Paalanen <ppaalanen at gmail.com>
Date:   Tue Apr 10 15:35:06 2012 +0300

    wayland-drm: remove wl_buffer.damage
    
    This is a related fix for the Wayland change:
    
    commit 83685c506e76212ae4e5cb722205d98d3b0603b9
    Author: Kristian Høgsberg <krh at bitplanet.net>
    Date:   Mon Mar 26 16:33:24 2012 -0400
    
        Remove wl_buffer.damage and simplify shm implementation
    
    Apparently, this should also fix a memory leak. When wl_buffer.damage
    was removed from Wayland and Mesa was not fixed, wl_buffer.destroy ended
    up in the (empty) damage function instead of calling
    wl_resource_destroy().
    
    Spotted during build as:
      CC     wayland-drm-protocol.lo
    wayland-drm.c:80:2: warning: initialization from incompatible pointer type
    wayland-drm.c:82:1: warning: excess elements in struct initializer
    wayland-drm.c:82:1: warning: (near initialization for 'drm_buffer_interface')
    
    Signed-off-by: Pekka Paalanen <ppaalanen at gmail.com>




More information about the mesa-commit mailing list