spirv: Support LocalSizeId and LocalSizeHintId execution modes

Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
This commit is contained in:
Jason Ekstrand
2019-01-22 13:55:20 -06:00
committed by Jason Ekstrand
parent 7223590c42
commit ab940b0d97

View File

@@ -3826,7 +3826,15 @@ vtn_handle_execution_mode(struct vtn_builder *b, struct vtn_value *entry_point,
b->shader->info.cs.local_size[1] = mode->literals[1];
b->shader->info.cs.local_size[2] = mode->literals[2];
break;
case SpvExecutionModeLocalSizeId:
b->shader->info.cs.local_size[0] = vtn_constant_uint(b, mode->literals[0]);
b->shader->info.cs.local_size[1] = vtn_constant_uint(b, mode->literals[1]);
b->shader->info.cs.local_size[2] = vtn_constant_uint(b, mode->literals[2]);
break;
case SpvExecutionModeLocalSizeHint:
case SpvExecutionModeLocalSizeHintId:
break; /* Nothing to do with this */
case SpvExecutionModeOutputVertices: