radeonsi: precompute si_*_descriptors_idx in si_shader_selector
[mesa.git] / src / gallium / drivers / radeonsi / si_state_shaders.c
index 16a6f1fcc90ac35b28fb6a51dc2aaa3037dd88c6..b754b03ca95682e24833f9a2ab233408d49be1fd 100644 (file)
@@ -2604,6 +2604,11 @@ static void *si_create_shader_selector(struct pipe_context *ctx,
    si_nir_scan_shader(sel->nir, &sel->info);
 
    sel->type = pipe_shader_type_from_mesa(sel->info.stage);
+   sel->const_and_shader_buf_descriptors_index =
+      si_const_and_shader_buffer_descriptors_idx(sel->type);
+   sel->sampler_and_images_descriptors_index =
+      si_sampler_and_image_descriptors_idx(sel->type);
+
    p_atomic_inc(&sscreen->num_shaders_created);
    si_get_active_slot_masks(&sel->info, &sel->active_const_and_shader_buffers,
                             &sel->active_samplers_and_images);