Mesa (9.1): 53 new commits

Ian Romanick idr at kemper.freedesktop.org
Fri May 10 23:58:14 UTC 2013


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1e043ebe034b6e33b4c5228770db397b22fd26e0
Author: Andreas Boll <andreas.boll.dev at gmail.com>
Date:   Thu Apr 18 09:32:39 2013 +0200

    mesa: add usage examples to get-pick-list and shortlog scripts
    
    NOTE: This is a candidate for the stable branches.
    (cherry picked from commit b8e41db053a7cceba81650b4a94fff65c06ef86e)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8487315e6e551c5ae78b8e0970b583ff32dbcdf5
Author: Andreas Boll <andreas.boll.dev at gmail.com>
Date:   Wed Apr 17 18:14:44 2013 +0200

    mesa: Add a script to generate the list of fixed bugs
    
    This list appears in the fixed bugs section of the release notes.
    
    v2: Add usage examples
    
    NOTE: This is a candidate for the stable branches.
    (cherry picked from commit ca79b72c00f035e2b48d554b42361829523f38ff)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7881aae604aa6f6dbb431a850641214115bfcd3a
Author: Eric Anholt <eric at anholt.net>
Date:   Mon May 6 20:44:21 2013 -0700

    i965: Fix hangs on HSW since the gen6 blorp fix.
    
    The constant packets for gen6 are too small for gen7, and while IVB seems
    happy with them HSW blows up.  Fix it by emitting the correct packets on
    gen7, for all stages.
    
    v2: Include the packets instead of just skipping them.
    NOTE: This is a candidate for the stable branches.
    Reviewed-and-tested-by: Chad Versace <chad.versace at linux.intel.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    (cherry picked from commit 5d06c9ea0f1aa2f312660413acd1bd6a1dafe1a6)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=23fb93a9186caf7d9520495f29a37db37deabf83
