Commit graph

220660 commits

Author SHA1 Message Date
Job Noorman
c27f0406b0 ir3: fix handle_partial_const with vectorized src
Signed-off-by: Job Noorman <jnoorman@igalia.com>
Fixes: 50a91fbf87 ("freedreno/ir3: cleanup "partially const" ubo srcs")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40651>
2026-04-03 08:18:08 +02:00
Job Noorman
adfc1086c9 nir/recompute_io_bases: fix num_slots for per_view outputs
per_view outputs use one slot per enabled view.

Signed-off-by: Job Noorman <jnoorman@igalia.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40651>
2026-04-03 08:18:08 +02:00
Job Noorman
a72704d0fb nir/gather_info: clear interpolation qualifiers before gathering
Signed-off-by: Job Noorman <jnoorman@igalia.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Fixes: 66740d9c91 ("nir: gather interpolation qualifiers")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40651>
2026-04-03 08:18:08 +02:00
Job Noorman
2403e88a76 nir/gather_info: gather per_view info
Signed-off-by: Job Noorman <jnoorman@igalia.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40651>
2026-04-03 08:18:08 +02:00
Job Noorman
273fd18b89 nir/opt_varyings: fix alu def cloning
nir_builder_alu_instr_finish_and_insert initialized the def's bit_size
and num_components so we should set them afterwards.

Signed-off-by: Job Noorman <jnoorman@igalia.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Fixes: c66967b5cb ("nir: add nir_opt_varyings, new pass optimizing and compacting varyings")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40651>
2026-04-03 08:18:08 +02:00
Job Noorman
d56d35aa76 nir/opt_varyings_bulk: add data parameter to optimize callback
Signed-off-by: Job Noorman <jnoorman@igalia.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40651>
2026-04-03 08:18:08 +02:00
Timothy Arceri
27b56314ee radeonsi: add Gun Godz workaround
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This is another game based on the old YoYo engine

Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/15209

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40757>
2026-04-03 00:01:32 +00:00
Sagar Ghuge
19f39910a9 anv/bvh: Drop atomic on instance_count
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Thanks to Konstantin for pointing out that we really don't need atomics
here. We can use the IR offset to get the slot and keep stuffing the
instance address in it. Header already writes the instance count for us.

Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40734>
2026-04-02 22:14:11 +00:00
Rob Herring (Arm)
e100ca7c86 ethosu: Move ethosu_allocate_feature_map() to ethosu_lower.c
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Now that all callers of ethosu_allocate_feature_map() are in ethosu_lower.c,
move it there too.

Reviewed-by: Tomeu Vizoso <tomeu@tomeuvizoso.net>
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40719>
2026-04-02 21:04:25 +00:00
Rob Herring (Arm)
dd10897c5d ethosu: Drop 2nd allocation of IFM and OFM
The IFM and OFM were already allocated by the call to allocate_feature_maps()
in ethosu_lower_convolution().

Reviewed-by: Tomeu Vizoso <tomeu@tomeuvizoso.net>
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40719>
2026-04-02 21:04:25 +00:00
Rob Herring (Arm)
e89a672ab7 ethosu: Fix U85 AvgPool for greater than 8x8 kernel sizes
The U85 uses average mode for kernel sizes less than or equal to 8x8 and
sum mode for larger (in either dimension) kernel sizes. According to the
U85 TRM, the average and sum modes have the following constraints:

average - Average pooling up to 8x8, inbuilt scale only
sum - Sum or average pooling, per-channel, or global scale

Reviewed-by: Tomeu Vizoso <tomeu@tomeuvizoso.net>
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40719>
2026-04-02 21:04:25 +00:00
Jason Macnak
cabc55e9a5 gfxstream: fix submit to not hold lock when calling into encoder
... as this can lead to a deadlock with the following sequence:

Time1: guest-thread-1: vkDestroyImageView() called
Time2:                 VkEncoder grabs seqno 1

