diff options
author | Samuel Pitoiset <samuel.pitoiset@gmail.com> | 2019-09-18 09:58:54 +0200 |
---|---|---|
committer | Samuel Pitoiset <samuel.pitoiset@gmail.com> | 2019-10-02 21:50:40 +0200 |
commit | a2a68d551c1c2a4f13761ffa8f3f6f13fee7a384 (patch) | |
tree | 88f942639fb776f2896c701d856c061b56bec87a | |
parent | 34be977f80da67d3fb8cfc8bec04104e03cfe19d (diff) |
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 <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
-rw-r--r-- | src/amd/vulkan/radv_shader.c | 20 |
1 files changed, 1 insertions, 19 deletions
diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c index 5fe361d44cf7..18608d8a9bea 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; } |