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
...
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
...
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.
...
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
...
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
...
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
Jonathan Gray
68be3b7159
util: fix OpenBSD/powerpc64 build
...
use defined(HAVE_ELF_AUX_INFO) as HAVE_ELF_AUX_INFO is not defined to a value
avoids 'error: expected value in expression' on powerpc64
Fixes: 67333c2632 ("util: Support elf_aux_info() on OpenBSD arm and ppc")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35422 >
2025-06-12 16:49:23 +00:00
Jason Macnak
3bf5347436
gfxstream: Fix strict aliasing violations in VkDecoder
...
Test: cvd create --gpu_mode=gfxstream_guest_angle_host_swiftshader
Reviewed-by: Aaron Ruby <aruby@qnx.com >
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35494 >
2025-06-12 08:48:23 -07:00
Bo Hu
f3e9f0e9a6
gfxstream: update codegen for vkQueueFlushCommandsGOOGLE
...
This method requires removal of obsolete recording
Reviewed-by: Aaron Ruby <aruby@qnx.com >
Reviewed-by: Marcin Radomski <dextero@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35494 >
2025-06-12 08:48:23 -07:00
Karol Herbst
ee1fe1a1e5
rusticl: implement cl_khr_spirv_queries
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35439 >
2025-06-12 12:41:48 +00:00
Karol Herbst
3b2af3006e
rusticl/device: refactor Device::new
...
Adding a DeviceBase type will allow us to do pass in a proper spirv_caps
object into SPIRVBin::get_lib_clc. Should also make device creation more
flexible.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35439 >
2025-06-12 12:41:48 +00:00
Lionel Landwerlin
d0608425f4
anv: handle REMAINING_LAYERS with 3D images & maintenance9
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 9a1485ec5c ("anv: missing bit from maintenance9")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35487 >
2025-06-12 11:34:33 +00:00
Tapani Pälli
58c4b31d31
anv: small cleanup, remove unused helper function
...
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35450 >
2025-06-12 11:15:21 +00:00
Erik Faye-Lund
b58dd5508e
panfrost/ci: add new half-float fails
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35451 >
2025-06-12 08:56:21 +00:00
Erik Faye-Lund
53c3943f4c
panfrost/ci: fix sorting of fails
...
These were mostly sorted, but not quite. Let's fix that up, so it's
easier to add new fails in the right place.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35451 >
2025-06-12 08:56:21 +00:00
Lars-Ivar Hesselberg Simonsen
5d0465a253
panvk: Skip barrier QFOT if src_qfi equals dst_qfi
...
Do not perform a queue family ownership transfer during memory barriers
if srcQueueFamilyIndex equals dstQueueFamilyIndex, as the Vulkan spec
mandates that this should only happen if the two values are unequal.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Chia-I Wu <olvaffe@gmail.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Fixes: 715d6e740a ("panvk: improve VK_QUEUE_FAMILY_EXTERNAL support")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35458 >
2025-06-12 08:12:23 +00:00
Peyton Lee
75736aa494
amd/gmlib: remove the executable bit
...
remove the executable bit for all files.
Signed-off-by: Peyton Lee <peytolee@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35361 >
2025-06-12 07:44:27 +00:00
Peyton Lee
fd1930b035
amd: add vpe_version
...
vpe_version describes which generation of vpe capabilities a chip has.
Signed-off-by: Peyton Lee <peytolee@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35361 >
2025-06-12 07:44:27 +00:00
Peyton Lee
548b026297
radeonsi/vpe: correct capability
...
should return the capability that hardware can support
Signed-off-by: Peyton Lee <peytolee@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35361 >
2025-06-12 07:44:27 +00:00
Peyton Lee
ce3c1b018a
radeonsi/vpe: remove background color
...
remove un-used background color value
Signed-off-by: Peyton Lee <peytolee@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35361 >
2025-06-12 07:44:27 +00:00
Peyton Lee
47163fa8d3
radeonsi/vpe: enhance scaling quality
...
add support for lanczos coefficients
which enhaces the quality of scaling down
Signed-off-by: Peyton Lee <peytolee@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35361 >
2025-06-12 07:44:26 +00:00
Pierre-Eric Pelloux-Prayer
75f596d909
radeonsi: fix attribute_pos_prim_ring handling
...
Apply the same logic as the other rings.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35452 >
2025-06-12 07:23:33 +00:00
Lionel Landwerlin
9a1485ec5c
anv: missing bit from maintenance9
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 595889018a ("anv: implement VK_KHR_maintenance9")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35467 >
2025-06-12 09:14:20 +03:00
Jianxun Zhang
a9aad4565f
anv: Enable compression on CCS modifiers (xe2)
...
Don't report compressed memory type in the case of Xe2 modifiers
as the Vulkan spec requires identical memory types behind the
VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT.
Instead, we require dedicated allocation to get the right
compressed memory in allocation stage. The BMG modifier also
requires scanout flag to set. Refer to comments.
Thanks for the help from:
Nanley Chery <nanley.g.chery@intel.com >
Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Kenneth Graunke <kenneth@whitecape.org >
and other people not listed.
Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34567 >
2025-06-12 04:07:12 +00:00