Mesa (19.1): 42 new commits

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Jul 19 16:30:03 UTC 2019


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f17ff71f49010fd808827d8657aaf8a90d534090
Author: Dave Airlie <airlied at redhat.com>
Date:   Thu Jul 18 10:44:10 2019 +1000

    radv: fix crash in shader tracing.
    
    Enabling tracing, and then having a vmfault, can leads to a segfault
    before we print out the traces, as if a meta shader is executing
    and we don't have the NIR for it.
    
    Just pass the stage and give back a default.
    
    Fixes: 9b9ccee4d64 ("radv: take LDS into account for compute shader occupancy stats")
    Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    (cherry picked from commit 2ac2b987801c60e5e141354ee1759b63ca85bf4c)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d86b14ecbb71bdbd4512c877c5acb34befd05f2c
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Wed Jul 17 10:58:17 2019 +0200

    radv: fix VGT_GS_MODE if VS uses the primitive ID
    
    Found by inspection.
    
    Cc: <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    (cherry picked from commit 63d670e350e5249ed91b4bebc59bd7920629eb6c)
    [Juan A. Suarez: resolve trivial conflicts]
    Signed-off-by: Juan A. Suarez Romero <jasuarez at igalia.com>
    
    Conflicts:
    	src/amd/vulkan/radv_pipeline.c

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=900bcab48be2fa356cd22486e1e59df293e38f15
Author: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
Date:   Tue Apr 30 08:38:16 2019 +0200

    anv: fix alphaToCoverage when there is no color attachment
    
    There are tests in CTS for alpha to coverage without a color attachment
    that are failing. This happens because we remove the shader color
    outputs when we don't have a valid color attachment for them, but when
    alpha to coverage is enabled we still want to preserve the the output
    at location 0 since we need the alpha component. In that case we will
    also need to create a null render target for RT 0.
    
    v2:
      - We already create a null rt when we don't have any, so reuse that
        for this case (Jason)
      - Simplify the code a bit (Iago)
    
    v3:
      - Take alpha to coverage from the key and don't tie this to depth-only
        rendering only, we want the same behavior if we have multiple render
        targets but the one at location 0 is not used. (Jason).
      - Rewrite commit message (Iago)
    
    v4:
      - Make sure we take into account the array length of the shader outputs,
        which we were no handling correctly either and make sure we also
        create null render targets for any invalid array entries too.
    
    v5:
      - Simplify removal of unused outputs by using rt_used[] so we don't have
        to special case alpha to coverage there too.
    
    Fixes the following CTS tests:
    dEQP-VK.pipeline.multisample.alpha_to_coverage_no_color_attachment.*
    
    Signed-off-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
    Signed-off-by: Iago Toral Quiroga <itoral at igalia.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    (cherry picked from commit bc66cebc0df0a7858264c7a6da96f60cdc5c8292)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0b1ee72bbc5f4f34e013d408d4d435135016e923
Author: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Date:   Thu Jul 18 01:00:11 2019 +0300

    anv: fix format mapping for depth/stencil formats
    
    anv_format is supposed to have a pointer back to the associated
    VkFormat, we were missed this for depth/stencil formats.
    
    This doesn't fix anything afaict, but will be needed for future
    changes.
    
    Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
    Fixes: 465de47bad70 ("anv: associate vulkan formats with aspects")
    Acked-by: Jason Ekstrand <jason at jlekstrand.net>
    (cherry picked from commit 3adc32df922753363d964b637196157587d57565)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3dea2e2ffc6c2f6eaf3b703635fbe3f0ed58ea43
