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
Mary Guillemard
7881e48321
panvk: Switch JM clear queries to CLC
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32721 >
2025-02-13 11:50:06 +00:00
Mary Guillemard
3ed5557baf
panvk: Switch JM copy queries to CLC
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32721 >
2025-02-13 11:50:06 +00:00
Alyssa Rosenzweig
c51a2e85d8
libcl/vk: add common query copy write routine
...
every VK driver ends up wanting this.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32721 >
2025-02-13 11:50:06 +00:00
Maíra Canal
db4d7a3032
v3dv: VK_EXT_acquire_drm_display doesn't require a DRM master fd
...
When using VK_EXT_acquire_drm_display, the Vulkan API user must provide
the DRM master fd that will be used. This operation is performed through
`vkAcquireDrmDisplayEXT()` in which `drmFd` will be assigned to
`wsi->fd` and will be used for privileged operations.
This means that, when we are creating the physical device, we need to
open a DRM primary node (as the specification states that "The provided
drmFd must correspond to the one owned by the physicalDevice."), but it
doesn't need to be the DRM master.
Therefore, when using VK_EXT_acquire_drm_display, keep the primary fd
open and don't check if the fd is the DRM master.
Signed-off-by: Maíra Canal <mcanal@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33096 >
2025-02-13 11:28:42 +00:00
Daniel Schürmann
6395c6d6d1
nir/validate: validate divergence metadata
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30814 >
2025-02-13 10:08:44 +00:00
Daniel Schürmann
bc810e98d4
nir/serialize: don't serialize divergence information
...
We don't serialize metadata.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30814 >
2025-02-13 10:08:44 +00:00
Daniel Schürmann
63a656797b
nir: only print divergence information if metadata is valid
...
This disables printing of vertex divergence as well as outdated
divergence information. Also remove info::divergence_analysis_run
and use nir_metadata_divergence instead.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30814 >
2025-02-13 10:08:44 +00:00
Daniel Schürmann
1d6082bf56
nouveau: switch to nir_metadata_divergence
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30814 >
2025-02-13 10:08:43 +00:00
Daniel Schürmann
175c06e5cd
intel: switch to nir_metadata_divergence
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30814 >
2025-02-13 10:08:43 +00:00
Daniel Schürmann
067478358f
amd: switch to nir_metadata_divergence
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30814 >
2025-02-13 10:08:43 +00:00