Commit graph

193897 commits

Author SHA1 Message Date
Christian Gmeiner
faa3d901ab etnaviv: Only emit VIVS_PS_MSAA_CONFIG if GPU support it
Context buffer initialization in the nxp-imx kernel driver
(lf-6.6.3-1.0.0) indicates that this state is only defined
when the GPU supports MSAA_FRAGMENT_OPERATION.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36358>
2025-07-31 16:31:37 +00:00
Christian Gmeiner
71ac1647e7 etnaviv: hwdb: Add MSAA_FRAGMENT_OPERATION feature
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36358>
2025-07-31 16:31:37 +00:00
Christian Gmeiner
4ad333103f etnaviv: Emulate rasterizer_discard
When rasterizer discard is enabled, we need to prevent all rasterization
without affecting vertex processing or transform feedback.

Emulate this by setting a zero-sized scissor rectangle (0,0,0,0) which
effectively clips all fragments while allowing the vertex shader to
continue running normally. This matches the behavior
implemented by the binary blob.

Passes all dEQP-GLES3.functional.rasterizer_discard.* on GC7000.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36373>
2025-07-31 16:12:43 +00:00
Gurchetan Singh
7390276d9b util: rust: make stubs simpler
Apparently, this works with a newer rustc.

Suggested-by: <nkgold@google.com>
Reviewed-by: Marcin Radomski <dextero@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36456>
2025-07-31 15:11:07 +00:00
Georg Lehmann
a6a6c2f691 aco/ra: convert bitwise instruction to gfx11+ 16bit on demand
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
The 32bit versions are smaller, allow more optimizations and VOPD,
so only use the 16bit opcodes if nessecary.

Foz-DB Navi31:
Totals from 84 (0.10% of 80237) affected shaders:
Instrs: 176673 -> 176347 (-0.18%); split: -0.20%, +0.01%
CodeSize: 970148 -> 969716 (-0.04%); split: -0.08%, +0.03%
VGPRs: 5876 -> 5864 (-0.20%)
Latency: 2805974 -> 2805674 (-0.01%); split: -0.02%, +0.01%
InvThroughput: 769007 -> 768738 (-0.03%); split: -0.04%, +0.01%
VClause: 2593 -> 2597 (+0.15%)
Copies: 23749 -> 23487 (-1.10%); split: -1.11%, +0.00%
VALU: 107124 -> 106862 (-0.24%); split: -0.25%, +0.00%

Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35919>
2025-07-31 12:07:07 +00:00
Georg Lehmann
404e1f13e8 aco/print_asm: use real true16 instr on gfx11+
Fake16 doesn't print opsel on v_cndmask_b16, so it looks really broken.
Restrict to LLVM20+ because older versions have incomplete tru16 support.

Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35919>
2025-07-31 12:07:07 +00:00
David Rosca
2c3bb204a5 vulkan/video: Fix h265 level values
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
From spec:
"general_level_idc shall be set equal to a value of 30 times the level number."

Fixes: 8243145f02 ("vulkan/video: add a h265 level translator.")
Acked-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36285>
2025-07-31 10:08:05 +00:00
Juan A. Suarez Romero
77aa8d44c4 broadcom/ci: disable baremetal rusticl jobs for ci-tron
After a while testing in parallel baremetal and ci-tron rusticl jobs,
disable baremetal ones and keep ci-tron jobs.

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36486>
2025-07-31 09:49:37 +00:00
David Rosca
4011344bc9 radeonsi/vcn: Always enable decode tier2 when supported
This enables tier2 for VDPAU H264/5.

Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36462>
2025-07-31 09:15:33 +00:00
Rhys Perry
8d93684694 nir/load_store_vectorize: always set num_components correctly
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36442>
2025-07-31 08:39:10 +00:00
Rhys Perry
d3476650f1 nir/load_store_vectorize: set is_store for shared append/consume
So that check_for_aliasing() doesn't ignore them.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Backport-to: 25.1
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36442>
2025-07-31 08:39:10 +00:00
Rhys Perry
eeddf6b9e2 nir/load_store_vectorize: check for interfering shared2 before vectorizing
Only affected shaders in radv_fossils are f1_23.

