Dave Airlie
d68a1fc0d4
radv/video: port hevc slice header encoding from radeonsi
...
The radeonsi code has been improved to handle reference lists
better, port the code to radv and vulkan API.
This has been updated to for Vulkan
Reviewed-by: David Rosca <david.rosca@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35628 >
2025-06-20 07:31:04 +00:00
Dave Airlie
f7d2939457
radv/video: add some missing hevc header bits
...
Reviewed-by: David Rosca <david.rosca@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35628 >
2025-06-20 07:31:04 +00:00
Samuel Pitoiset
5e2fcdfea2
radv/meta: add a helper to determine if clearing is a full rect
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35603 >
2025-06-20 06:36:19 +00:00
Samuel Pitoiset
525e73c045
ac/descriptors: configure {Z,STENCIL}_READ_ONLY for ds surfaces on GFX12+
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35603 >
2025-06-20 06:36:19 +00:00
Samuel Pitoiset
59dfa8c2f5
radv: switch to nir_intrinsic_load_input_attachment_coord
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35556 >
2025-06-20 06:12:24 +00:00
Rob Clark
df55ea8c51
freedreno/a6xx: Don't use 2d blit path for f16
...
This seems to canonicalize NaNs when the source format is a 16-bit
floating point format, likely because it implicitly converts to 32b.
Fixes OpenCL-CTS:
./test_basic imagearraycopy
./test_basic imagearraycopy3d
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35589 >
2025-06-20 00:10:47 +00:00
Rob Clark
86a8eda644
freedreno: Add custom f16 blit shader
...
To avoid canonicalizing NaNs for f16, we need to avoid promoting the
value to 32b.
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35589 >
2025-06-20 00:10:47 +00:00
Rob Clark
2adff20fde
util: Add a util_blitter_blit_with_txf() helper
...
If a driver is (or is contemplating) providing it's own fs_override then
it needs to know whether the blitter is going to use txf or not. So
split this logic out into a helper.
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35589 >
2025-06-20 00:10:47 +00:00
Rob Clark
9e07f38b91
util+tu: Add util_format_is_float16()
...
Extract out a helper to check for f16 formats from turnip so it can be
used elsewhere.
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35589 >
2025-06-20 00:10:47 +00:00
Valentine Burley
0273f1f504
ci/lava: Fix .lava-x86_64-test-android dependencies
...
Container jobs might not exist in mesa/mesa pipelines.
Fixes: c035454a3c ("ci/virtio: Add an Android Venus job on Intel Comet Lake")
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35646 >
2025-06-19 22:08:44 +00:00
Emma Anholt
eae86f455c
v3d: Stop advertising support for HW clip planes.
...
The GL frontend is perfectly good at lowering it like we do. Cuts out a
bunch of duplicate code.
We still have ucp_enables for the FS due to lowering of CLIPDIST to
discards in the FS.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8953 >
2025-06-19 21:44:55 +00:00
Emma Anholt
211e03d026
gallium: Remove the need for set_clip_state() on !PIPE_CAP_CLIP_PLANES.
...
More driver boilerplate we don't need. We do still have to go through the
transformation in st_atom_clip.c because the clip state can get used in
draw fallbacks. This revealed that lima had a dirty bit being set that
nobody was reading.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8953 >
2025-06-19 21:44:55 +00:00
Eric Anholt
a9b622bcca
vc4: Drop VS ucp lowering code.
...
The GL frontend handles it for us since c1442030ec ("vc4: lower clip
planes in st/mesa"). Now we should just be dropping the VS re-recompiles
we were doing, along with dead code.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8953 >
2025-06-19 21:44:55 +00:00
Job Noorman
899a179e8c
freedreno/decode: don't count alias regs for GPR stats
...
Alias regs don't actually consume GPR space so shouldn't be counted.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35627 >
2025-06-19 21:23:01 +00:00
Job Noorman
d2e1e4442a
ir3: enable nir_opt_uniform_subgroup
...
fossildb results:
Totals from 320 (0.19% of 164575) affected shaders:
MaxWaves: 2684 -> 2688 (+0.15%)
Instrs: 458284 -> 457275 (-0.22%); split: -0.22%, +0.00%
CodeSize: 896464 -> 896230 (-0.03%); split: -0.09%, +0.06%
NOPs: 109357 -> 109452 (+0.09%); split: -0.08%, +0.17%
MOVs: 25634 -> 24975 (-2.57%)
Full: 5781 -> 5779 (-0.03%)
(ss): 11491 -> 11241 (-2.18%); split: -2.21%, +0.03%
(sy): 5179 -> 5174 (-0.10%); split: -0.12%, +0.02%
(ss)-stall: 57044 -> 56592 (-0.79%); split: -0.95%, +0.16%
(sy)-stall: 114577 -> 114484 (-0.08%); split: -0.11%, +0.03%
Preamble Instrs: 103205 -> 103748 (+0.53%)
Cat0: 124379 -> 124474 (+0.08%); split: -0.07%, +0.15%
Cat1: 30969 -> 30310 (-2.13%)
Cat2: 163648 -> 163260 (-0.24%)
Cat3: 94946 -> 94921 (-0.03%)
Cat4: 13061 -> 13041 (-0.15%)
Cat5: 7421 -> 7414 (-0.09%)
Cat7: 18041 -> 18036 (-0.03%)
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35636 >
2025-06-19 20:56:35 +00:00
Guilherme Gallo
c035454a3c
ci/virtio: Add an Android Venus job on Intel Comet Lake
...
Introduce a Venus job running in Cuttlefish on Intel Comet Lake DUTs.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Co-authored-by: Antonio Ospite <antonio.ospite@collabora.com >
Co-authored-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35522 >
2025-06-19 20:20:42 +00:00
Valentine Burley
0553a2de25
ci/virtio: Generalize .venus-rules
...
Decouple the .venus-rules definition from lavapipe to prepare for adding
hardware driver coverage for Venus.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Co-authored-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Co-authored-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35522 >
2025-06-19 20:20:42 +00:00
Valentine Burley
03b480d381
ci/intel: Fix the runner tag for Flip-hatch
...
The GitLab runner tags are case sensitive, and Flip-hatch's tag was
incorrectly lowercase. This prevented jobs from being picked up
by the runner.
Also remove an outdated note, as the device now appears to be stable.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35522 >
2025-06-19 20:20:42 +00:00
Valentine Burley
b026b5e277
ci/android: Print the detailed deqp versions
...
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35522 >
2025-06-19 20:20:41 +00:00
Valentine Burley
bbffb1b967
ci/lava: Remove Android CTS from the core rootfs
...
Current LAVA jobs use dEQP instead of Android CTS, so there's no need
to include Android CTS in the rootfs. Removing both Cuttlefish and
Android CTS reduces the rootfs size from ~2GB to ~500MB.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35522 >
2025-06-19 20:20:41 +00:00
Valentine Burley
f7befb9d8d
ci/lava: Make Cuttlefish a LAVA overlay
...
Instead of including Cuttlefish in the core LAVA rootfs, make it an
optional LAVA overlay. This reduces the size of the core rootfs and
keeps Cuttlefish cached when the container is rebuilt, leading to
faster deploys.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35522 >
2025-06-19 20:20:40 +00:00
Guilherme Gallo
6527ac72d4
ci/android: export container for DUTs
...
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35522 >
2025-06-19 20:20:39 +00:00
Lionel Landwerlin
bfee389f0c
anv: only use compressed memory types on Xe2+
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 252cac1e5c ("anv: avoid memory type changes with INTEL_DEBUG=noccs")
Tested-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35615 >
2025-06-19 19:55:59 +00:00
Emma Anholt
6808ccf23a
mesa: Retire the OptimizeForAOS code.
...
It's been unused for years. Back on the brw driver, it was used for a ~1%
win on a VS-heavy workload, because you could hide instruction latency
using a DP4 sequence instead of MADs for doing the MVP transform. Given
that r300 and i915 don't seem to want it, and nobody has successfully
ported it for crocus (see
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14277 ), just
garbage collect the code at this point.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35617 >
2025-06-19 19:23:53 +00:00
Mel Henning
f7aa6ba906
vulkan: Specify library_arch in ICD files
...
This should help vk-icd-loader skip libraries of the wrong bit width.
Reviewed-by: Eric Engestrom <eric@igalia.com >
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35567 >
2025-06-19 17:30:24 +00:00
Mike Blumenkrantz
6b9415cb45
ci: rename "lvp" jobs to lavapipe
...
better regex globbing
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35321 >
2025-06-19 17:11:41 +00:00
Mike Blumenkrantz
dc066f8577
draw: silence some no-op draw debug prints
...
this has been annoying me for years
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35584 >
2025-06-19 16:22:05 +00:00
Faith Ekstrand
366b36aefd
vulkan: Drop vk_sampler_init()
...
It's ill-defined at best since it doesn't even initialize the
vk_object_base and its only use was NVK and that use is now gone.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35624 >
2025-06-19 15:45:09 +00:00
Faith Ekstrand
5d416a3742
nvk: Use vk_sampler_state for nvk_sampler_get_header()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35624 >
2025-06-19 15:45:09 +00:00
Faith Ekstrand
a33e25185a
vulkan/sampler: Add border color swizzle info to vk_sampler_state
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35624 >
2025-06-19 15:45:09 +00:00
Faith Ekstrand
4cb8bfe285
vulkan: Add a vk_sampler_state struct
...
This struct gathers up all the sampler state from VkSamplerCreateInfo
and its pNext chain into a single struct. The struct is has no pointers
and has uses -Wpadded to ensure no holes. This means it's hashable and
mem-comparable. We also make give vk_ycbcr_conversion_state -Wpadded
because vk_sampler_state has a copy of vk_ycbcr_conversion_state
embedded in it.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35624 >
2025-06-19 15:45:08 +00:00
Samuel Pitoiset
5ff6d9cbd8
ci: uprev vkd3d
...
This adds new tests with E5B9G9R9 that uncovered a RADV bug.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35634 >
2025-06-19 14:08:52 +00:00
Samuel Pitoiset
50c4d5cccd
radv: use one descriptor per plane for combined image+sampler with ycbcr
...
This removes a very old hack which will also allow us to enable DCC
for multiplanar formats eventually and to reduce the combined
image+sampler descriptor size from 96 to 48 on RDNA3+.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35457 >
2025-06-19 12:58:32 +00:00
Samuel Pitoiset
f46126284f
radv: reduce the number of bytes written for combined image+sampler desc
...
Only for non multiplanar formats.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35457 >
2025-06-19 12:58:32 +00:00
Samuel Pitoiset
22402dadd3
radv: add a separate path for writing ycbcr combined image+sampler desc
...
This will allow us to remove the ycbcr hack and to reduce the number
of bytes written for combined image+sampler from 80 to 64.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35457 >
2025-06-19 12:58:31 +00:00
Samuel Pitoiset
4f37876c7b
radv: replace radv_combined_image_descriptor_sampler_offset() by a constant
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35457 >
2025-06-19 12:58:31 +00:00
Ashley Smith
8160d0b80e
panfrost: Enable GL_EXT_shader_realtime_clock on panfrost v6+
...
Signed-off-by: Ashley Smith <ashley.smith@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35496 >
2025-06-19 11:18:53 +00:00
Rhys Perry
2cfd2d3b1d
aco/tests: add lower_branches tests
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35202 >
2025-06-19 10:58:39 +00:00
Rhys Perry
c45482e652
aco: validate that preds/succs match
...
This isn't done in validate_cfg() because that's called less frequently.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35202 >
2025-06-19 10:58:39 +00:00
Rhys Perry
85db025cd7
aco: continue when try_remove_simple_block can't remove a predecessor
...
We should update linear_preds so that the predecessors we can remove are
actually removed.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35202 >
2025-06-19 10:58:38 +00:00
Rhys Perry
5344abbc56
aco/lower_branches: keep blocks with multiple logical successors
...
It might be the case that both the branch and exec mask write in a
divergent branch block are removed. try_remove_simple_block() might then
try to remove it, but fail because it has multiple logical successors.
Instead, just skip these blocks.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Backport-to: 25.1
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35202 >
2025-06-19 10:58:38 +00:00
Ashley Smith
e9c2c32409
panvk: enable VK_KHR_shader_clock
...
CTS passing and manual tests show it's working well
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Signed-off-by: Ashley Smith <ashley.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35488 >
2025-06-19 09:11:51 +00:00
Iago Toral Quiroga
20ec897598
v3dv: switch to using nir_intrinsic_load_input_attachment_coord
...
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35569 >
2025-06-19 07:55:23 +00:00
Georg Lehmann
001fe8c236
aco: optimize boolean phi with empty else block
...
We can keep the else empty by handling the phi in the "then" block.
Foz-DB Navi21:
Totals from 921 (1.15% of 80065) affected shaders:
Instrs: 4532598 -> 4527309 (-0.12%); split: -0.12%, +0.00%
CodeSize: 24498484 -> 24481780 (-0.07%); split: -0.08%, +0.01%
Latency: 41016915 -> 41020477 (+0.01%); split: -0.10%, +0.11%
InvThroughput: 9998405 -> 9991873 (-0.07%); split: -0.08%, +0.02%
SClause: 128261 -> 128267 (+0.00%)
Copies: 409949 -> 408585 (-0.33%); split: -0.36%, +0.02%
Branches: 169740 -> 169222 (-0.31%); split: -0.58%, +0.27%
PreSGPRs: 64408 -> 64398 (-0.02%)
VALU: 2972521 -> 2972518 (-0.00%)
SALU: 673844 -> 668973 (-0.72%); split: -0.72%, +0.00%
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35165 >
2025-06-19 07:32:43 +00:00
Georg Lehmann
4a2884237a
radv: dump NIR for executable info after nir_to_asm
...
ACO modifies the NIR, most importantly it updates divergence analysis.
Acked-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32990 >
2025-06-19 07:02:20 +00:00
Georg Lehmann
88753ddd1d
aco: allow nir divergence to be printed again
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32990 >
2025-06-19 07:02:20 +00:00
Valentine Burley
bc049216cc
ci/android: Build test AMD drivers
...
Build the radeonsi and RADV drivers for Android.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35578 >
2025-06-19 06:19:06 +00:00
Faith Ekstrand
2782fa2cf3
nvk: Lower input attachments earlier
...
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35551 >
2025-06-19 02:14:05 +00:00
Faith Ekstrand
0e740fa8e6
nvk: Switch to nir_intrinsic_load_input_attachment_coord
...
The important change here is that we're no longer using state to
determine whether or not we're multiview. We just assume that layer_id
is zero when in multiview (this appears to be the case when SET_RT_LAYER
is set to CONTROL_V_SELECTS_LAYER) and that view_index is zero when not
in multiview (this is required by Vulkan) and add the two together.
This fixes a long-standing bug where multiview input attachments didn't
work properly with shader objects.
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35551 >
2025-06-19 02:14:05 +00:00
Faith Ekstrand
e1e32fcf0d
nvk: Add a load_root_table() helper
...
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35551 >
2025-06-19 02:14:04 +00:00