Mesa (19.2): 23 new commits
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Nov 20 16:56:34 UTC 2019
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f418e9231abb0af9ad10be13fc0038047c53f4f6
Author: Dylan Baker <dylan at pnwbakers.com>
Date: Wed Nov 20 08:54:30 2019 -0800
VERSION: bump for 19.2.5
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9e0a0d2ebb5a11b61735f6511e81db5300572f29
Author: Dylan Baker <dylan at pnwbakers.com>
Date: Wed Nov 20 08:54:10 2019 -0800
docs: Add relnotes for 19.2.5
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e10851ff34c9526ea864d66856f554a1f260c4dc
Author: Jason Ekstrand <jason at jlekstrand.net>
Date: Fri Nov 8 09:33:07 2019 -0600
anv: Stop bounds-checking pushed UBOs
The bounds checking is actually less safe than just pushing the data.
If the bounds checking actually ever kicks in and it's not on the last
UBO push range, then the shrinking will cause all subsequent ranges to
be pushed to the wrong place in the GRF. One of the behaviors we
definitely don't want is for OOB UBO access to result in completely
unrelated UBOs returning garbage values. It's safer to just push the
UBOs as-requested. If we're really concerned about robustness, we can
emit shader code to do bounds checking which should be stupid cheap (a
CMP followed by SEL).
Cc: mesa-stable at lists.freedesktop.org
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=023ddb01b59467180357f7e4f104219e4b533e23
Author: Brian Paul <brianp at vmware.com>
Date: Wed Oct 9 12:05:16 2019 -0600
Call shmget() with permission 0600 instead of 0777
A security advisory (TALOS-2019-0857/CVE-2019-5068) found that
creating shared memory regions with permission mode 0777 could allow
any user to access that memory. Several Mesa drivers use shared-
memory XImages to implement back buffers for improved performance.
This path changes the shmget() calls to use 0600 (user r/w).
Tested with legacy Xlib driver and llvmpipe.
Cc: mesa-stable at lists.freedesktop.org
Reviewed-by: Kristian H. Kristensen <hoegsberg at google.com>
(cherry picked from commit 02c3dad0f3b4d26e0faa5cc51d06bc50d693dcdc)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3199172eaa703ac4c1fc3830c8e49c367725c3b8
Author: Danylo Piliaiev <danylo.piliaiev at globallogic.com>
Date: Thu Nov 14 15:36:27 2019 +0200
i965: Unify CC_STATE and BLEND_STATE atoms on Haswell as a workaround
Re-emitting 3DSTATE_CC_STATE_POINTERS after emitting
3DSTATE_BLEND_STATE_POINTERS fixes the shadow flickering in
SuperTuxCart and Tropico 6 which was seen only on Haswell.
The reason for this is unknown and fix was found empirically.
The closest mention in PRM is that it should improve performance.
From the HSW PRM, volume 2b, page 823 (3DSTATE_BLEND_STATE_POINTERS):
"When the BLEND_STATE pointer changes but not the CC_STATE pointer,
driver needs to force a CC_STATE pointer change to improve
blend performance in pixel backend."
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1834
Fixes: eca4a654 ("i965: Disable dual source blending when shader doesn't support it on gen8+")
Cc: <mesa-stable at lists.freedesktop.org>
Signed-off-by: Danylo Piliaiev <danylo.piliaiev at globallogic.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
(cherry picked from commit 6f17fe0606a144f977d8b70a7ee9f8371abc144b)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ae071434e918586ab88a6533cd4a3b3f3dbd5a1f
Author: Ben Crocker <bcrocker at redhat.com>
Date: Wed Nov 13 20:27:24 2019 +0000
llvmpipe: use ppc64le/ppc64 Large code model for JIT-compiled shaders
Large programs, e.g. gnome-shell and firefox, may tax the
addressability of the Medium code model once a (potentially unbounded)
number of dynamically generated JIT-compiled shader programs are
linked in and relocated. Yet the default code model as of LLVM 8 is
Medium or even Small.
The cost of changing from Medium to Large is negligible:
- an additional 8-byte pointer stored immediately before the shader entrypoint;
- change an add-immediate (addis) instruction to a load (ld).
Testing with WebGL Conformance
(https://www.khronos.org/registry/webgl/sdk/tests/webgl-conformance-tests.html)
yields clean runs with this change (and crashes without it).
Testing with glxgears shows no detectable performance difference.
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1753327, 1753789, 1543572, 1747110, and 1582226
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/223
Co-authored by: Nemanja Ivanovic <nemanjai at ca.ibm.com>, Tom Stellard <tstellar at redhat.com>
CC: mesa-stable at lists.freedesktop.org
Signed-off-by: Ben Crocker <bcrocker at redhat.com>
(cherry picked from commit 9c3be6d21fa6a45852045d0286b80fb420f82fe3)
Conflicts resolved Dylan (PIPE_ARCH -> UTIL_ARCH rename)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=60c299c542d4eea01ee274eae6a38dafdaae2362
Author: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
Date: Mon Nov 4 15:04:20 2019 +0100
radeonsi: fix shader disk cache key
Use unsigned values otherwise signed extension will produce a 64 bits value where
the 32 left-most bits are 1.
Fixes: 2afeed30101 ("radeonsi: tell the shader disk cache what IR is used")
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b5b09acb748ea4666c4587856af65fbe319f5b49
Author: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
Date: Wed Oct 30 14:28:01 2019 +0100
radeonsi: tell the shader disk cache what IR is used
Until 8bef4df196fbb the IR (TGSI or NIR) was used in disk_cache driver_flags.
This commit restores this features to avoid crashing when switching from
one IR to the other.
As radeonsi's default is TGSI, I used "driver_flags & 0x8000000 = 0" for TGSI
to keep the same driver_flags.
Fixes: 8bef4df196f ("radeonsi: add si_debug_options for convenient adding/removing of options")
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=38bd621f0d154f2df623cffacc1d7a69faf331f8
Author: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
Date: Tue Oct 22 10:12:49 2019 +0200
radeonsi: disable sdma for gfx10
Disable sdma on gfx10 until all timeouts bugs are fixed.
See:
https://gitlab.freedesktop.org/mesa/mesa/issues/1907
https://bugs.freedesktop.org/show_bug.cgi?id=111481
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0e7e56aa2fdb13aedd618d2d6227662579f04169
Author: Marek Olšák <marek.olsak at amd.com>
Date: Mon Sep 16 21:19:44 2019 -0400
tgsi_to_nir: handle PIPE_FORMAT_NONE in image opcodes
radeonsi doesn't use the format and internal shaders don't set it.
Reviewed-By: Timur Kristóf <timur.kristof at gmail.com>
(cherry picked from commit f704fb7f0ba5c230ec9558621484acebb927a315)
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2112
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2353a63a584623e968b52cef38715231b4102757
Author: Marek Olšák <marek.olsak at amd.com>
Date: Wed Sep 18 17:34:13 2019 -0400
tgsi_to_nir: fix masked out image loads
This caused a failure in NIR validation.
Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>
Reviewed-by: Eric Anholt <eric at anholt.net>
(cherry picked from commit 3906fce88bb473f283e4b064cc996ea6aa6d2922)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=856c7eddf7814316763be64ea39efa6d900164fb
Author: Illia Iorin <illia.iorin at globallogic.com>
Date: Tue Aug 13 11:57:37 2019 +0300
mesa/main: Ignore filter state for MS texture completeness
After the discussion in
https://github.com/KhronosGroup/OpenGL-API/issues/45
the section 8.17 (texture completeness) of the OpenGL 4.6 core profile
was changed to explicitly say that multisample texture completeness
ignores filter state of the texture.
"Using the preceding definitions, a texture is complete unless any of the
following conditions hold true:
...
- The minification filter requires a mipmap (is neither NEAREST nor LINEAR),
the texture is not multisample, and the texture is not mipmap complete.
- The texture is not multisample; either the magnification filter is not
NEAREST, or the minification filter is neither NEAREST nor NEAREST_-
MIPMAP_NEAREST; and any of
– The internal format of the texture is integer (see table 8.12).
– The internal format is STENCIL_INDEX.
– The internal format is DEPTH_STENCIL, and the value of DEPTH_-
STENCIL_TEXTURE_MODE for the texture is STENCIL_INDEX."
Signed-off-by: Danylo Piliaiev <danylo.piliaiev at globallogic.com>
Signed-off-by: Illia Iorin <illia.iorin at globallogic.com>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
(cherry picked from commit 6b672e342a367c11c23690c5b309617a0b6e9c40)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4c82d426bda6c0674299a12f2b68ed6c807d30c4
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Thu Oct 24 14:41:20 2019 -0700
nir/algebraic: Mark other comparison exact when removing a == a
This prevents some additional optimizations that would change the
original result. This includes things like (b < a && b < c) => b <
min(a, c) and !(a < b) => b >= a. Both of these optimizations were
specifically observed in the piglit tests added in piglit!160.
This was discovered while investigating
https://gitlab.freedesktop.org/mesa/mesa/issues/1958. However, the
problem in that issue was Chrome or Angle is replacing calls to isnan()
with some stuff that we (correctly) optimize to false. If they had left
the calls to isnan() alone, everything would have just worked.
No shader-db changes on any Intel platform.
I also tried marking the comparison generated by the isnan() function
precise. The precise marker "infects" every computation involved in
calculating the parameter to the isnan() function, and this severely
hurt all of the (few) shaders in shader-db that use isnan().
I also considered adding a new ir_unop_isnan opcode that would implement
the functionality. During GLSL IR-to-NIR translation, the resulting
comparison operation would be marked exact (and the samething would need
to happen in SPIR-V translation).
This approach taken by this patch seemed easier, but we may want to do
the ir_unop_isnan thing anyway.
Fixes: d55835b8bdf ("nir/algebraic: Add optimizations for "a == a && a CMP b"")
Reviewed-by: Matt Turner <mattst88 at gmail.com>
Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>
(cherry picked from commit 9be4a422a055d1e829d56c3cc91e1fc2f6e8fb31)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d8a37880b501f927353adc03384d224fc3bb0002
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Thu Oct 24 13:41:59 2019 -0700
nir/algebraic: Add the ability to mark a replacement as exact
Reviewed-by: Matt Turner <mattst88 at gmail.com>
Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>
(cherry picked from commit ea19f2fb68f54171683b6c490b2cd6df96f854c7)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bd2f6150ca495c9a2a24325e8369960efe96370c
Author: Paulo Zanoni <paulo.r.zanoni at intel.com>
Date: Mon Nov 11 16:49:15 2019 -0800
intel/compiler: fix nir_op_{i,u}*32 on ICL
On ICL we have the src1 restriction which is applied through
fix_byte_src() and potentially changes the type of the operands from 8
to 32 bits. When this change happens, we fall into the "else if
(bit_size < 32)" case and miscompute src_type because it takes into
consideration bit_size (8) instead of the adjusted size of temp_op
(32). This results in the shader reading unused memory, giving us
mostly failures, but occasional passes due to whatever was already in
the registers we were reading.
This commit fixes a lot of dEQP subgroup i8vec2 tests on ICL, such as:
dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i8vec2
This can also be verified by simply changing fix_byte_src() to apply
on all platforms.
Fixes: 5847de6e9afe ("intel/compiler: don't use byte operands for src1 on ICL")
Reviewed-by: Ivan Briano <ivan.briano at intel.com>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni at intel.com>
(cherry picked from commit eb6352162dde1445f1fe7a408e79f4ecfdf3703c)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9ffb0176e25905b3d995cb865e2093b12e57b471
Author: Marek Olšák <marek.olsak at amd.com>
Date: Mon Nov 11 17:04:15 2019 -0500
st/mesa: fix Sanctuary and Tropics by disabling ARB_gpu_shader5 for them
They use the "sample" keyword as a variable name.
Cc: 19.2 19.3 <mesa-stable at lists.freedesktop.org>
Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>
(cherry picked from commit e00791c5525000652472cdcfe55d59f43ec3d85e)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a390cf739fec05ffd00dbe382c1fad33422d23d1
Author: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Date: Thu Jul 11 15:21:04 2019 +0300
anv/wsi: signal the semaphore in the acquireNextImage
We seem to have forgotten about the semaphore in the
acquireNextImageInfo.
v2: Signal semaphore/fence regardless of presentation status (Jason)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Cc: <mesa-stable at lists.freedesktop.org>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
(cherry picked from commit edc6606d4e515707b22674a0b3357c02de52378e)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a993dc20b67dd9094680c3560b514aae000a0039
Author: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Date: Fri Sep 20 01:24:53 2019 +0300
anv: remove list items on batch fini
This doesn't seem to fix anything because those destroy() calls happen
right before the command buffer object & its list of batch_bo is also
destroyed. Still looks a bit cleaner.
v2: Found a second occurence
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net> (v2)
Fixes: 26ba0ad54d ("vk: Re-name command buffer implementation files")
Cc: <mesa-stable at lists.freedesktop.org>
(cherry picked from commit 935f8f0e56a409b10fac86e18f68be776cdff29f)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2281258a7b8db521d0d3d3f24d2552311a00bafd
Author: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Date: Thu Aug 29 14:54:12 2019 +0300
anv: invalidate file descriptor of semaphore sync fd at vkQueueSubmit
We always close the in_fence at the end the anv_cmd_buffer_execbuf()
so when we take it from the semaphore, let's not forget to invalidate
it.
Note that the code leaks the fence_in if we get any error before
reaching the close(). Let's fix that in another patch or better,
rewrite the whole thing!
v2: drop redundant fd = -1 (Jason)
v3: Update commit message (Jason)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Cc: <mesa-stable at lists.freedesktop.org>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
(cherry picked from commit 048f0690ee4b39f865d4d6ad82a6c0290dcaaf41)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a89d4090bca01bb5e9441f8d97375bd7321f7df8
Author: Dylan Baker <dylan at pnwbakers.com>
Date: Mon Nov 11 09:21:57 2019 -0800
cherry-ignore: Update for 19.2.4 cycle
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cb835d281bdc9d39b868532a731f5390494080a1
Author: Eric Engestrom <eric.engestrom at intel.com>
Date: Tue Sep 10 17:06:09 2019 +0100
egl: fix _EGL_NATIVE_PLATFORM fallback
When the X11 or Haiku platforms were compiled in, they would bypass the
`_EGL_NATIVE_PLATFORM` fallback by always returning themselves instead.
Cc: mesa-stable at lists.freedesktop.org
Signed-off-by: Eric Engestrom <eric.engestrom at intel.com>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
(cherry picked from commit 86d3a346f1576acb6c2f8c3be3853a6a3e226b5c)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6e98a923cb2127ae3d35ed6daa02aa963914dc13
Author: Caio Marcelo de Oliveira Filho <caio.oliveira at intel.com>
Date: Fri Nov 8 15:58:15 2019 -0800
spirv: Don't leak GS initialization to other stages
The stage specific fields of shader_info are in an union. We've
likely been lucky that this value was either overwritten or ignored by
other stages. The recent change in shader_info layout in commit
84a1a2578da ("compiler: pack shader_info from 160 bytes to 96 bytes")
made this issue visible.
Fixes: cf2257069cb ("nir/spirv: Set a default number of invocations for geometry shaders")
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
(cherry picked from commit 087ecd9ca58a84cf85e66323b44140e7304d5f93)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2b89e68a2e4cab5309e81691d991d246b4e77b23
Author: Lepton Wu <lepton at chromium.org>
Date: Fri Nov 1 23:41:29 2019 -0700
gallium: dri2: Use index as plane number.
This fix wrong color when playing video under Android + virgl
configuration.
Fixes: 2decad495f3 ("gallium/dri2: Support images with multiple planes for modifiers")
Reviewed-by: Eric Engestrom <eric.engestrom at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Signed-off-by: Lepton Wu <lepton at chromium.org>
(cherry picked from commit 5a40e153fd7df58a6419cf2e6211828d7d31cf4e)
More information about the mesa-commit
mailing list