On 8/11/22 15:26, Francisco Casas wrote:
diff --git a/libs/vkd3d-shader/hlsl.c b/libs/vkd3d-shader/hlsl.c index a47e3d2d..f076f9cf 100644 --- a/libs/vkd3d-shader/hlsl.c +++ b/libs/vkd3d-shader/hlsl.c @@ -558,15 +558,18 @@ unsigned int hlsl_type_component_count(const struct hlsl_type *type) { return hlsl_type_component_count(type->e.array.type) * type->e.array.elements_count; }
- if (type->type != HLSL_CLASS_STRUCT)
- if (type->type == HLSL_CLASS_OBJECT) {
ERR("Unexpected data type %#x.\n", type->type);
return 0;
return 1; }
- for (i = 0; i < type->e.record.field_count; ++i)
count += hlsl_type_component_count(type->e.record.fields[i].type);
- return count;
- if (type->type == HLSL_CLASS_STRUCT)
- {
for (i = 0; i < type->e.record.field_count; ++i)
count += hlsl_type_component_count(type->e.record.fields[i].type);
return count;
- }
- assert(0);
- return 0; }
This function is ripe for a switch statement.