Giovanni Mascellani (@giomasce) commented about libs/vkd3d-shader/dxil.c:
}
+static bool resource_kind_is_texture(enum dxil_resource_kind kind) +{
- return kind >= RESOURCE_KIND_TEXTURE1D && kind <= RESOURCE_KIND_TEXTURECUBEARRAY;
+}
+static bool resource_kind_is_multisampled(enum dxil_resource_kind kind) +{
- return kind == RESOURCE_KIND_TEXTURE2DMS || kind == RESOURCE_KIND_TEXTURE2DMSARRAY;
+}
+static enum vkd3d_shader_resource_type shader_resource_type_from_dxil_resource_kind(enum dxil_resource_kind kind) +{
- if (resource_kind_is_texture(kind))
return kind + 1;
If feels quite fragile to rely on numerical values here. I'd just enumerate the switch cases or use a static array, it's not terribly long or hard to maintain.