Mesa (vulkan): 39 new commits

Jason Ekstrand jekstrand at kemper.freedesktop.org
Fri Apr 15 01:06:15 UTC 2016


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5567ae0547d5f31e51e5f32e78065894e594fd1a
Merge: 48cc8c2 f1d2909
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu Apr 14 17:14:28 2016 -0700

    Merge remote-tracking branch 'public/master' into vulkan

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f1d29099b4eedafb0302a21c0673d12a6610c369
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Apr 5 16:22:26 2016 -0700

    i965: Push everything if pull_param == NULL
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=963513bb24bdd542f1af3733fab53ad450d3221b
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Dec 8 17:34:38 2015 -0800

    i965/fs: Push small uniform arrays
    
    Unfortunately, this also means that we need to use a slightly different
    algorithm for assign_constant_locations.  The old algorithm worked based on
    the assumption that each read of a uniform value read exactly one float.
    If it encountered a MOV_INDIRECT, it would immediately bail and push the
    whole thing.  Since we can now read ranges using MOV_INDIRECT, we need to
    be able to push a series of floats without breaking them up.  To do this,
    we use an algorithm similar to the on in split_virtual_grfs.
    
    Reviewed-by: Kristian Høgsberg <krh at bitplanet.net>
    Acked-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=71f8039f728eb0a67e471321da61f0e88aec8035
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Dec 8 17:14:49 2015 -0800

    i965/fs: Rename demote_pull_constants to lower_constant_loads
    
    Reviewed-by: Kristian Høgsberg <krh at bitplanet.net>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8e76f664beb845f8dca30ca5635f9369618563b0
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Dec 8 17:02:16 2015 -0800

    i965/vec4: Get rid of the uniform_size array
    
    Reviewed-by: Kristian Høgsberg <krh at bitplanet.net>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=056849772f66582fd7e8a181c3fb16955f84243b
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Nov 25 09:36:34 2015 -0800

    i965/vec4: Use MOV_INDIRECT instead of reladdr for indirect push constants
    
    This commit moves us to an instruction based model rather than a
    register-based model for indirects.  This is more accurate anyway as we
    have to emit instructions to resolve the reladdr.  It's also a lot simpler
    because it gets rid of the recursive reladdr problem by design.
    
    One side-effect of this is that we need a whole new algorithm in
    move_uniform_array_access_to_pull_constants.  This new algorithm is much
    more straightforward than the old one and is fairly similar to what we're
    already doing in the FS backend.
    
    Reviewed-by: Kristian Høgsberg <krh at bitplanet.net>
    Acked-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=479e38ad63ab1421afe4f25d36f434ac2e12e817
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Nov 24 17:02:01 2015 -0800

    i965/fs: Get rid of the param_size array
    
    Reviewed-by: Kristian Høgsberg <krh at bitplanet.net>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=30874216cbaa21e9b757af7db1ef165b5c780a39
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Nov 24 15:16:14 2015 -0800

    i965/fs: Stop relying on param_size in assign_constant_locations
    
    Now that we have MOV_INDIRECT opcodes, we have all of the size information
    we need directly in the opcode.  With a little restructuring of the
    algorithm used in assign_constant_locations we don't need param_size
    anymore.  The big thing to watch out for now, however, is that you can have
    two ranges overlap where neither contains the other.  In order to deal with
    this, we make the first pass just flag what needs pulling and handle
    assigning pull constant locations until later.
    
    Reviewed-by: Kristian Høgsberg <krh at bitplanet.net>
    Acked-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=275855f315623923eff863265077a9a840885c9e
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Nov 24 16:54:41 2015 -0800

    i965/fs: Get rid of reladdr
    
    We aren't using it anymore.
    
    Reviewed-by: Kristian Høgsberg <krh at bitplanet.net>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3c93cdfaf598bc3c28e3dc288da35675c666602b
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Nov 24 15:12:20 2015 -0800

    i965/fs: Use MOV_INDIRECT for all indirect uniform loads
    
    Instead of using reladdr, this commit changes the FS backend to emit a
    MOV_INDIRECT whenever we need an indirect uniform load.  We also have to
    rework some of the other bits of the backend to handle this new form of
    uniform load.  The obvious change is that demote_pull_constants now acts
    more like a lowering pass when it hits a MOV_INDIRECT.
    
    Reviewed-by: Kristian Høgsberg <krh at bitplanet.net>
    Acked-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=63101177f32e7ebcaa6c71e046b3e599d21a20b5
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Nov 24 13:52:49 2015 -0800

    nir: Add another index to load_uniform to specify the range read
    
    Reviewed-by: Kristian Høgsberg <krh at bitplanet.net>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=27bd8ac6f309b9f052a7fa9380ac5e12fb686e31
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Nov 24 09:01:11 2015 -0800

    i965/fs: Add support for MOV_INDIRECT on pre-Broadwell hardware
    
    While we're at it, we also add support for the possibility that the
    indirect is, in fact, a constant.  This shouldn't happen in the common case
    (if it does, that means NIR failed to constant-fold something), but it's
    possible so we should handle it.
    
    Reviewed-by: Kristian Høgsberg <krh at bitplanet.net>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=889e6054b7795baa789cc771e76e009d1605efae
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Nov 24 11:24:57 2015 -0800

    i965/fs: Fix regs_read() for MOV_INDIRECT with a non-zero subnr
    
    The subnr field is in bytes so we don't need to multiply by type_sz.
    
    Reviewed-by: Kristian Høgsberg <krh at bitplanet.net>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7e08a13009d53d40f7917b5737159a9c45544458
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Nov 24 09:03:29 2015 -0800

    i965/fs: Don't force MASK_DISABLE on INDIRECT_MOV instructions
    
    It should work fine without it and the visitor can set it if it wants.
    
    Reviewed-by: Kristian Høgsberg <krh at bitplanet.net>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=40a8fe04dcee7a867e7d6044b23fafc20599c899
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon Nov 23 18:32:38 2015 -0800

    i965/fs: Add support for doing MOV_INDIRECT on uniforms
    
    Reviewed-by: Kristian Høgsberg <krh at bitplanet.net>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a8975a91cc0ae02d1d644f62a108172eb630ca0f
