summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimur Kristóf <timur.kristof@gmail.com>2020-04-23 14:02:47 +0200
committerMarge Bot <eric+marge@anholt.net>2020-04-29 11:51:04 +0000
commit7056714f5039e8f4302075677d962b5dd925e107 (patch)
treeddb69d6bb7286445554fe5175b4bf5f63ce439c2
parentbaa46878d4533f21d12bc93d5eed09436b3cc9fd (diff)
aco: Set config->lds_size when TES or VS is running on HW ESGS.
This doesn't fix anything, just reports the LDS size used by merged ESGS shaders, such as vertex_geometry_gs and tess_eval_geometry_gs. Signed-off-by: Timur Kristóf <timur.kristof@gmail.com> Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4388>
-rw-r--r--src/amd/compiler/aco_instruction_selection_setup.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/amd/compiler/aco_instruction_selection_setup.cpp b/src/amd/compiler/aco_instruction_selection_setup.cpp
index bf4b34c6e3e..dee86585c8e 100644
--- a/src/amd/compiler/aco_instruction_selection_setup.cpp
+++ b/src/amd/compiler/aco_instruction_selection_setup.cpp
@@ -835,6 +835,7 @@ void setup_gs_variables(isel_context *ctx, nir_shader *nir)
nir_foreach_variable(variable, &nir->inputs) {
variable->data.driver_location = util_bitcount64(ctx->input_masks[nir->info.stage] & ((1ull << variable->data.location) - 1ull)) * 4;
}
+ ctx->program->config->lds_size = ctx->program->info->gs_ring_info.lds_size; /* Already in units of the alloc granularity */
} else if (ctx->stage == geometry_gs) {
//TODO: make this more compact
nir_foreach_variable(variable, &nir->inputs) {