Mesa (8.0): 26 new commits

Ian Romanick idr at kemper.freedesktop.org
Tue Jan 24 15:40:53 PST 2012


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8e42dadf70ea2d359ef2c6d07a9a4da6d0b8e2da
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Fri Jan 20 03:33:40 2012 -0800

    i965: Fix border color on Sandybridge and Ivybridge.
    
    While reading through the simulator, I found some interesting code that
    looks like it checks the sampler default color pointer against the bound
    set in STATE_BASE_ADDRESS.  On failure, it appears to program it to the
    base address itself.
    
    So I decided to try programming a legitimate bound, and lo and behold,
    border color worked.
    
    +92 piglits on Sandybridge.  Also fixes Lightsmark on Ivybridge.
    
    NOTE: This is a candidate for stable release branches.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=28924
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=38868
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Yuanhan Liu <yuanhan.liu at linux.intel.com>
    Reviewed-by: Eric Anholt <eric at anholt.net>
    (cherry picked from commit c25e5300cba7628b58df93ead14ebc3cc32f338c)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0b6003af71803db69a4911955026b93a552635e6
Author: Vinson Lee <vlee at freedesktop.org>
Date:   Mon Jan 16 18:01:22 2012 -0800

    glsl: Fix 'control reaches end of non-void function' warning.
    
    Fix this GCC warning on non-debug builds.
    glsl_types.cpp: In member function 'gl_texture_index
    glsl_type::sampler_index() const':
    glsl_types.cpp:157: warning: control reaches end of non-void function
    
    NOTE: This is a candidate for the 8.0 branch.
    
    Signed-off-by: Vinson Lee <vlee at freedesktop.org>
    Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    (cherry picked from commit e9bcf4d56b8ae128204fb95693c6f81a6b724052)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d8f66afa5d1cdb42677f5d170b99fa2ed9a1ef81
