radeonsi: don't crash if input_usage_mask is 0 for a VS input

This will start happening with the lowered IO intrinstics and new scanning
code.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6445>
This commit is contained in:
Marek Olšák 2020-08-13 22:12:12 -04:00
parent bf23ff83e6
commit 0464ee7f9d
1 changed files with 7 additions and 1 deletions

View File

@ -132,8 +132,14 @@ static void load_input_vs(struct si_shader_context *ctx, unsigned input_index, L
return;
}
/* Do multiple loads for special formats. */
unsigned required_channels = util_last_bit(info->input_usage_mask[input_index]);
if (required_channels == 0) {
for (unsigned i = 0; i < 4; ++i)
out[i] = LLVMGetUndef(ctx->ac.f32);
return;
}
/* Do multiple loads for special formats. */
LLVMValueRef fetches[4];
unsigned num_fetches;
unsigned fetch_stride;