Alyssa Rosenzweig
239ef52216
pan/bi: Add bi_branch, bi_jump helpers
...
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:02 +00:00
Alyssa Rosenzweig
0f6e317045
pan/bi: Schedule new instructions singletons
...
We'll let the routines coexist for a moment, just to keep the commits
digestible, but this is modified from bi_make_singleton.
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:02 +00:00
Alyssa Rosenzweig
84f251c38a
pan/bi: Add bi_message_type_for_instr helper
...
Greatly simplified by the use of the table.
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:02 +00:00
Alyssa Rosenzweig
26ce13f657
pan/bi: Add instruction emit 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:02 +00:00
Alyssa Rosenzweig
f7c2fc7eba
pan/bi: Add emit tex 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:02 +00:00
Alyssa Rosenzweig
26cbf559d6
pan/bi: Fix TEXS/TEXC check prototype
...
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:02 +00:00
Alyssa Rosenzweig
70d6c5675d
pan/bi: Emit TEXC with 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:02 +00:00
Alyssa Rosenzweig
e477de829f
pan/bi: Add builder-using helpers for TEXC structs
...
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:02 +00:00
Alyssa Rosenzweig
6f048b5f95
pan/bi: Add TEXS emit with 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:02 +00:00
Alyssa Rosenzweig
311d3d6015
pan/bi: Implement jumps 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
f05174e5a5
pan/bi: Implement ALU 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
8e82641cf5
pan/bi: Add bi_cmpf_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
8c99fed470
pan/bi: Add bi_nir_round 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
95d62ee7cf
pan/bi: Add bi_alu_src_index helper
...
Generates bi_index from nir_alu_src, taking into account the applied
swizzle, and using (swizzle / 32-bit) portion as an offset, to be
applied later during RA. The sub 32-bit portion only applies for 8-bit
and 16-bit instructions, which need to either handle them explicitly as
a swizzle specifier, or lower to a swizzle explicitly.
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
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
226dfa9490
pan/bi: Add new style read/writemask helpers
...
In the medium term we'll want to overhaul these masks entirely since
they don't make much sense anymore, but as a stop gap, this will let us
reuse the existing liveness, RA, and DCE infrastructure.
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
de3c66c2ba
pan/bi: Add bi_count_staging_registers helper
...
This will shortly be used for liveness analysis on the new IR.
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
82328a5245
pan/bi: Generate instruction packer for new IR
...
Based on existing packing infrastructure, though modifier handling is
greatly simplified by using canonical modifier encodings in the IR.
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
8ef0d41170
pan/bi: Generate builder routines
...
To simplify construction of Bifrost IR. Ideas from NIR's builder, as
well as IBC.
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
1893a3805e
pan/bi: Generate instruction printer
...
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
b33ae46806
pan/bi: Add bi_not alias of bi_neg
...
For bitwise ops, we define .neg to mean .not to keep the IR manageable
("complement" more generally), but it's convenient to have specialized
names.
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
45ab728bca
pan/bi: Rename bi_pack_{fma, add} to free up symbols
...
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
f40dec9f90
ci/panfrost: Skip test with 4096 byte shader
...
This has flake potential. There is clearly a hardware bug here but I
can't figure out what the correct solution is (padding out with nops
causes other tests to flake in turn).
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
Mike Blumenkrantz
73e8cf7ebd
features: mark off multidraw for zink
...
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8233 >
2020-12-31 13:41:30 +00:00
Mike Blumenkrantz
cef876910a
zink: enable PIPE_CAP_MULTI_DRAW_INDIRECT(_PARAMS) caps
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8233 >
2020-12-31 13:41:30 +00:00
Mike Blumenkrantz
a299ea3c89
zink: hook up IndirectCount draw commands
...
these take a draw count buffer
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8233 >
2020-12-31 13:41:30 +00:00
Mike Blumenkrantz
1c01ad1b80
zink: add KHR_draw_indirect_count detection
...
this is a vk 1.2 feature
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8233 >
2020-12-31 13:41:30 +00:00
Samuel Pitoiset
ef06f1bb03
radv: disable stippledBresenhamLines on GFX9
...
Some CTS fail on Vega10 but work on Raven.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8242 >
2020-12-31 09:17:21 +01:00
Eric Anholt
ff2601ffec
softpipe: Sanity check that the SSBO view offset is within the BO.
...
If we're going to check that the size matches, we should consider the
buffer offset too. I haven't tracked down any testcases doing this, but
it seems obviously correct.
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8276 >
2020-12-31 06:13:18 +00:00
Eric Anholt
851e3af07c
gallium/tgsi_exec: Replace the SSBO RESQ-specific interface with lookup.
...
We've got the new lookup with size+ptr, just use that one for querying
buffer size.
This means we now return 0 instead of undefined for unbound buffers, but
it also means we return 0 for a buffer view with a size larger than that
of the underlying buffer.
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8276 >
2020-12-31 06:13:18 +00:00
Eric Anholt
44c4979227
gallium/tgsi_exec: Move the SSBO store path to tgsi_exec, too.
...
Now that we have lookups, we can just fold this in.
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8276 >
2020-12-31 06:13:18 +00:00
Eric Anholt
08dc1b2dcb
gallium/tgsi_exec: Use the new SSBO lookup interface for SSBO loads.
...
We were ignoring the requested size of the load in the overflow handling
and would read past the end of buffers, rather than just returning 0 as
robustness would like us to do.
Fixes valgrind complaint on softpipe in:
EQP-GLES31.functional.shaders.builtin_functions.common.sign.float_mediump_compute
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8276 >
2020-12-31 06:13:18 +00:00
Eric Anholt
89ec36457e
gallium/tgsi_exec: Reuse the atomic helper for SSBO atomics.
...
I needed to refactor SSBOs to deal with a buffer overflow, and it's easier
to just delete the SSBO atomic code from the interface.
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8276 >
2020-12-31 06:13:18 +00:00