Author: Eric Anholt <eric at anholt.net>
Date:   Wed May 1 16:08:12 2013 -0700

    i965: Fix SNB GPU hangs when a blorp batch is the first thing to execute.
    
    The GPU apparently goes looking for constants even though there are no
    shader stages enabled, and gets stuck because we haven't told it there are
    no constants to collect.  If any other user of the 3D pipeline had run
    (even the Render accel of the X server!) since power on, then the in-GPU
    constant buffers would have been set up with some contents we didn't use,
    and we would succeed.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56416
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Tested-by: Dave Airlie <airlied at redhat.com>
    NOTE: This is a candidate for the stable branches.
    (cherry picked from commit 1dfea559c3f188a7a82a4abc09765ba09e939522)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=49fa2f1135b99c684a7713dfae1f1f1e83e1fcb3
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Feb 12 21:51:17 2013 -0800

    i965/vs: Fix textureGrad() with shadow samplers on Haswell.
    
    The shadow comparitor needs to be loaded into the Z component of the
    last DWord.
    
    Fixes es3conform's shadow_execution_vert and oglconform's
    shadow-grad advanced.textureGrad.1D tests on Haswell.
    
    NOTE: This is a candidate for stable branches.
    
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    (cherry picked from commit b5b6460c40e1c46f6af6a490485132ea0864572c)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6907c00059ed164aeeae8ed70d79986f42734427
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Feb 12 21:51:16 2013 -0800

    i965: Lower textureGrad() for samplerCubeShadow.
    
    According to the Ivybridge PRM, Volume 4 Part 1, page 130, in the
    section for the sample_d message: "The r coordinate contains the faceid,
    and the r gradients are ignored by hardware."
    
    This doesn't match GLSL, which provides gradients for all of the
    coordinates.  So we would need to do some math to compute the face ID
    before using sample_d.  We currently don't have any code to do that.
    
    However, we do have a lowering pass that converts textureGrad to
    textureLod, which solves this problem.  Since textureGrad on three
    components is sufficiently obscure, it's not a performance path.
    
    For now, only handle samplerCubeShadow; we need tests for samplerCube
    and samplerCubeArray.
    
    Fixes es3conform's shadow_comparison_frag test on Haswell.
    
    NOTE: This is a candidate for stable branches.
    
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    (cherry picked from commit e2f887b243fd34ef82e4782a968baca485b07b15)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=79f89b46e16515f45fb24651aeb3c541daca031e
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Apr 30 00:58:09 2013 -0700

    glsl: Ignore redundant prototypes after a function's been defined.
    
    Consider the following shader:
    
        vec4 f(vec4 v) { return v; }
        vec4 f(vec4 v);
    
    The prototype exactly matches the signature of the earlier definition,
    so there's absolutely no point in it.  However, it doesn't appear to
    be illegal.  The GLSL 4.30 specification offers two relevant quotes:
    
    "If a function name is declared twice with the same parameter types,
     then the return types and all qualifiers must also match, and it is the
     same function being declared."
    
    "User-defined functions can have multiple declarations, but only one
     definition."
    
    In this case the same function was declared twice, and there's only one
    definition, which fits both pieces of text.  There doesn't appear to be
    any text saying late prototypes are illegal, so presumably it's valid.
    
    Unfortunately, it currently triggers an assertion failure:
    ir_dereference_variable @ <p1> specifies undeclared variable `v' @ <p2>
    
    When we process the second line, we look for an existing exact match so
    we can enforce the one-definition rule.  We then leave sig set to that
    existing function, and hit sig->replace_parameters(&hir_parameters),
    unfortunately nuking our existing definition's parameters (which have
    actual dereferences) with the prototype's bogus unused parameters.
    
    Simply bailing out and ignoring such late prototypes is the safest
    thing to do.
    
    Fixes Piglit's late-proto.vert as well as 3DMark/Ice Storm for Android.
    
    NOTE: This is a candidate for stable branches.
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Tested-by: Tapani Pälli <tapani.palli at intel.com>
    Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
    Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
    Reviewed-by: Ian Romanick <idr at freedesktop.org>
    (cherry picked from commit 6c5cf8baa10f0bfdf1e61d944f24fdd7947b2a82)
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=39251
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=61773

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3f0ed60f93d8f219009810081553de1cb446486d
Author: Alex Deucher <alexander.deucher at amd.com>
Date:   Thu Apr 25 14:22:46 2013 -0400

    radeonsi: add new SI pci ids
    
    Note: this is a candidate for the 9.1 branch.
    
    Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
    (cherry picked from commit b5145ca2a810b0a65311a18bffd05db35b2a21d6)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b517272a5dce847d45020b2a808123b6d0e008c2
Author: Alex Deucher <alexander.deucher at amd.com>
Date:   Thu Apr 25 14:21:15 2013 -0400

    r600g: add new richland pci ids
    
    Note: this is a candidate for the stable branches.
    
    Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
    (cherry picked from commit b3a856dfa90de845868d63041f576475662cd6cf)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3fb9f18be94062de41028ea1327380aac5053640
Author: José Fonseca <jfonseca at vmware.com>
Date:   Wed Apr 24 10:49:57 2013 +0100

    winsys/sw/xlib: Prevent shared memory segment leakage.
    
    Running piglit with this was causing all sort of weird stuff happening
    to my desktop (Chromium webpages become blank, Qt Creator flickered,
    etc).  I tracked this down to shared memory segment leakage when GL is
    not shutdown properly. The segments can be seen running `ipcs` and
    looking for nattch==0.
    
    This changes fixes this by calling shmctl(IPC_RMID) soon after creation
    (which does not remove the segment immediately, but simply marks it for
    removal when no more processes are attached).
    
    This matches src/mesa/drivers/x11/xm_buffer.c behaviour.
    
    v2:
    - move shmctl(IPC_RMID) after XShmAttach() for *BSD, per Chris Wilson
    - remove stray debug printfs, spotted by Ian Romanick
    
    NOTE: This is a candidate for stable branches.
    
    Reviewed-by: Brian Paul <brianp at vmware.com>
    (cherry picked from commit e29525f79fdb62993e14a4bc87a9e0955b838de0)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e0e885ab869ee4c39eaad2e71f9193f09a36c001
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon Apr 22 23:52:22 2013 -0700

    mesa: Add unpack functions for A/I/L/LA [U]INT8/16/32 formats.
    
    NOTE: This is a candidate for stable branches.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=63569
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Brian Paul <brianp at vmware.com>
    (cherry picked from commit cef31bb290f9fa58b8393e355a0d86a90ee20e14)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=07671a56278d9b3d2a6327582e09d930d2641c5e
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon Apr 22 23:37:06 2013 -0700

    mesa: Add unpack functions for R/RG/RGB [U]INT8/16/32 formats.
    
    NOTE: This is a candidate for stable branches.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=63569
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Brian Paul <brianp at vmware.com>
    (cherry picked from commit 995051ee34f9c29461b6e9cad27df5e375688218)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9f66038b5bac7f3574a00beda850be31712f9610
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon Apr 22 23:13:47 2013 -0700

    mesa: Add an unpack function for ARGB2101010_UINT.
    
    v2: Remove extra parenthesis (suggested by Brian).
    
    NOTE: This is a candidate for stable branches.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=63569
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Brian Paul <brianp at vmware.com>
    (cherry picked from commit 531be501de7530ede3c0ea7a1d94516df37e4ae5)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d28e375a3ed020a0cf513de1ea26b5a18e75dd01
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon Apr 22 22:58:49 2013 -0700

    mesa: Fix unpack function for ETC2_SRGB8_PUNCHTHROUGH_ALPHA1.
    
    We accidentally set MESA_FORMAT_ETC2_RGB8_PUNCHTHROUGH_ALPHA1 twice,
    rather than setting the RGB8 and SRGB8 formats.
    
    NOTE: This is a candidate for stable branches.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=63569
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Brian Paul <brianp at vmware.com>
    (cherry picked from commit b1fded54c959c38f0e3fc3d8500250b01ccaaa3a)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9548c93768ec1cf5b9d589408d047559b463c2bb
Author: Marek Olšák <maraeo at gmail.com>
Date:   Mon Apr 15 14:39:58 2013 +0200

    st/mesa: depth-stencil-alpha state also depends on _NEW_BUFFERS
    
    because the code looks at the visual if there is a depth or stencil buffer
    before enabling depth or stencil, respectively.
    
    NOTE: This is a candidate for the stable branches.
    
    Reviewed-by: Brian Paul <brianp at vmware.com>
    (cherry picked from commit d23c7455ae218a522d4a03829a7a7cafa94f6e94)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=54cfc3fd3ae119b3292a96fe9a0562feafd07c65
Author: Marek Olšák <maraeo at gmail.com>
Date:   Sun Apr 21 23:26:52 2013 +0200

    r600g: initialize CMASK and HTILE with the GPU using streamout
    
    This fixes a crash when a resource cannot be mapped to the CPU's address space
    because it's too big.
    
    This puts a global pipe_context in r600_screen, which is guarded by a mutex,
    so that we can use pipe_context when there isn't one around.
    Hopefully our multi-context support is solid.
    
    Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
    
    NOTE: This is a candidate for the 9.1 branch.
    (cherry picked from commit b69207642079fe8ba33c594750415e8d9c66a06f)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a040faa894910d8ac4c3a078f9e01dbbcf534e6d
Author: Marek Olšák <maraeo at gmail.com>
Date:   Sun Apr 21 19:39:03 2013 +0200

    gallium/u_blitter: implement buffer clearing
    
    Although this might be useful for ARB_clear_buffer_object,
    I need it for initializating resources in r600g.
    
    Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
    Reviewed-by: Brian Paul <brianp at vmware.com>
    
    v2: comment cleanups
    
    NOTE: This is a candidate for the 9.1 branch.
    (cherry picked from commit 1ba46bbb4c99caa7e297f2ec6717e962765275cb)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2f4134f7b5b7ea5362a89cde6913391a46808229
Author: Vadim Girlin <vadimgirlin at gmail.com>
Date:   Fri Apr 19 01:04:51 2013 +0400

    gallium: handle drirc disable_glsl_line_continuations option
    
    NOTE: This is a candidate for the 9.1 branch
    
    Signed-off-by: Vadim Girlin <vadimgirlin at gmail.com>
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
    Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
    (cherry picked from commit f732036f12d67a96f546c11236fa635b3eda6e9c)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7088218b9c217c16a3bfb5645a0af2ee984aa6e2
Author: Brian Paul <brianp at vmware.com>
Date:   Thu Apr 18 08:20:56 2013 -0600

    mesa: enable GL_ARB_texture_float if TEXTURE_FLOAT_ENABLED is defined
    
    Per message on mesa-users list, this wasn't working before.
    
    Note: This is a candidate for the stable branches.
    
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
    Reviewed-by: Eric Anholt <eric at anholt.net>
    (cherry picked from commit 877e3c1d42bdf475fb97d575ccc195c627ca3481)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ed00ea344490145a3f3eb7aa010ad8f593325929
Author: Dave Airlie <airlied at redhat.com>
Date:   Wed Apr 17 11:07:49 2013 +1000

    ralloc: don't write to memory in case of alloc fail.
    
    For some reason I made this happen under indirect rendering,
    I think we might have a leak, valgrind gave out, so I said I'd
    fix the basic problem.
    
    NOTE: This is a candidate for stable branches.
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Signed-off-by: Dave Airlie <airlied at redhat.com>
    (cherry picked from commit 47bd6e46fe89e1cce61b11bcaa7b81f807011c23)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1665f29c29b368988e1ad8b78acda444621aed37
Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Tue Apr 16 09:31:08 2013 -0700

    intel: Don't dereference a NULL pointer of calloc fails
    
    The caller of NewTextureObject does the right thing if NULL is returned,
    so this function should do the right thing too.
    
    NOTE: This is a candidate for stable branches.
    
    Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    (cherry picked from commit 505ac6ddc6f83ee17655d54cf46ed71ead9e578c)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9ef8b94e22f967c84ed7f43f5fc3e4bf82be5f58
Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Fri Apr 12 16:47:52 2013 -0700

    mesa/swrast: Move free calls outside the attachment loop
    
    This was originally discovered by Klocwork analysis:
    
        Possible memory leak. Dynamic memory stored in 'srcBuffer0'
        allocated through function 'malloc' at line 566 can be lost at line
        746
    
    However, I think the problem is actually much worse.  Since the memory
    is freed after the first pass through the loop, the released buffer may
    be used on the next iteration!
    
    NOTE: This is a candidate for stable release branches.
    
    Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
    Reviewed-by: Brian Paul <brianp at vmware.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    (cherry picked from commit a27c6e1aea1d048e0c701ca59c3c5bcf12b69d7b)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4a6a33d398862e43a1748676aec7329a81fdb982
Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Fri Apr 12 16:47:13 2013 -0700

    mesa/swrast: Refactor no-memory error checking in blit_linear
    
    Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
    Reviewed-by: Brian Paul <brianp at vmware.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    (cherry picked from commit 6758498eb79287fe5d67cd5c869e9fd387f95def)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=713e321fcf34f0c2f74db6dc3ec7d51e09c2d4f6
Author: Roland Scheidegger <sroland at vmware.com>
Date:   Mon Apr 15 03:57:23 2013 +0200

    gallivm: fix small but severe bug in handling multiple lod level strides
    
    Inserting the value for the second quad in the wrong place for the
    following shuffle. This meant the row or image stride was undefined which is
    quite catastrophic, can lead to bogus texels fetched or just segfault.
    This code is only hit for SoA path currently, still surprising it
    didn't crash more or caused more visible issues (I think llvm used a
    broadcast shuffle for the undefined parts of the vector, hence the undefined
    value for the second quad was just the same as that from the first quad,
    so as long as both quads hit the same mip level everything was fine, and since
    lower mips always have the same large stride it made it less likely to
    hit out-of-bound memory in case of differing lods).
    
    Note: this is a candidate for stable branches.
    
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
    (cherry picked from commit 1d6eb23f2dc1bb53636802cb698e6788ca0a26ac)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a61650ab8317487f20b7460b2368899c2f51edb9
Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Wed Apr 10 07:50:49 2013 -0700

    mesa: Don't leak gl_context::BeginEnd at context destruction
    
    The other dispatch tables (Exec and Save) are freed, but BeginEnd is
    never freed.  This was found by inspection why investigating the leak of
    shared state in _mesa_initialize_context.
    
    NOTE: This is a candidate for stable branches
    
    Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
    Reviewed-by: Brian Paul <brianp at vmware.com>
    (cherry picked from commit 1faaa411c7039b8b6e2118d8621ca940c674c2d4)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=13f7cd25f34bb6a5950101bb2ca774c037e9a676
Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Wed Apr 10 07:47:08 2013 -0700

    mesa: Don't leak shared state when context initialization fails
    
    Back up at line 1017 (not shown in patch), we add a reference to the
    shared state.  Several places after that may divert to the error
    handler, but, as far as I can tell, nothing ever unreferences the shared
    state.
    
    Fixes issue identified by Klocwork analysis:
    
        Resource acquired to 'shared->TexMutex' at line 1012 may be lost
        here. Also there is one similar error on line 1087.
    
    NOTE: This is a candidate for the stable branches.
    
    Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
    Reviewed-by: Brian Paul <brianp at vmware.com>
    (cherry picked from commit 6e06550e4e0682c616fc0228beee419618421f2c)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e928a3059c6addba9014b375b8b3d93ea31c4984
Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Mon Apr 8 20:00:30 2013 -0700

    egl/dri2: NULL check value returned by dri2_create_surface
    
    dri2_create_surface can fail for a variety of reasons, including bad
    input data.  Dereferencing the NULL pointer and crashing is not okay.
    
    Fixes issue identified by Klocwork analysis:
    
        Pointer 'surf' returned from call to function 'dri2_create_surface'
        at line 285 may be NULL and will be dereferenced at line 291.
    
    NOTE: This is a candidate for the stable branches.
    
    Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    (cherry picked from commit f730c210b89ab8eb2dd5f346a68d06bd05386a37)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=93613693ad70a34d0644149ae700daa3e2929286
Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Mon Apr 8 19:55:18 2013 -0700

    mesa: NULL check the pointer before trying to dereference it
    
    Duh.
    
    Fixes issues identified by Klocwork analysis:
    
        Pointer 'table' returned from call to function 'calloc' at line 115
        may be NULL and will be dereferenced at line 117.
    
    and
    
        Suspicious dereference of pointer 'table' before NULL check at line
        119.
    
    NOTE: This is a candidate for the stable branches.
    
    Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    (cherry picked from commit 2cc0b3294ae0b1181bdcbca91fd68ebab374dbb2)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=377213b3ee716ac9c607e8250692da4037264328
Author: Dave Airlie <airlied at redhat.com>
Date:   Thu Apr 11 15:20:19 2013 +1000

    st/mesa: fix UBO offsets.
    
    Reported and tested by degasus on #radeon.
    
    Note: This is a candidate for the 9.1 branch
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>
    (cherry picked from commit cb12bf7606116e473bf19aee84582b4cee7f895d)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d1b4165fcf79a75fc0ce8a81445ce58666103770
Author: Ralf Jung <post at ralfj.de>
Date:   Tue Apr 9 14:09:50 2013 +0200

    egl/x11: Fix initialisation of swap_interval
    
    The EGLConfig attributes EGL_MIN/MAX_SWAP_INTERVAL were incorrectly set to
    0 and 0. This prevented clients from setting the swap interval to a
    reasonable value, like 1 or 2.
    
    Swap interval worked correctly in Mesa 9.0. The commit below introduced
    the bug.
    
        commit 7e9bd2b2ed35a440a96362417100a7e43715d606
        Author: Eric Anholt <eric at anholt.net>
        Date:   Tue Sep 25 14:05:30 2012 -0700
    	egl: Add support for driconf control of swapinterval.
    
    Note: This is a candidate for the 9.1 branch.
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=63078
    [chadv: Wrote commit message]
    Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
    Reviewed-by: Eric Anholt <eric at anholt.net>
    (cherry picked from commit 3998f8c6b5da1a223926249755e54d8f701f81ab)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=04d7b718c63d3b48913a3645534bf708b1b7cf38
Author: Eric Anholt <eric at anholt.net>
Date:   Tue Apr 9 13:34:08 2013 -0700

    i965/gen6: Reduce updates of transform feedback offsets with HW contexts.
    
    The software-tracked transform feedback offsets (svbi_0_starting_index)
    are incorrect in the presence of primitive restart, so we were actually
    updating it with a bogus value if the batch wrapped and we emitted the
    packet again during a single transform feedback.  By reducing state
    emission, we avoid the bug.
    
    Fixes piglit OpenGL 3.1/primitive-restart-xfb flush
    Reviewed-by: Paul Berry <stereotype441 at gmail.com>
    NOTE: This is a candidate for the 9.1 branch.
    (cherry picked from commit 007a88ed24e783d38839e69ae07aa19ceabb6c93)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d47e7a76a3f7b175bb2d9241484b3bdc858134c5
Author: Eric Anholt <eric at anholt.net>
Date:   Mon Apr 8 10:56:23 2013 -0700

    i965/gen7: Skip resetting SOL offsets at batch start with HW contexts.
    
    The software-tracked transform feedback offsets (svbi_0_starting_index)
    are incorrect in the presence of primitive restart, so we can't reliably
    compute offsets for our buffer pointers after a batch flush.  Thanks to HW
    contexts, our transform feedback offsets are now saved, so we can just
    keep using the ones from before the batch wrap.
    
    Fixes piglit OpenGL 3.1/primitive-restart-xfb flush
    Reviewed-by: Paul Berry <stereotype441 at gmail.com>
    NOTE: This is a candidate for the 9.1 branch.
    (cherry picked from commit 62a18da34153dd0e167a2944fc00812c1471c0fb)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4ae5638864acec64e3dc3369224db2ee456a87b9
Author: Marek Olšák <maraeo at gmail.com>
Date:   Sun Apr 7 00:19:06 2013 +0200

    mesa: fix glGet queries depending on derived framebuffer state (v2)
    
    "ctx->DrawBuffer->Visual" might be invalid if (NewState &_NEW_BUFFERS) != 0.
    
    v2: also fix:
        - RGBA_INTEGER_MODE_EXT
        - RGBA_FLOAT_MODE_ARB (also check API support)
        - FRAMEBUFFER_SRGB_CAPABLE_EXT
    
    NOTE: This is a candidate for stable branches.
    
    Reviewed-by: Eric Anholt <eric at anholt.net>
    (cherry picked from commit b6475f9437bbd080524b0b871a12c681dfc82f06)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7c6d62a670211383088ad9c4ffbf952ee70fd292
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Tue Apr 9 10:37:16 2013 -0700

    glsl/linker: Reduce scope of non-flat integer varying fix.
    
    In the mailing list discussion of "glsl/linker: fix varying packing
    for non-flat integer varyings." (commit 7862bde), we concluded that
    since the bug only applies to integral variables, it is safer to just
    apply the bug fix to integer varyings.  I forgot to make the change
    before pushing the patch upstream.  (Note: we aren't aware of any bugs
    in commit 7862bde; it just seems wise to be on the safe side).
    
    This patch makes the change.  Assuming commit 7862bde gets
    cherry-picked back to 9.1, this commit should be cherry-picked too.
    
    NOTE: This is a candidate for the 9.1 release branch.
    (cherry picked from commit 5306af211372c10bb05a3f8d09e6986a76677524)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6e0960e72683e964753f73068345ad115a21bbdd
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Sat Apr 6 10:50:46 2013 -0700

    glsl/linker: Adapt flat varying handling in preparation for geometry shaders.
    
    When a varying is consumed by transform feedback, but is not used by
    the fragment shader, assign_varying_locations() sets its interpolation
    type to "flat" in order to ensure that lower_packed_varyings never has
    to deal with non-flat integral varyings (the GLSL spec doesn't require
    integral vertex outputs to be flat if they aren't consumed by the
    fragment shader).
    
    A similar situation will arise when geometry shader support is added,
    since the GLSL spec only requires integral vertex shader outputs to be
    flat when they are consumed by the fragment shader.  This patch
    modifies the linker to handle this situation too.
    
    Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
    (cherry picked from commit 32d2b2aa2c784d9f37de21e0ed973e5ee1edb658)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0b2fa0eec697732817b08392e35879bb98da38a2
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Sat Apr 6 10:33:25 2013 -0700

    glsl: Document lower_packed_varyings' "flat" requirement with an assert.
    
    To minimize the variety of type conversions that lower_packed_varyings
    needs to perform, it assumes that integral varyings are always
    qualified as "flat".  link_varyings.cpp takes care of ensuring that
    this is the case (even in the circumstances where GLSL doesn't require
    it).
    
    This patch documents the assumption with an assertion, for ease in
    future debugging.
    
    Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
    (cherry picked from commit 8687c40c2dde6cd64f67396333765f6aa9c82f6a)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=bd8d257ef3a81613efa7cb37823eea148d09831c
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Sat Apr 6 09:36:06 2013 -0700

    glsl/linker: fix varying packing for non-flat integer varyings.
    
    Commit dfb57e7 (glsl: Fix error checking on "flat" keyword to match
    GLSL ES 3.00, GLSL 1.50) relaxed the rules for integral varyings: they
    only need to be declared as "flat" if they are a fragment shader
    inputs.  This allowed for the possibility of a vertex shader output
    being a non-flat integer, provided that it was not matched to a
    fragment shader input.  A non-contrived situation where this might
    arise is if a vertex shader generates some integral outputs which are
    consumed by tranform feedback, but not by the fragment shader.
    
    Unfortunately, lower_packed_varyings assumes that *all* integral
    varyings are flat, regardless of whether they are consumed by the
    fragment shader.  As a result, attempting to create a non-flat
    integral vertex output of a size that required packing (i.e. a size
    other than ivec4 or uvec4) would cause an assertion failure in
    lower_packed_varyings.
    
    This patch prevents the assertion failure by forcing vertex shader
    outputs to be "flat" whenever they are not consumed by the fragment
    shader.  This should have no effect on rendering since the "flat"
    keyword only affects the behaviour of fragment shader inputs.
    
    Fixes piglit test "spec/EXT_transform_feedback/nonflat-integral".
    
    NOTE: This is a candidate for the 9.1 release branch.
    
    Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
    (cherry picked from commit 7862bde8af1f63cfe921977ecb112f88885c92a9)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=509054eb259175de5699a9155046c1e0bdf905f7
Author: Chris Forbes <chrisf at ijw.co.nz>
Date:   Mon Apr 1 12:51:59 2013 +1300

    mesa: don't memcmp() off the end of a cache key.
    
    Reported-by: `per` in #intel-gfx
    
    The size of the cache key varies, so store the actual size as well as
    the key blob itself, rather than just assuming it's the same as the size
    passed in.
    
    NOTE: This is a candidate for stable branches.
    
    V2: Don't leave silly holes in structure; use unsigned instead of GLuint.
    V3: Fix missing case for `last` match.
    
    Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
    Reviewed-by: Paul Berry <stereotype441 at gmail.com>
    (cherry picked from commit c4629ad3f9440ec7ad3d9f4881d0aba41a93f2f5)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=df4e6650e3291a7b39dd42a8aafb3e87de0da9c8
Author: Brian Paul <brianp at vmware.com>
Date:   Fri Apr 5 11:21:09 2013 -0600

    gallium/u_blitter: fix is_blit_generic_supported() stencil checking
    
    Don't check if there's sampler support for stencil if we're not
    going to actually blit/copy stencil values.  Fixes the case where
    we mistakenly said we can't support a blit of depth values from
    S8Z24 to X8Z24.
    
    Also, rename the is_stencil variable to dst_has_stencil to improve
    readability.
    
    NOTE: This is a candidate for the stable branches.
    
    Reviewed-by: Marek Olšák <maraeo at gmail.com>
    Reviewed-by: José Fonseca <jfonseca at vmware.com>
    (cherry picked from commit de99b6d1170277e228dfd3b22297554619169ebf)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=cc53944c2677478d717fba7f817f9c16ef3795d9
Author: Alexander Monakov <amonakov at ispras.ru>
Date:   Tue Apr 2 01:38:27 2013 +0400

    Honor GLX_DONT_CARE in MATCH_MASK
    
    NOTE: This is a candidate for stable branches.
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=47478
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=62999
    Bugzilla: http://bugs.winehq.org/show_bug.cgi?id=26763
    (cherry picked from commit 9cda3560048e8595d3ffa315b76487f4479bff2c)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=acc3561ccac770bdce09f8c433aec8fed6929141
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Apr 2 10:29:37 2013 -0700

    i965: Fix stencil write enable flag in 3DSTATE_DEPTH_BUFFER on Gen7+.
    
    ctx->Stencil.WriteMask is a statically sized array of 3 elements.
    Checking it against 0 actually is a NULL check, and can never fail,
    which meant that we always said stencil writes were enabled.
    
    Use the new core Mesa derived state flag to fix this.
    
    NOTE: This is a candidate for stable branches.
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Paul Berry <stereotype441 at gmail.com>
    (cherry picked from commit 01bd29d681c68c8b5b23dfc8f92a3ff25c51a069)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=671e4e6b9e99e18968b9b689c2997283cc8293c2
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Tue Mar 26 13:24:43 2013 -0700

    i965: Reduce code duplication in handling of depth, stencil, and HiZ.
    
    This patch consolidates duplicate code in the brw_depthbuffer and
    gen7_depthbuffer state atoms.  Previously, these state atoms contained
    5 chunks of code for emitting the _3DSTATE_DEPTH_BUFFER packet (3 for
    Gen4-6 and 2 for Gen7).  Also a lot of logic for determining the
    appropriate buffer setup was duplicated between the Gen4-6 and Gen7
    functions.
    
    This refactor splits the code into three separate functions:
    brw_emit_depthbuffer(), which determines the appropriate buffer setup
    in a mostly generation-independent way, brw_emit_depth_stencil_hiz(),
    which emits the appropriate state packets for Gen4-6, and
    gen7_emit_depth_stencil_hiz(), which emits the appropriate state
    packets for Gen7.
    
    Tested using Piglit on Gen5-7 (no regressions).
    
    v2: Re-word some comments.  Fix an assertion that incorrectly
    prohibited packed depth/stencil formats on Gen6 (these are allowed
    provided that HiZ is disabled).
    
    Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    (cherry picked from commit 41e4bccc754bf3942255630ddd03601b95096c03)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ae79402dba2ad2c6573ffb67c7f280f00291addd
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Apr 2 10:22:18 2013 -0700

    mesa: Add new ctx->Stencil._WriteEnabled derived state flag.
    
    i965 needs to know whether stencil writes are enabled in several places,
    and gets the test wrong sometimes.  While we could create a function to
    compute this, it seems generally useful enough to warrant a new piece of
    derived state.  Also, all the plumbing is already in place.
    
    NOTE: This is a candidate for stable branches.
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Paul Berry <stereotype441 at gmail.com>
    (cherry picked from commit 1e3235d36e45ee7565d322971dfa179f48d79767)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2708dc5e880ea3e25a2dec7490335a27d0cbadab
Author: Marek Olšák <maraeo at gmail.com>
Date:   Tue Apr 2 18:47:06 2013 -0400

    radeonsi: add more cases for copying unsupported formats to resource_copy_region
    
    Ported from r600g commit:
    
    8891b2f9c91b2f6c8625184c23a10b8e55875dc0
    
    Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>
    Reviewed-by: Christian König <christian.koenig at amd.com>
    
    NOTE: This is a candidate for the 9.1 branch.
    (cherry picked from commit ff01e0db0e45b47b6012e7c28f331a4a8e518df9)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c5a1eabaf2b8106f6d5611c48281dc7614e11984
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Fri Mar 29 13:34:51 2013 -0700

    glsl: Fix array indexing when constant folding built-in functions.
    
    Mesa constant-folds built-in functions by using a miniature GLSL
    interpreter (see
    ir_function_signature::constant_expression_evaluate_expression_list()).
    This interpreter had a bug in its handling of array indexing, which
    caused expressions like "m[i][j]" (where m is a matrix) to be handled
    incorrectly.  Specifically, it incorrectly treated j as indexing into
    the whole matrix (rather than indexing just into the vector m[i]); as
    a result the offset computed for m[i] was lost and m[i][j] was treated
    as m[j][0].
    
    Fixes piglit tests inverse-mat[234].{vert,frag}.
    
    NOTE: This is a candidate for the 9.1 and 9.0 branches.
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=57436
    (cherry picked from commit 7d4f1e6467a1b28ea6b0453ef9cd0254b3d57c19)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7c6472410a9625b3dadd44f987cc6a97fcecc883
Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Wed Mar 27 12:43:32 2013 +0100

    radeonsi: Handle arbitrary 2-byte formats in resource_copy_region
    
    Fixes mplayer -vo vdpau OSD.
    
    NOTE: This is a candidate for the 9.1 branch.
    
    Reported-by: Igor Vagulin <igor.vagulin at gmail.com>
    
    Reviewed-by: Christian König <christian.koenig at amd.com>
    Tested-by: Christian König <christian.koenig at amd.com>
    (cherry picked from commit c6efb4870b7c735e4dc1907dfdfd1be3159dc451)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=09f5ee9918b7db53cffe6ad6857d19ab8258f072
Author: Maarten Lankhorst <maarten.lankhorst at canonical.com>
Date:   Sun Mar 24 14:37:41 2013 +0100

    nvc0: Fix fd leak in nvc0_create_decoder
    
    NOTE: This is a candidate for the 9.0 and 9.1 branches.
    
    Signed-off-by: Maarten Lankhorst <maarten.lankhorst at canonical.com>
    (cherry picked from commit 6d20c646d600518a67f6fb93ea0c71d03e65d74a)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=46ac963a23bd7cb17b139f0a110b2d06228852fd
Author: Aras Pranckevicius <aras at unity3d.com>
Date:   Fri Mar 1 12:05:11 2013 +0200

    GLSL: fix lower_jumps to report progress properly
    
    A fix for lower_jumps progress reporting, very much like similar in
    c1e591eed.
    
    NOTE: This is a candidate for stable branches.
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
    (cherry picked from commit b2eee0869fde2d0ade19005524147c035ad764ea)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ee561e0927585b24c62414f75880ce9d66a5512d
Author: Eric Anholt <eric at anholt.net>
Date:   Mon Mar 18 11:26:17 2013 -0700

    i965/fs: Clean up the setup of gen4 simd16 message destinations.
    
    I think this makes it much more obvious what's going on here.
    
    NOTE: This is a candidate for the 9.1 branch.
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    (cherry picked from commit 8edc7cbe645b650bcb4e7fa190c9322c289ec177)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=724269bb325e659457f1e816ea99f9d772f1b9c3
Author: Eric Anholt <eric at anholt.net>
Date:   Fri Mar 15 14:43:28 2013 -0700

    i965/fs: Do CSE on gen7's varying-index pull constant loads.
    
    This is our first CSE on a regs_written() > 1 instruction, so it takes a
    bit of extra fixup.  Reduces the number of loads on kwin's Lanczos shader
    from 12 to 2.
    
    v2: Fix compiler warning (false positive on possibly-uninitialized variable)
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=61554
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org> (v1)
    NOTE: This is a candidate for the 9.1 branch.
    (cherry picked from commit 9f43b8492818bab47ef9cc489b91c2618446a3e9)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f523c0fb210621710242c1611d493defb555ea5a
Author: Eric Anholt <eric at anholt.net>
Date:   Fri Mar 15 14:31:46 2013 -0700

    i965/fs: Avoid inappropriate optimization with regs_written > 1.
    
    Right now we don't have anything with regs_written() > 1 and !inst->mlen,
    but that's about to change.
    
    NOTE: This is a candidate for the 9.1 branch.
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    (cherry picked from commit bc0e1591f64b8b3f2693fceaaa8bba9198e26171)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=52bf09d52cfe71fa6bbf1da1fa6ce4bdaf8cbff2
Author: Eric Anholt <eric at anholt.net>
Date:   Wed Mar 20 10:46:20 2013 -0700

    i965: Make the constant surface interface take a normal byte size.
    
    This puts the rounding-up logic into the function itself instead of all
    the callers having to manage it.  Also drop an "unused" comment in gen4,
    as the stride *is* used for texbos (and will be for uniforms soon).
    
    NOTE: This is a candidate for the 9.1 branch.
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    (cherry picked from commit 2f41a601455e6e0366e28b6b84871842cb4bd341)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7f2a65d896bf51811f213cd9dcd0c6ccd25a1362
Author: Eric Anholt <eric at anholt.net>
Date:   Wed Mar 13 12:27:17 2013 -0700

    i965/fs: Move varying uniform offset compuation into the helper func.
    
    I'm going to want to change the math for gen7 using sampler LD
    instructions in a way that gets CSE to occur like we'd hope.
    
    NOTE: This is a candidate for the 9.1 branch.
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    (cherry picked from commit 8c694dfe6478ce9355c866ae70db45e49e499de3)




More information about the mesa-commit mailing list