Author: Chad Versace <chad.versace at linux.intel.com>
Date:   Tue Jan 17 12:01:34 2012 -0800

    mesa: Loosen glBlitFramebuffer restrictions on depthstencil buffers (v2)
    
    This loosens the format validation in glBlitFramebuffer. When blitting
    depth bits, don't require an exact match between the depth formats; only
    require that the two formats have the same number of depth bits and the
    same depth datatype (float vs uint). Ditto for stencil.
    
    Between S8_Z24 buffers, the EXT_framebuffer_blit spec allows
    glBlitFramebuffer to blit the depth and stencil bits separately. So I see
    no reason to prevent blitting the depth bits between X8_Z24 and S8_Z24 or
    the stencil bits between S8 and S8_Z24. However, we of course don't want
    to allow blitting from Z32 to Z32_FLOAT.
    
    Fixes Piglit fbo/fbo-blit-d24s8 on Intel drivers with separate stencil
    enabled.
    
    The problem was that, on Intel drivers with separate stencil, the default
    framebuffer has separate depth and stencil buffers with formats X8_Z24 and
    S8. The test attempts to blit the depth bits from a S8_Z24 buffer into the
    default framebuffer.
    
    v2: Check that depth datatypes match.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44665
    Note: This is a candidate for the 8.0 branch.
    Reported-by: Xunx Fang <xunx.fang at intel.com>
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
    Signed-off-by: Chad Versace <chad.versace at linux.intel.com>
    (cherry picked from commit f74d8aacbf2f6d140381e272d17c31162a3481b3)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=09b6308a2deadd3b2ea7b11ec44cd0f437454d40
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Tue Jan 17 10:28:10 2012 -0800

    glsl: Fix isinf() for non-C99-compliant compilers.
    
    Commit ede60bc4670a8d9c14921c77abee1ac57fc0e6bf (glsl: Add isinf() and
    isnan() builtins) uses "+INF" in the .ir file to represent infinity.
    This worked on C99-compliant compilers, since the s-expression reader
    uses strtod() to read numbers, and C99 requires strtod() to understand
    "+INF".  However, it didn't work on non-C99-compliant compilers such
    as MSVC.
    
    This patch modifies the s-expression reader to explicitly check for
    "+INF" rather than relying on strtod() to support it.
    
    This is a candidate for the 8.0 branch.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44767
    Tested-by: Morgan Armand <morgan.devel at gmail.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    (cherry picked from commit 4f82fed49359676fc19598f8c65ca51958dd2d79)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=30e9bfd84ad64655a5ed0d1f84f5877cb3ae1b5a
Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Tue Jan 17 16:24:05 2012 -0800

    mesa: Set default access flags based on the run-time API
    
    The default access flags for OpenGL ES (via GL_OES_map_buffer) and
    desktop OpenGL are different.  The code previously tried to handle
    this, but the decision was made at compile time.  Since the same
    driver binary can be used for both OpenGL ES and desktop OpenGL, the
    decision must be made at run-time.
    
    This should fix bug #44433.  It appears that the test case does
    various map and unmap operations and inspects the state of the buffer
    object around each.  When it sees that GL_BUFFER_ACCESS does not match
    its expectations, it fails.
    
    NOTE: This is a candidate for release branches.
    
    Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
    Reviewed-by: Brian Paul <brianp at vmware.com>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44433
    (cherry picked from commit f0ea46790f8f4df9a39b0cfab5c5f1bf02c136fc)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=aa00ccdc0285a65c1162b0819cbabae1689827f1
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Wed Jan 18 00:55:12 2012 -0800

    i965: Fix disassembly of data port writes on Ivybridge.
    
    msg_type moved by a bit, so the message type was being disassembled
    incorrectly.  In particular, render target writes were showing up as
    "OWORD block write".
    
    NOTE: This is a candidate for stable release branches.
    
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    (cherry picked from commit dcdfd1905c8012fe0a90e553f2a894c12cf144cf)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a62a4f77e8bbe4a66670d65a8a3707f78272dfd1
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Wed Jan 18 00:50:31 2012 -0800

    i965: Fix disassembly of sampler messages on Ivybridge.
    
    Compared to sampler_gen5, simd_mode shifted by a bit and msg_type grew
    by a bit.  So we were printing slightly incorrect numbers.
    
    NOTE: This is a candidate for stable release branches.
    
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    (cherry picked from commit a608be5d3333244f5357c459135b17b4c2298e18)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2fae4d26f3b55c59ad7a2b7f1e958933b7f7c7e7
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Wed Jan 18 04:53:40 2012 -0800

    i965/vs: Take attributes into account when deciding urb_entry_size.
    
    Both the VF and VS share space in the URB.  First, the VF stores
    attributes (shader inputs) there.  The VS then reads the attributes,
    executes, and reuses the space to store varyings (shader outputs).
    
    Thus, we need to calculate the amount of URB space necessary for inputs,
    outputs, and pick whichever is greater.
    
    The old VS backend correctly did this (brw_vs_emit.c:408), but the new
    VS backend only considered outputs.
    
    Fixes vertex scrambling in GLBenchmark PRO on Ivybridge.
    
    NOTE: This is a candidate for the 8.0 branch.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41318
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Eric Anholt <eric at anholt.net>
    (cherry picked from commit 2e712e41db0c0676e9f30fc73172c0e8de8d84d4)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=759da0cb564ba6f765fc86f6ab207f35a224ebc2
Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Tue Jan 17 12:41:15 2012 -0800

    intel: Set depth to 6 for cubemaps
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41216
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=43212
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=43250
    Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
    Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Cc: Jin Yang <jin.a.yang at intel.com>
    (cherry picked from commit 8a472427559ea33186c71dfbab8254651fec3077)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4dbc544bb1e3a15653c0e1fd67c4fd477314c251
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Nov 17 17:11:00 2011 -0800

    i965: Add support for Z16 depth formats.
    
    This is a squash of the following two commits.  The first caused a
    regression on SNB systems without a HiZ capable DDX, and the second
    fixes that regression.
    
        i965: Add support for Z16 depth formats.
    
        v2: Don't flag the format as being HiZ ready (there's DRI2 handshake
            pain to go through).
    
        Fixes piglit gl-3.0-required-sized-texture-formats
    
        NOTE: This is a candidate for the 8.0 branch.
    
        Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
        Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
        (cherry picked from commit 2f868f1ddd636bc8d4cbcd5beeef1246cec80c65)
    
        intel/gen6: Some framebuffers having separate depthstencil should be unsupported
    
        When the framebuffer has separate depth and stencil buffers, and HiZ is
        not enabled on the depth buffer, mark the framebuffer as unsupported. This
        happens when trying to create a framebuffer with Z16/S8 because we haven't
        enabled HiZ on Z16 yet.
    
        Fixes gles2conform test stencil8.
    
        Note: This is a candiate for the 8.0 branch.
        Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44948
        Reviewed-and-tested-by: Ian Romanick <ian.d.romanick at intel.com>
        Reviewed--by: Eric Anholt <eric at anholt.net>
        Signed-off-by: Chad Versace <chad.versace at linux.intel.com>
        (cherry picked from commit ba5252e590782a77b8a46d9c0ec4691cf8da6298)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c256fd094b433fdd955c35f66ad4794a4017b65f
