David Rosca
4e4cfa682d
frontends/va: Use transfer stride and offset in DeriveImage
...
This should use the stride and offset from transfer, because
the values from resource_get_info may not match the mapped
memory if the driver uses staging texture for transfer.
This also gives us data size and we don't need to calculate
it for each format.
Unfortunately we only know the values when mapping the buffer,
but VAAPI requires the values when creating the image and at
that point we don't know the usage yet (read/write).
Do a dummy map of all planes first time DeriveImage is called
for each surface and cache the values for subsequent calls.
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32326 >
2025-02-14 15:20:52 +00:00
Erik Faye-Lund
63c6f3e0f0
panvk: rename helper
...
This function is no longer the only concept we have of "Vulkan version",
so let's rename it to reflect that it's only about the API-versin. We
don't really need to specify that it's about Vulkan versions, that seems
pretty obvious here.
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33254 >
2025-02-14 15:13:09 +01:00
Erik Faye-Lund
2653a3988f
panvk: report passing the VK CTS
...
This will be needed in order to check off passing the VK CTS properly.
Please note, this does *not* mean that we are formally conformant, only
that we have passed the VK CTS at least once. Those are not the same
thing.
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Backport-to: 25.0
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33254 >
2025-02-14 15:13:04 +01:00
David Rosca
56b2742814
ci/amd: Remove VAAPI skips
...
Not needed anymore.
Acked-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33544 >
2025-02-14 13:47:45 +00:00
Konstantin Seurer
3ded0051b5
lavapipe: Fix maintainance7 descriptor set limits
...
Fixes dEQP-VK.api.maintenance7.total_dynamic_buffers_properties.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31749 >
2025-02-14 13:16:12 +00:00
Michael Cheng
9ad427c000
Revert "anv: Fix missing Perfetto trace for as build"
...
When collecting Perfetto traces on ANV, we should always be
running with MESA_GPU_TRACES=perfetto, and not rely on dynamic
enablement via pps-producer.
This reverts commit 873ad6b6d5 .
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33530 >
2025-02-14 08:10:11 +00:00
Hyunjun Ko
9f9e95e9d5
anv: fix maxDpbSlots and maxActiveReferencePictures for AV1 decoding.
...
Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33535 >
2025-02-14 07:47:05 +00:00
Emma Anholt
98efca9207
ci/anv: Enable testing with Vulkan video encode/decode.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25384 >
2025-02-14 01:21:20 +00:00
Emma Anholt
d62610778a
mesa/ffvs: Skip doing redundant stores of .xyz when doing lighting calculation.
...
Previously, we stored the full color output before lighting, then compute
lighting and store just the .xyz of the result to .xyz.
We can save followup optimization work to clean up the unused .w
calculations during lighting, and DCEing the first .xyz store if we just
store .w when it's done, and only do lighting on .xyz. Some of that
redundant store work may not have been happening on all backends.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33501 >
2025-02-13 22:23:02 +00:00
Eric R. Smith
18a14c4522
panfrost: fix backward propagation of values in loops
...
bi_opt_mod_prop_backward tries to propagate values backwards, but
stops checking for uses when it reaches the SSA definition. For
ordinary blocks that's fine, but for loops the definition can come
after a PHI that uses the value. This causes incorrect code to be
generated in shaderdb test `shaders/skia/2134.shader_test`. Fix this
by special casing PHI instructions, in a manner similar to done in
asahi/compiler/agx_optimizer.c.
This bug has been present a long time, so we want it back-ported to
stable.
Cc: mesa-stable
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Benjamin Lee <benjamin.lee@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33483 >
2025-02-13 21:48:43 +00:00
Mel Henning
11b8c8b8e6
nak,nir: Add 64-bit lea_nv
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32517 >
2025-02-13 17:36:41 +00:00
Mel Henning
c92a92e72b
nak: Add OpLeaX
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32517 >
2025-02-13 17:36:41 +00:00
Mel Henning
0470643047
nak,nir: Add 32-bit nir_op_lea_nv and use it
...
Changes code size by -0.80% on shaderdb.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32517 >
2025-02-13 17:36:41 +00:00
Mel Henning
54fcc63d3e
nak: Add OpLea
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32517 >
2025-02-13 17:36:41 +00:00
Yiwei Zhang
ff64092ff3
venus: support VK_EXT_sample_locations
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33520 >
2025-02-13 17:12:58 +00:00
Yiwei Zhang
ae3bc10d58
venus: refactor to share more codes between pipeline state fillings
...
A lot of codes can be shared for filling states of fragment shader and
fragment output interface.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33520 >
2025-02-13 17:12:58 +00:00
Yiwei Zhang
7c28f614a4
venus: support VK_EXT_blend_operation_advanced
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33520 >
2025-02-13 17:12:58 +00:00
Yiwei Zhang
a7fccbbf85
venus: fix to handle pipeline flags2 from maint5
...
Fixes: be6fece6e1 ("venus: enable VK_KHR_maintenance5")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33520 >
2025-02-13 17:12:58 +00:00
Yiwei Zhang
a7adf8db67
venus: group private data together with other 1.3 exts
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33520 >
2025-02-13 17:12:58 +00:00
Yiwei Zhang
f656ca6a13
venus: sync venus protocol for below extensions
...
VK_EXT_blend_operation_advanced
VK_EXT_sample_locations
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33520 >
2025-02-13 17:12:58 +00:00
Andrew Wolfers
92370f63ab
vulkan: Add BGRA format support
...
This change adds handling to convert between the VULKAN and
AHARDWAREBUFFER enum values for the BGRA_8888 buffer format.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33485 >
2025-02-13 16:10:57 +00:00
Mohamed Ahmed
8a71b21c2e
nvk: Set NIL_IMAGE_USAGE_VIDEO_BIT for images meant for video usage
...
Reviewed-by: Faith Ekstrand <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33453 >
2025-02-13 15:16:36 +00:00
Mohamed Ahmed
7d21d17b01
nil: Force smallest block size for images meant for Vulkan Video
...
Reviewed-by: Faith Ekstrand <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33453 >
2025-02-13 15:16:36 +00:00
Mohamed Ahmed
54fed0536d
nil: Use multiplanar init_info during image creation
...
Reviewed-by: Faith Ekstrand <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33453 >
2025-02-13 15:16:36 +00:00
Mohamed Ahmed
b2ca04ec78
nvk: Add NVK_MAX_SAMPLER_PLANES for samplers
...
Reviewed-by: Faith Ekstrand <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33453 >
2025-02-13 15:16:36 +00:00
Mohamed Ahmed
8c70c8f60f
nvk: Add NVK_MAX_IMAGE_PLANES for images
...
Reviewed-by: Faith Ekstrand <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33453 >
2025-02-13 15:16:36 +00:00
Lionel Landwerlin
db53e53bf6
brw: add documentation about slot compaction & component packing
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32418 >
2025-02-13 14:36:15 +00:00
Lionel Landwerlin
6845dede59
brw: add support for no VF input slot compaction
...
Normally the driver & compiler work together to use as few
3DSTATE_VERTEX_ELEMENTS/VERTEX_BUFFER_ELEMENT data as possible.
The compiler ignores unused bits and driver avoids emitting the
corresponding elements in 3DSTATE_VERTEX_ELEMENTS.
For device generated commands, we want an 3DSTATE_VERTEX_ELEMENTS
programming that is independent from the shader so that we can
implement indirect pipeline binding without complicating the
generation shader as well as emitting fewer generated commands.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32418 >
2025-02-13 14:36:15 +00:00
Lionel Landwerlin
f19c5f4fcc
brw: use meaningful io locations for system values
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32418 >
2025-02-13 14:36:15 +00:00
Lionel Landwerlin
6b99bf76ca
anv: ensure Wa_16012775297 interacts correctly with Wa_18020335297
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: dddd765553 ("anv: implement VF_STATISTICS emit for Wa_16012775297")
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32418 >
2025-02-13 14:36:15 +00:00
Lionel Landwerlin
a85717f313
anv: enable vertex fetching component packing
...
DG2 a/b testing:
Borderlands3 -0.55%
Cyberpunk +0.38%
Superposition -0.67%
The shader stats mostly don't look like an improvement :
DG2 shader stats:
Blackops 3:
Totals from 265 (16.44% of 1612) affected shaders:
Instrs: 109055 -> 109080 (+0.02%); split: -0.01%, +0.04%
Cycle count: 6166549 -> 6021371 (-2.35%); split: -2.53%, +0.17%
Cyberpunk 2077:
Totals from 297 (23.50% of 1264) affected shaders:
Instrs: 197305 -> 197297 (-0.00%); split: -0.03%, +0.02%
Cycle count: 3374325 -> 3356562 (-0.53%); split: -1.23%, +0.70%
Fortnite:
Totals from 2090 (27.97% of 7471) affected shaders:
Instrs: 1777944 -> 1781070 (+0.18%); split: -0.01%, +0.18%
Cycle count: 25188758 -> 25162910 (-0.10%); split: -0.86%, +0.76%
Spill count: 1439 -> 1729 (+20.15%); split: -0.69%, +20.85%
Fill count: 1226 -> 1395 (+13.78%); split: -0.82%, +14.60%
Scratch Memory Size: 122880 -> 138240 (+12.50%); split: -1.67%, +14.17%
Hitman 3:
Totals from 490 (9.09% of 5392) affected shaders:
Instrs: 407489 -> 407486 (-0.00%); split: -0.00%, +0.00%
Cycle count: 1831149 -> 1831890 (+0.04%); split: -0.33%, +0.38%
Metro Exodus:
Totals from 4169 (9.68% of 43076) affected shaders:
Instrs: 817730 -> 817726 (-0.00%); split: -0.00%, +0.00%
Cycle count: 4646954 -> 4641559 (-0.12%); split: -0.61%, +0.50%
Xe2 shader stats :
Blackops 3:
Totals from 283 (19.46% of 1454) affected shaders:
Cycle count: 7662980 -> 7916316 (+3.31%); split: -0.38%, +3.69%
Cyberpunk 2077:
Totals from 329 (26.79% of 1228) affected shaders:
Instrs: 203312 -> 203327 (+0.01%); split: -0.01%, +0.02%
Cycle count: 4415812 -> 4434906 (+0.43%); split: -0.69%, +1.12%
Fortnite:
Totals from 1981 (30.18% of 6565) affected shaders:
Instrs: 1709583 -> 1711379 (+0.11%); split: -0.00%, +0.11%
Cycle count: 26882682 -> 26914014 (+0.12%); split: -0.66%, +0.78%
Spill count: 863 -> 1020 (+18.19%)
Fill count: 1195 -> 1271 (+6.36%)
Scratch Memory Size: 116736 -> 122880 (+5.26%)
Hitman 3:
Totals from 540 (10.56% of 5115) affected shaders:
Instrs: 478993 -> 478994 (+0.00%)
Cycle count: 3198740 -> 3198416 (-0.01%); split: -0.27%, +0.26%
Metro Exodus:
Totals from 4554 (12.28% of 37071) affected shaders:
Cycle count: 6460340 -> 6475666 (+0.24%); split: -0.38%, +0.62%
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32418 >
2025-02-13 14:36:15 +00:00
Lionel Landwerlin
462d8e3fab
anv: disable VF statistics for memcpy
...
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/32418 >
2025-02-13 14:36:15 +00:00
Lionel Landwerlin
ca66f22e90
blorp: emit 3DSTATE_VF
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32418 >
2025-02-13 14:36:15 +00:00
Lionel Landwerlin
4f892ae4f7
brw: enable vertex fetching component packing
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32418 >
2025-02-13 14:36:15 +00:00
Lionel Landwerlin
9b8d75c95c
brw: add a max HW vertices attribute limit
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32418 >
2025-02-13 14:36:15 +00:00
Lionel Landwerlin
fae8d325a7
brw: update vulkan max attribute limit
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32418 >
2025-02-13 14:36:15 +00:00
Lionel Landwerlin
bae9344baf
brw: port vs input to lower_64bit_to_32_new
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32418 >
2025-02-13 14:36:15 +00:00
Lionel Landwerlin
e9e4aa0f29
brw: remove nr_attribute_slots from vs_prog_data
...
It's not used outside of the compiler.
We add a new nr_attribute_regs which now seems useless but will be
useful in a later change.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32418 >
2025-02-13 14:36:15 +00:00
Lionel Landwerlin
c00830083e
brw: fix indentation
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32418 >
2025-02-13 14:36:15 +00:00
Lionel Landwerlin
2a8dddb519
genxml: add convenience dwords for packing components
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32418 >
2025-02-13 14:36:15 +00:00
Lionel Landwerlin
e40f47abd3
genxml: make component packing an array
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32418 >
2025-02-13 14:36:15 +00:00
Eric R. Smith
c7fed8b053
panfrost: fix YUV center information for 422
...
It turns out that the change from CENTER_Y to CENTER_X for
422 YUV didn't actually happen until generation 14 of the
hardware, not generation 10 as some documents claimed. This
fixes the failing piglit tests ext_image_dma_buf_import-sample_yuv
associated with 422 formats (which apparently we aren't running on CI).
Fixes: 23aa784c
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33516 >
2025-02-13 14:06:59 +00:00
Valentine Burley
2e48bcf064
ci/angle: Uprev ANGLE
...
Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33513 >
2025-02-13 13:21:10 +00:00
Valentine Burley
5eea8f6fe8
intel/ci: Fix manual rules for ANGLE jobs
...
Disable auto-retry for .intel-manual-rules to prevent unnecessary reruns
and switch ANGLE jobs from this rule to .anv-manual-rules, as there’s no
point in running anv-on-angle jobs on iris changes.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33513 >
2025-02-13 13:21:09 +00:00
Valentine Burley
93569f3a8f
ci/angle: Use lld-19 for linking ANGLE
...
This fixes the linking issues on newer ANGLE versions.
Fixes: 9707746b2d ("ci/lava: Build ANGLE for arm64")
Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33513 >
2025-02-13 13:21:09 +00:00
Samuel Pitoiset
e977c6968f
radv/meta: add radv_{copy,fill,update}_memory() helpers
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33511 >
2025-02-13 13:48:09 +01:00
Samuel Pitoiset
7aa4c81744
radv: rename fill/copy memory helpers
...
memory seems more appropriate than buffer because they operate on VAs.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33511 >
2025-02-13 13:47:14 +01:00
Samuel Pitoiset
69bf2a13f8
radv/meta: inline copy_buffer()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33511 >
2025-02-13 13:43:30 +01:00
Samuel Pitoiset
5684c1687c
radv/meta: disable conditional rendering for fill/update buffer operations
...
These commands shouldn't be affected by conditional rendering, similar
to the copy buffer operation.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33511 >
2025-02-13 13:43:30 +01:00
Samuel Pitoiset
5d6e4d3b25
radv/meta: remove the heuristic that prefers CP DMA for GTT BOs
...
This is actually slower on my side. Tested the copy_buffer/fill_buffer
benchmarks from crucible on NAVI31.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33511 >
2025-02-13 13:43:30 +01:00