Author: Ben Widawsky <ben at bwidawsk.net>
Date:   Mon Apr 11 09:49:41 2016 -0700

    i965: Make intel_get_param return an int
    
    This will fix the spurious error message: "Failed to query GPU properties."
    that was unintentionally added in cc01b63d730.
    
    This patch changes the function to return an int so that the caller is able to
    do stuff based on the return value.
    
    The equivalent of this patch was in the original series that fixed up the
    warning, but I dropped it at the last moment. It is required to make the desired
    behavior of not warning when trying to query GPU properties from the kernel
    unless there is something the user can do about it.
    
    v2: Use strerror (Jason)
    Make EINVAL check similar in all places (Ian)
    
    NOTE: Broadwell appears to actually have some issue where the kernel returns
    ENODEV when it shouldn't be. I will investigate this separately.
    
    Reported-by: Chris Forbes <chrisf at ijw.co.nz>
    Signed-off-by: Ben Widawsky <ben at bwidawsk.net>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Reviewed-by: Alejandro Piñeiro <apinheiro at igalia.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=aed975d5c510135c54252746b44d663d094ecb1e
Author: Brian Paul <brianp at vmware.com>
Date:   Thu Apr 14 15:07:53 2016 -0600

    st/mesa: fix sampler view leak in st_DrawAtlasBitmaps()
    
    I neglected to free the sampler view which was created earlier in the
    function.  So for each glCallLists() command that used the bitmap atlas
    to draw text, we'd leak a sampler view object.
    
    Also, check for st_create_texture_sampler_view() failure and record
    GL_OUT_OF_MEMORY.
    
    Cc: "11.1 11.2" <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Charmaine Lee <charmainel at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a17911ceb11fbf14b296095a9b5c506295b73d99
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Wed Apr 13 10:55:29 2016 -0500

    gallium/radeon: handle failure when mapping staging buffer
    
    Cc: "11.1 11.2" <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8bd0f0df50235fc5c3c556b9e20cb0225580596a
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Wed Apr 13 12:17:28 2016 -0500

    radeonsi: mark ssbo and images descriptor pointers dirty at beginning of CS
    
    Without this, we were getting non-deterministic VM faults under high pressure.
    
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=cb372b39ea15729caf8491f4fd9f12c37a2840df
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Apr 8 10:49:02 2016 -0700

    i965/vec4: Use UD rather than D for uniform indirects
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=240d16ea94834eb2472e91fd4856381951a07007
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Nov 25 09:59:03 2015 -0800

    i965/fs: Use UD type for offsets in VARYING_PULL_CONSTANT_LOAD
    
    Reveiewed-by: Kristian Høgsberg <krh at bitplanet.net>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=bb4cdee9a4dbda40c0e330aef0bbcaf749b7ffab
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Thu Apr 14 21:47:15 2016 +0200

    nvc0: do not break the universe on GK110+
    
    I removed that return 0 by mistake. Ooops.
    
    Fixes: 6e23fd4 ("nvc0: allow to use compute support on GM200")
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6e23fd420d8e7d382f6a643a48cc6fcaeb81ee64
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Thu Apr 14 00:46:50 2016 +0200

    nvc0: allow to use compute support on GM200
    
    This works like a charm but please not that NVF0_COMPUTE have to be set
    because compute support is still not enabled by default on GK110+. This
    will require more testing to make sure it won't break the 3D state.
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ffcc00ce309e5b4d279d24b2a85d23904d721a9a
Author: Jose Fonseca <jfonseca at vmware.com>
Date:   Wed Apr 13 18:19:52 2016 +0100

    scons: Build NIR.
    
    Emil Velikov:
     - Attribute the src/{glsl,compiler}/nir move
     - Flesh out to separate SConscript
    
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=feb6732e8055f17008077c7505f4cd343380116d
Author: Jose Fonseca <jfonseca at vmware.com>
Date:   Wed Apr 13 18:19:51 2016 +0100

    nir: Use _snprintf on Windows.
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ba0c0e3940c904cd88d51a0dafc41cd91723877c
Author: Jose Fonseca <jfonseca at vmware.com>
Date:   Wed Apr 13 18:19:50 2016 +0100

    nir: Avoid structure initalization expressions.
    
    Not supported by MSVC, and completely unnecessary -- inline functions
    work just as well.
    
    NIR_SRC_INIT/NIR_DEST_INIT could and probably should be replaced by the
    inline functions.
    
    Acked-by: Jason Ekstrand <jason at jlekstrand.net>
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8f96524f1390de0a54df029f29018379a8d9bd97
Author: Jose Fonseca <jfonseca at vmware.com>
Date:   Wed Apr 13 18:19:49 2016 +0100

    nir: Remove unistd.h include.
    
    It doesn't seem needed, and is not available on MSVC.
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f8e2f1fba5149a494360ad76a1f90e729de28a0b
Author: Jose Fonseca <jfonseca at vmware.com>
Date:   Wed Apr 13 18:19:48 2016 +0100

    nir: Avoid empty {} struct initializer.
    
    Not supported by MSVC and consistent through NIR.
    
    [Emil Velikov: rebase]
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=bb949e262cb5c4fffe991debc605447e15322666
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Wed Apr 13 15:38:48 2016 +0100

    gallium/swr: fold the almost identical Makefiles
    
    Rather than having two almost identical Makefiles, with various VPATH
    hacks just fold them, using COMMON_* variables and actually getting
    things buildable/shipable.
    
    v2: whitespace fixes, remove Makefile.sources-arch
    
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    Reviewed-by: Tim Rowley <timothy.o.rowley at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=aee976703dc81d2bd8b9779cd4d2e35a500bf705
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date:   Wed Apr 13 15:06:45 2016 -0500

    install-gallium-links.mk: handle multiple libraries
    
    Need to prevent bash from interpreting whitespace between libraries
    as a command line.
    
    Reviewed-by: Emil Velikov <emil.velikov at collabora.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=112291964e27c1e0e570cdff267306b4332af903
