Mesa (17.1): 34 new commits

Emil Velikov evelikov at kemper.freedesktop.org
Mon May 1 11:59:45 UTC 2017


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=72e52fa7c817b70fdcc27fca6702fcac9cbc96e8
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Sun Apr 30 09:44:14 2017 +0100

    Update version to 17.1.0-rc3
    
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6ca6d53e1c11c429ce9b4142524ba9b1017bd17a
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Thu Apr 27 17:09:12 2017 +0100

    travis: bump MAKEFLAGS to -j4
    
    The instance should have 2 cores, yet bumping the jobs to 4 should give
    us a minor speed improvement.
    
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    Reviewed-by: Andres Gomez <agomez at igalia.com>
    (cherry picked from commit b1d45c3366034341ce4650b0fb5b5605ae761c00)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5f88ebaf5cad295684f7f3e9b6a79516c3b6de88
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Tue Apr 18 13:57:31 2017 +0100

    travis: enable wayland support
    
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    Reviewed-by: Andres Gomez <agomez at igalia.com>
    (cherry picked from commit 27a0b383b9edbacb177553685272408945ec630c)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f068a360cd15657f4067175a5974e419a6aec01c
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Fri Apr 7 14:06:25 2017 +0100

    travis: add Gallium state-tracker targets
    
    Split into OpenCL and others, since the former is quite time consuming.
    
    v2:
     - explicitly enable/disable components
     - build libvdpau 1.1 requirement
     - enable st/vdpau
     - build libva 1.6.2 (API 0.38) requirement
    
    v3: Drop ubuntu-toolchain-r-test from sources (Andres)
    
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    Reviewed-by: Andres Gomez <agomez at igalia.com>
    (cherry picked from commit 0e6a36cd3f2db7208e85864d4d552f8575200fbe)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e7cafd09baf389bfc369199bd0c3c7447d180b2c
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Fri Apr 28 19:01:33 2017 +0100

    travis: model scons check target like the make one
    
    Should make things a bit more consistent across the board.
    
    Cc: Eric Engestrom <eric at engestrom.ch>
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    Reviewed-by: Andres Gomez <agomez at igalia.com>
    (cherry picked from commit b3f2076549ec2bf13ee8bca965d3bf887abb6f20)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f76068b879734d7fb2b312463f5cb07d65f36222
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Fri Apr 7 12:13:56 2017 +0100

    travis: split the make target to three separate ones
    
    Split the target to allow faster builds for each run.
    
    The overall build time will be more, yet Travis runs multiple builds in
    parallel so we're limited by the slowest one.
    
    Things are split roughly as:
     - DRI loaders, classic DRI drivers, classic OSMesa, make check
     - All Gallium drivers (minus the SWR) alongside st/dri (mesa)
     - The Vulkan drivers - ANV and RADV, make check (anv)
    
    v2:
     - rework RUN_CHECK to MAKE_CHECK_COMMAND
     - explicitly disable DRI loaders
     - generate linux/memfd.h locally and enable ANV
     - add libedit-dev
    
    v3: Use printf to create the header (Andres).
    v4: Really add the libedit + printf hunks.
    
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    Reviewed-by: Andres Gomez <agomez at igalia.com>
    (cherry picked from commit 7e2af374742f6f387cada8c3e1e8585be3831405)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ef6da453f006dd7aa45b3d14b780214ba567c936
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Thu Apr 6 18:01:19 2017 +0100

    travis: add "make swr" to the build matrix
    
    v2: Quote OVERRIDE variables.
    v3: Add missplaced libedit-dev hunk (Andres).
    
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    Reviewed-by: Andres Gomez <agomez at igalia.com>
    (cherry picked from commit 8479fd8a1099c4bf37fb8cded7a3040b4d366fbc)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5b4bff2ddb15d5474655c5e541cb27e13542d53f
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Thu Apr 6 16:23:21 2017 +0100

    travis: add "scons swr" to the build matrix
    
    Requires GCC 5.0 (due to the C++14 requirement) and LLVM 3.9.
    
    v2: Enable the target, add libedit-dev, rework check target.
    v3: Comment the current check target, add -j4 SCONSFLAGS, quote OVERRIDE
    variables.
    v4: Keep check target as-is (Andres)
    
    Cc: Tim Rowley <timothy.o.rowley at intel.com>
    Cc: George Kyriazis <george.kyriazis at intel.com>
    Reviewed-by: George Kyriazis <george.kyriazis at intel.com>
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    Reviewed-by: Andres Gomez <agomez at igalia.com>
    (cherry picked from commit f55d98ac85145fc35e7ee1e41520c07b6f083bb8)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=667cb4bc9e2d80ba3bb850b62ece0865feb4e36a
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Thu Apr 6 14:41:44 2017 +0100

    travis: add separate "scons" and "scons llvm" targets
    
    The former does not require any LLVM, while the latter uses LLVM 3.3.
    
    This way we'll quickly catch any LLVM 3.3+ functionality that gets
    introduced where it shouldn't.
    
    Add the full list of addons for each build permutation.
    
    v2: Keep libedit-dev, rework check target.
    v3: Comment the current check target, add -j4 SCONSFLAGS
    v4:
     - Remove llvm-toolchain-trusty-3.3 source (Andres)
     - Keep check target as-is (Andres)
    
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    Reviewed-by: Andres Gomez <agomez at igalia.com>
    (cherry picked from commit 85ee2c6cfcd5deeca2ee0cf11079afccd6e7324e)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3f0b5447455e8c90c68acc1af584ecbb753e95af
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Thu Apr 6 14:38:40 2017 +0100

    travis: split out matrix from env
    
    With next commits we'll add a couple of more options.
    
    v2: Rework check target.
    v3: Comment the current check target, add -j4 SCONSFLAGS
    v4: Keep check target as-is, will rework with later patch.
    
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    Reviewed-by: Andres Gomez <agomez at igalia.com>
    (cherry picked from commit 56ba252e230dfeb93fad26cdbf5f6247524459c7)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=27d4beb2e12e90fc9a855ec50dd4bca0c273ee38
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Thu Apr 6 14:23:36 2017 +0100

    travis: rework "if test" blocks in the script section
    
    Split the "if test" blocks so that we get more sensible output in case
    of a failure.
    
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    Reviewed-by: Andres Gomez <agomez at igalia.com>
    (cherry picked from commit abcfea23add91ffa7013a3c862712cfdaefcf8b0)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5e8e015db32c53d2d16c0439ebd6fb52bb51ff2e
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Thu Apr 6 14:09:58 2017 +0100

    travis: remove unused -dev packages
    
    We effectively override libdrm-dev and libxcb-dri2-0-dev since we build
    and install the package locally.
    
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    Reviewed-by: Andres Gomez <agomez at igalia.com>
    (cherry picked from commit ae713a7b79f60b45befea7c40b6d2aa3d3789441)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=135615caa07f3ac1a7154b91e7efc887e5cdc863
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Thu Apr 6 14:02:38 2017 +0100

    travis: automatically manage ccache caching
    
    According to the manual
    
    "If you are using ccache, use:
    
      language: c # or other C/C++ variants
    
      cache: ccache
    
    to cache $HOME/.ccache and automatically add /usr/lib/ccache to your
    $PATH."
    
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    Reviewed-by: Andres Gomez <agomez at igalia.com>
    (cherry picked from commit 6431b98c54ea2dc0c0f716b5f4a19af45a3b67f3)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2acd78cfab83fbc97e1bb238f05f7269685f6c3e
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Thu Apr 6 16:36:59 2017 +0100

    travis: enable apt cache
    
    Provides a small, but consistent improvement.
    Example numbers of the jobs added later in the series.
    
    "make loaders/classic DRI" - 1s
    "scons SWR" - 6s
    
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    Reviewed-by: Andres Gomez <agomez at igalia.com>
    (cherry picked from commit 486f28ba88259cc70ee59ad67b2b4277b0da0ce4)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=642228ceaf9b7e6a493ec19e4c707f1088680aba
