aboutsummaryrefslogtreecommitdiffstats
path: root/src/amd
diff options
context:
space:
mode:
authorSamuel Pitoiset <[email protected]>2019-01-23 10:29:11 +0100
committerSamuel Pitoiset <[email protected]>2019-01-25 15:36:16 +0100
commit378e2d241430f7d653717b9270c8b48417dcf12e (patch)
treede0697d2c415dd13e21391473447d43d80949bc4 /src/amd
parent65b8d723fde7e63f703e76400d2c6ad0068e462f (diff)
radv: fix computing number of user SGPRs for streamout buffers
Streamout buffers are emitted like push constants. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Diffstat (limited to 'src/amd')
-rw-r--r--src/amd/vulkan/radv_nir_to_llvm.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/amd/vulkan/radv_nir_to_llvm.c b/src/amd/vulkan/radv_nir_to_llvm.c
index 40812fa7ffb..7f1aa17b0d5 100644
--- a/src/amd/vulkan/radv_nir_to_llvm.c
+++ b/src/amd/vulkan/radv_nir_to_llvm.c
@@ -701,6 +701,9 @@ static void allocate_user_sgprs(struct radv_shader_context *ctx,
if (ctx->shader_info->info.loads_push_constants)
user_sgpr_count++;
+ if (ctx->streamout_buffers)
+ user_sgpr_count++;
+
uint32_t available_sgprs = ctx->options->chip_class >= GFX9 && stage != MESA_SHADER_COMPUTE ? 32 : 16;
uint32_t remaining_sgprs = available_sgprs - user_sgpr_count;
uint32_t num_desc_set =