Author: Eric Anholt <eric at anholt.net>
Date:   Tue Jan 17 11:28:56 2012 -0800

    i965/gen7: Set up surface horizontal alignment field.
    
    This is required for Z16 support for texturing, which is the first
    thing to have a horizontal alignment of 8.  Renderbuffers don't need
    it, since they're always set up as the only mip level, but do it for
    completeness anyway.
    
    NOTE: This is a candidate for the 8.0 branch.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
    (cherry picked from commit f0d5c92a4c9d5057d727819e501d80c5dfcdf76e)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f0662ee6095b8c35e7788882c84f7c276c4bde3a
Author: Eric Anholt <eric at anholt.net>
Date:   Tue Jan 17 11:27:11 2012 -0800

    i965/gen7: Remove stale comment.
    
    This field is actually set up above.
    
    NOTE: This is a candidate for the 8.0 branch, to avoid conflicts.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
    (cherry picked from commit fc767ff59056a418a1c573261f0d04a329278ee8)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=99c0aeb3db39f10d53fab6ee88d08ea91f8a6550
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Jan 12 13:16:33 2012 -0800

    glsl: Fix leak of linked uniform names at relink/free of the shader_program.
    
    NOTE: This is a candidate for the 8.0 branch.
    (cherry picked from commit aad3a46ff453d33cb3df909903d261f67b452d31)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7861ccbe238033614d9c96caab24b5bbfce8fe06
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Jan 12 13:10:26 2012 -0800

    glsl: Fix leak of LinkedTransformFeedback.Varyings.
    
    I copy-and-pasted the thing I was allocating for as the context, so
    the first time it would be NULL (root of a ralloc context) and they'd
    chain off each other from then on.
    
    NOTE: This is a candidate for the 8.0 branch.
    (cherry picked from commit 5a0f395bcf70e524492e766a07cf0b816b42a20d)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=bffefc3d27c74dc25987405c6f94d7bc7f67acf6
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Jan 12 13:08:22 2012 -0800

    mesa: Fix leak of uniform storage records on shader program link/free.
    
    NOTE: This is a candidate for the 8.0 branch.
    (cherry picked from commit 0f68d88034a9815445ae0a35aacc500f82f33a18)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=531948947e39225d42967521a4bb479f6be5ab72
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Jan 12 13:01:21 2012 -0800

    i965: Fix leak of the program cache BO on context destroy.
    
    NOTE: This is a candidate for the 8.0 branch.
    (cherry picked from commit cbd464a117317f276b65cbca69d6339166581bf7)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=decf80c621af1e5ce8c923bf073802e0e23b0662
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Jan 12 12:59:15 2012 -0800

    i965/vs: Fix leak of an empty hash_table structure per compile.
    
    This statement got duplicated above, probably in a rebase resolution,
    so we never freed the extra one.
    
    NOTE: This is a candidate for the 8.0 branch.
    (cherry picked from commit 7f278e15ad271daaa08dd2fef84cca5e344d5771)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=812a8eade5f8e25bdbea95d7c1e6e8b42af07d79
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Jan 12 12:55:06 2012 -0800

    i965: Fix refcount leak of the gl_program structure.
    
    Fixes a leak of almost 200kb on a minimal shader_runner program
    (algebraic-add-add-1).
    
    NOTE: This is a candidate for the 8.0 branch.
    (cherry picked from commit b2be4869624443cd9769bd696b11dd587494b62a)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=230f6e7ddc643e3c1aade95bf6e1934e3dff9061
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Jan 12 12:51:34 2012 -0800

    mesa: Make the register allocator allocation take a ralloc context.
    
    This fixes a memory leak on i965 context destruction.
    
    NOTE: This is a candidate for the 8.0 branch.
    (cherry picked from commit b972744c78e45928876ea781b9eeef09b3baf083)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=655b36d1d563abc17a5339886c313f358fa70b00
Author: Brian Paul <brianp at vmware.com>
Date:   Tue Jan 17 08:12:30 2012 -0700

    mesa: use GL_MAP_INVALIDATE_RANGE_BIT in glTexImage paths
    
    Update the dd.h docs to indicate that GL_MAP_INVALIDATE_RANGE_BIT
    can be used with GL_MAP_WRITE_BIT when mapping renderbuffers and
    texture images.
    
    Pass the flag when mapping texture images for glTexImage, glTexSubImage,
    etc.  It's up to drivers whether to actually make use of the flag.
    
    NOTE: This is a candidate for the 8.0 branch.
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
    (cherry picked from commit 64fdfefb9d1136c5f98f3e3b2ba716c224a4d792)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7a11d201e71cc519f5290bc5e399d65e4d5bb65d
