radeonsi/nir: fix number of used samplers
Commitf3e978dbincorrectly assumed the maximum number of samplers was equal to the max number of defined samplers e.g. where bindings skip slots. This fixes an assert in si_nir_load_sampler_desc() for an enemy territory quake wars shader. And fixes potential bugs with incorrect bounds limiting in the same code for production builds of mesa. Fixes:f3e978db("radeonsi/nir: Remove uniform variable scanning") Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
This commit is contained in:
@@ -783,7 +783,7 @@ void si_nir_scan_shader(const struct nir_shader *nir,
|
||||
if (nir->num_uniforms > 0)
|
||||
info->const_buffers_declared |= 1;
|
||||
info->images_declared = u_bit_consecutive(0, nir->info.num_images);
|
||||
info->samplers_declared = u_bit_consecutive(0, nir->info.num_textures);
|
||||
info->samplers_declared = nir->info.textures_used;
|
||||
|
||||
info->num_written_clipdistance = nir->info.clip_distance_array_size;
|
||||
info->num_written_culldistance = nir->info.cull_distance_array_size;
|
||||
|
||||
Reference in New Issue
Block a user