URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=234ba13f100ed1334a7c93b94e259066fbf1cc80
Author: Alyssa Rosenzweig <[email protected]>
Date:   Wed Jan 6 13:31:34 2021 -0500

    pan/bi: Add packing format tests
    
    These are based on reference outputs generated by the blob.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=9497d8025f49fd04bb172e9346deacefa5a4a14b
Author: Alyssa Rosenzweig <[email protected]>
Date:   Tue Dec 29 11:29:45 2020 -0500

    pan/bi: Test pack_sync
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e0a5e5eb15776178781c5af2baa960bd3aee3cd6
Author: Alyssa Rosenzweig <[email protected]>
Date:   Tue Dec 29 11:18:02 2020 -0500

    pan/bi: Test pack_tuple_bits
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=7898decbd32f505ee29a38f33af83da1ad1a26ec
Author: Alyssa Rosenzweig <[email protected]>
Date:   Tue Dec 29 11:00:31 2020 -0500

    pan/bi: Test pack_upper
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e383af639a9bc72e2f203c00c2e07806746bbe66
Author: Alyssa Rosenzweig <[email protected]>
Date:   Tue Dec 29 10:56:08 2020 -0500

    pan/bi: Test pack_literal
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=80157fac68b478d2d5f0e66b4ae56babda125e15
Author: Alyssa Rosenzweig <[email protected]>
Date:   Tue Dec 29 10:35:11 2020 -0500

    pan/bi: Add packing unit test group
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=4379f7bad27356102131f14567ed1fee578a35a7
Author: Alyssa Rosenzweig <[email protected]>
Date:   Wed Jan 6 13:43:37 2021 -0500

    pan/bi: Pack multiple tuples per clause
    
    Use all of the new helpers to pick formats and use them.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=9362a1398210d501d2290d9802bd38660fe5c9e8
Author: Alyssa Rosenzweig <[email protected]>
Date:   Wed Jan 6 13:42:44 2021 -0500

    pan/bi: Calculate pos for constant packing
    
    We do not yet support multiple (format 12 quadword) constants per clause
    but this is a step in the right direction.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=51f13185c84aee70dae6af81553b8c8981445f4f
Author: Alyssa Rosenzweig <[email protected]>
Date:   Wed Jan 6 13:41:06 2021 -0500

    pan/bi: Add pack_format helper
    
    Packs a single quadword of a clause with a particular format and
    parameters.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=0e9a05c0041d5bd78801c5d8a47d33d4da6f6dfb
Author: Alyssa Rosenzweig <[email protected]>
Date:   Wed Jan 6 13:40:50 2021 -0500

    pan/bi: Add subword 4 or 7 pack
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=1adb996acc3ca55906fbb36540fe053eb0182678
Author: Alyssa Rosenzweig <[email protected]>
Date:   Wed Jan 6 13:40:31 2021 -0500

    pan/bi: Add subword 5/6 pack
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=038bb8eabe6df6e051a56ac9144a4fc83f576fd0
Author: Alyssa Rosenzweig <[email protected]>
Date:   Wed Jan 6 13:39:59 2021 -0500

    pan/bi: Add tuple/embedded constant pack
    
    Used for the first 4 subwords.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=2258acf5caf4fafcc60f91f9160ece61b733e151
Author: Alyssa Rosenzweig <[email protected]>
Date:   Wed Jan 6 13:39:28 2021 -0500

    pan/bi: Add bi_pack_sync
    
    The type/sync byte, also known as the tag.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=5f523c60fc6eeb6c693ca99b160c2a2d8196eaf5
Author: Alyssa Rosenzweig <[email protected]>
Date:   Wed Jan 6 13:38:23 2021 -0500

    pan/bi: Add bi_pack_tuple_bits
    
    More general than the top 3 bit special case. There's some serious
    complication around 78-bit shifting but I digress.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=0812a5204ba65de71ca6ffa5e629df561108d060