Author: Lepton Wu <lepton at chromium.org>
Date:   Wed Jul 17 10:02:20 2019 -0700

    virgl: Set meta data for textures from handle.
    
    The set of meta data was removed by commit 8083464. It broke lots of
    dEQP tests when running with pbuffer surface type.
    
    Fixes: 80834640137 ("virgl: remove dead code")
    Signed-off-by: Lepton Wu <lepton at chromium.org>
    Reviewed-by: Erik Faye-Lund <erik.faye-lund at collabora.com>
    Reviewed-by: Chia-I Wu <olvaffe at gmail.com>
    (cherry picked from commit 6109df58e4abe18a0db589c3cebf21cbf0211197)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1527d02acb315ebf6359b813c7d6f644a2ce501c
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Wed Jul 17 02:58:59 2019 +0200

    radv: Only save the descriptor set if we have one.
    
    After reset, if valid does not contain the relevant bit the descriptor
    can be != NULL but still not be valid.
    
    CC: <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Dave Airlie <airlied at redhat.com>
    (cherry picked from commit f1a89673448227dc22651b0b2d9fc05cbf5d928e)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d578b42e349dd949ac4579cdaad7f12faaf9f516
Author: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Date:   Wed Jul 17 08:46:53 2019 +0300

    anv: report timestampComputeAndGraphics true
    
    Spec says :
    
       "timestampComputeAndGraphics specifies support for timestamps on all
        graphics and compute queues. If this limit is set to VK_TRUE, all
        queues that advertise the VK_QUEUE_GRAPHICS_BIT or
        VK_QUEUE_COMPUTE_BIT in the VkQueueFamilyProperties::queueFlags
        support VkQueueFamilyProperties::timestampValidBits of at least 36."
    
    On gen7+ this should be true (we only have 32bits of timestamp on
    gen6 and below).
    
    Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
    Fixes: 802f00219addb3 ("anv/device: Update features and limits")
    Reported-by: Timothy Strelchun <timothy.strelchun at intel.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    (cherry picked from commit ce4c5474af6b82b03070577e753cc16ba84deef9)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a612f0210a0f8e934b04d721d06b9b9ca9937cd6
Author: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Date:   Mon Jul 15 09:01:20 2019 +0300

    vulkan/wsi: update swapchain status on vkQueuePresent
    
    With the following chain of events :
    
       vkQueuePresent()
       <- Surface resize
       vkQueuePresent()
    
    We should be able to report SUBOPTIMAL or OUT_OF_DATE on the second
    vkQueuePresent() call. Currently we only look at X11 events in the
    vkAcquireNextImage() path so we're not able to report this.
    
    This change checks the queue of events and process any available ones
    to update the swapchain status.
    
    v2: Be consistent about reporting the current error state of the
        swapchain (Jason)
    
    Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111097
    Cc: <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    (cherry picked from commit 6f880f128f9862a047a5ba543c2843e14517b1e6)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7a072f1f396473e7ae29139576a1206a84a25771
Author: Jason Ekstrand <jason at jlekstrand.net>
Date:   Fri Jun 21 09:18:16 2019 -0500

    nir/loop_analyze: Properly handle swizzles in loop conditions
    
    This commit re-plumbs all of nir_loop_analyze to use nir_ssa_scalar for
    all intermediate values so that we can properly handle swizzles.  Even
    though if conditions are required to be scalars, they may still consume
    swizzles so you could have ((a.yzw < b.zzx).xz && c.xx).y == 0 as your
    loop termination condition.  The old code would just bail the moment it
    saw its first non-zero swizzle but we can now properly chase the scalar
    from the if condition to all the way to a, b, and c.
    
    Shader-db results on Kaby Lake:
    
        total loops in shared programs: 4388 -> 4364 (-0.55%)
        loops in affected programs: 29 -> 5 (-82.76%)
        helped: 29
        HURT: 5
    
    Shader-db results on Haswell:
    
        total loops in shared programs: 4370 -> 4373 (0.07%)
        loops in affected programs: 2 -> 5 (150.00%)
        helped: 2
        HURT: 5
    
    Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>
    (cherry picked from commit ff972c7a3a7e80a426b72f285902d35f6ca3b820)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b685e303f7488d10b37736af3ff0011afb4e649b
