From e8fd8074c93fe789cad5b43dad0fc56d69e183e6 Mon Sep 17 00:00:00 2001 From: KyleMayes Date: Sat, 6 Jun 2026 22:03:29 +0000 Subject: [PATCH] Update generated bindings --- .commits | 2 +- CHANGELOG.md | 22 + vulkanalia-sys/src/bitmasks.rs | 240 +- vulkanalia-sys/src/commands.rs | 315 +- vulkanalia-sys/src/constants.rs | 1 + vulkanalia-sys/src/enums.rs | 747 +++- vulkanalia-sys/src/extensions.rs | 369 +- vulkanalia-sys/src/handles.rs | 88 + vulkanalia-sys/src/structs.rs | 2204 +++++++++- vulkanalia/src/vk/builders.rs | 6523 +++++++++++++++++++++++++++++- vulkanalia/src/vk/chains.rs | 1594 +++++++- vulkanalia/src/vk/commands.rs | 777 +++- vulkanalia/src/vk/extensions.rs | 900 ++++- 13 files changed, 13508 insertions(+), 274 deletions(-) diff --git a/.commits b/.commits index e9d5a96e..f865b23f 100644 --- a/.commits +++ b/.commits @@ -1,2 +1,2 @@ -KhronosGroup/Vulkan-Docs/main/xml/vk.xml => 6aefabc0ad51073cf060e384ce43a59250d4d69c +KhronosGroup/Vulkan-Docs/main/xml/vk.xml => 5056ed95c01b2c96758a8e1883fdbb47e72b4662 KhronosGroup/Vulkan-Headers/main/include/vk_video => 0777a3ad88bad5f4b11cfd509458bbc0ddadc773 \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index c6e607b8..cf87af23 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,28 @@ - [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) +- [May 8, 2026 Vulkan 1.4.351 spec update](https://github.com/KhronosGroup/Vulkan-Docs/commit/33f0e685493860e6d7a99c3b669be4c1b63d0fed) +- [Fix race condition in antora-prep.py (#2747)](https://github.com/KhronosGroup/Vulkan-Docs/commit/45285e2553e499bbcdb885f71fd789c1f20cab80) +- [Refer to extension feature struct from feature tags in extensions, rather than promoted struct (#2750)](https://github.com/KhronosGroup/Vulkan-Docs/commit/efd8a219e88d523ee63131ba4845e25275249713) +- [Fix incorrect link (#2748)](https://github.com/KhronosGroup/Vulkan-Docs/commit/95511f81e5e2d2dfa72e6b23b8f3d2095c29b1a6) +- [May 15, 2026 Vulkan 1.4.352 spec update](https://github.com/KhronosGroup/Vulkan-Docs/commit/e2843a23d3c5a2c5e93e27d3b0fcd2c1087b0b64) +- [June 5, 2026 Vulkan 1.4.353 spec update](https://github.com/KhronosGroup/Vulkan-Docs/commit/4abe0260bbd8e59930786eed645481808a3fe6f1) +- [Adding Ape to vendor IDs; Adding Soft to driver IDs (#2762)](https://github.com/KhronosGroup/Vulkan-Docs/commit/5056ed95c01b2c96758a8e1883fdbb47e72b4662) ## [0.35.0] - 2026-02-15 diff --git a/vulkanalia-sys/src/bitmasks.rs b/vulkanalia-sys/src/bitmasks.rs index 9bab15c3..0dd4e648 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)] @@ -298,10 +312,11 @@ bitflags! { const PREFER_FAST_BUILD = 1 << 3; const LOW_MEMORY = 1 << 4; const MOTION_NV = 1 << 5; - const ALLOW_OPACITY_MICROMAP_UPDATE_EXT = 1 << 6; - const ALLOW_DISABLE_OPACITY_MICROMAPS_EXT = 1 << 7; + const ALLOW_OPACITY_MICROMAP_UPDATE = 1 << 6; + const ALLOW_DISABLE_OPACITY_MICROMAPS = 1 << 7; const ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT = 1 << 8; const ALLOW_DISPLACEMENT_MICROMAP_UPDATE_NV = 1 << 9; + const MICROMAP_LOSSY = 1 << 10; const ALLOW_DATA_ACCESS = 1 << 11; const ALLOW_CLUSTER_OPACITY_MICROMAPS_NV = 1 << 12; } @@ -456,6 +471,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 +534,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 +697,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)] @@ -927,6 +1019,7 @@ bitflags! { const OPTICAL_FLOW_VECTOR_NV = 1 << 41; const OPTICAL_FLOW_COST_NV = 1 << 42; const TENSOR_IMAGE_ALIASING_ARM = 1 << 43; + const BLOCK_MATCHING_SXD_QCOM = 1 << 44; const HOST_IMAGE_TRANSFER = 1 << 46; const TENSOR_DATA_GRAPH_ARM = 1 << 48; const VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_KHR = 1 << 49; @@ -936,10 +1029,20 @@ 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; } } +bitflags! { + /// + #[repr(transparent)] + #[derive(Default)] + pub struct FormatFeatureFlags4KHR: Flags { } +} + bitflags! { /// #[repr(transparent)] @@ -977,8 +1080,30 @@ bitflags! { const TRIANGLE_FLIP_FACING = 1 << 1; const FORCE_OPAQUE = 1 << 2; const FORCE_NO_OPAQUE = 1 << 3; - const FORCE_OPACITY_MICROMAP_2_STATE_EXT = 1 << 4; - const DISABLE_OPACITY_MICROMAPS_EXT = 1 << 5; + const FORCE_OPACITY_MICROMAP_2_STATE = 1 << 4; + const DISABLE_OPACITY_MICROMAPS = 1 << 5; + } +} + +bitflags! { + /// + #[repr(transparent)] + #[derive(Default)] + pub struct GpaPerfBlockPropertiesFlagsAMD: Flags { } +} + +bitflags! { + /// + #[repr(transparent)] + #[derive(Default)] + pub struct GpaSqShaderStageFlagsAMD: Flags { + const PS = 1; + const VS = 1 << 1; + const GS = 1 << 2; + const ES = 1 << 3; + const HS = 1 << 4; + const LS = 1 << 5; + const CS = 1 << 6; } } @@ -1119,6 +1244,36 @@ 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; + } +} + +bitflags! { + /// + #[repr(transparent)] + #[derive(Default)] + pub struct ImageCreateFlags2KHR: Flags { + const SPARSE_BINDING = 1; + const SPARSE_RESIDENCY = 1 << 1; + const SPARSE_ALIASED = 1 << 2; + const MUTABLE_FORMAT = 1 << 3; + const CUBE_COMPATIBLE = 1 << 4; + const _2D_ARRAY_COMPATIBLE = 1 << 5; + const SPLIT_INSTANCE_BIND_REGIONS = 1 << 6; + const BLOCK_TEXEL_VIEW_COMPATIBLE = 1 << 7; + const EXTENDED_USAGE = 1 << 8; + const DISJOINT = 1 << 9; + const ALIAS = 1 << 10; + const PROTECTED = 1 << 11; + const SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_EXT = 1 << 12; + const CORNER_SAMPLED_NV = 1 << 13; + const SUBSAMPLED_EXT = 1 << 14; + const FRAGMENT_DENSITY_MAP_OFFSET_EXT = 1 << 15; + const DESCRIPTOR_BUFFER_CAPTURE_REPLAY_EXT = 1 << 16; + const _2D_VIEW_COMPATIBLE_EXT = 1 << 17; + const MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_EXT = 1 << 18; + const VIDEO_PROFILE_INDEPENDENT = 1 << 20; + const ALIAS_SINGLE_LAYER_DESCRIPTOR = 1 << 22; } } @@ -1169,6 +1324,39 @@ bitflags! { } } +bitflags! { + /// + #[repr(transparent)] + #[derive(Default)] + pub struct ImageUsageFlags2KHR: Flags { + const TRANSFER_SRC = 1; + const TRANSFER_DST = 1 << 1; + const SAMPLED = 1 << 2; + const STORAGE = 1 << 3; + const COLOR_ATTACHMENT = 1 << 4; + const DEPTH_STENCIL_ATTACHMENT = 1 << 5; + const TRANSIENT_ATTACHMENT = 1 << 6; + const INPUT_ATTACHMENT = 1 << 7; + const FRAGMENT_SHADING_RATE_ATTACHMENT = 1 << 8; + const FRAGMENT_DENSITY_MAP_EXT = 1 << 9; + const VIDEO_DECODE_DST = 1 << 10; + const VIDEO_DECODE_SRC = 1 << 11; + const VIDEO_DECODE_DPB = 1 << 12; + const VIDEO_ENCODE_DST = 1 << 13; + const VIDEO_ENCODE_SRC = 1 << 14; + const VIDEO_ENCODE_DPB = 1 << 15; + const INVOCATION_MASK_HUAWEI = 1 << 18; + const ATTACHMENT_FEEDBACK_LOOP_EXT = 1 << 19; + const SAMPLE_WEIGHT_QCOM = 1 << 20; + const SAMPLE_BLOCK_MATCH_QCOM = 1 << 21; + const HOST_TRANSFER = 1 << 22; + const TENSOR_ALIASING_ARM = 1 << 23; + const VIDEO_ENCODE_QUANTIZATION_DELTA_MAP = 1 << 25; + const VIDEO_ENCODE_EMPHASIS_MAP = 1 << 26; + const TILE_MEMORY_QCOM = 1 << 27; + } +} + bitflags! { /// #[repr(transparent)] @@ -1420,12 +1608,20 @@ bitflags! { } } +bitflags! { + /// + #[repr(transparent)] + #[derive(Default)] + pub struct PhysicalDeviceGpaPropertiesFlagsAMD: Flags { } +} + bitflags! { /// #[repr(transparent)] #[derive(Default)] pub struct PhysicalDeviceSchedulingControlsFlagsARM: Flags { const SHADER_CORE_COUNT = 1; + const DISPATCH_PARAMETERS = 1 << 1; } } @@ -1505,7 +1701,7 @@ bitflags! { const RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_KHR = 1 << 21; const RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_EXT = 1 << 22; const RETAIN_LINK_TIME_OPTIMIZATION_INFO_EXT = 1 << 23; - const RAY_TRACING_OPACITY_MICROMAP_EXT = 1 << 24; + const RAY_TRACING_OPACITY_MICROMAP_KHR = 1 << 24; const COLOR_ATTACHMENT_FEEDBACK_LOOP_EXT = 1 << 25; const DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_EXT = 1 << 26; const NO_PROTECTED_ACCESS = 1 << 27; @@ -1544,7 +1740,7 @@ bitflags! { const RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_KHR = 1 << 21; const RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_EXT = 1 << 22; const RETAIN_LINK_TIME_OPTIMIZATION_INFO_EXT = 1 << 23; - const RAY_TRACING_OPACITY_MICROMAP_EXT = 1 << 24; + const RAY_TRACING_OPACITY_MICROMAP_KHR = 1 << 24; const COLOR_ATTACHMENT_FEEDBACK_LOOP_EXT = 1 << 25; const DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_EXT = 1 << 26; const NO_PROTECTED_ACCESS = 1 << 27; @@ -1558,7 +1754,9 @@ 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 OPACITY_MICROMAP_DISALLOW_MIXED_SPECIAL_INDEX_KHR = 1 << 41; const _64_BIT_INDEXING_EXT = 1 << 43; } } @@ -1611,6 +1809,7 @@ bitflags! { #[derive(Default)] pub struct PipelineLayoutCreateFlags: Flags { const INDEPENDENT_SETS_EXT = 1 << 1; + const NO_TASK_SHADER_KHR = 1 << 2; } } @@ -2047,10 +2246,20 @@ 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 OPACITY_MICROMAP_DISALLOW_MIXED_SPECIAL_INDEX = 1 << 12; const _64_BIT_INDEXING = 1 << 15; + const INDEPENDENT_SETS_KHR = 1 << 18; } } +bitflags! { + /// + #[repr(transparent)] + #[derive(Default)] + pub struct ShaderInstrumentationValuesFlagsARM: Flags { } +} + bitflags! { /// #[repr(transparent)] @@ -2230,6 +2439,7 @@ bitflags! { const DEFERRED_MEMORY_ALLOCATION = 1 << 3; const PRESENT_ID_2 = 1 << 6; const PRESENT_WAIT_2 = 1 << 7; + const MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_EXT = 1 << 8; const PRESENT_TIMING_EXT = 1 << 9; } } @@ -2503,6 +2713,13 @@ bitflags! { const BITSTREAM_BUFFER_OFFSET = 1; const BITSTREAM_BYTES_WRITTEN = 1 << 1; const BITSTREAM_HAS_OVERRIDES = 1 << 2; + const AVERAGE_QUANTIZATION = 1 << 3; + const MIN_QUANTIZATION = 1 << 4; + const MAX_QUANTIZATION = 1 << 5; + const INTRA_PIXELS = 1 << 6; + const INTER_PIXELS = 1 << 7; + const SKIPPED_PIXELS = 1 << 8; + const PICTURE_PARTITION_COUNT = 1 << 9; } } @@ -2675,6 +2892,17 @@ bitflags! { } } +bitflags! { + /// + #[repr(transparent)] + #[derive(Default)] + pub struct VideoEncodePerPartitionFeedbackFlagsKHR: Flags { + const STATUS = 1; + const BITSTREAM_BUFFER_OFFSET = 1 << 1; + const BITSTREAM_BYTES_WRITTEN = 1 << 2; + } +} + bitflags! { /// #[repr(transparent)] diff --git a/vulkanalia-sys/src/commands.rs b/vulkanalia-sys/src/commands.rs index d057eae5..14f8a9df 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, @@ -215,6 +225,20 @@ pub type PFN_vkCmdBeginDebugUtilsLabelEXT = unsafe extern "system" fn( _label_info: *const DebugUtilsLabelEXT, ); +/// +pub type PFN_vkCmdBeginGpaSampleAMD = unsafe extern "system" fn( + _command_buffer: CommandBuffer, + _gpa_session: GpaSessionAMD, + _gpa_sample_begin_info: *const GpaSampleBeginInfoAMD, + _sample_id: *mut u32, +) -> Result; + +/// +pub type PFN_vkCmdBeginGpaSessionAMD = unsafe extern "system" fn( + _command_buffer: CommandBuffer, + _gpa_session: GpaSessionAMD, +) -> Result; + /// pub type PFN_vkCmdBeginPerTileExecutionQCOM = unsafe extern "system" fn( _command_buffer: CommandBuffer, @@ -264,6 +288,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 +376,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 +433,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 +474,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, @@ -592,6 +652,10 @@ pub type PFN_vkCmdCopyBufferToImage2 = unsafe extern "system" fn( /// pub type PFN_vkCmdCopyBufferToImage2KHR = PFN_vkCmdCopyBufferToImage2; +/// +pub type PFN_vkCmdCopyGpaSessionResultsAMD = + unsafe extern "system" fn(_command_buffer: CommandBuffer, _gpa_session: GpaSessionAMD); + /// pub type PFN_vkCmdCopyImage = unsafe extern "system" fn( _command_buffer: CommandBuffer, @@ -631,6 +695,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 +715,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 +744,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 +778,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 +914,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 +966,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 +981,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 +1002,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 +1038,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 +1058,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, @@ -1007,6 +1146,19 @@ pub type PFN_vkCmdEndConditionalRenderingEXT = /// pub type PFN_vkCmdEndDebugUtilsLabelEXT = unsafe extern "system" fn(_command_buffer: CommandBuffer); +/// +pub type PFN_vkCmdEndGpaSampleAMD = unsafe extern "system" fn( + _command_buffer: CommandBuffer, + _gpa_session: GpaSessionAMD, + _sample_id: u32, +); + +/// +pub type PFN_vkCmdEndGpaSessionAMD = unsafe extern "system" fn( + _command_buffer: CommandBuffer, + _gpa_session: GpaSessionAMD, +) -> Result; + /// pub type PFN_vkCmdEndPerTileExecutionQCOM = unsafe extern "system" fn( _command_buffer: CommandBuffer, @@ -1052,6 +1204,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 +1261,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 +1695,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 +1829,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 +2094,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 +2174,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 +2286,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, @@ -2333,6 +2536,14 @@ pub type PFN_vkCreateFramebuffer = unsafe extern "system" fn( _framebuffer: *mut Framebuffer, ) -> Result; +/// +pub type PFN_vkCreateGpaSessionAMD = unsafe extern "system" fn( + _device: Device, + _create_info: *const GpaSessionCreateInfoAMD, + _allocator: *const AllocationCallbacks, + _gpa_session: *mut GpaSessionAMD, +) -> Result; + /// pub type PFN_vkCreateGraphicsPipelines = unsafe extern "system" fn( _device: Device, @@ -2572,6 +2783,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, @@ -2892,6 +3111,13 @@ pub type PFN_vkDestroyFramebuffer = unsafe extern "system" fn( _allocator: *const AllocationCallbacks, ); +/// +pub type PFN_vkDestroyGpaSessionAMD = unsafe extern "system" fn( + _device: Device, + _gpa_session: GpaSessionAMD, + _allocator: *const AllocationCallbacks, +); + /// pub type PFN_vkDestroyImage = unsafe extern "system" fn( _device: Device, @@ -3035,6 +3261,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 +3400,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 +3477,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 +3680,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 +3691,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, @@ -3707,6 +3960,23 @@ pub type PFN_vkGetGeneratedCommandsMemoryRequirementsNV = unsafe extern "system" _memory_requirements: *mut MemoryRequirements2, ); +/// +pub type PFN_vkGetGpaDeviceClockInfoAMD = + unsafe extern "system" fn(_device: Device, _info: *mut GpaDeviceGetClockInfoAMD) -> Result; + +/// +pub type PFN_vkGetGpaSessionResultsAMD = unsafe extern "system" fn( + _device: Device, + _gpa_session: GpaSessionAMD, + _sample_id: u32, + _size_in_bytes: *mut usize, + _data: *mut c_void, +) -> Result; + +/// +pub type PFN_vkGetGpaSessionStatusAMD = + unsafe extern "system" fn(_device: Device, _gpa_session: GpaSessionAMD) -> Result; + /// pub type PFN_vkGetImageDrmFormatModifierPropertiesEXT = unsafe extern "system" fn( _device: Device, @@ -4229,6 +4499,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 +4810,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 +4983,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 +5225,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, @@ -5039,6 +5342,10 @@ pub type PFN_vkResetEvent = unsafe extern "system" fn(_device: Device, _event: E pub type PFN_vkResetFences = unsafe extern "system" fn(_device: Device, _fence_count: u32, _fences: *const Fence) -> Result; +/// +pub type PFN_vkResetGpaSessionAMD = + unsafe extern "system" fn(_device: Device, _gpa_session: GpaSessionAMD) -> Result; + /// pub type PFN_vkResetQueryPool = unsafe extern "system" fn( _device: Device, @@ -5083,6 +5390,10 @@ pub type PFN_vkSetDeviceMemoryPriorityEXT = /// pub type PFN_vkSetEvent = unsafe extern "system" fn(_device: Device, _event: Event) -> Result; +/// +pub type PFN_vkSetGpaDeviceClockModeAMD = + unsafe extern "system" fn(_device: Device, _info: *mut GpaDeviceClockModeInfoAMD) -> Result; + /// pub type PFN_vkSetHdrMetadataEXT = unsafe extern "system" fn( _device: Device, 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..763576fb 100644 --- a/vulkanalia-sys/src/enums.rs +++ b/vulkanalia-sys/src/enums.rs @@ -161,6 +161,36 @@ impl fmt::Debug for AccelerationStructureMotionInstanceTypeNV { } } +/// +#[repr(transparent)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] +pub struct AccelerationStructureSerializedBlockTypeKHR(i32); + +impl AccelerationStructureSerializedBlockTypeKHR { + pub const OPACITY_MICROMAP: Self = Self(0); + + /// 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 AccelerationStructureSerializedBlockTypeKHR { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + match self.0 { + 0 => write!(f, "OPACITY_MICROMAP"), + _ => self.0.fmt(f), + } + } +} + /// #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -170,6 +200,7 @@ impl AccelerationStructureTypeKHR { pub const TOP_LEVEL: Self = Self(0); pub const BOTTOM_LEVEL: Self = Self(1); pub const GENERIC: Self = Self(2); + pub const OPACITY_MICROMAP: Self = Self(1000623000); /// Constructs an instance of this enum with the supplied underlying value. #[inline] @@ -190,6 +221,7 @@ impl fmt::Debug for AccelerationStructureTypeKHR { 0 => write!(f, "TOP_LEVEL"), 1 => write!(f, "BOTTOM_LEVEL"), 2 => write!(f, "GENERIC"), + 1000623000 => write!(f, "OPACITY_MICROMAP"), _ => self.0.fmt(f), } } @@ -1419,6 +1451,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 +1563,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 +1584,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 +1598,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 +1618,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 +1655,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 +2105,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 +2132,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 +2147,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 +2168,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"), @@ -2271,6 +2447,8 @@ impl DriverId { pub const MESA_HONEYKRISP: Self = Self(26); pub const VULKAN_SC_EMULATION_ON_VULKAN: Self = Self(27); pub const MESA_KOSMICKRISP: Self = Self(28); + pub const MESA_GFXSTREAM: Self = Self(29); + pub const APE_SOFT: Self = Self(30); /// Constructs an instance of this enum with the supplied underlying value. #[inline] @@ -2316,6 +2494,8 @@ impl fmt::Debug for DriverId { 26 => write!(f, "MESA_HONEYKRISP"), 27 => write!(f, "VULKAN_SC_EMULATION_ON_VULKAN"), 28 => write!(f, "MESA_KOSMICKRISP"), + 29 => write!(f, "MESA_GFXSTREAM"), + 30 => write!(f, "APE_SOFT"), _ => self.0.fmt(f), } } @@ -3355,6 +3535,7 @@ impl GeometryTypeKHR { pub const SPHERES_NV: Self = Self(1000429004); pub const LINEAR_SWEPT_SPHERES_NV: Self = Self(1000429005); pub const DENSE_GEOMETRY_FORMAT_TRIANGLES_AMDX: Self = Self(1000478000); + pub const MICROMAP: Self = Self(1000623000); /// Constructs an instance of this enum with the supplied underlying value. #[inline] @@ -3378,6 +3559,223 @@ impl fmt::Debug for GeometryTypeKHR { 1000429004 => write!(f, "SPHERES_NV"), 1000429005 => write!(f, "LINEAR_SWEPT_SPHERES_NV"), 1000478000 => write!(f, "DENSE_GEOMETRY_FORMAT_TRIANGLES_AMDX"), + 1000623000 => write!(f, "MICROMAP"), + _ => self.0.fmt(f), + } + } +} + +/// +#[repr(transparent)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] +pub struct GpaDeviceClockModeAMD(i32); + +impl GpaDeviceClockModeAMD { + pub const DEFAULT: Self = Self(0); + pub const QUERY: Self = Self(1); + pub const PROFILING: Self = Self(2); + pub const MIN_MEMORY: Self = Self(3); + pub const MIN_ENGINE: Self = Self(4); + pub const PEAK: Self = Self(5); + + /// 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 GpaDeviceClockModeAMD { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + match self.0 { + 0 => write!(f, "DEFAULT"), + 1 => write!(f, "QUERY"), + 2 => write!(f, "PROFILING"), + 3 => write!(f, "MIN_MEMORY"), + 4 => write!(f, "MIN_ENGINE"), + 5 => write!(f, "PEAK"), + _ => self.0.fmt(f), + } + } +} + +/// +#[repr(transparent)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] +pub struct GpaPerfBlockAMD(i32); + +impl GpaPerfBlockAMD { + pub const CPF: Self = Self(0); + pub const IA: Self = Self(1); + pub const VGT: Self = Self(2); + pub const PA: Self = Self(3); + pub const SC: Self = Self(4); + pub const SPI: Self = Self(5); + pub const SQ: Self = Self(6); + pub const SX: Self = Self(7); + pub const TA: Self = Self(8); + pub const TD: Self = Self(9); + pub const TCP: Self = Self(10); + pub const TCC: Self = Self(11); + pub const TCA: Self = Self(12); + pub const DB: Self = Self(13); + pub const CB: Self = Self(14); + pub const GDS: Self = Self(15); + pub const SRBM: Self = Self(16); + pub const GRBM: Self = Self(17); + pub const GRBM_SE: Self = Self(18); + pub const RLC: Self = Self(19); + pub const DMA: Self = Self(20); + pub const MC: Self = Self(21); + pub const CPG: Self = Self(22); + pub const CPC: Self = Self(23); + pub const WD: Self = Self(24); + pub const TCS: Self = Self(25); + pub const ATC: Self = Self(26); + pub const ATC_L2: Self = Self(27); + pub const MC_VM_L2: Self = Self(28); + pub const EA: Self = Self(29); + pub const RPB: Self = Self(30); + pub const RMI: Self = Self(31); + pub const UMCCH: Self = Self(32); + pub const GE: Self = Self(33); + pub const GL1A: Self = Self(34); + pub const GL1C: Self = Self(35); + pub const GL1CG: Self = Self(36); + pub const GL2A: Self = Self(37); + pub const GL2C: Self = Self(38); + pub const CHA: Self = Self(39); + pub const CHC: Self = Self(40); + pub const CHCG: Self = Self(41); + pub const GUS: Self = Self(42); + pub const GCR: Self = Self(43); + pub const PH: Self = Self(44); + pub const UTCL1: Self = Self(45); + pub const GE_DIST: Self = Self(46); + pub const GE_SE: Self = Self(47); + pub const DF_MALL: Self = Self(48); + pub const SQ_WGP: Self = Self(49); + pub const PC: Self = Self(50); + pub const GL1XA: Self = Self(51); + pub const GL1XC: Self = Self(52); + pub const WGS: Self = Self(53); + pub const EACPWD: Self = Self(54); + pub const EASE: Self = Self(55); + pub const RLCUSER: Self = Self(56); + + /// 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 GpaPerfBlockAMD { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + match self.0 { + 0 => write!(f, "CPF"), + 1 => write!(f, "IA"), + 2 => write!(f, "VGT"), + 3 => write!(f, "PA"), + 4 => write!(f, "SC"), + 5 => write!(f, "SPI"), + 6 => write!(f, "SQ"), + 7 => write!(f, "SX"), + 8 => write!(f, "TA"), + 9 => write!(f, "TD"), + 10 => write!(f, "TCP"), + 11 => write!(f, "TCC"), + 12 => write!(f, "TCA"), + 13 => write!(f, "DB"), + 14 => write!(f, "CB"), + 15 => write!(f, "GDS"), + 16 => write!(f, "SRBM"), + 17 => write!(f, "GRBM"), + 18 => write!(f, "GRBM_SE"), + 19 => write!(f, "RLC"), + 20 => write!(f, "DMA"), + 21 => write!(f, "MC"), + 22 => write!(f, "CPG"), + 23 => write!(f, "CPC"), + 24 => write!(f, "WD"), + 25 => write!(f, "TCS"), + 26 => write!(f, "ATC"), + 27 => write!(f, "ATC_L2"), + 28 => write!(f, "MC_VM_L2"), + 29 => write!(f, "EA"), + 30 => write!(f, "RPB"), + 31 => write!(f, "RMI"), + 32 => write!(f, "UMCCH"), + 33 => write!(f, "GE"), + 34 => write!(f, "GL1A"), + 35 => write!(f, "GL1C"), + 36 => write!(f, "GL1CG"), + 37 => write!(f, "GL2A"), + 38 => write!(f, "GL2C"), + 39 => write!(f, "CHA"), + 40 => write!(f, "CHC"), + 41 => write!(f, "CHCG"), + 42 => write!(f, "GUS"), + 43 => write!(f, "GCR"), + 44 => write!(f, "PH"), + 45 => write!(f, "UTCL1"), + 46 => write!(f, "GE_DIST"), + 47 => write!(f, "GE_SE"), + 48 => write!(f, "DF_MALL"), + 49 => write!(f, "SQ_WGP"), + 50 => write!(f, "PC"), + 51 => write!(f, "GL1XA"), + 52 => write!(f, "GL1XC"), + 53 => write!(f, "WGS"), + 54 => write!(f, "EACPWD"), + 55 => write!(f, "EASE"), + 56 => write!(f, "RLCUSER"), + _ => self.0.fmt(f), + } + } +} + +/// +#[repr(transparent)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] +pub struct GpaSampleTypeAMD(i32); + +impl GpaSampleTypeAMD { + pub const CUMULATIVE: Self = Self(0); + pub const TRACE: Self = Self(1); + pub const TIMING: 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 GpaSampleTypeAMD { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + match self.0 { + 0 => write!(f, "CUMULATIVE"), + 1 => write!(f, "TRACE"), + 2 => write!(f, "TIMING"), _ => self.0.fmt(f), } } @@ -4087,6 +4485,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)] @@ -4132,6 +4564,7 @@ impl ObjectType { pub const CU_MODULE_NVX: Self = Self(1000029000); pub const CU_FUNCTION_NVX: Self = Self(1000029001); pub const DEBUG_UTILS_MESSENGER_EXT: Self = Self(1000128000); + pub const GPA_SESSION_AMD: Self = Self(1000133000); pub const ACCELERATION_STRUCTURE_KHR: Self = Self(1000150000); pub const VALIDATION_CACHE_EXT: Self = Self(1000160000); pub const ACCELERATION_STRUCTURE_NV: Self = Self(1000165000); @@ -4152,6 +4585,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] @@ -4208,6 +4642,7 @@ impl fmt::Debug for ObjectType { 1000029000 => write!(f, "CU_MODULE_NVX"), 1000029001 => write!(f, "CU_FUNCTION_NVX"), 1000128000 => write!(f, "DEBUG_UTILS_MESSENGER_EXT"), + 1000133000 => write!(f, "GPA_SESSION_AMD"), 1000150000 => write!(f, "ACCELERATION_STRUCTURE_KHR"), 1000160000 => write!(f, "VALIDATION_CACHE_EXT"), 1000165000 => write!(f, "ACCELERATION_STRUCTURE_NV"), @@ -4228,17 +4663,18 @@ 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), } } } -/// +/// #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] -pub struct OpacityMicromapFormatEXT(i32); +pub struct OpacityMicromapFormatKHR(i32); -impl OpacityMicromapFormatEXT { +impl OpacityMicromapFormatKHR { pub const _2_STATE: Self = Self(1); pub const _4_STATE: Self = Self(2); @@ -4255,7 +4691,7 @@ impl OpacityMicromapFormatEXT { } } -impl fmt::Debug for OpacityMicromapFormatEXT { +impl fmt::Debug for OpacityMicromapFormatKHR { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match self.0 { 1 => write!(f, "_2_STATE"), @@ -4265,12 +4701,12 @@ impl fmt::Debug for OpacityMicromapFormatEXT { } } -/// +/// #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] -pub struct OpacityMicromapSpecialIndexEXT(i32); +pub struct OpacityMicromapSpecialIndexKHR(i32); -impl OpacityMicromapSpecialIndexEXT { +impl OpacityMicromapSpecialIndexKHR { pub const FULLY_TRANSPARENT: Self = Self(-1); pub const FULLY_OPAQUE: Self = Self(-2); pub const FULLY_UNKNOWN_TRANSPARENT: Self = Self(-3); @@ -4290,7 +4726,7 @@ impl OpacityMicromapSpecialIndexEXT { } } -impl fmt::Debug for OpacityMicromapSpecialIndexEXT { +impl fmt::Debug for OpacityMicromapSpecialIndexKHR { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match self.0 { -1 => write!(f, "FULLY_TRANSPARENT"), @@ -4451,6 +4887,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 +5188,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 +5209,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), } } @@ -5304,6 +5778,7 @@ impl QueryType { pub const ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR: Self = Self(1000150000); pub const ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR: Self = Self(1000150001); pub const ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV: Self = Self(1000165000); + pub const TIME_ELAPSED_QCOM: Self = Self(1000173000); pub const PERFORMANCE_QUERY_INTEL: Self = Self(1000210000); pub const VIDEO_ENCODE_FEEDBACK_KHR: Self = Self(1000299000); pub const MESH_PRIMITIVES_GENERATED_EXT: Self = Self(1000328000); @@ -5339,6 +5814,7 @@ impl fmt::Debug for QueryType { 1000150000 => write!(f, "ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR"), 1000150001 => write!(f, "ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR"), 1000165000 => write!(f, "ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV"), + 1000173000 => write!(f, "TIME_ELAPSED_QCOM"), 1000210000 => write!(f, "PERFORMANCE_QUERY_INTEL"), 1000299000 => write!(f, "VIDEO_ENCODE_FEEDBACK_KHR"), 1000328000 => write!(f, "MESH_PRIMITIVES_GENERATED_EXT"), @@ -6760,6 +7236,13 @@ impl StructureType { pub const MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID: Self = Self(1000129004); pub const EXTERNAL_FORMAT_ANDROID: Self = Self(1000129005); pub const ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID: Self = Self(1000129006); + pub const PHYSICAL_DEVICE_GPA_FEATURES_AMD: Self = Self(1000133000); + pub const PHYSICAL_DEVICE_GPA_PROPERTIES_AMD: Self = Self(1000133001); + pub const GPA_SAMPLE_BEGIN_INFO_AMD: Self = Self(1000133002); + pub const GPA_SESSION_CREATE_INFO_AMD: Self = Self(1000133003); + pub const GPA_DEVICE_CLOCK_MODE_INFO_AMD: Self = Self(1000133004); + pub const PHYSICAL_DEVICE_GPA_PROPERTIES_2_AMD: Self = Self(1000133005); + pub const GPA_DEVICE_GET_CLOCK_INFO_AMD: Self = Self(1000133006); pub const PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX: Self = Self(1000134000); pub const PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX: Self = Self(1000134001); pub const EXECUTION_GRAPH_PIPELINE_SCRATCH_SIZE_AMDX: Self = Self(1000134002); @@ -6845,6 +7328,7 @@ impl StructureType { pub const PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT: Self = Self(1000170000); pub const FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT: Self = Self(1000170001); pub const PHYSICAL_DEVICE_COOPERATIVE_MATRIX_CONVERSION_FEATURES_QCOM: Self = Self(1000172000); + pub const PHYSICAL_DEVICE_ELAPSED_TIMER_QUERY_FEATURES_QCOM: Self = Self(1000173000); pub const IMPORT_MEMORY_HOST_POINTER_INFO_EXT: Self = Self(1000178000); pub const MEMORY_HOST_POINTER_PROPERTIES_EXT: Self = Self(1000178001); pub const PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT: Self = Self(1000178002); @@ -6903,6 +7387,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 +7473,14 @@ 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 PHYSICAL_DEVICE_IMAGE_PROCESSING_3_FEATURES_QCOM: Self = Self(1000303000); + pub const PHYSICAL_DEVICE_SHADER_MULTIPLE_WAIT_QUEUES_FEATURES_QCOM: Self = Self(1000304000); + pub const PHYSICAL_DEVICE_SHADER_MULTIPLE_WAIT_QUEUES_PROPERTIES_QCOM: Self = Self(1000304001); + pub const PHYSICAL_DEVICE_SHADER_SPLIT_BARRIER_FEATURES_EXT: Self = Self(1000305000); + pub const PHYSICAL_DEVICE_SHADER_SPLIT_BARRIER_PROPERTIES_EXT: Self = Self(1000305001); 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 +7519,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 +7660,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 +7845,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 +7976,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); @@ -7488,6 +8008,10 @@ impl StructureType { pub const COOPERATIVE_MATRIX_FLEXIBLE_DIMENSIONS_PROPERTIES_NV: Self = Self(1000593001); pub const PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_PROPERTIES_NV: Self = Self(1000593002); pub const PHYSICAL_DEVICE_PIPELINE_OPACITY_MICROMAP_FEATURES_ARM: Self = Self(1000596000); + pub const PHYSICAL_DEVICE_VIDEO_ENCODE_FEEDBACK_2_FEATURES_KHR: Self = Self(1000598000); + pub const VIDEO_ENCODE_FEEDBACK_2_CAPABILITIES_KHR: Self = Self(1000598001); + pub const QUERY_POOL_VIDEO_ENCODE_PER_PARTITION_FEEDBACK_CREATE_INFO_KHR: Self = + Self(1000598002); pub const IMPORT_MEMORY_METAL_HANDLE_INFO_EXT: Self = Self(1000602000); pub const MEMORY_METAL_HANDLE_PROPERTIES_EXT: Self = Self(1000602001); pub const MEMORY_GET_METAL_HANDLE_INFO_EXT: Self = Self(1000602002); @@ -7498,6 +8022,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); @@ -7508,11 +8036,18 @@ impl StructureType { pub const PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_KHR: Self = Self(1000286001); pub const SET_PRESENT_CONFIG_NV: Self = Self(1000613000); pub const PHYSICAL_DEVICE_PRESENT_METERING_FEATURES_NV: Self = Self(1000613001); + pub const PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SWAPCHAIN_FEATURES_EXT: Self = + Self(1000616000); + pub const SWAPCHAIN_FLAGS_SURFACE_CAPABILITIES_EXT: Self = Self(1000616001); pub const PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_EXT: Self = Self(1000425000); pub const PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_EXT: Self = Self(1000425001); pub const RENDER_PASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_EXT: Self = Self(1000425002); pub const PHYSICAL_DEVICE_ZERO_INITIALIZE_DEVICE_MEMORY_FEATURES_EXT: Self = Self(1000620000); pub const PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_KHR: Self = Self(1000361000); + pub const PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_KHR: Self = Self(1000623000); + pub const PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_KHR: Self = Self(1000623001); + pub const ACCELERATION_STRUCTURE_GEOMETRY_MICROMAP_DATA_KHR: Self = Self(1000623002); + pub const ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_KHR: Self = Self(1000623003); pub const PHYSICAL_DEVICE_SHADER_64_BIT_INDEXING_FEATURES_EXT: Self = Self(1000627000); pub const PHYSICAL_DEVICE_CUSTOM_RESOLVE_FEATURES_EXT: Self = Self(1000628000); pub const BEGIN_CUSTOM_RESOLVE_INFO_EXT: Self = Self(1000628001); @@ -7524,6 +8059,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 +8075,29 @@ 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 FORMAT_PROPERTIES_4_KHR: Self = Self(1000668000); + pub const IMAGE_CREATE_FLAGS_2_CREATE_INFO_KHR: Self = Self(1000668001); + pub const IMAGE_USAGE_FLAGS_2_CREATE_INFO_KHR: Self = Self(1000668002); + pub const IMAGE_VIEW_USAGE_2_CREATE_INFO_KHR: Self = Self(1000668003); + pub const PHYSICAL_DEVICE_EXTENDED_FLAGS_FEATURES_KHR: Self = Self(1000668004); + pub const IMAGE_STENCIL_USAGE_2_CREATE_INFO_KHR: Self = Self(1000668005); + pub const SHARED_PRESENT_SURFACE_CAPABILITIES_2_KHR: Self = Self(1000668006); 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); + pub const PHYSICAL_DEVICE_COOPERATIVE_MATRIX_DECODE_VECTOR_FEATURES_NV: Self = Self(1000689000); /// Constructs an instance of this enum with the supplied underlying value. #[inline] @@ -8014,6 +8577,13 @@ impl fmt::Debug for StructureType { 1000129004 => write!(f, "MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID"), 1000129005 => write!(f, "EXTERNAL_FORMAT_ANDROID"), 1000129006 => write!(f, "ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID"), + 1000133000 => write!(f, "PHYSICAL_DEVICE_GPA_FEATURES_AMD"), + 1000133001 => write!(f, "PHYSICAL_DEVICE_GPA_PROPERTIES_AMD"), + 1000133002 => write!(f, "GPA_SAMPLE_BEGIN_INFO_AMD"), + 1000133003 => write!(f, "GPA_SESSION_CREATE_INFO_AMD"), + 1000133004 => write!(f, "GPA_DEVICE_CLOCK_MODE_INFO_AMD"), + 1000133005 => write!(f, "PHYSICAL_DEVICE_GPA_PROPERTIES_2_AMD"), + 1000133006 => write!(f, "GPA_DEVICE_GET_CLOCK_INFO_AMD"), 1000134000 => write!(f, "PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX"), 1000134001 => write!(f, "PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX"), 1000134002 => write!(f, "EXECUTION_GRAPH_PIPELINE_SCRATCH_SIZE_AMDX"), @@ -8114,6 +8684,7 @@ impl fmt::Debug for StructureType { f, "PHYSICAL_DEVICE_COOPERATIVE_MATRIX_CONVERSION_FEATURES_QCOM" ), + 1000173000 => write!(f, "PHYSICAL_DEVICE_ELAPSED_TIMER_QUERY_FEATURES_QCOM"), 1000178000 => write!(f, "IMPORT_MEMORY_HOST_POINTER_INFO_EXT"), 1000178001 => write!(f, "MEMORY_HOST_POINTER_PROPERTIES_EXT"), 1000178002 => write!(f, "PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT"), @@ -8178,6 +8749,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 +8848,20 @@ 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"), + 1000303000 => write!(f, "PHYSICAL_DEVICE_IMAGE_PROCESSING_3_FEATURES_QCOM"), + 1000304000 => write!( + f, + "PHYSICAL_DEVICE_SHADER_MULTIPLE_WAIT_QUEUES_FEATURES_QCOM" + ), + 1000304001 => write!( + f, + "PHYSICAL_DEVICE_SHADER_MULTIPLE_WAIT_QUEUES_PROPERTIES_QCOM" + ), + 1000305000 => write!(f, "PHYSICAL_DEVICE_SHADER_SPLIT_BARRIER_FEATURES_EXT"), + 1000305001 => write!(f, "PHYSICAL_DEVICE_SHADER_SPLIT_BARRIER_PROPERTIES_EXT"), 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 +8906,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 +9094,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 +9349,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 +9532,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"), @@ -8954,6 +9569,12 @@ impl fmt::Debug for StructureType { 1000593001 => write!(f, "COOPERATIVE_MATRIX_FLEXIBLE_DIMENSIONS_PROPERTIES_NV"), 1000593002 => write!(f, "PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_PROPERTIES_NV"), 1000596000 => write!(f, "PHYSICAL_DEVICE_PIPELINE_OPACITY_MICROMAP_FEATURES_ARM"), + 1000598000 => write!(f, "PHYSICAL_DEVICE_VIDEO_ENCODE_FEEDBACK_2_FEATURES_KHR"), + 1000598001 => write!(f, "VIDEO_ENCODE_FEEDBACK_2_CAPABILITIES_KHR"), + 1000598002 => write!( + f, + "QUERY_POOL_VIDEO_ENCODE_PER_PARTITION_FEEDBACK_CREATE_INFO_KHR" + ), 1000602000 => write!(f, "IMPORT_MEMORY_METAL_HANDLE_INFO_EXT"), 1000602001 => write!(f, "MEMORY_METAL_HANDLE_PROPERTIES_EXT"), 1000602002 => write!(f, "MEMORY_GET_METAL_HANDLE_INFO_EXT"), @@ -8972,6 +9593,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" @@ -8990,6 +9615,11 @@ impl fmt::Debug for StructureType { 1000286001 => write!(f, "PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_KHR"), 1000613000 => write!(f, "SET_PRESENT_CONFIG_NV"), 1000613001 => write!(f, "PHYSICAL_DEVICE_PRESENT_METERING_FEATURES_NV"), + 1000616000 => write!( + f, + "PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SWAPCHAIN_FEATURES_EXT" + ), + 1000616001 => write!(f, "SWAPCHAIN_FLAGS_SURFACE_CAPABILITIES_EXT"), 1000425000 => write!( f, "PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_EXT" @@ -9007,6 +9637,10 @@ impl fmt::Debug for StructureType { f, "PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_KHR" ), + 1000623000 => write!(f, "PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_KHR"), + 1000623001 => write!(f, "PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_KHR"), + 1000623002 => write!(f, "ACCELERATION_STRUCTURE_GEOMETRY_MICROMAP_DATA_KHR"), + 1000623003 => write!(f, "ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_KHR"), 1000627000 => write!(f, "PHYSICAL_DEVICE_SHADER_64_BIT_INDEXING_FEATURES_EXT"), 1000628000 => write!(f, "PHYSICAL_DEVICE_CUSTOM_RESOLVE_FEATURES_EXT"), 1000628001 => write!(f, "BEGIN_CUSTOM_RESOLVE_INFO_EXT"), @@ -9018,6 +9652,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,15 +9673,43 @@ 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" ), 1000664000 => write!(f, "UBM_SURFACE_CREATE_INFO_SEC"), + 1000668000 => write!(f, "FORMAT_PROPERTIES_4_KHR"), + 1000668001 => write!(f, "IMAGE_CREATE_FLAGS_2_CREATE_INFO_KHR"), + 1000668002 => write!(f, "IMAGE_USAGE_FLAGS_2_CREATE_INFO_KHR"), + 1000668003 => write!(f, "IMAGE_VIEW_USAGE_2_CREATE_INFO_KHR"), + 1000668004 => write!(f, "PHYSICAL_DEVICE_EXTENDED_FLAGS_FEATURES_KHR"), + 1000668005 => write!(f, "IMAGE_STENCIL_USAGE_2_CREATE_INFO_KHR"), + 1000668006 => write!(f, "SHARED_PRESENT_SURFACE_CAPABILITIES_2_KHR"), 1000673000 => write!( 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"), + 1000689000 => write!( + f, + "PHYSICAL_DEVICE_COOPERATIVE_MATRIX_DECODE_VECTOR_FEATURES_NV" + ), _ => self.0.fmt(f), } } @@ -9236,6 +9907,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)] @@ -9434,6 +10139,7 @@ impl VendorId { pub const MESA: Self = Self(65541); pub const POCL: Self = Self(65542); pub const MOBILEYE: Self = Self(65543); + pub const APE: Self = Self(65544); /// Constructs an instance of this enum with the supplied underlying value. #[inline] @@ -9459,6 +10165,7 @@ impl fmt::Debug for VendorId { 65541 => write!(f, "MESA"), 65542 => write!(f, "POCL"), 65543 => write!(f, "MOBILEYE"), + 65544 => write!(f, "APE"), _ => self.0.fmt(f), } } @@ -9661,6 +10368,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; /// @@ -9669,6 +10380,10 @@ pub type GeometryTypeNV = GeometryTypeKHR; pub type LineRasterizationModeEXT = LineRasterizationMode; /// pub type LineRasterizationModeKHR = LineRasterizationMode; +/// +pub type OpacityMicromapFormatEXT = OpacityMicromapFormatKHR; +/// +pub type OpacityMicromapSpecialIndexEXT = OpacityMicromapSpecialIndexKHR; /// pub type PipelineRobustnessBufferBehaviorEXT = PipelineRobustnessBufferBehavior; /// diff --git a/vulkanalia-sys/src/extensions.rs b/vulkanalia-sys/src/extensions.rs index d92dc7b1..354e34a8 100644 --- a/vulkanalia-sys/src/extensions.rs +++ b/vulkanalia-sys/src/extensions.rs @@ -201,6 +201,22 @@ pub const AMD_GCN_SHADER_EXTENSION: Extension = Extension { promoted_to: None, }; +/// +#[allow(deprecated)] +pub const AMD_GPA_INTERFACE_EXTENSION: Extension = Extension { + name: ExtensionName::from_bytes(b"VK_AMD_gpa_interface"), + number: 134, + type_: "device", + author: "AMD", + contact: "Stu Smith @stu-s", + platform: None, + required_extensions: None, + required_version: None, + deprecated_by: None, + obsoleted_by: None, + promoted_to: None, +}; + /// #[deprecated(note = "deprecated in favor of `VK_KHR_shader_float16_int8`")] #[allow(deprecated)] @@ -523,6 +539,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 +715,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 +1227,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"), }; /// @@ -1982,6 +2062,22 @@ pub const EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_EXTENSION: Extension = Exten promoted_to: None, }; +/// +#[allow(deprecated)] +pub const EXT_MULTISAMPLED_RENDER_TO_SWAPCHAIN_EXTENSION: Extension = Extension { + name: ExtensionName::from_bytes(b"VK_EXT_multisampled_render_to_swapchain"), + number: 617, + type_: "device", + author: "EXT", + contact: "Shahbaz Youssefi @syoussefi", + platform: None, + required_extensions: None, + required_version: None, + deprecated_by: None, + obsoleted_by: None, + promoted_to: None, +}; + /// #[allow(deprecated)] pub const EXT_MUTABLE_DESCRIPTOR_TYPE_EXTENSION: Extension = Extension { @@ -2043,7 +2139,7 @@ pub const EXT_OPACITY_MICROMAP_EXTENSION: Extension = Extension { required_version: None, deprecated_by: None, obsoleted_by: None, - promoted_to: None, + promoted_to: Some("VK_KHR_opacity_micromap"), }; /// @@ -2238,6 +2334,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 { @@ -2606,6 +2718,22 @@ pub const EXT_SHADER_REPLICATED_COMPOSITES_EXTENSION: Extension = Extension { promoted_to: None, }; +/// +#[allow(deprecated)] +pub const EXT_SHADER_SPLIT_BARRIER_EXTENSION: Extension = Extension { + name: ExtensionName::from_bytes(b"VK_EXT_shader_split_barrier"), + number: 306, + type_: "device", + author: "EXT", + 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 EXT_SHADER_STENCIL_EXPORT_EXTENSION: Extension = Extension { @@ -3619,6 +3747,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 { @@ -3747,6 +3907,22 @@ pub const KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION: Extension = Extension { promoted_to: Some("VK_VERSION_1_4"), }; +/// +#[allow(deprecated)] +pub const KHR_EXTENDED_FLAGS_EXTENSION: Extension = Extension { + name: ExtensionName::from_bytes(b"VK_KHR_extended_flags"), + number: 669, + type_: "device", + author: "KHR", + contact: "Jon Leech @oddhack", + platform: None, + required_extensions: None, + required_version: None, + deprecated_by: None, + obsoleted_by: None, + promoted_to: None, +}; + /// #[allow(deprecated)] pub const KHR_EXTERNAL_FENCE_EXTENSION: Extension = Extension { @@ -4211,6 +4387,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 { @@ -4387,6 +4579,22 @@ pub const KHR_OBJECT_REFRESH_EXTENSION: Extension = Extension { promoted_to: None, }; +/// +#[allow(deprecated)] +pub const KHR_OPACITY_MICROMAP_EXTENSION: Extension = Extension { + name: ExtensionName::from_bytes(b"VK_KHR_opacity_micromap"), + number: 624, + type_: "device", + author: "KHR", + 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 KHR_PERFORMANCE_QUERY_EXTENSION: Extension = Extension { @@ -4731,6 +4939,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 +5003,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 { @@ -5371,6 +5611,22 @@ pub const KHR_VIDEO_ENCODE_AV1_EXTENSION: Extension = Extension { promoted_to: None, }; +/// +#[allow(deprecated)] +pub const KHR_VIDEO_ENCODE_FEEDBACK2_EXTENSION: Extension = Extension { + name: ExtensionName::from_bytes(b"VK_KHR_video_encode_feedback2"), + number: 599, + type_: "device", + author: "KHR", + contact: "Ahmed Abdelkhalek @aabdelkh", + platform: None, + required_extensions: None, + required_version: None, + deprecated_by: None, + obsoleted_by: None, + promoted_to: None, +}; + /// #[allow(deprecated)] pub const KHR_VIDEO_ENCODE_H264_EXTENSION: Extension = Extension { @@ -5901,6 +6157,22 @@ pub const NV_COOPERATIVE_MATRIX2_EXTENSION: Extension = Extension { promoted_to: None, }; +/// +#[allow(deprecated)] +pub const NV_COOPERATIVE_MATRIX_DECODE_VECTOR_EXTENSION: Extension = Extension { + name: ExtensionName::from_bytes(b"VK_NV_cooperative_matrix_decode_vector"), + number: 690, + type_: "device", + author: "NV", + contact: "Jeff Bolz @jeffbolznv", + platform: None, + required_extensions: None, + required_version: None, + deprecated_by: None, + obsoleted_by: None, + promoted_to: None, +}; + /// #[allow(deprecated)] pub const NV_COOPERATIVE_VECTOR_EXTENSION: Extension = Extension { @@ -6533,6 +6805,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 +6816,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 +6838,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 +6845,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, @@ -6957,6 +7222,22 @@ pub const QCOM_DATA_GRAPH_MODEL_EXTENSION: Extension = Extension { promoted_to: None, }; +/// +#[allow(deprecated)] +pub const QCOM_ELAPSED_TIMER_QUERY_EXTENSION: Extension = Extension { + name: ExtensionName::from_bytes(b"VK_QCOM_elapsed_timer_query"), + number: 174, + 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_FILTER_CUBIC_CLAMP_EXTENSION: Extension = Extension { @@ -7037,6 +7318,22 @@ pub const QCOM_IMAGE_PROCESSING2_EXTENSION: Extension = Extension { promoted_to: None, }; +/// +#[allow(deprecated)] +pub const QCOM_IMAGE_PROCESSING3_EXTENSION: Extension = Extension { + name: ExtensionName::from_bytes(b"VK_QCOM_image_processing3"), + number: 304, + 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_MULTIVIEW_PER_VIEW_RENDER_AREAS_EXTENSION: Extension = Extension { @@ -7069,6 +7366,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 { @@ -7133,6 +7446,22 @@ pub const QCOM_ROTATED_COPY_COMMANDS_EXTENSION: Extension = Extension { promoted_to: None, }; +/// +#[allow(deprecated)] +pub const QCOM_SHADER_MULTIPLE_WAIT_QUEUES_EXTENSION: Extension = Extension { + name: ExtensionName::from_bytes(b"VK_QCOM_shader_multiple_wait_queues"), + number: 305, + 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_TILE_MEMORY_HEAP_EXTENSION: Extension = Extension { @@ -7261,6 +7590,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..310771be 100644 --- a/vulkanalia-sys/src/handles.rs +++ b/vulkanalia-sys/src/handles.rs @@ -1271,6 +1271,50 @@ impl fmt::Debug for Framebuffer { } } +/// +#[repr(transparent)] +#[derive(Copy, Clone, PartialEq, Eq, Hash)] +pub struct GpaSessionAMD(u64); + +impl Handle for GpaSessionAMD { + type Repr = u64; + + const TYPE: ObjectType = ObjectType::GPA_SESSION_AMD; + + #[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 GpaSessionAMD { + #[inline] + fn default() -> Self { + Self::null() + } +} + +impl fmt::Debug for GpaSessionAMD { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + write!(f, "GpaSessionAMD({:p})", self.0 as *const u8) + } +} + /// #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, Hash)] @@ -2287,6 +2331,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..5f9e6b8c 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)] @@ -375,6 +404,39 @@ impl Default for AccelerationStructureGeometryLinearSweptSpheresDataNV { unsafe impl Send for AccelerationStructureGeometryLinearSweptSpheresDataNV {} unsafe impl Sync for AccelerationStructureGeometryLinearSweptSpheresDataNV {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct AccelerationStructureGeometryMicromapDataKHR { + pub s_type: StructureType, + pub next: *const c_void, + pub usage_counts_count: u32, + pub usage_counts: *const MicromapUsageKHR, + pub pointer_usage_counts: *const *const MicromapUsageKHR, + pub data: DeviceAddress, + pub triangle_array: DeviceAddress, + pub triangle_array_stride: DeviceSize, +} + +impl Default for AccelerationStructureGeometryMicromapDataKHR { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::ACCELERATION_STRUCTURE_GEOMETRY_MICROMAP_DATA_KHR, + next: ptr::null(), + usage_counts_count: u32::default(), + usage_counts: ptr::null(), + pointer_usage_counts: ptr::null(), + data: DeviceAddress::default(), + triangle_array: DeviceAddress::default(), + triangle_array_stride: DeviceSize::default(), + } + } +} + +unsafe impl Send for AccelerationStructureGeometryMicromapDataKHR {} +unsafe impl Sync for AccelerationStructureGeometryMicromapDataKHR {} + /// #[repr(C)] #[derive(Copy, Clone, Debug)] @@ -479,7 +541,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 +554,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(), @@ -726,6 +788,37 @@ impl Default for AccelerationStructureTrianglesOpacityMicromapEXT { unsafe impl Send for AccelerationStructureTrianglesOpacityMicromapEXT {} unsafe impl Sync for AccelerationStructureTrianglesOpacityMicromapEXT {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct AccelerationStructureTrianglesOpacityMicromapKHR { + pub s_type: StructureType, + pub next: *mut c_void, + pub index_type: IndexType, + pub index_buffer: DeviceAddress, + pub index_stride: DeviceSize, + pub base_triangle: u32, + pub micromap: AccelerationStructureKHR, +} + +impl Default for AccelerationStructureTrianglesOpacityMicromapKHR { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_KHR, + next: ptr::null_mut(), + index_type: IndexType::default(), + index_buffer: DeviceAddress::default(), + index_stride: DeviceSize::default(), + base_triangle: u32::default(), + micromap: AccelerationStructureKHR::default(), + } + } +} + +unsafe impl Send for AccelerationStructureTrianglesOpacityMicromapKHR {} +unsafe impl Sync for AccelerationStructureTrianglesOpacityMicromapKHR {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -1725,6 +1818,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 +1968,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 +3491,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 +3922,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 +4628,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 +4779,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 +4791,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 +4873,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 +5016,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 +5141,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 +5195,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 +5274,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 +5621,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 +6524,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 +6680,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 +6716,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 +6748,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 +6770,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 +6845,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 +7112,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 +7565,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 +7599,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 +8049,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 +8086,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)] @@ -8614,6 +9365,33 @@ impl Default for FormatProperties3 { unsafe impl Send for FormatProperties3 {} unsafe impl Sync for FormatProperties3 {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct FormatProperties4KHR { + pub s_type: StructureType, + pub next: *mut c_void, + pub linear_tiling_features: FormatFeatureFlags4KHR, + pub optimal_tiling_features: FormatFeatureFlags4KHR, + pub buffer_features: FormatFeatureFlags4KHR, +} + +impl Default for FormatProperties4KHR { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::FORMAT_PROPERTIES_4_KHR, + next: ptr::null_mut(), + linear_tiling_features: FormatFeatureFlags4KHR::default(), + optimal_tiling_features: FormatFeatureFlags4KHR::default(), + buffer_features: FormatFeatureFlags4KHR::default(), + } + } +} + +unsafe impl Send for FormatProperties4KHR {} +unsafe impl Sync for FormatProperties4KHR {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -9153,6 +9931,156 @@ impl Default for GetLatencyMarkerInfoNV { unsafe impl Send for GetLatencyMarkerInfoNV {} unsafe impl Sync for GetLatencyMarkerInfoNV {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, PartialEq)] +pub struct GpaDeviceClockModeInfoAMD { + pub s_type: StructureType, + pub next: *const c_void, + pub clock_mode: GpaDeviceClockModeAMD, + pub memory_clock_ratio_to_peak: f32, + pub engine_clock_ratio_to_peak: f32, +} + +impl Default for GpaDeviceClockModeInfoAMD { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::GPA_DEVICE_CLOCK_MODE_INFO_AMD, + next: ptr::null(), + clock_mode: GpaDeviceClockModeAMD::default(), + memory_clock_ratio_to_peak: f32::default(), + engine_clock_ratio_to_peak: f32::default(), + } + } +} + +unsafe impl Send for GpaDeviceClockModeInfoAMD {} +unsafe impl Sync for GpaDeviceClockModeInfoAMD {} + +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, PartialEq)] +pub struct GpaDeviceGetClockInfoAMD { + pub s_type: StructureType, + pub next: *mut c_void, + pub memory_clock_ratio_to_peak: f32, + pub engine_clock_ratio_to_peak: f32, + pub memory_clock_frequency: u32, + pub engine_clock_frequency: u32, +} + +impl Default for GpaDeviceGetClockInfoAMD { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::GPA_DEVICE_GET_CLOCK_INFO_AMD, + next: ptr::null_mut(), + memory_clock_ratio_to_peak: f32::default(), + engine_clock_ratio_to_peak: f32::default(), + memory_clock_frequency: u32::default(), + engine_clock_frequency: u32::default(), + } + } +} + +unsafe impl Send for GpaDeviceGetClockInfoAMD {} +unsafe impl Sync for GpaDeviceGetClockInfoAMD {} + +/// +#[repr(C)] +#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)] +pub struct GpaPerfBlockPropertiesAMD { + pub block_type: GpaPerfBlockAMD, + pub flags: GpaPerfBlockPropertiesFlagsAMD, + pub instance_count: u32, + pub max_event_id: u32, + pub max_global_only_counters: u32, + pub max_global_shared_counters: u32, + pub max_streaming_counters: u32, +} + +/// +#[repr(C)] +#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)] +pub struct GpaPerfCounterAMD { + pub block_type: GpaPerfBlockAMD, + pub block_instance: u32, + pub event_id: u32, +} + +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct GpaSampleBeginInfoAMD { + pub s_type: StructureType, + pub next: *const c_void, + pub sample_type: GpaSampleTypeAMD, + pub sample_internal_operations: Bool32, + pub cache_flush_on_counter_collection: Bool32, + pub sq_shader_mask_enable: Bool32, + pub sq_shader_mask: GpaSqShaderStageFlagsAMD, + pub perf_counter_count: u32, + pub perf_counters: *const GpaPerfCounterAMD, + pub streaming_perf_trace_sample_interval: u32, + pub perf_counter_device_memory_limit: DeviceSize, + pub sq_thread_trace_enable: Bool32, + pub sq_thread_trace_suppress_instruction_tokens: Bool32, + pub sq_thread_trace_device_memory_limit: DeviceSize, + pub timing_pre_sample: PipelineStageFlags, + pub timing_post_sample: PipelineStageFlags, +} + +impl Default for GpaSampleBeginInfoAMD { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::GPA_SAMPLE_BEGIN_INFO_AMD, + next: ptr::null(), + sample_type: GpaSampleTypeAMD::default(), + sample_internal_operations: Bool32::default(), + cache_flush_on_counter_collection: Bool32::default(), + sq_shader_mask_enable: Bool32::default(), + sq_shader_mask: GpaSqShaderStageFlagsAMD::default(), + perf_counter_count: u32::default(), + perf_counters: ptr::null(), + streaming_perf_trace_sample_interval: u32::default(), + perf_counter_device_memory_limit: DeviceSize::default(), + sq_thread_trace_enable: Bool32::default(), + sq_thread_trace_suppress_instruction_tokens: Bool32::default(), + sq_thread_trace_device_memory_limit: DeviceSize::default(), + timing_pre_sample: PipelineStageFlags::default(), + timing_post_sample: PipelineStageFlags::default(), + } + } +} + +unsafe impl Send for GpaSampleBeginInfoAMD {} +unsafe impl Sync for GpaSampleBeginInfoAMD {} + +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct GpaSessionCreateInfoAMD { + pub s_type: StructureType, + pub next: *const c_void, + pub secondary_copy_source: GpaSessionAMD, +} + +impl Default for GpaSessionCreateInfoAMD { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::GPA_SESSION_CREATE_INFO_AMD, + next: ptr::null(), + secondary_copy_source: GpaSessionAMD::default(), + } + } +} + +unsafe impl Send for GpaSessionCreateInfoAMD {} +unsafe impl Sync for GpaSessionCreateInfoAMD {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -9703,6 +10631,29 @@ impl Default for ImageCopy2 { unsafe impl Send for ImageCopy2 {} unsafe impl Sync for ImageCopy2 {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct ImageCreateFlags2CreateInfoKHR { + pub s_type: StructureType, + pub next: *mut c_void, + pub flags: ImageCreateFlags2KHR, +} + +impl Default for ImageCreateFlags2CreateInfoKHR { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::IMAGE_CREATE_FLAGS_2_CREATE_INFO_KHR, + next: ptr::null_mut(), + flags: ImageCreateFlags2KHR::default(), + } + } +} + +unsafe impl Send for ImageCreateFlags2CreateInfoKHR {} +unsafe impl Sync for ImageCreateFlags2CreateInfoKHR {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -10156,6 +11107,29 @@ impl Default for ImageSparseMemoryRequirementsInfo2 { unsafe impl Send for ImageSparseMemoryRequirementsInfo2 {} unsafe impl Sync for ImageSparseMemoryRequirementsInfo2 {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct ImageStencilUsage2CreateInfoKHR { + pub s_type: StructureType, + pub next: *mut c_void, + pub stencil_usage: ImageUsageFlags2KHR, +} + +impl Default for ImageStencilUsage2CreateInfoKHR { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::IMAGE_STENCIL_USAGE_2_CREATE_INFO_KHR, + next: ptr::null_mut(), + stencil_usage: ImageUsageFlags2KHR::default(), + } + } +} + +unsafe impl Send for ImageStencilUsage2CreateInfoKHR {} +unsafe impl Sync for ImageStencilUsage2CreateInfoKHR {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -10288,6 +11262,29 @@ impl Default for ImageToMemoryCopy { unsafe impl Send for ImageToMemoryCopy {} unsafe impl Sync for ImageToMemoryCopy {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct ImageUsageFlags2CreateInfoKHR { + pub s_type: StructureType, + pub next: *mut c_void, + pub usage: ImageUsageFlags2KHR, +} + +impl Default for ImageUsageFlags2CreateInfoKHR { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::IMAGE_USAGE_FLAGS_2_CREATE_INFO_KHR, + next: ptr::null_mut(), + usage: ImageUsageFlags2KHR::default(), + } + } +} + +unsafe impl Send for ImageUsageFlags2CreateInfoKHR {} +unsafe impl Sync for ImageUsageFlags2CreateInfoKHR {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -10494,6 +11491,29 @@ impl Default for ImageViewSlicedCreateInfoEXT { unsafe impl Send for ImageViewSlicedCreateInfoEXT {} unsafe impl Sync for ImageViewSlicedCreateInfoEXT {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct ImageViewUsage2CreateInfoKHR { + pub s_type: StructureType, + pub next: *mut c_void, + pub usage: ImageUsageFlags2KHR, +} + +impl Default for ImageViewUsage2CreateInfoKHR { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::IMAGE_VIEW_USAGE_2_CREATE_INFO_KHR, + next: ptr::null_mut(), + usage: ImageUsageFlags2KHR::default(), + } + } +} + +unsafe impl Send for ImageViewUsage2CreateInfoKHR {} +unsafe impl Sync for ImageViewUsage2CreateInfoKHR {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -12227,6 +13247,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 +13345,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)] @@ -12591,10 +13702,10 @@ impl Default for MicromapCreateInfoEXT { unsafe impl Send for MicromapCreateInfoEXT {} unsafe impl Sync for MicromapCreateInfoEXT {} -/// +/// #[repr(C)] #[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)] -pub struct MicromapTriangleEXT { +pub struct MicromapTriangleKHR { pub data_offset: u32, pub subdivision_level: u16, pub format: u16, @@ -12609,6 +13720,15 @@ pub struct MicromapUsageEXT { pub format: u32, } +/// +#[repr(C)] +#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)] +pub struct MicromapUsageKHR { + pub count: u32, + pub subdivision_level: u32, + pub format: OpacityMicromapFormatKHR, +} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -13331,6 +14451,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)] @@ -14436,6 +15581,29 @@ impl Default for PhysicalDeviceCooperativeMatrixConversionFeaturesQCOM { unsafe impl Send for PhysicalDeviceCooperativeMatrixConversionFeaturesQCOM {} unsafe impl Sync for PhysicalDeviceCooperativeMatrixConversionFeaturesQCOM {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV { + pub s_type: StructureType, + pub next: *mut c_void, + pub cooperative_matrix_decode_vector: Bool32, +} + +impl Default for PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_DECODE_VECTOR_FEATURES_NV, + next: ptr::null_mut(), + cooperative_matrix_decode_vector: Bool32::default(), + } + } +} + +unsafe impl Send for PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV {} +unsafe impl Sync for PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -14922,6 +16090,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 +16123,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 +16824,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)] @@ -16015,6 +17253,29 @@ impl Default for PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT { unsafe impl Send for PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT {} unsafe impl Sync for PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct PhysicalDeviceElapsedTimerQueryFeaturesQCOM { + pub s_type: StructureType, + pub next: *mut c_void, + pub elapsed_timer_query: Bool32, +} + +impl Default for PhysicalDeviceElapsedTimerQueryFeaturesQCOM { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::PHYSICAL_DEVICE_ELAPSED_TIMER_QUERY_FEATURES_QCOM, + next: ptr::null_mut(), + elapsed_timer_query: Bool32::default(), + } + } +} + +unsafe impl Send for PhysicalDeviceElapsedTimerQueryFeaturesQCOM {} +unsafe impl Sync for PhysicalDeviceElapsedTimerQueryFeaturesQCOM {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -16194,6 +17455,29 @@ impl Default for PhysicalDeviceExtendedDynamicStateFeaturesEXT { unsafe impl Send for PhysicalDeviceExtendedDynamicStateFeaturesEXT {} unsafe impl Sync for PhysicalDeviceExtendedDynamicStateFeaturesEXT {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct PhysicalDeviceExtendedFlagsFeaturesKHR { + pub s_type: StructureType, + pub next: *mut c_void, + pub extended_flags: Bool32, +} + +impl Default for PhysicalDeviceExtendedFlagsFeaturesKHR { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_FLAGS_FEATURES_KHR, + next: ptr::null_mut(), + extended_flags: Bool32::default(), + } + } +} + +unsafe impl Send for PhysicalDeviceExtendedFlagsFeaturesKHR {} +unsafe impl Sync for PhysicalDeviceExtendedFlagsFeaturesKHR {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -16619,6 +17903,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)] @@ -17255,6 +18591,89 @@ impl Default for PhysicalDeviceGlobalPriorityQueryFeatures { unsafe impl Send for PhysicalDeviceGlobalPriorityQueryFeatures {} unsafe impl Sync for PhysicalDeviceGlobalPriorityQueryFeatures {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct PhysicalDeviceGpaFeaturesAMD { + pub s_type: StructureType, + pub next: *mut c_void, + pub perf_counters: Bool32, + pub streaming_perf_counters: Bool32, + pub sq_thread_tracing: Bool32, + pub clock_modes: Bool32, +} + +impl Default for PhysicalDeviceGpaFeaturesAMD { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::PHYSICAL_DEVICE_GPA_FEATURES_AMD, + next: ptr::null_mut(), + perf_counters: Bool32::default(), + streaming_perf_counters: Bool32::default(), + sq_thread_tracing: Bool32::default(), + clock_modes: Bool32::default(), + } + } +} + +unsafe impl Send for PhysicalDeviceGpaFeaturesAMD {} +unsafe impl Sync for PhysicalDeviceGpaFeaturesAMD {} + +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct PhysicalDeviceGpaProperties2AMD { + pub s_type: StructureType, + pub next: *mut c_void, + pub revision_id: u32, +} + +impl Default for PhysicalDeviceGpaProperties2AMD { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::PHYSICAL_DEVICE_GPA_PROPERTIES_2_AMD, + next: ptr::null_mut(), + revision_id: u32::default(), + } + } +} + +unsafe impl Send for PhysicalDeviceGpaProperties2AMD {} +unsafe impl Sync for PhysicalDeviceGpaProperties2AMD {} + +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct PhysicalDeviceGpaPropertiesAMD { + pub s_type: StructureType, + pub next: *mut c_void, + pub flags: PhysicalDeviceGpaPropertiesFlagsAMD, + pub max_sqtt_se_buffer_size: DeviceSize, + pub shader_engine_count: u32, + pub perf_block_count: u32, + pub perf_blocks: *mut GpaPerfBlockPropertiesAMD, +} + +impl Default for PhysicalDeviceGpaPropertiesAMD { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::PHYSICAL_DEVICE_GPA_PROPERTIES_AMD, + next: ptr::null_mut(), + flags: PhysicalDeviceGpaPropertiesFlagsAMD::default(), + max_sqtt_se_buffer_size: DeviceSize::default(), + shader_engine_count: u32::default(), + perf_block_count: u32::default(), + perf_blocks: ptr::null_mut(), + } + } +} + +unsafe impl Send for PhysicalDeviceGpaPropertiesAMD {} +unsafe impl Sync for PhysicalDeviceGpaPropertiesAMD {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -17686,6 +19105,33 @@ impl Default for PhysicalDeviceImageProcessing2PropertiesQCOM { unsafe impl Send for PhysicalDeviceImageProcessing2PropertiesQCOM {} unsafe impl Sync for PhysicalDeviceImageProcessing2PropertiesQCOM {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct PhysicalDeviceImageProcessing3FeaturesQCOM { + pub s_type: StructureType, + pub next: *mut c_void, + pub image_gather_linear: Bool32, + pub image_gather_extended_modes: Bool32, + pub block_match_extended_clamp_to_edge: Bool32, +} + +impl Default for PhysicalDeviceImageProcessing3FeaturesQCOM { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_3_FEATURES_QCOM, + next: ptr::null_mut(), + image_gather_linear: Bool32::default(), + image_gather_extended_modes: Bool32::default(), + block_match_extended_clamp_to_edge: Bool32::default(), + } + } +} + +unsafe impl Send for PhysicalDeviceImageProcessing3FeaturesQCOM {} +unsafe impl Sync for PhysicalDeviceImageProcessing3FeaturesQCOM {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -18415,6 +19861,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)] @@ -19152,6 +20621,29 @@ impl Default for PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT { unsafe impl Send for PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {} unsafe impl Sync for PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT { + pub s_type: StructureType, + pub next: *mut c_void, + pub multisampled_render_to_swapchain: Bool32, +} + +impl Default for PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SWAPCHAIN_FEATURES_EXT, + next: ptr::null_mut(), + multisampled_render_to_swapchain: Bool32::default(), + } + } +} + +unsafe impl Send for PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT {} +unsafe impl Sync for PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -19396,6 +20888,29 @@ impl Default for PhysicalDeviceOpacityMicromapFeaturesEXT { unsafe impl Send for PhysicalDeviceOpacityMicromapFeaturesEXT {} unsafe impl Sync for PhysicalDeviceOpacityMicromapFeaturesEXT {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct PhysicalDeviceOpacityMicromapFeaturesKHR { + pub s_type: StructureType, + pub next: *mut c_void, + pub micromap: Bool32, +} + +impl Default for PhysicalDeviceOpacityMicromapFeaturesKHR { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_KHR, + next: ptr::null_mut(), + micromap: Bool32::default(), + } + } +} + +unsafe impl Send for PhysicalDeviceOpacityMicromapFeaturesKHR {} +unsafe impl Sync for PhysicalDeviceOpacityMicromapFeaturesKHR {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -19421,6 +20936,35 @@ impl Default for PhysicalDeviceOpacityMicromapPropertiesEXT { unsafe impl Send for PhysicalDeviceOpacityMicromapPropertiesEXT {} unsafe impl Sync for PhysicalDeviceOpacityMicromapPropertiesEXT {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct PhysicalDeviceOpacityMicromapPropertiesKHR { + pub s_type: StructureType, + pub next: *mut c_void, + pub max_opacity2_state_subdivision_level: u32, + pub max_opacity4_state_subdivision_level: u32, + pub max_opacity_lossy4_state_subdivision_level: u32, + pub max_micromap_triangles: u64, +} + +impl Default for PhysicalDeviceOpacityMicromapPropertiesKHR { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_KHR, + next: ptr::null_mut(), + max_opacity2_state_subdivision_level: u32::default(), + max_opacity4_state_subdivision_level: u32::default(), + max_opacity_lossy4_state_subdivision_level: u32::default(), + max_micromap_triangles: u64::default(), + } + } +} + +unsafe impl Send for PhysicalDeviceOpacityMicromapPropertiesKHR {} +unsafe impl Sync for PhysicalDeviceOpacityMicromapPropertiesKHR {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -20264,6 +21808,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 +22141,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 +22854,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 +22967,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 +23203,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 +23678,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)] @@ -22214,6 +23965,52 @@ impl Default for PhysicalDeviceShaderModuleIdentifierPropertiesEXT { unsafe impl Send for PhysicalDeviceShaderModuleIdentifierPropertiesEXT {} unsafe impl Sync for PhysicalDeviceShaderModuleIdentifierPropertiesEXT {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM { + pub s_type: StructureType, + pub next: *mut c_void, + pub shader_multiple_wait_queues: Bool32, +} + +impl Default for PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::PHYSICAL_DEVICE_SHADER_MULTIPLE_WAIT_QUEUES_FEATURES_QCOM, + next: ptr::null_mut(), + shader_multiple_wait_queues: Bool32::default(), + } + } +} + +unsafe impl Send for PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM {} +unsafe impl Sync for PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM {} + +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct PhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM { + pub s_type: StructureType, + pub next: *mut c_void, + pub max_shader_wait_queues: u32, +} + +impl Default for PhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::PHYSICAL_DEVICE_SHADER_MULTIPLE_WAIT_QUEUES_PROPERTIES_QCOM, + next: ptr::null_mut(), + max_shader_wait_queues: u32::default(), + } + } +} + +unsafe impl Send for PhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM {} +unsafe impl Sync for PhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -22379,6 +24176,52 @@ impl Default for PhysicalDeviceShaderSMBuiltinsPropertiesNV { unsafe impl Send for PhysicalDeviceShaderSMBuiltinsPropertiesNV {} unsafe impl Sync for PhysicalDeviceShaderSMBuiltinsPropertiesNV {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct PhysicalDeviceShaderSplitBarrierFeaturesEXT { + pub s_type: StructureType, + pub next: *mut c_void, + pub shader_split_barrier: Bool32, +} + +impl Default for PhysicalDeviceShaderSplitBarrierFeaturesEXT { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::PHYSICAL_DEVICE_SHADER_SPLIT_BARRIER_FEATURES_EXT, + next: ptr::null_mut(), + shader_split_barrier: Bool32::default(), + } + } +} + +unsafe impl Send for PhysicalDeviceShaderSplitBarrierFeaturesEXT {} +unsafe impl Sync for PhysicalDeviceShaderSplitBarrierFeaturesEXT {} + +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct PhysicalDeviceShaderSplitBarrierPropertiesEXT { + pub s_type: StructureType, + pub next: *mut c_void, + pub split_barrier_reserved_shared_memory: u32, +} + +impl Default for PhysicalDeviceShaderSplitBarrierPropertiesEXT { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::PHYSICAL_DEVICE_SHADER_SPLIT_BARRIER_PROPERTIES_EXT, + next: ptr::null_mut(), + split_barrier_reserved_shared_memory: u32::default(), + } + } +} + +unsafe impl Send for PhysicalDeviceShaderSplitBarrierPropertiesEXT {} +unsafe impl Sync for PhysicalDeviceShaderSplitBarrierPropertiesEXT {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -23090,6 +24933,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)] @@ -23620,6 +25486,29 @@ impl Default for PhysicalDeviceVideoEncodeAV1FeaturesKHR { unsafe impl Send for PhysicalDeviceVideoEncodeAV1FeaturesKHR {} unsafe impl Sync for PhysicalDeviceVideoEncodeAV1FeaturesKHR {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct PhysicalDeviceVideoEncodeFeedback2FeaturesKHR { + pub s_type: StructureType, + pub next: *mut c_void, + pub video_encode_feedback2: Bool32, +} + +impl Default for PhysicalDeviceVideoEncodeFeedback2FeaturesKHR { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_FEEDBACK_2_FEATURES_KHR, + next: ptr::null_mut(), + video_encode_feedback2: Bool32::default(), + } + } +} + +unsafe impl Send for PhysicalDeviceVideoEncodeFeedback2FeaturesKHR {} +unsafe impl Sync for PhysicalDeviceVideoEncodeFeedback2FeaturesKHR {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -26861,6 +28750,31 @@ impl Default for QueryPoolVideoEncodeFeedbackCreateInfoKHR { unsafe impl Send for QueryPoolVideoEncodeFeedbackCreateInfoKHR {} unsafe impl Sync for QueryPoolVideoEncodeFeedbackCreateInfoKHR {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR { + pub s_type: StructureType, + pub next: *const c_void, + pub max_per_partition_feedback_entries: u32, + pub per_partition_encode_feedback_flags: VideoEncodePerPartitionFeedbackFlagsKHR, +} + +impl Default for QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::QUERY_POOL_VIDEO_ENCODE_PER_PARTITION_FEEDBACK_CREATE_INFO_KHR, + next: ptr::null(), + max_per_partition_feedback_entries: u32::default(), + per_partition_encode_feedback_flags: VideoEncodePerPartitionFeedbackFlagsKHR::default(), + } + } +} + +unsafe impl Send for QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR {} +unsafe impl Sync for QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -26907,6 +28821,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 +28908,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 +28964,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 +31178,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)] @@ -29293,6 +31354,29 @@ impl Default for ShadingRatePaletteNV { unsafe impl Send for ShadingRatePaletteNV {} unsafe impl Sync for ShadingRatePaletteNV {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct SharedPresentSurfaceCapabilities2KHR { + pub s_type: StructureType, + pub next: *mut c_void, + pub shared_present_supported_usage_flags: ImageUsageFlags2KHR, +} + +impl Default for SharedPresentSurfaceCapabilities2KHR { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::SHARED_PRESENT_SURFACE_CAPABILITIES_2_KHR, + next: ptr::null_mut(), + shared_present_supported_usage_flags: ImageUsageFlags2KHR::default(), + } + } +} + +unsafe impl Send for SharedPresentSurfaceCapabilities2KHR {} +unsafe impl Sync for SharedPresentSurfaceCapabilities2KHR {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -30483,6 +32567,29 @@ impl Default for SwapchainDisplayNativeHdrCreateInfoAMD { unsafe impl Send for SwapchainDisplayNativeHdrCreateInfoAMD {} unsafe impl Sync for SwapchainDisplayNativeHdrCreateInfoAMD {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct SwapchainFlagsSurfaceCapabilitiesEXT { + pub s_type: StructureType, + pub next: *mut c_void, + pub swapchain_supported_flags: SwapchainCreateFlagsKHR, +} + +impl Default for SwapchainFlagsSurfaceCapabilitiesEXT { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::SWAPCHAIN_FLAGS_SURFACE_CAPABILITIES_EXT, + next: ptr::null_mut(), + swapchain_supported_flags: SwapchainCreateFlagsKHR::default(), + } + } +} + +unsafe impl Send for SwapchainFlagsSurfaceCapabilitiesEXT {} +unsafe impl Sync for SwapchainFlagsSurfaceCapabilitiesEXT {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -31028,6 +33135,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)] @@ -32604,6 +34734,32 @@ impl Default for VideoEncodeCapabilitiesKHR { unsafe impl Send for VideoEncodeCapabilitiesKHR {} unsafe impl Sync for VideoEncodeCapabilitiesKHR {} +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct VideoEncodeFeedback2CapabilitiesKHR { + pub s_type: StructureType, + pub next: *mut c_void, + pub max_per_partition_feedback_entries: u32, + pub supported_per_partition_encode_feedback_flags: VideoEncodePerPartitionFeedbackFlagsKHR, +} + +impl Default for VideoEncodeFeedback2CapabilitiesKHR { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::VIDEO_ENCODE_FEEDBACK_2_CAPABILITIES_KHR, + next: ptr::null_mut(), + max_per_partition_feedback_entries: u32::default(), + supported_per_partition_encode_feedback_flags: + VideoEncodePerPartitionFeedbackFlagsKHR::default(), + } + } +} + +unsafe impl Send for VideoEncodeFeedback2CapabilitiesKHR {} +unsafe impl Sync for VideoEncodeFeedback2CapabilitiesKHR {} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -34900,8 +37056,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; /// @@ -35004,6 +37168,8 @@ pub type MemoryRequirements2KHR = MemoryRequirements2; pub type MemoryToImageCopyEXT = MemoryToImageCopy; /// pub type MemoryUnmapInfoKHR = MemoryUnmapInfo; +/// +pub type MicromapTriangleEXT = MicromapTriangleKHR; /// pub type MutableDescriptorTypeCreateInfoVALVE = MutableDescriptorTypeCreateInfoEXT; /// diff --git a/vulkanalia/src/vk/builders.rs b/vulkanalia/src/vk/builders.rs index 558b91e8..6f4e9477 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 {} @@ -698,6 +794,10 @@ unsafe impl ExtendsAccelerationStructureDenseGeometryFormatTrianglesDataAMDX for AccelerationStructureTrianglesOpacityMicromapEXT { } +unsafe impl ExtendsAccelerationStructureDenseGeometryFormatTrianglesDataAMDX + for AccelerationStructureTrianglesOpacityMicromapKHR +{ +} unsafe impl Cast for AccelerationStructureDenseGeometryFormatTrianglesDataAMDX { type Target = AccelerationStructureDenseGeometryFormatTrianglesDataAMDX; @@ -1002,6 +1102,10 @@ unsafe impl ExtendsAccelerationStructureGeometryKHR for AccelerationStructureGeometryLinearSweptSpheresDataNV { } +unsafe impl ExtendsAccelerationStructureGeometryKHR + for AccelerationStructureGeometryMicromapDataKHR +{ +} unsafe impl ExtendsAccelerationStructureGeometryKHR for AccelerationStructureGeometrySpheresDataNV {} unsafe impl Cast for AccelerationStructureGeometryKHR { @@ -1202,6 +1306,97 @@ unsafe impl Cast for AccelerationStructureGeometryLinearSweptSpheresDataNVBuilde } } +unsafe impl Cast for AccelerationStructureGeometryMicromapDataKHR { + type Target = AccelerationStructureGeometryMicromapDataKHR; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl<'b> HasBuilder<'b> for AccelerationStructureGeometryMicromapDataKHR { + type Builder = AccelerationStructureGeometryMicromapDataKHRBuilder<'b>; +} + +/// A builder for a [`AccelerationStructureGeometryMicromapDataKHR`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct AccelerationStructureGeometryMicromapDataKHRBuilder<'b> { + value: AccelerationStructureGeometryMicromapDataKHR, + _marker: PhantomData<&'b ()>, +} + +impl<'b> AccelerationStructureGeometryMicromapDataKHRBuilder<'b> { + #[inline] + pub fn usage_counts( + mut self, + usage_counts: &'b [impl Cast], + ) -> Self { + self.value.usage_counts_count = usage_counts.len() as u32; + self.value.usage_counts = usage_counts.as_ptr().cast(); + self + } + + #[inline] + pub fn pointer_usage_counts( + mut self, + pointer_usage_counts: &'b [*const MicromapUsageKHR], + ) -> Self { + self.value.usage_counts_count = pointer_usage_counts.len() as u32; + self.value.pointer_usage_counts = pointer_usage_counts.as_ptr(); + self + } + + #[inline] + pub fn data(mut self, data: DeviceAddress) -> Self { + self.value.data = data; + self + } + + #[inline] + pub fn triangle_array(mut self, triangle_array: DeviceAddress) -> Self { + self.value.triangle_array = triangle_array; + self + } + + #[inline] + pub fn triangle_array_stride(mut self, triangle_array_stride: DeviceSize) -> Self { + self.value.triangle_array_stride = triangle_array_stride; + self + } + + #[inline] + pub fn build(self) -> AccelerationStructureGeometryMicromapDataKHR { + self.value + } +} + +impl ops::Deref for AccelerationStructureGeometryMicromapDataKHRBuilder<'_> { + type Target = AccelerationStructureGeometryMicromapDataKHR; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for AccelerationStructureGeometryMicromapDataKHRBuilder<'_> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for AccelerationStructureGeometryMicromapDataKHRBuilder<'_> { + type Target = AccelerationStructureGeometryMicromapDataKHR; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for AccelerationStructureGeometryMotionTrianglesDataNV { type Target = AccelerationStructureGeometryMotionTrianglesDataNV; @@ -1380,6 +1575,10 @@ unsafe impl ExtendsAccelerationStructureGeometryTrianglesDataKHR for AccelerationStructureTrianglesOpacityMicromapEXT { } +unsafe impl ExtendsAccelerationStructureGeometryTrianglesDataKHR + for AccelerationStructureTrianglesOpacityMicromapKHR +{ +} unsafe impl Cast for AccelerationStructureGeometryTrianglesDataKHR { type Target = AccelerationStructureGeometryTrianglesDataKHR; @@ -1514,7 +1713,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 } @@ -2349,6 +2548,88 @@ unsafe impl Cast for AccelerationStructureTrianglesOpacityMicromapEXTBuilder<'_> } } +unsafe impl Cast for AccelerationStructureTrianglesOpacityMicromapKHR { + type Target = AccelerationStructureTrianglesOpacityMicromapKHR; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for AccelerationStructureTrianglesOpacityMicromapKHR { + type Builder = AccelerationStructureTrianglesOpacityMicromapKHRBuilder; +} + +/// A builder for a [`AccelerationStructureTrianglesOpacityMicromapKHR`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct AccelerationStructureTrianglesOpacityMicromapKHRBuilder { + value: AccelerationStructureTrianglesOpacityMicromapKHR, +} + +impl AccelerationStructureTrianglesOpacityMicromapKHRBuilder { + #[inline] + pub fn index_type(mut self, index_type: IndexType) -> Self { + self.value.index_type = index_type; + self + } + + #[inline] + pub fn index_buffer(mut self, index_buffer: DeviceAddress) -> Self { + self.value.index_buffer = index_buffer; + self + } + + #[inline] + pub fn index_stride(mut self, index_stride: DeviceSize) -> Self { + self.value.index_stride = index_stride; + self + } + + #[inline] + pub fn base_triangle(mut self, base_triangle: u32) -> Self { + self.value.base_triangle = base_triangle; + self + } + + #[inline] + pub fn micromap(mut self, micromap: AccelerationStructureKHR) -> Self { + self.value.micromap = micromap; + self + } + + #[inline] + pub fn build(self) -> AccelerationStructureTrianglesOpacityMicromapKHR { + self.value + } +} + +impl ops::Deref for AccelerationStructureTrianglesOpacityMicromapKHRBuilder { + type Target = AccelerationStructureTrianglesOpacityMicromapKHR; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for AccelerationStructureTrianglesOpacityMicromapKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for AccelerationStructureTrianglesOpacityMicromapKHRBuilder { + type Target = AccelerationStructureTrianglesOpacityMicromapKHR; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for AccelerationStructureVersionInfoKHR { type Target = AccelerationStructureVersionInfoKHR; @@ -4878,8 +5159,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 +5486,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 +6057,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 +11303,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 +12495,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 +14419,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 +14816,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 +14859,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 +14911,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 +14927,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 +14961,7 @@ impl DataGraphPipelineDispatchInfoARMBuilder { } } -impl ops::Deref for DataGraphPipelineDispatchInfoARMBuilder { +impl ops::Deref for DataGraphPipelineDispatchInfoARMBuilder<'_> { type Target = DataGraphPipelineDispatchInfoARM; #[inline] @@ -14138,14 +14970,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 +15104,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 +15418,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 +15504,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 +15693,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 +15709,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 +15749,7 @@ impl DataGraphPipelineSessionCreateInfoARMBuilder { } } -impl ops::Deref for DataGraphPipelineSessionCreateInfoARMBuilder { +impl ops::Deref for DataGraphPipelineSessionCreateInfoARMBuilder<'_> { type Target = DataGraphPipelineSessionCreateInfoARM; #[inline] @@ -14613,14 +15758,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 +15844,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 +15992,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 +16194,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 +17153,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 +17372,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 +20081,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 +20090,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 +20115,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 +20129,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 { @@ -18837,6 +20244,7 @@ unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceComputeShaderDerivativesFe unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceConditionalRenderingFeaturesEXT {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceCooperativeMatrix2FeaturesNV {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceCooperativeMatrixConversionFeaturesQCOM {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceCooperativeMatrixFeaturesKHR {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceCooperativeMatrixFeaturesNV {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceCooperativeVectorFeaturesNV {} @@ -18851,6 +20259,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 +20277,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 {} @@ -18873,10 +20287,12 @@ unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceDisplacementMicromapFeatur unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceDynamicRenderingFeatures {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceDynamicRenderingLocalReadFeatures {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceElapsedTimerQueryFeaturesQCOM {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceExclusiveScissorFeaturesNV {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceExtendedDynamicState2FeaturesEXT {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceExtendedDynamicState3FeaturesEXT {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceExtendedDynamicStateFeaturesEXT {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceExtendedFlagsFeaturesKHR {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceExternalFormatResolveFeaturesANDROID {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceExternalMemoryRDMAFeaturesNV {} @@ -18885,6 +20301,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 {} @@ -18897,6 +20314,7 @@ unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceFragmentShadingRateEnumsFe unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceFragmentShadingRateFeaturesKHR {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceFrameBoundaryFeaturesEXT {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceGlobalPriorityQueryFeatures {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceGpaFeaturesAMD {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceHdrVividFeaturesHUAWEI {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceHostImageCopyFeatures {} @@ -18906,6 +20324,7 @@ unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceImageAlignmentControlFeatu unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceImageCompressionControlFeaturesEXT {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceImageProcessing2FeaturesQCOM {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceImageProcessing3FeaturesQCOM {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceImageProcessingFeaturesQCOM {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceImageRobustnessFeatures {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceImageSlicedViewOf3DFeaturesEXT {} @@ -18921,6 +20340,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 {} @@ -18934,6 +20354,7 @@ unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceMeshShaderFeaturesEXT {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceMeshShaderFeaturesNV {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceMultiDrawFeaturesEXT {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceMultiviewFeatures {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM {} @@ -18941,6 +20362,7 @@ unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceMutableDescriptorTypeFeatu unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceNestedCommandBufferFeaturesEXT {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceNonSeamlessCubeMapFeaturesEXT {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceOpacityMicromapFeaturesEXT {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceOpacityMicromapFeaturesKHR {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceOpticalFlowFeaturesNV {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDevicePartitionedAccelerationStructureFeaturesNV {} @@ -18965,12 +20387,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 +20419,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,17 +20439,20 @@ 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 {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceShaderModuleIdentifierFeaturesEXT {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceShaderObjectFeaturesEXT {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceShaderQuadControlFeaturesKHR {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceShaderReplicatedCompositesFeaturesEXT {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceShaderSMBuiltinsFeaturesNV {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceShaderSplitBarrierFeaturesEXT {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceShaderSubgroupExtendedTypesFeatures {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceShaderSubgroupPartitionedFeaturesEXT {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceShaderSubgroupRotateFeatures {} @@ -19042,6 +20471,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 {} @@ -19055,6 +20485,7 @@ unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceVertexAttributeRobustnessF unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceVertexInputDynamicStateFeaturesEXT {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceVideoDecodeVP9FeaturesKHR {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceVideoEncodeAV1FeaturesKHR {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceVideoEncodeFeedback2FeaturesKHR {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE {} @@ -19360,8 +20791,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 +20800,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 +20831,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 +20845,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 +20931,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 +21044,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 +21053,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 +21096,8 @@ 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 { @@ -19595,98 +21105,74 @@ unsafe impl Cast for DeviceFaultVendorBinaryHeaderVersionOneEXT { } } -impl HasBuilder<'static> for DeviceFaultVendorBinaryHeaderVersionOneEXT { - type Builder = DeviceFaultVendorBinaryHeaderVersionOneEXTBuilder; +impl HasBuilder<'static> for DeviceFaultInfoKHR { + type Builder = DeviceFaultInfoKHRBuilder; } -/// A builder for a [`DeviceFaultVendorBinaryHeaderVersionOneEXT`]. +/// A builder for a [`DeviceFaultInfoKHR`]. #[repr(transparent)] #[derive(Copy, Clone, Debug, Default)] -pub struct DeviceFaultVendorBinaryHeaderVersionOneEXTBuilder { - value: DeviceFaultVendorBinaryHeaderVersionOneEXT, +pub struct DeviceFaultInfoKHRBuilder { + value: DeviceFaultInfoKHR, } -impl DeviceFaultVendorBinaryHeaderVersionOneEXTBuilder { - #[inline] - pub fn header_size(mut self, header_size: u32) -> Self { - self.value.header_size = header_size; - self - } - +impl DeviceFaultInfoKHRBuilder { #[inline] - pub fn header_version( - mut self, - header_version: DeviceFaultVendorBinaryHeaderVersionEXT, - ) -> Self { - self.value.header_version = header_version; - self - } - - #[inline] - pub fn vendor_id(mut self, vendor_id: u32) -> Self { - self.value.vendor_id = vendor_id; - self - } - - #[inline] - pub fn device_id(mut self, device_id: u32) -> Self { - self.value.device_id = device_id; + pub fn flags(mut self, flags: DeviceFaultFlagsKHR) -> Self { + self.value.flags = flags; self } #[inline] - pub fn driver_version(mut self, driver_version: u32) -> Self { - self.value.driver_version = driver_version; + pub fn group_id(mut self, group_id: u64) -> Self { + self.value.group_id = group_id; self } #[inline] - pub fn pipeline_cache_uuid( + pub fn description( mut self, - pipeline_cache_uuid: impl Into>, + description: impl Into>, ) -> Self { - self.value.pipeline_cache_uuid = pipeline_cache_uuid.into(); - self - } - - #[inline] - pub fn application_name_offset(mut self, application_name_offset: u32) -> Self { - self.value.application_name_offset = application_name_offset; - self - } - - #[inline] - pub fn application_version(mut self, application_version: u32) -> Self { - self.value.application_version = application_version; + self.value.description = description.into(); self } #[inline] - pub fn engine_name_offset(mut self, engine_name_offset: u32) -> Self { - self.value.engine_name_offset = engine_name_offset; + 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 engine_version(mut self, engine_version: u32) -> Self { - self.value.engine_version = engine_version; + 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 api_version(mut self, api_version: u32) -> Self { - self.value.api_version = api_version; + pub fn vendor_info( + mut self, + vendor_info: impl Cast, + ) -> Self { + self.value.vendor_info = vendor_info.into(); self } #[inline] - pub fn build(self) -> DeviceFaultVendorBinaryHeaderVersionOneEXT { + pub fn build(self) -> DeviceFaultInfoKHR { self.value } } -impl ops::Deref for DeviceFaultVendorBinaryHeaderVersionOneEXTBuilder { - type Target = DeviceFaultVendorBinaryHeaderVersionOneEXT; +impl ops::Deref for DeviceFaultInfoKHRBuilder { + type Target = DeviceFaultInfoKHR; #[inline] fn deref(&self) -> &Self::Target { @@ -19694,15 +21180,15 @@ impl ops::Deref for DeviceFaultVendorBinaryHeaderVersionOneEXTBuilder { } } -impl ops::DerefMut for DeviceFaultVendorBinaryHeaderVersionOneEXTBuilder { +impl ops::DerefMut for DeviceFaultInfoKHRBuilder { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.value } } -unsafe impl Cast for DeviceFaultVendorBinaryHeaderVersionOneEXTBuilder { - type Target = DeviceFaultVendorBinaryHeaderVersionOneEXT; +unsafe impl Cast for DeviceFaultInfoKHRBuilder { + type Target = DeviceFaultInfoKHR; #[inline] fn into(self) -> Self::Target { @@ -19710,8 +21196,8 @@ unsafe impl Cast for DeviceFaultVendorBinaryHeaderVersionOneEXTBuilder { } } -unsafe impl Cast for DeviceFaultVendorInfoEXT { - type Target = DeviceFaultVendorInfoEXT; +unsafe impl Cast for DeviceFaultShaderAbortMessageInfoKHR { + type Target = DeviceFaultShaderAbortMessageInfoKHR; #[inline] fn into(self) -> Self::Target { @@ -19719,18 +21205,208 @@ unsafe impl Cast for DeviceFaultVendorInfoEXT { } } -impl HasBuilder<'static> for DeviceFaultVendorInfoEXT { - type Builder = DeviceFaultVendorInfoEXTBuilder; +impl<'b> HasBuilder<'b> for DeviceFaultShaderAbortMessageInfoKHR { + type Builder = DeviceFaultShaderAbortMessageInfoKHRBuilder<'b>; } -/// A builder for a [`DeviceFaultVendorInfoEXT`]. +/// A builder for a [`DeviceFaultShaderAbortMessageInfoKHR`]. #[repr(transparent)] #[derive(Copy, Clone, Debug, Default)] -pub struct DeviceFaultVendorInfoEXTBuilder { - value: DeviceFaultVendorInfoEXT, +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 DeviceFaultVendorInfoEXTBuilder { +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 { + self + } +} + +impl HasBuilder<'static> for DeviceFaultVendorBinaryHeaderVersionOneKHR { + type Builder = DeviceFaultVendorBinaryHeaderVersionOneKHRBuilder; +} + +/// A builder for a [`DeviceFaultVendorBinaryHeaderVersionOneKHR`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct DeviceFaultVendorBinaryHeaderVersionOneKHRBuilder { + value: DeviceFaultVendorBinaryHeaderVersionOneKHR, +} + +impl DeviceFaultVendorBinaryHeaderVersionOneKHRBuilder { + #[inline] + pub fn header_size(mut self, header_size: u32) -> Self { + self.value.header_size = header_size; + self + } + + #[inline] + pub fn header_version( + mut self, + header_version: DeviceFaultVendorBinaryHeaderVersionKHR, + ) -> Self { + self.value.header_version = header_version; + self + } + + #[inline] + pub fn vendor_id(mut self, vendor_id: u32) -> Self { + self.value.vendor_id = vendor_id; + self + } + + #[inline] + pub fn device_id(mut self, device_id: u32) -> Self { + self.value.device_id = device_id; + self + } + + #[inline] + pub fn driver_version(mut self, driver_version: u32) -> Self { + self.value.driver_version = driver_version; + self + } + + #[inline] + pub fn pipeline_cache_uuid( + mut self, + pipeline_cache_uuid: impl Into>, + ) -> Self { + self.value.pipeline_cache_uuid = pipeline_cache_uuid.into(); + self + } + + #[inline] + pub fn application_name_offset(mut self, application_name_offset: u32) -> Self { + self.value.application_name_offset = application_name_offset; + self + } + + #[inline] + pub fn application_version(mut self, application_version: u32) -> Self { + self.value.application_version = application_version; + self + } + + #[inline] + pub fn engine_name_offset(mut self, engine_name_offset: u32) -> Self { + self.value.engine_name_offset = engine_name_offset; + self + } + + #[inline] + pub fn engine_version(mut self, engine_version: u32) -> Self { + self.value.engine_version = engine_version; + self + } + + #[inline] + pub fn api_version(mut self, api_version: u32) -> Self { + self.value.api_version = api_version; + self + } + + #[inline] + pub fn build(self) -> DeviceFaultVendorBinaryHeaderVersionOneKHR { + self.value + } +} + +impl ops::Deref for DeviceFaultVendorBinaryHeaderVersionOneKHRBuilder { + type Target = DeviceFaultVendorBinaryHeaderVersionOneKHR; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for DeviceFaultVendorBinaryHeaderVersionOneKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for DeviceFaultVendorBinaryHeaderVersionOneKHRBuilder { + type Target = DeviceFaultVendorBinaryHeaderVersionOneKHR; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + +unsafe impl Cast for DeviceFaultVendorInfoKHR { + type Target = DeviceFaultVendorInfoKHR; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for DeviceFaultVendorInfoKHR { + type Builder = DeviceFaultVendorInfoKHRBuilder; +} + +/// A builder for a [`DeviceFaultVendorInfoKHR`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct DeviceFaultVendorInfoKHRBuilder { + value: DeviceFaultVendorInfoKHR, +} + +impl DeviceFaultVendorInfoKHRBuilder { #[inline] pub fn description( mut self, @@ -19753,13 +21429,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 +21443,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 +22108,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 +23378,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 +23515,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 +24979,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 +25128,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; @@ -26762,6 +28932,7 @@ pub unsafe trait ExtendsFormatProperties2: fmt::Debug {} unsafe impl ExtendsFormatProperties2 for DrmFormatModifierPropertiesList2EXT {} unsafe impl ExtendsFormatProperties2 for DrmFormatModifierPropertiesListEXT {} unsafe impl ExtendsFormatProperties2 for FormatProperties3 {} +unsafe impl ExtendsFormatProperties2 for FormatProperties4KHR {} unsafe impl ExtendsFormatProperties2 for SubpassResolvePerformanceQueryEXT {} unsafe impl ExtendsFormatProperties2 for TensorFormatPropertiesARM {} @@ -26906,6 +29077,82 @@ unsafe impl Cast for FormatProperties3Builder { } } +unsafe impl Cast for FormatProperties4KHR { + type Target = FormatProperties4KHR; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for FormatProperties4KHR { + type Builder = FormatProperties4KHRBuilder; +} + +/// A builder for a [`FormatProperties4KHR`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct FormatProperties4KHRBuilder { + value: FormatProperties4KHR, +} + +impl FormatProperties4KHRBuilder { + #[inline] + pub fn linear_tiling_features( + mut self, + linear_tiling_features: FormatFeatureFlags4KHR, + ) -> Self { + self.value.linear_tiling_features = linear_tiling_features; + self + } + + #[inline] + pub fn optimal_tiling_features( + mut self, + optimal_tiling_features: FormatFeatureFlags4KHR, + ) -> Self { + self.value.optimal_tiling_features = optimal_tiling_features; + self + } + + #[inline] + pub fn buffer_features(mut self, buffer_features: FormatFeatureFlags4KHR) -> Self { + self.value.buffer_features = buffer_features; + self + } + + #[inline] + pub fn build(self) -> FormatProperties4KHR { + self.value + } +} + +impl ops::Deref for FormatProperties4KHRBuilder { + type Target = FormatProperties4KHR; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for FormatProperties4KHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for FormatProperties4KHRBuilder { + type Target = FormatProperties4KHR; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for FragmentShadingRateAttachmentInfoKHR { type Target = FragmentShadingRateAttachmentInfoKHR; @@ -27147,6 +29394,11 @@ unsafe impl Cast for FrameBoundaryTensorsARMBuilder<'_> { } } +/// A Vulkan struct that can be used to extend a [`FramebufferAttachmentImageInfo`]. +pub unsafe trait ExtendsFramebufferAttachmentImageInfo: fmt::Debug {} +unsafe impl ExtendsFramebufferAttachmentImageInfo for ImageCreateFlags2CreateInfoKHR {} +unsafe impl ExtendsFramebufferAttachmentImageInfo for ImageUsageFlags2CreateInfoKHR {} + unsafe impl Cast for FramebufferAttachmentImageInfo { type Target = FramebufferAttachmentImageInfo; @@ -27169,6 +29421,15 @@ pub struct FramebufferAttachmentImageInfoBuilder<'b> { } impl<'b> FramebufferAttachmentImageInfoBuilder<'b> { + #[inline] + pub fn push_next(mut self, next: &'b mut impl Cast) -> Self + where + T: ExtendsFramebufferAttachmentImageInfo, + { + self.next = merge(self.next as *mut c_void, NonNull::from(next).cast()); + self + } + #[inline] pub fn flags(mut self, flags: ImageCreateFlags) -> Self { self.value.flags = flags; @@ -28435,6 +30696,525 @@ unsafe impl Cast for GetLatencyMarkerInfoNVBuilder<'_> { } } +unsafe impl Cast for GpaDeviceClockModeInfoAMD { + type Target = GpaDeviceClockModeInfoAMD; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for GpaDeviceClockModeInfoAMD { + type Builder = GpaDeviceClockModeInfoAMDBuilder; +} + +/// A builder for a [`GpaDeviceClockModeInfoAMD`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct GpaDeviceClockModeInfoAMDBuilder { + value: GpaDeviceClockModeInfoAMD, +} + +impl GpaDeviceClockModeInfoAMDBuilder { + #[inline] + pub fn clock_mode(mut self, clock_mode: GpaDeviceClockModeAMD) -> Self { + self.value.clock_mode = clock_mode; + self + } + + #[inline] + pub fn memory_clock_ratio_to_peak(mut self, memory_clock_ratio_to_peak: f32) -> Self { + self.value.memory_clock_ratio_to_peak = memory_clock_ratio_to_peak; + self + } + + #[inline] + pub fn engine_clock_ratio_to_peak(mut self, engine_clock_ratio_to_peak: f32) -> Self { + self.value.engine_clock_ratio_to_peak = engine_clock_ratio_to_peak; + self + } + + #[inline] + pub fn build(self) -> GpaDeviceClockModeInfoAMD { + self.value + } +} + +impl ops::Deref for GpaDeviceClockModeInfoAMDBuilder { + type Target = GpaDeviceClockModeInfoAMD; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for GpaDeviceClockModeInfoAMDBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for GpaDeviceClockModeInfoAMDBuilder { + type Target = GpaDeviceClockModeInfoAMD; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + +unsafe impl Cast for GpaDeviceGetClockInfoAMD { + type Target = GpaDeviceGetClockInfoAMD; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for GpaDeviceGetClockInfoAMD { + type Builder = GpaDeviceGetClockInfoAMDBuilder; +} + +/// A builder for a [`GpaDeviceGetClockInfoAMD`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct GpaDeviceGetClockInfoAMDBuilder { + value: GpaDeviceGetClockInfoAMD, +} + +impl GpaDeviceGetClockInfoAMDBuilder { + #[inline] + pub fn memory_clock_ratio_to_peak(mut self, memory_clock_ratio_to_peak: f32) -> Self { + self.value.memory_clock_ratio_to_peak = memory_clock_ratio_to_peak; + self + } + + #[inline] + pub fn engine_clock_ratio_to_peak(mut self, engine_clock_ratio_to_peak: f32) -> Self { + self.value.engine_clock_ratio_to_peak = engine_clock_ratio_to_peak; + self + } + + #[inline] + pub fn memory_clock_frequency(mut self, memory_clock_frequency: u32) -> Self { + self.value.memory_clock_frequency = memory_clock_frequency; + self + } + + #[inline] + pub fn engine_clock_frequency(mut self, engine_clock_frequency: u32) -> Self { + self.value.engine_clock_frequency = engine_clock_frequency; + self + } + + #[inline] + pub fn build(self) -> GpaDeviceGetClockInfoAMD { + self.value + } +} + +impl ops::Deref for GpaDeviceGetClockInfoAMDBuilder { + type Target = GpaDeviceGetClockInfoAMD; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for GpaDeviceGetClockInfoAMDBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for GpaDeviceGetClockInfoAMDBuilder { + type Target = GpaDeviceGetClockInfoAMD; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + +unsafe impl Cast for GpaPerfBlockPropertiesAMD { + type Target = GpaPerfBlockPropertiesAMD; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for GpaPerfBlockPropertiesAMD { + type Builder = GpaPerfBlockPropertiesAMDBuilder; +} + +/// A builder for a [`GpaPerfBlockPropertiesAMD`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct GpaPerfBlockPropertiesAMDBuilder { + value: GpaPerfBlockPropertiesAMD, +} + +impl GpaPerfBlockPropertiesAMDBuilder { + #[inline] + pub fn block_type(mut self, block_type: GpaPerfBlockAMD) -> Self { + self.value.block_type = block_type; + self + } + + #[inline] + pub fn flags(mut self, flags: GpaPerfBlockPropertiesFlagsAMD) -> Self { + self.value.flags = flags; + self + } + + #[inline] + pub fn instance_count(mut self, instance_count: u32) -> Self { + self.value.instance_count = instance_count; + self + } + + #[inline] + pub fn max_event_id(mut self, max_event_id: u32) -> Self { + self.value.max_event_id = max_event_id; + self + } + + #[inline] + pub fn max_global_only_counters(mut self, max_global_only_counters: u32) -> Self { + self.value.max_global_only_counters = max_global_only_counters; + self + } + + #[inline] + pub fn max_global_shared_counters(mut self, max_global_shared_counters: u32) -> Self { + self.value.max_global_shared_counters = max_global_shared_counters; + self + } + + #[inline] + pub fn max_streaming_counters(mut self, max_streaming_counters: u32) -> Self { + self.value.max_streaming_counters = max_streaming_counters; + self + } + + #[inline] + pub fn build(self) -> GpaPerfBlockPropertiesAMD { + self.value + } +} + +impl ops::Deref for GpaPerfBlockPropertiesAMDBuilder { + type Target = GpaPerfBlockPropertiesAMD; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for GpaPerfBlockPropertiesAMDBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for GpaPerfBlockPropertiesAMDBuilder { + type Target = GpaPerfBlockPropertiesAMD; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + +unsafe impl Cast for GpaPerfCounterAMD { + type Target = GpaPerfCounterAMD; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for GpaPerfCounterAMD { + type Builder = GpaPerfCounterAMDBuilder; +} + +/// A builder for a [`GpaPerfCounterAMD`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct GpaPerfCounterAMDBuilder { + value: GpaPerfCounterAMD, +} + +impl GpaPerfCounterAMDBuilder { + #[inline] + pub fn block_type(mut self, block_type: GpaPerfBlockAMD) -> Self { + self.value.block_type = block_type; + self + } + + #[inline] + pub fn block_instance(mut self, block_instance: u32) -> Self { + self.value.block_instance = block_instance; + self + } + + #[inline] + pub fn event_id(mut self, event_id: u32) -> Self { + self.value.event_id = event_id; + self + } + + #[inline] + pub fn build(self) -> GpaPerfCounterAMD { + self.value + } +} + +impl ops::Deref for GpaPerfCounterAMDBuilder { + type Target = GpaPerfCounterAMD; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for GpaPerfCounterAMDBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for GpaPerfCounterAMDBuilder { + type Target = GpaPerfCounterAMD; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + +unsafe impl Cast for GpaSampleBeginInfoAMD { + type Target = GpaSampleBeginInfoAMD; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl<'b> HasBuilder<'b> for GpaSampleBeginInfoAMD { + type Builder = GpaSampleBeginInfoAMDBuilder<'b>; +} + +/// A builder for a [`GpaSampleBeginInfoAMD`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct GpaSampleBeginInfoAMDBuilder<'b> { + value: GpaSampleBeginInfoAMD, + _marker: PhantomData<&'b ()>, +} + +impl<'b> GpaSampleBeginInfoAMDBuilder<'b> { + #[inline] + pub fn sample_type(mut self, sample_type: GpaSampleTypeAMD) -> Self { + self.value.sample_type = sample_type; + self + } + + #[inline] + pub fn sample_internal_operations(mut self, sample_internal_operations: bool) -> Self { + self.value.sample_internal_operations = sample_internal_operations as Bool32; + self + } + + #[inline] + pub fn cache_flush_on_counter_collection( + mut self, + cache_flush_on_counter_collection: bool, + ) -> Self { + self.value.cache_flush_on_counter_collection = cache_flush_on_counter_collection as Bool32; + self + } + + #[inline] + pub fn sq_shader_mask_enable(mut self, sq_shader_mask_enable: bool) -> Self { + self.value.sq_shader_mask_enable = sq_shader_mask_enable as Bool32; + self + } + + #[inline] + pub fn sq_shader_mask(mut self, sq_shader_mask: GpaSqShaderStageFlagsAMD) -> Self { + self.value.sq_shader_mask = sq_shader_mask; + self + } + + #[inline] + pub fn perf_counters( + mut self, + perf_counters: &'b [impl Cast], + ) -> Self { + self.value.perf_counter_count = perf_counters.len() as u32; + self.value.perf_counters = perf_counters.as_ptr().cast(); + self + } + + #[inline] + pub fn streaming_perf_trace_sample_interval( + mut self, + streaming_perf_trace_sample_interval: u32, + ) -> Self { + self.value.streaming_perf_trace_sample_interval = streaming_perf_trace_sample_interval; + self + } + + #[inline] + pub fn perf_counter_device_memory_limit( + mut self, + perf_counter_device_memory_limit: DeviceSize, + ) -> Self { + self.value.perf_counter_device_memory_limit = perf_counter_device_memory_limit; + self + } + + #[inline] + pub fn sq_thread_trace_enable(mut self, sq_thread_trace_enable: bool) -> Self { + self.value.sq_thread_trace_enable = sq_thread_trace_enable as Bool32; + self + } + + #[inline] + pub fn sq_thread_trace_suppress_instruction_tokens( + mut self, + sq_thread_trace_suppress_instruction_tokens: bool, + ) -> Self { + self.value.sq_thread_trace_suppress_instruction_tokens = + sq_thread_trace_suppress_instruction_tokens as Bool32; + self + } + + #[inline] + pub fn sq_thread_trace_device_memory_limit( + mut self, + sq_thread_trace_device_memory_limit: DeviceSize, + ) -> Self { + self.value.sq_thread_trace_device_memory_limit = sq_thread_trace_device_memory_limit; + self + } + + #[inline] + pub fn timing_pre_sample(mut self, timing_pre_sample: PipelineStageFlags) -> Self { + self.value.timing_pre_sample = timing_pre_sample; + self + } + + #[inline] + pub fn timing_post_sample(mut self, timing_post_sample: PipelineStageFlags) -> Self { + self.value.timing_post_sample = timing_post_sample; + self + } + + #[inline] + pub fn build(self) -> GpaSampleBeginInfoAMD { + self.value + } +} + +impl ops::Deref for GpaSampleBeginInfoAMDBuilder<'_> { + type Target = GpaSampleBeginInfoAMD; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for GpaSampleBeginInfoAMDBuilder<'_> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for GpaSampleBeginInfoAMDBuilder<'_> { + type Target = GpaSampleBeginInfoAMD; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + +unsafe impl Cast for GpaSessionCreateInfoAMD { + type Target = GpaSessionCreateInfoAMD; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for GpaSessionCreateInfoAMD { + type Builder = GpaSessionCreateInfoAMDBuilder; +} + +/// A builder for a [`GpaSessionCreateInfoAMD`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct GpaSessionCreateInfoAMDBuilder { + value: GpaSessionCreateInfoAMD, +} + +impl GpaSessionCreateInfoAMDBuilder { + #[inline] + pub fn secondary_copy_source(mut self, secondary_copy_source: GpaSessionAMD) -> Self { + self.value.secondary_copy_source = secondary_copy_source; + self + } + + #[inline] + pub fn build(self) -> GpaSessionCreateInfoAMD { + self.value + } +} + +impl ops::Deref for GpaSessionCreateInfoAMDBuilder { + type Target = GpaSessionCreateInfoAMD; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for GpaSessionCreateInfoAMDBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for GpaSessionCreateInfoAMDBuilder { + type Target = GpaSessionCreateInfoAMD; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + /// A Vulkan struct that can be used to extend a [`GraphicsPipelineCreateInfo`]. pub unsafe trait ExtendsGraphicsPipelineCreateInfo: fmt::Debug {} unsafe impl ExtendsGraphicsPipelineCreateInfo for AttachmentSampleCountInfoAMD {} @@ -30122,9 +32902,68 @@ unsafe impl Cast for ImageCopy2Builder { } } +unsafe impl Cast for ImageCreateFlags2CreateInfoKHR { + type Target = ImageCreateFlags2CreateInfoKHR; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for ImageCreateFlags2CreateInfoKHR { + type Builder = ImageCreateFlags2CreateInfoKHRBuilder; +} + +/// A builder for a [`ImageCreateFlags2CreateInfoKHR`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct ImageCreateFlags2CreateInfoKHRBuilder { + value: ImageCreateFlags2CreateInfoKHR, +} + +impl ImageCreateFlags2CreateInfoKHRBuilder { + #[inline] + pub fn flags(mut self, flags: ImageCreateFlags2KHR) -> Self { + self.value.flags = flags; + self + } + + #[inline] + pub fn build(self) -> ImageCreateFlags2CreateInfoKHR { + self.value + } +} + +impl ops::Deref for ImageCreateFlags2CreateInfoKHRBuilder { + type Target = ImageCreateFlags2CreateInfoKHR; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for ImageCreateFlags2CreateInfoKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for ImageCreateFlags2CreateInfoKHRBuilder { + type Target = ImageCreateFlags2CreateInfoKHR; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + /// 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 {} @@ -30134,11 +32973,14 @@ unsafe impl ExtendsImageCreateInfo for ExternalMemoryImageCreateInfo {} unsafe impl ExtendsImageCreateInfo for ExternalMemoryImageCreateInfoNV {} unsafe impl ExtendsImageCreateInfo for ImageAlignmentControlCreateInfoMESA {} unsafe impl ExtendsImageCreateInfo for ImageCompressionControlEXT {} +unsafe impl ExtendsImageCreateInfo for ImageCreateFlags2CreateInfoKHR {} unsafe impl ExtendsImageCreateInfo for ImageDrmFormatModifierExplicitCreateInfoEXT {} unsafe impl ExtendsImageCreateInfo for ImageDrmFormatModifierListCreateInfoEXT {} unsafe impl ExtendsImageCreateInfo for ImageFormatListCreateInfo {} +unsafe impl ExtendsImageCreateInfo for ImageStencilUsage2CreateInfoKHR {} unsafe impl ExtendsImageCreateInfo for ImageStencilUsageCreateInfo {} unsafe impl ExtendsImageCreateInfo for ImageSwapchainCreateInfoKHR {} +unsafe impl ExtendsImageCreateInfo for ImageUsageFlags2CreateInfoKHR {} unsafe impl ExtendsImageCreateInfo for ImportMetalIOSurfaceInfoEXT {} unsafe impl ExtendsImageCreateInfo for ImportMetalTextureInfoEXT {} unsafe impl ExtendsImageCreateInfo for OpaqueCaptureDataCreateInfoEXT {} @@ -31528,6 +34370,64 @@ unsafe impl Cast for ImageSparseMemoryRequirementsInfo2Builder { } } +unsafe impl Cast for ImageStencilUsage2CreateInfoKHR { + type Target = ImageStencilUsage2CreateInfoKHR; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for ImageStencilUsage2CreateInfoKHR { + type Builder = ImageStencilUsage2CreateInfoKHRBuilder; +} + +/// A builder for a [`ImageStencilUsage2CreateInfoKHR`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct ImageStencilUsage2CreateInfoKHRBuilder { + value: ImageStencilUsage2CreateInfoKHR, +} + +impl ImageStencilUsage2CreateInfoKHRBuilder { + #[inline] + pub fn stencil_usage(mut self, stencil_usage: ImageUsageFlags2KHR) -> Self { + self.value.stencil_usage = stencil_usage; + self + } + + #[inline] + pub fn build(self) -> ImageStencilUsage2CreateInfoKHR { + self.value + } +} + +impl ops::Deref for ImageStencilUsage2CreateInfoKHRBuilder { + type Target = ImageStencilUsage2CreateInfoKHR; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for ImageStencilUsage2CreateInfoKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for ImageStencilUsage2CreateInfoKHRBuilder { + type Target = ImageStencilUsage2CreateInfoKHR; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for ImageStencilUsageCreateInfo { type Target = ImageStencilUsageCreateInfo; @@ -32025,6 +34925,64 @@ unsafe impl Cast for ImageToMemoryCopyBuilder<'_> { } } +unsafe impl Cast for ImageUsageFlags2CreateInfoKHR { + type Target = ImageUsageFlags2CreateInfoKHR; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for ImageUsageFlags2CreateInfoKHR { + type Builder = ImageUsageFlags2CreateInfoKHRBuilder; +} + +/// A builder for a [`ImageUsageFlags2CreateInfoKHR`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct ImageUsageFlags2CreateInfoKHRBuilder { + value: ImageUsageFlags2CreateInfoKHR, +} + +impl ImageUsageFlags2CreateInfoKHRBuilder { + #[inline] + pub fn usage(mut self, usage: ImageUsageFlags2KHR) -> Self { + self.value.usage = usage; + self + } + + #[inline] + pub fn build(self) -> ImageUsageFlags2CreateInfoKHR { + self.value + } +} + +impl ops::Deref for ImageUsageFlags2CreateInfoKHRBuilder { + type Target = ImageUsageFlags2CreateInfoKHR; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for ImageUsageFlags2CreateInfoKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for ImageUsageFlags2CreateInfoKHRBuilder { + type Target = ImageUsageFlags2CreateInfoKHR; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for ImageViewASTCDecodeModeEXT { type Target = ImageViewASTCDecodeModeEXT; @@ -32212,6 +35170,7 @@ unsafe impl ExtendsImageViewCreateInfo for ImageViewASTCDecodeModeEXT {} unsafe impl ExtendsImageViewCreateInfo for ImageViewMinLodCreateInfoEXT {} unsafe impl ExtendsImageViewCreateInfo for ImageViewSampleWeightCreateInfoQCOM {} unsafe impl ExtendsImageViewCreateInfo for ImageViewSlicedCreateInfoEXT {} +unsafe impl ExtendsImageViewCreateInfo for ImageViewUsage2CreateInfoKHR {} unsafe impl ExtendsImageViewCreateInfo for ImageViewUsageCreateInfo {} unsafe impl ExtendsImageViewCreateInfo for OpaqueCaptureDescriptorDataCreateInfoEXT {} unsafe impl ExtendsImageViewCreateInfo for SamplerYcbcrConversionInfo {} @@ -32579,6 +35538,64 @@ unsafe impl Cast for ImageViewSlicedCreateInfoEXTBuilder { } } +unsafe impl Cast for ImageViewUsage2CreateInfoKHR { + type Target = ImageViewUsage2CreateInfoKHR; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for ImageViewUsage2CreateInfoKHR { + type Builder = ImageViewUsage2CreateInfoKHRBuilder; +} + +/// A builder for a [`ImageViewUsage2CreateInfoKHR`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct ImageViewUsage2CreateInfoKHRBuilder { + value: ImageViewUsage2CreateInfoKHR, +} + +impl ImageViewUsage2CreateInfoKHRBuilder { + #[inline] + pub fn usage(mut self, usage: ImageUsageFlags2KHR) -> Self { + self.value.usage = usage; + self + } + + #[inline] + pub fn build(self) -> ImageViewUsage2CreateInfoKHR { + self.value + } +} + +impl ops::Deref for ImageViewUsage2CreateInfoKHRBuilder { + type Target = ImageViewUsage2CreateInfoKHR; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for ImageViewUsage2CreateInfoKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for ImageViewUsage2CreateInfoKHRBuilder { + type Target = ImageViewUsage2CreateInfoKHR; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for ImageViewUsageCreateInfo { type Target = ImageViewUsageCreateInfo; @@ -37578,6 +40595,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 +40845,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; @@ -38636,8 +41908,8 @@ unsafe impl Cast for MicromapCreateInfoEXTBuilder { } } -unsafe impl Cast for MicromapTriangleEXT { - type Target = MicromapTriangleEXT; +unsafe impl Cast for MicromapTriangleKHR { + type Target = MicromapTriangleKHR; #[inline] fn into(self) -> Self::Target { @@ -38645,18 +41917,18 @@ unsafe impl Cast for MicromapTriangleEXT { } } -impl HasBuilder<'static> for MicromapTriangleEXT { - type Builder = MicromapTriangleEXTBuilder; +impl HasBuilder<'static> for MicromapTriangleKHR { + type Builder = MicromapTriangleKHRBuilder; } -/// A builder for a [`MicromapTriangleEXT`]. +/// A builder for a [`MicromapTriangleKHR`]. #[repr(transparent)] #[derive(Copy, Clone, Debug, Default)] -pub struct MicromapTriangleEXTBuilder { - value: MicromapTriangleEXT, +pub struct MicromapTriangleKHRBuilder { + value: MicromapTriangleKHR, } -impl MicromapTriangleEXTBuilder { +impl MicromapTriangleKHRBuilder { #[inline] pub fn data_offset(mut self, data_offset: u32) -> Self { self.value.data_offset = data_offset; @@ -38676,13 +41948,13 @@ impl MicromapTriangleEXTBuilder { } #[inline] - pub fn build(self) -> MicromapTriangleEXT { + pub fn build(self) -> MicromapTriangleKHR { self.value } } -impl ops::Deref for MicromapTriangleEXTBuilder { - type Target = MicromapTriangleEXT; +impl ops::Deref for MicromapTriangleKHRBuilder { + type Target = MicromapTriangleKHR; #[inline] fn deref(&self) -> &Self::Target { @@ -38690,15 +41962,15 @@ impl ops::Deref for MicromapTriangleEXTBuilder { } } -impl ops::DerefMut for MicromapTriangleEXTBuilder { +impl ops::DerefMut for MicromapTriangleKHRBuilder { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.value } } -unsafe impl Cast for MicromapTriangleEXTBuilder { - type Target = MicromapTriangleEXT; +unsafe impl Cast for MicromapTriangleKHRBuilder { + type Target = MicromapTriangleKHR; #[inline] fn into(self) -> Self::Target { @@ -38776,6 +42048,76 @@ unsafe impl Cast for MicromapUsageEXTBuilder { } } +unsafe impl Cast for MicromapUsageKHR { + type Target = MicromapUsageKHR; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for MicromapUsageKHR { + type Builder = MicromapUsageKHRBuilder; +} + +/// A builder for a [`MicromapUsageKHR`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct MicromapUsageKHRBuilder { + value: MicromapUsageKHR, +} + +impl MicromapUsageKHRBuilder { + #[inline] + pub fn count(mut self, count: u32) -> Self { + self.value.count = count; + self + } + + #[inline] + pub fn subdivision_level(mut self, subdivision_level: u32) -> Self { + self.value.subdivision_level = subdivision_level; + self + } + + #[inline] + pub fn format(mut self, format: OpacityMicromapFormatKHR) -> Self { + self.value.format = format; + self + } + + #[inline] + pub fn build(self) -> MicromapUsageKHR { + self.value + } +} + +impl ops::Deref for MicromapUsageKHRBuilder { + type Target = MicromapUsageKHR; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for MicromapUsageKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for MicromapUsageKHRBuilder { + type Target = MicromapUsageKHR; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for MicromapVersionInfoEXT { type Target = MicromapVersionInfoEXT; @@ -41116,6 +44458,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; @@ -44202,6 +47608,67 @@ unsafe impl Cast for PhysicalDeviceCooperativeMatrixConversionFeaturesQCOMBuilde } } +unsafe impl Cast for PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV { + type Target = PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV { + type Builder = PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNVBuilder; +} + +/// A builder for a [`PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNVBuilder { + value: PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV, +} + +impl PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNVBuilder { + #[inline] + pub fn cooperative_matrix_decode_vector( + mut self, + cooperative_matrix_decode_vector: bool, + ) -> Self { + self.value.cooperative_matrix_decode_vector = cooperative_matrix_decode_vector as Bool32; + self + } + + #[inline] + pub fn build(self) -> PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV { + self.value + } +} + +impl ops::Deref for PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNVBuilder { + type Target = PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNVBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNVBuilder { + type Target = PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for PhysicalDeviceCooperativeMatrixFeaturesKHR { type Target = PhysicalDeviceCooperativeMatrixFeaturesKHR; @@ -45479,6 +48946,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 +49084,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 +51343,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; @@ -48897,6 +52542,64 @@ unsafe impl Cast for PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXTB } } +unsafe impl Cast for PhysicalDeviceElapsedTimerQueryFeaturesQCOM { + type Target = PhysicalDeviceElapsedTimerQueryFeaturesQCOM; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for PhysicalDeviceElapsedTimerQueryFeaturesQCOM { + type Builder = PhysicalDeviceElapsedTimerQueryFeaturesQCOMBuilder; +} + +/// A builder for a [`PhysicalDeviceElapsedTimerQueryFeaturesQCOM`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct PhysicalDeviceElapsedTimerQueryFeaturesQCOMBuilder { + value: PhysicalDeviceElapsedTimerQueryFeaturesQCOM, +} + +impl PhysicalDeviceElapsedTimerQueryFeaturesQCOMBuilder { + #[inline] + pub fn elapsed_timer_query(mut self, elapsed_timer_query: bool) -> Self { + self.value.elapsed_timer_query = elapsed_timer_query as Bool32; + self + } + + #[inline] + pub fn build(self) -> PhysicalDeviceElapsedTimerQueryFeaturesQCOM { + self.value + } +} + +impl ops::Deref for PhysicalDeviceElapsedTimerQueryFeaturesQCOMBuilder { + type Target = PhysicalDeviceElapsedTimerQueryFeaturesQCOM; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for PhysicalDeviceElapsedTimerQueryFeaturesQCOMBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for PhysicalDeviceElapsedTimerQueryFeaturesQCOMBuilder { + type Target = PhysicalDeviceElapsedTimerQueryFeaturesQCOM; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for PhysicalDeviceExclusiveScissorFeaturesNV { type Target = PhysicalDeviceExclusiveScissorFeaturesNV; @@ -49521,6 +53224,64 @@ unsafe impl Cast for PhysicalDeviceExtendedDynamicStateFeaturesEXTBuilder { } } +unsafe impl Cast for PhysicalDeviceExtendedFlagsFeaturesKHR { + type Target = PhysicalDeviceExtendedFlagsFeaturesKHR; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for PhysicalDeviceExtendedFlagsFeaturesKHR { + type Builder = PhysicalDeviceExtendedFlagsFeaturesKHRBuilder; +} + +/// A builder for a [`PhysicalDeviceExtendedFlagsFeaturesKHR`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct PhysicalDeviceExtendedFlagsFeaturesKHRBuilder { + value: PhysicalDeviceExtendedFlagsFeaturesKHR, +} + +impl PhysicalDeviceExtendedFlagsFeaturesKHRBuilder { + #[inline] + pub fn extended_flags(mut self, extended_flags: bool) -> Self { + self.value.extended_flags = extended_flags as Bool32; + self + } + + #[inline] + pub fn build(self) -> PhysicalDeviceExtendedFlagsFeaturesKHR { + self.value + } +} + +impl ops::Deref for PhysicalDeviceExtendedFlagsFeaturesKHRBuilder { + type Target = PhysicalDeviceExtendedFlagsFeaturesKHR; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for PhysicalDeviceExtendedFlagsFeaturesKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for PhysicalDeviceExtendedFlagsFeaturesKHRBuilder { + type Target = PhysicalDeviceExtendedFlagsFeaturesKHR; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV { type Target = PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV; @@ -50666,6 +54427,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; @@ -51125,6 +55024,10 @@ unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceCooperativeMatrixConversionFeaturesQCOM { } +unsafe impl ExtendsPhysicalDeviceFeatures2 + for PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV +{ +} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceCooperativeMatrixFeaturesKHR {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceCooperativeMatrixFeaturesNV {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceCooperativeVectorFeaturesNV {} @@ -51139,6 +55042,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 +55066,7 @@ unsafe impl ExtendsPhysicalDeviceFeatures2 { } unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceDeviceAddressCommandsFeaturesKHR {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV { @@ -51173,10 +55082,12 @@ unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT { } +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceElapsedTimerQueryFeaturesQCOM {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceExclusiveScissorFeaturesNV {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceExtendedDynamicState2FeaturesEXT {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceExtendedDynamicState3FeaturesEXT {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceExtendedDynamicStateFeaturesEXT {} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceExtendedFlagsFeaturesKHR {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceExternalFormatResolveFeaturesANDROID {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceExternalMemoryRDMAFeaturesNV {} @@ -51185,6 +55096,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 {} @@ -51199,6 +55111,7 @@ unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceFragmentShadingRate unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceFragmentShadingRateFeaturesKHR {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceFrameBoundaryFeaturesEXT {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceGlobalPriorityQueryFeatures {} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceGpaFeaturesAMD {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceHdrVividFeaturesHUAWEI {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceHostImageCopyFeatures {} @@ -51211,6 +55124,7 @@ unsafe impl ExtendsPhysicalDeviceFeatures2 { } unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceImageProcessing2FeaturesQCOM {} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceImageProcessing3FeaturesQCOM {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceImageProcessingFeaturesQCOM {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceImageRobustnessFeatures {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceImageSlicedViewOf3DFeaturesEXT {} @@ -51229,6 +55143,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 {} @@ -51245,6 +55160,10 @@ unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT { } +unsafe impl ExtendsPhysicalDeviceFeatures2 + for PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT +{ +} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceMultiviewFeatures {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM @@ -51255,6 +55174,7 @@ unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceMutableDescriptorTy unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceNestedCommandBufferFeaturesEXT {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceNonSeamlessCubeMapFeaturesEXT {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceOpacityMicromapFeaturesEXT {} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceOpacityMicromapFeaturesKHR {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceOpticalFlowFeaturesNV {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {} unsafe impl ExtendsPhysicalDeviceFeatures2 @@ -51294,6 +55214,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 +55224,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 +55255,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 +55281,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 {} @@ -51366,6 +55291,7 @@ unsafe impl ExtendsPhysicalDeviceFeatures2 { } unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceShaderModuleIdentifierFeaturesEXT {} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceShaderObjectFeaturesEXT {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceShaderQuadControlFeaturesKHR {} unsafe impl ExtendsPhysicalDeviceFeatures2 @@ -51374,6 +55300,7 @@ unsafe impl ExtendsPhysicalDeviceFeatures2 } unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceShaderReplicatedCompositesFeaturesEXT {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceShaderSMBuiltinsFeaturesNV {} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceShaderSplitBarrierFeaturesEXT {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceShaderSubgroupExtendedTypesFeatures {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceShaderSubgroupPartitionedFeaturesEXT {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceShaderSubgroupRotateFeatures {} @@ -51398,6 +55325,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 {} @@ -51411,6 +55339,7 @@ unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceVertexAttributeRobu unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceVertexInputDynamicStateFeaturesEXT {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceVideoDecodeVP9FeaturesKHR {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceVideoEncodeAV1FeaturesKHR {} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceVideoEncodeFeedback2FeaturesKHR {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE {} @@ -53101,6 +57030,221 @@ unsafe impl Cast for PhysicalDeviceGlobalPriorityQueryFeaturesBuilder { } } +unsafe impl Cast for PhysicalDeviceGpaFeaturesAMD { + type Target = PhysicalDeviceGpaFeaturesAMD; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for PhysicalDeviceGpaFeaturesAMD { + type Builder = PhysicalDeviceGpaFeaturesAMDBuilder; +} + +/// A builder for a [`PhysicalDeviceGpaFeaturesAMD`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct PhysicalDeviceGpaFeaturesAMDBuilder { + value: PhysicalDeviceGpaFeaturesAMD, +} + +impl PhysicalDeviceGpaFeaturesAMDBuilder { + #[inline] + pub fn perf_counters(mut self, perf_counters: bool) -> Self { + self.value.perf_counters = perf_counters as Bool32; + self + } + + #[inline] + pub fn streaming_perf_counters(mut self, streaming_perf_counters: bool) -> Self { + self.value.streaming_perf_counters = streaming_perf_counters as Bool32; + self + } + + #[inline] + pub fn sq_thread_tracing(mut self, sq_thread_tracing: bool) -> Self { + self.value.sq_thread_tracing = sq_thread_tracing as Bool32; + self + } + + #[inline] + pub fn clock_modes(mut self, clock_modes: bool) -> Self { + self.value.clock_modes = clock_modes as Bool32; + self + } + + #[inline] + pub fn build(self) -> PhysicalDeviceGpaFeaturesAMD { + self.value + } +} + +impl ops::Deref for PhysicalDeviceGpaFeaturesAMDBuilder { + type Target = PhysicalDeviceGpaFeaturesAMD; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for PhysicalDeviceGpaFeaturesAMDBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for PhysicalDeviceGpaFeaturesAMDBuilder { + type Target = PhysicalDeviceGpaFeaturesAMD; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + +unsafe impl Cast for PhysicalDeviceGpaProperties2AMD { + type Target = PhysicalDeviceGpaProperties2AMD; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for PhysicalDeviceGpaProperties2AMD { + type Builder = PhysicalDeviceGpaProperties2AMDBuilder; +} + +/// A builder for a [`PhysicalDeviceGpaProperties2AMD`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct PhysicalDeviceGpaProperties2AMDBuilder { + value: PhysicalDeviceGpaProperties2AMD, +} + +impl PhysicalDeviceGpaProperties2AMDBuilder { + #[inline] + pub fn revision_id(mut self, revision_id: u32) -> Self { + self.value.revision_id = revision_id; + self + } + + #[inline] + pub fn build(self) -> PhysicalDeviceGpaProperties2AMD { + self.value + } +} + +impl ops::Deref for PhysicalDeviceGpaProperties2AMDBuilder { + type Target = PhysicalDeviceGpaProperties2AMD; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for PhysicalDeviceGpaProperties2AMDBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for PhysicalDeviceGpaProperties2AMDBuilder { + type Target = PhysicalDeviceGpaProperties2AMD; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + +unsafe impl Cast for PhysicalDeviceGpaPropertiesAMD { + type Target = PhysicalDeviceGpaPropertiesAMD; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl<'b> HasBuilder<'b> for PhysicalDeviceGpaPropertiesAMD { + type Builder = PhysicalDeviceGpaPropertiesAMDBuilder<'b>; +} + +/// A builder for a [`PhysicalDeviceGpaPropertiesAMD`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct PhysicalDeviceGpaPropertiesAMDBuilder<'b> { + value: PhysicalDeviceGpaPropertiesAMD, + _marker: PhantomData<&'b ()>, +} + +impl<'b> PhysicalDeviceGpaPropertiesAMDBuilder<'b> { + #[inline] + pub fn flags(mut self, flags: PhysicalDeviceGpaPropertiesFlagsAMD) -> Self { + self.value.flags = flags; + self + } + + #[inline] + pub fn max_sqtt_se_buffer_size(mut self, max_sqtt_se_buffer_size: DeviceSize) -> Self { + self.value.max_sqtt_se_buffer_size = max_sqtt_se_buffer_size; + self + } + + #[inline] + pub fn shader_engine_count(mut self, shader_engine_count: u32) -> Self { + self.value.shader_engine_count = shader_engine_count; + self + } + + #[inline] + pub fn perf_blocks( + mut self, + perf_blocks: &'b mut [impl Cast], + ) -> Self { + self.value.perf_block_count = perf_blocks.len() as u32; + self.value.perf_blocks = perf_blocks.as_mut_ptr().cast(); + self + } + + #[inline] + pub fn build(self) -> PhysicalDeviceGpaPropertiesAMD { + self.value + } +} + +impl ops::Deref for PhysicalDeviceGpaPropertiesAMDBuilder<'_> { + type Target = PhysicalDeviceGpaPropertiesAMD; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for PhysicalDeviceGpaPropertiesAMDBuilder<'_> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for PhysicalDeviceGpaPropertiesAMDBuilder<'_> { + type Target = PhysicalDeviceGpaPropertiesAMD; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT { type Target = PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT; @@ -54033,9 +58177,13 @@ 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 ImageCreateFlags2CreateInfoKHR {} unsafe impl ExtendsPhysicalDeviceImageFormatInfo2 for ImageFormatListCreateInfo {} +unsafe impl ExtendsPhysicalDeviceImageFormatInfo2 for ImageStencilUsage2CreateInfoKHR {} unsafe impl ExtendsPhysicalDeviceImageFormatInfo2 for ImageStencilUsageCreateInfo {} +unsafe impl ExtendsPhysicalDeviceImageFormatInfo2 for ImageUsageFlags2CreateInfoKHR {} unsafe impl ExtendsPhysicalDeviceImageFormatInfo2 for OpticalFlowImageFormatInfoNV {} unsafe impl ExtendsPhysicalDeviceImageFormatInfo2 for PhysicalDeviceExternalImageFormatInfo {} unsafe impl ExtendsPhysicalDeviceImageFormatInfo2 for PhysicalDeviceImageDrmFormatModifierInfoEXT {} @@ -54253,6 +58401,80 @@ unsafe impl Cast for PhysicalDeviceImageProcessing2PropertiesQCOMBuilder { } } +unsafe impl Cast for PhysicalDeviceImageProcessing3FeaturesQCOM { + type Target = PhysicalDeviceImageProcessing3FeaturesQCOM; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for PhysicalDeviceImageProcessing3FeaturesQCOM { + type Builder = PhysicalDeviceImageProcessing3FeaturesQCOMBuilder; +} + +/// A builder for a [`PhysicalDeviceImageProcessing3FeaturesQCOM`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct PhysicalDeviceImageProcessing3FeaturesQCOMBuilder { + value: PhysicalDeviceImageProcessing3FeaturesQCOM, +} + +impl PhysicalDeviceImageProcessing3FeaturesQCOMBuilder { + #[inline] + pub fn image_gather_linear(mut self, image_gather_linear: bool) -> Self { + self.value.image_gather_linear = image_gather_linear as Bool32; + self + } + + #[inline] + pub fn image_gather_extended_modes(mut self, image_gather_extended_modes: bool) -> Self { + self.value.image_gather_extended_modes = image_gather_extended_modes as Bool32; + self + } + + #[inline] + pub fn block_match_extended_clamp_to_edge( + mut self, + block_match_extended_clamp_to_edge: bool, + ) -> Self { + self.value.block_match_extended_clamp_to_edge = + block_match_extended_clamp_to_edge as Bool32; + self + } + + #[inline] + pub fn build(self) -> PhysicalDeviceImageProcessing3FeaturesQCOM { + self.value + } +} + +impl ops::Deref for PhysicalDeviceImageProcessing3FeaturesQCOMBuilder { + type Target = PhysicalDeviceImageProcessing3FeaturesQCOM; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for PhysicalDeviceImageProcessing3FeaturesQCOMBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for PhysicalDeviceImageProcessing3FeaturesQCOMBuilder { + type Target = PhysicalDeviceImageProcessing3FeaturesQCOM; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for PhysicalDeviceImageProcessingFeaturesQCOM { type Target = PhysicalDeviceImageProcessingFeaturesQCOM; @@ -56725,6 +60947,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; @@ -58842,6 +63122,67 @@ unsafe impl Cast for PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXTB } } +unsafe impl Cast for PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT { + type Target = PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT { + type Builder = PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXTBuilder; +} + +/// A builder for a [`PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXTBuilder { + value: PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT, +} + +impl PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXTBuilder { + #[inline] + pub fn multisampled_render_to_swapchain( + mut self, + multisampled_render_to_swapchain: bool, + ) -> Self { + self.value.multisampled_render_to_swapchain = multisampled_render_to_swapchain as Bool32; + self + } + + #[inline] + pub fn build(self) -> PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT { + self.value + } +} + +impl ops::Deref for PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXTBuilder { + type Target = PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXTBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXTBuilder { + type Target = PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for PhysicalDeviceMultiviewFeatures { type Target = PhysicalDeviceMultiviewFeatures; @@ -59480,6 +63821,64 @@ unsafe impl Cast for PhysicalDeviceOpacityMicromapFeaturesEXTBuilder { } } +unsafe impl Cast for PhysicalDeviceOpacityMicromapFeaturesKHR { + type Target = PhysicalDeviceOpacityMicromapFeaturesKHR; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for PhysicalDeviceOpacityMicromapFeaturesKHR { + type Builder = PhysicalDeviceOpacityMicromapFeaturesKHRBuilder; +} + +/// A builder for a [`PhysicalDeviceOpacityMicromapFeaturesKHR`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct PhysicalDeviceOpacityMicromapFeaturesKHRBuilder { + value: PhysicalDeviceOpacityMicromapFeaturesKHR, +} + +impl PhysicalDeviceOpacityMicromapFeaturesKHRBuilder { + #[inline] + pub fn micromap(mut self, micromap: bool) -> Self { + self.value.micromap = micromap as Bool32; + self + } + + #[inline] + pub fn build(self) -> PhysicalDeviceOpacityMicromapFeaturesKHR { + self.value + } +} + +impl ops::Deref for PhysicalDeviceOpacityMicromapFeaturesKHRBuilder { + type Target = PhysicalDeviceOpacityMicromapFeaturesKHR; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for PhysicalDeviceOpacityMicromapFeaturesKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for PhysicalDeviceOpacityMicromapFeaturesKHRBuilder { + type Target = PhysicalDeviceOpacityMicromapFeaturesKHR; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for PhysicalDeviceOpacityMicromapPropertiesEXT { type Target = PhysicalDeviceOpacityMicromapPropertiesEXT; @@ -59550,6 +63949,92 @@ unsafe impl Cast for PhysicalDeviceOpacityMicromapPropertiesEXTBuilder { } } +unsafe impl Cast for PhysicalDeviceOpacityMicromapPropertiesKHR { + type Target = PhysicalDeviceOpacityMicromapPropertiesKHR; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for PhysicalDeviceOpacityMicromapPropertiesKHR { + type Builder = PhysicalDeviceOpacityMicromapPropertiesKHRBuilder; +} + +/// A builder for a [`PhysicalDeviceOpacityMicromapPropertiesKHR`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct PhysicalDeviceOpacityMicromapPropertiesKHRBuilder { + value: PhysicalDeviceOpacityMicromapPropertiesKHR, +} + +impl PhysicalDeviceOpacityMicromapPropertiesKHRBuilder { + #[inline] + pub fn max_opacity2_state_subdivision_level( + mut self, + max_opacity2_state_subdivision_level: u32, + ) -> Self { + self.value.max_opacity2_state_subdivision_level = max_opacity2_state_subdivision_level; + self + } + + #[inline] + pub fn max_opacity4_state_subdivision_level( + mut self, + max_opacity4_state_subdivision_level: u32, + ) -> Self { + self.value.max_opacity4_state_subdivision_level = max_opacity4_state_subdivision_level; + self + } + + #[inline] + pub fn max_opacity_lossy4_state_subdivision_level( + mut self, + max_opacity_lossy4_state_subdivision_level: u32, + ) -> Self { + self.value.max_opacity_lossy4_state_subdivision_level = + max_opacity_lossy4_state_subdivision_level; + self + } + + #[inline] + pub fn max_micromap_triangles(mut self, max_micromap_triangles: u64) -> Self { + self.value.max_micromap_triangles = max_micromap_triangles; + self + } + + #[inline] + pub fn build(self) -> PhysicalDeviceOpacityMicromapPropertiesKHR { + self.value + } +} + +impl ops::Deref for PhysicalDeviceOpacityMicromapPropertiesKHRBuilder { + type Target = PhysicalDeviceOpacityMicromapPropertiesKHR; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for PhysicalDeviceOpacityMicromapPropertiesKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for PhysicalDeviceOpacityMicromapPropertiesKHRBuilder { + type Target = PhysicalDeviceOpacityMicromapPropertiesKHR; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for PhysicalDeviceOpticalFlowFeaturesNV { type Target = PhysicalDeviceOpticalFlowFeaturesNV; @@ -61798,6 +66283,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 +66721,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 @@ -62198,6 +66742,8 @@ unsafe impl ExtendsPhysicalDeviceProperties2 { } unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceFragmentShadingRatePropertiesKHR {} +unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceGpaProperties2AMD {} +unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceGpaPropertiesAMD {} unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT { @@ -62231,6 +66777,7 @@ unsafe impl ExtendsPhysicalDeviceProperties2 unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceMultiviewProperties {} unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceNestedCommandBufferPropertiesEXT {} unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceOpacityMicromapPropertiesEXT {} +unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceOpacityMicromapPropertiesKHR {} unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceOpticalFlowPropertiesNV {} unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDevicePCIBusInfoPropertiesEXT {} unsafe impl ExtendsPhysicalDeviceProperties2 @@ -62250,6 +66797,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,17 +66812,28 @@ 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 {} +unsafe impl ExtendsPhysicalDeviceProperties2 + for PhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM +{ +} unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceShaderObjectPropertiesEXT {} unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceShaderSMBuiltinsPropertiesNV {} +unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceShaderSplitBarrierPropertiesEXT {} unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceShaderTileImagePropertiesEXT {} unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceShadingRateImagePropertiesNV {} unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceSubgroupProperties {} @@ -62880,6 +67439,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 +69353,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 +69669,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 +70349,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 +71606,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; @@ -67556,6 +72608,122 @@ unsafe impl Cast for PhysicalDeviceShaderModuleIdentifierPropertiesEXTBuilder { } } +unsafe impl Cast for PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM { + type Target = PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM { + type Builder = PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOMBuilder; +} + +/// A builder for a [`PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOMBuilder { + value: PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM, +} + +impl PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOMBuilder { + #[inline] + pub fn shader_multiple_wait_queues(mut self, shader_multiple_wait_queues: bool) -> Self { + self.value.shader_multiple_wait_queues = shader_multiple_wait_queues as Bool32; + self + } + + #[inline] + pub fn build(self) -> PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM { + self.value + } +} + +impl ops::Deref for PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOMBuilder { + type Target = PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOMBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOMBuilder { + type Target = PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + +unsafe impl Cast for PhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM { + type Target = PhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for PhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM { + type Builder = PhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOMBuilder; +} + +/// A builder for a [`PhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct PhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOMBuilder { + value: PhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM, +} + +impl PhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOMBuilder { + #[inline] + pub fn max_shader_wait_queues(mut self, max_shader_wait_queues: u32) -> Self { + self.value.max_shader_wait_queues = max_shader_wait_queues; + self + } + + #[inline] + pub fn build(self) -> PhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM { + self.value + } +} + +impl ops::Deref for PhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOMBuilder { + type Target = PhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for PhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOMBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for PhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOMBuilder { + type Target = PhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for PhysicalDeviceShaderObjectFeaturesEXT { type Target = PhysicalDeviceShaderObjectFeaturesEXT; @@ -67981,6 +73149,125 @@ unsafe impl Cast for PhysicalDeviceShaderSMBuiltinsPropertiesNVBuilder { } } +unsafe impl Cast for PhysicalDeviceShaderSplitBarrierFeaturesEXT { + type Target = PhysicalDeviceShaderSplitBarrierFeaturesEXT; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for PhysicalDeviceShaderSplitBarrierFeaturesEXT { + type Builder = PhysicalDeviceShaderSplitBarrierFeaturesEXTBuilder; +} + +/// A builder for a [`PhysicalDeviceShaderSplitBarrierFeaturesEXT`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct PhysicalDeviceShaderSplitBarrierFeaturesEXTBuilder { + value: PhysicalDeviceShaderSplitBarrierFeaturesEXT, +} + +impl PhysicalDeviceShaderSplitBarrierFeaturesEXTBuilder { + #[inline] + pub fn shader_split_barrier(mut self, shader_split_barrier: bool) -> Self { + self.value.shader_split_barrier = shader_split_barrier as Bool32; + self + } + + #[inline] + pub fn build(self) -> PhysicalDeviceShaderSplitBarrierFeaturesEXT { + self.value + } +} + +impl ops::Deref for PhysicalDeviceShaderSplitBarrierFeaturesEXTBuilder { + type Target = PhysicalDeviceShaderSplitBarrierFeaturesEXT; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for PhysicalDeviceShaderSplitBarrierFeaturesEXTBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for PhysicalDeviceShaderSplitBarrierFeaturesEXTBuilder { + type Target = PhysicalDeviceShaderSplitBarrierFeaturesEXT; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + +unsafe impl Cast for PhysicalDeviceShaderSplitBarrierPropertiesEXT { + type Target = PhysicalDeviceShaderSplitBarrierPropertiesEXT; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for PhysicalDeviceShaderSplitBarrierPropertiesEXT { + type Builder = PhysicalDeviceShaderSplitBarrierPropertiesEXTBuilder; +} + +/// A builder for a [`PhysicalDeviceShaderSplitBarrierPropertiesEXT`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct PhysicalDeviceShaderSplitBarrierPropertiesEXTBuilder { + value: PhysicalDeviceShaderSplitBarrierPropertiesEXT, +} + +impl PhysicalDeviceShaderSplitBarrierPropertiesEXTBuilder { + #[inline] + pub fn split_barrier_reserved_shared_memory( + mut self, + split_barrier_reserved_shared_memory: u32, + ) -> Self { + self.value.split_barrier_reserved_shared_memory = split_barrier_reserved_shared_memory; + self + } + + #[inline] + pub fn build(self) -> PhysicalDeviceShaderSplitBarrierPropertiesEXT { + self.value + } +} + +impl ops::Deref for PhysicalDeviceShaderSplitBarrierPropertiesEXTBuilder { + type Target = PhysicalDeviceShaderSplitBarrierPropertiesEXT; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for PhysicalDeviceShaderSplitBarrierPropertiesEXTBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for PhysicalDeviceShaderSplitBarrierPropertiesEXTBuilder { + type Target = PhysicalDeviceShaderSplitBarrierPropertiesEXT; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for PhysicalDeviceShaderSubgroupExtendedTypesFeatures { type Target = PhysicalDeviceShaderSubgroupExtendedTypesFeatures; @@ -68709,6 +73996,10 @@ unsafe impl Cast for PhysicalDeviceShadingRateImagePropertiesNVBuilder { } } +/// A Vulkan struct that can be used to extend a [`PhysicalDeviceSparseImageFormatInfo2`]. +pub unsafe trait ExtendsPhysicalDeviceSparseImageFormatInfo2: fmt::Debug {} +unsafe impl ExtendsPhysicalDeviceSparseImageFormatInfo2 for ImageUsageFlags2CreateInfoKHR {} + unsafe impl Cast for PhysicalDeviceSparseImageFormatInfo2 { type Target = PhysicalDeviceSparseImageFormatInfo2; @@ -68718,18 +74009,28 @@ unsafe impl Cast for PhysicalDeviceSparseImageFormatInfo2 { } } -impl HasBuilder<'static> for PhysicalDeviceSparseImageFormatInfo2 { - type Builder = PhysicalDeviceSparseImageFormatInfo2Builder; +impl<'b> HasBuilder<'b> for PhysicalDeviceSparseImageFormatInfo2 { + type Builder = PhysicalDeviceSparseImageFormatInfo2Builder<'b>; } /// A builder for a [`PhysicalDeviceSparseImageFormatInfo2`]. #[repr(transparent)] #[derive(Copy, Clone, Debug, Default)] -pub struct PhysicalDeviceSparseImageFormatInfo2Builder { +pub struct PhysicalDeviceSparseImageFormatInfo2Builder<'b> { value: PhysicalDeviceSparseImageFormatInfo2, + _marker: PhantomData<&'b ()>, } -impl PhysicalDeviceSparseImageFormatInfo2Builder { +impl<'b> PhysicalDeviceSparseImageFormatInfo2Builder<'b> { + #[inline] + pub fn push_next(mut self, next: &'b mut impl Cast) -> Self + where + T: ExtendsPhysicalDeviceSparseImageFormatInfo2, + { + self.next = merge(self.next as *mut c_void, NonNull::from(next).cast()); + self + } + #[inline] pub fn format(mut self, format: Format) -> Self { self.value.format = format; @@ -68766,7 +74067,7 @@ impl PhysicalDeviceSparseImageFormatInfo2Builder { } } -impl ops::Deref for PhysicalDeviceSparseImageFormatInfo2Builder { +impl ops::Deref for PhysicalDeviceSparseImageFormatInfo2Builder<'_> { type Target = PhysicalDeviceSparseImageFormatInfo2; #[inline] @@ -68775,14 +74076,14 @@ impl ops::Deref for PhysicalDeviceSparseImageFormatInfo2Builder { } } -impl ops::DerefMut for PhysicalDeviceSparseImageFormatInfo2Builder { +impl ops::DerefMut for PhysicalDeviceSparseImageFormatInfo2Builder<'_> { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.value } } -unsafe impl Cast for PhysicalDeviceSparseImageFormatInfo2Builder { +unsafe impl Cast for PhysicalDeviceSparseImageFormatInfo2Builder<'_> { type Target = PhysicalDeviceSparseImageFormatInfo2; #[inline] @@ -70000,6 +75301,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; @@ -71423,6 +76782,64 @@ unsafe impl Cast for PhysicalDeviceVideoEncodeAV1FeaturesKHRBuilder { } } +unsafe impl Cast for PhysicalDeviceVideoEncodeFeedback2FeaturesKHR { + type Target = PhysicalDeviceVideoEncodeFeedback2FeaturesKHR; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for PhysicalDeviceVideoEncodeFeedback2FeaturesKHR { + type Builder = PhysicalDeviceVideoEncodeFeedback2FeaturesKHRBuilder; +} + +/// A builder for a [`PhysicalDeviceVideoEncodeFeedback2FeaturesKHR`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct PhysicalDeviceVideoEncodeFeedback2FeaturesKHRBuilder { + value: PhysicalDeviceVideoEncodeFeedback2FeaturesKHR, +} + +impl PhysicalDeviceVideoEncodeFeedback2FeaturesKHRBuilder { + #[inline] + pub fn video_encode_feedback2(mut self, video_encode_feedback2: bool) -> Self { + self.value.video_encode_feedback2 = video_encode_feedback2 as Bool32; + self + } + + #[inline] + pub fn build(self) -> PhysicalDeviceVideoEncodeFeedback2FeaturesKHR { + self.value + } +} + +impl ops::Deref for PhysicalDeviceVideoEncodeFeedback2FeaturesKHRBuilder { + type Target = PhysicalDeviceVideoEncodeFeedback2FeaturesKHR; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for PhysicalDeviceVideoEncodeFeedback2FeaturesKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for PhysicalDeviceVideoEncodeFeedback2FeaturesKHRBuilder { + type Target = PhysicalDeviceVideoEncodeFeedback2FeaturesKHR; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR { type Target = PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR; @@ -71667,6 +77084,7 @@ unsafe impl Cast for PhysicalDeviceVideoEncodeRgbConversionFeaturesVALVEBuilder /// A Vulkan struct that can be used to extend a [`PhysicalDeviceVideoFormatInfoKHR`]. pub unsafe trait ExtendsPhysicalDeviceVideoFormatInfoKHR: fmt::Debug {} +unsafe impl ExtendsPhysicalDeviceVideoFormatInfoKHR for ImageUsageFlags2CreateInfoKHR {} unsafe impl ExtendsPhysicalDeviceVideoFormatInfoKHR for VideoProfileListInfoKHR {} unsafe impl Cast for PhysicalDeviceVideoFormatInfoKHR { @@ -81168,6 +86586,7 @@ pub unsafe trait ExtendsQueryPoolCreateInfo: fmt::Debug {} unsafe impl ExtendsQueryPoolCreateInfo for QueryPoolPerformanceCreateInfoKHR {} unsafe impl ExtendsQueryPoolCreateInfo for QueryPoolPerformanceQueryCreateInfoINTEL {} unsafe impl ExtendsQueryPoolCreateInfo for QueryPoolVideoEncodeFeedbackCreateInfoKHR {} +unsafe impl ExtendsQueryPoolCreateInfo for QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR {} unsafe impl ExtendsQueryPoolCreateInfo for VideoDecodeAV1ProfileInfoKHR {} unsafe impl ExtendsQueryPoolCreateInfo for VideoDecodeH264ProfileInfoKHR {} unsafe impl ExtendsQueryPoolCreateInfo for VideoDecodeH265ProfileInfoKHR {} @@ -81453,6 +86872,76 @@ unsafe impl Cast for QueryPoolVideoEncodeFeedbackCreateInfoKHRBuilder { } } +unsafe impl Cast for QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR { + type Target = QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR { + type Builder = QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHRBuilder; +} + +/// A builder for a [`QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHRBuilder { + value: QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR, +} + +impl QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHRBuilder { + #[inline] + pub fn max_per_partition_feedback_entries( + mut self, + max_per_partition_feedback_entries: u32, + ) -> Self { + self.value.max_per_partition_feedback_entries = max_per_partition_feedback_entries; + self + } + + #[inline] + pub fn per_partition_encode_feedback_flags( + mut self, + per_partition_encode_feedback_flags: VideoEncodePerPartitionFeedbackFlagsKHR, + ) -> Self { + self.value.per_partition_encode_feedback_flags = per_partition_encode_feedback_flags; + self + } + + #[inline] + pub fn build(self) -> QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR { + self.value + } +} + +impl ops::Deref for QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHRBuilder { + type Target = QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHRBuilder { + type Target = QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for QueueFamilyCheckpointProperties2NV { type Target = QueueFamilyCheckpointProperties2NV; @@ -81575,6 +87064,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 +87310,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 +87456,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 +87663,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 +89713,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 +89726,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 +93994,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 {} @@ -88717,6 +94641,67 @@ unsafe impl Cast for ShadingRatePaletteNVBuilder<'_> { } } +unsafe impl Cast for SharedPresentSurfaceCapabilities2KHR { + type Target = SharedPresentSurfaceCapabilities2KHR; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for SharedPresentSurfaceCapabilities2KHR { + type Builder = SharedPresentSurfaceCapabilities2KHRBuilder; +} + +/// A builder for a [`SharedPresentSurfaceCapabilities2KHR`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct SharedPresentSurfaceCapabilities2KHRBuilder { + value: SharedPresentSurfaceCapabilities2KHR, +} + +impl SharedPresentSurfaceCapabilities2KHRBuilder { + #[inline] + pub fn shared_present_supported_usage_flags( + mut self, + shared_present_supported_usage_flags: ImageUsageFlags2KHR, + ) -> Self { + self.value.shared_present_supported_usage_flags = shared_present_supported_usage_flags; + self + } + + #[inline] + pub fn build(self) -> SharedPresentSurfaceCapabilities2KHR { + self.value + } +} + +impl ops::Deref for SharedPresentSurfaceCapabilities2KHRBuilder { + type Target = SharedPresentSurfaceCapabilities2KHR; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for SharedPresentSurfaceCapabilities2KHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for SharedPresentSurfaceCapabilities2KHRBuilder { + type Target = SharedPresentSurfaceCapabilities2KHR; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for SharedPresentSurfaceCapabilitiesKHR { type Target = SharedPresentSurfaceCapabilitiesKHR; @@ -89935,6 +95920,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 {} @@ -91394,8 +97380,10 @@ unsafe impl Cast for SurfaceCapabilities2EXTBuilder { /// A Vulkan struct that can be used to extend a [`SurfaceCapabilities2KHR`]. pub unsafe trait ExtendsSurfaceCapabilities2KHR: fmt::Debug {} unsafe impl ExtendsSurfaceCapabilities2KHR for DisplayNativeHdrSurfaceCapabilitiesAMD {} +unsafe impl ExtendsSurfaceCapabilities2KHR for ImageUsageFlags2CreateInfoKHR {} unsafe impl ExtendsSurfaceCapabilities2KHR for LatencySurfaceCapabilitiesNV {} unsafe impl ExtendsSurfaceCapabilities2KHR for PresentTimingSurfaceCapabilitiesEXT {} +unsafe impl ExtendsSurfaceCapabilities2KHR for SharedPresentSurfaceCapabilities2KHR {} unsafe impl ExtendsSurfaceCapabilities2KHR for SharedPresentSurfaceCapabilitiesKHR {} unsafe impl ExtendsSurfaceCapabilities2KHR for SurfaceCapabilitiesFullScreenExclusiveEXT {} unsafe impl ExtendsSurfaceCapabilities2KHR for SurfaceCapabilitiesPresentBarrierNV {} @@ -91404,6 +97392,7 @@ unsafe impl ExtendsSurfaceCapabilities2KHR for SurfaceCapabilitiesPresentWait2KH unsafe impl ExtendsSurfaceCapabilities2KHR for SurfacePresentModeCompatibilityKHR {} unsafe impl ExtendsSurfaceCapabilities2KHR for SurfacePresentScalingCapabilitiesKHR {} unsafe impl ExtendsSurfaceCapabilities2KHR for SurfaceProtectedCapabilitiesKHR {} +unsafe impl ExtendsSurfaceCapabilities2KHR for SwapchainFlagsSurfaceCapabilitiesEXT {} unsafe impl Cast for SurfaceCapabilities2KHR { type Target = SurfaceCapabilities2KHR; @@ -92555,6 +98544,7 @@ pub unsafe trait ExtendsSwapchainCreateInfoKHR: fmt::Debug {} unsafe impl ExtendsSwapchainCreateInfoKHR for DeviceGroupSwapchainCreateInfoKHR {} unsafe impl ExtendsSwapchainCreateInfoKHR for ImageCompressionControlEXT {} unsafe impl ExtendsSwapchainCreateInfoKHR for ImageFormatListCreateInfo {} +unsafe impl ExtendsSwapchainCreateInfoKHR for ImageUsageFlags2CreateInfoKHR {} unsafe impl ExtendsSwapchainCreateInfoKHR for SurfaceFullScreenExclusiveInfoEXT {} unsafe impl ExtendsSwapchainCreateInfoKHR for SurfaceFullScreenExclusiveWin32InfoEXT {} unsafe impl ExtendsSwapchainCreateInfoKHR for SwapchainCounterCreateInfoEXT {} @@ -92775,6 +98765,67 @@ unsafe impl Cast for SwapchainDisplayNativeHdrCreateInfoAMDBuilder { } } +unsafe impl Cast for SwapchainFlagsSurfaceCapabilitiesEXT { + type Target = SwapchainFlagsSurfaceCapabilitiesEXT; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for SwapchainFlagsSurfaceCapabilitiesEXT { + type Builder = SwapchainFlagsSurfaceCapabilitiesEXTBuilder; +} + +/// A builder for a [`SwapchainFlagsSurfaceCapabilitiesEXT`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct SwapchainFlagsSurfaceCapabilitiesEXTBuilder { + value: SwapchainFlagsSurfaceCapabilitiesEXT, +} + +impl SwapchainFlagsSurfaceCapabilitiesEXTBuilder { + #[inline] + pub fn swapchain_supported_flags( + mut self, + swapchain_supported_flags: SwapchainCreateFlagsKHR, + ) -> Self { + self.value.swapchain_supported_flags = swapchain_supported_flags; + self + } + + #[inline] + pub fn build(self) -> SwapchainFlagsSurfaceCapabilitiesEXT { + self.value + } +} + +impl ops::Deref for SwapchainFlagsSurfaceCapabilitiesEXTBuilder { + type Target = SwapchainFlagsSurfaceCapabilitiesEXT; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for SwapchainFlagsSurfaceCapabilitiesEXTBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for SwapchainFlagsSurfaceCapabilitiesEXTBuilder { + type Target = SwapchainFlagsSurfaceCapabilitiesEXT; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for SwapchainLatencyCreateInfoNV { type Target = SwapchainLatencyCreateInfoNV; @@ -93592,18 +99643,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 +100167,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 +100265,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; @@ -95658,6 +101759,7 @@ unsafe impl ExtendsVideoCapabilitiesKHR for VideoDecodeVP9CapabilitiesKHR {} unsafe impl ExtendsVideoCapabilitiesKHR for VideoEncodeAV1CapabilitiesKHR {} unsafe impl ExtendsVideoCapabilitiesKHR for VideoEncodeAV1QuantizationMapCapabilitiesKHR {} unsafe impl ExtendsVideoCapabilitiesKHR for VideoEncodeCapabilitiesKHR {} +unsafe impl ExtendsVideoCapabilitiesKHR for VideoEncodeFeedback2CapabilitiesKHR {} unsafe impl ExtendsVideoCapabilitiesKHR for VideoEncodeH264CapabilitiesKHR {} unsafe impl ExtendsVideoCapabilitiesKHR for VideoEncodeH264QuantizationMapCapabilitiesKHR {} unsafe impl ExtendsVideoCapabilitiesKHR for VideoEncodeH265CapabilitiesKHR {} @@ -99026,6 +105128,77 @@ unsafe impl Cast for VideoEncodeCapabilitiesKHRBuilder { } } +unsafe impl Cast for VideoEncodeFeedback2CapabilitiesKHR { + type Target = VideoEncodeFeedback2CapabilitiesKHR; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for VideoEncodeFeedback2CapabilitiesKHR { + type Builder = VideoEncodeFeedback2CapabilitiesKHRBuilder; +} + +/// A builder for a [`VideoEncodeFeedback2CapabilitiesKHR`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct VideoEncodeFeedback2CapabilitiesKHRBuilder { + value: VideoEncodeFeedback2CapabilitiesKHR, +} + +impl VideoEncodeFeedback2CapabilitiesKHRBuilder { + #[inline] + pub fn max_per_partition_feedback_entries( + mut self, + max_per_partition_feedback_entries: u32, + ) -> Self { + self.value.max_per_partition_feedback_entries = max_per_partition_feedback_entries; + self + } + + #[inline] + pub fn supported_per_partition_encode_feedback_flags( + mut self, + supported_per_partition_encode_feedback_flags: VideoEncodePerPartitionFeedbackFlagsKHR, + ) -> Self { + self.value.supported_per_partition_encode_feedback_flags = + supported_per_partition_encode_feedback_flags; + self + } + + #[inline] + pub fn build(self) -> VideoEncodeFeedback2CapabilitiesKHR { + self.value + } +} + +impl ops::Deref for VideoEncodeFeedback2CapabilitiesKHRBuilder { + type Target = VideoEncodeFeedback2CapabilitiesKHR; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for VideoEncodeFeedback2CapabilitiesKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for VideoEncodeFeedback2CapabilitiesKHRBuilder { + type Target = VideoEncodeFeedback2CapabilitiesKHR; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for VideoEncodeH264CapabilitiesKHR { type Target = VideoEncodeH264CapabilitiesKHR; @@ -103275,6 +109448,8 @@ unsafe impl Cast for VideoFormatH265QuantizationMapPropertiesKHRBuilder { /// A Vulkan struct that can be used to extend a [`VideoFormatPropertiesKHR`]. pub unsafe trait ExtendsVideoFormatPropertiesKHR: fmt::Debug {} +unsafe impl ExtendsVideoFormatPropertiesKHR for ImageCreateFlags2CreateInfoKHR {} +unsafe impl ExtendsVideoFormatPropertiesKHR for ImageUsageFlags2CreateInfoKHR {} unsafe impl ExtendsVideoFormatPropertiesKHR for VideoFormatAV1QuantizationMapPropertiesKHR {} unsafe impl ExtendsVideoFormatPropertiesKHR for VideoFormatH265QuantizationMapPropertiesKHR {} unsafe impl ExtendsVideoFormatPropertiesKHR for VideoFormatQuantizationMapPropertiesKHR {} diff --git a/vulkanalia/src/vk/chains.rs b/vulkanalia/src/vk/chains.rs index 33a199d4..98aa1042 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; @@ -206,6 +220,20 @@ unsafe impl InputChainStruct for AccelerationStructureGeometryLinearSweptSpheres } } +unsafe impl InputChainStruct for AccelerationStructureGeometryMicromapDataKHR { + const TYPE: StructureType = StructureType::ACCELERATION_STRUCTURE_GEOMETRY_MICROMAP_DATA_KHR; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + unsafe impl InputChainStruct for AccelerationStructureGeometryMotionTrianglesDataNV { const TYPE: StructureType = StructureType::ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV; @@ -335,6 +363,28 @@ unsafe impl OutputChainStruct for AccelerationStructureTrianglesOpacityMicromapE } } +unsafe impl InputChainStruct for AccelerationStructureTrianglesOpacityMicromapKHR { + const TYPE: StructureType = + StructureType::ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_KHR; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for AccelerationStructureTrianglesOpacityMicromapKHR { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for AccelerationStructureVersionInfoKHR { const TYPE: StructureType = StructureType::ACCELERATION_STRUCTURE_VERSION_INFO_KHR; @@ -847,6 +897,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 +953,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 +1650,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 +1860,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 +2182,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 +2337,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 +2429,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 +2509,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 +2538,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,7 +3199,28 @@ unsafe impl OutputChainStruct for DeviceFaultCountsEXT { } } -unsafe impl InputChainStruct for DeviceFaultInfoEXT { +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; #[inline] @@ -2923,6 +3241,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 +3430,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; @@ -3288,6 +3676,41 @@ unsafe impl InputChainStruct for DirectFBSurfaceCreateInfoEXT { } } +unsafe impl InputChainStruct for DispatchIndirect2InfoKHR { + const TYPE: StructureType = StructureType::DISPATCH_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 DispatchParametersARM { + const TYPE: StructureType = StructureType::DISPATCH_PARAMETERS_ARM; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +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 +3949,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; @@ -4275,6 +4726,27 @@ unsafe impl OutputChainStruct for FormatProperties3 { } } +unsafe impl InputChainStruct for FormatProperties4KHR { + const TYPE: StructureType = StructureType::FORMAT_PROPERTIES_4_KHR; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for FormatProperties4KHR { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for FragmentShadingRateAttachmentInfoKHR { const TYPE: StructureType = StructureType::FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR; @@ -4534,6 +5006,69 @@ unsafe impl InputChainStruct for GetLatencyMarkerInfoNV { } } +unsafe impl InputChainStruct for GpaDeviceClockModeInfoAMD { + const TYPE: StructureType = StructureType::GPA_DEVICE_CLOCK_MODE_INFO_AMD; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl InputChainStruct for GpaDeviceGetClockInfoAMD { + const TYPE: StructureType = StructureType::GPA_DEVICE_GET_CLOCK_INFO_AMD; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for GpaDeviceGetClockInfoAMD { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + +unsafe impl InputChainStruct for GpaSampleBeginInfoAMD { + const TYPE: StructureType = StructureType::GPA_SAMPLE_BEGIN_INFO_AMD; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl InputChainStruct for GpaSessionCreateInfoAMD { + const TYPE: StructureType = StructureType::GPA_SESSION_CREATE_INFO_AMD; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + unsafe impl InputChainStruct for GraphicsPipelineCreateInfo { const TYPE: StructureType = StructureType::GRAPHICS_PIPELINE_CREATE_INFO; @@ -4786,6 +5321,27 @@ unsafe impl InputChainStruct for ImageCopy2 { } } +unsafe impl InputChainStruct for ImageCreateFlags2CreateInfoKHR { + const TYPE: StructureType = StructureType::IMAGE_CREATE_FLAGS_2_CREATE_INFO_KHR; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for ImageCreateFlags2CreateInfoKHR { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for ImageCreateInfo { const TYPE: StructureType = StructureType::IMAGE_CREATE_INFO; @@ -5010,6 +5566,27 @@ unsafe impl InputChainStruct for ImageSparseMemoryRequirementsInfo2 { } } +unsafe impl InputChainStruct for ImageStencilUsage2CreateInfoKHR { + const TYPE: StructureType = StructureType::IMAGE_STENCIL_USAGE_2_CREATE_INFO_KHR; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for ImageStencilUsage2CreateInfoKHR { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for ImageStencilUsageCreateInfo { const TYPE: StructureType = StructureType::IMAGE_STENCIL_USAGE_CREATE_INFO; @@ -5073,6 +5650,27 @@ unsafe impl InputChainStruct for ImageToMemoryCopy { } } +unsafe impl InputChainStruct for ImageUsageFlags2CreateInfoKHR { + const TYPE: StructureType = StructureType::IMAGE_USAGE_FLAGS_2_CREATE_INFO_KHR; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for ImageUsageFlags2CreateInfoKHR { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for ImageViewASTCDecodeModeEXT { const TYPE: StructureType = StructureType::IMAGE_VIEW_ASTC_DECODE_MODE_EXT; @@ -5192,6 +5790,27 @@ unsafe impl InputChainStruct for ImageViewSlicedCreateInfoEXT { } } +unsafe impl InputChainStruct for ImageViewUsage2CreateInfoKHR { + const TYPE: StructureType = StructureType::IMAGE_VIEW_USAGE_2_CREATE_INFO_KHR; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for ImageViewUsage2CreateInfoKHR { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for ImageViewUsageCreateInfo { const TYPE: StructureType = StructureType::IMAGE_VIEW_USAGE_CREATE_INFO; @@ -6088,6 +6707,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 +6770,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 +7381,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; @@ -7505,15 +8187,36 @@ unsafe impl InputChainStruct for PhysicalDeviceConservativeRasterizationProperti } } -unsafe impl OutputChainStruct for PhysicalDeviceConservativeRasterizationPropertiesEXT { +unsafe impl OutputChainStruct for PhysicalDeviceConservativeRasterizationPropertiesEXT { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + +unsafe impl InputChainStruct for PhysicalDeviceCooperativeMatrix2FeaturesNV { + const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_FEATURES_NV; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PhysicalDeviceCooperativeMatrix2FeaturesNV { #[inline] fn next_mut(&self) -> *mut c_void { self.next } } -unsafe impl InputChainStruct for PhysicalDeviceCooperativeMatrix2FeaturesNV { - const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_FEATURES_NV; +unsafe impl InputChainStruct for PhysicalDeviceCooperativeMatrix2PropertiesNV { + const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_PROPERTIES_NV; #[inline] fn s_type(&self) -> StructureType { @@ -7526,15 +8229,16 @@ unsafe impl InputChainStruct for PhysicalDeviceCooperativeMatrix2FeaturesNV { } } -unsafe impl OutputChainStruct for PhysicalDeviceCooperativeMatrix2FeaturesNV { +unsafe impl OutputChainStruct for PhysicalDeviceCooperativeMatrix2PropertiesNV { #[inline] fn next_mut(&self) -> *mut c_void { self.next } } -unsafe impl InputChainStruct for PhysicalDeviceCooperativeMatrix2PropertiesNV { - const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_PROPERTIES_NV; +unsafe impl InputChainStruct for PhysicalDeviceCooperativeMatrixConversionFeaturesQCOM { + const TYPE: StructureType = + StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_CONVERSION_FEATURES_QCOM; #[inline] fn s_type(&self) -> StructureType { @@ -7547,16 +8251,16 @@ unsafe impl InputChainStruct for PhysicalDeviceCooperativeMatrix2PropertiesNV { } } -unsafe impl OutputChainStruct for PhysicalDeviceCooperativeMatrix2PropertiesNV { +unsafe impl OutputChainStruct for PhysicalDeviceCooperativeMatrixConversionFeaturesQCOM { #[inline] fn next_mut(&self) -> *mut c_void { self.next } } -unsafe impl InputChainStruct for PhysicalDeviceCooperativeMatrixConversionFeaturesQCOM { +unsafe impl InputChainStruct for PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV { const TYPE: StructureType = - StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_CONVERSION_FEATURES_QCOM; + StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_DECODE_VECTOR_FEATURES_NV; #[inline] fn s_type(&self) -> StructureType { @@ -7569,7 +8273,7 @@ unsafe impl InputChainStruct for PhysicalDeviceCooperativeMatrixConversionFeatur } } -unsafe impl OutputChainStruct for PhysicalDeviceCooperativeMatrixConversionFeaturesQCOM { +unsafe impl OutputChainStruct for PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV { #[inline] fn next_mut(&self) -> *mut c_void { self.next @@ -7996,6 +8700,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 +9170,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; @@ -8745,6 +9513,27 @@ unsafe impl OutputChainStruct for PhysicalDeviceDynamicRenderingUnusedAttachment } } +unsafe impl InputChainStruct for PhysicalDeviceElapsedTimerQueryFeaturesQCOM { + const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_ELAPSED_TIMER_QUERY_FEATURES_QCOM; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PhysicalDeviceElapsedTimerQueryFeaturesQCOM { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for PhysicalDeviceExclusiveScissorFeaturesNV { const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV; @@ -8853,6 +9642,27 @@ unsafe impl OutputChainStruct for PhysicalDeviceExtendedDynamicStateFeaturesEXT } } +unsafe impl InputChainStruct for PhysicalDeviceExtendedFlagsFeaturesKHR { + const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_EXTENDED_FLAGS_FEATURES_KHR; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PhysicalDeviceExtendedFlagsFeaturesKHR { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV { const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_FEATURES_NV; @@ -9180,6 +9990,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; @@ -9631,6 +10483,69 @@ unsafe impl OutputChainStruct for PhysicalDeviceGlobalPriorityQueryFeatures { } } +unsafe impl InputChainStruct for PhysicalDeviceGpaFeaturesAMD { + const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_GPA_FEATURES_AMD; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PhysicalDeviceGpaFeaturesAMD { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + +unsafe impl InputChainStruct for PhysicalDeviceGpaProperties2AMD { + const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_GPA_PROPERTIES_2_AMD; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PhysicalDeviceGpaProperties2AMD { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + +unsafe impl InputChainStruct for PhysicalDeviceGpaPropertiesAMD { + const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_GPA_PROPERTIES_AMD; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PhysicalDeviceGpaPropertiesAMD { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT { const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT; @@ -9980,6 +10895,27 @@ unsafe impl OutputChainStruct for PhysicalDeviceImageProcessing2PropertiesQCOM { } } +unsafe impl InputChainStruct for PhysicalDeviceImageProcessing3FeaturesQCOM { + const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_3_FEATURES_QCOM; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PhysicalDeviceImageProcessing3FeaturesQCOM { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for PhysicalDeviceImageProcessingFeaturesQCOM { const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM; @@ -10509,6 +11445,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; @@ -11006,15 +11963,37 @@ unsafe impl InputChainStruct for PhysicalDeviceMultiDrawFeaturesEXT { } } -unsafe impl OutputChainStruct for PhysicalDeviceMultiDrawFeaturesEXT { +unsafe impl OutputChainStruct for PhysicalDeviceMultiDrawFeaturesEXT { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + +unsafe impl InputChainStruct for PhysicalDeviceMultiDrawPropertiesEXT { + const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PhysicalDeviceMultiDrawPropertiesEXT { #[inline] fn next_mut(&self) -> *mut c_void { self.next } } -unsafe impl InputChainStruct for PhysicalDeviceMultiDrawPropertiesEXT { - const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT; +unsafe impl InputChainStruct for PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT { + const TYPE: StructureType = + StructureType::PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT; #[inline] fn s_type(&self) -> StructureType { @@ -11027,16 +12006,16 @@ unsafe impl InputChainStruct for PhysicalDeviceMultiDrawPropertiesEXT { } } -unsafe impl OutputChainStruct for PhysicalDeviceMultiDrawPropertiesEXT { +unsafe impl OutputChainStruct for PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT { #[inline] fn next_mut(&self) -> *mut c_void { self.next } } -unsafe impl InputChainStruct for PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT { +unsafe impl InputChainStruct for PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT { const TYPE: StructureType = - StructureType::PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT; + StructureType::PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SWAPCHAIN_FEATURES_EXT; #[inline] fn s_type(&self) -> StructureType { @@ -11049,7 +12028,7 @@ unsafe impl InputChainStruct for PhysicalDeviceMultisampledRenderToSingleSampled } } -unsafe impl OutputChainStruct for PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT { +unsafe impl OutputChainStruct for PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT { #[inline] fn next_mut(&self) -> *mut c_void { self.next @@ -11269,6 +12248,27 @@ unsafe impl OutputChainStruct for PhysicalDeviceOpacityMicromapFeaturesEXT { } } +unsafe impl InputChainStruct for PhysicalDeviceOpacityMicromapFeaturesKHR { + const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_KHR; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PhysicalDeviceOpacityMicromapFeaturesKHR { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for PhysicalDeviceOpacityMicromapPropertiesEXT { const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT; @@ -11290,6 +12290,27 @@ unsafe impl OutputChainStruct for PhysicalDeviceOpacityMicromapPropertiesEXT { } } +unsafe impl InputChainStruct for PhysicalDeviceOpacityMicromapPropertiesKHR { + const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_KHR; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PhysicalDeviceOpacityMicromapPropertiesKHR { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for PhysicalDeviceOpticalFlowFeaturesNV { const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV; @@ -11994,6 +13015,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; @@ -12242,6 +13284,48 @@ unsafe impl InputChainStruct for PhysicalDeviceQueueFamilyDataGraphProcessingEng } } +unsafe impl InputChainStruct for PhysicalDeviceQueuePerfHintFeaturesQCOM { + const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_QUEUE_PERF_HINT_FEATURES_QCOM; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PhysicalDeviceQueuePerfHintFeaturesQCOM { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + +unsafe impl InputChainStruct for PhysicalDeviceQueuePerfHintPropertiesQCOM { + const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_QUEUE_PERF_HINT_PROPERTIES_QCOM; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +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 +13882,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 +13989,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 +14158,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 +14539,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; @@ -13492,16 +14704,60 @@ unsafe impl InputChainStruct for PhysicalDeviceShaderMaximalReconvergenceFeature } } -unsafe impl OutputChainStruct for PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR { +unsafe impl OutputChainStruct for PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + +unsafe impl InputChainStruct for PhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE { + const TYPE: StructureType = + StructureType::PHYSICAL_DEVICE_SHADER_MIXED_FLOAT_DOT_PRODUCT_FEATURES_VALVE; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + +unsafe impl InputChainStruct for PhysicalDeviceShaderModuleIdentifierFeaturesEXT { + const TYPE: StructureType = + StructureType::PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PhysicalDeviceShaderModuleIdentifierFeaturesEXT { #[inline] fn next_mut(&self) -> *mut c_void { self.next } } -unsafe impl InputChainStruct for PhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE { +unsafe impl InputChainStruct for PhysicalDeviceShaderModuleIdentifierPropertiesEXT { const TYPE: StructureType = - StructureType::PHYSICAL_DEVICE_SHADER_MIXED_FLOAT_DOT_PRODUCT_FEATURES_VALVE; + StructureType::PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT; #[inline] fn s_type(&self) -> StructureType { @@ -13514,16 +14770,16 @@ unsafe impl InputChainStruct for PhysicalDeviceShaderMixedFloatDotProductFeature } } -unsafe impl OutputChainStruct for PhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE { +unsafe impl OutputChainStruct for PhysicalDeviceShaderModuleIdentifierPropertiesEXT { #[inline] fn next_mut(&self) -> *mut c_void { self.next } } -unsafe impl InputChainStruct for PhysicalDeviceShaderModuleIdentifierFeaturesEXT { +unsafe impl InputChainStruct for PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM { const TYPE: StructureType = - StructureType::PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT; + StructureType::PHYSICAL_DEVICE_SHADER_MULTIPLE_WAIT_QUEUES_FEATURES_QCOM; #[inline] fn s_type(&self) -> StructureType { @@ -13536,16 +14792,16 @@ unsafe impl InputChainStruct for PhysicalDeviceShaderModuleIdentifierFeaturesEXT } } -unsafe impl OutputChainStruct for PhysicalDeviceShaderModuleIdentifierFeaturesEXT { +unsafe impl OutputChainStruct for PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM { #[inline] fn next_mut(&self) -> *mut c_void { self.next } } -unsafe impl InputChainStruct for PhysicalDeviceShaderModuleIdentifierPropertiesEXT { +unsafe impl InputChainStruct for PhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM { const TYPE: StructureType = - StructureType::PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT; + StructureType::PHYSICAL_DEVICE_SHADER_MULTIPLE_WAIT_QUEUES_PROPERTIES_QCOM; #[inline] fn s_type(&self) -> StructureType { @@ -13558,7 +14814,7 @@ unsafe impl InputChainStruct for PhysicalDeviceShaderModuleIdentifierPropertiesE } } -unsafe impl OutputChainStruct for PhysicalDeviceShaderModuleIdentifierPropertiesEXT { +unsafe impl OutputChainStruct for PhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM { #[inline] fn next_mut(&self) -> *mut c_void { self.next @@ -13714,6 +14970,48 @@ unsafe impl OutputChainStruct for PhysicalDeviceShaderSMBuiltinsPropertiesNV { } } +unsafe impl InputChainStruct for PhysicalDeviceShaderSplitBarrierFeaturesEXT { + const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_SPLIT_BARRIER_FEATURES_EXT; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PhysicalDeviceShaderSplitBarrierFeaturesEXT { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + +unsafe impl InputChainStruct for PhysicalDeviceShaderSplitBarrierPropertiesEXT { + const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_SPLIT_BARRIER_PROPERTIES_EXT; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PhysicalDeviceShaderSplitBarrierPropertiesEXT { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for PhysicalDeviceShaderSubgroupExtendedTypesFeatures { const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES; @@ -14273,6 +15571,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; @@ -14697,6 +16016,27 @@ unsafe impl OutputChainStruct for PhysicalDeviceVideoEncodeAV1FeaturesKHR { } } +unsafe impl InputChainStruct for PhysicalDeviceVideoEncodeFeedback2FeaturesKHR { + const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_FEEDBACK_2_FEATURES_KHR; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PhysicalDeviceVideoEncodeFeedback2FeaturesKHR { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR { const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_INTRA_REFRESH_FEATURES_KHR; @@ -16369,6 +17709,21 @@ unsafe impl InputChainStruct for QueryPoolVideoEncodeFeedbackCreateInfoKHR { } } +unsafe impl InputChainStruct for QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR { + const TYPE: StructureType = + StructureType::QUERY_POOL_VIDEO_ENCODE_PER_PARTITION_FEEDBACK_CREATE_INFO_KHR; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + unsafe impl InputChainStruct for QueueFamilyCheckpointProperties2NV { const TYPE: StructureType = StructureType::QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV; @@ -16411,6 +17766,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 +17830,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 +17872,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 +19039,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; @@ -17669,6 +19130,27 @@ unsafe impl InputChainStruct for ShaderModuleValidationCacheCreateInfoEXT { } } +unsafe impl InputChainStruct for SharedPresentSurfaceCapabilities2KHR { + const TYPE: StructureType = StructureType::SHARED_PRESENT_SURFACE_CAPABILITIES_2_KHR; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for SharedPresentSurfaceCapabilities2KHR { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for SharedPresentSurfaceCapabilitiesKHR { const TYPE: StructureType = StructureType::SHARED_PRESENT_SURFACE_CAPABILITIES_KHR; @@ -18278,6 +19760,27 @@ unsafe impl InputChainStruct for SwapchainDisplayNativeHdrCreateInfoAMD { } } +unsafe impl InputChainStruct for SwapchainFlagsSurfaceCapabilitiesEXT { + const TYPE: StructureType = StructureType::SWAPCHAIN_FLAGS_SURFACE_CAPABILITIES_EXT; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for SwapchainFlagsSurfaceCapabilitiesEXT { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for SwapchainLatencyCreateInfoNV { const TYPE: StructureType = StructureType::SWAPCHAIN_LATENCY_CREATE_INFO_NV; @@ -18607,6 +20110,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; @@ -19447,6 +20964,27 @@ unsafe impl OutputChainStruct for VideoEncodeCapabilitiesKHR { } } +unsafe impl InputChainStruct for VideoEncodeFeedback2CapabilitiesKHR { + const TYPE: StructureType = StructureType::VIDEO_ENCODE_FEEDBACK_2_CAPABILITIES_KHR; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for VideoEncodeFeedback2CapabilitiesKHR { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for VideoEncodeH264CapabilitiesKHR { const TYPE: StructureType = StructureType::VIDEO_ENCODE_H264_CAPABILITIES_KHR; diff --git a/vulkanalia/src/vk/commands.rs b/vulkanalia/src/vk/commands.rs index 925dcf37..2e1e6fb6 100644 --- a/vulkanalia/src/vk/commands.rs +++ b/vulkanalia/src/vk/commands.rs @@ -51,8 +51,12 @@ 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_gpa_sample_amd: PFN_vkCmdBeginGpaSampleAMD, + pub cmd_begin_gpa_session_amd: PFN_vkCmdBeginGpaSessionAMD, pub cmd_begin_per_tile_execution_qcom: PFN_vkCmdBeginPerTileExecutionQCOM, pub cmd_begin_query: PFN_vkCmdBeginQuery, pub cmd_begin_query_indexed_ext: PFN_vkCmdBeginQueryIndexedEXT, @@ -61,6 +65,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 +80,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 +89,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, @@ -113,22 +122,27 @@ pub struct DeviceCommands { pub cmd_copy_buffer_to_image: PFN_vkCmdCopyBufferToImage, pub cmd_copy_buffer_to_image2: PFN_vkCmdCopyBufferToImage2, pub cmd_copy_buffer_to_image2_khr: PFN_vkCmdCopyBufferToImage2KHR, + pub cmd_copy_gpa_session_results_amd: PFN_vkCmdCopyGpaSessionResultsAMD, pub cmd_copy_image: PFN_vkCmdCopyImage, pub cmd_copy_image2: PFN_vkCmdCopyImage2, pub cmd_copy_image2_khr: PFN_vkCmdCopyImage2KHR, 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 +162,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, @@ -172,6 +194,8 @@ pub struct DeviceCommands { pub cmd_draw_multi_indexed_ext: PFN_vkCmdDrawMultiIndexedEXT, pub cmd_encode_video_khr: PFN_vkCmdEncodeVideoKHR, pub cmd_end_conditional_rendering_ext: PFN_vkCmdEndConditionalRenderingEXT, + pub cmd_end_gpa_sample_amd: PFN_vkCmdEndGpaSampleAMD, + pub cmd_end_gpa_session_amd: PFN_vkCmdEndGpaSessionAMD, pub cmd_end_per_tile_execution_qcom: PFN_vkCmdEndPerTileExecutionQCOM, pub cmd_end_query: PFN_vkCmdEndQuery, pub cmd_end_query_indexed_ext: PFN_vkCmdEndQueryIndexedEXT, @@ -182,12 +206,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 +290,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 +317,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 +362,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 +373,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 +392,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, @@ -384,6 +416,7 @@ pub struct DeviceCommands { pub create_external_compute_queue_nv: PFN_vkCreateExternalComputeQueueNV, pub create_fence: PFN_vkCreateFence, pub create_framebuffer: PFN_vkCreateFramebuffer, + pub create_gpa_session_amd: PFN_vkCreateGpaSessionAMD, pub create_graphics_pipelines: PFN_vkCreateGraphicsPipelines, pub create_image: PFN_vkCreateImage, pub create_image_view: PFN_vkCreateImageView, @@ -408,6 +441,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, @@ -441,6 +475,7 @@ pub struct DeviceCommands { pub destroy_external_compute_queue_nv: PFN_vkDestroyExternalComputeQueueNV, pub destroy_fence: PFN_vkDestroyFence, pub destroy_framebuffer: PFN_vkDestroyFramebuffer, + pub destroy_gpa_session_amd: PFN_vkDestroyGpaSessionAMD, pub destroy_image: PFN_vkDestroyImage, pub destroy_image_view: PFN_vkDestroyImageView, pub destroy_indirect_commands_layout_ext: PFN_vkDestroyIndirectCommandsLayoutEXT, @@ -462,6 +497,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 +561,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, @@ -564,6 +602,9 @@ pub struct DeviceCommands { PFN_vkGetGeneratedCommandsMemoryRequirementsEXT, pub get_generated_commands_memory_requirements_nv: PFN_vkGetGeneratedCommandsMemoryRequirementsNV, + pub get_gpa_device_clock_info_amd: PFN_vkGetGpaDeviceClockInfoAMD, + pub get_gpa_session_results_amd: PFN_vkGetGpaSessionResultsAMD, + pub get_gpa_session_status_amd: PFN_vkGetGpaSessionStatusAMD, pub get_image_drm_format_modifier_properties_ext: PFN_vkGetImageDrmFormatModifierPropertiesEXT, pub get_image_memory_requirements: PFN_vkGetImageMemoryRequirements, pub get_image_memory_requirements2: PFN_vkGetImageMemoryRequirements2, @@ -639,6 +680,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 +715,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, @@ -692,6 +735,7 @@ pub struct DeviceCommands { pub reset_descriptor_pool: PFN_vkResetDescriptorPool, pub reset_event: PFN_vkResetEvent, pub reset_fences: PFN_vkResetFences, + pub reset_gpa_session_amd: PFN_vkResetGpaSessionAMD, pub reset_query_pool: PFN_vkResetQueryPool, pub reset_query_pool_ext: PFN_vkResetQueryPoolEXT, pub set_buffer_collection_buffer_constraints_fuchsia: @@ -700,6 +744,7 @@ pub struct DeviceCommands { PFN_vkSetBufferCollectionImageConstraintsFUCHSIA, pub set_device_memory_priority_ext: PFN_vkSetDeviceMemoryPriorityEXT, pub set_event: PFN_vkSetEvent, + pub set_gpa_device_clock_mode_amd: PFN_vkSetGpaDeviceClockModeAMD, pub set_hdr_metadata_ext: PFN_vkSetHdrMetadataEXT, pub set_latency_marker_nv: PFN_vkSetLatencyMarkerNV, pub set_latency_sleep_mode_nv: PFN_vkSetLatencySleepModeNV, @@ -1095,6 +1140,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 { @@ -1123,6 +1196,36 @@ impl DeviceCommands { fallback } }, + cmd_begin_gpa_sample_amd: { + let value = loader(c"vkCmdBeginGpaSampleAMD".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _command_buffer: CommandBuffer, + _gpa_session: GpaSessionAMD, + _gpa_sample_begin_info: *const GpaSampleBeginInfoAMD, + _sample_id: *mut u32, + ) -> Result { + panic!("could not load vkCmdBeginGpaSampleAMD") + } + fallback + } + }, + cmd_begin_gpa_session_amd: { + let value = loader(c"vkCmdBeginGpaSessionAMD".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _command_buffer: CommandBuffer, + _gpa_session: GpaSessionAMD, + ) -> Result { + panic!("could not load vkCmdBeginGpaSessionAMD") + } + fallback + } + }, cmd_begin_per_tile_execution_qcom: { let value = loader(c"vkCmdBeginPerTileExecutionQCOM".as_ptr()); if let Some(value) = value { @@ -1243,6 +1346,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 +1550,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 +1683,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 +1772,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 { @@ -1972,6 +2151,20 @@ impl DeviceCommands { fallback } }, + cmd_copy_gpa_session_results_amd: { + let value = loader(c"vkCmdCopyGpaSessionResultsAMD".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _command_buffer: CommandBuffer, + _gpa_session: GpaSessionAMD, + ) { + panic!("could not load vkCmdCopyGpaSessionResultsAMD") + } + fallback + } + }, cmd_copy_image: { let value = loader(c"vkCmdCopyImage".as_ptr()); if let Some(value) = value { @@ -2065,6 +2258,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 +2302,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 +2363,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 +2439,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 +2748,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 +2859,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 +2892,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 +2961,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 +3031,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 +3099,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 { @@ -2906,6 +3276,35 @@ impl DeviceCommands { fallback } }, + cmd_end_gpa_sample_amd: { + let value = loader(c"vkCmdEndGpaSampleAMD".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _command_buffer: CommandBuffer, + _gpa_session: GpaSessionAMD, + _sample_id: u32, + ) { + panic!("could not load vkCmdEndGpaSampleAMD") + } + fallback + } + }, + cmd_end_gpa_session_amd: { + let value = loader(c"vkCmdEndGpaSessionAMD".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _command_buffer: CommandBuffer, + _gpa_session: GpaSessionAMD, + ) -> Result { + panic!("could not load vkCmdEndGpaSessionAMD") + } + fallback + } + }, cmd_end_per_tile_execution_qcom: { let value = loader(c"vkCmdEndPerTileExecutionQCOM".as_ptr()); if let Some(value) = value { @@ -3040,6 +3439,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 +3559,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 +4690,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 +5066,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 +5720,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 +5877,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 +6160,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 { @@ -6033,6 +6550,22 @@ impl DeviceCommands { fallback } }, + create_gpa_session_amd: { + let value = loader(c"vkCreateGpaSessionAMD".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _device: Device, + _create_info: *const GpaSessionCreateInfoAMD, + _allocator: *const AllocationCallbacks, + _gpa_session: *mut GpaSessionAMD, + ) -> Result { + panic!("could not load vkCreateGpaSessionAMD") + } + fallback + } + }, create_graphics_pipelines: { let value = loader(c"vkCreateGraphicsPipelines".as_ptr()); if let Some(value) = value { @@ -6424,6 +6957,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 { @@ -6926,6 +7475,21 @@ impl DeviceCommands { fallback } }, + destroy_gpa_session_amd: { + let value = loader(c"vkDestroyGpaSessionAMD".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _device: Device, + _gpa_session: GpaSessionAMD, + _allocator: *const AllocationCallbacks, + ) { + panic!("could not load vkDestroyGpaSessionAMD") + } + fallback + } + }, destroy_image: { let value = loader(c"vkDestroyImage".as_ptr()); if let Some(value) = value { @@ -7241,6 +7805,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 +8093,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 +8602,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 +8631,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 { @@ -8533,6 +9142,51 @@ impl DeviceCommands { fallback } }, + get_gpa_device_clock_info_amd: { + let value = loader(c"vkGetGpaDeviceClockInfoAMD".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _device: Device, + _info: *mut GpaDeviceGetClockInfoAMD, + ) -> Result { + panic!("could not load vkGetGpaDeviceClockInfoAMD") + } + fallback + } + }, + get_gpa_session_results_amd: { + let value = loader(c"vkGetGpaSessionResultsAMD".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _device: Device, + _gpa_session: GpaSessionAMD, + _sample_id: u32, + _size_in_bytes: *mut usize, + _data: *mut c_void, + ) -> Result { + panic!("could not load vkGetGpaSessionResultsAMD") + } + fallback + } + }, + get_gpa_session_status_amd: { + let value = loader(c"vkGetGpaSessionStatusAMD".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _device: Device, + _gpa_session: GpaSessionAMD, + ) -> Result { + panic!("could not load vkGetGpaSessionStatusAMD") + } + fallback + } + }, get_image_drm_format_modifier_properties_ext: { let value = loader(c"vkGetImageDrmFormatModifierPropertiesEXT".as_ptr()); if let Some(value) = value { @@ -9249,7 +9903,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 +10279,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 +10777,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 { @@ -10380,6 +11065,20 @@ impl DeviceCommands { fallback } }, + reset_gpa_session_amd: { + let value = loader(c"vkResetGpaSessionAMD".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _device: Device, + _gpa_session: GpaSessionAMD, + ) -> Result { + panic!("could not load vkResetGpaSessionAMD") + } + fallback + } + }, reset_query_pool: { let value = loader(c"vkResetQueryPool".as_ptr()); if let Some(value) = value { @@ -10468,6 +11167,20 @@ impl DeviceCommands { fallback } }, + set_gpa_device_clock_mode_amd: { + let value = loader(c"vkSetGpaDeviceClockModeAMD".as_ptr()); + if let Some(value) = value { + mem::transmute(value) + } else { + unsafe extern "system" fn fallback( + _device: Device, + _info: *mut GpaDeviceClockModeInfoAMD, + ) -> Result { + panic!("could not load vkSetGpaDeviceClockModeAMD") + } + fallback + } + }, set_hdr_metadata_ext: { let value = loader(c"vkSetHdrMetadataEXT".as_ptr()); if let Some(value) = value { @@ -11092,6 +11805,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 +11877,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 +12549,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 +13293,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..7093dedb 100644 --- a/vulkanalia/src/vk/extensions.rs +++ b/vulkanalia/src/vk/extensions.rs @@ -294,6 +294,218 @@ pub trait AmdDrawIndirectCountExtensionDeviceCommands: DeviceV1_0 { impl AmdDrawIndirectCountExtensionDeviceCommands for C {} +/// The device-level commands added by [`AMD_GPA_INTERFACE_EXTENSION`]. +pub trait AmdGpaInterfaceExtensionDeviceCommands: DeviceV1_0 { + /// + #[inline] + unsafe fn cmd_begin_gpa_sample_amd( + &self, + command_buffer: CommandBuffer, + gpa_session: GpaSessionAMD, + gpa_sample_begin_info: &GpaSampleBeginInfoAMD, + ) -> crate::VkResult { + let mut sample_id = MaybeUninit::::uninit(); + + let __result = (self.commands().cmd_begin_gpa_sample_amd)( + command_buffer, + gpa_session, + gpa_sample_begin_info, + sample_id.as_mut_ptr(), + ); + + if __result == Result::SUCCESS { + Ok(sample_id.assume_init()) + } else { + Err(__result.into()) + } + } + + /// + #[inline] + unsafe fn cmd_begin_gpa_session_amd( + &self, + command_buffer: CommandBuffer, + gpa_session: GpaSessionAMD, + ) -> crate::VkResult<()> { + let __result = (self.commands().cmd_begin_gpa_session_amd)(command_buffer, gpa_session); + + if __result == Result::SUCCESS { + Ok(()) + } else { + Err(__result.into()) + } + } + + /// + #[inline] + unsafe fn cmd_copy_gpa_session_results_amd( + &self, + command_buffer: CommandBuffer, + gpa_session: GpaSessionAMD, + ) { + let __result = + (self.commands().cmd_copy_gpa_session_results_amd)(command_buffer, gpa_session); + } + + /// + #[inline] + unsafe fn cmd_end_gpa_sample_amd( + &self, + command_buffer: CommandBuffer, + gpa_session: GpaSessionAMD, + sample_id: u32, + ) { + let __result = + (self.commands().cmd_end_gpa_sample_amd)(command_buffer, gpa_session, sample_id); + } + + /// + #[inline] + unsafe fn cmd_end_gpa_session_amd( + &self, + command_buffer: CommandBuffer, + gpa_session: GpaSessionAMD, + ) -> crate::VkResult<()> { + let __result = (self.commands().cmd_end_gpa_session_amd)(command_buffer, gpa_session); + + if __result == Result::SUCCESS { + Ok(()) + } else { + Err(__result.into()) + } + } + + /// + #[inline] + unsafe fn create_gpa_session_amd( + &self, + create_info: &GpaSessionCreateInfoAMD, + allocator: Option<&AllocationCallbacks>, + ) -> crate::VkResult { + let mut gpa_session = MaybeUninit::::uninit(); + + let __result = (self.commands().create_gpa_session_amd)( + self.handle(), + create_info, + allocator.map_or(ptr::null(), |v| v), + gpa_session.as_mut_ptr(), + ); + + if __result == Result::SUCCESS { + Ok(gpa_session.assume_init()) + } else { + Err(__result.into()) + } + } + + /// + #[inline] + unsafe fn destroy_gpa_session_amd( + &self, + gpa_session: GpaSessionAMD, + allocator: Option<&AllocationCallbacks>, + ) { + let __result = (self.commands().destroy_gpa_session_amd)( + self.handle(), + gpa_session, + allocator.map_or(ptr::null(), |v| v), + ); + } + + /// + #[inline] + unsafe fn get_gpa_device_clock_info_amd( + &self, + info: &mut GpaDeviceGetClockInfoAMD, + ) -> crate::VkResult<()> { + let __result = (self.commands().get_gpa_device_clock_info_amd)(self.handle(), info); + + if __result == Result::SUCCESS { + Ok(()) + } else { + Err(__result.into()) + } + } + + /// + #[inline] + unsafe fn get_gpa_session_results_amd( + &self, + gpa_session: GpaSessionAMD, + sample_id: u32, + ) -> crate::VkResult> { + let mut size_in_bytes = 0; + + (self.commands().get_gpa_session_results_amd)( + self.handle(), + gpa_session, + sample_id, + &mut size_in_bytes, + ptr::null_mut(), + ); + + let mut data = Vec::with_capacity(size_in_bytes as usize); + + let __result = (self.commands().get_gpa_session_results_amd)( + self.handle(), + gpa_session, + sample_id, + &mut size_in_bytes, + data.as_mut_ptr() as *mut c_void, + ); + + debug_assert!(data.capacity() >= size_in_bytes as usize); + data.set_len(size_in_bytes as usize); + + if __result == Result::SUCCESS { + Ok(data) + } else { + Err(__result.into()) + } + } + + /// + #[inline] + unsafe fn get_gpa_session_status_amd(&self, gpa_session: GpaSessionAMD) -> crate::VkResult<()> { + let __result = (self.commands().get_gpa_session_status_amd)(self.handle(), gpa_session); + + if __result == Result::SUCCESS { + Ok(()) + } else { + Err(__result.into()) + } + } + + /// + #[inline] + unsafe fn reset_gpa_session_amd(&self, gpa_session: GpaSessionAMD) -> crate::VkResult<()> { + let __result = (self.commands().reset_gpa_session_amd)(self.handle(), gpa_session); + + if __result == Result::SUCCESS { + Ok(()) + } else { + Err(__result.into()) + } + } + + /// + #[inline] + unsafe fn set_gpa_device_clock_mode_amd( + &self, + info: &mut GpaDeviceClockModeInfoAMD, + ) -> crate::VkResult<()> { + let __result = (self.commands().set_gpa_device_clock_mode_amd)(self.handle(), info); + + if __result == Result::SUCCESS { + Ok(()) + } else { + Err(__result.into()) + } + } +} + +impl AmdGpaInterfaceExtensionDeviceCommands for C {} + /// The device-level commands added by [`AMD_SHADER_INFO_EXTENSION`]. pub trait AmdShaderInfoExtensionDeviceCommands: DeviceV1_0 { /// @@ -672,6 +884,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 +1043,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 +4281,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(); @@ -3912,16 +4384,34 @@ pub trait ExtPresentTimingExtensionDeviceCommands: DeviceV1_0 { swapchain, size, ); - - if __result >= Result::SUCCESS { - Ok(__result.into()) - } else { - Err(__result.into()) - } + + if __result >= Result::SUCCESS { + Ok(__result.into()) + } else { + Err(__result.into()) + } + } +} + +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 ExtPresentTimingExtensionDeviceCommands for C {} +impl ExtPrimitiveRestartIndexExtensionDeviceCommands for C {} /// The device-level commands added by [`EXT_PRIVATE_DATA_EXTENSION`]. pub trait ExtPrivateDataExtensionDeviceCommands: DeviceV1_0 { @@ -6541,6 +7031,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 +12826,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 +13026,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 { ///