aboutsummaryrefslogtreecommitdiffstats
path: root/src/panfrost/bifrost/meson.build
Commit message (Collapse)AuthorAgeFilesLines
* meson: inline `inc_common`Eric Engestrom2020-03-281-1/+1
| | | | | | | | | Let's make it clear what includes are being added everywhere, so that they can be cleaned up. Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4360>
* pan/bi: Ingest vecN directly (again)Alyssa Rosenzweig2020-03-241-0/+1
| | | | | | | | Last time, I swear. We still generate writemasks but SSA-like ones and do the lowering ourselves. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4288>
* pan/bi: Setup initial clause packingAlyssa Rosenzweig2020-03-191-0/+1
| | | | | | | | | At the moment, we just iterate the clauses in the post-RA, post-sched IR and generate a dummy clause corresponding, passing the results to the disassembler to verify. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4242>
* pan/bi: Add register allocatorAlyssa Rosenzweig2020-03-121-0/+1
| | | | | | | | | | We model the machine as vector (with restrictions) to natively handle mixed types and I/O and other goodies. We use LCRA for the heavylifting. This commit adds only the modeling to feed into LCRA and spit LCRA solutions back; next commit will integrate it with the IR. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4158>
* pan/bi: Add dead code elimination passAlyssa Rosenzweig2020-03-111-0/+1
| | | | | | | Now that we have liveness analysis, we can cleanup the IR considerably. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4150>
* pan/bi: Add liveness analysis passAlyssa Rosenzweig2020-03-111-0/+1
| | | | | | | | Now that all the guts are shared with Midgard, it's just a matter of wiring it in. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4150>
* panfrost: Promote midgard_program to panfrost/utilAlyssa Rosenzweig2020-03-111-1/+1
| | | | | | | | We'll want Bifrost to reuse the same linking mechanisms for the most part. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4150>
* pan/bi: Import algebraic pass from midgardAlyssa Rosenzweig2020-03-101-1/+13
| | | | | | | We'll need some of these at least. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4139>
* panfrost: Move mir_to_bytemask to common codeAlyssa Rosenzweig2020-03-101-0/+1
| | | | | | | | ...also so we can start sharing code properly between the panfrost compilers. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4139>
* pan/bi: Add dummy schedulerAlyssa Rosenzweig2020-03-071-0/+1
| | | | | | | | | | | | | | | Do the absolute simplest possible thing -- create a clause for every instruction, and just pick whichever slot we can, nopping the other, copying whatever constant we have whether it's used or not. To be clear - this is not to be used in a production compiler. But this lets actual bundles and clauses show up in the BIR, which unblocks work on final code generation and packing (which can happen more or less in parallel to NIR->BIR, optimization, register allocation, and writing an actual scheduling). Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4097>
* pan/bi: Add BIR manipulation routines to bir.cAlyssa Rosenzweig2020-03-051-0/+1
| | | | | | | New file. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4061>
* pan/bi: Move some print routines out of the disasmAlyssa Rosenzweig2020-03-051-0/+1
| | | | | | | | These are generally useful for debug of the compiler IR even prior to code emit; let's share these. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4061>
* pan/bi: Add class propertiesAlyssa Rosenzweig2020-03-051-0/+1
| | | | | | | | We need to keep track of what specific classes support. For now just track floating point modifiers. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4061>
* pan/bi: Stub out new compilerAlyssa Rosenzweig2020-03-051-0/+1
| | | | | | | Just enough to pipe in the NIR shader. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4061>
* pan/bi: Gut old compilerAlyssa Rosenzweig2020-03-051-4/+0
| | | | | | | | We're making some pretty dramatic design pivots so this early on it'll be easier to start from scratch, I think. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4061>
* pan/bifrost: Link in compilerAlyssa Rosenzweig2019-08-141-1/+6
| | | | | | | We enable the standalone compiler, build the new files, and let it blast. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Move non-Gallium files outside of GalliumAlyssa Rosenzweig2019-07-101-0/+33
In preparation for a Panfrost-based non-Gallium driver (maybe Vulkan...?), hoist everything except for the Gallium driver into a shared src/panfrost. Practically, that means the compilers, the headers, and pandecode. Signed-off-by: Alyssa Rosenzweig <[email protected]>