fossil-db (navi21):
Totals from 3 (0.00% of 79825) affected shaders:
Instrs: 2700 -> 2730 (+1.11%)
CodeSize: 17096 -> 17228 (+0.77%)
Latency: 8424 -> 8726 (+3.58%)
InvThroughput: 3768 -> 3778 (+0.27%); split: -0.05%, +0.32%
Copies: 224 -> 234 (+4.46%)
PreVGPRs: 291 -> 287 (-1.37%)
VALU: 1989 -> 1996 (+0.35%); split: -0.05%, +0.40%

fossil-db (gfx1201):
Totals from 3 (0.00% of 79839) affected shaders:
Instrs: 2862 -> 2908 (+1.61%)
CodeSize: 17868 -> 18064 (+1.10%)
Latency: 7567 -> 7854 (+3.79%)
InvThroughput: 2810 -> 2802 (-0.28%)
Copies: 122 -> 120 (-1.64%)
PreVGPRs: 291 -> 287 (-1.37%)
VALU: 1890 -> 1885 (-0.26%)

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13616
Backport-to: 25.1
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36442>
2025-07-31 08:39:09 +00:00
Konstantin Seurer
656acb96b0 vulkan/cmd_queue: Reorder memcpy in get_struct_copy
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Using the temporary variable for the memcpy makes sure they are always
used so the "(void)tmp_src123" can be removed.

Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36331>
2025-07-31 08:13:59 +00:00
Konstantin Seurer
d29f446aa3 vulkan/cmd_queue: Clean up generating copies
Using the builder makes it much easier to see what is happening and
fixes indentation in the process.

Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36331>
2025-07-31 08:13:58 +00:00
Konstantin Seurer
d824525a01 vulkan/cmd_queue: Recursively free struct members
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36331>
2025-07-31 08:13:58 +00:00
Konstantin Seurer
ea7a2f9834 vulkan/cmd_queue: Improve struct free code indentation
It also cleans up the way the string is generated because using large templates was a mess.

Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36331>
2025-07-31 08:13:58 +00:00
Konstantin Seurer
c29db0965c vulkan/cmd_queue: Do not free if driver_free_cb is provided
Avoids crashes when the custom implementation allocates differently.

Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36331>
2025-07-31 08:13:58 +00:00
Lionel Landwerlin
9efb3ee511 anv: fix wsi image aliasing
The private BO can get removed due to WSI aliasing and that breaks the
submission code (expecting one).

Delay the registration on the device to when the image actually gets
bound and there is a private BO.

Fixes: b21e62b71a ("anv: avoid leaking private binding for aliased wsi image")
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36474>
2025-07-31 07:48:23 +00:00
Job Noorman
19d2f5e086 freedreno/a7xx: disable consts_ubo upload
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
consts_ubo is treated as any UBO on a7xx and loaded to the const file
via the preamble.

Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36470>
2025-07-31 06:03:41 +00:00
Job Noorman
0abaae5a39 tu: remove consts_ubo upload code
consts_ubo is now treated as any UBO and loaded to the const file via
the preamble.

Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36470>
2025-07-31 06:03:41 +00:00
Job Noorman
bd58347769 ir3: treat consts_ubo as normal UBO
Lowering UBO ranges to the const file happens via the preamble on
turnip (all gens) and freedreno (a7xx+). The only exception is the
consts_ubo, which is uploaded to the const file via CP.

Make this more consistent, and remove some special-casing code, by
treating consts_ubo as any other UBO.

Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36470>
2025-07-31 06:03:41 +00:00
Guilherme Gallo
5ad4e6d3d1 ci/panfrost: Disable DUTs under maintenance
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Collabora's farm 2025-07-31 maintenance will make the following DUTs
offline for a few hours:
  - rk3288-veyron-jaq
  - sun50i-h6-pine-h64

