Faith Ekstrand
82d789d22a
nvk: Lower images to addresses on Kepler
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34975 >
2025-05-28 01:47:19 +00:00
Lorenzo Rossi
bb3f4b86bf
nvk: Use nil_su_info for image descriptors on Kepler
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34975 >
2025-05-28 01:47:19 +00:00
Lorenzo Rossi
e5d4c4934d
nak: Add an image address lowering pass
...
On Kepler, we don't have real surface opcodes. Instead, we have a bunch
of helper ops which make image calculations in the shader reasonably
efficient and we have to lower to that and an address-based load/store.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34975 >
2025-05-28 01:47:19 +00:00
Faith Ekstrand
0b06feee92
nouveau: Move bitview to a common rust util folder
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34975 >
2025-05-28 01:47:19 +00:00
Lorenzo Rossi
5fbcdd6e32
nir,nak: Add NV-specific image intrinsics
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34975 >
2025-05-28 01:47:19 +00:00
Lorenzo Rossi
a27a711c3a
nil: Add helpers for filling out Fermi/Kepler surface info
...
Kepler needs different descriptors for Image storage, these descriptors
are not directly used by the hardware but by lowering instructions
(added in later commits)
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34975 >
2025-05-28 01:47:19 +00:00
Faith Ekstrand
e388f25a2a
nil: Align linear image strides to the image alignment
...
This is a function no-op right. In the case where we don't have an
explicit_row_stride_B, we use an alignment of 128B which is what we were
aligning the row stride to before.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34975 >
2025-05-28 01:47:18 +00:00
Faith Ekstrand
7a577d2e3a
nvk: Drop the union from nvk_buffer_view
...
The space saved is tiny and not having the union at all makes me way
more comfortable about the modifications we're about to do.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34975 >
2025-05-28 01:47:18 +00:00
Adam Jackson
4b1c824b67
vtn/opencl: Handle OpenCLstd_F{Min,Max}_common
...
Normal fmin doesn't make any promises about NaN, common additionally
doesn't make any promises about infinities. Would be nice to hook that
up to codegen but lowering them to normal works for now.
Cc: mesa-stable
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34941 >
2025-05-28 01:08:20 +00:00
Adam Jackson
92f07860a4
vtn: (Silently) handle FunctionParameterAttributeNo{Capture,Write}
...
Silences a few thousand warnings in sycl/test-e2e
Cc: mesa-stable
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34941 >
2025-05-28 01:08:20 +00:00
Adam Jackson
fd7589d775
vtn: Handle SPV_KHR_uniform_group_instructions
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34941 >
2025-05-28 01:08:20 +00:00
Caleb Callaway
52db0e1480
intel/compiler: fix SHA generation for shader replace
...
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35140 >
2025-05-27 22:57:19 +00:00
Faith Ekstrand
8ffe0098be
nvk: Reserve a sampler for TXF on Kepler
...
The SPIR-V spec says texelFetch and friends don't take a sampler.
However, on Kepler and earlier hardware, the sampler is read even for
tld. In particular, the hardware reads the sRGB conversion bit in the
sampler and this can be in an inconsistent state if we haven't
initialized samplers properly. On Kepler, we should just reserve a
sampler at device creation time and always use that for tld.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35190 >
2025-05-27 22:23:37 +00:00
Faith Ekstrand
bfdc95b109
nak: Scalarize non-constant ald/ast on Kepler
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35190 >
2025-05-27 22:23:36 +00:00
Faith Ekstrand
f10c42fcc1
bitview: Implement SetFieldU64 for all BitViewMutable
...
There's no reason why we need to keep overriding this. There's also
probably not a good reason why this trait exists at all but that's a
problem for another day.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35190 >
2025-05-27 22:23:36 +00:00
Eric Engestrom
6ec69e5a07
gallium: drop dynamic pipe-loader leftovers
...
Fixes: 30c5c7d811 ("gallium: remove dynamic pipe-loader")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35185 >
2025-05-27 21:44:31 +00:00
Karol Herbst
0a9b871b9e
rusticl: support cl_khr_kernel_clock
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35179 >
2025-05-27 19:57:28 +00:00
Karol Herbst
8144c7ee86
rusticl: generate bindings for llvm version macros
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35179 >
2025-05-27 19:57:28 +00:00
Karol Herbst
f5a9a80f29
clc: wire up cl_khr_kernel_clock
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35179 >
2025-05-27 19:57:28 +00:00
Samuel Pitoiset
63758bc093
radv: fix capture/replay with sparse images and descriptor buffer
...
The sparse image VA needs to be returned to the application for replay.
Reported by Baldur.
VKCTS has coverage but it doesn't verify this yet.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35162 >
2025-05-27 19:30:18 +00:00
Eric Engestrom
a628190e0d
ci/vkd3d: collapse section by default
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35180 >
2025-05-27 18:52:50 +00:00
Eric Engestrom
f12f2bcae1
ci: uprev vkd3d
...
A new group of descriptor aliasing tests was added; let's run these in CI :)
https://github.com/HansKristian-Work/vkd3d-proton/compare/7e829e88364f9429596b14d0c0ea0205e1337edc...041cfa75580090c6b30af2f2721015d15493f14b
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35180 >
2025-05-27 18:52:50 +00:00
Erik Faye-Lund
738b95a35e
panfrost: add max_4x_msaa quirk
...
Turns out, some Midgard GPUs don't support more than 4x MSAA. Add a
quirk for those GPUs, so don't expose it when it doesn't work.
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35184 >
2025-05-27 17:41:47 +00:00
Erik Faye-Lund
3a78d9213b
panfrost: pass quirks through __VA_ARGS__
...
We can't easily pass multiple initializers here, because a comma in the
initializer list would be treated as a preprocessor argument separator
and not a separator in the initializer lst.
We could also have fixed this with some nested macro ugliness, but let's
instead do what nir_builder does for intrinsic indices and use __VA_ARGS__
to keep this neat.
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35184 >
2025-05-27 17:41:47 +00:00
Erik Faye-Lund
e77e4d5c17
panfrost: change tie-breaking rule for 16x MSAA
...
When using 16x MSAA, we have two sample-positions on the negative
boundary of the unit-square covering the pixel. This causes problems
when using the default tie-breaking rule, where we miss some
sample-positions when rasterizing primitives covering the entire
viewport.
This works fine on Bifrost and later, but this setting is ignored on
those GPUs, and they assume the default (e.g MINUS_180_OUT_0_IN).
Because we'd prefer for rasterization to match between Midgard and
Bifrost when we can, we only apply this when we have 16x MSAA.
As an added bonus, this behavior matches what the DDK does.
Fixes these tests when 16x MSAA is enabled:
- dEQP-GLES31.functional.texture.multisample.samples_16.use_texture_*
- dEQP-GLES3.functional.multisample.fbo_max_samples.proportionality_alpha_to_coverage
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35184 >
2025-05-27 17:41:47 +00:00
Erik Faye-Lund
130bbf20c7
panfrost: properly compute tile-buffer requirements
...
This should be helful when we want to enable higher sample counts.
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35184 >
2025-05-27 17:41:47 +00:00
Erik Faye-Lund
64becaf142
panfrost: re-align table
...
The formatting here has grown some warts over time, let's clean it up a
bit.
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35184 >
2025-05-27 17:41:47 +00:00
Erik Faye-Lund
cf28edd8bd
panfrost: do not calculate max-msaa on v4
...
The V4 GPUs doesn't have the dynamic allocation logic that V5 and later
has. There's nothing to calculate here; the GPU either supports 8x MSAA,
or 4x MSAA.
Since 8x MSAA is the architectural max, let's have this function report
that. We deal with the 4x limit separately as a quirk, because this
applies to some V5 GPUs as well.
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35184 >
2025-05-27 17:41:47 +00:00
Erik Faye-Lund
483ce5a1dc
panfrost: do not try to use 4x4 tiles on v4 gpus
...
Mali V4 GPUs only ever use 16x16 tiles, so we need to set the minimum
tile-size to match.
Fixes: 329568b5eb ("panfrost: add color-attachment and msaa helpers")
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35184 >
2025-05-27 17:41:47 +00:00
Erik Faye-Lund
7de12da5a2
panfrost: v4 does not support 16x msaa
...
This value isn't valid on V4, so let's make sure we don't try to use it.
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35184 >
2025-05-27 17:41:47 +00:00
Erik Faye-Lund
439b88c619
mesa/main: remove non-existing function prototype
...
This function was removed about a decade ago, let's get rid of the
prototype as well!
Fixes: a347a0f53f ("mesa: Completely remove QuerySamplesForFormat from driver func table")
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35184 >
2025-05-27 17:41:47 +00:00
Mike Blumenkrantz
7ffc774f35
aux/trace: handle sampler_view_destroy
...
it's still legal for frontends to do this, just frowned upon
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35183 >
2025-05-27 17:17:49 +00:00
Matt Turner
278d894146
meson: add wrap for libdrm
...
This allows building Mesa with the Android NDK, which doesn't provide
libdrm.
We will generate an `Android.bp` file using the `ninja-to-soong` tool
(https://github.com/rjodinchr/ninja-to-soong ), and to do this we run
Mesa's standard meson build system to generate the ninja commands that
we then translate to soong.
That meson invocation is done using the Android NDK, which doesn't
provide libdrm, so until we find an alternative solution[*] we provide a
wrap file that builds libdrm as part of the Mesa build (but does not
install it--we still use the Android-provided libdrm at runtime)
Co-authored-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35058 >
2025-05-27 16:07:29 +00:00
Adam Jackson
2249ba9fa3
rusticl: Enable cl_intel_subgroups if you ask nicely
...
Definitely not fully working yet but works well when it does.
Acked-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31772 >
2025-05-27 15:20:17 +00:00
Adam Jackson
96e99d47e7
rusticl: Add RUSTICL_FEATURES=intel
...
We're going to hide some of the cl_intel_* extensions behind that until
they start stabilizing.
Acked-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31772 >
2025-05-27 15:20:17 +00:00
Alyssa Rosenzweig
f07ccd9142
hk: gate custom border colour emulation on feature
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35181 >
2025-05-27 15:00:13 +00:00
Yogesh Mohan Marimuthu
1af419deed
ac: for userq do not set info->has_fw_based_shadowing
...
register shadow enabling for user queue is different code flow than
kernel queue. In case of kernel queue preamble ib is initialized which
is not requried for kernel queue.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34803 >
2025-05-27 14:25:50 +00:00
Yogesh Mohan Marimuthu
0298ee5719
winsys/amdgpu: apu fwm packet supports only 4 max fences
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34803 >
2025-05-27 14:25:50 +00:00
Yogesh Mohan Marimuthu
137907945f
ac: add AMD_USERQ env var to enable user queue
...
user queue is enabled only if AMD_USERQ env var is set and Kernel
supports user queue.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34803 >
2025-05-27 14:25:50 +00:00
Yogesh Mohan Marimuthu
97c48c5aa7
ac: fix getting mcbp info for userq
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34803 >
2025-05-27 14:25:50 +00:00
Alyssa Rosenzweig
794b6a14bb
asahi: clang-format
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35169 >
2025-05-27 13:23:12 +00:00
Alyssa Rosenzweig
ab9da6bc49
hk: gate min LOD emulation on the feature
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35169 >
2025-05-27 13:23:12 +00:00
Alyssa Rosenzweig
3065815c7c
hk: make hk_lower_nir static
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35169 >
2025-05-27 13:23:12 +00:00
Alyssa Rosenzweig
f47de306b8
vulkan: pass enabled features to drivers
...
for pipelines, we know enabled features. for classic shader objects, we do not.
therefore, we want to plumb this through explicitly for drivers using common
pipelines, rather than making drivers guess whether they can use the device
features.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35169 >
2025-05-27 13:23:12 +00:00
Erik Faye-Lund
2ec3b83f99
panvk: expose EXT_texel_buffer_alignment support
...
This was mostly wired up, but we currently require an alignment of 64
for uniform texel buffers, because we're currently using
plane-descriptors for this.
We could lift that limitation by switching to buffer descriptors and use
LD_CVT for the format-conversion, but that's a bigger change.
Let's just fix up the aligntment and enable the extension for now.
Reviewed-by: Olivia Lee <benjamin.lee@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34826 >
2025-05-27 11:31:55 +02:00
Samuel Pitoiset
69467f26c9
radv/ci: remove RADV_PERFTEST=video_{decode,encode} when it's the default
...
It's automatically enabled when recent kernels.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34879 >
2025-05-27 08:47:50 +00:00
Samuel Pitoiset
dd9682ab09
amd/ci: hold back navi21/navi31 to kernel 6.6
...
There is a regression in AMDGPU that prevents using 6.10+ on
navi21/navi31 due to a memory explosion.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34879 >
2025-05-27 08:47:50 +00:00
Eric Engestrom
68323b195a
amd/ci: uprev amdgpu.ko jobs to kernel 6.14.8
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34879 >
2025-05-27 08:47:50 +00:00
Karol Herbst
30c5c7d811
gallium: remove dynamic pipe-loader
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/833 >
2025-05-27 07:53:20 +00:00
Karol Herbst
cd78417514
pipe-loader: remove libpipe_loader_dynamic
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/833 >
2025-05-27 07:53:20 +00:00