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