spirv: Tidy some repeated if checks by using a switch statement.

Iago suggested tidying this.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
Kenneth Graunke
2017-01-09 21:48:55 -08:00
parent bb04b84114
commit 1e5b09f42f

View File

@@ -1064,17 +1064,18 @@ apply_var_decoration(struct vtn_builder *b, nir_variable *nir_var,
vtn_get_builtin_location(b, builtin, &nir_var->data.location, &mode);
nir_var->data.mode = mode;
if (builtin == SpvBuiltInTessLevelOuter ||
builtin == SpvBuiltInTessLevelInner) {
switch (builtin) {
case SpvBuiltInTessLevelOuter:
case SpvBuiltInTessLevelInner:
nir_var->data.compact = true;
}
if (builtin == SpvBuiltInFragCoord || builtin == SpvBuiltInSamplePosition)
break;
case SpvBuiltInSamplePosition:
nir_var->data.origin_upper_left = b->origin_upper_left;
if (builtin == SpvBuiltInFragCoord)
/* fallthrough */
case SpvBuiltInFragCoord:
nir_var->data.pixel_center_integer = b->pixel_center_integer;
break;
break;
}
}
case SpvDecorationSpecId: