Commit graph

210618 commits

Author SHA1 Message Date
Faith Ekstrand
fcd6616624 compiler/rust/bitset: Don't use a vector for expected sets in tests
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36849>
2025-08-20 17:06:50 +00:00
Faith Ekstrand
0cdd37b5ff compiler/rust: Stop using try_into() for u8 -> usize
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36849>
2025-08-20 17:06:50 +00:00
Faith Ekstrand
511f747fb8 compiler/rust: Add a bunch of clippy lints
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36849>
2025-08-20 17:06:50 +00:00
Faith Ekstrand
d3fc91d6c2 compiler/rust: Don't use assert_eq!() with booleans
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36849>
2025-08-20 17:06:50 +00:00
Faith Ekstrand
e5f4d36192 compiler/rust/nir: Drop a bunch of explicit lifetimes
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36849>
2025-08-20 17:06:50 +00:00
Faith Ekstrand
8324a14875 compiler/rust: Add Rust 2024 lints
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36849>
2025-08-20 17:06:50 +00:00
Faith Ekstrand
3d4b29a0f6 meson: Add --wrap-unsafe-ops to bindgen
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36849>
2025-08-20 17:06:50 +00:00
Faith Ekstrand
3b102368ac compiler/rust: Stop using NonNull in the NIR bindings
Rust's core pointer type has an as_ref() which returns Option<&T>
already so there's no point in using NonNull.

Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36849>
2025-08-20 17:06:50 +00:00
Faith Ekstrand
d9ceefdcb6 compiler/rust: Use .as_ref().unwrap() instead of &*
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36849>
2025-08-20 17:06:50 +00:00
Faith Ekstrand
b5a2791906 nouveau/bitview: Drop an unneeded lifetime
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36849>
2025-08-20 17:06:50 +00:00
Faith Ekstrand
35601cad2b nouveau/struct_parser: Stop generationg i * 1
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36849>
2025-08-20 17:06:50 +00:00
Faith Ekstrand
7b362ee979 nouveau/class_parser: Add a helper for address expression filtering
This makes it more clear since it's no longer baked into the Rust
codegen.  The new one is also probably a little safer since it doesn't
blindly delete all parens.

Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36849>
2025-08-20 17:06:50 +00:00
Faith Ekstrand
8680bf0cb1 nouveau/class_parser: Stop shifting by zero
This a clippy warning and generates piles of spam

Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36849>
2025-08-20 17:06:50 +00:00
Faith Ekstrand
a26c54abe6 nouveau: Use rust_2024_lint_args
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36849>
2025-08-20 17:06:50 +00:00
Faith Ekstrand
d4a9c53263 nak: Use +use<> to avoid unnecessary lifetime captures
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36849>
2025-08-20 17:06:50 +00:00
Faith Ekstrand
ad187b8a63 nak/hw_runner: Wrap all unsafe code in unsafe blocks
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36849>
2025-08-20 17:06:50 +00:00
Faith Ekstrand
7db9bd0c1b nak: Use .as_ref().unwrap() instead ofv &*
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36849>
2025-08-20 17:06:50 +00:00
Faith Ekstrand
02f509a9d0 nil: Fix a couple of clippy lints
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36849>
2025-08-20 17:06:49 +00:00
Faith Ekstrand
e6c32c7b92 nil/copy: Use saturating_sub() instead of doing it manually
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36849>
2025-08-20 17:06:49 +00:00
Faith Ekstrand
fb04c68573 nil/copy: Wrap all unsafe code in unsafe blocks
Starting with Rust 2024, the bodies of unsafe functions will no longer
be implicitly unsafe contexts.

Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36849>
2025-08-20 17:06:49 +00:00
Faith Ekstrand
4dd7ed18b9 meson: Disable unsafe_attr_outside_unsafe for now
The #[unsafe(no_mangle)] decoration breaks cbindgen until 0.28 where
they added support.  Just disable that for now so that NIL still builds.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36849>
2025-08-20 17:06:49 +00:00
Faith Ekstrand
b15cd5dea0 meson: Disable unsafe_op_in_unsafe_fn in bindgen for now
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36849>
2025-08-20 17:06:49 +00:00
Faith Ekstrand
5db8727ed1 meson: Add a rust_2024_lint_args helper
Copied from rusticl.  This makes it easier for other Rust components to
ask for all the 2024 warnings.

Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36849>
2025-08-20 17:06:48 +00:00
Faith Ekstrand
291ccffd3d subprojects: Stop calling add_languages() in paste-1-rs/meson.build
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36849>
2025-08-20 17:06:47 +00:00
Antonio Ospite
8f84ae7de7 compiler/rust: fix errors about hiding elided lifetime
In some setups the rust compiler emits errors like the following:

