summaryrefslogtreecommitdiffstats
path: root/src/amd/vulkan
diff options
context:
space:
mode:
authorSamuel Pitoiset <[email protected]>2019-09-18 09:58:54 +0200
committerSamuel Pitoiset <[email protected]>2019-10-02 21:50:40 +0200
commita2a68d551c1c2a4f13761ffa8f3f6f13fee7a384 (patch)
tree88f942639fb776f2896c701d856c061b56bec87a /src/amd/vulkan
parent34be977f80da67d3fb8cfc8bec04104e03cfe19d (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 <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Diffstat (limited to 'src/amd/vulkan')
-rw-r--r--src/amd/vulkan/radv_shader.c20
1 files changed, 1 insertions, 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;
}