Author: Alyssa Rosenzweig <[email protected]>
Date:   Wed Jan 6 13:37:51 2021 -0500

    pan/bi: Add bi_pack_upper
    
    Top 3-bits, found e.g. in the tag.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=62696e5ff5e88052f804990cb08ca0327f7b55be
Author: Alyssa Rosenzweig <[email protected]>
Date:   Wed Jan 6 13:37:11 2021 -0500

    pan/bi: Add bi_pack_literal
    
    Identifies formats.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=576a94b7b899c5f48bc672e2415bb0f57fb7d650
Author: Alyssa Rosenzweig <[email protected]>
Date:   Wed Jan 6 13:36:15 2021 -0500

    pan/bi: Move bi_packed_tuple to compiler.h
    
    To be used for pack prototype.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=9496689f57757d981d43954327d0780978e56619
Author: Alyssa Rosenzweig <[email protected]>
Date:   Tue Dec 29 07:51:29 2020 -0500

    pan/bi: Add clause encodings as a table
    
    We would rather not type out all of the packs by hand (that's error
    prone), so declaratively specify the encodings as a table corresponding
    to the bit patterns.
    
    This is all formats, except for format 12 which just encodes constants.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=34a80e910e68f1d8070cba73d0cf5afc035477b2
Author: Alyssa Rosenzweig <[email protected]>
Date:   Mon Dec 28 17:56:31 2020 -0500

    pan/bi: Pack multiple tuples in-memory
    
    There's still some silly clause-level packing required, but this way the
    register slots are at least assigned correctly.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=fb8b80843cedcc57ea35d429bbc1f25d1a3114d1
Author: Alyssa Rosenzweig <[email protected]>
Date:   Mon Dec 28 17:56:18 2020 -0500

    pan/bi: Amend misleading comment
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=4b480444e165f103016c7b652fa7957c42645a35
Author: Alyssa Rosenzweig <[email protected]>
Date:   Tue Dec 22 15:41:16 2020 -0500

    pan/bi: Clarify tuple comment
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=47348db7e82306a37799a7fe814656902e52e771
Author: Alyssa Rosenzweig <[email protected]>
Date:   Tue Dec 22 15:38:33 2020 -0500

    pan/bi: Use enum bifrost_message_type
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ce2ef3dad6d9219989adfeb78f50e8037c222106
Author: Alyssa Rosenzweig <[email protected]>
Date:   Tue Dec 22 15:36:20 2020 -0500

    pan/bi: Use canonical terminology for tuple
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f74dda9377b150d6a97b9e121f3a23ef6aa1a7a4
Author: Alyssa Rosenzweig <[email protected]>
Date:   Tue Dec 22 15:33:23 2020 -0500

    pan/bi: Move bi_constants to bifrost.h
    
    Although it's software-defined, this stems from architectural traits and
    is useful in both the disasm and the compiler.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ac2b8a56cdb11f8d153160ed39604b430cc39fed
Author: Alyssa Rosenzweig <[email protected]>
Date:   Mon Dec 21 16:23:34 2020 -0500

    pan/bi: Test read predicates
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d0e88a2c2e77fb3d0ab0b94c853a55b01b8e5a4b
Author: Alyssa Rosenzweig <[email protected]>
Date:   Mon Dec 21 15:57:16 2020 -0500

    pan/bi: Test bi_must_message
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e3436e784e4a2f027b3a8587f8d9f65daae10a66
Author: Alyssa Rosenzweig <[email protected]>
Date:   Mon Dec 21 15:55:06 2020 -0500

    pan/bi: Test bi_must_last
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=7bd6ca934d0785a152b8fa2df4f87ebfa08b31cf
Author: Alyssa Rosenzweig <[email protected]>
Date:   Mon Dec 21 15:45:51 2020 -0500

    pan/bi: Unit test bi_can_{fma, add}
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=c05092d9a3d79536e07648300f2c6cbb899103f2
Author: Alyssa Rosenzweig <[email protected]>
Date:   Mon Dec 21 16:23:19 2020 -0500

    pan/bi: Add various read predicates
    
    Correpsonding to source masks in the XML.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ea402eae031d8327cb37d43f8ef650a5f8fe5ff8