Time3: guest-thread-2: vkQueueSubmit() called
Time4:                 ResourceTracker::on_vkQueueSubmitTemplate() locks
                       mLock for using `info_VkFence`
Time5:                 ResourceTracker::on_vkQueueSubmitTemplate() calls
                       enc->vkQueueWaitIdle()
Time6:                 VkEncoder grabs seqno 2
Time7:                 VkEncoder sends the vkQueueWaitIdle with seqno
                       2 via ASG to host
Time8:                 VkEncoder waits for the `VkResult` from the
                       host via `stream->read()`

Time9: guest-thread-1: VkEncoder calls sResourceTracker->destroyMapping()
                       ->mapHandles_VkImageView((VkBuffer*)&buffer);
                       which calls
		       ResourceTracker::unregister_VkImageView()

                       ResourceTracker::unregister_VkImageView() tries to
                       lock mLock to erase the info struct

!!! DEADLOCKED HERE !!!

guest-thread-1 is stuck waiting on mLock (currently locked by
guest-thread-2) before it would `stream->flush();` to finishing
sending the vkDestroyImageView() command to the host and potentially
ping its corresponding host-render-thread-1.

guest-thread-2 is stuck waiting on the result from host-render-thread-2
but host-render-thread-2 won't progress until host-render-thread-1
finishes seqno 1 which needs guest-thread-1 to finish sending/pinging.

Android equivalent change ag/39258728 for b/498964194

Test: cvd create --gpu_mode=gfxstream_guest_angle_host_swiftshader
      open maps
      pan/zoom/etc for a couple minutes

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40767>
2026-04-02 20:20:52 +00:00
Casey Bowman
007be58ade intel/ds: Modify rejection threshold to scale with requested sample period
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Previously, we only checked if the hardware duration was greater
than the requested sample period by 1000 ns. This can lead the
hardware duration to be rejected and use the next cycle, which
is double the size of the current duration.

At larger requested sample size, this can mean getting a hardware
duration of 1.7 ms for a requested sample period of 1 ms.

To fix this, we'll scale the check so that it uses 67% of the
requested sample period as the reject threshold. This way, if the
hardware duration is below 67%, it's guaranteed to be within
100%-133% of the requested sample period on the next hardware interval.

Signed-off-by: Casey Bowman <casey.g.bowman@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40735>
2026-04-02 18:56:16 +00:00
Caio Oliveira
0bf3aaedb1 brw: Always use split send in generator
Instead of generating special single source send in some cases, always
use the split send (called SENDS pre-Xe, and the only option in Xe).
Having code-path for single source was relevant for old Gfx versions,
but for Gfx9+ split send is always available.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40755>
2026-04-02 18:31:02 +00:00
Danylo Piliaiev
3335e707e1 tu: u_trace usage fixes before u_trace refactoring
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
- We won't be able to rely on u_trace_fini leaving u_trace in
  valid state, so u_trace_init should be called after it.
- There probably was a double-free of u_trace_submission_data.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40728>
2026-04-02 16:20:09 +00:00
Rob Clark
75fad9e2c4 tu/kgsl: Add UBWC_5 and UBWC_6 support
Handle the two additional UBWC versions used on gen8.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40758>
2026-04-02 15:55:55 +00:00
Zan Dobersek
d574bf0d64 tu/kgsl: bump msm_kgsl.h header
Update the msm_kgsl.h header up to the d45f9faad921 kgsl commit.

Signed-off-by: Zan Dobersek <zdobersek@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40758>
2026-04-02 15:55:55 +00:00
Marek Olšák
27a4c58745 nir/tests: test nir_opt_varyings with sysvals
Test that view_index is moved, and sample_mask_in isn't.

Acked-by: Pierre-Eric
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40664>
2026-04-02 14:38:56 +00:00
Marek Olšák
f3e208ee6c nir/opt_varyings: move expressions with view_index into preceding shaders
Example:

