radv: determine if a shader uses indirect descriptors from the SGPR loc
If the SGPR loc is declared, the shader needs indirect descriptor sets. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13149>
This commit is contained in:
committed by
Marge Bot
parent
2d4fc61bff
commit
113ce21528
@@ -5317,7 +5317,9 @@ visit_load_tess_coord(isel_context* ctx, nir_intrinsic_instr* instr)
|
||||
Temp
|
||||
load_desc_ptr(isel_context* ctx, unsigned desc_set)
|
||||
{
|
||||
if (ctx->program->info->need_indirect_descriptor_sets) {
|
||||
struct radv_userdata_locations *user_sgprs_locs = &ctx->program->info->user_sgprs_locs;
|
||||
|
||||
if (user_sgprs_locs->shader_data[AC_UD_INDIRECT_DESCRIPTOR_SETS].sgpr_idx != -1) {
|
||||
Builder bld(ctx->program, ctx->block);
|
||||
Temp ptr64 = convert_pointer_to_64_bit(ctx, get_arg(ctx, ctx->args->descriptor_sets[0]));
|
||||
Operand off = bld.copy(bld.def(s1), Operand::c32(desc_set << 2));
|
||||
|
||||
Reference in New Issue
Block a user