Author: Alyssa Rosenzweig <[email protected]>
Date:   Mon Dec 21 16:23:03 2020 -0500

    pan/bi: Emit branch and table bits in opcode table
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=674ec5dc3f3290c8952120cebeb53cdccd45b559
Author: Alyssa Rosenzweig <[email protected]>
Date:   Mon Dec 21 16:22:43 2020 -0500

    pan/bi: Label table instructions
    
    Table instructions are a subset of those scheduled to the ADD unit. They
    typically involve lookup tables. Table (TBL) instructions have
    additional restrictions on their sources which the scheduler must
    respect.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=56e35a4022ac023e0b90a33ce107ddcb7d52392a
Author: Alyssa Rosenzweig <[email protected]>
Date:   Mon Dec 21 15:57:11 2020 -0500

    pan/bi: Add bi_must_message predicate
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ab4234bdf005e010e95be6ae99d32fa7025c7b24
Author: Alyssa Rosenzweig <[email protected]>
Date:   Mon Dec 21 15:54:48 2020 -0500

    pan/bi: Add bi_must_last predicate
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=eb217914f739ebce8734347ca7498817fba6140d
Author: Alyssa Rosenzweig <[email protected]>
Date:   Mon Dec 21 15:54:31 2020 -0500

    pan/bi: Pipe last flag into opcode tables
    
    Only ADD unit for now.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=df4960499e8d142bc10f86281dc0a78be5403b85
Author: Alyssa Rosenzweig <[email protected]>
Date:   Mon Dec 21 15:53:57 2020 -0500

    pan/bi: Annotate ISA.xml with 'last' parameter
    
    If this instruction must be the last in the clause.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=31a7e49613502290afb5392e237f15a32bd77a37
Author: Alyssa Rosenzweig <[email protected]>
Date:   Mon Dec 21 15:45:23 2020 -0500

    pan/bi: Add bi_can_{fma, add} predicates
    
    Stubs due to some edge cases, for the scheduler.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=7434f31e09450ef7d46ecae5ef19d2eb7e817059
Author: Alyssa Rosenzweig <[email protected]>
Date:   Mon Dec 21 15:44:51 2020 -0500

    pan/bi: Factor nir_function_impl out of the context
    
    Unnecessary and complicates unit testing.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=114a0f9798636d6a476f1d6dc88c34c5ca5c4796
Author: Alyssa Rosenzweig <[email protected]>
Date:   Mon Dec 21 15:20:37 2020 -0500

    pan/bi: Stub out scheduler unit test
    
    Someone who understands meson and gtest could do something much nicer,
    but for now let's just stuff some assertions into debug builds of the
    standalone compiler and call it a day...
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=81692b6d2c2796be1ff667b0e8a530bdd0d3817f
Author: Alyssa Rosenzweig <[email protected]>
Date:   Tue Dec 29 16:56:23 2020 -0500

    pan/bi: Add "word equivalence" relation for index
    
    Takes offset *but not swizzle* into account, so the scheduler can
    predict whether indices will end up mapped to the same scalar register.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ab6f05eabdf4a54a93225bbabcffb747b6e2f0a1
Author: Alyssa Rosenzweig <[email protected]>
Date:   Tue Jan 5 13:26:56 2021 -0500

    pan/bi: Move init_builder to common code
    
    Needs to take a cursor to be applicable outside NIR->BIR of course.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=60c0df2c3b2277737796d402f70615b5fc824728
Author: Alyssa Rosenzweig <[email protected]>
Date:   Tue Jan 5 13:26:25 2021 -0500

    pan/bi: Print multiple destinations if needed
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a7cc458dc4630a416e10a99241a35664b8452290
Author: Alyssa Rosenzweig <[email protected]>
Date:   Tue Jan 5 13:25:42 2021 -0500

    pan/bi: Add CUBEFACE pseudoinstruction
    
    Abstracts over *CUBEFACE1/+CUBEFACE2, takes the sources of the former
    and outputs two destinations.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=44726101d1e8c28c2aba2f4eda651840ab099bb3
