Samuel Pitoiset
a3fa8eed4c
radv: implement VK_KHR_unified_image_layouts
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35424 >
2025-06-13 08:12:04 +00:00
Samuel Pitoiset
eeabce93b6
radv: use constants for different descriptor sizes
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Instead of magic values everywhere.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35428 >
2025-06-13 07:53:04 +00:00
Samuel Pitoiset
939b66a798
radv: remove unused 96-bit memcpy for image descriptors
...
This can only be 32, 64 or 80 for combined image/sampler.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35428 >
2025-06-13 07:53:04 +00:00
Samuel Pitoiset
6b604ff60f
radv: cleanup redundant switch cases in radv_GetDescriptorEXT()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35428 >
2025-06-13 07:53:04 +00:00
Samuel Pitoiset
63f8b8ce6d
radv/nir: adjust a comment about inlining immutable samplers
...
That (broken) optimization has been removed few weeks ago.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35428 >
2025-06-13 07:53:04 +00:00
Samuel Pitoiset
d5da47f831
radv: advertise VK_KHR_maintenance9
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35423 >
2025-06-13 07:33:03 +00:00
Samuel Pitoiset
99fb1a9bd7
radv/nir: lower unassigned vertex attributes to (0,0,0,0)
...
The spec allows both 0,0,0,0 and 0,0,0,1. Returning all zeroes makes it
consistent with vertex prologs.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35423 >
2025-06-13 07:33:03 +00:00
Samuel Pitoiset
4e46cabb75
radv: add support for VK_QUERY_POOL_CREATE_RESET_BIT_KHR
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35423 >
2025-06-13 07:33:03 +00:00
Karol Herbst
4ff66b4343
ac/llvm: fix bitfield ops
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35423 >
2025-06-13 07:33:03 +00:00
Samuel Pitoiset
358addb78d
radv: unset radv_lower_terminate_to_discard=true for Indiana Jones
...
This game bug has been fixed since.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35023 >
2025-06-13 06:43:47 +00:00
Samuel Pitoiset
36c0c1e857
Revert "radv,driconf: Add radv_force_64k_sparse_alignment config"
...
This reverts commit e32a90b57c .
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35023 >
2025-06-13 06:43:47 +00:00
Samuel Pitoiset
aed7045bc9
radv: unset radv_force_64k_sparse_alignment for DOOM: The Dark Ages
...
Looks like this has been fixed by the game.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35023 >
2025-06-13 06:43:47 +00:00
Samuel Pitoiset
817f7f1bb2
radv: remove radv_disable_dedicated_sparse_queue completely
...
This drirc workaround is probably not useful since RADV allows SPARSE
on all queues.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35023 >
2025-06-13 06:43:47 +00:00
Samuel Pitoiset
4cc9bb4532
radv: unset radv_disable_dedicated_sparse_queue for Bethesda Games
...
This shouldn't be needed anymore since f58630f07c ("radv: Always
allow sparse on normal GFX/COMPUTE/DMA queues."). These games were
always assuming that GFX queue supported sparse which wasn't correct
with the dedicated sparse queue.
List of games that are concerned:
- DOOM Eternal
- Indiana Jones: The Great Circle
- DOOM: The Dark Ages
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35023 >
2025-06-13 06:43:46 +00:00
Samuel Pitoiset
7f7ed18929
radv: fix 3-plane formats with descriptor buffers
...
Found by inspection.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35455 >
2025-06-13 06:27:26 +00:00
Samuel Pitoiset
22e06d65d7
radv: make sure to zero-initialize image view descriptors
...
This prevents a regression from the next commit which would write
garbage for combined image+sampler descriptors and that might break
capture&replay.
It seems also more robust to write zeroes than garbage overall.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35455 >
2025-06-13 06:27:25 +00:00
Tapani Pälli
6e57f3738d
drirc: toggle on intel_storage_cache_policy_wt for tlou2
...
Fixes rendering issues seen in the game.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12948
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35486 >
2025-06-13 06:04:22 +00:00
Hyunjun Ko
0d3ffd8275
anv: enable the KHR_video_decode_vp9 extension
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35485 >
2025-06-13 04:51:51 +00:00
Hyunjun Ko
314de7af06
anv: Initial support for VP9 decoding
...
Helped from: Stéphane Cerveau <scerveau@igalia.com>
- Fix crash when segmentation is unavailable
- Set 8x8 to minCodedExtent
- Fix typo for GOLDEN and ALTREF scale factor
Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35485 >
2025-06-13 04:51:51 +00:00
Hyunjun Ko
0689e3d873
anv: add default vp9 tables from FFMpeg and intel-vaapi-driver
...
Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35485 >
2025-06-13 04:51:51 +00:00
Hyunjun Ko
213ca2ac9a
intel/genxml: fix HCP_VP9 commands
...
Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35485 >
2025-06-13 04:51:51 +00:00
Olivia Lee
0034fec71d
panvk: implement VK_EXT_depth_clip_control
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Signed-off-by: Olivia Lee <olivia.lee@collabora.com>
Reviewed-by: Eric R. Smith <eric.smith@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35224 >
2025-06-13 02:19:21 +00:00
Olivia Lee
1d21ea9f9a
panvk: refactor depth range logic
...
Preparation for VK_EXT_depth_clip_control.
Signed-off-by: Olivia Lee <olivia.lee@collabora.com>
Reviewed-by: Eric R. Smith <eric.smith@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35224 >
2025-06-13 02:19:21 +00:00
Olivia Lee
f44a824541
panvk: advertise VK_KHR_depth_clamp_zero_one
...
This matches our existing behavior on both JM and CSF, where when
depthClamp is disabled, we clamp to [0,1].
Signed-off-by: Olivia Lee <olivia.lee@collabora.com>
Reviewed-by: Eric R. Smith <eric.smith@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35224 >
2025-06-13 02:19:20 +00:00
Timothy Arceri
1f2568ae31
mesa: get correct src address for transferOps
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
When texstore_rgba() takes the path that doesn't handle
transferOps it was correctly calling _mesa_image_address()
to apply any pixel store unpack setting to the starting src
address. This was missing from the transferOps path so we add it
in this patch.
Fixes: 4b249d2eed ("mesa: Handle transferOps in texstore_rgba")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10314
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35481 >
2025-06-12 23:33:27 +00:00
Emma Anholt
59a5e042b2
ci/tu: Add a frequent a618 flake I've noticed.
...
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/35262 >
2025-06-12 22:01:35 +00:00
Emma Anholt
fde529a55e
ir3: Enable nir_opt_acquire_release_barriers.
...
Fossil results for a730:
Totals from 6 (0.01% of 49975) affected shaders:
Instrs: 4068 -> 4028 (-0.98%)
CodeSize: 5794 -> 5674 (-2.07%)
NOPs: 1991 -> 1973 (-0.90%)
(ss): 256 -> 234 (-8.59%)
(sy): 158 -> 136 (-13.92%)
(sy)-stall: 2705 -> 1780 (-34.20%)
Cat0: 2221 -> 2203 (-0.81%)
Cat7: 207 -> 185 (-10.63%)
Affects Danylo's d3d fossils.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35262 >
2025-06-12 22:01:35 +00:00
Emma Anholt
5bd6fd5c10
ir3: Enable nir_opt_combine_barriers.
...
From my fossils db:
Totals from 42 (0.08% of 49975) affected shaders:
Instrs: 108929 -> 108046 (-0.81%)
CodeSize: 182346 -> 179498 (-1.56%)
NOPs: 22106 -> 21916 (-0.86%)
(ss): 5458 -> 4765 (-12.70%)
(sy): 2987 -> 2294 (-23.20%)
Cat0: 24293 -> 24103 (-0.78%)
Cat7: 3939 -> 3246 (-17.59%)
Affected fossils include Danylo's d3d traces, gfxbench, and Sascha Willems's
computenbody.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35262 >
2025-06-12 22:01:35 +00:00
Christian Gmeiner
0c1d5e4114
ir2: Remove NIR_PASS_V usage
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35478 >
2025-06-12 21:46:53 +00:00
Christian Gmeiner
29f2566542
st/mesa: Remove NIR_PASS_V usage
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35480 >
2025-06-12 21:23:17 +00:00
Christian Gmeiner
8519cd2a0d
zink: Don't use deprecated NIR_PASS_V macro anymore
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35463 >
2025-06-12 22:35:54 +02:00
Christian Gmeiner
70eb306119
zink: fixup_io_locations: Preserve all metadata
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35463 >
2025-06-12 22:35:52 +02:00
Christian Gmeiner
b30b87c096
nir/inline_uniforms: Convert to use nir_shader_intrinsics_pass(..)
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35463 >
2025-06-12 22:35:48 +02:00
Marek Olšák
fa2e7c3dfd
nir: return progress from nir_group_loads, nir_inline_uniforms
...
so that NIR_PASS is usable
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35315 >
2025-06-12 19:35:37 +00:00
Marek Olšák
0cbcb72869
nir/opt_vectorize_io: work around a 16-bit IO bug for RADV
...
If nir_opt_vectorize_io isn't called, 16-bit IO is broken.
This is a workaround to keep RADV working and consume incorrect NIR
while other drivers consume correct NIR.
Hopefully this will be removed ASAP.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35315 >
2025-06-12 19:35:37 +00:00
Marek Olšák
6e9e9c9f0c
nir: add shader_info::prev_stage_has_xfb
...
We will use it to skip lowering mediump IO to 16 bits if the previous
shader has XFB and mediump XFB doesn't work.
Drivers can decide not to lower mediump IO to 16 bits if nir->xfb_info
!= NULL for the pre-rast stage and if nir->info.prev_stage_has_xfb is
true for the FS stage. That way, drivers can lower mediump to 16 bits
for all cases except XFB.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35315 >
2025-06-12 19:35:37 +00:00
Marek Olšák
ebbcec76b0
glsl/spirv: link XFB before prelink_lowering
...
Hopefully this doesn't break it (we may even lack tests), but we need to
know in prelink_lowering whether XFB is enabled or not.
The next commit that adds shader_info::prev_stage_uses_xfb depends on this.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35315 >
2025-06-12 19:35:37 +00:00
Marek Olšák
b636e5ca66
nir: add nir_clear_mediump_io_flag
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35315 >
2025-06-12 19:35:36 +00:00
Marek Olšák
13005d5e4e
nir/xfb_info: don't merge incompatible XFB outputs to fix mediump
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35315 >
2025-06-12 19:35:36 +00:00
Marek Olšák
118c0e6991
nir/opt_vectorize_io: fix vectorizing 16-bit XFB
...
Tested with mediump.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35315 >
2025-06-12 19:35:36 +00:00
Marek Olšák
caddd67b8c
nir/opt_vectorize_io: don't vectorize 16-bit IO to vec8 - it's illegal
...
NIR represents low bits of 16-bit IO as a separate vec4, and high bits as
another separate vec4. There is no representation that allows vec8.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35315 >
2025-06-12 19:35:35 +00:00
Marek Olšák
1f80ff5550
nir/opt_vectorize_io: convert bool merge_low_high_16_to_32 to an enum
...
refactoring for the next commit
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35315 >
2025-06-12 19:35:35 +00:00
Marek Olšák
6270136b7d
nir/opt_varyings: set prev_stage/next_stage if they are NONE and validate them
...
Doing it here ensures that any linked shader will have the correct values
there.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35315 >
2025-06-12 19:35:34 +00:00
Marek Olšák
e3d122ed7b
nir/opt_varyings: completely exclude mediump from type changes
...
It broke mediump XFB, which needs the correct type for the up-conversion.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35315 >
2025-06-12 19:35:34 +00:00
Marek Olšák
cf26760218
glsl: set prev/next_stage according to the new definition
...
Keep MESA_SHADER_NONE if there is no previous/next shader.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35315 >
2025-06-12 19:35:34 +00:00
Marek Olšák
aba7b0831c
nir: add shader_info::prev_stage
...
When lowering mediump to 16 bits, this will allow drivers to enable
the lowering only for certain pairs of stages, e.g. a driver can lower
mediump for VS->FS, but not GS->FS.
This could also be useful for other things.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35315 >
2025-06-12 19:35:33 +00:00
Eric Engestrom
3649f28771
lavapipe/ci: add missing VKD3D_PROTON_TAG
...
Fixes: 2b7ddc7d71 ("ci/vkd3d: Use structured tagging for vkd3d-proton")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35498 >
2025-06-12 19:13:56 +00:00
Eric Engestrom
a07cd0e255
turnip/ci: add missing VKD3D_PROTON_TAG
...
Fixes: 2b7ddc7d71 ("ci/vkd3d: Use structured tagging for vkd3d-proton")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35498 >
2025-06-12 19:13:56 +00:00
Eric Engestrom
03c73bdc35
nvk/ci: add missing VKD3D_PROTON_TAG
...
Fixes: 2b7ddc7d71 ("ci/vkd3d: Use structured tagging for vkd3d-proton")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35498 >
2025-06-12 19:13:56 +00:00
LingMan
1853886023
rusticl: Initialize NIR option structs with default values
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Eases NIR maintenance since adding new members no longer requires touching rusticl.
The one const `nir_remove_dead_variables_options` has been duplicated as two local variables because
`default()` cannot be called from const contexts, yet.
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35497 >
2025-06-12 18:52:25 +00:00