Mesa (master): 25 new commits

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue May 19 16:22:04 UTC 2020


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3c355f1ae8be2a7e1f9141c5433bdbb35fdcd7e6
Author: Rob Clark <robdclark at chromium.org>
Date:   Sat May 16 13:32:14 2020 -0700

    freedreno/ir3/validate: add checking for types and opcodes
    
    For cases where instructions have a src and/or dst type, validate that
    it matches the src/dst register types.  And for cases where there are
    different opcodes for half vs full, validate that the opcode matches.
    
    Now that we maintain this properly throughout the stages of the ir, we
    can drop the fixups from the RA pass.
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f484d63617afe67f9eb8ba98f96e5c3617aa43c8
Author: Rob Clark <robdclark at chromium.org>
Date:   Sat May 16 14:24:45 2020 -0700

    freedreno/ir3: add helpers to deal with src/dst types
    
    Add some helpers to properly maintain src/dst types, and in the cases
    where opcode depends on src or dst type, maintain that as well.
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3561d34fff44ae82283dc1d4352e87d47793c40e
Author: Rob Clark <robdclark at chromium.org>
Date:   Fri May 15 16:14:47 2020 -0700

    freedreno/ir3: add simple validate pass
    
    We can add to this as we notice other things that are worth validating
    between ir3 passes.
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=554f3d54ca1abac21df7ab052c1b48d9d44e774c
Author: Rob Clark <robdclark at chromium.org>
Date:   Sun May 17 10:28:52 2020 -0700

    freedreno/ir3: fix mismatched wrmask for overlapping VS inputs
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=16cd232dbc31fd594b8ce6b04576870b36d301f6
Author: Rob Clark <robdclark at chromium.org>
Date:   Sat May 16 18:03:25 2020 -0700

    freedreno/ir3/cp: fix cmps folding
    
    When we start doing cp iteratively, we hit the case that we've already
    `cmps.s.*` into a `cmps.s.ne p0.x, ...`..  when we try to do that again
    we can invert the logic condition.  So check specifically the condition
    to prevent this.
    
    TODO we could maybe be more clever about this to combine conditions.
    But why isn't that happening in nir?  For example, see
    dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed.bool
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=39de27d3b9031af5115504893b5e1bd42756d3db
Author: Rob Clark <robdclark at chromium.org>
Date:   Sat May 16 17:47:49 2020 -0700

    freedreno/ir3/print: print cat2 condition
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7b86b5ed7d355c97b5eb889637e9dd66d98a6e1d
Author: Rob Clark <robdclark at chromium.org>
Date:   Sat May 16 15:58:04 2020 -0700

    freedreno/ir3: fix immed type in create_addr0()
    
    We can also remove a bunch of manual src/dst flag munging, since the
    instruction builders handle this automatically now.
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3474ba53b5e6560e758cef51b50d248b6fb806ec
Author: Rob Clark <robdclark at chromium.org>
Date:   Fri May 15 17:12:25 2020 -0700

    freedreno/ir3/cf: handle multiple cov's properly
    
    There can be multiple (for ex.) f32f16's from a single source, in
    particular appearing in different blocks.  We need to update all uses
    of the src which had conversion folded in, not all the uses of the
    individual cov.  Also, to avoid invalidating the ssa use info that was
    gathered at the beginning of the pass, don't actually eliminate the
    cov, but instead change it to a simple mov that the cp pass can gobble
    up.
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3db5d146e97e132e17fe7e3aca306c3523d14279
Author: Rob Clark <robdclark at chromium.org>
Date:   Fri May 15 16:44:29 2020 -0700

    freedreno/ir3: fix mismatched flags on split
    
    We have to fixup the meta:split half flag, because `ir3_split_dest()` is
    called before we fixup the dest type.  But we should fixup both the
    split src and dest, as well as the thing it is splitting.
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b24b6a83653f1b53237288215cbff94ffeb2dc56
Author: Rob Clark <robdclark at chromium.org>
Date:   Fri May 15 15:48:06 2020 -0700

    freedreno/ir3/group: fix for half-regs
    
    If we're inserting a mov to resolve a conflict between meta:collect's
    (ie. for .zyx type swizzles, etc), we should use the correct precision.
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fcfe5eff63358371b10f1cb75964e3f930d4c858
Author: Rob Clark <robdclark at chromium.org>
Date:   Sat May 16 12:15:23 2020 -0700

    freedreno/ir3: make input/output iterators declare cursor ptr
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c1d33eed417a78407d0955b603085f4e521d9edf
Author: Rob Clark <robdclark at chromium.org>
Date:   Sat May 16 12:08:26 2020 -0700

    freedreno/ir3: make foreach_ssa_src declar cursor ptr
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=65f604e3b3b25bb95c96062675817a3828562e26
Author: Rob Clark <robdclark at chromium.org>
Date:   Sat May 16 12:01:08 2020 -0700

    freedreno/ir3: make foreach_src declare cursor ptr
    
    To match how the newer iterators work.
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=599fd861d4898a0e1c51c64f2a5ae2665e052b53
Author: Rob Clark <robdclark at chromium.org>
Date:   Thu May 14 12:09:35 2020 -0700

    freedreno/ir3: be iterative
    
    It does pick up a few more cf/cp opportunities, according to sharder-db.
    But don't think it will be measurable.
    
    But this will allow some future simplification to cp by pulling out it's
    internal iteration.
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b828929ac9d14309b56177350b37def3b001e8a6
Author: Rob Clark <robdclark at chromium.org>
Date:   Thu May 14 14:28:52 2020 -0700

    freedreno/ir3: move where we preserve binning pass inputs
    
    For a6xx, since we use same VBO state for binning and VS, we need to
    preserve potentially unused inputs.  This needs to be done before DCE.
    So move it before we add earlier DCE passes.
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d0cfc06a2c3ab583ab8a29d9f365cb5ee417dfe3
Author: Rob Clark <robdclark at chromium.org>
Date:   Thu May 14 12:02:54 2020 -0700

    freedreno/ir3: add IR3_PASS() macro
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c9e5605720f48b3094e708e5c762b340544ab3ff
Author: Rob Clark <robdclark at chromium.org>
Date:   Thu May 14 16:09:07 2020 -0700

    freedreno/ir3/postsched: report progress
    
    Or do the easy thing and claim we always changed something.  It is kinda
    hard and not worth the effort to determine for real.
    
    Also rip out unused error handling.  This pass should never fail.  And
    we weren't even actually checking the return.
    
    And while we're at it, switch over to taking the 'struct ir3 ir*`
    instead of ctx, to standardize with the other passes.
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c953794cd6e4a5767b0739b1effc48b066e2a29c
Author: Rob Clark <robdclark at chromium.org>
Date:   Thu May 14 16:02:55 2020 -0700

    freedreno/ir3/legalize: report progress
    
    It always does something.  Just return true for IR3_PASS()
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c3630c9d29b7bc7dbdf7d914d39782b4d02c5520
Author: Rob Clark <robdclark at chromium.org>
Date:   Thu May 14 16:01:29 2020 -0700

    freedreno/ir3/group: report progress
    
    Not iterative, but this will let IR3_PASS() macro know if there are any
    changes to print.
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=721147a05d47229252dc49460f6de1eec793bfc2
Author: Rob Clark <robdclark at chromium.org>
Date:   Thu May 14 15:43:31 2020 -0700

    freedreno/ir3/deps: report progress
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e4ecfde2dd07494855631865da45a8863372c3ae
Author: Rob Clark <robdclark at chromium.org>
Date:   Thu May 14 11:52:02 2020 -0700

    freedreno/ir3/cp: report progress
    
    Later when we do this pass iteratively, we can drop some of the internal
    iteration and just rely on this pass getting run until there is no more
    progress.
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=372e4663011e7388114d798ac1028da5dd72ab92
Author: Rob Clark <robdclark at chromium.org>
Date:   Thu May 14 11:42:11 2020 -0700

    freedreno/cf: report progress
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b6d121502d8e66cd891f3386ccfb0aee0d8af310
Author: Rob Clark <robdclark at chromium.org>
Date:   Thu May 14 11:39:14 2020 -0700

    freedreno/ir3/dce: report progress
    
    Eventually we'll pull the iteration out of the pass itself, but the
    first step is to just report progress.
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9beb2baaff4a2019aefe3dfc75187d75dba04286
Author: Rob Clark <robdclark at chromium.org>
Date:   Thu May 14 11:36:05 2020 -0700

    freedreno/ir3: juggle around ir3_debug_print()
    
    In a later patch, this will get folded into an IR3_PASS() macro, at
    least for most passes.  But to do that, it is better to standardize
    on printing the ir3 after the pass.
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=947aa23eff7ac6cfb17eb7bc56df0bc9ed4bd2b9
Author: Rob Clark <robdclark at chromium.org>
Date:   Thu May 14 15:35:28 2020 -0700

    freedreno/ir3: remove Sethi-Ullman numbering pass
    
    We haven't used this for a while.
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5048>



More information about the mesa-commit mailing list