Before:
    VS output0 = v0
    VS output1 = v1
    FS output = gl_ViewIndex == 0 ? input0 : input1;

After:
    VS output0 = gl_ViewIndex == 0 ? v0 : v1;
    FS output = input0;

Acked-by: Pierre-Eric
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40664>
2026-04-02 14:38:56 +00:00
Marek Olšák
92cf9af827 nir: factor out nir_system_value_from_instr from nir_opt_varyings
Acked-by: Pierre-Eric
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40664>
2026-04-02 14:38:56 +00:00
Marek Olšák
bfc75c0641 nir: return a failure value from nir_system_value_from_intrinsic
We need to be able to check whether an intrinsic loads a sysval.

Acked-by: Pierre-Eric
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40664>
2026-04-02 14:38:56 +00:00
Rob Clark
e6af9524b0 freedreno/a6xx: Fix blit fmt check
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
The commit that introduced 9_9_9_E5 RB support mistakenly broke
fake-format blits (such as compressed formats, etc).  Re-order the
logic to restore fake-format blits.

Fixes iova fault in manhattan.  Not to mention inadvertantly falling
off of the A2D path for a lot of blits.

Fixes: 9dc3410512 ("tu: Add support for VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 color attachments")
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40754>
2026-04-02 14:21:03 +00:00
Silvio Vilerino
b83a931cb1 d3d12: Video sliced encode: Use same ID3D12Fence/different per slice values as optimization
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40756>
2026-04-02 13:54:02 +00:00
Silvio Vilerino
9f4d3267c9 d3d12: Fix video fence leak and double assign
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40756>
2026-04-02 13:54:02 +00:00
Wenfeng Gao
aa5398689b mediafoundation: Fix the frame number validation logic for motion hint
The external move region frame number was continuously generated. However, the current POC was reset based on IDR.
Modified the logic of validation and logged a warning in case of mismatch.

Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40756>
2026-04-02 13:54:02 +00:00
Sergi Blanch Torne
bae86c3118 ci: fix envvar default value
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
With 047bb6b8 on !35740, when GIT_STRATEGY is not defined, the scripts can
fail where we use `set -u` to raise an error when unset variables.

Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40759>
2026-04-02 09:09:52 +00:00
Pavel Ondračka
33864e569e st/bitmap: release the temporary bitmap sampler view
st_cb_bitmap appends a temporary bitmap sampler view to the sampler
view array passed to set_sampler_views().

1a5c660ef5 changed this path to only release the extra YUV views
returned by st_get_sampler_views(), but the temporary bitmap view is
created locally and is not part of extra_sampler_views. It therefore
stopped being released so release the temporary bitmap sampler view
explicitly after drawing the bitmap quad.

Fixes: 1a5c660ef5 ("st/bitmap: only release YUV samplerviews")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40694>
2026-04-02 08:34:54 +00:00
Karol Herbst
72e9f9a760 nak: add algebraic patterns to improve MUFU.F16
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Doesn't really help many shaders, but I've seen a couple that turn from
MUFU into F2F(MUFU.F16(F2F)). Though this might be as well a limitation
of related code, e.g. returning F32 from TEX, and not use TEX.F16 instead.

Totals:
CodeSize: 8662337424 -> 8662336960 (-0.00%)
Static cycle count: 4718044491 -> 4718044554 (+0.00%); split: -0.00%, +0.00%

