vulkanalia_sys/
bitmasks.rs1#![allow(
9 non_camel_case_types,
10 non_snake_case,
11 clippy::bad_bit_mask,
12 clippy::let_unit_value,
13 clippy::missing_safety_doc,
14 clippy::missing_transmute_annotations,
15 clippy::needless_lifetimes,
16 clippy::too_many_arguments,
17 clippy::type_complexity,
18 clippy::unnecessary_cast,
19 clippy::upper_case_acronyms,
20 clippy::useless_transmute
21)]
22
23use bitflags::bitflags;
24
25use crate::{Flags, Flags64};
26
27bitflags! {
28 #[repr(transparent)]
30 #[derive(Default)]
31 pub struct AccelerationStructureCreateFlagsKHR: Flags {
32 const DEVICE_ADDRESS_CAPTURE_REPLAY = 1;
33 const MOTION_NV = 1 << 2;
34 const DESCRIPTOR_BUFFER_CAPTURE_REPLAY_EXT = 1 << 3;
35 }
36}
37
38bitflags! {
39 #[repr(transparent)]
41 #[derive(Default)]
42 pub struct AccelerationStructureMotionInfoFlagsNV: Flags { }
43}
44
45bitflags! {
46 #[repr(transparent)]
48 #[derive(Default)]
49 pub struct AccelerationStructureMotionInstanceFlagsNV: Flags { }
50}
51
52bitflags! {
53 #[repr(transparent)]
55 #[derive(Default)]
56 pub struct AccessFlags: Flags {
57 const INDIRECT_COMMAND_READ = 1;
58 const INDEX_READ = 1 << 1;
59 const VERTEX_ATTRIBUTE_READ = 1 << 2;
60 const UNIFORM_READ = 1 << 3;
61 const INPUT_ATTACHMENT_READ = 1 << 4;
62 const SHADER_READ = 1 << 5;
63 const SHADER_WRITE = 1 << 6;
64 const COLOR_ATTACHMENT_READ = 1 << 7;
65 const COLOR_ATTACHMENT_WRITE = 1 << 8;
66 const DEPTH_STENCIL_ATTACHMENT_READ = 1 << 9;
67 const DEPTH_STENCIL_ATTACHMENT_WRITE = 1 << 10;
68 const TRANSFER_READ = 1 << 11;
69 const TRANSFER_WRITE = 1 << 12;
70 const HOST_READ = 1 << 13;
71 const HOST_WRITE = 1 << 14;
72 const MEMORY_READ = 1 << 15;
73 const MEMORY_WRITE = 1 << 16;
74 const COMMAND_PREPROCESS_READ_EXT = 1 << 17;
75 const COMMAND_PREPROCESS_WRITE_EXT = 1 << 18;
76 const COLOR_ATTACHMENT_READ_NONCOHERENT_EXT = 1 << 19;
77 const CONDITIONAL_RENDERING_READ_EXT = 1 << 20;
78 const ACCELERATION_STRUCTURE_READ_KHR = 1 << 21;
79 const ACCELERATION_STRUCTURE_WRITE_KHR = 1 << 22;
80 const FRAGMENT_SHADING_RATE_ATTACHMENT_READ_KHR = 1 << 23;
81 const FRAGMENT_DENSITY_MAP_READ_EXT = 1 << 24;
82 const TRANSFORM_FEEDBACK_WRITE_EXT = 1 << 25;
83 const TRANSFORM_FEEDBACK_COUNTER_READ_EXT = 1 << 26;
84 const TRANSFORM_FEEDBACK_COUNTER_WRITE_EXT = 1 << 27;
85 }
86}
87
88bitflags! {
89 #[repr(transparent)]
91 #[derive(Default)]
92 pub struct AccessFlags2: Flags64 {
93 const NONE = 0;
94 const INDIRECT_COMMAND_READ = 1;
95 const INDEX_READ = 1 << 1;
96 const VERTEX_ATTRIBUTE_READ = 1 << 2;
97 const UNIFORM_READ = 1 << 3;
98 const INPUT_ATTACHMENT_READ = 1 << 4;
99 const SHADER_READ = 1 << 5;
100 const SHADER_WRITE = 1 << 6;
101 const COLOR_ATTACHMENT_READ = 1 << 7;
102 const COLOR_ATTACHMENT_WRITE = 1 << 8;
103 const DEPTH_STENCIL_ATTACHMENT_READ = 1 << 9;
104 const DEPTH_STENCIL_ATTACHMENT_WRITE = 1 << 10;
105 const TRANSFER_READ = 1 << 11;
106 const TRANSFER_WRITE = 1 << 12;
107 const HOST_READ = 1 << 13;
108 const HOST_WRITE = 1 << 14;
109 const MEMORY_READ = 1 << 15;
110 const MEMORY_WRITE = 1 << 16;
111 const COMMAND_PREPROCESS_READ_EXT = 1 << 17;
112 const COMMAND_PREPROCESS_WRITE_EXT = 1 << 18;
113 const COLOR_ATTACHMENT_READ_NONCOHERENT_EXT = 1 << 19;
114 const CONDITIONAL_RENDERING_READ_EXT = 1 << 20;
115 const ACCELERATION_STRUCTURE_READ_KHR = 1 << 21;
116 const ACCELERATION_STRUCTURE_WRITE_KHR = 1 << 22;
117 const FRAGMENT_SHADING_RATE_ATTACHMENT_READ_KHR = 1 << 23;
118 const FRAGMENT_DENSITY_MAP_READ_EXT = 1 << 24;
119 const TRANSFORM_FEEDBACK_WRITE_EXT = 1 << 25;
120 const TRANSFORM_FEEDBACK_COUNTER_READ_EXT = 1 << 26;
121 const TRANSFORM_FEEDBACK_COUNTER_WRITE_EXT = 1 << 27;
122 const SHADER_SAMPLED_READ = 1 << 32;
123 const SHADER_STORAGE_READ = 1 << 33;
124 const SHADER_STORAGE_WRITE = 1 << 34;
125 const VIDEO_DECODE_READ_KHR = 1 << 35;
126 const VIDEO_DECODE_WRITE_KHR = 1 << 36;
127 const VIDEO_ENCODE_READ_KHR = 1 << 37;
128 const VIDEO_ENCODE_WRITE_KHR = 1 << 38;
129 const INVOCATION_MASK_READ_HUAWEI = 1 << 39;
130 const SHADER_BINDING_TABLE_READ_KHR = 1 << 40;
131 const DESCRIPTOR_BUFFER_READ_EXT = 1 << 41;
132 const OPTICAL_FLOW_READ_NV = 1 << 42;
133 const OPTICAL_FLOW_WRITE_NV = 1 << 43;
134 const MICROMAP_READ_EXT = 1 << 44;
135 const MICROMAP_WRITE_EXT = 1 << 45;
136 const DATA_GRAPH_READ_ARM = 1 << 47;
137 const DATA_GRAPH_WRITE_ARM = 1 << 48;
138 const SHADER_TILE_ATTACHMENT_READ_QCOM = 1 << 51;
139 const SHADER_TILE_ATTACHMENT_WRITE_QCOM = 1 << 52;
140 const MEMORY_DECOMPRESSION_READ_EXT = 1 << 55;
141 const MEMORY_DECOMPRESSION_WRITE_EXT = 1 << 56;
142 }
143}
144
145bitflags! {
146 #[repr(transparent)]
148 #[derive(Default)]
149 pub struct AccessFlags3KHR: Flags {
150 const NONE = 0;
151 }
152}
153
154bitflags! {
155 #[repr(transparent)]
157 #[derive(Default)]
158 pub struct AcquireProfilingLockFlagsKHR: Flags { }
159}
160
161bitflags! {
162 #[repr(transparent)]
164 #[derive(Default)]
165 pub struct AddressCopyFlagsKHR: Flags {
166 const DEVICE_LOCAL = 1;
167 const SPARSE = 1 << 1;
168 const PROTECTED = 1 << 2;
169 }
170}
171
172bitflags! {
173 #[repr(transparent)]
175 #[derive(Default)]
176 pub struct AndroidSurfaceCreateFlagsKHR: Flags { }
177}
178
179bitflags! {
180 #[repr(transparent)]
182 #[derive(Default)]
183 pub struct AttachmentDescriptionFlags: Flags {
184 const MAY_ALIAS = 1;
185 const RESOLVE_SKIP_TRANSFER_FUNCTION_KHR = 1 << 1;
186 const RESOLVE_ENABLE_TRANSFER_FUNCTION_KHR = 1 << 2;
187 }
188}
189
190bitflags! {
191 #[repr(transparent)]
193 #[derive(Default)]
194 pub struct BufferCreateFlags: Flags {
195 const SPARSE_BINDING = 1;
196 const SPARSE_RESIDENCY = 1 << 1;
197 const SPARSE_ALIASED = 1 << 2;
198 const PROTECTED = 1 << 3;
199 const DEVICE_ADDRESS_CAPTURE_REPLAY = 1 << 4;
200 const DESCRIPTOR_BUFFER_CAPTURE_REPLAY_EXT = 1 << 5;
201 const VIDEO_PROFILE_INDEPENDENT_KHR = 1 << 6;
202 }
203}
204
205bitflags! {
206 #[repr(transparent)]
208 #[derive(Default)]
209 pub struct BufferUsageFlags: Flags {
210 const TRANSFER_SRC = 1;
211 const TRANSFER_DST = 1 << 1;
212 const UNIFORM_TEXEL_BUFFER = 1 << 2;
213 const STORAGE_TEXEL_BUFFER = 1 << 3;
214 const UNIFORM_BUFFER = 1 << 4;
215 const STORAGE_BUFFER = 1 << 5;
216 const INDEX_BUFFER = 1 << 6;
217 const VERTEX_BUFFER = 1 << 7;
218 const INDIRECT_BUFFER = 1 << 8;
219 const CONDITIONAL_RENDERING_EXT = 1 << 9;
220 const SHADER_BINDING_TABLE_KHR = 1 << 10;
221 const TRANSFORM_FEEDBACK_BUFFER_EXT = 1 << 11;
222 const TRANSFORM_FEEDBACK_COUNTER_BUFFER_EXT = 1 << 12;
223 const VIDEO_DECODE_SRC_KHR = 1 << 13;
224 const VIDEO_DECODE_DST_KHR = 1 << 14;
225 const VIDEO_ENCODE_DST_KHR = 1 << 15;
226 const VIDEO_ENCODE_SRC_KHR = 1 << 16;
227 const SHADER_DEVICE_ADDRESS = 1 << 17;
228 const ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_KHR = 1 << 19;
229 const ACCELERATION_STRUCTURE_STORAGE_KHR = 1 << 20;
230 const SAMPLER_DESCRIPTOR_BUFFER_EXT = 1 << 21;
231 const RESOURCE_DESCRIPTOR_BUFFER_EXT = 1 << 22;
232 const MICROMAP_BUILD_INPUT_READ_ONLY_EXT = 1 << 23;
233 const MICROMAP_STORAGE_EXT = 1 << 24;
234 const EXECUTION_GRAPH_SCRATCH_AMDX = 1 << 25;
235 const PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_EXT = 1 << 26;
236 const TILE_MEMORY_QCOM = 1 << 27;
237 }
238}
239
240bitflags! {
241 #[repr(transparent)]
243 #[derive(Default)]
244 pub struct BufferUsageFlags2: Flags64 {
245 const TRANSFER_SRC = 1;
246 const TRANSFER_DST = 1 << 1;
247 const UNIFORM_TEXEL_BUFFER = 1 << 2;
248 const STORAGE_TEXEL_BUFFER = 1 << 3;
249 const UNIFORM_BUFFER = 1 << 4;
250 const STORAGE_BUFFER = 1 << 5;
251 const INDEX_BUFFER = 1 << 6;
252 const VERTEX_BUFFER = 1 << 7;
253 const INDIRECT_BUFFER = 1 << 8;
254 const CONDITIONAL_RENDERING_EXT = 1 << 9;
255 const SHADER_BINDING_TABLE_KHR = 1 << 10;
256 const TRANSFORM_FEEDBACK_BUFFER_EXT = 1 << 11;
257 const TRANSFORM_FEEDBACK_COUNTER_BUFFER_EXT = 1 << 12;
258 const VIDEO_DECODE_SRC_KHR = 1 << 13;
259 const VIDEO_DECODE_DST_KHR = 1 << 14;
260 const VIDEO_ENCODE_DST_KHR = 1 << 15;
261 const VIDEO_ENCODE_SRC_KHR = 1 << 16;
262 const SHADER_DEVICE_ADDRESS = 1 << 17;
263 const ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_KHR = 1 << 19;
264 const ACCELERATION_STRUCTURE_STORAGE_KHR = 1 << 20;
265 const SAMPLER_DESCRIPTOR_BUFFER_EXT = 1 << 21;
266 const RESOURCE_DESCRIPTOR_BUFFER_EXT = 1 << 22;
267 const MICROMAP_BUILD_INPUT_READ_ONLY_EXT = 1 << 23;
268 const MICROMAP_STORAGE_EXT = 1 << 24;
269 const EXECUTION_GRAPH_SCRATCH_AMDX = 1 << 25;
270 const PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_EXT = 1 << 26;
271 const TILE_MEMORY_QCOM = 1 << 27;
272 const DATA_GRAPH_FOREIGN_DESCRIPTOR_ARM = 1 << 29;
273 const PREPROCESS_BUFFER_EXT = 1 << 31;
274 const MEMORY_DECOMPRESSION_EXT = 1 << 32;
275 const COMPRESSED_DATA_DGF1_AMDX = 1 << 33;
276 }
277}
278
279bitflags! {
280 #[repr(transparent)]
282 #[derive(Default)]
283 pub struct BufferViewCreateFlags: Flags { }
284}
285
286bitflags! {
287 #[repr(transparent)]
289 #[derive(Default)]
290 pub struct BuildAccelerationStructureFlagsKHR: Flags {
291 const ALLOW_UPDATE = 1;
292 const ALLOW_COMPACTION = 1 << 1;
293 const PREFER_FAST_TRACE = 1 << 2;
294 const PREFER_FAST_BUILD = 1 << 3;
295 const LOW_MEMORY = 1 << 4;
296 const MOTION_NV = 1 << 5;
297 const ALLOW_OPACITY_MICROMAP_UPDATE_EXT = 1 << 6;
298 const ALLOW_DISABLE_OPACITY_MICROMAPS_EXT = 1 << 7;
299 const ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT = 1 << 8;
300 const ALLOW_DISPLACEMENT_MICROMAP_UPDATE_NV = 1 << 9;
301 const ALLOW_DATA_ACCESS = 1 << 11;
302 const ALLOW_CLUSTER_OPACITY_MICROMAPS_NV = 1 << 12;
303 }
304}
305
306bitflags! {
307 #[repr(transparent)]
309 #[derive(Default)]
310 pub struct BuildMicromapFlagsEXT: Flags {
311 const PREFER_FAST_TRACE = 1;
312 const PREFER_FAST_BUILD = 1 << 1;
313 const ALLOW_COMPACTION = 1 << 2;
314 }
315}
316
317bitflags! {
318 #[repr(transparent)]
320 #[derive(Default)]
321 pub struct ClusterAccelerationStructureAddressResolutionFlagsNV: Flags {
322 const NONE = 0;
323 const INDIRECTED_DST_IMPLICIT_DATA = 1;
324 const INDIRECTED_SCRATCH_DATA = 1 << 1;
325 const INDIRECTED_DST_ADDRESS_ARRAY = 1 << 2;
326 const INDIRECTED_DST_SIZES_ARRAY = 1 << 3;
327 const INDIRECTED_SRC_INFOS_ARRAY = 1 << 4;
328 const INDIRECTED_SRC_INFOS_COUNT = 1 << 5;
329 }
330}
331
332bitflags! {
333 #[repr(transparent)]
335 #[derive(Default)]
336 pub struct ClusterAccelerationStructureClusterFlagsNV: Flags {
337 const ALLOW_DISABLE_OPACITY_MICROMAPS = 1;
338 }
339}
340
341bitflags! {
342 #[repr(transparent)]
344 #[derive(Default)]
345 pub struct ClusterAccelerationStructureGeometryFlagsNV: Flags {
346 const CULL_DISABLE = 1;
347 const NO_DUPLICATE_ANYHIT_INVOCATION = 1 << 1;
348 const OPAQUE = 1 << 2;
349 }
350}
351
352bitflags! {
353 #[repr(transparent)]
355 #[derive(Default)]
356 pub struct ClusterAccelerationStructureIndexFormatFlagsNV: Flags {
357 const _8BIT = 1;
358 const _16BIT = 1 << 1;
359 const _32BIT = 1 << 2;
360 }
361}
362
363bitflags! {
364 #[repr(transparent)]
366 #[derive(Default)]
367 pub struct ColorComponentFlags: Flags {
368 const R = 1;
369 const G = 1 << 1;
370 const B = 1 << 2;
371 const A = 1 << 3;
372 }
373}
374
375bitflags! {
376 #[repr(transparent)]
378 #[derive(Default)]
379 pub struct CommandBufferResetFlags: Flags {
380 const RELEASE_RESOURCES = 1;
381 }
382}
383
384bitflags! {
385 #[repr(transparent)]
387 #[derive(Default)]
388 pub struct CommandBufferUsageFlags: Flags {
389 const ONE_TIME_SUBMIT = 1;
390 const RENDER_PASS_CONTINUE = 1 << 1;
391 const SIMULTANEOUS_USE = 1 << 2;
392 }
393}
394
395bitflags! {
396 #[repr(transparent)]
398 #[derive(Default)]
399 pub struct CommandPoolCreateFlags: Flags {
400 const TRANSIENT = 1;
401 const RESET_COMMAND_BUFFER = 1 << 1;
402 const PROTECTED = 1 << 2;
403 }
404}
405
406bitflags! {
407 #[repr(transparent)]
409 #[derive(Default)]
410 pub struct CommandPoolResetFlags: Flags {
411 const RELEASE_RESOURCES = 1;
412 }
413}
414
415bitflags! {
416 #[repr(transparent)]
418 #[derive(Default)]
419 pub struct CommandPoolTrimFlags: Flags { }
420}
421
422bitflags! {
423 #[repr(transparent)]
425 #[derive(Default)]
426 pub struct CompositeAlphaFlagsKHR: Flags {
427 const OPAQUE = 1;
428 const PRE_MULTIPLIED = 1 << 1;
429 const POST_MULTIPLIED = 1 << 2;
430 const INHERIT = 1 << 3;
431 }
432}
433
434bitflags! {
435 #[repr(transparent)]
437 #[derive(Default)]
438 pub struct ConditionalRenderingFlagsEXT: Flags {
439 const INVERTED = 1;
440 }
441}
442
443bitflags! {
444 #[repr(transparent)]
446 #[derive(Default)]
447 pub struct CullModeFlags: Flags {
448 const NONE = 0;
449 const FRONT = 1;
450 const BACK = 1 << 1;
451 const FRONT_AND_BACK = Self::FRONT.bits | Self::BACK.bits;
452 }
453}
454
455bitflags! {
456 #[repr(transparent)]
458 #[derive(Default)]
459 pub struct DataGraphPipelineDispatchFlagsARM: Flags { }
460}
461
462bitflags! {
463 #[repr(transparent)]
465 #[derive(Default)]
466 pub struct DataGraphPipelineSessionCreateFlagsARM: Flags {
467 const PROTECTED = 1;
468 }
469}
470
471bitflags! {
472 #[repr(transparent)]
474 #[derive(Default)]
475 pub struct DebugReportFlagsEXT: Flags {
476 const INFORMATION = 1;
477 const WARNING = 1 << 1;
478 const PERFORMANCE_WARNING = 1 << 2;
479 const ERROR = 1 << 3;
480 const DEBUG = 1 << 4;
481 }
482}
483
484bitflags! {
485 #[repr(transparent)]
487 #[derive(Default)]
488 pub struct DebugUtilsMessageSeverityFlagsEXT: Flags {
489 const VERBOSE = 1;
490 const INFO = 1 << 4;
491 const WARNING = 1 << 8;
492 const ERROR = 1 << 12;
493 }
494}
495
496bitflags! {
497 #[repr(transparent)]
499 #[derive(Default)]
500 pub struct DebugUtilsMessageTypeFlagsEXT: Flags {
501 const GENERAL = 1;
502 const VALIDATION = 1 << 1;
503 const PERFORMANCE = 1 << 2;
504 const DEVICE_ADDRESS_BINDING = 1 << 3;
505 }
506}
507
508bitflags! {
509 #[repr(transparent)]
511 #[derive(Default)]
512 pub struct DebugUtilsMessengerCallbackDataFlagsEXT: Flags { }
513}
514
515bitflags! {
516 #[repr(transparent)]
518 #[derive(Default)]
519 pub struct DebugUtilsMessengerCreateFlagsEXT: Flags { }
520}
521
522bitflags! {
523 #[repr(transparent)]
525 #[derive(Default)]
526 pub struct DependencyFlags: Flags {
527 const BY_REGION = 1;
528 const VIEW_LOCAL = 1 << 1;
529 const DEVICE_GROUP = 1 << 2;
530 const FEEDBACK_LOOP_EXT = 1 << 3;
531 const QUEUE_FAMILY_OWNERSHIP_TRANSFER_USE_ALL_STAGES_KHR = 1 << 5;
532 const ASYMMETRIC_EVENT_KHR = 1 << 6;
533 }
534}
535
536bitflags! {
537 #[repr(transparent)]
539 #[derive(Default)]
540 pub struct DescriptorBindingFlags: Flags {
541 const UPDATE_AFTER_BIND = 1;
542 const UPDATE_UNUSED_WHILE_PENDING = 1 << 1;
543 const PARTIALLY_BOUND = 1 << 2;
544 const VARIABLE_DESCRIPTOR_COUNT = 1 << 3;
545 }
546}
547
548bitflags! {
549 #[repr(transparent)]
551 #[derive(Default)]
552 pub struct DescriptorPoolCreateFlags: Flags {
553 const FREE_DESCRIPTOR_SET = 1;
554 const UPDATE_AFTER_BIND = 1 << 1;
555 const HOST_ONLY_EXT = 1 << 2;
556 const ALLOW_OVERALLOCATION_SETS_NV = 1 << 3;
557 const ALLOW_OVERALLOCATION_POOLS_NV = 1 << 4;
558 }
559}
560
561bitflags! {
562 #[repr(transparent)]
564 #[derive(Default)]
565 pub struct DescriptorPoolResetFlags: Flags { }
566}
567
568bitflags! {
569 #[repr(transparent)]
571 #[derive(Default)]
572 pub struct DescriptorSetLayoutCreateFlags: Flags {
573 const PUSH_DESCRIPTOR = 1;
574 const UPDATE_AFTER_BIND_POOL = 1 << 1;
575 const HOST_ONLY_POOL_EXT = 1 << 2;
576 const DESCRIPTOR_BUFFER_EXT = 1 << 4;
577 const EMBEDDED_IMMUTABLE_SAMPLERS_EXT = 1 << 5;
578 const PER_STAGE_NV = 1 << 6;
579 const INDIRECT_BINDABLE_NV = 1 << 7;
580 }
581}
582
583bitflags! {
584 #[repr(transparent)]
586 #[derive(Default)]
587 pub struct DescriptorUpdateTemplateCreateFlags: Flags { }
588}
589
590bitflags! {
591 #[repr(transparent)]
593 #[derive(Default)]
594 pub struct DeviceAddressBindingFlagsEXT: Flags {
595 const INTERNAL_OBJECT = 1;
596 }
597}
598
599bitflags! {
600 #[repr(transparent)]
602 #[derive(Default)]
603 pub struct DeviceCreateFlags: Flags { }
604}
605
606bitflags! {
607 #[repr(transparent)]
609 #[derive(Default)]
610 pub struct DeviceDiagnosticsConfigFlagsNV: Flags {
611 const ENABLE_SHADER_DEBUG_INFO = 1;
612 const ENABLE_RESOURCE_TRACKING = 1 << 1;
613 const ENABLE_AUTOMATIC_CHECKPOINTS = 1 << 2;
614 const ENABLE_SHADER_ERROR_REPORTING = 1 << 3;
615 }
616}
617
618bitflags! {
619 #[repr(transparent)]
621 #[derive(Default)]
622 pub struct DeviceGroupPresentModeFlagsKHR: Flags {
623 const LOCAL = 1;
624 const REMOTE = 1 << 1;
625 const SUM = 1 << 2;
626 const LOCAL_MULTI_DEVICE = 1 << 3;
627 }
628}
629
630bitflags! {
631 #[repr(transparent)]
633 #[derive(Default)]
634 pub struct DeviceMemoryReportFlagsEXT: Flags { }
635}
636
637bitflags! {
638 #[repr(transparent)]
640 #[derive(Default)]
641 pub struct DeviceQueueCreateFlags: Flags {
642 const PROTECTED = 1;
643 }
644}
645
646bitflags! {
647 #[repr(transparent)]
649 #[derive(Default)]
650 pub struct DirectDriverLoadingFlagsLUNARG: Flags { }
651}
652
653bitflags! {
654 #[repr(transparent)]
656 #[derive(Default)]
657 pub struct DirectFBSurfaceCreateFlagsEXT: Flags { }
658}
659
660bitflags! {
661 #[repr(transparent)]
663 #[derive(Default)]
664 pub struct DisplayModeCreateFlagsKHR: Flags { }
665}
666
667bitflags! {
668 #[repr(transparent)]
670 #[derive(Default)]
671 pub struct DisplayPlaneAlphaFlagsKHR: Flags {
672 const OPAQUE = 1;
673 const GLOBAL = 1 << 1;
674 const PER_PIXEL = 1 << 2;
675 const PER_PIXEL_PREMULTIPLIED = 1 << 3;
676 }
677}
678
679bitflags! {
680 #[repr(transparent)]
682 #[derive(Default)]
683 pub struct DisplaySurfaceCreateFlagsKHR: Flags { }
684}
685
686bitflags! {
687 #[repr(transparent)]
689 #[derive(Default)]
690 pub struct EventCreateFlags: Flags {
691 const DEVICE_ONLY = 1;
692 }
693}
694
695bitflags! {
696 #[repr(transparent)]
698 #[derive(Default)]
699 pub struct ExportMetalObjectTypeFlagsEXT: Flags {
700 const METAL_DEVICE = 1;
701 const METAL_COMMAND_QUEUE = 1 << 1;
702 const METAL_BUFFER = 1 << 2;
703 const METAL_TEXTURE = 1 << 3;
704 const METAL_IOSURFACE = 1 << 4;
705 const METAL_SHARED_EVENT = 1 << 5;
706 }
707}
708
709bitflags! {
710 #[repr(transparent)]
712 #[derive(Default)]
713 pub struct ExternalFenceFeatureFlags: Flags {
714 const EXPORTABLE = 1;
715 const IMPORTABLE = 1 << 1;
716 }
717}
718
719bitflags! {
720 #[repr(transparent)]
722 #[derive(Default)]
723 pub struct ExternalFenceHandleTypeFlags: Flags {
724 const OPAQUE_FD = 1;
725 const OPAQUE_WIN32 = 1 << 1;
726 const OPAQUE_WIN32_KMT = 1 << 2;
727 const SYNC_FD = 1 << 3;
728 const SCI_SYNC_OBJ_NV = 1 << 4;
729 const SCI_SYNC_FENCE_NV = 1 << 5;
730 }
731}
732
733bitflags! {
734 #[repr(transparent)]
736 #[derive(Default)]
737 pub struct ExternalMemoryFeatureFlags: Flags {
738 const DEDICATED_ONLY = 1;
739 const EXPORTABLE = 1 << 1;
740 const IMPORTABLE = 1 << 2;
741 }
742}
743
744bitflags! {
745 #[repr(transparent)]
747 #[derive(Default)]
748 pub struct ExternalMemoryFeatureFlagsNV: Flags {
749 const DEDICATED_ONLY = 1;
750 const EXPORTABLE = 1 << 1;
751 const IMPORTABLE = 1 << 2;
752 }
753}
754
755bitflags! {
756 #[repr(transparent)]
758 #[derive(Default)]
759 pub struct ExternalMemoryHandleTypeFlags: Flags {
760 const OPAQUE_FD = 1;
761 const OPAQUE_WIN32 = 1 << 1;
762 const OPAQUE_WIN32_KMT = 1 << 2;
763 const D3D11_TEXTURE = 1 << 3;
764 const D3D11_TEXTURE_KMT = 1 << 4;
765 const D3D12_HEAP = 1 << 5;
766 const D3D12_RESOURCE = 1 << 6;
767 const HOST_ALLOCATION_EXT = 1 << 7;
768 const HOST_MAPPED_FOREIGN_MEMORY_EXT = 1 << 8;
769 const DMA_BUF_EXT = 1 << 9;
770 const ANDROID_HARDWARE_BUFFER_ANDROID = 1 << 10;
771 const ZIRCON_VMO_FUCHSIA = 1 << 11;
772 const RDMA_ADDRESS_NV = 1 << 12;
773 const SCI_BUF_NV = 1 << 13;
774 const SCREEN_BUFFER_QNX = 1 << 14;
775 const OH_NATIVE_BUFFER_OHOS = 1 << 15;
776 const MTLBUFFER_EXT = 1 << 16;
777 const MTLTEXTURE_EXT = 1 << 17;
778 const MTLHEAP_EXT = 1 << 18;
779 }
780}
781
782bitflags! {
783 #[repr(transparent)]
785 #[derive(Default)]
786 pub struct ExternalMemoryHandleTypeFlagsNV: Flags {
787 const OPAQUE_WIN32 = 1;
788 const OPAQUE_WIN32_KMT = 1 << 1;
789 const D3D11_IMAGE = 1 << 2;
790 const D3D11_IMAGE_KMT = 1 << 3;
791 }
792}
793
794bitflags! {
795 #[repr(transparent)]
797 #[derive(Default)]
798 pub struct ExternalSemaphoreFeatureFlags: Flags {
799 const EXPORTABLE = 1;
800 const IMPORTABLE = 1 << 1;
801 }
802}
803
804bitflags! {
805 #[repr(transparent)]
807 #[derive(Default)]
808 pub struct ExternalSemaphoreHandleTypeFlags: Flags {
809 const OPAQUE_FD = 1;
810 const OPAQUE_WIN32 = 1 << 1;
811 const OPAQUE_WIN32_KMT = 1 << 2;
812 const D3D12_FENCE = 1 << 3;
813 const SYNC_FD = 1 << 4;
814 const SCI_SYNC_OBJ_NV = 1 << 5;
815 const ZIRCON_EVENT_FUCHSIA = 1 << 7;
816 }
817}
818
819bitflags! {
820 #[repr(transparent)]
822 #[derive(Default)]
823 pub struct FenceCreateFlags: Flags {
824 const SIGNALED = 1;
825 }
826}
827
828bitflags! {
829 #[repr(transparent)]
831 #[derive(Default)]
832 pub struct FenceImportFlags: Flags {
833 const TEMPORARY = 1;
834 }
835}
836
837bitflags! {
838 #[repr(transparent)]
840 #[derive(Default)]
841 pub struct FormatFeatureFlags: Flags {
842 const SAMPLED_IMAGE = 1;
843 const STORAGE_IMAGE = 1 << 1;
844 const STORAGE_IMAGE_ATOMIC = 1 << 2;
845 const UNIFORM_TEXEL_BUFFER = 1 << 3;
846 const STORAGE_TEXEL_BUFFER = 1 << 4;
847 const STORAGE_TEXEL_BUFFER_ATOMIC = 1 << 5;
848 const VERTEX_BUFFER = 1 << 6;
849 const COLOR_ATTACHMENT = 1 << 7;
850 const COLOR_ATTACHMENT_BLEND = 1 << 8;
851 const DEPTH_STENCIL_ATTACHMENT = 1 << 9;
852 const BLIT_SRC = 1 << 10;
853 const BLIT_DST = 1 << 11;
854 const SAMPLED_IMAGE_FILTER_LINEAR = 1 << 12;
855 const SAMPLED_IMAGE_FILTER_CUBIC_EXT = 1 << 13;
856 const TRANSFER_SRC = 1 << 14;
857 const TRANSFER_DST = 1 << 15;
858 const SAMPLED_IMAGE_FILTER_MINMAX = 1 << 16;
859 const MIDPOINT_CHROMA_SAMPLES = 1 << 17;
860 const SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER = 1 << 18;
861 const SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER = 1 << 19;
862 const SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT = 1 << 20;
863 const SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE = 1 << 21;
864 const DISJOINT = 1 << 22;
865 const COSITED_CHROMA_SAMPLES = 1 << 23;
866 const FRAGMENT_DENSITY_MAP_EXT = 1 << 24;
867 const VIDEO_DECODE_OUTPUT_KHR = 1 << 25;
868 const VIDEO_DECODE_DPB_KHR = 1 << 26;
869 const VIDEO_ENCODE_INPUT_KHR = 1 << 27;
870 const VIDEO_ENCODE_DPB_KHR = 1 << 28;
871 const ACCELERATION_STRUCTURE_VERTEX_BUFFER_KHR = 1 << 29;
872 const FRAGMENT_SHADING_RATE_ATTACHMENT_KHR = 1 << 30;
873 }
874}
875
876bitflags! {
877 #[repr(transparent)]
879 #[derive(Default)]
880 pub struct FormatFeatureFlags2: Flags64 {
881 const SAMPLED_IMAGE = 1;
882 const STORAGE_IMAGE = 1 << 1;
883 const STORAGE_IMAGE_ATOMIC = 1 << 2;
884 const UNIFORM_TEXEL_BUFFER = 1 << 3;
885 const STORAGE_TEXEL_BUFFER = 1 << 4;
886 const STORAGE_TEXEL_BUFFER_ATOMIC = 1 << 5;
887 const VERTEX_BUFFER = 1 << 6;
888 const COLOR_ATTACHMENT = 1 << 7;
889 const COLOR_ATTACHMENT_BLEND = 1 << 8;
890 const DEPTH_STENCIL_ATTACHMENT = 1 << 9;
891 const BLIT_SRC = 1 << 10;
892 const BLIT_DST = 1 << 11;
893 const SAMPLED_IMAGE_FILTER_LINEAR = 1 << 12;
894 const SAMPLED_IMAGE_FILTER_CUBIC = 1 << 13;
895 const TRANSFER_SRC = 1 << 14;
896 const TRANSFER_DST = 1 << 15;
897 const SAMPLED_IMAGE_FILTER_MINMAX = 1 << 16;
898 const MIDPOINT_CHROMA_SAMPLES = 1 << 17;
899 const SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER = 1 << 18;
900 const SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER = 1 << 19;
901 const SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT = 1 << 20;
902 const SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE = 1 << 21;
903 const DISJOINT = 1 << 22;
904 const COSITED_CHROMA_SAMPLES = 1 << 23;
905 const FRAGMENT_DENSITY_MAP_EXT = 1 << 24;
906 const VIDEO_DECODE_OUTPUT_KHR = 1 << 25;
907 const VIDEO_DECODE_DPB_KHR = 1 << 26;
908 const VIDEO_ENCODE_INPUT_KHR = 1 << 27;
909 const VIDEO_ENCODE_DPB_KHR = 1 << 28;
910 const ACCELERATION_STRUCTURE_VERTEX_BUFFER_KHR = 1 << 29;
911 const FRAGMENT_SHADING_RATE_ATTACHMENT_KHR = 1 << 30;
912 const STORAGE_READ_WITHOUT_FORMAT = 1 << 31;
913 const STORAGE_WRITE_WITHOUT_FORMAT = 1 << 32;
914 const SAMPLED_IMAGE_DEPTH_COMPARISON = 1 << 33;
915 const WEIGHT_IMAGE_QCOM = 1 << 34;
916 const WEIGHT_SAMPLED_IMAGE_QCOM = 1 << 35;
917 const BLOCK_MATCHING_QCOM = 1 << 36;
918 const BOX_FILTER_SAMPLED_QCOM = 1 << 37;
919 const LINEAR_COLOR_ATTACHMENT_NV = 1 << 38;
920 const TENSOR_SHADER_ARM = 1 << 39;
921 const OPTICAL_FLOW_IMAGE_NV = 1 << 40;
922 const OPTICAL_FLOW_VECTOR_NV = 1 << 41;
923 const OPTICAL_FLOW_COST_NV = 1 << 42;
924 const TENSOR_IMAGE_ALIASING_ARM = 1 << 43;
925 const HOST_IMAGE_TRANSFER = 1 << 46;
926 const TENSOR_DATA_GRAPH_ARM = 1 << 48;
927 const VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_KHR = 1 << 49;
928 const VIDEO_ENCODE_EMPHASIS_MAP_KHR = 1 << 50;
929 const ACCELERATION_STRUCTURE_RADIUS_BUFFER_NV = 1 << 51;
930 const DEPTH_COPY_ON_COMPUTE_QUEUE_KHR = 1 << 52;
931 const DEPTH_COPY_ON_TRANSFER_QUEUE_KHR = 1 << 53;
932 const STENCIL_COPY_ON_COMPUTE_QUEUE_KHR = 1 << 54;
933 const STENCIL_COPY_ON_TRANSFER_QUEUE_KHR = 1 << 55;
934 const COPY_IMAGE_INDIRECT_DST_KHR = 1 << 59;
935 }
936}
937
938bitflags! {
939 #[repr(transparent)]
941 #[derive(Default)]
942 pub struct FrameBoundaryFlagsEXT: Flags {
943 const FRAME_END = 1;
944 }
945}
946
947bitflags! {
948 #[repr(transparent)]
950 #[derive(Default)]
951 pub struct FramebufferCreateFlags: Flags {
952 const IMAGELESS = 1;
953 }
954}
955
956bitflags! {
957 #[repr(transparent)]
959 #[derive(Default)]
960 pub struct GeometryFlagsKHR: Flags {
961 const OPAQUE = 1;
962 const NO_DUPLICATE_ANY_HIT_INVOCATION = 1 << 1;
963 }
964}
965
966bitflags! {
967 #[repr(transparent)]
969 #[derive(Default)]
970 pub struct GeometryInstanceFlagsKHR: Flags {
971 const TRIANGLE_FACING_CULL_DISABLE = 1;
972 const TRIANGLE_FLIP_FACING = 1 << 1;
973 const FORCE_OPAQUE = 1 << 2;
974 const FORCE_NO_OPAQUE = 1 << 3;
975 const FORCE_OPACITY_MICROMAP_2_STATE_EXT = 1 << 4;
976 const DISABLE_OPACITY_MICROMAPS_EXT = 1 << 5;
977 }
978}
979
980bitflags! {
981 #[repr(transparent)]
983 #[derive(Default)]
984 pub struct GraphicsPipelineLibraryFlagsEXT: Flags {
985 const VERTEX_INPUT_INTERFACE = 1;
986 const PRE_RASTERIZATION_SHADERS = 1 << 1;
987 const FRAGMENT_SHADER = 1 << 2;
988 const FRAGMENT_OUTPUT_INTERFACE = 1 << 3;
989 }
990}
991
992bitflags! {
993 #[repr(transparent)]
995 #[derive(Default)]
996 pub struct HeadlessSurfaceCreateFlagsEXT: Flags { }
997}
998
999bitflags! {
1000 #[repr(transparent)]
1002 #[derive(Default)]
1003 pub struct HostImageCopyFlags: Flags {
1004 const MEMCPY = 1;
1005 }
1006}
1007
1008bitflags! {
1009 #[repr(transparent)]
1011 #[derive(Default)]
1012 pub struct IOSSurfaceCreateFlagsMVK: Flags { }
1013}
1014
1015bitflags! {
1016 #[repr(transparent)]
1018 #[derive(Default)]
1019 pub struct ImageAspectFlags: Flags {
1020 const COLOR = 1;
1021 const DEPTH = 1 << 1;
1022 const STENCIL = 1 << 2;
1023 const METADATA = 1 << 3;
1024 const PLANE_0 = 1 << 4;
1025 const PLANE_1 = 1 << 5;
1026 const PLANE_2 = 1 << 6;
1027 const MEMORY_PLANE_0_EXT = 1 << 7;
1028 const MEMORY_PLANE_1_EXT = 1 << 8;
1029 const MEMORY_PLANE_2_EXT = 1 << 9;
1030 const MEMORY_PLANE_3_EXT = 1 << 10;
1031 }
1032}
1033
1034bitflags! {
1035 #[repr(transparent)]
1037 #[derive(Default)]
1038 pub struct ImageCompressionFixedRateFlagsEXT: Flags {
1039 const NONE = 0;
1040 const _1BPC = 1;
1041 const _2BPC = 1 << 1;
1042 const _3BPC = 1 << 2;
1043 const _4BPC = 1 << 3;
1044 const _5BPC = 1 << 4;
1045 const _6BPC = 1 << 5;
1046 const _7BPC = 1 << 6;
1047 const _8BPC = 1 << 7;
1048 const _9BPC = 1 << 8;
1049 const _10BPC = 1 << 9;
1050 const _11BPC = 1 << 10;
1051 const _12BPC = 1 << 11;
1052 const _13BPC = 1 << 12;
1053 const _14BPC = 1 << 13;
1054 const _15BPC = 1 << 14;
1055 const _16BPC = 1 << 15;
1056 const _17BPC = 1 << 16;
1057 const _18BPC = 1 << 17;
1058 const _19BPC = 1 << 18;
1059 const _20BPC = 1 << 19;
1060 const _21BPC = 1 << 20;
1061 const _22BPC = 1 << 21;
1062 const _23BPC = 1 << 22;
1063 const _24BPC = 1 << 23;
1064 }
1065}
1066
1067bitflags! {
1068 #[repr(transparent)]
1070 #[derive(Default)]
1071 pub struct ImageCompressionFlagsEXT: Flags {
1072 const DEFAULT = 0;
1073 const FIXED_RATE_DEFAULT = 1;
1074 const FIXED_RATE_EXPLICIT = 1 << 1;
1075 const DISABLED = 1 << 2;
1076 }
1077}
1078
1079bitflags! {
1080 #[repr(transparent)]
1082 #[derive(Default)]
1083 pub struct ImageConstraintsInfoFlagsFUCHSIA: Flags {
1084 const CPU_READ_RARELY = 1;
1085 const CPU_READ_OFTEN = 1 << 1;
1086 const CPU_WRITE_RARELY = 1 << 2;
1087 const CPU_WRITE_OFTEN = 1 << 3;
1088 const PROTECTED_OPTIONAL = 1 << 4;
1089 }
1090}
1091
1092bitflags! {
1093 #[repr(transparent)]
1095 #[derive(Default)]
1096 pub struct ImageCreateFlags: Flags {
1097 const SPARSE_BINDING = 1;
1098 const SPARSE_RESIDENCY = 1 << 1;
1099 const SPARSE_ALIASED = 1 << 2;
1100 const MUTABLE_FORMAT = 1 << 3;
1101 const CUBE_COMPATIBLE = 1 << 4;
1102 const _2D_ARRAY_COMPATIBLE = 1 << 5;
1103 const SPLIT_INSTANCE_BIND_REGIONS = 1 << 6;
1104 const BLOCK_TEXEL_VIEW_COMPATIBLE = 1 << 7;
1105 const EXTENDED_USAGE = 1 << 8;
1106 const DISJOINT = 1 << 9;
1107 const ALIAS = 1 << 10;
1108 const PROTECTED = 1 << 11;
1109 const SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_EXT = 1 << 12;
1110 const CORNER_SAMPLED_NV = 1 << 13;
1111 const SUBSAMPLED_EXT = 1 << 14;
1112 const FRAGMENT_DENSITY_MAP_OFFSET_EXT = 1 << 15;
1113 const DESCRIPTOR_BUFFER_CAPTURE_REPLAY_EXT = 1 << 16;
1114 const _2D_VIEW_COMPATIBLE_EXT = 1 << 17;
1115 const MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_EXT = 1 << 18;
1116 const VIDEO_PROFILE_INDEPENDENT_KHR = 1 << 20;
1117 }
1118}
1119
1120bitflags! {
1121 #[repr(transparent)]
1123 #[derive(Default)]
1124 pub struct ImageFormatConstraintsFlagsFUCHSIA: Flags { }
1125}
1126
1127bitflags! {
1128 #[repr(transparent)]
1130 #[derive(Default)]
1131 pub struct ImagePipeSurfaceCreateFlagsFUCHSIA: Flags { }
1132}
1133
1134bitflags! {
1135 #[repr(transparent)]
1137 #[derive(Default)]
1138 pub struct ImageUsageFlags: Flags {
1139 const TRANSFER_SRC = 1;
1140 const TRANSFER_DST = 1 << 1;
1141 const SAMPLED = 1 << 2;
1142 const STORAGE = 1 << 3;
1143 const COLOR_ATTACHMENT = 1 << 4;
1144 const DEPTH_STENCIL_ATTACHMENT = 1 << 5;
1145 const TRANSIENT_ATTACHMENT = 1 << 6;
1146 const INPUT_ATTACHMENT = 1 << 7;
1147 const FRAGMENT_SHADING_RATE_ATTACHMENT_KHR = 1 << 8;
1148 const FRAGMENT_DENSITY_MAP_EXT = 1 << 9;
1149 const VIDEO_DECODE_DST_KHR = 1 << 10;
1150 const VIDEO_DECODE_SRC_KHR = 1 << 11;
1151 const VIDEO_DECODE_DPB_KHR = 1 << 12;
1152 const VIDEO_ENCODE_DST_KHR = 1 << 13;
1153 const VIDEO_ENCODE_SRC_KHR = 1 << 14;
1154 const VIDEO_ENCODE_DPB_KHR = 1 << 15;
1155 const INVOCATION_MASK_HUAWEI = 1 << 18;
1156 const ATTACHMENT_FEEDBACK_LOOP_EXT = 1 << 19;
1157 const SAMPLE_WEIGHT_QCOM = 1 << 20;
1158 const SAMPLE_BLOCK_MATCH_QCOM = 1 << 21;
1159 const HOST_TRANSFER = 1 << 22;
1160 const TENSOR_ALIASING_ARM = 1 << 23;
1161 const VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_KHR = 1 << 25;
1162 const VIDEO_ENCODE_EMPHASIS_MAP_KHR = 1 << 26;
1163 const TILE_MEMORY_QCOM = 1 << 27;
1164 }
1165}
1166
1167bitflags! {
1168 #[repr(transparent)]
1170 #[derive(Default)]
1171 pub struct ImageViewCreateFlags: Flags {
1172 const FRAGMENT_DENSITY_MAP_DYNAMIC_EXT = 1;
1173 const FRAGMENT_DENSITY_MAP_DEFERRED_EXT = 1 << 1;
1174 const DESCRIPTOR_BUFFER_CAPTURE_REPLAY_EXT = 1 << 2;
1175 }
1176}
1177
1178bitflags! {
1179 #[repr(transparent)]
1181 #[derive(Default)]
1182 pub struct IndirectCommandsInputModeFlagsEXT: Flags {
1183 const VULKAN_INDEX_BUFFER = 1;
1184 const DXGI_INDEX_BUFFER = 1 << 1;
1185 }
1186}
1187
1188bitflags! {
1189 #[repr(transparent)]
1191 #[derive(Default)]
1192 pub struct IndirectCommandsLayoutUsageFlagsEXT: Flags {
1193 const EXPLICIT_PREPROCESS = 1;
1194 const UNORDERED_SEQUENCES = 1 << 1;
1195 }
1196}
1197
1198bitflags! {
1199 #[repr(transparent)]
1201 #[derive(Default)]
1202 pub struct IndirectCommandsLayoutUsageFlagsNV: Flags {
1203 const EXPLICIT_PREPROCESS = 1;
1204 const INDEXED_SEQUENCES = 1 << 1;
1205 const UNORDERED_SEQUENCES = 1 << 2;
1206 }
1207}
1208
1209bitflags! {
1210 #[repr(transparent)]
1212 #[derive(Default)]
1213 pub struct IndirectStateFlagsNV: Flags {
1214 const FLAG_FRONTFACE = 1;
1215 }
1216}
1217
1218bitflags! {
1219 #[repr(transparent)]
1221 #[derive(Default)]
1222 pub struct InstanceCreateFlags: Flags {
1223 const ENUMERATE_PORTABILITY_KHR = 1;
1224 }
1225}
1226
1227bitflags! {
1228 #[repr(transparent)]
1230 #[derive(Default)]
1231 pub struct MacOSSurfaceCreateFlagsMVK: Flags { }
1232}
1233
1234bitflags! {
1235 #[repr(transparent)]
1237 #[derive(Default)]
1238 pub struct MemoryAllocateFlags: Flags {
1239 const DEVICE_MASK = 1;
1240 const DEVICE_ADDRESS = 1 << 1;
1241 const DEVICE_ADDRESS_CAPTURE_REPLAY = 1 << 2;
1242 const ZERO_INITIALIZE_EXT = 1 << 3;
1243 }
1244}
1245
1246bitflags! {
1247 #[repr(transparent)]
1249 #[derive(Default)]
1250 pub struct MemoryDecompressionMethodFlagsEXT: Flags {
1251 const GDEFLATE_1_0 = 1;
1252 }
1253}
1254
1255bitflags! {
1256 #[repr(transparent)]
1258 #[derive(Default)]
1259 pub struct MemoryHeapFlags: Flags {
1260 const DEVICE_LOCAL = 1;
1261 const MULTI_INSTANCE = 1 << 1;
1262 const TILE_MEMORY_QCOM = 1 << 3;
1263 }
1264}
1265
1266bitflags! {
1267 #[repr(transparent)]
1269 #[derive(Default)]
1270 pub struct MemoryMapFlags: Flags {
1271 const PLACED_EXT = 1;
1272 }
1273}
1274
1275bitflags! {
1276 #[repr(transparent)]
1278 #[derive(Default)]
1279 pub struct MemoryPropertyFlags: Flags {
1280 const DEVICE_LOCAL = 1;
1281 const HOST_VISIBLE = 1 << 1;
1282 const HOST_COHERENT = 1 << 2;
1283 const HOST_CACHED = 1 << 3;
1284 const LAZILY_ALLOCATED = 1 << 4;
1285 const PROTECTED = 1 << 5;
1286 const DEVICE_COHERENT_AMD = 1 << 6;
1287 const DEVICE_UNCACHED_AMD = 1 << 7;
1288 const RDMA_CAPABLE_NV = 1 << 8;
1289 }
1290}
1291
1292bitflags! {
1293 #[repr(transparent)]
1295 #[derive(Default)]
1296 pub struct MemoryUnmapFlags: Flags {
1297 const RESERVE_EXT = 1;
1298 }
1299}
1300
1301bitflags! {
1302 #[repr(transparent)]
1304 #[derive(Default)]
1305 pub struct MetalSurfaceCreateFlagsEXT: Flags { }
1306}
1307
1308bitflags! {
1309 #[repr(transparent)]
1311 #[derive(Default)]
1312 pub struct MicromapCreateFlagsEXT: Flags {
1313 const DEVICE_ADDRESS_CAPTURE_REPLAY = 1;
1314 }
1315}
1316
1317bitflags! {
1318 #[repr(transparent)]
1320 #[derive(Default)]
1321 pub struct OpticalFlowExecuteFlagsNV: Flags {
1322 const DISABLE_TEMPORAL_HINTS = 1;
1323 }
1324}
1325
1326bitflags! {
1327 #[repr(transparent)]
1329 #[derive(Default)]
1330 pub struct OpticalFlowGridSizeFlagsNV: Flags {
1331 const UNKNOWN = 0;
1332 const _1X1 = 1;
1333 const _2X2 = 1 << 1;
1334 const _4X4 = 1 << 2;
1335 const _8X8 = 1 << 3;
1336 }
1337}
1338
1339bitflags! {
1340 #[repr(transparent)]
1342 #[derive(Default)]
1343 pub struct OpticalFlowSessionCreateFlagsNV: Flags {
1344 const ENABLE_HINT = 1;
1345 const ENABLE_COST = 1 << 1;
1346 const ENABLE_GLOBAL_FLOW = 1 << 2;
1347 const ALLOW_REGIONS = 1 << 3;
1348 const BOTH_DIRECTIONS = 1 << 4;
1349 }
1350}
1351
1352bitflags! {
1353 #[repr(transparent)]
1355 #[derive(Default)]
1356 pub struct OpticalFlowUsageFlagsNV: Flags {
1357 const UNKNOWN = 0;
1358 const INPUT = 1;
1359 const OUTPUT = 1 << 1;
1360 const HINT = 1 << 2;
1361 const COST = 1 << 3;
1362 const GLOBAL_FLOW = 1 << 4;
1363 }
1364}
1365
1366bitflags! {
1367 #[repr(transparent)]
1369 #[derive(Default)]
1370 pub struct PartitionedAccelerationStructureInstanceFlagsNV: Flags {
1371 const FLAG_TRIANGLE_FACING_CULL_DISABLE = 1;
1372 const FLAG_TRIANGLE_FLIP_FACING = 1 << 1;
1373 const FLAG_FORCE_OPAQUE = 1 << 2;
1374 const FLAG_FORCE_NO_OPAQUE = 1 << 3;
1375 const FLAG_ENABLE_EXPLICIT_BOUNDING_BOX = 1 << 4;
1376 }
1377}
1378
1379bitflags! {
1380 #[repr(transparent)]
1382 #[derive(Default)]
1383 pub struct PeerMemoryFeatureFlags: Flags {
1384 const COPY_SRC = 1;
1385 const COPY_DST = 1 << 1;
1386 const GENERIC_SRC = 1 << 2;
1387 const GENERIC_DST = 1 << 3;
1388 }
1389}
1390
1391bitflags! {
1392 #[repr(transparent)]
1394 #[derive(Default)]
1395 pub struct PerformanceCounterDescriptionFlagsARM: Flags { }
1396}
1397
1398bitflags! {
1399 #[repr(transparent)]
1401 #[derive(Default)]
1402 pub struct PerformanceCounterDescriptionFlagsKHR: Flags {
1403 const PERFORMANCE_IMPACTING = 1;
1404 const CONCURRENTLY_IMPACTED = 1 << 1;
1405 }
1406}
1407
1408bitflags! {
1409 #[repr(transparent)]
1411 #[derive(Default)]
1412 pub struct PhysicalDeviceSchedulingControlsFlagsARM: Flags {
1413 const SHADER_CORE_COUNT = 1;
1414 }
1415}
1416
1417bitflags! {
1418 #[repr(transparent)]
1420 #[derive(Default)]
1421 pub struct PipelineCacheCreateFlags: Flags {
1422 const EXTERNALLY_SYNCHRONIZED = 1;
1423 const INTERNALLY_SYNCHRONIZED_MERGE_KHR = 1 << 3;
1424 }
1425}
1426
1427bitflags! {
1428 #[repr(transparent)]
1430 #[derive(Default)]
1431 pub struct PipelineColorBlendStateCreateFlags: Flags {
1432 const RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXT = 1;
1433 }
1434}
1435
1436bitflags! {
1437 #[repr(transparent)]
1439 #[derive(Default)]
1440 pub struct PipelineCompilerControlFlagsAMD: Flags { }
1441}
1442
1443bitflags! {
1444 #[repr(transparent)]
1446 #[derive(Default)]
1447 pub struct PipelineCoverageModulationStateCreateFlagsNV: Flags { }
1448}
1449
1450bitflags! {
1451 #[repr(transparent)]
1453 #[derive(Default)]
1454 pub struct PipelineCoverageReductionStateCreateFlagsNV: Flags { }
1455}
1456
1457bitflags! {
1458 #[repr(transparent)]
1460 #[derive(Default)]
1461 pub struct PipelineCoverageToColorStateCreateFlagsNV: Flags { }
1462}
1463
1464bitflags! {
1465 #[repr(transparent)]
1467 #[derive(Default)]
1468 pub struct PipelineCreateFlags: Flags {
1469 const DISABLE_OPTIMIZATION = 1;
1470 const ALLOW_DERIVATIVES = 1 << 1;
1471 const DERIVATIVE = 1 << 2;
1472 const VIEW_INDEX_FROM_DEVICE_INDEX = 1 << 3;
1473 const DISPATCH_BASE = 1 << 4;
1474 const DEFER_COMPILE_NV = 1 << 5;
1475 const CAPTURE_STATISTICS_KHR = 1 << 6;
1476 const CAPTURE_INTERNAL_REPRESENTATIONS_KHR = 1 << 7;
1477 const FAIL_ON_PIPELINE_COMPILE_REQUIRED = 1 << 8;
1478 const EARLY_RETURN_ON_FAILURE = 1 << 9;
1479 const LINK_TIME_OPTIMIZATION_EXT = 1 << 10;
1480 const LIBRARY_KHR = 1 << 11;
1481 const RAY_TRACING_SKIP_TRIANGLES_KHR = 1 << 12;
1482 const RAY_TRACING_SKIP_AABBS_KHR = 1 << 13;
1483 const RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_KHR = 1 << 14;
1484 const RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_KHR = 1 << 15;
1485 const RAY_TRACING_NO_NULL_MISS_SHADERS_KHR = 1 << 16;
1486 const RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_KHR = 1 << 17;
1487 const INDIRECT_BINDABLE_NV = 1 << 18;
1488 const RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_KHR = 1 << 19;
1489 const RAY_TRACING_ALLOW_MOTION_NV = 1 << 20;
1490 const RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_KHR = 1 << 21;
1491 const RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_EXT = 1 << 22;
1492 const RETAIN_LINK_TIME_OPTIMIZATION_INFO_EXT = 1 << 23;
1493 const RAY_TRACING_OPACITY_MICROMAP_EXT = 1 << 24;
1494 const COLOR_ATTACHMENT_FEEDBACK_LOOP_EXT = 1 << 25;
1495 const DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_EXT = 1 << 26;
1496 const NO_PROTECTED_ACCESS = 1 << 27;
1497 const RAY_TRACING_DISPLACEMENT_MICROMAP_NV = 1 << 28;
1498 const DESCRIPTOR_BUFFER_EXT = 1 << 29;
1499 const PROTECTED_ACCESS_ONLY = 1 << 30;
1500 }
1501}
1502
1503bitflags! {
1504 #[repr(transparent)]
1506 #[derive(Default)]
1507 pub struct PipelineCreateFlags2: Flags64 {
1508 const DISABLE_OPTIMIZATION = 1;
1509 const ALLOW_DERIVATIVES = 1 << 1;
1510 const DERIVATIVE = 1 << 2;
1511 const VIEW_INDEX_FROM_DEVICE_INDEX = 1 << 3;
1512 const DISPATCH_BASE = 1 << 4;
1513 const DEFER_COMPILE_NV = 1 << 5;
1514 const CAPTURE_STATISTICS_KHR = 1 << 6;
1515 const CAPTURE_INTERNAL_REPRESENTATIONS_KHR = 1 << 7;
1516 const FAIL_ON_PIPELINE_COMPILE_REQUIRED = 1 << 8;
1517 const EARLY_RETURN_ON_FAILURE = 1 << 9;
1518 const LINK_TIME_OPTIMIZATION_EXT = 1 << 10;
1519 const LIBRARY_KHR = 1 << 11;
1520 const RAY_TRACING_SKIP_TRIANGLES_KHR = 1 << 12;
1521 const RAY_TRACING_SKIP_AABBS_KHR = 1 << 13;
1522 const RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_KHR = 1 << 14;
1523 const RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_KHR = 1 << 15;
1524 const RAY_TRACING_NO_NULL_MISS_SHADERS_KHR = 1 << 16;
1525 const RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_KHR = 1 << 17;
1526 const INDIRECT_BINDABLE_NV = 1 << 18;
1527 const RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_KHR = 1 << 19;
1528 const RAY_TRACING_ALLOW_MOTION_NV = 1 << 20;
1529 const RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_KHR = 1 << 21;
1530 const RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_EXT = 1 << 22;
1531 const RETAIN_LINK_TIME_OPTIMIZATION_INFO_EXT = 1 << 23;
1532 const RAY_TRACING_OPACITY_MICROMAP_EXT = 1 << 24;
1533 const COLOR_ATTACHMENT_FEEDBACK_LOOP_EXT = 1 << 25;
1534 const DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_EXT = 1 << 26;
1535 const NO_PROTECTED_ACCESS = 1 << 27;
1536 const RAY_TRACING_DISPLACEMENT_MICROMAP_NV = 1 << 28;
1537 const DESCRIPTOR_BUFFER_EXT = 1 << 29;
1538 const PROTECTED_ACCESS_ONLY = 1 << 30;
1539 const CAPTURE_DATA_KHR = 1 << 31;
1540 const EXECUTION_GRAPH_AMDX = 1 << 32;
1541 const RAY_TRACING_ALLOW_SPHERES_AND_LINEAR_SWEPT_SPHERES_NV = 1 << 33;
1542 const ENABLE_LEGACY_DITHERING_EXT = 1 << 34;
1543 const DISALLOW_OPACITY_MICROMAP_ARM = 1 << 37;
1544 const INDIRECT_BINDABLE_EXT = 1 << 38;
1545 const PER_LAYER_FRAGMENT_DENSITY_VALVE = 1 << 40;
1546 const _64_BIT_INDEXING_EXT = 1 << 43;
1547 }
1548}
1549
1550bitflags! {
1551 #[repr(transparent)]
1553 #[derive(Default)]
1554 pub struct PipelineCreationFeedbackFlags: Flags {
1555 const VALID = 1;
1556 const APPLICATION_PIPELINE_CACHE_HIT = 1 << 1;
1557 const BASE_PIPELINE_ACCELERATION = 1 << 2;
1558 }
1559}
1560
1561bitflags! {
1562 #[repr(transparent)]
1564 #[derive(Default)]
1565 pub struct PipelineDepthStencilStateCreateFlags: Flags {
1566 const RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_EXT = 1;
1567 const RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_EXT = 1 << 1;
1568 }
1569}
1570
1571bitflags! {
1572 #[repr(transparent)]
1574 #[derive(Default)]
1575 pub struct PipelineDiscardRectangleStateCreateFlagsEXT: Flags { }
1576}
1577
1578bitflags! {
1579 #[repr(transparent)]
1581 #[derive(Default)]
1582 pub struct PipelineDynamicStateCreateFlags: Flags { }
1583}
1584
1585bitflags! {
1586 #[repr(transparent)]
1588 #[derive(Default)]
1589 pub struct PipelineInputAssemblyStateCreateFlags: Flags { }
1590}
1591
1592bitflags! {
1593 #[repr(transparent)]
1595 #[derive(Default)]
1596 pub struct PipelineLayoutCreateFlags: Flags {
1597 const INDEPENDENT_SETS_EXT = 1 << 1;
1598 }
1599}
1600
1601bitflags! {
1602 #[repr(transparent)]
1604 #[derive(Default)]
1605 pub struct PipelineMultisampleStateCreateFlags: Flags { }
1606}
1607
1608bitflags! {
1609 #[repr(transparent)]
1611 #[derive(Default)]
1612 pub struct PipelineRasterizationConservativeStateCreateFlagsEXT: Flags { }
1613}
1614
1615bitflags! {
1616 #[repr(transparent)]
1618 #[derive(Default)]
1619 pub struct PipelineRasterizationDepthClipStateCreateFlagsEXT: Flags { }
1620}
1621
1622bitflags! {
1623 #[repr(transparent)]
1625 #[derive(Default)]
1626 pub struct PipelineRasterizationStateCreateFlags: Flags { }
1627}
1628
1629bitflags! {
1630 #[repr(transparent)]
1632 #[derive(Default)]
1633 pub struct PipelineRasterizationStateStreamCreateFlagsEXT: Flags { }
1634}
1635
1636bitflags! {
1637 #[repr(transparent)]
1639 #[derive(Default)]
1640 pub struct PipelineShaderStageCreateFlags: Flags {
1641 const ALLOW_VARYING_SUBGROUP_SIZE = 1;
1642 const REQUIRE_FULL_SUBGROUPS = 1 << 1;
1643 }
1644}
1645
1646bitflags! {
1647 #[repr(transparent)]
1649 #[derive(Default)]
1650 pub struct PipelineStageFlags: Flags {
1651 const TOP_OF_PIPE = 1;
1652 const DRAW_INDIRECT = 1 << 1;
1653 const VERTEX_INPUT = 1 << 2;
1654 const VERTEX_SHADER = 1 << 3;
1655 const TESSELLATION_CONTROL_SHADER = 1 << 4;
1656 const TESSELLATION_EVALUATION_SHADER = 1 << 5;
1657 const GEOMETRY_SHADER = 1 << 6;
1658 const FRAGMENT_SHADER = 1 << 7;
1659 const EARLY_FRAGMENT_TESTS = 1 << 8;
1660 const LATE_FRAGMENT_TESTS = 1 << 9;
1661 const COLOR_ATTACHMENT_OUTPUT = 1 << 10;
1662 const COMPUTE_SHADER = 1 << 11;
1663 const TRANSFER = 1 << 12;
1664 const BOTTOM_OF_PIPE = 1 << 13;
1665 const HOST = 1 << 14;
1666 const ALL_GRAPHICS = 1 << 15;
1667 const ALL_COMMANDS = 1 << 16;
1668 const COMMAND_PREPROCESS_EXT = 1 << 17;
1669 const CONDITIONAL_RENDERING_EXT = 1 << 18;
1670 const TASK_SHADER_EXT = 1 << 19;
1671 const MESH_SHADER_EXT = 1 << 20;
1672 const RAY_TRACING_SHADER_KHR = 1 << 21;
1673 const FRAGMENT_SHADING_RATE_ATTACHMENT_KHR = 1 << 22;
1674 const FRAGMENT_DENSITY_PROCESS_EXT = 1 << 23;
1675 const TRANSFORM_FEEDBACK_EXT = 1 << 24;
1676 const ACCELERATION_STRUCTURE_BUILD_KHR = 1 << 25;
1677 }
1678}
1679
1680bitflags! {
1681 #[repr(transparent)]
1683 #[derive(Default)]
1684 pub struct PipelineStageFlags2: Flags64 {
1685 const NONE = 0;
1686 const TOP_OF_PIPE = 1;
1687 const DRAW_INDIRECT = 1 << 1;
1688 const VERTEX_INPUT = 1 << 2;
1689 const VERTEX_SHADER = 1 << 3;
1690 const TESSELLATION_CONTROL_SHADER = 1 << 4;
1691 const TESSELLATION_EVALUATION_SHADER = 1 << 5;
1692 const GEOMETRY_SHADER = 1 << 6;
1693 const FRAGMENT_SHADER = 1 << 7;
1694 const EARLY_FRAGMENT_TESTS = 1 << 8;
1695 const LATE_FRAGMENT_TESTS = 1 << 9;
1696 const COLOR_ATTACHMENT_OUTPUT = 1 << 10;
1697 const COMPUTE_SHADER = 1 << 11;
1698 const ALL_TRANSFER = 1 << 12;
1699 const BOTTOM_OF_PIPE = 1 << 13;
1700 const HOST = 1 << 14;
1701 const ALL_GRAPHICS = 1 << 15;
1702 const ALL_COMMANDS = 1 << 16;
1703 const COMMAND_PREPROCESS_EXT = 1 << 17;
1704 const CONDITIONAL_RENDERING_EXT = 1 << 18;
1705 const TASK_SHADER_EXT = 1 << 19;
1706 const MESH_SHADER_EXT = 1 << 20;
1707 const RAY_TRACING_SHADER_KHR = 1 << 21;
1708 const FRAGMENT_SHADING_RATE_ATTACHMENT_KHR = 1 << 22;
1709 const FRAGMENT_DENSITY_PROCESS_EXT = 1 << 23;
1710 const TRANSFORM_FEEDBACK_EXT = 1 << 24;
1711 const ACCELERATION_STRUCTURE_BUILD_KHR = 1 << 25;
1712 const VIDEO_DECODE_KHR = 1 << 26;
1713 const VIDEO_ENCODE_KHR = 1 << 27;
1714 const ACCELERATION_STRUCTURE_COPY_KHR = 1 << 28;
1715 const OPTICAL_FLOW_NV = 1 << 29;
1716 const MICROMAP_BUILD_EXT = 1 << 30;
1717 const COPY = 1 << 32;
1718 const RESOLVE = 1 << 33;
1719 const BLIT = 1 << 34;
1720 const CLEAR = 1 << 35;
1721 const INDEX_INPUT = 1 << 36;
1722 const VERTEX_ATTRIBUTE_INPUT = 1 << 37;
1723 const PRE_RASTERIZATION_SHADERS = 1 << 38;
1724 const SUBPASS_SHADER_HUAWEI = 1 << 39;
1725 const INVOCATION_MASK_HUAWEI = 1 << 40;
1726 const CLUSTER_CULLING_SHADER_HUAWEI = 1 << 41;
1727 const DATA_GRAPH_ARM = 1 << 42;
1728 const CONVERT_COOPERATIVE_VECTOR_MATRIX_NV = 1 << 44;
1729 const MEMORY_DECOMPRESSION_EXT = 1 << 45;
1730 const COPY_INDIRECT_KHR = 1 << 46;
1731 }
1732}
1733
1734bitflags! {
1735 #[repr(transparent)]
1737 #[derive(Default)]
1738 pub struct PipelineTessellationStateCreateFlags: Flags { }
1739}
1740
1741bitflags! {
1742 #[repr(transparent)]
1744 #[derive(Default)]
1745 pub struct PipelineVertexInputStateCreateFlags: Flags { }
1746}
1747
1748bitflags! {
1749 #[repr(transparent)]
1751 #[derive(Default)]
1752 pub struct PipelineViewportStateCreateFlags: Flags { }
1753}
1754
1755bitflags! {
1756 #[repr(transparent)]
1758 #[derive(Default)]
1759 pub struct PipelineViewportSwizzleStateCreateFlagsNV: Flags { }
1760}
1761
1762bitflags! {
1763 #[repr(transparent)]
1765 #[derive(Default)]
1766 pub struct PresentGravityFlagsKHR: Flags {
1767 const MIN = 1;
1768 const MAX = 1 << 1;
1769 const CENTERED = 1 << 2;
1770 }
1771}
1772
1773bitflags! {
1774 #[repr(transparent)]
1776 #[derive(Default)]
1777 pub struct PresentScalingFlagsKHR: Flags {
1778 const ONE_TO_ONE = 1;
1779 const ASPECT_RATIO_STRETCH = 1 << 1;
1780 const STRETCH = 1 << 2;
1781 }
1782}
1783
1784bitflags! {
1785 #[repr(transparent)]
1787 #[derive(Default)]
1788 pub struct PrivateDataSlotCreateFlags: Flags { }
1789}
1790
1791bitflags! {
1792 #[repr(transparent)]
1794 #[derive(Default)]
1795 pub struct QueryControlFlags: Flags {
1796 const PRECISE = 1;
1797 }
1798}
1799
1800bitflags! {
1801 #[repr(transparent)]
1803 #[derive(Default)]
1804 pub struct QueryPipelineStatisticFlags: Flags {
1805 const INPUT_ASSEMBLY_VERTICES = 1;
1806 const INPUT_ASSEMBLY_PRIMITIVES = 1 << 1;
1807 const VERTEX_SHADER_INVOCATIONS = 1 << 2;
1808 const GEOMETRY_SHADER_INVOCATIONS = 1 << 3;
1809 const GEOMETRY_SHADER_PRIMITIVES = 1 << 4;
1810 const CLIPPING_INVOCATIONS = 1 << 5;
1811 const CLIPPING_PRIMITIVES = 1 << 6;
1812 const FRAGMENT_SHADER_INVOCATIONS = 1 << 7;
1813 const TESSELLATION_CONTROL_SHADER_PATCHES = 1 << 8;
1814 const TESSELLATION_EVALUATION_SHADER_INVOCATIONS = 1 << 9;
1815 const COMPUTE_SHADER_INVOCATIONS = 1 << 10;
1816 const TASK_SHADER_INVOCATIONS_EXT = 1 << 11;
1817 const MESH_SHADER_INVOCATIONS_EXT = 1 << 12;
1818 const CLUSTER_CULLING_SHADER_INVOCATIONS_HUAWEI = 1 << 13;
1819 }
1820}
1821
1822bitflags! {
1823 #[repr(transparent)]
1825 #[derive(Default)]
1826 pub struct QueryPoolCreateFlags: Flags {
1827 const RESET_KHR = 1;
1828 }
1829}
1830
1831bitflags! {
1832 #[repr(transparent)]
1834 #[derive(Default)]
1835 pub struct QueryResultFlags: Flags {
1836 const _64 = 1;
1837 const WAIT = 1 << 1;
1838 const WITH_AVAILABILITY = 1 << 2;
1839 const PARTIAL = 1 << 3;
1840 const WITH_STATUS_KHR = 1 << 4;
1841 }
1842}
1843
1844bitflags! {
1845 #[repr(transparent)]
1847 #[derive(Default)]
1848 pub struct QueueFlags: Flags {
1849 const GRAPHICS = 1;
1850 const COMPUTE = 1 << 1;
1851 const TRANSFER = 1 << 2;
1852 const SPARSE_BINDING = 1 << 3;
1853 const PROTECTED = 1 << 4;
1854 const VIDEO_DECODE_KHR = 1 << 5;
1855 const VIDEO_ENCODE_KHR = 1 << 6;
1856 const OPTICAL_FLOW_NV = 1 << 8;
1857 const DATA_GRAPH_ARM = 1 << 10;
1858 }
1859}
1860
1861bitflags! {
1862 #[repr(transparent)]
1864 #[derive(Default)]
1865 pub struct RefreshObjectFlagsKHR: Flags { }
1866}
1867
1868bitflags! {
1869 #[repr(transparent)]
1871 #[derive(Default)]
1872 pub struct RenderPassCreateFlags: Flags {
1873 const TRANSFORM_QCOM = 1 << 1;
1874 const PER_LAYER_FRAGMENT_DENSITY_VALVE = 1 << 2;
1875 }
1876}
1877
1878bitflags! {
1879 #[repr(transparent)]
1881 #[derive(Default)]
1882 pub struct RenderingAttachmentFlagsKHR: Flags {
1883 const INPUT_ATTACHMENT_FEEDBACK = 1;
1884 const RESOLVE_SKIP_TRANSFER_FUNCTION = 1 << 1;
1885 const RESOLVE_ENABLE_TRANSFER_FUNCTION = 1 << 2;
1886 }
1887}
1888
1889bitflags! {
1890 #[repr(transparent)]
1892 #[derive(Default)]
1893 pub struct RenderingFlags: Flags {
1894 const CONTENTS_SECONDARY_COMMAND_BUFFERS = 1;
1895 const SUSPENDING = 1 << 1;
1896 const RESUMING = 1 << 2;
1897 const ENABLE_LEGACY_DITHERING_EXT = 1 << 3;
1898 const CONTENTS_INLINE_KHR = 1 << 4;
1899 const PER_LAYER_FRAGMENT_DENSITY_VALVE = 1 << 5;
1900 const LOCAL_READ_CONCURRENT_ACCESS_CONTROL_KHR = 1 << 8;
1901 }
1902}
1903
1904bitflags! {
1905 #[repr(transparent)]
1907 #[derive(Default)]
1908 pub struct ResolveImageFlagsKHR: Flags {
1909 const SKIP_TRANSFER_FUNCTION = 1;
1910 const ENABLE_TRANSFER_FUNCTION = 1 << 1;
1911 }
1912}
1913
1914bitflags! {
1915 #[repr(transparent)]
1917 #[derive(Default)]
1918 pub struct ResolveModeFlags: Flags {
1919 const NONE = 0;
1920 const SAMPLE_ZERO = 1;
1921 const AVERAGE = 1 << 1;
1922 const MIN = 1 << 2;
1923 const MAX = 1 << 3;
1924 const EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID = 1 << 4;
1925 }
1926}
1927
1928bitflags! {
1929 #[repr(transparent)]
1931 #[derive(Default)]
1932 pub struct SampleCountFlags: Flags {
1933 const _1 = 1;
1934 const _2 = 1 << 1;
1935 const _4 = 1 << 2;
1936 const _8 = 1 << 3;
1937 const _16 = 1 << 4;
1938 const _32 = 1 << 5;
1939 const _64 = 1 << 6;
1940 }
1941}
1942
1943bitflags! {
1944 #[repr(transparent)]
1946 #[derive(Default)]
1947 pub struct SamplerCreateFlags: Flags {
1948 const SUBSAMPLED_EXT = 1;
1949 const SUBSAMPLED_COARSE_RECONSTRUCTION_EXT = 1 << 1;
1950 const NON_SEAMLESS_CUBE_MAP_EXT = 1 << 2;
1951 const DESCRIPTOR_BUFFER_CAPTURE_REPLAY_EXT = 1 << 3;
1952 const IMAGE_PROCESSING_QCOM = 1 << 4;
1953 }
1954}
1955
1956bitflags! {
1957 #[repr(transparent)]
1959 #[derive(Default)]
1960 pub struct ScreenSurfaceCreateFlagsQNX: Flags { }
1961}
1962
1963bitflags! {
1964 #[repr(transparent)]
1966 #[derive(Default)]
1967 pub struct SemaphoreCreateFlags: Flags { }
1968}
1969
1970bitflags! {
1971 #[repr(transparent)]
1973 #[derive(Default)]
1974 pub struct SemaphoreImportFlags: Flags {
1975 const TEMPORARY = 1;
1976 }
1977}
1978
1979bitflags! {
1980 #[repr(transparent)]
1982 #[derive(Default)]
1983 pub struct SemaphoreWaitFlags: Flags {
1984 const ANY = 1;
1985 }
1986}
1987
1988bitflags! {
1989 #[repr(transparent)]
1991 #[derive(Default)]
1992 pub struct ShaderCorePropertiesFlagsAMD: Flags { }
1993}
1994
1995bitflags! {
1996 #[repr(transparent)]
1998 #[derive(Default)]
1999 pub struct ShaderCreateFlagsEXT: Flags {
2000 const LINK_STAGE = 1;
2001 const ALLOW_VARYING_SUBGROUP_SIZE = 1 << 1;
2002 const REQUIRE_FULL_SUBGROUPS = 1 << 2;
2003 const NO_TASK_SHADER = 1 << 3;
2004 const DISPATCH_BASE = 1 << 4;
2005 const FRAGMENT_SHADING_RATE_ATTACHMENT = 1 << 5;
2006 const FRAGMENT_DENSITY_MAP_ATTACHMENT = 1 << 6;
2007 const INDIRECT_BINDABLE = 1 << 7;
2008 const _64_BIT_INDEXING = 1 << 15;
2009 }
2010}
2011
2012bitflags! {
2013 #[repr(transparent)]
2015 #[derive(Default)]
2016 pub struct ShaderModuleCreateFlags: Flags { }
2017}
2018
2019bitflags! {
2020 #[repr(transparent)]
2022 #[derive(Default)]
2023 pub struct ShaderStageFlags: Flags {
2024 const VERTEX = 1;
2025 const TESSELLATION_CONTROL = 1 << 1;
2026 const TESSELLATION_EVALUATION = 1 << 2;
2027 const GEOMETRY = 1 << 3;
2028 const FRAGMENT = 1 << 4;
2029 const ALL_GRAPHICS = Self::VERTEX.bits | Self::TESSELLATION_CONTROL.bits | Self::TESSELLATION_EVALUATION.bits | Self::GEOMETRY.bits | Self::FRAGMENT.bits;
2030 const COMPUTE = 1 << 5;
2031 const TASK_EXT = 1 << 6;
2032 const MESH_EXT = 1 << 7;
2033 const RAYGEN_KHR = 1 << 8;
2034 const ANY_HIT_KHR = 1 << 9;
2035 const CLOSEST_HIT_KHR = 1 << 10;
2036 const MISS_KHR = 1 << 11;
2037 const INTERSECTION_KHR = 1 << 12;
2038 const CALLABLE_KHR = 1 << 13;
2039 const SUBPASS_SHADING_HUAWEI = 1 << 14;
2040 const CLUSTER_CULLING_HUAWEI = 1 << 19;
2041 const ALL = i32::MAX as u32;
2042 }
2043}
2044
2045bitflags! {
2046 #[repr(transparent)]
2048 #[derive(Default)]
2049 pub struct SparseImageFormatFlags: Flags {
2050 const SINGLE_MIPTAIL = 1;
2051 const ALIGNED_MIP_SIZE = 1 << 1;
2052 const NONSTANDARD_BLOCK_SIZE = 1 << 2;
2053 }
2054}
2055
2056bitflags! {
2057 #[repr(transparent)]
2059 #[derive(Default)]
2060 pub struct SparseMemoryBindFlags: Flags {
2061 const METADATA = 1;
2062 }
2063}
2064
2065bitflags! {
2066 #[repr(transparent)]
2068 #[derive(Default)]
2069 pub struct StencilFaceFlags: Flags {
2070 const FRONT = 1;
2071 const BACK = 1 << 1;
2072 const FRONT_AND_BACK = Self::FRONT.bits | Self::BACK.bits;
2073 }
2074}
2075
2076bitflags! {
2077 #[repr(transparent)]
2079 #[derive(Default)]
2080 pub struct StreamDescriptorSurfaceCreateFlagsGGP: Flags { }
2081}
2082
2083bitflags! {
2084 #[repr(transparent)]
2086 #[derive(Default)]
2087 pub struct SubgroupFeatureFlags: Flags {
2088 const BASIC = 1;
2089 const VOTE = 1 << 1;
2090 const ARITHMETIC = 1 << 2;
2091 const BALLOT = 1 << 3;
2092 const SHUFFLE = 1 << 4;
2093 const SHUFFLE_RELATIVE = 1 << 5;
2094 const CLUSTERED = 1 << 6;
2095 const QUAD = 1 << 7;
2096 const PARTITIONED_NV = 1 << 8;
2097 const ROTATE = 1 << 9;
2098 const ROTATE_CLUSTERED = 1 << 10;
2099 }
2100}
2101
2102bitflags! {
2103 #[repr(transparent)]
2105 #[derive(Default)]
2106 pub struct SubmitFlags: Flags {
2107 const PROTECTED = 1;
2108 }
2109}
2110
2111bitflags! {
2112 #[repr(transparent)]
2114 #[derive(Default)]
2115 pub struct SubpassDescriptionFlags: Flags {
2116 const PER_VIEW_ATTRIBUTES_NVX = 1;
2117 const PER_VIEW_POSITION_X_ONLY_NVX = 1 << 1;
2118 const FRAGMENT_REGION_QCOM = 1 << 2;
2119 const SHADER_RESOLVE_QCOM = 1 << 3;
2120 const RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_EXT = 1 << 4;
2121 const RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_EXT = 1 << 5;
2122 const RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_EXT = 1 << 6;
2123 const ENABLE_LEGACY_DITHERING_EXT = 1 << 7;
2124 const TILE_SHADING_APRON_QCOM = 1 << 8;
2125 }
2126}
2127
2128bitflags! {
2129 #[repr(transparent)]
2131 #[derive(Default)]
2132 pub struct SurfaceCounterFlagsEXT: Flags {
2133 const VBLANK = 1;
2134 }
2135}
2136
2137bitflags! {
2138 #[repr(transparent)]
2140 #[derive(Default)]
2141 pub struct SurfaceCreateFlagsOHOS: Flags { }
2142}
2143
2144bitflags! {
2145 #[repr(transparent)]
2147 #[derive(Default)]
2148 pub struct SurfaceTransformFlagsKHR: Flags {
2149 const IDENTITY = 1;
2150 const ROTATE_90 = 1 << 1;
2151 const ROTATE_180 = 1 << 2;
2152 const ROTATE_270 = 1 << 3;
2153 const HORIZONTAL_MIRROR = 1 << 4;
2154 const HORIZONTAL_MIRROR_ROTATE_90 = 1 << 5;
2155 const HORIZONTAL_MIRROR_ROTATE_180 = 1 << 6;
2156 const HORIZONTAL_MIRROR_ROTATE_270 = 1 << 7;
2157 const INHERIT = 1 << 8;
2158 }
2159}
2160
2161bitflags! {
2162 #[repr(transparent)]
2164 #[derive(Default)]
2165 pub struct SwapchainCreateFlagsKHR: Flags {
2166 const SPLIT_INSTANCE_BIND_REGIONS = 1;
2167 const PROTECTED = 1 << 1;
2168 const MUTABLE_FORMAT = 1 << 2;
2169 const DEFERRED_MEMORY_ALLOCATION = 1 << 3;
2170 const PRESENT_ID_2 = 1 << 6;
2171 const PRESENT_WAIT_2 = 1 << 7;
2172 }
2173}
2174
2175bitflags! {
2176 #[repr(transparent)]
2178 #[derive(Default)]
2179 pub struct SwapchainImageUsageFlagsOHOS: Flags {
2180 const SHARED = 1;
2181 }
2182}
2183
2184bitflags! {
2185 #[repr(transparent)]
2187 #[derive(Default)]
2188 pub struct TensorCreateFlagsARM: Flags {
2189 const MUTABLE_FORMAT = 1;
2190 const PROTECTED = 1 << 1;
2191 const DESCRIPTOR_BUFFER_CAPTURE_REPLAY = 1 << 2;
2192 }
2193}
2194
2195bitflags! {
2196 #[repr(transparent)]
2198 #[derive(Default)]
2199 pub struct TensorUsageFlagsARM: Flags {
2200 const SHADER = 1 << 1;
2201 const TRANSFER_SRC = 1 << 2;
2202 const TRANSFER_DST = 1 << 3;
2203 const IMAGE_ALIASING = 1 << 4;
2204 const DATA_GRAPH = 1 << 5;
2205 }
2206}
2207
2208bitflags! {
2209 #[repr(transparent)]
2211 #[derive(Default)]
2212 pub struct TensorViewCreateFlagsARM: Flags {
2213 const DESCRIPTOR_BUFFER_CAPTURE_REPLAY = 1;
2214 }
2215}
2216
2217bitflags! {
2218 #[repr(transparent)]
2220 #[derive(Default)]
2221 pub struct TileShadingRenderPassFlagsQCOM: Flags {
2222 const ENABLE = 1;
2223 const PER_TILE_EXECUTION = 1 << 1;
2224 }
2225}
2226
2227bitflags! {
2228 #[repr(transparent)]
2230 #[derive(Default)]
2231 pub struct ToolPurposeFlags: Flags {
2232 const VALIDATION = 1;
2233 const PROFILING = 1 << 1;
2234 const TRACING = 1 << 2;
2235 const ADDITIONAL_FEATURES = 1 << 3;
2236 const MODIFYING_FEATURES = 1 << 4;
2237 const DEBUG_REPORTING_EXT = 1 << 5;
2238 const DEBUG_MARKERS_EXT = 1 << 6;
2239 }
2240}
2241
2242bitflags! {
2243 #[repr(transparent)]
2245 #[derive(Default)]
2246 pub struct ValidationCacheCreateFlagsEXT: Flags { }
2247}
2248
2249bitflags! {
2250 #[repr(transparent)]
2252 #[derive(Default)]
2253 pub struct ViSurfaceCreateFlagsNN: Flags { }
2254}
2255
2256bitflags! {
2257 #[repr(transparent)]
2259 #[derive(Default)]
2260 pub struct VideoBeginCodingFlagsKHR: Flags { }
2261}
2262
2263bitflags! {
2264 #[repr(transparent)]
2266 #[derive(Default)]
2267 pub struct VideoCapabilityFlagsKHR: Flags {
2268 const PROTECTED_CONTENT = 1;
2269 const SEPARATE_REFERENCE_IMAGES = 1 << 1;
2270 }
2271}
2272
2273bitflags! {
2274 #[repr(transparent)]
2276 #[derive(Default)]
2277 pub struct VideoChromaSubsamplingFlagsKHR: Flags {
2278 const INVALID = 0;
2279 const MONOCHROME = 1;
2280 const _420 = 1 << 1;
2281 const _422 = 1 << 2;
2282 const _444 = 1 << 3;
2283 }
2284}
2285
2286bitflags! {
2287 #[repr(transparent)]
2289 #[derive(Default)]
2290 pub struct VideoCodecOperationFlagsKHR: Flags {
2291 const NONE = 0;
2292 const DECODE_H264 = 1;
2293 const DECODE_H265 = 1 << 1;
2294 const DECODE_AV1 = 1 << 2;
2295 const DECODE_VP9 = 1 << 3;
2296 const ENCODE_H264 = 1 << 16;
2297 const ENCODE_H265 = 1 << 17;
2298 const ENCODE_AV1 = 1 << 18;
2299 }
2300}
2301
2302bitflags! {
2303 #[repr(transparent)]
2305 #[derive(Default)]
2306 pub struct VideoCodingControlFlagsKHR: Flags {
2307 const RESET = 1;
2308 const ENCODE_RATE_CONTROL = 1 << 1;
2309 const ENCODE_QUALITY_LEVEL = 1 << 2;
2310 }
2311}
2312
2313bitflags! {
2314 #[repr(transparent)]
2316 #[derive(Default)]
2317 pub struct VideoComponentBitDepthFlagsKHR: Flags {
2318 const INVALID = 0;
2319 const _8 = 1;
2320 const _10 = 1 << 2;
2321 const _12 = 1 << 4;
2322 }
2323}
2324
2325bitflags! {
2326 #[repr(transparent)]
2328 #[derive(Default)]
2329 pub struct VideoDecodeCapabilityFlagsKHR: Flags {
2330 const DPB_AND_OUTPUT_COINCIDE = 1;
2331 const DPB_AND_OUTPUT_DISTINCT = 1 << 1;
2332 }
2333}
2334
2335bitflags! {
2336 #[repr(transparent)]
2338 #[derive(Default)]
2339 pub struct VideoDecodeFlagsKHR: Flags { }
2340}
2341
2342bitflags! {
2343 #[repr(transparent)]
2345 #[derive(Default)]
2346 pub struct VideoDecodeH264PictureLayoutFlagsKHR: Flags {
2347 const PROGRESSIVE = 0;
2348 const INTERLACED_INTERLEAVED_LINES = 1;
2349 const INTERLACED_SEPARATE_PLANES = 1 << 1;
2350 }
2351}
2352
2353bitflags! {
2354 #[repr(transparent)]
2356 #[derive(Default)]
2357 pub struct VideoDecodeUsageFlagsKHR: Flags {
2358 const DEFAULT = 0;
2359 const TRANSCODING = 1;
2360 const OFFLINE = 1 << 1;
2361 const STREAMING = 1 << 2;
2362 }
2363}
2364
2365bitflags! {
2366 #[repr(transparent)]
2368 #[derive(Default)]
2369 pub struct VideoEncodeAV1CapabilityFlagsKHR: Flags {
2370 const VIDEO_ENCODE_AV1_CAPABILITY_PER_RATE_CONTROL_GROUP_MIN_MAX_Q_INDEX = 1;
2371 const VIDEO_ENCODE_AV1_CAPABILITY_GENERATE_OBU_EXTENSION_HEADER = 1 << 1;
2372 const VIDEO_ENCODE_AV1_CAPABILITY_PRIMARY_REFERENCE_CDF_ONLY = 1 << 2;
2373 const VIDEO_ENCODE_AV1_CAPABILITY_FRAME_SIZE_OVERRIDE = 1 << 3;
2374 const VIDEO_ENCODE_AV1_CAPABILITY_MOTION_VECTOR_SCALING = 1 << 4;
2375 const VIDEO_ENCODE_AV1_CAPABILITY_COMPOUND_PREDICTION_INTRA_REFRESH = 1 << 5;
2376 }
2377}
2378
2379bitflags! {
2380 #[repr(transparent)]
2382 #[derive(Default)]
2383 pub struct VideoEncodeAV1RateControlFlagsKHR: Flags {
2384 const VIDEO_ENCODE_AV1_RATE_CONTROL_REGULAR_GOP = 1;
2385 const VIDEO_ENCODE_AV1_RATE_CONTROL_TEMPORAL_LAYER_PATTERN_DYADIC = 1 << 1;
2386 const VIDEO_ENCODE_AV1_RATE_CONTROL_REFERENCE_PATTERN_FLAT = 1 << 2;
2387 const VIDEO_ENCODE_AV1_RATE_CONTROL_REFERENCE_PATTERN_DYADIC = 1 << 3;
2388 }
2389}
2390
2391bitflags! {
2392 #[repr(transparent)]
2394 #[derive(Default)]
2395 pub struct VideoEncodeAV1StdFlagsKHR: Flags {
2396 const VIDEO_ENCODE_AV1_STD_UNIFORM_TILE_SPACING_FLAG_SET = 1;
2397 const VIDEO_ENCODE_AV1_STD_SKIP_MODE_PRESENT_UNSET = 1 << 1;
2398 const VIDEO_ENCODE_AV1_STD_PRIMARY_REF_FRAME = 1 << 2;
2399 const VIDEO_ENCODE_AV1_STD_DELTA_Q = 1 << 3;
2400 }
2401}
2402
2403bitflags! {
2404 #[repr(transparent)]
2406 #[derive(Default)]
2407 pub struct VideoEncodeAV1SuperblockSizeFlagsKHR: Flags {
2408 const VIDEO_ENCODE_AV1_SUPERBLOCK_SIZE_64 = 1;
2409 const VIDEO_ENCODE_AV1_SUPERBLOCK_SIZE_128 = 1 << 1;
2410 }
2411}
2412
2413bitflags! {
2414 #[repr(transparent)]
2416 #[derive(Default)]
2417 pub struct VideoEncodeCapabilityFlagsKHR: Flags {
2418 const PRECEDING_EXTERNALLY_ENCODED_BYTES = 1;
2419 const INSUFFICIENT_BITSTREAM_BUFFER_RANGE_DETECTION = 1 << 1;
2420 const QUANTIZATION_DELTA_MAP = 1 << 2;
2421 const EMPHASIS_MAP = 1 << 3;
2422 }
2423}
2424
2425bitflags! {
2426 #[repr(transparent)]
2428 #[derive(Default)]
2429 pub struct VideoEncodeContentFlagsKHR: Flags {
2430 const DEFAULT = 0;
2431 const CAMERA = 1;
2432 const DESKTOP = 1 << 1;
2433 const RENDERED = 1 << 2;
2434 }
2435}
2436
2437bitflags! {
2438 #[repr(transparent)]
2440 #[derive(Default)]
2441 pub struct VideoEncodeFeedbackFlagsKHR: Flags {
2442 const BITSTREAM_BUFFER_OFFSET = 1;
2443 const BITSTREAM_BYTES_WRITTEN = 1 << 1;
2444 const BITSTREAM_HAS_OVERRIDES = 1 << 2;
2445 }
2446}
2447
2448bitflags! {
2449 #[repr(transparent)]
2451 #[derive(Default)]
2452 pub struct VideoEncodeFlagsKHR: Flags {
2453 const WITH_QUANTIZATION_DELTA_MAP = 1;
2454 const WITH_EMPHASIS_MAP = 1 << 1;
2455 const INTRA_REFRESH = 1 << 2;
2456 }
2457}
2458
2459bitflags! {
2460 #[repr(transparent)]
2462 #[derive(Default)]
2463 pub struct VideoEncodeH264CapabilityFlagsKHR: Flags {
2464 const HRD_COMPLIANCE = 1;
2465 const PREDICTION_WEIGHT_TABLE_GENERATED = 1 << 1;
2466 const ROW_UNALIGNED_SLICE = 1 << 2;
2467 const DIFFERENT_SLICE_TYPE = 1 << 3;
2468 const B_FRAME_IN_L0_LIST = 1 << 4;
2469 const B_FRAME_IN_L1_LIST = 1 << 5;
2470 const PER_PICTURE_TYPE_MIN_MAX_QP = 1 << 6;
2471 const PER_SLICE_CONSTANT_QP = 1 << 7;
2472 const GENERATE_PREFIX_NALU = 1 << 8;
2473 const MB_QP_DIFF_WRAPAROUND = 1 << 9;
2474 const B_PICTURE_INTRA_REFRESH = 1 << 10;
2475 }
2476}
2477
2478bitflags! {
2479 #[repr(transparent)]
2481 #[derive(Default)]
2482 pub struct VideoEncodeH264RateControlFlagsKHR: Flags {
2483 const ATTEMPT_HRD_COMPLIANCE = 1;
2484 const REGULAR_GOP = 1 << 1;
2485 const REFERENCE_PATTERN_FLAT = 1 << 2;
2486 const REFERENCE_PATTERN_DYADIC = 1 << 3;
2487 const TEMPORAL_LAYER_PATTERN_DYADIC = 1 << 4;
2488 }
2489}
2490
2491bitflags! {
2492 #[repr(transparent)]
2494 #[derive(Default)]
2495 pub struct VideoEncodeH264StdFlagsKHR: Flags {
2496 const SEPARATE_COLOR_PLANE_FLAG_SET = 1;
2497 const QPPRIME_Y_ZERO_TRANSFORM_BYPASS_FLAG_SET = 1 << 1;
2498 const SCALING_MATRIX_PRESENT_FLAG_SET = 1 << 2;
2499 const CHROMA_QP_INDEX_OFFSET = 1 << 3;
2500 const SECOND_CHROMA_QP_INDEX_OFFSET = 1 << 4;
2501 const PIC_INIT_QP_MINUS26 = 1 << 5;
2502 const WEIGHTED_PRED_FLAG_SET = 1 << 6;
2503 const WEIGHTED_BIPRED_IDC_EXPLICIT = 1 << 7;
2504 const WEIGHTED_BIPRED_IDC_IMPLICIT = 1 << 8;
2505 const TRANSFORM_8X8_MODE_FLAG_SET = 1 << 9;
2506 const DIRECT_SPATIAL_MV_PRED_FLAG_UNSET = 1 << 10;
2507 const ENTROPY_CODING_MODE_FLAG_UNSET = 1 << 11;
2508 const ENTROPY_CODING_MODE_FLAG_SET = 1 << 12;
2509 const DIRECT_8X8_INFERENCE_FLAG_UNSET = 1 << 13;
2510 const CONSTRAINED_INTRA_PRED_FLAG_SET = 1 << 14;
2511 const DEBLOCKING_FILTER_DISABLED = 1 << 15;
2512 const DEBLOCKING_FILTER_ENABLED = 1 << 16;
2513 const DEBLOCKING_FILTER_PARTIAL = 1 << 17;
2514 const SLICE_QP_DELTA = 1 << 19;
2515 const DIFFERENT_SLICE_QP_DELTA = 1 << 20;
2516 }
2517}
2518
2519bitflags! {
2520 #[repr(transparent)]
2522 #[derive(Default)]
2523 pub struct VideoEncodeH265CapabilityFlagsKHR: Flags {
2524 const HRD_COMPLIANCE = 1;
2525 const PREDICTION_WEIGHT_TABLE_GENERATED = 1 << 1;
2526 const ROW_UNALIGNED_SLICE_SEGMENT = 1 << 2;
2527 const DIFFERENT_SLICE_SEGMENT_TYPE = 1 << 3;
2528 const B_FRAME_IN_L0_LIST = 1 << 4;
2529 const B_FRAME_IN_L1_LIST = 1 << 5;
2530 const PER_PICTURE_TYPE_MIN_MAX_QP = 1 << 6;
2531 const PER_SLICE_SEGMENT_CONSTANT_QP = 1 << 7;
2532 const MULTIPLE_TILES_PER_SLICE_SEGMENT = 1 << 8;
2533 const MULTIPLE_SLICE_SEGMENTS_PER_TILE = 1 << 9;
2534 const CU_QP_DIFF_WRAPAROUND = 1 << 10;
2535 const B_PICTURE_INTRA_REFRESH = 1 << 11;
2536 }
2537}
2538
2539bitflags! {
2540 #[repr(transparent)]
2542 #[derive(Default)]
2543 pub struct VideoEncodeH265CtbSizeFlagsKHR: Flags {
2544 const _16 = 1;
2545 const _32 = 1 << 1;
2546 const _64 = 1 << 2;
2547 }
2548}
2549
2550bitflags! {
2551 #[repr(transparent)]
2553 #[derive(Default)]
2554 pub struct VideoEncodeH265RateControlFlagsKHR: Flags {
2555 const ATTEMPT_HRD_COMPLIANCE = 1;
2556 const REGULAR_GOP = 1 << 1;
2557 const REFERENCE_PATTERN_FLAT = 1 << 2;
2558 const REFERENCE_PATTERN_DYADIC = 1 << 3;
2559 const TEMPORAL_SUB_LAYER_PATTERN_DYADIC = 1 << 4;
2560 }
2561}
2562
2563bitflags! {
2564 #[repr(transparent)]
2566 #[derive(Default)]
2567 pub struct VideoEncodeH265StdFlagsKHR: Flags {
2568 const SEPARATE_COLOR_PLANE_FLAG_SET = 1;
2569 const SAMPLE_ADAPTIVE_OFFSET_ENABLED_FLAG_SET = 1 << 1;
2570 const SCALING_LIST_DATA_PRESENT_FLAG_SET = 1 << 2;
2571 const PCM_ENABLED_FLAG_SET = 1 << 3;
2572 const SPS_TEMPORAL_MVP_ENABLED_FLAG_SET = 1 << 4;
2573 const INIT_QP_MINUS26 = 1 << 5;
2574 const WEIGHTED_PRED_FLAG_SET = 1 << 6;
2575 const WEIGHTED_BIPRED_FLAG_SET = 1 << 7;
2576 const LOG2_PARALLEL_MERGE_LEVEL_MINUS2 = 1 << 8;
2577 const SIGN_DATA_HIDING_ENABLED_FLAG_SET = 1 << 9;
2578 const TRANSFORM_SKIP_ENABLED_FLAG_SET = 1 << 10;
2579 const TRANSFORM_SKIP_ENABLED_FLAG_UNSET = 1 << 11;
2580 const PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT_FLAG_SET = 1 << 12;
2581 const TRANSQUANT_BYPASS_ENABLED_FLAG_SET = 1 << 13;
2582 const CONSTRAINED_INTRA_PRED_FLAG_SET = 1 << 14;
2583 const ENTROPY_CODING_SYNC_ENABLED_FLAG_SET = 1 << 15;
2584 const DEBLOCKING_FILTER_OVERRIDE_ENABLED_FLAG_SET = 1 << 16;
2585 const DEPENDENT_SLICE_SEGMENTS_ENABLED_FLAG_SET = 1 << 17;
2586 const DEPENDENT_SLICE_SEGMENT_FLAG_SET = 1 << 18;
2587 const SLICE_QP_DELTA = 1 << 19;
2588 const DIFFERENT_SLICE_QP_DELTA = 1 << 20;
2589 }
2590}
2591
2592bitflags! {
2593 #[repr(transparent)]
2595 #[derive(Default)]
2596 pub struct VideoEncodeH265TransformBlockSizeFlagsKHR: Flags {
2597 const _4 = 1;
2598 const _8 = 1 << 1;
2599 const _16 = 1 << 2;
2600 const _32 = 1 << 3;
2601 }
2602}
2603
2604bitflags! {
2605 #[repr(transparent)]
2607 #[derive(Default)]
2608 pub struct VideoEncodeIntraRefreshModeFlagsKHR: Flags {
2609 const NONE = 0;
2610 const PER_PICTURE_PARTITION = 1;
2611 const BLOCK_BASED = 1 << 1;
2612 const BLOCK_ROW_BASED = 1 << 2;
2613 const BLOCK_COLUMN_BASED = 1 << 3;
2614 }
2615}
2616
2617bitflags! {
2618 #[repr(transparent)]
2620 #[derive(Default)]
2621 pub struct VideoEncodeRateControlFlagsKHR: Flags { }
2622}
2623
2624bitflags! {
2625 #[repr(transparent)]
2627 #[derive(Default)]
2628 pub struct VideoEncodeRateControlModeFlagsKHR: Flags {
2629 const DEFAULT = 0;
2630 const DISABLED = 1;
2631 const CBR = 1 << 1;
2632 const VBR = 1 << 2;
2633 }
2634}
2635
2636bitflags! {
2637 #[repr(transparent)]
2639 #[derive(Default)]
2640 pub struct VideoEncodeRgbChromaOffsetFlagsVALVE: Flags {
2641 const COSITED_EVEN = 1;
2642 const MIDPOINT = 1 << 1;
2643 }
2644}
2645
2646bitflags! {
2647 #[repr(transparent)]
2649 #[derive(Default)]
2650 pub struct VideoEncodeRgbModelConversionFlagsVALVE: Flags {
2651 const RGB_IDENTITY = 1;
2652 const YCBCR_IDENTITY = 1 << 1;
2653 const YCBCR_709 = 1 << 2;
2654 const YCBCR_601 = 1 << 3;
2655 const YCBCR_2020 = 1 << 4;
2656 }
2657}
2658
2659bitflags! {
2660 #[repr(transparent)]
2662 #[derive(Default)]
2663 pub struct VideoEncodeRgbRangeCompressionFlagsVALVE: Flags {
2664 const FULL_RANGE = 1;
2665 const NARROW_RANGE = 1 << 1;
2666 }
2667}
2668
2669bitflags! {
2670 #[repr(transparent)]
2672 #[derive(Default)]
2673 pub struct VideoEncodeUsageFlagsKHR: Flags {
2674 const DEFAULT = 0;
2675 const TRANSCODING = 1;
2676 const STREAMING = 1 << 1;
2677 const RECORDING = 1 << 2;
2678 const CONFERENCING = 1 << 3;
2679 }
2680}
2681
2682bitflags! {
2683 #[repr(transparent)]
2685 #[derive(Default)]
2686 pub struct VideoEndCodingFlagsKHR: Flags { }
2687}
2688
2689bitflags! {
2690 #[repr(transparent)]
2692 #[derive(Default)]
2693 pub struct VideoSessionCreateFlagsKHR: Flags {
2694 const PROTECTED_CONTENT = 1;
2695 const ALLOW_ENCODE_PARAMETER_OPTIMIZATIONS = 1 << 1;
2696 const INLINE_QUERIES = 1 << 2;
2697 const ALLOW_ENCODE_QUANTIZATION_DELTA_MAP = 1 << 3;
2698 const ALLOW_ENCODE_EMPHASIS_MAP = 1 << 4;
2699 const INLINE_SESSION_PARAMETERS = 1 << 5;
2700 }
2701}
2702
2703bitflags! {
2704 #[repr(transparent)]
2706 #[derive(Default)]
2707 pub struct VideoSessionParametersCreateFlagsKHR: Flags {
2708 const QUANTIZATION_MAP_COMPATIBLE = 1;
2709 }
2710}
2711
2712bitflags! {
2713 #[repr(transparent)]
2715 #[derive(Default)]
2716 pub struct WaylandSurfaceCreateFlagsKHR: Flags { }
2717}
2718
2719bitflags! {
2720 #[repr(transparent)]
2722 #[derive(Default)]
2723 pub struct Win32SurfaceCreateFlagsKHR: Flags { }
2724}
2725
2726bitflags! {
2727 #[repr(transparent)]
2729 #[derive(Default)]
2730 pub struct XcbSurfaceCreateFlagsKHR: Flags { }
2731}
2732
2733bitflags! {
2734 #[repr(transparent)]
2736 #[derive(Default)]
2737 pub struct XlibSurfaceCreateFlagsKHR: Flags { }
2738}
2739
2740pub type AccessFlags2KHR = AccessFlags2;
2742pub type BufferUsageFlags2KHR = BufferUsageFlags2;
2744pub type BuildAccelerationStructureFlagsNV = BuildAccelerationStructureFlagsKHR;
2746pub type CommandPoolTrimFlagsKHR = CommandPoolTrimFlags;
2748pub type DescriptorBindingFlagsEXT = DescriptorBindingFlags;
2750pub type DescriptorUpdateTemplateCreateFlagsKHR = DescriptorUpdateTemplateCreateFlags;
2752pub type ExternalFenceFeatureFlagsKHR = ExternalFenceFeatureFlags;
2754pub type ExternalFenceHandleTypeFlagsKHR = ExternalFenceHandleTypeFlags;
2756pub type ExternalMemoryFeatureFlagsKHR = ExternalMemoryFeatureFlags;
2758pub type ExternalMemoryHandleTypeFlagsKHR = ExternalMemoryHandleTypeFlags;
2760pub type ExternalSemaphoreFeatureFlagsKHR = ExternalSemaphoreFeatureFlags;
2762pub type ExternalSemaphoreHandleTypeFlagsKHR = ExternalSemaphoreHandleTypeFlags;
2764pub type FenceImportFlagsKHR = FenceImportFlags;
2766pub type FormatFeatureFlags2KHR = FormatFeatureFlags2;
2768pub type GeometryFlagsNV = GeometryFlagsKHR;
2770pub type GeometryInstanceFlagsNV = GeometryInstanceFlagsKHR;
2772pub type HostImageCopyFlagsEXT = HostImageCopyFlags;
2774pub type MemoryAllocateFlagsKHR = MemoryAllocateFlags;
2776pub type MemoryDecompressionMethodFlagsNV = MemoryDecompressionMethodFlagsEXT;
2778pub type MemoryUnmapFlagsKHR = MemoryUnmapFlags;
2780pub type PeerMemoryFeatureFlagsKHR = PeerMemoryFeatureFlags;
2782pub type PipelineCreateFlags2KHR = PipelineCreateFlags2;
2784pub type PipelineCreationFeedbackFlagsEXT = PipelineCreationFeedbackFlags;
2786pub type PipelineStageFlags2KHR = PipelineStageFlags2;
2788pub type PresentGravityFlagsEXT = PresentGravityFlagsKHR;
2790pub type PresentScalingFlagsEXT = PresentScalingFlagsKHR;
2792pub type PrivateDataSlotCreateFlagsEXT = PrivateDataSlotCreateFlags;
2794pub type RenderingFlagsKHR = RenderingFlags;
2796pub type ResolveModeFlagsKHR = ResolveModeFlags;
2798pub type SemaphoreImportFlagsKHR = SemaphoreImportFlags;
2800pub type SemaphoreWaitFlagsKHR = SemaphoreWaitFlags;
2802pub type SubmitFlagsKHR = SubmitFlags;
2804pub type ToolPurposeFlagsEXT = ToolPurposeFlags;