Author: Marek Olšák <marek.olsak at amd.com>
Date:   Wed Apr 13 17:46:23 2016 +0200

    radeonsi: don't overwrite the scratch offset in shader prologs
    
    Prologs only look at num_input_sgprs.
    
    Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ffe44d0283e2a987d2083b75e045316ac2898c40
Author: Marek Olšák <marek.olsak at amd.com>
Date:   Wed Apr 13 14:15:16 2016 +0200

    radeonsi: fold num_user_sgprs where it is possible
    
    Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=51c4034f9b344919839cd0bfaa50624a17b61ae5
Author: Marek Olšák <marek.olsak at amd.com>
Date:   Wed Apr 13 13:50:04 2016 +0200

    radeonsi: fix SGPRS calculation once more
    
    This fixes GS piglit failures after adding SI_PARAM_SHADER_BUFFERS,
    which bumped NUM_USER_SGPRS and uncovered this bug on SI.
    
    If this was fixed in LLVM, these workarounds wouldn't be needed.
    
    LLVM would have to look at the calling convention to know how many SGPR
    inputs are declared, and add VCC and the scratch wave offset (which is
    enabled even if we spill SGPRs but not VGPRs, oh well).
    
    Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=aaf5be4a29b4537b7e298c3ddf889180f3b4d855
