radv: track whether gl_BaseInstance is used
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8788>
This commit is contained in:
committed by
Marge Bot
parent
75a2476dfb
commit
1ffa615444
@@ -270,6 +270,7 @@ struct radv_shader_info {
|
||||
bool tcs_in_out_eq;
|
||||
uint64_t tcs_temp_only_input_mask;
|
||||
uint8_t num_linked_outputs;
|
||||
bool needs_base_instance;
|
||||
} vs;
|
||||
struct {
|
||||
uint8_t output_usage_mask[VARYING_SLOT_VAR31 + 1];
|
||||
|
||||
@@ -158,6 +158,9 @@ gather_intrinsic_info(const nir_shader *nir, const nir_intrinsic_instr *instr,
|
||||
case nir_intrinsic_load_draw_id:
|
||||
info->vs.needs_draw_id = true;
|
||||
break;
|
||||
case nir_intrinsic_load_base_instance:
|
||||
info->vs.needs_base_instance = true;
|
||||
break;
|
||||
case nir_intrinsic_load_instance_id:
|
||||
info->vs.needs_instance_id = true;
|
||||
break;
|
||||
@@ -323,8 +326,10 @@ gather_info_input_decl_vs(const nir_shader *nir, const nir_variable *var,
|
||||
for (unsigned i = 0; i < attrib_count; ++i) {
|
||||
unsigned attrib_index = var->data.location + i - VERT_ATTRIB_GENERIC0;
|
||||
|
||||
if (key->vs.instance_rate_inputs & (1u << attrib_index))
|
||||
if (key->vs.instance_rate_inputs & (1u << attrib_index)) {
|
||||
info->vs.needs_instance_id = true;
|
||||
info->vs.needs_base_instance = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user