mesa/src/amd/vulkan
Timur Kristóf c183eb5bc8
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
radv: Flush L2 before CP DMA copy/fill when CP DMA doesn't use L2
In case the source or destination were previously written
through L2, we need to writeback L2 to avoid the CP DMA accessing
stale data.

However, as the CP DMA doesn't write L2 either, an invalidation
is also needed to make sure other clients don't access stale data
when they read it through L2 after the CP DMA is complete.

Doing an invalidation before the CP DMA operation should take
care of both.

Additionally, radv_src_access_flush also invalidates L2 before
the copied data can be read.

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36820>
2025-09-13 05:18:28 +00:00
..
bvh radv: re-format using clang-format 2025-09-09 05:48:56 +00:00
layers radv: check if SQTT is enabled before calling radv_describe_draw() 2025-08-27 06:19:14 +00:00
meta radv: Use VK_IMAGE_VIEW_CREATE_DRIVER_INTERNAL_BIT_MESA 2025-09-05 23:34:12 +00:00
nir radv/nir/lower_cmat: clean up GFX11 ACC->B convert 2025-09-09 06:08:55 +00:00
tests build: avoid redefining unreachable() which is standard in C23 2025-07-31 17:49:42 +00:00
winsys radv: add RADV_DEBUG=bo_history 2025-09-11 06:03:15 +00:00
.clang-format radv/clang-format: Do not indent C++ modifiers 2023-11-02 15:48:36 +00:00
.editorconfig radv: Update editorconfig. 2021-04-10 03:31:58 +02:00
meson.build radv: fix building with libdrm as a submodule 2025-08-28 18:08:20 +00:00
radv_acceleration_structure.c radv,vulkan: Avoid a useless barrier in radv_update_bind_pipeline 2025-09-10 08:35:50 +00:00
radv_aco_shader_info.h aco, radv: remove line duplicate 2025-09-10 06:34:43 +00:00
radv_android.c radv: use AHARDWAREBUFFER_USAGE_CAMERA_MASK 2025-07-09 03:47:06 +00:00
radv_android.h radv: use SPDX-License-Identifier 2024-04-08 07:17:31 +00:00
radv_buffer.c Revert "radv,driconf: Add radv_force_64k_sparse_alignment config" 2025-06-13 06:43:47 +00:00
radv_buffer.h radv: switch to device address from vk_buffer 2025-03-06 09:46:01 +00:00
radv_buffer_view.c radv: Remove offset parameter from radv_make_texel_buffer_descriptor. 2025-05-02 09:13:14 +00:00
radv_buffer_view.h radv: Remove offset parameter from radv_make_texel_buffer_descriptor. 2025-05-02 09:13:14 +00:00
radv_check_va.py radv: Add sparse mappings to radv_check_va.py. 2024-11-29 12:57:42 +00:00
radv_cmd_buffer.c radv: emit more push shader registers on GFX12 2025-09-11 06:47:40 +00:00
radv_cmd_buffer.h radv: rename RADV_CMD_DIRTY_FS_STATE to RADV_CMD_DIRTY_PS_STATE 2025-09-05 10:16:20 +00:00
radv_constants.h radv: re-format using clang-format 2025-09-09 05:48:56 +00:00
radv_cp_dma.c radv: Flush L2 before CP DMA copy/fill when CP DMA doesn't use L2 2025-09-13 05:18:28 +00:00
radv_cp_dma.h radv: switch to radv_cmd_stream everywhere 2025-08-08 11:49:23 +00:00
radv_cp_reg_shadowing.c radv: switch to radv_cmd_stream everywhere 2025-08-08 11:49:23 +00:00
radv_cp_reg_shadowing.h radv: switch to radv_cmd_stream everywhere 2025-08-08 11:49:23 +00:00
radv_cs.c radv: Clean up use of RELEASE_MEM on GFX7 MEC 2025-09-05 13:42:56 +00:00
radv_cs.h radv: emit compute pipeline with buffered SH regs on GFX12 2025-08-19 18:01:21 +00:00
radv_debug.c all: rename gl_shader_stage to mesa_shader_stage 2025-08-06 10:28:40 +08:00
radv_debug.h radv: add RADV_DEBUG=bo_history 2025-09-11 06:03:15 +00:00
radv_debug_nir.c radv: Add RADV_DEBUG=validatevas for address validation in nir 2025-08-15 10:32:35 +00:00
radv_debug_nir.h radv: Add RADV_DEBUG=validatevas for address validation in nir 2025-08-15 10:32:35 +00:00
radv_descriptor_pool.c radv: reduce the combined image/sampler desc size on GFX11+ 2025-08-14 06:47:30 +00:00
radv_descriptor_pool.h radv: move descriptor pool implementation to radv_descriptor_pool.c/h 2025-06-27 07:55:35 +00:00
radv_descriptor_set.c radv: reduce the combined image/sampler desc size on GFX11+ 2025-08-14 06:47:30 +00:00
radv_descriptor_set.h radv: split descriptor set and descriptor utils in separate files 2025-06-27 07:55:37 +00:00
radv_descriptor_update_template.c radv: reduce the combined image/sampler desc size on GFX11+ 2025-08-14 06:47:30 +00:00
radv_descriptor_update_template.h radv: move descriptor update implementation to radv_descriptor_update_template.c/h 2025-06-27 07:55:37 +00:00
radv_descriptors.c radv: reduce the combined image/sampler desc size on GFX11+ 2025-08-14 06:47:30 +00:00
radv_descriptors.h radv: reduce the combined image/sampler desc size on GFX11+ 2025-08-14 06:47:30 +00:00
radv_device.c radv: move debug related drirc to radv_drirc::debug 2025-09-05 05:56:17 +00:00
radv_device.h radv: Use extra context for video encode queue with multiple VCN instances 2025-09-01 10:56:31 +00:00
radv_device_memory.c radv: Add RADV_DEBUG=validatevas for address validation in nir 2025-08-15 10:32:35 +00:00
radv_device_memory.h radv: add import and export handle_type in radv_alloc_memory 2025-03-03 08:26:51 +00:00
radv_dgc.c radv: re-format using clang-format 2025-09-09 05:48:56 +00:00
radv_dgc.h radv: gather push constant size from shaders for DGC 2025-08-18 10:28:09 +02:00
radv_event.c radv: use SPDX-License-Identifier 2024-04-08 07:17:31 +00:00
radv_event.h radv: use SPDX-License-Identifier 2024-04-08 07:17:31 +00:00
radv_formats.c radv/video: Support quantization map on VCN5 2025-09-08 10:52:06 +00:00
radv_formats.h build: avoid redefining unreachable() which is standard in C23 2025-07-31 17:49:42 +00:00
radv_host_image_copy.c radv: implement vkTransitionImageLayout() 2025-07-15 09:12:16 +00:00
radv_image.c radv: move debug related drirc to radv_drirc::debug 2025-09-05 05:56:17 +00:00
radv_image.h radv: initialize HiZ metadata during image layout transitions 2025-08-12 13:48:10 +00:00
radv_image_view.c vulkan: Drop the driver_internal from vk_image_view_init/create() 2025-09-05 23:34:14 +00:00
radv_image_view.h radv: add a function to create an image view for HiZ surfaces 2025-08-12 13:48:09 +00:00
radv_instance.c radv: disable radv_disable_hiz_his_gfx12 for Mafia Definition Edition 2025-09-11 15:21:50 +00:00
radv_instance.h radv: disable radv_disable_hiz_his_gfx12 for Mafia Definition Edition 2025-09-11 15:21:50 +00:00
radv_llvm_helper.cpp amd,radeonsi: reduce legacy::PassManager use to only run backend passes 2024-10-05 09:10:06 +00:00
radv_llvm_helper.h radv: use SPDX-License-Identifier 2024-04-08 07:17:31 +00:00
radv_nir_to_llvm.c all: rename gl_shader_stage to mesa_shader_stage 2025-08-06 10:28:40 +08:00
radv_nir_to_llvm.h radv: use SPDX-License-Identifier 2024-04-08 07:17:31 +00:00
radv_perfcounter.c radv: switch to radv_cmd_stream everywhere 2025-08-08 11:49:23 +00:00
radv_perfcounter.h radv: switch to radv_cmd_stream everywhere 2025-08-08 11:49:23 +00:00
radv_physical_device.c radv: detect platform:virtio-mmio devices for virtgpu native context 2025-09-12 12:56:46 +00:00
radv_physical_device.h radv: allow to select a different HiZ workaround on GFX12 2025-09-01 07:02:24 +00:00
radv_pipeline.c radv: move misc related drirc to radv_drirc::misc 2025-09-05 05:56:17 +00:00
radv_pipeline.h radv: remove unused radv_pipeline::user_data_0 2025-09-02 06:18:04 +00:00
radv_pipeline_binary.c build: avoid redefining unreachable() which is standard in C23 2025-07-31 17:49:42 +00:00
radv_pipeline_binary.h radv: add initial support for pipeline binaries 2024-09-10 08:19:52 +00:00
radv_pipeline_cache.c radv: Add RADV_DEBUG=validatevas for address validation in nir 2025-08-15 10:32:35 +00:00
radv_pipeline_cache.h radv: remove unused forwarded declarations of pipeline layout 2025-08-18 07:25:34 +00:00
radv_pipeline_compute.c radv: determine if push constants need to be uploaded earlier 2025-08-18 07:25:34 +00:00
radv_pipeline_compute.h radv: fix skipping on-disk shaders cache when not useful 2024-11-20 10:01:26 +00:00
radv_pipeline_graphics.c radv: Don't set SWITCH_ON_EOI without tessellation 2025-09-05 13:42:56 +00:00
radv_pipeline_graphics.h radv: remove unnecessary radv_graphics_pipeline::is_ngg 2025-09-02 06:18:05 +00:00
radv_pipeline_layout.c radv: move pipeline layout implementation to radv_pipeline_layout.c/h 2025-06-25 07:52:12 +00:00
radv_pipeline_layout.h radv: move pipeline layout implementation to radv_pipeline_layout.c/h 2025-06-25 07:52:12 +00:00
radv_pipeline_rt.c radv: Fixes warning implicit conversion from enum type 2025-08-20 11:39:19 +00:00
radv_pipeline_rt.h all: rename gl_shader_stage to mesa_shader_stage 2025-08-06 10:28:40 +08:00
radv_query.c radv: move debug related drirc to radv_drirc::debug 2025-09-05 05:56:17 +00:00
radv_query.h radv: re-run clang-format 2025-07-16 09:10:33 +02:00
radv_queue.c radv: only expose permitted global queue priorities 2025-09-05 06:34:36 +00:00
radv_queue.h radv: only expose permitted global queue priorities 2025-09-05 06:34:36 +00:00
radv_radeon_winsys.h radv/amdgpu: add a function to query permitted context priorities 2025-09-05 06:34:36 +00:00
radv_rmv.c radv: remove unnecessary radv_graphics_pipeline::is_ngg 2025-09-02 06:18:05 +00:00
radv_rmv.h radv/rmv: fix image binds logging for disjoint images 2024-04-10 11:23:40 +00:00
radv_rra.c build: avoid redefining unreachable() which is standard in C23 2025-07-31 17:49:42 +00:00
radv_rra.h radv/rra: Increase rra_validation_context::location 2025-07-22 14:40:33 +00:00
radv_rra_gfx10_3.c radv/rra: Only write used BLAS 2025-07-22 14:40:33 +00:00
radv_rra_gfx12.c radv: Store parent node IDs inside nodes on GFX12 2025-08-15 13:00:32 +00:00
radv_sampler.c radv: fix capture/replay with sampler border color 2025-09-12 06:51:51 +00:00
radv_sampler.h radv: fix capture/replay with sampler border color 2025-09-12 06:51:51 +00:00
radv_sdma.c radv: switch to radv_cmd_stream everywhere 2025-08-08 11:49:23 +00:00
radv_sdma.h radv: switch to radv_cmd_stream everywhere 2025-08-08 11:49:23 +00:00
radv_shader.c radv: move debug related drirc to radv_drirc::debug 2025-09-05 05:56:17 +00:00
radv_shader.h radv: re-format using clang-format 2025-09-09 05:48:56 +00:00
radv_shader_args.c radv/rt: only use one user SGPR for the traversal shader addr 2025-09-03 05:53:41 +00:00
radv_shader_args.h radv: rename NGG culling user SGPRs 2025-09-01 08:52:55 +00:00
radv_shader_info.c radv: determine the push constant size from the shader itself 2025-08-18 10:28:09 +02:00
radv_shader_info.h radv: determine the push constant size from the shader itself 2025-08-18 10:28:09 +02:00
radv_shader_object.c all: rename gl_shader_stage to mesa_shader_stage 2025-08-06 10:28:40 +08:00
radv_shader_object.h all: rename gl_shader_stage to mesa_shader_stage 2025-08-06 10:28:40 +08:00
radv_spm.c radv: switch to radv_cmd_stream everywhere 2025-08-08 11:49:23 +00:00
radv_spm.h radv: switch to radv_cmd_stream everywhere 2025-08-08 11:49:23 +00:00
radv_sqtt.c radv: remove cs parameter for all opt context emit helpers 2025-08-11 08:30:42 +00:00
radv_sqtt.h radv: switch to radv_cmd_stream everywhere 2025-08-08 11:49:23 +00:00
radv_video.c radv: re-format using clang-format 2025-09-09 05:48:56 +00:00
radv_video.h radv/video: Support quantization map on VCN5 2025-09-08 10:52:06 +00:00
radv_video_enc.c radv: re-format using clang-format 2025-09-09 05:48:56 +00:00
radv_wsi.c vulkan/wsi: Make get_blit_queue return a struct vk_queue * 2025-08-22 23:05:03 +00:00
radv_wsi.h radv: use SPDX-License-Identifier 2024-04-08 07:17:31 +00:00