rspirv/sr/
autogen_types.rs

1// AUTOMATICALLY GENERATED from the SPIR-V JSON grammar:
2//   external/spirv.core.grammar.json.
3// DO NOT MODIFY!
4
5#[allow(clippy::upper_case_acronyms)]
6#[derive(Clone, Debug)]
7pub enum Type {
8    Void,
9    Bool,
10    Int {
11        width: u32,
12        signedness: u32,
13    },
14    Float {
15        width: u32,
16    },
17    Vector {
18        component_type: Token<Type>,
19        component_count: u32,
20    },
21    Matrix {
22        column_type: Token<Type>,
23        column_count: u32,
24    },
25    Image {
26        sampled_type: Token<Type>,
27        dim: spirv::Dim,
28        depth: u32,
29        arrayed: u32,
30        ms: u32,
31        sampled: u32,
32        image_format: spirv::ImageFormat,
33        access_qualifier: Option<spirv::AccessQualifier>,
34    },
35    Sampler,
36    SampledImage {
37        image_type: Token<Type>,
38    },
39    Array {
40        element_type: Token<Type>,
41        length: Token<Constant>,
42    },
43    RuntimeArray {
44        element_type: Token<Type>,
45    },
46    Struct {
47        member_0_type_member_1_type: Vec<StructMember>,
48    },
49    Opaque {
50        the_name_of_the_opaque_type: String,
51    },
52    Pointer {
53        storage_class: spirv::StorageClass,
54        ty: Token<Type>,
55    },
56    Function {
57        return_type: Token<Type>,
58        parameter_0_type_parameter_1_type: Vec<Token<Type>>,
59    },
60    Event,
61    DeviceEvent,
62    ReserveId,
63    Queue,
64    Pipe {
65        qualifier: spirv::AccessQualifier,
66    },
67    ForwardPointer {
68        pointer_type: Token<Type>,
69        storage_class: spirv::StorageClass,
70    },
71    PipeStorage,
72    NamedBarrier,
73    CooperativeMatrixKHR {
74        component_type: Token<Type>,
75        scope: spirv::Word,
76        rows: spirv::Word,
77        columns: spirv::Word,
78        usage: spirv::Word,
79    },
80    RayQueryKHR,
81    HitObjectNV,
82    AccelerationStructureKHR,
83    CooperativeMatrixNV {
84        component_type: Token<Type>,
85        execution: spirv::Word,
86        rows: spirv::Word,
87        columns: spirv::Word,
88    },
89    BufferSurfaceINTEL {
90        access_qualifier: spirv::AccessQualifier,
91    },
92    StructContinuedINTEL {
93        member_0_type_member_1_type: Vec<spirv::Word>,
94    },
95}