On Fri, Feb 2, 2018 at 5:03 AM, Timothy Arceri <tarc...@itsqueeze.com> wrote: > --- > src/gallium/drivers/radeonsi/si_shader_nir.c | 30 > +++++++++++++++++++++++++++- > 1 file changed, 29 insertions(+), 1 deletion(-) > > diff --git a/src/gallium/drivers/radeonsi/si_shader_nir.c > b/src/gallium/drivers/radeonsi/si_shader_nir.c > index 128be585cd..28b031d935 100644 > --- a/src/gallium/drivers/radeonsi/si_shader_nir.c > +++ b/src/gallium/drivers/radeonsi/si_shader_nir.c > @@ -86,6 +86,27 @@ static void scan_instruction(struct tgsi_shader_info *info, > case nir_intrinsic_load_invocation_id: > info->uses_invocationid = true; > break; > + case nir_intrinsic_load_num_work_groups: > + info->uses_grid_size = true; > + break; > + case nir_intrinsic_load_local_group_size: > + /* The block size is translated to IMM with a fixed > block size. */ > + if > (info->properties[TGSI_PROPERTY_CS_FIXED_BLOCK_WIDTH] == 0) > + info->uses_block_size = true; > + break; > + case nir_intrinsic_load_local_invocation_id: > + case nir_intrinsic_load_work_group_id: { > + unsigned mask = > nir_ssa_def_components_read(&intr->dest.ssa); > + while (mask) { > + unsigned i = u_bit_scan(&mask); > + > + if (intr->intrinsic == > nir_intrinsic_load_work_group_id) > + info->uses_block_id[i] = true; > + else > + info->uses_thread_id[i] = true; > + } > + break; > + } > case nir_intrinsic_load_vertex_id: > info->uses_vertexid = 1; > break; > @@ -226,7 +247,8 @@ void si_nir_scan_shader(const struct nir_shader *nir, > nir->info.stage == MESA_SHADER_GEOMETRY || > nir->info.stage == MESA_SHADER_TESS_CTRL || > nir->info.stage == MESA_SHADER_TESS_EVAL || > - nir->info.stage == MESA_SHADER_FRAGMENT); > + nir->info.stage == MESA_SHADER_FRAGMENT || > + nir->info.stage == MESA_SHADER_COMPUTE);
You can just remove this tautological assertion. Marek _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev