Commit graph

209500 commits

Author SHA1 Message Date
Antonio Ospite
b4c7d3a08e build: stop calling unreachable() without arguments
The unreachable(str) macro defined in src/util/macros.h is defined to
accept a literal string as an argument.

However the way it checks that the argument is a string literal, by
prepending an empty string where the argument is used, i.e.:

  #define unreachabel(str) assert(!"" str)

still allows users to call the macro with no arguments.

This is confusing, so pass an empty string to all invocations of
unreachable() for consistency.

This is done with the following command:

  git grep -l '[^_]unreachable();' -- "src/**" | sort | uniq | \
  while read file; \
  do \
    sed -e 's/\([^_]\)unreachable();/\1unreachable("");/g' -i "$file";
  done

This should not change the behaviour of the callers of unreachable() in
a meaningful way, but there will be some cosmetic consequence.

The changed invocations will now print:

  Assertion `!"" ""' failed.

instead of

  Assertion `!""' failed.

But this is also what happens for the invocations that do pass an
argument, for instance `unreachable("Invalid type")` currently prints:

  Assertion `!"" "Invalid type"' failed.

So all invocations now also have the same output style.

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36437>
2025-07-31 17:49:40 +00:00
Antonio Ospite
128aa6bcae glsl: rename state name to avoid conflicts with future changes
A subsequent change is going to add a macro named UNREACHABLE() to
src/util/macros.h which will conflict with the lexer state name
UNREACHABLE in src/compiler/glsl/glcpp/glcpp-lex.l

Use the name NOT_REACHABLE in glcpp-lex.l instead of UNREACHABLE, just
to avoid the name clash with the future macro.

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36437>
2025-07-31 17:49:40 +00:00
Christian Gmeiner
e35f8049b7 etnaviv: blt: Add r8g8_unorm format support
Fixes the following CTS tests:
 - dEQP-GLES3.functional.fbo.msaa.2_samples.rg8
 - dEQP-GLES3.functional.fbo.msaa.4_samples.rg8

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/36494>
2025-07-31 17:32:59 +00:00
Christian Gmeiner
ff88429c35 etnaviv: blt: Add r8_unorm format support
Fixes the following CTS tests:
 - dEQP-GLES3.functional.fbo.msaa.2_samples.r8
 - dEQP-GLES3.functional.fbo.msaa.4_samples.r8

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/36494>
2025-07-31 17:32:59 +00:00
Sergii Ushakov
6c7f7e4953 android: moving HMI symbol to separate file
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
To support "surfaceless" builds on Android it is required to still have
HMI symbol exported by the library while no other android-specific code is
needed.

Reviewed-by: Gurchetan Singh <gurchetansingh@google.com>
Reviewed-by: Marcin Radomski <dextero@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36459>
2025-07-31 17:11:51 +00:00
Christian Gmeiner
3159d4ae59 etnaviv: Add support for alpha_to_coverage
Needs a GPU with MSAA_FRAGMENT_OPERATION support.

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:39 +00:00
Christian Gmeiner
98f2d8cb2f etnaviv: Emit alpha-to-coverage dither
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:38 +00:00
Christian Gmeiner
8fdcc7da44 etnaviv: Update headers from rnndb
Update to rnndb commit a7eef7ac9142

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
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
dd15dbae4b ci/prepare-artifacts: turn file copies into a loop
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36354>
2025-07-30 23:18:11 +00:00
Eric Engestrom
e7102511b0 ci/prepare-artifacts: drop redundant copy
`fossilize-runner.sh` is already matched by `*-runner.sh`.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36354>
2025-07-30 23:18:11 +00:00
Eric Engestrom
bf87c6522b ci/prepare-artifacts: move git version dump out of static file copy block
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36354>
2025-07-30 23:18:10 +00:00
Eric Engestrom
cd89b49f6a ci/deqp-runner: fix path to install folder
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36354>
2025-07-30 23:18:10 +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
a484a2d868 ci-tron: set SCRIPTS_DIR where its path is defined
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36354>
2025-07-30 23:18:02 +00:00
Eric Engestrom
b53723d2a4 ci-tron: cleanup redundancy in artifacts exclude variable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36354>
2025-07-30 23:18:02 +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