Author: Alyssa Rosenzweig <[email protected]>
Date:   Thu Jan 7 18:02:40 2021 -0500

    pan/bi: Don't fill garbage
    
    If an index is an SSA form and we haven't even written to it yet, there
    is absolutely no value in filling it, it'd just be uninitialized garbage
    that won't get used. Saves some fills in STK.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ee7aaa27b814343c91705d68de6eebadbe65830b
Author: Alyssa Rosenzweig <[email protected]>
Date:   Wed Dec 30 10:09:47 2020 -0500

    pan/bi: Implement spilling at the clause-level
    
    We use essentially the same logic, but we need to treat entire clauses
    as large instructions, and spill on clause boundaries instead of
    instruction boundaries. So factor out the code a bit, using the new
    iterators, removing bi_unwrap_singleton.
    
    A few specific fixes are needed to adapt. One is simple: rewriting
    destinations needs to preserve clamps and such. The other is a much more
    subtle bug. Consider the clause
    
       {
          ADD 0, ...
          ---unrelated code---
          MUL 1, 0, ...
       }
    
    Suppose we spill 0. The naive spill code would generate an SSA temporary to
    spill to and another SSA temporary to fill from, generating:
    
       {
          LOAD.tl 10
       }
       {
          ADD 11, ...
          ---unrelated code---
          MUL 1, 10, ...
       }
       {
          STORE.tl 11
       }
    
    But this is wrong; the MUL now reads stale (and for SSA, likely
    undefined/uninitialized) data. The simplest fix, employed here, is to
    spill/fill within a clause simultaneously, which means the temporary
    can't be SSA, generating correct code:
    
       {
          LOAD.tl r0
       }
       {
          ADD r0, ...
          ---unrelated code---
          MUL 1, r0, ...
       }
       {
          STORE.tl r0
       }
    
    This is suboptimal, since the LOAD is still likely reading garbage that
    is unused. But it is still correct, and the next commit will avoid
    generating the load in this case.
    
    To make the bug even more subtle, if ADD/MUL are within 2-3 instructions
    of each other, the scheduler will optimize the load to a
    temporary/passthrough, so the bug isn't noticed. It only happens if they
    are 3+ instructions apart yet still in the same clause (<=16
    instructions).
    
    Special thanks to macc24 for reporting this bug and to Jason Ekstrand
    for allowing me to rubberduck.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=c578ca739393d97e4eb5accb5b6e76d9b0f7b1cb
Author: Alyssa Rosenzweig <[email protected]>
Date:   Wed Jan 6 12:25:45 2021 -0500

    pan/bi: Add interference per clause
    
    With new helpers.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=108e10f32a7da9587c2d4f0470e385bb55b5020d
Author: Alyssa Rosenzweig <[email protected]>
Date:   Tue Jan 5 10:30:09 2021 -0500

    pan/bi: Permit multiple destinations in RA
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=07b13647cbcf4ff6d655dae6312ba9094e252456
Author: Alyssa Rosenzweig <[email protected]>
Date:   Tue Jan 5 10:29:01 2021 -0500

    pan/bi: Don't open code bi_foreach_dest
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=083a658ee87f511cf2a42db8333db635c9889688
Author: Alyssa Rosenzweig <[email protected]>
Date:   Tue Jan 5 10:28:47 2021 -0500

    pan/bi: Add destination iterator macro
    
    Convenience.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=eca516ebdb8cf993a30f9f7acf36071b10f674df