-----------------------------------------------------------------------
error: hiding a lifetime that's elided elsewhere is confusing
   --> ../subprojects/proc-macro2-1.0.86/src/parse.rs:125:25
    |
125 | fn block_comment(input: Cursor) -> PResult<&str> {
    |                         ^^^^^^     -------------
    |                         |          |       |
    |                         |          |       the same lifetime is elided here
    |                         |          the same lifetime is hidden here
    |                         the lifetime is hidden here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
    = note: `-D mismatched-lifetime-syntaxes` implied by `-D warnings`
    = help: to override `-D warnings` add `#[allow(mismatched_lifetime_syntaxes)]`
help: use `'_` for type paths
    |
125 | fn block_comment(input: Cursor<'_>) -> PResult<'_, &str> {
    |                               ++++             +++
-----------------------------------------------------------------------

Follow the solution suggested by the compiler to silence the errors, for
all the observed occurrences.

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36849>
2025-08-20 17:06:47 +00:00
Antonio Ospite
5c019bdee5 nak/nouveau: silence errors about never used methods
When building nvk for Android the rust compiler emits the following
errors:

-----------------------------------------------------------------------
error: methods `get_pred_src`, `get_u32_bnot_src`, `get_carry_src`, `set_pred_dst`, and `set_carry_dst` are never used
    --> ../src/nouveau/compiler/nak/ir.rs:1371:12
     |
1370 | impl OpFoldData<'_> {
     | ------------------- methods in this implementation
1371 |     pub fn get_pred_src(&self, op: &impl SrcsAsSlice, src: &Src) -> bool {
     |            ^^^^^^^^^^^^
...
1404 |     pub fn get_u32_bnot_src(&self, op: &impl SrcsAsSlice, src: &Src) -> u32 {
     |            ^^^^^^^^^^^^^^^^
...
1413 |     pub fn get_carry_src(&self, op: &impl SrcsAsSlice, src: &Src) -> bool {
     |            ^^^^^^^^^^^^^
...
1446 |     pub fn set_pred_dst(&mut self, op: &impl DstsAsSlice, dst: &Dst, b: bool) {
     |            ^^^^^^^^^^^^
...
1450 |     pub fn set_carry_dst(&mut self, op: &impl DstsAsSlice, dst: &Dst, b: bool) {
     |            ^^^^^^^^^^^^^
     |
     = note: `-D dead-code` implied by `-D warnings`
     = help: to override `-D warnings` add `#[allow(dead_code)]`

error: method `eval` is never used
    --> ../src/nouveau/compiler/nak/ir.rs:1523:12
     |
1522 | impl PredSetOp {
     | -------------- method in this implementation
1523 |     pub fn eval(&self, a: bool, b: bool) -> bool {
     |            ^^^^

error: method `to_mask` is never used
    --> ../src/nouveau/compiler/nak/ir.rs:5625:12
     |
5614 | impl SuClampRound {
     | ----------------- method in this implementation
...
5625 |     pub fn to_mask(&self) -> u32 {
     |            ^^^^^^^

error: method `cast` is never used
    --> ../src/nouveau/compiler/nak/ir.rs:6041:8
     |
6006 | impl IMadSpSrcType {
     | ------------------ method in this implementation
...
6041 |     fn cast(&self, v: u32) -> i64 {
     |        ^^^^
-----------------------------------------------------------------------

Add `#[allow(dead_code)]` to silence the errors, as suggested by the
compiler.

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36849>
2025-08-20 17:06:47 +00:00
Yonggang Luo
a3b4a26d58 meson: Remove unused with_asm_arch and USE_*_ASM macros
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36635>
2025-08-20 16:21:28 +00:00
Yonggang Luo
f12db445ec mesa: Remove duplicated deceleration of _mesa_glapi_tls_Dispatch _mesa_glapi_tls_Context
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36635>
2025-08-20 16:21:28 +00:00
Yonggang Luo
8ca533c942 mesa: refactor the glapi/tls includes into a single, reused header
This is done by introduce predefined macro MESA_SYSTEM_HAS_KMS_DRM=system_has_kms_drm
And after these change, the usage of USE_*_ASM macros in mesa/glapi are avoided.

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36635>
2025-08-20 16:21:28 +00:00
Yonggang Luo
82bafaa1fa vc4: Remove the usage of USE_ARM_ASM
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36635>
2025-08-20 16:21:28 +00:00
Yonggang Luo
b2761d1481 util: Remove usage of USE_**_ASM macros
Use DETECT_ARCH_X86 DETECT_ARCH_X86_64 DETECT_ARCH_AARCH64 DETECT_CC_GCC instead

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36635>
2025-08-20 16:21:28 +00:00
Yonggang Luo
7c1b96faaa mesa: Remove usage of USE_*ASM in mesa/main/debug.c
Use DETECT_ARCH_X86, DETECT_ARCH_X86_64 and DETECT_ARCH_SPARC64 instead.

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36635>
2025-08-20 16:21:28 +00:00
Yonggang Luo
a3e3c889d1 util: Add DETECT_ARCH_SPARC64 for sparc
By reference to
https://sourceforge.net/p/predef/wiki/Architectures/

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36635>
2025-08-20 16:21:27 +00:00
Yonggang Luo
272c331913 meson: Remove redundant TODO:
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36635>
2025-08-20 16:21:27 +00:00
Yonggang Luo
0c9b043012 ci: remove non-existent files in ci watch list
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36635>
2025-08-20 16:21:27 +00:00
Yonggang Luo
b589b24209 mesa: Remove unused assyntax.h and update related files
Also remove unused .gl-rules::changes in test-source-dep.yml

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36635>
2025-08-20 16:21:27 +00:00
Eric Engestrom
f78dee44b8 docs: add sha sum for 25.2.1
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36882>
2025-08-20 16:08:47 +00:00
Eric Engestrom
7ba6c2789f docs: add release notes for 25.2.1
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36882>
2025-08-20 16:08:47 +00:00
Eric Engestrom
3ec5096e01 docs: update calendar for 25.2.1
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36882>
2025-08-20 16:08:47 +00:00
Eric Engestrom
3844c35e0d docs: stub pipe_format & pipe_video_chroma_format
Fixes: fabd0d82db ("util/format: Auto-generate the enum pipe_format definition")
Fixes: 5e01ec4bd0 ("util/format: Auto-generate a bunch of YUV helpers")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36888>
2025-08-20 16:03:51 +00:00
Nataraj Deshpande
f67edacf8b anv: add feature flags for linearly tiled ASTC images
In case of emulated ASTC on supported platforms, currently returning
0 for linear tiled images causes vpGetPhysicalDeviceProfileSupport
failure during AndroidBaselineProfile test. The patch handles it
similar to linearly-tiled images that are used for transfers.

Fixes android.graphics.cts.VulkanFeaturesTest#testAndroidBaselineProfile2021Support.

Cc: mesa-stable
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36798>
2025-08-20 15:28:50 +00:00
Lionel Landwerlin
fe38fb858c brw: workaround broken indirect RT messages on Gfx11
Unfortunately we cannot use the indirect descriptor on Gfx11, it
appears to just drop writes. Other platforms appear to be fine.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36883>
2025-08-20 15:01:50 +00:00
Lionel Landwerlin
a0844458b8 brw: enable opt_register_coalesce to work with multiple EOT blocks
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36883>
2025-08-20 15:01:50 +00:00
Lionel Landwerlin
c4c7ff3f8f brw: enable register allocation to deal with multiple EOTs
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36883>
2025-08-20 15:01:50 +00:00
David Rosca
325de7fe7e pipe: Remove now unused is_video_target_buffer_supported
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36755>
2025-08-20 14:25:45 +00:00
David Rosca
a4aed7e517 radeonsi: Remove now unused si_vid_is_target_buffer_supported
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36755>
2025-08-20 14:25:45 +00:00
David Rosca
0df4eed1e2 radeonsi/vcn: Support VPE with decode processing
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36755>
2025-08-20 14:25:45 +00:00
David Rosca
10ac8567de radeonsi/vcn: Support EFC with encode processing
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36755>
2025-08-20 14:25:45 +00:00
David Rosca
efc6d27fd4 frontends/va: Add support for decode/encode processing
This implements support for Decode processing allowing to perform
processing operation on the decoded picture in one single call without
having to use separate processing context.

This also implements the same functionality for encoding, which is
useful to perform conversion from RGB to YUV in a single call, and it
allows us to properly support the conversion inside encoder (eg. EFC on
AMD).
For Encode processing the additional output buffer is required same as
with Decode processing, but driver may not use it to perform the
conversion (in case where the conversion can be done by the encoder hw).
This means the contents of the additional buffer is undefined, and
application should not rely on the buffer actually containing output
picture of the conversion.

Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36755>
2025-08-20 14:25:45 +00:00
David Rosca
b0a5d78247 frontends/va: Remove EFC support
It will be moved to encode processing in next commits.

Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36755>
2025-08-20 14:25:45 +00:00