diff --git a/.commits b/.commits index e9d5a96e..c31c4b72 100644 --- a/.commits +++ b/.commits @@ -1,2 +1,2 @@ -KhronosGroup/Vulkan-Docs/main/xml/vk.xml => 6aefabc0ad51073cf060e384ce43a59250d4d69c +KhronosGroup/Vulkan-Docs/main/xml/vk.xml => d90ada3dd9e7f7a5b96e0d608b0971b1f73698da KhronosGroup/Vulkan-Headers/main/include/vk_video => 0777a3ad88bad5f4b11cfd509458bbc0ddadc773 \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index c6e607b8..e2e95f0f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,21 @@ - [Removing extra double-quote at the end of a comment in `VkFormatFeatureFlagBits2` (#2680)](https://github.com/KhronosGroup/Vulkan-Docs/commit/5caf874c0d1ec519494beea83703c5478bfe92a1) - [Close #2675](https://github.com/KhronosGroup/Vulkan-Docs/commit/33eff7c90483e5d8ff66e15c06683a9d19772ea3) - [February 20, 2026 Vulkan 1.4.344 spec update](https://github.com/KhronosGroup/Vulkan-Docs/commit/6aefabc0ad51073cf060e384ce43a59250d4d69c) +- [Reserve extension 678 (#2693)](https://github.com/KhronosGroup/Vulkan-Docs/commit/61ec2c24c40b6cc31a55e600d8bd3b33a7c7a307) +- [docs: Fix types tag example (#2688)](https://github.com/KhronosGroup/Vulkan-Docs/commit/f27d8836e8ca5055e847115a3c83fb4c7ba99013) +- [March 6, 2026 Vulkan 1.4.345 spec update](https://github.com/KhronosGroup/Vulkan-Docs/commit/b0b699e446e3eab9bc0d6b192599871eecf25e1e) +- [doc: clarify VkStructureType naming to avoid double underscores (#2698)](https://github.com/KhronosGroup/Vulkan-Docs/commit/bde26d74616d75b24230f1c6265e13e3721c98a6) +- [March 13, 2026 Vulkan 1.4.346 spec update](https://github.com/KhronosGroup/Vulkan-Docs/commit/b71f0036e3f00fa0cda4d888a53f6081c62b4648) +- [March 20, 2026 Vulkan 1.4.347 spec update](https://github.com/KhronosGroup/Vulkan-Docs/commit/6c112cf1c56fec91d5aa4370fb62cfee25618684) +- [Add explicit dependency on VkSurfaceTransformFlagsKHR to VK_KHR_surface (#2707)](https://github.com/KhronosGroup/Vulkan-Docs/commit/145b19c158b8fcbc660f70971f96d73f91da718c) +- [Non-canonical type usages have been corrected (#2708)](https://github.com/KhronosGroup/Vulkan-Docs/commit/6c2ac8dac101e9040410707ebd65f98623054e75) +- [Use links to github instead of internal gitlab (#2703)](https://github.com/KhronosGroup/Vulkan-Docs/commit/6536f0992741bd9ef9e1241b78198cb3569aa145) +- [April 3, 2026 Vulkan 1.4.348 spec update](https://github.com/KhronosGroup/Vulkan-Docs/commit/6019efe93eca7bfa7a692316d91a9465eb457d60) +- [April 10, 2026 Vulkan 1.4.349 spec update](https://github.com/KhronosGroup/Vulkan-Docs/commit/ab80b9e8dd1c08b14c9536c37a31182114ae72ee) +- [Update CI to actions/checkout@v5 per Actions complaint, and REUSE to REUSE.toml (#2713)](https://github.com/KhronosGroup/Vulkan-Docs/commit/af52e7ed124f3c46fa2f1eae9070393c1fc624c1) +- [Change links in proposals to fix errors and be easier to convert for inclusion in the docs site (internal issue 4795) (#2720)](https://github.com/KhronosGroup/Vulkan-Docs/commit/8e076076a57443657667225607831ccfdb78a392) +- [May 1, 2026 Vulkan 1.4.350 spec update](https://github.com/KhronosGroup/Vulkan-Docs/commit/81b1d516cbf42f04a3c7f781977c499945b5e5dc) +- [Reserve extension number 691 for VK_MESA_fragment_coverage_mask (#2721)](https://github.com/KhronosGroup/Vulkan-Docs/commit/d90ada3dd9e7f7a5b96e0d608b0971b1f73698da) ## [0.35.0] - 2026-02-15 diff --git a/vulkanalia-sys/src/bitmasks.rs b/vulkanalia-sys/src/bitmasks.rs index 9bab15c3..626e9c37 100644 --- a/vulkanalia-sys/src/bitmasks.rs +++ b/vulkanalia-sys/src/bitmasks.rs @@ -160,6 +160,20 @@ bitflags! { pub struct AcquireProfilingLockFlagsKHR: Flags { } } +bitflags! { + /// + #[repr(transparent)] + #[derive(Default)] + pub struct AddressCommandFlagsKHR: Flags { + const PROTECTED = 1; + const FULLY_BOUND = 1 << 1; + const STORAGE_BUFFER_USAGE = 1 << 2; + const UNKNOWN_STORAGE_BUFFER_USAGE = 1 << 3; + const TRANSFORM_FEEDBACK_BUFFER_USAGE = 1 << 4; + const UNKNOWN_TRANSFORM_FEEDBACK_BUFFER_USAGE = 1 << 5; + } +} + bitflags! { /// #[repr(transparent)] @@ -456,6 +470,56 @@ bitflags! { } } +bitflags! { + /// + #[repr(transparent)] + #[derive(Default)] + pub struct DataGraphOpticalFlowCreateFlagsARM: Flags { + const ENABLE_HINT = 1; + const ENABLE_COST = 1 << 1; + const RESERVED_30 = 1 << 30; + } +} + +bitflags! { + /// + #[repr(transparent)] + #[derive(Default)] + pub struct DataGraphOpticalFlowExecuteFlagsARM: Flags { + const DISABLE_TEMPORAL_HINTS = 1; + const INPUT_UNCHANGED = 1 << 1; + const REFERENCE_UNCHANGED = 1 << 2; + const INPUT_IS_PREVIOUS_REFERENCE = 1 << 3; + const REFERENCE_IS_PREVIOUS_INPUT = 1 << 4; + } +} + +bitflags! { + /// + #[repr(transparent)] + #[derive(Default)] + pub struct DataGraphOpticalFlowGridSizeFlagsARM: Flags { + const UNKNOWN = 0; + const _1X1 = 1; + const _2X2 = 1 << 1; + const _4X4 = 1 << 2; + const _8X8 = 1 << 3; + } +} + +bitflags! { + /// + #[repr(transparent)] + #[derive(Default)] + pub struct DataGraphOpticalFlowImageUsageFlagsARM: Flags { + const UNKNOWN = 0; + const INPUT = 1; + const OUTPUT = 1 << 1; + const HINT = 1 << 2; + const COST = 1 << 3; + } +} + bitflags! { /// #[repr(transparent)] @@ -469,6 +533,19 @@ bitflags! { #[derive(Default)] pub struct DataGraphPipelineSessionCreateFlagsARM: Flags { const PROTECTED = 1; + const OPTICAL_FLOW_CACHE = 1 << 1; + } +} + +bitflags! { + /// + #[repr(transparent)] + #[derive(Default)] + pub struct DataGraphTOSAQualityFlagsARM: Flags { + const ACCELERATED = 1; + const CONFORMANT = 1 << 1; + const EXPERIMENTAL = 1 << 2; + const DEPRECATED = 1 << 3; } } @@ -619,6 +696,20 @@ bitflags! { } } +bitflags! { + /// + #[repr(transparent)] + #[derive(Default)] + pub struct DeviceFaultFlagsKHR: Flags { + const FLAG_DEVICE_LOST = 1; + const FLAG_MEMORY_ADDRESS = 1 << 1; + const FLAG_INSTRUCTION_ADDRESS = 1 << 2; + const FLAG_VENDOR = 1 << 3; + const FLAG_WATCHDOG_TIMEOUT = 1 << 4; + const FLAG_OVERFLOW = 1 << 5; + } +} + bitflags! { /// #[repr(transparent)] @@ -936,6 +1027,9 @@ bitflags! { const DEPTH_COPY_ON_TRANSFER_QUEUE_KHR = 1 << 53; const STENCIL_COPY_ON_COMPUTE_QUEUE_KHR = 1 << 54; const STENCIL_COPY_ON_TRANSFER_QUEUE_KHR = 1 << 55; + const DATA_GRAPH_OPTICAL_FLOW_IMAGE_ARM = 1 << 56; + const DATA_GRAPH_OPTICAL_FLOW_VECTOR_ARM = 1 << 57; + const DATA_GRAPH_OPTICAL_FLOW_COST_ARM = 1 << 58; const COPY_IMAGE_INDIRECT_DST_KHR = 1 << 59; } } @@ -1119,6 +1213,7 @@ bitflags! { const _2D_VIEW_COMPATIBLE_EXT = 1 << 17; const MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_EXT = 1 << 18; const VIDEO_PROFILE_INDEPENDENT_KHR = 1 << 20; + const ALIAS_SINGLE_LAYER_DESCRIPTOR_KHR = 1 << 22; } } @@ -1426,6 +1521,7 @@ bitflags! { #[derive(Default)] pub struct PhysicalDeviceSchedulingControlsFlagsARM: Flags { const SHADER_CORE_COUNT = 1; + const DISPATCH_PARAMETERS = 1 << 1; } } @@ -1558,6 +1654,7 @@ bitflags! { const DESCRIPTOR_HEAP_EXT = 1 << 36; const DISALLOW_OPACITY_MICROMAP_ARM = 1 << 37; const INDIRECT_BINDABLE_EXT = 1 << 38; + const INSTRUMENT_SHADERS_ARM = 1 << 39; const PER_LAYER_FRAGMENT_DENSITY_VALVE = 1 << 40; const _64_BIT_INDEXING_EXT = 1 << 43; } @@ -1611,6 +1708,7 @@ bitflags! { #[derive(Default)] pub struct PipelineLayoutCreateFlags: Flags { const INDEPENDENT_SETS_EXT = 1 << 1; + const NO_TASK_SHADER_KHR = 1 << 2; } } @@ -2047,10 +2145,19 @@ bitflags! { const FRAGMENT_DENSITY_MAP_ATTACHMENT = 1 << 6; const INDIRECT_BINDABLE = 1 << 7; const DESCRIPTOR_HEAP = 1 << 10; + const INSTRUMENT_SHADER_ARM = 1 << 11; const _64_BIT_INDEXING = 1 << 15; + const INDEPENDENT_SETS_KHR = 1 << 18; } } +bitflags! { + /// + #[repr(transparent)] + #[derive(Default)] + pub struct ShaderInstrumentationValuesFlagsARM: Flags { } +} + bitflags! { /// #[repr(transparent)] diff --git a/vulkanalia-sys/src/commands.rs b/vulkanalia-sys/src/commands.rs index d057eae5..aec72aa7 100644 --- a/vulkanalia-sys/src/commands.rs +++ b/vulkanalia-sys/src/commands.rs @@ -197,6 +197,16 @@ pub type PFN_vkBuildMicromapsEXT = unsafe extern "system" fn( _infos: *const MicromapBuildInfoEXT, ) -> Result; +/// +pub type PFN_vkClearShaderInstrumentationMetricsARM = + unsafe extern "system" fn(_device: Device, _instrumentation: ShaderInstrumentationARM); + +/// +pub type PFN_vkCmdBeginConditionalRendering2EXT = unsafe extern "system" fn( + _command_buffer: CommandBuffer, + _conditional_rendering_begin: *const ConditionalRenderingBeginInfo2EXT, +); + /// pub type PFN_vkCmdBeginConditionalRenderingEXT = unsafe extern "system" fn( _command_buffer: CommandBuffer, @@ -264,6 +274,20 @@ pub type PFN_vkCmdBeginRendering = unsafe extern "system" fn( /// pub type PFN_vkCmdBeginRenderingKHR = PFN_vkCmdBeginRendering; +/// +pub type PFN_vkCmdBeginShaderInstrumentationARM = unsafe extern "system" fn( + _command_buffer: CommandBuffer, + _instrumentation: ShaderInstrumentationARM, +); + +/// +pub type PFN_vkCmdBeginTransformFeedback2EXT = unsafe extern "system" fn( + _command_buffer: CommandBuffer, + _first_counter_range: u32, + _counter_range_count: u32, + _counter_infos: *const BindTransformFeedbackBuffer2InfoEXT, +); + /// pub type PFN_vkCmdBeginTransformFeedbackEXT = unsafe extern "system" fn( _command_buffer: CommandBuffer, @@ -338,6 +362,12 @@ pub type PFN_vkCmdBindIndexBuffer2 = unsafe extern "system" fn( /// pub type PFN_vkCmdBindIndexBuffer2KHR = PFN_vkCmdBindIndexBuffer2; +/// +pub type PFN_vkCmdBindIndexBuffer3KHR = unsafe extern "system" fn( + _command_buffer: CommandBuffer, + _info: *const BindIndexBuffer3InfoKHR, +); + /// pub type PFN_vkCmdBindInvocationMaskHUAWEI = unsafe extern "system" fn( _command_buffer: CommandBuffer, @@ -389,6 +419,14 @@ pub type PFN_vkCmdBindTileMemoryQCOM = unsafe extern "system" fn( _tile_memory_bind_info: *const TileMemoryBindInfoQCOM, ); +/// +pub type PFN_vkCmdBindTransformFeedbackBuffers2EXT = unsafe extern "system" fn( + _command_buffer: CommandBuffer, + _first_binding: u32, + _binding_count: u32, + _binding_infos: *const BindTransformFeedbackBuffer2InfoEXT, +); + /// pub type PFN_vkCmdBindTransformFeedbackBuffersEXT = unsafe extern "system" fn( _command_buffer: CommandBuffer, @@ -422,6 +460,14 @@ pub type PFN_vkCmdBindVertexBuffers2 = unsafe extern "system" fn( /// pub type PFN_vkCmdBindVertexBuffers2EXT = PFN_vkCmdBindVertexBuffers2; +/// +pub type PFN_vkCmdBindVertexBuffers3KHR = unsafe extern "system" fn( + _command_buffer: CommandBuffer, + _first_binding: u32, + _binding_count: u32, + _binding_infos: *const BindVertexBuffer3InfoKHR, +); + /// pub type PFN_vkCmdBlitImage = unsafe extern "system" fn( _command_buffer: CommandBuffer, @@ -631,6 +677,12 @@ pub type PFN_vkCmdCopyImageToBuffer2 = unsafe extern "system" fn( /// pub type PFN_vkCmdCopyImageToBuffer2KHR = PFN_vkCmdCopyImageToBuffer2; +/// +pub type PFN_vkCmdCopyImageToMemoryKHR = unsafe extern "system" fn( + _command_buffer: CommandBuffer, + _copy_memory_info: *const CopyDeviceMemoryImageInfoKHR, +); + /// pub type PFN_vkCmdCopyMemoryIndirectKHR = unsafe extern "system" fn( _command_buffer: CommandBuffer, @@ -645,6 +697,12 @@ pub type PFN_vkCmdCopyMemoryIndirectNV = unsafe extern "system" fn( _stride: u32, ); +/// +pub type PFN_vkCmdCopyMemoryKHR = unsafe extern "system" fn( + _command_buffer: CommandBuffer, + _copy_memory_info: *const CopyDeviceMemoryInfoKHR, +); + /// pub type PFN_vkCmdCopyMemoryToAccelerationStructureKHR = unsafe extern "system" fn( _command_buffer: CommandBuffer, @@ -668,6 +726,12 @@ pub type PFN_vkCmdCopyMemoryToImageIndirectNV = unsafe extern "system" fn( _image_subresources: *const ImageSubresourceLayers, ); +/// +pub type PFN_vkCmdCopyMemoryToImageKHR = unsafe extern "system" fn( + _command_buffer: CommandBuffer, + _copy_memory_info: *const CopyDeviceMemoryImageInfoKHR, +); + /// pub type PFN_vkCmdCopyMemoryToMicromapEXT = unsafe extern "system" fn( _command_buffer: CommandBuffer, @@ -696,6 +760,17 @@ pub type PFN_vkCmdCopyQueryPoolResults = unsafe extern "system" fn( _flags: QueryResultFlags, ); +/// +pub type PFN_vkCmdCopyQueryPoolResultsToMemoryKHR = unsafe extern "system" fn( + _command_buffer: CommandBuffer, + _query_pool: QueryPool, + _first_query: u32, + _query_count: u32, + _dst_range: *const StridedDeviceAddressRangeKHR, + _dst_flags: AddressCommandFlagsKHR, + _query_result_flags: QueryResultFlags, +); + /// pub type PFN_vkCmdCopyTensorARM = unsafe extern "system" fn( _command_buffer: CommandBuffer, @@ -821,6 +896,12 @@ pub type PFN_vkCmdDispatchGraphIndirectCountAMDX = unsafe extern "system" fn( pub type PFN_vkCmdDispatchIndirect = unsafe extern "system" fn(_command_buffer: CommandBuffer, _buffer: Buffer, _offset: DeviceSize); +/// +pub type PFN_vkCmdDispatchIndirect2KHR = unsafe extern "system" fn( + _command_buffer: CommandBuffer, + _info: *const DispatchIndirect2InfoKHR, +); + /// pub type PFN_vkCmdDispatchTileQCOM = unsafe extern "system" fn( _command_buffer: CommandBuffer, @@ -867,6 +948,10 @@ pub type PFN_vkCmdDrawIndexedIndirect = unsafe extern "system" fn( _stride: u32, ); +/// +pub type PFN_vkCmdDrawIndexedIndirect2KHR = + unsafe extern "system" fn(_command_buffer: CommandBuffer, _info: *const DrawIndirect2InfoKHR); + /// pub type PFN_vkCmdDrawIndexedIndirectCount = unsafe extern "system" fn( _command_buffer: CommandBuffer, @@ -878,6 +963,12 @@ pub type PFN_vkCmdDrawIndexedIndirectCount = unsafe extern "system" fn( _stride: u32, ); +/// +pub type PFN_vkCmdDrawIndexedIndirectCount2KHR = unsafe extern "system" fn( + _command_buffer: CommandBuffer, + _info: *const DrawIndirectCount2InfoKHR, +); + /// pub type PFN_vkCmdDrawIndexedIndirectCountAMD = PFN_vkCmdDrawIndexedIndirectCount; @@ -893,6 +984,20 @@ pub type PFN_vkCmdDrawIndirect = unsafe extern "system" fn( _stride: u32, ); +/// +pub type PFN_vkCmdDrawIndirect2KHR = + unsafe extern "system" fn(_command_buffer: CommandBuffer, _info: *const DrawIndirect2InfoKHR); + +/// +pub type PFN_vkCmdDrawIndirectByteCount2EXT = unsafe extern "system" fn( + _command_buffer: CommandBuffer, + _instance_count: u32, + _first_instance: u32, + _counter_info: *const BindTransformFeedbackBuffer2InfoEXT, + _counter_offset: u32, + _vertex_stride: u32, +); + /// pub type PFN_vkCmdDrawIndirectByteCountEXT = unsafe extern "system" fn( _command_buffer: CommandBuffer, @@ -915,6 +1020,12 @@ pub type PFN_vkCmdDrawIndirectCount = unsafe extern "system" fn( _stride: u32, ); +/// +pub type PFN_vkCmdDrawIndirectCount2KHR = unsafe extern "system" fn( + _command_buffer: CommandBuffer, + _info: *const DrawIndirectCount2InfoKHR, +); + /// pub type PFN_vkCmdDrawIndirectCountAMD = PFN_vkCmdDrawIndirectCount; @@ -929,6 +1040,16 @@ pub type PFN_vkCmdDrawMeshTasksEXT = unsafe extern "system" fn( _group_count_z: u32, ); +/// +pub type PFN_vkCmdDrawMeshTasksIndirect2EXT = + unsafe extern "system" fn(_command_buffer: CommandBuffer, _info: *const DrawIndirect2InfoKHR); + +/// +pub type PFN_vkCmdDrawMeshTasksIndirectCount2EXT = unsafe extern "system" fn( + _command_buffer: CommandBuffer, + _info: *const DrawIndirectCount2InfoKHR, +); + /// pub type PFN_vkCmdDrawMeshTasksIndirectCountEXT = unsafe extern "system" fn( _command_buffer: CommandBuffer, @@ -1052,6 +1173,18 @@ pub type PFN_vkCmdEndRendering2KHR = unsafe extern "system" fn( /// pub type PFN_vkCmdEndRenderingKHR = PFN_vkCmdEndRendering; +/// +pub type PFN_vkCmdEndShaderInstrumentationARM = + unsafe extern "system" fn(_command_buffer: CommandBuffer); + +/// +pub type PFN_vkCmdEndTransformFeedback2EXT = unsafe extern "system" fn( + _command_buffer: CommandBuffer, + _first_counter_range: u32, + _counter_range_count: u32, + _counter_infos: *const BindTransformFeedbackBuffer2InfoEXT, +); + /// pub type PFN_vkCmdEndTransformFeedbackEXT = unsafe extern "system" fn( _command_buffer: CommandBuffer, @@ -1097,6 +1230,14 @@ pub type PFN_vkCmdFillBuffer = unsafe extern "system" fn( _data: u32, ); +/// +pub type PFN_vkCmdFillMemoryKHR = unsafe extern "system" fn( + _command_buffer: CommandBuffer, + _dst_range: *const DeviceAddressRangeKHR, + _dst_flags: AddressCommandFlagsKHR, + _data: u32, +); + /// pub type PFN_vkCmdInitializeGraphScratchMemoryAMDX = unsafe extern "system" fn( _command_buffer: CommandBuffer, @@ -1523,6 +1664,12 @@ pub type PFN_vkCmdSetDiscardRectangleModeEXT = unsafe extern "system" fn( _discard_rectangle_mode: DiscardRectangleModeEXT, ); +/// +pub type PFN_vkCmdSetDispatchParametersARM = unsafe extern "system" fn( + _command_buffer: CommandBuffer, + _dispatch_parameters: *const DispatchParametersARM, +); + /// pub type PFN_vkCmdSetEvent = unsafe extern "system" fn( _command_buffer: CommandBuffer, @@ -1651,6 +1798,10 @@ pub type PFN_vkCmdSetPrimitiveRestartEnable = /// pub type PFN_vkCmdSetPrimitiveRestartEnableEXT = PFN_vkCmdSetPrimitiveRestartEnable; +/// +pub type PFN_vkCmdSetPrimitiveRestartIndexEXT = + unsafe extern "system" fn(_command_buffer: CommandBuffer, _primitive_restart_index: u32); + /// pub type PFN_vkCmdSetPrimitiveTopology = unsafe extern "system" fn( _command_buffer: CommandBuffer, @@ -1912,6 +2063,15 @@ pub type PFN_vkCmdUpdateBuffer = unsafe extern "system" fn( _data: *const c_void, ); +/// +pub type PFN_vkCmdUpdateMemoryKHR = unsafe extern "system" fn( + _command_buffer: CommandBuffer, + _dst_range: *const DeviceAddressRangeKHR, + _dst_flags: AddressCommandFlagsKHR, + _data_size: DeviceSize, + _data: *const c_void, +); + /// pub type PFN_vkCmdUpdatePipelineIndirectBufferNV = unsafe extern "system" fn( _command_buffer: CommandBuffer, @@ -1983,6 +2143,10 @@ pub type PFN_vkCmdWriteBufferMarkerAMD = unsafe extern "system" fn( _marker: u32, ); +/// +pub type PFN_vkCmdWriteMarkerToMemoryAMD = + unsafe extern "system" fn(_command_buffer: CommandBuffer, _info: *const MemoryMarkerInfoAMD); + /// pub type PFN_vkCmdWriteMicromapsPropertiesEXT = unsafe extern "system" fn( _command_buffer: CommandBuffer, @@ -2091,6 +2255,14 @@ pub type PFN_vkCopyMicromapToMemoryEXT = unsafe extern "system" fn( _info: *const CopyMicromapToMemoryInfoEXT, ) -> Result; +/// +pub type PFN_vkCreateAccelerationStructure2KHR = unsafe extern "system" fn( + _device: Device, + _create_info: *const AccelerationStructureCreateInfo2KHR, + _allocator: *const AllocationCallbacks, + _acceleration_structure: *mut AccelerationStructureKHR, +) -> Result; + /// pub type PFN_vkCreateAccelerationStructureKHR = unsafe extern "system" fn( _device: Device, @@ -2572,6 +2744,14 @@ pub type PFN_vkCreateSemaphoreSciSyncPoolNV = unsafe extern "system" fn( _semaphore_pool: *mut SemaphoreSciSyncPoolNV, ) -> Result; +/// +pub type PFN_vkCreateShaderInstrumentationARM = unsafe extern "system" fn( + _device: Device, + _create_info: *const ShaderInstrumentationCreateInfoARM, + _allocator: *const AllocationCallbacks, + _instrumentation: *mut ShaderInstrumentationARM, +) -> Result; + /// pub type PFN_vkCreateShaderModule = unsafe extern "system" fn( _device: Device, @@ -3035,6 +3215,13 @@ pub type PFN_vkDestroyShaderEXT = unsafe extern "system" fn( _allocator: *const AllocationCallbacks, ); +/// +pub type PFN_vkDestroyShaderInstrumentationARM = unsafe extern "system" fn( + _device: Device, + _instrumentation: ShaderInstrumentationARM, + _allocator: *const AllocationCallbacks, +); + /// pub type PFN_vkDestroyShaderModule = unsafe extern "system" fn( _device: Device, @@ -3167,6 +3354,14 @@ pub type PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = _counter_descriptions: *mut PerformanceCounterDescriptionKHR, ) -> Result; +/// +pub type PFN_vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM = + unsafe extern "system" fn( + _physical_device: PhysicalDevice, + _description_count: *mut u32, + _descriptions: *mut ShaderInstrumentationMetricDescriptionARM, + ) -> Result; + /// pub type PFN_vkEnumeratePhysicalDevices = unsafe extern "system" fn( _instance: Instance, @@ -3236,7 +3431,7 @@ pub type PFN_vkGetAccelerationStructureHandleNV = unsafe extern "system" fn( pub type PFN_vkGetAccelerationStructureMemoryRequirementsNV = unsafe extern "system" fn( _device: Device, _info: *const AccelerationStructureMemoryRequirementsInfoNV, - _memory_requirements: *mut MemoryRequirements2KHR, + _memory_requirements: *mut MemoryRequirements2, ); /// @@ -3439,6 +3634,10 @@ pub type PFN_vkGetDeviceBufferMemoryRequirementsKHR = PFN_vkGetDeviceBufferMemor pub type PFN_vkGetDeviceCombinedImageSamplerIndexNVX = unsafe extern "system" fn(_device: Device, _image_view_index: u64, _sampler_index: u64) -> u64; +/// +pub type PFN_vkGetDeviceFaultDebugInfoKHR = + unsafe extern "system" fn(_device: Device, _debug_info: *mut DeviceFaultDebugInfoKHR) -> Result; + /// pub type PFN_vkGetDeviceFaultInfoEXT = unsafe extern "system" fn( _device: Device, @@ -3446,6 +3645,14 @@ pub type PFN_vkGetDeviceFaultInfoEXT = unsafe extern "system" fn( _fault_info: *mut DeviceFaultInfoEXT, ) -> Result; +/// +pub type PFN_vkGetDeviceFaultReportsKHR = unsafe extern "system" fn( + _device: Device, + _timeout: u64, + _fault_counts: *mut u32, + _fault_info: *mut DeviceFaultInfoKHR, +) -> Result; + /// pub type PFN_vkGetDeviceGroupPeerMemoryFeatures = unsafe extern "system" fn( _device: Device, @@ -4229,6 +4436,26 @@ pub type PFN_vkGetPhysicalDeviceProperties2 = unsafe extern "system" fn( /// pub type PFN_vkGetPhysicalDeviceProperties2KHR = PFN_vkGetPhysicalDeviceProperties2; +/// +pub type PFN_vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM = + unsafe extern "system" fn( + _physical_device: PhysicalDevice, + _queue_family_index: u32, + _queue_family_data_graph_properties: *const QueueFamilyDataGraphPropertiesARM, + _properties: *mut BaseOutStructure, + ) -> Result; + +/// +pub type PFN_vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM = + unsafe extern "system" fn( + _physical_device: PhysicalDevice, + _queue_family_index: u32, + _queue_family_data_graph_properties: *const QueueFamilyDataGraphPropertiesARM, + _optical_flow_image_format_info: *const DataGraphOpticalFlowImageFormatInfoARM, + _format_count: *mut u32, + _image_format_properties: *mut DataGraphOpticalFlowImageFormatPropertiesARM, + ) -> Result; + /// pub type PFN_vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM = unsafe extern "system" fn (_physical_device: PhysicalDevice, _queue_family_data_graph_processing_engine_info: *const PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM, _queue_family_data_graph_processing_engine_properties: *mut QueueFamilyDataGraphProcessingEnginePropertiesARM); @@ -4520,7 +4747,7 @@ pub type PFN_vkGetPipelineKeyKHR = unsafe extern "system" fn( /// pub type PFN_vkGetPipelinePropertiesEXT = unsafe extern "system" fn( _device: Device, - _pipeline_info: *const PipelineInfoEXT, + _pipeline_info: *const PipelineInfoKHR, _pipeline_properties: *mut BaseOutStructure, ) -> Result; @@ -4693,6 +4920,15 @@ pub type PFN_vkGetShaderInfoAMD = unsafe extern "system" fn( _info: *mut c_void, ) -> Result; +/// +pub type PFN_vkGetShaderInstrumentationValuesARM = unsafe extern "system" fn( + _device: Device, + _instrumentation: ShaderInstrumentationARM, + _metric_block_count: *mut u32, + _metric_values: *mut c_void, + _flags: ShaderInstrumentationValuesFlagsARM, +) -> Result; + /// pub type PFN_vkGetShaderModuleCreateInfoIdentifierEXT = unsafe extern "system" fn( _device: Device, @@ -4926,6 +5162,10 @@ pub type PFN_vkQueueNotifyOutOfBandNV = pub type PFN_vkQueuePresentKHR = unsafe extern "system" fn(_queue: Queue, _present_info: *const PresentInfoKHR) -> Result; +/// +pub type PFN_vkQueueSetPerfHintQCOM = + unsafe extern "system" fn(_queue: Queue, _perf_hint_info: *const PerfHintInfoQCOM) -> Result; + /// pub type PFN_vkQueueSetPerformanceConfigurationINTEL = unsafe extern "system" fn( _queue: Queue, diff --git a/vulkanalia-sys/src/constants.rs b/vulkanalia-sys/src/constants.rs index f184ee4c..f41bd2fb 100644 --- a/vulkanalia-sys/src/constants.rs +++ b/vulkanalia-sys/src/constants.rs @@ -30,6 +30,7 @@ pub const DATA_GRAPH_MODEL_TOOLCHAIN_VERSION_LENGTH_QCOM: i32 = 3; pub const FALSE: u32 = 0; pub const LOD_CLAMP_NONE: f32 = 1000.0; pub const LUID_SIZE: usize = 8; +pub const MAX_DATA_GRAPH_TOSA_NAME_SIZE_ARM: usize = 128; pub const MAX_DESCRIPTION_SIZE: usize = 256; pub const MAX_DEVICE_GROUP_SIZE: usize = 32; pub const MAX_DRIVER_INFO_SIZE: usize = 256; diff --git a/vulkanalia-sys/src/enums.rs b/vulkanalia-sys/src/enums.rs index c17e0b94..66c1207a 100644 --- a/vulkanalia-sys/src/enums.rs +++ b/vulkanalia-sys/src/enums.rs @@ -1419,6 +1419,110 @@ impl fmt::Debug for DataGraphModelCacheTypeQCOM { } } +/// +#[repr(transparent)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] +pub struct DataGraphOpticalFlowPerformanceLevelARM(i32); + +impl DataGraphOpticalFlowPerformanceLevelARM { + pub const UNKNOWN: Self = Self(0); + pub const SLOW: Self = Self(1); + pub const MEDIUM: Self = Self(2); + pub const FAST: Self = Self(3); + + /// Constructs an instance of this enum with the supplied underlying value. + #[inline] + pub const fn from_raw(value: i32) -> Self { + Self(value) + } + + /// Gets the underlying value for this enum instance. + #[inline] + pub const fn as_raw(self) -> i32 { + self.0 + } +} + +impl fmt::Debug for DataGraphOpticalFlowPerformanceLevelARM { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + match self.0 { + 0 => write!(f, "UNKNOWN"), + 1 => write!(f, "SLOW"), + 2 => write!(f, "MEDIUM"), + 3 => write!(f, "FAST"), + _ => self.0.fmt(f), + } + } +} + +/// +#[repr(transparent)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] +pub struct DataGraphPipelineNodeConnectionTypeARM(i32); + +impl DataGraphPipelineNodeConnectionTypeARM { + pub const OPTICAL_FLOW_INPUT: Self = Self(1000631000); + pub const OPTICAL_FLOW_REFERENCE: Self = Self(1000631001); + pub const OPTICAL_FLOW_HINT: Self = Self(1000631002); + pub const OPTICAL_FLOW_FLOW_VECTOR: Self = Self(1000631003); + pub const OPTICAL_FLOW_COST: Self = Self(1000631004); + + /// Constructs an instance of this enum with the supplied underlying value. + #[inline] + pub const fn from_raw(value: i32) -> Self { + Self(value) + } + + /// Gets the underlying value for this enum instance. + #[inline] + pub const fn as_raw(self) -> i32 { + self.0 + } +} + +impl fmt::Debug for DataGraphPipelineNodeConnectionTypeARM { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + match self.0 { + 1000631000 => write!(f, "OPTICAL_FLOW_INPUT"), + 1000631001 => write!(f, "OPTICAL_FLOW_REFERENCE"), + 1000631002 => write!(f, "OPTICAL_FLOW_HINT"), + 1000631003 => write!(f, "OPTICAL_FLOW_FLOW_VECTOR"), + 1000631004 => write!(f, "OPTICAL_FLOW_COST"), + _ => self.0.fmt(f), + } + } +} + +/// +#[repr(transparent)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] +pub struct DataGraphPipelineNodeTypeARM(i32); + +impl DataGraphPipelineNodeTypeARM { + pub const OPTICAL_FLOW: Self = Self(1000631000); + + /// Constructs an instance of this enum with the supplied underlying value. + #[inline] + pub const fn from_raw(value: i32) -> Self { + Self(value) + } + + /// Gets the underlying value for this enum instance. + #[inline] + pub const fn as_raw(self) -> i32 { + self.0 + } +} + +impl fmt::Debug for DataGraphPipelineNodeTypeARM { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + match self.0 { + 1000631000 => write!(f, "OPTICAL_FLOW"), + _ => self.0.fmt(f), + } + } +} + /// #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -1427,6 +1531,8 @@ pub struct DataGraphPipelinePropertyARM(i32); impl DataGraphPipelinePropertyARM { pub const CREATION_LOG: Self = Self(0); pub const IDENTIFIER: Self = Self(1); + pub const NEURAL_ACCELERATOR_DEBUG_DATABASE: Self = Self(1000676000); + pub const NEURAL_ACCELERATOR_STATISTICS_INFO: Self = Self(1000676001); /// Constructs an instance of this enum with the supplied underlying value. #[inline] @@ -1446,6 +1552,8 @@ impl fmt::Debug for DataGraphPipelinePropertyARM { match self.0 { 0 => write!(f, "CREATION_LOG"), 1 => write!(f, "IDENTIFIER"), + 1000676000 => write!(f, "NEURAL_ACCELERATOR_DEBUG_DATABASE"), + 1000676001 => write!(f, "NEURAL_ACCELERATOR_STATISTICS_INFO"), _ => self.0.fmt(f), } } @@ -1458,6 +1566,8 @@ pub struct DataGraphPipelineSessionBindPointARM(i32); impl DataGraphPipelineSessionBindPointARM { pub const TRANSIENT: Self = Self(0); + pub const OPTICAL_FLOW_CACHE: Self = Self(1000631001); + pub const NEURAL_ACCELERATOR_STATISTICS: Self = Self(1000676000); /// Constructs an instance of this enum with the supplied underlying value. #[inline] @@ -1476,6 +1586,8 @@ impl fmt::Debug for DataGraphPipelineSessionBindPointARM { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match self.0 { 0 => write!(f, "TRANSIENT"), + 1000631001 => write!(f, "OPTICAL_FLOW_CACHE"), + 1000676000 => write!(f, "NEURAL_ACCELERATOR_STATISTICS"), _ => self.0.fmt(f), } } @@ -1511,6 +1623,38 @@ impl fmt::Debug for DataGraphPipelineSessionBindPointTypeARM { } } +/// +#[repr(transparent)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] +pub struct DataGraphTOSALevelARM(i32); + +impl DataGraphTOSALevelARM { + pub const NONE: Self = Self(0); + pub const _8K: Self = Self(1); + + /// Constructs an instance of this enum with the supplied underlying value. + #[inline] + pub const fn from_raw(value: i32) -> Self { + Self(value) + } + + /// Gets the underlying value for this enum instance. + #[inline] + pub const fn as_raw(self) -> i32 { + self.0 + } +} + +impl fmt::Debug for DataGraphTOSALevelARM { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + match self.0 { + 0 => write!(f, "NONE"), + 1 => write!(f, "_8K"), + _ => self.0.fmt(f), + } + } +} + /// #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -1929,12 +2073,12 @@ impl fmt::Debug for DeviceEventTypeEXT { } } -/// +/// #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] -pub struct DeviceFaultAddressTypeEXT(i32); +pub struct DeviceFaultAddressTypeKHR(i32); -impl DeviceFaultAddressTypeEXT { +impl DeviceFaultAddressTypeKHR { pub const NONE: Self = Self(0); pub const READ_INVALID: Self = Self(1); pub const WRITE_INVALID: Self = Self(2); @@ -1956,7 +2100,7 @@ impl DeviceFaultAddressTypeEXT { } } -impl fmt::Debug for DeviceFaultAddressTypeEXT { +impl fmt::Debug for DeviceFaultAddressTypeKHR { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match self.0 { 0 => write!(f, "NONE"), @@ -1971,12 +2115,12 @@ impl fmt::Debug for DeviceFaultAddressTypeEXT { } } -/// +/// #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] -pub struct DeviceFaultVendorBinaryHeaderVersionEXT(i32); +pub struct DeviceFaultVendorBinaryHeaderVersionKHR(i32); -impl DeviceFaultVendorBinaryHeaderVersionEXT { +impl DeviceFaultVendorBinaryHeaderVersionKHR { pub const ONE: Self = Self(1); /// Constructs an instance of this enum with the supplied underlying value. @@ -1992,7 +2136,7 @@ impl DeviceFaultVendorBinaryHeaderVersionEXT { } } -impl fmt::Debug for DeviceFaultVendorBinaryHeaderVersionEXT { +impl fmt::Debug for DeviceFaultVendorBinaryHeaderVersionKHR { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match self.0 { 1 => write!(f, "ONE"), @@ -4087,6 +4231,40 @@ impl fmt::Debug for MicromapTypeEXT { } } +/// +#[repr(transparent)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] +pub struct NeuralAcceleratorStatisticsModeARM(i32); + +impl NeuralAcceleratorStatisticsModeARM { + pub const DISABLED: Self = Self(0); + pub const STATISTICS0: Self = Self(1); + pub const STATISTICS1: Self = Self(2); + + /// Constructs an instance of this enum with the supplied underlying value. + #[inline] + pub const fn from_raw(value: i32) -> Self { + Self(value) + } + + /// Gets the underlying value for this enum instance. + #[inline] + pub const fn as_raw(self) -> i32 { + self.0 + } +} + +impl fmt::Debug for NeuralAcceleratorStatisticsModeARM { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + match self.0 { + 0 => write!(f, "DISABLED"), + 1 => write!(f, "STATISTICS0"), + 2 => write!(f, "STATISTICS1"), + _ => self.0.fmt(f), + } + } +} + /// #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -4152,6 +4330,7 @@ impl ObjectType { pub const EXTERNAL_COMPUTE_QUEUE_NV: Self = Self(1000556000); pub const INDIRECT_COMMANDS_LAYOUT_EXT: Self = Self(1000572000); pub const INDIRECT_EXECUTION_SET_EXT: Self = Self(1000572001); + pub const SHADER_INSTRUMENTATION_ARM: Self = Self(1000607000); /// Constructs an instance of this enum with the supplied underlying value. #[inline] @@ -4228,6 +4407,7 @@ impl fmt::Debug for ObjectType { 1000556000 => write!(f, "EXTERNAL_COMPUTE_QUEUE_NV"), 1000572000 => write!(f, "INDIRECT_COMMANDS_LAYOUT_EXT"), 1000572001 => write!(f, "INDIRECT_EXECUTION_SET_EXT"), + 1000607000 => write!(f, "SHADER_INSTRUMENTATION_ARM"), _ => self.0.fmt(f), } } @@ -4451,6 +4631,42 @@ impl fmt::Debug for PartitionedAccelerationStructureOpTypeNV { } } +/// +#[repr(transparent)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] +pub struct PerfHintTypeQCOM(i32); + +impl PerfHintTypeQCOM { + pub const DEFAULT: Self = Self(0); + pub const FREQUENCY_MIN: Self = Self(1); + pub const FREQUENCY_MAX: Self = Self(2); + pub const FREQUENCY_SCALED: Self = Self(3); + + /// Constructs an instance of this enum with the supplied underlying value. + #[inline] + pub const fn from_raw(value: i32) -> Self { + Self(value) + } + + /// Gets the underlying value for this enum instance. + #[inline] + pub const fn as_raw(self) -> i32 { + self.0 + } +} + +impl fmt::Debug for PerfHintTypeQCOM { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + match self.0 { + 0 => write!(f, "DEFAULT"), + 1 => write!(f, "FREQUENCY_MIN"), + 2 => write!(f, "FREQUENCY_MAX"), + 3 => write!(f, "FREQUENCY_SCALED"), + _ => self.0.fmt(f), + } + } +} + /// #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -4716,6 +4932,7 @@ impl PhysicalDeviceDataGraphOperationTypeARM { pub const SPIRV_EXTENDED_INSTRUCTION_SET: Self = Self(0); pub const NEURAL_MODEL_QCOM: Self = Self(1000629000); pub const BUILTIN_MODEL_QCOM: Self = Self(1000629001); + pub const OPTICAL_FLOW: Self = Self(1000631000); /// Constructs an instance of this enum with the supplied underlying value. #[inline] @@ -4736,6 +4953,7 @@ impl fmt::Debug for PhysicalDeviceDataGraphOperationTypeARM { 0 => write!(f, "SPIRV_EXTENDED_INSTRUCTION_SET"), 1000629000 => write!(f, "NEURAL_MODEL_QCOM"), 1000629001 => write!(f, "BUILTIN_MODEL_QCOM"), + 1000631000 => write!(f, "OPTICAL_FLOW"), _ => self.0.fmt(f), } } @@ -6903,6 +7121,10 @@ impl StructureType { pub const RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: Self = Self(1000044006); pub const PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD: Self = Self(1000227000); pub const PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD: Self = Self(1000229000); + pub const PHYSICAL_DEVICE_SHADER_CONSTANT_DATA_FEATURES_KHR: Self = Self(1000231000); + pub const PHYSICAL_DEVICE_SHADER_ABORT_FEATURES_KHR: Self = Self(1000233000); + pub const DEVICE_FAULT_SHADER_ABORT_MESSAGE_INFO_KHR: Self = Self(1000233001); + pub const PHYSICAL_DEVICE_SHADER_ABORT_PROPERTIES_KHR: Self = Self(1000233002); pub const PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT: Self = Self(1000234000); pub const PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR: Self = Self(1000235000); pub const PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT: Self = Self(1000237000); @@ -6985,6 +7207,9 @@ impl StructureType { pub const VIDEO_ENCODE_SESSION_PARAMETERS_FEEDBACK_INFO_KHR: Self = Self(1000299010); pub const PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV: Self = Self(1000300000); pub const DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV: Self = Self(1000300001); + pub const PERF_HINT_INFO_QCOM: Self = Self(1000302000); + pub const PHYSICAL_DEVICE_QUEUE_PERF_HINT_FEATURES_QCOM: Self = Self(1000302001); + pub const PHYSICAL_DEVICE_QUEUE_PERF_HINT_PROPERTIES_QCOM: Self = Self(1000302002); pub const CUDA_MODULE_CREATE_INFO_NV: Self = Self(1000307000); pub const CUDA_FUNCTION_CREATE_INFO_NV: Self = Self(1000307001); pub const CUDA_LAUNCH_INFO_NV: Self = Self(1000307002); @@ -7023,6 +7248,22 @@ impl StructureType { pub const DESCRIPTOR_BUFFER_BINDING_INFO_EXT: Self = Self(1000316011); pub const DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT: Self = Self(1000316012); pub const ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT: Self = Self(1000316009); + pub const DEVICE_MEMORY_COPY_KHR: Self = Self(1000318000); + pub const COPY_DEVICE_MEMORY_INFO_KHR: Self = Self(1000318001); + pub const DEVICE_MEMORY_IMAGE_COPY_KHR: Self = Self(1000318002); + pub const COPY_DEVICE_MEMORY_IMAGE_INFO_KHR: Self = Self(1000318003); + pub const MEMORY_RANGE_BARRIERS_INFO_KHR: Self = Self(1000318004); + pub const MEMORY_RANGE_BARRIER_KHR: Self = Self(1000318005); + pub const PHYSICAL_DEVICE_DEVICE_ADDRESS_COMMANDS_FEATURES_KHR: Self = Self(1000318006); + pub const BIND_INDEX_BUFFER_3_INFO_KHR: Self = Self(1000318007); + pub const BIND_VERTEX_BUFFER_3_INFO_KHR: Self = Self(1000318008); + pub const DRAW_INDIRECT_2_INFO_KHR: Self = Self(1000318009); + pub const DRAW_INDIRECT_COUNT_2_INFO_KHR: Self = Self(1000318010); + pub const DISPATCH_INDIRECT_2_INFO_KHR: Self = Self(1000318011); + pub const CONDITIONAL_RENDERING_BEGIN_INFO_2_EXT: Self = Self(1000318012); + pub const BIND_TRANSFORM_FEEDBACK_BUFFER_2_INFO_EXT: Self = Self(1000318013); + pub const MEMORY_MARKER_INFO_AMD: Self = Self(1000318014); + pub const ACCELERATION_STRUCTURE_CREATE_INFO_2_KHR: Self = Self(1000318015); pub const PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT: Self = Self(1000320000); pub const PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT: Self = Self(1000320001); pub const GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT: Self = Self(1000320002); @@ -7148,6 +7389,9 @@ impl StructureType { pub const DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM: Self = Self(1000417000); pub const PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM: Self = Self(1000417001); pub const PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM: Self = Self(1000417002); + pub const DISPATCH_PARAMETERS_ARM: Self = Self(1000417003); + pub const PHYSICAL_DEVICE_SCHEDULING_CONTROLS_DISPATCH_PARAMETERS_PROPERTIES_ARM: Self = + Self(1000417004); pub const PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT: Self = Self(1000418000); pub const IMAGE_VIEW_SLICED_CREATE_INFO_EXT: Self = Self(1000418001); pub const PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE: Self = Self(1000420000); @@ -7330,6 +7574,7 @@ impl StructureType { Self(1000507019); pub const DATA_GRAPH_PIPELINE_CONSTANT_TENSOR_SEMI_STRUCTURED_SPARSITY_INFO_ARM: Self = Self(1000507015); + pub const QUEUE_FAMILY_DATA_GRAPH_TOSA_PROPERTIES_ARM: Self = Self(1000508000); pub const PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM: Self = Self(1000510000); pub const MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM: Self = Self(1000510001); @@ -7460,6 +7705,10 @@ impl StructureType { pub const INDIRECT_EXECUTION_SET_SHADER_LAYOUT_INFO_EXT: Self = Self(1000572012); pub const GENERATED_COMMANDS_PIPELINE_INFO_EXT: Self = Self(1000572013); pub const GENERATED_COMMANDS_SHADER_INFO_EXT: Self = Self(1000572014); + pub const PHYSICAL_DEVICE_FAULT_FEATURES_KHR: Self = Self(1000573000); + pub const PHYSICAL_DEVICE_FAULT_PROPERTIES_KHR: Self = Self(1000573001); + pub const DEVICE_FAULT_INFO_KHR: Self = Self(1000573002); + pub const DEVICE_FAULT_DEBUG_INFO_KHR: Self = Self(1000573003); pub const PHYSICAL_DEVICE_MAINTENANCE_8_FEATURES_KHR: Self = Self(1000574000); pub const MEMORY_BARRIER_ACCESS_FLAGS_3_KHR: Self = Self(1000574002); pub const PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_FEATURES_MESA: Self = Self(1000575000); @@ -7498,6 +7747,10 @@ impl StructureType { pub const PERFORMANCE_COUNTER_ARM: Self = Self(1000605002); pub const PERFORMANCE_COUNTER_DESCRIPTION_ARM: Self = Self(1000605003); pub const RENDER_PASS_PERFORMANCE_COUNTERS_BY_REGION_BEGIN_INFO_ARM: Self = Self(1000605004); + pub const PHYSICAL_DEVICE_SHADER_INSTRUMENTATION_FEATURES_ARM: Self = Self(1000607000); + pub const PHYSICAL_DEVICE_SHADER_INSTRUMENTATION_PROPERTIES_ARM: Self = Self(1000607001); + pub const SHADER_INSTRUMENTATION_CREATE_INFO_ARM: Self = Self(1000607002); + pub const SHADER_INSTRUMENTATION_METRIC_DESCRIPTION_ARM: Self = Self(1000607003); pub const PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_ROBUSTNESS_FEATURES_EXT: Self = Self(1000608000); pub const PHYSICAL_DEVICE_FORMAT_PACK_FEATURES_ARM: Self = Self(1000609000); pub const PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_FEATURES_VALVE: Self = Self(1000611000); @@ -7524,6 +7777,15 @@ impl StructureType { pub const RENDERING_ATTACHMENT_FLAGS_INFO_KHR: Self = Self(1000630002); pub const RENDERING_END_INFO_KHR: Self = Self(1000619003); pub const RESOLVE_IMAGE_MODE_INFO_KHR: Self = Self(1000630004); + pub const PHYSICAL_DEVICE_DATA_GRAPH_OPTICAL_FLOW_FEATURES_ARM: Self = Self(1000631000); + pub const QUEUE_FAMILY_DATA_GRAPH_OPTICAL_FLOW_PROPERTIES_ARM: Self = Self(1000631001); + pub const DATA_GRAPH_OPTICAL_FLOW_IMAGE_FORMAT_INFO_ARM: Self = Self(1000631003); + pub const DATA_GRAPH_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_ARM: Self = Self(1000631004); + pub const DATA_GRAPH_PIPELINE_OPTICAL_FLOW_DISPATCH_INFO_ARM: Self = Self(1000631005); + pub const DATA_GRAPH_PIPELINE_OPTICAL_FLOW_CREATE_INFO_ARM: Self = Self(1000631002); + pub const DATA_GRAPH_PIPELINE_RESOURCE_INFO_IMAGE_LAYOUT_ARM: Self = Self(1000631006); + pub const DATA_GRAPH_PIPELINE_SINGLE_NODE_CREATE_INFO_ARM: Self = Self(1000631007); + pub const DATA_GRAPH_PIPELINE_SINGLE_NODE_CONNECTION_ARM: Self = Self(1000631008); pub const PHYSICAL_DEVICE_SHADER_LONG_VECTOR_FEATURES_EXT: Self = Self(1000635000); pub const PHYSICAL_DEVICE_SHADER_LONG_VECTOR_PROPERTIES_EXT: Self = Self(1000635001); pub const PHYSICAL_DEVICE_PIPELINE_CACHE_INCREMENTAL_MODE_FEATURES_SEC: Self = Self(1000637000); @@ -7531,10 +7793,21 @@ impl StructureType { Self(1000642000); pub const COMPUTE_OCCUPANCY_PRIORITY_PARAMETERS_NV: Self = Self(1000645000); pub const PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV: Self = Self(1000645001); + pub const PHYSICAL_DEVICE_MAINTENANCE_11_FEATURES_KHR: Self = Self(1000657000); + pub const QUEUE_FAMILY_OPTIMAL_IMAGE_TRANSFER_GRANULARITY_PROPERTIES_KHR: Self = + Self(1000657001); pub const PHYSICAL_DEVICE_SHADER_SUBGROUP_PARTITIONED_FEATURES_EXT: Self = Self(1000662000); pub const UBM_SURFACE_CREATE_INFO_SEC: Self = Self(1000664000); pub const PHYSICAL_DEVICE_SHADER_MIXED_FLOAT_DOT_PRODUCT_FEATURES_VALVE: Self = Self(1000673000); + pub const PHYSICAL_DEVICE_THROTTLE_HINT_FEATURES_SEC: Self = Self(1000674000); + pub const THROTTLE_HINT_SUBMIT_INFO_SEC: Self = Self(1000674001); + pub const DATA_GRAPH_PIPELINE_NEURAL_STATISTICS_CREATE_INFO_ARM: Self = Self(1000676000); + pub const DATA_GRAPH_PIPELINE_SESSION_NEURAL_STATISTICS_CREATE_INFO_ARM: Self = + Self(1000676001); + pub const PHYSICAL_DEVICE_DATA_GRAPH_NEURAL_ACCELERATOR_STATISTICS_FEATURES_ARM: Self = + Self(1000676002); + pub const PHYSICAL_DEVICE_PRIMITIVE_RESTART_INDEX_FEATURES_EXT: Self = Self(1000678000); /// Constructs an instance of this enum with the supplied underlying value. #[inline] @@ -8178,6 +8451,10 @@ impl fmt::Debug for StructureType { 1000044006 => write!(f, "RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR"), 1000227000 => write!(f, "PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD"), 1000229000 => write!(f, "PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD"), + 1000231000 => write!(f, "PHYSICAL_DEVICE_SHADER_CONSTANT_DATA_FEATURES_KHR"), + 1000233000 => write!(f, "PHYSICAL_DEVICE_SHADER_ABORT_FEATURES_KHR"), + 1000233001 => write!(f, "DEVICE_FAULT_SHADER_ABORT_MESSAGE_INFO_KHR"), + 1000233002 => write!(f, "PHYSICAL_DEVICE_SHADER_ABORT_PROPERTIES_KHR"), 1000234000 => write!(f, "PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT"), 1000235000 => write!(f, "PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR"), 1000237000 => write!(f, "PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT"), @@ -8273,6 +8550,9 @@ impl fmt::Debug for StructureType { 1000299010 => write!(f, "VIDEO_ENCODE_SESSION_PARAMETERS_FEEDBACK_INFO_KHR"), 1000300000 => write!(f, "PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV"), 1000300001 => write!(f, "DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV"), + 1000302000 => write!(f, "PERF_HINT_INFO_QCOM"), + 1000302001 => write!(f, "PHYSICAL_DEVICE_QUEUE_PERF_HINT_FEATURES_QCOM"), + 1000302002 => write!(f, "PHYSICAL_DEVICE_QUEUE_PERF_HINT_PROPERTIES_QCOM"), 1000307000 => write!(f, "CUDA_MODULE_CREATE_INFO_NV"), 1000307001 => write!(f, "CUDA_FUNCTION_CREATE_INFO_NV"), 1000307002 => write!(f, "CUDA_LAUNCH_INFO_NV"), @@ -8317,6 +8597,22 @@ impl fmt::Debug for StructureType { "DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT" ), 1000316009 => write!(f, "ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT"), + 1000318000 => write!(f, "DEVICE_MEMORY_COPY_KHR"), + 1000318001 => write!(f, "COPY_DEVICE_MEMORY_INFO_KHR"), + 1000318002 => write!(f, "DEVICE_MEMORY_IMAGE_COPY_KHR"), + 1000318003 => write!(f, "COPY_DEVICE_MEMORY_IMAGE_INFO_KHR"), + 1000318004 => write!(f, "MEMORY_RANGE_BARRIERS_INFO_KHR"), + 1000318005 => write!(f, "MEMORY_RANGE_BARRIER_KHR"), + 1000318006 => write!(f, "PHYSICAL_DEVICE_DEVICE_ADDRESS_COMMANDS_FEATURES_KHR"), + 1000318007 => write!(f, "BIND_INDEX_BUFFER_3_INFO_KHR"), + 1000318008 => write!(f, "BIND_VERTEX_BUFFER_3_INFO_KHR"), + 1000318009 => write!(f, "DRAW_INDIRECT_2_INFO_KHR"), + 1000318010 => write!(f, "DRAW_INDIRECT_COUNT_2_INFO_KHR"), + 1000318011 => write!(f, "DISPATCH_INDIRECT_2_INFO_KHR"), + 1000318012 => write!(f, "CONDITIONAL_RENDERING_BEGIN_INFO_2_EXT"), + 1000318013 => write!(f, "BIND_TRANSFORM_FEEDBACK_BUFFER_2_INFO_EXT"), + 1000318014 => write!(f, "MEMORY_MARKER_INFO_AMD"), + 1000318015 => write!(f, "ACCELERATION_STRUCTURE_CREATE_INFO_2_KHR"), 1000320000 => write!(f, "PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT"), 1000320001 => write!( f, @@ -8489,6 +8785,11 @@ impl fmt::Debug for StructureType { 1000417000 => write!(f, "DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM"), 1000417001 => write!(f, "PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM"), 1000417002 => write!(f, "PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM"), + 1000417003 => write!(f, "DISPATCH_PARAMETERS_ARM"), + 1000417004 => write!( + f, + "PHYSICAL_DEVICE_SCHEDULING_CONTROLS_DISPATCH_PARAMETERS_PROPERTIES_ARM" + ), 1000418000 => write!(f, "PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT"), 1000418001 => write!(f, "IMAGE_VIEW_SLICED_CREATE_INFO_EXT"), 1000420000 => write!( @@ -8739,6 +9040,7 @@ impl fmt::Debug for StructureType { f, "DATA_GRAPH_PIPELINE_CONSTANT_TENSOR_SEMI_STRUCTURED_SPARSITY_INFO_ARM" ), + 1000508000 => write!(f, "QUEUE_FAMILY_DATA_GRAPH_TOSA_PROPERTIES_ARM"), 1000510000 => write!( f, "PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM" @@ -8921,6 +9223,10 @@ impl fmt::Debug for StructureType { 1000572012 => write!(f, "INDIRECT_EXECUTION_SET_SHADER_LAYOUT_INFO_EXT"), 1000572013 => write!(f, "GENERATED_COMMANDS_PIPELINE_INFO_EXT"), 1000572014 => write!(f, "GENERATED_COMMANDS_SHADER_INFO_EXT"), + 1000573000 => write!(f, "PHYSICAL_DEVICE_FAULT_FEATURES_KHR"), + 1000573001 => write!(f, "PHYSICAL_DEVICE_FAULT_PROPERTIES_KHR"), + 1000573002 => write!(f, "DEVICE_FAULT_INFO_KHR"), + 1000573003 => write!(f, "DEVICE_FAULT_DEBUG_INFO_KHR"), 1000574000 => write!(f, "PHYSICAL_DEVICE_MAINTENANCE_8_FEATURES_KHR"), 1000574002 => write!(f, "MEMORY_BARRIER_ACCESS_FLAGS_3_KHR"), 1000575000 => write!(f, "PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_FEATURES_MESA"), @@ -8972,6 +9278,10 @@ impl fmt::Debug for StructureType { f, "RENDER_PASS_PERFORMANCE_COUNTERS_BY_REGION_BEGIN_INFO_ARM" ), + 1000607000 => write!(f, "PHYSICAL_DEVICE_SHADER_INSTRUMENTATION_FEATURES_ARM"), + 1000607001 => write!(f, "PHYSICAL_DEVICE_SHADER_INSTRUMENTATION_PROPERTIES_ARM"), + 1000607002 => write!(f, "SHADER_INSTRUMENTATION_CREATE_INFO_ARM"), + 1000607003 => write!(f, "SHADER_INSTRUMENTATION_METRIC_DESCRIPTION_ARM"), 1000608000 => write!( f, "PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_ROBUSTNESS_FEATURES_EXT" @@ -9018,6 +9328,15 @@ impl fmt::Debug for StructureType { 1000630002 => write!(f, "RENDERING_ATTACHMENT_FLAGS_INFO_KHR"), 1000619003 => write!(f, "RENDERING_END_INFO_KHR"), 1000630004 => write!(f, "RESOLVE_IMAGE_MODE_INFO_KHR"), + 1000631000 => write!(f, "PHYSICAL_DEVICE_DATA_GRAPH_OPTICAL_FLOW_FEATURES_ARM"), + 1000631001 => write!(f, "QUEUE_FAMILY_DATA_GRAPH_OPTICAL_FLOW_PROPERTIES_ARM"), + 1000631003 => write!(f, "DATA_GRAPH_OPTICAL_FLOW_IMAGE_FORMAT_INFO_ARM"), + 1000631004 => write!(f, "DATA_GRAPH_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_ARM"), + 1000631005 => write!(f, "DATA_GRAPH_PIPELINE_OPTICAL_FLOW_DISPATCH_INFO_ARM"), + 1000631002 => write!(f, "DATA_GRAPH_PIPELINE_OPTICAL_FLOW_CREATE_INFO_ARM"), + 1000631006 => write!(f, "DATA_GRAPH_PIPELINE_RESOURCE_INFO_IMAGE_LAYOUT_ARM"), + 1000631007 => write!(f, "DATA_GRAPH_PIPELINE_SINGLE_NODE_CREATE_INFO_ARM"), + 1000631008 => write!(f, "DATA_GRAPH_PIPELINE_SINGLE_NODE_CONNECTION_ARM"), 1000635000 => write!(f, "PHYSICAL_DEVICE_SHADER_LONG_VECTOR_FEATURES_EXT"), 1000635001 => write!(f, "PHYSICAL_DEVICE_SHADER_LONG_VECTOR_PROPERTIES_EXT"), 1000637000 => write!( @@ -9030,6 +9349,11 @@ impl fmt::Debug for StructureType { ), 1000645000 => write!(f, "COMPUTE_OCCUPANCY_PRIORITY_PARAMETERS_NV"), 1000645001 => write!(f, "PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV"), + 1000657000 => write!(f, "PHYSICAL_DEVICE_MAINTENANCE_11_FEATURES_KHR"), + 1000657001 => write!( + f, + "QUEUE_FAMILY_OPTIMAL_IMAGE_TRANSFER_GRANULARITY_PROPERTIES_KHR" + ), 1000662000 => write!( f, "PHYSICAL_DEVICE_SHADER_SUBGROUP_PARTITIONED_FEATURES_EXT" @@ -9039,6 +9363,18 @@ impl fmt::Debug for StructureType { f, "PHYSICAL_DEVICE_SHADER_MIXED_FLOAT_DOT_PRODUCT_FEATURES_VALVE" ), + 1000674000 => write!(f, "PHYSICAL_DEVICE_THROTTLE_HINT_FEATURES_SEC"), + 1000674001 => write!(f, "THROTTLE_HINT_SUBMIT_INFO_SEC"), + 1000676000 => write!(f, "DATA_GRAPH_PIPELINE_NEURAL_STATISTICS_CREATE_INFO_ARM"), + 1000676001 => write!( + f, + "DATA_GRAPH_PIPELINE_SESSION_NEURAL_STATISTICS_CREATE_INFO_ARM" + ), + 1000676002 => write!( + f, + "PHYSICAL_DEVICE_DATA_GRAPH_NEURAL_ACCELERATOR_STATISTICS_FEATURES_ARM" + ), + 1000678000 => write!(f, "PHYSICAL_DEVICE_PRIMITIVE_RESTART_INDEX_FEATURES_EXT"), _ => self.0.fmt(f), } } @@ -9236,6 +9572,40 @@ impl fmt::Debug for TessellationDomainOrigin { } } +/// +#[repr(transparent)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] +pub struct ThrottleHintTypeSEC(i32); + +impl ThrottleHintTypeSEC { + pub const DEFAULT: Self = Self(0); + pub const LOW: Self = Self(1); + pub const HIGH: Self = Self(2); + + /// Constructs an instance of this enum with the supplied underlying value. + #[inline] + pub const fn from_raw(value: i32) -> Self { + Self(value) + } + + /// Gets the underlying value for this enum instance. + #[inline] + pub const fn as_raw(self) -> i32 { + self.0 + } +} + +impl fmt::Debug for ThrottleHintTypeSEC { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + match self.0 { + 0 => write!(f, "DEFAULT"), + 1 => write!(f, "LOW"), + 2 => write!(f, "HIGH"), + _ => self.0.fmt(f), + } + } +} + /// #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -9661,6 +10031,10 @@ pub type ComponentTypeNV = ComponentTypeKHR; pub type CopyAccelerationStructureModeNV = CopyAccelerationStructureModeKHR; /// pub type DescriptorUpdateTemplateTypeKHR = DescriptorUpdateTemplateType; +/// +pub type DeviceFaultAddressTypeEXT = DeviceFaultAddressTypeKHR; +/// +pub type DeviceFaultVendorBinaryHeaderVersionEXT = DeviceFaultVendorBinaryHeaderVersionKHR; /// pub type DriverIdKHR = DriverId; /// diff --git a/vulkanalia-sys/src/extensions.rs b/vulkanalia-sys/src/extensions.rs index d92dc7b1..c15bc5a5 100644 --- a/vulkanalia-sys/src/extensions.rs +++ b/vulkanalia-sys/src/extensions.rs @@ -523,6 +523,54 @@ pub const ARM_DATA_GRAPH_EXTENSION: Extension = Extension { promoted_to: None, }; +/// +#[allow(deprecated)] +pub const ARM_DATA_GRAPH_INSTRUCTION_SET_TOSA_EXTENSION: Extension = Extension { + name: ExtensionName::from_bytes(b"VK_ARM_data_graph_instruction_set_tosa"), + number: 509, + type_: "device", + author: "ARM", + contact: "Kevin Petit @kpet", + platform: None, + required_extensions: None, + required_version: None, + deprecated_by: None, + obsoleted_by: None, + promoted_to: None, +}; + +/// +#[allow(deprecated)] +pub const ARM_DATA_GRAPH_NEURAL_ACCELERATOR_STATISTICS_EXTENSION: Extension = Extension { + name: ExtensionName::from_bytes(b"VK_ARM_data_graph_neural_accelerator_statistics"), + number: 677, + type_: "device", + author: "ARM", + contact: "Kevin Petit @kpet", + platform: None, + required_extensions: None, + required_version: None, + deprecated_by: None, + obsoleted_by: None, + promoted_to: None, +}; + +/// +#[allow(deprecated)] +pub const ARM_DATA_GRAPH_OPTICAL_FLOW_EXTENSION: Extension = Extension { + name: ExtensionName::from_bytes(b"VK_ARM_data_graph_optical_flow"), + number: 632, + type_: "device", + author: "ARM", + contact: "Kevin Petit @kpet", + platform: None, + required_extensions: None, + required_version: None, + deprecated_by: None, + obsoleted_by: None, + promoted_to: None, +}; + /// #[allow(deprecated)] pub const ARM_FORMAT_PACK_EXTENSION: Extension = Extension { @@ -651,6 +699,22 @@ pub const ARM_SHADER_CORE_PROPERTIES_EXTENSION: Extension = Extension { promoted_to: None, }; +/// +#[allow(deprecated)] +pub const ARM_SHADER_INSTRUMENTATION_EXTENSION: Extension = Extension { + name: ExtensionName::from_bytes(b"VK_ARM_shader_instrumentation"), + number: 608, + type_: "device", + author: "ARM", + contact: "Jan-Harald Fredriksen @janharaldfredriksen-arm", + platform: None, + required_extensions: None, + required_version: None, + deprecated_by: None, + obsoleted_by: None, + promoted_to: None, +}; + /// #[allow(deprecated)] pub const ARM_TENSORS_EXTENSION: Extension = Extension { @@ -1147,7 +1211,7 @@ pub const EXT_DEVICE_FAULT_EXTENSION: Extension = Extension { required_version: None, deprecated_by: None, obsoleted_by: None, - promoted_to: None, + promoted_to: Some("VK_KHR_device_fault"), }; /// @@ -2238,6 +2302,22 @@ pub const EXT_PRESENT_TIMING_EXTENSION: Extension = Extension { promoted_to: None, }; +/// +#[allow(deprecated)] +pub const EXT_PRIMITIVE_RESTART_INDEX_EXTENSION: Extension = Extension { + name: ExtensionName::from_bytes(b"VK_EXT_primitive_restart_index"), + number: 679, + type_: "device", + author: "EXT", + contact: "Mike Blumenkrantz @zmike", + platform: None, + required_extensions: None, + required_version: None, + deprecated_by: None, + obsoleted_by: None, + promoted_to: None, +}; + /// #[allow(deprecated)] pub const EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION: Extension = Extension { @@ -3619,6 +3699,38 @@ pub const KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION: Extension = Extension { promoted_to: Some("VK_VERSION_1_1"), }; +/// +#[allow(deprecated)] +pub const KHR_DEVICE_ADDRESS_COMMANDS_EXTENSION: Extension = Extension { + name: ExtensionName::from_bytes(b"VK_KHR_device_address_commands"), + number: 319, + type_: "device", + author: "KHR", + contact: "Tobias Hector @tobski", + platform: None, + required_extensions: None, + required_version: None, + deprecated_by: None, + obsoleted_by: None, + promoted_to: None, +}; + +/// +#[allow(deprecated)] +pub const KHR_DEVICE_FAULT_EXTENSION: Extension = Extension { + name: ExtensionName::from_bytes(b"VK_KHR_device_fault"), + number: 574, + type_: "device", + author: "KHR", + contact: "Ralph Potter gitlab:@r_potter", + platform: None, + required_extensions: None, + required_version: None, + deprecated_by: None, + obsoleted_by: None, + promoted_to: None, +}; + /// #[allow(deprecated)] pub const KHR_DEVICE_GROUP_EXTENSION: Extension = Extension { @@ -4211,6 +4323,22 @@ pub const KHR_MAINTENANCE10_EXTENSION: Extension = Extension { promoted_to: None, }; +/// +#[allow(deprecated)] +pub const KHR_MAINTENANCE11_EXTENSION: Extension = Extension { + name: ExtensionName::from_bytes(b"VK_KHR_maintenance11"), + number: 658, + type_: "device", + author: "KHR", + contact: "Mike Blumenkrantz @zmike", + platform: None, + required_extensions: None, + required_version: None, + deprecated_by: None, + obsoleted_by: None, + promoted_to: None, +}; + /// #[allow(deprecated)] pub const KHR_MAINTENANCE2_EXTENSION: Extension = Extension { @@ -4731,6 +4859,22 @@ pub const KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION: Extension = Extension { promoted_to: Some("VK_VERSION_1_2"), }; +/// +#[allow(deprecated)] +pub const KHR_SHADER_ABORT_EXTENSION: Extension = Extension { + name: ExtensionName::from_bytes(b"VK_KHR_shader_abort"), + number: 234, + type_: "device", + author: "KHR", + contact: "Tobias Hector @tobski", + platform: None, + required_extensions: None, + required_version: None, + deprecated_by: None, + obsoleted_by: None, + promoted_to: None, +}; + /// #[allow(deprecated)] pub const KHR_SHADER_ATOMIC_INT64_EXTENSION: Extension = Extension { @@ -4779,6 +4923,22 @@ pub const KHR_SHADER_CLOCK_EXTENSION: Extension = Extension { promoted_to: None, }; +/// +#[allow(deprecated)] +pub const KHR_SHADER_CONSTANT_DATA_EXTENSION: Extension = Extension { + name: ExtensionName::from_bytes(b"VK_KHR_shader_constant_data"), + number: 232, + type_: "device", + author: "KHR", + contact: "Tobias Hector @tobski", + platform: None, + required_extensions: None, + required_version: None, + deprecated_by: None, + obsoleted_by: None, + promoted_to: None, +}; + /// #[allow(deprecated)] pub const KHR_SHADER_DRAW_PARAMETERS_EXTENSION: Extension = Extension { @@ -6533,6 +6693,7 @@ pub const NV_PARTITIONED_ACCELERATION_STRUCTURE_EXTENSION: Extension = Extension }; /// +#[deprecated(note = "deprecated in favor of `VK_EXT_descriptor_heap`")] #[allow(deprecated)] pub const NV_PER_STAGE_DESCRIPTOR_SET_EXTENSION: Extension = Extension { name: ExtensionName::from_bytes(b"VK_NV_per_stage_descriptor_set"), @@ -6543,7 +6704,7 @@ pub const NV_PER_STAGE_DESCRIPTOR_SET_EXTENSION: Extension = Extension { platform: None, required_extensions: None, required_version: None, - deprecated_by: None, + deprecated_by: Some("VK_EXT_descriptor_heap"), obsoleted_by: None, promoted_to: None, }; @@ -6565,14 +6726,6 @@ pub const NV_PRESENT_BARRIER_EXTENSION: Extension = Extension { }; /// -/// -/// ## WARNING -/// -/// This is a -/// [provisional extension](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/provisional-headers.html). -/// Provisional extensions are not guaranteed to be backwards compatible and are -/// not intended to be used in production applications. -#[cfg(feature = "provisional")] #[allow(deprecated)] pub const NV_PRESENT_METERING_EXTENSION: Extension = Extension { name: ExtensionName::from_bytes(b"VK_NV_present_metering"), @@ -6580,7 +6733,7 @@ pub const NV_PRESENT_METERING_EXTENSION: Extension = Extension { type_: "device", author: "NV", contact: "Charles Hansen @chansen", - platform: Some("provisional"), + platform: None, required_extensions: None, required_version: None, deprecated_by: None, @@ -7069,6 +7222,22 @@ pub const QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_EXTENSION: Extension = Extension { promoted_to: None, }; +/// +#[allow(deprecated)] +pub const QCOM_QUEUE_PERF_HINT_EXTENSION: Extension = Extension { + name: ExtensionName::from_bytes(b"VK_QCOM_queue_perf_hint"), + number: 303, + type_: "device", + author: "QCOM", + contact: "Matthew Netsch @mnetsch", + platform: None, + required_extensions: None, + required_version: None, + deprecated_by: None, + obsoleted_by: None, + promoted_to: None, +}; + /// #[allow(deprecated)] pub const QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION: Extension = Extension { @@ -7261,6 +7430,22 @@ pub const SEC_PIPELINE_CACHE_INCREMENTAL_MODE_EXTENSION: Extension = Extension { promoted_to: None, }; +/// +#[allow(deprecated)] +pub const SEC_THROTTLE_HINT_EXTENSION: Extension = Extension { + name: ExtensionName::from_bytes(b"VK_SEC_throttle_hint"), + number: 675, + type_: "device", + author: "SEC", + contact: "Ralph Potter gitlab:@r_potter", + platform: None, + required_extensions: None, + required_version: None, + deprecated_by: None, + obsoleted_by: None, + promoted_to: None, +}; + /// #[allow(deprecated)] pub const SEC_UBM_SURFACE_EXTENSION: Extension = Extension { diff --git a/vulkanalia-sys/src/handles.rs b/vulkanalia-sys/src/handles.rs index c4b4d349..654ad368 100644 --- a/vulkanalia-sys/src/handles.rs +++ b/vulkanalia-sys/src/handles.rs @@ -2287,6 +2287,50 @@ impl fmt::Debug for ShaderEXT { } } +/// +#[repr(transparent)] +#[derive(Copy, Clone, PartialEq, Eq, Hash)] +pub struct ShaderInstrumentationARM(u64); + +impl Handle for ShaderInstrumentationARM { + type Repr = u64; + + const TYPE: ObjectType = ObjectType::SHADER_INSTRUMENTATION_ARM; + + #[inline] + fn null() -> Self { + Self(0) + } + + #[inline] + fn from_raw(value: Self::Repr) -> Self { + Self(value) + } + + #[inline] + fn as_raw(self) -> Self::Repr { + self.0 + } + + #[inline] + fn is_null(self) -> bool { + self.0 == 0 + } +} + +impl Default for ShaderInstrumentationARM { + #[inline] + fn default() -> Self { + Self::null() + } +} + +impl fmt::Debug for ShaderInstrumentationARM { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + write!(f, "ShaderInstrumentationARM({:p})", self.0 as *const u8) + } +} + /// #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, Hash)] diff --git a/vulkanalia-sys/src/structs.rs b/vulkanalia-sys/src/structs.rs index b8f00582..b8c3fee5 100644 --- a/vulkanalia-sys/src/structs.rs +++ b/vulkanalia-sys/src/structs.rs @@ -139,6 +139,35 @@ impl Default for AccelerationStructureCaptureDescriptorDataInfoEXT { unsafe impl Send for AccelerationStructureCaptureDescriptorDataInfoEXT {} unsafe impl Sync for AccelerationStructureCaptureDescriptorDataInfoEXT {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct AccelerationStructureCreateInfo2KHR { + pub s_type: StructureType, + pub next: *const c_void, + pub create_flags: AccelerationStructureCreateFlagsKHR, + pub address_range: DeviceAddressRangeKHR, + pub address_flags: AddressCommandFlagsKHR, + pub type_: AccelerationStructureTypeKHR, +} + +impl Default for AccelerationStructureCreateInfo2KHR { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::ACCELERATION_STRUCTURE_CREATE_INFO_2_KHR, + next: ptr::null(), + create_flags: AccelerationStructureCreateFlagsKHR::default(), + address_range: DeviceAddressRangeKHR::default(), + address_flags: AddressCommandFlagsKHR::default(), + type_: AccelerationStructureTypeKHR::default(), + } + } +} + +unsafe impl Send for AccelerationStructureCreateInfo2KHR {} +unsafe impl Sync for AccelerationStructureCreateInfo2KHR {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -479,7 +508,7 @@ pub struct AccelerationStructureInfoNV { pub s_type: StructureType, pub next: *const c_void, pub type_: AccelerationStructureTypeNV, - pub flags: BuildAccelerationStructureFlagsNV, + pub flags: BuildAccelerationStructureFlagsKHR, pub instance_count: u32, pub geometry_count: u32, pub geometries: *const GeometryNV, @@ -492,7 +521,7 @@ impl Default for AccelerationStructureInfoNV { s_type: StructureType::ACCELERATION_STRUCTURE_INFO_NV, next: ptr::null(), type_: AccelerationStructureTypeNV::default(), - flags: BuildAccelerationStructureFlagsNV::default(), + flags: BuildAccelerationStructureFlagsKHR::default(), instance_count: u32::default(), geometry_count: u32::default(), geometries: ptr::null(), @@ -1725,6 +1754,33 @@ impl Default for BindImagePlaneMemoryInfo { unsafe impl Send for BindImagePlaneMemoryInfo {} unsafe impl Sync for BindImagePlaneMemoryInfo {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct BindIndexBuffer3InfoKHR { + pub s_type: StructureType, + pub next: *const c_void, + pub address_range: DeviceAddressRangeKHR, + pub address_flags: AddressCommandFlagsKHR, + pub index_type: IndexType, +} + +impl Default for BindIndexBuffer3InfoKHR { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::BIND_INDEX_BUFFER_3_INFO_KHR, + next: ptr::null(), + address_range: DeviceAddressRangeKHR::default(), + address_flags: AddressCommandFlagsKHR::default(), + index_type: IndexType::default(), + } + } +} + +unsafe impl Send for BindIndexBuffer3InfoKHR {} +unsafe impl Sync for BindIndexBuffer3InfoKHR {} + /// #[repr(C)] #[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)] @@ -1848,6 +1904,58 @@ impl Default for BindTensorMemoryInfoARM { unsafe impl Send for BindTensorMemoryInfoARM {} unsafe impl Sync for BindTensorMemoryInfoARM {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct BindTransformFeedbackBuffer2InfoEXT { + pub s_type: StructureType, + pub next: *const c_void, + pub address_range: DeviceAddressRangeKHR, + pub address_flags: AddressCommandFlagsKHR, +} + +impl Default for BindTransformFeedbackBuffer2InfoEXT { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::BIND_TRANSFORM_FEEDBACK_BUFFER_2_INFO_EXT, + next: ptr::null(), + address_range: DeviceAddressRangeKHR::default(), + address_flags: AddressCommandFlagsKHR::default(), + } + } +} + +unsafe impl Send for BindTransformFeedbackBuffer2InfoEXT {} +unsafe impl Sync for BindTransformFeedbackBuffer2InfoEXT {} + +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct BindVertexBuffer3InfoKHR { + pub s_type: StructureType, + pub next: *const c_void, + pub set_stride: Bool32, + pub address_range: StridedDeviceAddressRangeKHR, + pub address_flags: AddressCommandFlagsKHR, +} + +impl Default for BindVertexBuffer3InfoKHR { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::BIND_VERTEX_BUFFER_3_INFO_KHR, + next: ptr::null(), + set_stride: Bool32::default(), + address_range: StridedDeviceAddressRangeKHR::default(), + address_flags: AddressCommandFlagsKHR::default(), + } + } +} + +unsafe impl Send for BindVertexBuffer3InfoKHR {} +unsafe impl Sync for BindVertexBuffer3InfoKHR {} + /// #[repr(C)] #[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)] @@ -3319,6 +3427,33 @@ impl Default for ComputePipelineIndirectBufferInfoNV { unsafe impl Send for ComputePipelineIndirectBufferInfoNV {} unsafe impl Sync for ComputePipelineIndirectBufferInfoNV {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct ConditionalRenderingBeginInfo2EXT { + pub s_type: StructureType, + pub next: *const c_void, + pub address_range: DeviceAddressRangeKHR, + pub address_flags: AddressCommandFlagsKHR, + pub flags: ConditionalRenderingFlagsEXT, +} + +impl Default for ConditionalRenderingBeginInfo2EXT { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::CONDITIONAL_RENDERING_BEGIN_INFO_2_EXT, + next: ptr::null(), + address_range: DeviceAddressRangeKHR::default(), + address_flags: AddressCommandFlagsKHR::default(), + flags: ConditionalRenderingFlagsEXT::default(), + } + } +} + +unsafe impl Send for ConditionalRenderingBeginInfo2EXT {} +unsafe impl Sync for ConditionalRenderingBeginInfo2EXT {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -3723,6 +3858,58 @@ impl Default for CopyDescriptorSet { unsafe impl Send for CopyDescriptorSet {} unsafe impl Sync for CopyDescriptorSet {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct CopyDeviceMemoryImageInfoKHR { + pub s_type: StructureType, + pub next: *const c_void, + pub image: Image, + pub region_count: u32, + pub regions: *const DeviceMemoryImageCopyKHR, +} + +impl Default for CopyDeviceMemoryImageInfoKHR { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::COPY_DEVICE_MEMORY_IMAGE_INFO_KHR, + next: ptr::null(), + image: Image::default(), + region_count: u32::default(), + regions: ptr::null(), + } + } +} + +unsafe impl Send for CopyDeviceMemoryImageInfoKHR {} +unsafe impl Sync for CopyDeviceMemoryImageInfoKHR {} + +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct CopyDeviceMemoryInfoKHR { + pub s_type: StructureType, + pub next: *const c_void, + pub region_count: u32, + pub regions: *const DeviceMemoryCopyKHR, +} + +impl Default for CopyDeviceMemoryInfoKHR { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::COPY_DEVICE_MEMORY_INFO_KHR, + next: ptr::null(), + region_count: u32::default(), + regions: ptr::null(), + } + } +} + +unsafe impl Send for CopyDeviceMemoryInfoKHR {} +unsafe impl Sync for CopyDeviceMemoryInfoKHR {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -4377,6 +4564,52 @@ impl Default for D3D12FenceSubmitInfoKHR { unsafe impl Send for D3D12FenceSubmitInfoKHR {} unsafe impl Sync for D3D12FenceSubmitInfoKHR {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct DataGraphOpticalFlowImageFormatInfoARM { + pub s_type: StructureType, + pub next: *const c_void, + pub usage: DataGraphOpticalFlowImageUsageFlagsARM, +} + +impl Default for DataGraphOpticalFlowImageFormatInfoARM { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::DATA_GRAPH_OPTICAL_FLOW_IMAGE_FORMAT_INFO_ARM, + next: ptr::null(), + usage: DataGraphOpticalFlowImageUsageFlagsARM::default(), + } + } +} + +unsafe impl Send for DataGraphOpticalFlowImageFormatInfoARM {} +unsafe impl Sync for DataGraphOpticalFlowImageFormatInfoARM {} + +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct DataGraphOpticalFlowImageFormatPropertiesARM { + pub s_type: StructureType, + pub next: *mut c_void, + pub format: Format, +} + +impl Default for DataGraphOpticalFlowImageFormatPropertiesARM { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::DATA_GRAPH_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_ARM, + next: ptr::null_mut(), + format: Format::default(), + } + } +} + +unsafe impl Send for DataGraphOpticalFlowImageFormatPropertiesARM {} +unsafe impl Sync for DataGraphOpticalFlowImageFormatPropertiesARM {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -4482,7 +4715,7 @@ unsafe impl Sync for DataGraphPipelineConstantTensorSemiStructuredSparsityInfoAR pub struct DataGraphPipelineCreateInfoARM { pub s_type: StructureType, pub next: *const c_void, - pub flags: PipelineCreateFlags2KHR, + pub flags: PipelineCreateFlags2, pub layout: PipelineLayout, pub resource_info_count: u32, pub resource_infos: *const DataGraphPipelineResourceInfoARM, @@ -4494,7 +4727,7 @@ impl Default for DataGraphPipelineCreateInfoARM { Self { s_type: StructureType::DATA_GRAPH_PIPELINE_CREATE_INFO_ARM, next: ptr::null(), - flags: PipelineCreateFlags2KHR::default(), + flags: PipelineCreateFlags2::default(), layout: PipelineLayout::default(), resource_info_count: u32::default(), resource_infos: ptr::null(), @@ -4576,6 +4809,93 @@ impl Default for DataGraphPipelineInfoARM { unsafe impl Send for DataGraphPipelineInfoARM {} unsafe impl Sync for DataGraphPipelineInfoARM {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct DataGraphPipelineNeuralStatisticsCreateInfoARM { + pub s_type: StructureType, + pub next: *const c_void, + pub allow_neural_statistics: Bool32, +} + +impl Default for DataGraphPipelineNeuralStatisticsCreateInfoARM { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::DATA_GRAPH_PIPELINE_NEURAL_STATISTICS_CREATE_INFO_ARM, + next: ptr::null(), + allow_neural_statistics: Bool32::default(), + } + } +} + +unsafe impl Send for DataGraphPipelineNeuralStatisticsCreateInfoARM {} +unsafe impl Sync for DataGraphPipelineNeuralStatisticsCreateInfoARM {} + +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct DataGraphPipelineOpticalFlowCreateInfoARM { + pub s_type: StructureType, + pub next: *mut c_void, + pub width: u32, + pub height: u32, + pub image_format: Format, + pub flow_vector_format: Format, + pub cost_format: Format, + pub output_grid_size: DataGraphOpticalFlowGridSizeFlagsARM, + pub hint_grid_size: DataGraphOpticalFlowGridSizeFlagsARM, + pub performance_level: DataGraphOpticalFlowPerformanceLevelARM, + pub flags: DataGraphOpticalFlowCreateFlagsARM, +} + +impl Default for DataGraphPipelineOpticalFlowCreateInfoARM { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::DATA_GRAPH_PIPELINE_OPTICAL_FLOW_CREATE_INFO_ARM, + next: ptr::null_mut(), + width: u32::default(), + height: u32::default(), + image_format: Format::default(), + flow_vector_format: Format::default(), + cost_format: Format::default(), + output_grid_size: DataGraphOpticalFlowGridSizeFlagsARM::default(), + hint_grid_size: DataGraphOpticalFlowGridSizeFlagsARM::default(), + performance_level: DataGraphOpticalFlowPerformanceLevelARM::default(), + flags: DataGraphOpticalFlowCreateFlagsARM::default(), + } + } +} + +unsafe impl Send for DataGraphPipelineOpticalFlowCreateInfoARM {} +unsafe impl Sync for DataGraphPipelineOpticalFlowCreateInfoARM {} + +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct DataGraphPipelineOpticalFlowDispatchInfoARM { + pub s_type: StructureType, + pub next: *mut c_void, + pub flags: DataGraphOpticalFlowExecuteFlagsARM, + pub mean_flow_l1_norm_hint: u32, +} + +impl Default for DataGraphPipelineOpticalFlowDispatchInfoARM { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::DATA_GRAPH_PIPELINE_OPTICAL_FLOW_DISPATCH_INFO_ARM, + next: ptr::null_mut(), + flags: DataGraphOpticalFlowExecuteFlagsARM::default(), + mean_flow_l1_norm_hint: u32::default(), + } + } +} + +unsafe impl Send for DataGraphPipelineOpticalFlowDispatchInfoARM {} +unsafe impl Sync for DataGraphPipelineOpticalFlowDispatchInfoARM {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -4632,6 +4952,29 @@ impl Default for DataGraphPipelineResourceInfoARM { unsafe impl Send for DataGraphPipelineResourceInfoARM {} unsafe impl Sync for DataGraphPipelineResourceInfoARM {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct DataGraphPipelineResourceInfoImageLayoutARM { + pub s_type: StructureType, + pub next: *const c_void, + pub layout: ImageLayout, +} + +impl Default for DataGraphPipelineResourceInfoImageLayoutARM { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::DATA_GRAPH_PIPELINE_RESOURCE_INFO_IMAGE_LAYOUT_ARM, + next: ptr::null(), + layout: ImageLayout::default(), + } + } +} + +unsafe impl Send for DataGraphPipelineResourceInfoImageLayoutARM {} +unsafe impl Sync for DataGraphPipelineResourceInfoImageLayoutARM {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -4734,6 +5077,29 @@ impl Default for DataGraphPipelineSessionMemoryRequirementsInfoARM { unsafe impl Send for DataGraphPipelineSessionMemoryRequirementsInfoARM {} unsafe impl Sync for DataGraphPipelineSessionMemoryRequirementsInfoARM {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct DataGraphPipelineSessionNeuralStatisticsCreateInfoARM { + pub s_type: StructureType, + pub next: *const c_void, + pub mode: NeuralAcceleratorStatisticsModeARM, +} + +impl Default for DataGraphPipelineSessionNeuralStatisticsCreateInfoARM { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::DATA_GRAPH_PIPELINE_SESSION_NEURAL_STATISTICS_CREATE_INFO_ARM, + next: ptr::null(), + mode: NeuralAcceleratorStatisticsModeARM::default(), + } + } +} + +unsafe impl Send for DataGraphPipelineSessionNeuralStatisticsCreateInfoARM {} +unsafe impl Sync for DataGraphPipelineSessionNeuralStatisticsCreateInfoARM {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -4765,6 +5131,60 @@ impl Default for DataGraphPipelineShaderModuleCreateInfoARM { unsafe impl Send for DataGraphPipelineShaderModuleCreateInfoARM {} unsafe impl Sync for DataGraphPipelineShaderModuleCreateInfoARM {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct DataGraphPipelineSingleNodeConnectionARM { + pub s_type: StructureType, + pub next: *mut c_void, + pub set: u32, + pub binding: u32, + pub connection: DataGraphPipelineNodeConnectionTypeARM, +} + +impl Default for DataGraphPipelineSingleNodeConnectionARM { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::DATA_GRAPH_PIPELINE_SINGLE_NODE_CONNECTION_ARM, + next: ptr::null_mut(), + set: u32::default(), + binding: u32::default(), + connection: DataGraphPipelineNodeConnectionTypeARM::default(), + } + } +} + +unsafe impl Send for DataGraphPipelineSingleNodeConnectionARM {} +unsafe impl Sync for DataGraphPipelineSingleNodeConnectionARM {} + +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct DataGraphPipelineSingleNodeCreateInfoARM { + pub s_type: StructureType, + pub next: *mut c_void, + pub node_type: DataGraphPipelineNodeTypeARM, + pub connection_count: u32, + pub connections: *const DataGraphPipelineSingleNodeConnectionARM, +} + +impl Default for DataGraphPipelineSingleNodeCreateInfoARM { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::DATA_GRAPH_PIPELINE_SINGLE_NODE_CREATE_INFO_ARM, + next: ptr::null_mut(), + node_type: DataGraphPipelineNodeTypeARM::default(), + connection_count: u32::default(), + connections: ptr::null(), + } + } +} + +unsafe impl Send for DataGraphPipelineSingleNodeCreateInfoARM {} +unsafe impl Sync for DataGraphPipelineSingleNodeCreateInfoARM {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -4790,6 +5210,14 @@ impl Default for DataGraphProcessingEngineCreateInfoARM { unsafe impl Send for DataGraphProcessingEngineCreateInfoARM {} unsafe impl Sync for DataGraphProcessingEngineCreateInfoARM {} +/// +#[repr(C)] +#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)] +pub struct DataGraphTOSANameQualityARM { + pub name: StringArray, + pub quality_flags: DataGraphTOSAQualityFlagsARM, +} + /// #[repr(C)] #[derive(Copy, Clone, Debug, PartialEq)] @@ -5129,7 +5557,7 @@ pub struct DecompressMemoryRegionNV { pub dst_address: DeviceAddress, pub compressed_size: DeviceSize, pub decompressed_size: DeviceSize, - pub decompression_method: MemoryDecompressionMethodFlagsNV, + pub decompression_method: MemoryDecompressionMethodFlagsEXT, } /// @@ -6032,10 +6460,10 @@ impl Default for DeviceAddressBindingCallbackDataEXT { unsafe impl Send for DeviceAddressBindingCallbackDataEXT {} unsafe impl Sync for DeviceAddressBindingCallbackDataEXT {} -/// +/// #[repr(C)] #[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)] -pub struct DeviceAddressRangeEXT { +pub struct DeviceAddressRangeKHR { pub address: DeviceAddress, pub size: DeviceSize, } @@ -6188,11 +6616,11 @@ impl Default for DeviceEventInfoEXT { unsafe impl Send for DeviceEventInfoEXT {} unsafe impl Sync for DeviceEventInfoEXT {} -/// +/// #[repr(C)] #[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)] -pub struct DeviceFaultAddressInfoEXT { - pub address_type: DeviceFaultAddressTypeEXT, +pub struct DeviceFaultAddressInfoKHR { + pub address_type: DeviceFaultAddressTypeKHR, pub reported_address: DeviceAddress, pub address_precision: DeviceSize, } @@ -6224,6 +6652,31 @@ impl Default for DeviceFaultCountsEXT { unsafe impl Send for DeviceFaultCountsEXT {} unsafe impl Sync for DeviceFaultCountsEXT {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct DeviceFaultDebugInfoKHR { + pub s_type: StructureType, + pub next: *mut c_void, + pub vendor_binary_size: u32, + pub vendor_binary_data: *mut c_void, +} + +impl Default for DeviceFaultDebugInfoKHR { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::DEVICE_FAULT_DEBUG_INFO_KHR, + next: ptr::null_mut(), + vendor_binary_size: u32::default(), + vendor_binary_data: ptr::null_mut(), + } + } +} + +unsafe impl Send for DeviceFaultDebugInfoKHR {} +unsafe impl Sync for DeviceFaultDebugInfoKHR {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -6231,8 +6684,8 @@ pub struct DeviceFaultInfoEXT { pub s_type: StructureType, pub next: *mut c_void, pub description: StringArray, - pub address_infos: *mut DeviceFaultAddressInfoEXT, - pub vendor_infos: *mut DeviceFaultVendorInfoEXT, + pub address_infos: *mut DeviceFaultAddressInfoKHR, + pub vendor_infos: *mut DeviceFaultVendorInfoKHR, pub vendor_binary_data: *mut c_void, } @@ -6253,12 +6706,70 @@ impl Default for DeviceFaultInfoEXT { unsafe impl Send for DeviceFaultInfoEXT {} unsafe impl Sync for DeviceFaultInfoEXT {} -/// +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct DeviceFaultInfoKHR { + pub s_type: StructureType, + pub next: *mut c_void, + pub flags: DeviceFaultFlagsKHR, + pub group_id: u64, + pub description: StringArray, + pub fault_address_info: DeviceFaultAddressInfoKHR, + pub instruction_address_info: DeviceFaultAddressInfoKHR, + pub vendor_info: DeviceFaultVendorInfoKHR, +} + +impl Default for DeviceFaultInfoKHR { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::DEVICE_FAULT_INFO_KHR, + next: ptr::null_mut(), + flags: DeviceFaultFlagsKHR::default(), + group_id: u64::default(), + description: StringArray::default(), + fault_address_info: DeviceFaultAddressInfoKHR::default(), + instruction_address_info: DeviceFaultAddressInfoKHR::default(), + vendor_info: DeviceFaultVendorInfoKHR::default(), + } + } +} + +unsafe impl Send for DeviceFaultInfoKHR {} +unsafe impl Sync for DeviceFaultInfoKHR {} + +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct DeviceFaultShaderAbortMessageInfoKHR { + pub s_type: StructureType, + pub next: *mut c_void, + pub message_data_size: u64, + pub message_data: *mut c_void, +} + +impl Default for DeviceFaultShaderAbortMessageInfoKHR { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::DEVICE_FAULT_SHADER_ABORT_MESSAGE_INFO_KHR, + next: ptr::null_mut(), + message_data_size: u64::default(), + message_data: ptr::null_mut(), + } + } +} + +unsafe impl Send for DeviceFaultShaderAbortMessageInfoKHR {} +unsafe impl Sync for DeviceFaultShaderAbortMessageInfoKHR {} + +/// #[repr(C)] #[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)] -pub struct DeviceFaultVendorBinaryHeaderVersionOneEXT { +pub struct DeviceFaultVendorBinaryHeaderVersionOneKHR { pub header_size: u32, - pub header_version: DeviceFaultVendorBinaryHeaderVersionEXT, + pub header_version: DeviceFaultVendorBinaryHeaderVersionKHR, pub vendor_id: u32, pub device_id: u32, pub driver_version: u32, @@ -6270,10 +6781,10 @@ pub struct DeviceFaultVendorBinaryHeaderVersionOneEXT { pub api_version: u32, } -/// +/// #[repr(C)] #[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)] -pub struct DeviceFaultVendorInfoEXT { +pub struct DeviceFaultVendorInfoKHR { pub description: StringArray, pub vendor_fault_code: u64, pub vendor_fault_data: u64, @@ -6537,6 +7048,72 @@ impl Default for DeviceImageSubresourceInfo { unsafe impl Send for DeviceImageSubresourceInfo {} unsafe impl Sync for DeviceImageSubresourceInfo {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct DeviceMemoryCopyKHR { + pub s_type: StructureType, + pub next: *const c_void, + pub src_range: DeviceAddressRangeKHR, + pub src_flags: AddressCommandFlagsKHR, + pub dst_range: DeviceAddressRangeKHR, + pub dst_flags: AddressCommandFlagsKHR, +} + +impl Default for DeviceMemoryCopyKHR { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::DEVICE_MEMORY_COPY_KHR, + next: ptr::null(), + src_range: DeviceAddressRangeKHR::default(), + src_flags: AddressCommandFlagsKHR::default(), + dst_range: DeviceAddressRangeKHR::default(), + dst_flags: AddressCommandFlagsKHR::default(), + } + } +} + +unsafe impl Send for DeviceMemoryCopyKHR {} +unsafe impl Sync for DeviceMemoryCopyKHR {} + +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct DeviceMemoryImageCopyKHR { + pub s_type: StructureType, + pub next: *const c_void, + pub address_range: DeviceAddressRangeKHR, + pub address_flags: AddressCommandFlagsKHR, + pub address_row_length: u32, + pub address_image_height: u32, + pub image_subresource: ImageSubresourceLayers, + pub image_layout: ImageLayout, + pub image_offset: Offset3D, + pub image_extent: Extent3D, +} + +impl Default for DeviceMemoryImageCopyKHR { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::DEVICE_MEMORY_IMAGE_COPY_KHR, + next: ptr::null(), + address_range: DeviceAddressRangeKHR::default(), + address_flags: AddressCommandFlagsKHR::default(), + address_row_length: u32::default(), + address_image_height: u32::default(), + image_subresource: ImageSubresourceLayers::default(), + image_layout: ImageLayout::default(), + image_offset: Offset3D::default(), + image_extent: Extent3D::default(), + } + } +} + +unsafe impl Send for DeviceMemoryImageCopyKHR {} +unsafe impl Sync for DeviceMemoryImageCopyKHR {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -6924,6 +7501,31 @@ pub struct DispatchGraphInfoAMDX { pub payload_stride: u64, } +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct DispatchIndirect2InfoKHR { + pub s_type: StructureType, + pub next: *const c_void, + pub address_range: DeviceAddressRangeKHR, + pub address_flags: AddressCommandFlagsKHR, +} + +impl Default for DispatchIndirect2InfoKHR { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::DISPATCH_INDIRECT_2_INFO_KHR, + next: ptr::null(), + address_range: DeviceAddressRangeKHR::default(), + address_flags: AddressCommandFlagsKHR::default(), + } + } +} + +unsafe impl Send for DispatchIndirect2InfoKHR {} +unsafe impl Sync for DispatchIndirect2InfoKHR {} + /// #[repr(C)] #[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)] @@ -6933,6 +7535,33 @@ pub struct DispatchIndirectCommand { pub z: u32, } +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct DispatchParametersARM { + pub s_type: StructureType, + pub next: *mut c_void, + pub work_group_batch_size: u32, + pub max_queued_work_group_batches: u32, + pub max_warps_per_shader_core: u32, +} + +impl Default for DispatchParametersARM { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::DISPATCH_PARAMETERS_ARM, + next: ptr::null_mut(), + work_group_batch_size: u32::default(), + max_queued_work_group_batches: u32::default(), + max_warps_per_shader_core: u32::default(), + } + } +} + +unsafe impl Send for DispatchParametersARM {} +unsafe impl Sync for DispatchParametersARM {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -7356,6 +7985,33 @@ pub struct DrawIndexedIndirectCommand { pub first_instance: u32, } +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct DrawIndirect2InfoKHR { + pub s_type: StructureType, + pub next: *const c_void, + pub address_range: StridedDeviceAddressRangeKHR, + pub address_flags: AddressCommandFlagsKHR, + pub draw_count: u32, +} + +impl Default for DrawIndirect2InfoKHR { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::DRAW_INDIRECT_2_INFO_KHR, + next: ptr::null(), + address_range: StridedDeviceAddressRangeKHR::default(), + address_flags: AddressCommandFlagsKHR::default(), + draw_count: u32::default(), + } + } +} + +unsafe impl Send for DrawIndirect2InfoKHR {} +unsafe impl Sync for DrawIndirect2InfoKHR {} + /// #[repr(C)] #[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)] @@ -7366,6 +8022,37 @@ pub struct DrawIndirectCommand { pub first_instance: u32, } +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct DrawIndirectCount2InfoKHR { + pub s_type: StructureType, + pub next: *const c_void, + pub address_range: StridedDeviceAddressRangeKHR, + pub address_flags: AddressCommandFlagsKHR, + pub count_address_range: DeviceAddressRangeKHR, + pub count_address_flags: AddressCommandFlagsKHR, + pub max_draw_count: u32, +} + +impl Default for DrawIndirectCount2InfoKHR { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::DRAW_INDIRECT_COUNT_2_INFO_KHR, + next: ptr::null(), + address_range: StridedDeviceAddressRangeKHR::default(), + address_flags: AddressCommandFlagsKHR::default(), + count_address_range: DeviceAddressRangeKHR::default(), + count_address_flags: AddressCommandFlagsKHR::default(), + max_draw_count: u32::default(), + } + } +} + +unsafe impl Send for DrawIndirectCount2InfoKHR {} +unsafe impl Sync for DrawIndirectCount2InfoKHR {} + /// #[repr(C)] #[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)] @@ -12227,6 +12914,35 @@ impl Default for MemoryMapPlacedInfoEXT { unsafe impl Send for MemoryMapPlacedInfoEXT {} unsafe impl Sync for MemoryMapPlacedInfoEXT {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct MemoryMarkerInfoAMD { + pub s_type: StructureType, + pub next: *const c_void, + pub stage: PipelineStageFlags2KHR, + pub dst_range: DeviceAddressRangeKHR, + pub dst_flags: AddressCommandFlagsKHR, + pub marker: u32, +} + +impl Default for MemoryMarkerInfoAMD { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::MEMORY_MARKER_INFO_AMD, + next: ptr::null(), + stage: PipelineStageFlags2KHR::default(), + dst_range: DeviceAddressRangeKHR::default(), + dst_flags: AddressCommandFlagsKHR::default(), + marker: u32::default(), + } + } +} + +unsafe impl Send for MemoryMarkerInfoAMD {} +unsafe impl Sync for MemoryMarkerInfoAMD {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -12296,6 +13012,68 @@ impl Default for MemoryPriorityAllocateInfoEXT { unsafe impl Send for MemoryPriorityAllocateInfoEXT {} unsafe impl Sync for MemoryPriorityAllocateInfoEXT {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct MemoryRangeBarrierKHR { + pub s_type: StructureType, + pub next: *const c_void, + pub src_stage_mask: PipelineStageFlags2, + pub src_access_mask: AccessFlags2, + pub dst_stage_mask: PipelineStageFlags2, + pub dst_access_mask: AccessFlags2, + pub src_queue_family_index: u32, + pub dst_queue_family_index: u32, + pub address_range: DeviceAddressRangeKHR, + pub address_flags: AddressCommandFlagsKHR, +} + +impl Default for MemoryRangeBarrierKHR { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::MEMORY_RANGE_BARRIER_KHR, + next: ptr::null(), + src_stage_mask: PipelineStageFlags2::default(), + src_access_mask: AccessFlags2::default(), + dst_stage_mask: PipelineStageFlags2::default(), + dst_access_mask: AccessFlags2::default(), + src_queue_family_index: u32::default(), + dst_queue_family_index: u32::default(), + address_range: DeviceAddressRangeKHR::default(), + address_flags: AddressCommandFlagsKHR::default(), + } + } +} + +unsafe impl Send for MemoryRangeBarrierKHR {} +unsafe impl Sync for MemoryRangeBarrierKHR {} + +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct MemoryRangeBarriersInfoKHR { + pub s_type: StructureType, + pub next: *const c_void, + pub memory_range_barrier_count: u32, + pub memory_range_barriers: *const MemoryRangeBarrierKHR, +} + +impl Default for MemoryRangeBarriersInfoKHR { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::MEMORY_RANGE_BARRIERS_INFO_KHR, + next: ptr::null(), + memory_range_barrier_count: u32::default(), + memory_range_barriers: ptr::null(), + } + } +} + +unsafe impl Send for MemoryRangeBarriersInfoKHR {} +unsafe impl Sync for MemoryRangeBarriersInfoKHR {} + /// #[repr(C)] #[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)] @@ -13331,6 +14109,31 @@ impl Default for PerTileEndInfoQCOM { unsafe impl Send for PerTileEndInfoQCOM {} unsafe impl Sync for PerTileEndInfoQCOM {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct PerfHintInfoQCOM { + pub s_type: StructureType, + pub next: *mut c_void, + pub type_: PerfHintTypeQCOM, + pub scale: u32, +} + +impl Default for PerfHintInfoQCOM { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::PERF_HINT_INFO_QCOM, + next: ptr::null_mut(), + type_: PerfHintTypeQCOM::default(), + scale: u32::default(), + } + } +} + +unsafe impl Send for PerfHintInfoQCOM {} +unsafe impl Sync for PerfHintInfoQCOM {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -14922,6 +15725,30 @@ impl Default for PhysicalDeviceDataGraphModelFeaturesQCOM { unsafe impl Send for PhysicalDeviceDataGraphModelFeaturesQCOM {} unsafe impl Sync for PhysicalDeviceDataGraphModelFeaturesQCOM {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct PhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM { + pub s_type: StructureType, + pub next: *mut c_void, + pub data_graph_neural_accelerator_statistics: Bool32, +} + +impl Default for PhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM { + #[inline] + fn default() -> Self { + Self { + s_type: + StructureType::PHYSICAL_DEVICE_DATA_GRAPH_NEURAL_ACCELERATOR_STATISTICS_FEATURES_ARM, + next: ptr::null_mut(), + data_graph_neural_accelerator_statistics: Bool32::default(), + } + } +} + +unsafe impl Send for PhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM {} +unsafe impl Sync for PhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM {} + /// #[repr(C)] #[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)] @@ -14931,6 +15758,29 @@ pub struct PhysicalDeviceDataGraphOperationSupportARM { pub version: u32, } +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct PhysicalDeviceDataGraphOpticalFlowFeaturesARM { + pub s_type: StructureType, + pub next: *mut c_void, + pub data_graph_optical_flow: Bool32, +} + +impl Default for PhysicalDeviceDataGraphOpticalFlowFeaturesARM { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::PHYSICAL_DEVICE_DATA_GRAPH_OPTICAL_FLOW_FEATURES_ARM, + next: ptr::null_mut(), + data_graph_optical_flow: Bool32::default(), + } + } +} + +unsafe impl Send for PhysicalDeviceDataGraphOpticalFlowFeaturesARM {} +unsafe impl Sync for PhysicalDeviceDataGraphOpticalFlowFeaturesARM {} + /// #[repr(C)] #[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)] @@ -15609,6 +16459,29 @@ impl Default for PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE { unsafe impl Send for PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {} unsafe impl Sync for PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct PhysicalDeviceDeviceAddressCommandsFeaturesKHR { + pub s_type: StructureType, + pub next: *mut c_void, + pub device_address_commands: Bool32, +} + +impl Default for PhysicalDeviceDeviceAddressCommandsFeaturesKHR { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::PHYSICAL_DEVICE_DEVICE_ADDRESS_COMMANDS_FEATURES_KHR, + next: ptr::null_mut(), + device_address_commands: Bool32::default(), + } + } +} + +unsafe impl Send for PhysicalDeviceDeviceAddressCommandsFeaturesKHR {} +unsafe impl Sync for PhysicalDeviceDeviceAddressCommandsFeaturesKHR {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -16619,6 +17492,58 @@ impl Default for PhysicalDeviceFaultFeaturesEXT { unsafe impl Send for PhysicalDeviceFaultFeaturesEXT {} unsafe impl Sync for PhysicalDeviceFaultFeaturesEXT {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct PhysicalDeviceFaultFeaturesKHR { + pub s_type: StructureType, + pub next: *mut c_void, + pub device_fault: Bool32, + pub device_fault_vendor_binary: Bool32, + pub device_fault_report_masked: Bool32, + pub device_fault_device_lost_on_masked: Bool32, +} + +impl Default for PhysicalDeviceFaultFeaturesKHR { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::PHYSICAL_DEVICE_FAULT_FEATURES_KHR, + next: ptr::null_mut(), + device_fault: Bool32::default(), + device_fault_vendor_binary: Bool32::default(), + device_fault_report_masked: Bool32::default(), + device_fault_device_lost_on_masked: Bool32::default(), + } + } +} + +unsafe impl Send for PhysicalDeviceFaultFeaturesKHR {} +unsafe impl Sync for PhysicalDeviceFaultFeaturesKHR {} + +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct PhysicalDeviceFaultPropertiesKHR { + pub s_type: StructureType, + pub next: *mut c_void, + pub max_device_fault_count: u32, +} + +impl Default for PhysicalDeviceFaultPropertiesKHR { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::PHYSICAL_DEVICE_FAULT_PROPERTIES_KHR, + next: ptr::null_mut(), + max_device_fault_count: u32::default(), + } + } +} + +unsafe impl Send for PhysicalDeviceFaultPropertiesKHR {} +unsafe impl Sync for PhysicalDeviceFaultPropertiesKHR {} + /// #[repr(C)] #[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)] @@ -18415,6 +19340,29 @@ impl Default for PhysicalDeviceMaintenance10PropertiesKHR { unsafe impl Send for PhysicalDeviceMaintenance10PropertiesKHR {} unsafe impl Sync for PhysicalDeviceMaintenance10PropertiesKHR {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct PhysicalDeviceMaintenance11FeaturesKHR { + pub s_type: StructureType, + pub next: *mut c_void, + pub maintenance11: Bool32, +} + +impl Default for PhysicalDeviceMaintenance11FeaturesKHR { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_11_FEATURES_KHR, + next: ptr::null_mut(), + maintenance11: Bool32::default(), + } + } +} + +unsafe impl Send for PhysicalDeviceMaintenance11FeaturesKHR {} +unsafe impl Sync for PhysicalDeviceMaintenance11FeaturesKHR {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -20264,6 +21212,29 @@ impl Default for PhysicalDevicePresentWaitFeaturesKHR { unsafe impl Send for PhysicalDevicePresentWaitFeaturesKHR {} unsafe impl Sync for PhysicalDevicePresentWaitFeaturesKHR {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct PhysicalDevicePrimitiveRestartIndexFeaturesEXT { + pub s_type: StructureType, + pub next: *mut c_void, + pub primitive_restart_index: Bool32, +} + +impl Default for PhysicalDevicePrimitiveRestartIndexFeaturesEXT { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::PHYSICAL_DEVICE_PRIMITIVE_RESTART_INDEX_FEATURES_EXT, + next: ptr::null_mut(), + primitive_restart_index: Bool32::default(), + } + } +} + +unsafe impl Send for PhysicalDevicePrimitiveRestartIndexFeaturesEXT {} +unsafe impl Sync for PhysicalDevicePrimitiveRestartIndexFeaturesEXT {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -20574,6 +21545,52 @@ impl Default for PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM { unsafe impl Send for PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM {} unsafe impl Sync for PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct PhysicalDeviceQueuePerfHintFeaturesQCOM { + pub s_type: StructureType, + pub next: *mut c_void, + pub queue_perf_hint: Bool32, +} + +impl Default for PhysicalDeviceQueuePerfHintFeaturesQCOM { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::PHYSICAL_DEVICE_QUEUE_PERF_HINT_FEATURES_QCOM, + next: ptr::null_mut(), + queue_perf_hint: Bool32::default(), + } + } +} + +unsafe impl Send for PhysicalDeviceQueuePerfHintFeaturesQCOM {} +unsafe impl Sync for PhysicalDeviceQueuePerfHintFeaturesQCOM {} + +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct PhysicalDeviceQueuePerfHintPropertiesQCOM { + pub s_type: StructureType, + pub next: *mut c_void, + pub supported_queues: QueueFlags, +} + +impl Default for PhysicalDeviceQueuePerfHintPropertiesQCOM { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::PHYSICAL_DEVICE_QUEUE_PERF_HINT_PROPERTIES_QCOM, + next: ptr::null_mut(), + supported_queues: QueueFlags::default(), + } + } +} + +unsafe impl Send for PhysicalDeviceQueuePerfHintPropertiesQCOM {} +unsafe impl Sync for PhysicalDeviceQueuePerfHintPropertiesQCOM {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -21241,6 +22258,27 @@ impl Default for PhysicalDeviceScalarBlockLayoutFeatures { unsafe impl Send for PhysicalDeviceScalarBlockLayoutFeatures {} unsafe impl Sync for PhysicalDeviceScalarBlockLayoutFeatures {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct PhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM { + pub s_type: StructureType, + pub next: *mut c_void, + pub scheduling_controls_max_warps_count: u32, + pub scheduling_controls_max_queued_batches_count: u32, + pub scheduling_controls_max_work_group_batch_size: u32, +} + +impl Default for PhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM { + #[inline] + fn default() -> Self { + Self { s_type: StructureType::PHYSICAL_DEVICE_SCHEDULING_CONTROLS_DISPATCH_PARAMETERS_PROPERTIES_ARM, next: ptr::null_mut(), scheduling_controls_max_warps_count: u32::default(), scheduling_controls_max_queued_batches_count: u32::default(), scheduling_controls_max_work_group_batch_size: u32::default() } + } +} + +unsafe impl Send for PhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM {} +unsafe impl Sync for PhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -21333,6 +22371,52 @@ impl Default for PhysicalDeviceShader64BitIndexingFeaturesEXT { unsafe impl Send for PhysicalDeviceShader64BitIndexingFeaturesEXT {} unsafe impl Sync for PhysicalDeviceShader64BitIndexingFeaturesEXT {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct PhysicalDeviceShaderAbortFeaturesKHR { + pub s_type: StructureType, + pub next: *mut c_void, + pub shader_abort: Bool32, +} + +impl Default for PhysicalDeviceShaderAbortFeaturesKHR { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::PHYSICAL_DEVICE_SHADER_ABORT_FEATURES_KHR, + next: ptr::null_mut(), + shader_abort: Bool32::default(), + } + } +} + +unsafe impl Send for PhysicalDeviceShaderAbortFeaturesKHR {} +unsafe impl Sync for PhysicalDeviceShaderAbortFeaturesKHR {} + +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct PhysicalDeviceShaderAbortPropertiesKHR { + pub s_type: StructureType, + pub next: *mut c_void, + pub max_shader_abort_message_size: u64, +} + +impl Default for PhysicalDeviceShaderAbortPropertiesKHR { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::PHYSICAL_DEVICE_SHADER_ABORT_PROPERTIES_KHR, + next: ptr::null_mut(), + max_shader_abort_message_size: u64::default(), + } + } +} + +unsafe impl Send for PhysicalDeviceShaderAbortPropertiesKHR {} +unsafe impl Sync for PhysicalDeviceShaderAbortPropertiesKHR {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -21523,6 +22607,29 @@ impl Default for PhysicalDeviceShaderClockFeaturesKHR { unsafe impl Send for PhysicalDeviceShaderClockFeaturesKHR {} unsafe impl Sync for PhysicalDeviceShaderClockFeaturesKHR {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct PhysicalDeviceShaderConstantDataFeaturesKHR { + pub s_type: StructureType, + pub next: *mut c_void, + pub shader_constant_data: Bool32, +} + +impl Default for PhysicalDeviceShaderConstantDataFeaturesKHR { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::PHYSICAL_DEVICE_SHADER_CONSTANT_DATA_FEATURES_KHR, + next: ptr::null_mut(), + shader_constant_data: Bool32::default(), + } + } +} + +unsafe impl Send for PhysicalDeviceShaderConstantDataFeaturesKHR {} +unsafe impl Sync for PhysicalDeviceShaderConstantDataFeaturesKHR {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -21975,6 +23082,54 @@ impl Default for PhysicalDeviceShaderImageFootprintFeaturesNV { unsafe impl Send for PhysicalDeviceShaderImageFootprintFeaturesNV {} unsafe impl Sync for PhysicalDeviceShaderImageFootprintFeaturesNV {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct PhysicalDeviceShaderInstrumentationFeaturesARM { + pub s_type: StructureType, + pub next: *mut c_void, + pub shader_instrumentation: Bool32, +} + +impl Default for PhysicalDeviceShaderInstrumentationFeaturesARM { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::PHYSICAL_DEVICE_SHADER_INSTRUMENTATION_FEATURES_ARM, + next: ptr::null_mut(), + shader_instrumentation: Bool32::default(), + } + } +} + +unsafe impl Send for PhysicalDeviceShaderInstrumentationFeaturesARM {} +unsafe impl Sync for PhysicalDeviceShaderInstrumentationFeaturesARM {} + +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct PhysicalDeviceShaderInstrumentationPropertiesARM { + pub s_type: StructureType, + pub next: *mut c_void, + pub num_metrics: u32, + pub per_basic_block_granularity: Bool32, +} + +impl Default for PhysicalDeviceShaderInstrumentationPropertiesARM { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::PHYSICAL_DEVICE_SHADER_INSTRUMENTATION_PROPERTIES_ARM, + next: ptr::null_mut(), + num_metrics: u32::default(), + per_basic_block_granularity: Bool32::default(), + } + } +} + +unsafe impl Send for PhysicalDeviceShaderInstrumentationPropertiesARM {} +unsafe impl Sync for PhysicalDeviceShaderInstrumentationPropertiesARM {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -23090,6 +24245,29 @@ impl Default for PhysicalDeviceTextureCompressionASTCHDRFeatures { unsafe impl Send for PhysicalDeviceTextureCompressionASTCHDRFeatures {} unsafe impl Sync for PhysicalDeviceTextureCompressionASTCHDRFeatures {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct PhysicalDeviceThrottleHintFeaturesSEC { + pub s_type: StructureType, + pub next: *mut c_void, + pub throttle_hint: Bool32, +} + +impl Default for PhysicalDeviceThrottleHintFeaturesSEC { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::PHYSICAL_DEVICE_THROTTLE_HINT_FEATURES_SEC, + next: ptr::null_mut(), + throttle_hint: Bool32::default(), + } + } +} + +unsafe impl Send for PhysicalDeviceThrottleHintFeaturesSEC {} +unsafe impl Sync for PhysicalDeviceThrottleHintFeaturesSEC {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -26907,6 +28085,43 @@ impl Default for QueueFamilyCheckpointPropertiesNV { unsafe impl Send for QueueFamilyCheckpointPropertiesNV {} unsafe impl Sync for QueueFamilyCheckpointPropertiesNV {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct QueueFamilyDataGraphOpticalFlowPropertiesARM { + pub s_type: StructureType, + pub next: *mut c_void, + pub supported_output_grid_sizes: DataGraphOpticalFlowGridSizeFlagsARM, + pub supported_hint_grid_sizes: DataGraphOpticalFlowGridSizeFlagsARM, + pub hint_supported: Bool32, + pub cost_supported: Bool32, + pub min_width: u32, + pub min_height: u32, + pub max_width: u32, + pub max_height: u32, +} + +impl Default for QueueFamilyDataGraphOpticalFlowPropertiesARM { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::QUEUE_FAMILY_DATA_GRAPH_OPTICAL_FLOW_PROPERTIES_ARM, + next: ptr::null_mut(), + supported_output_grid_sizes: DataGraphOpticalFlowGridSizeFlagsARM::default(), + supported_hint_grid_sizes: DataGraphOpticalFlowGridSizeFlagsARM::default(), + hint_supported: Bool32::default(), + cost_supported: Bool32::default(), + min_width: u32::default(), + min_height: u32::default(), + max_width: u32::default(), + max_height: u32::default(), + } + } +} + +unsafe impl Send for QueueFamilyDataGraphOpticalFlowPropertiesARM {} +unsafe impl Sync for QueueFamilyDataGraphOpticalFlowPropertiesARM {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -26957,6 +28172,37 @@ impl Default for QueueFamilyDataGraphPropertiesARM { unsafe impl Send for QueueFamilyDataGraphPropertiesARM {} unsafe impl Sync for QueueFamilyDataGraphPropertiesARM {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct QueueFamilyDataGraphTOSAPropertiesARM { + pub s_type: StructureType, + pub next: *mut c_void, + pub profile_count: u32, + pub profiles: *const DataGraphTOSANameQualityARM, + pub extension_count: u32, + pub extensions: *const DataGraphTOSANameQualityARM, + pub level: DataGraphTOSALevelARM, +} + +impl Default for QueueFamilyDataGraphTOSAPropertiesARM { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::QUEUE_FAMILY_DATA_GRAPH_TOSA_PROPERTIES_ARM, + next: ptr::null_mut(), + profile_count: u32::default(), + profiles: ptr::null(), + extension_count: u32::default(), + extensions: ptr::null(), + level: DataGraphTOSALevelARM::default(), + } + } +} + +unsafe impl Send for QueueFamilyDataGraphTOSAPropertiesARM {} +unsafe impl Sync for QueueFamilyDataGraphTOSAPropertiesARM {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -26982,6 +28228,29 @@ impl Default for QueueFamilyGlobalPriorityProperties { unsafe impl Send for QueueFamilyGlobalPriorityProperties {} unsafe impl Sync for QueueFamilyGlobalPriorityProperties {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct QueueFamilyOptimalImageTransferGranularityPropertiesKHR { + pub s_type: StructureType, + pub next: *mut c_void, + pub optimal_image_transfer_granularity: Extent3D, +} + +impl Default for QueueFamilyOptimalImageTransferGranularityPropertiesKHR { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::QUEUE_FAMILY_OPTIMAL_IMAGE_TRANSFER_GRANULARITY_PROPERTIES_KHR, + next: ptr::null_mut(), + optimal_image_transfer_granularity: Extent3D::default(), + } + } +} + +unsafe impl Send for QueueFamilyOptimalImageTransferGranularityPropertiesKHR {} +unsafe impl Sync for QueueFamilyOptimalImageTransferGranularityPropertiesKHR {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -29173,6 +30442,62 @@ impl Default for ShaderDescriptorSetAndBindingMappingInfoEXT { unsafe impl Send for ShaderDescriptorSetAndBindingMappingInfoEXT {} unsafe impl Sync for ShaderDescriptorSetAndBindingMappingInfoEXT {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct ShaderInstrumentationCreateInfoARM { + pub s_type: StructureType, + pub next: *mut c_void, +} + +impl Default for ShaderInstrumentationCreateInfoARM { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::SHADER_INSTRUMENTATION_CREATE_INFO_ARM, + next: ptr::null_mut(), + } + } +} + +unsafe impl Send for ShaderInstrumentationCreateInfoARM {} +unsafe impl Sync for ShaderInstrumentationCreateInfoARM {} + +/// +#[repr(C)] +#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)] +pub struct ShaderInstrumentationMetricDataHeaderARM { + pub result_index: u32, + pub result_sub_index: u32, + pub stages: ShaderStageFlags, + pub basic_block_index: u32, +} + +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct ShaderInstrumentationMetricDescriptionARM { + pub s_type: StructureType, + pub next: *mut c_void, + pub name: StringArray, + pub description: StringArray, +} + +impl Default for ShaderInstrumentationMetricDescriptionARM { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::SHADER_INSTRUMENTATION_METRIC_DESCRIPTION_ARM, + next: ptr::null_mut(), + name: StringArray::default(), + description: StringArray::default(), + } + } +} + +unsafe impl Send for ShaderInstrumentationMetricDescriptionARM {} +unsafe impl Sync for ShaderInstrumentationMetricDescriptionARM {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -31028,6 +32353,29 @@ impl Default for TextureLODGatherFormatPropertiesAMD { unsafe impl Send for TextureLODGatherFormatPropertiesAMD {} unsafe impl Sync for TextureLODGatherFormatPropertiesAMD {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct ThrottleHintSubmitInfoSEC { + pub s_type: StructureType, + pub next: *const c_void, + pub throttle_hint: ThrottleHintTypeSEC, +} + +impl Default for ThrottleHintSubmitInfoSEC { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::THROTTLE_HINT_SUBMIT_INFO_SEC, + next: ptr::null(), + throttle_hint: ThrottleHintTypeSEC::default(), + } + } +} + +unsafe impl Send for ThrottleHintSubmitInfoSEC {} +unsafe impl Sync for ThrottleHintSubmitInfoSEC {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -34900,8 +36248,16 @@ pub type DescriptorSetVariableDescriptorCountLayoutSupportEXT = pub type DescriptorUpdateTemplateCreateInfoKHR = DescriptorUpdateTemplateCreateInfo; /// pub type DescriptorUpdateTemplateEntryKHR = DescriptorUpdateTemplateEntry; +/// +pub type DeviceAddressRangeEXT = DeviceAddressRangeKHR; /// pub type DeviceBufferMemoryRequirementsKHR = DeviceBufferMemoryRequirements; +/// +pub type DeviceFaultAddressInfoEXT = DeviceFaultAddressInfoKHR; +/// +pub type DeviceFaultVendorBinaryHeaderVersionOneEXT = DeviceFaultVendorBinaryHeaderVersionOneKHR; +/// +pub type DeviceFaultVendorInfoEXT = DeviceFaultVendorInfoKHR; /// pub type DeviceGroupBindSparseInfoKHR = DeviceGroupBindSparseInfo; /// diff --git a/vulkanalia/src/vk/builders.rs b/vulkanalia/src/vk/builders.rs index 558b91e8..9f719fd7 100644 --- a/vulkanalia/src/vk/builders.rs +++ b/vulkanalia/src/vk/builders.rs @@ -508,6 +508,102 @@ unsafe impl Cast for AccelerationStructureCaptureDescriptorDataInfoEXTBuilder { } } +/// A Vulkan struct that can be used to extend a [`AccelerationStructureCreateInfo2KHR`]. +pub unsafe trait ExtendsAccelerationStructureCreateInfo2KHR: fmt::Debug {} +unsafe impl ExtendsAccelerationStructureCreateInfo2KHR + for OpaqueCaptureDescriptorDataCreateInfoEXT +{ +} + +unsafe impl Cast for AccelerationStructureCreateInfo2KHR { + type Target = AccelerationStructureCreateInfo2KHR; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl<'b> HasBuilder<'b> for AccelerationStructureCreateInfo2KHR { + type Builder = AccelerationStructureCreateInfo2KHRBuilder<'b>; +} + +/// A builder for a [`AccelerationStructureCreateInfo2KHR`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct AccelerationStructureCreateInfo2KHRBuilder<'b> { + value: AccelerationStructureCreateInfo2KHR, + _marker: PhantomData<&'b ()>, +} + +impl<'b> AccelerationStructureCreateInfo2KHRBuilder<'b> { + #[inline] + pub fn push_next(mut self, next: &'b mut impl Cast) -> Self + where + T: ExtendsAccelerationStructureCreateInfo2KHR, + { + self.next = merge(self.next as *mut c_void, NonNull::from(next).cast()); + self + } + + #[inline] + pub fn create_flags(mut self, create_flags: AccelerationStructureCreateFlagsKHR) -> Self { + self.value.create_flags = create_flags; + self + } + + #[inline] + pub fn address_range( + mut self, + address_range: impl Cast, + ) -> Self { + self.value.address_range = address_range.into(); + self + } + + #[inline] + pub fn address_flags(mut self, address_flags: AddressCommandFlagsKHR) -> Self { + self.value.address_flags = address_flags; + self + } + + #[inline] + pub fn type_(mut self, type_: AccelerationStructureTypeKHR) -> Self { + self.value.type_ = type_; + self + } + + #[inline] + pub fn build(self) -> AccelerationStructureCreateInfo2KHR { + self.value + } +} + +impl ops::Deref for AccelerationStructureCreateInfo2KHRBuilder<'_> { + type Target = AccelerationStructureCreateInfo2KHR; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for AccelerationStructureCreateInfo2KHRBuilder<'_> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for AccelerationStructureCreateInfo2KHRBuilder<'_> { + type Target = AccelerationStructureCreateInfo2KHR; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + /// A Vulkan struct that can be used to extend a [`AccelerationStructureCreateInfoKHR`]. pub unsafe trait ExtendsAccelerationStructureCreateInfoKHR: fmt::Debug {} unsafe impl ExtendsAccelerationStructureCreateInfoKHR for AccelerationStructureMotionInfoNV {} @@ -1514,7 +1610,7 @@ impl<'b> AccelerationStructureInfoNVBuilder<'b> { } #[inline] - pub fn flags(mut self, flags: BuildAccelerationStructureFlagsNV) -> Self { + pub fn flags(mut self, flags: BuildAccelerationStructureFlagsKHR) -> Self { self.value.flags = flags; self } @@ -4878,8 +4974,8 @@ pub struct BindHeapInfoEXTBuilder { impl BindHeapInfoEXTBuilder { #[inline] - pub fn heap_range(mut self, heap_range: impl Cast) -> Self { - self.value.heap_range = heap_range.into(); + pub fn heap_range(mut self, heap_range: DeviceAddressRangeEXT) -> Self { + self.value.heap_range = heap_range; self } @@ -5205,6 +5301,79 @@ unsafe impl Cast for BindImagePlaneMemoryInfoBuilder { } } +unsafe impl Cast for BindIndexBuffer3InfoKHR { + type Target = BindIndexBuffer3InfoKHR; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for BindIndexBuffer3InfoKHR { + type Builder = BindIndexBuffer3InfoKHRBuilder; +} + +/// A builder for a [`BindIndexBuffer3InfoKHR`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct BindIndexBuffer3InfoKHRBuilder { + value: BindIndexBuffer3InfoKHR, +} + +impl BindIndexBuffer3InfoKHRBuilder { + #[inline] + pub fn address_range( + mut self, + address_range: impl Cast, + ) -> Self { + self.value.address_range = address_range.into(); + self + } + + #[inline] + pub fn address_flags(mut self, address_flags: AddressCommandFlagsKHR) -> Self { + self.value.address_flags = address_flags; + self + } + + #[inline] + pub fn index_type(mut self, index_type: IndexType) -> Self { + self.value.index_type = index_type; + self + } + + #[inline] + pub fn build(self) -> BindIndexBuffer3InfoKHR { + self.value + } +} + +impl ops::Deref for BindIndexBuffer3InfoKHRBuilder { + type Target = BindIndexBuffer3InfoKHR; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for BindIndexBuffer3InfoKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for BindIndexBuffer3InfoKHRBuilder { + type Target = BindIndexBuffer3InfoKHR; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for BindIndexBufferIndirectCommandEXT { type Target = BindIndexBufferIndirectCommandEXT; @@ -5703,6 +5872,146 @@ unsafe impl Cast for BindTensorMemoryInfoARMBuilder { } } +unsafe impl Cast for BindTransformFeedbackBuffer2InfoEXT { + type Target = BindTransformFeedbackBuffer2InfoEXT; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for BindTransformFeedbackBuffer2InfoEXT { + type Builder = BindTransformFeedbackBuffer2InfoEXTBuilder; +} + +/// A builder for a [`BindTransformFeedbackBuffer2InfoEXT`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct BindTransformFeedbackBuffer2InfoEXTBuilder { + value: BindTransformFeedbackBuffer2InfoEXT, +} + +impl BindTransformFeedbackBuffer2InfoEXTBuilder { + #[inline] + pub fn address_range( + mut self, + address_range: impl Cast, + ) -> Self { + self.value.address_range = address_range.into(); + self + } + + #[inline] + pub fn address_flags(mut self, address_flags: AddressCommandFlagsKHR) -> Self { + self.value.address_flags = address_flags; + self + } + + #[inline] + pub fn build(self) -> BindTransformFeedbackBuffer2InfoEXT { + self.value + } +} + +impl ops::Deref for BindTransformFeedbackBuffer2InfoEXTBuilder { + type Target = BindTransformFeedbackBuffer2InfoEXT; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for BindTransformFeedbackBuffer2InfoEXTBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for BindTransformFeedbackBuffer2InfoEXTBuilder { + type Target = BindTransformFeedbackBuffer2InfoEXT; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + +unsafe impl Cast for BindVertexBuffer3InfoKHR { + type Target = BindVertexBuffer3InfoKHR; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for BindVertexBuffer3InfoKHR { + type Builder = BindVertexBuffer3InfoKHRBuilder; +} + +/// A builder for a [`BindVertexBuffer3InfoKHR`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct BindVertexBuffer3InfoKHRBuilder { + value: BindVertexBuffer3InfoKHR, +} + +impl BindVertexBuffer3InfoKHRBuilder { + #[inline] + pub fn set_stride(mut self, set_stride: bool) -> Self { + self.value.set_stride = set_stride as Bool32; + self + } + + #[inline] + pub fn address_range( + mut self, + address_range: impl Cast, + ) -> Self { + self.value.address_range = address_range.into(); + self + } + + #[inline] + pub fn address_flags(mut self, address_flags: AddressCommandFlagsKHR) -> Self { + self.value.address_flags = address_flags; + self + } + + #[inline] + pub fn build(self) -> BindVertexBuffer3InfoKHR { + self.value + } +} + +impl ops::Deref for BindVertexBuffer3InfoKHRBuilder { + type Target = BindVertexBuffer3InfoKHR; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for BindVertexBuffer3InfoKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for BindVertexBuffer3InfoKHRBuilder { + type Target = BindVertexBuffer3InfoKHR; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for BindVertexBufferIndirectCommandEXT { type Target = BindVertexBufferIndirectCommandEXT; @@ -10809,6 +11118,79 @@ unsafe impl Cast for ComputePipelineIndirectBufferInfoNVBuilder { } } +unsafe impl Cast for ConditionalRenderingBeginInfo2EXT { + type Target = ConditionalRenderingBeginInfo2EXT; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for ConditionalRenderingBeginInfo2EXT { + type Builder = ConditionalRenderingBeginInfo2EXTBuilder; +} + +/// A builder for a [`ConditionalRenderingBeginInfo2EXT`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct ConditionalRenderingBeginInfo2EXTBuilder { + value: ConditionalRenderingBeginInfo2EXT, +} + +impl ConditionalRenderingBeginInfo2EXTBuilder { + #[inline] + pub fn address_range( + mut self, + address_range: impl Cast, + ) -> Self { + self.value.address_range = address_range.into(); + self + } + + #[inline] + pub fn address_flags(mut self, address_flags: AddressCommandFlagsKHR) -> Self { + self.value.address_flags = address_flags; + self + } + + #[inline] + pub fn flags(mut self, flags: ConditionalRenderingFlagsEXT) -> Self { + self.value.flags = flags; + self + } + + #[inline] + pub fn build(self) -> ConditionalRenderingBeginInfo2EXT { + self.value + } +} + +impl ops::Deref for ConditionalRenderingBeginInfo2EXTBuilder { + type Target = ConditionalRenderingBeginInfo2EXT; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for ConditionalRenderingBeginInfo2EXTBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for ConditionalRenderingBeginInfo2EXTBuilder { + type Target = ConditionalRenderingBeginInfo2EXT; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for ConditionalRenderingBeginInfoEXT { type Target = ConditionalRenderingBeginInfoEXT; @@ -11928,6 +12310,132 @@ unsafe impl Cast for CopyDescriptorSetBuilder { } } +unsafe impl Cast for CopyDeviceMemoryImageInfoKHR { + type Target = CopyDeviceMemoryImageInfoKHR; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl<'b> HasBuilder<'b> for CopyDeviceMemoryImageInfoKHR { + type Builder = CopyDeviceMemoryImageInfoKHRBuilder<'b>; +} + +/// A builder for a [`CopyDeviceMemoryImageInfoKHR`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct CopyDeviceMemoryImageInfoKHRBuilder<'b> { + value: CopyDeviceMemoryImageInfoKHR, + _marker: PhantomData<&'b ()>, +} + +impl<'b> CopyDeviceMemoryImageInfoKHRBuilder<'b> { + #[inline] + pub fn image(mut self, image: Image) -> Self { + self.value.image = image; + self + } + + #[inline] + pub fn regions(mut self, regions: &'b [impl Cast]) -> Self { + self.value.region_count = regions.len() as u32; + self.value.regions = regions.as_ptr().cast(); + self + } + + #[inline] + pub fn build(self) -> CopyDeviceMemoryImageInfoKHR { + self.value + } +} + +impl ops::Deref for CopyDeviceMemoryImageInfoKHRBuilder<'_> { + type Target = CopyDeviceMemoryImageInfoKHR; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for CopyDeviceMemoryImageInfoKHRBuilder<'_> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for CopyDeviceMemoryImageInfoKHRBuilder<'_> { + type Target = CopyDeviceMemoryImageInfoKHR; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + +unsafe impl Cast for CopyDeviceMemoryInfoKHR { + type Target = CopyDeviceMemoryInfoKHR; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl<'b> HasBuilder<'b> for CopyDeviceMemoryInfoKHR { + type Builder = CopyDeviceMemoryInfoKHRBuilder<'b>; +} + +/// A builder for a [`CopyDeviceMemoryInfoKHR`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct CopyDeviceMemoryInfoKHRBuilder<'b> { + value: CopyDeviceMemoryInfoKHR, + _marker: PhantomData<&'b ()>, +} + +impl<'b> CopyDeviceMemoryInfoKHRBuilder<'b> { + #[inline] + pub fn regions(mut self, regions: &'b [impl Cast]) -> Self { + self.value.region_count = regions.len() as u32; + self.value.regions = regions.as_ptr().cast(); + self + } + + #[inline] + pub fn build(self) -> CopyDeviceMemoryInfoKHR { + self.value + } +} + +impl ops::Deref for CopyDeviceMemoryInfoKHRBuilder<'_> { + type Target = CopyDeviceMemoryInfoKHR; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for CopyDeviceMemoryInfoKHRBuilder<'_> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for CopyDeviceMemoryInfoKHRBuilder<'_> { + type Target = CopyDeviceMemoryInfoKHR; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for CopyImageInfo2 { type Target = CopyImageInfo2; @@ -13726,6 +14234,122 @@ unsafe impl Cast for D3D12FenceSubmitInfoKHRBuilder<'_> { } } +unsafe impl Cast for DataGraphOpticalFlowImageFormatInfoARM { + type Target = DataGraphOpticalFlowImageFormatInfoARM; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for DataGraphOpticalFlowImageFormatInfoARM { + type Builder = DataGraphOpticalFlowImageFormatInfoARMBuilder; +} + +/// A builder for a [`DataGraphOpticalFlowImageFormatInfoARM`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct DataGraphOpticalFlowImageFormatInfoARMBuilder { + value: DataGraphOpticalFlowImageFormatInfoARM, +} + +impl DataGraphOpticalFlowImageFormatInfoARMBuilder { + #[inline] + pub fn usage(mut self, usage: DataGraphOpticalFlowImageUsageFlagsARM) -> Self { + self.value.usage = usage; + self + } + + #[inline] + pub fn build(self) -> DataGraphOpticalFlowImageFormatInfoARM { + self.value + } +} + +impl ops::Deref for DataGraphOpticalFlowImageFormatInfoARMBuilder { + type Target = DataGraphOpticalFlowImageFormatInfoARM; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for DataGraphOpticalFlowImageFormatInfoARMBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for DataGraphOpticalFlowImageFormatInfoARMBuilder { + type Target = DataGraphOpticalFlowImageFormatInfoARM; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + +unsafe impl Cast for DataGraphOpticalFlowImageFormatPropertiesARM { + type Target = DataGraphOpticalFlowImageFormatPropertiesARM; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for DataGraphOpticalFlowImageFormatPropertiesARM { + type Builder = DataGraphOpticalFlowImageFormatPropertiesARMBuilder; +} + +/// A builder for a [`DataGraphOpticalFlowImageFormatPropertiesARM`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct DataGraphOpticalFlowImageFormatPropertiesARMBuilder { + value: DataGraphOpticalFlowImageFormatPropertiesARM, +} + +impl DataGraphOpticalFlowImageFormatPropertiesARMBuilder { + #[inline] + pub fn format(mut self, format: Format) -> Self { + self.value.format = format; + self + } + + #[inline] + pub fn build(self) -> DataGraphOpticalFlowImageFormatPropertiesARM { + self.value + } +} + +impl ops::Deref for DataGraphOpticalFlowImageFormatPropertiesARMBuilder { + type Target = DataGraphOpticalFlowImageFormatPropertiesARM; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for DataGraphOpticalFlowImageFormatPropertiesARMBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for DataGraphOpticalFlowImageFormatPropertiesARMBuilder { + type Target = DataGraphOpticalFlowImageFormatPropertiesARM; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for DataGraphPipelineBuiltinModelCreateInfoQCOM { type Target = DataGraphPipelineBuiltinModelCreateInfoQCOM; @@ -14007,7 +14631,13 @@ unsafe impl ExtendsDataGraphPipelineCreateInfoARM { } unsafe impl ExtendsDataGraphPipelineCreateInfoARM for DataGraphPipelineIdentifierCreateInfoARM {} +unsafe impl ExtendsDataGraphPipelineCreateInfoARM + for DataGraphPipelineNeuralStatisticsCreateInfoARM +{ +} +unsafe impl ExtendsDataGraphPipelineCreateInfoARM for DataGraphPipelineOpticalFlowCreateInfoARM {} unsafe impl ExtendsDataGraphPipelineCreateInfoARM for DataGraphPipelineShaderModuleCreateInfoARM {} +unsafe impl ExtendsDataGraphPipelineCreateInfoARM for DataGraphPipelineSingleNodeCreateInfoARM {} unsafe impl ExtendsDataGraphPipelineCreateInfoARM for DataGraphProcessingEngineCreateInfoARM {} unsafe impl ExtendsDataGraphPipelineCreateInfoARM for PipelineCreationFeedbackCreateInfo {} unsafe impl ExtendsDataGraphPipelineCreateInfoARM for ShaderModuleCreateInfo {} @@ -14044,7 +14674,7 @@ impl<'b> DataGraphPipelineCreateInfoARMBuilder<'b> { } #[inline] - pub fn flags(mut self, flags: PipelineCreateFlags2KHR) -> Self { + pub fn flags(mut self, flags: PipelineCreateFlags2) -> Self { self.value.flags = flags; self } @@ -14096,6 +14726,13 @@ unsafe impl Cast for DataGraphPipelineCreateInfoARMBuilder<'_> { } } +/// A Vulkan struct that can be used to extend a [`DataGraphPipelineDispatchInfoARM`]. +pub unsafe trait ExtendsDataGraphPipelineDispatchInfoARM: fmt::Debug {} +unsafe impl ExtendsDataGraphPipelineDispatchInfoARM + for DataGraphPipelineOpticalFlowDispatchInfoARM +{ +} + unsafe impl Cast for DataGraphPipelineDispatchInfoARM { type Target = DataGraphPipelineDispatchInfoARM; @@ -14105,18 +14742,28 @@ unsafe impl Cast for DataGraphPipelineDispatchInfoARM { } } -impl HasBuilder<'static> for DataGraphPipelineDispatchInfoARM { - type Builder = DataGraphPipelineDispatchInfoARMBuilder; +impl<'b> HasBuilder<'b> for DataGraphPipelineDispatchInfoARM { + type Builder = DataGraphPipelineDispatchInfoARMBuilder<'b>; } /// A builder for a [`DataGraphPipelineDispatchInfoARM`]. #[repr(transparent)] #[derive(Copy, Clone, Debug, Default)] -pub struct DataGraphPipelineDispatchInfoARMBuilder { +pub struct DataGraphPipelineDispatchInfoARMBuilder<'b> { value: DataGraphPipelineDispatchInfoARM, + _marker: PhantomData<&'b ()>, } -impl DataGraphPipelineDispatchInfoARMBuilder { +impl<'b> DataGraphPipelineDispatchInfoARMBuilder<'b> { + #[inline] + pub fn push_next(mut self, next: &'b mut impl Cast) -> Self + where + T: ExtendsDataGraphPipelineDispatchInfoARM, + { + self.next = merge(self.next as *mut c_void, NonNull::from(next).cast()); + self + } + #[inline] pub fn flags(mut self, flags: DataGraphPipelineDispatchFlagsARM) -> Self { self.value.flags = flags; @@ -14129,7 +14776,7 @@ impl DataGraphPipelineDispatchInfoARMBuilder { } } -impl ops::Deref for DataGraphPipelineDispatchInfoARMBuilder { +impl ops::Deref for DataGraphPipelineDispatchInfoARMBuilder<'_> { type Target = DataGraphPipelineDispatchInfoARM; #[inline] @@ -14138,14 +14785,14 @@ impl ops::Deref for DataGraphPipelineDispatchInfoARMBuilder { } } -impl ops::DerefMut for DataGraphPipelineDispatchInfoARMBuilder { +impl ops::DerefMut for DataGraphPipelineDispatchInfoARMBuilder<'_> { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.value } } -unsafe impl Cast for DataGraphPipelineDispatchInfoARMBuilder { +unsafe impl Cast for DataGraphPipelineDispatchInfoARMBuilder<'_> { type Target = DataGraphPipelineDispatchInfoARM; #[inline] @@ -14272,6 +14919,240 @@ unsafe impl Cast for DataGraphPipelineInfoARMBuilder { } } +unsafe impl Cast for DataGraphPipelineNeuralStatisticsCreateInfoARM { + type Target = DataGraphPipelineNeuralStatisticsCreateInfoARM; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for DataGraphPipelineNeuralStatisticsCreateInfoARM { + type Builder = DataGraphPipelineNeuralStatisticsCreateInfoARMBuilder; +} + +/// A builder for a [`DataGraphPipelineNeuralStatisticsCreateInfoARM`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct DataGraphPipelineNeuralStatisticsCreateInfoARMBuilder { + value: DataGraphPipelineNeuralStatisticsCreateInfoARM, +} + +impl DataGraphPipelineNeuralStatisticsCreateInfoARMBuilder { + #[inline] + pub fn allow_neural_statistics(mut self, allow_neural_statistics: bool) -> Self { + self.value.allow_neural_statistics = allow_neural_statistics as Bool32; + self + } + + #[inline] + pub fn build(self) -> DataGraphPipelineNeuralStatisticsCreateInfoARM { + self.value + } +} + +impl ops::Deref for DataGraphPipelineNeuralStatisticsCreateInfoARMBuilder { + type Target = DataGraphPipelineNeuralStatisticsCreateInfoARM; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for DataGraphPipelineNeuralStatisticsCreateInfoARMBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for DataGraphPipelineNeuralStatisticsCreateInfoARMBuilder { + type Target = DataGraphPipelineNeuralStatisticsCreateInfoARM; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + +unsafe impl Cast for DataGraphPipelineOpticalFlowCreateInfoARM { + type Target = DataGraphPipelineOpticalFlowCreateInfoARM; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for DataGraphPipelineOpticalFlowCreateInfoARM { + type Builder = DataGraphPipelineOpticalFlowCreateInfoARMBuilder; +} + +/// A builder for a [`DataGraphPipelineOpticalFlowCreateInfoARM`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct DataGraphPipelineOpticalFlowCreateInfoARMBuilder { + value: DataGraphPipelineOpticalFlowCreateInfoARM, +} + +impl DataGraphPipelineOpticalFlowCreateInfoARMBuilder { + #[inline] + pub fn width(mut self, width: u32) -> Self { + self.value.width = width; + self + } + + #[inline] + pub fn height(mut self, height: u32) -> Self { + self.value.height = height; + self + } + + #[inline] + pub fn image_format(mut self, image_format: Format) -> Self { + self.value.image_format = image_format; + self + } + + #[inline] + pub fn flow_vector_format(mut self, flow_vector_format: Format) -> Self { + self.value.flow_vector_format = flow_vector_format; + self + } + + #[inline] + pub fn cost_format(mut self, cost_format: Format) -> Self { + self.value.cost_format = cost_format; + self + } + + #[inline] + pub fn output_grid_size( + mut self, + output_grid_size: DataGraphOpticalFlowGridSizeFlagsARM, + ) -> Self { + self.value.output_grid_size = output_grid_size; + self + } + + #[inline] + pub fn hint_grid_size(mut self, hint_grid_size: DataGraphOpticalFlowGridSizeFlagsARM) -> Self { + self.value.hint_grid_size = hint_grid_size; + self + } + + #[inline] + pub fn performance_level( + mut self, + performance_level: DataGraphOpticalFlowPerformanceLevelARM, + ) -> Self { + self.value.performance_level = performance_level; + self + } + + #[inline] + pub fn flags(mut self, flags: DataGraphOpticalFlowCreateFlagsARM) -> Self { + self.value.flags = flags; + self + } + + #[inline] + pub fn build(self) -> DataGraphPipelineOpticalFlowCreateInfoARM { + self.value + } +} + +impl ops::Deref for DataGraphPipelineOpticalFlowCreateInfoARMBuilder { + type Target = DataGraphPipelineOpticalFlowCreateInfoARM; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for DataGraphPipelineOpticalFlowCreateInfoARMBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for DataGraphPipelineOpticalFlowCreateInfoARMBuilder { + type Target = DataGraphPipelineOpticalFlowCreateInfoARM; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + +unsafe impl Cast for DataGraphPipelineOpticalFlowDispatchInfoARM { + type Target = DataGraphPipelineOpticalFlowDispatchInfoARM; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for DataGraphPipelineOpticalFlowDispatchInfoARM { + type Builder = DataGraphPipelineOpticalFlowDispatchInfoARMBuilder; +} + +/// A builder for a [`DataGraphPipelineOpticalFlowDispatchInfoARM`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct DataGraphPipelineOpticalFlowDispatchInfoARMBuilder { + value: DataGraphPipelineOpticalFlowDispatchInfoARM, +} + +impl DataGraphPipelineOpticalFlowDispatchInfoARMBuilder { + #[inline] + pub fn flags(mut self, flags: DataGraphOpticalFlowExecuteFlagsARM) -> Self { + self.value.flags = flags; + self + } + + #[inline] + pub fn mean_flow_l1_norm_hint(mut self, mean_flow_l1_norm_hint: u32) -> Self { + self.value.mean_flow_l1_norm_hint = mean_flow_l1_norm_hint; + self + } + + #[inline] + pub fn build(self) -> DataGraphPipelineOpticalFlowDispatchInfoARM { + self.value + } +} + +impl ops::Deref for DataGraphPipelineOpticalFlowDispatchInfoARMBuilder { + type Target = DataGraphPipelineOpticalFlowDispatchInfoARM; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for DataGraphPipelineOpticalFlowDispatchInfoARMBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for DataGraphPipelineOpticalFlowDispatchInfoARMBuilder { + type Target = DataGraphPipelineOpticalFlowDispatchInfoARM; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for DataGraphPipelinePropertyQueryResultARM { type Target = DataGraphPipelinePropertyQueryResultARM; @@ -14352,6 +15233,10 @@ unsafe impl Cast for DataGraphPipelinePropertyQueryResultARMBuilder<'_> { /// A Vulkan struct that can be used to extend a [`DataGraphPipelineResourceInfoARM`]. pub unsafe trait ExtendsDataGraphPipelineResourceInfoARM: fmt::Debug {} +unsafe impl ExtendsDataGraphPipelineResourceInfoARM + for DataGraphPipelineResourceInfoImageLayoutARM +{ +} unsafe impl ExtendsDataGraphPipelineResourceInfoARM for TensorDescriptionARM {} unsafe impl Cast for DataGraphPipelineResourceInfoARM { @@ -14434,6 +15319,64 @@ unsafe impl Cast for DataGraphPipelineResourceInfoARMBuilder<'_> { } } +unsafe impl Cast for DataGraphPipelineResourceInfoImageLayoutARM { + type Target = DataGraphPipelineResourceInfoImageLayoutARM; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for DataGraphPipelineResourceInfoImageLayoutARM { + type Builder = DataGraphPipelineResourceInfoImageLayoutARMBuilder; +} + +/// A builder for a [`DataGraphPipelineResourceInfoImageLayoutARM`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct DataGraphPipelineResourceInfoImageLayoutARMBuilder { + value: DataGraphPipelineResourceInfoImageLayoutARM, +} + +impl DataGraphPipelineResourceInfoImageLayoutARMBuilder { + #[inline] + pub fn layout(mut self, layout: ImageLayout) -> Self { + self.value.layout = layout; + self + } + + #[inline] + pub fn build(self) -> DataGraphPipelineResourceInfoImageLayoutARM { + self.value + } +} + +impl ops::Deref for DataGraphPipelineResourceInfoImageLayoutARMBuilder { + type Target = DataGraphPipelineResourceInfoImageLayoutARM; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for DataGraphPipelineResourceInfoImageLayoutARMBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for DataGraphPipelineResourceInfoImageLayoutARMBuilder { + type Target = DataGraphPipelineResourceInfoImageLayoutARM; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for DataGraphPipelineSessionBindPointRequirementARM { type Target = DataGraphPipelineSessionBindPointRequirementARM; @@ -14565,6 +15508,13 @@ unsafe impl Cast for DataGraphPipelineSessionBindPointRequirementsInfoARMBuilder } } +/// A Vulkan struct that can be used to extend a [`DataGraphPipelineSessionCreateInfoARM`]. +pub unsafe trait ExtendsDataGraphPipelineSessionCreateInfoARM: fmt::Debug {} +unsafe impl ExtendsDataGraphPipelineSessionCreateInfoARM + for DataGraphPipelineSessionNeuralStatisticsCreateInfoARM +{ +} + unsafe impl Cast for DataGraphPipelineSessionCreateInfoARM { type Target = DataGraphPipelineSessionCreateInfoARM; @@ -14574,18 +15524,28 @@ unsafe impl Cast for DataGraphPipelineSessionCreateInfoARM { } } -impl HasBuilder<'static> for DataGraphPipelineSessionCreateInfoARM { - type Builder = DataGraphPipelineSessionCreateInfoARMBuilder; +impl<'b> HasBuilder<'b> for DataGraphPipelineSessionCreateInfoARM { + type Builder = DataGraphPipelineSessionCreateInfoARMBuilder<'b>; } /// A builder for a [`DataGraphPipelineSessionCreateInfoARM`]. #[repr(transparent)] #[derive(Copy, Clone, Debug, Default)] -pub struct DataGraphPipelineSessionCreateInfoARMBuilder { +pub struct DataGraphPipelineSessionCreateInfoARMBuilder<'b> { value: DataGraphPipelineSessionCreateInfoARM, + _marker: PhantomData<&'b ()>, } -impl DataGraphPipelineSessionCreateInfoARMBuilder { +impl<'b> DataGraphPipelineSessionCreateInfoARMBuilder<'b> { + #[inline] + pub fn push_next(mut self, next: &'b mut impl Cast) -> Self + where + T: ExtendsDataGraphPipelineSessionCreateInfoARM, + { + self.next = merge(self.next as *mut c_void, NonNull::from(next).cast()); + self + } + #[inline] pub fn flags(mut self, flags: DataGraphPipelineSessionCreateFlagsARM) -> Self { self.value.flags = flags; @@ -14604,7 +15564,7 @@ impl DataGraphPipelineSessionCreateInfoARMBuilder { } } -impl ops::Deref for DataGraphPipelineSessionCreateInfoARMBuilder { +impl ops::Deref for DataGraphPipelineSessionCreateInfoARMBuilder<'_> { type Target = DataGraphPipelineSessionCreateInfoARM; #[inline] @@ -14613,14 +15573,14 @@ impl ops::Deref for DataGraphPipelineSessionCreateInfoARMBuilder { } } -impl ops::DerefMut for DataGraphPipelineSessionCreateInfoARMBuilder { +impl ops::DerefMut for DataGraphPipelineSessionCreateInfoARMBuilder<'_> { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.value } } -unsafe impl Cast for DataGraphPipelineSessionCreateInfoARMBuilder { +unsafe impl Cast for DataGraphPipelineSessionCreateInfoARMBuilder<'_> { type Target = DataGraphPipelineSessionCreateInfoARM; #[inline] @@ -14699,6 +15659,64 @@ unsafe impl Cast for DataGraphPipelineSessionMemoryRequirementsInfoARMBuilder { } } +unsafe impl Cast for DataGraphPipelineSessionNeuralStatisticsCreateInfoARM { + type Target = DataGraphPipelineSessionNeuralStatisticsCreateInfoARM; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for DataGraphPipelineSessionNeuralStatisticsCreateInfoARM { + type Builder = DataGraphPipelineSessionNeuralStatisticsCreateInfoARMBuilder; +} + +/// A builder for a [`DataGraphPipelineSessionNeuralStatisticsCreateInfoARM`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct DataGraphPipelineSessionNeuralStatisticsCreateInfoARMBuilder { + value: DataGraphPipelineSessionNeuralStatisticsCreateInfoARM, +} + +impl DataGraphPipelineSessionNeuralStatisticsCreateInfoARMBuilder { + #[inline] + pub fn mode(mut self, mode: NeuralAcceleratorStatisticsModeARM) -> Self { + self.value.mode = mode; + self + } + + #[inline] + pub fn build(self) -> DataGraphPipelineSessionNeuralStatisticsCreateInfoARM { + self.value + } +} + +impl ops::Deref for DataGraphPipelineSessionNeuralStatisticsCreateInfoARMBuilder { + type Target = DataGraphPipelineSessionNeuralStatisticsCreateInfoARM; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for DataGraphPipelineSessionNeuralStatisticsCreateInfoARMBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for DataGraphPipelineSessionNeuralStatisticsCreateInfoARMBuilder { + type Target = DataGraphPipelineSessionNeuralStatisticsCreateInfoARM; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for DataGraphPipelineShaderModuleCreateInfoARM { type Target = DataGraphPipelineShaderModuleCreateInfoARM; @@ -14789,6 +15807,145 @@ unsafe impl Cast for DataGraphPipelineShaderModuleCreateInfoARMBuilder<'_> { } } +unsafe impl Cast for DataGraphPipelineSingleNodeConnectionARM { + type Target = DataGraphPipelineSingleNodeConnectionARM; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for DataGraphPipelineSingleNodeConnectionARM { + type Builder = DataGraphPipelineSingleNodeConnectionARMBuilder; +} + +/// A builder for a [`DataGraphPipelineSingleNodeConnectionARM`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct DataGraphPipelineSingleNodeConnectionARMBuilder { + value: DataGraphPipelineSingleNodeConnectionARM, +} + +impl DataGraphPipelineSingleNodeConnectionARMBuilder { + #[inline] + pub fn set(mut self, set: u32) -> Self { + self.value.set = set; + self + } + + #[inline] + pub fn binding(mut self, binding: u32) -> Self { + self.value.binding = binding; + self + } + + #[inline] + pub fn connection(mut self, connection: DataGraphPipelineNodeConnectionTypeARM) -> Self { + self.value.connection = connection; + self + } + + #[inline] + pub fn build(self) -> DataGraphPipelineSingleNodeConnectionARM { + self.value + } +} + +impl ops::Deref for DataGraphPipelineSingleNodeConnectionARMBuilder { + type Target = DataGraphPipelineSingleNodeConnectionARM; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for DataGraphPipelineSingleNodeConnectionARMBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for DataGraphPipelineSingleNodeConnectionARMBuilder { + type Target = DataGraphPipelineSingleNodeConnectionARM; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + +unsafe impl Cast for DataGraphPipelineSingleNodeCreateInfoARM { + type Target = DataGraphPipelineSingleNodeCreateInfoARM; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl<'b> HasBuilder<'b> for DataGraphPipelineSingleNodeCreateInfoARM { + type Builder = DataGraphPipelineSingleNodeCreateInfoARMBuilder<'b>; +} + +/// A builder for a [`DataGraphPipelineSingleNodeCreateInfoARM`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct DataGraphPipelineSingleNodeCreateInfoARMBuilder<'b> { + value: DataGraphPipelineSingleNodeCreateInfoARM, + _marker: PhantomData<&'b ()>, +} + +impl<'b> DataGraphPipelineSingleNodeCreateInfoARMBuilder<'b> { + #[inline] + pub fn node_type(mut self, node_type: DataGraphPipelineNodeTypeARM) -> Self { + self.value.node_type = node_type; + self + } + + #[inline] + pub fn connections( + mut self, + connections: &'b [impl Cast], + ) -> Self { + self.value.connection_count = connections.len() as u32; + self.value.connections = connections.as_ptr().cast(); + self + } + + #[inline] + pub fn build(self) -> DataGraphPipelineSingleNodeCreateInfoARM { + self.value + } +} + +impl ops::Deref for DataGraphPipelineSingleNodeCreateInfoARMBuilder<'_> { + type Target = DataGraphPipelineSingleNodeCreateInfoARM; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for DataGraphPipelineSingleNodeCreateInfoARMBuilder<'_> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for DataGraphPipelineSingleNodeCreateInfoARMBuilder<'_> { + type Target = DataGraphPipelineSingleNodeCreateInfoARM; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for DataGraphProcessingEngineCreateInfoARM { type Target = DataGraphProcessingEngineCreateInfoARM; @@ -14852,6 +16009,70 @@ unsafe impl Cast for DataGraphProcessingEngineCreateInfoARMBuilder<'_> { } } +unsafe impl Cast for DataGraphTOSANameQualityARM { + type Target = DataGraphTOSANameQualityARM; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for DataGraphTOSANameQualityARM { + type Builder = DataGraphTOSANameQualityARMBuilder; +} + +/// A builder for a [`DataGraphTOSANameQualityARM`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct DataGraphTOSANameQualityARMBuilder { + value: DataGraphTOSANameQualityARM, +} + +impl DataGraphTOSANameQualityARMBuilder { + #[inline] + pub fn name(mut self, name: impl Into>) -> Self { + self.value.name = name.into(); + self + } + + #[inline] + pub fn quality_flags(mut self, quality_flags: DataGraphTOSAQualityFlagsARM) -> Self { + self.value.quality_flags = quality_flags; + self + } + + #[inline] + pub fn build(self) -> DataGraphTOSANameQualityARM { + self.value + } +} + +impl ops::Deref for DataGraphTOSANameQualityARMBuilder { + type Target = DataGraphTOSANameQualityARM; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for DataGraphTOSANameQualityARMBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for DataGraphTOSANameQualityARMBuilder { + type Target = DataGraphTOSANameQualityARM; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for DebugMarkerMarkerInfoEXT { type Target = DebugMarkerMarkerInfoEXT; @@ -15747,7 +16968,7 @@ impl DecompressMemoryRegionNVBuilder { #[inline] pub fn decompression_method( mut self, - decompression_method: MemoryDecompressionMethodFlagsNV, + decompression_method: MemoryDecompressionMethodFlagsEXT, ) -> Self { self.value.decompression_method = decompression_method; self @@ -15966,6 +17187,7 @@ unsafe impl Cast for DedicatedAllocationMemoryAllocateInfoNVBuilder { /// A Vulkan struct that can be used to extend a [`DependencyInfo`]. pub unsafe trait ExtendsDependencyInfo: fmt::Debug {} +unsafe impl ExtendsDependencyInfo for MemoryRangeBarriersInfoKHR {} unsafe impl ExtendsDependencyInfo for TensorDependencyInfoARM {} unsafe impl ExtendsDependencyInfo for TensorMemoryBarrierARM {} @@ -18674,8 +19896,8 @@ unsafe impl Cast for DeviceAddressBindingCallbackDataEXTBuilder { } } -unsafe impl Cast for DeviceAddressRangeEXT { - type Target = DeviceAddressRangeEXT; +unsafe impl Cast for DeviceAddressRangeKHR { + type Target = DeviceAddressRangeKHR; #[inline] fn into(self) -> Self::Target { @@ -18683,18 +19905,18 @@ unsafe impl Cast for DeviceAddressRangeEXT { } } -impl HasBuilder<'static> for DeviceAddressRangeEXT { - type Builder = DeviceAddressRangeEXTBuilder; +impl HasBuilder<'static> for DeviceAddressRangeKHR { + type Builder = DeviceAddressRangeKHRBuilder; } -/// A builder for a [`DeviceAddressRangeEXT`]. +/// A builder for a [`DeviceAddressRangeKHR`]. #[repr(transparent)] #[derive(Copy, Clone, Debug, Default)] -pub struct DeviceAddressRangeEXTBuilder { - value: DeviceAddressRangeEXT, +pub struct DeviceAddressRangeKHRBuilder { + value: DeviceAddressRangeKHR, } -impl DeviceAddressRangeEXTBuilder { +impl DeviceAddressRangeKHRBuilder { #[inline] pub fn address(mut self, address: DeviceAddress) -> Self { self.value.address = address; @@ -18708,13 +19930,13 @@ impl DeviceAddressRangeEXTBuilder { } #[inline] - pub fn build(self) -> DeviceAddressRangeEXT { + pub fn build(self) -> DeviceAddressRangeKHR { self.value } } -impl ops::Deref for DeviceAddressRangeEXTBuilder { - type Target = DeviceAddressRangeEXT; +impl ops::Deref for DeviceAddressRangeKHRBuilder { + type Target = DeviceAddressRangeKHR; #[inline] fn deref(&self) -> &Self::Target { @@ -18722,15 +19944,15 @@ impl ops::Deref for DeviceAddressRangeEXTBuilder { } } -impl ops::DerefMut for DeviceAddressRangeEXTBuilder { +impl ops::DerefMut for DeviceAddressRangeKHRBuilder { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.value } } -unsafe impl Cast for DeviceAddressRangeEXTBuilder { - type Target = DeviceAddressRangeEXT; +unsafe impl Cast for DeviceAddressRangeKHRBuilder { + type Target = DeviceAddressRangeKHR; #[inline] fn into(self) -> Self::Target { @@ -18851,6 +20073,11 @@ unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceCustomBorderColorFeaturesE unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceCustomResolveFeaturesEXT {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceDataGraphFeaturesARM {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceDataGraphModelFeaturesQCOM {} +unsafe impl ExtendsDeviceCreateInfo + for PhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM +{ +} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceDataGraphOpticalFlowFeaturesARM {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceDenseGeometryFormatFeaturesAMDX {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceDepthBiasControlFeaturesEXT {} @@ -18864,6 +20091,7 @@ unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceDescriptorHeapFeaturesEXT unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceDescriptorIndexingFeatures {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceDescriptorPoolOverallocationFeaturesNV {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceDeviceAddressCommandsFeaturesKHR {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {} @@ -18885,6 +20113,7 @@ unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceExternalMemoryScreenBuffer unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceExternalSciSync2FeaturesNV {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceExternalSciSyncFeaturesNV {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceFaultFeaturesEXT {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceFaultFeaturesKHR {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceFeatures2 {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceFormatPackFeaturesARM {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceFragmentDensityMap2FeaturesEXT {} @@ -18921,6 +20150,7 @@ unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceLegacyVertexAttributesFeat unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceLineRasterizationFeatures {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceLinearColorAttachmentFeaturesNV {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceMaintenance10FeaturesKHR {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceMaintenance11FeaturesKHR {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceMaintenance4Features {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceMaintenance5Features {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceMaintenance6Features {} @@ -18965,12 +20195,14 @@ unsafe impl ExtendsDeviceCreateInfo for PhysicalDevicePresentModeFifoLatestReady unsafe impl ExtendsDeviceCreateInfo for PhysicalDevicePresentTimingFeaturesEXT {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDevicePresentWait2FeaturesKHR {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDevicePresentWaitFeaturesKHR {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDevicePrimitiveRestartIndexFeaturesEXT {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDevicePrivateDataFeatures {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceProtectedMemoryFeatures {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceProvokingVertexFeaturesEXT {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDevicePushConstantBankFeaturesNV {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceQueuePerfHintFeaturesQCOM {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceRGBA10X6FormatsFeaturesEXT {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT @@ -18995,12 +20227,14 @@ unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceScalarBlockLayoutFeatures unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceSchedulingControlsFeaturesARM {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceSeparateDepthStencilLayoutsFeatures {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceShader64BitIndexingFeaturesEXT {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceShaderAbortFeaturesKHR {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceShaderAtomicFloat2FeaturesEXT {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceShaderAtomicFloatFeaturesEXT {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceShaderAtomicInt64Features {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceShaderBfloat16FeaturesKHR {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceShaderClockFeaturesKHR {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceShaderConstantDataFeaturesKHR {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceShaderCoreBuiltinsFeaturesARM {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceShaderDemoteToHelperInvocationFeatures {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceShaderDrawParametersFeatures {} @@ -19013,6 +20247,7 @@ unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceShaderFloatControls2Featur unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceShaderFmaFeaturesKHR {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceShaderImageFootprintFeaturesNV {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceShaderInstrumentationFeaturesARM {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceShaderIntegerDotProductFeatures {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceShaderLongVectorFeaturesEXT {} @@ -19042,6 +20277,7 @@ unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceTensorFeaturesARM {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceTexelBufferAlignmentFeaturesEXT {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceTextureCompressionASTC3DFeaturesEXT {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceTextureCompressionASTCHDRFeatures {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceThrottleHintFeaturesSEC {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceTileMemoryHeapFeaturesQCOM {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceTilePropertiesFeaturesQCOM {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceTileShadingFeaturesQCOM {} @@ -19360,8 +20596,8 @@ unsafe impl Cast for DeviceEventInfoEXTBuilder { } } -unsafe impl Cast for DeviceFaultAddressInfoEXT { - type Target = DeviceFaultAddressInfoEXT; +unsafe impl Cast for DeviceFaultAddressInfoKHR { + type Target = DeviceFaultAddressInfoKHR; #[inline] fn into(self) -> Self::Target { @@ -19369,20 +20605,20 @@ unsafe impl Cast for DeviceFaultAddressInfoEXT { } } -impl HasBuilder<'static> for DeviceFaultAddressInfoEXT { - type Builder = DeviceFaultAddressInfoEXTBuilder; +impl HasBuilder<'static> for DeviceFaultAddressInfoKHR { + type Builder = DeviceFaultAddressInfoKHRBuilder; } -/// A builder for a [`DeviceFaultAddressInfoEXT`]. +/// A builder for a [`DeviceFaultAddressInfoKHR`]. #[repr(transparent)] #[derive(Copy, Clone, Debug, Default)] -pub struct DeviceFaultAddressInfoEXTBuilder { - value: DeviceFaultAddressInfoEXT, +pub struct DeviceFaultAddressInfoKHRBuilder { + value: DeviceFaultAddressInfoKHR, } -impl DeviceFaultAddressInfoEXTBuilder { +impl DeviceFaultAddressInfoKHRBuilder { #[inline] - pub fn address_type(mut self, address_type: DeviceFaultAddressTypeEXT) -> Self { + pub fn address_type(mut self, address_type: DeviceFaultAddressTypeKHR) -> Self { self.value.address_type = address_type; self } @@ -19400,13 +20636,13 @@ impl DeviceFaultAddressInfoEXTBuilder { } #[inline] - pub fn build(self) -> DeviceFaultAddressInfoEXT { + pub fn build(self) -> DeviceFaultAddressInfoKHR { self.value } } -impl ops::Deref for DeviceFaultAddressInfoEXTBuilder { - type Target = DeviceFaultAddressInfoEXT; +impl ops::Deref for DeviceFaultAddressInfoKHRBuilder { + type Target = DeviceFaultAddressInfoKHR; #[inline] fn deref(&self) -> &Self::Target { @@ -19414,15 +20650,15 @@ impl ops::Deref for DeviceFaultAddressInfoEXTBuilder { } } -impl ops::DerefMut for DeviceFaultAddressInfoEXTBuilder { +impl ops::DerefMut for DeviceFaultAddressInfoKHRBuilder { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.value } } -unsafe impl Cast for DeviceFaultAddressInfoEXTBuilder { - type Target = DeviceFaultAddressInfoEXT; +unsafe impl Cast for DeviceFaultAddressInfoKHRBuilder { + type Target = DeviceFaultAddressInfoKHR; #[inline] fn into(self) -> Self::Target { @@ -19500,6 +20736,85 @@ unsafe impl Cast for DeviceFaultCountsEXTBuilder { } } +/// A Vulkan struct that can be used to extend a [`DeviceFaultDebugInfoKHR`]. +pub unsafe trait ExtendsDeviceFaultDebugInfoKHR: fmt::Debug {} +unsafe impl ExtendsDeviceFaultDebugInfoKHR for DeviceFaultShaderAbortMessageInfoKHR {} + +unsafe impl Cast for DeviceFaultDebugInfoKHR { + type Target = DeviceFaultDebugInfoKHR; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl<'b> HasBuilder<'b> for DeviceFaultDebugInfoKHR { + type Builder = DeviceFaultDebugInfoKHRBuilder<'b>; +} + +/// A builder for a [`DeviceFaultDebugInfoKHR`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct DeviceFaultDebugInfoKHRBuilder<'b> { + value: DeviceFaultDebugInfoKHR, + _marker: PhantomData<&'b ()>, +} + +impl<'b> DeviceFaultDebugInfoKHRBuilder<'b> { + #[inline] + pub fn push_next(mut self, next: &'b mut impl Cast) -> Self + where + T: ExtendsDeviceFaultDebugInfoKHR, + { + self.next = merge(self.next as *mut c_void, NonNull::from(next).cast()); + self + } + + #[inline] + pub fn vendor_binary_size(mut self, vendor_binary_size: u32) -> Self { + self.value.vendor_binary_size = vendor_binary_size; + self + } + + #[inline] + pub fn vendor_binary_data(mut self, vendor_binary_data: &'b mut [u8]) -> Self { + self.value.vendor_binary_size = vendor_binary_data.len() as u32; + self.value.vendor_binary_data = vendor_binary_data.as_mut_ptr().cast(); + self + } + + #[inline] + pub fn build(self) -> DeviceFaultDebugInfoKHR { + self.value + } +} + +impl ops::Deref for DeviceFaultDebugInfoKHRBuilder<'_> { + type Target = DeviceFaultDebugInfoKHR; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for DeviceFaultDebugInfoKHRBuilder<'_> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for DeviceFaultDebugInfoKHRBuilder<'_> { + type Target = DeviceFaultDebugInfoKHR; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for DeviceFaultInfoEXT { type Target = DeviceFaultInfoEXT; @@ -19534,7 +20849,7 @@ impl<'b> DeviceFaultInfoEXTBuilder<'b> { #[inline] pub fn address_infos( mut self, - address_infos: &'b mut impl Cast, + address_infos: &'b mut impl Cast, ) -> Self { self.value.address_infos = address_infos.as_mut(); self @@ -19543,7 +20858,7 @@ impl<'b> DeviceFaultInfoEXTBuilder<'b> { #[inline] pub fn vendor_infos( mut self, - vendor_infos: &'b mut impl Cast, + vendor_infos: &'b mut impl Cast, ) -> Self { self.value.vendor_infos = vendor_infos.as_mut(); self @@ -19586,8 +20901,174 @@ unsafe impl Cast for DeviceFaultInfoEXTBuilder<'_> { } } -unsafe impl Cast for DeviceFaultVendorBinaryHeaderVersionOneEXT { - type Target = DeviceFaultVendorBinaryHeaderVersionOneEXT; +unsafe impl Cast for DeviceFaultInfoKHR { + type Target = DeviceFaultInfoKHR; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for DeviceFaultInfoKHR { + type Builder = DeviceFaultInfoKHRBuilder; +} + +/// A builder for a [`DeviceFaultInfoKHR`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct DeviceFaultInfoKHRBuilder { + value: DeviceFaultInfoKHR, +} + +impl DeviceFaultInfoKHRBuilder { + #[inline] + pub fn flags(mut self, flags: DeviceFaultFlagsKHR) -> Self { + self.value.flags = flags; + self + } + + #[inline] + pub fn group_id(mut self, group_id: u64) -> Self { + self.value.group_id = group_id; + self + } + + #[inline] + pub fn description( + mut self, + description: impl Into>, + ) -> Self { + self.value.description = description.into(); + self + } + + #[inline] + pub fn fault_address_info( + mut self, + fault_address_info: impl Cast, + ) -> Self { + self.value.fault_address_info = fault_address_info.into(); + self + } + + #[inline] + pub fn instruction_address_info( + mut self, + instruction_address_info: impl Cast, + ) -> Self { + self.value.instruction_address_info = instruction_address_info.into(); + self + } + + #[inline] + pub fn vendor_info( + mut self, + vendor_info: impl Cast, + ) -> Self { + self.value.vendor_info = vendor_info.into(); + self + } + + #[inline] + pub fn build(self) -> DeviceFaultInfoKHR { + self.value + } +} + +impl ops::Deref for DeviceFaultInfoKHRBuilder { + type Target = DeviceFaultInfoKHR; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for DeviceFaultInfoKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for DeviceFaultInfoKHRBuilder { + type Target = DeviceFaultInfoKHR; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + +unsafe impl Cast for DeviceFaultShaderAbortMessageInfoKHR { + type Target = DeviceFaultShaderAbortMessageInfoKHR; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl<'b> HasBuilder<'b> for DeviceFaultShaderAbortMessageInfoKHR { + type Builder = DeviceFaultShaderAbortMessageInfoKHRBuilder<'b>; +} + +/// A builder for a [`DeviceFaultShaderAbortMessageInfoKHR`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct DeviceFaultShaderAbortMessageInfoKHRBuilder<'b> { + value: DeviceFaultShaderAbortMessageInfoKHR, + _marker: PhantomData<&'b ()>, +} + +impl<'b> DeviceFaultShaderAbortMessageInfoKHRBuilder<'b> { + #[inline] + pub fn message_data_size(mut self, message_data_size: u64) -> Self { + self.value.message_data_size = message_data_size; + self + } + + #[inline] + pub fn message_data(mut self, message_data: &'b mut [u8]) -> Self { + self.value.message_data_size = message_data.len() as u64; + self.value.message_data = message_data.as_mut_ptr().cast(); + self + } + + #[inline] + pub fn build(self) -> DeviceFaultShaderAbortMessageInfoKHR { + self.value + } +} + +impl ops::Deref for DeviceFaultShaderAbortMessageInfoKHRBuilder<'_> { + type Target = DeviceFaultShaderAbortMessageInfoKHR; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for DeviceFaultShaderAbortMessageInfoKHRBuilder<'_> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for DeviceFaultShaderAbortMessageInfoKHRBuilder<'_> { + type Target = DeviceFaultShaderAbortMessageInfoKHR; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + +unsafe impl Cast for DeviceFaultVendorBinaryHeaderVersionOneKHR { + type Target = DeviceFaultVendorBinaryHeaderVersionOneKHR; #[inline] fn into(self) -> Self::Target { @@ -19595,18 +21076,18 @@ unsafe impl Cast for DeviceFaultVendorBinaryHeaderVersionOneEXT { } } -impl HasBuilder<'static> for DeviceFaultVendorBinaryHeaderVersionOneEXT { - type Builder = DeviceFaultVendorBinaryHeaderVersionOneEXTBuilder; +impl HasBuilder<'static> for DeviceFaultVendorBinaryHeaderVersionOneKHR { + type Builder = DeviceFaultVendorBinaryHeaderVersionOneKHRBuilder; } -/// A builder for a [`DeviceFaultVendorBinaryHeaderVersionOneEXT`]. +/// A builder for a [`DeviceFaultVendorBinaryHeaderVersionOneKHR`]. #[repr(transparent)] #[derive(Copy, Clone, Debug, Default)] -pub struct DeviceFaultVendorBinaryHeaderVersionOneEXTBuilder { - value: DeviceFaultVendorBinaryHeaderVersionOneEXT, +pub struct DeviceFaultVendorBinaryHeaderVersionOneKHRBuilder { + value: DeviceFaultVendorBinaryHeaderVersionOneKHR, } -impl DeviceFaultVendorBinaryHeaderVersionOneEXTBuilder { +impl DeviceFaultVendorBinaryHeaderVersionOneKHRBuilder { #[inline] pub fn header_size(mut self, header_size: u32) -> Self { self.value.header_size = header_size; @@ -19616,7 +21097,7 @@ impl DeviceFaultVendorBinaryHeaderVersionOneEXTBuilder { #[inline] pub fn header_version( mut self, - header_version: DeviceFaultVendorBinaryHeaderVersionEXT, + header_version: DeviceFaultVendorBinaryHeaderVersionKHR, ) -> Self { self.value.header_version = header_version; self @@ -19680,13 +21161,13 @@ impl DeviceFaultVendorBinaryHeaderVersionOneEXTBuilder { } #[inline] - pub fn build(self) -> DeviceFaultVendorBinaryHeaderVersionOneEXT { + pub fn build(self) -> DeviceFaultVendorBinaryHeaderVersionOneKHR { self.value } } -impl ops::Deref for DeviceFaultVendorBinaryHeaderVersionOneEXTBuilder { - type Target = DeviceFaultVendorBinaryHeaderVersionOneEXT; +impl ops::Deref for DeviceFaultVendorBinaryHeaderVersionOneKHRBuilder { + type Target = DeviceFaultVendorBinaryHeaderVersionOneKHR; #[inline] fn deref(&self) -> &Self::Target { @@ -19694,15 +21175,15 @@ impl ops::Deref for DeviceFaultVendorBinaryHeaderVersionOneEXTBuilder { } } -impl ops::DerefMut for DeviceFaultVendorBinaryHeaderVersionOneEXTBuilder { +impl ops::DerefMut for DeviceFaultVendorBinaryHeaderVersionOneKHRBuilder { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.value } } -unsafe impl Cast for DeviceFaultVendorBinaryHeaderVersionOneEXTBuilder { - type Target = DeviceFaultVendorBinaryHeaderVersionOneEXT; +unsafe impl Cast for DeviceFaultVendorBinaryHeaderVersionOneKHRBuilder { + type Target = DeviceFaultVendorBinaryHeaderVersionOneKHR; #[inline] fn into(self) -> Self::Target { @@ -19710,8 +21191,8 @@ unsafe impl Cast for DeviceFaultVendorBinaryHeaderVersionOneEXTBuilder { } } -unsafe impl Cast for DeviceFaultVendorInfoEXT { - type Target = DeviceFaultVendorInfoEXT; +unsafe impl Cast for DeviceFaultVendorInfoKHR { + type Target = DeviceFaultVendorInfoKHR; #[inline] fn into(self) -> Self::Target { @@ -19719,18 +21200,18 @@ unsafe impl Cast for DeviceFaultVendorInfoEXT { } } -impl HasBuilder<'static> for DeviceFaultVendorInfoEXT { - type Builder = DeviceFaultVendorInfoEXTBuilder; +impl HasBuilder<'static> for DeviceFaultVendorInfoKHR { + type Builder = DeviceFaultVendorInfoKHRBuilder; } -/// A builder for a [`DeviceFaultVendorInfoEXT`]. +/// A builder for a [`DeviceFaultVendorInfoKHR`]. #[repr(transparent)] #[derive(Copy, Clone, Debug, Default)] -pub struct DeviceFaultVendorInfoEXTBuilder { - value: DeviceFaultVendorInfoEXT, +pub struct DeviceFaultVendorInfoKHRBuilder { + value: DeviceFaultVendorInfoKHR, } -impl DeviceFaultVendorInfoEXTBuilder { +impl DeviceFaultVendorInfoKHRBuilder { #[inline] pub fn description( mut self, @@ -19753,13 +21234,13 @@ impl DeviceFaultVendorInfoEXTBuilder { } #[inline] - pub fn build(self) -> DeviceFaultVendorInfoEXT { + pub fn build(self) -> DeviceFaultVendorInfoKHR { self.value } } -impl ops::Deref for DeviceFaultVendorInfoEXTBuilder { - type Target = DeviceFaultVendorInfoEXT; +impl ops::Deref for DeviceFaultVendorInfoKHRBuilder { + type Target = DeviceFaultVendorInfoKHR; #[inline] fn deref(&self) -> &Self::Target { @@ -19767,15 +21248,15 @@ impl ops::Deref for DeviceFaultVendorInfoEXTBuilder { } } -impl ops::DerefMut for DeviceFaultVendorInfoEXTBuilder { +impl ops::DerefMut for DeviceFaultVendorInfoKHRBuilder { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.value } } -unsafe impl Cast for DeviceFaultVendorInfoEXTBuilder { - type Target = DeviceFaultVendorInfoEXT; +unsafe impl Cast for DeviceFaultVendorInfoKHRBuilder { + type Target = DeviceFaultVendorInfoKHR; #[inline] fn into(self) -> Self::Target { @@ -20432,6 +21913,202 @@ unsafe impl Cast for DeviceImageSubresourceInfoBuilder<'_> { } } +unsafe impl Cast for DeviceMemoryCopyKHR { + type Target = DeviceMemoryCopyKHR; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for DeviceMemoryCopyKHR { + type Builder = DeviceMemoryCopyKHRBuilder; +} + +/// A builder for a [`DeviceMemoryCopyKHR`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct DeviceMemoryCopyKHRBuilder { + value: DeviceMemoryCopyKHR, +} + +impl DeviceMemoryCopyKHRBuilder { + #[inline] + pub fn src_range(mut self, src_range: impl Cast) -> Self { + self.value.src_range = src_range.into(); + self + } + + #[inline] + pub fn src_flags(mut self, src_flags: AddressCommandFlagsKHR) -> Self { + self.value.src_flags = src_flags; + self + } + + #[inline] + pub fn dst_range(mut self, dst_range: impl Cast) -> Self { + self.value.dst_range = dst_range.into(); + self + } + + #[inline] + pub fn dst_flags(mut self, dst_flags: AddressCommandFlagsKHR) -> Self { + self.value.dst_flags = dst_flags; + self + } + + #[inline] + pub fn build(self) -> DeviceMemoryCopyKHR { + self.value + } +} + +impl ops::Deref for DeviceMemoryCopyKHRBuilder { + type Target = DeviceMemoryCopyKHR; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for DeviceMemoryCopyKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for DeviceMemoryCopyKHRBuilder { + type Target = DeviceMemoryCopyKHR; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + +/// A Vulkan struct that can be used to extend a [`DeviceMemoryImageCopyKHR`]. +pub unsafe trait ExtendsDeviceMemoryImageCopyKHR: fmt::Debug {} +unsafe impl ExtendsDeviceMemoryImageCopyKHR for CopyCommandTransformInfoQCOM {} + +unsafe impl Cast for DeviceMemoryImageCopyKHR { + type Target = DeviceMemoryImageCopyKHR; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl<'b> HasBuilder<'b> for DeviceMemoryImageCopyKHR { + type Builder = DeviceMemoryImageCopyKHRBuilder<'b>; +} + +/// A builder for a [`DeviceMemoryImageCopyKHR`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct DeviceMemoryImageCopyKHRBuilder<'b> { + value: DeviceMemoryImageCopyKHR, + _marker: PhantomData<&'b ()>, +} + +impl<'b> DeviceMemoryImageCopyKHRBuilder<'b> { + #[inline] + pub fn push_next(mut self, next: &'b mut impl Cast) -> Self + where + T: ExtendsDeviceMemoryImageCopyKHR, + { + self.next = merge(self.next as *mut c_void, NonNull::from(next).cast()); + self + } + + #[inline] + pub fn address_range( + mut self, + address_range: impl Cast, + ) -> Self { + self.value.address_range = address_range.into(); + self + } + + #[inline] + pub fn address_flags(mut self, address_flags: AddressCommandFlagsKHR) -> Self { + self.value.address_flags = address_flags; + self + } + + #[inline] + pub fn address_row_length(mut self, address_row_length: u32) -> Self { + self.value.address_row_length = address_row_length; + self + } + + #[inline] + pub fn address_image_height(mut self, address_image_height: u32) -> Self { + self.value.address_image_height = address_image_height; + self + } + + #[inline] + pub fn image_subresource( + mut self, + image_subresource: impl Cast, + ) -> Self { + self.value.image_subresource = image_subresource.into(); + self + } + + #[inline] + pub fn image_layout(mut self, image_layout: ImageLayout) -> Self { + self.value.image_layout = image_layout; + self + } + + #[inline] + pub fn image_offset(mut self, image_offset: impl Cast) -> Self { + self.value.image_offset = image_offset.into(); + self + } + + #[inline] + pub fn image_extent(mut self, image_extent: impl Cast) -> Self { + self.value.image_extent = image_extent.into(); + self + } + + #[inline] + pub fn build(self) -> DeviceMemoryImageCopyKHR { + self.value + } +} + +impl ops::Deref for DeviceMemoryImageCopyKHRBuilder<'_> { + type Target = DeviceMemoryImageCopyKHR; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for DeviceMemoryImageCopyKHRBuilder<'_> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for DeviceMemoryImageCopyKHRBuilder<'_> { + type Target = DeviceMemoryImageCopyKHR; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for DeviceMemoryOpaqueCaptureAddressInfo { type Target = DeviceMemoryOpaqueCaptureAddressInfo; @@ -21506,6 +23183,73 @@ unsafe impl Cast for DispatchGraphInfoAMDXBuilder { } } +unsafe impl Cast for DispatchIndirect2InfoKHR { + type Target = DispatchIndirect2InfoKHR; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for DispatchIndirect2InfoKHR { + type Builder = DispatchIndirect2InfoKHRBuilder; +} + +/// A builder for a [`DispatchIndirect2InfoKHR`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct DispatchIndirect2InfoKHRBuilder { + value: DispatchIndirect2InfoKHR, +} + +impl DispatchIndirect2InfoKHRBuilder { + #[inline] + pub fn address_range( + mut self, + address_range: impl Cast, + ) -> Self { + self.value.address_range = address_range.into(); + self + } + + #[inline] + pub fn address_flags(mut self, address_flags: AddressCommandFlagsKHR) -> Self { + self.value.address_flags = address_flags; + self + } + + #[inline] + pub fn build(self) -> DispatchIndirect2InfoKHR { + self.value + } +} + +impl ops::Deref for DispatchIndirect2InfoKHRBuilder { + type Target = DispatchIndirect2InfoKHR; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for DispatchIndirect2InfoKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for DispatchIndirect2InfoKHRBuilder { + type Target = DispatchIndirect2InfoKHR; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for DispatchIndirectCommand { type Target = DispatchIndirectCommand; @@ -21576,6 +23320,76 @@ unsafe impl Cast for DispatchIndirectCommandBuilder { } } +unsafe impl Cast for DispatchParametersARM { + type Target = DispatchParametersARM; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for DispatchParametersARM { + type Builder = DispatchParametersARMBuilder; +} + +/// A builder for a [`DispatchParametersARM`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct DispatchParametersARMBuilder { + value: DispatchParametersARM, +} + +impl DispatchParametersARMBuilder { + #[inline] + pub fn work_group_batch_size(mut self, work_group_batch_size: u32) -> Self { + self.value.work_group_batch_size = work_group_batch_size; + self + } + + #[inline] + pub fn max_queued_work_group_batches(mut self, max_queued_work_group_batches: u32) -> Self { + self.value.max_queued_work_group_batches = max_queued_work_group_batches; + self + } + + #[inline] + pub fn max_warps_per_shader_core(mut self, max_warps_per_shader_core: u32) -> Self { + self.value.max_warps_per_shader_core = max_warps_per_shader_core; + self + } + + #[inline] + pub fn build(self) -> DispatchParametersARM { + self.value + } +} + +impl ops::Deref for DispatchParametersARMBuilder { + type Target = DispatchParametersARM; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for DispatchParametersARMBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for DispatchParametersARMBuilder { + type Target = DispatchParametersARM; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for DispatchTileInfoQCOM { type Target = DispatchTileInfoQCOM; @@ -22970,6 +24784,79 @@ unsafe impl Cast for DrawIndexedIndirectCommandBuilder { } } +unsafe impl Cast for DrawIndirect2InfoKHR { + type Target = DrawIndirect2InfoKHR; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for DrawIndirect2InfoKHR { + type Builder = DrawIndirect2InfoKHRBuilder; +} + +/// A builder for a [`DrawIndirect2InfoKHR`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct DrawIndirect2InfoKHRBuilder { + value: DrawIndirect2InfoKHR, +} + +impl DrawIndirect2InfoKHRBuilder { + #[inline] + pub fn address_range( + mut self, + address_range: impl Cast, + ) -> Self { + self.value.address_range = address_range.into(); + self + } + + #[inline] + pub fn address_flags(mut self, address_flags: AddressCommandFlagsKHR) -> Self { + self.value.address_flags = address_flags; + self + } + + #[inline] + pub fn draw_count(mut self, draw_count: u32) -> Self { + self.value.draw_count = draw_count; + self + } + + #[inline] + pub fn build(self) -> DrawIndirect2InfoKHR { + self.value + } +} + +impl ops::Deref for DrawIndirect2InfoKHRBuilder { + type Target = DrawIndirect2InfoKHR; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for DrawIndirect2InfoKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for DrawIndirect2InfoKHRBuilder { + type Target = DrawIndirect2InfoKHR; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for DrawIndirectCommand { type Target = DrawIndirectCommand; @@ -23046,6 +24933,94 @@ unsafe impl Cast for DrawIndirectCommandBuilder { } } +unsafe impl Cast for DrawIndirectCount2InfoKHR { + type Target = DrawIndirectCount2InfoKHR; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for DrawIndirectCount2InfoKHR { + type Builder = DrawIndirectCount2InfoKHRBuilder; +} + +/// A builder for a [`DrawIndirectCount2InfoKHR`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct DrawIndirectCount2InfoKHRBuilder { + value: DrawIndirectCount2InfoKHR, +} + +impl DrawIndirectCount2InfoKHRBuilder { + #[inline] + pub fn address_range( + mut self, + address_range: impl Cast, + ) -> Self { + self.value.address_range = address_range.into(); + self + } + + #[inline] + pub fn address_flags(mut self, address_flags: AddressCommandFlagsKHR) -> Self { + self.value.address_flags = address_flags; + self + } + + #[inline] + pub fn count_address_range( + mut self, + count_address_range: impl Cast, + ) -> Self { + self.value.count_address_range = count_address_range.into(); + self + } + + #[inline] + pub fn count_address_flags(mut self, count_address_flags: AddressCommandFlagsKHR) -> Self { + self.value.count_address_flags = count_address_flags; + self + } + + #[inline] + pub fn max_draw_count(mut self, max_draw_count: u32) -> Self { + self.value.max_draw_count = max_draw_count; + self + } + + #[inline] + pub fn build(self) -> DrawIndirectCount2InfoKHR { + self.value + } +} + +impl ops::Deref for DrawIndirectCount2InfoKHRBuilder { + type Target = DrawIndirectCount2InfoKHR; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for DrawIndirectCount2InfoKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for DrawIndirectCount2InfoKHRBuilder { + type Target = DrawIndirectCount2InfoKHR; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for DrawIndirectCountIndirectCommandEXT { type Target = DrawIndirectCountIndirectCommandEXT; @@ -30125,6 +32100,7 @@ unsafe impl Cast for ImageCopy2Builder { /// A Vulkan struct that can be used to extend a [`ImageCreateInfo`]. pub unsafe trait ExtendsImageCreateInfo: fmt::Debug {} unsafe impl ExtendsImageCreateInfo for BufferCollectionImageCreateInfoFUCHSIA {} +unsafe impl ExtendsImageCreateInfo for DataGraphOpticalFlowImageFormatInfoARM {} unsafe impl ExtendsImageCreateInfo for DedicatedAllocationImageCreateInfoNV {} unsafe impl ExtendsImageCreateInfo for ExportMetalObjectCreateInfoEXT {} unsafe impl ExtendsImageCreateInfo for ExternalFormatANDROID {} @@ -37578,6 +39554,82 @@ unsafe impl Cast for MemoryMapPlacedInfoEXTBuilder<'_> { } } +unsafe impl Cast for MemoryMarkerInfoAMD { + type Target = MemoryMarkerInfoAMD; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for MemoryMarkerInfoAMD { + type Builder = MemoryMarkerInfoAMDBuilder; +} + +/// A builder for a [`MemoryMarkerInfoAMD`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct MemoryMarkerInfoAMDBuilder { + value: MemoryMarkerInfoAMD, +} + +impl MemoryMarkerInfoAMDBuilder { + #[inline] + pub fn stage(mut self, stage: PipelineStageFlags2KHR) -> Self { + self.value.stage = stage; + self + } + + #[inline] + pub fn dst_range(mut self, dst_range: impl Cast) -> Self { + self.value.dst_range = dst_range.into(); + self + } + + #[inline] + pub fn dst_flags(mut self, dst_flags: AddressCommandFlagsKHR) -> Self { + self.value.dst_flags = dst_flags; + self + } + + #[inline] + pub fn marker(mut self, marker: u32) -> Self { + self.value.marker = marker; + self + } + + #[inline] + pub fn build(self) -> MemoryMarkerInfoAMD { + self.value + } +} + +impl ops::Deref for MemoryMarkerInfoAMDBuilder { + type Target = MemoryMarkerInfoAMD; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for MemoryMarkerInfoAMDBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for MemoryMarkerInfoAMDBuilder { + type Target = MemoryMarkerInfoAMD; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for MemoryMetalHandlePropertiesEXT { type Target = MemoryMetalHandlePropertiesEXT; @@ -37752,6 +39804,185 @@ unsafe impl Cast for MemoryPriorityAllocateInfoEXTBuilder { } } +unsafe impl Cast for MemoryRangeBarrierKHR { + type Target = MemoryRangeBarrierKHR; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for MemoryRangeBarrierKHR { + type Builder = MemoryRangeBarrierKHRBuilder; +} + +/// A builder for a [`MemoryRangeBarrierKHR`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct MemoryRangeBarrierKHRBuilder { + value: MemoryRangeBarrierKHR, +} + +impl MemoryRangeBarrierKHRBuilder { + #[inline] + pub fn src_stage_mask(mut self, src_stage_mask: PipelineStageFlags2) -> Self { + self.value.src_stage_mask = src_stage_mask; + self + } + + #[inline] + pub fn src_access_mask(mut self, src_access_mask: AccessFlags2) -> Self { + self.value.src_access_mask = src_access_mask; + self + } + + #[inline] + pub fn dst_stage_mask(mut self, dst_stage_mask: PipelineStageFlags2) -> Self { + self.value.dst_stage_mask = dst_stage_mask; + self + } + + #[inline] + pub fn dst_access_mask(mut self, dst_access_mask: AccessFlags2) -> Self { + self.value.dst_access_mask = dst_access_mask; + self + } + + #[inline] + pub fn src_queue_family_index(mut self, src_queue_family_index: u32) -> Self { + self.value.src_queue_family_index = src_queue_family_index; + self + } + + #[inline] + pub fn dst_queue_family_index(mut self, dst_queue_family_index: u32) -> Self { + self.value.dst_queue_family_index = dst_queue_family_index; + self + } + + #[inline] + pub fn address_range( + mut self, + address_range: impl Cast, + ) -> Self { + self.value.address_range = address_range.into(); + self + } + + #[inline] + pub fn address_flags(mut self, address_flags: AddressCommandFlagsKHR) -> Self { + self.value.address_flags = address_flags; + self + } + + #[inline] + pub fn build(self) -> MemoryRangeBarrierKHR { + self.value + } +} + +impl ops::Deref for MemoryRangeBarrierKHRBuilder { + type Target = MemoryRangeBarrierKHR; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for MemoryRangeBarrierKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for MemoryRangeBarrierKHRBuilder { + type Target = MemoryRangeBarrierKHR; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + +/// A Vulkan struct that can be used to extend a [`MemoryRangeBarriersInfoKHR`]. +pub unsafe trait ExtendsMemoryRangeBarriersInfoKHR: fmt::Debug {} +unsafe impl ExtendsMemoryRangeBarriersInfoKHR for MemoryBarrierAccessFlags3KHR {} + +unsafe impl Cast for MemoryRangeBarriersInfoKHR { + type Target = MemoryRangeBarriersInfoKHR; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl<'b> HasBuilder<'b> for MemoryRangeBarriersInfoKHR { + type Builder = MemoryRangeBarriersInfoKHRBuilder<'b>; +} + +/// A builder for a [`MemoryRangeBarriersInfoKHR`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct MemoryRangeBarriersInfoKHRBuilder<'b> { + value: MemoryRangeBarriersInfoKHR, + _marker: PhantomData<&'b ()>, +} + +impl<'b> MemoryRangeBarriersInfoKHRBuilder<'b> { + #[inline] + pub fn push_next(mut self, next: &'b mut impl Cast) -> Self + where + T: ExtendsMemoryRangeBarriersInfoKHR, + { + self.next = merge(self.next as *mut c_void, NonNull::from(next).cast()); + self + } + + #[inline] + pub fn memory_range_barriers( + mut self, + memory_range_barriers: &'b [impl Cast], + ) -> Self { + self.value.memory_range_barrier_count = memory_range_barriers.len() as u32; + self.value.memory_range_barriers = memory_range_barriers.as_ptr().cast(); + self + } + + #[inline] + pub fn build(self) -> MemoryRangeBarriersInfoKHR { + self.value + } +} + +impl ops::Deref for MemoryRangeBarriersInfoKHRBuilder<'_> { + type Target = MemoryRangeBarriersInfoKHR; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for MemoryRangeBarriersInfoKHRBuilder<'_> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for MemoryRangeBarriersInfoKHRBuilder<'_> { + type Target = MemoryRangeBarriersInfoKHR; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for MemoryRequirements { type Target = MemoryRequirements; @@ -41116,6 +43347,70 @@ unsafe impl Cast for PerTileEndInfoQCOMBuilder { } } +unsafe impl Cast for PerfHintInfoQCOM { + type Target = PerfHintInfoQCOM; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for PerfHintInfoQCOM { + type Builder = PerfHintInfoQCOMBuilder; +} + +/// A builder for a [`PerfHintInfoQCOM`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct PerfHintInfoQCOMBuilder { + value: PerfHintInfoQCOM, +} + +impl PerfHintInfoQCOMBuilder { + #[inline] + pub fn type_(mut self, type_: PerfHintTypeQCOM) -> Self { + self.value.type_ = type_; + self + } + + #[inline] + pub fn scale(mut self, scale: u32) -> Self { + self.value.scale = scale; + self + } + + #[inline] + pub fn build(self) -> PerfHintInfoQCOM { + self.value + } +} + +impl ops::Deref for PerfHintInfoQCOMBuilder { + type Target = PerfHintInfoQCOM; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for PerfHintInfoQCOMBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for PerfHintInfoQCOMBuilder { + type Target = PerfHintInfoQCOM; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for PerformanceConfigurationAcquireInfoINTEL { type Target = PerformanceConfigurationAcquireInfoINTEL; @@ -45479,6 +47774,68 @@ unsafe impl Cast for PhysicalDeviceDataGraphModelFeaturesQCOMBuilder { } } +unsafe impl Cast for PhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM { + type Target = PhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for PhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM { + type Builder = PhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARMBuilder; +} + +/// A builder for a [`PhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct PhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARMBuilder { + value: PhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM, +} + +impl PhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARMBuilder { + #[inline] + pub fn data_graph_neural_accelerator_statistics( + mut self, + data_graph_neural_accelerator_statistics: bool, + ) -> Self { + self.value.data_graph_neural_accelerator_statistics = + data_graph_neural_accelerator_statistics as Bool32; + self + } + + #[inline] + pub fn build(self) -> PhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM { + self.value + } +} + +impl ops::Deref for PhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARMBuilder { + type Target = PhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for PhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARMBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for PhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARMBuilder { + type Target = PhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for PhysicalDeviceDataGraphOperationSupportARM { type Target = PhysicalDeviceDataGraphOperationSupportARM; @@ -45555,6 +47912,64 @@ unsafe impl Cast for PhysicalDeviceDataGraphOperationSupportARMBuilder { } } +unsafe impl Cast for PhysicalDeviceDataGraphOpticalFlowFeaturesARM { + type Target = PhysicalDeviceDataGraphOpticalFlowFeaturesARM; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for PhysicalDeviceDataGraphOpticalFlowFeaturesARM { + type Builder = PhysicalDeviceDataGraphOpticalFlowFeaturesARMBuilder; +} + +/// A builder for a [`PhysicalDeviceDataGraphOpticalFlowFeaturesARM`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct PhysicalDeviceDataGraphOpticalFlowFeaturesARMBuilder { + value: PhysicalDeviceDataGraphOpticalFlowFeaturesARM, +} + +impl PhysicalDeviceDataGraphOpticalFlowFeaturesARMBuilder { + #[inline] + pub fn data_graph_optical_flow(mut self, data_graph_optical_flow: bool) -> Self { + self.value.data_graph_optical_flow = data_graph_optical_flow as Bool32; + self + } + + #[inline] + pub fn build(self) -> PhysicalDeviceDataGraphOpticalFlowFeaturesARM { + self.value + } +} + +impl ops::Deref for PhysicalDeviceDataGraphOpticalFlowFeaturesARMBuilder { + type Target = PhysicalDeviceDataGraphOpticalFlowFeaturesARM; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for PhysicalDeviceDataGraphOpticalFlowFeaturesARMBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for PhysicalDeviceDataGraphOpticalFlowFeaturesARMBuilder { + type Target = PhysicalDeviceDataGraphOpticalFlowFeaturesARM; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for PhysicalDeviceDataGraphProcessingEngineARM { type Target = PhysicalDeviceDataGraphProcessingEngineARM; @@ -47756,6 +50171,64 @@ unsafe impl Cast for PhysicalDeviceDescriptorSetHostMappingFeaturesVALVEBuilder } } +unsafe impl Cast for PhysicalDeviceDeviceAddressCommandsFeaturesKHR { + type Target = PhysicalDeviceDeviceAddressCommandsFeaturesKHR; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for PhysicalDeviceDeviceAddressCommandsFeaturesKHR { + type Builder = PhysicalDeviceDeviceAddressCommandsFeaturesKHRBuilder; +} + +/// A builder for a [`PhysicalDeviceDeviceAddressCommandsFeaturesKHR`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct PhysicalDeviceDeviceAddressCommandsFeaturesKHRBuilder { + value: PhysicalDeviceDeviceAddressCommandsFeaturesKHR, +} + +impl PhysicalDeviceDeviceAddressCommandsFeaturesKHRBuilder { + #[inline] + pub fn device_address_commands(mut self, device_address_commands: bool) -> Self { + self.value.device_address_commands = device_address_commands as Bool32; + self + } + + #[inline] + pub fn build(self) -> PhysicalDeviceDeviceAddressCommandsFeaturesKHR { + self.value + } +} + +impl ops::Deref for PhysicalDeviceDeviceAddressCommandsFeaturesKHRBuilder { + type Target = PhysicalDeviceDeviceAddressCommandsFeaturesKHR; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for PhysicalDeviceDeviceAddressCommandsFeaturesKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for PhysicalDeviceDeviceAddressCommandsFeaturesKHRBuilder { + type Target = PhysicalDeviceDeviceAddressCommandsFeaturesKHR; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV { type Target = PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV; @@ -50666,6 +53139,144 @@ unsafe impl Cast for PhysicalDeviceFaultFeaturesEXTBuilder { } } +unsafe impl Cast for PhysicalDeviceFaultFeaturesKHR { + type Target = PhysicalDeviceFaultFeaturesKHR; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for PhysicalDeviceFaultFeaturesKHR { + type Builder = PhysicalDeviceFaultFeaturesKHRBuilder; +} + +/// A builder for a [`PhysicalDeviceFaultFeaturesKHR`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct PhysicalDeviceFaultFeaturesKHRBuilder { + value: PhysicalDeviceFaultFeaturesKHR, +} + +impl PhysicalDeviceFaultFeaturesKHRBuilder { + #[inline] + pub fn device_fault(mut self, device_fault: bool) -> Self { + self.value.device_fault = device_fault as Bool32; + self + } + + #[inline] + pub fn device_fault_vendor_binary(mut self, device_fault_vendor_binary: bool) -> Self { + self.value.device_fault_vendor_binary = device_fault_vendor_binary as Bool32; + self + } + + #[inline] + pub fn device_fault_report_masked(mut self, device_fault_report_masked: bool) -> Self { + self.value.device_fault_report_masked = device_fault_report_masked as Bool32; + self + } + + #[inline] + pub fn device_fault_device_lost_on_masked( + mut self, + device_fault_device_lost_on_masked: bool, + ) -> Self { + self.value.device_fault_device_lost_on_masked = + device_fault_device_lost_on_masked as Bool32; + self + } + + #[inline] + pub fn build(self) -> PhysicalDeviceFaultFeaturesKHR { + self.value + } +} + +impl ops::Deref for PhysicalDeviceFaultFeaturesKHRBuilder { + type Target = PhysicalDeviceFaultFeaturesKHR; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for PhysicalDeviceFaultFeaturesKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for PhysicalDeviceFaultFeaturesKHRBuilder { + type Target = PhysicalDeviceFaultFeaturesKHR; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + +unsafe impl Cast for PhysicalDeviceFaultPropertiesKHR { + type Target = PhysicalDeviceFaultPropertiesKHR; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for PhysicalDeviceFaultPropertiesKHR { + type Builder = PhysicalDeviceFaultPropertiesKHRBuilder; +} + +/// A builder for a [`PhysicalDeviceFaultPropertiesKHR`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct PhysicalDeviceFaultPropertiesKHRBuilder { + value: PhysicalDeviceFaultPropertiesKHR, +} + +impl PhysicalDeviceFaultPropertiesKHRBuilder { + #[inline] + pub fn max_device_fault_count(mut self, max_device_fault_count: u32) -> Self { + self.value.max_device_fault_count = max_device_fault_count; + self + } + + #[inline] + pub fn build(self) -> PhysicalDeviceFaultPropertiesKHR { + self.value + } +} + +impl ops::Deref for PhysicalDeviceFaultPropertiesKHRBuilder { + type Target = PhysicalDeviceFaultPropertiesKHR; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for PhysicalDeviceFaultPropertiesKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for PhysicalDeviceFaultPropertiesKHRBuilder { + type Target = PhysicalDeviceFaultPropertiesKHR; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for PhysicalDeviceFeatures { type Target = PhysicalDeviceFeatures; @@ -51139,6 +53750,11 @@ unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceCustomBorderColorFe unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceCustomResolveFeaturesEXT {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceDataGraphFeaturesARM {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceDataGraphModelFeaturesQCOM {} +unsafe impl ExtendsPhysicalDeviceFeatures2 + for PhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM +{ +} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceDataGraphOpticalFlowFeaturesARM {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV { @@ -51158,6 +53774,7 @@ unsafe impl ExtendsPhysicalDeviceFeatures2 { } unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceDeviceAddressCommandsFeaturesKHR {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV { @@ -51185,6 +53802,7 @@ unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceExternalMemoryScree unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceExternalSciSync2FeaturesNV {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceExternalSciSyncFeaturesNV {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceFaultFeaturesEXT {} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceFaultFeaturesKHR {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceFormatPackFeaturesARM {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceFragmentDensityMap2FeaturesEXT {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceFragmentDensityMapFeaturesEXT {} @@ -51229,6 +53847,7 @@ unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceLegacyVertexAttribu unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceLineRasterizationFeatures {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceLinearColorAttachmentFeaturesNV {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceMaintenance10FeaturesKHR {} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceMaintenance11FeaturesKHR {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceMaintenance4Features {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceMaintenance5Features {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceMaintenance6Features {} @@ -51294,6 +53913,7 @@ unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDevicePresentModeFifoLate unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDevicePresentTimingFeaturesEXT {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDevicePresentWait2FeaturesKHR {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDevicePresentWaitFeaturesKHR {} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDevicePrimitiveRestartIndexFeaturesEXT {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT { @@ -51303,6 +53923,7 @@ unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDevicePrivateDataFeatures unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceProtectedMemoryFeatures {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceProvokingVertexFeaturesEXT {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDevicePushConstantBankFeaturesNV {} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceQueuePerfHintFeaturesQCOM {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceRGBA10X6FormatsFeaturesEXT {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT @@ -51333,12 +53954,14 @@ unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceScalarBlockLayoutFe unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceSchedulingControlsFeaturesARM {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceSeparateDepthStencilLayoutsFeatures {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceShader64BitIndexingFeaturesEXT {} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceShaderAbortFeaturesKHR {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceShaderAtomicFloat2FeaturesEXT {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceShaderAtomicFloatFeaturesEXT {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceShaderAtomicInt64Features {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceShaderBfloat16FeaturesKHR {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceShaderClockFeaturesKHR {} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceShaderConstantDataFeaturesKHR {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceShaderCoreBuiltinsFeaturesARM {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceShaderDemoteToHelperInvocationFeatures @@ -51357,6 +53980,7 @@ unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceShaderFloatControls unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceShaderFmaFeaturesKHR {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceShaderImageFootprintFeaturesNV {} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceShaderInstrumentationFeaturesARM {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceShaderIntegerDotProductFeatures {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceShaderLongVectorFeaturesEXT {} @@ -51398,6 +54022,7 @@ unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceTensorFeaturesARM { unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceTexelBufferAlignmentFeaturesEXT {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceTextureCompressionASTC3DFeaturesEXT {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceTextureCompressionASTCHDRFeatures {} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceThrottleHintFeaturesSEC {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceTileMemoryHeapFeaturesQCOM {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceTilePropertiesFeaturesQCOM {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceTileShadingFeaturesQCOM {} @@ -54033,6 +56658,7 @@ unsafe impl Cast for PhysicalDeviceImageDrmFormatModifierInfoEXTBuilder<'_> { /// A Vulkan struct that can be used to extend a [`PhysicalDeviceImageFormatInfo2`]. pub unsafe trait ExtendsPhysicalDeviceImageFormatInfo2: fmt::Debug {} +unsafe impl ExtendsPhysicalDeviceImageFormatInfo2 for DataGraphOpticalFlowImageFormatInfoARM {} unsafe impl ExtendsPhysicalDeviceImageFormatInfo2 for ImageCompressionControlEXT {} unsafe impl ExtendsPhysicalDeviceImageFormatInfo2 for ImageFormatListCreateInfo {} unsafe impl ExtendsPhysicalDeviceImageFormatInfo2 for ImageStencilUsageCreateInfo {} @@ -56725,6 +59351,64 @@ unsafe impl Cast for PhysicalDeviceMaintenance10PropertiesKHRBuilder { } } +unsafe impl Cast for PhysicalDeviceMaintenance11FeaturesKHR { + type Target = PhysicalDeviceMaintenance11FeaturesKHR; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for PhysicalDeviceMaintenance11FeaturesKHR { + type Builder = PhysicalDeviceMaintenance11FeaturesKHRBuilder; +} + +/// A builder for a [`PhysicalDeviceMaintenance11FeaturesKHR`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct PhysicalDeviceMaintenance11FeaturesKHRBuilder { + value: PhysicalDeviceMaintenance11FeaturesKHR, +} + +impl PhysicalDeviceMaintenance11FeaturesKHRBuilder { + #[inline] + pub fn maintenance11(mut self, maintenance11: bool) -> Self { + self.value.maintenance11 = maintenance11 as Bool32; + self + } + + #[inline] + pub fn build(self) -> PhysicalDeviceMaintenance11FeaturesKHR { + self.value + } +} + +impl ops::Deref for PhysicalDeviceMaintenance11FeaturesKHRBuilder { + type Target = PhysicalDeviceMaintenance11FeaturesKHR; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for PhysicalDeviceMaintenance11FeaturesKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for PhysicalDeviceMaintenance11FeaturesKHRBuilder { + type Target = PhysicalDeviceMaintenance11FeaturesKHR; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for PhysicalDeviceMaintenance3Properties { type Target = PhysicalDeviceMaintenance3Properties; @@ -61798,6 +64482,64 @@ unsafe impl Cast for PhysicalDevicePresentWaitFeaturesKHRBuilder { } } +unsafe impl Cast for PhysicalDevicePrimitiveRestartIndexFeaturesEXT { + type Target = PhysicalDevicePrimitiveRestartIndexFeaturesEXT; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for PhysicalDevicePrimitiveRestartIndexFeaturesEXT { + type Builder = PhysicalDevicePrimitiveRestartIndexFeaturesEXTBuilder; +} + +/// A builder for a [`PhysicalDevicePrimitiveRestartIndexFeaturesEXT`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct PhysicalDevicePrimitiveRestartIndexFeaturesEXTBuilder { + value: PhysicalDevicePrimitiveRestartIndexFeaturesEXT, +} + +impl PhysicalDevicePrimitiveRestartIndexFeaturesEXTBuilder { + #[inline] + pub fn primitive_restart_index(mut self, primitive_restart_index: bool) -> Self { + self.value.primitive_restart_index = primitive_restart_index as Bool32; + self + } + + #[inline] + pub fn build(self) -> PhysicalDevicePrimitiveRestartIndexFeaturesEXT { + self.value + } +} + +impl ops::Deref for PhysicalDevicePrimitiveRestartIndexFeaturesEXTBuilder { + type Target = PhysicalDevicePrimitiveRestartIndexFeaturesEXT; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for PhysicalDevicePrimitiveRestartIndexFeaturesEXTBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for PhysicalDevicePrimitiveRestartIndexFeaturesEXTBuilder { + type Target = PhysicalDevicePrimitiveRestartIndexFeaturesEXT; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT { type Target = PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT; @@ -62178,6 +64920,7 @@ unsafe impl ExtendsPhysicalDeviceProperties2 { } unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceExternalMemoryHostPropertiesEXT {} +unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceFaultPropertiesKHR {} unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceFloatControlsProperties {} unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceFragmentDensityMap2PropertiesEXT {} unsafe impl ExtendsPhysicalDeviceProperties2 @@ -62250,6 +64993,7 @@ unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceProtectedMemoryPr unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceProvokingVertexPropertiesEXT {} unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDevicePushConstantBankPropertiesNV {} unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDevicePushDescriptorProperties {} +unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceQueuePerfHintPropertiesQCOM {} unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceRayTracingInvocationReorderPropertiesEXT { @@ -62264,12 +65008,18 @@ unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceRenderPassStriped unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceRobustness2PropertiesKHR {} unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceSampleLocationsPropertiesEXT {} unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceSamplerFilterMinmaxProperties {} +unsafe impl ExtendsPhysicalDeviceProperties2 + for PhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM +{ +} unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceSchedulingControlsPropertiesARM {} +unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceShaderAbortPropertiesKHR {} unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceShaderCoreBuiltinsPropertiesARM {} unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceShaderCoreProperties2AMD {} unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceShaderCorePropertiesAMD {} unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceShaderCorePropertiesARM {} unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceShaderEnqueuePropertiesAMDX {} +unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceShaderInstrumentationPropertiesARM {} unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceShaderIntegerDotProductProperties {} unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceShaderLongVectorPropertiesEXT {} unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceShaderModuleIdentifierPropertiesEXT {} @@ -62880,6 +65630,122 @@ unsafe impl Cast for PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARMBu } } +unsafe impl Cast for PhysicalDeviceQueuePerfHintFeaturesQCOM { + type Target = PhysicalDeviceQueuePerfHintFeaturesQCOM; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for PhysicalDeviceQueuePerfHintFeaturesQCOM { + type Builder = PhysicalDeviceQueuePerfHintFeaturesQCOMBuilder; +} + +/// A builder for a [`PhysicalDeviceQueuePerfHintFeaturesQCOM`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct PhysicalDeviceQueuePerfHintFeaturesQCOMBuilder { + value: PhysicalDeviceQueuePerfHintFeaturesQCOM, +} + +impl PhysicalDeviceQueuePerfHintFeaturesQCOMBuilder { + #[inline] + pub fn queue_perf_hint(mut self, queue_perf_hint: bool) -> Self { + self.value.queue_perf_hint = queue_perf_hint as Bool32; + self + } + + #[inline] + pub fn build(self) -> PhysicalDeviceQueuePerfHintFeaturesQCOM { + self.value + } +} + +impl ops::Deref for PhysicalDeviceQueuePerfHintFeaturesQCOMBuilder { + type Target = PhysicalDeviceQueuePerfHintFeaturesQCOM; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for PhysicalDeviceQueuePerfHintFeaturesQCOMBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for PhysicalDeviceQueuePerfHintFeaturesQCOMBuilder { + type Target = PhysicalDeviceQueuePerfHintFeaturesQCOM; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + +unsafe impl Cast for PhysicalDeviceQueuePerfHintPropertiesQCOM { + type Target = PhysicalDeviceQueuePerfHintPropertiesQCOM; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for PhysicalDeviceQueuePerfHintPropertiesQCOM { + type Builder = PhysicalDeviceQueuePerfHintPropertiesQCOMBuilder; +} + +/// A builder for a [`PhysicalDeviceQueuePerfHintPropertiesQCOM`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct PhysicalDeviceQueuePerfHintPropertiesQCOMBuilder { + value: PhysicalDeviceQueuePerfHintPropertiesQCOM, +} + +impl PhysicalDeviceQueuePerfHintPropertiesQCOMBuilder { + #[inline] + pub fn supported_queues(mut self, supported_queues: QueueFlags) -> Self { + self.value.supported_queues = supported_queues; + self + } + + #[inline] + pub fn build(self) -> PhysicalDeviceQueuePerfHintPropertiesQCOM { + self.value + } +} + +impl ops::Deref for PhysicalDeviceQueuePerfHintPropertiesQCOMBuilder { + type Target = PhysicalDeviceQueuePerfHintPropertiesQCOM; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for PhysicalDeviceQueuePerfHintPropertiesQCOMBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for PhysicalDeviceQueuePerfHintPropertiesQCOMBuilder { + type Target = PhysicalDeviceQueuePerfHintPropertiesQCOM; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for PhysicalDeviceRGBA10X6FormatsFeaturesEXT { type Target = PhysicalDeviceRGBA10X6FormatsFeaturesEXT; @@ -64678,6 +67544,87 @@ unsafe impl Cast for PhysicalDeviceScalarBlockLayoutFeaturesBuilder { } } +unsafe impl Cast for PhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM { + type Target = PhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for PhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM { + type Builder = PhysicalDeviceSchedulingControlsDispatchParametersPropertiesARMBuilder; +} + +/// A builder for a [`PhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct PhysicalDeviceSchedulingControlsDispatchParametersPropertiesARMBuilder { + value: PhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM, +} + +impl PhysicalDeviceSchedulingControlsDispatchParametersPropertiesARMBuilder { + #[inline] + pub fn scheduling_controls_max_warps_count( + mut self, + scheduling_controls_max_warps_count: u32, + ) -> Self { + self.value.scheduling_controls_max_warps_count = scheduling_controls_max_warps_count; + self + } + + #[inline] + pub fn scheduling_controls_max_queued_batches_count( + mut self, + scheduling_controls_max_queued_batches_count: u32, + ) -> Self { + self.value.scheduling_controls_max_queued_batches_count = + scheduling_controls_max_queued_batches_count; + self + } + + #[inline] + pub fn scheduling_controls_max_work_group_batch_size( + mut self, + scheduling_controls_max_work_group_batch_size: u32, + ) -> Self { + self.value.scheduling_controls_max_work_group_batch_size = + scheduling_controls_max_work_group_batch_size; + self + } + + #[inline] + pub fn build(self) -> PhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM { + self.value + } +} + +impl ops::Deref for PhysicalDeviceSchedulingControlsDispatchParametersPropertiesARMBuilder { + type Target = PhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for PhysicalDeviceSchedulingControlsDispatchParametersPropertiesARMBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for PhysicalDeviceSchedulingControlsDispatchParametersPropertiesARMBuilder { + type Target = PhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for PhysicalDeviceSchedulingControlsFeaturesARM { type Target = PhysicalDeviceSchedulingControlsFeaturesARM; @@ -64913,6 +67860,122 @@ unsafe impl Cast for PhysicalDeviceShader64BitIndexingFeaturesEXTBuilder { } } +unsafe impl Cast for PhysicalDeviceShaderAbortFeaturesKHR { + type Target = PhysicalDeviceShaderAbortFeaturesKHR; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for PhysicalDeviceShaderAbortFeaturesKHR { + type Builder = PhysicalDeviceShaderAbortFeaturesKHRBuilder; +} + +/// A builder for a [`PhysicalDeviceShaderAbortFeaturesKHR`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct PhysicalDeviceShaderAbortFeaturesKHRBuilder { + value: PhysicalDeviceShaderAbortFeaturesKHR, +} + +impl PhysicalDeviceShaderAbortFeaturesKHRBuilder { + #[inline] + pub fn shader_abort(mut self, shader_abort: bool) -> Self { + self.value.shader_abort = shader_abort as Bool32; + self + } + + #[inline] + pub fn build(self) -> PhysicalDeviceShaderAbortFeaturesKHR { + self.value + } +} + +impl ops::Deref for PhysicalDeviceShaderAbortFeaturesKHRBuilder { + type Target = PhysicalDeviceShaderAbortFeaturesKHR; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for PhysicalDeviceShaderAbortFeaturesKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for PhysicalDeviceShaderAbortFeaturesKHRBuilder { + type Target = PhysicalDeviceShaderAbortFeaturesKHR; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + +unsafe impl Cast for PhysicalDeviceShaderAbortPropertiesKHR { + type Target = PhysicalDeviceShaderAbortPropertiesKHR; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for PhysicalDeviceShaderAbortPropertiesKHR { + type Builder = PhysicalDeviceShaderAbortPropertiesKHRBuilder; +} + +/// A builder for a [`PhysicalDeviceShaderAbortPropertiesKHR`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct PhysicalDeviceShaderAbortPropertiesKHRBuilder { + value: PhysicalDeviceShaderAbortPropertiesKHR, +} + +impl PhysicalDeviceShaderAbortPropertiesKHRBuilder { + #[inline] + pub fn max_shader_abort_message_size(mut self, max_shader_abort_message_size: u64) -> Self { + self.value.max_shader_abort_message_size = max_shader_abort_message_size; + self + } + + #[inline] + pub fn build(self) -> PhysicalDeviceShaderAbortPropertiesKHR { + self.value + } +} + +impl ops::Deref for PhysicalDeviceShaderAbortPropertiesKHRBuilder { + type Target = PhysicalDeviceShaderAbortPropertiesKHR; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for PhysicalDeviceShaderAbortPropertiesKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for PhysicalDeviceShaderAbortPropertiesKHRBuilder { + type Target = PhysicalDeviceShaderAbortPropertiesKHR; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV { type Target = PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV; @@ -65477,6 +68540,64 @@ unsafe impl Cast for PhysicalDeviceShaderClockFeaturesKHRBuilder { } } +unsafe impl Cast for PhysicalDeviceShaderConstantDataFeaturesKHR { + type Target = PhysicalDeviceShaderConstantDataFeaturesKHR; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for PhysicalDeviceShaderConstantDataFeaturesKHR { + type Builder = PhysicalDeviceShaderConstantDataFeaturesKHRBuilder; +} + +/// A builder for a [`PhysicalDeviceShaderConstantDataFeaturesKHR`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct PhysicalDeviceShaderConstantDataFeaturesKHRBuilder { + value: PhysicalDeviceShaderConstantDataFeaturesKHR, +} + +impl PhysicalDeviceShaderConstantDataFeaturesKHRBuilder { + #[inline] + pub fn shader_constant_data(mut self, shader_constant_data: bool) -> Self { + self.value.shader_constant_data = shader_constant_data as Bool32; + self + } + + #[inline] + pub fn build(self) -> PhysicalDeviceShaderConstantDataFeaturesKHR { + self.value + } +} + +impl ops::Deref for PhysicalDeviceShaderConstantDataFeaturesKHRBuilder { + type Target = PhysicalDeviceShaderConstantDataFeaturesKHR; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for PhysicalDeviceShaderConstantDataFeaturesKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for PhysicalDeviceShaderConstantDataFeaturesKHRBuilder { + type Target = PhysicalDeviceShaderConstantDataFeaturesKHR; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for PhysicalDeviceShaderCoreBuiltinsFeaturesARM { type Target = PhysicalDeviceShaderCoreBuiltinsFeaturesARM; @@ -66676,6 +69797,128 @@ unsafe impl Cast for PhysicalDeviceShaderImageFootprintFeaturesNVBuilder { } } +unsafe impl Cast for PhysicalDeviceShaderInstrumentationFeaturesARM { + type Target = PhysicalDeviceShaderInstrumentationFeaturesARM; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for PhysicalDeviceShaderInstrumentationFeaturesARM { + type Builder = PhysicalDeviceShaderInstrumentationFeaturesARMBuilder; +} + +/// A builder for a [`PhysicalDeviceShaderInstrumentationFeaturesARM`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct PhysicalDeviceShaderInstrumentationFeaturesARMBuilder { + value: PhysicalDeviceShaderInstrumentationFeaturesARM, +} + +impl PhysicalDeviceShaderInstrumentationFeaturesARMBuilder { + #[inline] + pub fn shader_instrumentation(mut self, shader_instrumentation: bool) -> Self { + self.value.shader_instrumentation = shader_instrumentation as Bool32; + self + } + + #[inline] + pub fn build(self) -> PhysicalDeviceShaderInstrumentationFeaturesARM { + self.value + } +} + +impl ops::Deref for PhysicalDeviceShaderInstrumentationFeaturesARMBuilder { + type Target = PhysicalDeviceShaderInstrumentationFeaturesARM; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for PhysicalDeviceShaderInstrumentationFeaturesARMBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for PhysicalDeviceShaderInstrumentationFeaturesARMBuilder { + type Target = PhysicalDeviceShaderInstrumentationFeaturesARM; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + +unsafe impl Cast for PhysicalDeviceShaderInstrumentationPropertiesARM { + type Target = PhysicalDeviceShaderInstrumentationPropertiesARM; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for PhysicalDeviceShaderInstrumentationPropertiesARM { + type Builder = PhysicalDeviceShaderInstrumentationPropertiesARMBuilder; +} + +/// A builder for a [`PhysicalDeviceShaderInstrumentationPropertiesARM`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct PhysicalDeviceShaderInstrumentationPropertiesARMBuilder { + value: PhysicalDeviceShaderInstrumentationPropertiesARM, +} + +impl PhysicalDeviceShaderInstrumentationPropertiesARMBuilder { + #[inline] + pub fn num_metrics(mut self, num_metrics: u32) -> Self { + self.value.num_metrics = num_metrics; + self + } + + #[inline] + pub fn per_basic_block_granularity(mut self, per_basic_block_granularity: bool) -> Self { + self.value.per_basic_block_granularity = per_basic_block_granularity as Bool32; + self + } + + #[inline] + pub fn build(self) -> PhysicalDeviceShaderInstrumentationPropertiesARM { + self.value + } +} + +impl ops::Deref for PhysicalDeviceShaderInstrumentationPropertiesARMBuilder { + type Target = PhysicalDeviceShaderInstrumentationPropertiesARM; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for PhysicalDeviceShaderInstrumentationPropertiesARMBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for PhysicalDeviceShaderInstrumentationPropertiesARMBuilder { + type Target = PhysicalDeviceShaderInstrumentationPropertiesARM; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for PhysicalDeviceShaderIntegerDotProductFeatures { type Target = PhysicalDeviceShaderIntegerDotProductFeatures; @@ -70000,6 +73243,64 @@ unsafe impl Cast for PhysicalDeviceTextureCompressionASTCHDRFeaturesBuilder { } } +unsafe impl Cast for PhysicalDeviceThrottleHintFeaturesSEC { + type Target = PhysicalDeviceThrottleHintFeaturesSEC; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for PhysicalDeviceThrottleHintFeaturesSEC { + type Builder = PhysicalDeviceThrottleHintFeaturesSECBuilder; +} + +/// A builder for a [`PhysicalDeviceThrottleHintFeaturesSEC`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct PhysicalDeviceThrottleHintFeaturesSECBuilder { + value: PhysicalDeviceThrottleHintFeaturesSEC, +} + +impl PhysicalDeviceThrottleHintFeaturesSECBuilder { + #[inline] + pub fn throttle_hint(mut self, throttle_hint: bool) -> Self { + self.value.throttle_hint = throttle_hint as Bool32; + self + } + + #[inline] + pub fn build(self) -> PhysicalDeviceThrottleHintFeaturesSEC { + self.value + } +} + +impl ops::Deref for PhysicalDeviceThrottleHintFeaturesSECBuilder { + type Target = PhysicalDeviceThrottleHintFeaturesSEC; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for PhysicalDeviceThrottleHintFeaturesSECBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for PhysicalDeviceThrottleHintFeaturesSECBuilder { + type Target = PhysicalDeviceThrottleHintFeaturesSEC; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for PhysicalDeviceTileMemoryHeapFeaturesQCOM { type Target = PhysicalDeviceTileMemoryHeapFeaturesQCOM; @@ -81575,6 +84876,112 @@ unsafe impl Cast for QueueFamilyCheckpointPropertiesNVBuilder { } } +unsafe impl Cast for QueueFamilyDataGraphOpticalFlowPropertiesARM { + type Target = QueueFamilyDataGraphOpticalFlowPropertiesARM; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for QueueFamilyDataGraphOpticalFlowPropertiesARM { + type Builder = QueueFamilyDataGraphOpticalFlowPropertiesARMBuilder; +} + +/// A builder for a [`QueueFamilyDataGraphOpticalFlowPropertiesARM`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct QueueFamilyDataGraphOpticalFlowPropertiesARMBuilder { + value: QueueFamilyDataGraphOpticalFlowPropertiesARM, +} + +impl QueueFamilyDataGraphOpticalFlowPropertiesARMBuilder { + #[inline] + pub fn supported_output_grid_sizes( + mut self, + supported_output_grid_sizes: DataGraphOpticalFlowGridSizeFlagsARM, + ) -> Self { + self.value.supported_output_grid_sizes = supported_output_grid_sizes; + self + } + + #[inline] + pub fn supported_hint_grid_sizes( + mut self, + supported_hint_grid_sizes: DataGraphOpticalFlowGridSizeFlagsARM, + ) -> Self { + self.value.supported_hint_grid_sizes = supported_hint_grid_sizes; + self + } + + #[inline] + pub fn hint_supported(mut self, hint_supported: bool) -> Self { + self.value.hint_supported = hint_supported as Bool32; + self + } + + #[inline] + pub fn cost_supported(mut self, cost_supported: bool) -> Self { + self.value.cost_supported = cost_supported as Bool32; + self + } + + #[inline] + pub fn min_width(mut self, min_width: u32) -> Self { + self.value.min_width = min_width; + self + } + + #[inline] + pub fn min_height(mut self, min_height: u32) -> Self { + self.value.min_height = min_height; + self + } + + #[inline] + pub fn max_width(mut self, max_width: u32) -> Self { + self.value.max_width = max_width; + self + } + + #[inline] + pub fn max_height(mut self, max_height: u32) -> Self { + self.value.max_height = max_height; + self + } + + #[inline] + pub fn build(self) -> QueueFamilyDataGraphOpticalFlowPropertiesARM { + self.value + } +} + +impl ops::Deref for QueueFamilyDataGraphOpticalFlowPropertiesARMBuilder { + type Target = QueueFamilyDataGraphOpticalFlowPropertiesARM; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for QueueFamilyDataGraphOpticalFlowPropertiesARMBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for QueueFamilyDataGraphOpticalFlowPropertiesARMBuilder { + type Target = QueueFamilyDataGraphOpticalFlowPropertiesARM; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for QueueFamilyDataGraphProcessingEnginePropertiesARM { type Target = QueueFamilyDataGraphProcessingEnginePropertiesARM; @@ -81715,6 +85122,85 @@ unsafe impl Cast for QueueFamilyDataGraphPropertiesARMBuilder { } } +unsafe impl Cast for QueueFamilyDataGraphTOSAPropertiesARM { + type Target = QueueFamilyDataGraphTOSAPropertiesARM; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl<'b> HasBuilder<'b> for QueueFamilyDataGraphTOSAPropertiesARM { + type Builder = QueueFamilyDataGraphTOSAPropertiesARMBuilder<'b>; +} + +/// A builder for a [`QueueFamilyDataGraphTOSAPropertiesARM`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct QueueFamilyDataGraphTOSAPropertiesARMBuilder<'b> { + value: QueueFamilyDataGraphTOSAPropertiesARM, + _marker: PhantomData<&'b ()>, +} + +impl<'b> QueueFamilyDataGraphTOSAPropertiesARMBuilder<'b> { + #[inline] + pub fn profiles( + mut self, + profiles: &'b [impl Cast], + ) -> Self { + self.value.profile_count = profiles.len() as u32; + self.value.profiles = profiles.as_ptr().cast(); + self + } + + #[inline] + pub fn extensions( + mut self, + extensions: &'b [impl Cast], + ) -> Self { + self.value.extension_count = extensions.len() as u32; + self.value.extensions = extensions.as_ptr().cast(); + self + } + + #[inline] + pub fn level(mut self, level: DataGraphTOSALevelARM) -> Self { + self.value.level = level; + self + } + + #[inline] + pub fn build(self) -> QueueFamilyDataGraphTOSAPropertiesARM { + self.value + } +} + +impl ops::Deref for QueueFamilyDataGraphTOSAPropertiesARMBuilder<'_> { + type Target = QueueFamilyDataGraphTOSAPropertiesARM; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for QueueFamilyDataGraphTOSAPropertiesARMBuilder<'_> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for QueueFamilyDataGraphTOSAPropertiesARMBuilder<'_> { + type Target = QueueFamilyDataGraphTOSAPropertiesARM; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for QueueFamilyGlobalPriorityProperties { type Target = QueueFamilyGlobalPriorityProperties; @@ -81782,6 +85268,67 @@ unsafe impl Cast for QueueFamilyGlobalPriorityPropertiesBuilder { } } +unsafe impl Cast for QueueFamilyOptimalImageTransferGranularityPropertiesKHR { + type Target = QueueFamilyOptimalImageTransferGranularityPropertiesKHR; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for QueueFamilyOptimalImageTransferGranularityPropertiesKHR { + type Builder = QueueFamilyOptimalImageTransferGranularityPropertiesKHRBuilder; +} + +/// A builder for a [`QueueFamilyOptimalImageTransferGranularityPropertiesKHR`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct QueueFamilyOptimalImageTransferGranularityPropertiesKHRBuilder { + value: QueueFamilyOptimalImageTransferGranularityPropertiesKHR, +} + +impl QueueFamilyOptimalImageTransferGranularityPropertiesKHRBuilder { + #[inline] + pub fn optimal_image_transfer_granularity( + mut self, + optimal_image_transfer_granularity: impl Cast, + ) -> Self { + self.value.optimal_image_transfer_granularity = optimal_image_transfer_granularity.into(); + self + } + + #[inline] + pub fn build(self) -> QueueFamilyOptimalImageTransferGranularityPropertiesKHR { + self.value + } +} + +impl ops::Deref for QueueFamilyOptimalImageTransferGranularityPropertiesKHRBuilder { + type Target = QueueFamilyOptimalImageTransferGranularityPropertiesKHR; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for QueueFamilyOptimalImageTransferGranularityPropertiesKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for QueueFamilyOptimalImageTransferGranularityPropertiesKHRBuilder { + type Target = QueueFamilyOptimalImageTransferGranularityPropertiesKHR; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for QueueFamilyOwnershipTransferPropertiesKHR { type Target = QueueFamilyOwnershipTransferPropertiesKHR; @@ -81928,6 +85475,10 @@ pub unsafe trait ExtendsQueueFamilyProperties2: fmt::Debug {} unsafe impl ExtendsQueueFamilyProperties2 for QueueFamilyCheckpointProperties2NV {} unsafe impl ExtendsQueueFamilyProperties2 for QueueFamilyCheckpointPropertiesNV {} unsafe impl ExtendsQueueFamilyProperties2 for QueueFamilyGlobalPriorityProperties {} +unsafe impl ExtendsQueueFamilyProperties2 + for QueueFamilyOptimalImageTransferGranularityPropertiesKHR +{ +} unsafe impl ExtendsQueueFamilyProperties2 for QueueFamilyOwnershipTransferPropertiesKHR {} unsafe impl ExtendsQueueFamilyProperties2 for QueueFamilyQueryResultStatusPropertiesKHR {} unsafe impl ExtendsQueueFamilyProperties2 for QueueFamilyVideoPropertiesKHR {} @@ -83974,14 +87525,9 @@ pub struct RenderPassPerformanceCountersByRegionBeginInfoARMBuilder<'b> { impl<'b> RenderPassPerformanceCountersByRegionBeginInfoARMBuilder<'b> { #[inline] - pub fn counter_address_count(mut self, counter_address_count: u32) -> Self { - self.value.counter_address_count = counter_address_count; - self - } - - #[inline] - pub fn counter_addresses(mut self, counter_addresses: &'b DeviceAddress) -> Self { - self.value.counter_addresses = counter_addresses as *const DeviceAddress; + pub fn counter_addresses(mut self, counter_addresses: &'b [DeviceAddress]) -> Self { + self.value.counter_address_count = counter_addresses.len() as u32; + self.value.counter_addresses = counter_addresses.as_ptr(); self } @@ -83992,14 +87538,9 @@ impl<'b> RenderPassPerformanceCountersByRegionBeginInfoARMBuilder<'b> { } #[inline] - pub fn counter_index_count(mut self, counter_index_count: u32) -> Self { - self.value.counter_index_count = counter_index_count; - self - } - - #[inline] - pub fn counter_indices(mut self, counter_indices: &'b mut u32) -> Self { - self.value.counter_indices = counter_indices as *mut u32; + pub fn counter_indices(mut self, counter_indices: &'b mut [u32]) -> Self { + self.value.counter_index_count = counter_indices.len() as u32; + self.value.counter_indices = counter_indices.as_mut_ptr(); self } @@ -88265,6 +91806,201 @@ unsafe impl Cast for ShaderDescriptorSetAndBindingMappingInfoEXTBuilder<'_> { } } +unsafe impl Cast for ShaderInstrumentationCreateInfoARM { + type Target = ShaderInstrumentationCreateInfoARM; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for ShaderInstrumentationCreateInfoARM { + type Builder = ShaderInstrumentationCreateInfoARMBuilder; +} + +/// A builder for a [`ShaderInstrumentationCreateInfoARM`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct ShaderInstrumentationCreateInfoARMBuilder { + value: ShaderInstrumentationCreateInfoARM, +} + +impl ShaderInstrumentationCreateInfoARMBuilder { + #[inline] + pub fn build(self) -> ShaderInstrumentationCreateInfoARM { + self.value + } +} + +impl ops::Deref for ShaderInstrumentationCreateInfoARMBuilder { + type Target = ShaderInstrumentationCreateInfoARM; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for ShaderInstrumentationCreateInfoARMBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for ShaderInstrumentationCreateInfoARMBuilder { + type Target = ShaderInstrumentationCreateInfoARM; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + +unsafe impl Cast for ShaderInstrumentationMetricDataHeaderARM { + type Target = ShaderInstrumentationMetricDataHeaderARM; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for ShaderInstrumentationMetricDataHeaderARM { + type Builder = ShaderInstrumentationMetricDataHeaderARMBuilder; +} + +/// A builder for a [`ShaderInstrumentationMetricDataHeaderARM`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct ShaderInstrumentationMetricDataHeaderARMBuilder { + value: ShaderInstrumentationMetricDataHeaderARM, +} + +impl ShaderInstrumentationMetricDataHeaderARMBuilder { + #[inline] + pub fn result_index(mut self, result_index: u32) -> Self { + self.value.result_index = result_index; + self + } + + #[inline] + pub fn result_sub_index(mut self, result_sub_index: u32) -> Self { + self.value.result_sub_index = result_sub_index; + self + } + + #[inline] + pub fn stages(mut self, stages: ShaderStageFlags) -> Self { + self.value.stages = stages; + self + } + + #[inline] + pub fn basic_block_index(mut self, basic_block_index: u32) -> Self { + self.value.basic_block_index = basic_block_index; + self + } + + #[inline] + pub fn build(self) -> ShaderInstrumentationMetricDataHeaderARM { + self.value + } +} + +impl ops::Deref for ShaderInstrumentationMetricDataHeaderARMBuilder { + type Target = ShaderInstrumentationMetricDataHeaderARM; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for ShaderInstrumentationMetricDataHeaderARMBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for ShaderInstrumentationMetricDataHeaderARMBuilder { + type Target = ShaderInstrumentationMetricDataHeaderARM; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + +unsafe impl Cast for ShaderInstrumentationMetricDescriptionARM { + type Target = ShaderInstrumentationMetricDescriptionARM; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for ShaderInstrumentationMetricDescriptionARM { + type Builder = ShaderInstrumentationMetricDescriptionARMBuilder; +} + +/// A builder for a [`ShaderInstrumentationMetricDescriptionARM`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct ShaderInstrumentationMetricDescriptionARMBuilder { + value: ShaderInstrumentationMetricDescriptionARM, +} + +impl ShaderInstrumentationMetricDescriptionARMBuilder { + #[inline] + pub fn name(mut self, name: impl Into>) -> Self { + self.value.name = name.into(); + self + } + + #[inline] + pub fn description( + mut self, + description: impl Into>, + ) -> Self { + self.value.description = description.into(); + self + } + + #[inline] + pub fn build(self) -> ShaderInstrumentationMetricDescriptionARM { + self.value + } +} + +impl ops::Deref for ShaderInstrumentationMetricDescriptionARMBuilder { + type Target = ShaderInstrumentationMetricDescriptionARM; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for ShaderInstrumentationMetricDescriptionARMBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for ShaderInstrumentationMetricDescriptionARMBuilder { + type Target = ShaderInstrumentationMetricDescriptionARM; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + /// A Vulkan struct that can be used to extend a [`ShaderModuleCreateInfo`]. pub unsafe trait ExtendsShaderModuleCreateInfo: fmt::Debug {} unsafe impl ExtendsShaderModuleCreateInfo for ShaderModuleValidationCacheCreateInfoEXT {} @@ -89935,6 +93671,7 @@ unsafe impl ExtendsSubmitInfo for FrameBoundaryTensorsARM {} unsafe impl ExtendsSubmitInfo for LatencySubmissionPresentIdNV {} unsafe impl ExtendsSubmitInfo for PerformanceQuerySubmitInfoKHR {} unsafe impl ExtendsSubmitInfo for ProtectedSubmitInfo {} +unsafe impl ExtendsSubmitInfo for ThrottleHintSubmitInfoSEC {} unsafe impl ExtendsSubmitInfo for TimelineSemaphoreSubmitInfo {} unsafe impl ExtendsSubmitInfo for Win32KeyedMutexAcquireReleaseInfoKHR {} unsafe impl ExtendsSubmitInfo for Win32KeyedMutexAcquireReleaseInfoNV {} @@ -93592,18 +97329,13 @@ pub struct TensorDependencyInfoARMBuilder<'b> { } impl<'b> TensorDependencyInfoARMBuilder<'b> { - #[inline] - pub fn tensor_memory_barrier_count(mut self, tensor_memory_barrier_count: u32) -> Self { - self.value.tensor_memory_barrier_count = tensor_memory_barrier_count; - self - } - #[inline] pub fn tensor_memory_barriers( mut self, - tensor_memory_barriers: &'b impl Cast, + tensor_memory_barriers: &'b [impl Cast], ) -> Self { - self.value.tensor_memory_barriers = tensor_memory_barriers.as_ref(); + self.value.tensor_memory_barrier_count = tensor_memory_barriers.len() as u32; + self.value.tensor_memory_barriers = tensor_memory_barriers.as_ptr().cast(); self } @@ -94121,11 +97853,8 @@ impl TexelBufferDescriptorInfoEXTBuilder { } #[inline] - pub fn address_range( - mut self, - address_range: impl Cast, - ) -> Self { - self.value.address_range = address_range.into(); + pub fn address_range(mut self, address_range: DeviceAddressRangeEXT) -> Self { + self.value.address_range = address_range; self } @@ -94222,6 +97951,64 @@ unsafe impl Cast for TextureLODGatherFormatPropertiesAMDBuilder { } } +unsafe impl Cast for ThrottleHintSubmitInfoSEC { + type Target = ThrottleHintSubmitInfoSEC; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for ThrottleHintSubmitInfoSEC { + type Builder = ThrottleHintSubmitInfoSECBuilder; +} + +/// A builder for a [`ThrottleHintSubmitInfoSEC`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct ThrottleHintSubmitInfoSECBuilder { + value: ThrottleHintSubmitInfoSEC, +} + +impl ThrottleHintSubmitInfoSECBuilder { + #[inline] + pub fn throttle_hint(mut self, throttle_hint: ThrottleHintTypeSEC) -> Self { + self.value.throttle_hint = throttle_hint; + self + } + + #[inline] + pub fn build(self) -> ThrottleHintSubmitInfoSEC { + self.value + } +} + +impl ops::Deref for ThrottleHintSubmitInfoSECBuilder { + type Target = ThrottleHintSubmitInfoSEC; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for ThrottleHintSubmitInfoSECBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for ThrottleHintSubmitInfoSECBuilder { + type Target = ThrottleHintSubmitInfoSEC; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for TileMemoryBindInfoQCOM { type Target = TileMemoryBindInfoQCOM; diff --git a/vulkanalia/src/vk/chains.rs b/vulkanalia/src/vk/chains.rs index 33a199d4..192e0661 100644 --- a/vulkanalia/src/vk/chains.rs +++ b/vulkanalia/src/vk/chains.rs @@ -92,6 +92,20 @@ unsafe impl InputChainStruct for AccelerationStructureCaptureDescriptorDataInfoE } } +unsafe impl InputChainStruct for AccelerationStructureCreateInfo2KHR { + const TYPE: StructureType = StructureType::ACCELERATION_STRUCTURE_CREATE_INFO_2_KHR; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + unsafe impl InputChainStruct for AccelerationStructureCreateInfoKHR { const TYPE: StructureType = StructureType::ACCELERATION_STRUCTURE_CREATE_INFO_KHR; @@ -847,6 +861,20 @@ unsafe impl InputChainStruct for BindImagePlaneMemoryInfo { } } +unsafe impl InputChainStruct for BindIndexBuffer3InfoKHR { + const TYPE: StructureType = StructureType::BIND_INDEX_BUFFER_3_INFO_KHR; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + unsafe impl InputChainStruct for BindMemoryStatus { const TYPE: StructureType = StructureType::BIND_MEMORY_STATUS; @@ -889,6 +917,34 @@ unsafe impl InputChainStruct for BindTensorMemoryInfoARM { } } +unsafe impl InputChainStruct for BindTransformFeedbackBuffer2InfoEXT { + const TYPE: StructureType = StructureType::BIND_TRANSFORM_FEEDBACK_BUFFER_2_INFO_EXT; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl InputChainStruct for BindVertexBuffer3InfoKHR { + const TYPE: StructureType = StructureType::BIND_VERTEX_BUFFER_3_INFO_KHR; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + unsafe impl InputChainStruct for BindVideoSessionMemoryInfoKHR { const TYPE: StructureType = StructureType::BIND_VIDEO_SESSION_MEMORY_INFO_KHR; @@ -1558,6 +1614,20 @@ unsafe impl InputChainStruct for ComputePipelineIndirectBufferInfoNV { } } +unsafe impl InputChainStruct for ConditionalRenderingBeginInfo2EXT { + const TYPE: StructureType = StructureType::CONDITIONAL_RENDERING_BEGIN_INFO_2_EXT; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + unsafe impl InputChainStruct for ConditionalRenderingBeginInfoEXT { const TYPE: StructureType = StructureType::CONDITIONAL_RENDERING_BEGIN_INFO_EXT; @@ -1754,6 +1824,34 @@ unsafe impl InputChainStruct for CopyDescriptorSet { } } +unsafe impl InputChainStruct for CopyDeviceMemoryImageInfoKHR { + const TYPE: StructureType = StructureType::COPY_DEVICE_MEMORY_IMAGE_INFO_KHR; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl InputChainStruct for CopyDeviceMemoryInfoKHR { + const TYPE: StructureType = StructureType::COPY_DEVICE_MEMORY_INFO_KHR; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + unsafe impl InputChainStruct for CopyImageInfo2 { const TYPE: StructureType = StructureType::COPY_IMAGE_INFO_2; @@ -2048,6 +2146,41 @@ unsafe impl InputChainStruct for D3D12FenceSubmitInfoKHR { } } +unsafe impl InputChainStruct for DataGraphOpticalFlowImageFormatInfoARM { + const TYPE: StructureType = StructureType::DATA_GRAPH_OPTICAL_FLOW_IMAGE_FORMAT_INFO_ARM; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl InputChainStruct for DataGraphOpticalFlowImageFormatPropertiesARM { + const TYPE: StructureType = StructureType::DATA_GRAPH_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_ARM; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for DataGraphOpticalFlowImageFormatPropertiesARM { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for DataGraphPipelineBuiltinModelCreateInfoQCOM { const TYPE: StructureType = StructureType::DATA_GRAPH_PIPELINE_BUILTIN_MODEL_CREATE_INFO_QCOM; @@ -2168,6 +2301,63 @@ unsafe impl InputChainStruct for DataGraphPipelineInfoARM { } } +unsafe impl InputChainStruct for DataGraphPipelineNeuralStatisticsCreateInfoARM { + const TYPE: StructureType = + StructureType::DATA_GRAPH_PIPELINE_NEURAL_STATISTICS_CREATE_INFO_ARM; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl InputChainStruct for DataGraphPipelineOpticalFlowCreateInfoARM { + const TYPE: StructureType = StructureType::DATA_GRAPH_PIPELINE_OPTICAL_FLOW_CREATE_INFO_ARM; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for DataGraphPipelineOpticalFlowCreateInfoARM { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + +unsafe impl InputChainStruct for DataGraphPipelineOpticalFlowDispatchInfoARM { + const TYPE: StructureType = StructureType::DATA_GRAPH_PIPELINE_OPTICAL_FLOW_DISPATCH_INFO_ARM; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for DataGraphPipelineOpticalFlowDispatchInfoARM { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for DataGraphPipelinePropertyQueryResultARM { const TYPE: StructureType = StructureType::DATA_GRAPH_PIPELINE_PROPERTY_QUERY_RESULT_ARM; @@ -2203,6 +2393,20 @@ unsafe impl InputChainStruct for DataGraphPipelineResourceInfoARM { } } +unsafe impl InputChainStruct for DataGraphPipelineResourceInfoImageLayoutARM { + const TYPE: StructureType = StructureType::DATA_GRAPH_PIPELINE_RESOURCE_INFO_IMAGE_LAYOUT_ARM; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + unsafe impl InputChainStruct for DataGraphPipelineSessionBindPointRequirementARM { const TYPE: StructureType = StructureType::DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_REQUIREMENT_ARM; @@ -2269,6 +2473,21 @@ unsafe impl InputChainStruct for DataGraphPipelineSessionMemoryRequirementsInfoA } } +unsafe impl InputChainStruct for DataGraphPipelineSessionNeuralStatisticsCreateInfoARM { + const TYPE: StructureType = + StructureType::DATA_GRAPH_PIPELINE_SESSION_NEURAL_STATISTICS_CREATE_INFO_ARM; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + unsafe impl InputChainStruct for DataGraphPipelineShaderModuleCreateInfoARM { const TYPE: StructureType = StructureType::DATA_GRAPH_PIPELINE_SHADER_MODULE_CREATE_INFO_ARM; @@ -2283,6 +2502,48 @@ unsafe impl InputChainStruct for DataGraphPipelineShaderModuleCreateInfoARM { } } +unsafe impl InputChainStruct for DataGraphPipelineSingleNodeConnectionARM { + const TYPE: StructureType = StructureType::DATA_GRAPH_PIPELINE_SINGLE_NODE_CONNECTION_ARM; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for DataGraphPipelineSingleNodeConnectionARM { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + +unsafe impl InputChainStruct for DataGraphPipelineSingleNodeCreateInfoARM { + const TYPE: StructureType = StructureType::DATA_GRAPH_PIPELINE_SINGLE_NODE_CREATE_INFO_ARM; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for DataGraphPipelineSingleNodeCreateInfoARM { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for DataGraphProcessingEngineCreateInfoARM { const TYPE: StructureType = StructureType::DATA_GRAPH_PROCESSING_ENGINE_CREATE_INFO_ARM; @@ -2902,6 +3163,27 @@ unsafe impl OutputChainStruct for DeviceFaultCountsEXT { } } +unsafe impl InputChainStruct for DeviceFaultDebugInfoKHR { + const TYPE: StructureType = StructureType::DEVICE_FAULT_DEBUG_INFO_KHR; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for DeviceFaultDebugInfoKHR { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for DeviceFaultInfoEXT { const TYPE: StructureType = StructureType::DEVICE_FAULT_INFO_EXT; @@ -2923,6 +3205,48 @@ unsafe impl OutputChainStruct for DeviceFaultInfoEXT { } } +unsafe impl InputChainStruct for DeviceFaultInfoKHR { + const TYPE: StructureType = StructureType::DEVICE_FAULT_INFO_KHR; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for DeviceFaultInfoKHR { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + +unsafe impl InputChainStruct for DeviceFaultShaderAbortMessageInfoKHR { + const TYPE: StructureType = StructureType::DEVICE_FAULT_SHADER_ABORT_MESSAGE_INFO_KHR; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for DeviceFaultShaderAbortMessageInfoKHR { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for DeviceGroupBindSparseInfo { const TYPE: StructureType = StructureType::DEVICE_GROUP_BIND_SPARSE_INFO; @@ -3070,6 +3394,34 @@ unsafe impl InputChainStruct for DeviceImageSubresourceInfo { } } +unsafe impl InputChainStruct for DeviceMemoryCopyKHR { + const TYPE: StructureType = StructureType::DEVICE_MEMORY_COPY_KHR; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl InputChainStruct for DeviceMemoryImageCopyKHR { + const TYPE: StructureType = StructureType::DEVICE_MEMORY_IMAGE_COPY_KHR; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + unsafe impl InputChainStruct for DeviceMemoryOpaqueCaptureAddressInfo { const TYPE: StructureType = StructureType::DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO; @@ -3260,8 +3612,36 @@ unsafe impl OutputChainStruct for DirectDriverLoadingInfoLUNARG { } } -unsafe impl InputChainStruct for DirectDriverLoadingListLUNARG { - const TYPE: StructureType = StructureType::DIRECT_DRIVER_LOADING_LIST_LUNARG; +unsafe impl InputChainStruct for DirectDriverLoadingListLUNARG { + const TYPE: StructureType = StructureType::DIRECT_DRIVER_LOADING_LIST_LUNARG; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl InputChainStruct for DirectFBSurfaceCreateInfoEXT { + const TYPE: StructureType = StructureType::DIRECTFB_SURFACE_CREATE_INFO_EXT; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl InputChainStruct for DispatchIndirect2InfoKHR { + const TYPE: StructureType = StructureType::DISPATCH_INDIRECT_2_INFO_KHR; #[inline] fn s_type(&self) -> StructureType { @@ -3274,8 +3654,8 @@ unsafe impl InputChainStruct for DirectDriverLoadingListLUNARG { } } -unsafe impl InputChainStruct for DirectFBSurfaceCreateInfoEXT { - const TYPE: StructureType = StructureType::DIRECTFB_SURFACE_CREATE_INFO_EXT; +unsafe impl InputChainStruct for DispatchParametersARM { + const TYPE: StructureType = StructureType::DISPATCH_PARAMETERS_ARM; #[inline] fn s_type(&self) -> StructureType { @@ -3288,6 +3668,13 @@ unsafe impl InputChainStruct for DirectFBSurfaceCreateInfoEXT { } } +unsafe impl OutputChainStruct for DispatchParametersARM { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for DispatchTileInfoQCOM { const TYPE: StructureType = StructureType::DISPATCH_TILE_INFO_QCOM; @@ -3526,6 +3913,34 @@ unsafe impl InputChainStruct for DisplaySurfaceStereoCreateInfoNV { } } +unsafe impl InputChainStruct for DrawIndirect2InfoKHR { + const TYPE: StructureType = StructureType::DRAW_INDIRECT_2_INFO_KHR; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl InputChainStruct for DrawIndirectCount2InfoKHR { + const TYPE: StructureType = StructureType::DRAW_INDIRECT_COUNT_2_INFO_KHR; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + unsafe impl InputChainStruct for DrmFormatModifierPropertiesList2EXT { const TYPE: StructureType = StructureType::DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT; @@ -6088,6 +6503,20 @@ unsafe impl InputChainStruct for MemoryMapPlacedInfoEXT { } } +unsafe impl InputChainStruct for MemoryMarkerInfoAMD { + const TYPE: StructureType = StructureType::MEMORY_MARKER_INFO_AMD; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + unsafe impl InputChainStruct for MemoryMetalHandlePropertiesEXT { const TYPE: StructureType = StructureType::MEMORY_METAL_HANDLE_PROPERTIES_EXT; @@ -6137,6 +6566,34 @@ unsafe impl InputChainStruct for MemoryPriorityAllocateInfoEXT { } } +unsafe impl InputChainStruct for MemoryRangeBarrierKHR { + const TYPE: StructureType = StructureType::MEMORY_RANGE_BARRIER_KHR; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl InputChainStruct for MemoryRangeBarriersInfoKHR { + const TYPE: StructureType = StructureType::MEMORY_RANGE_BARRIERS_INFO_KHR; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + unsafe impl InputChainStruct for MemoryRequirements2 { const TYPE: StructureType = StructureType::MEMORY_REQUIREMENTS_2; @@ -6720,6 +7177,27 @@ unsafe impl InputChainStruct for PerTileEndInfoQCOM { } } +unsafe impl InputChainStruct for PerfHintInfoQCOM { + const TYPE: StructureType = StructureType::PERF_HINT_INFO_QCOM; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PerfHintInfoQCOM { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for PerformanceConfigurationAcquireInfoINTEL { const TYPE: StructureType = StructureType::PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL; @@ -7996,6 +8474,49 @@ unsafe impl OutputChainStruct for PhysicalDeviceDataGraphModelFeaturesQCOM { } } +unsafe impl InputChainStruct for PhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM { + const TYPE: StructureType = + StructureType::PHYSICAL_DEVICE_DATA_GRAPH_NEURAL_ACCELERATOR_STATISTICS_FEATURES_ARM; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + +unsafe impl InputChainStruct for PhysicalDeviceDataGraphOpticalFlowFeaturesARM { + const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DATA_GRAPH_OPTICAL_FLOW_FEATURES_ARM; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PhysicalDeviceDataGraphOpticalFlowFeaturesARM { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV { const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV; @@ -8423,6 +8944,27 @@ unsafe impl OutputChainStruct for PhysicalDeviceDescriptorSetHostMappingFeatures } } +unsafe impl InputChainStruct for PhysicalDeviceDeviceAddressCommandsFeaturesKHR { + const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DEVICE_ADDRESS_COMMANDS_FEATURES_KHR; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PhysicalDeviceDeviceAddressCommandsFeaturesKHR { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV { const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV; @@ -9180,6 +9722,48 @@ unsafe impl OutputChainStruct for PhysicalDeviceFaultFeaturesEXT { } } +unsafe impl InputChainStruct for PhysicalDeviceFaultFeaturesKHR { + const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_FAULT_FEATURES_KHR; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PhysicalDeviceFaultFeaturesKHR { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + +unsafe impl InputChainStruct for PhysicalDeviceFaultPropertiesKHR { + const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_FAULT_PROPERTIES_KHR; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PhysicalDeviceFaultPropertiesKHR { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for PhysicalDeviceFeatures2 { const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_FEATURES_2; @@ -10509,6 +11093,27 @@ unsafe impl OutputChainStruct for PhysicalDeviceMaintenance10PropertiesKHR { } } +unsafe impl InputChainStruct for PhysicalDeviceMaintenance11FeaturesKHR { + const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MAINTENANCE_11_FEATURES_KHR; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PhysicalDeviceMaintenance11FeaturesKHR { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for PhysicalDeviceMaintenance3Properties { const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES; @@ -11994,6 +12599,27 @@ unsafe impl OutputChainStruct for PhysicalDevicePresentWaitFeaturesKHR { } } +unsafe impl InputChainStruct for PhysicalDevicePrimitiveRestartIndexFeaturesEXT { + const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PRIMITIVE_RESTART_INDEX_FEATURES_EXT; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PhysicalDevicePrimitiveRestartIndexFeaturesEXT { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT { const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT; @@ -12185,8 +12811,51 @@ unsafe impl OutputChainStruct for PhysicalDevicePushConstantBankFeaturesNV { } } -unsafe impl InputChainStruct for PhysicalDevicePushConstantBankPropertiesNV { - const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PUSH_CONSTANT_BANK_PROPERTIES_NV; +unsafe impl InputChainStruct for PhysicalDevicePushConstantBankPropertiesNV { + const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PUSH_CONSTANT_BANK_PROPERTIES_NV; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PhysicalDevicePushConstantBankPropertiesNV { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + +unsafe impl InputChainStruct for PhysicalDevicePushDescriptorProperties { + const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PhysicalDevicePushDescriptorProperties { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + +unsafe impl InputChainStruct for PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM { + const TYPE: StructureType = + StructureType::PHYSICAL_DEVICE_QUEUE_FAMILY_DATA_GRAPH_PROCESSING_ENGINE_INFO_ARM; #[inline] fn s_type(&self) -> StructureType { @@ -12199,15 +12868,8 @@ unsafe impl InputChainStruct for PhysicalDevicePushConstantBankPropertiesNV { } } -unsafe impl OutputChainStruct for PhysicalDevicePushConstantBankPropertiesNV { - #[inline] - fn next_mut(&self) -> *mut c_void { - self.next - } -} - -unsafe impl InputChainStruct for PhysicalDevicePushDescriptorProperties { - const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES; +unsafe impl InputChainStruct for PhysicalDeviceQueuePerfHintFeaturesQCOM { + const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_QUEUE_PERF_HINT_FEATURES_QCOM; #[inline] fn s_type(&self) -> StructureType { @@ -12220,16 +12882,15 @@ unsafe impl InputChainStruct for PhysicalDevicePushDescriptorProperties { } } -unsafe impl OutputChainStruct for PhysicalDevicePushDescriptorProperties { +unsafe impl OutputChainStruct for PhysicalDeviceQueuePerfHintFeaturesQCOM { #[inline] fn next_mut(&self) -> *mut c_void { self.next } } -unsafe impl InputChainStruct for PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM { - const TYPE: StructureType = - StructureType::PHYSICAL_DEVICE_QUEUE_FAMILY_DATA_GRAPH_PROCESSING_ENGINE_INFO_ARM; +unsafe impl InputChainStruct for PhysicalDeviceQueuePerfHintPropertiesQCOM { + const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_QUEUE_PERF_HINT_PROPERTIES_QCOM; #[inline] fn s_type(&self) -> StructureType { @@ -12242,6 +12903,13 @@ unsafe impl InputChainStruct for PhysicalDeviceQueueFamilyDataGraphProcessingEng } } +unsafe impl OutputChainStruct for PhysicalDeviceQueuePerfHintPropertiesQCOM { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for PhysicalDeviceRGBA10X6FormatsFeaturesEXT { const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT; @@ -12798,6 +13466,28 @@ unsafe impl OutputChainStruct for PhysicalDeviceScalarBlockLayoutFeatures { } } +unsafe impl InputChainStruct for PhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM { + const TYPE: StructureType = + StructureType::PHYSICAL_DEVICE_SCHEDULING_CONTROLS_DISPATCH_PARAMETERS_PROPERTIES_ARM; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for PhysicalDeviceSchedulingControlsFeaturesARM { const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM; @@ -12883,6 +13573,48 @@ unsafe impl OutputChainStruct for PhysicalDeviceShader64BitIndexingFeaturesEXT { } } +unsafe impl InputChainStruct for PhysicalDeviceShaderAbortFeaturesKHR { + const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_ABORT_FEATURES_KHR; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PhysicalDeviceShaderAbortFeaturesKHR { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + +unsafe impl InputChainStruct for PhysicalDeviceShaderAbortPropertiesKHR { + const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_ABORT_PROPERTIES_KHR; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PhysicalDeviceShaderAbortPropertiesKHR { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV { const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV; @@ -13010,6 +13742,27 @@ unsafe impl OutputChainStruct for PhysicalDeviceShaderClockFeaturesKHR { } } +unsafe impl InputChainStruct for PhysicalDeviceShaderConstantDataFeaturesKHR { + const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_CONSTANT_DATA_FEATURES_KHR; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PhysicalDeviceShaderConstantDataFeaturesKHR { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for PhysicalDeviceShaderCoreBuiltinsFeaturesARM { const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM; @@ -13370,6 +14123,49 @@ unsafe impl OutputChainStruct for PhysicalDeviceShaderImageFootprintFeaturesNV { } } +unsafe impl InputChainStruct for PhysicalDeviceShaderInstrumentationFeaturesARM { + const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_INSTRUMENTATION_FEATURES_ARM; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PhysicalDeviceShaderInstrumentationFeaturesARM { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + +unsafe impl InputChainStruct for PhysicalDeviceShaderInstrumentationPropertiesARM { + const TYPE: StructureType = + StructureType::PHYSICAL_DEVICE_SHADER_INSTRUMENTATION_PROPERTIES_ARM; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PhysicalDeviceShaderInstrumentationPropertiesARM { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for PhysicalDeviceShaderIntegerDotProductFeatures { const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES; @@ -14273,6 +15069,27 @@ unsafe impl OutputChainStruct for PhysicalDeviceTextureCompressionASTCHDRFeature } } +unsafe impl InputChainStruct for PhysicalDeviceThrottleHintFeaturesSEC { + const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_THROTTLE_HINT_FEATURES_SEC; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PhysicalDeviceThrottleHintFeaturesSEC { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for PhysicalDeviceTileMemoryHeapFeaturesQCOM { const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_TILE_MEMORY_HEAP_FEATURES_QCOM; @@ -16411,6 +17228,27 @@ unsafe impl OutputChainStruct for QueueFamilyCheckpointPropertiesNV { } } +unsafe impl InputChainStruct for QueueFamilyDataGraphOpticalFlowPropertiesARM { + const TYPE: StructureType = StructureType::QUEUE_FAMILY_DATA_GRAPH_OPTICAL_FLOW_PROPERTIES_ARM; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for QueueFamilyDataGraphOpticalFlowPropertiesARM { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for QueueFamilyDataGraphProcessingEnginePropertiesARM { const TYPE: StructureType = StructureType::QUEUE_FAMILY_DATA_GRAPH_PROCESSING_ENGINE_PROPERTIES_ARM; @@ -16454,6 +17292,27 @@ unsafe impl OutputChainStruct for QueueFamilyDataGraphPropertiesARM { } } +unsafe impl InputChainStruct for QueueFamilyDataGraphTOSAPropertiesARM { + const TYPE: StructureType = StructureType::QUEUE_FAMILY_DATA_GRAPH_TOSA_PROPERTIES_ARM; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for QueueFamilyDataGraphTOSAPropertiesARM { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for QueueFamilyGlobalPriorityProperties { const TYPE: StructureType = StructureType::QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES; @@ -16475,6 +17334,28 @@ unsafe impl OutputChainStruct for QueueFamilyGlobalPriorityProperties { } } +unsafe impl InputChainStruct for QueueFamilyOptimalImageTransferGranularityPropertiesKHR { + const TYPE: StructureType = + StructureType::QUEUE_FAMILY_OPTIMAL_IMAGE_TRANSFER_GRANULARITY_PROPERTIES_KHR; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for QueueFamilyOptimalImageTransferGranularityPropertiesKHR { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for QueueFamilyOwnershipTransferPropertiesKHR { const TYPE: StructureType = StructureType::QUEUE_FAMILY_OWNERSHIP_TRANSFER_PROPERTIES_KHR; @@ -17620,6 +18501,48 @@ unsafe impl InputChainStruct for ShaderDescriptorSetAndBindingMappingInfoEXT { } } +unsafe impl InputChainStruct for ShaderInstrumentationCreateInfoARM { + const TYPE: StructureType = StructureType::SHADER_INSTRUMENTATION_CREATE_INFO_ARM; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for ShaderInstrumentationCreateInfoARM { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + +unsafe impl InputChainStruct for ShaderInstrumentationMetricDescriptionARM { + const TYPE: StructureType = StructureType::SHADER_INSTRUMENTATION_METRIC_DESCRIPTION_ARM; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for ShaderInstrumentationMetricDescriptionARM { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for ShaderModuleCreateInfo { const TYPE: StructureType = StructureType::SHADER_MODULE_CREATE_INFO; @@ -18607,6 +19530,20 @@ unsafe impl OutputChainStruct for TextureLODGatherFormatPropertiesAMD { } } +unsafe impl InputChainStruct for ThrottleHintSubmitInfoSEC { + const TYPE: StructureType = StructureType::THROTTLE_HINT_SUBMIT_INFO_SEC; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + unsafe impl InputChainStruct for TileMemoryBindInfoQCOM { const TYPE: StructureType = StructureType::TILE_MEMORY_BIND_INFO_QCOM; diff --git a/vulkanalia/src/vk/commands.rs b/vulkanalia/src/vk/commands.rs index 925dcf37..13a930f6 100644 --- a/vulkanalia/src/vk/commands.rs +++ b/vulkanalia/src/vk/commands.rs @@ -51,6 +51,8 @@ pub struct DeviceCommands { pub bind_video_session_memory_khr: PFN_vkBindVideoSessionMemoryKHR, pub build_acceleration_structures_khr: PFN_vkBuildAccelerationStructuresKHR, pub build_micromaps_ext: PFN_vkBuildMicromapsEXT, + pub clear_shader_instrumentation_metrics_arm: PFN_vkClearShaderInstrumentationMetricsARM, + pub cmd_begin_conditional_rendering2_ext: PFN_vkCmdBeginConditionalRendering2EXT, pub cmd_begin_conditional_rendering_ext: PFN_vkCmdBeginConditionalRenderingEXT, pub cmd_begin_custom_resolve_ext: PFN_vkCmdBeginCustomResolveEXT, pub cmd_begin_per_tile_execution_qcom: PFN_vkCmdBeginPerTileExecutionQCOM, @@ -61,6 +63,8 @@ pub struct DeviceCommands { pub cmd_begin_render_pass2_khr: PFN_vkCmdBeginRenderPass2KHR, pub cmd_begin_rendering: PFN_vkCmdBeginRendering, pub cmd_begin_rendering_khr: PFN_vkCmdBeginRenderingKHR, + pub cmd_begin_shader_instrumentation_arm: PFN_vkCmdBeginShaderInstrumentationARM, + pub cmd_begin_transform_feedback2_ext: PFN_vkCmdBeginTransformFeedback2EXT, pub cmd_begin_transform_feedback_ext: PFN_vkCmdBeginTransformFeedbackEXT, pub cmd_begin_video_coding_khr: PFN_vkCmdBeginVideoCodingKHR, pub cmd_bind_descriptor_buffer_embedded_samplers2_ext: @@ -74,6 +78,7 @@ pub struct DeviceCommands { pub cmd_bind_index_buffer: PFN_vkCmdBindIndexBuffer, pub cmd_bind_index_buffer2: PFN_vkCmdBindIndexBuffer2, pub cmd_bind_index_buffer2_khr: PFN_vkCmdBindIndexBuffer2KHR, + pub cmd_bind_index_buffer3_khr: PFN_vkCmdBindIndexBuffer3KHR, pub cmd_bind_invocation_mask_huawei: PFN_vkCmdBindInvocationMaskHUAWEI, pub cmd_bind_pipeline: PFN_vkCmdBindPipeline, pub cmd_bind_pipeline_shader_group_nv: PFN_vkCmdBindPipelineShaderGroupNV, @@ -82,10 +87,12 @@ pub struct DeviceCommands { pub cmd_bind_shaders_ext: PFN_vkCmdBindShadersEXT, pub cmd_bind_shading_rate_image_nv: PFN_vkCmdBindShadingRateImageNV, pub cmd_bind_tile_memory_qcom: PFN_vkCmdBindTileMemoryQCOM, + pub cmd_bind_transform_feedback_buffers2_ext: PFN_vkCmdBindTransformFeedbackBuffers2EXT, pub cmd_bind_transform_feedback_buffers_ext: PFN_vkCmdBindTransformFeedbackBuffersEXT, pub cmd_bind_vertex_buffers: PFN_vkCmdBindVertexBuffers, pub cmd_bind_vertex_buffers2: PFN_vkCmdBindVertexBuffers2, pub cmd_bind_vertex_buffers2_ext: PFN_vkCmdBindVertexBuffers2EXT, + pub cmd_bind_vertex_buffers3_khr: PFN_vkCmdBindVertexBuffers3KHR, pub cmd_blit_image: PFN_vkCmdBlitImage, pub cmd_blit_image2: PFN_vkCmdBlitImage2, pub cmd_blit_image2_khr: PFN_vkCmdBlitImage2KHR, @@ -119,16 +126,20 @@ pub struct DeviceCommands { pub cmd_copy_image_to_buffer: PFN_vkCmdCopyImageToBuffer, pub cmd_copy_image_to_buffer2: PFN_vkCmdCopyImageToBuffer2, pub cmd_copy_image_to_buffer2_khr: PFN_vkCmdCopyImageToBuffer2KHR, + pub cmd_copy_image_to_memory_khr: PFN_vkCmdCopyImageToMemoryKHR, pub cmd_copy_memory_indirect_khr: PFN_vkCmdCopyMemoryIndirectKHR, pub cmd_copy_memory_indirect_nv: PFN_vkCmdCopyMemoryIndirectNV, + pub cmd_copy_memory_khr: PFN_vkCmdCopyMemoryKHR, pub cmd_copy_memory_to_acceleration_structure_khr: PFN_vkCmdCopyMemoryToAccelerationStructureKHR, pub cmd_copy_memory_to_image_indirect_khr: PFN_vkCmdCopyMemoryToImageIndirectKHR, pub cmd_copy_memory_to_image_indirect_nv: PFN_vkCmdCopyMemoryToImageIndirectNV, + pub cmd_copy_memory_to_image_khr: PFN_vkCmdCopyMemoryToImageKHR, pub cmd_copy_memory_to_micromap_ext: PFN_vkCmdCopyMemoryToMicromapEXT, pub cmd_copy_micromap_ext: PFN_vkCmdCopyMicromapEXT, pub cmd_copy_micromap_to_memory_ext: PFN_vkCmdCopyMicromapToMemoryEXT, pub cmd_copy_query_pool_results: PFN_vkCmdCopyQueryPoolResults, + pub cmd_copy_query_pool_results_to_memory_khr: PFN_vkCmdCopyQueryPoolResultsToMemoryKHR, pub cmd_copy_tensor_arm: PFN_vkCmdCopyTensorARM, pub cmd_cu_launch_kernel_nvx: PFN_vkCmdCuLaunchKernelNVX, pub cmd_cuda_launch_kernel_nv: PFN_vkCmdCudaLaunchKernelNV, @@ -148,21 +159,29 @@ pub struct DeviceCommands { pub cmd_dispatch_graph_indirect_amdx: PFN_vkCmdDispatchGraphIndirectAMDX, pub cmd_dispatch_graph_indirect_count_amdx: PFN_vkCmdDispatchGraphIndirectCountAMDX, pub cmd_dispatch_indirect: PFN_vkCmdDispatchIndirect, + pub cmd_dispatch_indirect2_khr: PFN_vkCmdDispatchIndirect2KHR, pub cmd_dispatch_tile_qcom: PFN_vkCmdDispatchTileQCOM, pub cmd_draw: PFN_vkCmdDraw, pub cmd_draw_cluster_huawei: PFN_vkCmdDrawClusterHUAWEI, pub cmd_draw_cluster_indirect_huawei: PFN_vkCmdDrawClusterIndirectHUAWEI, pub cmd_draw_indexed: PFN_vkCmdDrawIndexed, pub cmd_draw_indexed_indirect: PFN_vkCmdDrawIndexedIndirect, + pub cmd_draw_indexed_indirect2_khr: PFN_vkCmdDrawIndexedIndirect2KHR, pub cmd_draw_indexed_indirect_count: PFN_vkCmdDrawIndexedIndirectCount, + pub cmd_draw_indexed_indirect_count2_khr: PFN_vkCmdDrawIndexedIndirectCount2KHR, pub cmd_draw_indexed_indirect_count_amd: PFN_vkCmdDrawIndexedIndirectCountAMD, pub cmd_draw_indexed_indirect_count_khr: PFN_vkCmdDrawIndexedIndirectCountKHR, pub cmd_draw_indirect: PFN_vkCmdDrawIndirect, + pub cmd_draw_indirect2_khr: PFN_vkCmdDrawIndirect2KHR, + pub cmd_draw_indirect_byte_count2_ext: PFN_vkCmdDrawIndirectByteCount2EXT, pub cmd_draw_indirect_byte_count_ext: PFN_vkCmdDrawIndirectByteCountEXT, pub cmd_draw_indirect_count: PFN_vkCmdDrawIndirectCount, + pub cmd_draw_indirect_count2_khr: PFN_vkCmdDrawIndirectCount2KHR, pub cmd_draw_indirect_count_amd: PFN_vkCmdDrawIndirectCountAMD, pub cmd_draw_indirect_count_khr: PFN_vkCmdDrawIndirectCountKHR, pub cmd_draw_mesh_tasks_ext: PFN_vkCmdDrawMeshTasksEXT, + pub cmd_draw_mesh_tasks_indirect2_ext: PFN_vkCmdDrawMeshTasksIndirect2EXT, + pub cmd_draw_mesh_tasks_indirect_count2_ext: PFN_vkCmdDrawMeshTasksIndirectCount2EXT, pub cmd_draw_mesh_tasks_indirect_count_ext: PFN_vkCmdDrawMeshTasksIndirectCountEXT, pub cmd_draw_mesh_tasks_indirect_count_nv: PFN_vkCmdDrawMeshTasksIndirectCountNV, pub cmd_draw_mesh_tasks_indirect_ext: PFN_vkCmdDrawMeshTasksIndirectEXT, @@ -182,12 +201,15 @@ pub struct DeviceCommands { pub cmd_end_rendering2_ext: PFN_vkCmdEndRendering2EXT, pub cmd_end_rendering2_khr: PFN_vkCmdEndRendering2KHR, pub cmd_end_rendering_khr: PFN_vkCmdEndRenderingKHR, + pub cmd_end_shader_instrumentation_arm: PFN_vkCmdEndShaderInstrumentationARM, + pub cmd_end_transform_feedback2_ext: PFN_vkCmdEndTransformFeedback2EXT, pub cmd_end_transform_feedback_ext: PFN_vkCmdEndTransformFeedbackEXT, pub cmd_end_video_coding_khr: PFN_vkCmdEndVideoCodingKHR, pub cmd_execute_commands: PFN_vkCmdExecuteCommands, pub cmd_execute_generated_commands_ext: PFN_vkCmdExecuteGeneratedCommandsEXT, pub cmd_execute_generated_commands_nv: PFN_vkCmdExecuteGeneratedCommandsNV, pub cmd_fill_buffer: PFN_vkCmdFillBuffer, + pub cmd_fill_memory_khr: PFN_vkCmdFillMemoryKHR, pub cmd_initialize_graph_scratch_memory_amdx: PFN_vkCmdInitializeGraphScratchMemoryAMDX, pub cmd_next_subpass: PFN_vkCmdNextSubpass, pub cmd_next_subpass2: PFN_vkCmdNextSubpass2, @@ -263,6 +285,7 @@ pub struct DeviceCommands { pub cmd_set_discard_rectangle_ext: PFN_vkCmdSetDiscardRectangleEXT, pub cmd_set_discard_rectangle_enable_ext: PFN_vkCmdSetDiscardRectangleEnableEXT, pub cmd_set_discard_rectangle_mode_ext: PFN_vkCmdSetDiscardRectangleModeEXT, + pub cmd_set_dispatch_parameters_arm: PFN_vkCmdSetDispatchParametersARM, pub cmd_set_event: PFN_vkCmdSetEvent, pub cmd_set_event2: PFN_vkCmdSetEvent2, pub cmd_set_event2_khr: PFN_vkCmdSetEvent2KHR, @@ -289,6 +312,7 @@ pub struct DeviceCommands { pub cmd_set_polygon_mode_ext: PFN_vkCmdSetPolygonModeEXT, pub cmd_set_primitive_restart_enable: PFN_vkCmdSetPrimitiveRestartEnable, pub cmd_set_primitive_restart_enable_ext: PFN_vkCmdSetPrimitiveRestartEnableEXT, + pub cmd_set_primitive_restart_index_ext: PFN_vkCmdSetPrimitiveRestartIndexEXT, pub cmd_set_primitive_topology: PFN_vkCmdSetPrimitiveTopology, pub cmd_set_primitive_topology_ext: PFN_vkCmdSetPrimitiveTopologyEXT, pub cmd_set_provoking_vertex_mode_ext: PFN_vkCmdSetProvokingVertexModeEXT, @@ -333,6 +357,7 @@ pub struct DeviceCommands { pub cmd_trace_rays_khr: PFN_vkCmdTraceRaysKHR, pub cmd_trace_rays_nv: PFN_vkCmdTraceRaysNV, pub cmd_update_buffer: PFN_vkCmdUpdateBuffer, + pub cmd_update_memory_khr: PFN_vkCmdUpdateMemoryKHR, pub cmd_update_pipeline_indirect_buffer_nv: PFN_vkCmdUpdatePipelineIndirectBufferNV, pub cmd_wait_events: PFN_vkCmdWaitEvents, pub cmd_wait_events2: PFN_vkCmdWaitEvents2, @@ -343,6 +368,7 @@ pub struct DeviceCommands { PFN_vkCmdWriteAccelerationStructuresPropertiesNV, pub cmd_write_buffer_marker2_amd: PFN_vkCmdWriteBufferMarker2AMD, pub cmd_write_buffer_marker_amd: PFN_vkCmdWriteBufferMarkerAMD, + pub cmd_write_marker_to_memory_amd: PFN_vkCmdWriteMarkerToMemoryAMD, pub cmd_write_micromaps_properties_ext: PFN_vkCmdWriteMicromapsPropertiesEXT, pub cmd_write_timestamp: PFN_vkCmdWriteTimestamp, pub cmd_write_timestamp2: PFN_vkCmdWriteTimestamp2, @@ -361,6 +387,7 @@ pub struct DeviceCommands { pub copy_memory_to_micromap_ext: PFN_vkCopyMemoryToMicromapEXT, pub copy_micromap_ext: PFN_vkCopyMicromapEXT, pub copy_micromap_to_memory_ext: PFN_vkCopyMicromapToMemoryEXT, + pub create_acceleration_structure2_khr: PFN_vkCreateAccelerationStructure2KHR, pub create_acceleration_structure_khr: PFN_vkCreateAccelerationStructureKHR, pub create_acceleration_structure_nv: PFN_vkCreateAccelerationStructureNV, pub create_buffer: PFN_vkCreateBuffer, @@ -408,6 +435,7 @@ pub struct DeviceCommands { pub create_sampler_ycbcr_conversion_khr: PFN_vkCreateSamplerYcbcrConversionKHR, pub create_semaphore: PFN_vkCreateSemaphore, pub create_semaphore_sci_sync_pool_nv: PFN_vkCreateSemaphoreSciSyncPoolNV, + pub create_shader_instrumentation_arm: PFN_vkCreateShaderInstrumentationARM, pub create_shader_module: PFN_vkCreateShaderModule, pub create_shaders_ext: PFN_vkCreateShadersEXT, pub create_shared_swapchains_khr: PFN_vkCreateSharedSwapchainsKHR, @@ -462,6 +490,7 @@ pub struct DeviceCommands { pub destroy_semaphore: PFN_vkDestroySemaphore, pub destroy_semaphore_sci_sync_pool_nv: PFN_vkDestroySemaphoreSciSyncPoolNV, pub destroy_shader_ext: PFN_vkDestroyShaderEXT, + pub destroy_shader_instrumentation_arm: PFN_vkDestroyShaderInstrumentationARM, pub destroy_shader_module: PFN_vkDestroyShaderModule, pub destroy_swapchain_khr: PFN_vkDestroySwapchainKHR, pub destroy_tensor_arm: PFN_vkDestroyTensorARM, @@ -525,7 +554,9 @@ pub struct DeviceCommands { pub get_device_buffer_memory_requirements: PFN_vkGetDeviceBufferMemoryRequirements, pub get_device_buffer_memory_requirements_khr: PFN_vkGetDeviceBufferMemoryRequirementsKHR, pub get_device_combined_image_sampler_index_nvx: PFN_vkGetDeviceCombinedImageSamplerIndexNVX, + pub get_device_fault_debug_info_khr: PFN_vkGetDeviceFaultDebugInfoKHR, pub get_device_fault_info_ext: PFN_vkGetDeviceFaultInfoEXT, + pub get_device_fault_reports_khr: PFN_vkGetDeviceFaultReportsKHR, pub get_device_group_peer_memory_features: PFN_vkGetDeviceGroupPeerMemoryFeatures, pub get_device_group_peer_memory_features_khr: PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR, pub get_device_group_present_capabilities_khr: PFN_vkGetDeviceGroupPresentCapabilitiesKHR, @@ -639,6 +670,7 @@ pub struct DeviceCommands { pub get_semaphore_zircon_handle_fuchsia: PFN_vkGetSemaphoreZirconHandleFUCHSIA, pub get_shader_binary_data_ext: PFN_vkGetShaderBinaryDataEXT, pub get_shader_info_amd: PFN_vkGetShaderInfoAMD, + pub get_shader_instrumentation_values_arm: PFN_vkGetShaderInstrumentationValuesARM, pub get_shader_module_create_info_identifier_ext: PFN_vkGetShaderModuleCreateInfoIdentifierEXT, pub get_shader_module_identifier_ext: PFN_vkGetShaderModuleIdentifierEXT, pub get_swapchain_counter_ext: PFN_vkGetSwapchainCounterEXT, @@ -673,6 +705,7 @@ pub struct DeviceCommands { pub queue_bind_sparse: PFN_vkQueueBindSparse, pub queue_notify_out_of_band_nv: PFN_vkQueueNotifyOutOfBandNV, pub queue_present_khr: PFN_vkQueuePresentKHR, + pub queue_set_perf_hint_qcom: PFN_vkQueueSetPerfHintQCOM, pub queue_set_performance_configuration_intel: PFN_vkQueueSetPerformanceConfigurationINTEL, pub queue_submit: PFN_vkQueueSubmit, pub queue_submit2: PFN_vkQueueSubmit2, @@ -1095,6 +1128,34 @@ impl DeviceCommands { fallback } }, + clear_shader_instrumentation_metrics_arm: { + let value = loader(c"vkClearShaderInstrumentationMetricsARM".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _device: Device, + _instrumentation: ShaderInstrumentationARM, + ) { + panic!("could not load vkClearShaderInstrumentationMetricsARM") + } + fallback + } + }, + cmd_begin_conditional_rendering2_ext: { + let value = loader(c"vkCmdBeginConditionalRendering2EXT".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _command_buffer: CommandBuffer, + _conditional_rendering_begin: *const ConditionalRenderingBeginInfo2EXT, + ) { + panic!("could not load vkCmdBeginConditionalRendering2EXT") + } + fallback + } + }, cmd_begin_conditional_rendering_ext: { let value = loader(c"vkCmdBeginConditionalRenderingEXT".as_ptr()); if let Some(value) = value { @@ -1243,6 +1304,36 @@ impl DeviceCommands { fallback } }, + cmd_begin_shader_instrumentation_arm: { + let value = loader(c"vkCmdBeginShaderInstrumentationARM".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _command_buffer: CommandBuffer, + _instrumentation: ShaderInstrumentationARM, + ) { + panic!("could not load vkCmdBeginShaderInstrumentationARM") + } + fallback + } + }, + cmd_begin_transform_feedback2_ext: { + let value = loader(c"vkCmdBeginTransformFeedback2EXT".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _command_buffer: CommandBuffer, + _first_counter_range: u32, + _counter_range_count: u32, + _counter_infos: *const BindTransformFeedbackBuffer2InfoEXT, + ) { + panic!("could not load vkCmdBeginTransformFeedback2EXT") + } + fallback + } + }, cmd_begin_transform_feedback_ext: { let value = loader(c"vkCmdBeginTransformFeedbackEXT".as_ptr()); if let Some(value) = value { @@ -1417,6 +1508,20 @@ impl DeviceCommands { fallback } }, + cmd_bind_index_buffer3_khr: { + let value = loader(c"vkCmdBindIndexBuffer3KHR".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _command_buffer: CommandBuffer, + _info: *const BindIndexBuffer3InfoKHR, + ) { + panic!("could not load vkCmdBindIndexBuffer3KHR") + } + fallback + } + }, cmd_bind_invocation_mask_huawei: { let value = loader(c"vkCmdBindInvocationMaskHUAWEI".as_ptr()); if let Some(value) = value { @@ -1536,6 +1641,22 @@ impl DeviceCommands { fallback } }, + cmd_bind_transform_feedback_buffers2_ext: { + let value = loader(c"vkCmdBindTransformFeedbackBuffers2EXT".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _command_buffer: CommandBuffer, + _first_binding: u32, + _binding_count: u32, + _binding_infos: *const BindTransformFeedbackBuffer2InfoEXT, + ) { + panic!("could not load vkCmdBindTransformFeedbackBuffers2EXT") + } + fallback + } + }, cmd_bind_transform_feedback_buffers_ext: { let value = loader(c"vkCmdBindTransformFeedbackBuffersEXT".as_ptr()); if let Some(value) = value { @@ -1609,6 +1730,22 @@ impl DeviceCommands { fallback } }, + cmd_bind_vertex_buffers3_khr: { + let value = loader(c"vkCmdBindVertexBuffers3KHR".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _command_buffer: CommandBuffer, + _first_binding: u32, + _binding_count: u32, + _binding_infos: *const BindVertexBuffer3InfoKHR, + ) { + panic!("could not load vkCmdBindVertexBuffers3KHR") + } + fallback + } + }, cmd_blit_image: { let value = loader(c"vkCmdBlitImage".as_ptr()); if let Some(value) = value { @@ -2065,6 +2202,20 @@ impl DeviceCommands { fallback } }, + cmd_copy_image_to_memory_khr: { + let value = loader(c"vkCmdCopyImageToMemoryKHR".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _command_buffer: CommandBuffer, + _copy_memory_info: *const CopyDeviceMemoryImageInfoKHR, + ) { + panic!("could not load vkCmdCopyImageToMemoryKHR") + } + fallback + } + }, cmd_copy_memory_indirect_khr: { let value = loader(c"vkCmdCopyMemoryIndirectKHR".as_ptr()); if let Some(value) = value { @@ -2095,6 +2246,20 @@ impl DeviceCommands { fallback } }, + cmd_copy_memory_khr: { + let value = loader(c"vkCmdCopyMemoryKHR".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _command_buffer: CommandBuffer, + _copy_memory_info: *const CopyDeviceMemoryInfoKHR, + ) { + panic!("could not load vkCmdCopyMemoryKHR") + } + fallback + } + }, cmd_copy_memory_to_acceleration_structure_khr: { let value = loader(c"vkCmdCopyMemoryToAccelerationStructureKHR".as_ptr()); if let Some(value) = value { @@ -2142,6 +2307,20 @@ impl DeviceCommands { fallback } }, + cmd_copy_memory_to_image_khr: { + let value = loader(c"vkCmdCopyMemoryToImageKHR".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _command_buffer: CommandBuffer, + _copy_memory_info: *const CopyDeviceMemoryImageInfoKHR, + ) { + panic!("could not load vkCmdCopyMemoryToImageKHR") + } + fallback + } + }, cmd_copy_memory_to_micromap_ext: { let value = loader(c"vkCmdCopyMemoryToMicromapEXT".as_ptr()); if let Some(value) = value { @@ -2204,6 +2383,25 @@ impl DeviceCommands { fallback } }, + cmd_copy_query_pool_results_to_memory_khr: { + let value = loader(c"vkCmdCopyQueryPoolResultsToMemoryKHR".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _command_buffer: CommandBuffer, + _query_pool: QueryPool, + _first_query: u32, + _query_count: u32, + _dst_range: *const StridedDeviceAddressRangeKHR, + _dst_flags: AddressCommandFlagsKHR, + _query_result_flags: QueryResultFlags, + ) { + panic!("could not load vkCmdCopyQueryPoolResultsToMemoryKHR") + } + fallback + } + }, cmd_copy_tensor_arm: { let value = loader(c"vkCmdCopyTensorARM".as_ptr()); if let Some(value) = value { @@ -2494,6 +2692,20 @@ impl DeviceCommands { fallback } }, + cmd_dispatch_indirect2_khr: { + let value = loader(c"vkCmdDispatchIndirect2KHR".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _command_buffer: CommandBuffer, + _info: *const DispatchIndirect2InfoKHR, + ) { + panic!("could not load vkCmdDispatchIndirect2KHR") + } + fallback + } + }, cmd_dispatch_tile_qcom: { let value = loader(c"vkCmdDispatchTileQCOM".as_ptr()); if let Some(value) = value { @@ -2591,6 +2803,20 @@ impl DeviceCommands { fallback } }, + cmd_draw_indexed_indirect2_khr: { + let value = loader(c"vkCmdDrawIndexedIndirect2KHR".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _command_buffer: CommandBuffer, + _info: *const DrawIndirect2InfoKHR, + ) { + panic!("could not load vkCmdDrawIndexedIndirect2KHR") + } + fallback + } + }, cmd_draw_indexed_indirect_count: { let value = loader(c"vkCmdDrawIndexedIndirectCount".as_ptr()); if let Some(value) = value { @@ -2610,6 +2836,20 @@ impl DeviceCommands { fallback } }, + cmd_draw_indexed_indirect_count2_khr: { + let value = loader(c"vkCmdDrawIndexedIndirectCount2KHR".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _command_buffer: CommandBuffer, + _info: *const DrawIndirectCount2InfoKHR, + ) { + panic!("could not load vkCmdDrawIndexedIndirectCount2KHR") + } + fallback + } + }, cmd_draw_indexed_indirect_count_amd: { let value = loader(c"vkCmdDrawIndexedIndirectCountAMD".as_ptr()); if let Some(value) = value { @@ -2665,6 +2905,38 @@ impl DeviceCommands { fallback } }, + cmd_draw_indirect2_khr: { + let value = loader(c"vkCmdDrawIndirect2KHR".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _command_buffer: CommandBuffer, + _info: *const DrawIndirect2InfoKHR, + ) { + panic!("could not load vkCmdDrawIndirect2KHR") + } + fallback + } + }, + cmd_draw_indirect_byte_count2_ext: { + let value = loader(c"vkCmdDrawIndirectByteCount2EXT".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _command_buffer: CommandBuffer, + _instance_count: u32, + _first_instance: u32, + _counter_info: *const BindTransformFeedbackBuffer2InfoEXT, + _counter_offset: u32, + _vertex_stride: u32, + ) { + panic!("could not load vkCmdDrawIndirectByteCount2EXT") + } + fallback + } + }, cmd_draw_indirect_byte_count_ext: { let value = loader(c"vkCmdDrawIndirectByteCountEXT".as_ptr()); if let Some(value) = value { @@ -2703,6 +2975,20 @@ impl DeviceCommands { fallback } }, + cmd_draw_indirect_count2_khr: { + let value = loader(c"vkCmdDrawIndirectCount2KHR".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _command_buffer: CommandBuffer, + _info: *const DrawIndirectCount2InfoKHR, + ) { + panic!("could not load vkCmdDrawIndirectCount2KHR") + } + fallback + } + }, cmd_draw_indirect_count_amd: { let value = loader(c"vkCmdDrawIndirectCountAMD".as_ptr()); if let Some(value) = value { @@ -2757,6 +3043,34 @@ impl DeviceCommands { fallback } }, + cmd_draw_mesh_tasks_indirect2_ext: { + let value = loader(c"vkCmdDrawMeshTasksIndirect2EXT".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _command_buffer: CommandBuffer, + _info: *const DrawIndirect2InfoKHR, + ) { + panic!("could not load vkCmdDrawMeshTasksIndirect2EXT") + } + fallback + } + }, + cmd_draw_mesh_tasks_indirect_count2_ext: { + let value = loader(c"vkCmdDrawMeshTasksIndirectCount2EXT".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _command_buffer: CommandBuffer, + _info: *const DrawIndirectCount2InfoKHR, + ) { + panic!("could not load vkCmdDrawMeshTasksIndirectCount2EXT") + } + fallback + } + }, cmd_draw_mesh_tasks_indirect_count_ext: { let value = loader(c"vkCmdDrawMeshTasksIndirectCountEXT".as_ptr()); if let Some(value) = value { @@ -3040,6 +3354,33 @@ impl DeviceCommands { fallback } }, + cmd_end_shader_instrumentation_arm: { + let value = loader(c"vkCmdEndShaderInstrumentationARM".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback(_command_buffer: CommandBuffer) { + panic!("could not load vkCmdEndShaderInstrumentationARM") + } + fallback + } + }, + cmd_end_transform_feedback2_ext: { + let value = loader(c"vkCmdEndTransformFeedback2EXT".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _command_buffer: CommandBuffer, + _first_counter_range: u32, + _counter_range_count: u32, + _counter_infos: *const BindTransformFeedbackBuffer2InfoEXT, + ) { + panic!("could not load vkCmdEndTransformFeedback2EXT") + } + fallback + } + }, cmd_end_transform_feedback_ext: { let value = loader(c"vkCmdEndTransformFeedbackEXT".as_ptr()); if let Some(value) = value { @@ -3133,6 +3474,22 @@ impl DeviceCommands { fallback } }, + cmd_fill_memory_khr: { + let value = loader(c"vkCmdFillMemoryKHR".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _command_buffer: CommandBuffer, + _dst_range: *const DeviceAddressRangeKHR, + _dst_flags: AddressCommandFlagsKHR, + _data: u32, + ) { + panic!("could not load vkCmdFillMemoryKHR") + } + fallback + } + }, cmd_initialize_graph_scratch_memory_amdx: { let value = loader(c"vkCmdInitializeGraphScratchMemoryAMDX".as_ptr()); if let Some(value) = value { @@ -4248,6 +4605,20 @@ impl DeviceCommands { fallback } }, + cmd_set_dispatch_parameters_arm: { + let value = loader(c"vkCmdSetDispatchParametersARM".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _command_buffer: CommandBuffer, + _dispatch_parameters: *const DispatchParametersARM, + ) { + panic!("could not load vkCmdSetDispatchParametersARM") + } + fallback + } + }, cmd_set_event: { let value = loader(c"vkCmdSetEvent".as_ptr()); if let Some(value) = value { @@ -4610,6 +4981,20 @@ impl DeviceCommands { fallback } }, + cmd_set_primitive_restart_index_ext: { + let value = loader(c"vkCmdSetPrimitiveRestartIndexEXT".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _command_buffer: CommandBuffer, + _primitive_restart_index: u32, + ) { + panic!("could not load vkCmdSetPrimitiveRestartIndexEXT") + } + fallback + } + }, cmd_set_primitive_topology: { let value = loader(c"vkCmdSetPrimitiveTopology".as_ptr()); if let Some(value) = value { @@ -5250,6 +5635,23 @@ impl DeviceCommands { fallback } }, + cmd_update_memory_khr: { + let value = loader(c"vkCmdUpdateMemoryKHR".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _command_buffer: CommandBuffer, + _dst_range: *const DeviceAddressRangeKHR, + _dst_flags: AddressCommandFlagsKHR, + _data_size: DeviceSize, + _data: *const c_void, + ) { + panic!("could not load vkCmdUpdateMemoryKHR") + } + fallback + } + }, cmd_update_pipeline_indirect_buffer_nv: { let value = loader(c"vkCmdUpdatePipelineIndirectBufferNV".as_ptr()); if let Some(value) = value { @@ -5390,6 +5792,20 @@ impl DeviceCommands { fallback } }, + cmd_write_marker_to_memory_amd: { + let value = loader(c"vkCmdWriteMarkerToMemoryAMD".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _command_buffer: CommandBuffer, + _info: *const MemoryMarkerInfoAMD, + ) { + panic!("could not load vkCmdWriteMarkerToMemoryAMD") + } + fallback + } + }, cmd_write_micromaps_properties_ext: { let value = loader(c"vkCmdWriteMicromapsPropertiesEXT".as_ptr()); if let Some(value) = value { @@ -5659,6 +6075,22 @@ impl DeviceCommands { fallback } }, + create_acceleration_structure2_khr: { + let value = loader(c"vkCreateAccelerationStructure2KHR".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _device: Device, + _create_info: *const AccelerationStructureCreateInfo2KHR, + _allocator: *const AllocationCallbacks, + _acceleration_structure: *mut AccelerationStructureKHR, + ) -> Result { + panic!("could not load vkCreateAccelerationStructure2KHR") + } + fallback + } + }, create_acceleration_structure_khr: { let value = loader(c"vkCreateAccelerationStructureKHR".as_ptr()); if let Some(value) = value { @@ -6424,6 +6856,22 @@ impl DeviceCommands { fallback } }, + create_shader_instrumentation_arm: { + let value = loader(c"vkCreateShaderInstrumentationARM".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _device: Device, + _create_info: *const ShaderInstrumentationCreateInfoARM, + _allocator: *const AllocationCallbacks, + _instrumentation: *mut ShaderInstrumentationARM, + ) -> Result { + panic!("could not load vkCreateShaderInstrumentationARM") + } + fallback + } + }, create_shader_module: { let value = loader(c"vkCreateShaderModule".as_ptr()); if let Some(value) = value { @@ -7241,6 +7689,21 @@ impl DeviceCommands { fallback } }, + destroy_shader_instrumentation_arm: { + let value = loader(c"vkDestroyShaderInstrumentationARM".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _device: Device, + _instrumentation: ShaderInstrumentationARM, + _allocator: *const AllocationCallbacks, + ) { + panic!("could not load vkDestroyShaderInstrumentationARM") + } + fallback + } + }, destroy_shader_module: { let value = loader(c"vkDestroyShaderModule".as_ptr()); if let Some(value) = value { @@ -7514,7 +7977,7 @@ impl DeviceCommands { unsafe extern "system" fn fallback( _device: Device, _info: *const AccelerationStructureMemoryRequirementsInfoNV, - _memory_requirements: *mut MemoryRequirements2KHR, + _memory_requirements: *mut MemoryRequirements2, ) { panic!("could not load vkGetAccelerationStructureMemoryRequirementsNV") } @@ -8023,6 +8486,20 @@ impl DeviceCommands { fallback } }, + get_device_fault_debug_info_khr: { + let value = loader(c"vkGetDeviceFaultDebugInfoKHR".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _device: Device, + _debug_info: *mut DeviceFaultDebugInfoKHR, + ) -> Result { + panic!("could not load vkGetDeviceFaultDebugInfoKHR") + } + fallback + } + }, get_device_fault_info_ext: { let value = loader(c"vkGetDeviceFaultInfoEXT".as_ptr()); if let Some(value) = value { @@ -8038,6 +8515,22 @@ impl DeviceCommands { fallback } }, + get_device_fault_reports_khr: { + let value = loader(c"vkGetDeviceFaultReportsKHR".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _device: Device, + _timeout: u64, + _fault_counts: *mut u32, + _fault_info: *mut DeviceFaultInfoKHR, + ) -> Result { + panic!("could not load vkGetDeviceFaultReportsKHR") + } + fallback + } + }, get_device_group_peer_memory_features: { let value = loader(c"vkGetDeviceGroupPeerMemoryFeatures".as_ptr()); if let Some(value) = value { @@ -9249,7 +9742,7 @@ impl DeviceCommands { } else { unsafe extern "system" fn fallback( _device: Device, - _pipeline_info: *const PipelineInfoEXT, + _pipeline_info: *const PipelineInfoKHR, _pipeline_properties: *mut BaseOutStructure, ) -> Result { panic!("could not load vkGetPipelinePropertiesEXT") @@ -9625,6 +10118,23 @@ impl DeviceCommands { fallback } }, + get_shader_instrumentation_values_arm: { + let value = loader(c"vkGetShaderInstrumentationValuesARM".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _device: Device, + _instrumentation: ShaderInstrumentationARM, + _metric_block_count: *mut u32, + _metric_values: *mut c_void, + _flags: ShaderInstrumentationValuesFlagsARM, + ) -> Result { + panic!("could not load vkGetShaderInstrumentationValuesARM") + } + fallback + } + }, get_shader_module_create_info_identifier_ext: { let value = loader(c"vkGetShaderModuleCreateInfoIdentifierEXT".as_ptr()); if let Some(value) = value { @@ -10106,6 +10616,20 @@ impl DeviceCommands { fallback } }, + queue_set_perf_hint_qcom: { + let value = loader(c"vkQueueSetPerfHintQCOM".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _queue: Queue, + _perf_hint_info: *const PerfHintInfoQCOM, + ) -> Result { + panic!("could not load vkQueueSetPerfHintQCOM") + } + fallback + } + }, queue_set_performance_configuration_intel: { let value = loader(c"vkQueueSetPerformanceConfigurationINTEL".as_ptr()); if let Some(value) = value { @@ -11092,6 +11616,8 @@ pub struct InstanceCommands { PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM, pub enumerate_physical_device_queue_family_performance_query_counters_khr: PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR, + pub enumerate_physical_device_shader_instrumentation_metrics_arm: + PFN_vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM, pub enumerate_physical_devices: PFN_vkEnumeratePhysicalDevices, pub get_device_proc_addr: PFN_vkGetDeviceProcAddr, pub get_display_mode_properties2_khr: PFN_vkGetDisplayModeProperties2KHR, @@ -11162,6 +11688,10 @@ pub struct InstanceCommands { pub get_physical_device_properties: PFN_vkGetPhysicalDeviceProperties, pub get_physical_device_properties2: PFN_vkGetPhysicalDeviceProperties2, pub get_physical_device_properties2_khr: PFN_vkGetPhysicalDeviceProperties2KHR, + pub get_physical_device_queue_family_data_graph_engine_operation_properties_arm: + PFN_vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM, + pub get_physical_device_queue_family_data_graph_optical_flow_image_formats_arm: + PFN_vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM, pub get_physical_device_queue_family_data_graph_processing_engine_properties_arm: PFN_vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM, pub get_physical_device_queue_family_data_graph_properties_arm: @@ -11830,6 +12360,22 @@ impl InstanceCommands { fallback } }, + enumerate_physical_device_shader_instrumentation_metrics_arm: { + let value = + loader(c"vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _physical_device: PhysicalDevice, + _description_count: *mut u32, + _descriptions: *mut ShaderInstrumentationMetricDescriptionARM, + ) -> Result { + panic!("could not load vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM") + } + fallback + } + }, enumerate_physical_devices: { let value = loader(c"vkEnumeratePhysicalDevices".as_ptr()); if let Some(value) = value { @@ -12558,6 +13104,44 @@ impl InstanceCommands { fallback } }, + get_physical_device_queue_family_data_graph_engine_operation_properties_arm: { + let value = loader( + c"vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM".as_ptr(), + ); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _physical_device: PhysicalDevice, + _queue_family_index: u32, + _queue_family_data_graph_properties: *const QueueFamilyDataGraphPropertiesARM, + _properties: *mut BaseOutStructure, + ) -> Result { + panic!("could not load vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM") + } + fallback + } + }, + get_physical_device_queue_family_data_graph_optical_flow_image_formats_arm: { + let value = loader( + c"vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM".as_ptr(), + ); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _physical_device: PhysicalDevice, + _queue_family_index: u32, + _queue_family_data_graph_properties: *const QueueFamilyDataGraphPropertiesARM, + _optical_flow_image_format_info: *const DataGraphOpticalFlowImageFormatInfoARM, + _format_count: *mut u32, + _image_format_properties: *mut DataGraphOpticalFlowImageFormatPropertiesARM, + ) -> Result { + panic!("could not load vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM") + } + fallback + } + }, get_physical_device_queue_family_data_graph_processing_engine_properties_arm: { let value = loader( c"vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM" diff --git a/vulkanalia/src/vk/extensions.rs b/vulkanalia/src/vk/extensions.rs index 0884b480..3fdba25d 100644 --- a/vulkanalia/src/vk/extensions.rs +++ b/vulkanalia/src/vk/extensions.rs @@ -672,6 +672,113 @@ pub trait ArmDataGraphExtensionInstanceCommands: InstanceV1_0 { impl ArmDataGraphExtensionInstanceCommands for C {} +/// The instance-level commands added by [`ARM_DATA_GRAPH_INSTRUCTION_SET_TOSA_EXTENSION`]. +pub trait ArmDataGraphInstructionSetTosaExtensionInstanceCommands: InstanceV1_0 { + /// + #[inline] + unsafe fn get_physical_device_queue_family_data_graph_engine_operation_properties_arm( + &self, + physical_device: PhysicalDevice, + queue_family_index: u32, + queue_family_data_graph_properties: &QueueFamilyDataGraphPropertiesARM, + ) -> crate::VkResult { + let mut properties = MaybeUninit::::uninit(); + + let __result = (self + .commands() + .get_physical_device_queue_family_data_graph_engine_operation_properties_arm)( + physical_device, + queue_family_index, + queue_family_data_graph_properties, + properties.as_mut_ptr(), + ); + + if __result == Result::SUCCESS { + Ok(properties.assume_init()) + } else { + Err(__result.into()) + } + } +} + +impl ArmDataGraphInstructionSetTosaExtensionInstanceCommands for C {} + +/// The instance-level commands added by [`ARM_DATA_GRAPH_OPTICAL_FLOW_EXTENSION`]. +pub trait ArmDataGraphOpticalFlowExtensionInstanceCommands: InstanceV1_0 { + /// + #[inline] + unsafe fn get_physical_device_queue_family_data_graph_engine_operation_properties_arm( + &self, + physical_device: PhysicalDevice, + queue_family_index: u32, + queue_family_data_graph_properties: &QueueFamilyDataGraphPropertiesARM, + ) -> crate::VkResult { + let mut properties = MaybeUninit::::uninit(); + + let __result = (self + .commands() + .get_physical_device_queue_family_data_graph_engine_operation_properties_arm)( + physical_device, + queue_family_index, + queue_family_data_graph_properties, + properties.as_mut_ptr(), + ); + + if __result == Result::SUCCESS { + Ok(properties.assume_init()) + } else { + Err(__result.into()) + } + } + + /// + #[inline] + unsafe fn get_physical_device_queue_family_data_graph_optical_flow_image_formats_arm( + &self, + physical_device: PhysicalDevice, + queue_family_index: u32, + queue_family_data_graph_properties: &QueueFamilyDataGraphPropertiesARM, + optical_flow_image_format_info: &DataGraphOpticalFlowImageFormatInfoARM, + ) -> crate::VkResult> { + let mut format_count = 0; + + (self + .commands() + .get_physical_device_queue_family_data_graph_optical_flow_image_formats_arm)( + physical_device, + queue_family_index, + queue_family_data_graph_properties, + optical_flow_image_format_info, + &mut format_count, + ptr::null_mut(), + ); + + let mut image_format_properties = Vec::with_capacity(format_count as usize); + + let __result = (self + .commands() + .get_physical_device_queue_family_data_graph_optical_flow_image_formats_arm)( + physical_device, + queue_family_index, + queue_family_data_graph_properties, + optical_flow_image_format_info, + &mut format_count, + image_format_properties.as_mut_ptr(), + ); + + debug_assert!(image_format_properties.capacity() >= format_count as usize); + image_format_properties.set_len(format_count as usize); + + if __result == Result::SUCCESS { + Ok(image_format_properties) + } else { + Err(__result.into()) + } + } +} + +impl ArmDataGraphOpticalFlowExtensionInstanceCommands for C {} + /// The instance-level commands added by [`ARM_PERFORMANCE_COUNTERS_BY_REGION_EXTENSION`]. pub trait ArmPerformanceCountersByRegionExtensionInstanceCommands: InstanceV1_0 { /// @@ -724,6 +831,159 @@ pub trait ArmPerformanceCountersByRegionExtensionInstanceCommands: InstanceV1_0 impl ArmPerformanceCountersByRegionExtensionInstanceCommands for C {} +/// The device-level commands added by [`ARM_SCHEDULING_CONTROLS_EXTENSION`]. +pub trait ArmSchedulingControlsExtensionDeviceCommands: DeviceV1_0 { + /// + #[inline] + unsafe fn cmd_set_dispatch_parameters_arm( + &self, + command_buffer: CommandBuffer, + dispatch_parameters: &DispatchParametersARM, + ) { + let __result = + (self.commands().cmd_set_dispatch_parameters_arm)(command_buffer, dispatch_parameters); + } +} + +impl ArmSchedulingControlsExtensionDeviceCommands for C {} + +/// The device-level commands added by [`ARM_SHADER_INSTRUMENTATION_EXTENSION`]. +pub trait ArmShaderInstrumentationExtensionDeviceCommands: DeviceV1_0 { + /// + #[inline] + unsafe fn clear_shader_instrumentation_metrics_arm( + &self, + instrumentation: ShaderInstrumentationARM, + ) { + let __result = (self.commands().clear_shader_instrumentation_metrics_arm)( + self.handle(), + instrumentation, + ); + } + + /// + #[inline] + unsafe fn cmd_begin_shader_instrumentation_arm( + &self, + command_buffer: CommandBuffer, + instrumentation: ShaderInstrumentationARM, + ) { + let __result = + (self.commands().cmd_begin_shader_instrumentation_arm)(command_buffer, instrumentation); + } + + /// + #[inline] + unsafe fn cmd_end_shader_instrumentation_arm(&self, command_buffer: CommandBuffer) { + let __result = (self.commands().cmd_end_shader_instrumentation_arm)(command_buffer); + } + + /// + #[inline] + unsafe fn create_shader_instrumentation_arm( + &self, + create_info: &ShaderInstrumentationCreateInfoARM, + allocator: Option<&AllocationCallbacks>, + ) -> crate::VkResult { + let mut instrumentation = MaybeUninit::::uninit(); + + let __result = (self.commands().create_shader_instrumentation_arm)( + self.handle(), + create_info, + allocator.map_or(ptr::null(), |v| v), + instrumentation.as_mut_ptr(), + ); + + if __result == Result::SUCCESS { + Ok(instrumentation.assume_init()) + } else { + Err(__result.into()) + } + } + + /// + #[inline] + unsafe fn destroy_shader_instrumentation_arm( + &self, + instrumentation: ShaderInstrumentationARM, + allocator: Option<&AllocationCallbacks>, + ) { + let __result = (self.commands().destroy_shader_instrumentation_arm)( + self.handle(), + instrumentation, + allocator.map_or(ptr::null(), |v| v), + ); + } + + /// + #[inline] + unsafe fn get_shader_instrumentation_values_arm( + &self, + instrumentation: ShaderInstrumentationARM, + metric_values: *mut c_void, + flags: ShaderInstrumentationValuesFlagsARM, + ) -> crate::VkResult { + let mut metric_block_count = MaybeUninit::::uninit(); + + let __result = (self.commands().get_shader_instrumentation_values_arm)( + self.handle(), + instrumentation, + metric_block_count.as_mut_ptr(), + metric_values, + flags, + ); + + if __result == Result::SUCCESS { + Ok(metric_block_count.assume_init()) + } else { + Err(__result.into()) + } + } +} + +impl ArmShaderInstrumentationExtensionDeviceCommands for C {} + +/// The instance-level commands added by [`ARM_SHADER_INSTRUMENTATION_EXTENSION`]. +pub trait ArmShaderInstrumentationExtensionInstanceCommands: InstanceV1_0 { + /// + #[inline] + unsafe fn enumerate_physical_device_shader_instrumentation_metrics_arm( + &self, + physical_device: PhysicalDevice, + ) -> crate::VkResult> { + let mut description_count = 0; + + (self + .commands() + .enumerate_physical_device_shader_instrumentation_metrics_arm)( + physical_device, + &mut description_count, + ptr::null_mut(), + ); + + let mut descriptions = Vec::with_capacity(description_count as usize); + + let __result = (self + .commands() + .enumerate_physical_device_shader_instrumentation_metrics_arm)( + physical_device, + &mut description_count, + descriptions.as_mut_ptr(), + ); + + debug_assert!(descriptions.capacity() >= description_count as usize); + descriptions.set_len(description_count as usize); + + if __result == Result::SUCCESS { + Ok(descriptions) + } else { + Err(__result.into()) + } + } +} + +impl ArmShaderInstrumentationExtensionInstanceCommands for C {} + /// The device-level commands added by [`ARM_TENSORS_EXTENSION`]. pub trait ArmTensorsExtensionDeviceCommands: DeviceV1_0 { /// @@ -3809,7 +4069,7 @@ pub trait ExtPipelinePropertiesExtensionDeviceCommands: DeviceV1_0 { #[inline] unsafe fn get_pipeline_properties_ext( &self, - pipeline_info: &PipelineInfoEXT, + pipeline_info: &PipelineInfoKHR, ) -> crate::VkResult { let mut pipeline_properties = MaybeUninit::::uninit(); @@ -3923,6 +4183,24 @@ pub trait ExtPresentTimingExtensionDeviceCommands: DeviceV1_0 { impl ExtPresentTimingExtensionDeviceCommands for C {} +/// The device-level commands added by [`EXT_PRIMITIVE_RESTART_INDEX_EXTENSION`]. +pub trait ExtPrimitiveRestartIndexExtensionDeviceCommands: DeviceV1_0 { + /// + #[inline] + unsafe fn cmd_set_primitive_restart_index_ext( + &self, + command_buffer: CommandBuffer, + primitive_restart_index: u32, + ) { + let __result = (self.commands().cmd_set_primitive_restart_index_ext)( + command_buffer, + primitive_restart_index, + ); + } +} + +impl ExtPrimitiveRestartIndexExtensionDeviceCommands for C {} + /// The device-level commands added by [`EXT_PRIVATE_DATA_EXTENSION`]. pub trait ExtPrivateDataExtensionDeviceCommands: DeviceV1_0 { /// @@ -6541,6 +6819,370 @@ pub trait KhrDescriptorUpdateTemplateExtensionDeviceCommands: DeviceV1_0 { impl KhrDescriptorUpdateTemplateExtensionDeviceCommands for C {} +/// The device-level commands added by [`KHR_DEVICE_ADDRESS_COMMANDS_EXTENSION`]. +pub trait KhrDeviceAddressCommandsExtensionDeviceCommands: DeviceV1_0 { + /// + #[inline] + unsafe fn cmd_begin_conditional_rendering2_ext( + &self, + command_buffer: CommandBuffer, + conditional_rendering_begin: &ConditionalRenderingBeginInfo2EXT, + ) { + let __result = (self.commands().cmd_begin_conditional_rendering2_ext)( + command_buffer, + conditional_rendering_begin, + ); + } + + /// + #[inline] + unsafe fn cmd_begin_transform_feedback2_ext( + &self, + command_buffer: CommandBuffer, + first_counter_range: u32, + counter_infos: &[impl Cast], + ) { + let __result = (self.commands().cmd_begin_transform_feedback2_ext)( + command_buffer, + first_counter_range, + counter_infos.len() as u32, + counter_infos.as_ptr().cast(), + ); + } + + /// + #[inline] + unsafe fn cmd_bind_index_buffer3_khr( + &self, + command_buffer: CommandBuffer, + info: &BindIndexBuffer3InfoKHR, + ) { + let __result = (self.commands().cmd_bind_index_buffer3_khr)(command_buffer, info); + } + + /// + #[inline] + unsafe fn cmd_bind_transform_feedback_buffers2_ext( + &self, + command_buffer: CommandBuffer, + first_binding: u32, + binding_infos: &[impl Cast], + ) { + let __result = (self.commands().cmd_bind_transform_feedback_buffers2_ext)( + command_buffer, + first_binding, + binding_infos.len() as u32, + binding_infos.as_ptr().cast(), + ); + } + + /// + #[inline] + unsafe fn cmd_bind_vertex_buffers3_khr( + &self, + command_buffer: CommandBuffer, + first_binding: u32, + binding_infos: &[impl Cast], + ) { + let __result = (self.commands().cmd_bind_vertex_buffers3_khr)( + command_buffer, + first_binding, + binding_infos.len() as u32, + binding_infos.as_ptr().cast(), + ); + } + + /// + #[inline] + unsafe fn cmd_copy_image_to_memory_khr( + &self, + command_buffer: CommandBuffer, + copy_memory_info: Option<&CopyDeviceMemoryImageInfoKHR>, + ) { + let __result = (self.commands().cmd_copy_image_to_memory_khr)( + command_buffer, + copy_memory_info.map_or(ptr::null(), |v| v), + ); + } + + /// + #[inline] + unsafe fn cmd_copy_memory_khr( + &self, + command_buffer: CommandBuffer, + copy_memory_info: Option<&CopyDeviceMemoryInfoKHR>, + ) { + let __result = (self.commands().cmd_copy_memory_khr)( + command_buffer, + copy_memory_info.map_or(ptr::null(), |v| v), + ); + } + + /// + #[inline] + unsafe fn cmd_copy_memory_to_image_khr( + &self, + command_buffer: CommandBuffer, + copy_memory_info: Option<&CopyDeviceMemoryImageInfoKHR>, + ) { + let __result = (self.commands().cmd_copy_memory_to_image_khr)( + command_buffer, + copy_memory_info.map_or(ptr::null(), |v| v), + ); + } + + /// + #[inline] + unsafe fn cmd_copy_query_pool_results_to_memory_khr( + &self, + command_buffer: CommandBuffer, + query_pool: QueryPool, + first_query: u32, + query_count: u32, + dst_range: &StridedDeviceAddressRangeKHR, + dst_flags: AddressCommandFlagsKHR, + query_result_flags: QueryResultFlags, + ) { + let __result = (self.commands().cmd_copy_query_pool_results_to_memory_khr)( + command_buffer, + query_pool, + first_query, + query_count, + dst_range, + dst_flags, + query_result_flags, + ); + } + + /// + #[inline] + unsafe fn cmd_dispatch_indirect2_khr( + &self, + command_buffer: CommandBuffer, + info: &DispatchIndirect2InfoKHR, + ) { + let __result = (self.commands().cmd_dispatch_indirect2_khr)(command_buffer, info); + } + + /// + #[inline] + unsafe fn cmd_draw_indexed_indirect2_khr( + &self, + command_buffer: CommandBuffer, + info: &DrawIndirect2InfoKHR, + ) { + let __result = (self.commands().cmd_draw_indexed_indirect2_khr)(command_buffer, info); + } + + /// + #[inline] + unsafe fn cmd_draw_indexed_indirect_count2_khr( + &self, + command_buffer: CommandBuffer, + info: &DrawIndirectCount2InfoKHR, + ) { + let __result = (self.commands().cmd_draw_indexed_indirect_count2_khr)(command_buffer, info); + } + + /// + #[inline] + unsafe fn cmd_draw_indirect2_khr( + &self, + command_buffer: CommandBuffer, + info: &DrawIndirect2InfoKHR, + ) { + let __result = (self.commands().cmd_draw_indirect2_khr)(command_buffer, info); + } + + /// + #[inline] + unsafe fn cmd_draw_indirect_byte_count2_ext( + &self, + command_buffer: CommandBuffer, + instance_count: u32, + first_instance: u32, + counter_info: &BindTransformFeedbackBuffer2InfoEXT, + counter_offset: u32, + vertex_stride: u32, + ) { + let __result = (self.commands().cmd_draw_indirect_byte_count2_ext)( + command_buffer, + instance_count, + first_instance, + counter_info, + counter_offset, + vertex_stride, + ); + } + + /// + #[inline] + unsafe fn cmd_draw_indirect_count2_khr( + &self, + command_buffer: CommandBuffer, + info: &DrawIndirectCount2InfoKHR, + ) { + let __result = (self.commands().cmd_draw_indirect_count2_khr)(command_buffer, info); + } + + /// + #[inline] + unsafe fn cmd_draw_mesh_tasks_indirect2_ext( + &self, + command_buffer: CommandBuffer, + info: &DrawIndirect2InfoKHR, + ) { + let __result = (self.commands().cmd_draw_mesh_tasks_indirect2_ext)(command_buffer, info); + } + + /// + #[inline] + unsafe fn cmd_draw_mesh_tasks_indirect_count2_ext( + &self, + command_buffer: CommandBuffer, + info: &DrawIndirectCount2InfoKHR, + ) { + let __result = + (self.commands().cmd_draw_mesh_tasks_indirect_count2_ext)(command_buffer, info); + } + + /// + #[inline] + unsafe fn cmd_end_transform_feedback2_ext( + &self, + command_buffer: CommandBuffer, + first_counter_range: u32, + counter_infos: &[impl Cast], + ) { + let __result = (self.commands().cmd_end_transform_feedback2_ext)( + command_buffer, + first_counter_range, + counter_infos.len() as u32, + counter_infos.as_ptr().cast(), + ); + } + + /// + #[inline] + unsafe fn cmd_fill_memory_khr( + &self, + command_buffer: CommandBuffer, + dst_range: &DeviceAddressRangeKHR, + dst_flags: AddressCommandFlagsKHR, + data: u32, + ) { + let __result = + (self.commands().cmd_fill_memory_khr)(command_buffer, dst_range, dst_flags, data); + } + + /// + #[inline] + unsafe fn cmd_update_memory_khr( + &self, + command_buffer: CommandBuffer, + dst_range: &DeviceAddressRangeKHR, + dst_flags: AddressCommandFlagsKHR, + data: &[u8], + ) { + let __result = (self.commands().cmd_update_memory_khr)( + command_buffer, + dst_range, + dst_flags, + data.len() as DeviceSize, + data.as_ptr() as *const c_void, + ); + } + + /// + #[inline] + unsafe fn cmd_write_marker_to_memory_amd( + &self, + command_buffer: CommandBuffer, + info: &MemoryMarkerInfoAMD, + ) { + let __result = (self.commands().cmd_write_marker_to_memory_amd)(command_buffer, info); + } + + /// + #[inline] + unsafe fn create_acceleration_structure2_khr( + &self, + create_info: &AccelerationStructureCreateInfo2KHR, + allocator: Option<&AllocationCallbacks>, + ) -> crate::VkResult { + let mut acceleration_structure = MaybeUninit::::uninit(); + + let __result = (self.commands().create_acceleration_structure2_khr)( + self.handle(), + create_info, + allocator.map_or(ptr::null(), |v| v), + acceleration_structure.as_mut_ptr(), + ); + + if __result == Result::SUCCESS { + Ok(acceleration_structure.assume_init()) + } else { + Err(__result.into()) + } + } +} + +impl KhrDeviceAddressCommandsExtensionDeviceCommands for C {} + +/// The device-level commands added by [`KHR_DEVICE_FAULT_EXTENSION`]. +pub trait KhrDeviceFaultExtensionDeviceCommands: DeviceV1_0 { + /// + #[inline] + unsafe fn get_device_fault_debug_info_khr( + &self, + debug_info: &mut DeviceFaultDebugInfoKHR, + ) -> crate::VkResult<()> { + let __result = (self.commands().get_device_fault_debug_info_khr)(self.handle(), debug_info); + + if __result == Result::SUCCESS { + Ok(()) + } else { + Err(__result.into()) + } + } + + /// + #[inline] + unsafe fn get_device_fault_reports_khr( + &self, + timeout: u64, + ) -> crate::VkSuccessResult> { + let mut fault_counts = 0; + + (self.commands().get_device_fault_reports_khr)( + self.handle(), + timeout, + &mut fault_counts, + ptr::null_mut(), + ); + + let mut fault_info = Vec::with_capacity(fault_counts as usize); + + let __result = (self.commands().get_device_fault_reports_khr)( + self.handle(), + timeout, + &mut fault_counts, + fault_info.as_mut_ptr(), + ); + + debug_assert!(fault_info.capacity() >= fault_counts as usize); + fault_info.set_len(fault_counts as usize); + + if __result >= Result::SUCCESS { + Ok((fault_info, __result.into())) + } else { + Err(__result.into()) + } + } +} + +impl KhrDeviceFaultExtensionDeviceCommands for C {} + /// The device-level commands added by [`KHR_DEVICE_GROUP_EXTENSION`]. pub trait KhrDeviceGroupExtensionDeviceCommands: DeviceV1_0 { /// @@ -11972,18 +12614,15 @@ pub trait NvRayTracingExtensionDeviceCommands: DeviceV1_0 { unsafe fn get_acceleration_structure_memory_requirements_nv( &self, info: &AccelerationStructureMemoryRequirementsInfoNV, - ) -> MemoryRequirements2KHR { - let mut memory_requirements = MaybeUninit::::uninit(); - + memory_requirements: &mut MemoryRequirements2, + ) { let __result = (self .commands() .get_acceleration_structure_memory_requirements_nv)( self.handle(), info, - memory_requirements.as_mut_ptr(), + memory_requirements, ); - - memory_requirements.assume_init() } /// @@ -12175,6 +12814,27 @@ pub trait OhosSurfaceExtensionInstanceCommands: InstanceV1_0 { impl OhosSurfaceExtensionInstanceCommands for C {} +/// The device-level commands added by [`QCOM_QUEUE_PERF_HINT_EXTENSION`]. +pub trait QcomQueuePerfHintExtensionDeviceCommands: DeviceV1_0 { + /// + #[inline] + unsafe fn queue_set_perf_hint_qcom( + &self, + queue: Queue, + perf_hint_info: &PerfHintInfoQCOM, + ) -> crate::VkResult<()> { + let __result = (self.commands().queue_set_perf_hint_qcom)(queue, perf_hint_info); + + if __result == Result::SUCCESS { + Ok(()) + } else { + Err(__result.into()) + } + } +} + +impl QcomQueuePerfHintExtensionDeviceCommands for C {} + /// The device-level commands added by [`QCOM_TILE_MEMORY_HEAP_EXTENSION`]. pub trait QcomTileMemoryHeapExtensionDeviceCommands: DeviceV1_0 { ///