Author: Andres Gomez <agomez at igalia.com>
Date:   Fri Apr 7 15:16:21 2017 +0300

    travis: add the possibility of using the txc-dxtn library
    
    The txc-dxtn library implements the patented S3 Texture Compression
    algorithm.
    
    By default it won't be used but we add the possibility of setting the
    USE_TXC_DXTN variable to yes in the travis web UI so it will be
    installed and used for the scons tests.
    
    Cc: Eric Anholt <eric at anholt.net>
    Cc: Rhys Kidd <rhyskidd at gmail.com>
    Signed-off-by: Andres Gomez <agomez at igalia.com>
    [Emil Velikov: keep the LIB prefix, drop the LD_LIBRARY_PATH, fold URL]
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    (cherry picked from commit 29322daef2b77c4d869d2945fa1226e6b433c687)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=12e7ec2c05f7beb4ce4fa726baf8877eb89165c1
Author: Andres Gomez <agomez at igalia.com>
Date:   Wed Apr 5 20:27:30 2017 +0300

    travis: replace Trusty-based LLVM toolchain apt-get with apt addon
    
    Trusty's LLVM toochain repository was whitelisted some time ago. See:
    https://github.com/travis-ci/apt-source-whitelist/commit/479067c5e74cb0c1e2419209179b1afe2edce274
    
    Signed-off-by: Andres Gomez <agomez at igalia.com>
    [Emil Velikov]
     - set sudo to false
     - reference the Trusty change (Rhys)
     - keep libedit-dev
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    (cherry picked from commit 7819d265c79ceb1bfcadb7b5e9c1586de5b6aac8)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f2d91f2065f739321d9de9bb1d66a7ee1c6dbd80
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Thu Apr 6 13:32:36 2017 +0100

    travis: explicitly LD_LIBRARY_PATH the local libraries
    
    Some of the libraries may be dlopened, which may not always work due to
    the non-standard prefix that we're using.
    
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    Reviewed-by: Andres Gomez <agomez at igalia.com>
    (cherry picked from commit cb820daa3ff2dcd697144150e2a9daf1a8898117)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9a97d9081d9f8efba439b732afbb31a8213fd9f5
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon Feb 27 17:31:05 2017 -0800

    anv/cmd_buffer: Use the device allocator for QueueSubmit
    
    The command is really operating on a Queue not a command buffer and the
    nearest object to that with an allocator is VkDevice.
    
    Reviewed-by: Chad Versace <chadversary at chromium.org>
    Cc: "17.0 17.1" <mesa-dev at lists.freedesktop.org>
    (cherry picked from commit bd3a9813b92bd2e116b58f0932bc7f1f722a9f63)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a7209631404438a8a13f44933a84975a9d1889f9
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date:   Tue Apr 18 00:00:40 2017 -0400

    gallium/targets: fix bool setting on BE architectures
    
    val_bool and val_int are in a union. val_bool gets the first byte, which
    happens to work on LE when setting via the int, but breaks on BE. By
    setting the value properly, we are able to use DRI3 on BE architectures.
    Tested by running glxgears with a NV34 in a G5 PPC.
    
    Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
    Cc: mesa-stable at lists.freedesktop.org
    [Emil Velikov: squash the vmwgfx hunk]
    Reviewed-by: Emil Velikov <emil.l.velikov at gmail.com>
    Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>
    (cherry picked from commit 6af14778a3f68030c4ad6426c75fe25d726235d5)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3f0740e87c85974e18a2ebbdd095228637d8f865
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Fri Apr 21 15:06:47 2017 +0200

    st/mesa: don't cast the incomplete framebufer to st_framebuffer
    
    The incomplete framebuffer is set for a surfaceless context. This leads to
    the following error in piglit spec at egl_khr_surfaceless_context@viewport:
    
    ==26703==ERROR: AddressSanitizer: global-buffer-overflow on address 0x7f6886e43240 at pc 0x7f68854db0fd bp 0x7ffca404b3b0 sp 0x7ffca404b3a0
    READ of size 8 at 0x7f6886e43240 thread T0
        #0 0x7f68854db0fc in st_viewport ../../../mesa-src/src/mesa/state_tracker/st_cb_viewport.c:57
        #1 0x556840176cdb in main tests/egl/spec/egl_khr_surfaceless_context/viewport.c:101
        #2 0x7f688edcf3f0 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x203f0)
        #3 0x556840176e19 in _start (/home/nha/amd/piglit/bin/egl-surfaceless-context-viewport+0xe19)
    
    0x7f6886e43240 is located 32 bytes to the left of global variable 'DummyRenderbuffer' defined in '../../../mesa-src/src/mesa/main/fbobject.c:69:31' (0x7f6886e43260) of size 112
    0x7f6886e43240 is located 8 bytes to the right of global variable 'IncompleteFramebuffer' defined in '../../../mesa-src/src/mesa/main/fbobject.c:73:30' (0x7f6886e42de0) of size 1112
    SUMMARY: AddressSanitizer: global-buffer-overflow ../../../mesa-src/src/mesa/state_tracker/st_cb_viewport.c:57 in st_viewport
    
    Cc: mesa-stable at lists.freedesktop.org
    Reviewed-by: Marek Olšák <marek at olsak@amd.com>
    (cherry picked from commit 19b61799e3d06795d783b34fdbbf8474ef1e9a7c)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2609ac2b5a27bf029919291aebbbec6cc450fc31