So let's disable them before it blocks the pipelines.

----

Planned downtime for those DUTs in the farm:

Start: 2025-07-31 08:00 BST
End: 2025-07-31 10:00 BST

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36480>
2025-07-30 22:19:52 -03:00
Eric Engestrom
fdcad6e547 meson: include VkLayer_MESA_anti_lag in the devenv
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
See https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderLayerInterface.md#linux-layer-discovery

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36346>
2025-07-30 23:53:51 +00:00
Eric Engestrom
55d5c3dd8f meson: include VkLayer_MESA_vram_report_limit in the devenv
See https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderLayerInterface.md#linux-layer-discovery

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36346>
2025-07-30 23:53:51 +00:00
Eric Engestrom
56c910aafc meson: include VkLayer_MESA_screenshot in the devenv
See https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderLayerInterface.md#linux-layer-discovery

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36346>
2025-07-30 23:53:51 +00:00
Eric Engestrom
45789ac396 meson: fix VkLayer_MESA_device_select in the devenv
It's an implicit layer, not an explicit one like the others in that MR,
which I missed in the previous commit.

Fixes: 294d8ce80a ("meson: include VkLayer_MESA_device_select in the devenv")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36346>
2025-07-30 23:53:51 +00:00
Eric Engestrom
6d5f17371c llvmpipe/ci: set DRIVER_NAME to not have to manually add llvmpipe-skips.txt in asan job variant
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36354>
2025-07-30 23:18:09 +00:00
Eric Engestrom
4b4e1a81b9 nouveau/ci: drop already included *-skips.tx
`all-skips.txt` is always included, and `nouveau-gm20b-skips.txt`
matches `$GPU_VERSION-skips.txt`.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36354>
2025-07-30 23:18:08 +00:00
Eric Engestrom
77f2b9bcc3 iris/ci: drop already included skip list
It matches `$DRIVER_NAME-skips.txt`.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36354>
2025-07-30 23:18:07 +00:00
Eric Engestrom
e43ab3fab7 anv/ci: drop already included skip list
It matches `$GPU_VERSION-skips.txt`.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36354>
2025-07-30 23:18:07 +00:00
Eric Engestrom
eee467f78a broadcom/ci: drop redundant HWCI_TEST_SCRIPT already set by .broadcom-test
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36354>
2025-07-30 23:18:06 +00:00
Eric Engestrom
fb32b79550 broadcom/ci: drop redundant script: already set by .broadcom-test
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36354>
2025-07-30 23:18:05 +00:00
Eric Engestrom
a4dc14dedc turnip/ci: drop redundant GPU_VERSION
It's already set by `.a750-mupuf`.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36354>
2025-07-30 23:18:05 +00:00
Eric Engestrom
d40438031c radv/ci: deduplicate GPU_VERSION in ci-tron jobs
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36354>
2025-07-30 23:18:04 +00:00
Eric Engestrom
84ca8c54f7 radv/ci: deduplicate DEQP_SUITE: radv-valve in ci-tron jobs
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36354>
2025-07-30 23:18:03 +00:00
Eric Engestrom
3752723a78 ci-tron: drop unnecessary HWCI_TEST_SCRIPT: deqp-runner.sh re-defines
This is already the default for ci-tron jobs.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36354>
2025-07-30 23:18:01 +00:00
Karol Herbst
c2c0e13b78 nak: optimize load_subgroup_id
If a dimension in workgroup_size is 1 we can simply emit a 0 instead of
loading a system value. Helps a couple of compute shaders.

Totals:
CodeSize: 934788544 -> 934788048 (-0.00%)
Static cycle count: 222856984 -> 222856908 (-0.00%)

