1#[repr(i32)]
5#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
6pub enum VkStructureType {
7 ApplicationInfo = 0,
8 InstanceCreateInfo = 1,
9 DeviceQueueCreateInfo = 2,
10 DeviceCreateInfo = 3,
11 SubmitInfo = 4,
12 MemoryAllocateInfo = 5,
13 MappedMemoryRange = 6,
14 FenceCreateInfo = 8,
15 SemaphoreCreateInfo = 9,
16 EventCreateInfo = 10,
17 QueryPoolCreateInfo = 11,
18 BufferCreateInfo = 12,
19 PipelineShaderStageCreateInfo = 18,
20 ComputePipelineCreateInfo = 29,
21 PipelineLayoutCreateInfo = 30,
22 DescriptorSetLayoutCreateInfo = 32,
23 DescriptorPoolCreateInfo = 33,
24 DescriptorSetAllocateInfo = 34,
25 WriteDescriptorSet = 35,
26 CopyDescriptorSet = 36,
27 ShaderModuleCreateInfo = 38,
28 CommandPoolCreateInfo = 39,
29 CommandBufferAllocateInfo = 40,
30 CommandBufferBeginInfo = 42,
31 BufferMemoryBarrier = 44,
32 MemoryBarrier = 46,
33 PipelineCacheCreateInfo = 47,
34 SemaphoreTypeCreateInfo = 1000207002,
36 TimelineSemaphoreSubmitInfo = 1000207003,
37 SemaphoreWaitInfo = 1000207004,
38}
39
40#[repr(u32)]
42#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
43pub enum VkQueueFlagBits {
44 Compute = 0x00000002,
45 Transfer = 0x00000004,
46 SparseBinding = 0x00000008,
47}
48
49#[repr(u32)]
51#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
52pub enum VkMemoryPropertyFlagBits {
53 DeviceLocal = 0x00000001,
54 HostVisible = 0x00000002,
55 HostCoherent = 0x00000004,
56 HostCached = 0x00000008,
57 LazilyAllocated = 0x00000010,
58}
59
60#[repr(u32)]
62#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
63pub enum VkBufferUsageFlagBits {
64 TransferSrc = 0x00000001,
65 TransferDst = 0x00000002,
66 UniformBuffer = 0x00000010,
67 StorageBuffer = 0x00000020,
68 IndexBuffer = 0x00000040,
69 VertexBuffer = 0x00000080,
70 IndirectBuffer = 0x00000100,
71}
72
73#[repr(i32)]
75#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
76pub enum VkSharingMode {
77 Exclusive = 0,
78 Concurrent = 1,
79}
80
81#[repr(i32)]
83#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
84pub enum VkPipelineBindPoint {
85 Compute = 1,
86}
87
88#[repr(i32)]
90#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
91pub enum VkCommandBufferLevel {
92 Primary = 0,
93 Secondary = 1,
94}
95
96#[repr(u32)]
98#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
99pub enum VkCommandBufferUsageFlagBits {
100 OneTimeSubmit = 0x00000001,
101 SimultaneousUse = 0x00000004,
102}
103
104#[repr(u32)]
106#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
107pub enum VkShaderStageFlagBits {
108 Compute = 0x00000020,
109}
110
111#[repr(i32)]
113#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
114pub enum VkDescriptorType {
115 Sampler = 0,
116 SampledImage = 2,
117 StorageImage = 3,
118 UniformBuffer = 6,
119 StorageBuffer = 7,
120 UniformBufferDynamic = 8,
121 StorageBufferDynamic = 9,
122}
123
124#[repr(u32)]
126#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
127pub enum VkPipelineStageFlagBits {
128 TopOfPipe = 0x00000001,
129 ComputeShader = 0x00000800,
130 BottomOfPipe = 0x00002000,
131 Host = 0x00004000,
132 AllCommands = 0x00010000,
133}
134
135#[repr(u32)]
137#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
138pub enum VkAccessFlagBits {
139 IndirectCommandRead = 0x00000001,
140 IndexRead = 0x00000002,
141 VertexAttributeRead = 0x00000004,
142 UniformRead = 0x00000008,
143 InputAttachmentRead = 0x00000010,
144 ShaderRead = 0x00000020,
145 ShaderWrite = 0x00000040,
146 TransferRead = 0x00000800,
147 TransferWrite = 0x00001000,
148 HostRead = 0x00002000,
149 HostWrite = 0x00004000,
150 MemoryRead = 0x00008000,
151 MemoryWrite = 0x00010000,
152}
153
154#[repr(i32)]
156#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
157pub enum VkSemaphoreType {
158 Binary = 0,
159 Timeline = 1,
160}
161
162#[repr(i32)]
164#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
165pub enum VkPhysicalDeviceType {
166 Other = 0,
167 IntegratedGpu = 1,
168 DiscreteGpu = 2,
169 VirtualGpu = 3,
170 Cpu = 4,
171}