Commit graph

186300 commits

Author SHA1 Message Date
José Roberto de Souza
c20388d617 anv: Set VK_QUEUE_PROTECTED_BIT during queue families initialization
Don't make sense to only set it in VkGetPhysicalDeviceQueueFamilyProperties2().
Not setting it to the code path without pdevice->engine_info because
the protected support landed on i915 after DRM_I915_QUERY_ENGINE_INFO.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28161>
2024-03-14 15:53:22 +00:00
José Roberto de Souza
9102cb972a anv: Replace the 2 sparse booleans by 1 enum
Having just one place to check the Sparse type is less error prone.
For example in i915 it was always setting sparse_uses_trtt to true
even if running in gfx 9 that don't support sparse.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28161>
2024-03-14 15:53:22 +00:00
Rhys Perry
ec892c4d2b aco: don't reuse misaligned attribute destination VGPRs in VS prologs
Since we split misaligned attributes, we could overwrite one of these
VGPRs in the middle of loading the attribute.

For example:
   v_add_u32_e32 v4, vcc, s7, v1
   s_waitcnt lgkmcnt(0)
   buffer_load_dword v4, v4, s[32:35], 0 idxen
   buffer_load_dword v5, v4, s[32:35], 0 idxen offset:4
can overwrite the vertex index in the load of the first component.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27920>
2024-03-14 15:30:12 +00:00
Rhys Perry
df7024bcdd radv,aco: allow VS prologs to increase VGPR usage
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27920>
2024-03-14 15:30:12 +00:00
Samuel Pitoiset
1a20942f6a radv: fix wave32 support with ESO
For example when RADV_PERFTEST=gewave32 is used, the vgt shader key
was incorrect.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28151>
2024-03-14 14:56:45 +00:00
Samuel Pitoiset
e1c73db01c radv: rework generating vgt_shader_key for pipelines
This new helper will also be used for ESO.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28151>
2024-03-14 14:56:45 +00:00
Samuel Pitoiset
c6485f560d radv: determine radv_vgt_shader_key::has_ngg_xxx with the last VGT shader
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28151>
2024-03-14 14:56:44 +00:00
Samuel Pitoiset
9ccbd459c6 radv: fix determining if PrimId is used for merged shaders compiled separately
For ESO when TES and GS are compiled separately,
BREAK_WAVE_AT_EOI/IA_SWITCH_ON_EOI must be enabled if the GS uses
PrimID.

This fixes
tests/spec/arb_tessellation_shader/execution/gs-primitiveid-instanced.shader_test
on RDNA2 when shader object is enabled with Zink.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28149>
2024-03-14 14:34:19 +00:00
Guilherme Gallo
e052e30b29 r300/ci: Update xfiles based on nightly run
Refer to:
- https://gitlab.freedesktop.org/mesa/mesa/-/pipelines/1125483
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/56164946

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28145>
2024-03-14 13:53:45 +00:00
Guilherme Gallo
3d45451fb4 etnaviv/ci: Update xfiles based on nightly run
Refer to:
- https://gitlab.freedesktop.org/mesa/mesa/-/pipelines/1125483

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28145>
2024-03-14 13:53:45 +00:00
Guilherme Gallo
7d9ba366d4 freedreno/ci: Update xfiles based on nightly run
Refer to:
- https://gitlab.freedesktop.org/mesa/mesa/-/pipelines/1125483
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/56164985
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/56164987
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/56164988
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/56164989
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/56164989
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/56164990
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/56164990

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28145>
2024-03-14 13:53:45 +00:00
Guilherme Gallo
c6b65ac639 v3d/ci: Update xfiles based on nightly run
Refer to:
- https://gitlab.freedesktop.org/mesa/mesa/-/pipelines/1125483
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/56164970

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28145>
2024-03-14 13:53:45 +00:00
Guilherme Gallo
4350c7cb30 radv/ci: Update xfiles based on nightly run
Refer to:
- https://gitlab.freedesktop.org/mesa/mesa/-/pipelines/1125483
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/56167363

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28145>
2024-03-14 13:53:45 +00:00
Guilherme Gallo
697a5a7b91 radv+zink/ci: Update xfiles based on nightly run
Refer to: https://gitlab.freedesktop.org/mesa/mesa/-/jobs/56164998

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28145>
2024-03-14 13:53:45 +00:00
Mike Blumenkrantz
0f5b0dbc25 zink: handle image_deref_samples when stripping MS image instrs
fixes #10812