Totals from 8 (0.01% of 87622) affected shaders:
CodeSize: 34992 -> 34496 (-1.42%)
Static cycle count: 8593 -> 8517 (-0.88%)

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36428>
2025-07-30 23:03:19 +00:00
Alejandro Piñeiro
fa8731b859 broadcom/compiler: update compact arrays comment
PIPE_CAP_NIR_COMPACT_ARRAYS is gone since commit
2e5d49b3dd

v3d properly uses the compact_arrays option from
nir_shader_compiler_options since commit
d694c1b094

Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36446>
2025-07-30 22:45:33 +00:00
Alyssa Rosenzweig
4f1bafa6d5 nir: drop load_sample_id_no_per_sample
unused now.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36429>
2025-07-30 22:13:23 +00:00
Alyssa Rosenzweig
04be5a8910 nir/lower_system_values: simplify load_helper_invocation lowering
The two backends (ir3, dxil) using the lowering have
info->fs.uses_sample_shading matching set when sample shading is used -- the VK
drivers pass the rasterization state flag into the compiler, while
freedreno and d3d12 have caps->force_persample_interp so the frontend
creates a shader variant with info->fs.uses_sample_shading set.

This means that we can drop the sample-id SHL/AND in the pixel-rate
shading case, which in turn means that drivers don't need to have a
load_sample_id() that doesn't trigger sample-rate shading (which Adreno
doesn't have).

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36429>
2025-07-30 22:13:23 +00:00
Emma Anholt
ceaa8de981 tu: Implement sampleShadingEnable by flagging uses_sample_shading.
This will unblock getting correct helper invocation lowering without
forcing sample shading, by correctly setting NIR's uses_sample_shading
whenever it should be active.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36429>
2025-07-30 22:13:23 +00:00
Emma Anholt
cfeedd2025 freedreno: Drop min_samples handling code.
The frontend already does it for us based on
!caps->force_persample_interp, and the caller in util_blitter also handles
things through per-sample interpolation.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36429>
2025-07-30 22:13:23 +00:00
Emma Anholt
c1392168e5 tu: Rename per_samp to sample_shading to match ir3.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36429>
2025-07-30 22:13:23 +00:00
Emma Anholt
6e0e6b0caf ir3: Rename per_samp to sample_shading.
per_samp ("do sample shading") was confusing compared to has_per_samp
("shader key has some flags per texture sampler to inspect").

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36429>
2025-07-30 22:13:23 +00:00
Mike Blumenkrantz
dedfb5ef78 zink: trigger multi-context buffer invalidate on internal buffer invalidate
this is the same as zink_context_replace_buffer_storage()

cc: mesa-stable

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36473>
2025-07-30 20:20:15 +00:00
Mike Blumenkrantz
f1ba8f44d9 zink: fix tc buffer replacement rebind condition
this check is to detect multi-context rebinds, not to determine whether
all rebinds on the same context were successful

cc: mesa-stable

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36473>
2025-07-30 20:20:15 +00:00
Mike Blumenkrantz
b4280887ed zink: check for multi-context image/buffer rebinds during dispatch
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36473>
2025-07-30 20:20:14 +00:00
Mike Blumenkrantz
1c5e5aa4eb zink: also add access stage sync when rebinding buffers
cc: mesa-stable

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36473>
2025-07-30 20:20:14 +00:00
Jason Macnak
72d07c16a3 gfxstream: Add gfxstream TLS connection manager reset
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
... which is still needed to keep the end2end tests happy
when one thread creates and destroys instances multiple times
(which happens in the MultiThreadedShutdown test).

Test: GfxstreamEnd2EndTests
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36471>
2025-07-30 19:41:14 +00:00
Thomas H.P. Andersen
b08a23550f zink: do not overwrite existing error for miptail on uncommit
a7f86e38ca added the call to
sparse_backing_free. It reuses the ok variable and overwrites the
existing value

Fixes: a7f86e38ca
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36467>
2025-07-30 19:19:05 +00:00