Alyssa Rosenzweig [Wed, 16 Dec 2020 19:28:18 +0000 (14:28 -0500)]
pan/bi: Remove old IR opcode table
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135>
Alyssa Rosenzweig [Wed, 16 Dec 2020 19:27:38 +0000 (14:27 -0500)]
pan/bi: Remove old IR helpers
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135>
Alyssa Rosenzweig [Wed, 16 Dec 2020 19:24:18 +0000 (14:24 -0500)]
pan/bi: Remove NIR->old IR
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135>
Alyssa Rosenzweig [Wed, 16 Dec 2020 19:23:53 +0000 (14:23 -0500)]
pan/bi: Remove old IR scheduling
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135>
Alyssa Rosenzweig [Wed, 16 Dec 2020 19:22:43 +0000 (14:22 -0500)]
pan/bi: Remove old IR spill code
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135>
Alyssa Rosenzweig [Wed, 16 Dec 2020 19:15:11 +0000 (14:15 -0500)]
pan/bi: Remove old IR prints
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135>
Alyssa Rosenzweig [Wed, 16 Dec 2020 19:11:59 +0000 (14:11 -0500)]
pan/bi: Remove packing helpers
Support code for the old IR packing.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135>
Alyssa Rosenzweig [Wed, 16 Dec 2020 19:07:32 +0000 (14:07 -0500)]
pan/bi: Remove old IR packs
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135>
Alyssa Rosenzweig [Wed, 16 Dec 2020 19:06:33 +0000 (14:06 -0500)]
pan/bi: Remove combine lowering
Unused.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135>
Alyssa Rosenzweig [Wed, 30 Dec 2020 20:50:50 +0000 (15:50 -0500)]
pan/bi: Switch to new IR
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135>
Alyssa Rosenzweig [Wed, 30 Dec 2020 20:50:36 +0000 (15:50 -0500)]
pan/bi: Stub FAU lowering pass
A given tuple can only load a single entry from FAU-RAM, so we need a
lowering pass before scheduling to assign FAU and lower the other
sources to moves.
Right now this only handles constants. Uniforms and general FAU are
todo.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135>
Alyssa Rosenzweig [Wed, 16 Dec 2020 17:58:35 +0000 (12:58 -0500)]
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>
Alyssa Rosenzweig [Thu, 10 Dec 2020 21:05:11 +0000 (16:05 -0500)]
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>
Alyssa Rosenzweig [Thu, 10 Dec 2020 21:04:49 +0000 (16:04 -0500)]
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>
Alyssa Rosenzweig [Wed, 16 Dec 2020 18:35:51 +0000 (13:35 -0500)]
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>
Alyssa Rosenzweig [Wed, 16 Dec 2020 18:03:04 +0000 (13:03 -0500)]
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>
Alyssa Rosenzweig [Wed, 16 Dec 2020 18:02:22 +0000 (13:02 -0500)]
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>
Alyssa Rosenzweig [Wed, 16 Dec 2020 18:02:03 +0000 (13:02 -0500)]
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>
Alyssa Rosenzweig [Wed, 16 Dec 2020 18:01:45 +0000 (13:01 -0500)]
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>
Alyssa Rosenzweig [Wed, 16 Dec 2020 18:01:12 +0000 (13:01 -0500)]
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>
Alyssa Rosenzweig [Sat, 12 Dec 2020 03:33:09 +0000 (22:33 -0500)]
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>
Alyssa Rosenzweig [Wed, 16 Dec 2020 18:58:12 +0000 (13:58 -0500)]
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>
Alyssa Rosenzweig [Sat, 12 Dec 2020 03:00:01 +0000 (22:00 -0500)]
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>
Alyssa Rosenzweig [Sat, 12 Dec 2020 02:24:59 +0000 (21:24 -0500)]
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>
Alyssa Rosenzweig [Sat, 12 Dec 2020 01:30:19 +0000 (20:30 -0500)]
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>
Alyssa Rosenzweig [Wed, 16 Dec 2020 18:35:42 +0000 (13:35 -0500)]
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>
Alyssa Rosenzweig [Mon, 21 Dec 2020 22:35:28 +0000 (17:35 -0500)]
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>
Alyssa Rosenzweig [Sat, 12 Dec 2020 03:49:54 +0000 (22:49 -0500)]
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>
Alyssa Rosenzweig [Sat, 12 Dec 2020 02:00:26 +0000 (21:00 -0500)]
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>
Alyssa Rosenzweig [Wed, 9 Dec 2020 14:00:04 +0000 (09:00 -0500)]
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>
Alyssa Rosenzweig [Wed, 9 Dec 2020 13:42:41 +0000 (08:42 -0500)]
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>
Alyssa Rosenzweig [Wed, 9 Dec 2020 13:42:26 +0000 (08:42 -0500)]
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>
Alyssa Rosenzweig [Tue, 8 Dec 2020 13:39:20 +0000 (08:39 -0500)]
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>
Alyssa Rosenzweig [Tue, 8 Dec 2020 13:39:31 +0000 (08:39 -0500)]
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>
Alyssa Rosenzweig [Tue, 8 Dec 2020 13:39:07 +0000 (08:39 -0500)]
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>
Alyssa Rosenzweig [Tue, 8 Dec 2020 00:15:24 +0000 (19:15 -0500)]
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>
Alyssa Rosenzweig [Tue, 8 Dec 2020 00:15:10 +0000 (19:15 -0500)]
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>
Alyssa Rosenzweig [Tue, 8 Dec 2020 00:14:49 +0000 (19:14 -0500)]
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>
Alyssa Rosenzweig [Wed, 9 Dec 2020 19:06:15 +0000 (14:06 -0500)]
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>
Alyssa Rosenzweig [Wed, 9 Dec 2020 13:58:57 +0000 (08:58 -0500)]
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>
Alyssa Rosenzweig [Wed, 16 Dec 2020 17:50:07 +0000 (12:50 -0500)]
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>
Alyssa Rosenzweig [Fri, 11 Dec 2020 15:52:11 +0000 (10:52 -0500)]
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>
Alyssa Rosenzweig [Fri, 11 Dec 2020 15:30:06 +0000 (10:30 -0500)]
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>
Alyssa Rosenzweig [Fri, 4 Dec 2020 19:54:00 +0000 (14:54 -0500)]
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>
Alyssa Rosenzweig [Sat, 28 Nov 2020 00:01:00 +0000 (19:01 -0500)]
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>
Alyssa Rosenzweig [Fri, 27 Nov 2020 19:39:40 +0000 (14:39 -0500)]
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>
Alyssa Rosenzweig [Mon, 28 Dec 2020 14:26:07 +0000 (09:26 -0500)]
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>
Alyssa Rosenzweig [Mon, 28 Dec 2020 13:47:48 +0000 (08:47 -0500)]
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>
Alyssa Rosenzweig [Fri, 4 Dec 2020 20:06:48 +0000 (15:06 -0500)]
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>
Alyssa Rosenzweig [Tue, 22 Dec 2020 23:33:56 +0000 (18:33 -0500)]
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>
Alyssa Rosenzweig [Thu, 31 Dec 2020 14:20:17 +0000 (09:20 -0500)]
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>
Mike Blumenkrantz [Mon, 28 Dec 2020 20:47:37 +0000 (15:47 -0500)]
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>
Mike Blumenkrantz [Thu, 20 Aug 2020 13:22:37 +0000 (09:22 -0400)]
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>
Mike Blumenkrantz [Thu, 20 Aug 2020 13:42:52 +0000 (09:42 -0400)]
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>
Mike Blumenkrantz [Mon, 28 Dec 2020 20:39:18 +0000 (15:39 -0500)]
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>
Samuel Pitoiset [Mon, 28 Dec 2020 07:44:03 +0000 (08:44 +0100)]
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>
Eric Anholt [Wed, 30 Dec 2020 20:51:04 +0000 (12:51 -0800)]
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>
Eric Anholt [Wed, 30 Dec 2020 20:44:42 +0000 (12:44 -0800)]
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>
Eric Anholt [Wed, 30 Dec 2020 20:35:54 +0000 (12:35 -0800)]
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>
Eric Anholt [Wed, 30 Dec 2020 20:17:21 +0000 (12:17 -0800)]
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>
Eric Anholt [Wed, 30 Dec 2020 19:59:15 +0000 (11:59 -0800)]
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>
Eric Anholt [Wed, 30 Dec 2020 19:21:49 +0000 (11:21 -0800)]
gallium/tgsi_exec: Fix shared memory atomic ops.
It was only executing the first channel, ignoring the rest. I also
cleaned things up to not loop over rgba, since atomics are only ever to a
single 32-bit value per invocation.
This worked on softpipe previously because it only dispatches 1 CS
invocation per TGSI exec machine anyway, wasting the other 3 slots.
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8276>
Eric Anholt [Thu, 31 Dec 2020 00:09:13 +0000 (16:09 -0800)]
ci/softpipe: Re-enable GS tests that had been banned for being flaky.
Now that the flakes should be fixed, turn the coverage on.
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8277>
Eric Anholt [Thu, 31 Dec 2020 00:09:13 +0000 (16:09 -0800)]
gallium/draw: Fix intermittent failure to bind new geometry shaders.
If you deleted your old GS and created a new one, then it would
occasionally skip binding the new GS because the token pointers were
equal. Clear the current token pointer in the machine when we're deleting
its token.
Cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8277>
Dylan Baker [Thu, 31 Dec 2020 04:19:51 +0000 (20:19 -0800)]
docs: update calendar and link releases notes for 20.3.2
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8280>
Dylan Baker [Thu, 31 Dec 2020 04:11:04 +0000 (20:11 -0800)]
docs: Add sha256 sum for 20.3.2
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8280>
Dylan Baker [Thu, 31 Dec 2020 03:57:40 +0000 (19:57 -0800)]
docs: add release notes for 20.3.2
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8280>
Mike Blumenkrantz [Thu, 24 Dec 2020 22:14:14 +0000 (17:14 -0500)]
zink: fix tess shader i/o variables
this was a mismerge during refactoring for review
Fixes:
d09f9da4c4d ("zink: add ntv handling for tess shader i/o variables")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8232>
Mike Blumenkrantz [Wed, 30 Dec 2020 21:14:54 +0000 (16:14 -0500)]
zink: require KHR_maintenance2 for tessellation and set bottom-left origin
this makes tessellation work as expected in apps but has no impact on unit tests
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Witold Baryluk <witold.baryluk@gmail.com>
Tested-by: Witold Baryluk <witold.baryluk@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8274>
Adam Jackson [Wed, 9 Dec 2020 22:22:04 +0000 (17:22 -0500)]
swrast: Remove the classic swrast DRI driver
Following up from the classic swrast OSMesa removal in favor of
llvmpipe/softpipe, remove the classic swrast DRI driver. It's unused by
any distribution -- debian was the last holdout until this week, which had
it enabled instead of softpipe on obscure platforms (non-LLVM and hurd).
Now that debian has switched, remove the driver so nobody can accidentally
enable it again.
Fixes: #325, #324, #322, #321, #319, #318, #317, #315, #313, #311, #310,
#306, #305, #304, #302, #301, #300, #299, #298, #297, #293, #289
Reviewed-by: Eric Anholt <eric@anholt.net> (commit message rewritten)
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8069>
Nanley Chery [Mon, 28 Dec 2020 17:31:33 +0000 (09:31 -0800)]
iris: Support clears in more GPU-based copies
Commit
7779b1d71bf053f0c73a1b717e6d2ed91f948378, disabled clear support
when copying to/from color buffers. According to the performance CI, it
falls within a range of commits that introduced a performance regression
on Bioshock Infinite with Tigerlake. Icelake isn't noticeably affected.
By analyzing a trace of the game, I found a couple cases where that
commit added new partial resolves. Update get_copy_region_aux_settings
to avoid them:
- The trace uploads to R8_UNORM textures. On TGL, these enter the
COMPRESSED_CLEAR state on the upload and are partially resolved before
every subsequent upload. Thankfully, they keep their initial clear
color of all zeroes. Since zeros can survive format reinterpretation,
allow clear support for it.
- The trace copies between RGBA16_FLOAT textures. The ones with zero
clear color are helped by the optimization above. The ones with
non-zero clear color are used as source textures. Thankfully on ICL+,
the clear color used for sampling is in pixel form and can thus be
sampled from with format reinterpretation. Allow clear support for
this case.
I haven't tested the actual performance impact of this change, but it
should be beneficial regardless.
Reported-by: Clayton Craft <clayton.a.craft@intel.com>
Reported-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8262>
Nanley Chery [Mon, 28 Dec 2020 18:27:13 +0000 (10:27 -0800)]
iris: Move STC case in get_copy_region_aux_settings
Combine the STC_CCS case with the HiZ cases.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8262>
Eric Anholt [Tue, 29 Dec 2020 19:44:26 +0000 (11:44 -0800)]
ci/panfrost: Disable the flaky gimark trace.
Fixes:
dcb8f625543e ("ci: add piglit jobs to LAVA and remove tracie ones")
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8263>
Vinson Lee [Thu, 24 Dec 2020 04:14:42 +0000 (20:14 -0800)]
swr: Fix typos.
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8223>
Tony Wasserka [Tue, 29 Dec 2020 16:29:41 +0000 (17:29 +0100)]
aco/ra: Avoid redundant RegisterFile copies in get_reg_impl
Now that this function does not block RegisterFile entries anymore,
the temporary copy is only needed upon reaching the collect_vars call.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8261>
Mike Blumenkrantz [Wed, 30 Dec 2020 14:55:58 +0000 (09:55 -0500)]
zink: avoid replacing valid tcs with injected one
need to check both arrays here since we only want to use an injected shader
if we don't have a real one, not just if the real one isn't being updated
Fixes:
334759d8509 ("zink: implement passthrough tcs shader injection")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8271>
Danylo Piliaiev [Fri, 4 Dec 2020 14:44:41 +0000 (16:44 +0200)]
freedreno/a6xx: support layered framebuffers in blitter_clear
Clear is done with one instanced draw call, where the layer
to clear is controlled by gl_Layer.
Same as how util_blitter_clear does this.
Fixes test:
gl-3.2-layered-rendering-clear-color-all-types 2d_multisample_array single_level
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7919>
Danylo Piliaiev [Fri, 4 Dec 2020 14:39:04 +0000 (16:39 +0200)]
freedreno/a6xx: add support for gl_Layer in vertex shader
Passes amd_vertex_shader_layer-layered-2d-texture-render
Don't enable GL_AMD_vertex_shader_layer because we do not pass
amd_vertex_shader_layer-layered-depth-texture-render due to
the assert:
emit_blit: Assertion `psurf->u.tex.first_layer == psurf->u.tex.last_layer'
However, in current state it is still useful for clearing
of arrayed framebuffers.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7919>
Danylo Piliaiev [Wed, 16 Dec 2020 16:08:04 +0000 (18:08 +0200)]
freedreno/a6xx: fix array pitch for layer-first layouts
Fixes:
gl-3.2-layered-rendering-gl-layer-render
gl-3.2-layered-rendering-gl-layer-render-clipped
gl-3.2-layered-rendering-gl-layer-render-storage
gl-3.2-layered-rendering-gl-layer-cube-map
Would fix:
amd_vertex_shader_layer-layered-2d-texture-render
when GL_AMD_vertex_shader_layer is enabled.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3929
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7919>
Gert Wollny [Mon, 28 Dec 2020 16:55:58 +0000 (17:55 +0100)]
doc: virgl supports ARB_texture_filter_anisotropic already
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8257>
Samuel Pitoiset [Fri, 11 Dec 2020 14:44:29 +0000 (15:44 +0100)]
radv: add a Python script to check if a VA was ever valid
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/7891>
Samuel Pitoiset [Fri, 11 Dec 2020 14:43:51 +0000 (15:43 +0100)]
radv: dump VA ranges history when a GPU hang is detected
This is enabled only with RADV_DEBUG=hang. This adds a small
Gitlab: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3904
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/7891>
Vinson Lee [Tue, 22 Dec 2020 01:52:04 +0000 (17:52 -0800)]
d3d12: Initialize local_resource member mapped in constructor.
Fix defect reported by Coverity Scan.
Uninitialized scalar field (UNINIT_CTOR)
uninit_member: Non-static class member mapped is not initialized in this
constructor nor in any functions that it calls.
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8193>
Timothy Arceri [Sat, 3 Oct 2020 03:24:30 +0000 (13:24 +1000)]
glsl: default to compat shaders in compat profile
If the shader does not specify "core" or "compatibility" in shaders
above 1.40 we were defaulting these shaders to core shaders when
in a compat profile. Instead default to compat shaders.
This brings us inline with the behaviour of the binary drivers and
fixes a crash on start-up for the game Foundation.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3594
Fixes:
c7e3d31b0b5f ("glsl: fix compat shaders in GLSL 1.40")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Zoltán Böszörményi <zboszor@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6993>
Dave Airlie [Mon, 28 Dec 2020 22:23:58 +0000 (08:23 +1000)]
intel/isl: move get_tile dims/masks to common isl header
Both classic and iris have the same code for this, but none of it
is dependent on drivers, so just add inline helpers to isl.
Acked-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8253>
Eric Anholt [Mon, 28 Dec 2020 22:20:23 +0000 (14:20 -0800)]
freedreno: Enable GLSL 1.50, updating us to GL 3.2 contexts.
We have been advertising 3.1, which waffle has issues creating contexts
for, causing coverage (and performance!) issues in piglit. We should
support all the necessary features already.
Some new failures are caught by the 3.2 CTS, but they look like they're
existing issues simply not covered by the minimal GL 3.0 CTS.
Fixes: #3037
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8255>
Danylo Piliaiev [Mon, 28 Dec 2020 12:12:11 +0000 (14:12 +0200)]
nir/lower_fragcolor: handle dual source blending
With dual source blending only 1 draw buffer could be used.
For zink fixes tests:
arb_blend_func_extended-fbo-extended-blend-pattern_gles2
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8247>
Tony Wasserka [Wed, 2 Dec 2020 17:35:55 +0000 (18:35 +0100)]
aco/ra: Fix register allocation for subdword operands
ACO attempts to store the output of an instruction in the same register
occupied by its operands where possible. Importantly this only works if
the operands are large enough to store the result register size. The code
failed to consider subdword operands when checking for this, causing
entire register slots to be freed up even though subdword parts were still
used.
In Mafia 3, this affected the following code:
v2b: %363:v[2][0:16], v2b: %362:v[2][16:32] = p_split_vector %360:v[2]
v1: %116:v[2] = v_cvt_f32_f16 %362:v[2][16:32]
v1: %117:v[2] = v_cvt_f32_f16 %363:v[2][0:16]
where v[2] is allocated to %116 even though its original lower 16 bits are
still used in the instruction after.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3717
Fixes:
031edbc4a54d5685b05e244f8aa1e094ec246eb5
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7461>
Tony Wasserka [Tue, 17 Nov 2020 18:15:48 +0000 (19:15 +0100)]
aco/ra: Add some documentation
This should make these somewhat tricky bits easier to follow.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7461>
Tony Wasserka [Mon, 2 Nov 2020 17:16:56 +0000 (18:16 +0100)]
aco: Add tests for subdword register allocation
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7461>
Tony Wasserka [Thu, 5 Nov 2020 15:21:49 +0000 (16:21 +0100)]
aco/tests: Fix deadlock for too large test lists
The write() to the communication pipe shared with check_output.py would block
for large test output streams since the pipe's consumer wouldn't be launched
until the write already completed.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7461>
Tony Wasserka [Thu, 5 Nov 2020 11:43:14 +0000 (12:43 +0100)]
aco/tests: Allow specifiying the test subvariant in setup_cs
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7461>
Tony Wasserka [Thu, 5 Nov 2020 11:41:58 +0000 (12:41 +0100)]
aco/tests: Fix GFX10_3 being printed as gfx11
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7461>
Tony Wasserka [Thu, 5 Nov 2020 16:04:12 +0000 (17:04 +0100)]
aco/ra: Add policy parameter to select implementation details for testing
This new policy parameter allows disabling the optimistic path of get_reg
(i.e. get_reg_simple) to improve test coverage of the pessimistic path
provided by get_reg_impl.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7461>
Mike Blumenkrantz [Mon, 14 Dec 2020 16:48:39 +0000 (11:48 -0500)]
st/pbo: fix pbo uploads without PIPE_CAP_TGSI_VS_LAYER_VIEWPORT and skip gs
the previous commit handling this forced geometry shader usage for all cases,
but this is not ideal, so instead there are now fragment shader variants for
both depth==1 and depth!=1, corresponding to the existence of gl_Layer in the
shader
Fixes:
614c77772ac ("st/pbo: fix pbo uploads without PIPE_CAP_TGSI_VS_LAYER_VIEWPORT")
Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8089>
Ryan Neph [Wed, 16 Dec 2020 01:18:09 +0000 (01:18 +0000)]
virgl: fix BGRA emulation artifacts during window resize
On some devices, window resizing results in flashes of blue- and
orange-tinted versions of the current frame until resizing is
finished.
This fix ensures that the emubgra tweak used for GLES virgl hosts
has its enabled state flag set properly during resize events.
v2: removed unrelated whitespace change
Fixes:
6f68cacf619 ("virgl: Always enable emulated BGRA and swizzling unless specifically told not to")
Signed-off-by: Ryan Neph <ryanneph@google.com>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8119>
Vinson Lee [Sun, 6 Dec 2020 06:01:35 +0000 (22:01 -0800)]
svga: Fix typos in comments.
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7943>
Jesse Natalie [Wed, 18 Nov 2020 20:22:27 +0000 (12:22 -0800)]
microsoft/clc: Hook up printf
Rewrites the original lowering pass to use the one shared with Clover,
instead only handling the new load_printf_buffer_address intrinsic.
Exports the new metadata to the runtime containing strings and arg sizes.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8254>
Dave Airlie [Wed, 28 Oct 2020 01:46:49 +0000 (11:46 +1000)]
clover/nir: hookup printf (v3)
This connects printf up for NIR drivers, it lowers using the NIR
pass where it places the idx to the strings into the output buffer.
It also sets the global buffer header to the nir paths.
v2: remove dead function temps after lowering
v3: move to single string
Acked-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8254>
Jesse Natalie [Mon, 22 Jun 2020 15:12:54 +0000 (08:12 -0700)]
nir: Add an algebraic optimization for float->double->float
As part of this series, it removes the need for float->double conversion,
just to be able to print a single float.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8254>