Fixes: 660671d462b ("zink: add a pass to strip out multisample storage image ops")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28160>
2024-03-14 13:17:45 +00:00
Mike Blumenkrantz
b46479d443 zink: don't deref swapchain image array with UINT32_MAX
this indicates an unacquired swapchain

Fixes: 8fb83c0935 ("zink: only update swapchain readback cache on create if necessary")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28160>
2024-03-14 13:17:45 +00:00
Boris Brezillon
9f2b23dd85 panvk: Get rid of fields we already have in vk_xxx objects
There's no point adding our own pointer when the base vk_xxx object
already provides a way to get back to the parent. Replace those
fields by _get_xxx() helpers.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104>
2024-03-14 11:32:39 +01:00
Boris Brezillon
d5ed77800e panvk: Fix GetPhysicalDeviceProperties2() to report accurate info
Fix GetPhysicalDeviceProperties2 to report accurate information, and
add comment explaining the reasoning behind the new limits.

While at it, stop using the MAX_xxx definitions since some of them
will be per-gen, and this file is not.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104>
2024-03-14 11:32:33 +01:00
Boris Brezillon
783172add3 panvk: Make panvk_sampler inherit from vk_sampler
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104>
2024-03-14 10:26:13 +01:00
Boris Brezillon
203f1a35a7 panvk: Implement {Map,Unmap}Memory2KHR
The core provides wrappers for {Map,Unmpa}Memory().

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104>
2024-03-14 10:26:13 +01:00
Boris Brezillon
d9c0c728a2 panvk: Add extra checks to panvk_MapMemory()
While at it, add error messages to the existing error paths.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104>
2024-03-14 10:26:13 +01:00
Boris Brezillon
88930cd95d panvk: Make pan_AllocateMemory() robust to errors
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104>
2024-03-14 10:26:13 +01:00
Boris Brezillon
db1fde16d7 panvk: Make panvk_device_memory inherit from vk_device_memory
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104>
2024-03-14 10:26:13 +01:00
Boris Brezillon
4dc5613be6 panvk: Make panvk_buffer_view inherit from vk_buffer_view
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104>
2024-03-14 10:26:13 +01:00
Boris Brezillon
567324749c panvk: Get rid of panvk_pipeline_cache
We use the vk runtime stubs.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104>
2024-03-14 10:26:13 +01:00
Boris Brezillon
e7b68cdef1 panvk: Drop panvk_framebuffer
vk_framebuffer provides exactly the same thing, so let the core
implement the VkFramebuffer entry points for us.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104>
2024-03-14 10:26:13 +01:00
Boris Brezillon
39204afde1 panvk: Kill panvk_{Create,Destroy}SamplerYcbcrConversion()
The vk runtime provides a default implementation, drop the stubs we
had.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104>
2024-03-14 10:26:13 +01:00
Boris Brezillon
d2e6dbf0f6 panvk: Get rid of unused panvk_cmd_buffer fields
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104>
2024-03-14 10:26:13 +01:00
Boris Brezillon
b91c8543c0 panvk: Don't pass a device where we don't need one
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104>
2024-03-14 10:26:13 +01:00
Boris Brezillon
cab8f19361 panvk: Allocate descriptor set arrays using vk_multialloc_zalloc()
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104>
2024-03-14 10:26:13 +01:00
Boris Brezillon
1f69f99b2c panvk: s/panvk_event_op/panvk_cmd_event_op/
Make sure the object name reflects the fact this object is related
to vkCmdEvent not vkEvent.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104>
2024-03-14 09:51:41 +01:00
Boris Brezillon
b59d2a5137 panvk: Don't allocate a TEXTURE descriptor in CreateImageView()
The texture descriptor is stored in a CPU-only template that gets copied
to the descriptor set. No need to reserve space in the texture payload
BO.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104>
2024-03-14 09:51:41 +01:00
Boris Brezillon
40c1d0d322 panvk: Don't open-code panvk_cmd_open_batch() in CmdBeginRenderPass2()
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104>
2024-03-14 09:51:41 +01:00
Boris Brezillon
c4f7aa549c panvk: Add missing util_dynarray_init() in panvk_cmd_open_batch()
Doesn't make a difference in practice, because we are allocating with
zalloc, but let's explicitly call util_dynarray_init() for correctness.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104>
2024-03-14 09:51:41 +01:00
Boris Brezillon
c73e2f984c panvk: Fix allocation scope of command buffer sub-objects
SCOPE_COMMAND means the allocation last only for the vkXxx call. Both
batches and clear values live longer than that.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104>
2024-03-14 09:51:41 +01:00
Boris Brezillon
ff9c47f463 panvk: Get rid of the custom device lost handling
No panvk_device_set_lost() users yet, and if we start reporting
device-lost events, we will use vk_device_set_lost() directly.

