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