Author: Jason Ekstrand <jason at jlekstrand.net>
Date:   Thu Jun 20 11:12:54 2019 -0500

    nir: Add some helpers for chasing SSA values properly
    
    There are various cases in which we want to chase SSA values through ALU
    ops ranging from hand-written optimizations to back-end translation
    code.  In all these cases, it can be very tricky to do properly because
    of swizzles.  This set of helpers lets you easily work with a single
    component of an SSA def and chase through ALU ops safely.
    
    Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>
    (cherry picked from commit 8f7405ed9d473c1729d48c5add4f0d9fe147c75a)
    [Juan A. Suarez: resolve trivial conflicts]
    Signed-off-by: Juan A. Suarez Romero <jasuarez at igalia.com>
    
    Conflicts:
    	src/compiler/nir/nir.h

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b9b376b8215f2ee17fb33f9dacad2ccf434e4507
Author: Jason Ekstrand <jason at jlekstrand.net>
Date:   Mon Jun 24 17:33:02 2019 -0500

    nir/loop_analyze: Refactor detection of limit vars
    
    This commit reworks both get_induction_and_limit_vars() and
    try_find_trip_count_vars_in_iand to return true on success and not
    modify their output parameters on failure.  This makes their callers
    significantly simpler.
    
    Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>
    (cherry picked from commit 0333649e638a38258957fd8b7e0367d73bbc7a80)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fde2473a06fe0b374b3b3ac311e23aa79ea4c92f
Author: Gert Wollny <gert.wollny at collabora.com>
Date:   Thu May 2 15:54:55 2019 +0200

    softpipe: Remove unused static function
    
    Thanks to Eric Engestrom for pointing out that there was something wrong
    with that function.
    
    Fixes: 724a73509e1bc1ce3abf9500e457bb2911b642db
      softpipe: Prepare handling explicit gradients
    
    Signed-off-by: Gert Wollny <gert.wollny at collabora.com>
    Reviewed-by: Eric Anholt <eric at anholt.net>
    (cherry picked from commit 9c611fb38119d308c73dc777a1d7d1336b22fab5)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b43e2d5a1212d35c8b7554d2e4d12425a29fe42a
Author: Jason Ekstrand <jason at jlekstrand.net>
Date:   Fri Jul 12 11:01:40 2019 -0500

    nir/regs_to_ssa: Handle regs in phi sources properly
    
    Sources of phi instructions act as if they occur at the very end of the
    predecessor block not the block in which the phi lives.  In order to
    handle them correctly, we have to skip phi sources on the normal
    instruction walk and handle them as a separate walk over the successor
    phis.  While registers in phi instructions is a bit of an oddity it can
    happen when we temporarily go out-of-SSA for control-flow manipulations.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111075
    Cc: mesa-stable at lists.freedesktop.org
    Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira at intel.com>
    (cherry picked from commit 6fb685fe4b762c8030f86895707516e2481e9ece)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=cffebf6f57d4dca7df742c808d4759a1da73cc33
Author: Yevhenii Kolesnikov <yevhenii.kolesnikov at globallogic.com>
Date:   Tue Jul 9 15:11:15 2019 +0300

    meta: leaking of BO with DrawPixels
    
    ctx->Unpack.BufferObj wasn't unreferenced.
    
    Fixes: d492e7b0171 (meta: Fix invalid PBO access from DrawPixels when
    trying to just alloc.)
    CC: Eric Anholt <eric at anholt.net>
    Signed-off-by: Yevhenii Kolesnikov <yevhenii.kolesnikov at globallogic.com>
    Reviewed-by: Eric Anholt <eric at anholt.net>
    (cherry picked from commit 3853871ef80d3dcd357b72056f2ce709706ac11c)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3a27a5b98937bd11b19c5d848120236d8d84ff75
Author: Jason Ekstrand <jason at jlekstrand.net>
Date:   Mon Jul 15 17:14:26 2019 -0500

    anv: Account for dynamic stencil write disables in the PMA fix
    
    In 6ce8592836b8 we started looking at the dynamic stencil state and
    disabling stencil writes when the stencil mask is zero.  Unfortunately,
    we never updated the PMA fix code accordingly so 3DSTATE_WM_DEPTH_STENCIL
    and the PMA fix were getting out-of-sync causing hangs.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109203
    Fixes: 6ce8592836 "anv: Disable stencil writes when both write..."
    Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
    (cherry picked from commit 6a441151c245d7b59b84502257a0ff1a300b8633)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=43682f0c6f4384ec9d8dbeedfd5eaef769141ace