Author: Marek Olšák <marek.olsak at amd.com>
Date:   Wed Apr 13 16:31:35 2016 +0200

    radeonsi: disable hw ETC2 on Polaris
    
    not supported by hw directly, but it's still fully supported by the driver
    
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4358cfc4adb10d9f4902b4f8cd283610fc101d06
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Thu Apr 14 09:47:50 2016 +0100

    doxygen: remove git rebase fallouts
    
    Should never have been (git) added in the first place.
    
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8fcacb4f90da7649c729dfe2cf98f24a7360ba50
Author: Jose Fonseca <jfonseca at vmware.com>
Date:   Wed Apr 13 13:58:57 2016 +0100

    appveyor: Run unit tests.
    
    Reviewed-by: Roland Scheidegger <sroland at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=50ddf03ada3cc167f7dcb6b26f82adb20162f983
Author: Jose Fonseca <jfonseca at vmware.com>
Date:   Wed Apr 13 13:31:04 2016 +0100

    scons: Add a "check" target to run all unit tests.
    
    Except:
    - u_cache_test -- too long
    - translate_test -- unreliable (it's probably testing corner cases that
      translate module doesn't care about.)
    
    Reviewed-by: Roland Scheidegger <sroland at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9ae0e8ee3cf5e422804dcecd248dc28bb5dc63dc
Author: Jose Fonseca <jfonseca at vmware.com>
Date:   Wed Apr 13 13:29:12 2016 +0100

    test/unit: Make translate_test invoke translate_create by default.
    
    Reviewed-by: Roland Scheidegger <sroland at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f8a51034bded97c9ccf483dd51e7acda373fe1d1
Author: Jose Fonseca <jfonseca at vmware.com>
Date:   Wed Apr 13 13:28:36 2016 +0100

    test/unit: Make pipe_barrier_test actually check correct bahavior.
    
    So it can run unattended.
    
    Also make it silent by default.
    
    Reviewed-by: Roland Scheidegger <sroland at vmware.com>




More information about the mesa-commit mailing list