mesa/src/amd/vulkan
Bas Nieuwenhuizen 7cc0702bbb radv: Emit a BATCH_BREAK when changing pixel shaders or CB_TARGET_MASK.
Fixes a hang on Raven with Resident Evil 2.

I did not find anything more restricted to fix it:

- Setting persistent_states_per_bin to 1 fixes it too,
  but likely does an internal break on any descriptor set changes
  too.
- Only breaking the batch when cb_target_mask changes does not fix
  it (and looking at AMDVLK comments, I suspect the code in radeonsi
  should really be doing a FLUSH_DFSM).
- Always doing a FLUSH_DFSM on shader switch helps, but that is more
  often than this and I don't think we should be doing that when DFSM
  is disabled.
- Also emitting the existing break on framebuffer change when DFSM is
  disabled does not fix the issue.

Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2315
CC: <mesa-stable@lists.freedesktop.org>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
2020-01-07 22:44:31 +01:00
..
winsys/amdgpu ac: add radeon_info::num_rings and move ring_type to amd_family.h 2019-11-19 18:31:53 -05:00
.editorconfig
Android.mk android: radv: fix vk_format_table.c generated source build 2019-12-27 09:20:44 +01:00
gfx10_format_table.py radv/gfx10: hardcode some depth+stencil formats in the format table 2019-08-21 08:17:40 +02:00
Makefile.sources android: radv: build radv_shader_args.c 2019-12-27 09:20:54 +01:00
meson.build radv: Move argument declaration out of nir_to_llvm 2019-11-25 14:17:51 +01:00
radv_android.c radv: Fix RGBX Android<->Vulkan format correspondence. 2019-12-11 11:40:13 +01:00
radv_cmd_buffer.c radv: Emit a BATCH_BREAK when changing pixel shaders or CB_TARGET_MASK. 2020-01-07 22:44:31 +01:00
radv_constants.h radv: add more constants to avoid using magic numbers 2019-11-28 10:59:14 +01:00
radv_cs.h radv: Fix config reg assert. 2019-08-07 08:58:23 +10:00
radv_debug.c radv: fix 32-bit compiler warnings 2019-11-06 08:00:33 +01:00
radv_debug.h radv: remove useless RADV_DEBUG=unsafemath debug option 2019-11-15 09:07:34 +01:00
radv_descriptor_set.c radv: rely on pipeline layout when creating push descriptors with template 2019-12-20 13:41:29 +01:00
radv_descriptor_set.h radv: Don't include radv_private.h from radv_shader.h 2019-07-30 10:29:11 +02:00
radv_device.c radv: Expose all sample counts for integer formats as well. 2019-12-26 10:48:29 +01:00
radv_entrypoints_gen.py radv: Add support for icd loader interface v4. 2019-05-13 00:41:31 +02:00
radv_extensions.py radv: implement VK_AMD_mixed_attachment_samples 2020-01-03 12:31:53 +00:00
radv_formats.c radv: Expose image handle compat types for Android handles. 2019-10-10 17:02:34 +00:00
radv_icd.py python: Specify the JSON separators 2018-07-05 12:52:38 +01:00
radv_image.c radv: Only use the gfx mipmap level offset/pitch for linear textures. 2020-01-04 13:04:40 +01:00
radv_llvm_helper.cpp radv/gfx10: use the correct target machine for Wave32 2019-08-02 09:37:38 +02:00
radv_meta.c radv: Only save the descriptor set if we have one. 2019-07-18 00:49:43 +02:00
radv_meta.h radv: initialize HTILE for separate depth/stencil aspects 2019-12-10 13:09:29 +01:00
radv_meta_blit.c radv: Add extra struct to image view creation. 2019-08-07 02:13:07 +02:00
radv_meta_blit2d.c radv/gfx10: fix 3D images 2019-10-23 09:45:49 +02:00
radv_meta_buffer.c radv: set alignment for load_ssbo/store_ssbo in meta shaders 2019-11-25 13:59:11 +00:00
radv_meta_bufimage.c radv/gfx10: fix 3D images 2019-10-23 09:45:49 +02:00
radv_meta_clear.c radv: initialize HTILE for separate depth/stencil aspects 2019-12-10 13:09:29 +01:00
radv_meta_copy.c radv: Add device argument for dcc compression check. 2019-08-07 02:13:07 +02:00
radv_meta_decompress.c radv: select the depth decompress path based on the aspect mask 2019-11-25 16:29:23 +01:00
radv_meta_fast_clear.c radv: Disable compression for compute DCC decompress store. 2019-08-07 02:13:07 +02:00
radv_meta_fmask_expand.c nir: move data.image.access to data.access 2019-11-19 18:20:05 -05:00
radv_meta_resolve.c radv: set the image view aspect mask before resolves 2019-11-25 16:29:16 +01:00
radv_meta_resolve_cs.c radv: initialize HTILE for separate depth/stencil aspects 2019-12-10 13:09:29 +01:00
radv_meta_resolve_fs.c radv: init a default multisample state for the resolve FS path 2019-12-20 08:20:44 +01:00
radv_nir_lower_ycbcr_textures.c radv: Implement cosited_even sampling. 2019-05-06 11:09:30 +00:00
radv_nir_to_llvm.c ac: declare an enum for the OOB select field on GFX10 2019-12-19 15:15:32 +01:00
radv_pass.c radv: record number of color/depth samples for each subpass 2020-01-03 12:31:53 +00:00
radv_pipeline.c radv: Emit a BATCH_BREAK when changing pixel shaders or CB_TARGET_MASK. 2020-01-07 22:44:31 +01:00
radv_pipeline_cache.c radv: make use of radv_sc_read() 2019-10-30 04:49:58 +00:00
radv_private.h radv: Emit a BATCH_BREAK when changing pixel shaders or CB_TARGET_MASK. 2020-01-07 22:44:31 +01:00
radv_query.c radv: set alignment for load_ssbo/store_ssbo in meta shaders 2019-11-25 13:59:11 +00:00
radv_radeon_winsys.h ac: add radeon_info::num_rings and move ring_type to amd_family.h 2019-11-19 18:31:53 -05:00
radv_shader.c radv: enable SpvCapabilityImageMSArray 2019-12-12 18:52:08 +01:00
radv_shader.h radv: Replace supports_spill with explict_scratch_args 2019-11-25 14:17:51 +01:00
radv_shader_args.c aco: Use common argument handling 2019-11-25 14:17:51 +01:00
radv_shader_args.h radv/gfx10: fix ngg_get_ordered_id 2019-12-17 12:34:18 +00:00
radv_shader_helper.h radv/gfx10: use the correct target machine for Wave32 2019-08-02 09:37:38 +02:00
radv_shader_info.c radv: set writes_memory for global memory stores/atomics 2019-12-02 11:47:12 +00:00
radv_util.c radv: Add startup debug option. 2018-05-31 11:51:23 +02:00
radv_util.h
radv_wsi.c radv: Start signalling semaphores in WSI acquire. 2019-10-30 19:42:10 +01:00
radv_wsi_display.c radv: remove useless ac_llvm_util.h include from the WSI code 2019-08-30 09:33:19 +02:00
radv_wsi_wayland.c
radv_wsi_x11.c vulkan: drop always-true param 2018-10-26 18:33:11 +01:00
si_cmd_buffer.c Revert "radv: do not emit PKT3_CONTEXT_CONTROL with AMDGPU 3.6.0+" 2019-10-15 15:58:34 +02:00
vk_format.h radv: Add logic for multisample format descriptions. 2019-04-25 19:56:20 +00:00
vk_format_layout.csv radv: Add ycbcr subsampled & multiplane formats to csv. 2019-04-25 19:56:20 +00:00
vk_format_parse.py radv: Add logic for multisample format descriptions. 2019-04-25 19:56:20 +00:00
vk_format_table.py util: rename PIPE_ARCH_*_ENDIAN to UTIL_ARCH_*_ENDIAN 2019-11-05 16:39:55 +00:00