Author: Alyssa Rosenzweig <[email protected]>
Date:   Wed Jan 6 12:22:36 2021 -0500

    pan/bi: Add bi_foreach_instr_in_clause iterators
    
    These are convenient for post-sched passes, in particular register
    allocation. They work by noting the underlying linked list of
    instructions in the block must be preserved by scheduling. It isn't
    necessary iterate the clause structure directly, it can simply be used
    to bound a iteration within the block by recalling clauses are strictly
    contained in a single block.
    
       <alyssa> I don't think I'm enough of a C ninja to write fancy iterator 
macros yet.
       <zmike> sometimes those can get pretty mind-bendy
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=62239f68b7e1358cff4d23b4639c003ccc718df3
Author: Alyssa Rosenzweig <[email protected]>
Date:   Wed Jan 6 16:17:37 2021 -0500

    pan/bi: Add bi_foreach_instr_in_tuple helper
    
    Written in a funny way but easy to convince yourself of correctness by
    considering cases.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=2f785ad9ac713f0091474a7aeb6643f740297eef
Author: Alyssa Rosenzweig <[email protected]>
Date:   Wed Jan 6 12:21:36 2021 -0500

    pan/bi: Add bi_foreach_clause_in_block_rev
    
    Trivial absense.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ec0d0426d6d381df685f7cdd72b9f6103e7ad680
Author: Alyssa Rosenzweig <[email protected]>
Date:   Tue Dec 29 17:21:37 2020 -0500

    pan/bi: Add bi_{before,after}_clause cursors
    
    Will be needed to insert spill code after scheduling once we have
    multiple instructions in a clause.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=3ce67cb0d95edf4ecd1e6272a0aa6e56736e4267
Author: Alyssa Rosenzweig <[email protected]>
Date:   Wed Dec 30 13:41:14 2020 -0500

    pan/bi: Add "soft" mode to DCE
    
    We would like to reuse the DCE logic to eliminate register writes
    without eliminating instructions, as a post-sched pass. This type of
    operation will eventually generalize to intrinsics that write a register
    *and* have side effects (just atomics, I think).
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=623bd2127f7dd80c1eed967f25db0ea17ac8dd4f
Author: Alyssa Rosenzweig <[email protected]>
Date:   Wed Jan 20 19:09:34 2021 -0500

    pan/bi: Add dead branch elimination pass
    
    Ported from Midgard due to the same quirk of our code generation.
    Additional validation, though.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d0902aa2d4d9652c62e7c6e63eee0ff5dfbc0b42
Author: Alyssa Rosenzweig <[email protected]>
Date:   Fri Jan 8 22:58:09 2021 -0500

    pan/bi: Pass through wait_{6, 7} flags
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=19b195d3bfcbb5a0a8ef238f4f7d3af8e5f55d40
Author: Alyssa Rosenzweig <[email protected]>
Date:   Fri Jan 8 22:57:53 2021 -0500

    pan/bi: Move bi_next_clause to bir.c
    
    Not really packing specific anyway.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=2492074d3d7c18b6d1f12c0373bf5a721eabb9bd
Author: Alyssa Rosenzweig <[email protected]>
Date:   Wed Jan 20 16:40:52 2021 -0500

    pan/bi: Pull out bi_count_read_registers helper
    
    I want to transition away from the ad hoc masks anyway.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a69c73988b26aaaa6bffde1b3fef5fdc4a7a90a7
Author: Alyssa Rosenzweig <[email protected]>
Date:   Fri Jan 8 21:38:09 2021 -0500

    pan/bi: Fix M1/M2 decoding in disassembler
    
    C's definition of the % operator has a footgun around sign conversion.
    Avoid it and just use bitwise arithemtic instead like the hardware
    would, fixing the disassembly and making buggy assembly more obvious.
    
    Fixes: 08a9e5e3e89 ("pan/bi: Decode M values in disasm")
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=6f28a4449a82da7717b9c25d8e7ed74762e97f99
Author: Alyssa Rosenzweig <[email protected]>
Date:   Tue Jan 5 19:06:53 2021 -0500

    pan/bi: Fix dependency wait calculation
    
    Unconditional branches have a successor in the first slot only.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=6cb0a0ad63467749ced7d6c92fbdaca75545bd5d
