From facecd87e105b99da2077d30d9414e43e9350912 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timur=20Krist=C3=B3f?= Date: Wed, 15 Mar 2023 11:25:55 -0700 Subject: [PATCH] radv: Don't hardcode LDS granularity in gfx9_get_gs_info. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Timur Kristóf Reviewed-by: Daniel Schürmann Part-of: --- src/amd/vulkan/radv_shader_info.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/amd/vulkan/radv_shader_info.c b/src/amd/vulkan/radv_shader_info.c index 3d5085c1994..be5fa2f7fa4 100644 --- a/src/amd/vulkan/radv_shader_info.c +++ b/src/amd/vulkan/radv_shader_info.c @@ -1102,7 +1102,9 @@ radv_get_legacy_gs_info(const struct radv_device *device, struct radv_pipeline_s const uint32_t gs_prims_per_subgroup = gs_prims; const uint32_t gs_inst_prims_in_subgroup = gs_prims * gs_num_invocations; const uint32_t max_prims_per_subgroup = gs_inst_prims_in_subgroup * gs_info->gs.vertices_out; - out->lds_size = align(esgs_lds_size, 128) / 128; + const uint32_t lds_granularity = device->physical_device->rad_info.lds_encode_granularity; + const uint32_t total_lds_bytes = align(esgs_lds_size * 4, lds_granularity); + out->lds_size = total_lds_bytes / lds_granularity; out->vgt_gs_onchip_cntl = S_028A44_ES_VERTS_PER_SUBGRP(es_verts_per_subgroup) | S_028A44_GS_PRIMS_PER_SUBGRP(gs_prims_per_subgroup) | S_028A44_GS_INST_PRIMS_IN_SUBGRP(gs_inst_prims_in_subgroup);