Mesa (main): 42 new commits

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon May 2 02:43:27 UTC 2022


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=31fd926334561eaa0b227c78ed67a4aeccb1a75e
Author: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Date:   Sun May 1 18:27:56 2022 -0400

    agx: Lower mediump flat shading
    
    This isn't supported by the hardware. Fixes
    
    dEQP-GLES2.functional.shaders.constants.float_uniform_vertex
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=18ef9398de44356f44444933d09e43bfb14b4131
Author: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Date:   Sun May 1 17:51:09 2022 -0400

    agx: Remove nir_register support
    
    We don't use it anymore, now that we can handle SSA form. Gets rid of
    the most gross hack in the compiler.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3927a9e911c436de54d896b0e146472116f16dca
Author: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Date:   Sun May 1 17:47:22 2022 -0400

    agx: Remove has_liveness
    
    Given we do no metadata tracking, this is an accident waiting to happen.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1c6bd0357fd29649c3e271bbd7cdf2ece761dcc3
Author: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Date:   Sun May 1 17:12:17 2022 -0400

    agx: Update RA comment
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6b22bbab36a5acf8897ae984abababa37734eed5
Author: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Date:   Mon Apr 18 21:32:50 2022 -0400

    agx: Add validation pass
    
    For now, just check that we didn't botch the structure of the block,
    since this just bit me.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=44987998225df5ee1ba2b2d32f89bb50204de5b7
Author: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Date:   Mon Apr 18 18:34:14 2022 -0400

    agx: Remove identity moves
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c712043b9c5f827deafaad163e62bf3895621861
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Wed Apr 13 23:09:29 2022 -0400

    agx: Unit test parallel copy lowering
    
    It's pretty tricky.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6a4d742369a5812e8097ab17104276dbc0d9a5b5
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Wed Apr 13 22:15:06 2022 -0400

    agx: Always use hash table for extracts
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=860832e41bc171a692bbf9051399c9333b324dd9
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Wed Apr 13 21:05:02 2022 -0400

    agx: Split up RA from post-RA lowering
    
    This allows us to validate results in the middle.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ea065537cbbee8495ed931bc6d358ed15d1ca218
Author: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Date:   Tue Apr 12 23:11:23 2022 -0400

    agx: Lower phi nodes to parallel copies
    
    Now we have an SSA RA :-)
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ccb02107611ddd4dcee90d1b323ef484612c5125
Author: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Date:   Tue Apr 12 21:40:35 2022 -0400

    agx: Don't lower phis in NIR
    
    We're ready for them now! Just scalarize.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a8da17f628c3b045d0b7c737e9b858164199ef92
Author: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Date:   Mon Apr 18 18:55:38 2022 -0400

    agx: Copy prop into phi nodes
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8ff0a29baf0c340ba9db0b1e0edc3975efb8d1bc
Author: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Date:   Tue Apr 12 21:40:23 2022 -0400

    agx: Translate phi nodes
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4791dc912504d011bc602bb80477d900ac71336f
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Wed Apr 13 18:34:50 2022 -0400

    agx: Make DCE dumber
    
    The current DCE pass hits issue around phi nodes. These need to be
    solved properly eventually, but for now workaround them by doing
    something obviously correct (but suboptimal compile time).
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=606d9340f36a61ddf80205bdb5252eda94671584
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Wed Apr 13 21:04:36 2022 -0400

    agx: Adapt liveness analysis for SSA
    
    Lifted from nir_liveness.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=590df764d620cdbff9451502e006919e424193e9
Author: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Date:   Sun May 1 15:53:35 2022 -0400

    agx: Introduce worklist infrastructure
    
    Using the common NIR stuff.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e414a8c16f3d3c0bb9fcc779e6e9c1e3b39e2c64
Author: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Date:   Tue Apr 12 23:33:09 2022 -0400

    agx: Add agx_after_block_logical helper
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a2a947031a561d62e56307067b1a8216214e97da
Author: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Date:   Tue Apr 12 23:32:18 2022 -0400

    agx: Mark the logical ends of blocks
    
    We need to insert parallel copies at the logical end of blocks, before branches.
    Add a pseudo instruction signaling that. Cribbed from ACO.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5be26e86240ae98d5814657e67fb70c522deeb10
Author: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Date:   Tue Apr 12 23:10:47 2022 -0400

    agx: Add predecessor index helper
    
    To order phi sources.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3f1e926bf4a43dabe88f89f5e4e2e47bb9992371
Author: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Date:   Tue Apr 12 22:06:06 2022 -0400

    agx: Use a dynarray for predecessors
    
    This imposes a fixed ordering, allowing phi sources to be implicitly ordered.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d02e913e95ea52132828625a2d2f471366b36d25
Author: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Date:   Tue Apr 12 23:18:03 2022 -0400

    agx: Remove else optimization
    
    It will conflict with SSA-based RA and needs to be rewritten to happen
    late.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4d79f6ca76b8acbf7bdf2553829b48491feb4c77
Author: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Date:   Sun May 1 16:24:18 2022 -0400

    agx: Use extract helper for tex internally
    
    Allows better optimization.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4f78141c775333420ee99a76d449016731940412
Author: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Date:   Tue Apr 12 19:46:13 2022 -0400

    agx: Emit splits for intrinsics
    
    This allows optimizing the extracts.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d06394095b05e3364a86fbb3524c3acb00e75168
