mesa/src/amd/vulkan
Samuel Pitoiset c08d2c40ed radv: fix ignoring src stage mask when dst stage mask is BOTTOM_OF_PIPE
Otherwise the driver doesn't synchronize if there are image layout
transitions.

This fixes rendering issues with displayable DCC (usually black squares
in the bottom of screen). This mostly happens when an application
uses a lower resolution than the screen supports and fshack
(wine/proton) which upscales images uses COMPUTE_SHADER->BOTTOM_OF_PIPE
for the barrier after a dispatch.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11547
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11600
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11789
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8705
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9890
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32115>
2024-11-15 08:22:23 +00:00
..
bvh radv/rt: Don't atomicAdd local prefix sums 2024-08-09 18:12:52 +00:00
layers radv: resize the SPM bo when it's too small 2024-10-29 18:33:17 +00:00
meta radv: pass the image subresource range to radv_{src,dst}_access_flush() 2024-11-12 17:27:39 +00:00
nir nir: add cull_triangles_, cull_lines_ prefixes to viewport_xy_scale_and_offset 2024-10-29 16:47:44 +00:00
radix_sort build: pass licensing information in SPDX form 2024-06-29 12:42:49 -07:00
tests radv: Add radv_nir_lower_hit_attrib_derefs_tests 2023-11-02 15:48:36 +00:00
winsys radv: Move ac_addrlib to the physical device 2024-10-28 20:06:38 +00:00
.clang-format radv/clang-format: Do not indent C++ modifiers 2023-11-02 15:48:36 +00:00
.editorconfig
meson.build radv: Move ac_addrlib to the physical device 2024-10-28 20:06:38 +00:00
radv_acceleration_structure.c radv: pass the image subresource range to radv_{src,dst}_access_flush() 2024-11-12 17:27:39 +00:00
radv_aco_shader_info.h aco: simplify postprocessing the trap handler shader 2024-11-12 11:16:13 +00:00
radv_android.c radv: use SPDX-License-Identifier 2024-04-08 07:17:31 +00:00
radv_android.h radv: use SPDX-License-Identifier 2024-04-08 07:17:31 +00:00
radv_buffer.c radv: implement VK_EXT_device_generated_commands 2024-10-28 16:27:35 +00:00
radv_buffer.h radv: Store range rather than bo_size in VkBuffer/VkImage. 2024-04-16 16:29:57 +02:00
radv_buffer_view.c radv: Remap 10 and 12 bit formats to 16 bit formats 2024-10-16 14:30:15 +00:00
radv_buffer_view.h radv: use SPDX-License-Identifier 2024-04-08 07:17:31 +00:00
radv_check_va.py
radv_cmd_buffer.c radv: fix ignoring src stage mask when dst stage mask is BOTTOM_OF_PIPE 2024-11-15 08:22:23 +00:00
radv_cmd_buffer.h radv: pass the image subresource range to radv_{src,dst}_access_flush() 2024-11-12 17:27:39 +00:00
radv_constants.h radv: remove RADV_MAX_DRM_DEVICES 2024-10-07 11:42:37 +00:00
radv_cp_dma.c radv: use SPDX-License-Identifier 2024-04-08 07:17:31 +00:00
radv_cp_dma.h radv: use SPDX-License-Identifier 2024-04-08 07:17:31 +00:00
radv_cp_reg_shadowing.c radv: pad GFX preambles IBs with only one NOP 2024-08-21 14:55:04 +00:00
radv_cp_reg_shadowing.h radv: use SPDX-License-Identifier 2024-04-08 07:17:31 +00:00
radv_cs.c radv: don't assume that TC_ACTION_ENA invalidates L1 cache on gfx9 2024-06-11 06:15:12 +00:00
radv_cs.h radv: rename radeon perfctr uconfig helpers 2024-05-15 11:34:35 +00:00
radv_debug.c radv: dump SPIR-V and NIR for the faulty shader detected with the trap 2024-11-14 15:57:07 +00:00
radv_debug.h radv: dump the trap handler shader with RADV_DEBUG=dump_trap_handler 2024-11-11 09:34:05 +00:00
radv_descriptor_set.c radv: use blake3 for hashing pipeline layouts 2024-07-10 07:35:19 +00:00
radv_descriptor_set.h radv: use blake3 for hashing pipeline layouts 2024-07-10 07:35:19 +00:00
radv_device.c radv: cleanup tools related resources when destroying logical device 2024-11-05 15:31:00 +00:00
radv_device.h radv: implement VK_EXT_device_generated_commands 2024-10-28 16:27:35 +00:00
radv_device_memory.c radv: use SPDX-License-Identifier 2024-04-08 07:17:31 +00:00
radv_device_memory.h radv: use SPDX-License-Identifier 2024-04-08 07:17:31 +00:00
radv_dgc.c radv: implement VK_EXT_device_generated_commands 2024-10-28 16:27:35 +00:00
radv_dgc.h radv: implement VK_EXT_device_generated_commands 2024-10-28 16:27:35 +00: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: Remap 10 and 12 bit formats to 16 bit formats 2024-10-16 14:30:15 +00:00
radv_formats.h radv: Remap 10 and 12 bit formats to 16 bit formats 2024-10-16 14:30:15 +00:00
radv_image.c radv: optimize the pipe misaligned L2 cache invalidation on GFX11 2024-11-12 17:27:39 +00:00
radv_image.h radv: optimize the pipe misaligned L2 cache invalidation on GFX11 2024-11-12 17:27:39 +00:00
radv_image_view.c radv: Move ac_addrlib to the physical device 2024-10-28 20:06:38 +00:00
radv_image_view.h radv: stop passing image create flags to radv_image_view_init() 2024-10-02 09:28:51 +00:00
radv_instance.c radv: dump the trap handler shader with RADV_DEBUG=dump_trap_handler 2024-11-11 09:34:05 +00:00
radv_instance.h radv: add an option to configure the trap handler exceptions 2024-10-31 06:58:15 +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 amd,radeonsi: use new pass manager to handle midend optimizations 2024-10-05 09:10:06 +00:00
radv_nir_to_llvm.h radv: use SPDX-License-Identifier 2024-04-08 07:17:31 +00:00
radv_perfcounter.c radv: Fix shader mask for SQ_WGP SPM counters 2024-07-16 16:10:11 +00:00
radv_perfcounter.h radv: use SPDX-License-Identifier 2024-04-08 07:17:31 +00:00
radv_physical_device.c radv: set info->family_overridden when RADV_FORCE_FAMILY is used 2024-11-08 13:31:02 +00:00
radv_physical_device.h radv: Move ac_addrlib to the physical device 2024-10-28 20:06:38 +00:00
radv_pipeline.c radv,ac/nir: split global access using nir_lower_mem_access_bit_sizes 2024-11-13 12:59:26 +00:00
radv_pipeline.h vulkan: Take a VkPipelineCreateFlags2KHR in vk_pipeline_*shader_stage*() 2024-08-29 03:30:31 +00:00
radv_pipeline_binary.c radv: fix generating the global key for pipeline binaries 2024-10-09 21:15:48 +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: Store debug info inside radv_shader 2024-11-11 08:39:14 +00:00
radv_pipeline_cache.h radv: add initial support for pipeline binaries 2024-09-10 08:19:52 +00:00
radv_pipeline_compute.c radv: Add RADV_DEBUG=nirdebuginfo 2024-11-11 08:39:14 +00:00
radv_pipeline_compute.h radv: implement VK_EXT_device_generated_commands 2024-10-28 16:27:35 +00:00
radv_pipeline_graphics.c radv: Add RADV_DEBUG=nirdebuginfo 2024-11-11 08:39:14 +00:00
radv_pipeline_graphics.h radv: add a helper to bind the color output state 2024-10-10 13:19:22 +00:00
radv_pipeline_rt.c radv: Add RADV_DEBUG=nirdebuginfo 2024-11-11 08:39:14 +00:00
radv_pipeline_rt.h radv: add initial support for pipeline binaries 2024-09-10 08:19:52 +00:00
radv_printf.c nir: remove nir_update_instr_divergence() 2024-10-24 10:06:17 +00:00
radv_printf.h radv: use SPDX-License-Identifier 2024-04-08 07:17:31 +00:00
radv_query.c radv: stop emulating GS invocations for legacy GS on RDNA1-2 2024-09-20 12:28:08 +00:00
radv_query.h radv: use SPDX-License-Identifier 2024-04-08 07:17:31 +00:00
radv_queue.c radv: only emit the TBA/TMA registers on GFX8 2024-11-01 15:01:35 +00:00
radv_queue.h radv: Remove radv_queue::device again 2024-05-12 09:58:22 +00:00
radv_radeon_winsys.h radv: Move ac_addrlib to the physical device 2024-10-28 20:06:38 +00:00
radv_rmv.c radv: Store range rather than bo_size in VkBuffer/VkImage. 2024-04-16 16:29:57 +02:00
radv_rmv.h radv/rmv: fix image binds logging for disjoint images 2024-04-10 11:23:40 +00:00
radv_rra.c radv/rra: Enable RADV_RRA_TRACE_COPY_AFTER_BUILD by default 2024-06-21 17:47:53 +00:00
radv_rra.h radv/rra: Reduce the memory requirement of copy_after_build 2024-06-21 17:47:53 +00:00
radv_sampler.c ac,radv,radeonsi: introduce a helper to build a sampler descriptor 2024-05-17 13:43:12 +00:00
radv_sampler.h radv: use SPDX-License-Identifier 2024-04-08 07:17:31 +00:00
radv_sdma.c radv: Remap 10 and 12 bit formats to 16 bit formats 2024-10-16 14:30:15 +00:00
radv_sdma.h radv: use SPDX-License-Identifier 2024-04-08 07:17:31 +00:00
radv_shader.c radv: emit nir_debug_break instructions when the trap handler is enabled 2024-11-12 16:05:17 +00:00
radv_shader.h radv: Add RADV_DEBUG=nirdebuginfo 2024-11-11 08:39:14 +00:00
radv_shader_args.c radv: add support for load_pixel_coord 2024-11-04 12:34:30 +00:00
radv_shader_args.h radv: rename shader_query_state to task_state 2024-09-24 06:00:00 +00:00
radv_shader_info.c radv: add support for load_pixel_coord 2024-11-04 12:34:30 +00:00
radv_shader_info.h radv: add support for load_pixel_coord 2024-11-04 12:34:30 +00:00
radv_shader_object.c radv: implement VK_EXT_device_generated_commands 2024-10-28 16:27:35 +00:00
radv_shader_object.h radv: use SPDX-License-Identifier 2024-04-08 07:17:31 +00:00
radv_spm.c radv: resize the SPM bo when it's too small 2024-10-29 18:33:17 +00:00
radv_spm.h radv: resize the SPM bo when it's too small 2024-10-29 18:33:17 +00:00
radv_sqtt.c radv: Fix crash when using SQTT and NO_COMPUTE 2024-07-15 07:05:40 +00:00
radv_sqtt.h radv: use SPDX-License-Identifier 2024-04-08 07:17:31 +00:00
radv_video.c radv/video: Use 64x16 alignment for HEVC encode 2024-11-14 07:52:56 +00:00
radv_video.h radv: move video decode enable test into a flag 2024-08-26 22:19:09 +00:00
radv_video_enc.c radv/video: Override pic_init_qp_minus26 in PPS 2024-11-14 07:52:56 +00:00
radv_wsi.c radv: use SPDX-License-Identifier 2024-04-08 07:17:31 +00:00
radv_wsi.h radv: use SPDX-License-Identifier 2024-04-08 07:17:31 +00:00