mesa/src/amd/vulkan
Samuel Pitoiset fedd0a4215 radv/winsys: allow to submit up to 4 IBs for chips without chaining
The SI family doesn't support chaining which means the maximum
size in dwords per CS is limited. When that limit was reached
we failed to submit the CS and the application crashed.

This patch allows to submit up to 4 IBs which is currently the
limit, but recent amdgpu supports more than that.

Please note that we can reach the limit of 4 IBs per submit
but currently we can't improve that. The only solution is to
upgrade libdrm. That will be improved later but for now this
should fix crashes on SI or when using RADV_DEBUG=noibs.

Fixes: 36cb5508e8 ("radv/winsys: Fail early on overgrown cs.")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105775
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
2018-04-20 18:12:26 +02:00
..
winsys/amdgpu radv/winsys: allow to submit up to 4 IBs for chips without chaining 2018-04-20 18:12:26 +02:00
.editorconfig amd: add .editorconfig 2017-08-29 01:08:58 +03:00
.gitignore radv: port to using updated anv entrypoint/extension generator. 2017-10-17 16:50:32 +10:00
Makefile.am vulkan: Drop vk_android_native_buffer.xml 2018-04-10 19:29:49 -07:00
Makefile.sources radv: autotools: add radv_extensions.h in the generated VULKAN list 2018-03-22 18:25:39 +01:00
meson.build vulkan: Drop vk_android_native_buffer.xml 2018-04-10 19:29:49 -07:00
radv_android.c vulkan: fix build issue on android (both anv/radv) 2018-04-11 13:55:49 +03:00
radv_cmd_buffer.c radv: use a global BO list only for VK_EXT_descriptor_indexing 2018-04-20 16:18:18 +02:00
radv_cs.h amd: move r600d_common.h into r600g 2017-10-09 16:27:06 +02:00
radv_debug.c Revert "radv: Don't store buffer references in the descriptor set." 2018-04-20 16:18:13 +02:00
radv_debug.h radv: Add bound checking workaround for dynamic buffers. 2018-04-19 16:13:25 +02:00
radv_descriptor_set.c Revert "radv: Don't store buffer references in the descriptor set." 2018-04-20 16:18:13 +02:00
radv_descriptor_set.h Revert "radv: Don't store buffer references in the descriptor set." 2018-04-20 16:18:13 +02:00
radv_device.c radv: use a global BO list only for VK_EXT_descriptor_indexing 2018-04-20 16:18:18 +02:00
radv_entrypoints_gen.py radv: Add entrypoints generation with the new vk.xml 2018-03-07 15:50:19 +01:00
radv_extensions.py radv: Enable VK_EXT_descriptor_indexing. 2018-04-18 22:56:54 +02:00
radv_formats.c util: Move util_is_power_of_two to bitscan.h and rename to util_is_power_of_two_or_zero 2018-03-29 14:09:23 -07:00
radv_icd.py radv: Generate icd files. 2018-03-09 07:53:39 +01:00
radv_image.c radv: enable DCC for MSAA 2x textures on VI under an option 2018-04-19 09:10:55 +02:00
radv_meta.c radv: use separate bindings for graphics and compute descriptors 2018-02-01 09:37:09 +01:00
radv_meta.h radv: decompress DCC for multisampled source images before resolving 2018-04-19 09:10:52 +02:00
radv_meta_blit.c radv: Make color meta operations layout aware. 2017-12-29 12:21:44 +01:00
radv_meta_blit2d.c radv: Make color meta operations layout aware. 2017-12-29 12:21:44 +01:00
radv_meta_buffer.c radv: only emit cache flushes when the pool size is large enough 2018-03-01 09:53:40 +01:00
radv_meta_bufimage.c nir: Rename image intrinsics to image_var 2018-03-23 13:48:11 +11:00
radv_meta_clear.c radv: add a workaround for fast clears with DCC and MSAA textures 2018-04-19 09:10:50 +02:00
radv_meta_copy.c radv: add radv_image_is_tc_compat_htile() helper 2018-04-09 11:21:26 +02:00
radv_meta_decompress.c radv: add radv_image_has_{cmask,fmask,dcc,htile}() helpers 2018-04-09 11:21:10 +02:00
radv_meta_fast_clear.c radv: disable prediction only if it has been enabled 2018-04-16 14:20:39 +02:00
radv_meta_resolve.c radv: decompress DCC for multisampled source images before resolving 2018-04-19 09:10:52 +02:00
radv_meta_resolve_cs.c radv: decompress DCC for multisampled source images before resolving 2018-04-19 09:10:52 +02:00
radv_meta_resolve_fs.c radv: decompress DCC for multisampled source images before resolving 2018-04-19 09:10:52 +02:00
radv_nir_to_llvm.c radv: Implement VK_EXT_vertex_attribute_divisor. 2018-04-12 22:57:23 +02:00
radv_pass.c radv: set SAMPLE_RATE to the number of samples of the current fb 2018-03-30 17:32:15 +02:00
radv_pipeline.c radv: Add Vega M support. 2018-04-19 16:36:21 +02:00
radv_pipeline_cache.c ac/nir: move ac_shader_variant_info and friends to radv folder 2018-03-13 16:54:16 +01:00
radv_private.h radv: use a global BO list only for VK_EXT_descriptor_indexing 2018-04-20 16:18:18 +02:00
radv_query.c radv: only enable PERFECT_ZPASS_COUNTS for precision occlusion queries 2018-04-06 09:07:34 +02:00
radv_radeon_winsys.h radv: Keep a global BO list for VkMemory. 2018-04-18 22:56:54 +02:00
radv_shader.c radv: Add Vega M support. 2018-04-19 16:36:21 +02:00
radv_shader.h radv: Implement VK_EXT_vertex_attribute_divisor. 2018-04-12 22:57:23 +02:00
radv_shader_info.c radv: fix scanning output_usage_mask with structs 2018-03-29 10:22:10 +02:00
radv_util.c radv: use enum_to_str util functions. 2017-03-04 15:05:14 +00:00
radv_util.h radv: Use proper header guards over 'pragma once' directives 2016-10-10 16:10:56 +11:00
radv_wsi.c radv: Add trivial device group implementation. 2018-03-07 21:18:35 +01:00
radv_wsi_wayland.c radv/wsi: Don't include wayland headers 2017-03-13 11:16:30 +00:00
radv_wsi_x11.c vulkan/wsi/radv: add initial prime support (v1.1) 2017-02-27 05:42:16 +10:00
si_cmd_buffer.c radv: Add Vega M support. 2018-04-19 16:36:21 +02:00
vk_format.h radv: Don't use SRGB format for image stores during resolve. 2017-08-06 16:06:50 +02:00
vk_format_layout.csv radv: add initial non-conformant radv vulkan driver 2016-10-07 09:16:09 +10:00
vk_format_parse.py amd: remove shebang from python scripts 2017-03-10 14:12:46 +00:00
vk_format_table.py radv: make vk_format_description structures static 2018-03-17 18:53:21 +02:00