Author: Timothy Arceri <tarceri at itsqueeze.com>
Date:   Fri Apr 28 13:05:52 2017 +1000

    util/disk_cache: remove percentage based max cache limit
    
    The more I think about it the more this seems like a bad idea.
    When we were deleting old cache dirs this wasn't so bad as it
    was unlikely we would ever hit the actual limit before things
    were cleaned up. Now that we only start cleaning up old cache
    items once the limit is reached the a percentage based max
    cache limit is more risky.
    
    For the inital release of shader cache I think its better to
    stick to a more conservative cache limit, at least until we
    have some way of cleaning up the cache more aggressively.
    
    Cc: "17.1" <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>
    (cherry picked from commit 22fa3d90a92c1628215d0f5fccbe1116d4f5147f)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=359782960595fa063660db8c4d4eebcfdb51a56d
Author: Timothy Arceri <tarceri at itsqueeze.com>
Date:   Thu Apr 27 11:15:30 2017 +1000

    disk_cache: use block size rather than file size
    
    The majority of cache files are less than 1kb this resulted in us
    greatly miscalculating the amount of disk space used by the cache.
    
    Using the number of blocks allocated to the file is more
    conservative and less likely to cause issues.
    
    This change will result in cache sizes being miscalculated further
    until old items added with the previous calculation have all been
    removed. However I don't see anyway around that, the previous
    patch should help limit that problem.
    
    Cc: "17.1" <mesa-stable at lists.freedesktop.org>
    Reviewed-and-Tested-by: Michel Dänzer <michel.daenzer at amd.com>
    (cherry picked from commit 4e1f3afea9bdeddb0d21f00d25319bce580d80c3)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=505e7cd2324847ca74c7ef393e5013facdcc6cb5
