Emma Anholt [Tue, 19 Sep 2023 19:09:20 +0000 (12:09 -0700)]
ci/intel: Add various updates from our nightly runs.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25301>
Jose Maria Casanova Crespo [Wed, 7 Jun 2023 22:57:15 +0000 (00:57 +0200)]
vc4: mark buffers as initialized at vc4_texture_subdata
This fixes several tests when the initially uploaded buffer
from CPU was being ignored because vc4_texture_subdata was not
marking the resource as written/initialized.
The usage flags management available at vc4_resource_transfer_map
is generalized into vc4_map_usage_prep and reused at
vc4_resource_transfer_map. This makes vc4 implementation more similar
to v3d.
This fixes 7 text in the following subgroups:
-dEQP-GLES2.functional.fbo.render.texsubimage.*
-dEQP-GLES2.functional.texture.specification.basic_copytexsubimage2d.*
-spec@arb_clear_texture@arb_clear_texture-*
Cc: mesa-stable
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25297>
Paulo Zanoni [Fri, 8 Sep 2023 21:50:17 +0000 (14:50 -0700)]
iris: assert(bo->deps) after realloc()
Iris in general doesn't really like checking the return value of its
allocations, but in some places it does assert that those pointers are
non-NULL. We've recently investigated a bug that could have been
coming from a failed bo->deps realloc(), so add the assert() here to
help give us more confidence over things the next time we're debugging
issues.
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25236>
Paulo Zanoni [Fri, 8 Sep 2023 21:29:51 +0000 (14:29 -0700)]
iris: avoid stack overflow in iris_bo_wait_syncobj()
Keep most cases using the stack as it's cheaper, but fall back to the
heap when the size gets too big.
This should fix a stack overflow reported by @rhezashan for a case
where we had lots of iris_screens.
Credits to Matt Turner and José Roberto de Souza for their work on
this issue, which led us to find its root cause.
Cc: mesa-stable
Reported-by: rheza shandikri (@rhezashan in gitlab)
Credits-to: José Roberto de Souza <jose.souza@intel.com>
Credits-to: Matt Turner <mattst88@gmail.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25236>
Paulo Zanoni [Fri, 8 Sep 2023 00:48:05 +0000 (17:48 -0700)]
iris: assert bufmgr->bo_deps_lock is held
This is the only place that touches bo->deps but does not explicitly
lock it and is not a setup/teardown function where locking won't help
anything.
I'm confident we won't hit this assertion, but I've recently had this
lock as the suspect of a bug and had to check the callers to see if we
could be calling from any unlocked place. Having the assert helps
increasing our confidence.
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25236>
Pavel Ondračka [Tue, 29 Aug 2023 06:46:17 +0000 (08:46 +0200)]
nir/move_vec_src_uses_to_dest: allow to skip reuse of constant sources
And enable this for r300 and intel-vec4
crocus HSW (mostly helps few doplhin ubershaders):
total instructions in shared programs: 1576736 -> 1576589 (<.01%)
instructions in affected programs: 38235 -> 38088 (-0.38%)
helped: 12
HURT: 0
total cycles in shared programs:
111025838 ->
110944796 (-0.07%)
cycles in affected programs: 5646582 -> 5565540 (-1.44%)
helped: 15
HURT: 6
total spills in shared programs: 447 -> 432 (-3.36%)
spills in affected programs: 186 -> 171 (-8.06%)
helped: 12
HURT: 0
total fills in shared programs: 792 -> 774 (-2.27%)
fills in affected programs: 291 -> 273 (-6.19%)
helped: 12
HURT: 0
r300 RV530:
total instructions in shared programs: 96655 -> 96304 (-0.36%)
instructions in affected programs: 15020 -> 14669 (-2.34%)
helped: 79
HURT: 18
total temps in shared programs: 13027 -> 12952 (-0.58%)
temps in affected programs: 677 -> 602 (-11.08%)
helped: 41
HURT: 9
total cycles in shared programs: 147745 -> 147314 (-0.29%)
cycles in affected programs: 21831 -> 21400 (-1.97%)
helped: 84
HURT: 19
r300 RV370:
total instructions in shared programs: 63678 -> 63669 (-0.01%)
instructions in affected programs: 931 -> 922 (-0.97%)
helped: 12
HURT: 6
total temps in shared programs: 10028 -> 10013 (-0.15%)
temps in affected programs: 339 -> 324 (-4.42%)
helped: 33
HURT: 10
total cycles in shared programs: 101118 -> 101087 (-0.03%)
cycles in affected programs: 2659 -> 2628 (-1.17%)
helped: 22
HURT: 6
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24932>
Pavel Ondračka [Tue, 29 Aug 2023 06:06:24 +0000 (08:06 +0200)]
nir/move_vec_src_uses_to_dest: skip reuse if vec is used only once in store_output
lima and etnaviv show no change in shader-db.
crocus HSW:
total instructions in shared programs: 1576762 -> 1576736 (<.01%)
instructions in affected programs: 485 -> 459 (-5.36%)
helped: 28
HURT: 1
total cycles in shared programs:
111025898 ->
111025838 (<.01%)
cycles in affected programs: 1248 -> 1188 (-4.81%)
helped: 29
HURT: 0
RV370:
total instructions in shared programs: 63889 -> 63558 (-0.52%)
instructions in affected programs: 9116 -> 8785 (-3.63%)
helped: 129
HURT: 0
total temps in shared programs: 10071 -> 10016 (-0.55%)
temps in affected programs: 285 -> 230 (-19.30%)
helped: 51
HURT: 0
total cycles in shared programs: 101344 -> 100997 (-0.34%)
cycles in affected programs: 9326 -> 8979 (-3.72%)
helped: 129
HURT: 0
RV530:
total instructions in shared programs: 93597 -> 93267 (-0.35%)
instructions in affected programs: 10309 -> 9979 (-3.20%)
helped: 166
HURT: 0
total temps in shared programs: 13019 -> 12955 (-0.49%)
temps in affected programs: 337 -> 273 (-18.99%)
helped: 61
HURT: 1
total cycles in shared programs: 144506 -> 144159 (-0.24%)
cycles in affected programs: 10662 -> 10315 (-3.25%)
helped: 165
HURT: 0
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24932>
Pavel Ondračka [Tue, 29 Aug 2023 06:03:05 +0000 (08:03 +0200)]
r300: enable nir_move_vec_src_uses_to_dest
We want to do this in general, right now the stats are not that good but
that will be taken care of in the next commits.
RV530:
total instructions in shared programs: 93561 -> 93597 (0.04%)
instructions in affected programs: 39015 -> 39051 (0.09%)
helped: 207
HURT: 212
total temps in shared programs: 12864 -> 13019 (1.20%)
temps in affected programs: 2010 -> 2165 (7.71%)
helped: 57
HURT: 181
total cycles in shared programs: 144639 -> 144506 (-0.09%)
cycles in affected programs: 54524 -> 54391 (-0.24%)
helped: 191
HURT: 234
RV370:
total instructions in shared programs: 63692 -> 63811 (0.19%)
instructions in affected programs: 16851 -> 16970 (0.71%)
helped: 121
HURT: 141
total temps in shared programs: 9966 -> 10050 (0.84%)
temps in affected programs: 969 -> 1053 (8.67%)
helped: 33
HURT: 126
total cycles in shared programs: 101042 -> 101205 (0.16%)
cycles in affected programs: 20606 -> 20769 (0.79%)
helped: 121
HURT: 155
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24932>
lorn10 [Thu, 2 Mar 2023 11:51:27 +0000 (11:51 +0000)]
docs: Update Clover's env variable documentation
Fixes:
981bc603b46c ("clover: implement CLOVER_DEVICE_TYPE like RUSTICL_DEVICE_TYPE")
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21657>
Rohan Garg [Thu, 31 Aug 2023 12:53:10 +0000 (14:53 +0200)]
anv: define clear color localy within can_fast_clear_color_att
We can drop a extra function argument this way.
Signed-off-by: Rohan Garg <rohan.garg@intel.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24972>
Iago Toral Quiroga [Tue, 19 Sep 2023 07:50:54 +0000 (09:50 +0200)]
v3dv: only handle Android Hardware Buffer on Android
Fixes:
733909a6 ('v3dv/android: Add AHardwareBuffer support')
Fixes the following CTS regression on Linux:
dEQP-VK.api.external.memory.android_hardware_buffer.dedicated.image.info
dEQP-VK.api.external.memory.android_hardware_buffer.suballocated.image.info
Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com>
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25283>
Samuel Pitoiset [Wed, 13 Sep 2023 06:37:22 +0000 (08:37 +0200)]
radv: remove absolute_depth_bias workaround
This was only used with Path of Exile and the game bug seems fixed.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25198>
Samuel Pitoiset [Wed, 13 Sep 2023 06:34:26 +0000 (08:34 +0200)]
radv: remove drirc workarounds for Path Of Exile
According to https://gitlab.freedesktop.org/mesa/mesa/-/issues/9798,
all game bugs should have been fixed.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9798
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25198>
Samuel Pitoiset [Wed, 13 Sep 2023 06:35:08 +0000 (08:35 +0200)]
drirc: remove Path of Exile workarounds
According to https://gitlab.freedesktop.org/mesa/mesa/-/issues/9798,
all game bugs should have been fixed.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25198>
Samuel Pitoiset [Fri, 15 Sep 2023 10:31:56 +0000 (12:31 +0200)]
ac/perfcounter: add GFX11 groups
Source from PAL.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25245>
Samuel Pitoiset [Fri, 15 Sep 2023 10:31:41 +0000 (12:31 +0200)]
ac/perfcounter: add SG_WQP group for GFX11
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25245>
Samuel Pitoiset [Mon, 18 Sep 2023 15:21:37 +0000 (17:21 +0200)]
radv: fix missing ISA with RGP and GPL
The pipeline hash is required for RGP to correctly report the ISA, so
it should be computed for fast-linked pipelines with GPL (libraries
aren't captured).
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9169
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25275>
Samuel Pitoiset [Mon, 18 Sep 2023 15:12:29 +0000 (17:12 +0200)]
radv: fix checking if RGP is enabled with others tracing tools
This is a bitmask.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25275>
Tapani Pälli [Tue, 12 Sep 2023 10:35:31 +0000 (13:35 +0300)]
crocus: avoid issues with undefined clip distance
Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25177>
Tapani Pälli [Tue, 12 Sep 2023 09:45:47 +0000 (12:45 +0300)]
iris: avoid issues with undefined clip distance
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9797
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25177>
Mike Blumenkrantz [Wed, 13 Sep 2023 16:40:16 +0000 (12:40 -0400)]
egl/wayland: enable WL_bind_wayland_display for zink
Acked-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24975>
Mike Blumenkrantz [Wed, 13 Sep 2023 16:38:50 +0000 (12:38 -0400)]
egl/wayland: use more registry listeners to better handle device init
this handles globals like dmabuf and wl_drm and also enables creating
egl devices with valid fds
Acked-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24975>
Mike Blumenkrantz [Wed, 13 Sep 2023 16:35:49 +0000 (12:35 -0400)]
egl/wayland: split out wl drm extension init
no functional changes
Acked-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24975>
Mike Blumenkrantz [Wed, 13 Sep 2023 13:31:08 +0000 (09:31 -0400)]
egl/swrast: expose EXT_swap_buffers_with_damage and EXT_present_opaque
Acked-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24975>
David Rosca [Sat, 16 Sep 2023 14:15:50 +0000 (16:15 +0200)]
radeonsi/vcn: Don't hang GPU when using DCC surface as encoder input
Using DCC surface as encoder input will result in corrupted image in the
video, but early returning here will instead hang GPU.
Replace return with assert.
Reviewed-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25259>
Yiwei Zhang [Mon, 11 Sep 2023 07:31:27 +0000 (00:31 -0700)]
venus: drop device, family, index, flags tracking from vn_queue
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25262>
Yiwei Zhang [Sat, 16 Sep 2023 22:25:23 +0000 (22:25 +0000)]
venus: use more common vk_queue related implementations
This change uses common impl for below:
- GetDeviceQueue2
- DeviceWaitIdle
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25262>
Yiwei Zhang [Sun, 10 Sep 2023 01:35:14 +0000 (18:35 -0700)]
venus: use common ANB implementation
This change has a dependency over
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25185
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25262>
Yiwei Zhang [Sun, 10 Sep 2023 01:30:07 +0000 (18:30 -0700)]
venus: use common vk_queue object
This change only updates the object base to be vk_queue.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25262>
Yiwei Zhang [Sat, 16 Sep 2023 22:07:15 +0000 (15:07 -0700)]
vulkan/android: drop vk_buffer dependency from common AHB impl
Unlike AHB image, the spec has ensured no special treatment for
allocationSize for AHB buffer export operation.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25263>
Yiwei Zhang [Sat, 16 Sep 2023 21:57:52 +0000 (14:57 -0700)]
vulkan/android: add missing AHARDWAREBUFFER_USAGE_GPU_DATA_BUFFER usage
An AHB backing a Vkbuffer requires AHARDWAREBUFFER_USAGE_GPU_DATA_BUFFER
usage bit, which is missed from the original ANV and RADV Android
frontends as well as the common VK Android refactor.
Cc: mesa-stable
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25263>
Sil Vilerino [Mon, 18 Sep 2023 13:02:54 +0000 (09:02 -0400)]
d3d12: Video - Relax ID3D12VideoDevice QI version for decode, process
Currently asking for ID3D12VideoDevice2 for process and
ID3D12VideoDevice3 for decode, which in reality they only
need ID3D12VideoDevice.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9824
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25272>
Ryan Neph [Mon, 18 Sep 2023 18:05:43 +0000 (11:05 -0700)]
vulkan/android: add missed STACK_ARRAY_FINISH()
Fixes:
3c4c263dc73 ("vulkan/android: improve vkQueueSignalReleaseImageANDROID")
Signed-off-by: Ryan Neph <ryanneph@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25277>
Dave Airlie [Thu, 3 Aug 2023 01:16:47 +0000 (11:16 +1000)]
nir: add a deref slot counter that handles compact
Conor suggested this, so we can mark slots properly
in the io marking.
This fixes a problem seen when rewriting llvmpipe to use
nir info instead of tgsi info.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24803>
Alyssa Rosenzweig [Fri, 15 Sep 2023 15:11:04 +0000 (11:11 -0400)]
nir: Remove nir_ssa_for_src
It is now unused and has no real use cases now that nir_register is gone.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25247>
Alyssa Rosenzweig [Fri, 15 Sep 2023 15:05:15 +0000 (11:05 -0400)]
treewide: Remove remaining nir_ssa_for_src
Coccinelle missed these, a few manual changes here.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25247>
Alyssa Rosenzweig [Fri, 15 Sep 2023 14:57:20 +0000 (10:57 -0400)]
treewide: Drop nir_ssa_for_src users
Via Coccinelle patch:
@@
expression b, s, n;
@@
-nir_ssa_for_src(b, *s, n)
+s->ssa
@@
expression b, s, n;
@@
-nir_ssa_for_src(b, s, n)
+s.ssa
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25247>
Alyssa Rosenzweig [Sat, 2 Sep 2023 13:26:41 +0000 (09:26 -0400)]
agx: Enable sinking ALU
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24833>
Alyssa Rosenzweig [Sun, 27 Aug 2023 21:38:02 +0000 (17:38 -0400)]
nir/opt_sink: Also consider load_preamble as const
Acts like constants, schedule them like constants. This lets us move lowered
frag coord code down. Results on dolphin ubers:
total instructions in shared programs: 195144 -> 196633 (0.76%)
instructions in affected programs: 175737 -> 177226 (0.85%)
helped: 28
HURT: 27
Instructions are HURT.
total bytes in shared programs: 1379980 -> 1388308 (0.60%)
bytes in affected programs: 1244250 -> 1252578 (0.67%)
helped: 28
HURT: 27
Bytes are HURT.
total halfregs in shared programs: 13591 -> 13557 (-0.25%)
halfregs in affected programs: 2176 -> 2142 (-1.56%)
helped: 12
HURT: 2
Inconclusive result (%-change mean confidence interval includes 0).
total threads in shared programs: 233728 -> 234112 (0.16%)
threads in affected programs: 3264 -> 3648 (11.76%)
helped: 6
HURT: 0
Threads are helped.
Results on Android shader-db:
total instructions in shared programs: 1775324 -> 1775912 (0.03%)
instructions in affected programs: 155305 -> 155893 (0.38%)
helped: 353
HURT: 548
Instructions are HURT.
total bytes in shared programs:
11676650 ->
11678454 (0.02%)
bytes in affected programs: 1058924 -> 1060728 (0.17%)
helped: 370
HURT: 547
Inconclusive result (value mean confidence interval includes 0).
total halfregs in shared programs: 484143 -> 471212 (-2.67%)
halfregs in affected programs: 98833 -> 85902 (-13.08%)
helped: 2478
HURT: 674
Halfregs are helped.
Instr count changes due to losing the RA lottery.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24833>
Alyssa Rosenzweig [Sun, 20 Aug 2023 16:19:55 +0000 (12:19 -0400)]
nir/opt_sink: Move ALU with constant sources
In general, sinking ALU instructions can negatively impact register pressure,
since it extends the live ranges of the sources, although it does shrink the live range
of the destination.
However, constants do not usually contribute to register pressure. This is not a
totally true assumption, but it's pretty good in practice, since...
* constants can be rematerialized (backend-dependent)
* constants can often be inlined (ISA-dependent)
* constants can sometimes be promoted to free uniform registers (ISA-dependent)
* constants can live in scalar registers although the ALU destination might need
a vector register (and vector registers are assumed to be much more expensive
than scalar registers, again ISA-dependent)
So, assume that constants have zero effect on register pressure. Now consider an
ALU instruction where all but one source is a constant. Then there are two
cases:
1. The ALU instruction is moved past when its source was otherwise killed. Then
there is no effect on register pressure, since the source live range is
extended exactly as much as the destination live range shrinks.
2. The ALU instruction is moved down but its source is still alive where it's
moved to. Then register pressure is improved, since the source live range is
unchanged while the destination live range shrinks.
So, as a heuristic, we always move ALU instructions where n-1 sources are
constant. As an inevitable special case, this also (necessarily) moves unary ALU
ops, which should be beneficial by the same justification. This is not 100%
perfect but it is well-motivated. Results on AGX are decent:
total instructions in shared programs: 1796101 -> 1795652 (-0.02%)
instructions in affected programs: 326822 -> 326373 (-0.14%)
helped: 800
HURT: 371
Inconclusive result (%-change mean confidence interval includes 0).
total bytes in shared programs:
11805004 ->
11801424 (-0.03%)
bytes in affected programs: 2610630 -> 2607050 (-0.14%)
helped: 912
HURT: 462
Inconclusive result (%-change mean confidence interval includes 0).
total halfregs in shared programs: 525818 -> 515399 (-1.98%)
halfregs in affected programs: 118197 -> 107778 (-8.81%)
helped: 2095
HURT: 804
Halfregs are helped.
total threads in shared programs:
18916608 ->
18917056 (<.01%)
threads in affected programs: 4800 -> 5248 (9.33%)
helped: 7
HURT: 0
Threads are helped.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24833>
Alyssa Rosenzweig [Thu, 24 Aug 2023 11:14:28 +0000 (07:14 -0400)]
nir/opt_sink: Do not move derivatives
At the moment, this does nothing. It will prevent problems from the next patch,
however.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24833>
Alyssa Rosenzweig [Sun, 20 Aug 2023 16:55:02 +0000 (12:55 -0400)]
nir/opt_sink: Sink frag coord instructions
load_input-like. ubershaders:
instructions in affected programs: 72392 -> 72522 (0.18%)
helped: 8
HURT: 18
Inconclusive result (value mean confidence interval includes 0).
total bytes in shared programs: 1468550 -> 1469170 (0.04%)
bytes in affected programs: 560486 -> 561106 (0.11%)
helped: 10
HURT: 17
Inconclusive result (value mean confidence interval includes 0).
total halfregs in shared programs: 13946 -> 13898 (-0.34%)
halfregs in affected programs: 3642 -> 3594 (-1.32%)
helped: 21
HURT: 0
Halfregs are helped.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24833>
Alyssa Rosenzweig [Sun, 20 Aug 2023 16:51:02 +0000 (12:51 -0400)]
nir/opt_sink: Sink load_local_pixel_agx
This is the AGX version of load_output, which shaders can use for framebuffer
fetch. It is beneficial to sink framebuffer fetch as late as possible, both to
reduce register pressure but also to reduce serialization of overlapping
fragments.
Results on a collection of ubershaders:
total bytes in shared programs: 1468928 -> 1468550 (-0.03%)
bytes in affected programs: 495300 -> 494922 (-0.08%)
helped: 24
HURT: 0
Bytes are helped.
total halfregs in shared programs: 14162 -> 13946 (-1.53%)
halfregs in affected programs: 5148 -> 4932 (-4.20%)
helped: 27
HURT: 0
Halfregs are helped.
total threads in shared programs: 216896 -> 217664 (0.35%)
threads in affected programs: 6912 -> 7680 (11.11%)
helped: 12
HURT: 0
Threads are helped.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24833>
Alyssa Rosenzweig [Sat, 19 Aug 2023 23:49:09 +0000 (19:49 -0400)]
nir/opt_sink: Sink load_constant_agx
By the time this runs, we will have already lowered load_ubo and load_vbo to
load_constant_agx so we need to handle the backend version.
This is very important for reducing register pressure in monolithic VS+GS
shaders on AGX. Since no other backend has _agx intrinsics, there's no need for
an option to gate this.
The additional instruction count is from more frequent wait instructions due to
fewer instructions grouped together. This should be mitigated in the future with
an ACO-style latency-reducing scheduler in the backend, after register pressure
is reduced by opt_sink.
total instructions in shared programs: 1793385 -> 1796101 (0.15%)
instructions in affected programs: 199816 -> 202532 (1.36%)
helped: 3
HURT: 941
Instructions are HURT.
total bytes in shared programs:
11799628 ->
11805004 (0.05%)
bytes in affected programs: 1345656 -> 1351032 (0.40%)
helped: 34
HURT: 919
Bytes are HURT.
total halfregs in shared programs: 533151 -> 525818 (-1.38%)
halfregs in affected programs: 40335 -> 33002 (-18.18%)
helped: 613
HURT: 42
Halfregs are helped.
total threads in shared programs:
18910464 ->
18916608 (0.03%)
threads in affected programs: 6144 -> 12288 (100.00%)
helped: 12
HURT: 0
Threads are helped.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24833>
Alyssa Rosenzweig [Thu, 24 Aug 2023 11:10:03 +0000 (07:10 -0400)]
nir/gather_info: Use nir_op_is_derivative
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24833>
Alyssa Rosenzweig [Thu, 24 Aug 2023 11:08:34 +0000 (07:08 -0400)]
nir/opt_gcm: Use nir_op_is_derivative more
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24833>
Alyssa Rosenzweig [Thu, 24 Aug 2023 11:06:44 +0000 (07:06 -0400)]
nir/opt_preamble: Use nir_op_is_derivative
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24833>
Alyssa Rosenzweig [Thu, 24 Aug 2023 11:05:53 +0000 (07:05 -0400)]
nir: Hoist nir_op_is_derivative
Redefine in terms of the algebraic property. This correctly handles the
Mali-specific derivatives.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24833>
Alyssa Rosenzweig [Thu, 24 Aug 2023 11:04:20 +0000 (07:04 -0400)]
nir: Add NIR_OP_IS_DERIVATIVE property
Like IS_SELECTION.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24833>
Rhys Perry [Tue, 12 Sep 2023 14:02:08 +0000 (15:02 +0100)]
radv: disable mesh dispatch XYZ_DIM when possible
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25222>
Rhys Perry [Fri, 15 Sep 2023 11:06:48 +0000 (12:06 +0100)]
aco: remove unused p_logical_end check when optimizing branching sequence
I don't see why a p_logical_end is expected or required. It might not be
present in some situations, which causes an assertion failure:
s2: %19646:s[0-1] = p_reload %19701:v[8], 11
s2: %0:exec, s1: %8817:scc = s_andn2_b64 %19646:s[0-1], %0:exec
s2: %8818:s[20-21] = p_cbranch_z %0:exec BB1116, BB1114
No fossil-db changes (gfx1100).
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25244>
Rhys Perry [Fri, 15 Sep 2023 11:05:34 +0000 (12:05 +0100)]
aco: check logical_phi_info at p_logical_end when eliminating exec writes
This is when the copies actually happen, not at the branch.
fossil-db (gfx1100):
Totals from 1 (0.00% of 79332) affected shaders:
Instrs: 424 -> 423 (-0.24%)
CodeSize: 2172 -> 2168 (-0.18%)
Latency: 2899 -> 2896 (-0.10%)
Copies: 24 -> 23 (-4.17%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25244>
Mark Collins [Mon, 18 Sep 2023 07:31:39 +0000 (07:31 +0000)]
meson: Update libarchive to v3.7.2-2
The wrapdb build script used by v3.7.1-2 would lead to compilation
errors when using glibc which gated id_t's definition behind the
_GNU_SOURCE define which wasn't specified while scanning for types,
this was fixed upstream in wrapdb in v3.7.2-2.
Signed-off-by: Mark Collins <mark@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25269>
Rhys Perry [Thu, 14 Sep 2023 13:22:29 +0000 (14:22 +0100)]
aco/optimizer_postRA: check overwritten_subdword in is_overwritten_since()
Fixes crash for
dEQP-VK.mesh_shader.ext.in_out.with_f16.permutation_0.mesh_only and
similar tests on GFX11.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Fixes:
3d29779a25a9 ("aco/optimizer_postRA: Distinguish overwritten untrackable and subdword.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25223>
Vinson Lee [Sun, 17 Sep 2023 03:53:52 +0000 (20:53 -0700)]
freedreno/replay: Fix implicit-function-declaration error
../src/freedreno/decode/replay.c: In function ‘safe_ioctl’:
../src/freedreno/decode/replay.c:608:13: error: implicit declaration of function ‘ioctl’ [-Werror=implicit-function-declaration]
608 | ret = ioctl(fd, request, arg);
| ^~~~~
Fixes:
e3bbd1688b8 ("freedreno/replay: Add limited support for KGSL")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25264>
Pierre-Eric Pelloux-Prayer [Wed, 13 Sep 2023 14:28:12 +0000 (16:28 +0200)]
st/mesa: check renderbuffer before using it
rb being NULL is only checked for in the caller if no-error isn't
used.
cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9747
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25209>
Pierre-Eric Pelloux-Prayer [Thu, 17 Aug 2023 10:41:42 +0000 (12:41 +0200)]
device_select: add shortcut for MESA_VK_DEVICE_SELECT_FORCE_DEFAULT_DEVICE
MESA_VK_DEVICE_SELECT_FORCE_DEFAULT_DEVICE=1 is useful but it's tedious
to type. This commit extends slightly DRI_PRIME/MESA_VK_DEVICE_SELECT
syntax support: if "!" is appended at the end then only the selected GPU
will be made visible to the application.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24750>
Pierre-Eric Pelloux-Prayer [Thu, 12 Jan 2023 13:07:08 +0000 (14:07 +0100)]
docs: update DRI_PRIME documentation
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24750>
Pierre-Eric Pelloux-Prayer [Thu, 12 Jan 2023 12:58:16 +0000 (13:58 +0100)]
device_select_layer: support DRI_PRIME=n
For feature-parity with OpenGL.
See commit "loader: extend DRI_PRIME to support =N".
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24750>
Pierre-Eric Pelloux-Prayer [Thu, 12 Jan 2023 12:37:53 +0000 (13:37 +0100)]
loader: add DRI_PRIME_DEBUG env var
This makes debugging non-working DRI_PRIME selection much easier.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24750>
Pierre-Eric Pelloux-Prayer [Thu, 12 Jan 2023 12:34:39 +0000 (13:34 +0100)]
loader: extend DRI_PRIME to support =N
DRI_PRIME=1 isn't useful on machines with more than 2 GPUs.
This commit adds support to DRI_PRIME=N syntax meaning: select
the Nth GPU (not counting the default GPU).
So on a 3 GPUs system where drmGetDevices2 returns the following:
/dev/dri/renderD130 [default]
/dev/dri/renderD129
/dev/dri/renderD128
DRI_PRIME=1 would select D129 (as is already the case without this
commit), DRI_PRIME=2 would select D128.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24750>
Pierre-Eric Pelloux-Prayer [Thu, 12 Jan 2023 12:30:05 +0000 (13:30 +0100)]
loader: refactor DRI_PRIME handling code
DRI_PRIME has 3 different meanings and this refactoring
separate the handling of them.
No functional changes.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24750>
Pierre-Eric Pelloux-Prayer [Fri, 18 Aug 2023 10:46:41 +0000 (12:46 +0200)]
glx: drop the 'libGL' log prefix
Suggested by @ajax in !24750.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24750>
Samuel Pitoiset [Thu, 14 Sep 2023 16:28:31 +0000 (18:28 +0200)]
ac/spm: enable support for multi-instance counters
This is what RGP expects and this will give us more fine grained
results given that all shader engines/shader arrays etc would be
sampled.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25240>
Samuel Pitoiset [Thu, 14 Sep 2023 12:23:01 +0000 (14:23 +0200)]
ac/spm: move the counter instance to ac_spm_counter_create_info
This will allow us to configure multi-instance counters.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25240>
Samuel Pitoiset [Thu, 14 Sep 2023 15:39:00 +0000 (17:39 +0200)]
ac,radv,radeonsi: prepare support for multi-instance SPM generic counters
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25240>
Samuel Pitoiset [Thu, 14 Sep 2023 14:02:14 +0000 (16:02 +0200)]
ac,radv,radeonsi: prepare support for multi-instance SPM SQ counters
Each SQG modules can configure up to 16 counters.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25240>
Samuel Pitoiset [Thu, 14 Sep 2023 15:19:37 +0000 (17:19 +0200)]
ac/spm: fix number of instances of GL2C
It's a global block, so the number of instances is equal.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25240>
Samuel Pitoiset [Thu, 14 Sep 2023 13:49:05 +0000 (15:49 +0200)]
radv,radeonsi: make sure to emit GRBM_GFX_INDEX before SQ select registers
This was missing, but not sure if it was required given that only the
first SE is currently sampled.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25240>
Samuel Pitoiset [Thu, 14 Sep 2023 11:43:53 +0000 (13:43 +0200)]
ac/spm: select correct segment type for per-SE blocks
This currently does nothing because only the first instance is used,
but this will be needed for multi-instance.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25240>
Samuel Pitoiset [Thu, 14 Sep 2023 11:42:25 +0000 (13:42 +0200)]
ac/spm: use block flags to initialize instance mapping
This simplify this a bit, ideally we would also have a per-SA flag
for performance counters.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25240>
Samuel Pitoiset [Thu, 14 Sep 2023 17:00:05 +0000 (19:00 +0200)]
radv: reserve more CS space in SQTT/SPM paths
This will prevent an assertion when SPM will emit more counters.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25240>
Caio Oliveira [Tue, 12 Sep 2023 20:43:09 +0000 (13:43 -0700)]
compiler/types: Use a string table for builtin type names
This avoids the relocations for each of the builtin type names, allowing
all the builtin data to be loaded in read-only memory.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25191>
Caio Oliveira [Tue, 12 Sep 2023 19:12:33 +0000 (12:12 -0700)]
compiler/types: Change glsl_type::name to be an uintptr_t
This will allow us later to store builtin names in a different way.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25191>
Caio Oliveira [Tue, 12 Sep 2023 19:11:18 +0000 (12:11 -0700)]
compiler/types: Use glsl_get_type_name() to access the type name
This will allow us later to store builtin names in a different way.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25191>
Caio Oliveira [Tue, 12 Sep 2023 17:33:42 +0000 (10:33 -0700)]
compiler/types: Use Python to generate code for builtin types
Will be useful later to generate string tables for the builtin types.
Note we make some extra effort to ensure C++ client code doesn't need to change,
by keeping glsl_type::*_type pointers around.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com> (Python and Meson changes)
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25191>
Gert Wollny [Fri, 15 Sep 2023 19:13:50 +0000 (21:13 +0200)]
r600/sfn: get rid of the method to get the index mode
Since we always split the index load we can query the value directly
without checking whether it was lowered.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25159>
Gert Wollny [Fri, 15 Sep 2023 19:12:30 +0000 (21:12 +0200)]
r600/sfn: Sepeate resource and sampler in texture instructions
Fix the use of resource and sampler and keep separate index registers
for both so that indirect resource and sampler access can be done
independently.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25159>
Gert Wollny [Fri, 15 Sep 2023 19:02:10 +0000 (21:02 +0200)]
r600/sfn: Add old address to update_indirect_addr
v2: use UNUSED instead of adding (void)var; (Vitaly Kuzmin)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25159>
Gert Wollny [Fri, 15 Sep 2023 18:45:58 +0000 (20:45 +0200)]
r600/sfn: rename method resource_base to resource_id
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25159>
Gert Wollny [Fri, 15 Sep 2023 18:41:56 +0000 (20:41 +0200)]
r600/sfn: Make address split pass obligatory
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25159>
Gert Wollny [Mon, 11 Sep 2023 14:25:58 +0000 (16:25 +0200)]
r600: print texture resource index mode separately
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25159>
Jordan Justen [Fri, 15 Sep 2023 17:00:51 +0000 (10:00 -0700)]
intel/common: Add sse2_args for 32-bit build when -Dsse2=false was set
Fixes:
543a707b7b8 ("intel/common: Move intel_clflush.h to intel_mem.h/intel_mem.c")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9762
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25249>
Yiwei Zhang [Sun, 10 Sep 2023 00:10:44 +0000 (17:10 -0700)]
vulkan/android: improve vkQueueSignalReleaseImageANDROID
There're two issues with the current implementation:
1. Wait semaphores are implicitly required to be SYNC_FD exportable
2. As a queue command that can further record cmds against the wsi
image, it currently doesn't account for pending cmds in the queue
beyond the wait semaphores.
This change fixes both by doing a queue submission in the call with a
SYNC_FD external signal semaphore. However, due to Android wsi not
exposing swapchain to icd, we have to cache the signal semaphore in the
queue, otherwise would have to create/destroy in each present.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25185>
Yiwei Zhang [Sat, 26 Aug 2023 19:54:47 +0000 (12:54 -0700)]
vulkan: remove a dup entry from vk_image_usage_to_ahb_usage
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25185>
Samuel Holland [Tue, 20 Jun 2023 19:32:07 +0000 (12:32 -0700)]
Android.mk: Only link LLVM for radeonsi, not amd_vk
When building for Android, avoid the LLVM dependency if possible.
Cc: mesa-stable
Acked-by: Mauro Rossi <issor.oruam@gmail.com>
Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com>
Change-Id: Idda03f954b4b5326e23a848e541411b60fcef063
Signed-off-by: Samuel Holland <samuel.holland@sifive.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24007>
Samuel Holland [Tue, 20 Jun 2023 19:27:12 +0000 (12:27 -0700)]
Android.mk: Explicitly enable/disable LLVM support
The AMD Vulkan driver uses LLVM by default, but it is possible to build
the driver without the LLVM dependency. In this case, we must explicitly
disable LLVM support, or else meson will die after failing to find LLVM.
The Android build system already knows when to link libLLVM, so forward
that information to meson.
Cc: mesa-stable
Acked-by: Mauro Rossi <issor.oruam@gmail.com>
Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com>
Change-Id: I7489d3811625b390aaaf2e84e666b4a8d98328b0
Signed-off-by: Samuel Holland <samuel.holland@sifive.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24007>
Samuel Holland [Tue, 20 Jun 2023 19:24:33 +0000 (12:24 -0700)]
Android.mk: Allow building only Vulkan drivers
Android bundles ANGLE for implementing OpenGL ES and EGL on top of
Vulkan. When using ANGLE, mesa is only needed for its Vulkan drivers.
Cc: mesa-stable
Acked-by: Mauro Rossi <issor.oruam@gmail.com>
Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com>
Change-Id: I034a0af52f9216bc5f1322f584bc591c90222327
Signed-off-by: Samuel Holland <samuel.holland@sifive.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24007>
Dylan Baker [Fri, 15 Sep 2023 17:24:43 +0000 (10:24 -0700)]
meson: use a single dependency call for lua
This is a newer Meson construct that allows passing multiple names for
the same dependency to one call. One advantage of this is that if the
first call (lua54) fails, it won't immediately fall back to a subproject
and will try the others before falling back.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25251>
Eric Engestrom [Fri, 15 Sep 2023 16:02:35 +0000 (17:02 +0100)]
ci/zink: drop redundant `MESA_LOADER_DRIVER_OVERRIDE: zink`
This job extends `.zink-anv-test` and `.zink-trace-test`, both of which
extend `.zink-test` which already sets this var.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25248>
Tapani Pälli [Wed, 13 Sep 2023 06:30:58 +0000 (09:30 +0300)]
mesa: some cleanups for texparam extension checks
Patch removes some redudant _mesa_is_desktop_gl checks, these
extensions are available only in desktop context.
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25202>
Erico Nunes [Fri, 15 Sep 2023 09:50:46 +0000 (11:50 +0200)]
Revert "ci: disable lima LAVA lab for maintance"
This reverts commit
079604e41efe001ab560fa68850f54475589f801.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25242>
Eric Engestrom [Fri, 15 Sep 2023 11:09:43 +0000 (12:09 +0100)]
ci/farm-rules: re-add "run every container and build job when a farm gets re-enabled"
Turns out I was right the first time, I was just missing that this
should only be done in MRs, which @daniels added in
16527f6ffd0129f2f6e1.
Without this, a "farm re-enable" pipeline will run all the jobs for that
farm, but will have none of the container & build jobs to support these
tests.
This reverts commit
1c3097225a4af294720e111eab3f58d590b85c8c.
Fixes:
1c3097225a4af294720e ("ci: don't run everything just because a farm gets re-enabled")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25243>
Eric Engestrom [Fri, 15 Sep 2023 11:03:54 +0000 (12:03 +0100)]
ci/farm-rules: rename .disable-farm-mr-rules to make it clear it's only about MRs
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25243>
Rob Clark [Thu, 14 Sep 2023 21:46:26 +0000 (14:46 -0700)]
freedreno/decode: Fix printing chip-id
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25231>
Rob Clark [Thu, 14 Sep 2023 19:40:23 +0000 (12:40 -0700)]
freedreno/layout: Handle 565/etc MSAA special case
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25231>
Rob Clark [Thu, 14 Sep 2023 19:34:19 +0000 (12:34 -0700)]
freedreno: Fix crash with debug msgs enabled
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25231>
Mike Blumenkrantz [Wed, 13 Sep 2023 10:55:22 +0000 (06:55 -0400)]
zink: use null attachments for null attachments with dynamic render
using dummy surfaces here is dumb
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25121>
Mike Blumenkrantz [Mon, 11 Sep 2023 15:30:35 +0000 (11:30 -0400)]
zink: propagate rp_tc_info_updated across unordered blits
this otherwise breaks rp optimizing
Fixes:
3a9f7d70383 ("zink: implement unordered u_blitter calls")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25121>
Mike Blumenkrantz [Fri, 8 Sep 2023 14:13:19 +0000 (10:13 -0400)]
zink: use much bigger dummy surfaces
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25121>