Skip to main content

vulkan_headers/vulkan/
vulkan_beta.rs

1use crate::prelude::*;
2use super::vulkan_core::*;
3
4#[derive(Clone, Copy)]
5#[repr(C)]
6pub struct VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX {
7    pub sType: VkStructureType,
8    pub pNext: *const c_void,
9    pub compressedData: VkDeviceOrHostAddressConstKHR,
10    pub dataSize: VkDeviceSize,
11    pub numTriangles: u32,
12    pub numVertices: u32,
13    pub maxPrimitiveIndex: u32,
14    pub maxGeometryIndex: u32,
15    pub format: VkCompressedTriangleFormatAMDX,
16}
17
18#[derive(Clone, Copy)]
19#[repr(C)]
20pub struct VkAccelerationStructureTrianglesDisplacementMicromapNV {
21    pub sType: VkStructureType,
22    pub pNext: *mut c_void,
23    pub displacementBiasAndScaleFormat: VkFormat,
24    pub displacementVectorFormat: VkFormat,
25    pub displacementBiasAndScaleBuffer: VkDeviceOrHostAddressConstKHR,
26    pub displacementBiasAndScaleStride: VkDeviceSize,
27    pub displacementVectorBuffer: VkDeviceOrHostAddressConstKHR,
28    pub displacementVectorStride: VkDeviceSize,
29    pub displacedMicromapPrimitiveFlags: VkDeviceOrHostAddressConstKHR,
30    pub displacedMicromapPrimitiveFlagsStride: VkDeviceSize,
31    pub indexType: VkIndexType,
32    pub indexBuffer: VkDeviceOrHostAddressConstKHR,
33    pub indexStride: VkDeviceSize,
34    pub baseTriangle: u32,
35    pub usageCountsCount: u32,
36    pub pUsageCounts: *const VkMicromapUsageEXT,
37    pub ppUsageCounts: *const *const VkMicromapUsageEXT,
38    pub micromap: VkMicromapEXT,
39}
40
41#[derive(Clone, Copy)]
42#[repr(C)]
43pub struct VkCudaFunctionCreateInfoNV {
44    pub sType: VkStructureType,
45    pub pNext: *const c_void,
46    pub module: VkCudaModuleNV,
47    pub pName: *const c_char,
48}
49
50#[repr(C)]
51pub struct VkCudaFunctionNV_T {
52    _data: (),
53    _marker: PhantomData<(*mut u8, PhantomPinned)>,
54}
55
56#[derive(Clone, Copy)]
57#[repr(C)]
58pub struct VkCudaLaunchInfoNV {
59    pub sType: VkStructureType,
60    pub pNext: *const c_void,
61    pub function: VkCudaFunctionNV,
62    pub gridDimX: u32,
63    pub gridDimY: u32,
64    pub gridDimZ: u32,
65    pub blockDimX: u32,
66    pub blockDimY: u32,
67    pub blockDimZ: u32,
68    pub sharedMemBytes: u32,
69    pub paramCount: usize,
70    pub pParams: *const *const c_void,
71    pub extraCount: usize,
72    pub pExtras: *const *const c_void,
73}
74
75#[derive(Clone, Copy)]
76#[repr(C)]
77pub struct VkCudaModuleCreateInfoNV {
78    pub sType: VkStructureType,
79    pub pNext: *const c_void,
80    pub dataSize: usize,
81    pub pData: *const c_void,
82}
83
84#[repr(C)]
85pub struct VkCudaModuleNV_T {
86    _data: (),
87    _marker: PhantomData<(*mut u8, PhantomPinned)>,
88}
89
90#[derive(Clone, Copy)]
91#[repr(C)]
92pub struct VkDispatchGraphCountInfoAMDX {
93    pub count: u32,
94    pub infos: VkDeviceOrHostAddressConstAMDX,
95    pub stride: u64,
96}
97
98#[derive(Clone, Copy)]
99#[repr(C)]
100pub struct VkDispatchGraphInfoAMDX {
101    pub nodeIndex: u32,
102    pub payloadCount: u32,
103    pub payloads: VkDeviceOrHostAddressConstAMDX,
104    pub payloadStride: u64,
105}
106
107#[derive(Clone, Copy)]
108#[repr(C)]
109pub struct VkExecutionGraphPipelineCreateInfoAMDX {
110    pub sType: VkStructureType,
111    pub pNext: *const c_void,
112    pub flags: VkPipelineCreateFlags,
113    pub stageCount: u32,
114    pub pStages: *const VkPipelineShaderStageCreateInfo,
115    pub pLibraryInfo: *const VkPipelineLibraryCreateInfoKHR,
116    pub layout: VkPipelineLayout,
117    pub basePipelineHandle: VkPipeline,
118    pub basePipelineIndex: i32,
119}
120
121#[derive(Clone, Copy)]
122#[repr(C)]
123pub struct VkExecutionGraphPipelineScratchSizeAMDX {
124    pub sType: VkStructureType,
125    pub pNext: *mut c_void,
126    pub minSize: VkDeviceSize,
127    pub maxSize: VkDeviceSize,
128    pub sizeGranularity: VkDeviceSize,
129}
130
131#[derive(Clone, Copy)]
132#[repr(C)]
133pub struct VkPhysicalDeviceCudaKernelLaunchFeaturesNV {
134    pub sType: VkStructureType,
135    pub pNext: *mut c_void,
136    pub cudaKernelLaunchFeatures: VkBool32,
137}
138
139#[derive(Clone, Copy)]
140#[repr(C)]
141pub struct VkPhysicalDeviceCudaKernelLaunchPropertiesNV {
142    pub sType: VkStructureType,
143    pub pNext: *mut c_void,
144    pub computeCapabilityMinor: u32,
145    pub computeCapabilityMajor: u32,
146}
147
148#[derive(Clone, Copy)]
149#[repr(C)]
150pub struct VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX {
151    pub sType: VkStructureType,
152    pub pNext: *mut c_void,
153    pub denseGeometryFormat: VkBool32,
154}
155
156#[derive(Clone, Copy)]
157#[repr(C)]
158pub struct VkPhysicalDeviceDisplacementMicromapFeaturesNV {
159    pub sType: VkStructureType,
160    pub pNext: *mut c_void,
161    pub displacementMicromap: VkBool32,
162}
163
164#[derive(Clone, Copy)]
165#[repr(C)]
166pub struct VkPhysicalDeviceDisplacementMicromapPropertiesNV {
167    pub sType: VkStructureType,
168    pub pNext: *mut c_void,
169    pub maxDisplacementMicromapSubdivisionLevel: u32,
170}
171
172#[derive(Clone, Copy)]
173#[repr(C)]
174pub struct VkPhysicalDevicePortabilitySubsetFeaturesKHR {
175    pub sType: VkStructureType,
176    pub pNext: *mut c_void,
177    pub constantAlphaColorBlendFactors: VkBool32,
178    pub events: VkBool32,
179    pub imageViewFormatReinterpretation: VkBool32,
180    pub imageViewFormatSwizzle: VkBool32,
181    pub imageView2DOn3DImage: VkBool32,
182    pub multisampleArrayImage: VkBool32,
183    pub mutableComparisonSamplers: VkBool32,
184    pub pointPolygons: VkBool32,
185    pub samplerMipLodBias: VkBool32,
186    pub separateStencilMaskRef: VkBool32,
187    pub shaderSampleRateInterpolationFunctions: VkBool32,
188    pub tessellationIsolines: VkBool32,
189    pub tessellationPointMode: VkBool32,
190    pub triangleFans: VkBool32,
191    pub vertexAttributeAccessBeyondStride: VkBool32,
192}
193
194#[derive(Clone, Copy)]
195#[repr(C)]
196pub struct VkPhysicalDevicePortabilitySubsetPropertiesKHR {
197    pub sType: VkStructureType,
198    pub pNext: *mut c_void,
199    pub minVertexInputBindingStrideAlignment: u32,
200}
201
202#[derive(Clone, Copy)]
203#[repr(C)]
204pub struct VkPhysicalDevicePresentMeteringFeaturesNV {
205    pub sType: VkStructureType,
206    pub pNext: *mut c_void,
207    pub presentMetering: VkBool32,
208}
209
210#[derive(Clone, Copy)]
211#[repr(C)]
212pub struct VkPhysicalDeviceShaderEnqueueFeaturesAMDX {
213    pub sType: VkStructureType,
214    pub pNext: *mut c_void,
215    pub shaderEnqueue: VkBool32,
216    pub shaderMeshEnqueue: VkBool32,
217}
218
219#[derive(Clone, Copy)]
220#[repr(C)]
221pub struct VkPhysicalDeviceShaderEnqueuePropertiesAMDX {
222    pub sType: VkStructureType,
223    pub pNext: *mut c_void,
224    pub maxExecutionGraphDepth: u32,
225    pub maxExecutionGraphShaderOutputNodes: u32,
226    pub maxExecutionGraphShaderPayloadSize: u32,
227    pub maxExecutionGraphShaderPayloadCount: u32,
228    pub executionGraphDispatchAddressAlignment: u32,
229    pub maxExecutionGraphWorkgroupCount: [u32; 3 as usize],
230    pub maxExecutionGraphWorkgroups: u32,
231}
232
233#[derive(Clone, Copy)]
234#[repr(C)]
235pub struct VkPipelineShaderStageNodeCreateInfoAMDX {
236    pub sType: VkStructureType,
237    pub pNext: *const c_void,
238    pub pName: *const c_char,
239    pub index: u32,
240}
241
242#[derive(Clone, Copy)]
243#[repr(C)]
244pub struct VkSetPresentConfigNV {
245    pub sType: VkStructureType,
246    pub pNext: *const c_void,
247    pub numFramesPerBatch: u32,
248    pub presentConfigFeedback: u32,
249}
250
251pub const VK_AMDX_DENSE_GEOMETRY_FORMAT_EXTENSION_NAME: &CStr = c"VK_AMDX_dense_geometry_format";
252pub const VK_AMDX_DENSE_GEOMETRY_FORMAT_SPEC_VERSION: u32 = 1;
253pub const VK_AMDX_SHADER_ENQUEUE_EXTENSION_NAME: &CStr = c"VK_AMDX_shader_enqueue";
254pub const VK_AMDX_SHADER_ENQUEUE_SPEC_VERSION: u32 = 2;
255pub const VK_BUFFER_USAGE_2_COMPRESSED_DATA_DGF1_BIT_AMDX: VkBufferUsageFlagBits2 = 1 << 33;
256pub const VK_BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX: VkBufferUsageFlagBits2 = 1 << 25;
257pub const VK_BUFFER_USAGE_EXECUTION_GRAPH_SCRATCH_BIT_AMDX: VkBufferUsageFlagBits = 1 << 25;
258pub const VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISPLACEMENT_MICROMAP_UPDATE_BIT_NV: VkBuildAccelerationStructureFlagBitsKHR = 1 << 9;
259pub const VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISPLACEMENT_MICROMAP_UPDATE_NV: VkBuildAccelerationStructureFlagBitsKHR = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISPLACEMENT_MICROMAP_UPDATE_BIT_NV;
260pub const VK_COMPRESSED_TRIANGLE_FORMAT_DGF1_AMDX: VkCompressedTriangleFormatAMDX = 0;
261pub const VK_COMPRESSED_TRIANGLE_FORMAT_DGF1_BYTE_ALIGNMENT_AMDX: u32 = 128;
262pub const VK_COMPRESSED_TRIANGLE_FORMAT_DGF1_BYTE_STRIDE_AMDX: u32 = 128;
263pub const VK_DEBUG_REPORT_OBJECT_TYPE_CUDA_FUNCTION_NV_EXT: VkDebugReportObjectTypeEXT = 1000307001;
264pub const VK_DEBUG_REPORT_OBJECT_TYPE_CUDA_MODULE_NV_EXT: VkDebugReportObjectTypeEXT = 1000307000;
265pub const VK_DISPLACEMENT_MICROMAP_FORMAT_1024_TRIANGLES_128_BYTES_NV: VkDisplacementMicromapFormatNV = 3;
266pub const VK_DISPLACEMENT_MICROMAP_FORMAT_256_TRIANGLES_128_BYTES_NV: VkDisplacementMicromapFormatNV = 2;
267pub const VK_DISPLACEMENT_MICROMAP_FORMAT_64_TRIANGLES_64_BYTES_NV: VkDisplacementMicromapFormatNV = 1;
268pub const VK_GEOMETRY_TYPE_DENSE_GEOMETRY_FORMAT_TRIANGLES_AMDX: VkGeometryTypeKHR = 1000478000;
269pub const VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME: &CStr = c"VK_KHR_portability_subset";
270pub const VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION: u32 = 1;
271pub const VK_MICROMAP_TYPE_DISPLACEMENT_MICROMAP_NV: VkMicromapTypeEXT = 1000397000;
272pub const VK_NV_CUDA_KERNEL_LAUNCH_EXTENSION_NAME: &CStr = c"VK_NV_cuda_kernel_launch";
273pub const VK_NV_CUDA_KERNEL_LAUNCH_SPEC_VERSION: u32 = 2;
274pub const VK_NV_DISPLACEMENT_MICROMAP_EXTENSION_NAME: &CStr = c"VK_NV_displacement_micromap";
275pub const VK_NV_DISPLACEMENT_MICROMAP_SPEC_VERSION: u32 = 2;
276pub const VK_NV_PRESENT_METERING_EXTENSION_NAME: &CStr = c"VK_NV_present_metering";
277pub const VK_NV_PRESENT_METERING_SPEC_VERSION: u32 = 1;
278pub const VK_OBJECT_TYPE_CUDA_FUNCTION_NV: VkObjectType = 1000307001;
279pub const VK_OBJECT_TYPE_CUDA_MODULE_NV: VkObjectType = 1000307000;
280pub const VK_PIPELINE_BIND_POINT_EXECUTION_GRAPH_AMDX: VkPipelineBindPoint = 1000134000;
281pub const VK_PIPELINE_CREATE_2_EXECUTION_GRAPH_BIT_AMDX: VkPipelineCreateFlagBits2 = 1 << 32;
282pub const VK_PIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV: VkPipelineCreateFlagBits = 1 << 28;
283pub const VK_SHADER_INDEX_UNUSED_AMDX: u32 = !0;
284pub const VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DENSE_GEOMETRY_FORMAT_TRIANGLES_DATA_AMDX: VkStructureType = 1000478001;
285pub const VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV: VkStructureType = 1000397002;
286pub const VK_STRUCTURE_TYPE_CUDA_FUNCTION_CREATE_INFO_NV: VkStructureType = 1000307001;
287pub const VK_STRUCTURE_TYPE_CUDA_LAUNCH_INFO_NV: VkStructureType = 1000307002;
288pub const VK_STRUCTURE_TYPE_CUDA_MODULE_CREATE_INFO_NV: VkStructureType = 1000307000;
289pub const VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX: VkStructureType = 1000134003;
290pub const VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_SCRATCH_SIZE_AMDX: VkStructureType = 1000134002;
291pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_FEATURES_NV: VkStructureType = 1000307003;
292pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_PROPERTIES_NV: VkStructureType = 1000307004;
293pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DENSE_GEOMETRY_FORMAT_FEATURES_AMDX: VkStructureType = 1000478000;
294pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV: VkStructureType = 1000397000;
295pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV: VkStructureType = 1000397001;
296pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR: VkStructureType = 1000163000;
297pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR: VkStructureType = 1000163001;
298pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_METERING_FEATURES_NV: VkStructureType = 1000613001;
299pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX: VkStructureType = 1000134000;
300pub const VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX: VkStructureType = 1000134001;
301pub const VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX: VkStructureType = 1000134004;
302pub const VK_STRUCTURE_TYPE_SET_PRESENT_CONFIG_NV: VkStructureType = 1000613000;
303
304unsafe extern "system" {
305    /// Available if built with `prototypes`.
306    #[cfg(any(doc, feature = "prototypes"))]
307    pub fn vkCmdCudaLaunchKernelNV(commandBuffer: VkCommandBuffer, pLaunchInfo: *const VkCudaLaunchInfoNV);
308
309    /// Available if built with `prototypes`.
310    #[cfg(any(doc, feature = "prototypes"))]
311    pub fn vkCmdDispatchGraphAMDX(commandBuffer: VkCommandBuffer, scratch: VkDeviceAddress, scratchSize: VkDeviceSize, pCountInfo: *const VkDispatchGraphCountInfoAMDX);
312
313    /// Available if built with `prototypes`.
314    #[cfg(any(doc, feature = "prototypes"))]
315    pub fn vkCmdDispatchGraphIndirectAMDX(commandBuffer: VkCommandBuffer, scratch: VkDeviceAddress, scratchSize: VkDeviceSize, pCountInfo: *const VkDispatchGraphCountInfoAMDX);
316
317    /// Available if built with `prototypes`.
318    #[cfg(any(doc, feature = "prototypes"))]
319    pub fn vkCmdDispatchGraphIndirectCountAMDX(commandBuffer: VkCommandBuffer, scratch: VkDeviceAddress, scratchSize: VkDeviceSize, countInfo: VkDeviceAddress);
320
321    /// Available if built with `prototypes`.
322    #[cfg(any(doc, feature = "prototypes"))]
323    pub fn vkCmdInitializeGraphScratchMemoryAMDX(commandBuffer: VkCommandBuffer, executionGraph: VkPipeline, scratch: VkDeviceAddress, scratchSize: VkDeviceSize);
324
325    /// Available if built with `prototypes`.
326    #[cfg(any(doc, feature = "prototypes"))]
327    pub fn vkCreateCudaFunctionNV(device: VkDevice, pCreateInfo: *const VkCudaFunctionCreateInfoNV, pAllocator: *const VkAllocationCallbacks, pFunction: *mut VkCudaFunctionNV) -> VkResult;
328
329    /// Available if built with `prototypes`.
330    #[cfg(any(doc, feature = "prototypes"))]
331    pub fn vkCreateCudaModuleNV(device: VkDevice, pCreateInfo: *const VkCudaModuleCreateInfoNV, pAllocator: *const VkAllocationCallbacks, pModule: *mut VkCudaModuleNV) -> VkResult;
332
333    /// Available if built with `prototypes`.
334    #[cfg(any(doc, feature = "prototypes"))]
335    pub fn vkCreateExecutionGraphPipelinesAMDX(device: VkDevice, pipelineCache: VkPipelineCache, createInfoCount: u32, pCreateInfos: *const VkExecutionGraphPipelineCreateInfoAMDX, pAllocator: *const VkAllocationCallbacks, pPipelines: *mut VkPipeline) -> VkResult;
336
337    /// Available if built with `prototypes`.
338    #[cfg(any(doc, feature = "prototypes"))]
339    pub fn vkDestroyCudaFunctionNV(device: VkDevice, function: VkCudaFunctionNV, pAllocator: *const VkAllocationCallbacks);
340
341    /// Available if built with `prototypes`.
342    #[cfg(any(doc, feature = "prototypes"))]
343    pub fn vkDestroyCudaModuleNV(device: VkDevice, module: VkCudaModuleNV, pAllocator: *const VkAllocationCallbacks);
344
345    /// Available if built with `prototypes`.
346    #[cfg(any(doc, feature = "prototypes"))]
347    pub fn vkGetCudaModuleCacheNV(device: VkDevice, module: VkCudaModuleNV, pCacheSize: *mut usize, pCacheData: *mut c_void) -> VkResult;
348
349    /// Available if built with `prototypes`.
350    #[cfg(any(doc, feature = "prototypes"))]
351    pub fn vkGetExecutionGraphPipelineNodeIndexAMDX(device: VkDevice, executionGraph: VkPipeline, pNodeInfo: *const VkPipelineShaderStageNodeCreateInfoAMDX, pNodeIndex: *mut u32) -> VkResult;
352
353    /// Available if built with `prototypes`.
354    #[cfg(any(doc, feature = "prototypes"))]
355    pub fn vkGetExecutionGraphPipelineScratchSizeAMDX(device: VkDevice, executionGraph: VkPipeline, pSizeInfo: *mut VkExecutionGraphPipelineScratchSizeAMDX) -> VkResult;
356}
357
358pub type NonNullPFN_vkCmdCudaLaunchKernelNV = unsafe extern "system" fn(commandBuffer: VkCommandBuffer, pLaunchInfo: *const VkCudaLaunchInfoNV);
359pub type NonNullPFN_vkCmdDispatchGraphAMDX = unsafe extern "system" fn(commandBuffer: VkCommandBuffer, scratch: VkDeviceAddress, scratchSize: VkDeviceSize, pCountInfo: *const VkDispatchGraphCountInfoAMDX);
360pub type NonNullPFN_vkCmdDispatchGraphIndirectAMDX = unsafe extern "system" fn(commandBuffer: VkCommandBuffer, scratch: VkDeviceAddress, scratchSize: VkDeviceSize, pCountInfo: *const VkDispatchGraphCountInfoAMDX);
361pub type NonNullPFN_vkCmdDispatchGraphIndirectCountAMDX = unsafe extern "system" fn(commandBuffer: VkCommandBuffer, scratch: VkDeviceAddress, scratchSize: VkDeviceSize, countInfo: VkDeviceAddress);
362pub type NonNullPFN_vkCmdInitializeGraphScratchMemoryAMDX = unsafe extern "system" fn(commandBuffer: VkCommandBuffer, executionGraph: VkPipeline, scratch: VkDeviceAddress, scratchSize: VkDeviceSize);
363pub type NonNullPFN_vkCreateCudaFunctionNV = unsafe extern "system" fn(device: VkDevice, pCreateInfo: *const VkCudaFunctionCreateInfoNV, pAllocator: *const VkAllocationCallbacks, pFunction: *mut VkCudaFunctionNV) -> VkResult;
364pub type NonNullPFN_vkCreateCudaModuleNV = unsafe extern "system" fn(device: VkDevice, pCreateInfo: *const VkCudaModuleCreateInfoNV, pAllocator: *const VkAllocationCallbacks, pModule: *mut VkCudaModuleNV) -> VkResult;
365pub type NonNullPFN_vkCreateExecutionGraphPipelinesAMDX = unsafe extern "system" fn(device: VkDevice, pipelineCache: VkPipelineCache, createInfoCount: u32, pCreateInfos: *const VkExecutionGraphPipelineCreateInfoAMDX, pAllocator: *const VkAllocationCallbacks, pPipelines: *mut VkPipeline) -> VkResult;
366pub type NonNullPFN_vkDestroyCudaFunctionNV = unsafe extern "system" fn(device: VkDevice, function: VkCudaFunctionNV, pAllocator: *const VkAllocationCallbacks);
367pub type NonNullPFN_vkDestroyCudaModuleNV = unsafe extern "system" fn(device: VkDevice, module: VkCudaModuleNV, pAllocator: *const VkAllocationCallbacks);
368pub type NonNullPFN_vkGetCudaModuleCacheNV = unsafe extern "system" fn(device: VkDevice, module: VkCudaModuleNV, pCacheSize: *mut usize, pCacheData: *mut c_void) -> VkResult;
369pub type NonNullPFN_vkGetExecutionGraphPipelineNodeIndexAMDX = unsafe extern "system" fn(device: VkDevice, executionGraph: VkPipeline, pNodeInfo: *const VkPipelineShaderStageNodeCreateInfoAMDX, pNodeIndex: *mut u32) -> VkResult;
370pub type NonNullPFN_vkGetExecutionGraphPipelineScratchSizeAMDX = unsafe extern "system" fn(device: VkDevice, executionGraph: VkPipeline, pSizeInfo: *mut VkExecutionGraphPipelineScratchSizeAMDX) -> VkResult;
371pub type NonNullVkCudaFunctionNV = NonNull<VkCudaFunctionNV_T>;
372pub type NonNullVkCudaModuleNV = NonNull<VkCudaModuleNV_T>;
373pub type PFN_vkCmdCudaLaunchKernelNV = Option<NonNullPFN_vkCmdCudaLaunchKernelNV>;
374pub type PFN_vkCmdDispatchGraphAMDX = Option<NonNullPFN_vkCmdDispatchGraphAMDX>;
375pub type PFN_vkCmdDispatchGraphIndirectAMDX = Option<NonNullPFN_vkCmdDispatchGraphIndirectAMDX>;
376pub type PFN_vkCmdDispatchGraphIndirectCountAMDX = Option<NonNullPFN_vkCmdDispatchGraphIndirectCountAMDX>;
377pub type PFN_vkCmdInitializeGraphScratchMemoryAMDX = Option<NonNullPFN_vkCmdInitializeGraphScratchMemoryAMDX>;
378pub type PFN_vkCreateCudaFunctionNV = Option<NonNullPFN_vkCreateCudaFunctionNV>;
379pub type PFN_vkCreateCudaModuleNV = Option<NonNullPFN_vkCreateCudaModuleNV>;
380pub type PFN_vkCreateExecutionGraphPipelinesAMDX = Option<NonNullPFN_vkCreateExecutionGraphPipelinesAMDX>;
381pub type PFN_vkDestroyCudaFunctionNV = Option<NonNullPFN_vkDestroyCudaFunctionNV>;
382pub type PFN_vkDestroyCudaModuleNV = Option<NonNullPFN_vkDestroyCudaModuleNV>;
383pub type PFN_vkGetCudaModuleCacheNV = Option<NonNullPFN_vkGetCudaModuleCacheNV>;
384pub type PFN_vkGetExecutionGraphPipelineNodeIndexAMDX = Option<NonNullPFN_vkGetExecutionGraphPipelineNodeIndexAMDX>;
385pub type PFN_vkGetExecutionGraphPipelineScratchSizeAMDX = Option<NonNullPFN_vkGetExecutionGraphPipelineScratchSizeAMDX>;
386pub type VkCompressedTriangleFormatAMDX = i32;
387pub type VkCudaFunctionNV = *mut VkCudaFunctionNV_T;
388pub type VkCudaModuleNV = *mut VkCudaModuleNV_T;
389pub type VkDisplacementMicromapFormatNV = i32;
390
391#[derive(Clone, Copy)]
392#[repr(C)]
393pub union VkDeviceOrHostAddressConstAMDX {
394    pub deviceAddress: VkDeviceAddress,
395    pub hostAddress: *const c_void,
396}