Author: Timothy Arceri <tarceri at itsqueeze.com>
Date:   Thu Apr 27 11:15:29 2017 +1000

    disk_cache: reduce default cache size to 5% of filesystem
    
    Modern disks are extremely large and are only going to get bigger.
    Usage has shown frequent Mesa upgrades can result in the cache
    growing very fast i.e. wasting a lot of disk space unnecessarily.
    
    5% seems like a more reasonable default.
    
    Cc: "17.1" <mesa-stable at lists.freedesktop.org>
    Acked-by: Michel Dänzer <michel.daenzer at amd.com>
    (cherry picked from commit ce412371513c90bf9156f22c3567ee57750ef264)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=791f0fb429d13ed0bbcdf36c3317e23120113af5
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Sat Apr 22 15:51:01 2017 -0700

    anv: Don't place scratch buffers above the 32-bit boundary
    
    This fixes rendering corruptions in DOOM.  Hopefully, it will also make
    Jenkins a bit more stable as we've been seeing some random failures and
    GPU hangs ever since turning on 48bit.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100620
    Fixes: 651ec926fc1 "anv: Add support for 48-bit addresses"
    Tested-by: Grazvydas Ignotas <notasas at gmail.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Cc: "17.1" <mesa-stable at lists.freedesktop.org>
    (cherry picked from commit c43b4bc85eddba8bc31665cfee5928bed8343516)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f1fe2b30b117590c621fb8d90c93a9357676fd9b