Author: Sergii Romantsov <sergii.romantsov at globallogic.com>
Date:   Mon May 27 16:45:35 2019 +0300

    meta: memory leak of CopyPixels usage
    
    Meta of CopyPixel generates a buffer object
    but does not free it on cleanup.
    
    Fixes: 37d11b13ce1d (meta: Don't pollute the buffer object namespace in _mesa_meta_setup_vertex_objects)
    Signed-off-by: Sergii Romantsov <sergii.romantsov at globallogic.com>
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
    (cherry picked from commit 7417b432113cd5b542f5bb4efd6c2b6120157576)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6ba4ce97b722f9561cac8c8263e0355b4212378c
Author: Caio Marcelo de Oliveira Filho <caio.oliveira at intel.com>
Date:   Wed Jul 3 12:47:53 2019 -0700

    spirv: Fix stride calculation when lowering Workgroup to offsets
    
    Use alignment to calculate the stride associated with the pointer
    types.  That stride is used when the pointers are casted to arrays.
    
    Note that size alone is not sufficient, e.g. struct { vec2 a; vec1 b;
    } will have element an element size of 12 bytes, but the stride needs
    to be 16 bytes to respect the 8 byte alignment.
    
    Fixes: 050eb6389a8 "spirv: Ignore ArrayStride in OpPtrAccessChain for Workgroup"
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    (cherry picked from commit 026cfa10995ff3316476fa19507fa27adc531de5)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f24507425bb46e5c05c11bf01488c6fc078bd0e2
Author: Jason Ekstrand <jason at jlekstrand.net>
Date:   Mon Jul 15 10:31:49 2019 -0500

    nir,intel: Add support for lowering 64-bit nir_opt_extract_*
    
    We need this when doing full software 64-bit emulation.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110309
    Fixes: cbad201c2b3 "nir/algebraic: Add missing 64-bit extract_[iu]8..."
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
    (cherry picked from commit 0ba508d7a3b6a006b5b8db1e865d33efc8d0abd5)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=cad015acb5d3c97c157ae3dbb21b7ac653995286
Author: Jason Ekstrand <jason at jlekstrand.net>
Date:   Wed Jul 10 15:14:42 2019 -0500

    nir/opt_if: Clean up single-src phis in opt_if_loop_terminator
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111071
    Fixes: 2a74296f24ba "nir: add opt_if_loop_terminator()"
    Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>
    (cherry picked from commit 7a19e05e8c84152af3a15868f5ef781142ac8e23)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2c1e3692b8bb3376173a742a640dcbb51104d880
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Mon Jul 8 12:47:14 2019 +0200

    anv: Add android dependencies on android.
    
    Specifically needed for nativewindow for some VK_EXT_external_memory_android_hardware_buffers
    functions, where we call into some AHardwareBuffer functions.
    
    The legacy Android ext did not have us call into any Android function
    at all and hence it was not noticed.
    
    Fixes: 755c633b8d9 "anv: Fix vulkan build in meson."
    Reviewed-by: Eric Engestrom <eric.engestrom at intel.com>
    Reviewed-by: Chad Versace <chadversary at chromium.org>
    (cherry picked from commit d4f0f1a6e21953a9bedc91f1de4366afdc51bb58)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fa9ba5e19e21adfe477c28ba14cbac077948af3f
Author: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Date:   Mon Jul 15 15:35:11 2019 +0300

    anv: fix crash in vkCmdClearAttachments with unused attachment
    
    anv_render_pass_compile() turns an unused attachment into a NULL
    depth_stencil_attachment pointer so check that pointer before
    accessing it.
    
    Found with updates to existing CTS tests.
    
    Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
    Fixes: 208be8eafa30be ("anv: Make subpass::depth_stencil_attachment a pointer")
    Reviewed-by: Eric Engestrom <eric at engestrom.ch>
    Reviewed-by: Juan A. Suarez <jasuarez at igalia.com>
    (cherry picked from commit c9c8c2f7d7d83443928717a00c3be8f1f690e6c3)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6df891afa6d0643d72667bf7f84bbe246214a712
Author: Vinson Lee <vlee at freedesktop.org>
Date:   Thu Jun 13 15:08:27 2019 -0700

    meson: Add dep_thread dependency.
    
    Fix this build error on Ubuntu 18.04.
    
    /usr/bin/ld: src/util/libmesa_util.a(u_cpu_detect.c.o): undefined reference to symbol 'pthread_once@@GLIBC_2.2.5'
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110663
    Suggested-by: Eric Engestrom <eric@@engestrom.ch>
    Signed-off-by: Vinson Lee <vlee at freedesktop.org>
    Reviewed-by: Eric Anholt <eric at anholt.net>
    Acked-by: Eric Engestrom <eric at engestrom.ch>
    (cherry picked from commit 730ceeddb557cec08a502e82b7faeb689bc91d2a)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=17dc693590ab2d6f436d24de8d3f31e2e41e8643
Author: Eric Anholt <eric at anholt.net>
Date:   Mon May 13 16:58:51 2019 -0700

    freedreno: Fix assertion failures in context setup in shader-db mode.
    
    Cherry-picks a0d4d7febff56ec7f4a4396f7b893319958f97d3 upstream
    
    The TTN path needs access to the screen to make the right decisions about
    lowering, but we didn't have pctx->screen set up at fdN_prog_init time.
    
    Reviewed-by: Rob Clark <robdclark at gmail.com>
    Tested-by: Eduardo Lima Mitev <elima at igalia.com>
    Signed-off-by: John Stultz <john.stultz at linaro.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=14a2fba722ae816a22e933f55c83505a99ee428c
Author: Caio Marcelo de Oliveira Filho <caio.oliveira at intel.com>
Date:   Fri Jul 12 14:37:38 2019 -0700

    anv: Fix pool allocator when first alloc needs to grow
    
    When using softpin, the first allocation was not calculating the
    padding and offset correctly for the case the first allocation needed
    to grow.  We were missing initialize the state.end right after
    expanding the pool for the first time.
    
    This is not a problem for non-softpin since there we don't use
    leftover padding so the ends would re-arrange incrementally.
    
    This fixes running dEQP-VK.ssbo.phys.layout.random.16bit.scalar.13 in
    SKL -- the test uses a shader larger than the initial size for the
    instruction pool.
    
    Fixes: dfc9ab2ccd9 "anv/allocator: Add padding information."
    Reviewed-by: Rafael Antognolli <rafael.antognolli at intel.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    (cherry picked from commit 09c4037ddada76ad07cca2fd6b46f5451fa55f1b)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e4b7aa9e746b2c2150adc62ab1a68ee31dcdc733
Author: Timothy Arceri <tarceri at itsqueeze.com>
Date:   Mon Jul 1 12:25:19 2019 +1000

    mesa: save/restore SSO flag when using ARB_get_program_binary
    
    Without this the restored program will fail the pipeline validation
    checks when we attempt to use an SSO program.
    
    Fixes: c20fd744fef1 ("mesa: Add Mesa ARB_get_program_binary helper functions")
    
    Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111010
    (cherry picked from commit 3043908ccb9c7030add1f34f9a947a787949a399)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=24e7db0a368e24e7a9381e3b0202a8558ecde170
Author: Jason Ekstrand <jason at jlekstrand.net>
Date:   Sat Jun 22 10:57:39 2019 -0500

    anv: Set Stateless Data Port Access MOCS
    
    This is the MOCS setting used for the A64 stateless messages which we
    sometimes use for SSBO operations.
    
    Fixes: 48ed2a7bb009 "anv: Implement VK_EXT_buffer_device_address"
    Fixes: 79fb0d27f3ab "anv: Implement SSBOs bindings with GPU addr..."
    Reviewed-by: Chad Versace <chadversary at chromium.org>
    Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
    (cherry picked from commit 6a2ff217b8a7f126771ce73783be4e2fa4eac5c2)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=28aec046597590c120c6d680ceb51adcc3ac0e0d
Author: Jason Ekstrand <jason at jlekstrand.net>
Date:   Mon Jun 24 16:21:07 2019 -0500

    nir/loop_analyze: Bail if we encounter swizzles
    
    None of the current code knows what to do with swizzles.  Take the safe
    option for now and bail if we see one.  This does have a small shader-db
    impact but it is at least safe.
    
    Shader-db results on Kaby Lake:
    
        total loops in shared programs: 4364 -> 4388 (0.55%)
        loops in affected programs: 5 -> 29 (480.00%)
        helped: 5
        HURT: 29
    
    Shader-db results on Haswell:
    
        total loops in shared programs: 4373 -> 4370 (-0.07%)
        loops in affected programs: 5 -> 2 (-60.00%)
        helped: 5
        HURT: 2
    
    Fixes: 6772a17acc8ee "nir: Add a loop analysis pass"
    Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>
    (cherry picked from commit 9a3cb6f5fec040dea4a229b93f789995b36f9c09)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0b540a702a6019bc1498f9952ddf4da068c04578
Author: Jason Ekstrand <jason at jlekstrand.net>
Date:   Thu Jun 20 16:26:19 2019 -0500

    nir/loop_analyze: Handle bit sizes correctly in calculate_iterations
    
    The current code assumes everything is 32-bit which is very likely true
    but not guaranteed by any means.  Instead, use nir_eval_const_opcode to
    do the calculations in a bit-size-agnostic way.  We also use the new
    constant constructors to build the correct size constants.
    
    Fixes: 6772a17acc8ee "nir: Add a loop analysis pass"
    Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>
    (cherry picked from commit 268ad47c1115be8a8444d8e0e40af71623f9d281)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=afaec581a880a5e1c7ecaf7ba45f48d2be437792
Author: Jason Ekstrand <jason at jlekstrand.net>
Date:   Thu Jun 20 10:36:10 2019 -0500

    nir: Add more helpers for working with const values
    
    Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>
    (cherry picked from commit ce5581e23e54be91e4c1ad6a6c5990eca6677ceb)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f5e70045e1ad7ff6c2cdd9a8eff682fcdd166067
Author: Jason Ekstrand <jason at jlekstrand.net>
Date:   Thu Jun 20 16:13:39 2019 -0500

    nir/loop_analyze: Fix phi-of-identical-alu detection
    
    One issue was that the original version didn't check that swizzles
    matched when comparing ALU instructions so it could end up matching
    very different instructions.  Using the nir_instrs_equal function from
    nir_instr_set.c which we use for CSE should be much more reliable.
    Another was that the loop assumes it will only run two iterations which
    may not be true.  If there's something which guarantees that this case
    only happens for phis after ifs, it wasn't documented.
    
    Fixes: 9e6b39e1d521 "nir: detect more induction variables"
    Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>
    (cherry picked from commit 9f7ffe41dd185487479ea8846df1f5cdbf1b83a6)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d76ab7d9fb8898e5b1582d8b5dca14191787ae81
Author: Jason Ekstrand <jason at jlekstrand.net>
Date:   Thu Jun 20 13:47:30 2019 -0500

    nir/instr_set: Expose nir_instrs_equal()
    
    Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>
    (cherry picked from commit 6e984bcb92cf5e8b7da7387bc73cf6519ea2f43d)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8bc7397e02d26b6413ee2dd3763069f0af8281bd
Author: Connor Abbott <cwabbott0 at gmail.com>
Date:   Tue Jun 4 13:02:31 2019 +0200

    nir: Add a helper to determine if an intrinsic can be reordered
    
    This is simple now, but we're going to be adding a few more conditions
    to this later.
    
    Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>
    (cherry picked from commit a1c737927c0d96f26ce487930aa9a2ed323814c9)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=83c4597f19e7e1d200e44c8d6ea2fe0a55ddb09d
Author: Marek Olšák <marek.olsak at amd.com>
Date:   Tue Jun 25 18:59:50 2019 -0400

    radeonsi: don't set READ_ONLY for const_uploader to fix bindless texture hangs
    
    Bindless textures can update descriptors with WRITE_DATA.
    
    Cc: 19.1 <mesa-stable at lists.freedesktop.org>
    Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
    Acked-by: Dave Airlie airlied at redhat.com
    (cherry picked from commit 5058d62b05d4f619ccb4f6ea9f6d5c5c33e3b968)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1e3b87790322a8d508995ea72689cc0fbbecd88e
Author: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Date:   Mon Jul 8 16:00:59 2019 +0300

    vulkan/overlay: fix crash on freeing NULL command buffer
    
    It is legal to call vkFreeCommandBuffers() on NULL command buffers.
    
    This fix requires eb41ce1b012f24 ("util/hash_table: Properly handle
    the NULL key in hash_table_u64").
    
    Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
    Fixes: 4438188f492e1f ("vulkan/overlay: record stats in command buffers and accumulate on exec/submit")
    Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    (cherry picked from commit a72351cc763c75d57aee8a85a64859657c3ec7d8)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=87fc035c533350c4c4290d147a60b4b4937e6908
Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Fri Mar 8 23:50:29 2019 -0800

    mesa: Set minimum possible GLSL version
    
    Set the absolute minimum possible GLSL version.  API_OPENGL_CORE can
    mean an OpenGL 3.0 forward-compatible context, so that implies a minimum
    possible version of 1.30.  Otherwise, the minimum possible version 1.20.
    Since Mesa unconditionally advertises GL_ARB_shading_language_100 and
    GL_ARB_shader_objects, every driver has GLSL 1.20... even if they don't
    advertise any extensions to enable any shader stages (e.g.,
    GL_ARB_vertex_shader).
    
    Converts about 2,500 piglit tests from crash to skip on NV18.
    
    Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
    Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109524
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110955
    Cc: mesa-stable at lists.freedesktop.org
    (cherry picked from commit 0349bc3ce2b399082593ddcf1d28782a4566bc08)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=47d6b60127f5ca435e7bf831656a72a929aa01df
Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Thu Jun 13 14:19:11 2019 -0700

    nir: Use nir_src_bit_size instead of alu1->dest.dest.ssa.bit_size
    
    This is important because, for example nir_op_fne has
    dest.dest.ssa.bit_size == 1, but the source operands can be 16-, 32-, or
    64-bits.  Fixing this helps partial redundancy elimination for compares
    in a few more shaders.
    
    v2: Add unit tests for nir_opt_comparison_pre that are fixed by this
    commit.
    
    All Intel platforms had similar results.
    total instructions in shared programs: 17179408 -> 17179081 (<.01%)
    instructions in affected programs: 43958 -> 43631 (-0.74%)
    helped: 118
    HURT: 2
    helped stats (abs) min: 1 max: 5 x̄: 2.87 x̃: 2
    helped stats (rel) min: 0.06% max: 4.12% x̄: 1.19% x̃: 0.81%
    HURT stats (abs)   min: 6 max: 6 x̄: 6.00 x̃: 6
    HURT stats (rel)   min: 5.83% max: 6.06% x̄: 5.94% x̃: 5.94%
    95% mean confidence interval for instructions value: -3.08 -2.37
    95% mean confidence interval for instructions %-change: -1.30% -0.85%
    Instructions are helped.
    
    total cycles in shared programs: 360959066 -> 360942386 (<.01%)
    cycles in affected programs: 774274 -> 757594 (-2.15%)
    helped: 111
    HURT: 4
    helped stats (abs) min: 1 max: 1591 x̄: 169.49 x̃: 36
    helped stats (rel) min: <.01% max: 24.43% x̄: 8.86% x̃: 2.24%
    HURT stats (abs)   min: 1 max: 2068 x̄: 533.25 x̃: 32
    HURT stats (rel)   min: 0.02% max: 5.10% x̄: 3.06% x̃: 3.56%
    95% mean confidence interval for cycles value: -200.61 -89.47
    95% mean confidence interval for cycles %-change: -10.32% -6.58%
    Cycles are helped.
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net> [v1]
    Suggested-by: Jason Ekstrand <jason at jlekstrand.net>
    Reviewed-by: Matt Turner <mattst88 at gmail.com>
    Fixes: be1cc3552bc ("nir: Add nir_const_value_negative_equal")
    (cherry picked from commit 0ac5ff9ecb26ebc07a48e4f15539f975cef9b82a)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fb2c5dd98fe0fbb75993c8df981b28bb4d050f5a
Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Mon Jun 17 16:27:37 2019 -0700

    nir: Add unit tests for nir_opt_comparison_pre
    
    Each tests has a comment with the expected before and after NIR.  The
    tests don't actually check this.  The tests only check whether or not
    the optimization pass reported progress.  I couldn't think of a robust,
    future-proof way to check the before and after code.
    
    Reviewed-by: Matt Turner <mattst88 at gmail.com>
    (cherry picked from commit b08d7040518cdf76792952ceef72cadaa54d0179)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f6c032c6151f8626f4cf60871969bc689f62ba7c
Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Wed Jun 12 13:19:25 2019 -0700

    intel/vec4: Reswizzle VF immediates too
    
    Previously, an instruction like
    
    mul(8) vgrf29.xy:F, vgrf25.yxxx:F, [-1F, 1F, 0F, 0F]
    
    would get rewritten as
    
    mul(8) vgrf0.yz:F, vgrf25.yyxx:F, [-1F, 1F, 0F, 0F]
    
    The latter does not produce the correct result.  The VF immediate in the
    second should be either [-1F, -1F, 1F, 1F] or [0F, -1F, 1F, 0F].  This
    commit produces the former.
    
    Fixes: 1ee1d8ab468 ("i965/vec4: Reswizzle sources when necessary.")
    Reviewed-by: Matt Turner <mattst88 at gmail.com>
    (cherry picked from commit 47c2aa5b481389bfc68d688f02aa1fd4f095713a)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e9e63bfba8a8353e7b6ab54242bdd2895f65b469
Author: Chia-I Wu <olvaffe at gmail.com>
Date:   Sat Jul 6 12:12:51 2019 -0700

    anv: fix VkExternalBufferProperties for host allocation
    
    It was reported as unsupported previously.  It should be importable
    and is compatible with itself.
    
    Signed-off-by: Chia-I Wu <olvaffe at gmail.com>
    Fixes: 69cc6272fbc199 ("anv: Implement VK_EXT_external_memory_host")
    Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
    (cherry picked from commit 5824130389f2333ec44b48814b3e5e84ac297006)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=84f76533e4834da5bb2a44260ffdb35c3c79fb36
Author: Chia-I Wu <olvaffe at gmail.com>
Date:   Sat Jul 6 12:02:51 2019 -0700

    anv: fix VkExternalBufferProperties for unsupported handles
    
    compatibleHandleTypes must include the queried handle type.
    
    Signed-off-by: Chia-I Wu <olvaffe at gmail.com>
    Cc: <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
    (cherry picked from commit f3c7a02a62fdb8941c2201939efcd1caf13456cb)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e0d44fd4feee5b6a8d7b7480694baf225570a889
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Sun Jul 7 21:24:17 2019 +0200

    radv: Handle cmask being disallowed by addrlib.
    
    alignment=0 does weird things with align64.
    
    CC: <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Dave Airlie <airlied at redhat.com>
    (cherry picked from commit e46b41b3aec3e3e1671b9a088291909f74953a88)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5666f3b89154d95924451febf3563c83d161890c
Author: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Date:   Thu Jul 4 21:55:49 2019 +0300

    vulkan/overlay: fix command buffer stats
    
    Begin/Reset of command buffer both reset the content of the command
    buffer. Don't forget to wipe them on Begin.
    
    Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
    Fixes: 4438188f492e1f ("vulkan/overlay: record stats in command buffers and accumulate on exec/submit")
    Acked-by: Eric Engestrom <eric.engestrom at intel.com>
    Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    (cherry picked from commit 8f0f727fe4274e222b5a8118c5cb3c7f8cad3d7c)




More information about the mesa-commit mailing list