From a2a68d551c1c2a4f13761ffa8f3f6f13fee7a384 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Wed, 18 Sep 2019 09:58:54 +0200 Subject: [PATCH] radv/gfx10: fix the ESGS ring size symbol Random hangs no longer happen, I'm actually not sure if they were related to this. Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen --- src/amd/vulkan/radv_shader.c | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c index 5fe361d..18608d8 100644 --- a/src/amd/vulkan/radv_shader.c +++ b/src/amd/vulkan/radv_shader.c @@ -916,27 +916,9 @@ radv_shader_variant_create(struct radv_device *device, /* We add this symbol even on LLVM <= 8 to ensure that * shader->config.lds_size is set correctly below. */ - /* TODO: For some reasons, using the computed ESGS ring - * size randomly hangs with CTS. Just use the maximum - * possible LDS size for now. - */ - unsigned ngg_scratch_size = 8 * 4; - if (binary->info.so.num_outputs) { - /* Memory layout of NGG streamout scratch: - * [0-3]: number of generated primitives - * [4-7]: number of emitted primitives - * [8-11]: streamout offsets - * [12:19]: primitive offsets for stream 0 - * [20:27]: primitive offsets for stream 1 - * [28:35]: primitive offsets for stream 2 - * [36:43]: primitive offsets for stream 3 - */ - ngg_scratch_size = 44 * 4; - } - struct ac_rtld_symbol *sym = &lds_symbols[num_lds_symbols++]; sym->name = "esgs_ring"; - sym->size = (32 * 1024) - (binary->info.ngg_info.ngg_emit_size * 4) - ngg_scratch_size; + sym->size = binary->info.ngg_info.esgs_ring_size; sym->align = 64 * 1024; } -- 2.7.4