Author: Marek Olšák <marek.olsak at amd.com>
Date:   Sat Apr 22 14:47:03 2017 +0200

    radeonsi: adjust ESGS ring buffer size computation on VI
    
    Cc: 17.0 17.1 <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    (cherry picked from commit 3f2a0649abc982fe5de647a96fbe354aa9e41a59)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ee36cbe2197475892c132412262f471ff432a9f7
Author: Marek Olšák <marek.olsak at amd.com>
Date:   Sun Apr 23 20:29:04 2017 +0200

    radeonsi/gfx9: don't set deprecated field PARTIAL_ES_WAVE_ON
    
    Cc: 17.1 <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    (cherry picked from commit 80814819c28353a38c03d4cdba39983b8cf260ac)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2cd07c39cc74707cc8adfc55218828efb36f5009
Author: Marek Olšák <marek.olsak at amd.com>
Date:   Sun Apr 23 20:14:42 2017 +0200

    radeonsi/gfx9: set MAX_PRIMGRP_IN_WAVE in the correct register
    
    Cc: 17.1 <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    (cherry picked from commit 60a20e6879e4ce0911b12848ffd9e372f096590e)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=76f046add36afab37d15ca3cfcdbe0c822a8fb22
Author: Marek Olšák <marek.olsak at amd.com>
Date:   Mon Apr 24 00:01:06 2017 +0200

    radeonsi/gfx9: add a workaround for viewing a slice of 3D as a 2D image
    
    Cc: 17.1 <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    (cherry picked from commit 8e8570a9e8bae7f4d3ad623475dfadc715a828d7)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=328afc7e8629f4e0b76b6aa02b008d9072f98ca0
Author: Marek Olšák <marek.olsak at amd.com>
Date:   Sun Apr 23 23:29:20 2017 +0200

    radeonsi/gfx9: fix 1D array shader images
    
    Cc: 17.1 <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    (cherry picked from commit 482e6b07cc6ce4b2ceac8188be19dbf252eaecde)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=77345993ecf411a6f7ed900732bb0bb4f6592c2c
Author: Marek Olšák <marek.olsak at amd.com>
Date:   Sun Apr 23 23:06:38 2017 +0200

    radeonsi/gfx9: fix most things wrong with shader images
    
    There are 2 major hw changes:
    - The address must always point to the address of level 0. GFX9 tiling
      modes don't allow binding to a non-0 level.
    - 3D must always be bound as 3D, because 2D and 3D use entirely different
      tiling modes, and the texture target determines which set of modes is
      used.
    
    Cc: 17.1 <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    (cherry picked from commit 5c94779585e24e8bd1bd41707521584af4251de3)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f2673a0f40084bc97541c93f3a15fff23b6b3461
