diff options
author | Samuel Pitoiset <samuel.pitoiset@gmail.com> | 2019-09-12 15:58:25 +0200 |
---|---|---|
committer | Dylan Baker <dylan@pnwbakers.com> | 2019-09-18 09:09:54 -0700 |
commit | cd0402c58205c841f6a9b3184dd642f87fafa1bd (patch) | |
tree | 95378d515b61803c9e3bb9b1e123b3c9a8985807 | |
parent | 110dc21ed3a7e5a46a3d1d35ea2a3bf062e6e50f (diff) |
radv: fix allocating number of user sgprs if streamout is used
streamout_buffers is assigned after that function, so the previous
fix was completely wrong. This probably fix something when streamout
buffers and push constants are used/inlined in the same shader.
Fixes: 378e2d24143 ("radv: fix computing number of user SGPRs for streamout buffers")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
(cherry picked from commit 8137df3a46abc6aa6ad0c7179d042e76ca2b2299)
[Juan A. Suarez: fix the structure usage]
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
-rw-r--r-- | src/amd/vulkan/radv_nir_to_llvm.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/amd/vulkan/radv_nir_to_llvm.c b/src/amd/vulkan/radv_nir_to_llvm.c index c7c837d16f0..3860a8c715b 100644 --- a/src/amd/vulkan/radv_nir_to_llvm.c +++ b/src/amd/vulkan/radv_nir_to_llvm.c @@ -754,7 +754,7 @@ 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) + if (ctx->shader_info->info.so.num_outputs) user_sgpr_count++; uint32_t available_sgprs = ctx->options->chip_class >= GFX9 && stage != MESA_SHADER_COMPUTE ? 32 : 16; |