Totals from 7 (0.00% of 1163204) affected shaders:
CodeSize: 236480 -> 236016 (-0.20%)
Static cycle count: 2108061 -> 2108124 (+0.00%); split: -0.01%, +0.01%

Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40392>
2026-04-02 01:10:57 +00:00
Karol Herbst
9cc2cd843b nak: enable MUFU.F16 on Turing and newer
Totals from 1427 (0.12% of 1163204) affected shaders:
CodeSize: 18599616 -> 18495424 (-0.56%); split: -0.56%, +0.00%
Number of GPRs: 91579 -> 91571 (-0.01%)
SLM Size: 14144 -> 14140 (-0.03%)
Static cycle count: 96164214 -> 96075886 (-0.09%); split: -0.13%, +0.04%
Spills to memory: 2677 -> 2681 (+0.15%)
Fills from memory: 2677 -> 2681 (+0.15%)
Max warps/SM: 48868 -> 48872 (+0.01%)

Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40392>
2026-04-02 01:10:57 +00:00
Karol Herbst
c7ff7c7d40 nak: add hw_test for MUFU.F16
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40392>
2026-04-02 01:10:57 +00:00
Karol Herbst
d031365f7c nak: support MUFU.F16
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40392>
2026-04-02 01:10:57 +00:00
Karol Herbst
3d94841bba nak: remove OpF2F::dst_high
It was dead code

Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40392>
2026-04-02 01:10:57 +00:00
Karol Herbst
67bfbc7535 nak: rework swizzling on scalar FP16 ops
Instructions that take a F16 value can generally select which component to
read from. This lets us get rid of some PRMTs.

This also cleans up partial support for it for F2F and streamlines
everything into an uniform model as previously it wasn't wired up
generally and copy prop didn't always propagate the swizzle through.

This also makes it uneccessary to apply a Xx swizzle to scalar FP16
sources.

Totals from 907 (0.08% of 1163204) affected shaders:
CodeSize: 40856816 -> 40843408 (-0.03%); split: -0.03%, +0.00%
Static cycle count: 20898101 -> 20895619 (-0.01%); split: -0.01%, +0.00%

Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40392>
2026-04-02 01:10:56 +00:00
Eric Engestrom
aa39da8338 ci-tron: ensure the test jobs start with a clean job folder
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
By using `GIT_STRATEGY: empty` instead of `none`.

As documented in https://docs.gitlab.com/ci/runners/configure_runners/#git-strategy

    Unlike `none`, the `empty` Git strategy deletes and then re-creates
    a dedicated build directory before downloading cache or artifact files.
    With this strategy, the GitLab Runner hook scripts are still run (if
    provided) to allow for further behavior customization. Use the `empty`
    Git strategy when:
      - You do not need the repository data to be present.
      - You want a clean, controlled, or customized starting state every
        time a job runs.

In CI-tron jobs we put things there at the start of the job that we want
to keep through the start of the test and until the end of the job.

This requires gitlab-runner >= 17.10, which is already satisfied by all
ci-tron deployments.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35740>
2026-04-01 22:16:20 +00:00
Eric Engestrom
047bb6b85a ci: only clean the artifacts folder if gitlab hasn't already done it
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35740>
2026-04-01 22:16:20 +00:00
Eric Engestrom
76c9b277e4 ci: always make sure the results dir is created, not just when changing its path
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35740>
2026-04-01 22:16:20 +00:00
Eric Engestrom
1866a1b36f ci: drop redundant existance check before rm -rf
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35740>
2026-04-01 22:16:20 +00:00
Eric Engestrom
051ff429fd ci/init-stage2: symlink install dir between both CI_PROJECT_DIR paths
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35740>
2026-04-01 22:16:19 +00:00
Eric Engestrom
3f5d4eac5f ci: abort init-stage2.sh early if install dir is missing
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35740>
2026-04-01 22:16:19 +00:00
Ahmed Hesham
e77c984cef rusticl: fix flag validation when creating an image
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
From the OpenCL specification:
    `CL_MEM_KERNEL_READ_AND_WRITE`: This flag is only used by
    clGetSupportedImageFormats to query image formats that may be both
    read from and written to by the same kernel instance. To create a
    memory object that may be read from and written to use
    CL_MEM_READ_WRITE.

