nir/lower_system_values: Support SYSTEM_VALUE_LOCAL_GROUP_SIZE

Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
This commit is contained in:
Jason Ekstrand
2018-03-21 17:18:05 -07:00
parent f3353e53db
commit 131d454c35

View File

@@ -101,6 +101,16 @@ convert_block(nir_block *block, nir_builder *b)
break;
}
case SYSTEM_VALUE_LOCAL_GROUP_SIZE: {
nir_const_value local_size;
memset(&local_size, 0, sizeof(local_size));
local_size.u32[0] = b->shader->info.cs.local_size[0];
local_size.u32[1] = b->shader->info.cs.local_size[1];
local_size.u32[2] = b->shader->info.cs.local_size[2];
sysval = nir_build_imm(b, 3, 32, local_size);
break;
}
case SYSTEM_VALUE_VERTEX_ID:
if (b->shader->options->vertex_id_zero_based) {
sysval = nir_iadd(b,