Giovanni Mascellani (@giomasce) commented about include/vkd3d_shader.h:
+struct vkd3d_shader_d3d_type +{ + /** Type kind, e.g. scalar, vector, struct, or object. */ + enum vkd3d_shader_d3d_type_kind kind; + /** Specific numeric or object type. */ + enum vkd3d_shader_d3d_base_type base_type; + /** Number of rows. */ + uint32_t row_count; + /** Number of columns. */ + uint32_t column_count; + /** Number of elements in an array, or 0 if this type is not an array. */ + uint32_t element_count; + /** Number of struct fields, or 0 if this type is not a struct. */ + uint32_t field_count; + /** Name of the type, or NULL if the type has no name. */ + const char *name; In general I'd avoid using `const` in structure fields, which tends to require unnecessary casting and make the structure less useful in its own for the client application.
-- https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/606#note_59604