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: 378e2d2414 ("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>
This commit is contained in:
@@ -649,7 +649,7 @@ static void allocate_user_sgprs(struct radv_shader_context *ctx,
|
||||
if (ctx->shader_info->loads_push_constants)
|
||||
user_sgpr_count++;
|
||||
|
||||
if (ctx->streamout_buffers)
|
||||
if (ctx->shader_info->so.num_outputs)
|
||||
user_sgpr_count++;
|
||||
|
||||
uint32_t available_sgprs = ctx->options->chip_class >= GFX9 && stage != MESA_SHADER_COMPUTE ? 32 : 16;
|
||||
|
||||
Reference in New Issue
Block a user