Alyssa Rosenzweig
|
e847bffbcc
|
agx: Fix LOD_MIN enum
Fixes: 2470a080d2 ("agx: Stub NIR backend compiler")
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
|
2021-07-05 20:56:04 +00:00 |
|
Alyssa Rosenzweig
|
a1f732e67b
|
agx: Track logical control flow graph
Logic lifted from the Bifrost compiler, which was a copypaste of the Midgard
compiler, which was based on a faulty understanding of the v3d compiler,
which...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
|
2021-07-05 20:56:04 +00:00 |
|
Alyssa Rosenzweig
|
0ef93554e1
|
agx: Mark sources that kill
Trivially computed during liveness analysis (already a byproduct!) and required
for efficient register allocation.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
|
2021-07-05 20:56:04 +00:00 |
|
Alyssa Rosenzweig
|
7972e74f40
|
agx: Add liveness analysis pass
Based on the Panfrost one, scalarized and with some silly things fixed.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
|
2021-07-05 20:56:04 +00:00 |
|
Alyssa Rosenzweig
|
ec40620f86
|
agx: Add agx_exit_block helper
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
|
2021-07-05 20:56:04 +00:00 |
|
Alyssa Rosenzweig
|
6a657b17b9
|
agx: Remap fragment shader varyings explicitly
Needed to handle fragcoord.z correctly, for example. Step 1, at least.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
|
2021-07-05 20:56:04 +00:00 |
|
Alyssa Rosenzweig
|
32f4be5dd7
|
agx: Rename agx_pack to agx_pack_binary
Conflicts with GenXML.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
|
2021-07-05 20:56:04 +00:00 |
|
Alyssa Rosenzweig
|
99b67ab355
|
agx: Add perspective bit to ld_var
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
|
2021-07-05 20:56:03 +00:00 |
|
Alyssa Rosenzweig
|
ef808205c6
|
agx: Add agx_immediate_f helper
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
|
2021-07-05 20:56:03 +00:00 |
|
Alyssa Rosenzweig
|
307b8f1b2f
|
agx: List sr enum in Python
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11199>
|
2021-06-05 20:38:22 +00:00 |
|
Alyssa Rosenzweig
|
e9483110d2
|
agx: Zero r0l before first use of control flow
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11023>
|
2021-05-31 01:23:35 +05:30 |
|
Alyssa Rosenzweig
|
4fe03cf97c
|
agx: Add inner loop nesting count field
Needed for proper handling of break/continue with nested if-else.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11023>
|
2021-05-31 01:23:35 +05:30 |
|
Alyssa Rosenzweig
|
8454d08aa3
|
agx: Add branch target to IR
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11023>
|
2021-05-31 01:23:35 +05:30 |
|
Alyssa Rosenzweig
|
ad4dfb3321
|
agx: Add invert_cond (ccn) to IR
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11023>
|
2021-05-31 01:23:35 +05:30 |
|
Alyssa Rosenzweig
|
21cf528e76
|
agx: Add nest field to IR
Needed to model control flow instructions.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11023>
|
2021-05-31 01:23:35 +05:30 |
|
Alyssa Rosenzweig
|
6f54385b0a
|
agx: Track block offsets
For fixing branch offsets.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11023>
|
2021-05-31 01:23:35 +05:30 |
|
Alyssa Rosenzweig
|
f7918ebc82
|
agx: Track current_block
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11023>
|
2021-05-31 01:23:35 +05:30 |
|
Alyssa Rosenzweig
|
1b9b2f9046
|
agx: Condition writeout ops on already being emitted
There's a lot of r/e waiting here, but will be needed for ld_tile. Match
the Metal blob.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10720>
|
2021-05-09 23:29:45 -04:00 |
|
Alyssa Rosenzweig
|
1f23e9c06e
|
agx: Add sysval management helper
Will be used for lowering UBO loads, among other applications.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Acked-by: Jason Ekstrand <jason@jlekstrand.net>
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582>
|
2021-05-02 17:41:17 -04:00 |
|
Alyssa Rosenzweig
|
0f58e8dabe
|
agx: Add dead code eliminator
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Acked-by: Jason Ekstrand <jason@jlekstrand.net>
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582>
|
2021-05-02 17:41:16 -04:00 |
|
Alyssa Rosenzweig
|
28801b4849
|
agx: Add forward optimizing pass for fmov
Explain the ideas behind our SSA-based optimizer (inspired by ACO's,
thank you to Daniel Schuermann for discussing this with me in the
context of Bifrost), and implement the subset needed to propagate
abs/neg through.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Acked-by: Jason Ekstrand <jason@jlekstrand.net>
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582>
|
2021-05-02 17:41:16 -04:00 |
|
Alyssa Rosenzweig
|
f2d264e191
|
agx: Add instruction packing
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Acked-by: Jason Ekstrand <jason@jlekstrand.net>
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582>
|
2021-05-02 17:41:13 -04:00 |
|
Alyssa Rosenzweig
|
c215895eae
|
agx: Add a trivial register allocator
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Acked-by: Jason Ekstrand <jason@jlekstrand.net>
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582>
|
2021-05-02 17:41:12 -04:00 |
|
Alyssa Rosenzweig
|
2470a080d2
|
agx: Stub NIR backend compiler
A fork of the Bifrost compiler, tailored to AGX. nir_register support is
removed, as I want to use an SSA-based allocator for AGX. (There are no
VLIW-like requirements and extremely limited vector semantics, so we can
use an ACO approach with ease.)
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Acked-by: Jason Ekstrand <jason@jlekstrand.net>
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582>
|
2021-05-02 17:41:10 -04:00 |
|