Author: Alyssa Rosenzweig <[email protected]>
Date:   Thu Dec 31 12:30:05 2020 -0500

    pan/bi: Fix staging register packing
    
    Writes are from the previous tuple, not the current one, otherwise we
    incorrectly write to "two" places at once and raise an INSTR_INVALID_ENC
    fault. While we're at it, fix the weird spacing.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=bca242c78520eb48e68f0101b2273ef5208e282b
Author: Alyssa Rosenzweig <[email protected]>
Date:   Wed Dec 30 13:15:13 2020 -0500

    pan/bi: Fix IDLE register mode packing
    
    Was incorrectly returning zero. Special case like IDLE_1.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f1d551ea9f264a9d8453ac14f2ad899f9efb2f03
Author: Alyssa Rosenzweig <[email protected]>
Date:   Tue Jan 19 09:18:03 2021 -0500

    pan/bi: Print disasm/stats with DEBUG=internal
    
    Arguably more important than the IR prints.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d3c92d32ba1cb9b482fd4ef6e4cb0ca83f6a9e20
Author: Alyssa Rosenzweig <[email protected]>
Date:   Wed Jan 20 19:03:44 2021 -0500

    pan/bi: Lint for infinite loops
    
    I would make this unconditional, but conditionally branching to the same
    clause in a tight loop is (disturbingly) legal, as far as I know.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=63c2ee2c4c15940f443dd330a4c6ff9281ee7de1
Author: Alyssa Rosenzweig <[email protected]>
Date:   Wed Jan 20 19:01:03 2021 -0500

    pan/bi: Refactor PC-relative printing
    
    Let's get the offset in a named variable for validation.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=24991d787f7033562087047f0ca8d8441e9de11d
Author: Alyssa Rosenzweig <[email protected]>
Date:   Mon Jan 18 19:11:35 2021 -0500

    pan/bi: Print FAU index in verbose mode
    
    Even if we're not loading a uniform, this is useful information. The
    uniform pretty-printing didn't correspond well to the hardware anyway so
    this is a net win, although if somebody really wanted pretty-printing
    could be added in here.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=15d03ed783d0bcd5e421e40c492afe4d406b51e0
Author: Alyssa Rosenzweig <[email protected]>
Date:   Mon Jan 18 08:58:09 2021 -0500

    pan/bi: Validate format 12 tuple count in disasm
    
    We were throwing away this information. Let's just use a lookup table
    and add an assertion. Would have caught a bug in this series resulting
    in INSTR_INVALID_ENC faults.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=61af9cb76bc9ac8d5e6723a35fde0140cd3eeb11
Author: Alyssa Rosenzweig <[email protected]>
Date:   Wed Dec 30 14:16:51 2020 -0500

    pan/bi: Add internal debug flag
    
    Since 31864017510 ("pan/bi: Suppress disassembly for internal shaders"),
    we haven't had a good way to debug blit shaders. I keep rewriting this
    patch manually, let's just a debug flag for it.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=b1ebe7a19b8c587ab9c30e7e507dcb53ae1a6595
Author: Alyssa Rosenzweig <[email protected]>
Date:   Fri Jan 8 22:55:54 2021 -0500

    panfrost: Allow waiting on slots 6/7 during preload
    
    I don't understand the underlying uarch details but ATEST needs to wait
    on slot 6 and BLEND needs to wait on both, so these bits are used if
    ATEST/BLEND are in the first clause, which happens if e.g. a constant
    colour is written, or if the input is preloaded.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a5780cdb9bca105f0afa9f34d769aeed875a2698
Author: Alyssa Rosenzweig <[email protected]>
Date:   Thu Jan 7 18:22:54 2021 -0500

    panfrost: Fix TLS sizing if cores are missing
    
    I have no idea if there are any implementations we care about that have
    missing shader cores (a mask of 1101 or something like that), but if one
    crops up, this would be a royal pain to debug so let's just get it
    right...
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to