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 #[cfg(any(doc, feature = "prototypes"))]
307 pub fn vkCmdCudaLaunchKernelNV(commandBuffer: VkCommandBuffer, pLaunchInfo: *const VkCudaLaunchInfoNV);
308
309 #[cfg(any(doc, feature = "prototypes"))]
311 pub fn vkCmdDispatchGraphAMDX(commandBuffer: VkCommandBuffer, scratch: VkDeviceAddress, scratchSize: VkDeviceSize, pCountInfo: *const VkDispatchGraphCountInfoAMDX);
312
313 #[cfg(any(doc, feature = "prototypes"))]
315 pub fn vkCmdDispatchGraphIndirectAMDX(commandBuffer: VkCommandBuffer, scratch: VkDeviceAddress, scratchSize: VkDeviceSize, pCountInfo: *const VkDispatchGraphCountInfoAMDX);
316
317 #[cfg(any(doc, feature = "prototypes"))]
319 pub fn vkCmdDispatchGraphIndirectCountAMDX(commandBuffer: VkCommandBuffer, scratch: VkDeviceAddress, scratchSize: VkDeviceSize, countInfo: VkDeviceAddress);
320
321 #[cfg(any(doc, feature = "prototypes"))]
323 pub fn vkCmdInitializeGraphScratchMemoryAMDX(commandBuffer: VkCommandBuffer, executionGraph: VkPipeline, scratch: VkDeviceAddress, scratchSize: VkDeviceSize);
324
325 #[cfg(any(doc, feature = "prototypes"))]
327 pub fn vkCreateCudaFunctionNV(device: VkDevice, pCreateInfo: *const VkCudaFunctionCreateInfoNV, pAllocator: *const VkAllocationCallbacks, pFunction: *mut VkCudaFunctionNV) -> VkResult;
328
329 #[cfg(any(doc, feature = "prototypes"))]
331 pub fn vkCreateCudaModuleNV(device: VkDevice, pCreateInfo: *const VkCudaModuleCreateInfoNV, pAllocator: *const VkAllocationCallbacks, pModule: *mut VkCudaModuleNV) -> VkResult;
332
333 #[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 #[cfg(any(doc, feature = "prototypes"))]
339 pub fn vkDestroyCudaFunctionNV(device: VkDevice, function: VkCudaFunctionNV, pAllocator: *const VkAllocationCallbacks);
340
341 #[cfg(any(doc, feature = "prototypes"))]
343 pub fn vkDestroyCudaModuleNV(device: VkDevice, module: VkCudaModuleNV, pAllocator: *const VkAllocationCallbacks);
344
345 #[cfg(any(doc, feature = "prototypes"))]
347 pub fn vkGetCudaModuleCacheNV(device: VkDevice, module: VkCudaModuleNV, pCacheSize: *mut usize, pCacheData: *mut c_void) -> VkResult;
348
349 #[cfg(any(doc, feature = "prototypes"))]
351 pub fn vkGetExecutionGraphPipelineNodeIndexAMDX(device: VkDevice, executionGraph: VkPipeline, pNodeInfo: *const VkPipelineShaderStageNodeCreateInfoAMDX, pNodeIndex: *mut u32) -> VkResult;
352
353 #[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}