Simon Perretta
cf83858a47
pco: add mappings and translation for ditr
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:12 +00:00
Simon Perretta
a89a9b65f8
pco: re-indexing debug option and additional vector and component tracking
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:12 +00:00
Simon Perretta
d55e98a32d
pco: vector component tracking, vector collation when ingesting NIR
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:12 +00:00
Simon Perretta
b4049c9b0a
pco: add public print wrappers
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:12 +00:00
Simon Perretta
e57c4b5b3b
pco: initial implementation of translation and passes
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:12 +00:00
Simon Perretta
f6a729563c
pco, pygen: isa itrsmp op
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:12 +00:00
Simon Perretta
d5bab0c157
pco, pygen: isa ditr op
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:12 +00:00
Simon Perretta
84766a9157
pco, pygen: amend bitfield assertion messages
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:12 +00:00
Simon Perretta
58337957ac
pco, pygen: restructure igrp alu components into arrays
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:12 +00:00
Simon Perretta
fee1f029cc
pco, pygen: add defs and mappings for common ops
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:12 +00:00
Simon Perretta
3c081c9abf
pco, pygen: drop unspecified bit sizes for references
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:12 +00:00
Simon Perretta
fcf05a732e
pco: print ranges of non-ssa refs with >1 channel, datatypes for immediates
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:12 +00:00
Simon Perretta
981e6cfabc
pco, pygen: re-order some mods to match their evaluation order
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:12 +00:00
Simon Perretta
fab0ef7d59
pco, pygen: add support for instructions with variable srcs/dests
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:12 +00:00
Simon Perretta
45139c72f7
pco: set up and tear down glsl type singleton with context
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:12 +00:00
Simon Perretta
1b36e34095
pco, pygen: support querying ref mods, if op/ref mods have been set
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:12 +00:00
Simon Perretta
687abeee5a
pco: adjust align padding to be per-function instead of per-shader
...
Shaders may contain more than one function, e.g. a preamble
and an entrypoint, which require alignment.
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:12 +00:00
Simon Perretta
59a4b9ff2d
pco, pygen: add better exception messages
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:12 +00:00
Simon Perretta
f57b817f7b
pco, pygen: add initial uvsw op boilerplate
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:12 +00:00
Simon Perretta
70aa0df836
pco: boilerplate nir lowering passes
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:12 +00:00
Simon Perretta
bf22e4076b
pco: additional ref functions
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:12 +00:00
Simon Perretta
6a3ba1f1f4
pco, pygen: instruction to instruction group mapping, printing
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:12 +00:00
Simon Perretta
0d85b71387
pco, pygen: distinguish hw ops that are built directly into instruction groups
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:12 +00:00
Simon Perretta
f3cc7c128c
pco: add verbose printing debug option
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:12 +00:00
Simon Perretta
6b0a738bfd
pco, pygen: common underscore replacement for op names
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:12 +00:00
Simon Perretta
561098cf7d
pco, pygen: add bitset support for op mods
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:11 +00:00
Simon Perretta
7c57e25550
pco, pygen: move unnamed tuple structs into classes
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:11 +00:00
Simon Perretta
08ce5c0e23
pco: basic instruction printing
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:11 +00:00
Simon Perretta
8b193b4dd2
pco, pygen: generate string representations of enum elements
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:11 +00:00
Simon Perretta
f014a14e2c
pco: printing and validation boilerplate
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:11 +00:00
Simon Perretta
3c51c6ac17
pco: NIR translation and PCO IR pass boilerplate
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:11 +00:00
Simon Perretta
f179e5a220
pco: define data structures and basic builder implementation with ops
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:11 +00:00
Simon Perretta
d47ac545d5
pco, pygen: generate op and mod info
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:11 +00:00
Simon Perretta
8887bc0d47
pco, pygen: query bytes required for each variant
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:11 +00:00
Simon Perretta
5670eb6732
pco, pygen: isa control alu ops
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:11 +00:00
Simon Perretta
d423ac4fc7
pco, pygen: isa bitwise alu ops
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:11 +00:00
Simon Perretta
f886677843
pco, pygen: isa backend alu ops
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:11 +00:00
Simon Perretta
9fa96b6140
pco, pygen: isa main alu ops
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:11 +00:00
Simon Perretta
ba959bc992
pco, pygen: isa destination definitions
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:11 +00:00
Simon Perretta
b03d618f63
pco, pygen: isa internal source selector definitions
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:11 +00:00
Simon Perretta
ed5dc3e64d
pco, pygen: isa upper sources definitions
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:11 +00:00
Simon Perretta
9b64e1a8de
pco, pygen: isa lower source definitions
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:11 +00:00
Simon Perretta
ce5de01d1a
pco, pygen: isa instruction group header validation and encoding support
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:11 +00:00
Simon Perretta
4ca21e7038
pco, pygen: define and emit isa instruction group header variant fields
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:11 +00:00
Simon Perretta
ee312ebd6f
pco, pygen: define basic isa field types
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:11 +00:00
Simon Perretta
77a183fc14
pco, pygen: enum emit support, define some enums and op/ref mods/types
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:11 +00:00
Simon Perretta
4d8653a643
pco: pygen stubs
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:11 +00:00
Simon Perretta
fa9892026e
pco: suppress warning for functions passing structs
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:11 +00:00
Simon Perretta
14d7ade582
pvr: drop PVRX macro
...
All core-specific selections will take place at runtime.
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:11 +00:00
Simon Perretta
cbc9896264
pvr: fix GetInstanceProcAddr ubsan warning when _instance == NULL
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258 >
2024-11-29 15:14:11 +00:00