Author: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Date:   Tue Apr 12 20:58:49 2022 -0400

    agx: Optimize p_split(kill) specially
    
    Let's make sure these are allocated optimally.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e16ad8f443939296a6da28dce832f750edd9233e
Author: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Date:   Tue Apr 12 20:43:32 2022 -0400

    agx: Lower p_split after RA
    
    Using existing regalloc infrastructure.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4fc023ed422622cf6dd9624d9db4119b8db5c494
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Sun Apr 17 16:47:37 2022 -0400

    agx: Use a transfer graph for parallel copies
    
    Lifted from ir3. Algorithm is the same; the data structures and interface are
    lightly modified to decouple from ir3's IR.
    
    Sequentializing parallel copies after RA is tricky. ir3's implementation works
    well enough, so I use that one.
    
    Original implementation by Connor Abbott.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=330ec4260dbd3f5e0188818a10814e292c81d474
Author: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Date:   Tue Apr 12 19:45:34 2022 -0400

    agx: Add helper to emit splits
    
    This should be used for vector destinations, to facilitate the extraction
    optimization.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b30c718a576921d0306eb033b14d68f21f6ac6d7
Author: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Date:   Tue Apr 12 20:44:20 2022 -0400

    agx: Add helper to emit combines
    
    ...in such a way that subsequent extracts will be optimized.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5bc65ef9634e1065b926b0cb018a8af022e906fe
Author: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Date:   Tue Apr 12 19:43:46 2022 -0400

    agx: Add a hash table for vector extracts
    
    This will allow us to introduce splits gradually, giving a graceful fallback.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d285c63417ae2398d3321d14a54bb0c898e9838d
Author: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Date:   Tue Apr 12 21:41:34 2022 -0400

    agx: Add phi pseudo instruction
    
    For SSA.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2a4a8a890259de27392d3d347299406bb872e256
Author: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Date:   Tue Apr 12 20:43:56 2022 -0400

    agx: Add p_split pseudoinstruction
    
    Easier on RA for extracts.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=bb1fb0a9db172771f3e80ac0bbed2a2e85ff34d6
Author: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Date:   Tue Apr 12 21:29:18 2022 -0400

    agx: Dynamically allocate agx_instr->src
    
    Required for phi nodes.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d39b1c342617c5060243eb20833fd5e8deadb0fd
Author: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Date:   Tue Apr 12 19:27:00 2022 -0400

    agx: Implement simple copyprop
    
    Cleans up some of the mess.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7d38bcb7ee243a55252554d559e104f898c91829
Author: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Date:   Tue Apr 12 18:06:16 2022 -0400

    agx: Use pseudo ops for mov/not/and/xor/or
    
    Rather than using builder magic (implicitly lowered on emit), add actual pseudo
    operations (explicitly lowered before encoding). In theory this is slower, I
    doubt it matters. This makes the instruction aliases first-class for IR prining
    and machine inspection, which will make optimization passes easier to write.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3d8c2f26932ed28f50f5f5c4d031d498d4606af9
Author: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Date:   Tue Apr 12 18:06:13 2022 -0400

    agx: Add unit test infrastructure
    
    Lifted from Bifrost. Add some basic optimizer tests (they pass!) to show the
    compiler is ready to be unit tested. Given we can't have hardware CI for Asahi
    yet -- and dEQP is still pretty janky -- unit testing should prove quite useful.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=43c701424bead63abb533250b94ea17611a60a77
Author: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Date:   Tue Apr 12 18:06:12 2022 -0400

    agx: Wrap compiler header in extern "C"
    
    So we can use it from GTest.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f0a973081f9f37c34a3af03abd5a6ff64f3eaf61
Author: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Date:   Tue Apr 12 18:06:10 2022 -0400

    agx: Use correct types for some IR enums
    
    Otherwise there are implicit int->enum casts which prevent us from building as
    C++ (with -fpermissive).
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b87ce10210753110b925f43affc33cabeb48d3a8
Author: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Date:   Tue Apr 12 18:06:08 2022 -0400

    agx: Match order for designated initializers
    
    Required to compile our headers with C++, to allow us to use GTest unit tests.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ff660dd637c633bc547f4986ae3a068c3ebcf6d3
Author: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Date:   Tue Apr 12 18:06:03 2022 -0400

    agx: Track write registers more accurately
    
    We may not write a full 32-bit vec4, don't be so pessimistic.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0c82b5c99cd3ad4bcfc388f5d63f5a24b08a699d
Author: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Date:   Tue Apr 12 18:06:01 2022 -0400

    agx: Note that RA proceeds in dominance-order
    
    This is an important invariant for SSA-based RA to work.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=81477f3809b36d8b160f70fd9803f59792904524
Author: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Date:   Tue Apr 12 18:05:59 2022 -0400

    agx: Implement some shader-db stats
    
    Instructions, bytes, and registers -- this should hold us over until we
    can reverse the underlying uarch and get proper cycle estimations.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=31b3f56813e0a6feb291f55d96b9e764aa893c42
Author: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Date:   Sun Apr 17 20:25:23 2022 -0400

    asahi: Workaround broken GLSL compiler
    
    https://gitlab.freedesktop.org/mesa/mesa/-/issues/6075 still hasn't been
    fixed (despite the bug being known for a year now..)
    
    Workaround the brokenness.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>



More information about the mesa-commit mailing list