Samuel Pitoiset
bd59478d2f
radv: implement streamout on GFX12
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29676 >
2024-06-17 14:46:36 +00:00
Samuel Pitoiset
aa9dfcad50
radv/nir: lower nir_intrinsic_load_xfb_state_address_gfx12_amd
...
This intrinsic returns a 64-bit address that points to the streamout
state buffer.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29676 >
2024-06-17 14:46:36 +00:00
Samuel Pitoiset
a9b8320031
radv: declare a new user SGPR for the streamout state buffer on GFX12
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29676 >
2024-06-17 14:46:36 +00:00
Samuel Pitoiset
0e62c728eb
ac/surface: add NBC view support on GFX12
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29676 >
2024-06-17 14:46:36 +00:00
Samuel Pitoiset
ef6deb35ef
radv: update configuring WALK_ALIGN8_PRIM_FITS_ST on GFX12
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29676 >
2024-06-17 14:46:36 +00:00
Job Noorman
64cde7da62
ir3: set wrmask for spilled splits in shared RA
...
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29719 >
2024-06-17 14:11:46 +00:00
Job Noorman
a4ec62b497
ir3: remove spilled splits in shared RA
...
They get replaced by a newly created split and leaving the original one
around runs into validation errors.
Signed-off-by: Job Noorman <jnoorman@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29719 >
2024-06-17 14:11:46 +00:00
Samuel Pitoiset
07eb970d67
radv: always save/restore all shader objects for internal operations
...
If the application binds graphics shaders and that RADV performs an
internal operation with a compute pipeline, no shader objects would be
restored because binding the internal compute pipeline resets the ESO
state.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29678 >
2024-06-17 13:46:50 +00:00
Eric Engestrom
a9fff07c2e
asahi/lib: generate git_sha1.h for agx_device.c
...
`src/asahi/lib/agx_device.c` includes `git_sha1.h` since
0be124b77e ("asahi: Deserialize libagx when opening device"),
although it only started making use of it once ece3896d5b
("asahi: add broken bits of unstable Linux UAPI") was merged.
Regardless, without this meson change, this leads to a race condition in
builds, where `git_sha1.h` might be built (if ever) after `agx_device.c`.
Fixes: 0be124b77e ("asahi: Deserialize libagx when opening device")
Fixes: ece3896d5b ("asahi: add broken bits of unstable Linux UAPI")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29750 >
2024-06-17 12:33:19 +00:00
Samuel Pitoiset
10bd300b68
radv: allow VK_NV_device_generated_commands_{compute} with LLVM
...
DGC was disabled for LLVM due to 5/8 components SSBO stores but they
were not expected to work and this has been changed since a977a51a21
("radv: stop using 5/8 component SSBO stores"). No strong reason to
not enable it.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29714 >
2024-06-17 12:02:10 +00:00
Valentine Burley
d9af1633a9
tu: Remove declaration of unused update_stencil_mask function
...
The update_stencil_mask function was removed when moving to the common
Vulkan dynamic state handling.
Fixes: 97da0a7734 ("tu: Rewrite to use common Vulkan dynamic state")
Signed-off-by: Valentine Burley <valentine.burley@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29658 >
2024-06-17 11:37:32 +00:00
Valentine Burley
5e9cb32c10
tu: Handle the new sync2 flags
...
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8277
Signed-off-by: Valentine Burley <valentine.burley@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29658 >
2024-06-17 11:37:32 +00:00
Eric Engestrom
4f1c56bf46
nvk+zink/ci: add flakes seen over the last few nightlies
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29748 >
2024-06-17 11:18:05 +00:00
Eric Engestrom
2fe297e6d6
nvk+zink/ci: mark spec@ext_image_dma_buf_import@ext_image_dma_buf_import-refcount-multithread as fixed
...
Fixed by a commit in the 2498d673...39fdd2ae range, likely one of the
commits in https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29591 ,
but it doesn't really matter, we're just happy it's fixed :P
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29748 >
2024-06-17 11:18:05 +00:00
Mary Guillemard
395b506912
panvk: Advertise VK_KHR_maintenance3
...
We already support everything needed for maintenace3.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29410 >
2024-06-17 10:53:12 +00:00
Mary Guillemard
9a2a301f69
panvk: Reorder extensions by name
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29410 >
2024-06-17 10:53:12 +00:00
Mary Guillemard
e580b0f597
panvk: Advertise VK_KHR_device_group and VK_KHR_device_group_creation
...
VK_KHR_buffer_device_address was enabled but actually depends on
VK_KHR_device_group.
This trivialy implement device group extensions like other drivers.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29410 >
2024-06-17 10:53:12 +00:00
Mary Guillemard
3dbe46f610
docs: Update features.txt to add panvk for BDA extensions
...
Was missing from previous MRs.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29410 >
2024-06-17 10:53:12 +00:00
Karol Herbst
05b9705ae0
broadcom/compiler: rework scratch lowering
...
Let's rely on nir_lower_mem_access_bit_sizes doing all the heavy work, so
v3d_nir_lower_scratch can be cleaned up quite a lot.
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29711 >
2024-06-17 10:07:56 +00:00
Karol Herbst
75196e86f1
broadcom/compiler: only handle load_uniform explicitly in v3d_nir_lower_load_store_bitsize
...
Also use nir_get_io_offset_src_number while at it.
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29711 >
2024-06-17 10:07:56 +00:00
Karol Herbst
a2eff2b9f9
broadcom/compiler: convert 2x32 global operations to scalar variants
...
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29711 >
2024-06-17 10:07:56 +00:00
Karol Herbst
9827cfe49e
broadcom/compiler: use nir_lower_mem_access_bit_sizes for memory lowering
...
It does everything we need and allows us to remove a lot of code. It also
helps with supporting vec8/16 and unaligned load/stores for OpenCL.
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29711 >
2024-06-17 10:07:56 +00:00
Karol Herbst
66b58e8a0e
broadcom/compiler: support global load/store intrinsics
...
It's the same as global_2x32 as there the 2nd component is ignored anyway
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29711 >
2024-06-17 10:07:56 +00:00
Karol Herbst
358e09f9ff
nir: add global_atomic_2x32 variants to nir_get_io_offset_src_number
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29711 >
2024-06-17 10:07:56 +00:00
Karol Herbst
d2d966a3c2
nir_lower_mem_access_bit_sizes: support unaligned store_scratch
...
This can be trivially be added as it doesn't even need atomics.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29711 >
2024-06-17 10:07:56 +00:00
Iago Toral Quiroga
a589901328
v3dv: expose VK_KHR_maintenance5
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29669 >
2024-06-17 08:15:27 +00:00
Iago Toral Quiroga
212062f2aa
v3dv: fix handling of pipeline flags when pipeline init fails
...
We compute and store pipeline flags in the pipeline object but
we may need to access flags even in the case where the pipeline
init fails.
Fixes: 3f3c83a6b7 ('v3dv: handle VkPipelineCreateFlags2CreateInfoKHR')
Fixes: dEQP-VK.pipeline.monolithic.creation_cache_control.graphics_pipelines.batch_pipelines_early_return_maintenance5
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29669 >
2024-06-17 08:15:27 +00:00
Mary Guillemard
547da6e38f
panvk: Enable pipeline library in CI for Mali-G52
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29161 >
2024-06-17 07:31:51 +00:00
Mary Guillemard
3119546508
panvk: Advertise VK_KHR_pipeline_library and VK_EXT_graphics_pipeline_library
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29161 >
2024-06-17 07:31:51 +00:00
Mary Guillemard
f164819698
panvk: Advertise VK_EXT_shader_module_identifier
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29161 >
2024-06-17 07:31:51 +00:00
Mary Guillemard
78605a4ac4
panvk: Advertise VK_EXT_pipeline_creation_cache_control and VK_EXT_pipeline_creation_feedback
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29161 >
2024-06-17 07:31:51 +00:00
Mary Guillemard
8ea2931ed1
panvk: Generate proper device and driver UUIDs
...
This follows what NVK, ANV and V3DV does.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29161 >
2024-06-17 07:31:51 +00:00
Mary Guillemard
886c054691
panvk: Advertise VK_KHR_pipeline_executable_properties
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29161 >
2024-06-17 07:31:51 +00:00
Mary Guillemard
4dbc0feae2
panvk: Implement executable IR reporting
...
This report the NIR shader before sent to the back-end compiler and the
resulting assembly.
Caching when requested is disallowed for now.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29161 >
2024-06-17 07:31:51 +00:00
Mary Guillemard
7d582cc665
panfrost: Add pan_shader_disassemble
...
Will be used for pipeline executable IR on panvk.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29161 >
2024-06-17 07:31:51 +00:00
Mary Guillemard
81f4e93f60
bi: Move bi_disasm definitions to their own header
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29161 >
2024-06-17 07:31:50 +00:00
Mary Guillemard
3622a1bb0d
midgard: Make disassembler take a const void*
...
All access are readonly.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29161 >
2024-06-17 07:31:50 +00:00
Mary Guillemard
c309933987
bi: Make disassembler take a const void*
...
All access are readonly.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29161 >
2024-06-17 07:31:50 +00:00
Mary Guillemard
1c2f2955ac
pan/va: Ensure no clash with other defs in disassembler
...
This move most of the disassembler detail to disasm.py.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29161 >
2024-06-17 07:31:50 +00:00
Mary Guillemard
7a4b3dcbd1
panvk: Remove panvk_pipeline
...
This removes panvk_pipeline and shader_create interface to switch
entirely to vk_shader.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29161 >
2024-06-17 07:31:50 +00:00
Mary Guillemard
563823c9ca
panvk: Implement vk_shader
...
Next commit will remove panvk_pipeline entirely.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29161 >
2024-06-17 07:31:50 +00:00
Mary Guillemard
50925b4947
panvk: Move preprocess logic out of shader_create
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29161 >
2024-06-17 07:31:50 +00:00
Mary Guillemard
2a88c30619
panvk: Move NIR lower logic out of shader_create
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29161 >
2024-06-17 07:31:50 +00:00
Mary Guillemard
f3639f7900
panvk: Move compile logic out of shader_create
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29161 >
2024-06-17 07:31:50 +00:00
Mary Guillemard
67341a8126
panvk: Link shaders at draw time
...
This moves the linking step at draw time so we can later support
VK_EXT_shader_module.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29161 >
2024-06-17 07:31:50 +00:00
Mary Guillemard
a984419a2d
panvk: Kill panvk_pipeline_shader and use panvk_shader directly
...
Copy the shader pointers and linking data attached to the pipeline
at bind time.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29161 >
2024-06-17 07:31:50 +00:00
Mary Guillemard
05020699b9
panvk: Move the linking bits to panvk_shader
...
Needed if we support late linking which is required for
VK_EXT_shader_object.
We also stop pretending the linking is generic and reflect the fact we
always link vertex with fragment shaders.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29161 >
2024-06-17 07:31:50 +00:00
Mary Guillemard
9c39185e20
panvk: Upload render state in panvk_shader
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29161 >
2024-06-17 07:31:50 +00:00
Mary Guillemard
384ebea7ac
panvk: Upload copy tables in panvk_shader
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29161 >
2024-06-17 07:31:50 +00:00
Mary Guillemard
d54592ec72
panvk: Upload shader in panvk_shader
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29161 >
2024-06-17 07:31:50 +00:00