Replace the only call to panvk_device_is_lost() by a vk_device_is_lost()
call.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104>
2024-03-14 09:51:41 +01:00
Boris Brezillon
3aa02232a5 panvk: Get rid of unused panvk_image_get_plane_size() helper
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104>
2024-03-14 09:51:41 +01:00
Boris Brezillon
ac61d6d0c0 panvk: Do not handle invalid NULL memory object in BindImageMemory2()
VkDeviceMemory objects passed to BindImageMemory2() are not allowed to
bu VK_NULL_HANDLE, so let's drop the if (mem) test and assert()
instead.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104>
2024-03-14 09:51:41 +01:00
Boris Brezillon
b7d30f10f9 panvk: Add VKAPI_{ATTR,CALL} specifiers to all panvk-specific entrypoints
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104>
2024-03-14 09:51:41 +01:00
Boris Brezillon
0136e8aec9 panvk: Kill the panvk_pack_color() prototype
The implementation was removed in 62e902101b ("panvk: Use
pan_pack_color").

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104>
2024-03-14 09:51:41 +01:00
Boris Brezillon
43bb5acf26 panvk: clang-format the source files
We recently stopped enforcing clang-format in CI, but we still want to
be able to use it on new changes without pulling unrelated formatting
changes. Let's run it one more time to fix the existing formatting
issues.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104>
2024-03-14 09:51:41 +01:00
Boris Brezillon
2d2820349a panvk: Fix call ordering in panvk_DestroyDevice()
Destroy the decode context when all private BOs attached to the device
have been destroyed, otherwise we a have use-after-free situation when
panvk_priv_bo_destroy() calls pandecode_inject_mmap().

Fixes: 211aa20194 ("panvk: Move away from panfrost_{bo,device}")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28104>
2024-03-14 09:51:41 +01:00
Jordan Justen
ce900dcbb1 intel/dev: Add ATS-M PCI ID for Data Center GPU Flex 170G
Ref: bspec 44477
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28141>
2024-03-14 08:01:56 +00:00
Jordan Justen
59e0c38427 intel/dev: Adjust device strings for ATS-M devices
Ref: https://ark.intel.com/content/www/us/en/ark/products/230020/intel-data-center-gpu-flex-140.html
Ref: https://ark.intel.com/content/www/us/en/ark/products/230019/intel-data-center-gpu-flex-170.html
Ref: e00230a6c2/shared/source/dll/devices/devices_base.inl (L58-L59)
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28141>
2024-03-14 08:01:56 +00:00
Eric Engestrom
9b6d6c1d2d docs: add sha256sum for 24.0.3
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28163>
2024-03-14 01:08:02 +00:00
Eric Engestrom
c0a40e724b docs: add release notes for 24.0.3
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28163>
2024-03-14 01:08:02 +00:00
Faith Ekstrand
7604697ec6 nvk: Implement shaderStorageImageMultisample
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9660
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28159>
2024-03-13 23:49:12 +00:00
Faith Ekstrand
357720c5a7 nvk: Use different descriptor layouts for storage vs. sampled images
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28159>
2024-03-13 23:49:12 +00:00
Faith Ekstrand
86a462fb96 nvk: Stop pretending to handle Intel image intrinsics
This is probably just a copy+paste from ANV when I wrote the descriptor
code.  There's no actual point to pretending to do anything with these.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28159>
2024-03-13 23:49:12 +00:00
Faith Ekstrand
bd9836a0b8 nvk: Use a HW generation names instead of chipsets
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28159>
2024-03-13 23:49:12 +00:00