Mesa (master): radv/gfx10: fix the ESGS ring size symbol
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Oct 2 20:15:18 UTC 2019
Module: Mesa
Branch: master
Commit: a2a68d551c1c2a4f13761ffa8f3f6f13fee7a384
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a2a68d551c1c2a4f13761ffa8f3f6f13fee7a384
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date: Wed Sep 18 09:58:54 2019 +0200
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 at gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
---
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 5fe361d44cf..18608d8a9be 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;
}
More information about the mesa-commit
mailing list