Mesa (master): 38 new commits

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Jan 6 16:58:49 UTC 2021


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=32a6a13052948cd041ccc27759b412a9a61aa6e2
Author: Rob Clark <robdclark at chromium.org>
Date:   Tue Jan 5 12:38:02 2021 -0800

    freedreno/ir3/parser: Fix pre-a6xx stib parsing
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8175>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=859c92d7ee6025ff4cf94b530623132d63232457
Author: Rob Clark <robdclark at chromium.org>
Date:   Tue Jan 5 12:28:53 2021 -0800

    freedreno/ir3/parser: a6xx ldib/stib parsing
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8175>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b7ea6ec17875bd6ba2fde3bcabec040bf1e8ac15
Author: Rob Clark <robdclark at chromium.org>
Date:   Tue Jan 5 11:39:26 2021 -0800

    freedreno/ir3: Fix pre-a6xx ldgb/stib parsing
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8175>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=050a449dbb75eb383c64c29165348cedec40ac34
Author: Rob Clark <robdclark at chromium.org>
Date:   Tue Jan 5 10:47:08 2021 -0800

    freedreno/ir3: Explicitly flag disasm test vectors that don't parse
    
    Mark the test cases which aren't supported by ir3_parser.y explicitly,
    so we notice future regressions.  And likewise, fail when we see an
    unexpected pass, so we don't forget to update the test vectors in the
    future as ir3_parser improves.
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8175>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b073dae5f0dd08fe59b548581bfcec46cb586e01
Author: Rob Clark <robdclark at chromium.org>
Date:   Mon Jan 4 12:47:36 2021 -0800

    freedreno/ir3: Fix ldg decoding/parsing
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8175>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a7e88787f65131311032ac98f7c636ea51316268
Author: Rob Clark <robdclark at chromium.org>
Date:   Mon Jan 4 11:30:32 2021 -0800

    freedreno/ir3/parser: Fixup stg parsing and add more tests
    
    The offset can also be a register, in which case we need to shuffle
    around the src order.  Add a few more test vectors to cover each
    permutation (no offset, immed offset, gpr offset).
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8175>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d6fa130ddadd5d365f9a09f114d73d2374a38c7d
Author: Rob Clark <robdclark at chromium.org>
Date:   Sun Jan 3 10:08:21 2021 -0800

    freedreno/ir3/parser: Add stgb support
    
    Note that this conflicts with `stc` on a6xx+, so a good test that the
    (new) disasm can handle both cases properly.
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8175>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=eddfafae6a454355a99fb1457e10e35b02f0f548
Author: Rob Clark <robdclark at chromium.org>
Date:   Thu Dec 31 11:08:37 2020 -0800

    freedreno/ir3/parser: Add ldgb support
    
    Gives us at least better coverage of pre-a6xx-bindless-ibo instructions.
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8175>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1746c4d211f3a43092e0a97824e81d9dd4c18c1c
Author: Rob Clark <robdclark at chromium.org>
Date:   Wed Dec 30 16:58:09 2020 -0800

    freedreno/ir3/parser: Fix pre-a6xx resinfo
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8175>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=32539c1afc4cde02595268d2c0ea6196f9600cee
Author: Rob Clark <robdclark at chromium.org>
Date:   Wed Dec 30 16:04:55 2020 -0800

    freedreno/ir3/parser: Fix atomic support
    
    1) Handle a6xx bindless form
    2) Fix shared vs global encoding
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8175>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c5479d1d8d8caea48dda58e51d53d492b8d6c3cd
Author: Rob Clark <robdclark at chromium.org>
Date:   Wed Dec 30 15:18:16 2020 -0800

    freedreno/ir3/parser: Add ldc support
    
    Note that this shows up a slight encoding difference compared to test
    vector extracted from blob deqp runs.  We think these should be dontcare
    bits.  For now, add a note and replace the encoded value in the disasm
    test.
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8175>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d7f141bb353f632ef3a77694e56c92dab8c085f2
Author: Rob Clark <robdclark at chromium.org>
Date:   Wed Dec 30 15:00:44 2020 -0800

    freedreno/ir3: Add cat5/cat6 nonuniform flag
    
    Not yet used by the compiler, but needed so we don't loose information
    between ir3 parser and instruction encoding.
    
    Currently ignored for cat5, because the uniform vs non-uniform default
    is swapped there.
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8175>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=101bf686eeb8226dc3dd1dbda2a69d5e9636ddab
Author: Rob Clark <robdclark at chromium.org>
Date:   Wed Dec 30 13:23:18 2020 -0800

    freedreno/ir3: Disambiguate a6xx+ "bindless" instructions
    
    Add a `.b`.. for the atomic instructions it should be `atomic.b.op` but
    for now put the `.b` at the end to simplify life for the existing disasm
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8175>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c55737902c55fe0349919de54e9bf3584f1e7213
Author: Rob Clark <robdclark at chromium.org>
Date:   Mon Dec 28 09:05:08 2020 -0800

    freedreno/ir3: Don't leak disk_cache
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8175>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=71f902bab9767e33223011bd9cc91e535e8723d0
Author: Rob Clark <robdclark at chromium.org>
Date:   Sat Dec 19 12:35:08 2020 -0800

    freedreno/ir3: Add parsing and assembler testing
    
    In theory we should be able to round-trip from disasm->asm and get a
    bitwise match.
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8175>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b91319d9520e2d36f9416f7699af46b5faf9d17c
Author: Rob Clark <robdclark at chromium.org>
Date:   Mon Dec 21 11:08:05 2020 -0800

    freedreno/ir3: Tweak ldib/resinfo encoding
    
    The blob is using '0' for the low bit in these (except for ldib where it
    seems to randomly use either '0' or '1').  The upcoming xml based ISA
    spec maps this bit to 'dontcare' in the ldib case.
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8175>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=99908c8d6d64299b6eed4b01b9601eb2f618255a
Author: Rob Clark <robdclark at chromium.org>
Date:   Mon Dec 21 10:59:15 2020 -0800

    freedreno/ir3/parser: Add initial cat6 IBO instructions
    
    Well, really just resinfo.. dealing with the different ldib/stib syntax
    for a6xx+ vs earlier seems a bit too painful to deal with.  But resinfo
    at least gives us some encoding test coverage of this group of instrs.
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8175>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f9c76fba9d1afe32b0ae62aba6869150db1c9b17
Author: Rob Clark <robdclark at chromium.org>
Date:   Mon Dec 21 09:34:13 2020 -0800

    freedreno/ir3/parser: Relative gpr/const can have modifiers too
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8175>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=594b004e0050605180ea3b2778108c2dcefbf369
Author: Rob Clark <robdclark at chromium.org>
Date:   Mon Dec 21 09:15:54 2020 -0800

    freedreno/ir3/parser: Add missing (sat) modifier
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8175>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=77552cbdda195df25eca59eadd40d448801681eb
Author: Rob Clark <robdclark at chromium.org>
Date:   Mon Dec 21 09:05:05 2020 -0800

    freedreno/ir3: Don't set bit for dest conversion for p0.c
    
    This appears to be ignored when writing to predicate registers (which I
    guess makes sense, since they are boolean).  So no real harm in setting
    it, other than it makes some of the ir3_parser test vectors not match
    the expected result for encoding.
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8175>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1cdff353618f5f1c9250095c03885ea3f247c71e
Author: Rob Clark <robdclark at chromium.org>
Date:   Mon Dec 21 08:44:49 2020 -0800

    freedreno/ir3/parser: Fixup cat5 s2en instructions
    
    Currently ir3 (incl emit_cat5()) expects the samp/tex src register to be
    first.. which requires some fixup for the parser to match.
    
    TODO we might want to revisit the src reg order when adding new instr
    packing/encoding.  For now, lets just make the parser match the rest of
    ir3.
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8175>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d35c79614e99485ce654ed5352490cc8a0adcc80
Author: Rob Clark <robdclark at chromium.org>
Date:   Sun Dec 20 12:52:08 2020 -0800

    freedreno/ir3/parser: Fix dsxpp/dsypp encoding
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8175>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e9b323491529d959222e97b7530ec1d679f9a071
Author: Rob Clark <robdclark at chromium.org>
Date:   Sun Dec 20 12:35:27 2020 -0800

    freedreno/ir3/parser: Fix cat6 store encoding
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8175>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b90a1cf7470a41b7826681e8fd45ab25d61641ac
Author: Rob Clark <robdclark at chromium.org>
Date:   Sun Dec 20 11:05:57 2020 -0800

    freedreno/ir3: Cleanup cat6 load instructions
    
    There was some src2 vs src3 confusion, but since the syntax is like:
    
       ldl.f32 rDst, l[rBase+off], ncomp
    
    it makes more sense to call the offset src2 and ncomp src3, than the
    way we had it.  This is also easier to deal with for the ir3 assembly
    parser.
    
    Also, src_offset was only ever used by the assembly parser, and was
    handled incorrectly in emit_cat6(), resulting that cat6 load instrs
    would not work properly in (for ex) computerator.  Since we are
    cleaning things up, drop src_offset and make the asm parser work in
    the same way as the nir->ir3 frontend.
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8175>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4e272003b17af9c5d9b78e3e31176b89b1b20e7b
Author: Rob Clark <robdclark at chromium.org>
Date:   Sun Dec 20 09:58:45 2020 -0800

    freedreno/ir3: Clean up instruction creation
    
    Convert everything remaining over to the version which takes # of
    register (src + dst) and drop the ir3_instr_create2() version.
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8175>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d968f46997a6c02dff738d6e1e5c69b3b5e9a31f
Author: Rob Clark <robdclark at chromium.org>
Date:   Sat Dec 19 15:36:24 2020 -0800

    freedreno/ir3/parser: Handle half-immed
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8175>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=68be24dd6cfd2ca0f75170bbed9310d53ca9fe0f
Author: Rob Clark <robdclark at chromium.org>
Date:   Sat Dec 19 15:14:26 2020 -0800

    freedreno/ir3/parser: cat1 updates (mova1, movmsk)
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8175>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=647d7fc36d3ba74a6d4ed7369d4514130ab5b264
Author: Rob Clark <robdclark at chromium.org>
Date:   Sat Dec 19 14:15:13 2020 -0800

    freedreno/ir3/parser: cat1 instructions can write relative GPR
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8175>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0b36044d4ff8c9e2d613746d814847d7ddbc2788
Author: Rob Clark <robdclark at chromium.org>
Date:   Sat Dec 19 14:05:58 2020 -0800

    freedreno/ir3/parser: Add new cat0 instructions
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8175>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2dc6458563c9886ea61ca3c0f807355def93d6c3
Author: Rob Clark <robdclark at chromium.org>
Date:   Sat Dec 19 13:46:59 2020 -0800

    freedreno/ir3: Various cat0 updates
    
    Update the IR and packer to handle the additional cat0 fields, in
    prep for adding support in the assembler (in prep for adding round
    trip parsing/packing test coverage).
    
    We don't actually use these yet from the ir3 compiler, but at least
    this is one less thing to worry about when we start trying to use
    them.
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8175>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=eec183c1593810d1d2e32c6bc1bdb22a14e55a43
Author: Rob Clark <robdclark at chromium.org>
Date:   Sat Dec 19 13:17:36 2020 -0800

    freedreno/ir3/parser: Reset lexer when input changes
    
    Otherwise, in case of parse errors, the lexer state can still contain
    buffered input from the previous parse.
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8175>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7b2d2bafe4cda1723d704c7bcee9b44f762c9276
Author: Rob Clark <robdclark at chromium.org>
Date:   Sat Dec 19 11:45:31 2020 -0800

    freedreno/ir3: Move assembler error handling
    
    Move out of ir3_parse_asm() so we can re-use it in disasm test for
    round-tripping asm/disasm.  We don't want failures to be fatal (yet)
    as there are still some things missing from the assembler.
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8175>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a928d0ab467053b2d50e5dbe77170253acee44c9
Author: Rob Clark <robdclark at chromium.org>
Date:   Tue Dec 15 09:58:15 2020 -0800

    freedreno/ir3: Add some more disasm test vectors
    
    Various things that I noticed which were initially wrong with the xml
    based disasm.
    
    These were extracted from a collection of unique instructions extracted
    from deqp traces, which unfortunately looses the link back to the
    original test case.
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8175>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2933d54992960b84ef8696b9d6de7cce91eec6b1
Author: Rob Clark <robdclark at chromium.org>
Date:   Tue Dec 15 10:50:28 2020 -0800

    freedreno/ir3: Fix mova1 disasm
    
    Yet another mnemonic for mov
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8175>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e3bd9aaf6ba3288cae74d19bc1265c9696390896
Author: Rob Clark <robdclark at chromium.org>
Date:   Mon Dec 14 10:56:04 2020 -0800

    freedreno/ir3: Fix half-immed decoding issues
    
    For mov, half-float immeds are packed in 16b.  In other cases, the
    syntax for a half-immed is a bit different (ie. `h(1)`)
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8175>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6f35ebd8a5435747b2a4ee58bbbfbc9cb29f03b8
Author: Connor Abbott <cwabbott0 at gmail.com>
Date:   Mon Sep 14 12:15:16 2020 +0200

    ir3: Support MOVMSK
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8175>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5d36f36454fb79c990221e1d33e6fb4cccaff949
Author: Connor Abbott <cwabbott0 at gmail.com>
Date:   Wed Sep 16 16:44:08 2020 +0200

    ir3: Better rules for shared src copy propagation
    
    It turns out that the actual rule for when a source/dest can be shared
    is that it has to be cat1, cat2, or cat3. Allow this and silence
    warnings.
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8175>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f9804673fb6cd12134b90e52544da89b31f7886d
Author: Connor Abbott <cwabbott0 at gmail.com>
Date:   Thu Sep 10 12:14:24 2020 +0200

    ir3: Rename high registers to shared registers
    
    This more accurately reflects what they are.
    
    Signed-off-by: Rob Clark <robdclark at chromium.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8175>



More information about the mesa-commit mailing list