spirv_reflect/types/
traits.rs1use crate::types::image::ReflectImageFormat;
2use crate::types::ReflectDimension;
3
4#[derive(Debug, Default, Clone, Serialize, PartialEq)]
5pub struct ReflectBindingArrayTraits {
6 pub dims: Vec<u32>,
7}
8
9#[derive(Default, Debug, Copy, Clone, Serialize, PartialEq)]
10pub struct ReflectNumericTraitsScalar {
11 pub width: u32,
12 pub signedness: u32,
13}
14
15#[derive(Default, Debug, Copy, Clone, Serialize, PartialEq)]
16pub struct ReflectNumericTraitsVector {
17 pub component_count: u32,
18}
19
20#[derive(Default, Debug, Copy, Clone, Serialize, PartialEq)]
21pub struct ReflectNumericTraitsMatrix {
22 pub column_count: u32,
23 pub row_count: u32,
24 pub stride: u32,
25}
26
27#[derive(Default, Debug, Copy, Clone, Serialize, PartialEq)]
28pub struct ReflectNumericTraits {
29 pub scalar: ReflectNumericTraitsScalar,
30 pub vector: ReflectNumericTraitsVector,
31 pub matrix: ReflectNumericTraitsMatrix,
32}
33
34#[derive(Default, Debug, Clone, Serialize, PartialEq)]
35pub struct ReflectArrayTraits {
36 pub dims: Vec<u32>,
37 pub stride: u32,
38}
39
40#[derive(Default, Debug, Clone, Serialize, PartialEq)]
41pub struct ReflectTypeDescriptionTraits {
42 pub numeric: ReflectNumericTraits,
43 pub image: ReflectImageTraits,
44 pub array: ReflectArrayTraits,
45}
46
47#[derive(Default, Debug, Copy, Clone, Serialize, PartialEq)]
48pub struct ReflectImageTraits {
49 pub dim: ReflectDimension,
50 pub depth: u32,
51 pub arrayed: u32,
52 pub ms: u32,
53 pub sampled: u32,
54 pub image_format: ReflectImageFormat,
55}