Alyssa Rosenzweig
9c7efc4510
pan/bi: Add intrinsic emits for builder
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135 >
2020-12-31 14:39:01 +00:00
Alyssa Rosenzweig
482cc273af
pan/bi: Implement load attribute with the builder
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135 >
2020-12-31 14:39:01 +00:00
Alyssa Rosenzweig
0ae835499d
pan/bi: Implement frag coord with the builder
...
Much slicker :-)
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135 >
2020-12-31 14:39:01 +00:00
Alyssa Rosenzweig
2e57684d2d
pan/bi: Implement load_ubo with the builder
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135 >
2020-12-31 14:39:01 +00:00
Alyssa Rosenzweig
341e312cf4
pan/bi: Implement store_vary with the builder
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135 >
2020-12-31 14:39:01 +00:00
Alyssa Rosenzweig
49f38aa9e7
pan/bi: Implement fragment_out by builder
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135 >
2020-12-31 14:39:01 +00:00
Alyssa Rosenzweig
3c5097bbfd
pan/bi: Implement BLEND by builder
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135 >
2020-12-31 14:39:01 +00:00
Alyssa Rosenzweig
20bfe9ee05
pan/bi: Implement load_vary via the builder
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135 >
2020-12-31 14:39:01 +00:00
Alyssa Rosenzweig
baec458105
pan/bi: Implement bi_reg_fmt_for_nir helper
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135 >
2020-12-31 14:39:01 +00:00
Alyssa Rosenzweig
279772b5ec
pan/bi: Implement load_blend_input via the builder
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135 >
2020-12-31 14:39:01 +00:00
Alyssa Rosenzweig
63863de923
pan/bi: Implement bi_emit_load_const via the builder
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135 >
2020-12-31 14:39:01 +00:00
Alyssa Rosenzweig
9841afad57
pan/bi: Implement bi_load_sysval via the builder
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135 >
2020-12-31 14:39:01 +00:00
Alyssa Rosenzweig
feecf0a3d8
pan/bi: Implement bi_emit_ld_tile via the builder
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135 >
2020-12-31 14:39:01 +00:00
Alyssa Rosenzweig
4de806a803
pan/bi: Add bi_make_vec_to helper
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135 >
2020-12-31 14:39:01 +00:00
Alyssa Rosenzweig
8a6ec4a5d8
pan/bi: Add bi_is_intr_immediate helper
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135 >
2020-12-31 14:39:01 +00:00
Alyssa Rosenzweig
693271c0a8
pan/bi: Add builder initialization helper
...
When going out of NIR, it's useful to start inserting instructions at
the end of the current block.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135 >
2020-12-31 14:39:01 +00:00
Alyssa Rosenzweig
3483b4e24c
pan/bi: Rename bi_load
...
Need to free up the symbol so it doesn't clash with the builder.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135 >
2020-12-31 14:39:01 +00:00
Alyssa Rosenzweig
7af46aa695
pan/bi: Ensure fneg of a constant isn't reached
...
Fix the optimization loop like ir3 does.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135 >
2020-12-31 14:39:01 +00:00
Alyssa Rosenzweig
98fabee213
pan/bi: Merge BIR_INDEX_FAU and BIR_INDEX_BLEND
...
There's no reason to separate these, and it's more convenient not to.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8215 >
2020-12-23 13:15:10 -05:00
Alyssa Rosenzweig
876f37ed59
pan/bi: Use canonical name for segments
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8213 >
2020-12-23 17:06:57 +00:00
Alyssa Rosenzweig
c7e494268e
pan/bi: Use canonical update modes
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8213 >
2020-12-23 17:06:57 +00:00
Alyssa Rosenzweig
3797fc9af9
pan/bi: Use canonical sample names
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8213 >
2020-12-23 17:06:57 +00:00
Alyssa Rosenzweig
2e84a1b4d8
pan/bi: Use canonical varying names
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8213 >
2020-12-23 17:06:57 +00:00
Alyssa Rosenzweig
030854a3b8
pan/bi: Use canonical names for rounding modes
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8213 >
2020-12-23 17:06:56 +00:00
Alyssa Rosenzweig
6e481500d0
pan/bi: Use canonical names for clamps
...
Prepare to generate this enum by correctly naming the open-coded
variant.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8213 >
2020-12-23 17:06:56 +00:00
Alyssa Rosenzweig
6a46b38d12
pan/bi: Label shader-db shaders
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8213 >
2020-12-23 17:06:56 +00:00
Alyssa Rosenzweig
3071f36cfb
pan/bi: Allow toggling disassembly verbosity
...
Verbose mode is especially useful for debugging packing, but otherwise
just gets in the way I find.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8139 >
2020-12-21 21:54:50 +00:00
Boris Brezillon
0f643bbcc8
pan/bi: LOD is a 8.8 fixed point
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7653 >
2020-11-25 16:22:19 +01:00
Boris Brezillon
3949e8ba19
pan/bi: Always emit a LOD/CUBE word for FETCH instructions
...
There's no flag/mode to reflect when a LOD is zero on FETCH instructions,
we have to emit the LOD/CUBE word unconditionally.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7653 >
2020-11-25 16:22:16 +01:00
Boris Brezillon
8040b797a8
pan/bi: Only update LOD mode on TEX operations
...
If we don't add this check we clobber fetch mode when a 0 LOD is
specified on a txf instruction.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7653 >
2020-11-25 16:21:10 +01:00
Alyssa Rosenzweig
d299c2eb0b
pan/bi: Implement shader-db stats
...
v2: Drop register tracking since it was wrong, and meaningful accounting
is tricky for Bifrost (which wants round robin RA for at least some
registers)... we'll cross that bridge when we get there, possibly
preferring a "max liveness" estimate to the raw RA output.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7615 >
2020-11-25 13:15:05 +00:00
Alyssa Rosenzweig
45de02bdac
pan/bi: Ensure TEXC src0 is not marked SSA
...
Prevents attempts to spill tied TEXC src/dest, resulting in a crash,
seen in shaders/tesseract/229.shader_test
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7615 >
2020-11-25 13:15:05 +00:00
Boris Brezillon
bbd3a8eadd
pan/bi: Emit a combine even if we only pass one staging reg to TEXC
...
We need that to account for potential swizzling on the source reg.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7615 >
2020-11-25 13:15:05 +00:00
Alyssa Rosenzweig
087e3f8da8
pan/bi: Fix varying writemask handling
...
Allows shaders/supertuxkart/1.shader_test and
shaders/unity/24-Tree.shader_test to compile.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7615 >
2020-11-25 13:15:05 +00:00
Alyssa Rosenzweig
eee2a43461
pan/bi: Implement sampler1D
...
Enough to get shaders/humus-celshading/1.shader_test compiling, no idea
if it actually works but it looks reasonable.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7615 >
2020-11-25 13:15:05 +00:00
Jesse Natalie
b94b827add
panfrost/util: Move nir_undef_to_zero into core nir and add 'lower'
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7565 >
2020-11-18 04:05:37 +00:00
Boris Brezillon
fee4e991fe
pan/bi: Stop extracting the immediate attribute index from src0
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7636 >
2020-11-17 08:41:05 +01:00
Boris Brezillon
fb01328d30
pan/bi: Fix LD_VAR with non-constant index
...
src0 and src1 were mixed leading to invalid varying indices. In order to
fix that properly, we first extend load_vary to pass the immediate index
through a dedicated field and add a special boolean. This way, we don't
have to make sure src0 always contains the index, and can instead match
the src numbering defined in ISA.xml.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7636 >
2020-11-17 08:41:05 +01:00
Boris Brezillon
d86973d92a
pan/bi: Stop passing special varying names through src0
...
It's just clearer to have dedicated fields encoding the fact that the
LD_VAR should be SPECIAL, and another field storing the special var id.
With this change, the source index know matches the ISA.xml definition.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7636 >
2020-11-17 08:41:05 +01:00
Boris Brezillon
1176cc1297
pan/bi: Pass LD_VAR update mode explicitly
...
Let the compiler pass the update mode instead of inferring from the
constant value.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7636 >
2020-11-17 08:41:05 +01:00
Boris Brezillon
058bcf4406
pan/bi: Set roundmode to RTZ for f2u operations
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7636 >
2020-11-17 08:41:05 +01:00
Boris Brezillon
00a6a9bdf8
pan/bi: Let the GPU pick the right format based on the varying descriptor
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7636 >
2020-11-17 08:41:05 +01:00
Boris Brezillon
d0cd8bf2a5
pan/bi: Support txs operations
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7636 >
2020-11-17 08:41:05 +01:00
Boris Brezillon
045ae54343
pan/bi: Don't use TEXS for tex operations with a src that's not lod or coord
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7636 >
2020-11-17 08:41:05 +01:00
Boris Brezillon
54a965b153
pan/bi: Add support for tex offsets
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7530 >
2020-11-13 14:35:17 +01:00
Boris Brezillon
55cb921f92
pan/bi: Add support for derivative instructions
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7530 >
2020-11-13 14:35:17 +01:00
Boris Brezillon
9f640c0f3d
pan/bi: Store the architecture in the compiler context
...
Some instructions differ between v6 and v7 and we'll need to know which
architecture we're compiling for if we want to generate the right
instructions.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7530 >
2020-11-13 14:35:17 +01:00
Boris Brezillon
8be5447461
pan/bi: Extract shadowmap comparator
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7530 >
2020-11-13 14:35:17 +01:00
Boris Brezillon
d47969eb5e
pan/bi: Add support for load_instance_id
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7472 >
2020-11-09 20:36:50 +01:00
Boris Brezillon
5cd1d8c1ed
pan/bi: Add support for load_vertex_id
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7472 >
2020-11-09 20:36:50 +01:00