Author: Brian Paul <brianp at vmware.com>
Date:   Mon Jan 16 10:08:08 2012 -0700

    mesa: try RGBA_FLOAT16 before RGBA_FLOAT32 when choosing A,L,LA,I formats
    
    To try to use less tex memory and maybe get better performance.
    Spotted by Roland Scheidegger.
    
    NOTE: This is a candidate for the 8.0 and 7.11 branches.
    
    Reviewed-by: José Fonseca <jfonseca at vmware.com>
    (cherry picked from commit 1d7048f12e7e2e8f42d27aa665f7134f8f10cf4e)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dd73100c248341383c9e90c5bb273ac224fc10ac
Author: Brian Paul <brianp at vmware.com>
Date:   Mon Jan 16 09:05:05 2012 -0700

    mesa: fix tex format selection for GL_R32F and other R/G float formats
    
    The i965 driver advertises GL_ARB_texture_float and GL_ARB_texture_rg
    support but the ctx->TextureFormatSupported[] table entries for
    MESA_FORMAT_R_FLOAT32 and MESA_FORMAT_RGBA_FLOAT32 are false on gen 4
    hardware.  So the case for GL_R32F would fail and we'd print an
    implementation error.
    
    This patch adds more Mesa tex format options for GL_R32F and other R/G
    formats so we fall back to 16-bit formats when 32-bit formats aren't
    available.
    
    Eric made the same fix in commit 6216a5b4 for the non R/G formats.
    
    v2: try 16-bit formats before 32-bit formats and try RG formats before
    RGBA where possible.
    
    This should fix https://bugs.freedesktop.org/show_bug.cgi?id=44039
    
    NOTE: This is a candidate for the 8.0 and 7.11 branches.
    
    Reviewed-by: José Fonseca <jfonseca at vmware.com>
    Reviewed-by: Roland Scheidegger <sroland at vmware.com>
    (cherry picked from commit 7628696004515074594d4fdac4e422c81c86b32c)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5f25e0a39cb5111c1d36813a28ee283db683ae07
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Jan 17 08:08:25 2012 -0800

    i965: Bump Ivybridge's fake MRF range to g112-127 instead of g111-126.
    
    When I originally implemented the hack to use GRFs 111+ as fake MRFs, I
    did so purely to avoid rewriting all the code that dealt with MRFs.
    However, it turns out that a similar hack is actually required.
    
    Newly discovered language in the BSpec indicates that SEND instructions
    with EOT set "should" use g112-g127 as their source registers.  Based on
    assertions in the simulator, this is actually a requirement on certain
    platforms.
    
    Since we're faking MRFs already, we may as well use the officially
    sanctioned range.  My guess is that we avoided this issue because we
    seldom use m0: URB writes in the new VS backend start at m1, and RT
    writes in the new FS backend start at m2.
    
    NOTE: This is a candidate for stable release branches.
    
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Eric Anholt <eric at anholt.net>
    (cherry picked from commit 5acc7f38d42859db459567d4442c18764a4072e7)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f48e6748a719968dd0b959c00f3d89eb7d4c6e82
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date:   Tue Jan 17 13:21:52 2012 -0800

    intel: Return if pointer to intel_context is null
    
    It is better to test if(intel == NULL) and simply return in that case.
    
    Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
    Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
    (cherry picked from commit ce1c949b162260cec84431913f7aac83cb1b938e)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=68a9cd6fa1854709e17e171be14ad70de0c69e7b
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Jan 12 14:32:50 2012 -0800

    intel: Fix warnings of undefined ffs().
    
    For some reason these started showing up with the automake conversion.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
    Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
    (cherry picked from commit ccf0d31a210baf062dcc0e0c19527cdbbade0ac9)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=907495465a7cb32881967c8b87759c4e59dd0935
Author: Chad Versace <chad.versace at linux.intel.com>
Date:   Fri Jan 13 10:26:01 2012 -0800

    i965: Comment gen6_hiz_get_framebuffer_enum()
    
    Make the comments precise. Explain why each branch is needed and correct.
    Document the potential pitfall in the true-branch.
    
    Signed-off-by: Chad Versace <chad.versace at linux.intel.com>
    (cherry picked from commit e13c99a0043854cb286c773faa891a3115cd0a68)



More information about the mesa-commit mailing list