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