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.
-- https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/533#note_57956