Author: Marek Olšák <marek.olsak at amd.com>
Date:   Sun Apr 23 21:32:22 2017 +0200

    radeonsi/gfx9: fix texture buffer objects and image buffers with IDXEN==0
    
    Cc: 17.1 <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    (cherry picked from commit 65e0c3fba74ee98cacadbba4bd005b930609b65e)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b38423210efb11fab5cbbb1a63f10d32dabf0419
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Thu Apr 20 11:42:27 2017 -0700

    intel/fs: Take into account amount of data read in spilling cost heuristic.
    
    Until now the spilling cost calculation was neglecting the amount of
    data read from the register during the spilling cost calculation.
    This caused it to make suboptimal decisions in some cases leading to
    higher memory bandwidth usage than necessary.
    
    Improves Unigine Heaven performance by ~4% on BDW, reversing an
    unintended FPS regression from my previous commit
    147e71242ce539ff28e282f009c332818c35f5ac with n=12 and statistical
    significance 5%.  In addition SynMark2 OglCSDof performance is
    improved by an additional ~5% on SKL, and a Kerbal Space Program
    apitrace around the Moho planet I can provide on request improves by
    ~20%.
    
    Cc: <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Plamena Manolova <plamena.manolova at intel.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    (cherry picked from commit 58324389be7bc7c5e10093b9cc0a8efa9b4c93a9)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ba6fd491a18695e72b467689d605ecd84419f40f
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Thu Apr 20 11:44:01 2017 -0700

    intel/fs: Use regs_written() in spilling cost heuristic for improved accuracy.
    
    This is what we use later on to compute the number of registers that
    will actually get spilled to memory, so it's more likely to match
    reality than the current open-coded approximation.
    
    Cc: <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Plamena Manolova <plamena.manolova at intel.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    (cherry picked from commit ecc19e12dca95d2571d3761dea6dec24b061013c)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=36f6fc59cb4b61b1128a961d8808428257849adc
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Fri Apr 21 01:28:13 2017 -0700

    i965/vec4: Avoid reswizzling MACH instructions in opt_register_coalesce().
    
    opt_register_coalesce() was optimizing sequences such as:
    
       mul(8) acc0:D, attr18.xyyy:D, attr19.xyyy:D
       mach(8) vgrf5.xy:D, attr18.xyyy:D, attr19.xyyy:D
       mov(8) m4.zw:F, vgrf5.xxxy:F
    
    into:
    
       mul(8) acc0:D, attr18.xyyy:D, attr19.xyyy:D
       mach(8) m4.zw:D, attr18.xxxy:D, attr19.xxxy:D
    
    This doesn't work - if we're going to reswizzle MACH, we'd need to
    reswizzle the MUL as well.  Here, the MUL fills the accumulator's .zw
    components with attr18.yy * attr19.yy.  But the MACH instruction expects
    .z to contain attr18.x * attr19.x.  Bogus results ensue.
    
    No change in shader-db on Haswell.  Prevents regressions in Timothy's
    patches to use enhanced layouts for varying packing (which rearrange
    code just enough to trigger this pre-existing bug, but were fine
    themselves).
    
    Acked-by: Timothy Arceri <tarceri at itsqueeze.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    (cherry picked from commit 2faf227ec2e22c7a37e0a54783a3f0a0062ac852)
    
    Squashed with commit:
    
    i965/vec4: Use reads_accumulator_implicitly(), not MACH checks.
    
    Curro pointed out that I should not just check for MACH, but use
    the reads_accumulator_implicitly() helper, which would also prevent
    the same bug with MAC and SADA2 (if we ever decide to use them).
    
    Cc: mesa-stable at lists.freedesktop.org
    Reviewed-by: Francisco Jerez <currojerez at riseup.net>
    (cherry picked from commit 6b10c37b9c3a73add73f444fe1aee73c9ec82c94)




More information about the mesa-commit mailing list