summaryrefslogtreecommitdiffstats
path: root/src/amd/common/ac_rtld.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/amd/common/ac_rtld.c')
-rw-r--r--src/amd/common/ac_rtld.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/amd/common/ac_rtld.c b/src/amd/common/ac_rtld.c
index c750dbfa9cb..18f198f8af2 100644
--- a/src/amd/common/ac_rtld.c
+++ b/src/amd/common/ac_rtld.c
@@ -280,7 +280,13 @@ bool ac_rtld_open(struct ac_rtld_binary *binary,
util_dynarray_foreach(&binary->lds_symbols, struct ac_rtld_symbol, symbol)
symbol->part_idx = ~0u;
- unsigned max_lds_size = i.info->chip_class >= GFX7 ? 64 * 1024 : 32 * 1024;
+ unsigned max_lds_size = 64 * 1024;
+
+ if (i.info->chip_class == GFX6 ||
+ (i.shader_type != MESA_SHADER_COMPUTE &&
+ i.shader_type != MESA_SHADER_FRAGMENT))
+ max_lds_size = 32 * 1024;
+
uint64_t shared_lds_size = 0;
if (!layout_symbols(binary->lds_symbols.data, i.num_shared_lds_symbols, &shared_lds_size))
goto fail;