radv/llvm: Fix reporting LDS stats of tess control shaders.
authorTimur Kristóf <timur.kristof@gmail.com>
Wed, 17 Feb 2021 12:55:04 +0000 (13:55 +0100)
committerMarge Bot <eric+marge@anholt.net>
Thu, 18 Feb 2021 11:57:22 +0000 (11:57 +0000)
The LLVM backend forgot to set config->lds_size, which is used
for reporting LDS stats.

Fixes: cf89bdb9ba9c7a7ba39d142ee3c83e0379c2092a "radv: align the LDS size in calculate_tess_lds_size()"
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9098>

src/amd/vulkan/radv_shader.c

index 56ec8f6baa16aabff9beadb247681b8643ab266e..17cf6b1b00305dd73e31a9e57ae6122ef3812e45 100644 (file)
@@ -1232,6 +1232,10 @@ radv_shader_variant_create(struct radv_device *device,
                        unsigned encode_granularity = device->physical_device->rad_info.lds_encode_granularity;
                        config.lds_size = align(rtld_binary.lds_size, encode_granularity) / encode_granularity;
                }
+               if (!config.lds_size && binary->stage == MESA_SHADER_TESS_CTRL) {
+                       /* This is used for reporting LDS statistics */
+                       config.lds_size = binary->info.tcs.num_lds_blocks;
+               }
 
                variant->code_size = rtld_binary.rx_size;
                variant->exec_size = rtld_binary.exec_size;