Mesa (17.2): 54 new commits

Emil Velikov evelikov at kemper.freedesktop.org
Tue Oct 17 17:09:19 UTC 2017


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=23c08dabc35290857b9903798981464ac4ecd0a4
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Thu Oct 12 11:39:46 2017 +0100

    eglmesaext: add forward declaration for struct wl_buffers
    
    The user does not need to know the specifics of the struct, as only a
    pointer to it is used.
    
    Just forward declare the struct making the header self-contained.
    
    v2: Remove deprecation warning text/bugzilla - patch does no help there.
    
    Cc: Greg V <greg at unrelenting.technology>
    Fixes: 5cddb1ce3c9 ("wayland: Add an extension to create wl_buffers from
    EGLImages")
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com> (v1)
    (cherry picked from commit 66ebdfbd44cb62c58a7711fb72566f07d801809a)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dc9bd1dadec8efcccfff3e67708b9f79d073831c
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Wed Sep 27 19:49:11 2017 +0100

    wayland-drm: use a copy of the wayland_drm_callbacks struct
    
    The callbacks may be called even when they are no longer valid.
    Say, the user is dlclose(ing) libEGL while the buffers are being
    destroyed.
    
    Cc: mesa-stable at lists.freedesktop.org
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    Reviewed-by: Daniel Stone <daniels at collabora.com>
    Tested-by: Derek Foreman <derekf at osg.samsung.com>
    (cherry picked from commit 0cfd6f6cfc9e90c12e4bad17dc47e7ce4cf1b9ac)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d001ff12674b86dcff529d09477ab99cfa122a20
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon Aug 28 17:06:24 2017 -0700

    nir: Get rid of the variable on vote intrinsics
    
    This looks like a copy+paste error.  They don't actually write into that
    variable as would be implied by putting the return there.
    
    Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
    Cc: mesa-stable at lists.freedesktop.org
    (cherry picked from commit 3442c9fc3ebd5de2c9d6c0b9ce541f182809fe82)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=88a16c895b3be95ba50887eaba27f69a3602b649
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon Aug 28 15:05:11 2017 -0700

    nir/opcodes: Fix constant-folding of ufind_msb
    
    We didn't fold correctly in the case of 0x1 because we never let the
    loop counter hit 0.  Switching it to bit >= 0 solves this problem.
    
    Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>
    Cc: mesa-stable at lists.freedesktop.org
    (cherry picked from commit a0947921eb01f4c037de28b753fc10f86a25fc65)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b640bf38ca68d8e451f5de8c03a092b6ccc6a66b
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Oct 11 13:32:45 2017 -0700

    glsl/blob: Return false from grow_to_fit if we've ever failed
    
    Otherwise we could have a failure followed by a smaller write that
    succeeds and get a corrupted blob.  If we ever OOM, we should stop.
    
    v2 (Jason Ekstrand):
     - Initialize the new boolean member in create_blob
    
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
    Cc: mesa-stable at lists.freedesktop.org
    (cherry picked from commit e03717efbd9493f91624bca86d730ef9abfdb324)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4d1ae3283c1ecb31e9c06723da735dfc7435e2e2
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Oct 11 10:56:48 2017 -0700

    glsl/blob: Return false from ensure_can_read on overrun
    
    Otherwise, if you have a large read fail and then try to do a small
    read, the small read may succeed even though it's at the wrong offset.
    
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
    Cc: mesa-stable at lists.freedesktop.org
    (cherry picked from commit 7118851374074bd92887bfabd47ce39c9be412fd)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d56aa9fe43cd0fa30b1aa92f534fe9e676a9a59e
Author: Eric Engestrom <eric.engestrom at imgtec.com>
Date:   Tue Sep 19 13:56:34 2017 +0100

    scons: use python3-compatible print()
    
    These changes were generated using python's `2to3` tool.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102852
    Reported-by: Alex Granni <liviuprodea at yahoo.com>
    Signed-off-by: Eric Engestrom <eric.engestrom at imgtec.com>
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
    (cherry picked from commit 7d48219b3ac78895315ea6cef3ced3e55d3d92f0)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3b657e4ff537a03ec99ad27dba36e31aa2fccf57
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Sun Oct 8 21:58:23 2017 +0200

    radv: Only set the MTYPE flags on GFX9+.
    
    Older kernels fail the va_op with this flag set. If the kernel
    supports GFX9 usefully, it will also support this flag.
    
    Fixes: e8d57802fea "radv/gfx9: allocate events from uncached VA space"
    Reviewed-by: Dave Airlie <airlied at redhat.com>
    (cherry picked from commit 96f80c8d4d97771b5450d6d15ddb3b172c7d69cf)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=99d3661bce9362ad106e606f2e3cd8c51fd89595
Author: Daniel Stone <daniels at collabora.com>
Date:   Mon Oct 2 16:40:53 2017 +0100

    egl/wayland: Don't use dmabuf with no modifiers
    
    The dmabuf interface requires a valid modifier to be sent. If we don't
    explicitly get a modifier from the driver, we can't know what to send;
    it must be inferred from legacy side-channels (or assumed to linear, if
    none exists).
    
    If we have no modifier, then we can only have a single-plane format
    anyway, so fall back to the old wl_drm buffer import path.
    
    Fixes: a65db0ad1c ("st/dri: don't expose modifiers in EGL if the driver doesn't implement them")
    Fixes: 02cc359372 ("egl/wayland: Use linux-dmabuf interface for buffers")
    Signed-off-by: Daniel Stone <daniels at collabora.com>
    Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
    Reported-by: Andy Furniss <adf.lists at gmail.com>
    Cc: Marek Olšák <marek.olsak at amd.com>
    (cherry picked from commit b65d6dafd602813c56ccc59a5d8ddb473fddfd74)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0f6e89dfe0ca779b2ff90a9a5bde66d668fe6b2b
Author: Daniel Stone <daniels at collabora.com>
Date:   Mon Oct 2 16:40:53 2017 +0100

    egl/wayland: Check queryImage return for wl_buffer
    
    When creating a wl_buffer from a DRIImage, we extract all the DRIImage
    information via queryImage. Check whether or not it actually succeeds,
    either bailing out if the query was critical, or providing sensible
    fallbacks for information which was not available in older DRIImage
    versions.
    
    Fixes: a65db0ad1c ("st/dri: don't expose modifiers in EGL if the driver doesn't implement them")
    Fixes: 02cc359372 ("egl/wayland: Use linux-dmabuf interface for buffers")
    Signed-off-by: Daniel Stone <daniels at collabora.com>
    Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
    Reported-by: Andy Furniss <adf.lists at gmail.com>
    Cc: Marek Olšák <marek.olsak at amd.com>
    (cherry picked from commit 6273d2f2693c365ac84e8808577d16698a6ae46a)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=bee97ec32ebc805d4b3c05b079d300d50903bae6
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Mon Sep 18 11:29:21 2017 +0100

    swr/rast: do not crash on NULL strings returned by getenv
    
    The current convenience function GetEnv feeds the results of getenv
    directly into std::string(). That is a bad idea, since the variable
    may be unset, thus we feed NULL into the C++ construct.
    
    The latter of which is not allowed and leads to a crash.
    
    v2: Better variable name, implicit char* -> std::string conversion (Eric)
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101832
    Fixes: a25093de718 ("swr/rast: Implement JIT shader caching to disk")
    Cc: Tim Rowley <timothy.o.rowley at intel.com>
    Cc: Laurent Carlier <lordheavym at gmail.com>
    Cc: Bernhard Rosenkraenzer <bero at lindev.ch>
    [Emil Velikov: make an actual commit from the misc diff]
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com> (v1)
    Reviewed-by: Laurent Carlier <lordheavym at gmail.com> (v1)
    (cherry picked from commit 21e271024d8e050b75361c2da2e5783100f2e87b)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9f4b0a336cc0fdd9d6c23895b3a916f406f7bf40
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Sat Sep 23 10:29:51 2017 +0200

    radeonsi: clamp border colors for upgraded depth textures
    
    The hardware does this automatically for unorm formats, but we need to
    do it manually for unorm depth formats that have been upgraded to
    Z32_FLOAT.
    
    Fixes dEQP-GLES31.functional.texture.border_clamp.range_clamp.nearest_unorm_depth
    and others.
    
    Fixes: d4d9ec55c589 ("radeonsi: implement TC-compatible HTILE")
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Tested-by: Dieter Nützel <Dieter at nuetzel-hh.de>
    (cherry picked from commit 6eb9483912539f0962fd62bc50039c6f768f1621)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=74a28d85de57fa72f7121be7631aaf702014ccb4
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Sat Sep 23 13:20:25 2017 +0200

    radeonsi: clamp depth comparison value only for fixed point formats
    
    The hardware usually does this automatically. However, we upgrade
    depth to Z32_FLOAT to enable TC-compatible HTILE, which means the
    hardware no longer clamps the comparison value for us.
    
    The only way to tell in the shader whether a clamp is required
    seems to be to communicate an additional bit in the descriptor
    table. While VI has some unused bits in the resource descriptor,
    those bits have unfortunately all been used in gfx9. So we use
    an unused bit in the sampler state instead.
    
    Fixes dEQP-GLES3.functional.texture.shadow.2d.linear.equal_depth_component32f
    and many other tests in dEQP-GLES3.functional.texture.shadow.*
    
    Fixes: d4d9ec55c589 ("radeonsi: implement TC-compatible HTILE")
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Tested-by: Dieter Nützel <Dieter at nuetzel-hh.de>
    (cherry picked from commit 4c56e070296be6f53bfc1a3a4c864f12c035d3a4)
    [Emil Velikov: handle lack of dirty_mask in original patch]
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    
    Conflicts:
    	src/gallium/drivers/radeonsi/si_descriptors.c

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f805a61e0460ac393d65070262ddadab903be495
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Thu Sep 21 16:55:35 2017 +0200

    st/glsl_to_tgsi: fix a use-after-free in merge_two_dsts
    
    Found by address sanitizer.
    
    The loop here tries to be safe, but in doing so, it ends up doing
    exactly the wrong thing: the safe foreach is for when the loop
    variable (inst) could be deleted and nothing else. However, this
    particular can delete inst's successor, but not inst itself.
    
    Fixes: 8c6a0ebaad72 ("st/mesa: add st fp64 support (v7.1)")
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Tested-by: Dieter Nützel <Dieter at nuetzel-hh.de>
    (cherry picked from commit 2703fa613b674184ad94b077ae68ad04160ba9d5)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6957dfb0d806162cc7f62b2085fb0aed74dc9d8c
Author: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Date:   Wed Oct 11 17:21:53 2017 +0100

    anv: bo_cache: allow importing a BO larger than needed
    
    It's not a problem if a BO has been allocated larger than we need it
    to be.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102940
    Fixes: 818b857914 ("anv: Use the BO cache for DeviceMemory allocations")
    Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
    Reviewed-by: Daniel Stone <daniels at collabora.com>
    Cc: mesa-stable at lists.freedesktop.org
    (cherry picked from commit c0a4f56fb9945e36a004bc38852fbb801aae3bd5)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=410f4dbcb16b10627382b66428290f8a5fc9d74a
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Fri Oct 6 17:14:46 2017 +0200

    st/glsl_to_tgsi: fix indirect access to 64-bit integer
    
    Make sure we actually allocate two adjacent TGSI temporaries. The
    current code fails e.g. when an arithmetic operation has two
    operands with indirect accesses.
    
    I will send out a new piglit test
    (arb_gpu_shader_int64/execution/indirect-array-two-accesses.shader_test)
    
    Cc: mesa-stable at lists.freedesktop.org
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    (cherry picked from commit 541208cf138deb59204b28c56b3d37fec399778b)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d22e779d6ae56ec32c1451e0ec9a64313e467f95
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date:   Tue Oct 10 23:50:06 2017 -0400

    nv50,nvc0: fix push hint logic in presence of a start offset
    
    Previously buffer offsets were passed in explicitly as an offset, which
    had to be added to the resource address. Now they are passed in via an
    increased 'start' parameter. As a result, we were double-adding the
    start offset in this kind of situation.
    
    This condition was triggered by piglit's draw-elements test which has a
    requisite glMultiDrawElements in combination with a small enough number
    of vertices to go through the immediate push path.
    
    Fixes: 330d0607ed6 ("gallium: remove pipe_index_buffer and set_index_buffer")
    Reported-by: Karol Herbst <karolherbst at gmail.com>
    Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Cc: mesa-stable at lists.freedesktop.org
    (cherry picked from commit b20bccbcacc6170cfc4f18332491131df5bac811)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=41ec2af2a8bfefa7295e691bacb44e69a88fec21
Author: Dave Airlie <airlied at redhat.com>
Date:   Wed Oct 4 06:33:02 2017 +1000

    radv: lower ffma in nir.
    
    So it appears the Vulkan SPIR-V fma opcode can be equivalent to a
    mad operation, and the fma hw opcode on AMD hw is issued like a double
    opcode so is slower. Also the radeonsi stack does this.
    
    This appears to improve performance on a number of games from Feral,
    and thanks to Feral for noticing the problem.
    
    I'm reposting this one as Marek indicated he thinks this is what
    we should be doing on AMD hw.
    
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Cc: "17.2" <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Dave Airlie <airlied at redhat.com>
    (cherry picked from commit 2c61594d84911f486aa2edb4b8e561e780139d20)
    [Emil Velikov: use correct file radv_shader.c -> radv_pipeline.c]
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    
    Conflicts:
    	src/amd/vulkan/radv_shader.c

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0bd7be01427d301b2c4dadd644e84c7f511eaa90
Author: Alex Smith <asmith at feralinteractive.com>
Date:   Tue Oct 10 17:00:09 2017 +0100

    radv: Add R16G16B16A16_SNORM fast clear support
    
    Signed-off-by: Alex Smith <asmith at feralinteractive.com>
    Cc: "17.2" <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Dave Airlie <airlied at redhat.com>
    (cherry picked from commit 25d76fd658105b06c241a441899e00c4d912d434)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4bcadb533ff07e87d045d8d4225784eab8729142
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Tue Oct 10 13:58:46 2017 +0200

    st/mesa: don't clobber glGetInternalformat* buffer for GL_NUM_SAMPLE_COUNTS
    
    Applications might pass in a buffer that is sized too large and rely
    on the extra space of the buffer not being overwritten.
    
    Fixes dEQP-GLES31.functional.state_query.internal_format.partial_query.num_sample_counts
    
    Cc: mesa-stable at lists.freedesktop.org
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    (cherry picked from commit 9a8f13a33b2d08b34c78de67ce90e0198bfdf0b3)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2eae2a6f0ecdfd91eff78121bd42fe12aa982030
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date:   Mon Oct 9 20:42:59 2017 -0400

    nv50/ir: fix 64-bit integer shifts
    
    TGSI was adjusted to always pass in 64-bit integers but nouveau was left
    with the old semantics. Update to the new thing.
    
    Fixes: d10fbe5159 (st/glsl_to_tgsi: fix 64-bit integer bit shifts)
    Reported-by: Karol Herbst <karolherbst at gmail.com>
    Cc: mesa-stable at lists.freedesktop.org
    (cherry picked from commit ce6da2a02632cc81373b5e26881c02872e80c30b)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=077f925473f8961ca1293c4545ac55186d94c3e3
Author: Józef Kucia <joseph.kucia at gmail.com>
Date:   Mon Oct 9 22:42:06 2017 +0200

    anv: Do not assert() on VK_ATTACHMENT_UNUSED
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Reviewed-by: Nanley Chery <nanley.g.chery at intel.com>
    Cc: mesa-stable at lists.freedesktop.org
    (cherry picked from commit 91ba331ef4fee34085628af12a188924a28cd808)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2e92d16f9d01870f4bb856323d97c4903df1fb00
Author: Józef Kucia <joseph.kucia at gmail.com>
Date:   Mon Oct 9 22:33:30 2017 +0200

    spirv: Fix SpvOpAtomicISub
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Cc: mesa-stable at lists.freedesktop.org
    (cherry picked from commit e0acb630a54a4b24ce14cc0d87fe5e96ae244644)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=83dcf9dc33293f4f5d169b2edb04f712c86d33df
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Thu Oct 12 16:04:53 2017 +0100

    cherry-ignore: add "anv/wsi: Allocate enough memory for the entire image"
    
    Addresses bug introduced with a feature patch, which is not in branch.
    
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=406e7e0e17085da522de1825afe4ffdef53ca0d5
Author: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Date:   Thu Sep 28 23:57:45 2017 +0100

    anv/cmd_buffer: Reset state in cmd_buffer_destroy
    
    This ensures that everything gets cleaned up properly. In particular,
    it fixes a memory leak where we were leaking the push constants
    structs.
    
    Valgrind stats on
    dEQP-VK.pipeline.push_constant.graphics_pipeline.range_size_128 :
    
    Before:
    HEAP SUMMARY:
        in use at exit: 2,467,513 bytes in 1,305 blocks
      total heap usage: 697,853 allocs, 696,530 frees, 138,466,600 bytes allocated
    
    LEAK SUMMARY:
       definitely lost: 1,068 bytes in 11 blocks
       indirectly lost: 24,669 bytes in 412 blocks
         possibly lost: 0 bytes in 0 blocks
       still reachable: 2,441,776 bytes in 882 blocks
            suppressed: 0 bytes in 0 blocks
    
    After:
    HEAP SUMMARY:
        in use at exit: 2,467,381 bytes in 1,304 blocks
      total heap usage: 697,853 allocs, 696,531 frees, 138,466,600 bytes allocated
    
    LEAK SUMMARY:
       definitely lost: 936 bytes in 10 blocks
       indirectly lost: 24,669 bytes in 412 blocks
         possibly lost: 0 bytes in 0 blocks
       still reachable: 2,441,776 bytes in 882 blocks
            suppressed: 0 bytes in 0 blocks
    
    Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Cc: "17.2 17.1" <mesa-stable at lists.freedesktop.org>
    (cherry picked from commit 0763f814d7b5cb4da945d9211faab47e8523fdad)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=60466859fa2f0e998d29839147a42270604a32a1
Author: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Date:   Wed Sep 27 14:16:04 2017 +0100

    anv/cmd_buffer: fix push descriptors with set > 0
    
    When writing to set > 0, we were just wrongly writing to set 0. This
    commit fixes this by lazily allocating each set as we write to them.
    
    We didn't go for having them directly into the command buffer as this
    would require an additional ~45Kb per command buffer.
    
    v2: Allocate push descriptors from system memory rather than in BO
        streams. (Lionel)
    
    Cc: "17.2 17.1" <mesa-stable at lists.freedesktop.org>
    Fixes: 9f60ed98e501 ("anv: add VK_KHR_push_descriptor support")
    Reported-by: Daniel Ribeiro Maciel <daniel.maciel at gmail.com>
    Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    (cherry picked from commit d296dea54e243c41c2b3fbe631f7bcb87db6ae8c)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=014b5a7209362825c571d763c1f809bb3a15cee9
Author: Marek Olšák <marek.olsak at amd.com>
Date:   Fri Sep 29 04:52:10 2017 +0200

    glsl_to_tgsi: fix instruction order for bindless textures
    
    We emitted instructions loading the bindless handle after the memory
    instruction.
    
    Cc: 17.2 <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    (cherry picked from commit 985338e2cb63156fc7abfc605716a0354db50c5c)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f9c4f22f5a3290a62314f82feddf62026655db29
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Oct 4 13:20:52 2017 -0700

    intel/compiler: Don't propagate cmod into integer multiplies
    
    No shader-db change on Sky Lake.
    
    Reviewed-by: Matt Turner <mattst88 at gmail.com>
    Cc: mesa-stable at lists.freedesktop.org
    (cherry picked from commit 7463d5058009d1e9d9d01292f894271a26a062b8)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4ae1a62b26d4a615391fcef25f3e434822523e38
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Oct 4 13:49:29 2017 -0700

    intel/compiler: Don't cmod propagate into a saturated operation
    
    Shader-db results on Sky Lake:
    
        total instructions in shared programs: 12954445 -> 12955125 (0.01%)
        instructions in affected programs: 141862 -> 142542 (0.48%)
        helped: 0
        HURT: 626
    
    Reviewed-by: Matt Turner <mattst88 at gmail.com>
    Cc: mesa-stable at lists.freedesktop.org
    (cherry picked from commit b91ecee04ab2a5b23ff2418b4d709252878cf894)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ea3ad52ad3fce7dc37a1f415efdfe8727791613d
Author: Ben Crocker <bcrocker at redhat.com>
Date:   Thu Sep 28 14:09:13 2017 -0400

    gallivm/ppc64le: allow environmental control of Altivec code generation
    
    In check_os_altivec_support(), allow control of Altivec (first PPC vector
    instruction set) code generation via a new environmental control,
    GALLIVM_ALTIVEC, which is expected to take on a value of 1 or 0.
    The default is to enable Altivec code generation.
    
    This environmental control of Altivec code generation is initially
    available only #ifdef DEBUG.
    
    Cc: "17.2" <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Ben Crocker <bcrocker at redhat.com>
    Acked-by: Roland Scheidegger <sroland at vmware.com>
    (cherry picked from commit 1359af930ee5baf8444b0acc3d55b1e5e1a3879e)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3f5d2b768c88cab4673f3f22fd86978408088cb6
Author: Ben Crocker <bcrocker at redhat.com>
Date:   Thu Sep 28 14:09:12 2017 -0400

    gallivm/ppc64le: adjust VSX code generation control.
    
    In lp_build_create_jit_compiler_for_module(), advance the minimum
    version of LLVM for VSX code generation to 4.0; this is the minimum
    revision at which several known VSX code generation bugs are fixed:
    
      https://llvm.org/bugs/show_bug.cgi?id=25503 (fixed in 3.8.1)
      https://llvm.org/bugs/show_bug.cgi?id=26775 (fixed in 3.8.1)
      https://llvm.org/bugs/show_bug.cgi?id=33531 (fixed in 4.0)
    
    An llc performance bug introduced in LLVM 4.0,
    
      https://llvm.org/bugs/show_bug.cgi?id=34647
    
    is still pending as of LLVM 5.0, but only has a pronounced effect on
    one of the Piglit tests: ext_transform_feedback-max-varyings.
    
    All changes tested via Piglit.
    
    Cc: "17.2" <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Ben Crocker <bcrocker at redhat.com>
    Acked-by: Roland Scheidegger <sroland at vmware.com>
    (cherry picked from commit e93f056a4e5babde516c9ef53ae3547f68f1b824)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=070d2dcfac22406e77d57e0baf867e7180f3b49b
Author: Ben Crocker <bcrocker at redhat.com>
Date:   Thu Sep 28 14:09:11 2017 -0400

    gallivm: allow additional llc options
    
    In init_native_targets, allow the passing of additional options to
    the LLC compiler via new GALLIVM_LLC_OPTIONS environmental control.
    This option is available only #ifdef DEBUG, initially.
    At top, add #include <llvm-c/Support.h> for LLVMParseCommandLineOptions()
    declaration.
    
    v2: Fix compile error with old llvm versions (sroland)
    
    Cc: "17.2" <mesa-stable at lists.freedesktop.org>
    
    Signed-off-by: Ben Crocker <bcrocker at redhat.com>
    Acked-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    Reviewed-by: Roland Scheidegger <sroland at vmware.com>
    (cherry picked from commit 5c75f0c8bb876c1f4c85cda5ed10a4d632d24f56)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1a8ccdc6e940848b45fcee82544127cd4f176bc0
Author: Ben Crocker <bcrocker at redhat.com>
Date:   Thu Sep 28 14:09:10 2017 -0400

    gallivm: fix typo in debug_printf message
    
    In gallivm_compile_module, fix a typo in the
    debug_printf("Invoke as \"llc ..." message.
    
    Cc: "17.2" <mesa-stable at lists.freedesktop.org>
    
    Signed-off-by: Ben Crocker <bcrocker at redhat.com>
    Reviewed-by: Roland Scheidegger <sroland at vmware.com>
    (cherry picked from commit 3a9feb4db8ad1e87a70c761987798b7575d522aa)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=608bea62caf4e9563fbfd115051da3dd0e96e9d6
Author: Leo Liu <leo.liu at amd.com>
Date:   Sun Oct 1 21:27:20 2017 -0400

    st/va: don't re-allocate interlaced buffer with pakced format
    
    It caused corruption, when vlVaPutImage putting raw data to the fields
    
    v2: add RGB formats since it got uploaded here as well
    
    Cc: mesa-stable at lists.freedesktop.org
    Cc: Andy Furniss <adf.lists at gmail.com>
    Tested-by: Andy Furniss <adf.lists at gmail.com>
    Reviewed-by: Christian König <christian.koenig at amd.com>
    (cherry picked from commit 0fa950ecd38d5025bb2393bbcb96a73152764cf4)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dc47b179ed513bf74b7e95d57b7a87ae6632feef
Author: Leo Liu <leo.liu at amd.com>
Date:   Sat Sep 30 22:19:49 2017 -0400

    st/vdpau: don't re-allocate interlaced buffer with packed YUV format
    
    It caused corruption, when vlVdpVideoSurfacePutBitsYCbCr putting YUV to the fields
    
    Cc: mesa-stable at lists.freedesktop.org
    Cc: Andy Furniss <adf.lists at gmail.com>
    Tested-by: Andy Furniss <adf.lists at gmail.com>
    Reviewed-by: Christian König <christian.koenig at amd.com>
    (cherry picked from commit 327480d10f2dab52de28e9a84609fac81c2034c5)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1146591d4ba053426d16e47ae0835aa00e033dee
Author: Dave Airlie <airlied at redhat.com>
Date:   Wed Oct 4 03:06:04 2017 +0100

    radv: emit fmuladd instead of fma to llvm.
    
    For Vulkan SPIR-V the spec states
    fma() Inherited from OpFMul followed by OpFAdd.
    
    Matt says the backend will do the right thing depending on the
    hardware being compiled for, if you use the fmuladd intrinsic.
    
    Using the Mad Max pts test, on high settings at 4K:
    CHP: 55->60
    HGDD: 46->50
    LM: 55->60
    No change on Stronghold.
    
    Thanks to Feral for spending the time to track this down.
    
    Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Cc: "17.2" <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Dave Airlie <airlied at redhat.com>
    (cherry picked from commit 4e93d6baae2d00540b9bee0decff700d1aa6b247)
    [Emil Velikov: s/ac_to_float_type/to_float_type/]
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    
    Conflicts:
    	src/amd/common/ac_nir_to_llvm.c

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=76c6bbca7cc9fffa7cb0e350eeb066e5af293a95
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Tue Oct 17 16:57:45 2017 +0100

    cherry-ignore: add "anv: Remove unreachable cases from isl_format_for_size"
    
    The commit causes a number of regressions with dEQP
    
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3315bb4f0826f47fc5ff868f96e2337ca8480073
Author: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Date:   Tue Oct 3 16:05:07 2017 +0100

    intel: compiler: vec4: add missing default 0 lod
    
    We set a similar default value for LOD in the fs backend for TXS/TXL.
    Without this we end up generating invalid MOV with a null src.
    
    Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
    Cc: "17.2 17.1" <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Matt Turner <mattst88 at gmail.com>
    (cherry picked from commit d3acc240d0ced4efefd18e8c26510bd6a638c9df)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=cb72969d8bbe4815988dc423c15bfbcc45abaf80
Author: Józef Kucia <joseph.kucia at gmail.com>
Date:   Mon Oct 2 19:58:50 2017 +0200

    anv: Fix vkCmdFillBuffer()
    
    The vkCmdFillBuffer() command fills a buffer with an uint32_t value.
    
    Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Cc: "17.1 17.2" <mesa-stable at lists.freedesktop.org>
    (cherry picked from commit 15fdbf9c39105aaaae05c59a1a315b1775ac5d79)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1093207463d1610f76e4a1be1410fcf70013d4b8
Author: Marek Olšák <marek.olsak at amd.com>
Date:   Fri Sep 29 23:13:12 2017 +0200

    st/mesa: don't use pipe_surface for passing information about EGLImage
    
    Use st_egl_image instead. radeonsi doesn't like when we create
    a pipe_surface with PIPE_FORMAT_NV12.
    
    This fixes NV12 texturing on radeonsi using kmscube.
    
    Cc: 17.1 17.2 <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    (cherry picked from commit 2d62817da9ddbcfb8d353ca96cc6ae36da3862e0)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f5f515a0233ee7e1a28c4e1a3dbe9cabd84b1df7
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Mon Oct 2 00:23:42 2017 +0200

    nir/spirv: Allow loop breaks in a switch body.
    
    Per the SPIR-V spec 2.11 Structured Control Flow:
    
    "The only blocks in a construct that can branch outside the construct are
    
    ...
    - a break block for the innermost loop it is inside of.
    ..."
    
    With
    
    "Break block: A block containing a branch to the Merge Block of a loop header's merge instruction."
    
    Note that it puts no restriction on not being in an if or switch within the innermost loop.
    
    This passes the loop_break block to the switch body so it can properly detect loop breaks.
    
    CC: <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    (cherry picked from commit ef61d09d5bd58e5ad1b317d674f8436de754d3cb)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=18db9863540bc288b37d0372833970f10dd22fa8
Author: Rob Clark <robdclark at gmail.com>
Date:   Mon Oct 2 12:22:11 2017 -0400

    freedreno/a5xx: fix missing restore state
    
    RB_CLEAR_CNTL seems to be in a funny state after boot (at least on
    8x96/a530).
    
    Cc: 17.2 <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Rob Clark <robdclark at gmail.com>
    (cherry picked from commit 7f3eab03fe041bc28900a02f7ae503920753ea6b)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c38653803668274972802c2ffbfe48752fcde54f
Author: Rob Clark <robdclark at gmail.com>
Date:   Thu Sep 14 15:03:11 2017 -0400

    freedreno/a5xx: align height to GMEM
    
    Similar to the way width/pitch alignment works, it seems like we need to
    do similar for height.  Otherwise the BLIT from system memory to GMEM
    can over-fetch beyond the end of the buffer, triggering a fault.
    
    I'm not sure if there is a better solution yet.  Possibly we could fall
    back to pre-a5xx style DRAW packets for cases where BLIT might over-
    fetch.  (We in theory have that problem already with rendering to higher
    mipmap levels, although fortunately those tend to use GMEM bypass.)
    
    This fixes issues reported with glamor.
    
    Reported-by: don.harbin at linaro.org
    Cc: 17.2 <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Rob Clark <robdclark at gmail.com>
    (cherry picked from commit 16ac70bdcf29d075e11f1ebc54405d0ea19b561c)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d0b52003d0adbf38745d07e280934b54d19e8d8c
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Sun Sep 17 11:59:37 2017 +0200

    radeonsi: fix maximum advertised point size / line width
    
    The hardware registers store the half-size/width in 12.4 fixed point
    format, so 8192 is the maximum.
    
    Fixes dEQP-GLES3.functional.rasterization.*
    
    Cc: mesa-stable at lists.freedesktop.org
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    (cherry picked from commit 30e37289ea754302f970705f6f94b8c51c952f30)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6e903ae7d51c70fe44cf1a6734bbffee89964696
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Sun Sep 17 11:28:21 2017 +0200

    radeonsi: deduce rast_prim correctly for tessellation point mode
    
    Together with the previous patches, this fixes
    dEQP-GLES31.functional.primitive_bounding_box.wide_points.*
    
    Cc: mesa-stable at lists.freedesktop.org
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    (cherry picked from commit a3fa3b2e025f2a7d1eed45b332a89bc0d66ee0e4)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6e3788e3b160959ff9f33bc38491e11889c0ae82
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Sun Sep 17 11:26:53 2017 +0200

    radeonsi: don't discard points and lines
    
    This is a bit conservative, but a more precise solution requires access
    to the rasterizer state. This is something to tackle after the fork between
    r600 and radeonsi.
    
    Cc: mesa-stable at lists.freedesktop.org
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    (cherry picked from commit 4d74432dd3b64814aca7d31fa133d5ee8bce9026)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=05e2ed788947a03122e473c85e57f68b4670bf85
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Sun Sep 17 11:10:04 2017 +0200

    radeonsi: move current_rast_prim to r600_common_context
    
    We'll use it in the scissors / clip / guardband state.
    
    v2: avoid a performance regression on r600 when applied to
        (pre-fork) stable branches
    
    Cc: mesa-stable at lists.freedesktop.org
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    (cherry picked from commit f86a112b07f01e267828fc255ffd63f223d2d5bb)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f2fc1685177ff4886e1dddc1595558ea7f0696b1
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Fri Sep 15 16:39:31 2017 +0200

    glsl/lower_instruction: handle denorms and overflow in ldexp correctly
    
    GLSL ES requires both, and while GLSL explicitly doesn't require correct
    overflow handling, it does appear to require handling input inf/denorms
    correctly.
    
    Fixes dEQP-GLES31.functional.shaders.builtin_functions.precision.ldexp.*
    
    Cc: mesa-stable at lists.freedesktop.org
    Acked-by: Matt Turner <mattst88 at gmail.com>
    Acked-by: Marek Olšák <marek.olsak at amd.com>
    Tested-by: Dieter Nützel <Dieter at nuetzel-hh.de>
    (cherry picked from commit 93bf9c114b7c54e4faf342810bd848527b7d0a80)
    [Emil Velikov: init_num_operands() does not exist on branch]
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    
    Conflicts:
    	src/compiler/glsl/lower_instructions.cpp

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=eac6932c665dd4f28e2081060f6bbdfaa515f3cd
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Thu Sep 28 17:52:42 2017 +0200

    util/queue: fix a race condition in the fence code
    
    A tempting alternative fix would be adding a lock/unlock pair in
    util_queue_fence_is_signalled. However, that wouldn't actually
    improve anything in the semantics of util_queue_fence_is_signalled,
    while making that test much more heavy-weight. So this lock/unlock
    pair in util_queue_fence_destroy for "flushing out" other threads
    that may still be in util_queue_fence_signal looks like the better
    fix.
    
    v2: rephrase the comment
    
    Cc: mesa-stable at lists.freedesktop.org
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Reviewed-by: Gustaw Smolarczyk <wielkiegie at gmail.com>
    (cherry picked from commit a208cd7ae4c1613dfd9acafa6046c1cd0be4911f)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7bedb1fd121ac7d4dbb48e2f86099e4d5f089945
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Thu Sep 21 16:50:08 2017 +0200

    radeonsi/gfx9: fix geometry shaders without output vertices
    
    Not that those are super common or useful, but hey! Fun corner cases
    of the API...
    
    Fixes dEQP-GLES31.functional.geometry_shading.emit.*
    
    Cc: mesa-stable at lists.freedesktop.org
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Tested-by: Dieter Nützel <Dieter at nuetzel-hh.de>
    (cherry picked from commit 7dfa891f32316b17ae6f21dceb1b00845d34524a)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=332f6e9b3b58f34c7db2c11e407a4f29c2f9038e
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Fri Sep 22 19:05:52 2017 +0200

    amd/common: fix build_cube_select
    
    Fix the custom cube coord selection sequence to be identical to
    the hardware v_cubesc/tc and OpenGL spec. Affects texture sampling
    with user-provided derivatives.
    
    Fixes dEQP-GLES3.functional.shaders.texture_functions.texturegrad.*
    
    Cc: mesa-stable at lists.freedesktop.org
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Tested-by: Dieter Nützel <Dieter at nuetzel-hh.de>
    (cherry picked from commit 5be5c1e0fa8d57606d85fa6afbfa2db5a9ca4c98)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f5cbe1f9b86e0300e62350089847b6d7c62517dd
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Fri Sep 22 16:59:08 2017 +0200

    st/glsl_to_tgsi: fix conditional assignments to packed shader outputs
    
    Overriding the default (no-op) swizzle is clearly counter-productive,
    since the whole point is putting the destination register as one of
    the source operands so that it remains unmodified when the assignment
    condition is false.
    
    Fragment depth and stencil outputs are a special case due to how their
    source swizzles are manipulated in translate_src when compiling to
    TGSI.
    
    Fixes dEQP-GLES2.functional.shaders.conditionals.if.*_vertex
    Cc: mesa-stable at lists.freedesktop.org
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Tested-by: Dieter Nützel <Dieter at nuetzel-hh.de>
    
    (cherry picked from commit 8ea7d3a5c8ea0c530d7f66a9bdd0fb12c59418bc)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f6d64c7dc1a89c118520535c917b98cff089be0c
Author: Marek Olšák <marek.olsak at amd.com>
Date:   Wed Sep 27 13:17:21 2017 +0200

    mesa: fix texture updates for ATI_fragment_shader
    
    Cc: 17.1 17.2 <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    (cherry picked from commit 9d54025cd1eee3f42b80c062d1f644904bf2ba41)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=80db5b3420c828de158520548cdd3bf083169ee1
Author: Leo Liu <leo.liu at amd.com>
Date:   Tue Sep 26 09:11:52 2017 -0400

    st/va: use pipe transfer_map to map upload buffer
    
    The function pipe_buffer_map() is only for linear pipe buffer,
    with height as 0, and it's not for any 2D textures.
    
    Signed-off-by: Leo Liu <leo.liu at amd.com>
    Cc: mesa-stable at lists.freedesktop.org
    Cc: Mark Thompson <sw at jkqxz.net>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    (cherry picked from commit 6ed61b8d3fa09f7b08505e62d5b92270aef3fb80)




More information about the mesa-commit mailing list