If an application follows the instructions above, i.e. query a list of
supported image formats, using `CL_MEM_KERNEL_READ_AND_WRITE` as
input, and then attempts to create an image using one of the supported
image formats, by calling `clCreateImage` and passing
`CL_MEM_READ_WRITE`, the call to the image creation entry point should
succeed. This instead fails on Mali devices with the error
`CL_IMAGE_FORMAT_NOT_SUPPORTED`.

Rusticl fails when validating the image format against its supported
flags. Formats that support `PIPE_BIND_SHADER_IMAGE` have their
supported flags set as `CL_MEM_WRITE_ONLY` and
`CL_MEM_KERNEL_READ_AND_WRITE`.

This changes the supported CL flags to be `CL_MEM_WRITE_ONLY` for
`PIPE_BIND_SHADER_IMAGE` and `CL_MEM_READ_WRTE |
CL_MEM_KERNEL_READ_AND_WRITE` for `PIPE_BIND_SAMPLER_VIEW |
PIPE_BIND_SHADER_IMAGE`.

Fixes: 3386e142 (rusticl: support read_write images)

Fixes OpenCL-CTS test: `test_image_streams` on Mali. Invocation:
```
test_image_streams write 1D CL_RGB CL_SIGNED_INT8
```

Signed-off-by: Ahmed Hesham <ahmed.hesham@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39692>
2026-04-01 20:15:06 +00:00
Pohsiang (John) Hsu
64d95c5ca9 d3d12: ifdef the surfaces member from d3d12_batch under HAVE_GALLIUM_D3D12_GRAPHICS
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40751>
2026-04-01 18:37:22 +00:00
Tanner Van De Walle
325b7692f8 d3d12: Fix d3d12_surface_destroy() to match pipe_surface_destroy_func()
Fixes: 0615a276 ("gallium: add a destructor param to surface refcounting functions")

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40751>
2026-04-01 18:37:22 +00:00
Lorenzo Rossi
a45a7bbf44 pan/compiler: Split bifrost_nir.c from bifrost_compile.c
Before this, everything was in the giant bifrost_compile.c file, now
preprocess, optimize and postproces are in their own "small"
bifrost_nir.c.

I also removed some dead functions and moved the passes closer to their
usage, (ex, passes only used in preprocess are now just before
preprocess). Otherwise it's all the same code we had before.

Signed-off-by: Lorenzo Rossi <lorenzo.rossi@collabora.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40717>
2026-04-01 18:14:32 +00:00
Lorenzo Rossi
7d8b2c4128 pan/compiler: Split bi_debug.c from bifrost_compile.c
Signed-off-by: Lorenzo Rossi <lorenzo.rossi@collabora.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40717>
2026-04-01 18:14:32 +00:00
Lorenzo Rossi
f19b9eddb6 pan/compiler: Replace bi_lower_ldexp16 with algebraic pass
Signed-off-by: Lorenzo Rossi <lorenzo.rossi@collabora.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40717>
2026-04-01 18:14:31 +00:00
Boyuan Zhang
4fe64d23b8 ac/vcn_dec: add addr_mode for VCN 5.0.1
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
VCN 5_0_1 uses gfx9 address mode. This was also set in previous
radeon_vcn_dec codes.

Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com>
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Reviewed-by: David Rosca <david.rosca@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40736>
2026-04-01 10:32:20 -04:00
Samuel Pitoiset
61c85c8d31 vulkan: fix determining the heap ptr
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40729>
2026-04-01 12:56:43 +00:00
Samuel Pitoiset
521b1c9584 vulkan: remove unused parameters in vk_build_descriptor_heap_address()
Also make it static.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40729>
2026-04-01 12:56:43 +00:00
Lionel Landwerlin
b4aaa17a11 nir/lower_io: add index support for load_param_intel
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40729>
2026-04-01 12:56:43 +00:00
Lionel Landwerlin
22b16d54ab nir: add heap variant of load_param_intel
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40729>
2026-04-01 12:56:43 +00:00