Alyssa Rosenzweig [Thu, 2 Mar 2023 05:54:32 +0000 (00:54 -0500)]
agx/lower_address: Optimize "shift + constant"
Optimize address arithmetic of the form
base + u2u64((index << shift) + const)
into hardware operands
base, index << (shift - format_shift) + const'
which (if format_shift = shift) can be simply
base, index + const'
rather than the current naive translation
base, ((index << shift) + const) >> format_shift
This saves at least one pointless shift. We can't do this optimization with
nir_opt_algebraic, because explicitly optimizing "(a << #b) >> #b" to "a" isn't
sound due to overflow. But there's no overflow issue here, which is what this
whole pass is designed around.
For motivation, this address arithmetic implements "dynamically indexing into an
array inside of a C structure", where the const is the offset of the array
relative to the structure.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21643>
Alyssa Rosenzweig [Tue, 7 Mar 2023 02:15:25 +0000 (21:15 -0500)]
agx/lower_address: Break on match
Once we've matched a summand, commit to it. This avoids needlessly checking the
second source if the first matched, and removes some indentation/funny control
flow.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21643>
Sergi Blanch Torne [Thu, 16 Feb 2023 09:47:07 +0000 (10:47 +0100)]
Revert "ci: disable Collabora's LAVA lab for maintance"
This reverts commit https://gitlab.freedesktop.org/mesa/mesa/-/commit/
6be7469df1e12bd57c697ff7e34bbda8286d67a2
Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21356>
Mike Blumenkrantz [Fri, 3 Mar 2023 15:43:04 +0000 (10:43 -0500)]
zink: always set batch usage for descriptors after barrier
this otherwise breaks unordered promotion calc
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21739>
Mike Blumenkrantz [Thu, 2 Mar 2023 15:01:44 +0000 (10:01 -0500)]
zink: set dynamic pcp for unordered cmdbuf
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21739>
Mike Blumenkrantz [Thu, 2 Mar 2023 14:56:11 +0000 (09:56 -0500)]
zink: bind descriptor buffers to unordered cmdbuf
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21739>
Mike Blumenkrantz [Tue, 28 Feb 2023 20:41:07 +0000 (15:41 -0500)]
zink: always set color writes on the unordered cmdbuf
this state has to be set, so ensure it is
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21739>
Mike Blumenkrantz [Wed, 1 Mar 2023 22:13:34 +0000 (17:13 -0500)]
zink: explicitly flush src clears when u_blittering
this otherwise relies on set_framebuffer_state flushing them,
which may or may not be accurate/desired
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21739>
Mike Blumenkrantz [Wed, 1 Mar 2023 19:17:32 +0000 (14:17 -0500)]
zink: don't unset existing access when adding resource binds
this breaks barrier calcs, but it was fine since there was a pre-barrier
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21739>
Mike Blumenkrantz [Wed, 1 Mar 2023 19:05:51 +0000 (14:05 -0500)]
zink: eliminate pre barrier for adding resource binds
this will automatically be handled by the copies below
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21739>
Mike Blumenkrantz [Tue, 28 Feb 2023 19:00:34 +0000 (14:00 -0500)]
zink: check for layout updates when unbinding samplerviews
not sure if it's a bug, but it should be consistent with shader image
unbinding, so here it is
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21739>
Mike Blumenkrantz [Tue, 28 Feb 2023 21:05:08 +0000 (16:05 -0500)]
zink: propagate valid_buffer_range when replacing buffer storage
this is otherwise unreliable
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21739>
Mike Blumenkrantz [Wed, 15 Feb 2023 19:34:23 +0000 (14:34 -0500)]
zink: fix descriptor update flagging on null ssbo set
this could unset the update flag if the last ssbo was null, which would
be a bug if it could ever be triggered
found by inspection
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21739>
Mike Blumenkrantz [Mon, 6 Mar 2023 13:25:00 +0000 (08:25 -0500)]
zink: only add deferred barrier on fb unbind when layout needs to change
this otherwise may have been a surface that was never drawn to or
already had its layout corrected, in which case a deferred barrier
is not only unnecessary, it might be broken
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21739>
Mark Janes [Wed, 8 Feb 2023 03:41:01 +0000 (19:41 -0800)]
intel/fs: use generated helpers for Wa_1209978020 / Wa_18012201914
Wa_1209978020 is a clone of Wa_18012201914. Update references to
refer to the originating bug, and use generated helpers to ensure it
is applied to future platforms as needed.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21741>
Caio Oliveira [Thu, 2 Mar 2023 23:43:00 +0000 (15:43 -0800)]
intel/compiler: Drop non-scoped barrier handling
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21634>
Alyssa Rosenzweig [Wed, 1 Mar 2023 19:51:02 +0000 (14:51 -0500)]
gallivm: Drop non-scoped barrier handling
Now unreachable.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21634>
Alyssa Rosenzweig [Wed, 1 Mar 2023 19:50:27 +0000 (14:50 -0500)]
ir3: Drop non-scoped barrier handling
Now unreachable.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21634>
Alyssa Rosenzweig [Wed, 1 Mar 2023 19:49:42 +0000 (14:49 -0500)]
pan/mdg: Drop control_barrier handling
Now unreachable.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21634>
Alyssa Rosenzweig [Wed, 1 Mar 2023 19:49:16 +0000 (14:49 -0500)]
pan/bi: Drop control_barrier handling
Now unreachable.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21634>
Alyssa Rosenzweig [Wed, 1 Mar 2023 19:47:56 +0000 (14:47 -0500)]
glsl/nir: Use scoped_barrier for control barrier
Rather than control_barrier. This avoids the need to handle control_barrier at
all for backends that set use_scoped_barrier. This effectively matches what
spirv_to_nir emits, so Vulkan-capable compilers should be ok.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21634>
Caio Oliveira [Thu, 2 Mar 2023 20:59:18 +0000 (12:59 -0800)]
intel/compiler: Drop brw_nir_lower_scoped_barriers
Now that we handle scoped barriers with execution scope during
NIR -> Backend IR translation, this lowering is not needed anymore.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21634>
Caio Oliveira [Thu, 2 Mar 2023 22:12:58 +0000 (14:12 -0800)]
intel/vec4: Handle scoped barriers with execution scope
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21634>
Caio Oliveira [Thu, 2 Mar 2023 22:26:53 +0000 (14:26 -0800)]
intel/fs: Handle scoped barriers with execution scope
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21634>
Yiwei Zhang [Fri, 10 Feb 2023 06:08:10 +0000 (22:08 -0800)]
venus: revert back the warn order
This reverts
- commit
4ae4e4362cfdab91be81c48195674d354ef45602
- commit
f54aa49c1439440c88a1c6a1046be11dba3ab44e
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21542>
Yiwei Zhang [Wed, 21 Sep 2022 21:08:41 +0000 (21:08 +0000)]
venus: vn_relax to abort on ring fatal status upon warn order
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21542>
Yiwei Zhang [Mon, 27 Feb 2023 01:29:09 +0000 (17:29 -0800)]
venus: propagate vn_ring to vn_relax
This is to prepare for vn_relax to check ring status as well as pinging
renderer.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21542>
Yiwei Zhang [Wed, 21 Sep 2022 20:43:51 +0000 (20:43 +0000)]
venus: abort ring submit when ring is in fatal status
This change also migrates to use the protocol defined status enums.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21542>
Yiwei Zhang [Sat, 4 Mar 2023 00:30:37 +0000 (16:30 -0800)]
venus: sync to latest protocol for ring status enum
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21542>
Mark Janes [Wed, 8 Feb 2023 02:00:58 +0000 (18:00 -0800)]
intel/fs: use generated workaround helpers for Wa_14010017096
This workaround does not apply beyond gen 12.0.
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21746>
Mark Collins [Mon, 6 Mar 2023 11:27:28 +0000 (11:27 +0000)]
meson: forcefully disable libdrm when host doesn't have it
Signed-off-by: Mark Collins <mark@igalia.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21724>
Alyssa Rosenzweig [Thu, 2 Mar 2023 18:30:47 +0000 (13:30 -0500)]
nir/opt_barrier: Generalize to control barriers
For GLSL, we want to optimize code like
memoryBarrierBuffer();
controlBarrier();
into a single scoped_barrier intrinsic for the backend to consume. Now that
backends can get scoped_barriers everywhere, what's left is enabling backends to
combine these barriers together. We already have an Intel-specific pass for
combining memory barriers; it just needs a teensy bit of generalization to allow
combining all sorts of barriers together.
This avoids code quality regression on Asahi when switching to purely scoped
barriers. It's probably useful for other backends too.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21661>
Faith Ekstrand [Mon, 27 Feb 2023 19:28:45 +0000 (13:28 -0600)]
intel: Use nir_lower_tex_options::lower_index_to_offset
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21546>
Alyssa Rosenzweig [Sun, 26 Feb 2023 04:03:58 +0000 (23:03 -0500)]
ir3: Use lower_index_to_offset
Instead of doing the add ourselves.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21546>
Alyssa Rosenzweig [Sun, 26 Feb 2023 04:02:17 +0000 (23:02 -0500)]
pan/bi: Use lower_index_to_offset
Instead of doing the add ourselves.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21546>
Alyssa Rosenzweig [Sun, 26 Feb 2023 03:59:07 +0000 (22:59 -0500)]
nir/lower_tex: Add lower_index_to_offset
Some backends can handle a constant texture index or a dynamic texture index but
not a constant texture index plus a dynamic texture offset. Add a nir_lower_tex
option to lower to one of these options.
v2: Use more straightforward code proposed by Faith.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Emma Anholt <emma@anholt.net> [v1]
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21546>
Sam Edwards [Tue, 28 Feb 2023 22:46:30 +0000 (22:46 +0000)]
nouveau: Fix null dereference in nouveau_pushbuf_destroy
This may happen if the Nouveau device fails to initialize before
the pushbuf is set up; the abort logic will call this either way.
Signed-off-by: Sam Edwards <CFSworks@gmail.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21611>
Daniel Stone [Mon, 6 Mar 2023 18:10:26 +0000 (18:10 +0000)]
ci/fdno: Only run full tests on a limited subset of machines
Though not many people run full test runs, it occupies 2/7 a630 slots
for nearly 2 hours. If more than one person does this at a time, it can
be an effective DoS and make merges time out.
Limit full runs to a subset of the runners, such that at least some of
them will always be available for us.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21737>
Rob Clark [Sat, 25 Feb 2023 18:49:29 +0000 (10:49 -0800)]
freedreno/common: Replace or_mask() with BitsetEnum<T>
Use template and operator overloading to make dealing with bitmask enums
shared between C and C++ easier.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21535>
Eric Engestrom [Mon, 6 Mar 2023 17:17:23 +0000 (17:17 +0000)]
v3d/ci: add dEQP-GLES3.functional.texture.specification.teximage2d_pbo.*_cube flakes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21735>
Mike Blumenkrantz [Mon, 6 Mar 2023 12:18:24 +0000 (07:18 -0500)]
zink: unbind fb on context destroy
this ensures that batch refs are added for fb surfaces on unbind, which
prevents stale batch tracking from persisting on resources
after the context is destroyed
fixes:
*EGL.functional.render.multi_context*
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21727>
Guilherme Gallo [Tue, 28 Feb 2023 23:46:44 +0000 (20:46 -0300)]
ci: Handle carriage return characters in LAVA logs
This commit updates LogFollower class to handle carriage return
characters in LAVA logs. LAVA treats carriage return characters as a
line break, so each carriage return in an output console is mapped to a
console line in LAVA.
The updated LogFollower class now merges lines that end with a carriage
return character into a single line, making the Gitlab sections work
correctly. In addition, the `remove_trailing_whitespace` method has been
updated to remove trailing `\r\n` characters from log lines.
The `test_lava_log_merge_carriage_return_lines` test function has also
been updated to test for carriage returns at the end of the previous
line.
Closes: #8242
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21614>
Italo Nicola [Thu, 15 Dec 2022 16:34:21 +0000 (13:34 -0300)]
hud: add GALLIUM_HUD_OPACITY envvar
GALLIUM_HUD_OPACITY can be used with a % value from 0 to 100, to specify
the opacity of the gallium hud background.
Signed-off-by: Italo Nicola <italonicola@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Tested-by: Chris Healy <healych@amazon.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20339>
Italo Nicola [Thu, 15 Dec 2022 16:44:41 +0000 (13:44 -0300)]
hud: use defines for default scale/rotation/visibility values
Signed-off-by: Italo Nicola <italonicola@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20339>
Ruijing Dong [Wed, 1 Mar 2023 02:14:37 +0000 (21:14 -0500)]
raseonsi/vcn: fix a h264 decoding issue
reason:
some h264 streams have some strange pictures, from
vaapi input these pictures don't have a reference frame,
however, they are not intra only pictures, in MB layer
these pictures are looking for some references, if they
cannot find it. It could cause PF.
when reference pictures exist, it will need to set used_for
reference_flags, therefore if that is set, however the
number of reference frames is zero, which is odd, it
should be avoided.
solution:
In the above case, to scan the ref list so that it will
make at least one reference available to avoid crash, since
this is not accurate enough, it could cause some artifacts.
And in that case, it will need to be checked individually
for another solution.
closes: https://gitlab.freedesktop.org/drm/amd/-/issues/1462
closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8401
Cc: mesa-stable
Tested-by: llyyr <llyyr.public@gmail.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21732>
Mike Blumenkrantz [Thu, 2 Mar 2023 13:27:06 +0000 (08:27 -0500)]
zink: add frame trace markers on the queue
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21655>
Sonny Jiang [Thu, 2 Mar 2023 18:26:30 +0000 (12:26 -0600)]
radeonsi: Add NV12 support for AV1
8bit av1 decoding cannot use NV12 output, which is caused by missing NV12 RT format.
It's a regression caused by commit [
0504a3b0].
Fixes:
0504a3b0 ("radeonsi: correctly declare YUV420_10 RT Format support for AV1")
Cc: mesa-stable
Signed-off-by: Sonny Jiang <sonny.jiang@amd.com>
Reviewed-by: David Wu <David.Wu3@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21697>
Samuel Pitoiset [Mon, 6 Mar 2023 07:40:03 +0000 (08:40 +0100)]
wsi: move an assertion in wsi_xxx_surface_get_capabilities2()
Hit this with vulkaninfo on X11, probably a vulkaninfo bug. Though
moving the assertion doesn't hurt.
Fixes:
be0dcbdfa22 ("wsi/x11: Implement EXT_swapchain_maintenance1.")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21722>
Mike Blumenkrantz [Wed, 1 Mar 2023 16:42:41 +0000 (11:42 -0500)]
zink: when skipping a TRANSFER_DST image barrier, set access tracking
this otherwise breaks subsequent barriers if the first barrier of the batch
is a TRANSFER_DST on an image that can skip such a barrier
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21583>
Mike Blumenkrantz [Tue, 28 Feb 2023 11:45:35 +0000 (06:45 -0500)]
zink: remove debug markers for u_blitter ops
these don't actually work; it creates the marker for the op, but
then the "end" of the marker is effectively determined to be the end
of the cmdbuf
instead, detect whether a draw is from u_blitter and add a marker there
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21583>
Mike Blumenkrantz [Tue, 28 Feb 2023 10:56:27 +0000 (05:56 -0500)]
zink: pass cmdbuf to debug marker begin
this is otherwise broken with cmdbuf reordering
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21583>
Mike Blumenkrantz [Tue, 28 Feb 2023 10:54:32 +0000 (05:54 -0500)]
zink: reorder some blit debug markers
avoid capturing barrier and other ops in these
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21583>
Mike Blumenkrantz [Mon, 27 Feb 2023 17:56:36 +0000 (12:56 -0500)]
zink: be more descriptive with perfetto buffer barriers
this should print some nice info in the graphs now
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21583>
Mike Blumenkrantz [Mon, 27 Feb 2023 16:44:24 +0000 (11:44 -0500)]
zink: determine whether debug markers are used on screen create
make this easier to reuse
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21583>
Mike Blumenkrantz [Sun, 26 Feb 2023 14:33:45 +0000 (09:33 -0500)]
zink: skip buffer barriers if the buffer can be easily proved idle
this should have no pending write hazards, which means this barrier
can just be used for tracking
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21583>
Mike Blumenkrantz [Sun, 26 Feb 2023 14:30:33 +0000 (09:30 -0500)]
zink: use split image barriers if the image can be easily proved idle
this should have no pending write hazards, which means this transition
has no dependencies and can occur immediately
also delete some old comments
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21583>
Mike Blumenkrantz [Sun, 26 Feb 2023 15:47:02 +0000 (10:47 -0500)]
zink: fix zink_resource_access_is_write()
this was accurately returning whether the access had only write flags,
but it was incorrectly returning false for READ|WRITE
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21583>
Mike Blumenkrantz [Sun, 26 Feb 2023 15:42:44 +0000 (10:42 -0500)]
zink: add functions for faster batch-usage completion checks
in cases where only a simple, non-definitive check is needed, these
can be used to eliminate some ioctl overhead
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21583>
Mike Blumenkrantz [Mon, 27 Feb 2023 16:05:06 +0000 (11:05 -0500)]
zink: skip attachment barrier for redundant layout-setting if !valid
an invalidated image doesn't need synchronization, so this can be skipped
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21583>
Mike Blumenkrantz [Mon, 27 Feb 2023 15:44:48 +0000 (10:44 -0500)]
zink: avoid unnecessary read-only layout changes for zs attachments
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21583>
Mike Blumenkrantz [Thu, 23 Feb 2023 19:20:46 +0000 (14:20 -0500)]
zink: add perfetto tracing for barriers
at least shows where they are
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21583>
Daniel Schürmann [Fri, 3 Mar 2023 17:21:41 +0000 (18:21 +0100)]
radv/rt: only reserve stack_sizes after rt_case insertion
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21667>
Daniel Schürmann [Thu, 2 Mar 2023 17:26:00 +0000 (18:26 +0100)]
radv/rt: move stack_sizes into radv_ray_tracing_module
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21667>
Daniel Schürmann [Thu, 2 Mar 2023 17:03:17 +0000 (18:03 +0100)]
radv/rt: introduce struct radv_ray_tracing_module
This is preliminary work for separate shader functions.
The ray_tracing_module is eventually intended as self-contained
pipeline struct per RT group.
For now, these modules only contain the group handles.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21667>
Daniel Schürmann [Thu, 2 Mar 2023 16:34:16 +0000 (17:34 +0100)]
radv/rt: defer library_pipeline allocation
We will need the number of groups at allocation time.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21667>
Daniel Schürmann [Thu, 2 Mar 2023 16:20:34 +0000 (17:20 +0100)]
radv/rt: rename library_pipeline->groups to library_pipeline->group_infos
'groups' will later be used for ray_tracing_modules.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21667>
David Heidelberg [Sat, 4 Mar 2023 19:40:48 +0000 (20:40 +0100)]
ci: do not exit when an error happens inside the section
Let CI handle that case as it did before. The only thing which needs to be done by the error() function is to get out of the section.
Fixes the issue where a job is not saving artifacts after failure.
Fixes:
4cc0cec47357 ("ci: implement unified sections")
Acked-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21715>
Błażej Szczygieł [Tue, 28 Feb 2023 20:01:23 +0000 (21:01 +0100)]
glx: Fix glXGetFBConfigFromVisualSGIX
Get list of configs returned by glXChooseFBConfig, return it's first
element, free memory.
Fixes:
4ccd253588b ("glx: Require GLX 1.3")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8273
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21607>
Sergi Blanch Torne [Fri, 3 Mar 2023 07:53:05 +0000 (08:53 +0100)]
ci: include setup test environment script in the output artifacts
In mesa/mesa !20272, some bash functions introduce a standard wait to setup
gitlab ci sections, but the file collecting them needed to be included in the
artifacts exported by mesa. Other projects that use tests like deqp-runner
need to load these bash functions.
Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21680>
Erik Faye-Lund [Fri, 3 Mar 2023 10:25:04 +0000 (11:25 +0100)]
nir: add a print_internal debug-flag
It can sometimes be useful to also print the shaders that are marked as
internal, so let's add a flag that lets us do that.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21681>
Samuel Pitoiset [Fri, 3 Mar 2023 08:13:46 +0000 (09:13 +0100)]
radv/ci: update CI lists for CTS 1.3.5.0 on GFX110/POLARIS10/PITCAIRN
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21689>
Samuel Pitoiset [Fri, 24 Feb 2023 14:41:23 +0000 (15:41 +0100)]
radv/ci: stop skipping some graphics pipeline library tests
They are fixed in CTS 1.3.5.0.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21689>
Sergi Blanch Torne [Thu, 16 Feb 2023 09:44:08 +0000 (10:44 +0100)]
ci: disable Collabora's LAVA lab for maintance
This is to inform you of some planned downtime in the LAVA lab as follows:
Start: 2023-03-06 08:00 GMT
End: 2023-03-06 12:00 GMT
Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21355>
Mike Blumenkrantz [Mon, 27 Feb 2023 23:57:04 +0000 (18:57 -0500)]
zink: avoid ballooning of copy box tracking
* if the proposed box is smaller than an existing box then don't add it,
* if the proposed box is adjacent to an existing box, expand
* if the proposed box is larger than an existing box, replace
this reduces the chances of having a ton of copy boxes to iterate over
also add a perf warning in case a ton of copy boxes exist
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21665>
Mike Blumenkrantz [Mon, 27 Feb 2023 18:41:17 +0000 (13:41 -0500)]
util/box: fix off-by-one calc error in intersection funcs
the "right-most" boundary needs the -1 since it isn't inclusive
oops
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21665>
Mike Blumenkrantz [Tue, 28 Feb 2023 10:57:18 +0000 (05:57 -0500)]
zink: eliminate internal qbo copy barrier
the values written here will never overlap, so no barrier is necessary
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21581>
Mike Blumenkrantz [Tue, 28 Feb 2023 11:29:54 +0000 (06:29 -0500)]
zink: set predicate_dirty on query creation
ensure this is set when it needs to be
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21581>
Mike Blumenkrantz [Fri, 24 Feb 2023 13:10:46 +0000 (08:10 -0500)]
zink: merge qbo update copies when possible
if a single query is being started and stopped frequently, update
the internal qbo with a single copy call instead of one copy per result
not actually that useful in practice because of how query pools are shared,
but could help somewhere in theory
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21581>
Mike Blumenkrantz [Wed, 1 Mar 2023 14:34:41 +0000 (09:34 -0500)]
zink: rework xfb queries for drivers with poor primgen support
for drivers lacking one of:
* EXT_color_write_enable
* primitivesGeneratedQueryWithRasterizerDiscard
terrible things must happen. specifically, dummy surfaces have to
be used in a framebuffer with rast-discard enabled for the duration
of the query
now that queries are only started/stopped in renderpasses, however,
there are new hurdles. with tc renderpass optimizing, queries can be
started outside the renderpass, which would trigger recursion when
trying to start a primgen query outside the renderpass if any clears
are enabled, as those must be flushed onto the real surfaces
to solve all of this:
* block tc renderpass optimizing if at least one of the above features is missing
* detect a pending primgen query start during renderpass start
* activate rast-discard and set dummy surfaces before beginning renderpass
* this recurses and automatically flushes clears
* finally, start the real renderpass
BUT WAIT THERE'S MORE!
because there's also drivers that support EXT_color_write_enable and don't support
primitivesGeneratedQueryWithRasterizerDiscard, which means they do need rast-discard,
but they don't need dummy surfaces, and so the clears still have to be flushed,
so they need an explicit (recursive) renderpass start/stop in advance to
ensure the clears are applied as expected
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21628>
Mike Blumenkrantz [Wed, 1 Mar 2023 14:34:01 +0000 (09:34 -0500)]
zink: track whether a primgen query is suspended and needing color write hacks
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21628>
Mike Blumenkrantz [Wed, 1 Mar 2023 14:28:23 +0000 (09:28 -0500)]
zink: only resume queries inside renderpasses from set_active_query_state
match new default query behavior
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21628>
Mike Blumenkrantz [Wed, 1 Mar 2023 14:08:58 +0000 (09:08 -0500)]
zink: resume queries after conditional render and clears are processed
this should have no functional effect other than ensuring primgen queries
don't recurse when detecting clears
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21628>
Mike Blumenkrantz [Wed, 1 Mar 2023 14:03:45 +0000 (09:03 -0500)]
zink: disable queries for clear_texture()
this otherwise can do weird things
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21628>
David Heidelberg [Sat, 4 Mar 2023 20:16:09 +0000 (21:16 +0100)]
ci/ci_run_n_monitor: while we usually disable many jobs, print them inline
Saving scrolling time...
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21713>
Friedrich Vock [Tue, 21 Feb 2023 11:42:53 +0000 (12:42 +0100)]
radv: Use LDS for closest-hit hit attributes
Q2RTX: 23.1ms -> 22.9ms
shader-db:
Totals from 19 (0.69% of 2764) affected shaders:
MaxWaves: 197 -> 208 (+5.58%)
Instrs: 87702 -> 87817 (+0.13%); split: -0.03%, +0.16%
CodeSize: 474320 -> 475128 (+0.17%)
VGPRs: 1840 -> 1728 (-6.09%)
Latency: 2771599 -> 2773173 (+0.06%); split: -0.13%, +0.18%
InvThroughput: 561281 -> 533010 (-5.04%); split: -5.16%, +0.12%
VClause: 2782 -> 2788 (+0.22%); split: -0.18%, +0.40%
Copies: 12115 -> 12136 (+0.17%); split: -0.45%, +0.63%
Branches: 4116 -> 4122 (+0.15%)
PreVGPRs: 1665 -> 1638 (-1.62%); split: -1.92%, +0.30%
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21635>
Friedrich Vock [Tue, 21 Feb 2023 20:47:04 +0000 (21:47 +0100)]
radv: Extend hit attribute lowering for LDS
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21635>
Alyssa Rosenzweig [Sat, 25 Feb 2023 16:55:24 +0000 (11:55 -0500)]
asahi: Wire up compute kernels
Now that we have multiple sysval tables, implementing compute kernels --
including with indirect dispatch and load_num_workgroups -- is straightforward.
This patch adds the straightforward launch_grid implementation.
As usual needs UAPI support patches to actually do anything, but the relevant
compute tests are passing downstream.
It's not possible to properly test compute shaders support right now (pending
support for images), so we don't update the CAPs or features.txt here. This is
more about flushing out the piles of downstream patches we have (and getting
reviewed!) in preparation for cutting a downstream release soon.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21703>
Alyssa Rosenzweig [Sat, 25 Feb 2023 16:44:36 +0000 (11:44 -0500)]
asahi: Rework system value lowering
The previous lowering was insufficient in two areas:
* No support for indirection. This is required for dynamically indexing into
UBOs, SSBOS, etc in OpenGL ES 3.2
* Only a single table supported. Multiple tables are required to implement
indirect dispatch/draws efficiently, in order to bind the indirect buffer as
uniforms.
The first problem is addressed here by reworking the lowering of
system values to happen in NIR, decoupled from the uniform register assignment
details, such that we can handle 1:n lowerings in a straightforward way.
Namely, indirect sysvals are lowered to indirect memory loads relative to the
base address of the sysval table, where the table address is itself pushed as a
(direct) sysval.
The second problem is addressed in this patch by generalizing to multiple
uniform tables.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21703>
Alyssa Rosenzweig [Sun, 19 Feb 2023 20:29:19 +0000 (15:29 -0500)]
agx: Handle fragment shader side effects
Fragment shaders with side effects need to be lowered to ensure they execute for
all shaded pixels but no helper threads. Add a lowering pass to handle this.
Fixes dEQP-GLES31.functional.shaders.opaque_type_indexing.atomic_counter.const_literal_fragment
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21712>
Alyssa Rosenzweig [Sun, 19 Feb 2023 20:30:10 +0000 (15:30 -0500)]
agx: Disable tri merging with side effects
As Metal does.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21712>
David Heidelberg [Sat, 4 Mar 2023 16:20:15 +0000 (17:20 +0100)]
crocus/meson: add dependency on libintel_dev also for versioned static libraries
Fixes:
a0fa31bcdd8 ("intel/dev: create a helper dependency for libintel_dev")
Reviewed-by: Mark Janes <markjanes@swizzler.org>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21709>
Rob Clark [Wed, 1 Mar 2023 19:24:06 +0000 (11:24 -0800)]
vk/runtime: Use libdrm shim
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21636>
Rob Clark [Wed, 1 Mar 2023 19:20:26 +0000 (11:20 -0800)]
loader: Use libdrm shim
Signed-off-by: Rob Clark <robdclark@chromium.org>
Acked-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21636>
Rob Clark [Wed, 1 Mar 2023 00:10:13 +0000 (16:10 -0800)]
turnip: Use libdrm shim
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21636>
Rob Clark [Wed, 1 Mar 2023 00:09:29 +0000 (16:09 -0800)]
util: Add a simple no-op libdrm shim
Make it easier to deal with build configs that do not have libdrm.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21636>
David Heidelberg [Sun, 5 Mar 2023 14:30:37 +0000 (15:30 +0100)]
ci/freedreno: rare flake KHR-GL45.sample_variables.mask.rgba8i.samples_4.mask_3
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21718>
David Heidelberg [Sun, 5 Mar 2023 13:32:58 +0000 (14:32 +0100)]
ci/lavapipe: add recent occasional flake
Issue: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8441
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21717>
Gert Wollny [Fri, 3 Mar 2023 11:16:40 +0000 (12:16 +0100)]
r600/sfn: Fix atomic lowering
Fixes:
56dedf052f4af1903a0d312eb9c7721c69f36c69
r600/sfn: add r600 specific lowering pass for atomics and use it
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21684>
Gert Wollny [Tue, 28 Feb 2023 16:55:13 +0000 (17:55 +0100)]
r600/sfn/tests: Add a test for the copy prop into a group
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21684>
Gert Wollny [Tue, 28 Feb 2023 16:54:46 +0000 (17:54 +0100)]
r600/sfn: redirect copy propagation to alu parent group
If an ALU instruction was emitted from the get-go as group, then
we have to make sure that replacing a source doesn't violate the
readport configuration in the group.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8374
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21684>