diff --git a/CHANGELOG.md b/CHANGELOG.md index 0f0ce68..65f07dd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,36 @@ All notable changes to vulkan-rust will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.10.0] - 2026-04-03 + +### Added + +- Builders for all plain (non-sType) structs, not just extensible ones (~200 new builders) +- `all()` method on bitmask types, combining every defined flag +- `Display` and `Error` impls on generated enum types (`vk::Result` now works with `?` and anyhow) +- `DeviceSize` and `DeviceAddress` type aliases +- `ClearValue::color_f32()`, `ClearValue::depth_stencil()`, and other typed constructors for union types +- `PartialOrd`/`Ord` derives on bitmask types + +### Changed + +- **Breaking:** All `vk::` submodules (`handles`, `structs`, `enums`, `bitmasks`, `constants`, `builders`) are now private with glob re-exports at the crate root. Use `vk::Buffer` instead of `vk::handles::Buffer`. +- **Breaking:** Builder setter methods for pointer fields drop the `p_` prefix (`p_vertex_input_state()` becomes `vertex_input_state()`, `p_application_info()` becomes `application_info()`) +- **Breaking:** `get_physical_device_surface_support_khr` returns `VkResult` instead of `VkResult` +- **Breaking:** `cmd_push_constants` and other void-array commands accept `&[u8]` instead of `&[c_void]` +- **Breaking:** Optional `const char*` params (e.g. `enumerate_device_extension_properties`) accept `Option<&CStr>` instead of `*const c_char` +- `ShaderModuleCreateInfo` builder has a single `.code(&[u32])` setter instead of separate `.code_size()` and `.p_code()` +- Multiple input arrays sharing a count param (e.g. `cmd_bind_vertex_buffers`) are all emitted as slices +- Count field setters are preserved when the paired pointer is optional (e.g. `descriptor_count` on `DescriptorSetLayoutBinding`) + +### Fixed + +- PFN callback types (`PFN_vkDebugUtilsMessengerCallbackEXT`, etc.) are now fully typed instead of type-erased `fn()` +- Parser prefers `altlen` over `len` from vk.xml, giving parseable C expressions instead of LaTeX +- `#[doc(inline)]` on all re-exports so docs.rs renders type pages under `vk::` +- README links use absolute GitHub URLs for crates.io compatibility +- Guide dependency version corrected from `"0.1"` to `"0.10"` + ## [0.9.0] - 2026-04-03 Initial public release. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a64275f..948ead4 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -97,7 +97,7 @@ All new public items in `vulkan-rust` must follow this section order: /// /// # Errors /// -/// - [`vk::enums::Result::ERROR_OUT_OF_HOST_MEMORY`], Host allocation failed. +/// - [`vk::Result::ERROR_OUT_OF_HOST_MEMORY`], Host allocation failed. /// /// # Safety /// @@ -128,7 +128,7 @@ Public API items must never be removed without a deprecation cycle: 1. **Deprecate** in a minor release using the built-in attribute: ```rust #[deprecated(since = "0.3.0", note = "renamed to `create_instance_handle`")] - pub unsafe fn create_instance_raw(...) -> VkResult { + pub unsafe fn create_instance_raw(...) -> VkResult { self.create_instance_handle(...) } ``` diff --git a/Cargo.lock b/Cargo.lock index 2f606b9..cb4b0d0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1973,7 +1973,7 @@ dependencies = [ [[package]] name = "vulkan-rust" -version = "0.9.0" +version = "0.10.0" dependencies = [ "image", "libloading", @@ -1997,7 +1997,7 @@ dependencies = [ [[package]] name = "vulkan-rust-sys" -version = "0.9.0" +version = "0.10.0" [[package]] name = "walkdir" diff --git a/README.md b/README.md index d201faf..6e0b021 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,8 @@ [![CI](https://img.shields.io/github/actions/workflow/status/Hiddentale/vulkan_rust/ci.yml?branch=main&logo=github&label=CI)](https://github.com/Hiddentale/vulkan_rust/actions) [![docs.rs](https://img.shields.io/docsrs/vulkan-rust?logo=docs.rs&label=docs.rs)](https://docs.rs/vulkan-rust) [![crates.io](https://img.shields.io/crates/v/vulkan-rust?logo=rust)](https://crates.io/crates/vulkan-rust) -[![License](https://img.shields.io/crates/l/vulkan-rust)](LICENSE-MIT) +[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/Hiddentale/vulkan_rust/blob/main/LICENSE-MIT) +[![License: Apache 2.0](https://img.shields.io/badge/license-Apache_2.0-blue.svg)](https://github.com/Hiddentale/vulkan_rust/blob/main/LICENSE-APACHE) Ergonomic, minimal Vulkan bindings for Rust, generated from `vk.xml`. @@ -15,10 +16,12 @@ every enabled extension, and 100% documentation coverage enforced in CI. ## Getting Started -See the [examples](vulkan-rust/examples) directory for progressively complex Vulkan programs, from minimal setup to textured rendering. Run them with `cargo run --example hello_triangle_4`. +See the [examples](https://github.com/Hiddentale/vulkan_rust/tree/main/vulkan-rust/examples) directory for progressively complex Vulkan programs, from minimal setup to textured rendering. Run them with `cargo run --example hello_triangle_4`. If you're new to Vulkan, start with the [Hello Triangle tutorial](https://hiddentale.github.io/vulkan_rust/getting-started/hello-triangle-1.html) in the companion guide. +For a comprehensive project using vulkan-rust, check out [Manifold](https://github.com/Hiddentale/manifold). + ## Why vulkan-rust? | | vulkan-rust | ash | vulkanalia | @@ -66,14 +69,14 @@ Progressive examples from minimal setup to textured rendering: | Example | Lines | Concepts | |---------|-------|----------| -| [hello_triangle_1](vulkan-rust/examples/hello_triangle_1.rs) | 81 | Entry, Instance | -| [hello_triangle_2](vulkan-rust/examples/hello_triangle_2.rs) | 248 | Surface, Swapchain | -| [hello_triangle_3](vulkan-rust/examples/hello_triangle_3.rs) | 413 | Pipeline, Command buffers | -| [hello_triangle_4](vulkan-rust/examples/hello_triangle_4.rs) | 588 | Complete triangle | -| [push_constants](vulkan-rust/examples/push_constants.rs) | 619 | Dynamic pipeline parameters | -| [double_buffering](vulkan-rust/examples/double_buffering.rs) | 620 | Triple-buffered rendering | -| [resize](vulkan-rust/examples/resize.rs) | 702 | Window resize handling | -| [textures](vulkan-rust/examples/textures.rs) | 930 | Image loading, sampling | +| [hello_triangle_1](https://github.com/Hiddentale/vulkan_rust/blob/main/vulkan-rust/examples/hello_triangle_1.rs) | 81 | Entry, Instance | +| [hello_triangle_2](https://github.com/Hiddentale/vulkan_rust/blob/main/vulkan-rust/examples/hello_triangle_2.rs) | 248 | Surface, Swapchain | +| [hello_triangle_3](https://github.com/Hiddentale/vulkan_rust/blob/main/vulkan-rust/examples/hello_triangle_3.rs) | 413 | Pipeline, Command buffers | +| [hello_triangle_4](https://github.com/Hiddentale/vulkan_rust/blob/main/vulkan-rust/examples/hello_triangle_4.rs) | 588 | Complete triangle | +| [push_constants](https://github.com/Hiddentale/vulkan_rust/blob/main/vulkan-rust/examples/push_constants.rs) | 619 | Dynamic pipeline parameters | +| [double_buffering](https://github.com/Hiddentale/vulkan_rust/blob/main/vulkan-rust/examples/double_buffering.rs) | 620 | Triple-buffered rendering | +| [resize](https://github.com/Hiddentale/vulkan_rust/blob/main/vulkan-rust/examples/resize.rs) | 702 | Window resize handling | +| [textures](https://github.com/Hiddentale/vulkan_rust/blob/main/vulkan-rust/examples/textures.rs) | 930 | Image loading, sampling | Run with `cargo run --example hello_triangle_4`. @@ -91,7 +94,7 @@ The companion [vulkan_rust Guide](https://hiddentale.github.io/vulkan_rust/) cov ## Testing -[Information about testing](docs/testing.md), including where tests of various kinds live and how to run them. +[Information about testing](https://github.com/Hiddentale/vulkan_rust/blob/main/docs/testing.md), including where tests of various kinds live and how to run them. ## MSRV Policy @@ -101,7 +104,7 @@ MSRV bumps are treated as breaking changes and only happen in minor version incr ## Contributing -See [CONTRIBUTING.md](CONTRIBUTING.md) for documentation standards and the deprecation policy. +See [CONTRIBUTING.md](https://github.com/Hiddentale/vulkan_rust/blob/main/CONTRIBUTING.md) for documentation standards and the deprecation policy. ## Disclaimer @@ -112,7 +115,7 @@ This project is not affiliated with, endorsed by, or officially connected to Khr Licensed under either of -- Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or ) -- MIT license ([LICENSE-MIT](LICENSE-MIT) or ) +- Apache License, Version 2.0 ([LICENSE-APACHE](https://github.com/Hiddentale/vulkan_rust/blob/main/LICENSE-APACHE) or ) +- MIT license ([LICENSE-MIT](https://github.com/Hiddentale/vulkan_rust/blob/main/LICENSE-MIT) or ) at your option. diff --git a/guide/src/architecture/design.md b/guide/src/architecture/design.md index d34ff89..f5ed083 100644 --- a/guide/src/architecture/design.md +++ b/guide/src/architecture/design.md @@ -109,8 +109,7 @@ Every builder dereferences to its inner `vk::*` struct: ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::bitmasks::*; +use vk::*; let info = BufferCreateInfo::builder() .size(1024) @@ -136,7 +135,7 @@ newtype around `i32`: ```rust,ignore use vulkan_rust::vk; -use vk::enums::*; +use vk::*; #[repr(transparent)] pub struct Format(i32); diff --git a/guide/src/architecture/errors.md b/guide/src/architecture/errors.md index 3160c4e..b3b3a22 100644 --- a/guide/src/architecture/errors.md +++ b/guide/src/architecture/errors.md @@ -23,7 +23,7 @@ return value after every call. ```rust,ignore use vulkan_rust::vk; -pub type VkResult = std::result::Result; +pub type VkResult = std::result::Result; ``` Here `vk::Result` is the `#[repr(transparent)]` i32 newtype from `vulkan-rust-sys`. @@ -35,7 +35,7 @@ A helper function performs the conversion: ```rust,ignore use vulkan_rust::vk; -pub(crate) fn check(result: vk::enums::Result) -> VkResult<()> { +pub(crate) fn check(result: vk::Result) -> VkResult<()> { if result.as_raw() >= 0 { Ok(()) } else { @@ -100,7 +100,7 @@ pub enum SurfaceError { /// raw-window-handle returned an error. HandleError(raw_window_handle::HandleError), /// Vulkan error from the surface creation call. - Vulkan(vk::enums::Result), + Vulkan(vk::Result), } ``` @@ -132,7 +132,7 @@ errors with `?`, handle them at the boundary. ```rust,ignore use vulkan_rust::vk; use vulkan_rust::Device; -use vk::handles::*; +use vk::*; unsafe fn create_pipeline( device: &Device, diff --git a/guide/src/concepts/command-buffers.md b/guide/src/concepts/command-buffers.md index 693e9c8..89f850a 100644 --- a/guide/src/concepts/command-buffers.md +++ b/guide/src/concepts/command-buffers.md @@ -104,8 +104,7 @@ records a simple buffer copy, and submits it. ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::bitmasks::*; +use vk::*; // Create a pool for the graphics queue family. // RESET_COMMAND_BUFFER lets us reset individual command buffers @@ -123,9 +122,7 @@ let command_pool = unsafe { ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::enums::*; -use vk::handles::*; +use vk::*; // Allocate one primary command buffer from the pool. let alloc_info = CommandBufferAllocateInfo::builder() @@ -143,8 +140,7 @@ let command_buffer = unsafe { ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::bitmasks::*; +use vk::*; // Begin recording. ONE_TIME_SUBMIT tells the driver this buffer // will be submitted once and then reset or freed, enabling @@ -187,8 +183,7 @@ unsafe { device.end_command_buffer(command_buffer)? }; ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::handles::*; +use vk::*; // Build a submit info. This describes: // - which command buffers to execute @@ -219,7 +214,7 @@ unsafe { device.queue_wait_idle(graphics_queue)? }; ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; +use vk::*; // Option A: Free the command buffer back to the pool. unsafe { @@ -277,10 +272,7 @@ a command buffer just once. The pattern: ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::enums::*; -use vk::bitmasks::*; -use vk::handles::*; +use vk::*; unsafe fn one_shot_submit( device: &Device, diff --git a/guide/src/concepts/descriptors.md b/guide/src/concepts/descriptors.md index 3683f28..bc4a309 100644 --- a/guide/src/concepts/descriptors.md +++ b/guide/src/concepts/descriptors.md @@ -69,8 +69,7 @@ The most common are `UNIFORM_BUFFER` and `COMBINED_IMAGE_SAMPLER`. ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::enums::*; +use vk::*; // Describe the bindings: slot 0 is a uniform buffer visible to // the vertex shader, slot 1 is a combined image sampler visible @@ -107,8 +106,7 @@ let descriptor_layout = unsafe { ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::enums::*; +use vk::*; // The pool must have enough room for the descriptor types we need. // If we want 10 sets, each with 1 uniform buffer and 1 image sampler: @@ -136,8 +134,7 @@ let descriptor_pool = unsafe { ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::handles::*; +use vk::*; let alloc_info = DescriptorSetAllocateInfo::builder() .descriptor_pool(descriptor_pool) @@ -152,8 +149,7 @@ let descriptor_set = unsafe { ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::enums::*; +use vk::*; // Point binding 0 to our uniform buffer. let buffer_info = DescriptorBufferInfo { @@ -190,7 +186,7 @@ unsafe { device.update_descriptor_sets(&writes, &[]) }; ```rust,ignore use vulkan_rust::vk; -use vk::enums::*; +use vk::*; unsafe { device.cmd_bind_descriptor_sets( @@ -224,8 +220,7 @@ set 2 changes per object. You only rebind the sets that changed. ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::enums::*; +use vk::*; // In pipeline layout creation: let layouts = [per_frame_layout, per_material_layout, per_object_layout]; diff --git a/guide/src/concepts/memory.md b/guide/src/concepts/memory.md index 03b1d52..1d8975d 100644 --- a/guide/src/concepts/memory.md +++ b/guide/src/concepts/memory.md @@ -124,9 +124,7 @@ from the CPU into fast GPU memory. It uses the **staging buffer pattern**. ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::enums::*; -use vk::bitmasks::*; +use vk::*; // The buffer that will hold the mesh on the GPU. // TRANSFER_DST means "this buffer can receive data from a copy command." @@ -159,7 +157,7 @@ let mem_requirements = unsafe { ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; +use vk::*; // Query what memory the hardware offers. let mem_properties = unsafe { @@ -192,7 +190,7 @@ let memory_type_index = (0..mem_properties.memory_type_count) ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; +use vk::*; let alloc_info = MemoryAllocateInfo::builder() .allocation_size(mem_requirements.size) @@ -213,9 +211,7 @@ in host-visible memory, write your data there, then copy to the GPU buffer. ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::enums::*; -use vk::bitmasks::*; +use vk::*; // Create a temporary staging buffer in host-visible memory. let staging_info = BufferCreateInfo::builder() @@ -309,7 +305,7 @@ available on all hardware. The staging buffer pattern works everywhere. ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; +use vk::*; fn find_memory_type( mem_properties: &PhysicalDeviceMemoryProperties, diff --git a/guide/src/concepts/object-model.md b/guide/src/concepts/object-model.md index fb0d0d6..ad0d4c9 100644 --- a/guide/src/concepts/object-model.md +++ b/guide/src/concepts/object-model.md @@ -111,10 +111,7 @@ is labeled with its purpose. ```rust,ignore use vulkan_rust::vk; -use vulkan_rust::vk::structs::*; -use vulkan_rust::vk::enums::*; -use vulkan_rust::vk::bitmasks::*; -use vulkan_rust::vk::handles::*; +use vulkan_rust::vk::*; use vulkan_rust::vk::Handle; use vulkan_rust::Device; @@ -176,9 +173,7 @@ the entire pool is reset/destroyed at once): ```rust,ignore use vulkan_rust::vk; -use vulkan_rust::vk::structs::*; -use vulkan_rust::vk::enums::*; -use vulkan_rust::vk::handles::*; +use vulkan_rust::vk::*; use vulkan_rust::vk::Handle; // Pool-based lifecycle (simplified) diff --git a/guide/src/concepts/pipelines.md b/guide/src/concepts/pipelines.md index 5b19754..1e03fe1 100644 --- a/guide/src/concepts/pipelines.md +++ b/guide/src/concepts/pipelines.md @@ -87,7 +87,7 @@ This is a minimal pipeline for rendering colored triangles. ```rust,ignore use vulkan_rust::vk; -use vulkan_rust::vk::structs::*; +use vulkan_rust::vk::*; // SPIR-V bytecode, compiled from GLSL with glslc or shaderc. let vert_code: &[u32] = /* load from file or include_bytes! */; @@ -120,8 +120,7 @@ let stages = [ ```rust,ignore use vulkan_rust::vk; -use vulkan_rust::vk::structs::*; -use vulkan_rust::vk::enums::*; +use vulkan_rust::vk::*; // Describe how vertex data is laid out in memory. let binding = VertexInputBindingDescription { @@ -156,9 +155,7 @@ let vertex_input = PipelineVertexInputStateCreateInfo::builder() ```rust,ignore use vulkan_rust::vk; -use vulkan_rust::vk::structs::*; -use vulkan_rust::vk::enums::*; -use vulkan_rust::vk::bitmasks::*; +use vulkan_rust::vk::*; let input_assembly = PipelineInputAssemblyStateCreateInfo::builder() .topology(PrimitiveTopology::TRIANGLE_LIST); @@ -210,8 +207,7 @@ let dynamic_state = PipelineDynamicStateCreateInfo::builder() ```rust,ignore use vulkan_rust::vk; -use vulkan_rust::vk::structs::*; -use vulkan_rust::vk::handles::*; +use vulkan_rust::vk::*; use vulkan_rust::vk::Handle; // Empty layout (no descriptor sets, no push constants). @@ -256,7 +252,7 @@ unsafe { ```rust,ignore use vulkan_rust::vk; -use vulkan_rust::vk::enums::*; +use vulkan_rust::vk::*; unsafe { device.cmd_bind_pipeline( @@ -281,8 +277,7 @@ a pipeline layout. No vertex input, no rasterization, no blending. ```rust,ignore use vulkan_rust::vk; -use vulkan_rust::vk::structs::*; -use vulkan_rust::vk::handles::*; +use vulkan_rust::vk::*; use vulkan_rust::vk::Handle; let compute_info = ComputePipelineCreateInfo::builder() @@ -312,7 +307,7 @@ are faster. ```rust,ignore use vulkan_rust::vk; -use vulkan_rust::vk::structs::*; +use vulkan_rust::vk::*; // Create a cache (optionally seeded with data from a previous run). let cache_info = PipelineCacheCreateInfo::builder(); diff --git a/guide/src/concepts/pnext.md b/guide/src/concepts/pnext.md index d5a78f0..6a4fb43 100644 --- a/guide/src/concepts/pnext.md +++ b/guide/src/concepts/pnext.md @@ -68,8 +68,7 @@ newer Vulkan versions or extensions. ```rust,ignore use vulkan_rust::vk; -use vulkan_rust::vk::structs::*; -use vulkan_rust::vk::enums::*; +use vulkan_rust::vk::*; // You would need to manually link the structs: let mut features_13 = PhysicalDeviceVulkan13Features { @@ -102,7 +101,7 @@ link the chain. vulkan_rust builders fix all of these problems. ```rust,ignore use vulkan_rust::vk; -use vulkan_rust::vk::structs::*; +use vulkan_rust::vk::*; let mut features_12 = *PhysicalDeviceVulkan12Features::builder() .buffer_device_address(1) @@ -192,7 +191,7 @@ If you try to `push_next` a struct that doesn't implement the trait: ```rust,ignore use vulkan_rust::vk; -use vulkan_rust::vk::structs::*; +use vulkan_rust::vk::*; // Compile error: PhysicalDeviceMemoryProperties does not implement // ExtendsDeviceCreateInfo @@ -207,7 +206,7 @@ pass a builder anywhere a reference to the inner struct is expected: ```rust,ignore use vulkan_rust::vk; -use vulkan_rust::vk::structs::*; +use vulkan_rust::vk::*; let info = DeviceCreateInfo::builder() .queue_create_infos(&queue_infos) @@ -238,7 +237,7 @@ the same scope. The compiler enforces this: ```rust,ignore use vulkan_rust::vk; -use vulkan_rust::vk::structs::*; +use vulkan_rust::vk::*; let info = { let mut features = PhysicalDeviceVulkan12Features::builder(); @@ -257,7 +256,7 @@ Chain feature structs into `PhysicalDeviceFeatures2` and call ```rust,ignore use vulkan_rust::vk; -use vulkan_rust::vk::structs::*; +use vulkan_rust::vk::*; let mut features_12 = *PhysicalDeviceVulkan12Features::builder(); let mut features_13 = *PhysicalDeviceVulkan13Features::builder(); diff --git a/guide/src/concepts/render-passes.md b/guide/src/concepts/render-passes.md index eb74d11..c4d19af 100644 --- a/guide/src/concepts/render-passes.md +++ b/guide/src/concepts/render-passes.md @@ -91,9 +91,7 @@ image) and one depth attachment. ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::enums::*; -use vk::bitmasks::*; +use vk::*; // Color attachment: the swapchain image we render into. let color_attachment = AttachmentDescription { @@ -126,8 +124,7 @@ let depth_attachment = AttachmentDescription { ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::enums::*; +use vk::*; // Subpass 0 uses attachment 0 as color output and attachment 1 as depth. let color_ref = AttachmentReference { @@ -157,8 +154,7 @@ let subpass = SubpassDescription { ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::constants::SUBPASS_EXTERNAL; +use vk::*; // This dependency ensures that the image layout transition // (from the previous frame's PRESENT_SRC to our UNDEFINED→COLOR_ATTACHMENT) @@ -181,7 +177,7 @@ let dependency = SubpassDependency { ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; +use vk::*; let attachments = [color_attachment, depth_attachment]; @@ -199,8 +195,7 @@ let render_pass = unsafe { ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::handles::*; +use vk::*; let framebuffers: Vec = swapchain_image_views .iter() @@ -225,8 +220,7 @@ let framebuffers: Vec = swapchain_image_views ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::enums::*; +use vk::*; let clear_values = [ ClearValue { @@ -274,8 +268,7 @@ You specify attachments inline at recording time: ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::enums::*; +use vk::*; let color_attachment = RenderingAttachmentInfo::builder() .image_view(swapchain_image_view) diff --git a/guide/src/concepts/synchronization.md b/guide/src/concepts/synchronization.md index 8831f6d..a395e5e 100644 --- a/guide/src/concepts/synchronization.md +++ b/guide/src/concepts/synchronization.md @@ -77,7 +77,7 @@ signals it when all commands in that submission finish. ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; +use vk::*; // ── Create a fence ────────────────────────────────────────────── // @@ -92,7 +92,7 @@ let fence = unsafe { device.create_fence(&fence_info, None)? }; ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; +use vk::*; // ── The render loop ───────────────────────────────────────────── @@ -153,7 +153,7 @@ into." The other says "rendering is done, safe to present." ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; +use vk::*; // Create two semaphores (no flags needed). let sem_info = SemaphoreCreateInfo::builder(); @@ -163,8 +163,7 @@ let render_finished = unsafe { device.create_semaphore(&sem_info, None)? }; ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::handles::*; +use vk::*; // ── Acquire a swapchain image ─────────────────────────────────── // @@ -252,10 +251,7 @@ finish the transition before the shader reads. ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::enums::*; -use vk::bitmasks::*; -use vk::constants::QUEUE_FAMILY_IGNORED; +use vk::*; // Transition image from TRANSFER_DST to SHADER_READ_ONLY. // @@ -384,7 +380,7 @@ and the wait. ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; +use vk::*; // Signal the event after the transfer completes. unsafe { diff --git a/guide/src/concepts/validation.md b/guide/src/concepts/validation.md index 6032698..16f3913 100644 --- a/guide/src/concepts/validation.md +++ b/guide/src/concepts/validation.md @@ -61,7 +61,7 @@ Your app ──────────────────────> Vul ```rust,ignore use std::ffi::CStr; use vulkan_rust::vk; -use vk::structs::*; +use vk::*; // The standard validation layer name. let validation_layer = c"VK_LAYER_KHRONOS_validation"; @@ -87,8 +87,7 @@ problem. ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::bitmasks::*; +use vk::*; // This callback receives validation messages. // The signature must match PFN_vkDebugUtilsMessengerCallbackEXT. @@ -125,8 +124,7 @@ unsafe extern "system" fn debug_callback( ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::bitmasks::*; +use vk::*; // Create the messenger. let messenger_info = DebugUtilsMessengerCreateInfoEXT::builder() @@ -152,9 +150,7 @@ To verify validation is working, do something wrong on purpose: ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::enums::*; -use vk::bitmasks::*; +use vk::*; // Create a buffer without TRANSFER_DST usage, then try to copy into it. let bad_buffer_info = BufferCreateInfo::builder() @@ -211,8 +207,7 @@ via pNext. The validation layer will use it for messages during ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::bitmasks::*; +use vk::*; let mut debug_info = DebugUtilsMessengerCreateInfoEXT::builder() .message_severity( diff --git a/guide/src/getting-started/hello-triangle-1.md b/guide/src/getting-started/hello-triangle-1.md index d004837..2112648 100644 --- a/guide/src/getting-started/hello-triangle-1.md +++ b/guide/src/getting-started/hello-triangle-1.md @@ -31,7 +31,7 @@ Add `vulkan-rust` to your `Cargo.toml`: ```toml [dependencies] -vulkan-rust = "0.1" +vulkan-rust = "0.10" ``` ## Step 1: Load the Vulkan library @@ -81,16 +81,16 @@ Vulkan version Y, please give me access." ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; +use vk::*; // ── Describe your application ────────────────────────────────── // // ApplicationInfo tells the driver who you are. This is optional // but helps driver vendors optimize for known applications. let app_info = ApplicationInfo::builder() - .p_application_name(c"Hello Triangle".as_ptr()) + .application_name(c"Hello Triangle") .application_version(1) - .p_engine_name(c"No Engine".as_ptr()) + .engine_name(c"No Engine") .engine_version(1) .api_version(1 << 22); // Vulkan 1.0 @@ -99,7 +99,7 @@ let app_info = ApplicationInfo::builder() // No layers or extensions yet. We will add validation layers and // surface extensions in later parts. let create_info = InstanceCreateInfo::builder() - .p_application_info(&app_info); + .application_info(&app_info); // ── Create the instance ──────────────────────────────────────── let instance = unsafe { entry.create_instance(&create_info, None) } @@ -123,7 +123,7 @@ A system can have multiple GPUs: a discrete NVIDIA/AMD card, an integrated Intel GPU, or even a software renderer. You must choose one. ```rust,ignore -use vk::enums::PhysicalDeviceType; +use vk::PhysicalDeviceType; // ── Enumerate GPUs ───────────────────────────────────────────── let physical_devices = unsafe { instance.enumerate_physical_devices() } @@ -180,7 +180,7 @@ a specific set of operations (graphics, compute, transfer, etc.). We need a queue family that supports graphics operations. ```rust,ignore -use vk::structs::QueueFlags; +use vk::QueueFlags; // ── Query queue families ─────────────────────────────────────── let queue_families = unsafe { @@ -215,7 +215,7 @@ submitting work. Creating a Device also creates the queues you requested. ```rust,ignore -use vk::structs::*; +use vk::*; // ── Request one queue from the graphics family ───────────────── let queue_priority = 1.0_f32; @@ -297,7 +297,7 @@ with `cargo run`. ```rust,no_run use vulkan_rust::{Entry, LibloadingLoader}; use vulkan_rust::vk; -use vk::structs::*; +use vk::*; fn main() { // ── Step 1: Load Vulkan ──────────────────────────────────── @@ -311,14 +311,14 @@ fn main() { // ── Step 2: Create Instance ──────────────────────────────── let app_info = ApplicationInfo::builder() - .p_application_name(c"Hello Triangle".as_ptr()) + .application_name(c"Hello Triangle") .application_version(1) - .p_engine_name(c"No Engine".as_ptr()) + .engine_name(c"No Engine") .engine_version(1) .api_version(1 << 22); // Vulkan 1.0 let create_info = InstanceCreateInfo::builder() - .p_application_info(&app_info); + .application_info(&app_info); let instance = unsafe { entry.create_instance(&create_info, None) } .expect("Failed to create instance"); diff --git a/guide/src/getting-started/hello-triangle-2.md b/guide/src/getting-started/hello-triangle-2.md index 68494dd..2054898 100644 --- a/guide/src/getting-started/hello-triangle-2.md +++ b/guide/src/getting-started/hello-triangle-2.md @@ -21,7 +21,7 @@ works with anything that implements `raw-window-handle`. ```toml [dependencies] -vulkan-rust = "0.1" +vulkan-rust = "0.10" winit = "0.30" ``` @@ -87,7 +87,7 @@ extensions for your platform. ```rust,ignore use vulkan_rust::{Entry, LibloadingLoader}; use vulkan_rust::vk; -use vk::structs::*; +use vk::*; // ── Load Vulkan ──────────────────────────────────────────────── let loader = LibloadingLoader::new() @@ -116,14 +116,14 @@ let layer_ptrs = [validation_layer.as_ptr()]; // ── Create the instance ──────────────────────────────────────── let app_info = ApplicationInfo::builder() - .p_application_name(c"Hello Triangle".as_ptr()) + .application_name(c"Hello Triangle") .application_version(1) - .p_engine_name(c"No Engine".as_ptr()) + .engine_name(c"No Engine") .engine_version(1) .api_version(1 << 22); // Vulkan 1.0 let create_info = InstanceCreateInfo::builder() - .p_application_info(&app_info) + .application_info(&app_info) .enabled_extension_names(&extension_ptrs) .enabled_layer_names(&layer_ptrs); @@ -173,7 +173,7 @@ let physical_devices = unsafe { instance.enumerate_physical_devices() } // ── Find a GPU with a queue family that supports both graphics // and presentation to our surface ──────────────────────────── -use vk::handles::*; +use vk::*; let mut physical_device = PhysicalDevice::null(); let mut graphics_family_index = 0u32; @@ -196,7 +196,7 @@ let mut graphics_family_index = 0u32; surface, ) } - .unwrap_or(0) != 0; + .unwrap_or(false); if supports_graphics && supports_present { physical_device = pd; @@ -289,8 +289,7 @@ We need to decide three things: the image format, the present mode, and the image extent (resolution). ```rust,ignore -use vk::enums::*; -use vk::bitmasks::*; +use vk::*; // ── Choose format ────────────────────────────────────────────── // diff --git a/guide/src/getting-started/hello-triangle-3.md b/guide/src/getting-started/hello-triangle-3.md index 107bb5b..79fe542 100644 --- a/guide/src/getting-started/hello-triangle-3.md +++ b/guide/src/getting-started/hello-triangle-3.md @@ -84,7 +84,7 @@ you prefer, adjust the path in the code below). ```rust,ignore use vulkan_rust::vk; use vulkan_rust::cast_to_u32; -use vk::structs::*; +use vk::*; // ── Load SPIR-V bytecode ─────────────────────────────────────── let vert_bytes = include_bytes!("triangle.vert.spv"); @@ -98,11 +98,9 @@ let frag_code = cast_to_u32(frag_bytes) // ── Create shader modules ────────────────────────────────────── let vert_info = ShaderModuleCreateInfo::builder() - .code_size(vert_code.len() * 4) - .p_code(vert_code.as_ptr()); + .code(vert_code); let frag_info = ShaderModuleCreateInfo::builder() - .code_size(frag_code.len() * 4) - .p_code(frag_code.as_ptr()); + .code(frag_code); let vert_module = unsafe { device.create_shader_module(&vert_info, None) } .expect("Failed to create vertex shader module"); @@ -121,9 +119,7 @@ for the full concept. ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::enums::*; -use vk::bitmasks::*; +use vk::*; // ── Color attachment: the swapchain image ────────────────────── let color_attachment = AttachmentDescription { @@ -161,7 +157,7 @@ let subpass = SubpassDescription { // // Ensure the image layout transition happens before we write color. let dependency = SubpassDependency { - src_subpass: vk::constants::SUBPASS_EXTERNAL, + src_subpass: vk::SUBPASS_EXTERNAL, dst_subpass: 0, src_stage_mask: PipelineStageFlags::COLOR_ATTACHMENT_OUTPUT, dst_stage_mask: PipelineStageFlags::COLOR_ATTACHMENT_OUTPUT, @@ -188,7 +184,7 @@ is empty. ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; +use vk::*; let layout_info = PipelineLayoutCreateInfo::builder(); let pipeline_layout = unsafe { @@ -204,10 +200,7 @@ state is specified here. ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::enums::*; -use vk::bitmasks::*; -use vk::handles::*; +use vk::*; // ── Shader stages ────────────────────────────────────────────── let entry_name = c"main"; @@ -215,11 +208,11 @@ let stages = [ *PipelineShaderStageCreateInfo::builder() .stage(ShaderStageFlags::VERTEX) .module(vert_module) - .p_name(entry_name.as_ptr()), + .name(entry_name), *PipelineShaderStageCreateInfo::builder() .stage(ShaderStageFlags::FRAGMENT) .module(frag_module) - .p_name(entry_name.as_ptr()), + .name(entry_name), ]; // ── Vertex input: empty (positions are hard-coded in shader) ─── @@ -266,13 +259,13 @@ let dynamic_state = PipelineDynamicStateCreateInfo::builder() // ── Assemble the pipeline ────────────────────────────────────── let pipeline_info = GraphicsPipelineCreateInfo::builder() .stages(&stages) - .p_vertex_input_state(&vertex_input) - .p_input_assembly_state(&input_assembly) - .p_viewport_state(&viewport_state) - .p_rasterization_state(&rasterizer) - .p_multisample_state(&multisampling) - .p_color_blend_state(&color_blending) - .p_dynamic_state(&dynamic_state) + .vertex_input_state(&vertex_input) + .input_assembly_state(&input_assembly) + .viewport_state(&viewport_state) + .rasterization_state(&rasterizer) + .multisample_state(&multisampling) + .color_blend_state(&color_blending) + .dynamic_state(&dynamic_state) .layout(pipeline_layout) .render_pass(render_pass) .subpass(0); @@ -310,8 +303,7 @@ per swapchain image. ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::handles::*; +use vk::*; let framebuffers: Vec = swapchain_image_views .iter() diff --git a/guide/src/getting-started/hello-triangle-4.md b/guide/src/getting-started/hello-triangle-4.md index d4eb5ce..c04dfd5 100644 --- a/guide/src/getting-started/hello-triangle-4.md +++ b/guide/src/getting-started/hello-triangle-4.md @@ -23,7 +23,7 @@ We need fences and semaphores to coordinate CPU and GPU work. See ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; +use vk::*; // ── Semaphores: GPU-to-GPU synchronization ───────────────────── let sem_info = SemaphoreCreateInfo::builder(); @@ -59,9 +59,7 @@ let in_flight_fence = unsafe { device.create_fence(&fence_info, None) } ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::enums::*; -use vk::handles::*; +use vk::*; // ── Command pool ─────────────────────────────────────────────── let pool_info = CommandPoolCreateInfo::builder() @@ -91,9 +89,7 @@ swapchain image. ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::enums::*; -use vk::handles::*; +use vk::*; unsafe fn record_commands( device: &vulkan_rust::Device, @@ -224,8 +220,7 @@ The `draw_frame` function: ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::handles::*; +use vk::*; unsafe fn draw_frame( device: &vulkan_rust::Device, diff --git a/guide/src/getting-started/installation.md b/guide/src/getting-started/installation.md index 401712a..311c871 100644 --- a/guide/src/getting-started/installation.md +++ b/guide/src/getting-started/installation.md @@ -6,7 +6,7 @@ ```toml [dependencies] -vulkan-rust = "0.1" +vulkan-rust = "0.10" ``` ## Platform requirements diff --git a/guide/src/how-to/c-to-rust.md b/guide/src/how-to/c-to-rust.md index bdd17e0..b9a299b 100644 --- a/guide/src/how-to/c-to-rust.md +++ b/guide/src/how-to/c-to-rust.md @@ -26,17 +26,16 @@ but are still called on `Device`, not on the command buffer handle. ### Types -Strip the `Vk` prefix. Types live in submodules of `vk`: +Strip the `Vk` prefix. All types are re-exported at the `vk` root: | C | vulkan_rust | |---|-----------| -| `VkBuffer` | `vk::handles::Buffer` | -| `VkBufferCreateInfo` | `vk::structs::BufferCreateInfo` | -| `VkPhysicalDeviceProperties` | `vk::structs::PhysicalDeviceProperties` | -| `VkInstance` | `vk::handles::Instance` (the raw handle) | +| `VkBuffer` | `vk::Buffer` | +| `VkBufferCreateInfo` | `vk::BufferCreateInfo` | +| `VkPhysicalDeviceProperties` | `vk::PhysicalDeviceProperties` | +| `VkInstance` | `vk::Instance` (the raw handle) | -Use `use vk::structs::*` or `use vk::handles::*` to bring them into -scope without the module prefix. +Use `use vk::*` to bring them into scope without the module prefix. ### Enum variants @@ -44,10 +43,10 @@ Strip the type prefix and keep `SCREAMING_CASE`: | C | vulkan_rust | |---|-----------| -| `VK_FORMAT_R8G8B8A8_SRGB` | `vk::enums::Format::R8G8B8A8_SRGB` | -| `VK_IMAGE_LAYOUT_UNDEFINED` | `vk::enums::ImageLayout::UNDEFINED` | -| `VK_PRESENT_MODE_FIFO_KHR` | `vk::enums::PresentModeKHR::FIFO` | -| `VK_SUCCESS` | `vk::enums::Result::SUCCESS` | +| `VK_FORMAT_R8G8B8A8_SRGB` | `vk::Format::R8G8B8A8_SRGB` | +| `VK_IMAGE_LAYOUT_UNDEFINED` | `vk::ImageLayout::UNDEFINED` | +| `VK_PRESENT_MODE_FIFO_KHR` | `vk::PresentModeKHR::FIFO` | +| `VK_SUCCESS` | `vk::Result::SUCCESS` | ### Bitmask flags @@ -55,15 +54,15 @@ Strip the type prefix and the `_BIT` suffix: | C | vulkan_rust | |---|-----------| -| `VK_BUFFER_USAGE_VERTEX_BUFFER_BIT` | `vk::bitmasks::BufferUsageFlags::VERTEX_BUFFER` | -| `VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT` | `vk::bitmasks::ImageUsageFlags::COLOR_ATTACHMENT` | -| `VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT` | `vk::bitmasks::PipelineStageFlags::FRAGMENT_SHADER` | +| `VK_BUFFER_USAGE_VERTEX_BUFFER_BIT` | `vk::BufferUsageFlags::VERTEX_BUFFER` | +| `VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT` | `vk::ImageUsageFlags::COLOR_ATTACHMENT` | +| `VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT` | `vk::PipelineStageFlags::FRAGMENT_SHADER` | Combine flags with the `|` operator, just like in C: ```rust,ignore use vulkan_rust::vk; -use vk::bitmasks::*; +use vk::*; let usage = BufferUsageFlags::VERTEX_BUFFER | BufferUsageFlags::TRANSFER_DST; @@ -101,9 +100,7 @@ vkCreateBuffer(device, &info, NULL, &buffer); ```rust,ignore // vulkan_rust use vulkan_rust::vk; -use vk::structs::*; -use vk::enums::*; -use vk::bitmasks::*; +use vk::*; let info = BufferCreateInfo::builder() .size(1024) @@ -142,7 +139,7 @@ In `vulkan_rust`, use `push_next()`: ```rust,ignore // vulkan_rust use vulkan_rust::vk; -use vk::structs::*; +use vk::*; let mut features12 = *PhysicalDeviceVulkan12Features::builder() .buffer_device_address(1); // VkBool32: 1 = true @@ -192,7 +189,7 @@ if (result != VK_SUCCESS) { /* handle error */ } ```rust,ignore // vulkan_rust use vulkan_rust::vk; -use vk::handles::*; +use vk::*; let buffer: Buffer = unsafe { device.create_buffer(&info, None) } .expect("Failed to create buffer"); @@ -203,7 +200,7 @@ return a `Vec` directly: ```rust,ignore use vulkan_rust::vk; -use vk::handles::*; +use vk::*; let cmd_buffers = unsafe { device.allocate_command_buffers(&alloc_info) @@ -301,9 +298,7 @@ vkUnmapMemory(device, memory); ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::enums::*; -use vk::bitmasks::*; +use vk::*; unsafe { let buf_info = BufferCreateInfo::builder() diff --git a/guide/src/how-to/double-buffering.md b/guide/src/how-to/double-buffering.md index 583b779..4948ac0 100644 --- a/guide/src/how-to/double-buffering.md +++ b/guide/src/how-to/double-buffering.md @@ -58,8 +58,7 @@ Each frame in flight needs its own set of sync primitives: ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::handles::*; +use vk::*; struct FrameSync { in_flight_fence: Fence, @@ -97,9 +96,7 @@ into one while the GPU executes the other. ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::enums::*; -use vk::handles::*; +use vk::*; let alloc_info = CommandBufferAllocateInfo::builder() .command_pool(command_pool) @@ -119,8 +116,7 @@ iteration uses only the resources belonging to that frame index. ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::handles::*; +use vk::*; let mut current_frame: usize = 0; diff --git a/guide/src/how-to/migrate-from-ash.md b/guide/src/how-to/migrate-from-ash.md index ceebb0d..4043d2f 100644 --- a/guide/src/how-to/migrate-from-ash.md +++ b/guide/src/how-to/migrate-from-ash.md @@ -40,7 +40,7 @@ ash = "0.38" # After (vulkan_rust) [dependencies] -vulkan-rust = "0.1" +vulkan-rust = "0.10" ``` ## Step 2: Remove trait imports @@ -90,7 +90,7 @@ let instance = unsafe { entry.create_instance(&create_info, None)? }; // ── vulkan_rust ─────────────────────────────────────────── use vulkan_rust::vk; -use vk::structs::*; +use vk::*; let loader = vulkan_rust::LibloadingLoader::new() .expect("Failed to load Vulkan"); @@ -100,14 +100,14 @@ let entry = unsafe { vulkan_rust::Entry::new(loader) } let app_info = ApplicationInfo::builder() .api_version((1 << 22) | (3 << 12)); // Vulkan 1.3 let create_info = InstanceCreateInfo::builder() - .p_application_info(&app_info); + .application_info(&app_info); let instance = unsafe { entry.create_instance(&create_info, None) } .expect("Failed to create instance"); ``` The main changes: `Entry` is loaded through `LibloadingLoader` instead of `linked()`, `make_api_version` is replaced with a raw `u32` -expression, `.application_info()` becomes `.p_application_info()`, and +expression, `.application_info()` stays `.application_info()`, and `.build()` calls are removed. The builder derefs to the inner struct, so you can pass `&create_info` directly where a `&InstanceCreateInfo` is expected. @@ -129,7 +129,7 @@ let device = unsafe { // ── vulkan_rust ─────────────────────────────────────────── use vulkan_rust::vk; -use vk::structs::*; +use vk::*; let queue_info = DeviceQueueCreateInfo::builder() .queue_family_index(0) @@ -158,9 +158,7 @@ let info = vk::BufferCreateInfo::builder() // ── vulkan_rust ─────────────────────────────────────────── use vulkan_rust::vk; -use vk::structs::*; -use vk::enums::*; -use vk::bitmasks::*; +use vk::*; let info = BufferCreateInfo::builder() .size(1024) @@ -192,9 +190,7 @@ unsafe { // ── vulkan_rust ─────────────────────────────────────────── use vulkan_rust::vk; -use vk::structs::*; -use vk::enums::*; -use vk::bitmasks::*; +use vk::*; let begin_info = CommandBufferBeginInfo::builder() .flags(CommandBufferUsageFlags::ONE_TIME_SUBMIT); @@ -222,7 +218,7 @@ unsafe { device.queue_submit(queue, &[submit_info.build()], fence)? }; // ── vulkan_rust ─────────────────────────────────────────── use vulkan_rust::vk; -use vk::structs::*; +use vk::*; let wait_stages = [PipelineStageFlags::COLOR_ATTACHMENT_OUTPUT]; let cmd_bufs = [cmd]; @@ -254,7 +250,7 @@ match unsafe { device.create_buffer(&info, None) } { // ── vulkan_rust ─────────────────────────────────────────── use vulkan_rust::vk; -use vk::enums::Result as VkError; +use vk::Result as VkError; match unsafe { device.create_buffer(&info, None) } { Ok(buffer) => { /* ... */ } diff --git a/guide/src/how-to/push-constants.md b/guide/src/how-to/push-constants.md index 3da678a..cd54892 100644 --- a/guide/src/how-to/push-constants.md +++ b/guide/src/how-to/push-constants.md @@ -62,8 +62,7 @@ data your shaders use and which stages access them. ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::bitmasks::*; +use vk::*; let push_constant_range = PushConstantRange { stage_flags: ShaderStageFlags::VERTEX, @@ -91,8 +90,7 @@ options: ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::bitmasks::*; +use vk::*; // Example: vertex reads bytes 0..64, fragment reads bytes 64..80. let ranges = [ @@ -141,7 +139,7 @@ is typically called once per draw, right before the draw command. ```rust,ignore use vulkan_rust::vk; -use vk::bitmasks::*; +use vk::*; let push_data = PushConstants { model: compute_model_matrix(entity), @@ -156,7 +154,7 @@ unsafe { ShaderStageFlags::VERTEX, 0, // offset in bytes std::slice::from_raw_parts( - &push_data as *const PushConstants as *const core::ffi::c_void, + &push_data as *const PushConstants as *const u8, std::mem::size_of::(), ), ); @@ -169,7 +167,7 @@ For a scene with many objects, you push new constants before each draw: ```rust,ignore use vulkan_rust::vk; -use vk::bitmasks::*; +use vk::*; for entity in &scene.entities { let push_data = PushConstants { @@ -184,7 +182,7 @@ for entity in &scene.entities { ShaderStageFlags::VERTEX, 0, std::slice::from_raw_parts( - &push_data as *const PushConstants as *const core::ffi::c_void, + &push_data as *const PushConstants as *const u8, std::mem::size_of::(), ), ); @@ -203,17 +201,17 @@ helper makes it clearer: ```rust,ignore use vulkan_rust::vk; -use vk::bitmasks::*; +use vk::*; -/// Reinterpret a reference to a `Copy` type as a `&[c_void]` slice +/// Reinterpret a reference to a `Copy` type as a `&[u8]` slice /// suitable for `cmd_push_constants`. /// /// # Safety /// The type must be `#[repr(C)]` with no padding that contains /// uninitialized bytes. -unsafe fn as_push_bytes(data: &T) -> &[core::ffi::c_void] { +unsafe fn as_push_bytes(data: &T) -> &[u8] { std::slice::from_raw_parts( - data as *const T as *const core::ffi::c_void, + data as *const T as *const u8, std::mem::size_of::(), ) } diff --git a/guide/src/how-to/resize.md b/guide/src/how-to/resize.md index 4496665..e37b4ec 100644 --- a/guide/src/how-to/resize.md +++ b/guide/src/how-to/resize.md @@ -44,8 +44,8 @@ In the render loop, check both the flag and the Vulkan result codes: ```rust,ignore use vulkan_rust::vk; -use vk::handles::*; -use vk::enums::Result as VkError; +use vk::*; +use vk::Result as VkError; let acquire_result = unsafe { device.acquire_next_image_khr( @@ -134,7 +134,7 @@ The surface extent may have changed, so re-query it. ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; +use vk::*; let surface_caps = unsafe { instance.get_physical_device_surface_capabilities_khr(physical_device, surface) @@ -181,9 +181,7 @@ reuse internal resources and can make the transition smoother. ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::enums::*; -use vk::bitmasks::*; +use vk::*; let old_swapchain = swapchain; // save the handle @@ -216,9 +214,7 @@ framebuffers. ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::enums::*; -use vk::bitmasks::*; +use vk::*; let swapchain_images = unsafe { device.get_swapchain_images_khr(swapchain) } .expect("Failed to get swapchain images"); @@ -264,9 +260,7 @@ A helper function that bundles the recreation logic: ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::enums::*; -use vk::handles::*; +use vk::*; fn recreate_swapchain( instance: &vulkan_rust::Instance, diff --git a/guide/src/how-to/textures.md b/guide/src/how-to/textures.md index 7805d44..d18f049 100644 --- a/guide/src/how-to/textures.md +++ b/guide/src/how-to/textures.md @@ -40,9 +40,7 @@ Upload the pixels into a host-visible staging buffer first. ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::enums::*; -use vk::bitmasks::*; +use vk::*; let staging_info = BufferCreateInfo::builder() .size(image_size) @@ -85,9 +83,7 @@ The image needs `TRANSFER_DST` (we will copy into it) and `SAMPLED` ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::enums::*; -use vk::bitmasks::*; +use vk::*; let image_info = ImageCreateInfo::builder() .image_type(ImageType::_2D) @@ -125,16 +121,14 @@ engine can write to. This requires a pipeline barrier. ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::enums::*; -use vk::bitmasks::*; +use vk::*; use vk::constants; let barrier_to_transfer = ImageMemoryBarrier::builder() .old_layout(ImageLayout::UNDEFINED) .new_layout(ImageLayout::TRANSFER_DST_OPTIMAL) - .src_queue_family_index(constants::QUEUE_FAMILY_IGNORED) - .dst_queue_family_index(constants::QUEUE_FAMILY_IGNORED) + .src_queue_family_index(QUEUE_FAMILY_IGNORED) + .dst_queue_family_index(QUEUE_FAMILY_IGNORED) .image(texture_image) .subresource_range(ImageSubresourceRange { aspect_mask: ImageAspectFlags::COLOR, @@ -168,9 +162,7 @@ unsafe { ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::enums::*; -use vk::bitmasks::*; +use vk::*; let region = BufferImageCopy { buffer_offset: 0, @@ -204,16 +196,14 @@ After the copy, transition the image to a layout the shader can read. ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::enums::*; -use vk::bitmasks::*; +use vk::*; use vk::constants; let barrier_to_shader = ImageMemoryBarrier::builder() .old_layout(ImageLayout::TRANSFER_DST_OPTIMAL) .new_layout(ImageLayout::SHADER_READ_ONLY_OPTIMAL) - .src_queue_family_index(constants::QUEUE_FAMILY_IGNORED) - .dst_queue_family_index(constants::QUEUE_FAMILY_IGNORED) + .src_queue_family_index(QUEUE_FAMILY_IGNORED) + .dst_queue_family_index(QUEUE_FAMILY_IGNORED) .image(texture_image) .subresource_range(ImageSubresourceRange { aspect_mask: ImageAspectFlags::COLOR, @@ -245,9 +235,7 @@ The shader does not access images directly. It reads through an ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::enums::*; -use vk::bitmasks::*; +use vk::*; let view_info = ImageViewCreateInfo::builder() .image(texture_image) @@ -290,8 +278,7 @@ image/sampler pair at a binding point. ```rust,ignore use vulkan_rust::vk; -use vk::structs::*; -use vk::enums::*; +use vk::*; let image_descriptor = DescriptorImageInfo { sampler, diff --git a/vulkan-rust-codegen/doc_overrides/vkCreateBuffer.md b/vulkan-rust-codegen/doc_overrides/vkCreateBuffer.md index 43df308..6914f75 100644 --- a/vulkan-rust-codegen/doc_overrides/vkCreateBuffer.md +++ b/vulkan-rust-codegen/doc_overrides/vkCreateBuffer.md @@ -4,17 +4,16 @@ # let (_, instance) = vulkan_rust::test_helpers::create_test_instance().expect("test setup"); # let phys = unsafe { instance.enumerate_physical_devices() }.expect("no devices"); # let p = [1.0f32]; -# let qi = vulkan_rust::vk::structs::DeviceQueueCreateInfo::builder().queue_priorities(&p); +# let qi = vulkan_rust::vk::DeviceQueueCreateInfo::builder().queue_priorities(&p); # let qis = [*qi]; -# let di = vulkan_rust::vk::structs::DeviceCreateInfo::builder().queue_create_infos(&qis); +# let di = vulkan_rust::vk::DeviceCreateInfo::builder().queue_create_infos(&qis); # let device = unsafe { instance.create_device(phys[0], &di, None) }.expect("device creation"); -use vulkan_rust::vk::structs::*; -use vulkan_rust::vk::bitmasks::*; +use vulkan_rust::vk::*; let info = BufferCreateInfo::builder() .size(1024) .usage(BufferUsageFlagBits::VERTEX_BUFFER) - .sharing_mode(vulkan_rust::vk::enums::SharingMode::EXCLUSIVE); + .sharing_mode(vulkan_rust::vk::SharingMode::EXCLUSIVE); let buffer = unsafe { device.create_buffer(&info, None) } .expect("buffer creation failed"); // Use buffer... diff --git a/vulkan-rust-codegen/src/emit_aliases.rs b/vulkan-rust-codegen/src/emit_aliases.rs index 809afa5..57b80b3 100644 --- a/vulkan-rust-codegen/src/emit_aliases.rs +++ b/vulkan-rust-codegen/src/emit_aliases.rs @@ -121,21 +121,70 @@ pub fn emit_type_aliases(registry: &VkRegistry) -> TokenStream { quote! { #(#aliases)* } } -/// Emit opaque stubs for PFN_vk* function pointer types. +/// Emit typed function pointer aliases for PFN_vk* callback types. pub fn emit_func_pointer_stubs(registry: &VkRegistry) -> TokenStream { let stubs: Vec = registry .func_pointers .iter() - .map(|fp| { - let ident = format_ident!("{}", &fp.name); - quote! { - pub type #ident = Option; - } - }) + .map(emit_func_pointer) .collect(); quote! { #(#stubs)* } } +fn emit_func_pointer(fp: &crate::parse::FuncPointerDef) -> TokenStream { + let ident = format_ident!("{}", &fp.name); + + // PFN_vkVoidFunction has no meaningful params, keep as opaque. + if fp.name == "PFN_vkVoidFunction" { + return quote! { + pub type #ident = Option; + }; + } + + let params: Vec = fp + .params + .iter() + .map(|p| { + let ty = resolve_pfn_param_type(p); + quote! { #ty } + }) + .collect(); + + let ret = resolve_pfn_return_type(&fp.return_type, fp.is_return_pointer); + + quote! { + pub type #ident = Option; + } +} + +fn resolve_pfn_param_type(param: &crate::parse::ParamDef) -> TokenStream { + let base = crate::resolve_types::resolve_base_type(¶m.type_name); + + if param.is_double_pointer && param.is_const { + quote! { *const *const #base } + } else if param.is_double_pointer { + quote! { *mut *mut #base } + } else if param.is_pointer && param.is_const { + quote! { *const #base } + } else if param.is_pointer { + quote! { *mut #base } + } else { + base + } +} + +fn resolve_pfn_return_type(return_type: &str, is_pointer: bool) -> TokenStream { + if return_type == "void" && !is_pointer { + return TokenStream::new(); + } + let base = crate::resolve_types::resolve_base_type(return_type); + if is_pointer { + quote! { -> *mut #base } + } else { + quote! { -> #base } + } +} + /// By-value StdVideo types are C enums (i32) that can be aliased directly, /// while pointer-only types are opaque structs that need a stub definition. fn is_by_value_stdvideo(registry: &VkRegistry, type_name: &str) -> bool { @@ -423,7 +472,7 @@ mod tests { let mut reg = empty_registry(); reg.func_pointers.push(FuncPointerDef { name: "PFN_vkAllocationFunction".to_string(), - return_type: "void*".to_string(), + return_type: "void".to_string(), is_return_pointer: true, params: vec![], }); @@ -431,5 +480,6 @@ mod tests { assert!(code.contains("PFN_vkAllocationFunction")); assert!(code.contains("Option")); assert!(code.contains("extern \"system\"")); + assert!(code.contains("c_void")); } } diff --git a/vulkan-rust-codegen/src/emit_bitmasks.rs b/vulkan-rust-codegen/src/emit_bitmasks.rs index 4cedb1a..aea3428 100644 --- a/vulkan-rust-codegen/src/emit_bitmasks.rs +++ b/vulkan-rust-codegen/src/emit_bitmasks.rs @@ -41,6 +41,13 @@ fn emit_bitmask(def: &BitmaskDef) -> TokenStream { }) .collect(); + let all_value = compute_all_value(def, &prefix); + let all_lit = if is_64 { + Literal::u64_suffixed(all_value) + } else { + Literal::u32_suffixed(all_value as u32) + }; + let mut seen_debug = HashSet::new(); let debug_arms: Vec = def .bits @@ -61,7 +68,7 @@ fn emit_bitmask(def: &BitmaskDef) -> TokenStream { quote! { #[doc = #spec_link] #[repr(transparent)] - #[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] + #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = #vk_name)] pub struct #name(#repr); @@ -83,6 +90,9 @@ fn emit_bitmask(def: &BitmaskDef) -> TokenStream { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { Self(#all_lit) } + #(#constants)* } @@ -202,6 +212,26 @@ fn emit_debug_check(bit: &BitmaskBit, prefix: &str) -> Option { }) } +/// Compute the OR of all defined bit values for this bitmask. +fn compute_all_value(def: &BitmaskDef, prefix: &str) -> u64 { + let mut seen = HashSet::new(); + let mut result: u64 = 0; + for bit in &def.bits { + let Some(rust_name) = strip_bit_prefix(&bit.name, prefix) else { + continue; + }; + if !seen.insert(rust_name) { + continue; + } + match &bit.value { + BitmaskValue::Bitpos(pos) => result |= 1u64 << pos, + BitmaskValue::Value(val) => result |= val, + BitmaskValue::Alias(_) => {} + } + } + result +} + // --------------------------------------------------------------------------- // Name stripping // --------------------------------------------------------------------------- diff --git a/vulkan-rust-codegen/src/emit_builders.rs b/vulkan-rust-codegen/src/emit_builders.rs index f6011b9..77a2574 100644 --- a/vulkan-rust-codegen/src/emit_builders.rs +++ b/vulkan-rust-codegen/src/emit_builders.rs @@ -1,4 +1,7 @@ -//! Emits builder patterns for extensible Vulkan structs (those with sType/pNext). +//! Emits builder patterns for Vulkan structs. +//! +//! Extensible structs (with sType/pNext) get lifetime-tied builders with +//! `push_next` support. Plain structs get simple builders without lifetimes. use std::collections::HashSet; @@ -10,14 +13,20 @@ use crate::parse::{MemberDef, StructDef, VkRegistry}; use crate::resolve_types::{is_rust_keyword, member_name, resolve_base_type, resolve_member_type}; use crate::stype; -/// Emit builders for all extensible structs. +/// Emit builders for all structs. pub fn emit_builders(registry: &VkRegistry) -> TokenStream { let stype_raw = stype::build_raw_map(registry); let builders: Vec = registry .structs .iter() - .filter(|s| has_stype_pnext(s) && !is_base_pnext_struct(&s.name)) - .map(|s| emit_builder(s, &stype_raw)) + .filter(|s| !s.is_union && !is_base_pnext_struct(&s.name) && !has_bitfield_members(s)) + .map(|s| { + if has_stype_pnext(s) { + emit_builder(s, &stype_raw) + } else { + emit_plain_builder(s) + } + }) .collect(); quote! { @@ -130,6 +139,93 @@ fn emit_builder( } } +/// Emit a simple builder for a plain struct (no sType/pNext). +fn emit_plain_builder(def: &StructDef) -> TokenStream { + let struct_name = format_ident!("{}", &def.name); + let builder_name = format_ident!("{}Builder", &def.name); + + let count_fields = collect_count_fields(def); + let needs_lifetime = def.members.iter().any(|m| m.is_pointer); + + let mut seen_setters = std::collections::HashSet::new(); + let setters: Vec = def + .members + .iter() + .filter(|m| !count_fields.contains(&m.name) && seen_setters.insert(m.name.clone())) + .map(|m| emit_setter(m, def)) + .collect(); + + let builder_doc = format!("Builder for [`{}`].", &def.name); + + if needs_lifetime { + quote! { + #[doc = #builder_doc] + pub struct #builder_name<'a> { + inner: #struct_name, + _marker: core::marker::PhantomData<&'a ()>, + } + + impl #struct_name { + /// Start building this struct. + #[inline] + pub fn builder<'a>() -> #builder_name<'a> { + #builder_name { + inner: #struct_name { ..Default::default() }, + _marker: core::marker::PhantomData, + } + } + } + + impl<'a> #builder_name<'a> { + #(#setters)* + } + + impl<'a> core::ops::Deref for #builder_name<'a> { + type Target = #struct_name; + #[inline] + fn deref(&self) -> &Self::Target { &self.inner } + } + + impl<'a> core::ops::DerefMut for #builder_name<'a> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } + } + } + } else { + quote! { + #[doc = #builder_doc] + pub struct #builder_name { + inner: #struct_name, + } + + impl #struct_name { + /// Start building this struct. + #[inline] + pub fn builder() -> #builder_name { + #builder_name { + inner: #struct_name { ..Default::default() }, + } + } + } + + impl #builder_name { + #(#setters)* + } + + impl core::ops::Deref for #builder_name { + type Target = #struct_name; + #[inline] + fn deref(&self) -> &Self::Target { &self.inner } + } + + impl core::ops::DerefMut for #builder_name { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } + } + } + } +} + // --------------------------------------------------------------------------- // Setters // --------------------------------------------------------------------------- @@ -141,6 +237,9 @@ fn emit_setter(member: &MemberDef, parent: &StructDef) -> TokenStream { && let Some(ref len) = member.len && let Some(count_member) = find_count_member(parent, len) { + if is_byte_count_len(len) { + return emit_byte_slice_setter(member, count_member); + } return emit_slice_setter(member, count_member); } @@ -164,18 +263,31 @@ fn emit_setter(member: &MemberDef, parent: &StructDef) -> TokenStream { fn emit_simple_setter(member: &MemberDef) -> TokenStream { let rust_name = member_name(&member.name); - let ident = if is_rust_keyword(&rust_name) { + let field_ident = if is_rust_keyword(&rust_name) { format_ident!("r#{}", rust_name) } else { format_ident!("{}", rust_name) }; + // Strip p_ prefix for setter name when the setter takes a reference, + // matching how slice setters already strip it. + let setter_name = if member.is_pointer { + rust_name.strip_prefix("p_").unwrap_or(&rust_name) + } else { + &rust_name + }; + let setter_ident = if is_rust_keyword(setter_name) { + format_ident!("r#{}", setter_name) + } else { + format_ident!("{}", setter_name) + }; + // VkBool32 fields accept `bool` and cast to u32 internally. if member.type_name == "VkBool32" && !member.is_pointer { return quote! { #[inline] - pub fn #ident(mut self, value: bool) -> Self { - self.inner.#ident = value as u32; + pub fn #setter_ident(mut self, value: bool) -> Self { + self.inner.#field_ident = value as u32; self } }; @@ -189,8 +301,8 @@ fn emit_simple_setter(member: &MemberDef) -> TokenStream { { return quote! { #[inline] - pub fn #ident(mut self, value: &'a core::ffi::CStr) -> Self { - self.inner.#ident = value.as_ptr(); + pub fn #setter_ident(mut self, value: &'a core::ffi::CStr) -> Self { + self.inner.#field_ident = value.as_ptr(); self } }; @@ -205,8 +317,8 @@ fn emit_simple_setter(member: &MemberDef) -> TokenStream { let base = resolve_base_type(&member.type_name); return quote! { #[inline] - pub fn #ident(mut self, value: &'a #base) -> Self { - self.inner.#ident = value; + pub fn #setter_ident(mut self, value: &'a #base) -> Self { + self.inner.#field_ident = value; self } }; @@ -216,8 +328,8 @@ fn emit_simple_setter(member: &MemberDef) -> TokenStream { quote! { #[inline] - pub fn #ident(mut self, value: #ty) -> Self { - self.inner.#ident = value; + pub fn #setter_ident(mut self, value: #ty) -> Self { + self.inner.#field_ident = value; self } } @@ -291,6 +403,43 @@ fn emit_cstr_ptr_slice_setter(ptr_member: &MemberDef, count_member: &MemberDef) } } +/// Emit a slice setter where the count field is in bytes, not elements. +/// For `pCode` with `len="codeSize / 4"`, this emits a setter that takes +/// `&[u32]` and sets `code_size = slice.len() * size_of::()`. +fn emit_byte_slice_setter(ptr_member: &MemberDef, count_member: &MemberDef) -> TokenStream { + let rust_name = member_name(&ptr_member.name); + let setter_name = rust_name.strip_prefix("p_").unwrap_or(&rust_name); + let setter_ident = format_ident!("{}", setter_name); + + let ptr_field = format_ident!("{}", member_name(&ptr_member.name)); + let count_field = format_ident!("{}", member_name(&count_member.name)); + let elem_ty = resolve_base_type(&ptr_member.type_name); + + if ptr_member.is_const { + quote! { + #[inline] + pub fn #setter_ident(mut self, slice: &'a [#elem_ty]) -> Self { + self.inner.#count_field = core::mem::size_of_val(slice); + self.inner.#ptr_field = slice.as_ptr(); + self + } + } + } else { + quote! { + #[inline] + pub fn #setter_ident(mut self, slice: &'a mut [#elem_ty]) -> Self { + self.inner.#count_field = core::mem::size_of_val(slice); + self.inner.#ptr_field = slice.as_mut_ptr(); + self + } + } + } +} + +fn has_bitfield_members(def: &StructDef) -> bool { + def.members.iter().any(|m| m.is_bitfield) +} + // --------------------------------------------------------------------------- // Pointer/count pairing // --------------------------------------------------------------------------- @@ -303,14 +452,26 @@ fn collect_count_fields(def: &StructDef) -> HashSet { let is_slice_candidate = m.is_pointer && (!m.is_double_pointer || (m.is_const && m.type_name == "char")); if is_slice_candidate && let Some(ref len) = m.len { - // len can be a comma-separated list (e.g. "codeSize/4"); take the first simple name. + // When the pointer is optional, the count has independent meaning + // (e.g. descriptorCount with optional pImmutableSamplers), so keep + // the count field's standalone setter. + if m.optional { + continue; + } + // len can be a comma-separated list; take the first element. let count_name = len.split(',').next().unwrap_or(len).trim(); - // Skip "null-terminated" and expressions with `/`. - if !count_name.contains("null-terminated") - && !count_name.contains('/') - && def.members.iter().any(|other| other.name == count_name) - { - counts.insert(count_name.to_string()); + // Skip "null-terminated". + if count_name.contains("null-terminated") { + continue; + } + // Handle division expressions like "codeSize / 4". + let base_name = if let Some((name, _)) = count_name.split_once('/') { + name.trim() + } else { + count_name + }; + if def.members.iter().any(|other| other.name == base_name) { + counts.insert(base_name.to_string()); } } // Also check inferred count for double-pointer char fields without len. @@ -336,10 +497,22 @@ fn infer_count_member<'a>(def: &'a StructDef, ptr_name: &str) -> Option<&'a Memb fn find_count_member<'a>(def: &'a StructDef, len: &str) -> Option<&'a MemberDef> { let count_name = len.split(',').next()?.trim(); - if count_name.contains("null-terminated") || count_name.contains('/') { + if count_name.contains("null-terminated") { return None; } - def.members.iter().find(|m| m.name == count_name) + // Handle division expressions like "codeSize / 4". + let base_name = if let Some((name, _)) = count_name.split_once('/') { + name.trim() + } else { + count_name + }; + def.members.iter().find(|m| m.name == base_name) +} + +/// Check if a len expression contains a division (e.g. "codeSize / 4"). +fn is_byte_count_len(len: &str) -> bool { + let count_name = len.split(',').next().unwrap_or(len).trim(); + count_name.contains('/') } // --------------------------------------------------------------------------- diff --git a/vulkan-rust-codegen/src/emit_enums.rs b/vulkan-rust-codegen/src/emit_enums.rs index 9872549..ac653e9 100644 --- a/vulkan-rust-codegen/src/emit_enums.rs +++ b/vulkan-rust-codegen/src/emit_enums.rs @@ -74,6 +74,14 @@ fn emit_enum(def: &EnumDef) -> TokenStream { } } } + + impl core::fmt::Display for #name { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } + } + + impl core::error::Error for #name {} } } diff --git a/vulkan-rust-codegen/src/emit_layout_check.rs b/vulkan-rust-codegen/src/emit_layout_check.rs index 6c29aad..a321ede 100644 --- a/vulkan-rust-codegen/src/emit_layout_check.rs +++ b/vulkan-rust-codegen/src/emit_layout_check.rs @@ -123,7 +123,7 @@ pub fn emit_rust_layout_check(registry: &VkRegistry) -> String { let mut rs = String::new(); rs.push_str("// Auto-generated by the generator crate. Do not edit.\n"); rs.push_str("use core::mem::{offset_of, size_of, align_of};\n"); - rs.push_str("use vulkan_rust_sys::structs;\n\n"); + rs.push_str("use vulkan_rust_sys::*;\n\n"); rs.push_str("fn main() {\n"); for s in ®istry.structs { @@ -133,8 +133,8 @@ pub fn emit_rust_layout_check(registry: &VkRegistry) -> String { let rust_name = &s.name; let mut parts = vec![ - format!("size_of::()"), - format!("align_of::()"), + format!("size_of::<{rust_name}>()"), + format!("align_of::<{rust_name}>()"), ]; if !has_bitfields(s) { @@ -146,7 +146,7 @@ pub fn emit_rust_layout_check(registry: &VkRegistry) -> String { .collect(); for field in &fields { - parts.push(format!("offset_of!(structs::{rust_name}, {field})")); + parts.push(format!("offset_of!({rust_name}, {field})")); } } @@ -227,9 +227,9 @@ mod tests { #[test] fn rust_output_includes_struct_and_offset_of() { let rs = emit_rust_layout_check(&minimal_registry()); - assert!(rs.contains("size_of::()")); - assert!(rs.contains("offset_of!(structs::Extent2D, width)")); - assert!(rs.contains("offset_of!(structs::Extent2D, height)")); + assert!(rs.contains("size_of::()")); + assert!(rs.contains("offset_of!(Extent2D, width)")); + assert!(rs.contains("offset_of!(Extent2D, height)")); } #[test] @@ -267,9 +267,9 @@ mod tests { let c = emit_c_layout_check(®); let rs = emit_rust_layout_check(®); assert!(!c.contains("offsetof(VkFoo, type)")); - assert!(!rs.contains("offset_of!(structs::Foo, r#type)")); + assert!(!rs.contains("offset_of!(Foo, r#type)")); assert!(c.contains("offsetof(VkFoo, sType)")); - assert!(rs.contains("offset_of!(structs::Foo, s_type)")); + assert!(rs.contains("offset_of!(Foo, s_type)")); } #[test] @@ -298,7 +298,7 @@ mod tests { let rs = emit_rust_layout_check(®); // Size and align are checked assert!(c.contains("sizeof(VkBitfieldStruct)")); - assert!(rs.contains("size_of::()")); + assert!(rs.contains("size_of::()")); // No field offsets assert!(!c.contains("offsetof")); assert!(!rs.contains("offset_of!")); diff --git a/vulkan-rust-codegen/src/emit_wrappers.rs b/vulkan-rust-codegen/src/emit_wrappers.rs index 4bf7adc..9b99110 100644 --- a/vulkan-rust-codegen/src/emit_wrappers.rs +++ b/vulkan-rust-codegen/src/emit_wrappers.rs @@ -124,11 +124,7 @@ fn emit_file(wrapper_type: &str, methods: TokenStream) -> TokenStream { // Safety docs are now generated from vk.xml metadata. use crate::error::{check, enumerate_two_call, fill_two_call, VkResult}; - use crate::vk::bitmasks::*; - use crate::vk::constants::*; - use crate::vk::enums::*; - use crate::vk::handles::*; - use crate::vk::structs::*; + use crate::vk::*; impl crate::#wrapper { #methods @@ -288,7 +284,11 @@ fn emit_signature_param(param: &ParamDef, role: &ParamRole) -> Option { let name = param_ident(¶m.name); - let elem = resolve_base_type(¶m.type_name); + let elem = if param.type_name == "void" { + quote! { u8 } + } else { + resolve_base_type(¶m.type_name) + }; Some(quote! { #name: &[#elem] }) } @@ -308,6 +308,9 @@ fn wrapper_param_type(param: &ParamDef) -> TokenStream { if param.type_name == "VkBool32" && !param.is_pointer { return quote! { bool }; } + if is_optional_cstr_param(param) { + return quote! { Option<&core::ffi::CStr> }; + } if param.is_pointer && param.is_const && !param.is_double_pointer @@ -363,10 +366,29 @@ fn output_base_type(cmd: &CommandDef, roles: &[ParamRole]) -> TokenStream { cmd.params .iter() .zip(roles.iter()) - .find_map(|(p, r)| matches!(r, ParamRole::Output).then(|| resolve_base_type(&p.type_name))) + .find_map(|(p, r)| { + matches!(r, ParamRole::Output).then(|| { + if is_bool32_output(p) { + quote! { bool } + } else { + resolve_base_type(&p.type_name) + } + }) + }) .expect("Create/Query pattern must have an Output role") } +fn is_bool32_output(param: &ParamDef) -> bool { + param.type_name == "VkBool32" && param.is_pointer && !param.is_const +} + +fn has_bool32_output(cmd: &CommandDef, roles: &[ParamRole]) -> bool { + cmd.params + .iter() + .zip(roles.iter()) + .any(|(p, r)| matches!(r, ParamRole::Output) && is_bool32_output(p)) +} + fn allocate_array_elem_type(cmd: &CommandDef, roles: &[ParamRole]) -> TokenStream { cmd.params .iter() @@ -415,12 +437,17 @@ fn emit_body(cmd: &CommandDef, roles: &[ParamRole], pattern: CommandPattern) -> } CommandPattern::Create => { let args = emit_call_args(cmd, roles); + let out_expr = if has_bool32_output(cmd, roles) { + quote! { Ok(out != 0) } + } else { + quote! { Ok(out) } + }; quote! { #fp_load #bindings let mut out = unsafe { core::mem::zeroed() }; check(unsafe { fp(#args) })?; - Ok(out) + #out_expr } } CommandPattern::Destroy | CommandPattern::VoidForward => { @@ -441,12 +468,17 @@ fn emit_body(cmd: &CommandDef, roles: &[ParamRole], pattern: CommandPattern) -> } CommandPattern::Query => { let args = emit_call_args(cmd, roles); + let out_expr = if has_bool32_output(cmd, roles) { + quote! { out != 0 } + } else { + quote! { out } + }; quote! { #fp_load #bindings let mut out = unsafe { core::mem::zeroed() }; unsafe { fp(#args) }; - out + #out_expr } } CommandPattern::Enumerate => { @@ -489,6 +521,13 @@ fn emit_bindings(cmd: &CommandDef, roles: &[ParamRole]) -> TokenStream { let #ptr_name = #name.map_or(core::ptr::null(), core::ptr::from_ref); }); } + ParamRole::Regular if is_optional_cstr_param(param) => { + let ptr_name = format_ident!("{}_ptr", param.name.to_snake_case()); + let name = param_ident(¶m.name); + bindings.extend(quote! { + let #ptr_name = #name.map_or(core::ptr::null(), core::ffi::CStr::as_ptr); + }); + } _ => {} } } @@ -504,6 +543,14 @@ fn is_optional_vk_const_ptr(param: &ParamDef) -> bool { && is_vk_type(¶m.type_name) } +fn is_optional_cstr_param(param: &ParamDef) -> bool { + param.optional + && param.is_pointer + && param.is_const + && !param.is_double_pointer + && param.type_name == "char" +} + // --------------------------------------------------------------------------- // Call arguments // --------------------------------------------------------------------------- @@ -587,13 +634,17 @@ fn emit_call_arg( ParamRole::InputArray { .. } => { let name = param_ident(¶m.name); - quote! { #name.as_ptr() } + if param.type_name == "void" { + quote! { #name.as_ptr().cast() } + } else { + quote! { #name.as_ptr() } + } } ParamRole::Allocator => quote! { alloc_ptr }, ParamRole::Regular => { - if is_optional_vk_const_ptr(param) { + if is_optional_vk_const_ptr(param) || is_optional_cstr_param(param) { let ptr_name = format_ident!("{}_ptr", param.name.to_snake_case()); quote! { #ptr_name } } else if param.type_name == "VkBool32" && !param.is_pointer { @@ -1143,12 +1194,16 @@ mod tests { assert!(method.contains("pub unsafe fn enumerate_device_extension_properties")); // physicalDevice is Regular (not self-handle for Instance) assert!(method.contains("physical_device")); - // pLayerName is *const char, optional, but not Vk type → raw pointer - assert!(method.contains("p_layer_name")); + // pLayerName is optional const char* → Option<&CStr> + assert!(method.contains("p_layer_name : Option < & core :: ffi :: CStr >")); assert!(method.contains("-> VkResult < Vec < ExtensionProperties >>")); assert!(method.contains("enumerate_two_call")); - // The closure passes physical_device, p_layer_name, then count/data - assert!(method.contains("unsafe { fp (physical_device , p_layer_name , count , data) }")); + // The binding converts Option<&CStr> to raw pointer + assert!(method.contains("p_layer_name_ptr")); + // The closure passes physical_device, the converted pointer, then count/data + assert!( + method.contains("unsafe { fp (physical_device , p_layer_name_ptr , count , data) }") + ); } #[test] diff --git a/vulkan-rust-codegen/src/main.rs b/vulkan-rust-codegen/src/main.rs index ff996c8..ee451c9 100644 --- a/vulkan-rust-codegen/src/main.rs +++ b/vulkan-rust-codegen/src/main.rs @@ -164,14 +164,27 @@ pub use string_array::{ DescriptionName, DriverName, DriverInfo, }; -pub mod handles; -pub mod enums; -pub mod bitmasks; -pub mod constants; +mod handles; +mod enums; +mod bitmasks; +mod constants; pub mod extension_names; -pub mod structs; -pub mod builders; +mod structs; +mod builders; +mod clear_value; pub mod commands; + +pub use handles::*; +pub use enums::*; +pub use bitmasks::*; +pub use constants::*; +pub use structs::*; +pub use builders::*; + +/// Vulkan device memory size, in bytes. +pub type DeviceSize = u64; +/// Vulkan device memory address. +pub type DeviceAddress = u64; "; write_file(&out_dir.join("lib.rs"), content); } @@ -326,14 +339,22 @@ mod tests { assert!(content.contains("pub use string_array::")); assert!(content.contains("StringArray")); assert!(content.contains("ExtensionName")); - assert!(content.contains("pub mod handles;")); - assert!(content.contains("pub mod enums;")); - assert!(content.contains("pub mod bitmasks;")); - assert!(content.contains("pub mod constants;")); + assert!(content.contains("mod handles;")); + assert!(content.contains("mod enums;")); + assert!(content.contains("mod bitmasks;")); + assert!(content.contains("mod constants;")); assert!(content.contains("pub mod extension_names;")); - assert!(content.contains("pub mod structs;")); - assert!(content.contains("pub mod builders;")); + assert!(content.contains("mod structs;")); + assert!(content.contains("mod builders;")); assert!(content.contains("pub mod commands;")); + assert!(content.contains("pub use handles::*;")); + assert!(content.contains("pub use enums::*;")); + assert!(content.contains("pub use bitmasks::*;")); + assert!(content.contains("pub use constants::*;")); + assert!(content.contains("pub use structs::*;")); + assert!(content.contains("pub use builders::*;")); + assert!(content.contains("pub type DeviceSize = u64;")); + assert!(content.contains("pub type DeviceAddress = u64;")); let _ = fs::remove_dir_all(&dir); } diff --git a/vulkan-rust-codegen/src/parse/types.rs b/vulkan-rust-codegen/src/parse/types.rs index 8743691..4c2932a 100644 --- a/vulkan-rust-codegen/src/parse/types.rs +++ b/vulkan-rust-codegen/src/parse/types.rs @@ -173,7 +173,7 @@ fn parse_member_def(def: &TypeMemberDefinition) -> MemberDef { array_size, optional: def.optional.as_deref().is_some_and(|o| o.contains("true")), values: def.values.clone(), - len: def.len.clone(), + len: def.altlen.clone().or_else(|| def.len.clone()), extern_sync: def.externsync.clone(), is_bitfield, bitwidth, diff --git a/vulkan-rust-codegen/src/wrapper_utils.rs b/vulkan-rust-codegen/src/wrapper_utils.rs index 6c88b63..70c4b8c 100644 --- a/vulkan-rust-codegen/src/wrapper_utils.rs +++ b/vulkan-rust-codegen/src/wrapper_utils.rs @@ -209,7 +209,10 @@ fn mark_input_pairs( let Some((_, count_idx)) = resolve_len(param.len.as_deref(), name_to_idx) else { continue; }; - if roles[count_idx] != ParamRole::Regular { + if !matches!( + roles[count_idx], + ParamRole::Regular | ParamRole::InputCount { .. } + ) { continue; } let count_param = ¶ms[count_idx]; @@ -220,7 +223,9 @@ fn mark_input_pairs( && !count_param.is_pointer && count_param.type_name == "uint32_t" { - roles[count_idx] = ParamRole::InputCount { partner: i }; + if roles[count_idx] == ParamRole::Regular { + roles[count_idx] = ParamRole::InputCount { partner: i }; + } roles[i] = ParamRole::InputArray { count: count_idx }; } } diff --git a/vulkan-rust-sys/Cargo.toml b/vulkan-rust-sys/Cargo.toml index 3b65742..c5c4a11 100644 --- a/vulkan-rust-sys/Cargo.toml +++ b/vulkan-rust-sys/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "vulkan-rust-sys" -version = "0.9.0" +version = "0.10.0" edition = "2024" rust-version = "1.85" description = "Raw Vulkan FFI types generated from vk.xml" diff --git a/vulkan-rust-sys/src/bin/rust_layout_check.rs b/vulkan-rust-sys/src/bin/rust_layout_check.rs index 90019c5..35d0902 100644 --- a/vulkan-rust-sys/src/bin/rust_layout_check.rs +++ b/vulkan-rust-sys/src/bin/rust_layout_check.rs @@ -1,1286 +1,1286 @@ // Auto-generated by the generator crate. Do not edit. use core::mem::{offset_of, size_of, align_of}; -use vulkan_rust_sys::structs; +use vulkan_rust_sys::*; fn main() { - println!("BaseOutStructure {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BaseOutStructure, s_type), offset_of!(structs::BaseOutStructure, p_next)); - println!("BaseInStructure {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BaseInStructure, s_type), offset_of!(structs::BaseInStructure, p_next)); - println!("Offset2D {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::Offset2D, x), offset_of!(structs::Offset2D, y)); - println!("Offset3D {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::Offset3D, x), offset_of!(structs::Offset3D, y), offset_of!(structs::Offset3D, z)); - println!("Extent2D {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::Extent2D, width), offset_of!(structs::Extent2D, height)); - println!("Extent3D {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::Extent3D, width), offset_of!(structs::Extent3D, height), offset_of!(structs::Extent3D, depth)); - println!("Viewport {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::Viewport, x), offset_of!(structs::Viewport, y), offset_of!(structs::Viewport, width), offset_of!(structs::Viewport, height), offset_of!(structs::Viewport, min_depth), offset_of!(structs::Viewport, max_depth)); - println!("Rect2D {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::Rect2D, offset), offset_of!(structs::Rect2D, extent)); - println!("ClearRect {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ClearRect, rect), offset_of!(structs::ClearRect, base_array_layer), offset_of!(structs::ClearRect, layer_count)); - println!("ComponentMapping {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ComponentMapping, r), offset_of!(structs::ComponentMapping, g), offset_of!(structs::ComponentMapping, b), offset_of!(structs::ComponentMapping, a)); - println!("PhysicalDeviceProperties {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceProperties, api_version), offset_of!(structs::PhysicalDeviceProperties, driver_version), offset_of!(structs::PhysicalDeviceProperties, vendor_id), offset_of!(structs::PhysicalDeviceProperties, device_id), offset_of!(structs::PhysicalDeviceProperties, device_type), offset_of!(structs::PhysicalDeviceProperties, device_name), offset_of!(structs::PhysicalDeviceProperties, pipeline_cache_uuid), offset_of!(structs::PhysicalDeviceProperties, limits), offset_of!(structs::PhysicalDeviceProperties, sparse_properties)); - println!("ExtensionProperties {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ExtensionProperties, extension_name), offset_of!(structs::ExtensionProperties, spec_version)); - println!("LayerProperties {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::LayerProperties, layer_name), offset_of!(structs::LayerProperties, spec_version), offset_of!(structs::LayerProperties, implementation_version), offset_of!(structs::LayerProperties, description)); - println!("ApplicationInfo {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ApplicationInfo, s_type), offset_of!(structs::ApplicationInfo, p_next), offset_of!(structs::ApplicationInfo, p_application_name), offset_of!(structs::ApplicationInfo, application_version), offset_of!(structs::ApplicationInfo, p_engine_name), offset_of!(structs::ApplicationInfo, engine_version), offset_of!(structs::ApplicationInfo, api_version)); - println!("AllocationCallbacks {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::AllocationCallbacks, p_user_data), offset_of!(structs::AllocationCallbacks, pfn_allocation), offset_of!(structs::AllocationCallbacks, pfn_reallocation), offset_of!(structs::AllocationCallbacks, pfn_free), offset_of!(structs::AllocationCallbacks, pfn_internal_allocation), offset_of!(structs::AllocationCallbacks, pfn_internal_free)); - println!("DeviceQueueCreateInfo {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DeviceQueueCreateInfo, s_type), offset_of!(structs::DeviceQueueCreateInfo, p_next), offset_of!(structs::DeviceQueueCreateInfo, flags), offset_of!(structs::DeviceQueueCreateInfo, queue_family_index), offset_of!(structs::DeviceQueueCreateInfo, queue_count), offset_of!(structs::DeviceQueueCreateInfo, p_queue_priorities)); - println!("DeviceCreateInfo {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DeviceCreateInfo, s_type), offset_of!(structs::DeviceCreateInfo, p_next), offset_of!(structs::DeviceCreateInfo, flags), offset_of!(structs::DeviceCreateInfo, queue_create_info_count), offset_of!(structs::DeviceCreateInfo, p_queue_create_infos), offset_of!(structs::DeviceCreateInfo, enabled_layer_count), offset_of!(structs::DeviceCreateInfo, pp_enabled_layer_names), offset_of!(structs::DeviceCreateInfo, enabled_extension_count), offset_of!(structs::DeviceCreateInfo, pp_enabled_extension_names), offset_of!(structs::DeviceCreateInfo, p_enabled_features)); - println!("InstanceCreateInfo {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::InstanceCreateInfo, s_type), offset_of!(structs::InstanceCreateInfo, p_next), offset_of!(structs::InstanceCreateInfo, flags), offset_of!(structs::InstanceCreateInfo, p_application_info), offset_of!(structs::InstanceCreateInfo, enabled_layer_count), offset_of!(structs::InstanceCreateInfo, pp_enabled_layer_names), offset_of!(structs::InstanceCreateInfo, enabled_extension_count), offset_of!(structs::InstanceCreateInfo, pp_enabled_extension_names)); - println!("QueueFamilyProperties {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::QueueFamilyProperties, queue_flags), offset_of!(structs::QueueFamilyProperties, queue_count), offset_of!(structs::QueueFamilyProperties, timestamp_valid_bits), offset_of!(structs::QueueFamilyProperties, min_image_transfer_granularity)); - println!("PhysicalDeviceMemoryProperties {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceMemoryProperties, memory_type_count), offset_of!(structs::PhysicalDeviceMemoryProperties, memory_types), offset_of!(structs::PhysicalDeviceMemoryProperties, memory_heap_count), offset_of!(structs::PhysicalDeviceMemoryProperties, memory_heaps)); - println!("MemoryAllocateInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::MemoryAllocateInfo, s_type), offset_of!(structs::MemoryAllocateInfo, p_next), offset_of!(structs::MemoryAllocateInfo, allocation_size), offset_of!(structs::MemoryAllocateInfo, memory_type_index)); - println!("MemoryRequirements {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::MemoryRequirements, size), offset_of!(structs::MemoryRequirements, alignment), offset_of!(structs::MemoryRequirements, memory_type_bits)); - println!("SparseImageFormatProperties {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SparseImageFormatProperties, aspect_mask), offset_of!(structs::SparseImageFormatProperties, image_granularity), offset_of!(structs::SparseImageFormatProperties, flags)); - println!("SparseImageMemoryRequirements {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SparseImageMemoryRequirements, format_properties), offset_of!(structs::SparseImageMemoryRequirements, image_mip_tail_first_lod), offset_of!(structs::SparseImageMemoryRequirements, image_mip_tail_size), offset_of!(structs::SparseImageMemoryRequirements, image_mip_tail_offset), offset_of!(structs::SparseImageMemoryRequirements, image_mip_tail_stride)); - println!("MemoryType {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::MemoryType, property_flags), offset_of!(structs::MemoryType, heap_index)); - println!("MemoryHeap {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::MemoryHeap, size), offset_of!(structs::MemoryHeap, flags)); - println!("MappedMemoryRange {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::MappedMemoryRange, s_type), offset_of!(structs::MappedMemoryRange, p_next), offset_of!(structs::MappedMemoryRange, memory), offset_of!(structs::MappedMemoryRange, offset), offset_of!(structs::MappedMemoryRange, size)); - println!("FormatProperties {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::FormatProperties, linear_tiling_features), offset_of!(structs::FormatProperties, optimal_tiling_features), offset_of!(structs::FormatProperties, buffer_features)); - println!("ImageFormatProperties {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImageFormatProperties, max_extent), offset_of!(structs::ImageFormatProperties, max_mip_levels), offset_of!(structs::ImageFormatProperties, max_array_layers), offset_of!(structs::ImageFormatProperties, sample_counts), offset_of!(structs::ImageFormatProperties, max_resource_size)); - println!("DescriptorBufferInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DescriptorBufferInfo, buffer), offset_of!(structs::DescriptorBufferInfo, offset), offset_of!(structs::DescriptorBufferInfo, range)); - println!("DescriptorImageInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DescriptorImageInfo, sampler), offset_of!(structs::DescriptorImageInfo, image_view), offset_of!(structs::DescriptorImageInfo, image_layout)); - println!("WriteDescriptorSet {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::WriteDescriptorSet, s_type), offset_of!(structs::WriteDescriptorSet, p_next), offset_of!(structs::WriteDescriptorSet, dst_set), offset_of!(structs::WriteDescriptorSet, dst_binding), offset_of!(structs::WriteDescriptorSet, dst_array_element), offset_of!(structs::WriteDescriptorSet, descriptor_count), offset_of!(structs::WriteDescriptorSet, descriptor_type), offset_of!(structs::WriteDescriptorSet, p_image_info), offset_of!(structs::WriteDescriptorSet, p_buffer_info), offset_of!(structs::WriteDescriptorSet, p_texel_buffer_view)); - println!("CopyDescriptorSet {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CopyDescriptorSet, s_type), offset_of!(structs::CopyDescriptorSet, p_next), offset_of!(structs::CopyDescriptorSet, src_set), offset_of!(structs::CopyDescriptorSet, src_binding), offset_of!(structs::CopyDescriptorSet, src_array_element), offset_of!(structs::CopyDescriptorSet, dst_set), offset_of!(structs::CopyDescriptorSet, dst_binding), offset_of!(structs::CopyDescriptorSet, dst_array_element), offset_of!(structs::CopyDescriptorSet, descriptor_count)); - println!("BufferUsageFlags2CreateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BufferUsageFlags2CreateInfo, s_type), offset_of!(structs::BufferUsageFlags2CreateInfo, p_next), offset_of!(structs::BufferUsageFlags2CreateInfo, usage)); - println!("BufferCreateInfo {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BufferCreateInfo, s_type), offset_of!(structs::BufferCreateInfo, p_next), offset_of!(structs::BufferCreateInfo, flags), offset_of!(structs::BufferCreateInfo, size), offset_of!(structs::BufferCreateInfo, usage), offset_of!(structs::BufferCreateInfo, sharing_mode), offset_of!(structs::BufferCreateInfo, queue_family_index_count), offset_of!(structs::BufferCreateInfo, p_queue_family_indices)); - println!("BufferViewCreateInfo {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BufferViewCreateInfo, s_type), offset_of!(structs::BufferViewCreateInfo, p_next), offset_of!(structs::BufferViewCreateInfo, flags), offset_of!(structs::BufferViewCreateInfo, buffer), offset_of!(structs::BufferViewCreateInfo, format), offset_of!(structs::BufferViewCreateInfo, offset), offset_of!(structs::BufferViewCreateInfo, range)); - println!("ImageSubresource {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImageSubresource, aspect_mask), offset_of!(structs::ImageSubresource, mip_level), offset_of!(structs::ImageSubresource, array_layer)); - println!("ImageSubresourceLayers {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImageSubresourceLayers, aspect_mask), offset_of!(structs::ImageSubresourceLayers, mip_level), offset_of!(structs::ImageSubresourceLayers, base_array_layer), offset_of!(structs::ImageSubresourceLayers, layer_count)); - println!("ImageSubresourceRange {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImageSubresourceRange, aspect_mask), offset_of!(structs::ImageSubresourceRange, base_mip_level), offset_of!(structs::ImageSubresourceRange, level_count), offset_of!(structs::ImageSubresourceRange, base_array_layer), offset_of!(structs::ImageSubresourceRange, layer_count)); - println!("MemoryBarrier {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::MemoryBarrier, s_type), offset_of!(structs::MemoryBarrier, p_next), offset_of!(structs::MemoryBarrier, src_access_mask), offset_of!(structs::MemoryBarrier, dst_access_mask)); - println!("BufferMemoryBarrier {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BufferMemoryBarrier, s_type), offset_of!(structs::BufferMemoryBarrier, p_next), offset_of!(structs::BufferMemoryBarrier, src_access_mask), offset_of!(structs::BufferMemoryBarrier, dst_access_mask), offset_of!(structs::BufferMemoryBarrier, src_queue_family_index), offset_of!(structs::BufferMemoryBarrier, dst_queue_family_index), offset_of!(structs::BufferMemoryBarrier, buffer), offset_of!(structs::BufferMemoryBarrier, offset), offset_of!(structs::BufferMemoryBarrier, size)); - println!("ImageMemoryBarrier {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImageMemoryBarrier, s_type), offset_of!(structs::ImageMemoryBarrier, p_next), offset_of!(structs::ImageMemoryBarrier, src_access_mask), offset_of!(structs::ImageMemoryBarrier, dst_access_mask), offset_of!(structs::ImageMemoryBarrier, old_layout), offset_of!(structs::ImageMemoryBarrier, new_layout), offset_of!(structs::ImageMemoryBarrier, src_queue_family_index), offset_of!(structs::ImageMemoryBarrier, dst_queue_family_index), offset_of!(structs::ImageMemoryBarrier, image), offset_of!(structs::ImageMemoryBarrier, subresource_range)); - println!("ImageCreateInfo {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImageCreateInfo, s_type), offset_of!(structs::ImageCreateInfo, p_next), offset_of!(structs::ImageCreateInfo, flags), offset_of!(structs::ImageCreateInfo, image_type), offset_of!(structs::ImageCreateInfo, format), offset_of!(structs::ImageCreateInfo, extent), offset_of!(structs::ImageCreateInfo, mip_levels), offset_of!(structs::ImageCreateInfo, array_layers), offset_of!(structs::ImageCreateInfo, samples), offset_of!(structs::ImageCreateInfo, tiling), offset_of!(structs::ImageCreateInfo, usage), offset_of!(structs::ImageCreateInfo, sharing_mode), offset_of!(structs::ImageCreateInfo, queue_family_index_count), offset_of!(structs::ImageCreateInfo, p_queue_family_indices), offset_of!(structs::ImageCreateInfo, initial_layout)); - println!("SubresourceLayout {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SubresourceLayout, offset), offset_of!(structs::SubresourceLayout, size), offset_of!(structs::SubresourceLayout, row_pitch), offset_of!(structs::SubresourceLayout, array_pitch), offset_of!(structs::SubresourceLayout, depth_pitch)); - println!("ImageViewCreateInfo {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImageViewCreateInfo, s_type), offset_of!(structs::ImageViewCreateInfo, p_next), offset_of!(structs::ImageViewCreateInfo, flags), offset_of!(structs::ImageViewCreateInfo, image), offset_of!(structs::ImageViewCreateInfo, view_type), offset_of!(structs::ImageViewCreateInfo, format), offset_of!(structs::ImageViewCreateInfo, components), offset_of!(structs::ImageViewCreateInfo, subresource_range)); - println!("BufferCopy {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BufferCopy, src_offset), offset_of!(structs::BufferCopy, dst_offset), offset_of!(structs::BufferCopy, size)); - println!("SparseMemoryBind {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SparseMemoryBind, resource_offset), offset_of!(structs::SparseMemoryBind, size), offset_of!(structs::SparseMemoryBind, memory), offset_of!(structs::SparseMemoryBind, memory_offset), offset_of!(structs::SparseMemoryBind, flags)); - println!("SparseImageMemoryBind {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SparseImageMemoryBind, subresource), offset_of!(structs::SparseImageMemoryBind, offset), offset_of!(structs::SparseImageMemoryBind, extent), offset_of!(structs::SparseImageMemoryBind, memory), offset_of!(structs::SparseImageMemoryBind, memory_offset), offset_of!(structs::SparseImageMemoryBind, flags)); - println!("SparseBufferMemoryBindInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SparseBufferMemoryBindInfo, buffer), offset_of!(structs::SparseBufferMemoryBindInfo, bind_count), offset_of!(structs::SparseBufferMemoryBindInfo, p_binds)); - println!("SparseImageOpaqueMemoryBindInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SparseImageOpaqueMemoryBindInfo, image), offset_of!(structs::SparseImageOpaqueMemoryBindInfo, bind_count), offset_of!(structs::SparseImageOpaqueMemoryBindInfo, p_binds)); - println!("SparseImageMemoryBindInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SparseImageMemoryBindInfo, image), offset_of!(structs::SparseImageMemoryBindInfo, bind_count), offset_of!(structs::SparseImageMemoryBindInfo, p_binds)); - println!("BindSparseInfo {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BindSparseInfo, s_type), offset_of!(structs::BindSparseInfo, p_next), offset_of!(structs::BindSparseInfo, wait_semaphore_count), offset_of!(structs::BindSparseInfo, p_wait_semaphores), offset_of!(structs::BindSparseInfo, buffer_bind_count), offset_of!(structs::BindSparseInfo, p_buffer_binds), offset_of!(structs::BindSparseInfo, image_opaque_bind_count), offset_of!(structs::BindSparseInfo, p_image_opaque_binds), offset_of!(structs::BindSparseInfo, image_bind_count), offset_of!(structs::BindSparseInfo, p_image_binds), offset_of!(structs::BindSparseInfo, signal_semaphore_count), offset_of!(structs::BindSparseInfo, p_signal_semaphores)); - println!("ImageCopy {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImageCopy, src_subresource), offset_of!(structs::ImageCopy, src_offset), offset_of!(structs::ImageCopy, dst_subresource), offset_of!(structs::ImageCopy, dst_offset), offset_of!(structs::ImageCopy, extent)); - println!("ImageBlit {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImageBlit, src_subresource), offset_of!(structs::ImageBlit, src_offsets), offset_of!(structs::ImageBlit, dst_subresource), offset_of!(structs::ImageBlit, dst_offsets)); - println!("BufferImageCopy {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BufferImageCopy, buffer_offset), offset_of!(structs::BufferImageCopy, buffer_row_length), offset_of!(structs::BufferImageCopy, buffer_image_height), offset_of!(structs::BufferImageCopy, image_subresource), offset_of!(structs::BufferImageCopy, image_offset), offset_of!(structs::BufferImageCopy, image_extent)); - println!("StridedDeviceAddressRangeKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::StridedDeviceAddressRangeKHR, address), offset_of!(structs::StridedDeviceAddressRangeKHR, size), offset_of!(structs::StridedDeviceAddressRangeKHR, stride)); - println!("CopyMemoryIndirectCommandKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CopyMemoryIndirectCommandKHR, src_address), offset_of!(structs::CopyMemoryIndirectCommandKHR, dst_address), offset_of!(structs::CopyMemoryIndirectCommandKHR, size)); - println!("CopyMemoryIndirectInfoKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CopyMemoryIndirectInfoKHR, s_type), offset_of!(structs::CopyMemoryIndirectInfoKHR, p_next), offset_of!(structs::CopyMemoryIndirectInfoKHR, src_copy_flags), offset_of!(structs::CopyMemoryIndirectInfoKHR, dst_copy_flags), offset_of!(structs::CopyMemoryIndirectInfoKHR, copy_count), offset_of!(structs::CopyMemoryIndirectInfoKHR, copy_address_range)); - println!("CopyMemoryToImageIndirectCommandKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CopyMemoryToImageIndirectCommandKHR, src_address), offset_of!(structs::CopyMemoryToImageIndirectCommandKHR, buffer_row_length), offset_of!(structs::CopyMemoryToImageIndirectCommandKHR, buffer_image_height), offset_of!(structs::CopyMemoryToImageIndirectCommandKHR, image_subresource), offset_of!(structs::CopyMemoryToImageIndirectCommandKHR, image_offset), offset_of!(structs::CopyMemoryToImageIndirectCommandKHR, image_extent)); - println!("CopyMemoryToImageIndirectInfoKHR {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CopyMemoryToImageIndirectInfoKHR, s_type), offset_of!(structs::CopyMemoryToImageIndirectInfoKHR, p_next), offset_of!(structs::CopyMemoryToImageIndirectInfoKHR, src_copy_flags), offset_of!(structs::CopyMemoryToImageIndirectInfoKHR, copy_count), offset_of!(structs::CopyMemoryToImageIndirectInfoKHR, copy_address_range), offset_of!(structs::CopyMemoryToImageIndirectInfoKHR, dst_image), offset_of!(structs::CopyMemoryToImageIndirectInfoKHR, dst_image_layout), offset_of!(structs::CopyMemoryToImageIndirectInfoKHR, p_image_subresources)); - println!("ImageResolve {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImageResolve, src_subresource), offset_of!(structs::ImageResolve, src_offset), offset_of!(structs::ImageResolve, dst_subresource), offset_of!(structs::ImageResolve, dst_offset), offset_of!(structs::ImageResolve, extent)); - println!("ShaderModuleCreateInfo {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ShaderModuleCreateInfo, s_type), offset_of!(structs::ShaderModuleCreateInfo, p_next), offset_of!(structs::ShaderModuleCreateInfo, flags), offset_of!(structs::ShaderModuleCreateInfo, code_size), offset_of!(structs::ShaderModuleCreateInfo, p_code)); - println!("DescriptorSetLayoutBinding {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DescriptorSetLayoutBinding, binding), offset_of!(structs::DescriptorSetLayoutBinding, descriptor_type), offset_of!(structs::DescriptorSetLayoutBinding, descriptor_count), offset_of!(structs::DescriptorSetLayoutBinding, stage_flags), offset_of!(structs::DescriptorSetLayoutBinding, p_immutable_samplers)); - println!("DescriptorSetLayoutCreateInfo {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DescriptorSetLayoutCreateInfo, s_type), offset_of!(structs::DescriptorSetLayoutCreateInfo, p_next), offset_of!(structs::DescriptorSetLayoutCreateInfo, flags), offset_of!(structs::DescriptorSetLayoutCreateInfo, binding_count), offset_of!(structs::DescriptorSetLayoutCreateInfo, p_bindings)); - println!("DescriptorPoolSize {} {} {}", size_of::(), align_of::(), offset_of!(structs::DescriptorPoolSize, descriptor_count)); - println!("DescriptorPoolCreateInfo {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DescriptorPoolCreateInfo, s_type), offset_of!(structs::DescriptorPoolCreateInfo, p_next), offset_of!(structs::DescriptorPoolCreateInfo, flags), offset_of!(structs::DescriptorPoolCreateInfo, max_sets), offset_of!(structs::DescriptorPoolCreateInfo, pool_size_count), offset_of!(structs::DescriptorPoolCreateInfo, p_pool_sizes)); - println!("DescriptorSetAllocateInfo {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DescriptorSetAllocateInfo, s_type), offset_of!(structs::DescriptorSetAllocateInfo, p_next), offset_of!(structs::DescriptorSetAllocateInfo, descriptor_pool), offset_of!(structs::DescriptorSetAllocateInfo, descriptor_set_count), offset_of!(structs::DescriptorSetAllocateInfo, p_set_layouts)); - println!("SpecializationMapEntry {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SpecializationMapEntry, constant_id), offset_of!(structs::SpecializationMapEntry, offset), offset_of!(structs::SpecializationMapEntry, size)); - println!("SpecializationInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SpecializationInfo, map_entry_count), offset_of!(structs::SpecializationInfo, p_map_entries), offset_of!(structs::SpecializationInfo, data_size), offset_of!(structs::SpecializationInfo, p_data)); - println!("PipelineShaderStageCreateInfo {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineShaderStageCreateInfo, s_type), offset_of!(structs::PipelineShaderStageCreateInfo, p_next), offset_of!(structs::PipelineShaderStageCreateInfo, flags), offset_of!(structs::PipelineShaderStageCreateInfo, stage), offset_of!(structs::PipelineShaderStageCreateInfo, module), offset_of!(structs::PipelineShaderStageCreateInfo, p_name), offset_of!(structs::PipelineShaderStageCreateInfo, p_name), offset_of!(structs::PipelineShaderStageCreateInfo, p_specialization_info)); - println!("ComputePipelineCreateInfo {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ComputePipelineCreateInfo, s_type), offset_of!(structs::ComputePipelineCreateInfo, p_next), offset_of!(structs::ComputePipelineCreateInfo, flags), offset_of!(structs::ComputePipelineCreateInfo, stage), offset_of!(structs::ComputePipelineCreateInfo, layout), offset_of!(structs::ComputePipelineCreateInfo, base_pipeline_handle), offset_of!(structs::ComputePipelineCreateInfo, base_pipeline_index)); - println!("ComputePipelineIndirectBufferInfoNV {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ComputePipelineIndirectBufferInfoNV, s_type), offset_of!(structs::ComputePipelineIndirectBufferInfoNV, p_next), offset_of!(structs::ComputePipelineIndirectBufferInfoNV, device_address), offset_of!(structs::ComputePipelineIndirectBufferInfoNV, size), offset_of!(structs::ComputePipelineIndirectBufferInfoNV, pipeline_device_address_capture_replay)); - println!("PipelineCreateFlags2CreateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineCreateFlags2CreateInfo, s_type), offset_of!(structs::PipelineCreateFlags2CreateInfo, p_next), offset_of!(structs::PipelineCreateFlags2CreateInfo, flags)); - println!("VertexInputBindingDescription {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VertexInputBindingDescription, binding), offset_of!(structs::VertexInputBindingDescription, stride), offset_of!(structs::VertexInputBindingDescription, input_rate)); - println!("VertexInputAttributeDescription {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VertexInputAttributeDescription, location), offset_of!(structs::VertexInputAttributeDescription, binding), offset_of!(structs::VertexInputAttributeDescription, format), offset_of!(structs::VertexInputAttributeDescription, offset)); - println!("PipelineVertexInputStateCreateInfo {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineVertexInputStateCreateInfo, s_type), offset_of!(structs::PipelineVertexInputStateCreateInfo, p_next), offset_of!(structs::PipelineVertexInputStateCreateInfo, flags), offset_of!(structs::PipelineVertexInputStateCreateInfo, vertex_binding_description_count), offset_of!(structs::PipelineVertexInputStateCreateInfo, p_vertex_binding_descriptions), offset_of!(structs::PipelineVertexInputStateCreateInfo, vertex_attribute_description_count), offset_of!(structs::PipelineVertexInputStateCreateInfo, p_vertex_attribute_descriptions)); - println!("PipelineInputAssemblyStateCreateInfo {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineInputAssemblyStateCreateInfo, s_type), offset_of!(structs::PipelineInputAssemblyStateCreateInfo, p_next), offset_of!(structs::PipelineInputAssemblyStateCreateInfo, flags), offset_of!(structs::PipelineInputAssemblyStateCreateInfo, topology), offset_of!(structs::PipelineInputAssemblyStateCreateInfo, primitive_restart_enable)); - println!("PipelineTessellationStateCreateInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineTessellationStateCreateInfo, s_type), offset_of!(structs::PipelineTessellationStateCreateInfo, p_next), offset_of!(structs::PipelineTessellationStateCreateInfo, flags), offset_of!(structs::PipelineTessellationStateCreateInfo, patch_control_points)); - println!("PipelineViewportStateCreateInfo {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineViewportStateCreateInfo, s_type), offset_of!(structs::PipelineViewportStateCreateInfo, p_next), offset_of!(structs::PipelineViewportStateCreateInfo, flags), offset_of!(structs::PipelineViewportStateCreateInfo, viewport_count), offset_of!(structs::PipelineViewportStateCreateInfo, p_viewports), offset_of!(structs::PipelineViewportStateCreateInfo, scissor_count), offset_of!(structs::PipelineViewportStateCreateInfo, p_scissors)); - println!("PipelineRasterizationStateCreateInfo {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineRasterizationStateCreateInfo, s_type), offset_of!(structs::PipelineRasterizationStateCreateInfo, p_next), offset_of!(structs::PipelineRasterizationStateCreateInfo, flags), offset_of!(structs::PipelineRasterizationStateCreateInfo, depth_clamp_enable), offset_of!(structs::PipelineRasterizationStateCreateInfo, rasterizer_discard_enable), offset_of!(structs::PipelineRasterizationStateCreateInfo, polygon_mode), offset_of!(structs::PipelineRasterizationStateCreateInfo, cull_mode), offset_of!(structs::PipelineRasterizationStateCreateInfo, front_face), offset_of!(structs::PipelineRasterizationStateCreateInfo, depth_bias_enable), offset_of!(structs::PipelineRasterizationStateCreateInfo, depth_bias_constant_factor), offset_of!(structs::PipelineRasterizationStateCreateInfo, depth_bias_clamp), offset_of!(structs::PipelineRasterizationStateCreateInfo, depth_bias_slope_factor), offset_of!(structs::PipelineRasterizationStateCreateInfo, line_width)); - println!("PipelineMultisampleStateCreateInfo {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineMultisampleStateCreateInfo, s_type), offset_of!(structs::PipelineMultisampleStateCreateInfo, p_next), offset_of!(structs::PipelineMultisampleStateCreateInfo, flags), offset_of!(structs::PipelineMultisampleStateCreateInfo, rasterization_samples), offset_of!(structs::PipelineMultisampleStateCreateInfo, sample_shading_enable), offset_of!(structs::PipelineMultisampleStateCreateInfo, min_sample_shading), offset_of!(structs::PipelineMultisampleStateCreateInfo, p_sample_mask), offset_of!(structs::PipelineMultisampleStateCreateInfo, alpha_to_coverage_enable), offset_of!(structs::PipelineMultisampleStateCreateInfo, alpha_to_one_enable)); - println!("PipelineColorBlendAttachmentState {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineColorBlendAttachmentState, blend_enable), offset_of!(structs::PipelineColorBlendAttachmentState, src_color_blend_factor), offset_of!(structs::PipelineColorBlendAttachmentState, dst_color_blend_factor), offset_of!(structs::PipelineColorBlendAttachmentState, color_blend_op), offset_of!(structs::PipelineColorBlendAttachmentState, src_alpha_blend_factor), offset_of!(structs::PipelineColorBlendAttachmentState, dst_alpha_blend_factor), offset_of!(structs::PipelineColorBlendAttachmentState, alpha_blend_op), offset_of!(structs::PipelineColorBlendAttachmentState, color_write_mask)); - println!("PipelineColorBlendStateCreateInfo {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineColorBlendStateCreateInfo, s_type), offset_of!(structs::PipelineColorBlendStateCreateInfo, p_next), offset_of!(structs::PipelineColorBlendStateCreateInfo, flags), offset_of!(structs::PipelineColorBlendStateCreateInfo, logic_op_enable), offset_of!(structs::PipelineColorBlendStateCreateInfo, logic_op), offset_of!(structs::PipelineColorBlendStateCreateInfo, attachment_count), offset_of!(structs::PipelineColorBlendStateCreateInfo, p_attachments), offset_of!(structs::PipelineColorBlendStateCreateInfo, blend_constants)); - println!("PipelineDynamicStateCreateInfo {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineDynamicStateCreateInfo, s_type), offset_of!(structs::PipelineDynamicStateCreateInfo, p_next), offset_of!(structs::PipelineDynamicStateCreateInfo, flags), offset_of!(structs::PipelineDynamicStateCreateInfo, dynamic_state_count), offset_of!(structs::PipelineDynamicStateCreateInfo, p_dynamic_states)); - println!("StencilOpState {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::StencilOpState, fail_op), offset_of!(structs::StencilOpState, pass_op), offset_of!(structs::StencilOpState, depth_fail_op), offset_of!(structs::StencilOpState, compare_op), offset_of!(structs::StencilOpState, compare_mask), offset_of!(structs::StencilOpState, write_mask), offset_of!(structs::StencilOpState, reference)); - println!("PipelineDepthStencilStateCreateInfo {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineDepthStencilStateCreateInfo, s_type), offset_of!(structs::PipelineDepthStencilStateCreateInfo, p_next), offset_of!(structs::PipelineDepthStencilStateCreateInfo, flags), offset_of!(structs::PipelineDepthStencilStateCreateInfo, depth_test_enable), offset_of!(structs::PipelineDepthStencilStateCreateInfo, depth_write_enable), offset_of!(structs::PipelineDepthStencilStateCreateInfo, depth_compare_op), offset_of!(structs::PipelineDepthStencilStateCreateInfo, depth_bounds_test_enable), offset_of!(structs::PipelineDepthStencilStateCreateInfo, stencil_test_enable), offset_of!(structs::PipelineDepthStencilStateCreateInfo, front), offset_of!(structs::PipelineDepthStencilStateCreateInfo, back), offset_of!(structs::PipelineDepthStencilStateCreateInfo, min_depth_bounds), offset_of!(structs::PipelineDepthStencilStateCreateInfo, max_depth_bounds)); - println!("GraphicsPipelineCreateInfo {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::GraphicsPipelineCreateInfo, s_type), offset_of!(structs::GraphicsPipelineCreateInfo, p_next), offset_of!(structs::GraphicsPipelineCreateInfo, flags), offset_of!(structs::GraphicsPipelineCreateInfo, stage_count), offset_of!(structs::GraphicsPipelineCreateInfo, p_stages), offset_of!(structs::GraphicsPipelineCreateInfo, p_stages), offset_of!(structs::GraphicsPipelineCreateInfo, p_vertex_input_state), offset_of!(structs::GraphicsPipelineCreateInfo, p_input_assembly_state), offset_of!(structs::GraphicsPipelineCreateInfo, p_tessellation_state), offset_of!(structs::GraphicsPipelineCreateInfo, p_viewport_state), offset_of!(structs::GraphicsPipelineCreateInfo, p_rasterization_state), offset_of!(structs::GraphicsPipelineCreateInfo, p_multisample_state), offset_of!(structs::GraphicsPipelineCreateInfo, p_depth_stencil_state), offset_of!(structs::GraphicsPipelineCreateInfo, p_color_blend_state), offset_of!(structs::GraphicsPipelineCreateInfo, p_dynamic_state), offset_of!(structs::GraphicsPipelineCreateInfo, layout), offset_of!(structs::GraphicsPipelineCreateInfo, render_pass), offset_of!(structs::GraphicsPipelineCreateInfo, subpass), offset_of!(structs::GraphicsPipelineCreateInfo, base_pipeline_handle), offset_of!(structs::GraphicsPipelineCreateInfo, base_pipeline_index)); - println!("PipelineCacheCreateInfo {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineCacheCreateInfo, s_type), offset_of!(structs::PipelineCacheCreateInfo, p_next), offset_of!(structs::PipelineCacheCreateInfo, flags), offset_of!(structs::PipelineCacheCreateInfo, initial_data_size), offset_of!(structs::PipelineCacheCreateInfo, initial_data_size), offset_of!(structs::PipelineCacheCreateInfo, p_initial_data)); - println!("PipelineCacheHeaderVersionOne {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineCacheHeaderVersionOne, header_size), offset_of!(structs::PipelineCacheHeaderVersionOne, header_version), offset_of!(structs::PipelineCacheHeaderVersionOne, vendor_id), offset_of!(structs::PipelineCacheHeaderVersionOne, device_id), offset_of!(structs::PipelineCacheHeaderVersionOne, pipeline_cache_uuid)); - println!("PipelineCacheHeaderVersionDataGraphQCOM {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineCacheHeaderVersionDataGraphQCOM, header_size), offset_of!(structs::PipelineCacheHeaderVersionDataGraphQCOM, header_version), offset_of!(structs::PipelineCacheHeaderVersionDataGraphQCOM, cache_type), offset_of!(structs::PipelineCacheHeaderVersionDataGraphQCOM, cache_version), offset_of!(structs::PipelineCacheHeaderVersionDataGraphQCOM, toolchain_version)); - println!("PushConstantRange {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PushConstantRange, stage_flags), offset_of!(structs::PushConstantRange, offset), offset_of!(structs::PushConstantRange, size)); - println!("PipelineBinaryCreateInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineBinaryCreateInfoKHR, s_type), offset_of!(structs::PipelineBinaryCreateInfoKHR, p_next), offset_of!(structs::PipelineBinaryCreateInfoKHR, p_keys_and_data_info), offset_of!(structs::PipelineBinaryCreateInfoKHR, pipeline), offset_of!(structs::PipelineBinaryCreateInfoKHR, p_pipeline_create_info)); - println!("PipelineBinaryHandlesInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineBinaryHandlesInfoKHR, s_type), offset_of!(structs::PipelineBinaryHandlesInfoKHR, p_next), offset_of!(structs::PipelineBinaryHandlesInfoKHR, pipeline_binary_count), offset_of!(structs::PipelineBinaryHandlesInfoKHR, p_pipeline_binaries)); - println!("PipelineBinaryDataKHR {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineBinaryDataKHR, data_size), offset_of!(structs::PipelineBinaryDataKHR, p_data)); - println!("PipelineBinaryKeysAndDataKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineBinaryKeysAndDataKHR, binary_count), offset_of!(structs::PipelineBinaryKeysAndDataKHR, p_pipeline_binary_keys), offset_of!(structs::PipelineBinaryKeysAndDataKHR, p_pipeline_binary_data)); - println!("PipelineBinaryKeyKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineBinaryKeyKHR, s_type), offset_of!(structs::PipelineBinaryKeyKHR, p_next), offset_of!(structs::PipelineBinaryKeyKHR, key_size), offset_of!(structs::PipelineBinaryKeyKHR, key)); - println!("PipelineBinaryInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineBinaryInfoKHR, s_type), offset_of!(structs::PipelineBinaryInfoKHR, p_next), offset_of!(structs::PipelineBinaryInfoKHR, binary_count), offset_of!(structs::PipelineBinaryInfoKHR, p_pipeline_binaries)); - println!("ReleaseCapturedPipelineDataInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ReleaseCapturedPipelineDataInfoKHR, s_type), offset_of!(structs::ReleaseCapturedPipelineDataInfoKHR, p_next), offset_of!(structs::ReleaseCapturedPipelineDataInfoKHR, pipeline)); - println!("PipelineBinaryDataInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineBinaryDataInfoKHR, s_type), offset_of!(structs::PipelineBinaryDataInfoKHR, p_next), offset_of!(structs::PipelineBinaryDataInfoKHR, pipeline_binary)); - println!("PipelineCreateInfoKHR {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineCreateInfoKHR, s_type), offset_of!(structs::PipelineCreateInfoKHR, p_next)); - println!("PipelineLayoutCreateInfo {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineLayoutCreateInfo, s_type), offset_of!(structs::PipelineLayoutCreateInfo, p_next), offset_of!(structs::PipelineLayoutCreateInfo, flags), offset_of!(structs::PipelineLayoutCreateInfo, set_layout_count), offset_of!(structs::PipelineLayoutCreateInfo, p_set_layouts), offset_of!(structs::PipelineLayoutCreateInfo, push_constant_range_count), offset_of!(structs::PipelineLayoutCreateInfo, p_push_constant_ranges)); - println!("SamplerCreateInfo {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SamplerCreateInfo, s_type), offset_of!(structs::SamplerCreateInfo, p_next), offset_of!(structs::SamplerCreateInfo, flags), offset_of!(structs::SamplerCreateInfo, mag_filter), offset_of!(structs::SamplerCreateInfo, min_filter), offset_of!(structs::SamplerCreateInfo, mipmap_mode), offset_of!(structs::SamplerCreateInfo, address_mode_u), offset_of!(structs::SamplerCreateInfo, address_mode_v), offset_of!(structs::SamplerCreateInfo, address_mode_w), offset_of!(structs::SamplerCreateInfo, mip_lod_bias), offset_of!(structs::SamplerCreateInfo, anisotropy_enable), offset_of!(structs::SamplerCreateInfo, max_anisotropy), offset_of!(structs::SamplerCreateInfo, compare_enable), offset_of!(structs::SamplerCreateInfo, compare_op), offset_of!(structs::SamplerCreateInfo, min_lod), offset_of!(structs::SamplerCreateInfo, max_lod), offset_of!(structs::SamplerCreateInfo, border_color), offset_of!(structs::SamplerCreateInfo, unnormalized_coordinates)); - println!("CommandPoolCreateInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CommandPoolCreateInfo, s_type), offset_of!(structs::CommandPoolCreateInfo, p_next), offset_of!(structs::CommandPoolCreateInfo, flags), offset_of!(structs::CommandPoolCreateInfo, queue_family_index)); - println!("CommandBufferAllocateInfo {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CommandBufferAllocateInfo, s_type), offset_of!(structs::CommandBufferAllocateInfo, p_next), offset_of!(structs::CommandBufferAllocateInfo, command_pool), offset_of!(structs::CommandBufferAllocateInfo, level), offset_of!(structs::CommandBufferAllocateInfo, command_buffer_count)); - println!("CommandBufferInheritanceInfo {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CommandBufferInheritanceInfo, s_type), offset_of!(structs::CommandBufferInheritanceInfo, p_next), offset_of!(structs::CommandBufferInheritanceInfo, render_pass), offset_of!(structs::CommandBufferInheritanceInfo, subpass), offset_of!(structs::CommandBufferInheritanceInfo, framebuffer), offset_of!(structs::CommandBufferInheritanceInfo, occlusion_query_enable), offset_of!(structs::CommandBufferInheritanceInfo, query_flags), offset_of!(structs::CommandBufferInheritanceInfo, pipeline_statistics)); - println!("CommandBufferBeginInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CommandBufferBeginInfo, s_type), offset_of!(structs::CommandBufferBeginInfo, p_next), offset_of!(structs::CommandBufferBeginInfo, flags), offset_of!(structs::CommandBufferBeginInfo, p_inheritance_info)); - println!("RenderPassBeginInfo {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::RenderPassBeginInfo, s_type), offset_of!(structs::RenderPassBeginInfo, p_next), offset_of!(structs::RenderPassBeginInfo, render_pass), offset_of!(structs::RenderPassBeginInfo, framebuffer), offset_of!(structs::RenderPassBeginInfo, render_area), offset_of!(structs::RenderPassBeginInfo, clear_value_count), offset_of!(structs::RenderPassBeginInfo, p_clear_values)); - println!("ClearColorValue {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ClearColorValue, float32), offset_of!(structs::ClearColorValue, int32), offset_of!(structs::ClearColorValue, uint32)); - println!("ClearDepthStencilValue {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ClearDepthStencilValue, depth), offset_of!(structs::ClearDepthStencilValue, stencil)); - println!("ClearValue {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ClearValue, color), offset_of!(structs::ClearValue, depth_stencil)); - println!("ClearAttachment {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ClearAttachment, aspect_mask), offset_of!(structs::ClearAttachment, color_attachment), offset_of!(structs::ClearAttachment, clear_value)); - println!("AttachmentDescription {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::AttachmentDescription, flags), offset_of!(structs::AttachmentDescription, format), offset_of!(structs::AttachmentDescription, samples), offset_of!(structs::AttachmentDescription, load_op), offset_of!(structs::AttachmentDescription, store_op), offset_of!(structs::AttachmentDescription, stencil_load_op), offset_of!(structs::AttachmentDescription, stencil_store_op), offset_of!(structs::AttachmentDescription, initial_layout), offset_of!(structs::AttachmentDescription, final_layout)); - println!("AttachmentReference {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::AttachmentReference, attachment), offset_of!(structs::AttachmentReference, layout)); - println!("SubpassDescription {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SubpassDescription, flags), offset_of!(structs::SubpassDescription, pipeline_bind_point), offset_of!(structs::SubpassDescription, input_attachment_count), offset_of!(structs::SubpassDescription, p_input_attachments), offset_of!(structs::SubpassDescription, color_attachment_count), offset_of!(structs::SubpassDescription, p_color_attachments), offset_of!(structs::SubpassDescription, p_resolve_attachments), offset_of!(structs::SubpassDescription, p_depth_stencil_attachment), offset_of!(structs::SubpassDescription, preserve_attachment_count), offset_of!(structs::SubpassDescription, p_preserve_attachments)); - println!("SubpassDependency {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SubpassDependency, src_subpass), offset_of!(structs::SubpassDependency, dst_subpass), offset_of!(structs::SubpassDependency, src_stage_mask), offset_of!(structs::SubpassDependency, dst_stage_mask), offset_of!(structs::SubpassDependency, src_access_mask), offset_of!(structs::SubpassDependency, dst_access_mask), offset_of!(structs::SubpassDependency, dependency_flags)); - println!("RenderPassCreateInfo {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::RenderPassCreateInfo, s_type), offset_of!(structs::RenderPassCreateInfo, p_next), offset_of!(structs::RenderPassCreateInfo, flags), offset_of!(structs::RenderPassCreateInfo, attachment_count), offset_of!(structs::RenderPassCreateInfo, p_attachments), offset_of!(structs::RenderPassCreateInfo, subpass_count), offset_of!(structs::RenderPassCreateInfo, p_subpasses), offset_of!(structs::RenderPassCreateInfo, dependency_count), offset_of!(structs::RenderPassCreateInfo, p_dependencies)); - println!("EventCreateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::EventCreateInfo, s_type), offset_of!(structs::EventCreateInfo, p_next), offset_of!(structs::EventCreateInfo, flags)); - println!("FenceCreateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::FenceCreateInfo, s_type), offset_of!(structs::FenceCreateInfo, p_next), offset_of!(structs::FenceCreateInfo, flags)); - println!("PhysicalDeviceFeatures {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceFeatures, robust_buffer_access), offset_of!(structs::PhysicalDeviceFeatures, full_draw_index_uint32), offset_of!(structs::PhysicalDeviceFeatures, image_cube_array), offset_of!(structs::PhysicalDeviceFeatures, independent_blend), offset_of!(structs::PhysicalDeviceFeatures, geometry_shader), offset_of!(structs::PhysicalDeviceFeatures, tessellation_shader), offset_of!(structs::PhysicalDeviceFeatures, sample_rate_shading), offset_of!(structs::PhysicalDeviceFeatures, dual_src_blend), offset_of!(structs::PhysicalDeviceFeatures, logic_op), offset_of!(structs::PhysicalDeviceFeatures, multi_draw_indirect), offset_of!(structs::PhysicalDeviceFeatures, draw_indirect_first_instance), offset_of!(structs::PhysicalDeviceFeatures, depth_clamp), offset_of!(structs::PhysicalDeviceFeatures, depth_bias_clamp), offset_of!(structs::PhysicalDeviceFeatures, fill_mode_non_solid), offset_of!(structs::PhysicalDeviceFeatures, depth_bounds), offset_of!(structs::PhysicalDeviceFeatures, wide_lines), offset_of!(structs::PhysicalDeviceFeatures, large_points), offset_of!(structs::PhysicalDeviceFeatures, alpha_to_one), offset_of!(structs::PhysicalDeviceFeatures, multi_viewport), offset_of!(structs::PhysicalDeviceFeatures, sampler_anisotropy), offset_of!(structs::PhysicalDeviceFeatures, texture_compression_etc2), offset_of!(structs::PhysicalDeviceFeatures, texture_compression_astc_ldr), offset_of!(structs::PhysicalDeviceFeatures, texture_compression_bc), offset_of!(structs::PhysicalDeviceFeatures, occlusion_query_precise), offset_of!(structs::PhysicalDeviceFeatures, pipeline_statistics_query), offset_of!(structs::PhysicalDeviceFeatures, vertex_pipeline_stores_and_atomics), offset_of!(structs::PhysicalDeviceFeatures, fragment_stores_and_atomics), offset_of!(structs::PhysicalDeviceFeatures, shader_tessellation_and_geometry_point_size), offset_of!(structs::PhysicalDeviceFeatures, shader_image_gather_extended), offset_of!(structs::PhysicalDeviceFeatures, shader_storage_image_extended_formats), offset_of!(structs::PhysicalDeviceFeatures, shader_storage_image_multisample), offset_of!(structs::PhysicalDeviceFeatures, shader_storage_image_read_without_format), offset_of!(structs::PhysicalDeviceFeatures, shader_storage_image_write_without_format), offset_of!(structs::PhysicalDeviceFeatures, shader_uniform_buffer_array_dynamic_indexing), offset_of!(structs::PhysicalDeviceFeatures, shader_sampled_image_array_dynamic_indexing), offset_of!(structs::PhysicalDeviceFeatures, shader_storage_buffer_array_dynamic_indexing), offset_of!(structs::PhysicalDeviceFeatures, shader_storage_image_array_dynamic_indexing), offset_of!(structs::PhysicalDeviceFeatures, shader_clip_distance), offset_of!(structs::PhysicalDeviceFeatures, shader_cull_distance), offset_of!(structs::PhysicalDeviceFeatures, shader_float64), offset_of!(structs::PhysicalDeviceFeatures, shader_int64), offset_of!(structs::PhysicalDeviceFeatures, shader_int16), offset_of!(structs::PhysicalDeviceFeatures, shader_resource_residency), offset_of!(structs::PhysicalDeviceFeatures, shader_resource_min_lod), offset_of!(structs::PhysicalDeviceFeatures, sparse_binding), offset_of!(structs::PhysicalDeviceFeatures, sparse_residency_buffer), offset_of!(structs::PhysicalDeviceFeatures, sparse_residency_image2_d), offset_of!(structs::PhysicalDeviceFeatures, sparse_residency_image3_d), offset_of!(structs::PhysicalDeviceFeatures, sparse_residency2_samples), offset_of!(structs::PhysicalDeviceFeatures, sparse_residency4_samples), offset_of!(structs::PhysicalDeviceFeatures, sparse_residency8_samples), offset_of!(structs::PhysicalDeviceFeatures, sparse_residency16_samples), offset_of!(structs::PhysicalDeviceFeatures, sparse_residency_aliased), offset_of!(structs::PhysicalDeviceFeatures, variable_multisample_rate), offset_of!(structs::PhysicalDeviceFeatures, inherited_queries)); - println!("PhysicalDeviceSparseProperties {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceSparseProperties, residency_standard2_d_block_shape), offset_of!(structs::PhysicalDeviceSparseProperties, residency_standard2_d_multisample_block_shape), offset_of!(structs::PhysicalDeviceSparseProperties, residency_standard3_d_block_shape), offset_of!(structs::PhysicalDeviceSparseProperties, residency_aligned_mip_size), offset_of!(structs::PhysicalDeviceSparseProperties, residency_non_resident_strict)); - println!("PhysicalDeviceLimits {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceLimits, max_image_dimension1_d), offset_of!(structs::PhysicalDeviceLimits, max_image_dimension2_d), offset_of!(structs::PhysicalDeviceLimits, max_image_dimension3_d), offset_of!(structs::PhysicalDeviceLimits, max_image_dimension_cube), offset_of!(structs::PhysicalDeviceLimits, max_image_array_layers), offset_of!(structs::PhysicalDeviceLimits, max_texel_buffer_elements), offset_of!(structs::PhysicalDeviceLimits, max_uniform_buffer_range), offset_of!(structs::PhysicalDeviceLimits, max_storage_buffer_range), offset_of!(structs::PhysicalDeviceLimits, max_push_constants_size), offset_of!(structs::PhysicalDeviceLimits, max_memory_allocation_count), offset_of!(structs::PhysicalDeviceLimits, max_sampler_allocation_count), offset_of!(structs::PhysicalDeviceLimits, buffer_image_granularity), offset_of!(structs::PhysicalDeviceLimits, sparse_address_space_size), offset_of!(structs::PhysicalDeviceLimits, max_bound_descriptor_sets), offset_of!(structs::PhysicalDeviceLimits, max_per_stage_descriptor_samplers), offset_of!(structs::PhysicalDeviceLimits, max_per_stage_descriptor_uniform_buffers), offset_of!(structs::PhysicalDeviceLimits, max_per_stage_descriptor_storage_buffers), offset_of!(structs::PhysicalDeviceLimits, max_per_stage_descriptor_sampled_images), offset_of!(structs::PhysicalDeviceLimits, max_per_stage_descriptor_storage_images), offset_of!(structs::PhysicalDeviceLimits, max_per_stage_descriptor_input_attachments), offset_of!(structs::PhysicalDeviceLimits, max_per_stage_resources), offset_of!(structs::PhysicalDeviceLimits, max_descriptor_set_samplers), offset_of!(structs::PhysicalDeviceLimits, max_descriptor_set_uniform_buffers), offset_of!(structs::PhysicalDeviceLimits, max_descriptor_set_uniform_buffers_dynamic), offset_of!(structs::PhysicalDeviceLimits, max_descriptor_set_storage_buffers), offset_of!(structs::PhysicalDeviceLimits, max_descriptor_set_storage_buffers_dynamic), offset_of!(structs::PhysicalDeviceLimits, max_descriptor_set_sampled_images), offset_of!(structs::PhysicalDeviceLimits, max_descriptor_set_storage_images), offset_of!(structs::PhysicalDeviceLimits, max_descriptor_set_input_attachments), offset_of!(structs::PhysicalDeviceLimits, max_vertex_input_attributes), offset_of!(structs::PhysicalDeviceLimits, max_vertex_input_bindings), offset_of!(structs::PhysicalDeviceLimits, max_vertex_input_attribute_offset), offset_of!(structs::PhysicalDeviceLimits, max_vertex_input_binding_stride), offset_of!(structs::PhysicalDeviceLimits, max_vertex_output_components), offset_of!(structs::PhysicalDeviceLimits, max_tessellation_generation_level), offset_of!(structs::PhysicalDeviceLimits, max_tessellation_patch_size), offset_of!(structs::PhysicalDeviceLimits, max_tessellation_control_per_vertex_input_components), offset_of!(structs::PhysicalDeviceLimits, max_tessellation_control_per_vertex_output_components), offset_of!(structs::PhysicalDeviceLimits, max_tessellation_control_per_patch_output_components), offset_of!(structs::PhysicalDeviceLimits, max_tessellation_control_total_output_components), offset_of!(structs::PhysicalDeviceLimits, max_tessellation_evaluation_input_components), offset_of!(structs::PhysicalDeviceLimits, max_tessellation_evaluation_output_components), offset_of!(structs::PhysicalDeviceLimits, max_geometry_shader_invocations), offset_of!(structs::PhysicalDeviceLimits, max_geometry_input_components), offset_of!(structs::PhysicalDeviceLimits, max_geometry_output_components), offset_of!(structs::PhysicalDeviceLimits, max_geometry_output_vertices), offset_of!(structs::PhysicalDeviceLimits, max_geometry_total_output_components), offset_of!(structs::PhysicalDeviceLimits, max_fragment_input_components), offset_of!(structs::PhysicalDeviceLimits, max_fragment_output_attachments), offset_of!(structs::PhysicalDeviceLimits, max_fragment_dual_src_attachments), offset_of!(structs::PhysicalDeviceLimits, max_fragment_combined_output_resources), offset_of!(structs::PhysicalDeviceLimits, max_compute_shared_memory_size), offset_of!(structs::PhysicalDeviceLimits, max_compute_work_group_count), offset_of!(structs::PhysicalDeviceLimits, max_compute_work_group_invocations), offset_of!(structs::PhysicalDeviceLimits, max_compute_work_group_size), offset_of!(structs::PhysicalDeviceLimits, sub_pixel_precision_bits), offset_of!(structs::PhysicalDeviceLimits, sub_texel_precision_bits), offset_of!(structs::PhysicalDeviceLimits, mipmap_precision_bits), offset_of!(structs::PhysicalDeviceLimits, max_draw_indexed_index_value), offset_of!(structs::PhysicalDeviceLimits, max_draw_indirect_count), offset_of!(structs::PhysicalDeviceLimits, max_sampler_lod_bias), offset_of!(structs::PhysicalDeviceLimits, max_sampler_anisotropy), offset_of!(structs::PhysicalDeviceLimits, max_viewports), offset_of!(structs::PhysicalDeviceLimits, max_viewport_dimensions), offset_of!(structs::PhysicalDeviceLimits, viewport_bounds_range), offset_of!(structs::PhysicalDeviceLimits, viewport_sub_pixel_bits), offset_of!(structs::PhysicalDeviceLimits, min_memory_map_alignment), offset_of!(structs::PhysicalDeviceLimits, min_texel_buffer_offset_alignment), offset_of!(structs::PhysicalDeviceLimits, min_uniform_buffer_offset_alignment), offset_of!(structs::PhysicalDeviceLimits, min_storage_buffer_offset_alignment), offset_of!(structs::PhysicalDeviceLimits, min_texel_offset), offset_of!(structs::PhysicalDeviceLimits, max_texel_offset), offset_of!(structs::PhysicalDeviceLimits, min_texel_gather_offset), offset_of!(structs::PhysicalDeviceLimits, max_texel_gather_offset), offset_of!(structs::PhysicalDeviceLimits, min_interpolation_offset), offset_of!(structs::PhysicalDeviceLimits, max_interpolation_offset), offset_of!(structs::PhysicalDeviceLimits, sub_pixel_interpolation_offset_bits), offset_of!(structs::PhysicalDeviceLimits, max_framebuffer_width), offset_of!(structs::PhysicalDeviceLimits, max_framebuffer_height), offset_of!(structs::PhysicalDeviceLimits, max_framebuffer_layers), offset_of!(structs::PhysicalDeviceLimits, framebuffer_color_sample_counts), offset_of!(structs::PhysicalDeviceLimits, framebuffer_depth_sample_counts), offset_of!(structs::PhysicalDeviceLimits, framebuffer_stencil_sample_counts), offset_of!(structs::PhysicalDeviceLimits, framebuffer_no_attachments_sample_counts), offset_of!(structs::PhysicalDeviceLimits, max_color_attachments), offset_of!(structs::PhysicalDeviceLimits, sampled_image_color_sample_counts), offset_of!(structs::PhysicalDeviceLimits, sampled_image_integer_sample_counts), offset_of!(structs::PhysicalDeviceLimits, sampled_image_depth_sample_counts), offset_of!(structs::PhysicalDeviceLimits, sampled_image_stencil_sample_counts), offset_of!(structs::PhysicalDeviceLimits, storage_image_sample_counts), offset_of!(structs::PhysicalDeviceLimits, max_sample_mask_words), offset_of!(structs::PhysicalDeviceLimits, timestamp_compute_and_graphics), offset_of!(structs::PhysicalDeviceLimits, timestamp_period), offset_of!(structs::PhysicalDeviceLimits, max_clip_distances), offset_of!(structs::PhysicalDeviceLimits, max_cull_distances), offset_of!(structs::PhysicalDeviceLimits, max_combined_clip_and_cull_distances), offset_of!(structs::PhysicalDeviceLimits, discrete_queue_priorities), offset_of!(structs::PhysicalDeviceLimits, point_size_range), offset_of!(structs::PhysicalDeviceLimits, line_width_range), offset_of!(structs::PhysicalDeviceLimits, point_size_granularity), offset_of!(structs::PhysicalDeviceLimits, line_width_granularity), offset_of!(structs::PhysicalDeviceLimits, strict_lines), offset_of!(structs::PhysicalDeviceLimits, standard_sample_locations), offset_of!(structs::PhysicalDeviceLimits, optimal_buffer_copy_offset_alignment), offset_of!(structs::PhysicalDeviceLimits, optimal_buffer_copy_row_pitch_alignment), offset_of!(structs::PhysicalDeviceLimits, non_coherent_atom_size)); - println!("SemaphoreCreateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SemaphoreCreateInfo, s_type), offset_of!(structs::SemaphoreCreateInfo, p_next), offset_of!(structs::SemaphoreCreateInfo, flags)); - println!("QueryPoolCreateInfo {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::QueryPoolCreateInfo, s_type), offset_of!(structs::QueryPoolCreateInfo, p_next), offset_of!(structs::QueryPoolCreateInfo, flags), offset_of!(structs::QueryPoolCreateInfo, query_type), offset_of!(structs::QueryPoolCreateInfo, query_count), offset_of!(structs::QueryPoolCreateInfo, pipeline_statistics)); - println!("FramebufferCreateInfo {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::FramebufferCreateInfo, s_type), offset_of!(structs::FramebufferCreateInfo, p_next), offset_of!(structs::FramebufferCreateInfo, flags), offset_of!(structs::FramebufferCreateInfo, render_pass), offset_of!(structs::FramebufferCreateInfo, attachment_count), offset_of!(structs::FramebufferCreateInfo, p_attachments), offset_of!(structs::FramebufferCreateInfo, width), offset_of!(structs::FramebufferCreateInfo, height), offset_of!(structs::FramebufferCreateInfo, layers)); - println!("DrawIndirectCommand {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DrawIndirectCommand, vertex_count), offset_of!(structs::DrawIndirectCommand, instance_count), offset_of!(structs::DrawIndirectCommand, first_vertex), offset_of!(structs::DrawIndirectCommand, first_instance)); - println!("DrawIndexedIndirectCommand {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DrawIndexedIndirectCommand, index_count), offset_of!(structs::DrawIndexedIndirectCommand, instance_count), offset_of!(structs::DrawIndexedIndirectCommand, first_index), offset_of!(structs::DrawIndexedIndirectCommand, vertex_offset), offset_of!(structs::DrawIndexedIndirectCommand, first_instance)); - println!("DispatchIndirectCommand {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DispatchIndirectCommand, x), offset_of!(structs::DispatchIndirectCommand, y), offset_of!(structs::DispatchIndirectCommand, z)); - println!("MultiDrawInfoEXT {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::MultiDrawInfoEXT, first_vertex), offset_of!(structs::MultiDrawInfoEXT, vertex_count)); - println!("MultiDrawIndexedInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::MultiDrawIndexedInfoEXT, first_index), offset_of!(structs::MultiDrawIndexedInfoEXT, index_count), offset_of!(structs::MultiDrawIndexedInfoEXT, vertex_offset)); - println!("SubmitInfo {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SubmitInfo, s_type), offset_of!(structs::SubmitInfo, p_next), offset_of!(structs::SubmitInfo, wait_semaphore_count), offset_of!(structs::SubmitInfo, p_wait_semaphores), offset_of!(structs::SubmitInfo, p_wait_dst_stage_mask), offset_of!(structs::SubmitInfo, command_buffer_count), offset_of!(structs::SubmitInfo, p_command_buffers), offset_of!(structs::SubmitInfo, signal_semaphore_count), offset_of!(structs::SubmitInfo, p_signal_semaphores)); - println!("DisplayPropertiesKHR {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DisplayPropertiesKHR, display), offset_of!(structs::DisplayPropertiesKHR, display_name), offset_of!(structs::DisplayPropertiesKHR, physical_dimensions), offset_of!(structs::DisplayPropertiesKHR, physical_resolution), offset_of!(structs::DisplayPropertiesKHR, supported_transforms), offset_of!(structs::DisplayPropertiesKHR, plane_reorder_possible), offset_of!(structs::DisplayPropertiesKHR, persistent_content)); - println!("DisplayPlanePropertiesKHR {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DisplayPlanePropertiesKHR, current_display), offset_of!(structs::DisplayPlanePropertiesKHR, current_stack_index)); - println!("DisplayModeParametersKHR {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DisplayModeParametersKHR, visible_region), offset_of!(structs::DisplayModeParametersKHR, refresh_rate)); - println!("DisplayModePropertiesKHR {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DisplayModePropertiesKHR, display_mode), offset_of!(structs::DisplayModePropertiesKHR, parameters)); - println!("DisplayModeCreateInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DisplayModeCreateInfoKHR, s_type), offset_of!(structs::DisplayModeCreateInfoKHR, p_next), offset_of!(structs::DisplayModeCreateInfoKHR, flags), offset_of!(structs::DisplayModeCreateInfoKHR, parameters)); - println!("DisplayPlaneCapabilitiesKHR {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DisplayPlaneCapabilitiesKHR, supported_alpha), offset_of!(structs::DisplayPlaneCapabilitiesKHR, min_src_position), offset_of!(structs::DisplayPlaneCapabilitiesKHR, max_src_position), offset_of!(structs::DisplayPlaneCapabilitiesKHR, min_src_extent), offset_of!(structs::DisplayPlaneCapabilitiesKHR, max_src_extent), offset_of!(structs::DisplayPlaneCapabilitiesKHR, min_dst_position), offset_of!(structs::DisplayPlaneCapabilitiesKHR, max_dst_position), offset_of!(structs::DisplayPlaneCapabilitiesKHR, min_dst_extent), offset_of!(structs::DisplayPlaneCapabilitiesKHR, max_dst_extent)); - println!("DisplaySurfaceCreateInfoKHR {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DisplaySurfaceCreateInfoKHR, s_type), offset_of!(structs::DisplaySurfaceCreateInfoKHR, p_next), offset_of!(structs::DisplaySurfaceCreateInfoKHR, flags), offset_of!(structs::DisplaySurfaceCreateInfoKHR, display_mode), offset_of!(structs::DisplaySurfaceCreateInfoKHR, plane_index), offset_of!(structs::DisplaySurfaceCreateInfoKHR, plane_stack_index), offset_of!(structs::DisplaySurfaceCreateInfoKHR, transform), offset_of!(structs::DisplaySurfaceCreateInfoKHR, global_alpha), offset_of!(structs::DisplaySurfaceCreateInfoKHR, alpha_mode), offset_of!(structs::DisplaySurfaceCreateInfoKHR, image_extent)); - println!("DisplaySurfaceStereoCreateInfoNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DisplaySurfaceStereoCreateInfoNV, s_type), offset_of!(structs::DisplaySurfaceStereoCreateInfoNV, p_next), offset_of!(structs::DisplaySurfaceStereoCreateInfoNV, stereo_type)); - println!("DisplayPresentInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DisplayPresentInfoKHR, s_type), offset_of!(structs::DisplayPresentInfoKHR, p_next), offset_of!(structs::DisplayPresentInfoKHR, src_rect), offset_of!(structs::DisplayPresentInfoKHR, dst_rect), offset_of!(structs::DisplayPresentInfoKHR, persistent)); - println!("SurfaceCapabilitiesKHR {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SurfaceCapabilitiesKHR, min_image_count), offset_of!(structs::SurfaceCapabilitiesKHR, max_image_count), offset_of!(structs::SurfaceCapabilitiesKHR, current_extent), offset_of!(structs::SurfaceCapabilitiesKHR, min_image_extent), offset_of!(structs::SurfaceCapabilitiesKHR, max_image_extent), offset_of!(structs::SurfaceCapabilitiesKHR, max_image_array_layers), offset_of!(structs::SurfaceCapabilitiesKHR, supported_transforms), offset_of!(structs::SurfaceCapabilitiesKHR, current_transform), offset_of!(structs::SurfaceCapabilitiesKHR, supported_composite_alpha), offset_of!(structs::SurfaceCapabilitiesKHR, supported_usage_flags)); - println!("SurfaceFormatKHR {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SurfaceFormatKHR, format), offset_of!(structs::SurfaceFormatKHR, color_space)); - println!("SwapchainCreateInfoKHR {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SwapchainCreateInfoKHR, s_type), offset_of!(structs::SwapchainCreateInfoKHR, p_next), offset_of!(structs::SwapchainCreateInfoKHR, flags), offset_of!(structs::SwapchainCreateInfoKHR, surface), offset_of!(structs::SwapchainCreateInfoKHR, min_image_count), offset_of!(structs::SwapchainCreateInfoKHR, image_format), offset_of!(structs::SwapchainCreateInfoKHR, image_color_space), offset_of!(structs::SwapchainCreateInfoKHR, image_extent), offset_of!(structs::SwapchainCreateInfoKHR, image_array_layers), offset_of!(structs::SwapchainCreateInfoKHR, image_usage), offset_of!(structs::SwapchainCreateInfoKHR, image_sharing_mode), offset_of!(structs::SwapchainCreateInfoKHR, queue_family_index_count), offset_of!(structs::SwapchainCreateInfoKHR, p_queue_family_indices), offset_of!(structs::SwapchainCreateInfoKHR, pre_transform), offset_of!(structs::SwapchainCreateInfoKHR, composite_alpha), offset_of!(structs::SwapchainCreateInfoKHR, present_mode), offset_of!(structs::SwapchainCreateInfoKHR, clipped), offset_of!(structs::SwapchainCreateInfoKHR, old_swapchain), offset_of!(structs::SwapchainCreateInfoKHR, old_swapchain)); - println!("PresentInfoKHR {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PresentInfoKHR, s_type), offset_of!(structs::PresentInfoKHR, p_next), offset_of!(structs::PresentInfoKHR, wait_semaphore_count), offset_of!(structs::PresentInfoKHR, p_wait_semaphores), offset_of!(structs::PresentInfoKHR, swapchain_count), offset_of!(structs::PresentInfoKHR, p_swapchains), offset_of!(structs::PresentInfoKHR, p_image_indices), offset_of!(structs::PresentInfoKHR, p_results)); - println!("DebugReportCallbackCreateInfoEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DebugReportCallbackCreateInfoEXT, s_type), offset_of!(structs::DebugReportCallbackCreateInfoEXT, p_next), offset_of!(structs::DebugReportCallbackCreateInfoEXT, flags), offset_of!(structs::DebugReportCallbackCreateInfoEXT, pfn_callback), offset_of!(structs::DebugReportCallbackCreateInfoEXT, p_user_data)); - println!("ValidationFlagsEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ValidationFlagsEXT, s_type), offset_of!(structs::ValidationFlagsEXT, p_next), offset_of!(structs::ValidationFlagsEXT, disabled_validation_check_count), offset_of!(structs::ValidationFlagsEXT, p_disabled_validation_checks)); - println!("ValidationFeaturesEXT {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ValidationFeaturesEXT, s_type), offset_of!(structs::ValidationFeaturesEXT, p_next), offset_of!(structs::ValidationFeaturesEXT, enabled_validation_feature_count), offset_of!(structs::ValidationFeaturesEXT, p_enabled_validation_features), offset_of!(structs::ValidationFeaturesEXT, disabled_validation_feature_count), offset_of!(structs::ValidationFeaturesEXT, p_disabled_validation_features)); - println!("LayerSettingsCreateInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::LayerSettingsCreateInfoEXT, s_type), offset_of!(structs::LayerSettingsCreateInfoEXT, p_next), offset_of!(structs::LayerSettingsCreateInfoEXT, setting_count), offset_of!(structs::LayerSettingsCreateInfoEXT, p_settings)); - println!("LayerSettingEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::LayerSettingEXT, p_layer_name), offset_of!(structs::LayerSettingEXT, p_setting_name), offset_of!(structs::LayerSettingEXT, value_count), offset_of!(structs::LayerSettingEXT, p_values)); - println!("PipelineRasterizationStateRasterizationOrderAMD {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineRasterizationStateRasterizationOrderAMD, s_type), offset_of!(structs::PipelineRasterizationStateRasterizationOrderAMD, p_next), offset_of!(structs::PipelineRasterizationStateRasterizationOrderAMD, rasterization_order)); - println!("DebugMarkerObjectNameInfoEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DebugMarkerObjectNameInfoEXT, s_type), offset_of!(structs::DebugMarkerObjectNameInfoEXT, p_next), offset_of!(structs::DebugMarkerObjectNameInfoEXT, object_type), offset_of!(structs::DebugMarkerObjectNameInfoEXT, object), offset_of!(structs::DebugMarkerObjectNameInfoEXT, p_object_name)); - println!("DebugMarkerObjectTagInfoEXT {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DebugMarkerObjectTagInfoEXT, s_type), offset_of!(structs::DebugMarkerObjectTagInfoEXT, p_next), offset_of!(structs::DebugMarkerObjectTagInfoEXT, object_type), offset_of!(structs::DebugMarkerObjectTagInfoEXT, object), offset_of!(structs::DebugMarkerObjectTagInfoEXT, tag_name), offset_of!(structs::DebugMarkerObjectTagInfoEXT, tag_size), offset_of!(structs::DebugMarkerObjectTagInfoEXT, p_tag)); - println!("DebugMarkerMarkerInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DebugMarkerMarkerInfoEXT, s_type), offset_of!(structs::DebugMarkerMarkerInfoEXT, p_next), offset_of!(structs::DebugMarkerMarkerInfoEXT, p_marker_name), offset_of!(structs::DebugMarkerMarkerInfoEXT, color)); - println!("DedicatedAllocationImageCreateInfoNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DedicatedAllocationImageCreateInfoNV, s_type), offset_of!(structs::DedicatedAllocationImageCreateInfoNV, p_next), offset_of!(structs::DedicatedAllocationImageCreateInfoNV, dedicated_allocation)); - println!("DedicatedAllocationBufferCreateInfoNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DedicatedAllocationBufferCreateInfoNV, s_type), offset_of!(structs::DedicatedAllocationBufferCreateInfoNV, p_next), offset_of!(structs::DedicatedAllocationBufferCreateInfoNV, dedicated_allocation)); - println!("DedicatedAllocationMemoryAllocateInfoNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DedicatedAllocationMemoryAllocateInfoNV, s_type), offset_of!(structs::DedicatedAllocationMemoryAllocateInfoNV, p_next), offset_of!(structs::DedicatedAllocationMemoryAllocateInfoNV, image), offset_of!(structs::DedicatedAllocationMemoryAllocateInfoNV, buffer)); - println!("ExternalImageFormatPropertiesNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ExternalImageFormatPropertiesNV, image_format_properties), offset_of!(structs::ExternalImageFormatPropertiesNV, external_memory_features), offset_of!(structs::ExternalImageFormatPropertiesNV, export_from_imported_handle_types), offset_of!(structs::ExternalImageFormatPropertiesNV, compatible_handle_types)); - println!("ExternalMemoryImageCreateInfoNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ExternalMemoryImageCreateInfoNV, s_type), offset_of!(structs::ExternalMemoryImageCreateInfoNV, p_next), offset_of!(structs::ExternalMemoryImageCreateInfoNV, handle_types)); - println!("ExportMemoryAllocateInfoNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ExportMemoryAllocateInfoNV, s_type), offset_of!(structs::ExportMemoryAllocateInfoNV, p_next), offset_of!(structs::ExportMemoryAllocateInfoNV, handle_types)); - println!("PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, s_type), offset_of!(structs::PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, p_next), offset_of!(structs::PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, device_generated_commands)); - println!("PushConstantBankInfoNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PushConstantBankInfoNV, s_type), offset_of!(structs::PushConstantBankInfoNV, p_next), offset_of!(structs::PushConstantBankInfoNV, bank)); - println!("PhysicalDevicePushConstantBankFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDevicePushConstantBankFeaturesNV, s_type), offset_of!(structs::PhysicalDevicePushConstantBankFeaturesNV, p_next), offset_of!(structs::PhysicalDevicePushConstantBankFeaturesNV, push_constant_bank)); - println!("PhysicalDevicePushConstantBankPropertiesNV {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDevicePushConstantBankPropertiesNV, s_type), offset_of!(structs::PhysicalDevicePushConstantBankPropertiesNV, p_next), offset_of!(structs::PhysicalDevicePushConstantBankPropertiesNV, max_graphics_push_constant_banks), offset_of!(structs::PhysicalDevicePushConstantBankPropertiesNV, max_compute_push_constant_banks), offset_of!(structs::PhysicalDevicePushConstantBankPropertiesNV, max_graphics_push_data_banks), offset_of!(structs::PhysicalDevicePushConstantBankPropertiesNV, max_compute_push_data_banks)); - println!("PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV, s_type), offset_of!(structs::PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV, p_next), offset_of!(structs::PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV, device_generated_compute), offset_of!(structs::PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV, device_generated_compute_pipelines), offset_of!(structs::PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV, device_generated_compute_capture_replay)); - println!("DevicePrivateDataCreateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DevicePrivateDataCreateInfo, s_type), offset_of!(structs::DevicePrivateDataCreateInfo, p_next), offset_of!(structs::DevicePrivateDataCreateInfo, private_data_slot_request_count)); - println!("PrivateDataSlotCreateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PrivateDataSlotCreateInfo, s_type), offset_of!(structs::PrivateDataSlotCreateInfo, p_next), offset_of!(structs::PrivateDataSlotCreateInfo, flags)); - println!("PhysicalDevicePrivateDataFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDevicePrivateDataFeatures, s_type), offset_of!(structs::PhysicalDevicePrivateDataFeatures, p_next), offset_of!(structs::PhysicalDevicePrivateDataFeatures, private_data)); - println!("PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, s_type), offset_of!(structs::PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, p_next), offset_of!(structs::PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, max_graphics_shader_group_count), offset_of!(structs::PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, max_indirect_sequence_count), offset_of!(structs::PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, max_indirect_commands_token_count), offset_of!(structs::PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, max_indirect_commands_stream_count), offset_of!(structs::PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, max_indirect_commands_token_offset), offset_of!(structs::PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, max_indirect_commands_stream_stride), offset_of!(structs::PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, min_sequences_count_buffer_offset_alignment), offset_of!(structs::PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, min_sequences_index_buffer_offset_alignment), offset_of!(structs::PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, min_indirect_commands_buffer_offset_alignment)); - println!("PhysicalDeviceClusterAccelerationStructureFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceClusterAccelerationStructureFeaturesNV, s_type), offset_of!(structs::PhysicalDeviceClusterAccelerationStructureFeaturesNV, p_next), offset_of!(structs::PhysicalDeviceClusterAccelerationStructureFeaturesNV, cluster_acceleration_structure)); - println!("PhysicalDeviceClusterAccelerationStructurePropertiesNV {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceClusterAccelerationStructurePropertiesNV, s_type), offset_of!(structs::PhysicalDeviceClusterAccelerationStructurePropertiesNV, p_next), offset_of!(structs::PhysicalDeviceClusterAccelerationStructurePropertiesNV, max_vertices_per_cluster), offset_of!(structs::PhysicalDeviceClusterAccelerationStructurePropertiesNV, max_triangles_per_cluster), offset_of!(structs::PhysicalDeviceClusterAccelerationStructurePropertiesNV, cluster_scratch_byte_alignment), offset_of!(structs::PhysicalDeviceClusterAccelerationStructurePropertiesNV, cluster_byte_alignment), offset_of!(structs::PhysicalDeviceClusterAccelerationStructurePropertiesNV, cluster_template_byte_alignment), offset_of!(structs::PhysicalDeviceClusterAccelerationStructurePropertiesNV, cluster_bottom_level_byte_alignment), offset_of!(structs::PhysicalDeviceClusterAccelerationStructurePropertiesNV, cluster_template_bounds_byte_alignment), offset_of!(structs::PhysicalDeviceClusterAccelerationStructurePropertiesNV, max_cluster_geometry_index)); - println!("StridedDeviceAddressNV {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::StridedDeviceAddressNV, start_address), offset_of!(structs::StridedDeviceAddressNV, stride_in_bytes)); - println!("RayTracingPipelineClusterAccelerationStructureCreateInfoNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::RayTracingPipelineClusterAccelerationStructureCreateInfoNV, s_type), offset_of!(structs::RayTracingPipelineClusterAccelerationStructureCreateInfoNV, p_next), offset_of!(structs::RayTracingPipelineClusterAccelerationStructureCreateInfoNV, allow_cluster_acceleration_structure)); - println!("ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV {} {}", size_of::(), align_of::()); - println!("ClusterAccelerationStructureMoveObjectsInfoNV {} {} {}", size_of::(), align_of::(), offset_of!(structs::ClusterAccelerationStructureMoveObjectsInfoNV, src_acceleration_structure)); - println!("ClusterAccelerationStructureBuildClustersBottomLevelInfoNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ClusterAccelerationStructureBuildClustersBottomLevelInfoNV, cluster_references_count), offset_of!(structs::ClusterAccelerationStructureBuildClustersBottomLevelInfoNV, cluster_references_stride), offset_of!(structs::ClusterAccelerationStructureBuildClustersBottomLevelInfoNV, cluster_references)); - println!("ClusterAccelerationStructureGetTemplateIndicesInfoNV {} {} {}", size_of::(), align_of::(), offset_of!(structs::ClusterAccelerationStructureGetTemplateIndicesInfoNV, cluster_template_address)); - println!("ClusterAccelerationStructureBuildTriangleClusterInfoNV {} {}", size_of::(), align_of::()); - println!("ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV {} {}", size_of::(), align_of::()); - println!("ClusterAccelerationStructureInstantiateClusterInfoNV {} {}", size_of::(), align_of::()); - println!("ClusterAccelerationStructureClustersBottomLevelInputNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ClusterAccelerationStructureClustersBottomLevelInputNV, s_type), offset_of!(structs::ClusterAccelerationStructureClustersBottomLevelInputNV, p_next), offset_of!(structs::ClusterAccelerationStructureClustersBottomLevelInputNV, max_total_cluster_count), offset_of!(structs::ClusterAccelerationStructureClustersBottomLevelInputNV, max_cluster_count_per_acceleration_structure)); - println!("ClusterAccelerationStructureTriangleClusterInputNV {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ClusterAccelerationStructureTriangleClusterInputNV, s_type), offset_of!(structs::ClusterAccelerationStructureTriangleClusterInputNV, p_next), offset_of!(structs::ClusterAccelerationStructureTriangleClusterInputNV, vertex_format), offset_of!(structs::ClusterAccelerationStructureTriangleClusterInputNV, max_geometry_index_value), offset_of!(structs::ClusterAccelerationStructureTriangleClusterInputNV, max_cluster_unique_geometry_count), offset_of!(structs::ClusterAccelerationStructureTriangleClusterInputNV, max_cluster_triangle_count), offset_of!(structs::ClusterAccelerationStructureTriangleClusterInputNV, max_cluster_vertex_count), offset_of!(structs::ClusterAccelerationStructureTriangleClusterInputNV, max_total_triangle_count), offset_of!(structs::ClusterAccelerationStructureTriangleClusterInputNV, max_total_vertex_count), offset_of!(structs::ClusterAccelerationStructureTriangleClusterInputNV, min_position_truncate_bit_count)); - println!("ClusterAccelerationStructureMoveObjectsInputNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ClusterAccelerationStructureMoveObjectsInputNV, s_type), offset_of!(structs::ClusterAccelerationStructureMoveObjectsInputNV, p_next), offset_of!(structs::ClusterAccelerationStructureMoveObjectsInputNV, no_move_overlap), offset_of!(structs::ClusterAccelerationStructureMoveObjectsInputNV, max_moved_bytes)); - println!("ClusterAccelerationStructureOpInputNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ClusterAccelerationStructureOpInputNV, p_clusters_bottom_level), offset_of!(structs::ClusterAccelerationStructureOpInputNV, p_triangle_clusters), offset_of!(structs::ClusterAccelerationStructureOpInputNV, p_move_objects)); - println!("ClusterAccelerationStructureInputInfoNV {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ClusterAccelerationStructureInputInfoNV, s_type), offset_of!(structs::ClusterAccelerationStructureInputInfoNV, p_next), offset_of!(structs::ClusterAccelerationStructureInputInfoNV, max_acceleration_structure_count), offset_of!(structs::ClusterAccelerationStructureInputInfoNV, flags), offset_of!(structs::ClusterAccelerationStructureInputInfoNV, op_type), offset_of!(structs::ClusterAccelerationStructureInputInfoNV, op_mode), offset_of!(structs::ClusterAccelerationStructureInputInfoNV, op_input)); - println!("ClusterAccelerationStructureCommandsInfoNV {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ClusterAccelerationStructureCommandsInfoNV, s_type), offset_of!(structs::ClusterAccelerationStructureCommandsInfoNV, p_next), offset_of!(structs::ClusterAccelerationStructureCommandsInfoNV, input), offset_of!(structs::ClusterAccelerationStructureCommandsInfoNV, dst_implicit_data), offset_of!(structs::ClusterAccelerationStructureCommandsInfoNV, scratch_data), offset_of!(structs::ClusterAccelerationStructureCommandsInfoNV, dst_addresses_array), offset_of!(structs::ClusterAccelerationStructureCommandsInfoNV, dst_sizes_array), offset_of!(structs::ClusterAccelerationStructureCommandsInfoNV, src_infos_array), offset_of!(structs::ClusterAccelerationStructureCommandsInfoNV, src_infos_count), offset_of!(structs::ClusterAccelerationStructureCommandsInfoNV, address_resolution_flags)); - println!("PhysicalDeviceMultiDrawPropertiesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceMultiDrawPropertiesEXT, s_type), offset_of!(structs::PhysicalDeviceMultiDrawPropertiesEXT, p_next), offset_of!(structs::PhysicalDeviceMultiDrawPropertiesEXT, max_multi_draw_count)); - println!("GraphicsShaderGroupCreateInfoNV {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::GraphicsShaderGroupCreateInfoNV, s_type), offset_of!(structs::GraphicsShaderGroupCreateInfoNV, p_next), offset_of!(structs::GraphicsShaderGroupCreateInfoNV, stage_count), offset_of!(structs::GraphicsShaderGroupCreateInfoNV, p_stages), offset_of!(structs::GraphicsShaderGroupCreateInfoNV, p_vertex_input_state), offset_of!(structs::GraphicsShaderGroupCreateInfoNV, p_tessellation_state)); - println!("GraphicsPipelineShaderGroupsCreateInfoNV {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::GraphicsPipelineShaderGroupsCreateInfoNV, s_type), offset_of!(structs::GraphicsPipelineShaderGroupsCreateInfoNV, p_next), offset_of!(structs::GraphicsPipelineShaderGroupsCreateInfoNV, group_count), offset_of!(structs::GraphicsPipelineShaderGroupsCreateInfoNV, p_groups), offset_of!(structs::GraphicsPipelineShaderGroupsCreateInfoNV, pipeline_count), offset_of!(structs::GraphicsPipelineShaderGroupsCreateInfoNV, p_pipelines)); - println!("BindShaderGroupIndirectCommandNV {} {} {}", size_of::(), align_of::(), offset_of!(structs::BindShaderGroupIndirectCommandNV, group_index)); - println!("BindIndexBufferIndirectCommandNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BindIndexBufferIndirectCommandNV, buffer_address), offset_of!(structs::BindIndexBufferIndirectCommandNV, size), offset_of!(structs::BindIndexBufferIndirectCommandNV, index_type)); - println!("BindVertexBufferIndirectCommandNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BindVertexBufferIndirectCommandNV, buffer_address), offset_of!(structs::BindVertexBufferIndirectCommandNV, size), offset_of!(structs::BindVertexBufferIndirectCommandNV, stride)); - println!("SetStateFlagsIndirectCommandNV {} {} {}", size_of::(), align_of::(), offset_of!(structs::SetStateFlagsIndirectCommandNV, data)); - println!("IndirectCommandsStreamNV {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::IndirectCommandsStreamNV, buffer), offset_of!(structs::IndirectCommandsStreamNV, offset)); - println!("IndirectCommandsLayoutTokenNV {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::IndirectCommandsLayoutTokenNV, s_type), offset_of!(structs::IndirectCommandsLayoutTokenNV, p_next), offset_of!(structs::IndirectCommandsLayoutTokenNV, token_type), offset_of!(structs::IndirectCommandsLayoutTokenNV, stream), offset_of!(structs::IndirectCommandsLayoutTokenNV, offset), offset_of!(structs::IndirectCommandsLayoutTokenNV, vertex_binding_unit), offset_of!(structs::IndirectCommandsLayoutTokenNV, vertex_dynamic_stride), offset_of!(structs::IndirectCommandsLayoutTokenNV, pushconstant_pipeline_layout), offset_of!(structs::IndirectCommandsLayoutTokenNV, pushconstant_shader_stage_flags), offset_of!(structs::IndirectCommandsLayoutTokenNV, pushconstant_offset), offset_of!(structs::IndirectCommandsLayoutTokenNV, pushconstant_size), offset_of!(structs::IndirectCommandsLayoutTokenNV, indirect_state_flags), offset_of!(structs::IndirectCommandsLayoutTokenNV, index_type_count), offset_of!(structs::IndirectCommandsLayoutTokenNV, p_index_types), offset_of!(structs::IndirectCommandsLayoutTokenNV, p_index_type_values)); - println!("IndirectCommandsLayoutCreateInfoNV {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::IndirectCommandsLayoutCreateInfoNV, s_type), offset_of!(structs::IndirectCommandsLayoutCreateInfoNV, p_next), offset_of!(structs::IndirectCommandsLayoutCreateInfoNV, flags), offset_of!(structs::IndirectCommandsLayoutCreateInfoNV, pipeline_bind_point), offset_of!(structs::IndirectCommandsLayoutCreateInfoNV, token_count), offset_of!(structs::IndirectCommandsLayoutCreateInfoNV, p_tokens), offset_of!(structs::IndirectCommandsLayoutCreateInfoNV, stream_count), offset_of!(structs::IndirectCommandsLayoutCreateInfoNV, p_stream_strides)); - println!("GeneratedCommandsInfoNV {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::GeneratedCommandsInfoNV, s_type), offset_of!(structs::GeneratedCommandsInfoNV, p_next), offset_of!(structs::GeneratedCommandsInfoNV, pipeline_bind_point), offset_of!(structs::GeneratedCommandsInfoNV, pipeline), offset_of!(structs::GeneratedCommandsInfoNV, indirect_commands_layout), offset_of!(structs::GeneratedCommandsInfoNV, stream_count), offset_of!(structs::GeneratedCommandsInfoNV, p_streams), offset_of!(structs::GeneratedCommandsInfoNV, sequences_count), offset_of!(structs::GeneratedCommandsInfoNV, preprocess_buffer), offset_of!(structs::GeneratedCommandsInfoNV, preprocess_offset), offset_of!(structs::GeneratedCommandsInfoNV, preprocess_size), offset_of!(structs::GeneratedCommandsInfoNV, sequences_count_buffer), offset_of!(structs::GeneratedCommandsInfoNV, sequences_count_offset), offset_of!(structs::GeneratedCommandsInfoNV, sequences_index_buffer), offset_of!(structs::GeneratedCommandsInfoNV, sequences_index_offset)); - println!("GeneratedCommandsMemoryRequirementsInfoNV {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::GeneratedCommandsMemoryRequirementsInfoNV, s_type), offset_of!(structs::GeneratedCommandsMemoryRequirementsInfoNV, p_next), offset_of!(structs::GeneratedCommandsMemoryRequirementsInfoNV, pipeline_bind_point), offset_of!(structs::GeneratedCommandsMemoryRequirementsInfoNV, pipeline), offset_of!(structs::GeneratedCommandsMemoryRequirementsInfoNV, indirect_commands_layout), offset_of!(structs::GeneratedCommandsMemoryRequirementsInfoNV, max_sequences_count)); - println!("PipelineIndirectDeviceAddressInfoNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineIndirectDeviceAddressInfoNV, s_type), offset_of!(structs::PipelineIndirectDeviceAddressInfoNV, p_next), offset_of!(structs::PipelineIndirectDeviceAddressInfoNV, pipeline_bind_point), offset_of!(structs::PipelineIndirectDeviceAddressInfoNV, pipeline)); - println!("BindPipelineIndirectCommandNV {} {} {}", size_of::(), align_of::(), offset_of!(structs::BindPipelineIndirectCommandNV, pipeline_address)); - println!("PhysicalDeviceFeatures2 {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceFeatures2, s_type), offset_of!(structs::PhysicalDeviceFeatures2, p_next), offset_of!(structs::PhysicalDeviceFeatures2, features)); - println!("PhysicalDeviceProperties2 {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceProperties2, s_type), offset_of!(structs::PhysicalDeviceProperties2, p_next), offset_of!(structs::PhysicalDeviceProperties2, properties)); - println!("FormatProperties2 {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::FormatProperties2, s_type), offset_of!(structs::FormatProperties2, p_next), offset_of!(structs::FormatProperties2, format_properties)); - println!("ImageFormatProperties2 {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImageFormatProperties2, s_type), offset_of!(structs::ImageFormatProperties2, p_next), offset_of!(structs::ImageFormatProperties2, image_format_properties)); - println!("PhysicalDeviceImageFormatInfo2 {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceImageFormatInfo2, s_type), offset_of!(structs::PhysicalDeviceImageFormatInfo2, p_next), offset_of!(structs::PhysicalDeviceImageFormatInfo2, format), offset_of!(structs::PhysicalDeviceImageFormatInfo2, tiling), offset_of!(structs::PhysicalDeviceImageFormatInfo2, usage), offset_of!(structs::PhysicalDeviceImageFormatInfo2, flags)); - println!("QueueFamilyProperties2 {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::QueueFamilyProperties2, s_type), offset_of!(structs::QueueFamilyProperties2, p_next), offset_of!(structs::QueueFamilyProperties2, queue_family_properties)); - println!("PhysicalDeviceMemoryProperties2 {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceMemoryProperties2, s_type), offset_of!(structs::PhysicalDeviceMemoryProperties2, p_next), offset_of!(structs::PhysicalDeviceMemoryProperties2, memory_properties)); - println!("SparseImageFormatProperties2 {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SparseImageFormatProperties2, s_type), offset_of!(structs::SparseImageFormatProperties2, p_next), offset_of!(structs::SparseImageFormatProperties2, properties)); - println!("PhysicalDeviceSparseImageFormatInfo2 {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceSparseImageFormatInfo2, s_type), offset_of!(structs::PhysicalDeviceSparseImageFormatInfo2, p_next), offset_of!(structs::PhysicalDeviceSparseImageFormatInfo2, format), offset_of!(structs::PhysicalDeviceSparseImageFormatInfo2, samples), offset_of!(structs::PhysicalDeviceSparseImageFormatInfo2, usage), offset_of!(structs::PhysicalDeviceSparseImageFormatInfo2, tiling)); - println!("PhysicalDevicePushDescriptorProperties {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDevicePushDescriptorProperties, s_type), offset_of!(structs::PhysicalDevicePushDescriptorProperties, p_next), offset_of!(structs::PhysicalDevicePushDescriptorProperties, max_push_descriptors)); - println!("ConformanceVersion {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ConformanceVersion, major), offset_of!(structs::ConformanceVersion, minor), offset_of!(structs::ConformanceVersion, subminor), offset_of!(structs::ConformanceVersion, patch)); - println!("PhysicalDeviceDriverProperties {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceDriverProperties, s_type), offset_of!(structs::PhysicalDeviceDriverProperties, p_next), offset_of!(structs::PhysicalDeviceDriverProperties, driver_id), offset_of!(structs::PhysicalDeviceDriverProperties, driver_name), offset_of!(structs::PhysicalDeviceDriverProperties, driver_info), offset_of!(structs::PhysicalDeviceDriverProperties, conformance_version)); - println!("PresentRegionsKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PresentRegionsKHR, s_type), offset_of!(structs::PresentRegionsKHR, p_next), offset_of!(structs::PresentRegionsKHR, swapchain_count), offset_of!(structs::PresentRegionsKHR, p_regions)); - println!("PresentRegionKHR {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PresentRegionKHR, rectangle_count), offset_of!(structs::PresentRegionKHR, p_rectangles)); - println!("RectLayerKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::RectLayerKHR, offset), offset_of!(structs::RectLayerKHR, extent), offset_of!(structs::RectLayerKHR, layer)); - println!("PhysicalDeviceVariablePointersFeatures {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceVariablePointersFeatures, s_type), offset_of!(structs::PhysicalDeviceVariablePointersFeatures, p_next), offset_of!(structs::PhysicalDeviceVariablePointersFeatures, variable_pointers_storage_buffer), offset_of!(structs::PhysicalDeviceVariablePointersFeatures, variable_pointers)); - println!("ExternalMemoryProperties {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ExternalMemoryProperties, external_memory_features), offset_of!(structs::ExternalMemoryProperties, export_from_imported_handle_types), offset_of!(structs::ExternalMemoryProperties, compatible_handle_types)); - println!("PhysicalDeviceExternalImageFormatInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceExternalImageFormatInfo, s_type), offset_of!(structs::PhysicalDeviceExternalImageFormatInfo, p_next), offset_of!(structs::PhysicalDeviceExternalImageFormatInfo, handle_type)); - println!("ExternalImageFormatProperties {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ExternalImageFormatProperties, s_type), offset_of!(structs::ExternalImageFormatProperties, p_next), offset_of!(structs::ExternalImageFormatProperties, external_memory_properties)); - println!("PhysicalDeviceExternalBufferInfo {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceExternalBufferInfo, s_type), offset_of!(structs::PhysicalDeviceExternalBufferInfo, p_next), offset_of!(structs::PhysicalDeviceExternalBufferInfo, flags), offset_of!(structs::PhysicalDeviceExternalBufferInfo, usage), offset_of!(structs::PhysicalDeviceExternalBufferInfo, handle_type)); - println!("ExternalBufferProperties {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ExternalBufferProperties, s_type), offset_of!(structs::ExternalBufferProperties, p_next), offset_of!(structs::ExternalBufferProperties, external_memory_properties)); - println!("PhysicalDeviceIDProperties {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceIDProperties, s_type), offset_of!(structs::PhysicalDeviceIDProperties, p_next), offset_of!(structs::PhysicalDeviceIDProperties, device_uuid), offset_of!(structs::PhysicalDeviceIDProperties, driver_uuid), offset_of!(structs::PhysicalDeviceIDProperties, device_luid), offset_of!(structs::PhysicalDeviceIDProperties, device_node_mask), offset_of!(structs::PhysicalDeviceIDProperties, device_luid_valid)); - println!("ExternalMemoryImageCreateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ExternalMemoryImageCreateInfo, s_type), offset_of!(structs::ExternalMemoryImageCreateInfo, p_next), offset_of!(structs::ExternalMemoryImageCreateInfo, handle_types)); - println!("ExternalMemoryBufferCreateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ExternalMemoryBufferCreateInfo, s_type), offset_of!(structs::ExternalMemoryBufferCreateInfo, p_next), offset_of!(structs::ExternalMemoryBufferCreateInfo, handle_types)); - println!("ExportMemoryAllocateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ExportMemoryAllocateInfo, s_type), offset_of!(structs::ExportMemoryAllocateInfo, p_next), offset_of!(structs::ExportMemoryAllocateInfo, handle_types)); - println!("ImportMemoryFdInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImportMemoryFdInfoKHR, s_type), offset_of!(structs::ImportMemoryFdInfoKHR, p_next), offset_of!(structs::ImportMemoryFdInfoKHR, handle_type), offset_of!(structs::ImportMemoryFdInfoKHR, fd)); - println!("MemoryFdPropertiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::MemoryFdPropertiesKHR, s_type), offset_of!(structs::MemoryFdPropertiesKHR, p_next), offset_of!(structs::MemoryFdPropertiesKHR, memory_type_bits)); - println!("MemoryGetFdInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::MemoryGetFdInfoKHR, s_type), offset_of!(structs::MemoryGetFdInfoKHR, p_next), offset_of!(structs::MemoryGetFdInfoKHR, memory), offset_of!(structs::MemoryGetFdInfoKHR, handle_type)); - println!("PhysicalDeviceExternalSemaphoreInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceExternalSemaphoreInfo, s_type), offset_of!(structs::PhysicalDeviceExternalSemaphoreInfo, p_next), offset_of!(structs::PhysicalDeviceExternalSemaphoreInfo, handle_type)); - println!("ExternalSemaphoreProperties {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ExternalSemaphoreProperties, s_type), offset_of!(structs::ExternalSemaphoreProperties, p_next), offset_of!(structs::ExternalSemaphoreProperties, export_from_imported_handle_types), offset_of!(structs::ExternalSemaphoreProperties, compatible_handle_types), offset_of!(structs::ExternalSemaphoreProperties, external_semaphore_features)); - println!("ExportSemaphoreCreateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ExportSemaphoreCreateInfo, s_type), offset_of!(structs::ExportSemaphoreCreateInfo, p_next), offset_of!(structs::ExportSemaphoreCreateInfo, handle_types)); - println!("ImportSemaphoreFdInfoKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImportSemaphoreFdInfoKHR, s_type), offset_of!(structs::ImportSemaphoreFdInfoKHR, p_next), offset_of!(structs::ImportSemaphoreFdInfoKHR, semaphore), offset_of!(structs::ImportSemaphoreFdInfoKHR, flags), offset_of!(structs::ImportSemaphoreFdInfoKHR, handle_type), offset_of!(structs::ImportSemaphoreFdInfoKHR, fd)); - println!("SemaphoreGetFdInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SemaphoreGetFdInfoKHR, s_type), offset_of!(structs::SemaphoreGetFdInfoKHR, p_next), offset_of!(structs::SemaphoreGetFdInfoKHR, semaphore), offset_of!(structs::SemaphoreGetFdInfoKHR, handle_type)); - println!("PhysicalDeviceExternalFenceInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceExternalFenceInfo, s_type), offset_of!(structs::PhysicalDeviceExternalFenceInfo, p_next), offset_of!(structs::PhysicalDeviceExternalFenceInfo, handle_type)); - println!("ExternalFenceProperties {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ExternalFenceProperties, s_type), offset_of!(structs::ExternalFenceProperties, p_next), offset_of!(structs::ExternalFenceProperties, export_from_imported_handle_types), offset_of!(structs::ExternalFenceProperties, compatible_handle_types), offset_of!(structs::ExternalFenceProperties, external_fence_features)); - println!("ExportFenceCreateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ExportFenceCreateInfo, s_type), offset_of!(structs::ExportFenceCreateInfo, p_next), offset_of!(structs::ExportFenceCreateInfo, handle_types)); - println!("ImportFenceFdInfoKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImportFenceFdInfoKHR, s_type), offset_of!(structs::ImportFenceFdInfoKHR, p_next), offset_of!(structs::ImportFenceFdInfoKHR, fence), offset_of!(structs::ImportFenceFdInfoKHR, flags), offset_of!(structs::ImportFenceFdInfoKHR, handle_type), offset_of!(structs::ImportFenceFdInfoKHR, fd)); - println!("FenceGetFdInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::FenceGetFdInfoKHR, s_type), offset_of!(structs::FenceGetFdInfoKHR, p_next), offset_of!(structs::FenceGetFdInfoKHR, fence), offset_of!(structs::FenceGetFdInfoKHR, handle_type)); - println!("PhysicalDeviceMultiviewFeatures {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceMultiviewFeatures, s_type), offset_of!(structs::PhysicalDeviceMultiviewFeatures, p_next), offset_of!(structs::PhysicalDeviceMultiviewFeatures, multiview), offset_of!(structs::PhysicalDeviceMultiviewFeatures, multiview_geometry_shader), offset_of!(structs::PhysicalDeviceMultiviewFeatures, multiview_tessellation_shader)); - println!("PhysicalDeviceMultiviewProperties {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceMultiviewProperties, s_type), offset_of!(structs::PhysicalDeviceMultiviewProperties, p_next), offset_of!(structs::PhysicalDeviceMultiviewProperties, max_multiview_view_count), offset_of!(structs::PhysicalDeviceMultiviewProperties, max_multiview_instance_index)); - println!("RenderPassMultiviewCreateInfo {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::RenderPassMultiviewCreateInfo, s_type), offset_of!(structs::RenderPassMultiviewCreateInfo, p_next), offset_of!(structs::RenderPassMultiviewCreateInfo, subpass_count), offset_of!(structs::RenderPassMultiviewCreateInfo, p_view_masks), offset_of!(structs::RenderPassMultiviewCreateInfo, dependency_count), offset_of!(structs::RenderPassMultiviewCreateInfo, p_view_offsets), offset_of!(structs::RenderPassMultiviewCreateInfo, correlation_mask_count), offset_of!(structs::RenderPassMultiviewCreateInfo, p_correlation_masks)); - println!("SurfaceCapabilities2EXT {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SurfaceCapabilities2EXT, s_type), offset_of!(structs::SurfaceCapabilities2EXT, p_next), offset_of!(structs::SurfaceCapabilities2EXT, min_image_count), offset_of!(structs::SurfaceCapabilities2EXT, max_image_count), offset_of!(structs::SurfaceCapabilities2EXT, current_extent), offset_of!(structs::SurfaceCapabilities2EXT, min_image_extent), offset_of!(structs::SurfaceCapabilities2EXT, max_image_extent), offset_of!(structs::SurfaceCapabilities2EXT, max_image_array_layers), offset_of!(structs::SurfaceCapabilities2EXT, supported_transforms), offset_of!(structs::SurfaceCapabilities2EXT, current_transform), offset_of!(structs::SurfaceCapabilities2EXT, supported_composite_alpha), offset_of!(structs::SurfaceCapabilities2EXT, supported_usage_flags), offset_of!(structs::SurfaceCapabilities2EXT, supported_surface_counters)); - println!("DisplayPowerInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DisplayPowerInfoEXT, s_type), offset_of!(structs::DisplayPowerInfoEXT, p_next), offset_of!(structs::DisplayPowerInfoEXT, power_state)); - println!("DeviceEventInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DeviceEventInfoEXT, s_type), offset_of!(structs::DeviceEventInfoEXT, p_next), offset_of!(structs::DeviceEventInfoEXT, device_event)); - println!("DisplayEventInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DisplayEventInfoEXT, s_type), offset_of!(structs::DisplayEventInfoEXT, p_next), offset_of!(structs::DisplayEventInfoEXT, display_event)); - println!("SwapchainCounterCreateInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SwapchainCounterCreateInfoEXT, s_type), offset_of!(structs::SwapchainCounterCreateInfoEXT, p_next), offset_of!(structs::SwapchainCounterCreateInfoEXT, surface_counters)); - println!("PhysicalDeviceGroupProperties {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceGroupProperties, s_type), offset_of!(structs::PhysicalDeviceGroupProperties, p_next), offset_of!(structs::PhysicalDeviceGroupProperties, physical_device_count), offset_of!(structs::PhysicalDeviceGroupProperties, physical_devices), offset_of!(structs::PhysicalDeviceGroupProperties, subset_allocation)); - println!("MemoryAllocateFlagsInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::MemoryAllocateFlagsInfo, s_type), offset_of!(structs::MemoryAllocateFlagsInfo, p_next), offset_of!(structs::MemoryAllocateFlagsInfo, flags), offset_of!(structs::MemoryAllocateFlagsInfo, device_mask)); - println!("BindBufferMemoryInfo {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BindBufferMemoryInfo, s_type), offset_of!(structs::BindBufferMemoryInfo, p_next), offset_of!(structs::BindBufferMemoryInfo, buffer), offset_of!(structs::BindBufferMemoryInfo, memory), offset_of!(structs::BindBufferMemoryInfo, memory_offset)); - println!("BindBufferMemoryDeviceGroupInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BindBufferMemoryDeviceGroupInfo, s_type), offset_of!(structs::BindBufferMemoryDeviceGroupInfo, p_next), offset_of!(structs::BindBufferMemoryDeviceGroupInfo, device_index_count), offset_of!(structs::BindBufferMemoryDeviceGroupInfo, p_device_indices)); - println!("BindImageMemoryInfo {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BindImageMemoryInfo, s_type), offset_of!(structs::BindImageMemoryInfo, p_next), offset_of!(structs::BindImageMemoryInfo, image), offset_of!(structs::BindImageMemoryInfo, memory), offset_of!(structs::BindImageMemoryInfo, memory_offset)); - println!("BindImageMemoryDeviceGroupInfo {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BindImageMemoryDeviceGroupInfo, s_type), offset_of!(structs::BindImageMemoryDeviceGroupInfo, p_next), offset_of!(structs::BindImageMemoryDeviceGroupInfo, device_index_count), offset_of!(structs::BindImageMemoryDeviceGroupInfo, p_device_indices), offset_of!(structs::BindImageMemoryDeviceGroupInfo, split_instance_bind_region_count), offset_of!(structs::BindImageMemoryDeviceGroupInfo, p_split_instance_bind_regions)); - println!("DeviceGroupRenderPassBeginInfo {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DeviceGroupRenderPassBeginInfo, s_type), offset_of!(structs::DeviceGroupRenderPassBeginInfo, p_next), offset_of!(structs::DeviceGroupRenderPassBeginInfo, device_mask), offset_of!(structs::DeviceGroupRenderPassBeginInfo, device_render_area_count), offset_of!(structs::DeviceGroupRenderPassBeginInfo, p_device_render_areas)); - println!("DeviceGroupCommandBufferBeginInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DeviceGroupCommandBufferBeginInfo, s_type), offset_of!(structs::DeviceGroupCommandBufferBeginInfo, p_next), offset_of!(structs::DeviceGroupCommandBufferBeginInfo, device_mask)); - println!("DeviceGroupSubmitInfo {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DeviceGroupSubmitInfo, s_type), offset_of!(structs::DeviceGroupSubmitInfo, p_next), offset_of!(structs::DeviceGroupSubmitInfo, wait_semaphore_count), offset_of!(structs::DeviceGroupSubmitInfo, p_wait_semaphore_device_indices), offset_of!(structs::DeviceGroupSubmitInfo, command_buffer_count), offset_of!(structs::DeviceGroupSubmitInfo, p_command_buffer_device_masks), offset_of!(structs::DeviceGroupSubmitInfo, signal_semaphore_count), offset_of!(structs::DeviceGroupSubmitInfo, p_signal_semaphore_device_indices)); - println!("DeviceGroupBindSparseInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DeviceGroupBindSparseInfo, s_type), offset_of!(structs::DeviceGroupBindSparseInfo, p_next), offset_of!(structs::DeviceGroupBindSparseInfo, resource_device_index), offset_of!(structs::DeviceGroupBindSparseInfo, memory_device_index)); - println!("DeviceGroupPresentCapabilitiesKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DeviceGroupPresentCapabilitiesKHR, s_type), offset_of!(structs::DeviceGroupPresentCapabilitiesKHR, p_next), offset_of!(structs::DeviceGroupPresentCapabilitiesKHR, present_mask), offset_of!(structs::DeviceGroupPresentCapabilitiesKHR, modes)); - println!("ImageSwapchainCreateInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImageSwapchainCreateInfoKHR, s_type), offset_of!(structs::ImageSwapchainCreateInfoKHR, p_next), offset_of!(structs::ImageSwapchainCreateInfoKHR, swapchain)); - println!("BindImageMemorySwapchainInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BindImageMemorySwapchainInfoKHR, s_type), offset_of!(structs::BindImageMemorySwapchainInfoKHR, p_next), offset_of!(structs::BindImageMemorySwapchainInfoKHR, swapchain), offset_of!(structs::BindImageMemorySwapchainInfoKHR, image_index)); - println!("AcquireNextImageInfoKHR {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::AcquireNextImageInfoKHR, s_type), offset_of!(structs::AcquireNextImageInfoKHR, p_next), offset_of!(structs::AcquireNextImageInfoKHR, swapchain), offset_of!(structs::AcquireNextImageInfoKHR, timeout), offset_of!(structs::AcquireNextImageInfoKHR, semaphore), offset_of!(structs::AcquireNextImageInfoKHR, fence), offset_of!(structs::AcquireNextImageInfoKHR, device_mask)); - println!("DeviceGroupPresentInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DeviceGroupPresentInfoKHR, s_type), offset_of!(structs::DeviceGroupPresentInfoKHR, p_next), offset_of!(structs::DeviceGroupPresentInfoKHR, swapchain_count), offset_of!(structs::DeviceGroupPresentInfoKHR, p_device_masks), offset_of!(structs::DeviceGroupPresentInfoKHR, mode)); - println!("DeviceGroupDeviceCreateInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DeviceGroupDeviceCreateInfo, s_type), offset_of!(structs::DeviceGroupDeviceCreateInfo, p_next), offset_of!(structs::DeviceGroupDeviceCreateInfo, physical_device_count), offset_of!(structs::DeviceGroupDeviceCreateInfo, p_physical_devices)); - println!("DeviceGroupSwapchainCreateInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DeviceGroupSwapchainCreateInfoKHR, s_type), offset_of!(structs::DeviceGroupSwapchainCreateInfoKHR, p_next), offset_of!(structs::DeviceGroupSwapchainCreateInfoKHR, modes)); - println!("DescriptorUpdateTemplateEntry {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DescriptorUpdateTemplateEntry, dst_binding), offset_of!(structs::DescriptorUpdateTemplateEntry, dst_array_element), offset_of!(structs::DescriptorUpdateTemplateEntry, descriptor_count), offset_of!(structs::DescriptorUpdateTemplateEntry, descriptor_type), offset_of!(structs::DescriptorUpdateTemplateEntry, offset), offset_of!(structs::DescriptorUpdateTemplateEntry, stride)); - println!("DescriptorUpdateTemplateCreateInfo {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DescriptorUpdateTemplateCreateInfo, s_type), offset_of!(structs::DescriptorUpdateTemplateCreateInfo, p_next), offset_of!(structs::DescriptorUpdateTemplateCreateInfo, flags), offset_of!(structs::DescriptorUpdateTemplateCreateInfo, descriptor_update_entry_count), offset_of!(structs::DescriptorUpdateTemplateCreateInfo, p_descriptor_update_entries), offset_of!(structs::DescriptorUpdateTemplateCreateInfo, template_type), offset_of!(structs::DescriptorUpdateTemplateCreateInfo, descriptor_set_layout), offset_of!(structs::DescriptorUpdateTemplateCreateInfo, pipeline_bind_point), offset_of!(structs::DescriptorUpdateTemplateCreateInfo, pipeline_layout), offset_of!(structs::DescriptorUpdateTemplateCreateInfo, set)); - println!("XYColorEXT {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::XYColorEXT, x), offset_of!(structs::XYColorEXT, y)); - println!("PhysicalDevicePresentIdFeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDevicePresentIdFeaturesKHR, s_type), offset_of!(structs::PhysicalDevicePresentIdFeaturesKHR, p_next), offset_of!(structs::PhysicalDevicePresentIdFeaturesKHR, present_id)); - println!("PresentIdKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PresentIdKHR, s_type), offset_of!(structs::PresentIdKHR, p_next), offset_of!(structs::PresentIdKHR, swapchain_count), offset_of!(structs::PresentIdKHR, p_present_ids)); - println!("PhysicalDevicePresentId2FeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDevicePresentId2FeaturesKHR, s_type), offset_of!(structs::PhysicalDevicePresentId2FeaturesKHR, p_next), offset_of!(structs::PhysicalDevicePresentId2FeaturesKHR, present_id2)); - println!("PresentId2KHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PresentId2KHR, s_type), offset_of!(structs::PresentId2KHR, p_next), offset_of!(structs::PresentId2KHR, swapchain_count), offset_of!(structs::PresentId2KHR, p_present_ids)); - println!("PresentWait2InfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PresentWait2InfoKHR, s_type), offset_of!(structs::PresentWait2InfoKHR, p_next), offset_of!(structs::PresentWait2InfoKHR, present_id), offset_of!(structs::PresentWait2InfoKHR, timeout)); - println!("PhysicalDevicePresentWaitFeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDevicePresentWaitFeaturesKHR, s_type), offset_of!(structs::PhysicalDevicePresentWaitFeaturesKHR, p_next), offset_of!(structs::PhysicalDevicePresentWaitFeaturesKHR, present_wait)); - println!("PhysicalDevicePresentWait2FeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDevicePresentWait2FeaturesKHR, s_type), offset_of!(structs::PhysicalDevicePresentWait2FeaturesKHR, p_next), offset_of!(structs::PhysicalDevicePresentWait2FeaturesKHR, present_wait2)); - println!("PhysicalDevicePresentTimingFeaturesEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDevicePresentTimingFeaturesEXT, s_type), offset_of!(structs::PhysicalDevicePresentTimingFeaturesEXT, p_next), offset_of!(structs::PhysicalDevicePresentTimingFeaturesEXT, present_timing), offset_of!(structs::PhysicalDevicePresentTimingFeaturesEXT, present_at_absolute_time), offset_of!(structs::PhysicalDevicePresentTimingFeaturesEXT, present_at_relative_time)); - println!("PresentTimingSurfaceCapabilitiesEXT {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PresentTimingSurfaceCapabilitiesEXT, s_type), offset_of!(structs::PresentTimingSurfaceCapabilitiesEXT, p_next), offset_of!(structs::PresentTimingSurfaceCapabilitiesEXT, present_timing_supported), offset_of!(structs::PresentTimingSurfaceCapabilitiesEXT, present_at_absolute_time_supported), offset_of!(structs::PresentTimingSurfaceCapabilitiesEXT, present_at_relative_time_supported), offset_of!(structs::PresentTimingSurfaceCapabilitiesEXT, present_stage_queries)); - println!("SwapchainTimingPropertiesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SwapchainTimingPropertiesEXT, s_type), offset_of!(structs::SwapchainTimingPropertiesEXT, p_next), offset_of!(structs::SwapchainTimingPropertiesEXT, refresh_duration), offset_of!(structs::SwapchainTimingPropertiesEXT, refresh_interval)); - println!("SwapchainTimeDomainPropertiesEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SwapchainTimeDomainPropertiesEXT, s_type), offset_of!(structs::SwapchainTimeDomainPropertiesEXT, p_next), offset_of!(structs::SwapchainTimeDomainPropertiesEXT, time_domain_count), offset_of!(structs::SwapchainTimeDomainPropertiesEXT, p_time_domains), offset_of!(structs::SwapchainTimeDomainPropertiesEXT, p_time_domain_ids)); - println!("PresentStageTimeEXT {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PresentStageTimeEXT, stage), offset_of!(structs::PresentStageTimeEXT, time)); - println!("PastPresentationTimingInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PastPresentationTimingInfoEXT, s_type), offset_of!(structs::PastPresentationTimingInfoEXT, p_next), offset_of!(structs::PastPresentationTimingInfoEXT, flags), offset_of!(structs::PastPresentationTimingInfoEXT, swapchain)); - println!("PastPresentationTimingPropertiesEXT {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PastPresentationTimingPropertiesEXT, s_type), offset_of!(structs::PastPresentationTimingPropertiesEXT, p_next), offset_of!(structs::PastPresentationTimingPropertiesEXT, timing_properties_counter), offset_of!(structs::PastPresentationTimingPropertiesEXT, time_domains_counter), offset_of!(structs::PastPresentationTimingPropertiesEXT, presentation_timing_count), offset_of!(structs::PastPresentationTimingPropertiesEXT, p_presentation_timings)); - println!("PastPresentationTimingEXT {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PastPresentationTimingEXT, s_type), offset_of!(structs::PastPresentationTimingEXT, p_next), offset_of!(structs::PastPresentationTimingEXT, present_id), offset_of!(structs::PastPresentationTimingEXT, target_time), offset_of!(structs::PastPresentationTimingEXT, present_stage_count), offset_of!(structs::PastPresentationTimingEXT, p_present_stages), offset_of!(structs::PastPresentationTimingEXT, time_domain), offset_of!(structs::PastPresentationTimingEXT, time_domain_id), offset_of!(structs::PastPresentationTimingEXT, report_complete)); - println!("PresentTimingsInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PresentTimingsInfoEXT, s_type), offset_of!(structs::PresentTimingsInfoEXT, p_next), offset_of!(structs::PresentTimingsInfoEXT, swapchain_count), offset_of!(structs::PresentTimingsInfoEXT, p_timing_infos)); - println!("PresentTimingInfoEXT {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PresentTimingInfoEXT, s_type), offset_of!(structs::PresentTimingInfoEXT, p_next), offset_of!(structs::PresentTimingInfoEXT, flags), offset_of!(structs::PresentTimingInfoEXT, target_time), offset_of!(structs::PresentTimingInfoEXT, time_domain_id), offset_of!(structs::PresentTimingInfoEXT, present_stage_queries), offset_of!(structs::PresentTimingInfoEXT, target_time_domain_present_stage)); - println!("SwapchainCalibratedTimestampInfoEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SwapchainCalibratedTimestampInfoEXT, s_type), offset_of!(structs::SwapchainCalibratedTimestampInfoEXT, p_next), offset_of!(structs::SwapchainCalibratedTimestampInfoEXT, swapchain), offset_of!(structs::SwapchainCalibratedTimestampInfoEXT, present_stage), offset_of!(structs::SwapchainCalibratedTimestampInfoEXT, time_domain_id)); - println!("HdrMetadataEXT {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::HdrMetadataEXT, s_type), offset_of!(structs::HdrMetadataEXT, p_next), offset_of!(structs::HdrMetadataEXT, display_primary_red), offset_of!(structs::HdrMetadataEXT, display_primary_green), offset_of!(structs::HdrMetadataEXT, display_primary_blue), offset_of!(structs::HdrMetadataEXT, white_point), offset_of!(structs::HdrMetadataEXT, max_luminance), offset_of!(structs::HdrMetadataEXT, min_luminance), offset_of!(structs::HdrMetadataEXT, max_content_light_level), offset_of!(structs::HdrMetadataEXT, max_frame_average_light_level)); - println!("HdrVividDynamicMetadataHUAWEI {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::HdrVividDynamicMetadataHUAWEI, s_type), offset_of!(structs::HdrVividDynamicMetadataHUAWEI, p_next), offset_of!(structs::HdrVividDynamicMetadataHUAWEI, dynamic_metadata_size), offset_of!(structs::HdrVividDynamicMetadataHUAWEI, p_dynamic_metadata)); - println!("DisplayNativeHdrSurfaceCapabilitiesAMD {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DisplayNativeHdrSurfaceCapabilitiesAMD, s_type), offset_of!(structs::DisplayNativeHdrSurfaceCapabilitiesAMD, p_next), offset_of!(structs::DisplayNativeHdrSurfaceCapabilitiesAMD, local_dimming_support)); - println!("SwapchainDisplayNativeHdrCreateInfoAMD {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SwapchainDisplayNativeHdrCreateInfoAMD, s_type), offset_of!(structs::SwapchainDisplayNativeHdrCreateInfoAMD, p_next), offset_of!(structs::SwapchainDisplayNativeHdrCreateInfoAMD, local_dimming_enable)); - println!("RefreshCycleDurationGOOGLE {} {} {}", size_of::(), align_of::(), offset_of!(structs::RefreshCycleDurationGOOGLE, refresh_duration)); - println!("PastPresentationTimingGOOGLE {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PastPresentationTimingGOOGLE, present_id), offset_of!(structs::PastPresentationTimingGOOGLE, desired_present_time), offset_of!(structs::PastPresentationTimingGOOGLE, actual_present_time), offset_of!(structs::PastPresentationTimingGOOGLE, earliest_present_time), offset_of!(structs::PastPresentationTimingGOOGLE, present_margin)); - println!("PresentTimesInfoGOOGLE {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PresentTimesInfoGOOGLE, s_type), offset_of!(structs::PresentTimesInfoGOOGLE, p_next), offset_of!(structs::PresentTimesInfoGOOGLE, swapchain_count), offset_of!(structs::PresentTimesInfoGOOGLE, p_times)); - println!("PresentTimeGOOGLE {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PresentTimeGOOGLE, present_id), offset_of!(structs::PresentTimeGOOGLE, desired_present_time)); - println!("ViewportWScalingNV {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ViewportWScalingNV, xcoeff), offset_of!(structs::ViewportWScalingNV, ycoeff)); - println!("PipelineViewportWScalingStateCreateInfoNV {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineViewportWScalingStateCreateInfoNV, s_type), offset_of!(structs::PipelineViewportWScalingStateCreateInfoNV, p_next), offset_of!(structs::PipelineViewportWScalingStateCreateInfoNV, viewport_w_scaling_enable), offset_of!(structs::PipelineViewportWScalingStateCreateInfoNV, viewport_count), offset_of!(structs::PipelineViewportWScalingStateCreateInfoNV, p_viewport_w_scalings)); - println!("ViewportSwizzleNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ViewportSwizzleNV, x), offset_of!(structs::ViewportSwizzleNV, y), offset_of!(structs::ViewportSwizzleNV, z), offset_of!(structs::ViewportSwizzleNV, w)); - println!("PipelineViewportSwizzleStateCreateInfoNV {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineViewportSwizzleStateCreateInfoNV, s_type), offset_of!(structs::PipelineViewportSwizzleStateCreateInfoNV, p_next), offset_of!(structs::PipelineViewportSwizzleStateCreateInfoNV, flags), offset_of!(structs::PipelineViewportSwizzleStateCreateInfoNV, viewport_count), offset_of!(structs::PipelineViewportSwizzleStateCreateInfoNV, p_viewport_swizzles)); - println!("PhysicalDeviceDiscardRectanglePropertiesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceDiscardRectanglePropertiesEXT, s_type), offset_of!(structs::PhysicalDeviceDiscardRectanglePropertiesEXT, p_next), offset_of!(structs::PhysicalDeviceDiscardRectanglePropertiesEXT, max_discard_rectangles)); - println!("PipelineDiscardRectangleStateCreateInfoEXT {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineDiscardRectangleStateCreateInfoEXT, s_type), offset_of!(structs::PipelineDiscardRectangleStateCreateInfoEXT, p_next), offset_of!(structs::PipelineDiscardRectangleStateCreateInfoEXT, flags), offset_of!(structs::PipelineDiscardRectangleStateCreateInfoEXT, discard_rectangle_mode), offset_of!(structs::PipelineDiscardRectangleStateCreateInfoEXT, discard_rectangle_count), offset_of!(structs::PipelineDiscardRectangleStateCreateInfoEXT, p_discard_rectangles)); - println!("PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, s_type), offset_of!(structs::PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, p_next), offset_of!(structs::PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, per_view_position_all_components)); - println!("InputAttachmentAspectReference {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::InputAttachmentAspectReference, subpass), offset_of!(structs::InputAttachmentAspectReference, input_attachment_index), offset_of!(structs::InputAttachmentAspectReference, aspect_mask)); - println!("RenderPassInputAttachmentAspectCreateInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::RenderPassInputAttachmentAspectCreateInfo, s_type), offset_of!(structs::RenderPassInputAttachmentAspectCreateInfo, p_next), offset_of!(structs::RenderPassInputAttachmentAspectCreateInfo, aspect_reference_count), offset_of!(structs::RenderPassInputAttachmentAspectCreateInfo, p_aspect_references)); - println!("PhysicalDeviceSurfaceInfo2KHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceSurfaceInfo2KHR, s_type), offset_of!(structs::PhysicalDeviceSurfaceInfo2KHR, p_next), offset_of!(structs::PhysicalDeviceSurfaceInfo2KHR, surface)); - println!("SurfaceCapabilities2KHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SurfaceCapabilities2KHR, s_type), offset_of!(structs::SurfaceCapabilities2KHR, p_next), offset_of!(structs::SurfaceCapabilities2KHR, surface_capabilities)); - println!("SurfaceFormat2KHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SurfaceFormat2KHR, s_type), offset_of!(structs::SurfaceFormat2KHR, p_next), offset_of!(structs::SurfaceFormat2KHR, surface_format)); - println!("DisplayProperties2KHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DisplayProperties2KHR, s_type), offset_of!(structs::DisplayProperties2KHR, p_next), offset_of!(structs::DisplayProperties2KHR, display_properties)); - println!("DisplayPlaneProperties2KHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DisplayPlaneProperties2KHR, s_type), offset_of!(structs::DisplayPlaneProperties2KHR, p_next), offset_of!(structs::DisplayPlaneProperties2KHR, display_plane_properties)); - println!("DisplayModeProperties2KHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DisplayModeProperties2KHR, s_type), offset_of!(structs::DisplayModeProperties2KHR, p_next), offset_of!(structs::DisplayModeProperties2KHR, display_mode_properties)); - println!("DisplayModeStereoPropertiesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DisplayModeStereoPropertiesNV, s_type), offset_of!(structs::DisplayModeStereoPropertiesNV, p_next), offset_of!(structs::DisplayModeStereoPropertiesNV, hdmi3_d_supported)); - println!("DisplayPlaneInfo2KHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DisplayPlaneInfo2KHR, s_type), offset_of!(structs::DisplayPlaneInfo2KHR, p_next), offset_of!(structs::DisplayPlaneInfo2KHR, mode), offset_of!(structs::DisplayPlaneInfo2KHR, plane_index)); - println!("DisplayPlaneCapabilities2KHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DisplayPlaneCapabilities2KHR, s_type), offset_of!(structs::DisplayPlaneCapabilities2KHR, p_next), offset_of!(structs::DisplayPlaneCapabilities2KHR, capabilities)); - println!("SharedPresentSurfaceCapabilitiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SharedPresentSurfaceCapabilitiesKHR, s_type), offset_of!(structs::SharedPresentSurfaceCapabilitiesKHR, p_next), offset_of!(structs::SharedPresentSurfaceCapabilitiesKHR, shared_present_supported_usage_flags)); - println!("PhysicalDevice16BitStorageFeatures {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDevice16BitStorageFeatures, s_type), offset_of!(structs::PhysicalDevice16BitStorageFeatures, p_next), offset_of!(structs::PhysicalDevice16BitStorageFeatures, storage_buffer16_bit_access), offset_of!(structs::PhysicalDevice16BitStorageFeatures, uniform_and_storage_buffer16_bit_access), offset_of!(structs::PhysicalDevice16BitStorageFeatures, storage_push_constant16), offset_of!(structs::PhysicalDevice16BitStorageFeatures, storage_input_output16)); - println!("PhysicalDeviceSubgroupProperties {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceSubgroupProperties, s_type), offset_of!(structs::PhysicalDeviceSubgroupProperties, p_next), offset_of!(structs::PhysicalDeviceSubgroupProperties, subgroup_size), offset_of!(structs::PhysicalDeviceSubgroupProperties, supported_stages), offset_of!(structs::PhysicalDeviceSubgroupProperties, supported_operations), offset_of!(structs::PhysicalDeviceSubgroupProperties, quad_operations_in_all_stages)); - println!("PhysicalDeviceShaderSubgroupExtendedTypesFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderSubgroupExtendedTypesFeatures, s_type), offset_of!(structs::PhysicalDeviceShaderSubgroupExtendedTypesFeatures, p_next), offset_of!(structs::PhysicalDeviceShaderSubgroupExtendedTypesFeatures, shader_subgroup_extended_types)); - println!("BufferMemoryRequirementsInfo2 {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BufferMemoryRequirementsInfo2, s_type), offset_of!(structs::BufferMemoryRequirementsInfo2, p_next), offset_of!(structs::BufferMemoryRequirementsInfo2, buffer)); - println!("DeviceBufferMemoryRequirements {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DeviceBufferMemoryRequirements, s_type), offset_of!(structs::DeviceBufferMemoryRequirements, p_next), offset_of!(structs::DeviceBufferMemoryRequirements, p_create_info)); - println!("ImageMemoryRequirementsInfo2 {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImageMemoryRequirementsInfo2, s_type), offset_of!(structs::ImageMemoryRequirementsInfo2, p_next), offset_of!(structs::ImageMemoryRequirementsInfo2, image)); - println!("ImageSparseMemoryRequirementsInfo2 {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImageSparseMemoryRequirementsInfo2, s_type), offset_of!(structs::ImageSparseMemoryRequirementsInfo2, p_next), offset_of!(structs::ImageSparseMemoryRequirementsInfo2, image)); - println!("DeviceImageMemoryRequirements {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DeviceImageMemoryRequirements, s_type), offset_of!(structs::DeviceImageMemoryRequirements, p_next), offset_of!(structs::DeviceImageMemoryRequirements, p_create_info), offset_of!(structs::DeviceImageMemoryRequirements, plane_aspect)); - println!("MemoryRequirements2 {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::MemoryRequirements2, s_type), offset_of!(structs::MemoryRequirements2, p_next), offset_of!(structs::MemoryRequirements2, memory_requirements)); - println!("SparseImageMemoryRequirements2 {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SparseImageMemoryRequirements2, s_type), offset_of!(structs::SparseImageMemoryRequirements2, p_next), offset_of!(structs::SparseImageMemoryRequirements2, memory_requirements)); - println!("PhysicalDevicePointClippingProperties {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDevicePointClippingProperties, s_type), offset_of!(structs::PhysicalDevicePointClippingProperties, p_next), offset_of!(structs::PhysicalDevicePointClippingProperties, point_clipping_behavior)); - println!("MemoryDedicatedRequirements {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::MemoryDedicatedRequirements, s_type), offset_of!(structs::MemoryDedicatedRequirements, p_next), offset_of!(structs::MemoryDedicatedRequirements, prefers_dedicated_allocation), offset_of!(structs::MemoryDedicatedRequirements, requires_dedicated_allocation)); - println!("MemoryDedicatedAllocateInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::MemoryDedicatedAllocateInfo, s_type), offset_of!(structs::MemoryDedicatedAllocateInfo, p_next), offset_of!(structs::MemoryDedicatedAllocateInfo, image), offset_of!(structs::MemoryDedicatedAllocateInfo, buffer)); - println!("ImageViewUsageCreateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImageViewUsageCreateInfo, s_type), offset_of!(structs::ImageViewUsageCreateInfo, p_next), offset_of!(structs::ImageViewUsageCreateInfo, usage)); - println!("ImageViewSlicedCreateInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImageViewSlicedCreateInfoEXT, s_type), offset_of!(structs::ImageViewSlicedCreateInfoEXT, p_next), offset_of!(structs::ImageViewSlicedCreateInfoEXT, slice_offset), offset_of!(structs::ImageViewSlicedCreateInfoEXT, slice_count)); - println!("PipelineTessellationDomainOriginStateCreateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineTessellationDomainOriginStateCreateInfo, s_type), offset_of!(structs::PipelineTessellationDomainOriginStateCreateInfo, p_next), offset_of!(structs::PipelineTessellationDomainOriginStateCreateInfo, domain_origin)); - println!("SamplerYcbcrConversionInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SamplerYcbcrConversionInfo, s_type), offset_of!(structs::SamplerYcbcrConversionInfo, p_next), offset_of!(structs::SamplerYcbcrConversionInfo, conversion)); - println!("SamplerYcbcrConversionCreateInfo {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SamplerYcbcrConversionCreateInfo, s_type), offset_of!(structs::SamplerYcbcrConversionCreateInfo, p_next), offset_of!(structs::SamplerYcbcrConversionCreateInfo, format), offset_of!(structs::SamplerYcbcrConversionCreateInfo, ycbcr_model), offset_of!(structs::SamplerYcbcrConversionCreateInfo, ycbcr_range), offset_of!(structs::SamplerYcbcrConversionCreateInfo, components), offset_of!(structs::SamplerYcbcrConversionCreateInfo, x_chroma_offset), offset_of!(structs::SamplerYcbcrConversionCreateInfo, y_chroma_offset), offset_of!(structs::SamplerYcbcrConversionCreateInfo, chroma_filter), offset_of!(structs::SamplerYcbcrConversionCreateInfo, force_explicit_reconstruction)); - println!("BindImagePlaneMemoryInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BindImagePlaneMemoryInfo, s_type), offset_of!(structs::BindImagePlaneMemoryInfo, p_next), offset_of!(structs::BindImagePlaneMemoryInfo, plane_aspect)); - println!("ImagePlaneMemoryRequirementsInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImagePlaneMemoryRequirementsInfo, s_type), offset_of!(structs::ImagePlaneMemoryRequirementsInfo, p_next), offset_of!(structs::ImagePlaneMemoryRequirementsInfo, plane_aspect)); - println!("PhysicalDeviceSamplerYcbcrConversionFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceSamplerYcbcrConversionFeatures, s_type), offset_of!(structs::PhysicalDeviceSamplerYcbcrConversionFeatures, p_next), offset_of!(structs::PhysicalDeviceSamplerYcbcrConversionFeatures, sampler_ycbcr_conversion)); - println!("SamplerYcbcrConversionImageFormatProperties {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SamplerYcbcrConversionImageFormatProperties, s_type), offset_of!(structs::SamplerYcbcrConversionImageFormatProperties, p_next), offset_of!(structs::SamplerYcbcrConversionImageFormatProperties, combined_image_sampler_descriptor_count)); - println!("TextureLODGatherFormatPropertiesAMD {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::TextureLODGatherFormatPropertiesAMD, s_type), offset_of!(structs::TextureLODGatherFormatPropertiesAMD, p_next), offset_of!(structs::TextureLODGatherFormatPropertiesAMD, supports_texture_gather_lod_bias_amd)); - println!("ConditionalRenderingBeginInfoEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ConditionalRenderingBeginInfoEXT, s_type), offset_of!(structs::ConditionalRenderingBeginInfoEXT, p_next), offset_of!(structs::ConditionalRenderingBeginInfoEXT, buffer), offset_of!(structs::ConditionalRenderingBeginInfoEXT, offset), offset_of!(structs::ConditionalRenderingBeginInfoEXT, flags)); - println!("ProtectedSubmitInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ProtectedSubmitInfo, s_type), offset_of!(structs::ProtectedSubmitInfo, p_next), offset_of!(structs::ProtectedSubmitInfo, protected_submit)); - println!("PhysicalDeviceProtectedMemoryFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceProtectedMemoryFeatures, s_type), offset_of!(structs::PhysicalDeviceProtectedMemoryFeatures, p_next), offset_of!(structs::PhysicalDeviceProtectedMemoryFeatures, protected_memory)); - println!("PhysicalDeviceProtectedMemoryProperties {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceProtectedMemoryProperties, s_type), offset_of!(structs::PhysicalDeviceProtectedMemoryProperties, p_next), offset_of!(structs::PhysicalDeviceProtectedMemoryProperties, protected_no_fault)); - println!("DeviceQueueInfo2 {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DeviceQueueInfo2, s_type), offset_of!(structs::DeviceQueueInfo2, p_next), offset_of!(structs::DeviceQueueInfo2, flags), offset_of!(structs::DeviceQueueInfo2, queue_family_index), offset_of!(structs::DeviceQueueInfo2, queue_index)); - println!("PipelineCoverageToColorStateCreateInfoNV {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineCoverageToColorStateCreateInfoNV, s_type), offset_of!(structs::PipelineCoverageToColorStateCreateInfoNV, p_next), offset_of!(structs::PipelineCoverageToColorStateCreateInfoNV, flags), offset_of!(structs::PipelineCoverageToColorStateCreateInfoNV, coverage_to_color_enable), offset_of!(structs::PipelineCoverageToColorStateCreateInfoNV, coverage_to_color_location)); - println!("PhysicalDeviceSamplerFilterMinmaxProperties {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceSamplerFilterMinmaxProperties, s_type), offset_of!(structs::PhysicalDeviceSamplerFilterMinmaxProperties, p_next), offset_of!(structs::PhysicalDeviceSamplerFilterMinmaxProperties, filter_minmax_single_component_formats), offset_of!(structs::PhysicalDeviceSamplerFilterMinmaxProperties, filter_minmax_image_component_mapping)); - println!("SampleLocationEXT {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SampleLocationEXT, x), offset_of!(structs::SampleLocationEXT, y)); - println!("SampleLocationsInfoEXT {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SampleLocationsInfoEXT, s_type), offset_of!(structs::SampleLocationsInfoEXT, p_next), offset_of!(structs::SampleLocationsInfoEXT, sample_locations_per_pixel), offset_of!(structs::SampleLocationsInfoEXT, sample_location_grid_size), offset_of!(structs::SampleLocationsInfoEXT, sample_locations_count), offset_of!(structs::SampleLocationsInfoEXT, p_sample_locations)); - println!("AttachmentSampleLocationsEXT {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::AttachmentSampleLocationsEXT, attachment_index), offset_of!(structs::AttachmentSampleLocationsEXT, sample_locations_info)); - println!("SubpassSampleLocationsEXT {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SubpassSampleLocationsEXT, subpass_index), offset_of!(structs::SubpassSampleLocationsEXT, sample_locations_info)); - println!("RenderPassSampleLocationsBeginInfoEXT {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::RenderPassSampleLocationsBeginInfoEXT, s_type), offset_of!(structs::RenderPassSampleLocationsBeginInfoEXT, p_next), offset_of!(structs::RenderPassSampleLocationsBeginInfoEXT, attachment_initial_sample_locations_count), offset_of!(structs::RenderPassSampleLocationsBeginInfoEXT, p_attachment_initial_sample_locations), offset_of!(structs::RenderPassSampleLocationsBeginInfoEXT, post_subpass_sample_locations_count), offset_of!(structs::RenderPassSampleLocationsBeginInfoEXT, p_post_subpass_sample_locations)); - println!("PipelineSampleLocationsStateCreateInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineSampleLocationsStateCreateInfoEXT, s_type), offset_of!(structs::PipelineSampleLocationsStateCreateInfoEXT, p_next), offset_of!(structs::PipelineSampleLocationsStateCreateInfoEXT, sample_locations_enable), offset_of!(structs::PipelineSampleLocationsStateCreateInfoEXT, sample_locations_info)); - println!("PhysicalDeviceSampleLocationsPropertiesEXT {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceSampleLocationsPropertiesEXT, s_type), offset_of!(structs::PhysicalDeviceSampleLocationsPropertiesEXT, p_next), offset_of!(structs::PhysicalDeviceSampleLocationsPropertiesEXT, sample_location_sample_counts), offset_of!(structs::PhysicalDeviceSampleLocationsPropertiesEXT, max_sample_location_grid_size), offset_of!(structs::PhysicalDeviceSampleLocationsPropertiesEXT, sample_location_coordinate_range), offset_of!(structs::PhysicalDeviceSampleLocationsPropertiesEXT, sample_location_sub_pixel_bits), offset_of!(structs::PhysicalDeviceSampleLocationsPropertiesEXT, variable_sample_locations)); - println!("MultisamplePropertiesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::MultisamplePropertiesEXT, s_type), offset_of!(structs::MultisamplePropertiesEXT, p_next), offset_of!(structs::MultisamplePropertiesEXT, max_sample_location_grid_size)); - println!("SamplerReductionModeCreateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SamplerReductionModeCreateInfo, s_type), offset_of!(structs::SamplerReductionModeCreateInfo, p_next), offset_of!(structs::SamplerReductionModeCreateInfo, reduction_mode)); - println!("PhysicalDeviceBlendOperationAdvancedFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceBlendOperationAdvancedFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceBlendOperationAdvancedFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceBlendOperationAdvancedFeaturesEXT, advanced_blend_coherent_operations)); - println!("PhysicalDeviceMultiDrawFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceMultiDrawFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceMultiDrawFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceMultiDrawFeaturesEXT, multi_draw)); - println!("PhysicalDeviceBlendOperationAdvancedPropertiesEXT {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceBlendOperationAdvancedPropertiesEXT, s_type), offset_of!(structs::PhysicalDeviceBlendOperationAdvancedPropertiesEXT, p_next), offset_of!(structs::PhysicalDeviceBlendOperationAdvancedPropertiesEXT, advanced_blend_max_color_attachments), offset_of!(structs::PhysicalDeviceBlendOperationAdvancedPropertiesEXT, advanced_blend_independent_blend), offset_of!(structs::PhysicalDeviceBlendOperationAdvancedPropertiesEXT, advanced_blend_non_premultiplied_src_color), offset_of!(structs::PhysicalDeviceBlendOperationAdvancedPropertiesEXT, advanced_blend_non_premultiplied_dst_color), offset_of!(structs::PhysicalDeviceBlendOperationAdvancedPropertiesEXT, advanced_blend_correlated_overlap), offset_of!(structs::PhysicalDeviceBlendOperationAdvancedPropertiesEXT, advanced_blend_all_operations)); - println!("PipelineColorBlendAdvancedStateCreateInfoEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineColorBlendAdvancedStateCreateInfoEXT, s_type), offset_of!(structs::PipelineColorBlendAdvancedStateCreateInfoEXT, p_next), offset_of!(structs::PipelineColorBlendAdvancedStateCreateInfoEXT, src_premultiplied), offset_of!(structs::PipelineColorBlendAdvancedStateCreateInfoEXT, dst_premultiplied), offset_of!(structs::PipelineColorBlendAdvancedStateCreateInfoEXT, blend_overlap)); - println!("PhysicalDeviceInlineUniformBlockFeatures {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceInlineUniformBlockFeatures, s_type), offset_of!(structs::PhysicalDeviceInlineUniformBlockFeatures, p_next), offset_of!(structs::PhysicalDeviceInlineUniformBlockFeatures, inline_uniform_block), offset_of!(structs::PhysicalDeviceInlineUniformBlockFeatures, descriptor_binding_inline_uniform_block_update_after_bind)); - println!("PhysicalDeviceInlineUniformBlockProperties {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceInlineUniformBlockProperties, s_type), offset_of!(structs::PhysicalDeviceInlineUniformBlockProperties, p_next), offset_of!(structs::PhysicalDeviceInlineUniformBlockProperties, max_inline_uniform_block_size), offset_of!(structs::PhysicalDeviceInlineUniformBlockProperties, max_per_stage_descriptor_inline_uniform_blocks), offset_of!(structs::PhysicalDeviceInlineUniformBlockProperties, max_per_stage_descriptor_update_after_bind_inline_uniform_blocks), offset_of!(structs::PhysicalDeviceInlineUniformBlockProperties, max_descriptor_set_inline_uniform_blocks), offset_of!(structs::PhysicalDeviceInlineUniformBlockProperties, max_descriptor_set_update_after_bind_inline_uniform_blocks)); - println!("WriteDescriptorSetInlineUniformBlock {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::WriteDescriptorSetInlineUniformBlock, s_type), offset_of!(structs::WriteDescriptorSetInlineUniformBlock, p_next), offset_of!(structs::WriteDescriptorSetInlineUniformBlock, data_size), offset_of!(structs::WriteDescriptorSetInlineUniformBlock, p_data)); - println!("DescriptorPoolInlineUniformBlockCreateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DescriptorPoolInlineUniformBlockCreateInfo, s_type), offset_of!(structs::DescriptorPoolInlineUniformBlockCreateInfo, p_next), offset_of!(structs::DescriptorPoolInlineUniformBlockCreateInfo, max_inline_uniform_block_bindings)); - println!("PipelineCoverageModulationStateCreateInfoNV {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineCoverageModulationStateCreateInfoNV, s_type), offset_of!(structs::PipelineCoverageModulationStateCreateInfoNV, p_next), offset_of!(structs::PipelineCoverageModulationStateCreateInfoNV, flags), offset_of!(structs::PipelineCoverageModulationStateCreateInfoNV, coverage_modulation_mode), offset_of!(structs::PipelineCoverageModulationStateCreateInfoNV, coverage_modulation_table_enable), offset_of!(structs::PipelineCoverageModulationStateCreateInfoNV, coverage_modulation_table_count), offset_of!(structs::PipelineCoverageModulationStateCreateInfoNV, p_coverage_modulation_table)); - println!("ImageFormatListCreateInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImageFormatListCreateInfo, s_type), offset_of!(structs::ImageFormatListCreateInfo, p_next), offset_of!(structs::ImageFormatListCreateInfo, view_format_count), offset_of!(structs::ImageFormatListCreateInfo, p_view_formats)); - println!("ValidationCacheCreateInfoEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ValidationCacheCreateInfoEXT, s_type), offset_of!(structs::ValidationCacheCreateInfoEXT, p_next), offset_of!(structs::ValidationCacheCreateInfoEXT, flags), offset_of!(structs::ValidationCacheCreateInfoEXT, initial_data_size), offset_of!(structs::ValidationCacheCreateInfoEXT, p_initial_data)); - println!("ShaderModuleValidationCacheCreateInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ShaderModuleValidationCacheCreateInfoEXT, s_type), offset_of!(structs::ShaderModuleValidationCacheCreateInfoEXT, p_next), offset_of!(structs::ShaderModuleValidationCacheCreateInfoEXT, validation_cache)); - println!("PhysicalDeviceMaintenance3Properties {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceMaintenance3Properties, s_type), offset_of!(structs::PhysicalDeviceMaintenance3Properties, p_next), offset_of!(structs::PhysicalDeviceMaintenance3Properties, max_per_set_descriptors), offset_of!(structs::PhysicalDeviceMaintenance3Properties, max_memory_allocation_size)); - println!("PhysicalDeviceMaintenance4Features {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceMaintenance4Features, s_type), offset_of!(structs::PhysicalDeviceMaintenance4Features, p_next), offset_of!(structs::PhysicalDeviceMaintenance4Features, maintenance4)); - println!("PhysicalDeviceMaintenance4Properties {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceMaintenance4Properties, s_type), offset_of!(structs::PhysicalDeviceMaintenance4Properties, p_next), offset_of!(structs::PhysicalDeviceMaintenance4Properties, max_buffer_size)); - println!("PhysicalDeviceMaintenance5Features {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceMaintenance5Features, s_type), offset_of!(structs::PhysicalDeviceMaintenance5Features, p_next), offset_of!(structs::PhysicalDeviceMaintenance5Features, maintenance5)); - println!("PhysicalDeviceMaintenance5Properties {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceMaintenance5Properties, s_type), offset_of!(structs::PhysicalDeviceMaintenance5Properties, p_next), offset_of!(structs::PhysicalDeviceMaintenance5Properties, early_fragment_multisample_coverage_after_sample_counting), offset_of!(structs::PhysicalDeviceMaintenance5Properties, early_fragment_sample_mask_test_before_sample_counting), offset_of!(structs::PhysicalDeviceMaintenance5Properties, depth_stencil_swizzle_one_support), offset_of!(structs::PhysicalDeviceMaintenance5Properties, polygon_mode_point_size), offset_of!(structs::PhysicalDeviceMaintenance5Properties, non_strict_single_pixel_wide_lines_use_parallelogram), offset_of!(structs::PhysicalDeviceMaintenance5Properties, non_strict_wide_lines_use_parallelogram)); - println!("PhysicalDeviceMaintenance6Features {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceMaintenance6Features, s_type), offset_of!(structs::PhysicalDeviceMaintenance6Features, p_next), offset_of!(structs::PhysicalDeviceMaintenance6Features, maintenance6)); - println!("PhysicalDeviceMaintenance6Properties {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceMaintenance6Properties, s_type), offset_of!(structs::PhysicalDeviceMaintenance6Properties, p_next), offset_of!(structs::PhysicalDeviceMaintenance6Properties, block_texel_view_compatible_multiple_layers), offset_of!(structs::PhysicalDeviceMaintenance6Properties, max_combined_image_sampler_descriptor_count), offset_of!(structs::PhysicalDeviceMaintenance6Properties, fragment_shading_rate_clamp_combiner_inputs)); - println!("PhysicalDeviceMaintenance7FeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceMaintenance7FeaturesKHR, s_type), offset_of!(structs::PhysicalDeviceMaintenance7FeaturesKHR, p_next), offset_of!(structs::PhysicalDeviceMaintenance7FeaturesKHR, maintenance7)); - println!("PhysicalDeviceMaintenance7PropertiesKHR {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceMaintenance7PropertiesKHR, s_type), offset_of!(structs::PhysicalDeviceMaintenance7PropertiesKHR, p_next), offset_of!(structs::PhysicalDeviceMaintenance7PropertiesKHR, robust_fragment_shading_rate_attachment_access), offset_of!(structs::PhysicalDeviceMaintenance7PropertiesKHR, separate_depth_stencil_attachment_access), offset_of!(structs::PhysicalDeviceMaintenance7PropertiesKHR, max_descriptor_set_total_uniform_buffers_dynamic), offset_of!(structs::PhysicalDeviceMaintenance7PropertiesKHR, max_descriptor_set_total_storage_buffers_dynamic), offset_of!(structs::PhysicalDeviceMaintenance7PropertiesKHR, max_descriptor_set_total_buffers_dynamic), offset_of!(structs::PhysicalDeviceMaintenance7PropertiesKHR, max_descriptor_set_update_after_bind_total_uniform_buffers_dynamic), offset_of!(structs::PhysicalDeviceMaintenance7PropertiesKHR, max_descriptor_set_update_after_bind_total_storage_buffers_dynamic), offset_of!(structs::PhysicalDeviceMaintenance7PropertiesKHR, max_descriptor_set_update_after_bind_total_buffers_dynamic)); - println!("PhysicalDeviceLayeredApiPropertiesListKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceLayeredApiPropertiesListKHR, s_type), offset_of!(structs::PhysicalDeviceLayeredApiPropertiesListKHR, p_next), offset_of!(structs::PhysicalDeviceLayeredApiPropertiesListKHR, layered_api_count), offset_of!(structs::PhysicalDeviceLayeredApiPropertiesListKHR, p_layered_apis)); - println!("PhysicalDeviceLayeredApiPropertiesKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceLayeredApiPropertiesKHR, s_type), offset_of!(structs::PhysicalDeviceLayeredApiPropertiesKHR, p_next), offset_of!(structs::PhysicalDeviceLayeredApiPropertiesKHR, vendor_id), offset_of!(structs::PhysicalDeviceLayeredApiPropertiesKHR, device_id), offset_of!(structs::PhysicalDeviceLayeredApiPropertiesKHR, layered_api), offset_of!(structs::PhysicalDeviceLayeredApiPropertiesKHR, device_name)); - println!("PhysicalDeviceLayeredApiVulkanPropertiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceLayeredApiVulkanPropertiesKHR, s_type), offset_of!(structs::PhysicalDeviceLayeredApiVulkanPropertiesKHR, p_next), offset_of!(structs::PhysicalDeviceLayeredApiVulkanPropertiesKHR, properties)); - println!("PhysicalDeviceMaintenance8FeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceMaintenance8FeaturesKHR, s_type), offset_of!(structs::PhysicalDeviceMaintenance8FeaturesKHR, p_next), offset_of!(structs::PhysicalDeviceMaintenance8FeaturesKHR, maintenance8)); - println!("PhysicalDeviceMaintenance9FeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceMaintenance9FeaturesKHR, s_type), offset_of!(structs::PhysicalDeviceMaintenance9FeaturesKHR, p_next), offset_of!(structs::PhysicalDeviceMaintenance9FeaturesKHR, maintenance9)); - println!("PhysicalDeviceMaintenance9PropertiesKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceMaintenance9PropertiesKHR, s_type), offset_of!(structs::PhysicalDeviceMaintenance9PropertiesKHR, p_next), offset_of!(structs::PhysicalDeviceMaintenance9PropertiesKHR, image2_d_view_of3_d_sparse), offset_of!(structs::PhysicalDeviceMaintenance9PropertiesKHR, default_vertex_attribute_value)); - println!("PhysicalDeviceMaintenance10PropertiesKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceMaintenance10PropertiesKHR, s_type), offset_of!(structs::PhysicalDeviceMaintenance10PropertiesKHR, p_next), offset_of!(structs::PhysicalDeviceMaintenance10PropertiesKHR, rgba4_opaque_black_swizzled), offset_of!(structs::PhysicalDeviceMaintenance10PropertiesKHR, resolve_srgb_format_applies_transfer_function), offset_of!(structs::PhysicalDeviceMaintenance10PropertiesKHR, resolve_srgb_format_supports_transfer_function_control)); - println!("PhysicalDeviceMaintenance10FeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceMaintenance10FeaturesKHR, s_type), offset_of!(structs::PhysicalDeviceMaintenance10FeaturesKHR, p_next), offset_of!(structs::PhysicalDeviceMaintenance10FeaturesKHR, maintenance10)); - println!("QueueFamilyOwnershipTransferPropertiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::QueueFamilyOwnershipTransferPropertiesKHR, s_type), offset_of!(structs::QueueFamilyOwnershipTransferPropertiesKHR, p_next), offset_of!(structs::QueueFamilyOwnershipTransferPropertiesKHR, optimal_image_transfer_to_queue_families)); - println!("RenderingAreaInfo {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::RenderingAreaInfo, s_type), offset_of!(structs::RenderingAreaInfo, p_next), offset_of!(structs::RenderingAreaInfo, view_mask), offset_of!(structs::RenderingAreaInfo, color_attachment_count), offset_of!(structs::RenderingAreaInfo, p_color_attachment_formats), offset_of!(structs::RenderingAreaInfo, depth_attachment_format), offset_of!(structs::RenderingAreaInfo, stencil_attachment_format)); - println!("DescriptorSetLayoutSupport {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DescriptorSetLayoutSupport, s_type), offset_of!(structs::DescriptorSetLayoutSupport, p_next), offset_of!(structs::DescriptorSetLayoutSupport, supported)); - println!("PhysicalDeviceShaderDrawParametersFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderDrawParametersFeatures, s_type), offset_of!(structs::PhysicalDeviceShaderDrawParametersFeatures, p_next), offset_of!(structs::PhysicalDeviceShaderDrawParametersFeatures, shader_draw_parameters)); - println!("PhysicalDeviceShaderFloat16Int8Features {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderFloat16Int8Features, s_type), offset_of!(structs::PhysicalDeviceShaderFloat16Int8Features, p_next), offset_of!(structs::PhysicalDeviceShaderFloat16Int8Features, shader_float16), offset_of!(structs::PhysicalDeviceShaderFloat16Int8Features, shader_int8)); - println!("PhysicalDeviceFloatControlsProperties {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceFloatControlsProperties, s_type), offset_of!(structs::PhysicalDeviceFloatControlsProperties, p_next), offset_of!(structs::PhysicalDeviceFloatControlsProperties, denorm_behavior_independence), offset_of!(structs::PhysicalDeviceFloatControlsProperties, rounding_mode_independence), offset_of!(structs::PhysicalDeviceFloatControlsProperties, shader_signed_zero_inf_nan_preserve_float16), offset_of!(structs::PhysicalDeviceFloatControlsProperties, shader_signed_zero_inf_nan_preserve_float32), offset_of!(structs::PhysicalDeviceFloatControlsProperties, shader_signed_zero_inf_nan_preserve_float64), offset_of!(structs::PhysicalDeviceFloatControlsProperties, shader_denorm_preserve_float16), offset_of!(structs::PhysicalDeviceFloatControlsProperties, shader_denorm_preserve_float32), offset_of!(structs::PhysicalDeviceFloatControlsProperties, shader_denorm_preserve_float64), offset_of!(structs::PhysicalDeviceFloatControlsProperties, shader_denorm_flush_to_zero_float16), offset_of!(structs::PhysicalDeviceFloatControlsProperties, shader_denorm_flush_to_zero_float32), offset_of!(structs::PhysicalDeviceFloatControlsProperties, shader_denorm_flush_to_zero_float64), offset_of!(structs::PhysicalDeviceFloatControlsProperties, shader_rounding_mode_rte_float16), offset_of!(structs::PhysicalDeviceFloatControlsProperties, shader_rounding_mode_rte_float32), offset_of!(structs::PhysicalDeviceFloatControlsProperties, shader_rounding_mode_rte_float64), offset_of!(structs::PhysicalDeviceFloatControlsProperties, shader_rounding_mode_rtz_float16), offset_of!(structs::PhysicalDeviceFloatControlsProperties, shader_rounding_mode_rtz_float32), offset_of!(structs::PhysicalDeviceFloatControlsProperties, shader_rounding_mode_rtz_float64)); - println!("PhysicalDeviceHostQueryResetFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceHostQueryResetFeatures, s_type), offset_of!(structs::PhysicalDeviceHostQueryResetFeatures, p_next), offset_of!(structs::PhysicalDeviceHostQueryResetFeatures, host_query_reset)); - println!("ShaderResourceUsageAMD {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ShaderResourceUsageAMD, num_used_vgprs), offset_of!(structs::ShaderResourceUsageAMD, num_used_sgprs), offset_of!(structs::ShaderResourceUsageAMD, lds_size_per_local_work_group), offset_of!(structs::ShaderResourceUsageAMD, lds_usage_size_in_bytes), offset_of!(structs::ShaderResourceUsageAMD, scratch_mem_usage_in_bytes)); - println!("ShaderStatisticsInfoAMD {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ShaderStatisticsInfoAMD, shader_stage_mask), offset_of!(structs::ShaderStatisticsInfoAMD, resource_usage), offset_of!(structs::ShaderStatisticsInfoAMD, num_physical_vgprs), offset_of!(structs::ShaderStatisticsInfoAMD, num_physical_sgprs), offset_of!(structs::ShaderStatisticsInfoAMD, num_available_vgprs), offset_of!(structs::ShaderStatisticsInfoAMD, num_available_sgprs), offset_of!(structs::ShaderStatisticsInfoAMD, compute_work_group_size)); - println!("DeviceQueueGlobalPriorityCreateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DeviceQueueGlobalPriorityCreateInfo, s_type), offset_of!(structs::DeviceQueueGlobalPriorityCreateInfo, p_next), offset_of!(structs::DeviceQueueGlobalPriorityCreateInfo, global_priority)); - println!("PhysicalDeviceGlobalPriorityQueryFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceGlobalPriorityQueryFeatures, s_type), offset_of!(structs::PhysicalDeviceGlobalPriorityQueryFeatures, p_next), offset_of!(structs::PhysicalDeviceGlobalPriorityQueryFeatures, global_priority_query)); - println!("QueueFamilyGlobalPriorityProperties {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::QueueFamilyGlobalPriorityProperties, s_type), offset_of!(structs::QueueFamilyGlobalPriorityProperties, p_next), offset_of!(structs::QueueFamilyGlobalPriorityProperties, priority_count), offset_of!(structs::QueueFamilyGlobalPriorityProperties, priorities)); - println!("DebugUtilsObjectNameInfoEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DebugUtilsObjectNameInfoEXT, s_type), offset_of!(structs::DebugUtilsObjectNameInfoEXT, p_next), offset_of!(structs::DebugUtilsObjectNameInfoEXT, object_type), offset_of!(structs::DebugUtilsObjectNameInfoEXT, object_handle), offset_of!(structs::DebugUtilsObjectNameInfoEXT, p_object_name)); - println!("DebugUtilsObjectTagInfoEXT {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DebugUtilsObjectTagInfoEXT, s_type), offset_of!(structs::DebugUtilsObjectTagInfoEXT, p_next), offset_of!(structs::DebugUtilsObjectTagInfoEXT, object_type), offset_of!(structs::DebugUtilsObjectTagInfoEXT, object_handle), offset_of!(structs::DebugUtilsObjectTagInfoEXT, tag_name), offset_of!(structs::DebugUtilsObjectTagInfoEXT, tag_size), offset_of!(structs::DebugUtilsObjectTagInfoEXT, p_tag)); - println!("DebugUtilsLabelEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DebugUtilsLabelEXT, s_type), offset_of!(structs::DebugUtilsLabelEXT, p_next), offset_of!(structs::DebugUtilsLabelEXT, p_label_name), offset_of!(structs::DebugUtilsLabelEXT, color)); - println!("DebugUtilsMessengerCreateInfoEXT {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DebugUtilsMessengerCreateInfoEXT, s_type), offset_of!(structs::DebugUtilsMessengerCreateInfoEXT, p_next), offset_of!(structs::DebugUtilsMessengerCreateInfoEXT, flags), offset_of!(structs::DebugUtilsMessengerCreateInfoEXT, message_severity), offset_of!(structs::DebugUtilsMessengerCreateInfoEXT, message_type), offset_of!(structs::DebugUtilsMessengerCreateInfoEXT, pfn_user_callback), offset_of!(structs::DebugUtilsMessengerCreateInfoEXT, p_user_data)); - println!("DebugUtilsMessengerCallbackDataEXT {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DebugUtilsMessengerCallbackDataEXT, s_type), offset_of!(structs::DebugUtilsMessengerCallbackDataEXT, p_next), offset_of!(structs::DebugUtilsMessengerCallbackDataEXT, flags), offset_of!(structs::DebugUtilsMessengerCallbackDataEXT, p_message_id_name), offset_of!(structs::DebugUtilsMessengerCallbackDataEXT, message_id_number), offset_of!(structs::DebugUtilsMessengerCallbackDataEXT, p_message), offset_of!(structs::DebugUtilsMessengerCallbackDataEXT, queue_label_count), offset_of!(structs::DebugUtilsMessengerCallbackDataEXT, p_queue_labels), offset_of!(structs::DebugUtilsMessengerCallbackDataEXT, cmd_buf_label_count), offset_of!(structs::DebugUtilsMessengerCallbackDataEXT, p_cmd_buf_labels), offset_of!(structs::DebugUtilsMessengerCallbackDataEXT, object_count), offset_of!(structs::DebugUtilsMessengerCallbackDataEXT, p_objects)); - println!("PhysicalDeviceDeviceMemoryReportFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceDeviceMemoryReportFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceDeviceMemoryReportFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceDeviceMemoryReportFeaturesEXT, device_memory_report)); - println!("DeviceDeviceMemoryReportCreateInfoEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DeviceDeviceMemoryReportCreateInfoEXT, s_type), offset_of!(structs::DeviceDeviceMemoryReportCreateInfoEXT, p_next), offset_of!(structs::DeviceDeviceMemoryReportCreateInfoEXT, flags), offset_of!(structs::DeviceDeviceMemoryReportCreateInfoEXT, pfn_user_callback), offset_of!(structs::DeviceDeviceMemoryReportCreateInfoEXT, p_user_data)); - println!("DeviceMemoryReportCallbackDataEXT {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DeviceMemoryReportCallbackDataEXT, s_type), offset_of!(structs::DeviceMemoryReportCallbackDataEXT, p_next), offset_of!(structs::DeviceMemoryReportCallbackDataEXT, flags), offset_of!(structs::DeviceMemoryReportCallbackDataEXT, memory_object_id), offset_of!(structs::DeviceMemoryReportCallbackDataEXT, size), offset_of!(structs::DeviceMemoryReportCallbackDataEXT, object_type), offset_of!(structs::DeviceMemoryReportCallbackDataEXT, object_handle), offset_of!(structs::DeviceMemoryReportCallbackDataEXT, heap_index)); - println!("ImportMemoryHostPointerInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImportMemoryHostPointerInfoEXT, s_type), offset_of!(structs::ImportMemoryHostPointerInfoEXT, p_next), offset_of!(structs::ImportMemoryHostPointerInfoEXT, handle_type), offset_of!(structs::ImportMemoryHostPointerInfoEXT, p_host_pointer)); - println!("MemoryHostPointerPropertiesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::MemoryHostPointerPropertiesEXT, s_type), offset_of!(structs::MemoryHostPointerPropertiesEXT, p_next), offset_of!(structs::MemoryHostPointerPropertiesEXT, memory_type_bits)); - println!("PhysicalDeviceExternalMemoryHostPropertiesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceExternalMemoryHostPropertiesEXT, s_type), offset_of!(structs::PhysicalDeviceExternalMemoryHostPropertiesEXT, p_next), offset_of!(structs::PhysicalDeviceExternalMemoryHostPropertiesEXT, min_imported_host_pointer_alignment)); - println!("PhysicalDeviceConservativeRasterizationPropertiesEXT {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceConservativeRasterizationPropertiesEXT, s_type), offset_of!(structs::PhysicalDeviceConservativeRasterizationPropertiesEXT, p_next), offset_of!(structs::PhysicalDeviceConservativeRasterizationPropertiesEXT, primitive_overestimation_size), offset_of!(structs::PhysicalDeviceConservativeRasterizationPropertiesEXT, max_extra_primitive_overestimation_size), offset_of!(structs::PhysicalDeviceConservativeRasterizationPropertiesEXT, extra_primitive_overestimation_size_granularity), offset_of!(structs::PhysicalDeviceConservativeRasterizationPropertiesEXT, primitive_underestimation), offset_of!(structs::PhysicalDeviceConservativeRasterizationPropertiesEXT, conservative_point_and_line_rasterization), offset_of!(structs::PhysicalDeviceConservativeRasterizationPropertiesEXT, degenerate_triangles_rasterized), offset_of!(structs::PhysicalDeviceConservativeRasterizationPropertiesEXT, degenerate_lines_rasterized), offset_of!(structs::PhysicalDeviceConservativeRasterizationPropertiesEXT, fully_covered_fragment_shader_input_variable), offset_of!(structs::PhysicalDeviceConservativeRasterizationPropertiesEXT, conservative_rasterization_post_depth_coverage)); - println!("CalibratedTimestampInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CalibratedTimestampInfoKHR, s_type), offset_of!(structs::CalibratedTimestampInfoKHR, p_next), offset_of!(structs::CalibratedTimestampInfoKHR, time_domain)); - println!("PhysicalDeviceShaderCorePropertiesAMD {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderCorePropertiesAMD, s_type), offset_of!(structs::PhysicalDeviceShaderCorePropertiesAMD, p_next), offset_of!(structs::PhysicalDeviceShaderCorePropertiesAMD, shader_engine_count), offset_of!(structs::PhysicalDeviceShaderCorePropertiesAMD, shader_arrays_per_engine_count), offset_of!(structs::PhysicalDeviceShaderCorePropertiesAMD, compute_units_per_shader_array), offset_of!(structs::PhysicalDeviceShaderCorePropertiesAMD, simd_per_compute_unit), offset_of!(structs::PhysicalDeviceShaderCorePropertiesAMD, wavefronts_per_simd), offset_of!(structs::PhysicalDeviceShaderCorePropertiesAMD, wavefront_size), offset_of!(structs::PhysicalDeviceShaderCorePropertiesAMD, sgprs_per_simd), offset_of!(structs::PhysicalDeviceShaderCorePropertiesAMD, min_sgpr_allocation), offset_of!(structs::PhysicalDeviceShaderCorePropertiesAMD, max_sgpr_allocation), offset_of!(structs::PhysicalDeviceShaderCorePropertiesAMD, sgpr_allocation_granularity), offset_of!(structs::PhysicalDeviceShaderCorePropertiesAMD, vgprs_per_simd), offset_of!(structs::PhysicalDeviceShaderCorePropertiesAMD, min_vgpr_allocation), offset_of!(structs::PhysicalDeviceShaderCorePropertiesAMD, max_vgpr_allocation), offset_of!(structs::PhysicalDeviceShaderCorePropertiesAMD, vgpr_allocation_granularity)); - println!("PhysicalDeviceShaderCoreProperties2AMD {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderCoreProperties2AMD, s_type), offset_of!(structs::PhysicalDeviceShaderCoreProperties2AMD, p_next), offset_of!(structs::PhysicalDeviceShaderCoreProperties2AMD, shader_core_features), offset_of!(structs::PhysicalDeviceShaderCoreProperties2AMD, active_compute_unit_count)); - println!("PipelineRasterizationConservativeStateCreateInfoEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineRasterizationConservativeStateCreateInfoEXT, s_type), offset_of!(structs::PipelineRasterizationConservativeStateCreateInfoEXT, p_next), offset_of!(structs::PipelineRasterizationConservativeStateCreateInfoEXT, flags), offset_of!(structs::PipelineRasterizationConservativeStateCreateInfoEXT, conservative_rasterization_mode), offset_of!(structs::PipelineRasterizationConservativeStateCreateInfoEXT, extra_primitive_overestimation_size)); - println!("PhysicalDeviceDescriptorIndexingFeatures {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceDescriptorIndexingFeatures, s_type), offset_of!(structs::PhysicalDeviceDescriptorIndexingFeatures, p_next), offset_of!(structs::PhysicalDeviceDescriptorIndexingFeatures, shader_input_attachment_array_dynamic_indexing), offset_of!(structs::PhysicalDeviceDescriptorIndexingFeatures, shader_uniform_texel_buffer_array_dynamic_indexing), offset_of!(structs::PhysicalDeviceDescriptorIndexingFeatures, shader_storage_texel_buffer_array_dynamic_indexing), offset_of!(structs::PhysicalDeviceDescriptorIndexingFeatures, shader_uniform_buffer_array_non_uniform_indexing), offset_of!(structs::PhysicalDeviceDescriptorIndexingFeatures, shader_sampled_image_array_non_uniform_indexing), offset_of!(structs::PhysicalDeviceDescriptorIndexingFeatures, shader_storage_buffer_array_non_uniform_indexing), offset_of!(structs::PhysicalDeviceDescriptorIndexingFeatures, shader_storage_image_array_non_uniform_indexing), offset_of!(structs::PhysicalDeviceDescriptorIndexingFeatures, shader_input_attachment_array_non_uniform_indexing), offset_of!(structs::PhysicalDeviceDescriptorIndexingFeatures, shader_uniform_texel_buffer_array_non_uniform_indexing), offset_of!(structs::PhysicalDeviceDescriptorIndexingFeatures, shader_storage_texel_buffer_array_non_uniform_indexing), offset_of!(structs::PhysicalDeviceDescriptorIndexingFeatures, descriptor_binding_uniform_buffer_update_after_bind), offset_of!(structs::PhysicalDeviceDescriptorIndexingFeatures, descriptor_binding_sampled_image_update_after_bind), offset_of!(structs::PhysicalDeviceDescriptorIndexingFeatures, descriptor_binding_storage_image_update_after_bind), offset_of!(structs::PhysicalDeviceDescriptorIndexingFeatures, descriptor_binding_storage_buffer_update_after_bind), offset_of!(structs::PhysicalDeviceDescriptorIndexingFeatures, descriptor_binding_uniform_texel_buffer_update_after_bind), offset_of!(structs::PhysicalDeviceDescriptorIndexingFeatures, descriptor_binding_storage_texel_buffer_update_after_bind), offset_of!(structs::PhysicalDeviceDescriptorIndexingFeatures, descriptor_binding_update_unused_while_pending), offset_of!(structs::PhysicalDeviceDescriptorIndexingFeatures, descriptor_binding_partially_bound), offset_of!(structs::PhysicalDeviceDescriptorIndexingFeatures, descriptor_binding_variable_descriptor_count), offset_of!(structs::PhysicalDeviceDescriptorIndexingFeatures, runtime_descriptor_array)); - println!("PhysicalDeviceDescriptorIndexingProperties {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceDescriptorIndexingProperties, s_type), offset_of!(structs::PhysicalDeviceDescriptorIndexingProperties, p_next), offset_of!(structs::PhysicalDeviceDescriptorIndexingProperties, max_update_after_bind_descriptors_in_all_pools), offset_of!(structs::PhysicalDeviceDescriptorIndexingProperties, shader_uniform_buffer_array_non_uniform_indexing_native), offset_of!(structs::PhysicalDeviceDescriptorIndexingProperties, shader_sampled_image_array_non_uniform_indexing_native), offset_of!(structs::PhysicalDeviceDescriptorIndexingProperties, shader_storage_buffer_array_non_uniform_indexing_native), offset_of!(structs::PhysicalDeviceDescriptorIndexingProperties, shader_storage_image_array_non_uniform_indexing_native), offset_of!(structs::PhysicalDeviceDescriptorIndexingProperties, shader_input_attachment_array_non_uniform_indexing_native), offset_of!(structs::PhysicalDeviceDescriptorIndexingProperties, robust_buffer_access_update_after_bind), offset_of!(structs::PhysicalDeviceDescriptorIndexingProperties, quad_divergent_implicit_lod), offset_of!(structs::PhysicalDeviceDescriptorIndexingProperties, max_per_stage_descriptor_update_after_bind_samplers), offset_of!(structs::PhysicalDeviceDescriptorIndexingProperties, max_per_stage_descriptor_update_after_bind_uniform_buffers), offset_of!(structs::PhysicalDeviceDescriptorIndexingProperties, max_per_stage_descriptor_update_after_bind_storage_buffers), offset_of!(structs::PhysicalDeviceDescriptorIndexingProperties, max_per_stage_descriptor_update_after_bind_sampled_images), offset_of!(structs::PhysicalDeviceDescriptorIndexingProperties, max_per_stage_descriptor_update_after_bind_storage_images), offset_of!(structs::PhysicalDeviceDescriptorIndexingProperties, max_per_stage_descriptor_update_after_bind_input_attachments), offset_of!(structs::PhysicalDeviceDescriptorIndexingProperties, max_per_stage_update_after_bind_resources), offset_of!(structs::PhysicalDeviceDescriptorIndexingProperties, max_descriptor_set_update_after_bind_samplers), offset_of!(structs::PhysicalDeviceDescriptorIndexingProperties, max_descriptor_set_update_after_bind_uniform_buffers), offset_of!(structs::PhysicalDeviceDescriptorIndexingProperties, max_descriptor_set_update_after_bind_uniform_buffers_dynamic), offset_of!(structs::PhysicalDeviceDescriptorIndexingProperties, max_descriptor_set_update_after_bind_storage_buffers), offset_of!(structs::PhysicalDeviceDescriptorIndexingProperties, max_descriptor_set_update_after_bind_storage_buffers_dynamic), offset_of!(structs::PhysicalDeviceDescriptorIndexingProperties, max_descriptor_set_update_after_bind_sampled_images), offset_of!(structs::PhysicalDeviceDescriptorIndexingProperties, max_descriptor_set_update_after_bind_storage_images), offset_of!(structs::PhysicalDeviceDescriptorIndexingProperties, max_descriptor_set_update_after_bind_input_attachments)); - println!("DescriptorSetLayoutBindingFlagsCreateInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DescriptorSetLayoutBindingFlagsCreateInfo, s_type), offset_of!(structs::DescriptorSetLayoutBindingFlagsCreateInfo, p_next), offset_of!(structs::DescriptorSetLayoutBindingFlagsCreateInfo, binding_count), offset_of!(structs::DescriptorSetLayoutBindingFlagsCreateInfo, p_binding_flags)); - println!("DescriptorSetVariableDescriptorCountAllocateInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DescriptorSetVariableDescriptorCountAllocateInfo, s_type), offset_of!(structs::DescriptorSetVariableDescriptorCountAllocateInfo, p_next), offset_of!(structs::DescriptorSetVariableDescriptorCountAllocateInfo, descriptor_set_count), offset_of!(structs::DescriptorSetVariableDescriptorCountAllocateInfo, p_descriptor_counts)); - println!("DescriptorSetVariableDescriptorCountLayoutSupport {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DescriptorSetVariableDescriptorCountLayoutSupport, s_type), offset_of!(structs::DescriptorSetVariableDescriptorCountLayoutSupport, p_next), offset_of!(structs::DescriptorSetVariableDescriptorCountLayoutSupport, max_variable_descriptor_count)); - println!("AttachmentDescription2 {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::AttachmentDescription2, s_type), offset_of!(structs::AttachmentDescription2, p_next), offset_of!(structs::AttachmentDescription2, flags), offset_of!(structs::AttachmentDescription2, format), offset_of!(structs::AttachmentDescription2, samples), offset_of!(structs::AttachmentDescription2, load_op), offset_of!(structs::AttachmentDescription2, store_op), offset_of!(structs::AttachmentDescription2, stencil_load_op), offset_of!(structs::AttachmentDescription2, stencil_store_op), offset_of!(structs::AttachmentDescription2, initial_layout), offset_of!(structs::AttachmentDescription2, final_layout)); - println!("AttachmentReference2 {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::AttachmentReference2, s_type), offset_of!(structs::AttachmentReference2, p_next), offset_of!(structs::AttachmentReference2, attachment), offset_of!(structs::AttachmentReference2, layout), offset_of!(structs::AttachmentReference2, aspect_mask)); - println!("SubpassDescription2 {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SubpassDescription2, s_type), offset_of!(structs::SubpassDescription2, p_next), offset_of!(structs::SubpassDescription2, flags), offset_of!(structs::SubpassDescription2, pipeline_bind_point), offset_of!(structs::SubpassDescription2, view_mask), offset_of!(structs::SubpassDescription2, input_attachment_count), offset_of!(structs::SubpassDescription2, p_input_attachments), offset_of!(structs::SubpassDescription2, color_attachment_count), offset_of!(structs::SubpassDescription2, p_color_attachments), offset_of!(structs::SubpassDescription2, p_resolve_attachments), offset_of!(structs::SubpassDescription2, p_depth_stencil_attachment), offset_of!(structs::SubpassDescription2, preserve_attachment_count), offset_of!(structs::SubpassDescription2, p_preserve_attachments)); - println!("SubpassDependency2 {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SubpassDependency2, s_type), offset_of!(structs::SubpassDependency2, p_next), offset_of!(structs::SubpassDependency2, src_subpass), offset_of!(structs::SubpassDependency2, dst_subpass), offset_of!(structs::SubpassDependency2, src_stage_mask), offset_of!(structs::SubpassDependency2, dst_stage_mask), offset_of!(structs::SubpassDependency2, src_access_mask), offset_of!(structs::SubpassDependency2, dst_access_mask), offset_of!(structs::SubpassDependency2, dependency_flags), offset_of!(structs::SubpassDependency2, view_offset)); - println!("RenderPassCreateInfo2 {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::RenderPassCreateInfo2, s_type), offset_of!(structs::RenderPassCreateInfo2, p_next), offset_of!(structs::RenderPassCreateInfo2, flags), offset_of!(structs::RenderPassCreateInfo2, attachment_count), offset_of!(structs::RenderPassCreateInfo2, p_attachments), offset_of!(structs::RenderPassCreateInfo2, subpass_count), offset_of!(structs::RenderPassCreateInfo2, p_subpasses), offset_of!(structs::RenderPassCreateInfo2, dependency_count), offset_of!(structs::RenderPassCreateInfo2, p_dependencies), offset_of!(structs::RenderPassCreateInfo2, correlated_view_mask_count), offset_of!(structs::RenderPassCreateInfo2, p_correlated_view_masks)); - println!("SubpassBeginInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SubpassBeginInfo, s_type), offset_of!(structs::SubpassBeginInfo, p_next), offset_of!(structs::SubpassBeginInfo, contents)); - println!("SubpassEndInfo {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SubpassEndInfo, s_type), offset_of!(structs::SubpassEndInfo, p_next)); - println!("PhysicalDeviceTimelineSemaphoreFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceTimelineSemaphoreFeatures, s_type), offset_of!(structs::PhysicalDeviceTimelineSemaphoreFeatures, p_next), offset_of!(structs::PhysicalDeviceTimelineSemaphoreFeatures, timeline_semaphore)); - println!("PhysicalDeviceTimelineSemaphoreProperties {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceTimelineSemaphoreProperties, s_type), offset_of!(structs::PhysicalDeviceTimelineSemaphoreProperties, p_next), offset_of!(structs::PhysicalDeviceTimelineSemaphoreProperties, max_timeline_semaphore_value_difference)); - println!("SemaphoreTypeCreateInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SemaphoreTypeCreateInfo, s_type), offset_of!(structs::SemaphoreTypeCreateInfo, p_next), offset_of!(structs::SemaphoreTypeCreateInfo, semaphore_type), offset_of!(structs::SemaphoreTypeCreateInfo, initial_value)); - println!("TimelineSemaphoreSubmitInfo {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::TimelineSemaphoreSubmitInfo, s_type), offset_of!(structs::TimelineSemaphoreSubmitInfo, p_next), offset_of!(structs::TimelineSemaphoreSubmitInfo, wait_semaphore_value_count), offset_of!(structs::TimelineSemaphoreSubmitInfo, p_wait_semaphore_values), offset_of!(structs::TimelineSemaphoreSubmitInfo, signal_semaphore_value_count), offset_of!(structs::TimelineSemaphoreSubmitInfo, p_signal_semaphore_values)); - println!("SemaphoreWaitInfo {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SemaphoreWaitInfo, s_type), offset_of!(structs::SemaphoreWaitInfo, p_next), offset_of!(structs::SemaphoreWaitInfo, flags), offset_of!(structs::SemaphoreWaitInfo, semaphore_count), offset_of!(structs::SemaphoreWaitInfo, p_semaphores), offset_of!(structs::SemaphoreWaitInfo, p_values)); - println!("SemaphoreSignalInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SemaphoreSignalInfo, s_type), offset_of!(structs::SemaphoreSignalInfo, p_next), offset_of!(structs::SemaphoreSignalInfo, semaphore), offset_of!(structs::SemaphoreSignalInfo, value)); - println!("VertexInputBindingDivisorDescription {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VertexInputBindingDivisorDescription, binding), offset_of!(structs::VertexInputBindingDivisorDescription, divisor)); - println!("PipelineVertexInputDivisorStateCreateInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineVertexInputDivisorStateCreateInfo, s_type), offset_of!(structs::PipelineVertexInputDivisorStateCreateInfo, p_next), offset_of!(structs::PipelineVertexInputDivisorStateCreateInfo, vertex_binding_divisor_count), offset_of!(structs::PipelineVertexInputDivisorStateCreateInfo, p_vertex_binding_divisors)); - println!("PhysicalDeviceVertexAttributeDivisorPropertiesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceVertexAttributeDivisorPropertiesEXT, s_type), offset_of!(structs::PhysicalDeviceVertexAttributeDivisorPropertiesEXT, p_next), offset_of!(structs::PhysicalDeviceVertexAttributeDivisorPropertiesEXT, max_vertex_attrib_divisor)); - println!("PhysicalDeviceVertexAttributeDivisorProperties {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceVertexAttributeDivisorProperties, s_type), offset_of!(structs::PhysicalDeviceVertexAttributeDivisorProperties, p_next), offset_of!(structs::PhysicalDeviceVertexAttributeDivisorProperties, max_vertex_attrib_divisor), offset_of!(structs::PhysicalDeviceVertexAttributeDivisorProperties, supports_non_zero_first_instance)); - println!("PhysicalDevicePCIBusInfoPropertiesEXT {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDevicePCIBusInfoPropertiesEXT, s_type), offset_of!(structs::PhysicalDevicePCIBusInfoPropertiesEXT, p_next), offset_of!(structs::PhysicalDevicePCIBusInfoPropertiesEXT, pci_domain), offset_of!(structs::PhysicalDevicePCIBusInfoPropertiesEXT, pci_bus), offset_of!(structs::PhysicalDevicePCIBusInfoPropertiesEXT, pci_device), offset_of!(structs::PhysicalDevicePCIBusInfoPropertiesEXT, pci_function)); - println!("CommandBufferInheritanceConditionalRenderingInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CommandBufferInheritanceConditionalRenderingInfoEXT, s_type), offset_of!(structs::CommandBufferInheritanceConditionalRenderingInfoEXT, p_next), offset_of!(structs::CommandBufferInheritanceConditionalRenderingInfoEXT, conditional_rendering_enable)); - println!("PhysicalDevice8BitStorageFeatures {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDevice8BitStorageFeatures, s_type), offset_of!(structs::PhysicalDevice8BitStorageFeatures, p_next), offset_of!(structs::PhysicalDevice8BitStorageFeatures, storage_buffer8_bit_access), offset_of!(structs::PhysicalDevice8BitStorageFeatures, uniform_and_storage_buffer8_bit_access), offset_of!(structs::PhysicalDevice8BitStorageFeatures, storage_push_constant8)); - println!("PhysicalDeviceConditionalRenderingFeaturesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceConditionalRenderingFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceConditionalRenderingFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceConditionalRenderingFeaturesEXT, conditional_rendering), offset_of!(structs::PhysicalDeviceConditionalRenderingFeaturesEXT, inherited_conditional_rendering)); - println!("PhysicalDeviceVulkanMemoryModelFeatures {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceVulkanMemoryModelFeatures, s_type), offset_of!(structs::PhysicalDeviceVulkanMemoryModelFeatures, p_next), offset_of!(structs::PhysicalDeviceVulkanMemoryModelFeatures, vulkan_memory_model), offset_of!(structs::PhysicalDeviceVulkanMemoryModelFeatures, vulkan_memory_model_device_scope), offset_of!(structs::PhysicalDeviceVulkanMemoryModelFeatures, vulkan_memory_model_availability_visibility_chains)); - println!("PhysicalDeviceShaderAtomicInt64Features {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderAtomicInt64Features, s_type), offset_of!(structs::PhysicalDeviceShaderAtomicInt64Features, p_next), offset_of!(structs::PhysicalDeviceShaderAtomicInt64Features, shader_buffer_int64_atomics), offset_of!(structs::PhysicalDeviceShaderAtomicInt64Features, shader_shared_int64_atomics)); - println!("PhysicalDeviceShaderAtomicFloatFeaturesEXT {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderAtomicFloatFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceShaderAtomicFloatFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceShaderAtomicFloatFeaturesEXT, shader_buffer_float32_atomics), offset_of!(structs::PhysicalDeviceShaderAtomicFloatFeaturesEXT, shader_buffer_float32_atomic_add), offset_of!(structs::PhysicalDeviceShaderAtomicFloatFeaturesEXT, shader_buffer_float64_atomics), offset_of!(structs::PhysicalDeviceShaderAtomicFloatFeaturesEXT, shader_buffer_float64_atomic_add), offset_of!(structs::PhysicalDeviceShaderAtomicFloatFeaturesEXT, shader_shared_float32_atomics), offset_of!(structs::PhysicalDeviceShaderAtomicFloatFeaturesEXT, shader_shared_float32_atomic_add), offset_of!(structs::PhysicalDeviceShaderAtomicFloatFeaturesEXT, shader_shared_float64_atomics), offset_of!(structs::PhysicalDeviceShaderAtomicFloatFeaturesEXT, shader_shared_float64_atomic_add), offset_of!(structs::PhysicalDeviceShaderAtomicFloatFeaturesEXT, shader_image_float32_atomics), offset_of!(structs::PhysicalDeviceShaderAtomicFloatFeaturesEXT, shader_image_float32_atomic_add), offset_of!(structs::PhysicalDeviceShaderAtomicFloatFeaturesEXT, sparse_image_float32_atomics), offset_of!(structs::PhysicalDeviceShaderAtomicFloatFeaturesEXT, sparse_image_float32_atomic_add)); - println!("PhysicalDeviceShaderAtomicFloat2FeaturesEXT {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderAtomicFloat2FeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceShaderAtomicFloat2FeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceShaderAtomicFloat2FeaturesEXT, shader_buffer_float16_atomics), offset_of!(structs::PhysicalDeviceShaderAtomicFloat2FeaturesEXT, shader_buffer_float16_atomic_add), offset_of!(structs::PhysicalDeviceShaderAtomicFloat2FeaturesEXT, shader_buffer_float16_atomic_min_max), offset_of!(structs::PhysicalDeviceShaderAtomicFloat2FeaturesEXT, shader_buffer_float32_atomic_min_max), offset_of!(structs::PhysicalDeviceShaderAtomicFloat2FeaturesEXT, shader_buffer_float64_atomic_min_max), offset_of!(structs::PhysicalDeviceShaderAtomicFloat2FeaturesEXT, shader_shared_float16_atomics), offset_of!(structs::PhysicalDeviceShaderAtomicFloat2FeaturesEXT, shader_shared_float16_atomic_add), offset_of!(structs::PhysicalDeviceShaderAtomicFloat2FeaturesEXT, shader_shared_float16_atomic_min_max), offset_of!(structs::PhysicalDeviceShaderAtomicFloat2FeaturesEXT, shader_shared_float32_atomic_min_max), offset_of!(structs::PhysicalDeviceShaderAtomicFloat2FeaturesEXT, shader_shared_float64_atomic_min_max), offset_of!(structs::PhysicalDeviceShaderAtomicFloat2FeaturesEXT, shader_image_float32_atomic_min_max), offset_of!(structs::PhysicalDeviceShaderAtomicFloat2FeaturesEXT, sparse_image_float32_atomic_min_max)); - println!("PhysicalDeviceVertexAttributeDivisorFeatures {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceVertexAttributeDivisorFeatures, s_type), offset_of!(structs::PhysicalDeviceVertexAttributeDivisorFeatures, p_next), offset_of!(structs::PhysicalDeviceVertexAttributeDivisorFeatures, vertex_attribute_instance_rate_divisor), offset_of!(structs::PhysicalDeviceVertexAttributeDivisorFeatures, vertex_attribute_instance_rate_zero_divisor)); - println!("QueueFamilyCheckpointPropertiesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::QueueFamilyCheckpointPropertiesNV, s_type), offset_of!(structs::QueueFamilyCheckpointPropertiesNV, p_next), offset_of!(structs::QueueFamilyCheckpointPropertiesNV, checkpoint_execution_stage_mask)); - println!("CheckpointDataNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CheckpointDataNV, s_type), offset_of!(structs::CheckpointDataNV, p_next), offset_of!(structs::CheckpointDataNV, stage), offset_of!(structs::CheckpointDataNV, p_checkpoint_marker)); - println!("PhysicalDeviceDepthStencilResolveProperties {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceDepthStencilResolveProperties, s_type), offset_of!(structs::PhysicalDeviceDepthStencilResolveProperties, p_next), offset_of!(structs::PhysicalDeviceDepthStencilResolveProperties, supported_depth_resolve_modes), offset_of!(structs::PhysicalDeviceDepthStencilResolveProperties, supported_stencil_resolve_modes), offset_of!(structs::PhysicalDeviceDepthStencilResolveProperties, independent_resolve_none), offset_of!(structs::PhysicalDeviceDepthStencilResolveProperties, independent_resolve)); - println!("SubpassDescriptionDepthStencilResolve {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SubpassDescriptionDepthStencilResolve, s_type), offset_of!(structs::SubpassDescriptionDepthStencilResolve, p_next), offset_of!(structs::SubpassDescriptionDepthStencilResolve, depth_resolve_mode), offset_of!(structs::SubpassDescriptionDepthStencilResolve, stencil_resolve_mode), offset_of!(structs::SubpassDescriptionDepthStencilResolve, p_depth_stencil_resolve_attachment)); - println!("ImageViewASTCDecodeModeEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImageViewASTCDecodeModeEXT, s_type), offset_of!(structs::ImageViewASTCDecodeModeEXT, p_next), offset_of!(structs::ImageViewASTCDecodeModeEXT, decode_mode)); - println!("PhysicalDeviceASTCDecodeFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceASTCDecodeFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceASTCDecodeFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceASTCDecodeFeaturesEXT, decode_mode_shared_exponent)); - println!("PhysicalDeviceTransformFeedbackFeaturesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceTransformFeedbackFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceTransformFeedbackFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceTransformFeedbackFeaturesEXT, transform_feedback), offset_of!(structs::PhysicalDeviceTransformFeedbackFeaturesEXT, geometry_streams)); - println!("PhysicalDeviceTransformFeedbackPropertiesEXT {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceTransformFeedbackPropertiesEXT, s_type), offset_of!(structs::PhysicalDeviceTransformFeedbackPropertiesEXT, p_next), offset_of!(structs::PhysicalDeviceTransformFeedbackPropertiesEXT, max_transform_feedback_streams), offset_of!(structs::PhysicalDeviceTransformFeedbackPropertiesEXT, max_transform_feedback_buffers), offset_of!(structs::PhysicalDeviceTransformFeedbackPropertiesEXT, max_transform_feedback_buffer_size), offset_of!(structs::PhysicalDeviceTransformFeedbackPropertiesEXT, max_transform_feedback_stream_data_size), offset_of!(structs::PhysicalDeviceTransformFeedbackPropertiesEXT, max_transform_feedback_buffer_data_size), offset_of!(structs::PhysicalDeviceTransformFeedbackPropertiesEXT, max_transform_feedback_buffer_data_stride), offset_of!(structs::PhysicalDeviceTransformFeedbackPropertiesEXT, transform_feedback_queries), offset_of!(structs::PhysicalDeviceTransformFeedbackPropertiesEXT, transform_feedback_streams_lines_triangles), offset_of!(structs::PhysicalDeviceTransformFeedbackPropertiesEXT, transform_feedback_rasterization_stream_select), offset_of!(structs::PhysicalDeviceTransformFeedbackPropertiesEXT, transform_feedback_draw)); - println!("PipelineRasterizationStateStreamCreateInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineRasterizationStateStreamCreateInfoEXT, s_type), offset_of!(structs::PipelineRasterizationStateStreamCreateInfoEXT, p_next), offset_of!(structs::PipelineRasterizationStateStreamCreateInfoEXT, flags), offset_of!(structs::PipelineRasterizationStateStreamCreateInfoEXT, rasterization_stream)); - println!("PhysicalDeviceRepresentativeFragmentTestFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceRepresentativeFragmentTestFeaturesNV, s_type), offset_of!(structs::PhysicalDeviceRepresentativeFragmentTestFeaturesNV, p_next), offset_of!(structs::PhysicalDeviceRepresentativeFragmentTestFeaturesNV, representative_fragment_test)); - println!("PipelineRepresentativeFragmentTestStateCreateInfoNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineRepresentativeFragmentTestStateCreateInfoNV, s_type), offset_of!(structs::PipelineRepresentativeFragmentTestStateCreateInfoNV, p_next), offset_of!(structs::PipelineRepresentativeFragmentTestStateCreateInfoNV, representative_fragment_test_enable)); - println!("PhysicalDeviceExclusiveScissorFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceExclusiveScissorFeaturesNV, s_type), offset_of!(structs::PhysicalDeviceExclusiveScissorFeaturesNV, p_next), offset_of!(structs::PhysicalDeviceExclusiveScissorFeaturesNV, exclusive_scissor)); - println!("PipelineViewportExclusiveScissorStateCreateInfoNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineViewportExclusiveScissorStateCreateInfoNV, s_type), offset_of!(structs::PipelineViewportExclusiveScissorStateCreateInfoNV, p_next), offset_of!(structs::PipelineViewportExclusiveScissorStateCreateInfoNV, exclusive_scissor_count), offset_of!(structs::PipelineViewportExclusiveScissorStateCreateInfoNV, p_exclusive_scissors)); - println!("PhysicalDeviceCornerSampledImageFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceCornerSampledImageFeaturesNV, s_type), offset_of!(structs::PhysicalDeviceCornerSampledImageFeaturesNV, p_next), offset_of!(structs::PhysicalDeviceCornerSampledImageFeaturesNV, corner_sampled_image)); - println!("PhysicalDeviceComputeShaderDerivativesFeaturesKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceComputeShaderDerivativesFeaturesKHR, s_type), offset_of!(structs::PhysicalDeviceComputeShaderDerivativesFeaturesKHR, p_next), offset_of!(structs::PhysicalDeviceComputeShaderDerivativesFeaturesKHR, compute_derivative_group_quads), offset_of!(structs::PhysicalDeviceComputeShaderDerivativesFeaturesKHR, compute_derivative_group_linear)); - println!("PhysicalDeviceComputeShaderDerivativesPropertiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceComputeShaderDerivativesPropertiesKHR, s_type), offset_of!(structs::PhysicalDeviceComputeShaderDerivativesPropertiesKHR, p_next), offset_of!(structs::PhysicalDeviceComputeShaderDerivativesPropertiesKHR, mesh_and_task_shader_derivatives)); - println!("PhysicalDeviceShaderImageFootprintFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderImageFootprintFeaturesNV, s_type), offset_of!(structs::PhysicalDeviceShaderImageFootprintFeaturesNV, p_next), offset_of!(structs::PhysicalDeviceShaderImageFootprintFeaturesNV, image_footprint)); - println!("PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, s_type), offset_of!(structs::PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, p_next), offset_of!(structs::PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, dedicated_allocation_image_aliasing)); - println!("PhysicalDeviceCopyMemoryIndirectFeaturesKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceCopyMemoryIndirectFeaturesKHR, s_type), offset_of!(structs::PhysicalDeviceCopyMemoryIndirectFeaturesKHR, p_next), offset_of!(structs::PhysicalDeviceCopyMemoryIndirectFeaturesKHR, indirect_memory_copy), offset_of!(structs::PhysicalDeviceCopyMemoryIndirectFeaturesKHR, indirect_memory_to_image_copy)); - println!("PhysicalDeviceCopyMemoryIndirectFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceCopyMemoryIndirectFeaturesNV, s_type), offset_of!(structs::PhysicalDeviceCopyMemoryIndirectFeaturesNV, p_next), offset_of!(structs::PhysicalDeviceCopyMemoryIndirectFeaturesNV, indirect_copy)); - println!("PhysicalDeviceCopyMemoryIndirectPropertiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceCopyMemoryIndirectPropertiesKHR, s_type), offset_of!(structs::PhysicalDeviceCopyMemoryIndirectPropertiesKHR, p_next), offset_of!(structs::PhysicalDeviceCopyMemoryIndirectPropertiesKHR, supported_queues)); - println!("PhysicalDeviceMemoryDecompressionFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceMemoryDecompressionFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceMemoryDecompressionFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceMemoryDecompressionFeaturesEXT, memory_decompression)); - println!("PhysicalDeviceMemoryDecompressionPropertiesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceMemoryDecompressionPropertiesEXT, s_type), offset_of!(structs::PhysicalDeviceMemoryDecompressionPropertiesEXT, p_next), offset_of!(structs::PhysicalDeviceMemoryDecompressionPropertiesEXT, decompression_methods), offset_of!(structs::PhysicalDeviceMemoryDecompressionPropertiesEXT, max_decompression_indirect_count)); - println!("ShadingRatePaletteNV {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ShadingRatePaletteNV, shading_rate_palette_entry_count), offset_of!(structs::ShadingRatePaletteNV, p_shading_rate_palette_entries)); - println!("PipelineViewportShadingRateImageStateCreateInfoNV {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineViewportShadingRateImageStateCreateInfoNV, s_type), offset_of!(structs::PipelineViewportShadingRateImageStateCreateInfoNV, p_next), offset_of!(structs::PipelineViewportShadingRateImageStateCreateInfoNV, shading_rate_image_enable), offset_of!(structs::PipelineViewportShadingRateImageStateCreateInfoNV, viewport_count), offset_of!(structs::PipelineViewportShadingRateImageStateCreateInfoNV, p_shading_rate_palettes)); - println!("PhysicalDeviceShadingRateImageFeaturesNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShadingRateImageFeaturesNV, s_type), offset_of!(structs::PhysicalDeviceShadingRateImageFeaturesNV, p_next), offset_of!(structs::PhysicalDeviceShadingRateImageFeaturesNV, shading_rate_image), offset_of!(structs::PhysicalDeviceShadingRateImageFeaturesNV, shading_rate_coarse_sample_order)); - println!("PhysicalDeviceShadingRateImagePropertiesNV {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShadingRateImagePropertiesNV, s_type), offset_of!(structs::PhysicalDeviceShadingRateImagePropertiesNV, p_next), offset_of!(structs::PhysicalDeviceShadingRateImagePropertiesNV, shading_rate_texel_size), offset_of!(structs::PhysicalDeviceShadingRateImagePropertiesNV, shading_rate_palette_size), offset_of!(structs::PhysicalDeviceShadingRateImagePropertiesNV, shading_rate_max_coarse_samples)); - println!("PhysicalDeviceInvocationMaskFeaturesHUAWEI {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceInvocationMaskFeaturesHUAWEI, s_type), offset_of!(structs::PhysicalDeviceInvocationMaskFeaturesHUAWEI, p_next), offset_of!(structs::PhysicalDeviceInvocationMaskFeaturesHUAWEI, invocation_mask)); - println!("CoarseSampleLocationNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CoarseSampleLocationNV, pixel_x), offset_of!(structs::CoarseSampleLocationNV, pixel_y), offset_of!(structs::CoarseSampleLocationNV, sample)); - println!("CoarseSampleOrderCustomNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CoarseSampleOrderCustomNV, shading_rate), offset_of!(structs::CoarseSampleOrderCustomNV, sample_count), offset_of!(structs::CoarseSampleOrderCustomNV, sample_location_count), offset_of!(structs::CoarseSampleOrderCustomNV, p_sample_locations)); - println!("PipelineViewportCoarseSampleOrderStateCreateInfoNV {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineViewportCoarseSampleOrderStateCreateInfoNV, s_type), offset_of!(structs::PipelineViewportCoarseSampleOrderStateCreateInfoNV, p_next), offset_of!(structs::PipelineViewportCoarseSampleOrderStateCreateInfoNV, sample_order_type), offset_of!(structs::PipelineViewportCoarseSampleOrderStateCreateInfoNV, custom_sample_order_count), offset_of!(structs::PipelineViewportCoarseSampleOrderStateCreateInfoNV, p_custom_sample_orders)); - println!("PhysicalDeviceMeshShaderFeaturesNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceMeshShaderFeaturesNV, s_type), offset_of!(structs::PhysicalDeviceMeshShaderFeaturesNV, p_next), offset_of!(structs::PhysicalDeviceMeshShaderFeaturesNV, task_shader), offset_of!(structs::PhysicalDeviceMeshShaderFeaturesNV, mesh_shader)); - println!("PhysicalDeviceMeshShaderPropertiesNV {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesNV, s_type), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesNV, p_next), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesNV, max_draw_mesh_tasks_count), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesNV, max_task_work_group_invocations), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesNV, max_task_work_group_size), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesNV, max_task_total_memory_size), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesNV, max_task_output_count), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesNV, max_mesh_work_group_invocations), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesNV, max_mesh_work_group_size), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesNV, max_mesh_total_memory_size), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesNV, max_mesh_output_vertices), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesNV, max_mesh_output_primitives), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesNV, max_mesh_multiview_view_count), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesNV, mesh_output_per_vertex_granularity), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesNV, mesh_output_per_primitive_granularity)); - println!("DrawMeshTasksIndirectCommandNV {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DrawMeshTasksIndirectCommandNV, task_count), offset_of!(structs::DrawMeshTasksIndirectCommandNV, first_task)); - println!("PhysicalDeviceMeshShaderFeaturesEXT {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceMeshShaderFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceMeshShaderFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceMeshShaderFeaturesEXT, task_shader), offset_of!(structs::PhysicalDeviceMeshShaderFeaturesEXT, mesh_shader), offset_of!(structs::PhysicalDeviceMeshShaderFeaturesEXT, multiview_mesh_shader), offset_of!(structs::PhysicalDeviceMeshShaderFeaturesEXT, primitive_fragment_shading_rate_mesh_shader), offset_of!(structs::PhysicalDeviceMeshShaderFeaturesEXT, mesh_shader_queries)); - println!("PhysicalDeviceMeshShaderPropertiesEXT {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesEXT, s_type), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesEXT, p_next), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesEXT, max_task_work_group_total_count), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesEXT, max_task_work_group_count), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesEXT, max_task_work_group_invocations), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesEXT, max_task_work_group_size), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesEXT, max_task_payload_size), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesEXT, max_task_shared_memory_size), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesEXT, max_task_payload_and_shared_memory_size), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesEXT, max_mesh_work_group_total_count), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesEXT, max_mesh_work_group_count), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesEXT, max_mesh_work_group_invocations), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesEXT, max_mesh_work_group_size), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesEXT, max_mesh_shared_memory_size), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesEXT, max_mesh_payload_and_shared_memory_size), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesEXT, max_mesh_output_memory_size), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesEXT, max_mesh_payload_and_output_memory_size), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesEXT, max_mesh_output_components), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesEXT, max_mesh_output_vertices), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesEXT, max_mesh_output_primitives), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesEXT, max_mesh_output_layers), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesEXT, max_mesh_multiview_view_count), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesEXT, mesh_output_per_vertex_granularity), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesEXT, mesh_output_per_primitive_granularity), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesEXT, max_preferred_task_work_group_invocations), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesEXT, max_preferred_mesh_work_group_invocations), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesEXT, prefers_local_invocation_vertex_output), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesEXT, prefers_local_invocation_primitive_output), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesEXT, prefers_compact_vertex_output), offset_of!(structs::PhysicalDeviceMeshShaderPropertiesEXT, prefers_compact_primitive_output)); - println!("DrawMeshTasksIndirectCommandEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DrawMeshTasksIndirectCommandEXT, group_count_x), offset_of!(structs::DrawMeshTasksIndirectCommandEXT, group_count_y), offset_of!(structs::DrawMeshTasksIndirectCommandEXT, group_count_z)); - println!("RayTracingShaderGroupCreateInfoNV {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::RayTracingShaderGroupCreateInfoNV, s_type), offset_of!(structs::RayTracingShaderGroupCreateInfoNV, p_next), offset_of!(structs::RayTracingShaderGroupCreateInfoNV, general_shader), offset_of!(structs::RayTracingShaderGroupCreateInfoNV, closest_hit_shader), offset_of!(structs::RayTracingShaderGroupCreateInfoNV, any_hit_shader), offset_of!(structs::RayTracingShaderGroupCreateInfoNV, intersection_shader)); - println!("RayTracingShaderGroupCreateInfoKHR {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::RayTracingShaderGroupCreateInfoKHR, s_type), offset_of!(structs::RayTracingShaderGroupCreateInfoKHR, p_next), offset_of!(structs::RayTracingShaderGroupCreateInfoKHR, general_shader), offset_of!(structs::RayTracingShaderGroupCreateInfoKHR, closest_hit_shader), offset_of!(structs::RayTracingShaderGroupCreateInfoKHR, any_hit_shader), offset_of!(structs::RayTracingShaderGroupCreateInfoKHR, intersection_shader), offset_of!(structs::RayTracingShaderGroupCreateInfoKHR, p_shader_group_capture_replay_handle)); - println!("RayTracingPipelineCreateInfoNV {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::RayTracingPipelineCreateInfoNV, s_type), offset_of!(structs::RayTracingPipelineCreateInfoNV, p_next), offset_of!(structs::RayTracingPipelineCreateInfoNV, flags), offset_of!(structs::RayTracingPipelineCreateInfoNV, stage_count), offset_of!(structs::RayTracingPipelineCreateInfoNV, p_stages), offset_of!(structs::RayTracingPipelineCreateInfoNV, group_count), offset_of!(structs::RayTracingPipelineCreateInfoNV, p_groups), offset_of!(structs::RayTracingPipelineCreateInfoNV, max_recursion_depth), offset_of!(structs::RayTracingPipelineCreateInfoNV, layout), offset_of!(structs::RayTracingPipelineCreateInfoNV, base_pipeline_handle), offset_of!(structs::RayTracingPipelineCreateInfoNV, base_pipeline_index)); - println!("RayTracingPipelineCreateInfoKHR {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::RayTracingPipelineCreateInfoKHR, s_type), offset_of!(structs::RayTracingPipelineCreateInfoKHR, p_next), offset_of!(structs::RayTracingPipelineCreateInfoKHR, flags), offset_of!(structs::RayTracingPipelineCreateInfoKHR, stage_count), offset_of!(structs::RayTracingPipelineCreateInfoKHR, p_stages), offset_of!(structs::RayTracingPipelineCreateInfoKHR, group_count), offset_of!(structs::RayTracingPipelineCreateInfoKHR, p_groups), offset_of!(structs::RayTracingPipelineCreateInfoKHR, max_pipeline_ray_recursion_depth), offset_of!(structs::RayTracingPipelineCreateInfoKHR, p_library_info), offset_of!(structs::RayTracingPipelineCreateInfoKHR, p_library_interface), offset_of!(structs::RayTracingPipelineCreateInfoKHR, p_dynamic_state), offset_of!(structs::RayTracingPipelineCreateInfoKHR, layout), offset_of!(structs::RayTracingPipelineCreateInfoKHR, base_pipeline_handle), offset_of!(structs::RayTracingPipelineCreateInfoKHR, base_pipeline_index)); - println!("GeometryTrianglesNV {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::GeometryTrianglesNV, s_type), offset_of!(structs::GeometryTrianglesNV, p_next), offset_of!(structs::GeometryTrianglesNV, vertex_data), offset_of!(structs::GeometryTrianglesNV, vertex_offset), offset_of!(structs::GeometryTrianglesNV, vertex_count), offset_of!(structs::GeometryTrianglesNV, vertex_stride), offset_of!(structs::GeometryTrianglesNV, vertex_format), offset_of!(structs::GeometryTrianglesNV, index_data), offset_of!(structs::GeometryTrianglesNV, index_offset), offset_of!(structs::GeometryTrianglesNV, index_count), offset_of!(structs::GeometryTrianglesNV, index_type), offset_of!(structs::GeometryTrianglesNV, transform_data), offset_of!(structs::GeometryTrianglesNV, transform_offset)); - println!("GeometryAABBNV {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::GeometryAABBNV, s_type), offset_of!(structs::GeometryAABBNV, p_next), offset_of!(structs::GeometryAABBNV, aabb_data), offset_of!(structs::GeometryAABBNV, num_aab_bs), offset_of!(structs::GeometryAABBNV, stride), offset_of!(structs::GeometryAABBNV, offset)); - println!("GeometryDataNV {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::GeometryDataNV, triangles), offset_of!(structs::GeometryDataNV, aabbs)); - println!("GeometryNV {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::GeometryNV, s_type), offset_of!(structs::GeometryNV, p_next), offset_of!(structs::GeometryNV, geometry_type), offset_of!(structs::GeometryNV, geometry), offset_of!(structs::GeometryNV, flags)); - println!("AccelerationStructureInfoNV {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::AccelerationStructureInfoNV, s_type), offset_of!(structs::AccelerationStructureInfoNV, p_next), offset_of!(structs::AccelerationStructureInfoNV, flags), offset_of!(structs::AccelerationStructureInfoNV, instance_count), offset_of!(structs::AccelerationStructureInfoNV, geometry_count), offset_of!(structs::AccelerationStructureInfoNV, p_geometries)); - println!("AccelerationStructureCreateInfoNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::AccelerationStructureCreateInfoNV, s_type), offset_of!(structs::AccelerationStructureCreateInfoNV, p_next), offset_of!(structs::AccelerationStructureCreateInfoNV, compacted_size), offset_of!(structs::AccelerationStructureCreateInfoNV, info)); - println!("BindAccelerationStructureMemoryInfoNV {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BindAccelerationStructureMemoryInfoNV, s_type), offset_of!(structs::BindAccelerationStructureMemoryInfoNV, p_next), offset_of!(structs::BindAccelerationStructureMemoryInfoNV, acceleration_structure), offset_of!(structs::BindAccelerationStructureMemoryInfoNV, memory), offset_of!(structs::BindAccelerationStructureMemoryInfoNV, memory_offset), offset_of!(structs::BindAccelerationStructureMemoryInfoNV, device_index_count), offset_of!(structs::BindAccelerationStructureMemoryInfoNV, p_device_indices)); - println!("WriteDescriptorSetAccelerationStructureKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::WriteDescriptorSetAccelerationStructureKHR, s_type), offset_of!(structs::WriteDescriptorSetAccelerationStructureKHR, p_next), offset_of!(structs::WriteDescriptorSetAccelerationStructureKHR, acceleration_structure_count), offset_of!(structs::WriteDescriptorSetAccelerationStructureKHR, p_acceleration_structures)); - println!("WriteDescriptorSetAccelerationStructureNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::WriteDescriptorSetAccelerationStructureNV, s_type), offset_of!(structs::WriteDescriptorSetAccelerationStructureNV, p_next), offset_of!(structs::WriteDescriptorSetAccelerationStructureNV, acceleration_structure_count), offset_of!(structs::WriteDescriptorSetAccelerationStructureNV, p_acceleration_structures)); - println!("AccelerationStructureMemoryRequirementsInfoNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::AccelerationStructureMemoryRequirementsInfoNV, s_type), offset_of!(structs::AccelerationStructureMemoryRequirementsInfoNV, p_next), offset_of!(structs::AccelerationStructureMemoryRequirementsInfoNV, acceleration_structure)); - println!("PhysicalDeviceAccelerationStructureFeaturesKHR {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceAccelerationStructureFeaturesKHR, s_type), offset_of!(structs::PhysicalDeviceAccelerationStructureFeaturesKHR, p_next), offset_of!(structs::PhysicalDeviceAccelerationStructureFeaturesKHR, acceleration_structure), offset_of!(structs::PhysicalDeviceAccelerationStructureFeaturesKHR, acceleration_structure_capture_replay), offset_of!(structs::PhysicalDeviceAccelerationStructureFeaturesKHR, acceleration_structure_indirect_build), offset_of!(structs::PhysicalDeviceAccelerationStructureFeaturesKHR, acceleration_structure_host_commands), offset_of!(structs::PhysicalDeviceAccelerationStructureFeaturesKHR, descriptor_binding_acceleration_structure_update_after_bind)); - println!("PhysicalDeviceRayTracingPipelineFeaturesKHR {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceRayTracingPipelineFeaturesKHR, s_type), offset_of!(structs::PhysicalDeviceRayTracingPipelineFeaturesKHR, p_next), offset_of!(structs::PhysicalDeviceRayTracingPipelineFeaturesKHR, ray_tracing_pipeline), offset_of!(structs::PhysicalDeviceRayTracingPipelineFeaturesKHR, ray_tracing_pipeline_shader_group_handle_capture_replay), offset_of!(structs::PhysicalDeviceRayTracingPipelineFeaturesKHR, ray_tracing_pipeline_shader_group_handle_capture_replay_mixed), offset_of!(structs::PhysicalDeviceRayTracingPipelineFeaturesKHR, ray_tracing_pipeline_trace_rays_indirect), offset_of!(structs::PhysicalDeviceRayTracingPipelineFeaturesKHR, ray_traversal_primitive_culling)); - println!("PhysicalDeviceRayQueryFeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceRayQueryFeaturesKHR, s_type), offset_of!(structs::PhysicalDeviceRayQueryFeaturesKHR, p_next), offset_of!(structs::PhysicalDeviceRayQueryFeaturesKHR, ray_query)); - println!("PhysicalDeviceAccelerationStructurePropertiesKHR {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceAccelerationStructurePropertiesKHR, s_type), offset_of!(structs::PhysicalDeviceAccelerationStructurePropertiesKHR, p_next), offset_of!(structs::PhysicalDeviceAccelerationStructurePropertiesKHR, max_geometry_count), offset_of!(structs::PhysicalDeviceAccelerationStructurePropertiesKHR, max_instance_count), offset_of!(structs::PhysicalDeviceAccelerationStructurePropertiesKHR, max_primitive_count), offset_of!(structs::PhysicalDeviceAccelerationStructurePropertiesKHR, max_per_stage_descriptor_acceleration_structures), offset_of!(structs::PhysicalDeviceAccelerationStructurePropertiesKHR, max_per_stage_descriptor_update_after_bind_acceleration_structures), offset_of!(structs::PhysicalDeviceAccelerationStructurePropertiesKHR, max_descriptor_set_acceleration_structures), offset_of!(structs::PhysicalDeviceAccelerationStructurePropertiesKHR, max_descriptor_set_update_after_bind_acceleration_structures), offset_of!(structs::PhysicalDeviceAccelerationStructurePropertiesKHR, min_acceleration_structure_scratch_offset_alignment)); - println!("PhysicalDeviceRayTracingPipelinePropertiesKHR {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceRayTracingPipelinePropertiesKHR, s_type), offset_of!(structs::PhysicalDeviceRayTracingPipelinePropertiesKHR, p_next), offset_of!(structs::PhysicalDeviceRayTracingPipelinePropertiesKHR, shader_group_handle_size), offset_of!(structs::PhysicalDeviceRayTracingPipelinePropertiesKHR, max_ray_recursion_depth), offset_of!(structs::PhysicalDeviceRayTracingPipelinePropertiesKHR, max_shader_group_stride), offset_of!(structs::PhysicalDeviceRayTracingPipelinePropertiesKHR, shader_group_base_alignment), offset_of!(structs::PhysicalDeviceRayTracingPipelinePropertiesKHR, shader_group_handle_capture_replay_size), offset_of!(structs::PhysicalDeviceRayTracingPipelinePropertiesKHR, max_ray_dispatch_invocation_count), offset_of!(structs::PhysicalDeviceRayTracingPipelinePropertiesKHR, shader_group_handle_alignment), offset_of!(structs::PhysicalDeviceRayTracingPipelinePropertiesKHR, max_ray_hit_attribute_size)); - println!("PhysicalDeviceRayTracingPropertiesNV {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceRayTracingPropertiesNV, s_type), offset_of!(structs::PhysicalDeviceRayTracingPropertiesNV, p_next), offset_of!(structs::PhysicalDeviceRayTracingPropertiesNV, shader_group_handle_size), offset_of!(structs::PhysicalDeviceRayTracingPropertiesNV, max_recursion_depth), offset_of!(structs::PhysicalDeviceRayTracingPropertiesNV, max_shader_group_stride), offset_of!(structs::PhysicalDeviceRayTracingPropertiesNV, shader_group_base_alignment), offset_of!(structs::PhysicalDeviceRayTracingPropertiesNV, max_geometry_count), offset_of!(structs::PhysicalDeviceRayTracingPropertiesNV, max_instance_count), offset_of!(structs::PhysicalDeviceRayTracingPropertiesNV, max_triangle_count), offset_of!(structs::PhysicalDeviceRayTracingPropertiesNV, max_descriptor_set_acceleration_structures)); - println!("StridedDeviceAddressRegionKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::StridedDeviceAddressRegionKHR, device_address), offset_of!(structs::StridedDeviceAddressRegionKHR, stride), offset_of!(structs::StridedDeviceAddressRegionKHR, size)); - println!("TraceRaysIndirectCommandKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::TraceRaysIndirectCommandKHR, width), offset_of!(structs::TraceRaysIndirectCommandKHR, height), offset_of!(structs::TraceRaysIndirectCommandKHR, depth)); - println!("TraceRaysIndirectCommand2KHR {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::TraceRaysIndirectCommand2KHR, raygen_shader_record_address), offset_of!(structs::TraceRaysIndirectCommand2KHR, raygen_shader_record_size), offset_of!(structs::TraceRaysIndirectCommand2KHR, miss_shader_binding_table_address), offset_of!(structs::TraceRaysIndirectCommand2KHR, miss_shader_binding_table_size), offset_of!(structs::TraceRaysIndirectCommand2KHR, miss_shader_binding_table_stride), offset_of!(structs::TraceRaysIndirectCommand2KHR, hit_shader_binding_table_address), offset_of!(structs::TraceRaysIndirectCommand2KHR, hit_shader_binding_table_size), offset_of!(structs::TraceRaysIndirectCommand2KHR, hit_shader_binding_table_stride), offset_of!(structs::TraceRaysIndirectCommand2KHR, callable_shader_binding_table_address), offset_of!(structs::TraceRaysIndirectCommand2KHR, callable_shader_binding_table_size), offset_of!(structs::TraceRaysIndirectCommand2KHR, callable_shader_binding_table_stride), offset_of!(structs::TraceRaysIndirectCommand2KHR, width), offset_of!(structs::TraceRaysIndirectCommand2KHR, height), offset_of!(structs::TraceRaysIndirectCommand2KHR, depth)); - println!("PhysicalDeviceRayTracingMaintenance1FeaturesKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceRayTracingMaintenance1FeaturesKHR, s_type), offset_of!(structs::PhysicalDeviceRayTracingMaintenance1FeaturesKHR, p_next), offset_of!(structs::PhysicalDeviceRayTracingMaintenance1FeaturesKHR, ray_tracing_maintenance1), offset_of!(structs::PhysicalDeviceRayTracingMaintenance1FeaturesKHR, ray_tracing_pipeline_trace_rays_indirect2)); - println!("DrmFormatModifierPropertiesListEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DrmFormatModifierPropertiesListEXT, s_type), offset_of!(structs::DrmFormatModifierPropertiesListEXT, p_next), offset_of!(structs::DrmFormatModifierPropertiesListEXT, drm_format_modifier_count), offset_of!(structs::DrmFormatModifierPropertiesListEXT, p_drm_format_modifier_properties)); - println!("DrmFormatModifierPropertiesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DrmFormatModifierPropertiesEXT, drm_format_modifier), offset_of!(structs::DrmFormatModifierPropertiesEXT, drm_format_modifier_plane_count), offset_of!(structs::DrmFormatModifierPropertiesEXT, drm_format_modifier_tiling_features)); - println!("PhysicalDeviceImageDrmFormatModifierInfoEXT {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceImageDrmFormatModifierInfoEXT, s_type), offset_of!(structs::PhysicalDeviceImageDrmFormatModifierInfoEXT, p_next), offset_of!(structs::PhysicalDeviceImageDrmFormatModifierInfoEXT, drm_format_modifier), offset_of!(structs::PhysicalDeviceImageDrmFormatModifierInfoEXT, sharing_mode), offset_of!(structs::PhysicalDeviceImageDrmFormatModifierInfoEXT, queue_family_index_count), offset_of!(structs::PhysicalDeviceImageDrmFormatModifierInfoEXT, p_queue_family_indices)); - println!("ImageDrmFormatModifierListCreateInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImageDrmFormatModifierListCreateInfoEXT, s_type), offset_of!(structs::ImageDrmFormatModifierListCreateInfoEXT, p_next), offset_of!(structs::ImageDrmFormatModifierListCreateInfoEXT, drm_format_modifier_count), offset_of!(structs::ImageDrmFormatModifierListCreateInfoEXT, p_drm_format_modifiers)); - println!("ImageDrmFormatModifierExplicitCreateInfoEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImageDrmFormatModifierExplicitCreateInfoEXT, s_type), offset_of!(structs::ImageDrmFormatModifierExplicitCreateInfoEXT, p_next), offset_of!(structs::ImageDrmFormatModifierExplicitCreateInfoEXT, drm_format_modifier), offset_of!(structs::ImageDrmFormatModifierExplicitCreateInfoEXT, drm_format_modifier_plane_count), offset_of!(structs::ImageDrmFormatModifierExplicitCreateInfoEXT, p_plane_layouts)); - println!("ImageDrmFormatModifierPropertiesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImageDrmFormatModifierPropertiesEXT, s_type), offset_of!(structs::ImageDrmFormatModifierPropertiesEXT, p_next), offset_of!(structs::ImageDrmFormatModifierPropertiesEXT, drm_format_modifier)); - println!("ImageStencilUsageCreateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImageStencilUsageCreateInfo, s_type), offset_of!(structs::ImageStencilUsageCreateInfo, p_next), offset_of!(structs::ImageStencilUsageCreateInfo, stencil_usage)); - println!("DeviceMemoryOverallocationCreateInfoAMD {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DeviceMemoryOverallocationCreateInfoAMD, s_type), offset_of!(structs::DeviceMemoryOverallocationCreateInfoAMD, p_next), offset_of!(structs::DeviceMemoryOverallocationCreateInfoAMD, overallocation_behavior)); - println!("PhysicalDeviceFragmentDensityMapFeaturesEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceFragmentDensityMapFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceFragmentDensityMapFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceFragmentDensityMapFeaturesEXT, fragment_density_map), offset_of!(structs::PhysicalDeviceFragmentDensityMapFeaturesEXT, fragment_density_map_dynamic), offset_of!(structs::PhysicalDeviceFragmentDensityMapFeaturesEXT, fragment_density_map_non_subsampled_images)); - println!("PhysicalDeviceFragmentDensityMap2FeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceFragmentDensityMap2FeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceFragmentDensityMap2FeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceFragmentDensityMap2FeaturesEXT, fragment_density_map_deferred)); - println!("PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT, fragment_density_map_offset)); - println!("PhysicalDeviceFragmentDensityMapPropertiesEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceFragmentDensityMapPropertiesEXT, s_type), offset_of!(structs::PhysicalDeviceFragmentDensityMapPropertiesEXT, p_next), offset_of!(structs::PhysicalDeviceFragmentDensityMapPropertiesEXT, min_fragment_density_texel_size), offset_of!(structs::PhysicalDeviceFragmentDensityMapPropertiesEXT, max_fragment_density_texel_size), offset_of!(structs::PhysicalDeviceFragmentDensityMapPropertiesEXT, fragment_density_invocations)); - println!("PhysicalDeviceFragmentDensityMap2PropertiesEXT {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceFragmentDensityMap2PropertiesEXT, s_type), offset_of!(structs::PhysicalDeviceFragmentDensityMap2PropertiesEXT, p_next), offset_of!(structs::PhysicalDeviceFragmentDensityMap2PropertiesEXT, subsampled_loads), offset_of!(structs::PhysicalDeviceFragmentDensityMap2PropertiesEXT, subsampled_coarse_reconstruction_early_access), offset_of!(structs::PhysicalDeviceFragmentDensityMap2PropertiesEXT, max_subsampled_array_layers), offset_of!(structs::PhysicalDeviceFragmentDensityMap2PropertiesEXT, max_descriptor_set_subsampled_samplers)); - println!("PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT, s_type), offset_of!(structs::PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT, p_next), offset_of!(structs::PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT, fragment_density_offset_granularity)); - println!("RenderPassFragmentDensityMapCreateInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::RenderPassFragmentDensityMapCreateInfoEXT, s_type), offset_of!(structs::RenderPassFragmentDensityMapCreateInfoEXT, p_next), offset_of!(structs::RenderPassFragmentDensityMapCreateInfoEXT, fragment_density_map_attachment)); - println!("RenderPassFragmentDensityMapOffsetEndInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::RenderPassFragmentDensityMapOffsetEndInfoEXT, s_type), offset_of!(structs::RenderPassFragmentDensityMapOffsetEndInfoEXT, p_next), offset_of!(structs::RenderPassFragmentDensityMapOffsetEndInfoEXT, fragment_density_offset_count), offset_of!(structs::RenderPassFragmentDensityMapOffsetEndInfoEXT, p_fragment_density_offsets)); - println!("PhysicalDeviceScalarBlockLayoutFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceScalarBlockLayoutFeatures, s_type), offset_of!(structs::PhysicalDeviceScalarBlockLayoutFeatures, p_next), offset_of!(structs::PhysicalDeviceScalarBlockLayoutFeatures, scalar_block_layout)); - println!("SurfaceProtectedCapabilitiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SurfaceProtectedCapabilitiesKHR, s_type), offset_of!(structs::SurfaceProtectedCapabilitiesKHR, p_next), offset_of!(structs::SurfaceProtectedCapabilitiesKHR, supports_protected)); - println!("PhysicalDeviceUniformBufferStandardLayoutFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceUniformBufferStandardLayoutFeatures, s_type), offset_of!(structs::PhysicalDeviceUniformBufferStandardLayoutFeatures, p_next), offset_of!(structs::PhysicalDeviceUniformBufferStandardLayoutFeatures, uniform_buffer_standard_layout)); - println!("PhysicalDeviceDepthClipEnableFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceDepthClipEnableFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceDepthClipEnableFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceDepthClipEnableFeaturesEXT, depth_clip_enable)); - println!("PipelineRasterizationDepthClipStateCreateInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineRasterizationDepthClipStateCreateInfoEXT, s_type), offset_of!(structs::PipelineRasterizationDepthClipStateCreateInfoEXT, p_next), offset_of!(structs::PipelineRasterizationDepthClipStateCreateInfoEXT, flags), offset_of!(structs::PipelineRasterizationDepthClipStateCreateInfoEXT, depth_clip_enable)); - println!("PhysicalDeviceMemoryBudgetPropertiesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceMemoryBudgetPropertiesEXT, s_type), offset_of!(structs::PhysicalDeviceMemoryBudgetPropertiesEXT, p_next), offset_of!(structs::PhysicalDeviceMemoryBudgetPropertiesEXT, heap_budget), offset_of!(structs::PhysicalDeviceMemoryBudgetPropertiesEXT, heap_usage)); - println!("PhysicalDeviceMemoryPriorityFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceMemoryPriorityFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceMemoryPriorityFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceMemoryPriorityFeaturesEXT, memory_priority)); - println!("MemoryPriorityAllocateInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::MemoryPriorityAllocateInfoEXT, s_type), offset_of!(structs::MemoryPriorityAllocateInfoEXT, p_next), offset_of!(structs::MemoryPriorityAllocateInfoEXT, priority)); - println!("PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT, s_type), offset_of!(structs::PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT, p_next), offset_of!(structs::PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT, pageable_device_local_memory)); - println!("PhysicalDeviceBufferDeviceAddressFeatures {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceBufferDeviceAddressFeatures, s_type), offset_of!(structs::PhysicalDeviceBufferDeviceAddressFeatures, p_next), offset_of!(structs::PhysicalDeviceBufferDeviceAddressFeatures, buffer_device_address), offset_of!(structs::PhysicalDeviceBufferDeviceAddressFeatures, buffer_device_address_capture_replay), offset_of!(structs::PhysicalDeviceBufferDeviceAddressFeatures, buffer_device_address_multi_device)); - println!("PhysicalDeviceBufferDeviceAddressFeaturesEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceBufferDeviceAddressFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceBufferDeviceAddressFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceBufferDeviceAddressFeaturesEXT, buffer_device_address), offset_of!(structs::PhysicalDeviceBufferDeviceAddressFeaturesEXT, buffer_device_address_capture_replay), offset_of!(structs::PhysicalDeviceBufferDeviceAddressFeaturesEXT, buffer_device_address_multi_device)); - println!("BufferDeviceAddressInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BufferDeviceAddressInfo, s_type), offset_of!(structs::BufferDeviceAddressInfo, p_next), offset_of!(structs::BufferDeviceAddressInfo, buffer)); - println!("BufferOpaqueCaptureAddressCreateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BufferOpaqueCaptureAddressCreateInfo, s_type), offset_of!(structs::BufferOpaqueCaptureAddressCreateInfo, p_next), offset_of!(structs::BufferOpaqueCaptureAddressCreateInfo, opaque_capture_address)); - println!("BufferDeviceAddressCreateInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BufferDeviceAddressCreateInfoEXT, s_type), offset_of!(structs::BufferDeviceAddressCreateInfoEXT, p_next), offset_of!(structs::BufferDeviceAddressCreateInfoEXT, device_address)); - println!("PhysicalDeviceImageViewImageFormatInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceImageViewImageFormatInfoEXT, s_type), offset_of!(structs::PhysicalDeviceImageViewImageFormatInfoEXT, p_next), offset_of!(structs::PhysicalDeviceImageViewImageFormatInfoEXT, image_view_type)); - println!("FilterCubicImageViewImageFormatPropertiesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::FilterCubicImageViewImageFormatPropertiesEXT, s_type), offset_of!(structs::FilterCubicImageViewImageFormatPropertiesEXT, p_next), offset_of!(structs::FilterCubicImageViewImageFormatPropertiesEXT, filter_cubic), offset_of!(structs::FilterCubicImageViewImageFormatPropertiesEXT, filter_cubic_minmax)); - println!("PhysicalDeviceImagelessFramebufferFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceImagelessFramebufferFeatures, s_type), offset_of!(structs::PhysicalDeviceImagelessFramebufferFeatures, p_next), offset_of!(structs::PhysicalDeviceImagelessFramebufferFeatures, imageless_framebuffer)); - println!("FramebufferAttachmentsCreateInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::FramebufferAttachmentsCreateInfo, s_type), offset_of!(structs::FramebufferAttachmentsCreateInfo, p_next), offset_of!(structs::FramebufferAttachmentsCreateInfo, attachment_image_info_count), offset_of!(structs::FramebufferAttachmentsCreateInfo, p_attachment_image_infos)); - println!("FramebufferAttachmentImageInfo {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::FramebufferAttachmentImageInfo, s_type), offset_of!(structs::FramebufferAttachmentImageInfo, p_next), offset_of!(structs::FramebufferAttachmentImageInfo, flags), offset_of!(structs::FramebufferAttachmentImageInfo, usage), offset_of!(structs::FramebufferAttachmentImageInfo, width), offset_of!(structs::FramebufferAttachmentImageInfo, height), offset_of!(structs::FramebufferAttachmentImageInfo, layer_count), offset_of!(structs::FramebufferAttachmentImageInfo, view_format_count), offset_of!(structs::FramebufferAttachmentImageInfo, p_view_formats)); - println!("RenderPassAttachmentBeginInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::RenderPassAttachmentBeginInfo, s_type), offset_of!(structs::RenderPassAttachmentBeginInfo, p_next), offset_of!(structs::RenderPassAttachmentBeginInfo, attachment_count), offset_of!(structs::RenderPassAttachmentBeginInfo, p_attachments)); - println!("PhysicalDeviceTextureCompressionASTCHDRFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceTextureCompressionASTCHDRFeatures, s_type), offset_of!(structs::PhysicalDeviceTextureCompressionASTCHDRFeatures, p_next), offset_of!(structs::PhysicalDeviceTextureCompressionASTCHDRFeatures, texture_compression_astc_hdr)); - println!("PhysicalDeviceCooperativeMatrixFeaturesNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceCooperativeMatrixFeaturesNV, s_type), offset_of!(structs::PhysicalDeviceCooperativeMatrixFeaturesNV, p_next), offset_of!(structs::PhysicalDeviceCooperativeMatrixFeaturesNV, cooperative_matrix), offset_of!(structs::PhysicalDeviceCooperativeMatrixFeaturesNV, cooperative_matrix_robust_buffer_access)); - println!("PhysicalDeviceCooperativeMatrixPropertiesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceCooperativeMatrixPropertiesNV, s_type), offset_of!(structs::PhysicalDeviceCooperativeMatrixPropertiesNV, p_next), offset_of!(structs::PhysicalDeviceCooperativeMatrixPropertiesNV, cooperative_matrix_supported_stages)); - println!("CooperativeMatrixPropertiesNV {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CooperativeMatrixPropertiesNV, s_type), offset_of!(structs::CooperativeMatrixPropertiesNV, p_next), offset_of!(structs::CooperativeMatrixPropertiesNV, m_size), offset_of!(structs::CooperativeMatrixPropertiesNV, n_size), offset_of!(structs::CooperativeMatrixPropertiesNV, k_size), offset_of!(structs::CooperativeMatrixPropertiesNV, a_type), offset_of!(structs::CooperativeMatrixPropertiesNV, b_type), offset_of!(structs::CooperativeMatrixPropertiesNV, c_type), offset_of!(structs::CooperativeMatrixPropertiesNV, d_type), offset_of!(structs::CooperativeMatrixPropertiesNV, scope)); - println!("PhysicalDeviceYcbcrImageArraysFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceYcbcrImageArraysFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceYcbcrImageArraysFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceYcbcrImageArraysFeaturesEXT, ycbcr_image_arrays)); - println!("ImageViewHandleInfoNVX {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImageViewHandleInfoNVX, s_type), offset_of!(structs::ImageViewHandleInfoNVX, p_next), offset_of!(structs::ImageViewHandleInfoNVX, image_view), offset_of!(structs::ImageViewHandleInfoNVX, descriptor_type), offset_of!(structs::ImageViewHandleInfoNVX, sampler)); - println!("ImageViewAddressPropertiesNVX {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImageViewAddressPropertiesNVX, s_type), offset_of!(structs::ImageViewAddressPropertiesNVX, p_next), offset_of!(structs::ImageViewAddressPropertiesNVX, device_address), offset_of!(structs::ImageViewAddressPropertiesNVX, size)); - println!("PipelineCreationFeedback {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineCreationFeedback, flags), offset_of!(structs::PipelineCreationFeedback, duration)); - println!("PipelineCreationFeedbackCreateInfo {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineCreationFeedbackCreateInfo, s_type), offset_of!(structs::PipelineCreationFeedbackCreateInfo, p_next), offset_of!(structs::PipelineCreationFeedbackCreateInfo, p_pipeline_creation_feedback), offset_of!(structs::PipelineCreationFeedbackCreateInfo, pipeline_stage_creation_feedback_count), offset_of!(structs::PipelineCreationFeedbackCreateInfo, p_pipeline_stage_creation_feedbacks)); - println!("PhysicalDevicePresentBarrierFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDevicePresentBarrierFeaturesNV, s_type), offset_of!(structs::PhysicalDevicePresentBarrierFeaturesNV, p_next), offset_of!(structs::PhysicalDevicePresentBarrierFeaturesNV, present_barrier)); - println!("SurfaceCapabilitiesPresentBarrierNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SurfaceCapabilitiesPresentBarrierNV, s_type), offset_of!(structs::SurfaceCapabilitiesPresentBarrierNV, p_next), offset_of!(structs::SurfaceCapabilitiesPresentBarrierNV, present_barrier_supported)); - println!("SwapchainPresentBarrierCreateInfoNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SwapchainPresentBarrierCreateInfoNV, s_type), offset_of!(structs::SwapchainPresentBarrierCreateInfoNV, p_next), offset_of!(structs::SwapchainPresentBarrierCreateInfoNV, present_barrier_enable)); - println!("PhysicalDevicePerformanceQueryFeaturesKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDevicePerformanceQueryFeaturesKHR, s_type), offset_of!(structs::PhysicalDevicePerformanceQueryFeaturesKHR, p_next), offset_of!(structs::PhysicalDevicePerformanceQueryFeaturesKHR, performance_counter_query_pools), offset_of!(structs::PhysicalDevicePerformanceQueryFeaturesKHR, performance_counter_multiple_query_pools)); - println!("PhysicalDevicePerformanceQueryPropertiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDevicePerformanceQueryPropertiesKHR, s_type), offset_of!(structs::PhysicalDevicePerformanceQueryPropertiesKHR, p_next), offset_of!(structs::PhysicalDevicePerformanceQueryPropertiesKHR, allow_command_buffer_query_copies)); - println!("PerformanceCounterKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PerformanceCounterKHR, s_type), offset_of!(structs::PerformanceCounterKHR, p_next), offset_of!(structs::PerformanceCounterKHR, unit), offset_of!(structs::PerformanceCounterKHR, scope), offset_of!(structs::PerformanceCounterKHR, storage), offset_of!(structs::PerformanceCounterKHR, uuid)); - println!("PerformanceCounterDescriptionKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PerformanceCounterDescriptionKHR, s_type), offset_of!(structs::PerformanceCounterDescriptionKHR, p_next), offset_of!(structs::PerformanceCounterDescriptionKHR, flags), offset_of!(structs::PerformanceCounterDescriptionKHR, name), offset_of!(structs::PerformanceCounterDescriptionKHR, category), offset_of!(structs::PerformanceCounterDescriptionKHR, description)); - println!("QueryPoolPerformanceCreateInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::QueryPoolPerformanceCreateInfoKHR, s_type), offset_of!(structs::QueryPoolPerformanceCreateInfoKHR, p_next), offset_of!(structs::QueryPoolPerformanceCreateInfoKHR, queue_family_index), offset_of!(structs::QueryPoolPerformanceCreateInfoKHR, counter_index_count), offset_of!(structs::QueryPoolPerformanceCreateInfoKHR, p_counter_indices)); - println!("PerformanceCounterResultKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PerformanceCounterResultKHR, int32), offset_of!(structs::PerformanceCounterResultKHR, int64), offset_of!(structs::PerformanceCounterResultKHR, uint32), offset_of!(structs::PerformanceCounterResultKHR, uint64), offset_of!(structs::PerformanceCounterResultKHR, float32), offset_of!(structs::PerformanceCounterResultKHR, float64)); - println!("AcquireProfilingLockInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::AcquireProfilingLockInfoKHR, s_type), offset_of!(structs::AcquireProfilingLockInfoKHR, p_next), offset_of!(structs::AcquireProfilingLockInfoKHR, flags), offset_of!(structs::AcquireProfilingLockInfoKHR, timeout)); - println!("PerformanceQuerySubmitInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PerformanceQuerySubmitInfoKHR, s_type), offset_of!(structs::PerformanceQuerySubmitInfoKHR, p_next), offset_of!(structs::PerformanceQuerySubmitInfoKHR, counter_pass_index)); - println!("HeadlessSurfaceCreateInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::HeadlessSurfaceCreateInfoEXT, s_type), offset_of!(structs::HeadlessSurfaceCreateInfoEXT, p_next), offset_of!(structs::HeadlessSurfaceCreateInfoEXT, flags)); - println!("PhysicalDeviceCoverageReductionModeFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceCoverageReductionModeFeaturesNV, s_type), offset_of!(structs::PhysicalDeviceCoverageReductionModeFeaturesNV, p_next), offset_of!(structs::PhysicalDeviceCoverageReductionModeFeaturesNV, coverage_reduction_mode)); - println!("PipelineCoverageReductionStateCreateInfoNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineCoverageReductionStateCreateInfoNV, s_type), offset_of!(structs::PipelineCoverageReductionStateCreateInfoNV, p_next), offset_of!(structs::PipelineCoverageReductionStateCreateInfoNV, flags), offset_of!(structs::PipelineCoverageReductionStateCreateInfoNV, coverage_reduction_mode)); - println!("FramebufferMixedSamplesCombinationNV {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::FramebufferMixedSamplesCombinationNV, s_type), offset_of!(structs::FramebufferMixedSamplesCombinationNV, p_next), offset_of!(structs::FramebufferMixedSamplesCombinationNV, coverage_reduction_mode), offset_of!(structs::FramebufferMixedSamplesCombinationNV, rasterization_samples), offset_of!(structs::FramebufferMixedSamplesCombinationNV, depth_stencil_samples), offset_of!(structs::FramebufferMixedSamplesCombinationNV, color_samples)); - println!("PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, s_type), offset_of!(structs::PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, p_next), offset_of!(structs::PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, shader_integer_functions2)); - println!("PerformanceValueDataINTEL {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PerformanceValueDataINTEL, value32), offset_of!(structs::PerformanceValueDataINTEL, value64), offset_of!(structs::PerformanceValueDataINTEL, value_float), offset_of!(structs::PerformanceValueDataINTEL, value_bool), offset_of!(structs::PerformanceValueDataINTEL, value_string)); - println!("PerformanceValueINTEL {} {} {}", size_of::(), align_of::(), offset_of!(structs::PerformanceValueINTEL, data)); - println!("InitializePerformanceApiInfoINTEL {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::InitializePerformanceApiInfoINTEL, s_type), offset_of!(structs::InitializePerformanceApiInfoINTEL, p_next), offset_of!(structs::InitializePerformanceApiInfoINTEL, p_user_data)); - println!("QueryPoolPerformanceQueryCreateInfoINTEL {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::QueryPoolPerformanceQueryCreateInfoINTEL, s_type), offset_of!(structs::QueryPoolPerformanceQueryCreateInfoINTEL, p_next), offset_of!(structs::QueryPoolPerformanceQueryCreateInfoINTEL, performance_counters_sampling)); - println!("PerformanceMarkerInfoINTEL {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PerformanceMarkerInfoINTEL, s_type), offset_of!(structs::PerformanceMarkerInfoINTEL, p_next), offset_of!(structs::PerformanceMarkerInfoINTEL, marker)); - println!("PerformanceStreamMarkerInfoINTEL {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PerformanceStreamMarkerInfoINTEL, s_type), offset_of!(structs::PerformanceStreamMarkerInfoINTEL, p_next), offset_of!(structs::PerformanceStreamMarkerInfoINTEL, marker)); - println!("PerformanceOverrideInfoINTEL {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PerformanceOverrideInfoINTEL, s_type), offset_of!(structs::PerformanceOverrideInfoINTEL, p_next), offset_of!(structs::PerformanceOverrideInfoINTEL, enable), offset_of!(structs::PerformanceOverrideInfoINTEL, parameter)); - println!("PerformanceConfigurationAcquireInfoINTEL {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PerformanceConfigurationAcquireInfoINTEL, s_type), offset_of!(structs::PerformanceConfigurationAcquireInfoINTEL, p_next)); - println!("PhysicalDeviceShaderClockFeaturesKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderClockFeaturesKHR, s_type), offset_of!(structs::PhysicalDeviceShaderClockFeaturesKHR, p_next), offset_of!(structs::PhysicalDeviceShaderClockFeaturesKHR, shader_subgroup_clock), offset_of!(structs::PhysicalDeviceShaderClockFeaturesKHR, shader_device_clock)); - println!("PhysicalDeviceIndexTypeUint8Features {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceIndexTypeUint8Features, s_type), offset_of!(structs::PhysicalDeviceIndexTypeUint8Features, p_next), offset_of!(structs::PhysicalDeviceIndexTypeUint8Features, index_type_uint8)); - println!("PhysicalDeviceShaderSMBuiltinsPropertiesNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderSMBuiltinsPropertiesNV, s_type), offset_of!(structs::PhysicalDeviceShaderSMBuiltinsPropertiesNV, p_next), offset_of!(structs::PhysicalDeviceShaderSMBuiltinsPropertiesNV, shader_sm_count), offset_of!(structs::PhysicalDeviceShaderSMBuiltinsPropertiesNV, shader_warps_per_sm)); - println!("PhysicalDeviceShaderSMBuiltinsFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderSMBuiltinsFeaturesNV, s_type), offset_of!(structs::PhysicalDeviceShaderSMBuiltinsFeaturesNV, p_next), offset_of!(structs::PhysicalDeviceShaderSMBuiltinsFeaturesNV, shader_sm_builtins)); - println!("PhysicalDeviceFragmentShaderInterlockFeaturesEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceFragmentShaderInterlockFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceFragmentShaderInterlockFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceFragmentShaderInterlockFeaturesEXT, fragment_shader_sample_interlock), offset_of!(structs::PhysicalDeviceFragmentShaderInterlockFeaturesEXT, fragment_shader_pixel_interlock), offset_of!(structs::PhysicalDeviceFragmentShaderInterlockFeaturesEXT, fragment_shader_shading_rate_interlock)); - println!("PhysicalDeviceSeparateDepthStencilLayoutsFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceSeparateDepthStencilLayoutsFeatures, s_type), offset_of!(structs::PhysicalDeviceSeparateDepthStencilLayoutsFeatures, p_next), offset_of!(structs::PhysicalDeviceSeparateDepthStencilLayoutsFeatures, separate_depth_stencil_layouts)); - println!("AttachmentReferenceStencilLayout {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::AttachmentReferenceStencilLayout, s_type), offset_of!(structs::AttachmentReferenceStencilLayout, p_next), offset_of!(structs::AttachmentReferenceStencilLayout, stencil_layout)); - println!("PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT, s_type), offset_of!(structs::PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT, p_next), offset_of!(structs::PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT, primitive_topology_list_restart), offset_of!(structs::PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT, primitive_topology_patch_list_restart)); - println!("AttachmentDescriptionStencilLayout {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::AttachmentDescriptionStencilLayout, s_type), offset_of!(structs::AttachmentDescriptionStencilLayout, p_next), offset_of!(structs::AttachmentDescriptionStencilLayout, stencil_initial_layout), offset_of!(structs::AttachmentDescriptionStencilLayout, stencil_final_layout)); - println!("PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, s_type), offset_of!(structs::PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, p_next), offset_of!(structs::PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, pipeline_executable_info)); - println!("PipelineInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineInfoKHR, s_type), offset_of!(structs::PipelineInfoKHR, p_next), offset_of!(structs::PipelineInfoKHR, pipeline)); - println!("PipelineExecutablePropertiesKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineExecutablePropertiesKHR, s_type), offset_of!(structs::PipelineExecutablePropertiesKHR, p_next), offset_of!(structs::PipelineExecutablePropertiesKHR, stages), offset_of!(structs::PipelineExecutablePropertiesKHR, name), offset_of!(structs::PipelineExecutablePropertiesKHR, description), offset_of!(structs::PipelineExecutablePropertiesKHR, subgroup_size)); - println!("PipelineExecutableInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineExecutableInfoKHR, s_type), offset_of!(structs::PipelineExecutableInfoKHR, p_next), offset_of!(structs::PipelineExecutableInfoKHR, pipeline), offset_of!(structs::PipelineExecutableInfoKHR, executable_index)); - println!("PipelineExecutableStatisticValueKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineExecutableStatisticValueKHR, b32), offset_of!(structs::PipelineExecutableStatisticValueKHR, i64), offset_of!(structs::PipelineExecutableStatisticValueKHR, u64), offset_of!(structs::PipelineExecutableStatisticValueKHR, f64)); - println!("PipelineExecutableStatisticKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineExecutableStatisticKHR, s_type), offset_of!(structs::PipelineExecutableStatisticKHR, p_next), offset_of!(structs::PipelineExecutableStatisticKHR, name), offset_of!(structs::PipelineExecutableStatisticKHR, description), offset_of!(structs::PipelineExecutableStatisticKHR, format), offset_of!(structs::PipelineExecutableStatisticKHR, value)); - println!("PipelineExecutableInternalRepresentationKHR {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineExecutableInternalRepresentationKHR, s_type), offset_of!(structs::PipelineExecutableInternalRepresentationKHR, p_next), offset_of!(structs::PipelineExecutableInternalRepresentationKHR, name), offset_of!(structs::PipelineExecutableInternalRepresentationKHR, description), offset_of!(structs::PipelineExecutableInternalRepresentationKHR, is_text), offset_of!(structs::PipelineExecutableInternalRepresentationKHR, data_size), offset_of!(structs::PipelineExecutableInternalRepresentationKHR, p_data)); - println!("PhysicalDeviceShaderDemoteToHelperInvocationFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderDemoteToHelperInvocationFeatures, s_type), offset_of!(structs::PhysicalDeviceShaderDemoteToHelperInvocationFeatures, p_next), offset_of!(structs::PhysicalDeviceShaderDemoteToHelperInvocationFeatures, shader_demote_to_helper_invocation)); - println!("PhysicalDeviceTexelBufferAlignmentFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceTexelBufferAlignmentFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceTexelBufferAlignmentFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceTexelBufferAlignmentFeaturesEXT, texel_buffer_alignment)); - println!("PhysicalDeviceTexelBufferAlignmentProperties {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceTexelBufferAlignmentProperties, s_type), offset_of!(structs::PhysicalDeviceTexelBufferAlignmentProperties, p_next), offset_of!(structs::PhysicalDeviceTexelBufferAlignmentProperties, storage_texel_buffer_offset_alignment_bytes), offset_of!(structs::PhysicalDeviceTexelBufferAlignmentProperties, storage_texel_buffer_offset_single_texel_alignment), offset_of!(structs::PhysicalDeviceTexelBufferAlignmentProperties, uniform_texel_buffer_offset_alignment_bytes), offset_of!(structs::PhysicalDeviceTexelBufferAlignmentProperties, uniform_texel_buffer_offset_single_texel_alignment)); - println!("PhysicalDeviceSubgroupSizeControlFeatures {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceSubgroupSizeControlFeatures, s_type), offset_of!(structs::PhysicalDeviceSubgroupSizeControlFeatures, p_next), offset_of!(structs::PhysicalDeviceSubgroupSizeControlFeatures, subgroup_size_control), offset_of!(structs::PhysicalDeviceSubgroupSizeControlFeatures, compute_full_subgroups)); - println!("PhysicalDeviceSubgroupSizeControlProperties {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceSubgroupSizeControlProperties, s_type), offset_of!(structs::PhysicalDeviceSubgroupSizeControlProperties, p_next), offset_of!(structs::PhysicalDeviceSubgroupSizeControlProperties, min_subgroup_size), offset_of!(structs::PhysicalDeviceSubgroupSizeControlProperties, max_subgroup_size), offset_of!(structs::PhysicalDeviceSubgroupSizeControlProperties, max_compute_workgroup_subgroups), offset_of!(structs::PhysicalDeviceSubgroupSizeControlProperties, required_subgroup_size_stages)); - println!("PipelineShaderStageRequiredSubgroupSizeCreateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineShaderStageRequiredSubgroupSizeCreateInfo, s_type), offset_of!(structs::PipelineShaderStageRequiredSubgroupSizeCreateInfo, p_next), offset_of!(structs::PipelineShaderStageRequiredSubgroupSizeCreateInfo, required_subgroup_size)); - println!("SubpassShadingPipelineCreateInfoHUAWEI {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SubpassShadingPipelineCreateInfoHUAWEI, s_type), offset_of!(structs::SubpassShadingPipelineCreateInfoHUAWEI, p_next), offset_of!(structs::SubpassShadingPipelineCreateInfoHUAWEI, render_pass), offset_of!(structs::SubpassShadingPipelineCreateInfoHUAWEI, subpass)); - println!("PhysicalDeviceSubpassShadingPropertiesHUAWEI {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceSubpassShadingPropertiesHUAWEI, s_type), offset_of!(structs::PhysicalDeviceSubpassShadingPropertiesHUAWEI, p_next), offset_of!(structs::PhysicalDeviceSubpassShadingPropertiesHUAWEI, max_subpass_shading_workgroup_size_aspect_ratio)); - println!("PhysicalDeviceClusterCullingShaderPropertiesHUAWEI {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceClusterCullingShaderPropertiesHUAWEI, s_type), offset_of!(structs::PhysicalDeviceClusterCullingShaderPropertiesHUAWEI, p_next), offset_of!(structs::PhysicalDeviceClusterCullingShaderPropertiesHUAWEI, max_work_group_count), offset_of!(structs::PhysicalDeviceClusterCullingShaderPropertiesHUAWEI, max_work_group_size), offset_of!(structs::PhysicalDeviceClusterCullingShaderPropertiesHUAWEI, max_output_cluster_count), offset_of!(structs::PhysicalDeviceClusterCullingShaderPropertiesHUAWEI, indirect_buffer_offset_alignment)); - println!("MemoryOpaqueCaptureAddressAllocateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::MemoryOpaqueCaptureAddressAllocateInfo, s_type), offset_of!(structs::MemoryOpaqueCaptureAddressAllocateInfo, p_next), offset_of!(structs::MemoryOpaqueCaptureAddressAllocateInfo, opaque_capture_address)); - println!("DeviceMemoryOpaqueCaptureAddressInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DeviceMemoryOpaqueCaptureAddressInfo, s_type), offset_of!(structs::DeviceMemoryOpaqueCaptureAddressInfo, p_next), offset_of!(structs::DeviceMemoryOpaqueCaptureAddressInfo, memory)); - println!("PhysicalDeviceLineRasterizationFeatures {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceLineRasterizationFeatures, s_type), offset_of!(structs::PhysicalDeviceLineRasterizationFeatures, p_next), offset_of!(structs::PhysicalDeviceLineRasterizationFeatures, rectangular_lines), offset_of!(structs::PhysicalDeviceLineRasterizationFeatures, bresenham_lines), offset_of!(structs::PhysicalDeviceLineRasterizationFeatures, smooth_lines), offset_of!(structs::PhysicalDeviceLineRasterizationFeatures, stippled_rectangular_lines), offset_of!(structs::PhysicalDeviceLineRasterizationFeatures, stippled_bresenham_lines), offset_of!(structs::PhysicalDeviceLineRasterizationFeatures, stippled_smooth_lines)); - println!("PhysicalDeviceLineRasterizationProperties {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceLineRasterizationProperties, s_type), offset_of!(structs::PhysicalDeviceLineRasterizationProperties, p_next), offset_of!(structs::PhysicalDeviceLineRasterizationProperties, line_sub_pixel_precision_bits)); - println!("PipelineRasterizationLineStateCreateInfo {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineRasterizationLineStateCreateInfo, s_type), offset_of!(structs::PipelineRasterizationLineStateCreateInfo, p_next), offset_of!(structs::PipelineRasterizationLineStateCreateInfo, line_rasterization_mode), offset_of!(structs::PipelineRasterizationLineStateCreateInfo, stippled_line_enable), offset_of!(structs::PipelineRasterizationLineStateCreateInfo, line_stipple_factor), offset_of!(structs::PipelineRasterizationLineStateCreateInfo, line_stipple_pattern)); - println!("PhysicalDevicePipelineCreationCacheControlFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDevicePipelineCreationCacheControlFeatures, s_type), offset_of!(structs::PhysicalDevicePipelineCreationCacheControlFeatures, p_next), offset_of!(structs::PhysicalDevicePipelineCreationCacheControlFeatures, pipeline_creation_cache_control)); - println!("PhysicalDeviceVulkan11Features {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceVulkan11Features, s_type), offset_of!(structs::PhysicalDeviceVulkan11Features, p_next), offset_of!(structs::PhysicalDeviceVulkan11Features, storage_buffer16_bit_access), offset_of!(structs::PhysicalDeviceVulkan11Features, uniform_and_storage_buffer16_bit_access), offset_of!(structs::PhysicalDeviceVulkan11Features, storage_push_constant16), offset_of!(structs::PhysicalDeviceVulkan11Features, storage_input_output16), offset_of!(structs::PhysicalDeviceVulkan11Features, multiview), offset_of!(structs::PhysicalDeviceVulkan11Features, multiview_geometry_shader), offset_of!(structs::PhysicalDeviceVulkan11Features, multiview_tessellation_shader), offset_of!(structs::PhysicalDeviceVulkan11Features, variable_pointers_storage_buffer), offset_of!(structs::PhysicalDeviceVulkan11Features, variable_pointers), offset_of!(structs::PhysicalDeviceVulkan11Features, protected_memory), offset_of!(structs::PhysicalDeviceVulkan11Features, sampler_ycbcr_conversion), offset_of!(structs::PhysicalDeviceVulkan11Features, shader_draw_parameters)); - println!("PhysicalDeviceVulkan11Properties {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceVulkan11Properties, s_type), offset_of!(structs::PhysicalDeviceVulkan11Properties, p_next), offset_of!(structs::PhysicalDeviceVulkan11Properties, device_uuid), offset_of!(structs::PhysicalDeviceVulkan11Properties, driver_uuid), offset_of!(structs::PhysicalDeviceVulkan11Properties, device_luid), offset_of!(structs::PhysicalDeviceVulkan11Properties, device_node_mask), offset_of!(structs::PhysicalDeviceVulkan11Properties, device_luid_valid), offset_of!(structs::PhysicalDeviceVulkan11Properties, subgroup_size), offset_of!(structs::PhysicalDeviceVulkan11Properties, subgroup_supported_stages), offset_of!(structs::PhysicalDeviceVulkan11Properties, subgroup_supported_operations), offset_of!(structs::PhysicalDeviceVulkan11Properties, subgroup_quad_operations_in_all_stages), offset_of!(structs::PhysicalDeviceVulkan11Properties, point_clipping_behavior), offset_of!(structs::PhysicalDeviceVulkan11Properties, max_multiview_view_count), offset_of!(structs::PhysicalDeviceVulkan11Properties, max_multiview_instance_index), offset_of!(structs::PhysicalDeviceVulkan11Properties, protected_no_fault), offset_of!(structs::PhysicalDeviceVulkan11Properties, max_per_set_descriptors), offset_of!(structs::PhysicalDeviceVulkan11Properties, max_memory_allocation_size)); - println!("PhysicalDeviceVulkan12Features {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceVulkan12Features, s_type), offset_of!(structs::PhysicalDeviceVulkan12Features, p_next), offset_of!(structs::PhysicalDeviceVulkan12Features, sampler_mirror_clamp_to_edge), offset_of!(structs::PhysicalDeviceVulkan12Features, draw_indirect_count), offset_of!(structs::PhysicalDeviceVulkan12Features, storage_buffer8_bit_access), offset_of!(structs::PhysicalDeviceVulkan12Features, uniform_and_storage_buffer8_bit_access), offset_of!(structs::PhysicalDeviceVulkan12Features, storage_push_constant8), offset_of!(structs::PhysicalDeviceVulkan12Features, shader_buffer_int64_atomics), offset_of!(structs::PhysicalDeviceVulkan12Features, shader_shared_int64_atomics), offset_of!(structs::PhysicalDeviceVulkan12Features, shader_float16), offset_of!(structs::PhysicalDeviceVulkan12Features, shader_int8), offset_of!(structs::PhysicalDeviceVulkan12Features, descriptor_indexing), offset_of!(structs::PhysicalDeviceVulkan12Features, shader_input_attachment_array_dynamic_indexing), offset_of!(structs::PhysicalDeviceVulkan12Features, shader_uniform_texel_buffer_array_dynamic_indexing), offset_of!(structs::PhysicalDeviceVulkan12Features, shader_storage_texel_buffer_array_dynamic_indexing), offset_of!(structs::PhysicalDeviceVulkan12Features, shader_uniform_buffer_array_non_uniform_indexing), offset_of!(structs::PhysicalDeviceVulkan12Features, shader_sampled_image_array_non_uniform_indexing), offset_of!(structs::PhysicalDeviceVulkan12Features, shader_storage_buffer_array_non_uniform_indexing), offset_of!(structs::PhysicalDeviceVulkan12Features, shader_storage_image_array_non_uniform_indexing), offset_of!(structs::PhysicalDeviceVulkan12Features, shader_input_attachment_array_non_uniform_indexing), offset_of!(structs::PhysicalDeviceVulkan12Features, shader_uniform_texel_buffer_array_non_uniform_indexing), offset_of!(structs::PhysicalDeviceVulkan12Features, shader_storage_texel_buffer_array_non_uniform_indexing), offset_of!(structs::PhysicalDeviceVulkan12Features, descriptor_binding_uniform_buffer_update_after_bind), offset_of!(structs::PhysicalDeviceVulkan12Features, descriptor_binding_sampled_image_update_after_bind), offset_of!(structs::PhysicalDeviceVulkan12Features, descriptor_binding_storage_image_update_after_bind), offset_of!(structs::PhysicalDeviceVulkan12Features, descriptor_binding_storage_buffer_update_after_bind), offset_of!(structs::PhysicalDeviceVulkan12Features, descriptor_binding_uniform_texel_buffer_update_after_bind), offset_of!(structs::PhysicalDeviceVulkan12Features, descriptor_binding_storage_texel_buffer_update_after_bind), offset_of!(structs::PhysicalDeviceVulkan12Features, descriptor_binding_update_unused_while_pending), offset_of!(structs::PhysicalDeviceVulkan12Features, descriptor_binding_partially_bound), offset_of!(structs::PhysicalDeviceVulkan12Features, descriptor_binding_variable_descriptor_count), offset_of!(structs::PhysicalDeviceVulkan12Features, runtime_descriptor_array), offset_of!(structs::PhysicalDeviceVulkan12Features, sampler_filter_minmax), offset_of!(structs::PhysicalDeviceVulkan12Features, scalar_block_layout), offset_of!(structs::PhysicalDeviceVulkan12Features, imageless_framebuffer), offset_of!(structs::PhysicalDeviceVulkan12Features, uniform_buffer_standard_layout), offset_of!(structs::PhysicalDeviceVulkan12Features, shader_subgroup_extended_types), offset_of!(structs::PhysicalDeviceVulkan12Features, separate_depth_stencil_layouts), offset_of!(structs::PhysicalDeviceVulkan12Features, host_query_reset), offset_of!(structs::PhysicalDeviceVulkan12Features, timeline_semaphore), offset_of!(structs::PhysicalDeviceVulkan12Features, buffer_device_address), offset_of!(structs::PhysicalDeviceVulkan12Features, buffer_device_address_capture_replay), offset_of!(structs::PhysicalDeviceVulkan12Features, buffer_device_address_multi_device), offset_of!(structs::PhysicalDeviceVulkan12Features, vulkan_memory_model), offset_of!(structs::PhysicalDeviceVulkan12Features, vulkan_memory_model_device_scope), offset_of!(structs::PhysicalDeviceVulkan12Features, vulkan_memory_model_availability_visibility_chains), offset_of!(structs::PhysicalDeviceVulkan12Features, shader_output_viewport_index), offset_of!(structs::PhysicalDeviceVulkan12Features, shader_output_layer), offset_of!(structs::PhysicalDeviceVulkan12Features, subgroup_broadcast_dynamic_id)); - println!("PhysicalDeviceVulkan12Properties {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceVulkan12Properties, s_type), offset_of!(structs::PhysicalDeviceVulkan12Properties, p_next), offset_of!(structs::PhysicalDeviceVulkan12Properties, driver_id), offset_of!(structs::PhysicalDeviceVulkan12Properties, driver_name), offset_of!(structs::PhysicalDeviceVulkan12Properties, driver_info), offset_of!(structs::PhysicalDeviceVulkan12Properties, conformance_version), offset_of!(structs::PhysicalDeviceVulkan12Properties, denorm_behavior_independence), offset_of!(structs::PhysicalDeviceVulkan12Properties, rounding_mode_independence), offset_of!(structs::PhysicalDeviceVulkan12Properties, shader_signed_zero_inf_nan_preserve_float16), offset_of!(structs::PhysicalDeviceVulkan12Properties, shader_signed_zero_inf_nan_preserve_float32), offset_of!(structs::PhysicalDeviceVulkan12Properties, shader_signed_zero_inf_nan_preserve_float64), offset_of!(structs::PhysicalDeviceVulkan12Properties, shader_denorm_preserve_float16), offset_of!(structs::PhysicalDeviceVulkan12Properties, shader_denorm_preserve_float32), offset_of!(structs::PhysicalDeviceVulkan12Properties, shader_denorm_preserve_float64), offset_of!(structs::PhysicalDeviceVulkan12Properties, shader_denorm_flush_to_zero_float16), offset_of!(structs::PhysicalDeviceVulkan12Properties, shader_denorm_flush_to_zero_float32), offset_of!(structs::PhysicalDeviceVulkan12Properties, shader_denorm_flush_to_zero_float64), offset_of!(structs::PhysicalDeviceVulkan12Properties, shader_rounding_mode_rte_float16), offset_of!(structs::PhysicalDeviceVulkan12Properties, shader_rounding_mode_rte_float32), offset_of!(structs::PhysicalDeviceVulkan12Properties, shader_rounding_mode_rte_float64), offset_of!(structs::PhysicalDeviceVulkan12Properties, shader_rounding_mode_rtz_float16), offset_of!(structs::PhysicalDeviceVulkan12Properties, shader_rounding_mode_rtz_float32), offset_of!(structs::PhysicalDeviceVulkan12Properties, shader_rounding_mode_rtz_float64), offset_of!(structs::PhysicalDeviceVulkan12Properties, max_update_after_bind_descriptors_in_all_pools), offset_of!(structs::PhysicalDeviceVulkan12Properties, shader_uniform_buffer_array_non_uniform_indexing_native), offset_of!(structs::PhysicalDeviceVulkan12Properties, shader_sampled_image_array_non_uniform_indexing_native), offset_of!(structs::PhysicalDeviceVulkan12Properties, shader_storage_buffer_array_non_uniform_indexing_native), offset_of!(structs::PhysicalDeviceVulkan12Properties, shader_storage_image_array_non_uniform_indexing_native), offset_of!(structs::PhysicalDeviceVulkan12Properties, shader_input_attachment_array_non_uniform_indexing_native), offset_of!(structs::PhysicalDeviceVulkan12Properties, robust_buffer_access_update_after_bind), offset_of!(structs::PhysicalDeviceVulkan12Properties, quad_divergent_implicit_lod), offset_of!(structs::PhysicalDeviceVulkan12Properties, max_per_stage_descriptor_update_after_bind_samplers), offset_of!(structs::PhysicalDeviceVulkan12Properties, max_per_stage_descriptor_update_after_bind_uniform_buffers), offset_of!(structs::PhysicalDeviceVulkan12Properties, max_per_stage_descriptor_update_after_bind_storage_buffers), offset_of!(structs::PhysicalDeviceVulkan12Properties, max_per_stage_descriptor_update_after_bind_sampled_images), offset_of!(structs::PhysicalDeviceVulkan12Properties, max_per_stage_descriptor_update_after_bind_storage_images), offset_of!(structs::PhysicalDeviceVulkan12Properties, max_per_stage_descriptor_update_after_bind_input_attachments), offset_of!(structs::PhysicalDeviceVulkan12Properties, max_per_stage_update_after_bind_resources), offset_of!(structs::PhysicalDeviceVulkan12Properties, max_descriptor_set_update_after_bind_samplers), offset_of!(structs::PhysicalDeviceVulkan12Properties, max_descriptor_set_update_after_bind_uniform_buffers), offset_of!(structs::PhysicalDeviceVulkan12Properties, max_descriptor_set_update_after_bind_uniform_buffers_dynamic), offset_of!(structs::PhysicalDeviceVulkan12Properties, max_descriptor_set_update_after_bind_storage_buffers), offset_of!(structs::PhysicalDeviceVulkan12Properties, max_descriptor_set_update_after_bind_storage_buffers_dynamic), offset_of!(structs::PhysicalDeviceVulkan12Properties, max_descriptor_set_update_after_bind_sampled_images), offset_of!(structs::PhysicalDeviceVulkan12Properties, max_descriptor_set_update_after_bind_storage_images), offset_of!(structs::PhysicalDeviceVulkan12Properties, max_descriptor_set_update_after_bind_input_attachments), offset_of!(structs::PhysicalDeviceVulkan12Properties, supported_depth_resolve_modes), offset_of!(structs::PhysicalDeviceVulkan12Properties, supported_stencil_resolve_modes), offset_of!(structs::PhysicalDeviceVulkan12Properties, independent_resolve_none), offset_of!(structs::PhysicalDeviceVulkan12Properties, independent_resolve), offset_of!(structs::PhysicalDeviceVulkan12Properties, filter_minmax_single_component_formats), offset_of!(structs::PhysicalDeviceVulkan12Properties, filter_minmax_image_component_mapping), offset_of!(structs::PhysicalDeviceVulkan12Properties, max_timeline_semaphore_value_difference), offset_of!(structs::PhysicalDeviceVulkan12Properties, framebuffer_integer_color_sample_counts)); - println!("PhysicalDeviceVulkan13Features {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceVulkan13Features, s_type), offset_of!(structs::PhysicalDeviceVulkan13Features, p_next), offset_of!(structs::PhysicalDeviceVulkan13Features, robust_image_access), offset_of!(structs::PhysicalDeviceVulkan13Features, inline_uniform_block), offset_of!(structs::PhysicalDeviceVulkan13Features, descriptor_binding_inline_uniform_block_update_after_bind), offset_of!(structs::PhysicalDeviceVulkan13Features, pipeline_creation_cache_control), offset_of!(structs::PhysicalDeviceVulkan13Features, private_data), offset_of!(structs::PhysicalDeviceVulkan13Features, shader_demote_to_helper_invocation), offset_of!(structs::PhysicalDeviceVulkan13Features, shader_terminate_invocation), offset_of!(structs::PhysicalDeviceVulkan13Features, subgroup_size_control), offset_of!(structs::PhysicalDeviceVulkan13Features, compute_full_subgroups), offset_of!(structs::PhysicalDeviceVulkan13Features, synchronization2), offset_of!(structs::PhysicalDeviceVulkan13Features, texture_compression_astc_hdr), offset_of!(structs::PhysicalDeviceVulkan13Features, shader_zero_initialize_workgroup_memory), offset_of!(structs::PhysicalDeviceVulkan13Features, dynamic_rendering), offset_of!(structs::PhysicalDeviceVulkan13Features, shader_integer_dot_product), offset_of!(structs::PhysicalDeviceVulkan13Features, maintenance4)); - println!("PhysicalDeviceVulkan13Properties {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceVulkan13Properties, s_type), offset_of!(structs::PhysicalDeviceVulkan13Properties, p_next), offset_of!(structs::PhysicalDeviceVulkan13Properties, min_subgroup_size), offset_of!(structs::PhysicalDeviceVulkan13Properties, max_subgroup_size), offset_of!(structs::PhysicalDeviceVulkan13Properties, max_compute_workgroup_subgroups), offset_of!(structs::PhysicalDeviceVulkan13Properties, required_subgroup_size_stages), offset_of!(structs::PhysicalDeviceVulkan13Properties, max_inline_uniform_block_size), offset_of!(structs::PhysicalDeviceVulkan13Properties, max_per_stage_descriptor_inline_uniform_blocks), offset_of!(structs::PhysicalDeviceVulkan13Properties, max_per_stage_descriptor_update_after_bind_inline_uniform_blocks), offset_of!(structs::PhysicalDeviceVulkan13Properties, max_descriptor_set_inline_uniform_blocks), offset_of!(structs::PhysicalDeviceVulkan13Properties, max_descriptor_set_update_after_bind_inline_uniform_blocks), offset_of!(structs::PhysicalDeviceVulkan13Properties, max_inline_uniform_total_size), offset_of!(structs::PhysicalDeviceVulkan13Properties, integer_dot_product8_bit_unsigned_accelerated), offset_of!(structs::PhysicalDeviceVulkan13Properties, integer_dot_product8_bit_signed_accelerated), offset_of!(structs::PhysicalDeviceVulkan13Properties, integer_dot_product8_bit_mixed_signedness_accelerated), offset_of!(structs::PhysicalDeviceVulkan13Properties, integer_dot_product4x8_bit_packed_unsigned_accelerated), offset_of!(structs::PhysicalDeviceVulkan13Properties, integer_dot_product4x8_bit_packed_signed_accelerated), offset_of!(structs::PhysicalDeviceVulkan13Properties, integer_dot_product4x8_bit_packed_mixed_signedness_accelerated), offset_of!(structs::PhysicalDeviceVulkan13Properties, integer_dot_product16_bit_unsigned_accelerated), offset_of!(structs::PhysicalDeviceVulkan13Properties, integer_dot_product16_bit_signed_accelerated), offset_of!(structs::PhysicalDeviceVulkan13Properties, integer_dot_product16_bit_mixed_signedness_accelerated), offset_of!(structs::PhysicalDeviceVulkan13Properties, integer_dot_product32_bit_unsigned_accelerated), offset_of!(structs::PhysicalDeviceVulkan13Properties, integer_dot_product32_bit_signed_accelerated), offset_of!(structs::PhysicalDeviceVulkan13Properties, integer_dot_product32_bit_mixed_signedness_accelerated), offset_of!(structs::PhysicalDeviceVulkan13Properties, integer_dot_product64_bit_unsigned_accelerated), offset_of!(structs::PhysicalDeviceVulkan13Properties, integer_dot_product64_bit_signed_accelerated), offset_of!(structs::PhysicalDeviceVulkan13Properties, integer_dot_product64_bit_mixed_signedness_accelerated), offset_of!(structs::PhysicalDeviceVulkan13Properties, integer_dot_product_accumulating_saturating8_bit_unsigned_accelerated), offset_of!(structs::PhysicalDeviceVulkan13Properties, integer_dot_product_accumulating_saturating8_bit_signed_accelerated), offset_of!(structs::PhysicalDeviceVulkan13Properties, integer_dot_product_accumulating_saturating8_bit_mixed_signedness_accelerated), offset_of!(structs::PhysicalDeviceVulkan13Properties, integer_dot_product_accumulating_saturating4x8_bit_packed_unsigned_accelerated), offset_of!(structs::PhysicalDeviceVulkan13Properties, integer_dot_product_accumulating_saturating4x8_bit_packed_signed_accelerated), offset_of!(structs::PhysicalDeviceVulkan13Properties, integer_dot_product_accumulating_saturating4x8_bit_packed_mixed_signedness_accelerated), offset_of!(structs::PhysicalDeviceVulkan13Properties, integer_dot_product_accumulating_saturating16_bit_unsigned_accelerated), offset_of!(structs::PhysicalDeviceVulkan13Properties, integer_dot_product_accumulating_saturating16_bit_signed_accelerated), offset_of!(structs::PhysicalDeviceVulkan13Properties, integer_dot_product_accumulating_saturating16_bit_mixed_signedness_accelerated), offset_of!(structs::PhysicalDeviceVulkan13Properties, integer_dot_product_accumulating_saturating32_bit_unsigned_accelerated), offset_of!(structs::PhysicalDeviceVulkan13Properties, integer_dot_product_accumulating_saturating32_bit_signed_accelerated), offset_of!(structs::PhysicalDeviceVulkan13Properties, integer_dot_product_accumulating_saturating32_bit_mixed_signedness_accelerated), offset_of!(structs::PhysicalDeviceVulkan13Properties, integer_dot_product_accumulating_saturating64_bit_unsigned_accelerated), offset_of!(structs::PhysicalDeviceVulkan13Properties, integer_dot_product_accumulating_saturating64_bit_signed_accelerated), offset_of!(structs::PhysicalDeviceVulkan13Properties, integer_dot_product_accumulating_saturating64_bit_mixed_signedness_accelerated), offset_of!(structs::PhysicalDeviceVulkan13Properties, storage_texel_buffer_offset_alignment_bytes), offset_of!(structs::PhysicalDeviceVulkan13Properties, storage_texel_buffer_offset_single_texel_alignment), offset_of!(structs::PhysicalDeviceVulkan13Properties, uniform_texel_buffer_offset_alignment_bytes), offset_of!(structs::PhysicalDeviceVulkan13Properties, uniform_texel_buffer_offset_single_texel_alignment), offset_of!(structs::PhysicalDeviceVulkan13Properties, max_buffer_size)); - println!("PhysicalDeviceVulkan14Features {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceVulkan14Features, s_type), offset_of!(structs::PhysicalDeviceVulkan14Features, p_next), offset_of!(structs::PhysicalDeviceVulkan14Features, global_priority_query), offset_of!(structs::PhysicalDeviceVulkan14Features, shader_subgroup_rotate), offset_of!(structs::PhysicalDeviceVulkan14Features, shader_subgroup_rotate_clustered), offset_of!(structs::PhysicalDeviceVulkan14Features, shader_float_controls2), offset_of!(structs::PhysicalDeviceVulkan14Features, shader_expect_assume), offset_of!(structs::PhysicalDeviceVulkan14Features, rectangular_lines), offset_of!(structs::PhysicalDeviceVulkan14Features, bresenham_lines), offset_of!(structs::PhysicalDeviceVulkan14Features, smooth_lines), offset_of!(structs::PhysicalDeviceVulkan14Features, stippled_rectangular_lines), offset_of!(structs::PhysicalDeviceVulkan14Features, stippled_bresenham_lines), offset_of!(structs::PhysicalDeviceVulkan14Features, stippled_smooth_lines), offset_of!(structs::PhysicalDeviceVulkan14Features, vertex_attribute_instance_rate_divisor), offset_of!(structs::PhysicalDeviceVulkan14Features, vertex_attribute_instance_rate_zero_divisor), offset_of!(structs::PhysicalDeviceVulkan14Features, index_type_uint8), offset_of!(structs::PhysicalDeviceVulkan14Features, dynamic_rendering_local_read), offset_of!(structs::PhysicalDeviceVulkan14Features, maintenance5), offset_of!(structs::PhysicalDeviceVulkan14Features, maintenance6), offset_of!(structs::PhysicalDeviceVulkan14Features, pipeline_protected_access), offset_of!(structs::PhysicalDeviceVulkan14Features, pipeline_robustness), offset_of!(structs::PhysicalDeviceVulkan14Features, host_image_copy), offset_of!(structs::PhysicalDeviceVulkan14Features, push_descriptor)); - println!("PhysicalDeviceVulkan14Properties {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceVulkan14Properties, s_type), offset_of!(structs::PhysicalDeviceVulkan14Properties, p_next), offset_of!(structs::PhysicalDeviceVulkan14Properties, line_sub_pixel_precision_bits), offset_of!(structs::PhysicalDeviceVulkan14Properties, max_vertex_attrib_divisor), offset_of!(structs::PhysicalDeviceVulkan14Properties, supports_non_zero_first_instance), offset_of!(structs::PhysicalDeviceVulkan14Properties, max_push_descriptors), offset_of!(structs::PhysicalDeviceVulkan14Properties, dynamic_rendering_local_read_depth_stencil_attachments), offset_of!(structs::PhysicalDeviceVulkan14Properties, dynamic_rendering_local_read_multisampled_attachments), offset_of!(structs::PhysicalDeviceVulkan14Properties, early_fragment_multisample_coverage_after_sample_counting), offset_of!(structs::PhysicalDeviceVulkan14Properties, early_fragment_sample_mask_test_before_sample_counting), offset_of!(structs::PhysicalDeviceVulkan14Properties, depth_stencil_swizzle_one_support), offset_of!(structs::PhysicalDeviceVulkan14Properties, polygon_mode_point_size), offset_of!(structs::PhysicalDeviceVulkan14Properties, non_strict_single_pixel_wide_lines_use_parallelogram), offset_of!(structs::PhysicalDeviceVulkan14Properties, non_strict_wide_lines_use_parallelogram), offset_of!(structs::PhysicalDeviceVulkan14Properties, block_texel_view_compatible_multiple_layers), offset_of!(structs::PhysicalDeviceVulkan14Properties, max_combined_image_sampler_descriptor_count), offset_of!(structs::PhysicalDeviceVulkan14Properties, fragment_shading_rate_clamp_combiner_inputs), offset_of!(structs::PhysicalDeviceVulkan14Properties, default_robustness_storage_buffers), offset_of!(structs::PhysicalDeviceVulkan14Properties, default_robustness_uniform_buffers), offset_of!(structs::PhysicalDeviceVulkan14Properties, default_robustness_vertex_inputs), offset_of!(structs::PhysicalDeviceVulkan14Properties, default_robustness_images), offset_of!(structs::PhysicalDeviceVulkan14Properties, copy_src_layout_count), offset_of!(structs::PhysicalDeviceVulkan14Properties, p_copy_src_layouts), offset_of!(structs::PhysicalDeviceVulkan14Properties, copy_dst_layout_count), offset_of!(structs::PhysicalDeviceVulkan14Properties, p_copy_dst_layouts), offset_of!(structs::PhysicalDeviceVulkan14Properties, optimal_tiling_layout_uuid), offset_of!(structs::PhysicalDeviceVulkan14Properties, identical_memory_type_requirements)); - println!("PipelineCompilerControlCreateInfoAMD {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineCompilerControlCreateInfoAMD, s_type), offset_of!(structs::PipelineCompilerControlCreateInfoAMD, p_next), offset_of!(structs::PipelineCompilerControlCreateInfoAMD, compiler_control_flags)); - println!("PhysicalDeviceCoherentMemoryFeaturesAMD {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceCoherentMemoryFeaturesAMD, s_type), offset_of!(structs::PhysicalDeviceCoherentMemoryFeaturesAMD, p_next), offset_of!(structs::PhysicalDeviceCoherentMemoryFeaturesAMD, device_coherent_memory)); - println!("PhysicalDeviceToolProperties {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceToolProperties, s_type), offset_of!(structs::PhysicalDeviceToolProperties, p_next), offset_of!(structs::PhysicalDeviceToolProperties, name), offset_of!(structs::PhysicalDeviceToolProperties, version), offset_of!(structs::PhysicalDeviceToolProperties, purposes), offset_of!(structs::PhysicalDeviceToolProperties, description), offset_of!(structs::PhysicalDeviceToolProperties, layer)); - println!("SamplerCustomBorderColorCreateInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SamplerCustomBorderColorCreateInfoEXT, s_type), offset_of!(structs::SamplerCustomBorderColorCreateInfoEXT, p_next), offset_of!(structs::SamplerCustomBorderColorCreateInfoEXT, custom_border_color), offset_of!(structs::SamplerCustomBorderColorCreateInfoEXT, format)); - println!("PhysicalDeviceCustomBorderColorPropertiesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceCustomBorderColorPropertiesEXT, s_type), offset_of!(structs::PhysicalDeviceCustomBorderColorPropertiesEXT, p_next), offset_of!(structs::PhysicalDeviceCustomBorderColorPropertiesEXT, max_custom_border_color_samplers)); - println!("PhysicalDeviceCustomBorderColorFeaturesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceCustomBorderColorFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceCustomBorderColorFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceCustomBorderColorFeaturesEXT, custom_border_colors), offset_of!(structs::PhysicalDeviceCustomBorderColorFeaturesEXT, custom_border_color_without_format)); - println!("SamplerBorderColorComponentMappingCreateInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SamplerBorderColorComponentMappingCreateInfoEXT, s_type), offset_of!(structs::SamplerBorderColorComponentMappingCreateInfoEXT, p_next), offset_of!(structs::SamplerBorderColorComponentMappingCreateInfoEXT, components), offset_of!(structs::SamplerBorderColorComponentMappingCreateInfoEXT, srgb)); - println!("PhysicalDeviceBorderColorSwizzleFeaturesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceBorderColorSwizzleFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceBorderColorSwizzleFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceBorderColorSwizzleFeaturesEXT, border_color_swizzle), offset_of!(structs::PhysicalDeviceBorderColorSwizzleFeaturesEXT, border_color_swizzle_from_image)); - println!("DeviceOrHostAddressKHR {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DeviceOrHostAddressKHR, device_address), offset_of!(structs::DeviceOrHostAddressKHR, host_address)); - println!("DeviceOrHostAddressConstKHR {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DeviceOrHostAddressConstKHR, device_address), offset_of!(structs::DeviceOrHostAddressConstKHR, host_address)); - println!("AccelerationStructureGeometryTrianglesDataKHR {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::AccelerationStructureGeometryTrianglesDataKHR, s_type), offset_of!(structs::AccelerationStructureGeometryTrianglesDataKHR, p_next), offset_of!(structs::AccelerationStructureGeometryTrianglesDataKHR, vertex_format), offset_of!(structs::AccelerationStructureGeometryTrianglesDataKHR, vertex_data), offset_of!(structs::AccelerationStructureGeometryTrianglesDataKHR, vertex_stride), offset_of!(structs::AccelerationStructureGeometryTrianglesDataKHR, max_vertex), offset_of!(structs::AccelerationStructureGeometryTrianglesDataKHR, index_type), offset_of!(structs::AccelerationStructureGeometryTrianglesDataKHR, index_data), offset_of!(structs::AccelerationStructureGeometryTrianglesDataKHR, transform_data)); - println!("AccelerationStructureGeometryAabbsDataKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::AccelerationStructureGeometryAabbsDataKHR, s_type), offset_of!(structs::AccelerationStructureGeometryAabbsDataKHR, p_next), offset_of!(structs::AccelerationStructureGeometryAabbsDataKHR, data), offset_of!(structs::AccelerationStructureGeometryAabbsDataKHR, stride)); - println!("AccelerationStructureGeometryInstancesDataKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::AccelerationStructureGeometryInstancesDataKHR, s_type), offset_of!(structs::AccelerationStructureGeometryInstancesDataKHR, p_next), offset_of!(structs::AccelerationStructureGeometryInstancesDataKHR, array_of_pointers), offset_of!(structs::AccelerationStructureGeometryInstancesDataKHR, data)); - println!("AccelerationStructureGeometryLinearSweptSpheresDataNV {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::AccelerationStructureGeometryLinearSweptSpheresDataNV, s_type), offset_of!(structs::AccelerationStructureGeometryLinearSweptSpheresDataNV, p_next), offset_of!(structs::AccelerationStructureGeometryLinearSweptSpheresDataNV, vertex_format), offset_of!(structs::AccelerationStructureGeometryLinearSweptSpheresDataNV, vertex_data), offset_of!(structs::AccelerationStructureGeometryLinearSweptSpheresDataNV, vertex_stride), offset_of!(structs::AccelerationStructureGeometryLinearSweptSpheresDataNV, radius_format), offset_of!(structs::AccelerationStructureGeometryLinearSweptSpheresDataNV, radius_data), offset_of!(structs::AccelerationStructureGeometryLinearSweptSpheresDataNV, radius_stride), offset_of!(structs::AccelerationStructureGeometryLinearSweptSpheresDataNV, index_type), offset_of!(structs::AccelerationStructureGeometryLinearSweptSpheresDataNV, index_data), offset_of!(structs::AccelerationStructureGeometryLinearSweptSpheresDataNV, index_stride), offset_of!(structs::AccelerationStructureGeometryLinearSweptSpheresDataNV, indexing_mode), offset_of!(structs::AccelerationStructureGeometryLinearSweptSpheresDataNV, end_caps_mode)); - println!("AccelerationStructureGeometrySpheresDataNV {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::AccelerationStructureGeometrySpheresDataNV, s_type), offset_of!(structs::AccelerationStructureGeometrySpheresDataNV, p_next), offset_of!(structs::AccelerationStructureGeometrySpheresDataNV, vertex_format), offset_of!(structs::AccelerationStructureGeometrySpheresDataNV, vertex_data), offset_of!(structs::AccelerationStructureGeometrySpheresDataNV, vertex_stride), offset_of!(structs::AccelerationStructureGeometrySpheresDataNV, radius_format), offset_of!(structs::AccelerationStructureGeometrySpheresDataNV, radius_data), offset_of!(structs::AccelerationStructureGeometrySpheresDataNV, radius_stride), offset_of!(structs::AccelerationStructureGeometrySpheresDataNV, index_type), offset_of!(structs::AccelerationStructureGeometrySpheresDataNV, index_data), offset_of!(structs::AccelerationStructureGeometrySpheresDataNV, index_stride)); - println!("AccelerationStructureGeometryDataKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::AccelerationStructureGeometryDataKHR, triangles), offset_of!(structs::AccelerationStructureGeometryDataKHR, aabbs), offset_of!(structs::AccelerationStructureGeometryDataKHR, instances)); - println!("AccelerationStructureGeometryKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::AccelerationStructureGeometryKHR, s_type), offset_of!(structs::AccelerationStructureGeometryKHR, p_next), offset_of!(structs::AccelerationStructureGeometryKHR, geometry_type), offset_of!(structs::AccelerationStructureGeometryKHR, geometry), offset_of!(structs::AccelerationStructureGeometryKHR, flags)); - println!("AccelerationStructureBuildGeometryInfoKHR {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::AccelerationStructureBuildGeometryInfoKHR, s_type), offset_of!(structs::AccelerationStructureBuildGeometryInfoKHR, p_next), offset_of!(structs::AccelerationStructureBuildGeometryInfoKHR, flags), offset_of!(structs::AccelerationStructureBuildGeometryInfoKHR, mode), offset_of!(structs::AccelerationStructureBuildGeometryInfoKHR, src_acceleration_structure), offset_of!(structs::AccelerationStructureBuildGeometryInfoKHR, dst_acceleration_structure), offset_of!(structs::AccelerationStructureBuildGeometryInfoKHR, geometry_count), offset_of!(structs::AccelerationStructureBuildGeometryInfoKHR, p_geometries), offset_of!(structs::AccelerationStructureBuildGeometryInfoKHR, pp_geometries), offset_of!(structs::AccelerationStructureBuildGeometryInfoKHR, scratch_data)); - println!("AccelerationStructureBuildRangeInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::AccelerationStructureBuildRangeInfoKHR, primitive_count), offset_of!(structs::AccelerationStructureBuildRangeInfoKHR, primitive_offset), offset_of!(structs::AccelerationStructureBuildRangeInfoKHR, first_vertex), offset_of!(structs::AccelerationStructureBuildRangeInfoKHR, transform_offset)); - println!("AccelerationStructureCreateInfoKHR {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::AccelerationStructureCreateInfoKHR, s_type), offset_of!(structs::AccelerationStructureCreateInfoKHR, p_next), offset_of!(structs::AccelerationStructureCreateInfoKHR, create_flags), offset_of!(structs::AccelerationStructureCreateInfoKHR, buffer), offset_of!(structs::AccelerationStructureCreateInfoKHR, offset), offset_of!(structs::AccelerationStructureCreateInfoKHR, size), offset_of!(structs::AccelerationStructureCreateInfoKHR, device_address)); - println!("AabbPositionsKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::AabbPositionsKHR, min_x), offset_of!(structs::AabbPositionsKHR, min_y), offset_of!(structs::AabbPositionsKHR, min_z), offset_of!(structs::AabbPositionsKHR, max_x), offset_of!(structs::AabbPositionsKHR, max_y), offset_of!(structs::AabbPositionsKHR, max_z)); - println!("TransformMatrixKHR {} {} {}", size_of::(), align_of::(), offset_of!(structs::TransformMatrixKHR, matrix)); - println!("AccelerationStructureInstanceKHR {} {}", size_of::(), align_of::()); - println!("AccelerationStructureDeviceAddressInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::AccelerationStructureDeviceAddressInfoKHR, s_type), offset_of!(structs::AccelerationStructureDeviceAddressInfoKHR, p_next), offset_of!(structs::AccelerationStructureDeviceAddressInfoKHR, acceleration_structure)); - println!("AccelerationStructureVersionInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::AccelerationStructureVersionInfoKHR, s_type), offset_of!(structs::AccelerationStructureVersionInfoKHR, p_next), offset_of!(structs::AccelerationStructureVersionInfoKHR, p_version_data)); - println!("CopyAccelerationStructureInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CopyAccelerationStructureInfoKHR, s_type), offset_of!(structs::CopyAccelerationStructureInfoKHR, p_next), offset_of!(structs::CopyAccelerationStructureInfoKHR, src), offset_of!(structs::CopyAccelerationStructureInfoKHR, dst), offset_of!(structs::CopyAccelerationStructureInfoKHR, mode)); - println!("CopyAccelerationStructureToMemoryInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CopyAccelerationStructureToMemoryInfoKHR, s_type), offset_of!(structs::CopyAccelerationStructureToMemoryInfoKHR, p_next), offset_of!(structs::CopyAccelerationStructureToMemoryInfoKHR, src), offset_of!(structs::CopyAccelerationStructureToMemoryInfoKHR, dst), offset_of!(structs::CopyAccelerationStructureToMemoryInfoKHR, mode)); - println!("CopyMemoryToAccelerationStructureInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CopyMemoryToAccelerationStructureInfoKHR, s_type), offset_of!(structs::CopyMemoryToAccelerationStructureInfoKHR, p_next), offset_of!(structs::CopyMemoryToAccelerationStructureInfoKHR, src), offset_of!(structs::CopyMemoryToAccelerationStructureInfoKHR, dst), offset_of!(structs::CopyMemoryToAccelerationStructureInfoKHR, mode)); - println!("RayTracingPipelineInterfaceCreateInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::RayTracingPipelineInterfaceCreateInfoKHR, s_type), offset_of!(structs::RayTracingPipelineInterfaceCreateInfoKHR, p_next), offset_of!(structs::RayTracingPipelineInterfaceCreateInfoKHR, max_pipeline_ray_payload_size), offset_of!(structs::RayTracingPipelineInterfaceCreateInfoKHR, max_pipeline_ray_hit_attribute_size)); - println!("PipelineLibraryCreateInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineLibraryCreateInfoKHR, s_type), offset_of!(structs::PipelineLibraryCreateInfoKHR, p_next), offset_of!(structs::PipelineLibraryCreateInfoKHR, library_count), offset_of!(structs::PipelineLibraryCreateInfoKHR, p_libraries)); - println!("PhysicalDeviceExtendedDynamicStateFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceExtendedDynamicStateFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceExtendedDynamicStateFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceExtendedDynamicStateFeaturesEXT, extended_dynamic_state)); - println!("PhysicalDeviceExtendedDynamicState2FeaturesEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceExtendedDynamicState2FeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceExtendedDynamicState2FeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceExtendedDynamicState2FeaturesEXT, extended_dynamic_state2), offset_of!(structs::PhysicalDeviceExtendedDynamicState2FeaturesEXT, extended_dynamic_state2_logic_op), offset_of!(structs::PhysicalDeviceExtendedDynamicState2FeaturesEXT, extended_dynamic_state2_patch_control_points)); - println!("PhysicalDeviceExtendedDynamicState3FeaturesEXT {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceExtendedDynamicState3FeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceExtendedDynamicState3FeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_tessellation_domain_origin), offset_of!(structs::PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_depth_clamp_enable), offset_of!(structs::PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_polygon_mode), offset_of!(structs::PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_rasterization_samples), offset_of!(structs::PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_sample_mask), offset_of!(structs::PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_alpha_to_coverage_enable), offset_of!(structs::PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_alpha_to_one_enable), offset_of!(structs::PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_logic_op_enable), offset_of!(structs::PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_color_blend_enable), offset_of!(structs::PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_color_blend_equation), offset_of!(structs::PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_color_write_mask), offset_of!(structs::PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_rasterization_stream), offset_of!(structs::PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_conservative_rasterization_mode), offset_of!(structs::PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_extra_primitive_overestimation_size), offset_of!(structs::PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_depth_clip_enable), offset_of!(structs::PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_sample_locations_enable), offset_of!(structs::PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_color_blend_advanced), offset_of!(structs::PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_provoking_vertex_mode), offset_of!(structs::PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_line_rasterization_mode), offset_of!(structs::PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_line_stipple_enable), offset_of!(structs::PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_depth_clip_negative_one_to_one), offset_of!(structs::PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_viewport_w_scaling_enable), offset_of!(structs::PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_viewport_swizzle), offset_of!(structs::PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_coverage_to_color_enable), offset_of!(structs::PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_coverage_to_color_location), offset_of!(structs::PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_coverage_modulation_mode), offset_of!(structs::PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_coverage_modulation_table_enable), offset_of!(structs::PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_coverage_modulation_table), offset_of!(structs::PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_coverage_reduction_mode), offset_of!(structs::PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_representative_fragment_test_enable), offset_of!(structs::PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_shading_rate_image_enable)); - println!("PhysicalDeviceExtendedDynamicState3PropertiesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceExtendedDynamicState3PropertiesEXT, s_type), offset_of!(structs::PhysicalDeviceExtendedDynamicState3PropertiesEXT, p_next), offset_of!(structs::PhysicalDeviceExtendedDynamicState3PropertiesEXT, dynamic_primitive_topology_unrestricted)); - println!("ColorBlendEquationEXT {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ColorBlendEquationEXT, src_color_blend_factor), offset_of!(structs::ColorBlendEquationEXT, dst_color_blend_factor), offset_of!(structs::ColorBlendEquationEXT, color_blend_op), offset_of!(structs::ColorBlendEquationEXT, src_alpha_blend_factor), offset_of!(structs::ColorBlendEquationEXT, dst_alpha_blend_factor), offset_of!(structs::ColorBlendEquationEXT, alpha_blend_op)); - println!("ColorBlendAdvancedEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ColorBlendAdvancedEXT, advanced_blend_op), offset_of!(structs::ColorBlendAdvancedEXT, src_premultiplied), offset_of!(structs::ColorBlendAdvancedEXT, dst_premultiplied), offset_of!(structs::ColorBlendAdvancedEXT, blend_overlap), offset_of!(structs::ColorBlendAdvancedEXT, clamp_results)); - println!("RenderPassTransformBeginInfoQCOM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::RenderPassTransformBeginInfoQCOM, s_type), offset_of!(structs::RenderPassTransformBeginInfoQCOM, p_next), offset_of!(structs::RenderPassTransformBeginInfoQCOM, transform)); - println!("CopyCommandTransformInfoQCOM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CopyCommandTransformInfoQCOM, s_type), offset_of!(structs::CopyCommandTransformInfoQCOM, p_next), offset_of!(structs::CopyCommandTransformInfoQCOM, transform)); - println!("CommandBufferInheritanceRenderPassTransformInfoQCOM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CommandBufferInheritanceRenderPassTransformInfoQCOM, s_type), offset_of!(structs::CommandBufferInheritanceRenderPassTransformInfoQCOM, p_next), offset_of!(structs::CommandBufferInheritanceRenderPassTransformInfoQCOM, transform), offset_of!(structs::CommandBufferInheritanceRenderPassTransformInfoQCOM, render_area)); - println!("PhysicalDevicePartitionedAccelerationStructureFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDevicePartitionedAccelerationStructureFeaturesNV, s_type), offset_of!(structs::PhysicalDevicePartitionedAccelerationStructureFeaturesNV, p_next), offset_of!(structs::PhysicalDevicePartitionedAccelerationStructureFeaturesNV, partitioned_acceleration_structure)); - println!("PhysicalDevicePartitionedAccelerationStructurePropertiesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDevicePartitionedAccelerationStructurePropertiesNV, s_type), offset_of!(structs::PhysicalDevicePartitionedAccelerationStructurePropertiesNV, p_next), offset_of!(structs::PhysicalDevicePartitionedAccelerationStructurePropertiesNV, max_partition_count)); - println!("BuildPartitionedAccelerationStructureIndirectCommandNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BuildPartitionedAccelerationStructureIndirectCommandNV, op_type), offset_of!(structs::BuildPartitionedAccelerationStructureIndirectCommandNV, arg_count), offset_of!(structs::BuildPartitionedAccelerationStructureIndirectCommandNV, arg_data)); - println!("PartitionedAccelerationStructureFlagsNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PartitionedAccelerationStructureFlagsNV, s_type), offset_of!(structs::PartitionedAccelerationStructureFlagsNV, p_next), offset_of!(structs::PartitionedAccelerationStructureFlagsNV, enable_partition_translation)); - println!("PartitionedAccelerationStructureWriteInstanceDataNV {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PartitionedAccelerationStructureWriteInstanceDataNV, transform), offset_of!(structs::PartitionedAccelerationStructureWriteInstanceDataNV, explicit_aabb), offset_of!(structs::PartitionedAccelerationStructureWriteInstanceDataNV, instance_id), offset_of!(structs::PartitionedAccelerationStructureWriteInstanceDataNV, instance_mask), offset_of!(structs::PartitionedAccelerationStructureWriteInstanceDataNV, instance_contribution_to_hit_group_index), offset_of!(structs::PartitionedAccelerationStructureWriteInstanceDataNV, instance_flags), offset_of!(structs::PartitionedAccelerationStructureWriteInstanceDataNV, instance_index), offset_of!(structs::PartitionedAccelerationStructureWriteInstanceDataNV, partition_index), offset_of!(structs::PartitionedAccelerationStructureWriteInstanceDataNV, acceleration_structure)); - println!("PartitionedAccelerationStructureUpdateInstanceDataNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PartitionedAccelerationStructureUpdateInstanceDataNV, instance_index), offset_of!(structs::PartitionedAccelerationStructureUpdateInstanceDataNV, instance_contribution_to_hit_group_index), offset_of!(structs::PartitionedAccelerationStructureUpdateInstanceDataNV, acceleration_structure)); - println!("PartitionedAccelerationStructureWritePartitionTranslationDataNV {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PartitionedAccelerationStructureWritePartitionTranslationDataNV, partition_index), offset_of!(structs::PartitionedAccelerationStructureWritePartitionTranslationDataNV, partition_translation)); - println!("WriteDescriptorSetPartitionedAccelerationStructureNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::WriteDescriptorSetPartitionedAccelerationStructureNV, s_type), offset_of!(structs::WriteDescriptorSetPartitionedAccelerationStructureNV, p_next), offset_of!(structs::WriteDescriptorSetPartitionedAccelerationStructureNV, acceleration_structure_count), offset_of!(structs::WriteDescriptorSetPartitionedAccelerationStructureNV, p_acceleration_structures)); - println!("PartitionedAccelerationStructureInstancesInputNV {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PartitionedAccelerationStructureInstancesInputNV, s_type), offset_of!(structs::PartitionedAccelerationStructureInstancesInputNV, p_next), offset_of!(structs::PartitionedAccelerationStructureInstancesInputNV, flags), offset_of!(structs::PartitionedAccelerationStructureInstancesInputNV, instance_count), offset_of!(structs::PartitionedAccelerationStructureInstancesInputNV, max_instance_per_partition_count), offset_of!(structs::PartitionedAccelerationStructureInstancesInputNV, partition_count), offset_of!(structs::PartitionedAccelerationStructureInstancesInputNV, max_instance_in_global_partition_count)); - println!("BuildPartitionedAccelerationStructureInfoNV {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BuildPartitionedAccelerationStructureInfoNV, s_type), offset_of!(structs::BuildPartitionedAccelerationStructureInfoNV, p_next), offset_of!(structs::BuildPartitionedAccelerationStructureInfoNV, input), offset_of!(structs::BuildPartitionedAccelerationStructureInfoNV, src_acceleration_structure_data), offset_of!(structs::BuildPartitionedAccelerationStructureInfoNV, dst_acceleration_structure_data), offset_of!(structs::BuildPartitionedAccelerationStructureInfoNV, scratch_data), offset_of!(structs::BuildPartitionedAccelerationStructureInfoNV, src_infos), offset_of!(structs::BuildPartitionedAccelerationStructureInfoNV, src_infos_count)); - println!("PhysicalDeviceDiagnosticsConfigFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceDiagnosticsConfigFeaturesNV, s_type), offset_of!(structs::PhysicalDeviceDiagnosticsConfigFeaturesNV, p_next), offset_of!(structs::PhysicalDeviceDiagnosticsConfigFeaturesNV, diagnostics_config)); - println!("DeviceDiagnosticsConfigCreateInfoNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DeviceDiagnosticsConfigCreateInfoNV, s_type), offset_of!(structs::DeviceDiagnosticsConfigCreateInfoNV, p_next), offset_of!(structs::DeviceDiagnosticsConfigCreateInfoNV, flags)); - println!("PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures, s_type), offset_of!(structs::PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures, p_next), offset_of!(structs::PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures, shader_zero_initialize_workgroup_memory)); - println!("PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR, s_type), offset_of!(structs::PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR, p_next), offset_of!(structs::PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR, shader_subgroup_uniform_control_flow)); - println!("PhysicalDeviceRobustness2FeaturesKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceRobustness2FeaturesKHR, s_type), offset_of!(structs::PhysicalDeviceRobustness2FeaturesKHR, p_next), offset_of!(structs::PhysicalDeviceRobustness2FeaturesKHR, robust_buffer_access2), offset_of!(structs::PhysicalDeviceRobustness2FeaturesKHR, robust_image_access2), offset_of!(structs::PhysicalDeviceRobustness2FeaturesKHR, null_descriptor)); - println!("PhysicalDeviceRobustness2PropertiesKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceRobustness2PropertiesKHR, s_type), offset_of!(structs::PhysicalDeviceRobustness2PropertiesKHR, p_next), offset_of!(structs::PhysicalDeviceRobustness2PropertiesKHR, robust_storage_buffer_access_size_alignment), offset_of!(structs::PhysicalDeviceRobustness2PropertiesKHR, robust_uniform_buffer_access_size_alignment)); - println!("PhysicalDeviceImageRobustnessFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceImageRobustnessFeatures, s_type), offset_of!(structs::PhysicalDeviceImageRobustnessFeatures, p_next), offset_of!(structs::PhysicalDeviceImageRobustnessFeatures, robust_image_access)); - println!("PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, s_type), offset_of!(structs::PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, p_next), offset_of!(structs::PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, workgroup_memory_explicit_layout), offset_of!(structs::PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, workgroup_memory_explicit_layout_scalar_block_layout), offset_of!(structs::PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, workgroup_memory_explicit_layout8_bit_access), offset_of!(structs::PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, workgroup_memory_explicit_layout16_bit_access)); - println!("PhysicalDevice4444FormatsFeaturesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDevice4444FormatsFeaturesEXT, s_type), offset_of!(structs::PhysicalDevice4444FormatsFeaturesEXT, p_next), offset_of!(structs::PhysicalDevice4444FormatsFeaturesEXT, format_a4r4g4b4), offset_of!(structs::PhysicalDevice4444FormatsFeaturesEXT, format_a4b4g4r4)); - println!("PhysicalDeviceSubpassShadingFeaturesHUAWEI {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceSubpassShadingFeaturesHUAWEI, s_type), offset_of!(structs::PhysicalDeviceSubpassShadingFeaturesHUAWEI, p_next), offset_of!(structs::PhysicalDeviceSubpassShadingFeaturesHUAWEI, subpass_shading)); - println!("PhysicalDeviceClusterCullingShaderFeaturesHUAWEI {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceClusterCullingShaderFeaturesHUAWEI, s_type), offset_of!(structs::PhysicalDeviceClusterCullingShaderFeaturesHUAWEI, p_next), offset_of!(structs::PhysicalDeviceClusterCullingShaderFeaturesHUAWEI, clusterculling_shader), offset_of!(structs::PhysicalDeviceClusterCullingShaderFeaturesHUAWEI, multiview_cluster_culling_shader)); - println!("PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI, s_type), offset_of!(structs::PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI, p_next), offset_of!(structs::PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI, cluster_shading_rate)); - println!("BufferCopy2 {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BufferCopy2, s_type), offset_of!(structs::BufferCopy2, p_next), offset_of!(structs::BufferCopy2, src_offset), offset_of!(structs::BufferCopy2, dst_offset), offset_of!(structs::BufferCopy2, size)); - println!("ImageCopy2 {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImageCopy2, s_type), offset_of!(structs::ImageCopy2, p_next), offset_of!(structs::ImageCopy2, src_subresource), offset_of!(structs::ImageCopy2, src_offset), offset_of!(structs::ImageCopy2, dst_subresource), offset_of!(structs::ImageCopy2, dst_offset), offset_of!(structs::ImageCopy2, extent)); - println!("ImageBlit2 {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImageBlit2, s_type), offset_of!(structs::ImageBlit2, p_next), offset_of!(structs::ImageBlit2, src_subresource), offset_of!(structs::ImageBlit2, src_offsets), offset_of!(structs::ImageBlit2, dst_subresource), offset_of!(structs::ImageBlit2, dst_offsets)); - println!("BufferImageCopy2 {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BufferImageCopy2, s_type), offset_of!(structs::BufferImageCopy2, p_next), offset_of!(structs::BufferImageCopy2, buffer_offset), offset_of!(structs::BufferImageCopy2, buffer_row_length), offset_of!(structs::BufferImageCopy2, buffer_image_height), offset_of!(structs::BufferImageCopy2, image_subresource), offset_of!(structs::BufferImageCopy2, image_offset), offset_of!(structs::BufferImageCopy2, image_extent)); - println!("ImageResolve2 {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImageResolve2, s_type), offset_of!(structs::ImageResolve2, p_next), offset_of!(structs::ImageResolve2, src_subresource), offset_of!(structs::ImageResolve2, src_offset), offset_of!(structs::ImageResolve2, dst_subresource), offset_of!(structs::ImageResolve2, dst_offset), offset_of!(structs::ImageResolve2, extent)); - println!("CopyBufferInfo2 {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CopyBufferInfo2, s_type), offset_of!(structs::CopyBufferInfo2, p_next), offset_of!(structs::CopyBufferInfo2, src_buffer), offset_of!(structs::CopyBufferInfo2, dst_buffer), offset_of!(structs::CopyBufferInfo2, region_count), offset_of!(structs::CopyBufferInfo2, p_regions)); - println!("CopyImageInfo2 {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CopyImageInfo2, s_type), offset_of!(structs::CopyImageInfo2, p_next), offset_of!(structs::CopyImageInfo2, src_image), offset_of!(structs::CopyImageInfo2, src_image_layout), offset_of!(structs::CopyImageInfo2, dst_image), offset_of!(structs::CopyImageInfo2, dst_image_layout), offset_of!(structs::CopyImageInfo2, region_count), offset_of!(structs::CopyImageInfo2, p_regions)); - println!("BlitImageInfo2 {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BlitImageInfo2, s_type), offset_of!(structs::BlitImageInfo2, p_next), offset_of!(structs::BlitImageInfo2, src_image), offset_of!(structs::BlitImageInfo2, src_image_layout), offset_of!(structs::BlitImageInfo2, dst_image), offset_of!(structs::BlitImageInfo2, dst_image_layout), offset_of!(structs::BlitImageInfo2, region_count), offset_of!(structs::BlitImageInfo2, p_regions), offset_of!(structs::BlitImageInfo2, filter)); - println!("CopyBufferToImageInfo2 {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CopyBufferToImageInfo2, s_type), offset_of!(structs::CopyBufferToImageInfo2, p_next), offset_of!(structs::CopyBufferToImageInfo2, src_buffer), offset_of!(structs::CopyBufferToImageInfo2, dst_image), offset_of!(structs::CopyBufferToImageInfo2, dst_image_layout), offset_of!(structs::CopyBufferToImageInfo2, region_count), offset_of!(structs::CopyBufferToImageInfo2, p_regions)); - println!("CopyImageToBufferInfo2 {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CopyImageToBufferInfo2, s_type), offset_of!(structs::CopyImageToBufferInfo2, p_next), offset_of!(structs::CopyImageToBufferInfo2, src_image), offset_of!(structs::CopyImageToBufferInfo2, src_image_layout), offset_of!(structs::CopyImageToBufferInfo2, dst_buffer), offset_of!(structs::CopyImageToBufferInfo2, region_count), offset_of!(structs::CopyImageToBufferInfo2, p_regions)); - println!("ResolveImageInfo2 {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ResolveImageInfo2, s_type), offset_of!(structs::ResolveImageInfo2, p_next), offset_of!(structs::ResolveImageInfo2, src_image), offset_of!(structs::ResolveImageInfo2, src_image_layout), offset_of!(structs::ResolveImageInfo2, dst_image), offset_of!(structs::ResolveImageInfo2, dst_image_layout), offset_of!(structs::ResolveImageInfo2, region_count), offset_of!(structs::ResolveImageInfo2, p_regions)); - println!("PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, shader_image_int64_atomics), offset_of!(structs::PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, sparse_image_int64_atomics)); - println!("FragmentShadingRateAttachmentInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::FragmentShadingRateAttachmentInfoKHR, s_type), offset_of!(structs::FragmentShadingRateAttachmentInfoKHR, p_next), offset_of!(structs::FragmentShadingRateAttachmentInfoKHR, p_fragment_shading_rate_attachment), offset_of!(structs::FragmentShadingRateAttachmentInfoKHR, shading_rate_attachment_texel_size)); - println!("PipelineFragmentShadingRateStateCreateInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineFragmentShadingRateStateCreateInfoKHR, s_type), offset_of!(structs::PipelineFragmentShadingRateStateCreateInfoKHR, p_next), offset_of!(structs::PipelineFragmentShadingRateStateCreateInfoKHR, fragment_size), offset_of!(structs::PipelineFragmentShadingRateStateCreateInfoKHR, combiner_ops)); - println!("PhysicalDeviceFragmentShadingRateFeaturesKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceFragmentShadingRateFeaturesKHR, s_type), offset_of!(structs::PhysicalDeviceFragmentShadingRateFeaturesKHR, p_next), offset_of!(structs::PhysicalDeviceFragmentShadingRateFeaturesKHR, pipeline_fragment_shading_rate), offset_of!(structs::PhysicalDeviceFragmentShadingRateFeaturesKHR, primitive_fragment_shading_rate), offset_of!(structs::PhysicalDeviceFragmentShadingRateFeaturesKHR, attachment_fragment_shading_rate)); - println!("PhysicalDeviceFragmentShadingRatePropertiesKHR {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceFragmentShadingRatePropertiesKHR, s_type), offset_of!(structs::PhysicalDeviceFragmentShadingRatePropertiesKHR, p_next), offset_of!(structs::PhysicalDeviceFragmentShadingRatePropertiesKHR, min_fragment_shading_rate_attachment_texel_size), offset_of!(structs::PhysicalDeviceFragmentShadingRatePropertiesKHR, max_fragment_shading_rate_attachment_texel_size), offset_of!(structs::PhysicalDeviceFragmentShadingRatePropertiesKHR, max_fragment_shading_rate_attachment_texel_size_aspect_ratio), offset_of!(structs::PhysicalDeviceFragmentShadingRatePropertiesKHR, primitive_fragment_shading_rate_with_multiple_viewports), offset_of!(structs::PhysicalDeviceFragmentShadingRatePropertiesKHR, layered_shading_rate_attachments), offset_of!(structs::PhysicalDeviceFragmentShadingRatePropertiesKHR, fragment_shading_rate_non_trivial_combiner_ops), offset_of!(structs::PhysicalDeviceFragmentShadingRatePropertiesKHR, max_fragment_size), offset_of!(structs::PhysicalDeviceFragmentShadingRatePropertiesKHR, max_fragment_size_aspect_ratio), offset_of!(structs::PhysicalDeviceFragmentShadingRatePropertiesKHR, max_fragment_shading_rate_coverage_samples), offset_of!(structs::PhysicalDeviceFragmentShadingRatePropertiesKHR, max_fragment_shading_rate_rasterization_samples), offset_of!(structs::PhysicalDeviceFragmentShadingRatePropertiesKHR, fragment_shading_rate_with_shader_depth_stencil_writes), offset_of!(structs::PhysicalDeviceFragmentShadingRatePropertiesKHR, fragment_shading_rate_with_sample_mask), offset_of!(structs::PhysicalDeviceFragmentShadingRatePropertiesKHR, fragment_shading_rate_with_shader_sample_mask), offset_of!(structs::PhysicalDeviceFragmentShadingRatePropertiesKHR, fragment_shading_rate_with_conservative_rasterization), offset_of!(structs::PhysicalDeviceFragmentShadingRatePropertiesKHR, fragment_shading_rate_with_fragment_shader_interlock), offset_of!(structs::PhysicalDeviceFragmentShadingRatePropertiesKHR, fragment_shading_rate_with_custom_sample_locations), offset_of!(structs::PhysicalDeviceFragmentShadingRatePropertiesKHR, fragment_shading_rate_strict_multiply_combiner)); - println!("PhysicalDeviceFragmentShadingRateKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceFragmentShadingRateKHR, s_type), offset_of!(structs::PhysicalDeviceFragmentShadingRateKHR, p_next), offset_of!(structs::PhysicalDeviceFragmentShadingRateKHR, sample_counts), offset_of!(structs::PhysicalDeviceFragmentShadingRateKHR, fragment_size)); - println!("PhysicalDeviceShaderTerminateInvocationFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderTerminateInvocationFeatures, s_type), offset_of!(structs::PhysicalDeviceShaderTerminateInvocationFeatures, p_next), offset_of!(structs::PhysicalDeviceShaderTerminateInvocationFeatures, shader_terminate_invocation)); - println!("PhysicalDeviceFragmentShadingRateEnumsFeaturesNV {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, s_type), offset_of!(structs::PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, p_next), offset_of!(structs::PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, fragment_shading_rate_enums), offset_of!(structs::PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, supersample_fragment_shading_rates), offset_of!(structs::PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, no_invocation_fragment_shading_rates)); - println!("PhysicalDeviceFragmentShadingRateEnumsPropertiesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, s_type), offset_of!(structs::PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, p_next), offset_of!(structs::PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, max_fragment_shading_rate_invocation_count)); - println!("PipelineFragmentShadingRateEnumStateCreateInfoNV {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineFragmentShadingRateEnumStateCreateInfoNV, s_type), offset_of!(structs::PipelineFragmentShadingRateEnumStateCreateInfoNV, p_next), offset_of!(structs::PipelineFragmentShadingRateEnumStateCreateInfoNV, shading_rate_type), offset_of!(structs::PipelineFragmentShadingRateEnumStateCreateInfoNV, shading_rate), offset_of!(structs::PipelineFragmentShadingRateEnumStateCreateInfoNV, combiner_ops)); - println!("AccelerationStructureBuildSizesInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::AccelerationStructureBuildSizesInfoKHR, s_type), offset_of!(structs::AccelerationStructureBuildSizesInfoKHR, p_next), offset_of!(structs::AccelerationStructureBuildSizesInfoKHR, acceleration_structure_size), offset_of!(structs::AccelerationStructureBuildSizesInfoKHR, update_scratch_size), offset_of!(structs::AccelerationStructureBuildSizesInfoKHR, build_scratch_size)); - println!("PhysicalDeviceImage2DViewOf3DFeaturesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceImage2DViewOf3DFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceImage2DViewOf3DFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceImage2DViewOf3DFeaturesEXT, image2_d_view_of3_d), offset_of!(structs::PhysicalDeviceImage2DViewOf3DFeaturesEXT, sampler2_d_view_of3_d)); - println!("PhysicalDeviceImageSlicedViewOf3DFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceImageSlicedViewOf3DFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceImageSlicedViewOf3DFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceImageSlicedViewOf3DFeaturesEXT, image_sliced_view_of3_d)); - println!("PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT, attachment_feedback_loop_dynamic_state)); - println!("PhysicalDeviceLegacyVertexAttributesFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceLegacyVertexAttributesFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceLegacyVertexAttributesFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceLegacyVertexAttributesFeaturesEXT, legacy_vertex_attributes)); - println!("PhysicalDeviceLegacyVertexAttributesPropertiesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceLegacyVertexAttributesPropertiesEXT, s_type), offset_of!(structs::PhysicalDeviceLegacyVertexAttributesPropertiesEXT, p_next), offset_of!(structs::PhysicalDeviceLegacyVertexAttributesPropertiesEXT, native_unaligned_performance)); - println!("PhysicalDeviceMutableDescriptorTypeFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceMutableDescriptorTypeFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceMutableDescriptorTypeFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceMutableDescriptorTypeFeaturesEXT, mutable_descriptor_type)); - println!("MutableDescriptorTypeListEXT {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::MutableDescriptorTypeListEXT, descriptor_type_count), offset_of!(structs::MutableDescriptorTypeListEXT, p_descriptor_types)); - println!("MutableDescriptorTypeCreateInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::MutableDescriptorTypeCreateInfoEXT, s_type), offset_of!(structs::MutableDescriptorTypeCreateInfoEXT, p_next), offset_of!(structs::MutableDescriptorTypeCreateInfoEXT, mutable_descriptor_type_list_count), offset_of!(structs::MutableDescriptorTypeCreateInfoEXT, p_mutable_descriptor_type_lists)); - println!("PhysicalDeviceDepthClipControlFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceDepthClipControlFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceDepthClipControlFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceDepthClipControlFeaturesEXT, depth_clip_control)); - println!("PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT, zero_initialize_device_memory)); - println!("BeginCustomResolveInfoEXT {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BeginCustomResolveInfoEXT, s_type), offset_of!(structs::BeginCustomResolveInfoEXT, p_next)); - println!("PhysicalDeviceCustomResolveFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceCustomResolveFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceCustomResolveFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceCustomResolveFeaturesEXT, custom_resolve)); - println!("CustomResolveCreateInfoEXT {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CustomResolveCreateInfoEXT, s_type), offset_of!(structs::CustomResolveCreateInfoEXT, p_next), offset_of!(structs::CustomResolveCreateInfoEXT, custom_resolve), offset_of!(structs::CustomResolveCreateInfoEXT, color_attachment_count), offset_of!(structs::CustomResolveCreateInfoEXT, p_color_attachment_formats), offset_of!(structs::CustomResolveCreateInfoEXT, depth_attachment_format), offset_of!(structs::CustomResolveCreateInfoEXT, stencil_attachment_format)); - println!("PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT, device_generated_commands), offset_of!(structs::PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT, dynamic_generated_pipeline_layout)); - println!("PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT, s_type), offset_of!(structs::PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT, p_next), offset_of!(structs::PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT, max_indirect_pipeline_count), offset_of!(structs::PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT, max_indirect_shader_object_count), offset_of!(structs::PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT, max_indirect_sequence_count), offset_of!(structs::PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT, max_indirect_commands_token_count), offset_of!(structs::PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT, max_indirect_commands_token_offset), offset_of!(structs::PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT, max_indirect_commands_indirect_stride), offset_of!(structs::PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT, supported_indirect_commands_input_modes), offset_of!(structs::PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT, supported_indirect_commands_shader_stages), offset_of!(structs::PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT, supported_indirect_commands_shader_stages_pipeline_binding), offset_of!(structs::PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT, supported_indirect_commands_shader_stages_shader_binding), offset_of!(structs::PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT, device_generated_commands_transform_feedback), offset_of!(structs::PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT, device_generated_commands_multi_draw_indirect_count)); - println!("GeneratedCommandsPipelineInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::GeneratedCommandsPipelineInfoEXT, s_type), offset_of!(structs::GeneratedCommandsPipelineInfoEXT, p_next), offset_of!(structs::GeneratedCommandsPipelineInfoEXT, pipeline)); - println!("GeneratedCommandsShaderInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::GeneratedCommandsShaderInfoEXT, s_type), offset_of!(structs::GeneratedCommandsShaderInfoEXT, p_next), offset_of!(structs::GeneratedCommandsShaderInfoEXT, shader_count), offset_of!(structs::GeneratedCommandsShaderInfoEXT, p_shaders)); - println!("GeneratedCommandsMemoryRequirementsInfoEXT {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::GeneratedCommandsMemoryRequirementsInfoEXT, s_type), offset_of!(structs::GeneratedCommandsMemoryRequirementsInfoEXT, p_next), offset_of!(structs::GeneratedCommandsMemoryRequirementsInfoEXT, indirect_execution_set), offset_of!(structs::GeneratedCommandsMemoryRequirementsInfoEXT, indirect_commands_layout), offset_of!(structs::GeneratedCommandsMemoryRequirementsInfoEXT, max_sequence_count), offset_of!(structs::GeneratedCommandsMemoryRequirementsInfoEXT, max_draw_count)); - println!("IndirectExecutionSetPipelineInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::IndirectExecutionSetPipelineInfoEXT, s_type), offset_of!(structs::IndirectExecutionSetPipelineInfoEXT, p_next), offset_of!(structs::IndirectExecutionSetPipelineInfoEXT, initial_pipeline), offset_of!(structs::IndirectExecutionSetPipelineInfoEXT, max_pipeline_count)); - println!("IndirectExecutionSetShaderLayoutInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::IndirectExecutionSetShaderLayoutInfoEXT, s_type), offset_of!(structs::IndirectExecutionSetShaderLayoutInfoEXT, p_next), offset_of!(structs::IndirectExecutionSetShaderLayoutInfoEXT, set_layout_count), offset_of!(structs::IndirectExecutionSetShaderLayoutInfoEXT, p_set_layouts)); - println!("IndirectExecutionSetShaderInfoEXT {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::IndirectExecutionSetShaderInfoEXT, s_type), offset_of!(structs::IndirectExecutionSetShaderInfoEXT, p_next), offset_of!(structs::IndirectExecutionSetShaderInfoEXT, shader_count), offset_of!(structs::IndirectExecutionSetShaderInfoEXT, p_initial_shaders), offset_of!(structs::IndirectExecutionSetShaderInfoEXT, p_set_layout_infos), offset_of!(structs::IndirectExecutionSetShaderInfoEXT, max_shader_count), offset_of!(structs::IndirectExecutionSetShaderInfoEXT, push_constant_range_count), offset_of!(structs::IndirectExecutionSetShaderInfoEXT, p_push_constant_ranges)); - println!("IndirectExecutionSetInfoEXT {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::IndirectExecutionSetInfoEXT, p_pipeline_info), offset_of!(structs::IndirectExecutionSetInfoEXT, p_shader_info)); - println!("IndirectExecutionSetCreateInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::IndirectExecutionSetCreateInfoEXT, s_type), offset_of!(structs::IndirectExecutionSetCreateInfoEXT, p_next), offset_of!(structs::IndirectExecutionSetCreateInfoEXT, info)); - println!("GeneratedCommandsInfoEXT {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::GeneratedCommandsInfoEXT, s_type), offset_of!(structs::GeneratedCommandsInfoEXT, p_next), offset_of!(structs::GeneratedCommandsInfoEXT, shader_stages), offset_of!(structs::GeneratedCommandsInfoEXT, indirect_execution_set), offset_of!(structs::GeneratedCommandsInfoEXT, indirect_commands_layout), offset_of!(structs::GeneratedCommandsInfoEXT, indirect_address), offset_of!(structs::GeneratedCommandsInfoEXT, indirect_address_size), offset_of!(structs::GeneratedCommandsInfoEXT, preprocess_address), offset_of!(structs::GeneratedCommandsInfoEXT, preprocess_size), offset_of!(structs::GeneratedCommandsInfoEXT, max_sequence_count), offset_of!(structs::GeneratedCommandsInfoEXT, sequence_count_address), offset_of!(structs::GeneratedCommandsInfoEXT, max_draw_count)); - println!("WriteIndirectExecutionSetPipelineEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::WriteIndirectExecutionSetPipelineEXT, s_type), offset_of!(structs::WriteIndirectExecutionSetPipelineEXT, p_next), offset_of!(structs::WriteIndirectExecutionSetPipelineEXT, index), offset_of!(structs::WriteIndirectExecutionSetPipelineEXT, pipeline)); - println!("WriteIndirectExecutionSetShaderEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::WriteIndirectExecutionSetShaderEXT, s_type), offset_of!(structs::WriteIndirectExecutionSetShaderEXT, p_next), offset_of!(structs::WriteIndirectExecutionSetShaderEXT, index), offset_of!(structs::WriteIndirectExecutionSetShaderEXT, shader)); - println!("IndirectCommandsLayoutCreateInfoEXT {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::IndirectCommandsLayoutCreateInfoEXT, s_type), offset_of!(structs::IndirectCommandsLayoutCreateInfoEXT, p_next), offset_of!(structs::IndirectCommandsLayoutCreateInfoEXT, flags), offset_of!(structs::IndirectCommandsLayoutCreateInfoEXT, shader_stages), offset_of!(structs::IndirectCommandsLayoutCreateInfoEXT, indirect_stride), offset_of!(structs::IndirectCommandsLayoutCreateInfoEXT, pipeline_layout), offset_of!(structs::IndirectCommandsLayoutCreateInfoEXT, token_count), offset_of!(structs::IndirectCommandsLayoutCreateInfoEXT, p_tokens)); - println!("IndirectCommandsLayoutTokenEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::IndirectCommandsLayoutTokenEXT, s_type), offset_of!(structs::IndirectCommandsLayoutTokenEXT, p_next), offset_of!(structs::IndirectCommandsLayoutTokenEXT, data), offset_of!(structs::IndirectCommandsLayoutTokenEXT, offset)); - println!("DrawIndirectCountIndirectCommandEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DrawIndirectCountIndirectCommandEXT, buffer_address), offset_of!(structs::DrawIndirectCountIndirectCommandEXT, stride), offset_of!(structs::DrawIndirectCountIndirectCommandEXT, command_count)); - println!("IndirectCommandsVertexBufferTokenEXT {} {} {}", size_of::(), align_of::(), offset_of!(structs::IndirectCommandsVertexBufferTokenEXT, vertex_binding_unit)); - println!("BindVertexBufferIndirectCommandEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BindVertexBufferIndirectCommandEXT, buffer_address), offset_of!(structs::BindVertexBufferIndirectCommandEXT, size), offset_of!(structs::BindVertexBufferIndirectCommandEXT, stride)); - println!("IndirectCommandsIndexBufferTokenEXT {} {} {}", size_of::(), align_of::(), offset_of!(structs::IndirectCommandsIndexBufferTokenEXT, mode)); - println!("BindIndexBufferIndirectCommandEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BindIndexBufferIndirectCommandEXT, buffer_address), offset_of!(structs::BindIndexBufferIndirectCommandEXT, size), offset_of!(structs::BindIndexBufferIndirectCommandEXT, index_type)); - println!("IndirectCommandsPushConstantTokenEXT {} {} {}", size_of::(), align_of::(), offset_of!(structs::IndirectCommandsPushConstantTokenEXT, update_range)); - println!("IndirectCommandsExecutionSetTokenEXT {} {} {}", size_of::(), align_of::(), offset_of!(structs::IndirectCommandsExecutionSetTokenEXT, shader_stages)); - println!("IndirectCommandsTokenDataEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::IndirectCommandsTokenDataEXT, p_push_constant), offset_of!(structs::IndirectCommandsTokenDataEXT, p_vertex_buffer), offset_of!(structs::IndirectCommandsTokenDataEXT, p_index_buffer), offset_of!(structs::IndirectCommandsTokenDataEXT, p_execution_set)); - println!("PipelineViewportDepthClipControlCreateInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineViewportDepthClipControlCreateInfoEXT, s_type), offset_of!(structs::PipelineViewportDepthClipControlCreateInfoEXT, p_next), offset_of!(structs::PipelineViewportDepthClipControlCreateInfoEXT, negative_one_to_one)); - println!("PhysicalDeviceDepthClampControlFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceDepthClampControlFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceDepthClampControlFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceDepthClampControlFeaturesEXT, depth_clamp_control)); - println!("PipelineViewportDepthClampControlCreateInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineViewportDepthClampControlCreateInfoEXT, s_type), offset_of!(structs::PipelineViewportDepthClampControlCreateInfoEXT, p_next), offset_of!(structs::PipelineViewportDepthClampControlCreateInfoEXT, depth_clamp_mode), offset_of!(structs::PipelineViewportDepthClampControlCreateInfoEXT, p_depth_clamp_range)); - println!("PhysicalDeviceVertexInputDynamicStateFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceVertexInputDynamicStateFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceVertexInputDynamicStateFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceVertexInputDynamicStateFeaturesEXT, vertex_input_dynamic_state)); - println!("PhysicalDeviceExternalMemoryRDMAFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceExternalMemoryRDMAFeaturesNV, s_type), offset_of!(structs::PhysicalDeviceExternalMemoryRDMAFeaturesNV, p_next), offset_of!(structs::PhysicalDeviceExternalMemoryRDMAFeaturesNV, external_memory_rdma)); - println!("PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR, s_type), offset_of!(structs::PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR, p_next), offset_of!(structs::PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR, shader_relaxed_extended_instruction)); - println!("VertexInputBindingDescription2EXT {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VertexInputBindingDescription2EXT, s_type), offset_of!(structs::VertexInputBindingDescription2EXT, p_next), offset_of!(structs::VertexInputBindingDescription2EXT, binding), offset_of!(structs::VertexInputBindingDescription2EXT, stride), offset_of!(structs::VertexInputBindingDescription2EXT, input_rate), offset_of!(structs::VertexInputBindingDescription2EXT, divisor)); - println!("VertexInputAttributeDescription2EXT {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VertexInputAttributeDescription2EXT, s_type), offset_of!(structs::VertexInputAttributeDescription2EXT, p_next), offset_of!(structs::VertexInputAttributeDescription2EXT, location), offset_of!(structs::VertexInputAttributeDescription2EXT, binding), offset_of!(structs::VertexInputAttributeDescription2EXT, format), offset_of!(structs::VertexInputAttributeDescription2EXT, offset)); - println!("PhysicalDeviceColorWriteEnableFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceColorWriteEnableFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceColorWriteEnableFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceColorWriteEnableFeaturesEXT, color_write_enable)); - println!("PipelineColorWriteCreateInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineColorWriteCreateInfoEXT, s_type), offset_of!(structs::PipelineColorWriteCreateInfoEXT, p_next), offset_of!(structs::PipelineColorWriteCreateInfoEXT, attachment_count), offset_of!(structs::PipelineColorWriteCreateInfoEXT, p_color_write_enables)); - println!("MemoryBarrier2 {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::MemoryBarrier2, s_type), offset_of!(structs::MemoryBarrier2, p_next), offset_of!(structs::MemoryBarrier2, src_stage_mask), offset_of!(structs::MemoryBarrier2, src_access_mask), offset_of!(structs::MemoryBarrier2, dst_stage_mask), offset_of!(structs::MemoryBarrier2, dst_access_mask)); - println!("ImageMemoryBarrier2 {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImageMemoryBarrier2, s_type), offset_of!(structs::ImageMemoryBarrier2, p_next), offset_of!(structs::ImageMemoryBarrier2, src_stage_mask), offset_of!(structs::ImageMemoryBarrier2, src_access_mask), offset_of!(structs::ImageMemoryBarrier2, dst_stage_mask), offset_of!(structs::ImageMemoryBarrier2, dst_access_mask), offset_of!(structs::ImageMemoryBarrier2, old_layout), offset_of!(structs::ImageMemoryBarrier2, new_layout), offset_of!(structs::ImageMemoryBarrier2, src_queue_family_index), offset_of!(structs::ImageMemoryBarrier2, dst_queue_family_index), offset_of!(structs::ImageMemoryBarrier2, image), offset_of!(structs::ImageMemoryBarrier2, subresource_range)); - println!("BufferMemoryBarrier2 {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BufferMemoryBarrier2, s_type), offset_of!(structs::BufferMemoryBarrier2, p_next), offset_of!(structs::BufferMemoryBarrier2, src_stage_mask), offset_of!(structs::BufferMemoryBarrier2, src_access_mask), offset_of!(structs::BufferMemoryBarrier2, dst_stage_mask), offset_of!(structs::BufferMemoryBarrier2, dst_access_mask), offset_of!(structs::BufferMemoryBarrier2, src_queue_family_index), offset_of!(structs::BufferMemoryBarrier2, dst_queue_family_index), offset_of!(structs::BufferMemoryBarrier2, buffer), offset_of!(structs::BufferMemoryBarrier2, offset), offset_of!(structs::BufferMemoryBarrier2, size)); - println!("MemoryBarrierAccessFlags3KHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::MemoryBarrierAccessFlags3KHR, s_type), offset_of!(structs::MemoryBarrierAccessFlags3KHR, p_next), offset_of!(structs::MemoryBarrierAccessFlags3KHR, src_access_mask3), offset_of!(structs::MemoryBarrierAccessFlags3KHR, dst_access_mask3)); - println!("DependencyInfo {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DependencyInfo, s_type), offset_of!(structs::DependencyInfo, p_next), offset_of!(structs::DependencyInfo, dependency_flags), offset_of!(structs::DependencyInfo, memory_barrier_count), offset_of!(structs::DependencyInfo, p_memory_barriers), offset_of!(structs::DependencyInfo, buffer_memory_barrier_count), offset_of!(structs::DependencyInfo, p_buffer_memory_barriers), offset_of!(structs::DependencyInfo, image_memory_barrier_count), offset_of!(structs::DependencyInfo, p_image_memory_barriers)); - println!("SemaphoreSubmitInfo {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SemaphoreSubmitInfo, s_type), offset_of!(structs::SemaphoreSubmitInfo, p_next), offset_of!(structs::SemaphoreSubmitInfo, semaphore), offset_of!(structs::SemaphoreSubmitInfo, value), offset_of!(structs::SemaphoreSubmitInfo, stage_mask), offset_of!(structs::SemaphoreSubmitInfo, device_index)); - println!("CommandBufferSubmitInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CommandBufferSubmitInfo, s_type), offset_of!(structs::CommandBufferSubmitInfo, p_next), offset_of!(structs::CommandBufferSubmitInfo, command_buffer), offset_of!(structs::CommandBufferSubmitInfo, device_mask)); - println!("SubmitInfo2 {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SubmitInfo2, s_type), offset_of!(structs::SubmitInfo2, p_next), offset_of!(structs::SubmitInfo2, flags), offset_of!(structs::SubmitInfo2, wait_semaphore_info_count), offset_of!(structs::SubmitInfo2, p_wait_semaphore_infos), offset_of!(structs::SubmitInfo2, command_buffer_info_count), offset_of!(structs::SubmitInfo2, p_command_buffer_infos), offset_of!(structs::SubmitInfo2, signal_semaphore_info_count), offset_of!(structs::SubmitInfo2, p_signal_semaphore_infos)); - println!("QueueFamilyCheckpointProperties2NV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::QueueFamilyCheckpointProperties2NV, s_type), offset_of!(structs::QueueFamilyCheckpointProperties2NV, p_next), offset_of!(structs::QueueFamilyCheckpointProperties2NV, checkpoint_execution_stage_mask)); - println!("CheckpointData2NV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CheckpointData2NV, s_type), offset_of!(structs::CheckpointData2NV, p_next), offset_of!(structs::CheckpointData2NV, stage), offset_of!(structs::CheckpointData2NV, p_checkpoint_marker)); - println!("PhysicalDeviceSynchronization2Features {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceSynchronization2Features, s_type), offset_of!(structs::PhysicalDeviceSynchronization2Features, p_next), offset_of!(structs::PhysicalDeviceSynchronization2Features, synchronization2)); - println!("PhysicalDeviceUnifiedImageLayoutsFeaturesKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceUnifiedImageLayoutsFeaturesKHR, s_type), offset_of!(structs::PhysicalDeviceUnifiedImageLayoutsFeaturesKHR, p_next), offset_of!(structs::PhysicalDeviceUnifiedImageLayoutsFeaturesKHR, unified_image_layouts), offset_of!(structs::PhysicalDeviceUnifiedImageLayoutsFeaturesKHR, unified_image_layouts_video)); - println!("PhysicalDeviceHostImageCopyFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceHostImageCopyFeatures, s_type), offset_of!(structs::PhysicalDeviceHostImageCopyFeatures, p_next), offset_of!(structs::PhysicalDeviceHostImageCopyFeatures, host_image_copy)); - println!("PhysicalDeviceHostImageCopyProperties {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceHostImageCopyProperties, s_type), offset_of!(structs::PhysicalDeviceHostImageCopyProperties, p_next), offset_of!(structs::PhysicalDeviceHostImageCopyProperties, copy_src_layout_count), offset_of!(structs::PhysicalDeviceHostImageCopyProperties, p_copy_src_layouts), offset_of!(structs::PhysicalDeviceHostImageCopyProperties, copy_dst_layout_count), offset_of!(structs::PhysicalDeviceHostImageCopyProperties, p_copy_dst_layouts), offset_of!(structs::PhysicalDeviceHostImageCopyProperties, optimal_tiling_layout_uuid), offset_of!(structs::PhysicalDeviceHostImageCopyProperties, identical_memory_type_requirements)); - println!("MemoryToImageCopy {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::MemoryToImageCopy, s_type), offset_of!(structs::MemoryToImageCopy, p_next), offset_of!(structs::MemoryToImageCopy, p_host_pointer), offset_of!(structs::MemoryToImageCopy, memory_row_length), offset_of!(structs::MemoryToImageCopy, memory_image_height), offset_of!(structs::MemoryToImageCopy, image_subresource), offset_of!(structs::MemoryToImageCopy, image_offset), offset_of!(structs::MemoryToImageCopy, image_extent)); - println!("ImageToMemoryCopy {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImageToMemoryCopy, s_type), offset_of!(structs::ImageToMemoryCopy, p_next), offset_of!(structs::ImageToMemoryCopy, p_host_pointer), offset_of!(structs::ImageToMemoryCopy, memory_row_length), offset_of!(structs::ImageToMemoryCopy, memory_image_height), offset_of!(structs::ImageToMemoryCopy, image_subresource), offset_of!(structs::ImageToMemoryCopy, image_offset), offset_of!(structs::ImageToMemoryCopy, image_extent)); - println!("CopyMemoryToImageInfo {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CopyMemoryToImageInfo, s_type), offset_of!(structs::CopyMemoryToImageInfo, p_next), offset_of!(structs::CopyMemoryToImageInfo, flags), offset_of!(structs::CopyMemoryToImageInfo, dst_image), offset_of!(structs::CopyMemoryToImageInfo, dst_image_layout), offset_of!(structs::CopyMemoryToImageInfo, region_count), offset_of!(structs::CopyMemoryToImageInfo, p_regions)); - println!("CopyImageToMemoryInfo {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CopyImageToMemoryInfo, s_type), offset_of!(structs::CopyImageToMemoryInfo, p_next), offset_of!(structs::CopyImageToMemoryInfo, flags), offset_of!(structs::CopyImageToMemoryInfo, src_image), offset_of!(structs::CopyImageToMemoryInfo, src_image_layout), offset_of!(structs::CopyImageToMemoryInfo, region_count), offset_of!(structs::CopyImageToMemoryInfo, p_regions)); - println!("CopyImageToImageInfo {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CopyImageToImageInfo, s_type), offset_of!(structs::CopyImageToImageInfo, p_next), offset_of!(structs::CopyImageToImageInfo, flags), offset_of!(structs::CopyImageToImageInfo, src_image), offset_of!(structs::CopyImageToImageInfo, src_image_layout), offset_of!(structs::CopyImageToImageInfo, dst_image), offset_of!(structs::CopyImageToImageInfo, dst_image_layout), offset_of!(structs::CopyImageToImageInfo, region_count), offset_of!(structs::CopyImageToImageInfo, p_regions)); - println!("HostImageLayoutTransitionInfo {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::HostImageLayoutTransitionInfo, s_type), offset_of!(structs::HostImageLayoutTransitionInfo, p_next), offset_of!(structs::HostImageLayoutTransitionInfo, image), offset_of!(structs::HostImageLayoutTransitionInfo, old_layout), offset_of!(structs::HostImageLayoutTransitionInfo, new_layout), offset_of!(structs::HostImageLayoutTransitionInfo, subresource_range)); - println!("SubresourceHostMemcpySize {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SubresourceHostMemcpySize, s_type), offset_of!(structs::SubresourceHostMemcpySize, p_next), offset_of!(structs::SubresourceHostMemcpySize, size)); - println!("HostImageCopyDevicePerformanceQuery {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::HostImageCopyDevicePerformanceQuery, s_type), offset_of!(structs::HostImageCopyDevicePerformanceQuery, p_next), offset_of!(structs::HostImageCopyDevicePerformanceQuery, optimal_device_access), offset_of!(structs::HostImageCopyDevicePerformanceQuery, identical_memory_layout)); - println!("PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT, s_type), offset_of!(structs::PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT, p_next), offset_of!(structs::PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT, primitives_generated_query), offset_of!(structs::PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT, primitives_generated_query_with_rasterizer_discard), offset_of!(structs::PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT, primitives_generated_query_with_non_zero_streams)); - println!("PhysicalDeviceLegacyDitheringFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceLegacyDitheringFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceLegacyDitheringFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceLegacyDitheringFeaturesEXT, legacy_dithering)); - println!("PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT, multisampled_render_to_single_sampled)); - println!("SurfaceCapabilitiesPresentId2KHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SurfaceCapabilitiesPresentId2KHR, s_type), offset_of!(structs::SurfaceCapabilitiesPresentId2KHR, p_next), offset_of!(structs::SurfaceCapabilitiesPresentId2KHR, present_id2_supported)); - println!("SurfaceCapabilitiesPresentWait2KHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SurfaceCapabilitiesPresentWait2KHR, s_type), offset_of!(structs::SurfaceCapabilitiesPresentWait2KHR, p_next), offset_of!(structs::SurfaceCapabilitiesPresentWait2KHR, present_wait2_supported)); - println!("SubpassResolvePerformanceQueryEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SubpassResolvePerformanceQueryEXT, s_type), offset_of!(structs::SubpassResolvePerformanceQueryEXT, p_next), offset_of!(structs::SubpassResolvePerformanceQueryEXT, optimal)); - println!("MultisampledRenderToSingleSampledInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::MultisampledRenderToSingleSampledInfoEXT, s_type), offset_of!(structs::MultisampledRenderToSingleSampledInfoEXT, p_next), offset_of!(structs::MultisampledRenderToSingleSampledInfoEXT, multisampled_render_to_single_sampled_enable), offset_of!(structs::MultisampledRenderToSingleSampledInfoEXT, rasterization_samples)); - println!("PhysicalDevicePipelineProtectedAccessFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDevicePipelineProtectedAccessFeatures, s_type), offset_of!(structs::PhysicalDevicePipelineProtectedAccessFeatures, p_next), offset_of!(structs::PhysicalDevicePipelineProtectedAccessFeatures, pipeline_protected_access)); - println!("QueueFamilyVideoPropertiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::QueueFamilyVideoPropertiesKHR, s_type), offset_of!(structs::QueueFamilyVideoPropertiesKHR, p_next), offset_of!(structs::QueueFamilyVideoPropertiesKHR, video_codec_operations)); - println!("QueueFamilyQueryResultStatusPropertiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::QueueFamilyQueryResultStatusPropertiesKHR, s_type), offset_of!(structs::QueueFamilyQueryResultStatusPropertiesKHR, p_next), offset_of!(structs::QueueFamilyQueryResultStatusPropertiesKHR, query_result_status_support)); - println!("VideoProfileListInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoProfileListInfoKHR, s_type), offset_of!(structs::VideoProfileListInfoKHR, p_next), offset_of!(structs::VideoProfileListInfoKHR, profile_count), offset_of!(structs::VideoProfileListInfoKHR, p_profiles)); - println!("PhysicalDeviceVideoFormatInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceVideoFormatInfoKHR, s_type), offset_of!(structs::PhysicalDeviceVideoFormatInfoKHR, p_next), offset_of!(structs::PhysicalDeviceVideoFormatInfoKHR, image_usage)); - println!("VideoFormatPropertiesKHR {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoFormatPropertiesKHR, s_type), offset_of!(structs::VideoFormatPropertiesKHR, p_next), offset_of!(structs::VideoFormatPropertiesKHR, format), offset_of!(structs::VideoFormatPropertiesKHR, component_mapping), offset_of!(structs::VideoFormatPropertiesKHR, image_create_flags), offset_of!(structs::VideoFormatPropertiesKHR, image_type), offset_of!(structs::VideoFormatPropertiesKHR, image_tiling), offset_of!(structs::VideoFormatPropertiesKHR, image_usage_flags)); - println!("VideoEncodeQuantizationMapCapabilitiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeQuantizationMapCapabilitiesKHR, s_type), offset_of!(structs::VideoEncodeQuantizationMapCapabilitiesKHR, p_next), offset_of!(structs::VideoEncodeQuantizationMapCapabilitiesKHR, max_quantization_map_extent)); - println!("VideoEncodeH264QuantizationMapCapabilitiesKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeH264QuantizationMapCapabilitiesKHR, s_type), offset_of!(structs::VideoEncodeH264QuantizationMapCapabilitiesKHR, p_next), offset_of!(structs::VideoEncodeH264QuantizationMapCapabilitiesKHR, min_qp_delta), offset_of!(structs::VideoEncodeH264QuantizationMapCapabilitiesKHR, max_qp_delta)); - println!("VideoEncodeH265QuantizationMapCapabilitiesKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeH265QuantizationMapCapabilitiesKHR, s_type), offset_of!(structs::VideoEncodeH265QuantizationMapCapabilitiesKHR, p_next), offset_of!(structs::VideoEncodeH265QuantizationMapCapabilitiesKHR, min_qp_delta), offset_of!(structs::VideoEncodeH265QuantizationMapCapabilitiesKHR, max_qp_delta)); - println!("VideoEncodeAV1QuantizationMapCapabilitiesKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeAV1QuantizationMapCapabilitiesKHR, s_type), offset_of!(structs::VideoEncodeAV1QuantizationMapCapabilitiesKHR, p_next), offset_of!(structs::VideoEncodeAV1QuantizationMapCapabilitiesKHR, min_q_index_delta), offset_of!(structs::VideoEncodeAV1QuantizationMapCapabilitiesKHR, max_q_index_delta)); - println!("VideoFormatQuantizationMapPropertiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoFormatQuantizationMapPropertiesKHR, s_type), offset_of!(structs::VideoFormatQuantizationMapPropertiesKHR, p_next), offset_of!(structs::VideoFormatQuantizationMapPropertiesKHR, quantization_map_texel_size)); - println!("VideoFormatH265QuantizationMapPropertiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoFormatH265QuantizationMapPropertiesKHR, s_type), offset_of!(structs::VideoFormatH265QuantizationMapPropertiesKHR, p_next), offset_of!(structs::VideoFormatH265QuantizationMapPropertiesKHR, compatible_ctb_sizes)); - println!("VideoFormatAV1QuantizationMapPropertiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoFormatAV1QuantizationMapPropertiesKHR, s_type), offset_of!(structs::VideoFormatAV1QuantizationMapPropertiesKHR, p_next), offset_of!(structs::VideoFormatAV1QuantizationMapPropertiesKHR, compatible_superblock_sizes)); - println!("VideoProfileInfoKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoProfileInfoKHR, s_type), offset_of!(structs::VideoProfileInfoKHR, p_next), offset_of!(structs::VideoProfileInfoKHR, video_codec_operation), offset_of!(structs::VideoProfileInfoKHR, chroma_subsampling), offset_of!(structs::VideoProfileInfoKHR, luma_bit_depth), offset_of!(structs::VideoProfileInfoKHR, chroma_bit_depth)); - println!("VideoCapabilitiesKHR {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoCapabilitiesKHR, s_type), offset_of!(structs::VideoCapabilitiesKHR, p_next), offset_of!(structs::VideoCapabilitiesKHR, flags), offset_of!(structs::VideoCapabilitiesKHR, min_bitstream_buffer_offset_alignment), offset_of!(structs::VideoCapabilitiesKHR, min_bitstream_buffer_size_alignment), offset_of!(structs::VideoCapabilitiesKHR, picture_access_granularity), offset_of!(structs::VideoCapabilitiesKHR, min_coded_extent), offset_of!(structs::VideoCapabilitiesKHR, max_coded_extent), offset_of!(structs::VideoCapabilitiesKHR, max_dpb_slots), offset_of!(structs::VideoCapabilitiesKHR, max_active_reference_pictures), offset_of!(structs::VideoCapabilitiesKHR, std_header_version)); - println!("VideoSessionMemoryRequirementsKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoSessionMemoryRequirementsKHR, s_type), offset_of!(structs::VideoSessionMemoryRequirementsKHR, p_next), offset_of!(structs::VideoSessionMemoryRequirementsKHR, memory_bind_index), offset_of!(structs::VideoSessionMemoryRequirementsKHR, memory_requirements)); - println!("BindVideoSessionMemoryInfoKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BindVideoSessionMemoryInfoKHR, s_type), offset_of!(structs::BindVideoSessionMemoryInfoKHR, p_next), offset_of!(structs::BindVideoSessionMemoryInfoKHR, memory_bind_index), offset_of!(structs::BindVideoSessionMemoryInfoKHR, memory), offset_of!(structs::BindVideoSessionMemoryInfoKHR, memory_offset), offset_of!(structs::BindVideoSessionMemoryInfoKHR, memory_size)); - println!("VideoPictureResourceInfoKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoPictureResourceInfoKHR, s_type), offset_of!(structs::VideoPictureResourceInfoKHR, p_next), offset_of!(structs::VideoPictureResourceInfoKHR, coded_offset), offset_of!(structs::VideoPictureResourceInfoKHR, coded_extent), offset_of!(structs::VideoPictureResourceInfoKHR, base_array_layer), offset_of!(structs::VideoPictureResourceInfoKHR, image_view_binding)); - println!("VideoReferenceSlotInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoReferenceSlotInfoKHR, s_type), offset_of!(structs::VideoReferenceSlotInfoKHR, p_next), offset_of!(structs::VideoReferenceSlotInfoKHR, slot_index), offset_of!(structs::VideoReferenceSlotInfoKHR, p_picture_resource)); - println!("VideoDecodeCapabilitiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoDecodeCapabilitiesKHR, s_type), offset_of!(structs::VideoDecodeCapabilitiesKHR, p_next), offset_of!(structs::VideoDecodeCapabilitiesKHR, flags)); - println!("VideoDecodeUsageInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoDecodeUsageInfoKHR, s_type), offset_of!(structs::VideoDecodeUsageInfoKHR, p_next), offset_of!(structs::VideoDecodeUsageInfoKHR, video_usage_hints)); - println!("VideoDecodeInfoKHR {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoDecodeInfoKHR, s_type), offset_of!(structs::VideoDecodeInfoKHR, p_next), offset_of!(structs::VideoDecodeInfoKHR, flags), offset_of!(structs::VideoDecodeInfoKHR, src_buffer), offset_of!(structs::VideoDecodeInfoKHR, src_buffer_offset), offset_of!(structs::VideoDecodeInfoKHR, src_buffer_range), offset_of!(structs::VideoDecodeInfoKHR, dst_picture_resource), offset_of!(structs::VideoDecodeInfoKHR, p_setup_reference_slot), offset_of!(structs::VideoDecodeInfoKHR, reference_slot_count), offset_of!(structs::VideoDecodeInfoKHR, p_reference_slots)); - println!("PhysicalDeviceVideoMaintenance1FeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceVideoMaintenance1FeaturesKHR, s_type), offset_of!(structs::PhysicalDeviceVideoMaintenance1FeaturesKHR, p_next), offset_of!(structs::PhysicalDeviceVideoMaintenance1FeaturesKHR, video_maintenance1)); - println!("PhysicalDeviceVideoMaintenance2FeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceVideoMaintenance2FeaturesKHR, s_type), offset_of!(structs::PhysicalDeviceVideoMaintenance2FeaturesKHR, p_next), offset_of!(structs::PhysicalDeviceVideoMaintenance2FeaturesKHR, video_maintenance2)); - println!("VideoInlineQueryInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoInlineQueryInfoKHR, s_type), offset_of!(structs::VideoInlineQueryInfoKHR, p_next), offset_of!(structs::VideoInlineQueryInfoKHR, query_pool), offset_of!(structs::VideoInlineQueryInfoKHR, first_query), offset_of!(structs::VideoInlineQueryInfoKHR, query_count)); - println!("VideoDecodeH264ProfileInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoDecodeH264ProfileInfoKHR, s_type), offset_of!(structs::VideoDecodeH264ProfileInfoKHR, p_next), offset_of!(structs::VideoDecodeH264ProfileInfoKHR, std_profile_idc), offset_of!(structs::VideoDecodeH264ProfileInfoKHR, picture_layout)); - println!("VideoDecodeH264CapabilitiesKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoDecodeH264CapabilitiesKHR, s_type), offset_of!(structs::VideoDecodeH264CapabilitiesKHR, p_next), offset_of!(structs::VideoDecodeH264CapabilitiesKHR, max_level_idc), offset_of!(structs::VideoDecodeH264CapabilitiesKHR, field_offset_granularity)); - println!("VideoDecodeH264SessionParametersAddInfoKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoDecodeH264SessionParametersAddInfoKHR, s_type), offset_of!(structs::VideoDecodeH264SessionParametersAddInfoKHR, p_next), offset_of!(structs::VideoDecodeH264SessionParametersAddInfoKHR, std_sps_count), offset_of!(structs::VideoDecodeH264SessionParametersAddInfoKHR, p_std_sp_ss), offset_of!(structs::VideoDecodeH264SessionParametersAddInfoKHR, std_pps_count), offset_of!(structs::VideoDecodeH264SessionParametersAddInfoKHR, p_std_pp_ss)); - println!("VideoDecodeH264SessionParametersCreateInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoDecodeH264SessionParametersCreateInfoKHR, s_type), offset_of!(structs::VideoDecodeH264SessionParametersCreateInfoKHR, p_next), offset_of!(structs::VideoDecodeH264SessionParametersCreateInfoKHR, max_std_sps_count), offset_of!(structs::VideoDecodeH264SessionParametersCreateInfoKHR, max_std_pps_count), offset_of!(structs::VideoDecodeH264SessionParametersCreateInfoKHR, p_parameters_add_info)); - println!("VideoDecodeH264InlineSessionParametersInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoDecodeH264InlineSessionParametersInfoKHR, s_type), offset_of!(structs::VideoDecodeH264InlineSessionParametersInfoKHR, p_next), offset_of!(structs::VideoDecodeH264InlineSessionParametersInfoKHR, p_std_sps), offset_of!(structs::VideoDecodeH264InlineSessionParametersInfoKHR, p_std_pps)); - println!("VideoDecodeH264PictureInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoDecodeH264PictureInfoKHR, s_type), offset_of!(structs::VideoDecodeH264PictureInfoKHR, p_next), offset_of!(structs::VideoDecodeH264PictureInfoKHR, p_std_picture_info), offset_of!(structs::VideoDecodeH264PictureInfoKHR, slice_count), offset_of!(structs::VideoDecodeH264PictureInfoKHR, p_slice_offsets)); - println!("VideoDecodeH264DpbSlotInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoDecodeH264DpbSlotInfoKHR, s_type), offset_of!(structs::VideoDecodeH264DpbSlotInfoKHR, p_next), offset_of!(structs::VideoDecodeH264DpbSlotInfoKHR, p_std_reference_info)); - println!("VideoDecodeH265ProfileInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoDecodeH265ProfileInfoKHR, s_type), offset_of!(structs::VideoDecodeH265ProfileInfoKHR, p_next), offset_of!(structs::VideoDecodeH265ProfileInfoKHR, std_profile_idc)); - println!("VideoDecodeH265CapabilitiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoDecodeH265CapabilitiesKHR, s_type), offset_of!(structs::VideoDecodeH265CapabilitiesKHR, p_next), offset_of!(structs::VideoDecodeH265CapabilitiesKHR, max_level_idc)); - println!("VideoDecodeH265SessionParametersAddInfoKHR {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoDecodeH265SessionParametersAddInfoKHR, s_type), offset_of!(structs::VideoDecodeH265SessionParametersAddInfoKHR, p_next), offset_of!(structs::VideoDecodeH265SessionParametersAddInfoKHR, std_vps_count), offset_of!(structs::VideoDecodeH265SessionParametersAddInfoKHR, p_std_vp_ss), offset_of!(structs::VideoDecodeH265SessionParametersAddInfoKHR, std_sps_count), offset_of!(structs::VideoDecodeH265SessionParametersAddInfoKHR, p_std_sp_ss), offset_of!(structs::VideoDecodeH265SessionParametersAddInfoKHR, std_pps_count), offset_of!(structs::VideoDecodeH265SessionParametersAddInfoKHR, p_std_pp_ss)); - println!("VideoDecodeH265SessionParametersCreateInfoKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoDecodeH265SessionParametersCreateInfoKHR, s_type), offset_of!(structs::VideoDecodeH265SessionParametersCreateInfoKHR, p_next), offset_of!(structs::VideoDecodeH265SessionParametersCreateInfoKHR, max_std_vps_count), offset_of!(structs::VideoDecodeH265SessionParametersCreateInfoKHR, max_std_sps_count), offset_of!(structs::VideoDecodeH265SessionParametersCreateInfoKHR, max_std_pps_count), offset_of!(structs::VideoDecodeH265SessionParametersCreateInfoKHR, p_parameters_add_info)); - println!("VideoDecodeH265InlineSessionParametersInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoDecodeH265InlineSessionParametersInfoKHR, s_type), offset_of!(structs::VideoDecodeH265InlineSessionParametersInfoKHR, p_next), offset_of!(structs::VideoDecodeH265InlineSessionParametersInfoKHR, p_std_vps), offset_of!(structs::VideoDecodeH265InlineSessionParametersInfoKHR, p_std_sps), offset_of!(structs::VideoDecodeH265InlineSessionParametersInfoKHR, p_std_pps)); - println!("VideoDecodeH265PictureInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoDecodeH265PictureInfoKHR, s_type), offset_of!(structs::VideoDecodeH265PictureInfoKHR, p_next), offset_of!(structs::VideoDecodeH265PictureInfoKHR, p_std_picture_info), offset_of!(structs::VideoDecodeH265PictureInfoKHR, slice_segment_count), offset_of!(structs::VideoDecodeH265PictureInfoKHR, p_slice_segment_offsets)); - println!("VideoDecodeH265DpbSlotInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoDecodeH265DpbSlotInfoKHR, s_type), offset_of!(structs::VideoDecodeH265DpbSlotInfoKHR, p_next), offset_of!(structs::VideoDecodeH265DpbSlotInfoKHR, p_std_reference_info)); - println!("PhysicalDeviceVideoDecodeVP9FeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceVideoDecodeVP9FeaturesKHR, s_type), offset_of!(structs::PhysicalDeviceVideoDecodeVP9FeaturesKHR, p_next), offset_of!(structs::PhysicalDeviceVideoDecodeVP9FeaturesKHR, video_decode_vp9)); - println!("VideoDecodeVP9ProfileInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoDecodeVP9ProfileInfoKHR, s_type), offset_of!(structs::VideoDecodeVP9ProfileInfoKHR, p_next), offset_of!(structs::VideoDecodeVP9ProfileInfoKHR, std_profile)); - println!("VideoDecodeVP9CapabilitiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoDecodeVP9CapabilitiesKHR, s_type), offset_of!(structs::VideoDecodeVP9CapabilitiesKHR, p_next), offset_of!(structs::VideoDecodeVP9CapabilitiesKHR, max_level)); - println!("VideoDecodeVP9PictureInfoKHR {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoDecodeVP9PictureInfoKHR, s_type), offset_of!(structs::VideoDecodeVP9PictureInfoKHR, p_next), offset_of!(structs::VideoDecodeVP9PictureInfoKHR, p_std_picture_info), offset_of!(structs::VideoDecodeVP9PictureInfoKHR, reference_name_slot_indices), offset_of!(structs::VideoDecodeVP9PictureInfoKHR, uncompressed_header_offset), offset_of!(structs::VideoDecodeVP9PictureInfoKHR, compressed_header_offset), offset_of!(structs::VideoDecodeVP9PictureInfoKHR, tiles_offset)); - println!("VideoDecodeAV1ProfileInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoDecodeAV1ProfileInfoKHR, s_type), offset_of!(structs::VideoDecodeAV1ProfileInfoKHR, p_next), offset_of!(structs::VideoDecodeAV1ProfileInfoKHR, std_profile), offset_of!(structs::VideoDecodeAV1ProfileInfoKHR, film_grain_support)); - println!("VideoDecodeAV1CapabilitiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoDecodeAV1CapabilitiesKHR, s_type), offset_of!(structs::VideoDecodeAV1CapabilitiesKHR, p_next), offset_of!(structs::VideoDecodeAV1CapabilitiesKHR, max_level)); - println!("VideoDecodeAV1SessionParametersCreateInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoDecodeAV1SessionParametersCreateInfoKHR, s_type), offset_of!(structs::VideoDecodeAV1SessionParametersCreateInfoKHR, p_next), offset_of!(structs::VideoDecodeAV1SessionParametersCreateInfoKHR, p_std_sequence_header)); - println!("VideoDecodeAV1InlineSessionParametersInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoDecodeAV1InlineSessionParametersInfoKHR, s_type), offset_of!(structs::VideoDecodeAV1InlineSessionParametersInfoKHR, p_next), offset_of!(structs::VideoDecodeAV1InlineSessionParametersInfoKHR, p_std_sequence_header)); - println!("VideoDecodeAV1PictureInfoKHR {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoDecodeAV1PictureInfoKHR, s_type), offset_of!(structs::VideoDecodeAV1PictureInfoKHR, p_next), offset_of!(structs::VideoDecodeAV1PictureInfoKHR, p_std_picture_info), offset_of!(structs::VideoDecodeAV1PictureInfoKHR, reference_name_slot_indices), offset_of!(structs::VideoDecodeAV1PictureInfoKHR, frame_header_offset), offset_of!(structs::VideoDecodeAV1PictureInfoKHR, tile_count), offset_of!(structs::VideoDecodeAV1PictureInfoKHR, p_tile_offsets), offset_of!(structs::VideoDecodeAV1PictureInfoKHR, p_tile_sizes)); - println!("VideoDecodeAV1DpbSlotInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoDecodeAV1DpbSlotInfoKHR, s_type), offset_of!(structs::VideoDecodeAV1DpbSlotInfoKHR, p_next), offset_of!(structs::VideoDecodeAV1DpbSlotInfoKHR, p_std_reference_info)); - println!("VideoSessionCreateInfoKHR {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoSessionCreateInfoKHR, s_type), offset_of!(structs::VideoSessionCreateInfoKHR, p_next), offset_of!(structs::VideoSessionCreateInfoKHR, queue_family_index), offset_of!(structs::VideoSessionCreateInfoKHR, flags), offset_of!(structs::VideoSessionCreateInfoKHR, p_video_profile), offset_of!(structs::VideoSessionCreateInfoKHR, picture_format), offset_of!(structs::VideoSessionCreateInfoKHR, max_coded_extent), offset_of!(structs::VideoSessionCreateInfoKHR, reference_picture_format), offset_of!(structs::VideoSessionCreateInfoKHR, max_dpb_slots), offset_of!(structs::VideoSessionCreateInfoKHR, max_active_reference_pictures), offset_of!(structs::VideoSessionCreateInfoKHR, p_std_header_version)); - println!("VideoSessionParametersCreateInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoSessionParametersCreateInfoKHR, s_type), offset_of!(structs::VideoSessionParametersCreateInfoKHR, p_next), offset_of!(structs::VideoSessionParametersCreateInfoKHR, flags), offset_of!(structs::VideoSessionParametersCreateInfoKHR, video_session_parameters_template), offset_of!(structs::VideoSessionParametersCreateInfoKHR, video_session)); - println!("VideoSessionParametersUpdateInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoSessionParametersUpdateInfoKHR, s_type), offset_of!(structs::VideoSessionParametersUpdateInfoKHR, p_next), offset_of!(structs::VideoSessionParametersUpdateInfoKHR, update_sequence_count)); - println!("VideoEncodeSessionParametersGetInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeSessionParametersGetInfoKHR, s_type), offset_of!(structs::VideoEncodeSessionParametersGetInfoKHR, p_next), offset_of!(structs::VideoEncodeSessionParametersGetInfoKHR, video_session_parameters)); - println!("VideoEncodeSessionParametersFeedbackInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeSessionParametersFeedbackInfoKHR, s_type), offset_of!(structs::VideoEncodeSessionParametersFeedbackInfoKHR, p_next), offset_of!(structs::VideoEncodeSessionParametersFeedbackInfoKHR, has_overrides)); - println!("VideoBeginCodingInfoKHR {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoBeginCodingInfoKHR, s_type), offset_of!(structs::VideoBeginCodingInfoKHR, p_next), offset_of!(structs::VideoBeginCodingInfoKHR, flags), offset_of!(structs::VideoBeginCodingInfoKHR, video_session), offset_of!(structs::VideoBeginCodingInfoKHR, video_session_parameters), offset_of!(structs::VideoBeginCodingInfoKHR, reference_slot_count), offset_of!(structs::VideoBeginCodingInfoKHR, p_reference_slots)); - println!("VideoEndCodingInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEndCodingInfoKHR, s_type), offset_of!(structs::VideoEndCodingInfoKHR, p_next), offset_of!(structs::VideoEndCodingInfoKHR, flags)); - println!("VideoCodingControlInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoCodingControlInfoKHR, s_type), offset_of!(structs::VideoCodingControlInfoKHR, p_next), offset_of!(structs::VideoCodingControlInfoKHR, flags)); - println!("VideoEncodeUsageInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeUsageInfoKHR, s_type), offset_of!(structs::VideoEncodeUsageInfoKHR, p_next), offset_of!(structs::VideoEncodeUsageInfoKHR, video_usage_hints), offset_of!(structs::VideoEncodeUsageInfoKHR, video_content_hints), offset_of!(structs::VideoEncodeUsageInfoKHR, tuning_mode)); - println!("VideoEncodeInfoKHR {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeInfoKHR, s_type), offset_of!(structs::VideoEncodeInfoKHR, p_next), offset_of!(structs::VideoEncodeInfoKHR, flags), offset_of!(structs::VideoEncodeInfoKHR, dst_buffer), offset_of!(structs::VideoEncodeInfoKHR, dst_buffer_offset), offset_of!(structs::VideoEncodeInfoKHR, dst_buffer_range), offset_of!(structs::VideoEncodeInfoKHR, src_picture_resource), offset_of!(structs::VideoEncodeInfoKHR, p_setup_reference_slot), offset_of!(structs::VideoEncodeInfoKHR, reference_slot_count), offset_of!(structs::VideoEncodeInfoKHR, p_reference_slots), offset_of!(structs::VideoEncodeInfoKHR, preceding_externally_encoded_bytes)); - println!("VideoEncodeQuantizationMapInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeQuantizationMapInfoKHR, s_type), offset_of!(structs::VideoEncodeQuantizationMapInfoKHR, p_next), offset_of!(structs::VideoEncodeQuantizationMapInfoKHR, quantization_map), offset_of!(structs::VideoEncodeQuantizationMapInfoKHR, quantization_map_extent)); - println!("VideoEncodeQuantizationMapSessionParametersCreateInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeQuantizationMapSessionParametersCreateInfoKHR, s_type), offset_of!(structs::VideoEncodeQuantizationMapSessionParametersCreateInfoKHR, p_next), offset_of!(structs::VideoEncodeQuantizationMapSessionParametersCreateInfoKHR, quantization_map_texel_size)); - println!("PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR, s_type), offset_of!(structs::PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR, p_next), offset_of!(structs::PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR, video_encode_quantization_map)); - println!("QueryPoolVideoEncodeFeedbackCreateInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::QueryPoolVideoEncodeFeedbackCreateInfoKHR, s_type), offset_of!(structs::QueryPoolVideoEncodeFeedbackCreateInfoKHR, p_next), offset_of!(structs::QueryPoolVideoEncodeFeedbackCreateInfoKHR, encode_feedback_flags)); - println!("VideoEncodeQualityLevelInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeQualityLevelInfoKHR, s_type), offset_of!(structs::VideoEncodeQualityLevelInfoKHR, p_next), offset_of!(structs::VideoEncodeQualityLevelInfoKHR, quality_level)); - println!("PhysicalDeviceVideoEncodeQualityLevelInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceVideoEncodeQualityLevelInfoKHR, s_type), offset_of!(structs::PhysicalDeviceVideoEncodeQualityLevelInfoKHR, p_next), offset_of!(structs::PhysicalDeviceVideoEncodeQualityLevelInfoKHR, p_video_profile), offset_of!(structs::PhysicalDeviceVideoEncodeQualityLevelInfoKHR, quality_level)); - println!("VideoEncodeQualityLevelPropertiesKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeQualityLevelPropertiesKHR, s_type), offset_of!(structs::VideoEncodeQualityLevelPropertiesKHR, p_next), offset_of!(structs::VideoEncodeQualityLevelPropertiesKHR, preferred_rate_control_mode), offset_of!(structs::VideoEncodeQualityLevelPropertiesKHR, preferred_rate_control_layer_count)); - println!("VideoEncodeRateControlInfoKHR {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeRateControlInfoKHR, s_type), offset_of!(structs::VideoEncodeRateControlInfoKHR, p_next), offset_of!(structs::VideoEncodeRateControlInfoKHR, flags), offset_of!(structs::VideoEncodeRateControlInfoKHR, rate_control_mode), offset_of!(structs::VideoEncodeRateControlInfoKHR, layer_count), offset_of!(structs::VideoEncodeRateControlInfoKHR, p_layers), offset_of!(structs::VideoEncodeRateControlInfoKHR, virtual_buffer_size_in_ms), offset_of!(structs::VideoEncodeRateControlInfoKHR, initial_virtual_buffer_size_in_ms)); - println!("VideoEncodeRateControlLayerInfoKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeRateControlLayerInfoKHR, s_type), offset_of!(structs::VideoEncodeRateControlLayerInfoKHR, p_next), offset_of!(structs::VideoEncodeRateControlLayerInfoKHR, average_bitrate), offset_of!(structs::VideoEncodeRateControlLayerInfoKHR, max_bitrate), offset_of!(structs::VideoEncodeRateControlLayerInfoKHR, frame_rate_numerator), offset_of!(structs::VideoEncodeRateControlLayerInfoKHR, frame_rate_denominator)); - println!("VideoEncodeCapabilitiesKHR {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeCapabilitiesKHR, s_type), offset_of!(structs::VideoEncodeCapabilitiesKHR, p_next), offset_of!(structs::VideoEncodeCapabilitiesKHR, flags), offset_of!(structs::VideoEncodeCapabilitiesKHR, rate_control_modes), offset_of!(structs::VideoEncodeCapabilitiesKHR, max_rate_control_layers), offset_of!(structs::VideoEncodeCapabilitiesKHR, max_bitrate), offset_of!(structs::VideoEncodeCapabilitiesKHR, max_quality_levels), offset_of!(structs::VideoEncodeCapabilitiesKHR, encode_input_picture_granularity), offset_of!(structs::VideoEncodeCapabilitiesKHR, supported_encode_feedback_flags)); - println!("VideoEncodeH264CapabilitiesKHR {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeH264CapabilitiesKHR, s_type), offset_of!(structs::VideoEncodeH264CapabilitiesKHR, p_next), offset_of!(structs::VideoEncodeH264CapabilitiesKHR, flags), offset_of!(structs::VideoEncodeH264CapabilitiesKHR, max_level_idc), offset_of!(structs::VideoEncodeH264CapabilitiesKHR, max_slice_count), offset_of!(structs::VideoEncodeH264CapabilitiesKHR, max_p_picture_l0_reference_count), offset_of!(structs::VideoEncodeH264CapabilitiesKHR, max_b_picture_l0_reference_count), offset_of!(structs::VideoEncodeH264CapabilitiesKHR, max_l1_reference_count), offset_of!(structs::VideoEncodeH264CapabilitiesKHR, max_temporal_layer_count), offset_of!(structs::VideoEncodeH264CapabilitiesKHR, expect_dyadic_temporal_layer_pattern), offset_of!(structs::VideoEncodeH264CapabilitiesKHR, min_qp), offset_of!(structs::VideoEncodeH264CapabilitiesKHR, max_qp), offset_of!(structs::VideoEncodeH264CapabilitiesKHR, prefers_gop_remaining_frames), offset_of!(structs::VideoEncodeH264CapabilitiesKHR, requires_gop_remaining_frames), offset_of!(structs::VideoEncodeH264CapabilitiesKHR, std_syntax_flags)); - println!("VideoEncodeH264QualityLevelPropertiesKHR {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeH264QualityLevelPropertiesKHR, s_type), offset_of!(structs::VideoEncodeH264QualityLevelPropertiesKHR, p_next), offset_of!(structs::VideoEncodeH264QualityLevelPropertiesKHR, preferred_rate_control_flags), offset_of!(structs::VideoEncodeH264QualityLevelPropertiesKHR, preferred_gop_frame_count), offset_of!(structs::VideoEncodeH264QualityLevelPropertiesKHR, preferred_idr_period), offset_of!(structs::VideoEncodeH264QualityLevelPropertiesKHR, preferred_consecutive_b_frame_count), offset_of!(structs::VideoEncodeH264QualityLevelPropertiesKHR, preferred_temporal_layer_count), offset_of!(structs::VideoEncodeH264QualityLevelPropertiesKHR, preferred_constant_qp), offset_of!(structs::VideoEncodeH264QualityLevelPropertiesKHR, preferred_max_l0_reference_count), offset_of!(structs::VideoEncodeH264QualityLevelPropertiesKHR, preferred_max_l1_reference_count), offset_of!(structs::VideoEncodeH264QualityLevelPropertiesKHR, preferred_std_entropy_coding_mode_flag)); - println!("VideoEncodeH264SessionCreateInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeH264SessionCreateInfoKHR, s_type), offset_of!(structs::VideoEncodeH264SessionCreateInfoKHR, p_next), offset_of!(structs::VideoEncodeH264SessionCreateInfoKHR, use_max_level_idc), offset_of!(structs::VideoEncodeH264SessionCreateInfoKHR, max_level_idc)); - println!("VideoEncodeH264SessionParametersAddInfoKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeH264SessionParametersAddInfoKHR, s_type), offset_of!(structs::VideoEncodeH264SessionParametersAddInfoKHR, p_next), offset_of!(structs::VideoEncodeH264SessionParametersAddInfoKHR, std_sps_count), offset_of!(structs::VideoEncodeH264SessionParametersAddInfoKHR, p_std_sp_ss), offset_of!(structs::VideoEncodeH264SessionParametersAddInfoKHR, std_pps_count), offset_of!(structs::VideoEncodeH264SessionParametersAddInfoKHR, p_std_pp_ss)); - println!("VideoEncodeH264SessionParametersCreateInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeH264SessionParametersCreateInfoKHR, s_type), offset_of!(structs::VideoEncodeH264SessionParametersCreateInfoKHR, p_next), offset_of!(structs::VideoEncodeH264SessionParametersCreateInfoKHR, max_std_sps_count), offset_of!(structs::VideoEncodeH264SessionParametersCreateInfoKHR, max_std_pps_count), offset_of!(structs::VideoEncodeH264SessionParametersCreateInfoKHR, p_parameters_add_info)); - println!("VideoEncodeH264SessionParametersGetInfoKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeH264SessionParametersGetInfoKHR, s_type), offset_of!(structs::VideoEncodeH264SessionParametersGetInfoKHR, p_next), offset_of!(structs::VideoEncodeH264SessionParametersGetInfoKHR, write_std_sps), offset_of!(structs::VideoEncodeH264SessionParametersGetInfoKHR, write_std_pps), offset_of!(structs::VideoEncodeH264SessionParametersGetInfoKHR, std_sps_id), offset_of!(structs::VideoEncodeH264SessionParametersGetInfoKHR, std_pps_id)); - println!("VideoEncodeH264SessionParametersFeedbackInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeH264SessionParametersFeedbackInfoKHR, s_type), offset_of!(structs::VideoEncodeH264SessionParametersFeedbackInfoKHR, p_next), offset_of!(structs::VideoEncodeH264SessionParametersFeedbackInfoKHR, has_std_sps_overrides), offset_of!(structs::VideoEncodeH264SessionParametersFeedbackInfoKHR, has_std_pps_overrides)); - println!("VideoEncodeH264DpbSlotInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeH264DpbSlotInfoKHR, s_type), offset_of!(structs::VideoEncodeH264DpbSlotInfoKHR, p_next), offset_of!(structs::VideoEncodeH264DpbSlotInfoKHR, p_std_reference_info)); - println!("VideoEncodeH264PictureInfoKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeH264PictureInfoKHR, s_type), offset_of!(structs::VideoEncodeH264PictureInfoKHR, p_next), offset_of!(structs::VideoEncodeH264PictureInfoKHR, nalu_slice_entry_count), offset_of!(structs::VideoEncodeH264PictureInfoKHR, p_nalu_slice_entries), offset_of!(structs::VideoEncodeH264PictureInfoKHR, p_std_picture_info), offset_of!(structs::VideoEncodeH264PictureInfoKHR, generate_prefix_nalu)); - println!("VideoEncodeH264ProfileInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeH264ProfileInfoKHR, s_type), offset_of!(structs::VideoEncodeH264ProfileInfoKHR, p_next), offset_of!(structs::VideoEncodeH264ProfileInfoKHR, std_profile_idc)); - println!("VideoEncodeH264NaluSliceInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeH264NaluSliceInfoKHR, s_type), offset_of!(structs::VideoEncodeH264NaluSliceInfoKHR, p_next), offset_of!(structs::VideoEncodeH264NaluSliceInfoKHR, constant_qp), offset_of!(structs::VideoEncodeH264NaluSliceInfoKHR, p_std_slice_header)); - println!("VideoEncodeH264RateControlInfoKHR {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeH264RateControlInfoKHR, s_type), offset_of!(structs::VideoEncodeH264RateControlInfoKHR, p_next), offset_of!(structs::VideoEncodeH264RateControlInfoKHR, flags), offset_of!(structs::VideoEncodeH264RateControlInfoKHR, gop_frame_count), offset_of!(structs::VideoEncodeH264RateControlInfoKHR, idr_period), offset_of!(structs::VideoEncodeH264RateControlInfoKHR, consecutive_b_frame_count), offset_of!(structs::VideoEncodeH264RateControlInfoKHR, temporal_layer_count)); - println!("VideoEncodeH264QpKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeH264QpKHR, qp_i), offset_of!(structs::VideoEncodeH264QpKHR, qp_p), offset_of!(structs::VideoEncodeH264QpKHR, qp_b)); - println!("VideoEncodeH264FrameSizeKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeH264FrameSizeKHR, frame_i_size), offset_of!(structs::VideoEncodeH264FrameSizeKHR, frame_p_size), offset_of!(structs::VideoEncodeH264FrameSizeKHR, frame_b_size)); - println!("VideoEncodeH264GopRemainingFrameInfoKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeH264GopRemainingFrameInfoKHR, s_type), offset_of!(structs::VideoEncodeH264GopRemainingFrameInfoKHR, p_next), offset_of!(structs::VideoEncodeH264GopRemainingFrameInfoKHR, use_gop_remaining_frames), offset_of!(structs::VideoEncodeH264GopRemainingFrameInfoKHR, gop_remaining_i), offset_of!(structs::VideoEncodeH264GopRemainingFrameInfoKHR, gop_remaining_p), offset_of!(structs::VideoEncodeH264GopRemainingFrameInfoKHR, gop_remaining_b)); - println!("VideoEncodeH264RateControlLayerInfoKHR {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeH264RateControlLayerInfoKHR, s_type), offset_of!(structs::VideoEncodeH264RateControlLayerInfoKHR, p_next), offset_of!(structs::VideoEncodeH264RateControlLayerInfoKHR, use_min_qp), offset_of!(structs::VideoEncodeH264RateControlLayerInfoKHR, min_qp), offset_of!(structs::VideoEncodeH264RateControlLayerInfoKHR, use_max_qp), offset_of!(structs::VideoEncodeH264RateControlLayerInfoKHR, max_qp), offset_of!(structs::VideoEncodeH264RateControlLayerInfoKHR, use_max_frame_size), offset_of!(structs::VideoEncodeH264RateControlLayerInfoKHR, max_frame_size)); - println!("VideoEncodeH265CapabilitiesKHR {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeH265CapabilitiesKHR, s_type), offset_of!(structs::VideoEncodeH265CapabilitiesKHR, p_next), offset_of!(structs::VideoEncodeH265CapabilitiesKHR, flags), offset_of!(structs::VideoEncodeH265CapabilitiesKHR, max_level_idc), offset_of!(structs::VideoEncodeH265CapabilitiesKHR, max_slice_segment_count), offset_of!(structs::VideoEncodeH265CapabilitiesKHR, max_tiles), offset_of!(structs::VideoEncodeH265CapabilitiesKHR, ctb_sizes), offset_of!(structs::VideoEncodeH265CapabilitiesKHR, transform_block_sizes), offset_of!(structs::VideoEncodeH265CapabilitiesKHR, max_p_picture_l0_reference_count), offset_of!(structs::VideoEncodeH265CapabilitiesKHR, max_b_picture_l0_reference_count), offset_of!(structs::VideoEncodeH265CapabilitiesKHR, max_l1_reference_count), offset_of!(structs::VideoEncodeH265CapabilitiesKHR, max_sub_layer_count), offset_of!(structs::VideoEncodeH265CapabilitiesKHR, expect_dyadic_temporal_sub_layer_pattern), offset_of!(structs::VideoEncodeH265CapabilitiesKHR, min_qp), offset_of!(structs::VideoEncodeH265CapabilitiesKHR, max_qp), offset_of!(structs::VideoEncodeH265CapabilitiesKHR, prefers_gop_remaining_frames), offset_of!(structs::VideoEncodeH265CapabilitiesKHR, requires_gop_remaining_frames), offset_of!(structs::VideoEncodeH265CapabilitiesKHR, std_syntax_flags)); - println!("VideoEncodeH265QualityLevelPropertiesKHR {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeH265QualityLevelPropertiesKHR, s_type), offset_of!(structs::VideoEncodeH265QualityLevelPropertiesKHR, p_next), offset_of!(structs::VideoEncodeH265QualityLevelPropertiesKHR, preferred_rate_control_flags), offset_of!(structs::VideoEncodeH265QualityLevelPropertiesKHR, preferred_gop_frame_count), offset_of!(structs::VideoEncodeH265QualityLevelPropertiesKHR, preferred_idr_period), offset_of!(structs::VideoEncodeH265QualityLevelPropertiesKHR, preferred_consecutive_b_frame_count), offset_of!(structs::VideoEncodeH265QualityLevelPropertiesKHR, preferred_sub_layer_count), offset_of!(structs::VideoEncodeH265QualityLevelPropertiesKHR, preferred_constant_qp), offset_of!(structs::VideoEncodeH265QualityLevelPropertiesKHR, preferred_max_l0_reference_count), offset_of!(structs::VideoEncodeH265QualityLevelPropertiesKHR, preferred_max_l1_reference_count)); - println!("VideoEncodeH265SessionCreateInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeH265SessionCreateInfoKHR, s_type), offset_of!(structs::VideoEncodeH265SessionCreateInfoKHR, p_next), offset_of!(structs::VideoEncodeH265SessionCreateInfoKHR, use_max_level_idc), offset_of!(structs::VideoEncodeH265SessionCreateInfoKHR, max_level_idc)); - println!("VideoEncodeH265SessionParametersAddInfoKHR {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeH265SessionParametersAddInfoKHR, s_type), offset_of!(structs::VideoEncodeH265SessionParametersAddInfoKHR, p_next), offset_of!(structs::VideoEncodeH265SessionParametersAddInfoKHR, std_vps_count), offset_of!(structs::VideoEncodeH265SessionParametersAddInfoKHR, p_std_vp_ss), offset_of!(structs::VideoEncodeH265SessionParametersAddInfoKHR, std_sps_count), offset_of!(structs::VideoEncodeH265SessionParametersAddInfoKHR, p_std_sp_ss), offset_of!(structs::VideoEncodeH265SessionParametersAddInfoKHR, std_pps_count), offset_of!(structs::VideoEncodeH265SessionParametersAddInfoKHR, p_std_pp_ss)); - println!("VideoEncodeH265SessionParametersCreateInfoKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeH265SessionParametersCreateInfoKHR, s_type), offset_of!(structs::VideoEncodeH265SessionParametersCreateInfoKHR, p_next), offset_of!(structs::VideoEncodeH265SessionParametersCreateInfoKHR, max_std_vps_count), offset_of!(structs::VideoEncodeH265SessionParametersCreateInfoKHR, max_std_sps_count), offset_of!(structs::VideoEncodeH265SessionParametersCreateInfoKHR, max_std_pps_count), offset_of!(structs::VideoEncodeH265SessionParametersCreateInfoKHR, p_parameters_add_info)); - println!("VideoEncodeH265SessionParametersGetInfoKHR {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeH265SessionParametersGetInfoKHR, s_type), offset_of!(structs::VideoEncodeH265SessionParametersGetInfoKHR, p_next), offset_of!(structs::VideoEncodeH265SessionParametersGetInfoKHR, write_std_vps), offset_of!(structs::VideoEncodeH265SessionParametersGetInfoKHR, write_std_sps), offset_of!(structs::VideoEncodeH265SessionParametersGetInfoKHR, write_std_pps), offset_of!(structs::VideoEncodeH265SessionParametersGetInfoKHR, std_vps_id), offset_of!(structs::VideoEncodeH265SessionParametersGetInfoKHR, std_sps_id), offset_of!(structs::VideoEncodeH265SessionParametersGetInfoKHR, std_pps_id)); - println!("VideoEncodeH265SessionParametersFeedbackInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeH265SessionParametersFeedbackInfoKHR, s_type), offset_of!(structs::VideoEncodeH265SessionParametersFeedbackInfoKHR, p_next), offset_of!(structs::VideoEncodeH265SessionParametersFeedbackInfoKHR, has_std_vps_overrides), offset_of!(structs::VideoEncodeH265SessionParametersFeedbackInfoKHR, has_std_sps_overrides), offset_of!(structs::VideoEncodeH265SessionParametersFeedbackInfoKHR, has_std_pps_overrides)); - println!("VideoEncodeH265PictureInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeH265PictureInfoKHR, s_type), offset_of!(structs::VideoEncodeH265PictureInfoKHR, p_next), offset_of!(structs::VideoEncodeH265PictureInfoKHR, nalu_slice_segment_entry_count), offset_of!(structs::VideoEncodeH265PictureInfoKHR, p_nalu_slice_segment_entries), offset_of!(structs::VideoEncodeH265PictureInfoKHR, p_std_picture_info)); - println!("VideoEncodeH265NaluSliceSegmentInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeH265NaluSliceSegmentInfoKHR, s_type), offset_of!(structs::VideoEncodeH265NaluSliceSegmentInfoKHR, p_next), offset_of!(structs::VideoEncodeH265NaluSliceSegmentInfoKHR, constant_qp), offset_of!(structs::VideoEncodeH265NaluSliceSegmentInfoKHR, p_std_slice_segment_header)); - println!("VideoEncodeH265RateControlInfoKHR {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeH265RateControlInfoKHR, s_type), offset_of!(structs::VideoEncodeH265RateControlInfoKHR, p_next), offset_of!(structs::VideoEncodeH265RateControlInfoKHR, flags), offset_of!(structs::VideoEncodeH265RateControlInfoKHR, gop_frame_count), offset_of!(structs::VideoEncodeH265RateControlInfoKHR, idr_period), offset_of!(structs::VideoEncodeH265RateControlInfoKHR, consecutive_b_frame_count), offset_of!(structs::VideoEncodeH265RateControlInfoKHR, sub_layer_count)); - println!("VideoEncodeH265QpKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeH265QpKHR, qp_i), offset_of!(structs::VideoEncodeH265QpKHR, qp_p), offset_of!(structs::VideoEncodeH265QpKHR, qp_b)); - println!("VideoEncodeH265FrameSizeKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeH265FrameSizeKHR, frame_i_size), offset_of!(structs::VideoEncodeH265FrameSizeKHR, frame_p_size), offset_of!(structs::VideoEncodeH265FrameSizeKHR, frame_b_size)); - println!("VideoEncodeH265GopRemainingFrameInfoKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeH265GopRemainingFrameInfoKHR, s_type), offset_of!(structs::VideoEncodeH265GopRemainingFrameInfoKHR, p_next), offset_of!(structs::VideoEncodeH265GopRemainingFrameInfoKHR, use_gop_remaining_frames), offset_of!(structs::VideoEncodeH265GopRemainingFrameInfoKHR, gop_remaining_i), offset_of!(structs::VideoEncodeH265GopRemainingFrameInfoKHR, gop_remaining_p), offset_of!(structs::VideoEncodeH265GopRemainingFrameInfoKHR, gop_remaining_b)); - println!("VideoEncodeH265RateControlLayerInfoKHR {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeH265RateControlLayerInfoKHR, s_type), offset_of!(structs::VideoEncodeH265RateControlLayerInfoKHR, p_next), offset_of!(structs::VideoEncodeH265RateControlLayerInfoKHR, use_min_qp), offset_of!(structs::VideoEncodeH265RateControlLayerInfoKHR, min_qp), offset_of!(structs::VideoEncodeH265RateControlLayerInfoKHR, use_max_qp), offset_of!(structs::VideoEncodeH265RateControlLayerInfoKHR, max_qp), offset_of!(structs::VideoEncodeH265RateControlLayerInfoKHR, use_max_frame_size), offset_of!(structs::VideoEncodeH265RateControlLayerInfoKHR, max_frame_size)); - println!("VideoEncodeH265ProfileInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeH265ProfileInfoKHR, s_type), offset_of!(structs::VideoEncodeH265ProfileInfoKHR, p_next), offset_of!(structs::VideoEncodeH265ProfileInfoKHR, std_profile_idc)); - println!("VideoEncodeH265DpbSlotInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeH265DpbSlotInfoKHR, s_type), offset_of!(structs::VideoEncodeH265DpbSlotInfoKHR, p_next), offset_of!(structs::VideoEncodeH265DpbSlotInfoKHR, p_std_reference_info)); - println!("VideoEncodeAV1CapabilitiesKHR {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeAV1CapabilitiesKHR, s_type), offset_of!(structs::VideoEncodeAV1CapabilitiesKHR, p_next), offset_of!(structs::VideoEncodeAV1CapabilitiesKHR, flags), offset_of!(structs::VideoEncodeAV1CapabilitiesKHR, max_level), offset_of!(structs::VideoEncodeAV1CapabilitiesKHR, coded_picture_alignment), offset_of!(structs::VideoEncodeAV1CapabilitiesKHR, max_tiles), offset_of!(structs::VideoEncodeAV1CapabilitiesKHR, min_tile_size), offset_of!(structs::VideoEncodeAV1CapabilitiesKHR, max_tile_size), offset_of!(structs::VideoEncodeAV1CapabilitiesKHR, superblock_sizes), offset_of!(structs::VideoEncodeAV1CapabilitiesKHR, max_single_reference_count), offset_of!(structs::VideoEncodeAV1CapabilitiesKHR, single_reference_name_mask), offset_of!(structs::VideoEncodeAV1CapabilitiesKHR, max_unidirectional_compound_reference_count), offset_of!(structs::VideoEncodeAV1CapabilitiesKHR, max_unidirectional_compound_group1_reference_count), offset_of!(structs::VideoEncodeAV1CapabilitiesKHR, unidirectional_compound_reference_name_mask), offset_of!(structs::VideoEncodeAV1CapabilitiesKHR, max_bidirectional_compound_reference_count), offset_of!(structs::VideoEncodeAV1CapabilitiesKHR, max_bidirectional_compound_group1_reference_count), offset_of!(structs::VideoEncodeAV1CapabilitiesKHR, max_bidirectional_compound_group2_reference_count), offset_of!(structs::VideoEncodeAV1CapabilitiesKHR, bidirectional_compound_reference_name_mask), offset_of!(structs::VideoEncodeAV1CapabilitiesKHR, max_temporal_layer_count), offset_of!(structs::VideoEncodeAV1CapabilitiesKHR, max_spatial_layer_count), offset_of!(structs::VideoEncodeAV1CapabilitiesKHR, max_operating_points), offset_of!(structs::VideoEncodeAV1CapabilitiesKHR, min_q_index), offset_of!(structs::VideoEncodeAV1CapabilitiesKHR, max_q_index), offset_of!(structs::VideoEncodeAV1CapabilitiesKHR, prefers_gop_remaining_frames), offset_of!(structs::VideoEncodeAV1CapabilitiesKHR, requires_gop_remaining_frames), offset_of!(structs::VideoEncodeAV1CapabilitiesKHR, std_syntax_flags)); - println!("VideoEncodeAV1QualityLevelPropertiesKHR {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeAV1QualityLevelPropertiesKHR, s_type), offset_of!(structs::VideoEncodeAV1QualityLevelPropertiesKHR, p_next), offset_of!(structs::VideoEncodeAV1QualityLevelPropertiesKHR, preferred_rate_control_flags), offset_of!(structs::VideoEncodeAV1QualityLevelPropertiesKHR, preferred_gop_frame_count), offset_of!(structs::VideoEncodeAV1QualityLevelPropertiesKHR, preferred_key_frame_period), offset_of!(structs::VideoEncodeAV1QualityLevelPropertiesKHR, preferred_consecutive_bipredictive_frame_count), offset_of!(structs::VideoEncodeAV1QualityLevelPropertiesKHR, preferred_temporal_layer_count), offset_of!(structs::VideoEncodeAV1QualityLevelPropertiesKHR, preferred_constant_q_index), offset_of!(structs::VideoEncodeAV1QualityLevelPropertiesKHR, preferred_max_single_reference_count), offset_of!(structs::VideoEncodeAV1QualityLevelPropertiesKHR, preferred_single_reference_name_mask), offset_of!(structs::VideoEncodeAV1QualityLevelPropertiesKHR, preferred_max_unidirectional_compound_reference_count), offset_of!(structs::VideoEncodeAV1QualityLevelPropertiesKHR, preferred_max_unidirectional_compound_group1_reference_count), offset_of!(structs::VideoEncodeAV1QualityLevelPropertiesKHR, preferred_unidirectional_compound_reference_name_mask), offset_of!(structs::VideoEncodeAV1QualityLevelPropertiesKHR, preferred_max_bidirectional_compound_reference_count), offset_of!(structs::VideoEncodeAV1QualityLevelPropertiesKHR, preferred_max_bidirectional_compound_group1_reference_count), offset_of!(structs::VideoEncodeAV1QualityLevelPropertiesKHR, preferred_max_bidirectional_compound_group2_reference_count), offset_of!(structs::VideoEncodeAV1QualityLevelPropertiesKHR, preferred_bidirectional_compound_reference_name_mask)); - println!("PhysicalDeviceVideoEncodeAV1FeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceVideoEncodeAV1FeaturesKHR, s_type), offset_of!(structs::PhysicalDeviceVideoEncodeAV1FeaturesKHR, p_next), offset_of!(structs::PhysicalDeviceVideoEncodeAV1FeaturesKHR, video_encode_av1)); - println!("VideoEncodeAV1SessionCreateInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeAV1SessionCreateInfoKHR, s_type), offset_of!(structs::VideoEncodeAV1SessionCreateInfoKHR, p_next), offset_of!(structs::VideoEncodeAV1SessionCreateInfoKHR, use_max_level), offset_of!(structs::VideoEncodeAV1SessionCreateInfoKHR, max_level)); - println!("VideoEncodeAV1SessionParametersCreateInfoKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeAV1SessionParametersCreateInfoKHR, s_type), offset_of!(structs::VideoEncodeAV1SessionParametersCreateInfoKHR, p_next), offset_of!(structs::VideoEncodeAV1SessionParametersCreateInfoKHR, p_std_sequence_header), offset_of!(structs::VideoEncodeAV1SessionParametersCreateInfoKHR, p_std_decoder_model_info), offset_of!(structs::VideoEncodeAV1SessionParametersCreateInfoKHR, std_operating_point_count), offset_of!(structs::VideoEncodeAV1SessionParametersCreateInfoKHR, p_std_operating_points)); - println!("VideoEncodeAV1DpbSlotInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeAV1DpbSlotInfoKHR, s_type), offset_of!(structs::VideoEncodeAV1DpbSlotInfoKHR, p_next), offset_of!(structs::VideoEncodeAV1DpbSlotInfoKHR, p_std_reference_info)); - println!("VideoEncodeAV1PictureInfoKHR {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeAV1PictureInfoKHR, s_type), offset_of!(structs::VideoEncodeAV1PictureInfoKHR, p_next), offset_of!(structs::VideoEncodeAV1PictureInfoKHR, prediction_mode), offset_of!(structs::VideoEncodeAV1PictureInfoKHR, rate_control_group), offset_of!(structs::VideoEncodeAV1PictureInfoKHR, constant_q_index), offset_of!(structs::VideoEncodeAV1PictureInfoKHR, p_std_picture_info), offset_of!(structs::VideoEncodeAV1PictureInfoKHR, reference_name_slot_indices), offset_of!(structs::VideoEncodeAV1PictureInfoKHR, primary_reference_cdf_only), offset_of!(structs::VideoEncodeAV1PictureInfoKHR, generate_obu_extension_header)); - println!("VideoEncodeAV1ProfileInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeAV1ProfileInfoKHR, s_type), offset_of!(structs::VideoEncodeAV1ProfileInfoKHR, p_next), offset_of!(structs::VideoEncodeAV1ProfileInfoKHR, std_profile)); - println!("VideoEncodeAV1RateControlInfoKHR {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeAV1RateControlInfoKHR, s_type), offset_of!(structs::VideoEncodeAV1RateControlInfoKHR, p_next), offset_of!(structs::VideoEncodeAV1RateControlInfoKHR, flags), offset_of!(structs::VideoEncodeAV1RateControlInfoKHR, gop_frame_count), offset_of!(structs::VideoEncodeAV1RateControlInfoKHR, key_frame_period), offset_of!(structs::VideoEncodeAV1RateControlInfoKHR, consecutive_bipredictive_frame_count), offset_of!(structs::VideoEncodeAV1RateControlInfoKHR, temporal_layer_count)); - println!("VideoEncodeAV1QIndexKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeAV1QIndexKHR, intra_q_index), offset_of!(structs::VideoEncodeAV1QIndexKHR, predictive_q_index), offset_of!(structs::VideoEncodeAV1QIndexKHR, bipredictive_q_index)); - println!("VideoEncodeAV1FrameSizeKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeAV1FrameSizeKHR, intra_frame_size), offset_of!(structs::VideoEncodeAV1FrameSizeKHR, predictive_frame_size), offset_of!(structs::VideoEncodeAV1FrameSizeKHR, bipredictive_frame_size)); - println!("VideoEncodeAV1GopRemainingFrameInfoKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeAV1GopRemainingFrameInfoKHR, s_type), offset_of!(structs::VideoEncodeAV1GopRemainingFrameInfoKHR, p_next), offset_of!(structs::VideoEncodeAV1GopRemainingFrameInfoKHR, use_gop_remaining_frames), offset_of!(structs::VideoEncodeAV1GopRemainingFrameInfoKHR, gop_remaining_intra), offset_of!(structs::VideoEncodeAV1GopRemainingFrameInfoKHR, gop_remaining_predictive), offset_of!(structs::VideoEncodeAV1GopRemainingFrameInfoKHR, gop_remaining_bipredictive)); - println!("VideoEncodeAV1RateControlLayerInfoKHR {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeAV1RateControlLayerInfoKHR, s_type), offset_of!(structs::VideoEncodeAV1RateControlLayerInfoKHR, p_next), offset_of!(structs::VideoEncodeAV1RateControlLayerInfoKHR, use_min_q_index), offset_of!(structs::VideoEncodeAV1RateControlLayerInfoKHR, min_q_index), offset_of!(structs::VideoEncodeAV1RateControlLayerInfoKHR, use_max_q_index), offset_of!(structs::VideoEncodeAV1RateControlLayerInfoKHR, max_q_index), offset_of!(structs::VideoEncodeAV1RateControlLayerInfoKHR, use_max_frame_size), offset_of!(structs::VideoEncodeAV1RateControlLayerInfoKHR, max_frame_size)); - println!("PhysicalDeviceInheritedViewportScissorFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceInheritedViewportScissorFeaturesNV, s_type), offset_of!(structs::PhysicalDeviceInheritedViewportScissorFeaturesNV, p_next), offset_of!(structs::PhysicalDeviceInheritedViewportScissorFeaturesNV, inherited_viewport_scissor2_d)); - println!("CommandBufferInheritanceViewportScissorInfoNV {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CommandBufferInheritanceViewportScissorInfoNV, s_type), offset_of!(structs::CommandBufferInheritanceViewportScissorInfoNV, p_next), offset_of!(structs::CommandBufferInheritanceViewportScissorInfoNV, viewport_scissor2_d), offset_of!(structs::CommandBufferInheritanceViewportScissorInfoNV, viewport_depth_count), offset_of!(structs::CommandBufferInheritanceViewportScissorInfoNV, p_viewport_depths)); - println!("PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT, ycbcr2plane444_formats)); - println!("PhysicalDeviceProvokingVertexFeaturesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceProvokingVertexFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceProvokingVertexFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceProvokingVertexFeaturesEXT, provoking_vertex_last), offset_of!(structs::PhysicalDeviceProvokingVertexFeaturesEXT, transform_feedback_preserves_provoking_vertex)); - println!("PhysicalDeviceProvokingVertexPropertiesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceProvokingVertexPropertiesEXT, s_type), offset_of!(structs::PhysicalDeviceProvokingVertexPropertiesEXT, p_next), offset_of!(structs::PhysicalDeviceProvokingVertexPropertiesEXT, provoking_vertex_mode_per_pipeline), offset_of!(structs::PhysicalDeviceProvokingVertexPropertiesEXT, transform_feedback_preserves_triangle_fan_provoking_vertex)); - println!("PipelineRasterizationProvokingVertexStateCreateInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineRasterizationProvokingVertexStateCreateInfoEXT, s_type), offset_of!(structs::PipelineRasterizationProvokingVertexStateCreateInfoEXT, p_next), offset_of!(structs::PipelineRasterizationProvokingVertexStateCreateInfoEXT, provoking_vertex_mode)); - println!("VideoEncodeIntraRefreshCapabilitiesKHR {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeIntraRefreshCapabilitiesKHR, s_type), offset_of!(structs::VideoEncodeIntraRefreshCapabilitiesKHR, p_next), offset_of!(structs::VideoEncodeIntraRefreshCapabilitiesKHR, intra_refresh_modes), offset_of!(structs::VideoEncodeIntraRefreshCapabilitiesKHR, max_intra_refresh_cycle_duration), offset_of!(structs::VideoEncodeIntraRefreshCapabilitiesKHR, max_intra_refresh_active_reference_pictures), offset_of!(structs::VideoEncodeIntraRefreshCapabilitiesKHR, partition_independent_intra_refresh_regions), offset_of!(structs::VideoEncodeIntraRefreshCapabilitiesKHR, non_rectangular_intra_refresh_regions)); - println!("VideoEncodeSessionIntraRefreshCreateInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeSessionIntraRefreshCreateInfoKHR, s_type), offset_of!(structs::VideoEncodeSessionIntraRefreshCreateInfoKHR, p_next), offset_of!(structs::VideoEncodeSessionIntraRefreshCreateInfoKHR, intra_refresh_mode)); - println!("VideoEncodeIntraRefreshInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeIntraRefreshInfoKHR, s_type), offset_of!(structs::VideoEncodeIntraRefreshInfoKHR, p_next), offset_of!(structs::VideoEncodeIntraRefreshInfoKHR, intra_refresh_cycle_duration), offset_of!(structs::VideoEncodeIntraRefreshInfoKHR, intra_refresh_index)); - println!("VideoReferenceIntraRefreshInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoReferenceIntraRefreshInfoKHR, s_type), offset_of!(structs::VideoReferenceIntraRefreshInfoKHR, p_next), offset_of!(structs::VideoReferenceIntraRefreshInfoKHR, dirty_intra_refresh_regions)); - println!("PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR, s_type), offset_of!(structs::PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR, p_next), offset_of!(structs::PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR, video_encode_intra_refresh)); - println!("CuModuleCreateInfoNVX {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CuModuleCreateInfoNVX, s_type), offset_of!(structs::CuModuleCreateInfoNVX, p_next), offset_of!(structs::CuModuleCreateInfoNVX, data_size), offset_of!(structs::CuModuleCreateInfoNVX, p_data)); - println!("CuModuleTexturingModeCreateInfoNVX {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CuModuleTexturingModeCreateInfoNVX, s_type), offset_of!(structs::CuModuleTexturingModeCreateInfoNVX, p_next), offset_of!(structs::CuModuleTexturingModeCreateInfoNVX, use64bit_texturing)); - println!("CuFunctionCreateInfoNVX {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CuFunctionCreateInfoNVX, s_type), offset_of!(structs::CuFunctionCreateInfoNVX, p_next), offset_of!(structs::CuFunctionCreateInfoNVX, module), offset_of!(structs::CuFunctionCreateInfoNVX, p_name)); - println!("CuLaunchInfoNVX {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CuLaunchInfoNVX, s_type), offset_of!(structs::CuLaunchInfoNVX, p_next), offset_of!(structs::CuLaunchInfoNVX, function), offset_of!(structs::CuLaunchInfoNVX, grid_dim_x), offset_of!(structs::CuLaunchInfoNVX, grid_dim_y), offset_of!(structs::CuLaunchInfoNVX, grid_dim_z), offset_of!(structs::CuLaunchInfoNVX, block_dim_x), offset_of!(structs::CuLaunchInfoNVX, block_dim_y), offset_of!(structs::CuLaunchInfoNVX, block_dim_z), offset_of!(structs::CuLaunchInfoNVX, shared_mem_bytes), offset_of!(structs::CuLaunchInfoNVX, param_count), offset_of!(structs::CuLaunchInfoNVX, p_params), offset_of!(structs::CuLaunchInfoNVX, extra_count), offset_of!(structs::CuLaunchInfoNVX, p_extras)); - println!("PhysicalDeviceDescriptorBufferFeaturesEXT {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceDescriptorBufferFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceDescriptorBufferFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceDescriptorBufferFeaturesEXT, descriptor_buffer), offset_of!(structs::PhysicalDeviceDescriptorBufferFeaturesEXT, descriptor_buffer_capture_replay), offset_of!(structs::PhysicalDeviceDescriptorBufferFeaturesEXT, descriptor_buffer_image_layout_ignored), offset_of!(structs::PhysicalDeviceDescriptorBufferFeaturesEXT, descriptor_buffer_push_descriptors)); - println!("PhysicalDeviceDescriptorBufferPropertiesEXT {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceDescriptorBufferPropertiesEXT, s_type), offset_of!(structs::PhysicalDeviceDescriptorBufferPropertiesEXT, p_next), offset_of!(structs::PhysicalDeviceDescriptorBufferPropertiesEXT, combined_image_sampler_descriptor_single_array), offset_of!(structs::PhysicalDeviceDescriptorBufferPropertiesEXT, bufferless_push_descriptors), offset_of!(structs::PhysicalDeviceDescriptorBufferPropertiesEXT, allow_sampler_image_view_post_submit_creation), offset_of!(structs::PhysicalDeviceDescriptorBufferPropertiesEXT, descriptor_buffer_offset_alignment), offset_of!(structs::PhysicalDeviceDescriptorBufferPropertiesEXT, max_descriptor_buffer_bindings), offset_of!(structs::PhysicalDeviceDescriptorBufferPropertiesEXT, max_resource_descriptor_buffer_bindings), offset_of!(structs::PhysicalDeviceDescriptorBufferPropertiesEXT, max_sampler_descriptor_buffer_bindings), offset_of!(structs::PhysicalDeviceDescriptorBufferPropertiesEXT, max_embedded_immutable_sampler_bindings), offset_of!(structs::PhysicalDeviceDescriptorBufferPropertiesEXT, max_embedded_immutable_samplers), offset_of!(structs::PhysicalDeviceDescriptorBufferPropertiesEXT, buffer_capture_replay_descriptor_data_size), offset_of!(structs::PhysicalDeviceDescriptorBufferPropertiesEXT, image_capture_replay_descriptor_data_size), offset_of!(structs::PhysicalDeviceDescriptorBufferPropertiesEXT, image_view_capture_replay_descriptor_data_size), offset_of!(structs::PhysicalDeviceDescriptorBufferPropertiesEXT, sampler_capture_replay_descriptor_data_size), offset_of!(structs::PhysicalDeviceDescriptorBufferPropertiesEXT, acceleration_structure_capture_replay_descriptor_data_size), offset_of!(structs::PhysicalDeviceDescriptorBufferPropertiesEXT, sampler_descriptor_size), offset_of!(structs::PhysicalDeviceDescriptorBufferPropertiesEXT, combined_image_sampler_descriptor_size), offset_of!(structs::PhysicalDeviceDescriptorBufferPropertiesEXT, sampled_image_descriptor_size), offset_of!(structs::PhysicalDeviceDescriptorBufferPropertiesEXT, storage_image_descriptor_size), offset_of!(structs::PhysicalDeviceDescriptorBufferPropertiesEXT, uniform_texel_buffer_descriptor_size), offset_of!(structs::PhysicalDeviceDescriptorBufferPropertiesEXT, robust_uniform_texel_buffer_descriptor_size), offset_of!(structs::PhysicalDeviceDescriptorBufferPropertiesEXT, storage_texel_buffer_descriptor_size), offset_of!(structs::PhysicalDeviceDescriptorBufferPropertiesEXT, robust_storage_texel_buffer_descriptor_size), offset_of!(structs::PhysicalDeviceDescriptorBufferPropertiesEXT, uniform_buffer_descriptor_size), offset_of!(structs::PhysicalDeviceDescriptorBufferPropertiesEXT, robust_uniform_buffer_descriptor_size), offset_of!(structs::PhysicalDeviceDescriptorBufferPropertiesEXT, storage_buffer_descriptor_size), offset_of!(structs::PhysicalDeviceDescriptorBufferPropertiesEXT, robust_storage_buffer_descriptor_size), offset_of!(structs::PhysicalDeviceDescriptorBufferPropertiesEXT, input_attachment_descriptor_size), offset_of!(structs::PhysicalDeviceDescriptorBufferPropertiesEXT, acceleration_structure_descriptor_size), offset_of!(structs::PhysicalDeviceDescriptorBufferPropertiesEXT, max_sampler_descriptor_buffer_range), offset_of!(structs::PhysicalDeviceDescriptorBufferPropertiesEXT, max_resource_descriptor_buffer_range), offset_of!(structs::PhysicalDeviceDescriptorBufferPropertiesEXT, sampler_descriptor_buffer_address_space_size), offset_of!(structs::PhysicalDeviceDescriptorBufferPropertiesEXT, resource_descriptor_buffer_address_space_size), offset_of!(structs::PhysicalDeviceDescriptorBufferPropertiesEXT, descriptor_buffer_address_space_size)); - println!("PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT, s_type), offset_of!(structs::PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT, p_next), offset_of!(structs::PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT, combined_image_sampler_density_map_descriptor_size)); - println!("DescriptorAddressInfoEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DescriptorAddressInfoEXT, s_type), offset_of!(structs::DescriptorAddressInfoEXT, p_next), offset_of!(structs::DescriptorAddressInfoEXT, address), offset_of!(structs::DescriptorAddressInfoEXT, range), offset_of!(structs::DescriptorAddressInfoEXT, format)); - println!("DescriptorBufferBindingInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DescriptorBufferBindingInfoEXT, s_type), offset_of!(structs::DescriptorBufferBindingInfoEXT, p_next), offset_of!(structs::DescriptorBufferBindingInfoEXT, address), offset_of!(structs::DescriptorBufferBindingInfoEXT, usage)); - println!("DescriptorBufferBindingPushDescriptorBufferHandleEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DescriptorBufferBindingPushDescriptorBufferHandleEXT, s_type), offset_of!(structs::DescriptorBufferBindingPushDescriptorBufferHandleEXT, p_next), offset_of!(structs::DescriptorBufferBindingPushDescriptorBufferHandleEXT, buffer)); - println!("DescriptorDataEXT {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DescriptorDataEXT, p_sampler), offset_of!(structs::DescriptorDataEXT, p_combined_image_sampler), offset_of!(structs::DescriptorDataEXT, p_input_attachment_image), offset_of!(structs::DescriptorDataEXT, p_sampled_image), offset_of!(structs::DescriptorDataEXT, p_storage_image), offset_of!(structs::DescriptorDataEXT, p_uniform_texel_buffer), offset_of!(structs::DescriptorDataEXT, p_storage_texel_buffer), offset_of!(structs::DescriptorDataEXT, p_uniform_buffer), offset_of!(structs::DescriptorDataEXT, p_storage_buffer), offset_of!(structs::DescriptorDataEXT, acceleration_structure)); - println!("DescriptorGetInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DescriptorGetInfoEXT, s_type), offset_of!(structs::DescriptorGetInfoEXT, p_next), offset_of!(structs::DescriptorGetInfoEXT, data)); - println!("BufferCaptureDescriptorDataInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BufferCaptureDescriptorDataInfoEXT, s_type), offset_of!(structs::BufferCaptureDescriptorDataInfoEXT, p_next), offset_of!(structs::BufferCaptureDescriptorDataInfoEXT, buffer)); - println!("ImageCaptureDescriptorDataInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImageCaptureDescriptorDataInfoEXT, s_type), offset_of!(structs::ImageCaptureDescriptorDataInfoEXT, p_next), offset_of!(structs::ImageCaptureDescriptorDataInfoEXT, image)); - println!("ImageViewCaptureDescriptorDataInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImageViewCaptureDescriptorDataInfoEXT, s_type), offset_of!(structs::ImageViewCaptureDescriptorDataInfoEXT, p_next), offset_of!(structs::ImageViewCaptureDescriptorDataInfoEXT, image_view)); - println!("SamplerCaptureDescriptorDataInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SamplerCaptureDescriptorDataInfoEXT, s_type), offset_of!(structs::SamplerCaptureDescriptorDataInfoEXT, p_next), offset_of!(structs::SamplerCaptureDescriptorDataInfoEXT, sampler)); - println!("AccelerationStructureCaptureDescriptorDataInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::AccelerationStructureCaptureDescriptorDataInfoEXT, s_type), offset_of!(structs::AccelerationStructureCaptureDescriptorDataInfoEXT, p_next), offset_of!(structs::AccelerationStructureCaptureDescriptorDataInfoEXT, acceleration_structure), offset_of!(structs::AccelerationStructureCaptureDescriptorDataInfoEXT, acceleration_structure_nv)); - println!("OpaqueCaptureDescriptorDataCreateInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::OpaqueCaptureDescriptorDataCreateInfoEXT, s_type), offset_of!(structs::OpaqueCaptureDescriptorDataCreateInfoEXT, p_next), offset_of!(structs::OpaqueCaptureDescriptorDataCreateInfoEXT, opaque_capture_descriptor_data)); - println!("PhysicalDeviceShaderIntegerDotProductFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderIntegerDotProductFeatures, s_type), offset_of!(structs::PhysicalDeviceShaderIntegerDotProductFeatures, p_next), offset_of!(structs::PhysicalDeviceShaderIntegerDotProductFeatures, shader_integer_dot_product)); - println!("PhysicalDeviceShaderIntegerDotProductProperties {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderIntegerDotProductProperties, s_type), offset_of!(structs::PhysicalDeviceShaderIntegerDotProductProperties, p_next), offset_of!(structs::PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product8_bit_unsigned_accelerated), offset_of!(structs::PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product8_bit_signed_accelerated), offset_of!(structs::PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product8_bit_mixed_signedness_accelerated), offset_of!(structs::PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product4x8_bit_packed_unsigned_accelerated), offset_of!(structs::PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product4x8_bit_packed_signed_accelerated), offset_of!(structs::PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product4x8_bit_packed_mixed_signedness_accelerated), offset_of!(structs::PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product16_bit_unsigned_accelerated), offset_of!(structs::PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product16_bit_signed_accelerated), offset_of!(structs::PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product16_bit_mixed_signedness_accelerated), offset_of!(structs::PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product32_bit_unsigned_accelerated), offset_of!(structs::PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product32_bit_signed_accelerated), offset_of!(structs::PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product32_bit_mixed_signedness_accelerated), offset_of!(structs::PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product64_bit_unsigned_accelerated), offset_of!(structs::PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product64_bit_signed_accelerated), offset_of!(structs::PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product64_bit_mixed_signedness_accelerated), offset_of!(structs::PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product_accumulating_saturating8_bit_unsigned_accelerated), offset_of!(structs::PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product_accumulating_saturating8_bit_signed_accelerated), offset_of!(structs::PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product_accumulating_saturating8_bit_mixed_signedness_accelerated), offset_of!(structs::PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product_accumulating_saturating4x8_bit_packed_unsigned_accelerated), offset_of!(structs::PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product_accumulating_saturating4x8_bit_packed_signed_accelerated), offset_of!(structs::PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product_accumulating_saturating4x8_bit_packed_mixed_signedness_accelerated), offset_of!(structs::PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product_accumulating_saturating16_bit_unsigned_accelerated), offset_of!(structs::PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product_accumulating_saturating16_bit_signed_accelerated), offset_of!(structs::PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product_accumulating_saturating16_bit_mixed_signedness_accelerated), offset_of!(structs::PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product_accumulating_saturating32_bit_unsigned_accelerated), offset_of!(structs::PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product_accumulating_saturating32_bit_signed_accelerated), offset_of!(structs::PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product_accumulating_saturating32_bit_mixed_signedness_accelerated), offset_of!(structs::PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product_accumulating_saturating64_bit_unsigned_accelerated), offset_of!(structs::PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product_accumulating_saturating64_bit_signed_accelerated), offset_of!(structs::PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product_accumulating_saturating64_bit_mixed_signedness_accelerated)); - println!("PhysicalDeviceDrmPropertiesEXT {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceDrmPropertiesEXT, s_type), offset_of!(structs::PhysicalDeviceDrmPropertiesEXT, p_next), offset_of!(structs::PhysicalDeviceDrmPropertiesEXT, has_primary), offset_of!(structs::PhysicalDeviceDrmPropertiesEXT, has_render), offset_of!(structs::PhysicalDeviceDrmPropertiesEXT, primary_major), offset_of!(structs::PhysicalDeviceDrmPropertiesEXT, primary_minor), offset_of!(structs::PhysicalDeviceDrmPropertiesEXT, render_major), offset_of!(structs::PhysicalDeviceDrmPropertiesEXT, render_minor)); - println!("PhysicalDeviceFragmentShaderBarycentricFeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceFragmentShaderBarycentricFeaturesKHR, s_type), offset_of!(structs::PhysicalDeviceFragmentShaderBarycentricFeaturesKHR, p_next), offset_of!(structs::PhysicalDeviceFragmentShaderBarycentricFeaturesKHR, fragment_shader_barycentric)); - println!("PhysicalDeviceFragmentShaderBarycentricPropertiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceFragmentShaderBarycentricPropertiesKHR, s_type), offset_of!(structs::PhysicalDeviceFragmentShaderBarycentricPropertiesKHR, p_next), offset_of!(structs::PhysicalDeviceFragmentShaderBarycentricPropertiesKHR, tri_strip_vertex_order_independent_of_provoking_vertex)); - println!("PhysicalDeviceShaderFmaFeaturesKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderFmaFeaturesKHR, s_type), offset_of!(structs::PhysicalDeviceShaderFmaFeaturesKHR, p_next), offset_of!(structs::PhysicalDeviceShaderFmaFeaturesKHR, shader_fma_float16), offset_of!(structs::PhysicalDeviceShaderFmaFeaturesKHR, shader_fma_float32), offset_of!(structs::PhysicalDeviceShaderFmaFeaturesKHR, shader_fma_float64)); - println!("PhysicalDeviceRayTracingMotionBlurFeaturesNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceRayTracingMotionBlurFeaturesNV, s_type), offset_of!(structs::PhysicalDeviceRayTracingMotionBlurFeaturesNV, p_next), offset_of!(structs::PhysicalDeviceRayTracingMotionBlurFeaturesNV, ray_tracing_motion_blur), offset_of!(structs::PhysicalDeviceRayTracingMotionBlurFeaturesNV, ray_tracing_motion_blur_pipeline_trace_rays_indirect)); - println!("PhysicalDeviceRayTracingValidationFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceRayTracingValidationFeaturesNV, s_type), offset_of!(structs::PhysicalDeviceRayTracingValidationFeaturesNV, p_next), offset_of!(structs::PhysicalDeviceRayTracingValidationFeaturesNV, ray_tracing_validation)); - println!("PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV, s_type), offset_of!(structs::PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV, p_next), offset_of!(structs::PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV, spheres), offset_of!(structs::PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV, linear_swept_spheres)); - println!("AccelerationStructureGeometryMotionTrianglesDataNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::AccelerationStructureGeometryMotionTrianglesDataNV, s_type), offset_of!(structs::AccelerationStructureGeometryMotionTrianglesDataNV, p_next), offset_of!(structs::AccelerationStructureGeometryMotionTrianglesDataNV, vertex_data)); - println!("AccelerationStructureMotionInfoNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::AccelerationStructureMotionInfoNV, s_type), offset_of!(structs::AccelerationStructureMotionInfoNV, p_next), offset_of!(structs::AccelerationStructureMotionInfoNV, max_instances), offset_of!(structs::AccelerationStructureMotionInfoNV, flags)); - println!("SRTDataNV {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SRTDataNV, sx), offset_of!(structs::SRTDataNV, a), offset_of!(structs::SRTDataNV, b), offset_of!(structs::SRTDataNV, pvx), offset_of!(structs::SRTDataNV, sy), offset_of!(structs::SRTDataNV, c), offset_of!(structs::SRTDataNV, pvy), offset_of!(structs::SRTDataNV, sz), offset_of!(structs::SRTDataNV, pvz), offset_of!(structs::SRTDataNV, qx), offset_of!(structs::SRTDataNV, qy), offset_of!(structs::SRTDataNV, qz), offset_of!(structs::SRTDataNV, qw), offset_of!(structs::SRTDataNV, tx), offset_of!(structs::SRTDataNV, ty), offset_of!(structs::SRTDataNV, tz)); - println!("AccelerationStructureSRTMotionInstanceNV {} {}", size_of::(), align_of::()); - println!("AccelerationStructureMatrixMotionInstanceNV {} {}", size_of::(), align_of::()); - println!("AccelerationStructureMotionInstanceDataNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::AccelerationStructureMotionInstanceDataNV, static_instance), offset_of!(structs::AccelerationStructureMotionInstanceDataNV, matrix_motion_instance), offset_of!(structs::AccelerationStructureMotionInstanceDataNV, srt_motion_instance)); - println!("AccelerationStructureMotionInstanceNV {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::AccelerationStructureMotionInstanceNV, flags), offset_of!(structs::AccelerationStructureMotionInstanceNV, data)); - println!("MemoryGetRemoteAddressInfoNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::MemoryGetRemoteAddressInfoNV, s_type), offset_of!(structs::MemoryGetRemoteAddressInfoNV, p_next), offset_of!(structs::MemoryGetRemoteAddressInfoNV, memory), offset_of!(structs::MemoryGetRemoteAddressInfoNV, handle_type)); - println!("PhysicalDeviceRGBA10X6FormatsFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceRGBA10X6FormatsFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceRGBA10X6FormatsFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceRGBA10X6FormatsFeaturesEXT, format_rgba10x6_without_y_cb_cr_sampler)); - println!("FormatProperties3 {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::FormatProperties3, s_type), offset_of!(structs::FormatProperties3, p_next), offset_of!(structs::FormatProperties3, linear_tiling_features), offset_of!(structs::FormatProperties3, optimal_tiling_features), offset_of!(structs::FormatProperties3, buffer_features)); - println!("DrmFormatModifierPropertiesList2EXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DrmFormatModifierPropertiesList2EXT, s_type), offset_of!(structs::DrmFormatModifierPropertiesList2EXT, p_next), offset_of!(structs::DrmFormatModifierPropertiesList2EXT, drm_format_modifier_count), offset_of!(structs::DrmFormatModifierPropertiesList2EXT, p_drm_format_modifier_properties)); - println!("DrmFormatModifierProperties2EXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DrmFormatModifierProperties2EXT, drm_format_modifier), offset_of!(structs::DrmFormatModifierProperties2EXT, drm_format_modifier_plane_count), offset_of!(structs::DrmFormatModifierProperties2EXT, drm_format_modifier_tiling_features)); - println!("PipelineRenderingCreateInfo {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineRenderingCreateInfo, s_type), offset_of!(structs::PipelineRenderingCreateInfo, p_next), offset_of!(structs::PipelineRenderingCreateInfo, view_mask), offset_of!(structs::PipelineRenderingCreateInfo, color_attachment_count), offset_of!(structs::PipelineRenderingCreateInfo, p_color_attachment_formats), offset_of!(structs::PipelineRenderingCreateInfo, depth_attachment_format), offset_of!(structs::PipelineRenderingCreateInfo, stencil_attachment_format)); - println!("RenderingInfo {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::RenderingInfo, s_type), offset_of!(structs::RenderingInfo, p_next), offset_of!(structs::RenderingInfo, flags), offset_of!(structs::RenderingInfo, render_area), offset_of!(structs::RenderingInfo, layer_count), offset_of!(structs::RenderingInfo, view_mask), offset_of!(structs::RenderingInfo, color_attachment_count), offset_of!(structs::RenderingInfo, p_color_attachments), offset_of!(structs::RenderingInfo, p_depth_attachment), offset_of!(structs::RenderingInfo, p_stencil_attachment)); - println!("RenderingEndInfoKHR {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::RenderingEndInfoKHR, s_type), offset_of!(structs::RenderingEndInfoKHR, p_next)); - println!("RenderingAttachmentInfo {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::RenderingAttachmentInfo, s_type), offset_of!(structs::RenderingAttachmentInfo, p_next), offset_of!(structs::RenderingAttachmentInfo, image_view), offset_of!(structs::RenderingAttachmentInfo, image_layout), offset_of!(structs::RenderingAttachmentInfo, resolve_mode), offset_of!(structs::RenderingAttachmentInfo, resolve_image_view), offset_of!(structs::RenderingAttachmentInfo, resolve_image_layout), offset_of!(structs::RenderingAttachmentInfo, load_op), offset_of!(structs::RenderingAttachmentInfo, store_op), offset_of!(structs::RenderingAttachmentInfo, clear_value)); - println!("RenderingFragmentShadingRateAttachmentInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::RenderingFragmentShadingRateAttachmentInfoKHR, s_type), offset_of!(structs::RenderingFragmentShadingRateAttachmentInfoKHR, p_next), offset_of!(structs::RenderingFragmentShadingRateAttachmentInfoKHR, image_view), offset_of!(structs::RenderingFragmentShadingRateAttachmentInfoKHR, image_layout), offset_of!(structs::RenderingFragmentShadingRateAttachmentInfoKHR, shading_rate_attachment_texel_size)); - println!("RenderingFragmentDensityMapAttachmentInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::RenderingFragmentDensityMapAttachmentInfoEXT, s_type), offset_of!(structs::RenderingFragmentDensityMapAttachmentInfoEXT, p_next), offset_of!(structs::RenderingFragmentDensityMapAttachmentInfoEXT, image_view), offset_of!(structs::RenderingFragmentDensityMapAttachmentInfoEXT, image_layout)); - println!("PhysicalDeviceDynamicRenderingFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceDynamicRenderingFeatures, s_type), offset_of!(structs::PhysicalDeviceDynamicRenderingFeatures, p_next), offset_of!(structs::PhysicalDeviceDynamicRenderingFeatures, dynamic_rendering)); - println!("CommandBufferInheritanceRenderingInfo {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CommandBufferInheritanceRenderingInfo, s_type), offset_of!(structs::CommandBufferInheritanceRenderingInfo, p_next), offset_of!(structs::CommandBufferInheritanceRenderingInfo, flags), offset_of!(structs::CommandBufferInheritanceRenderingInfo, view_mask), offset_of!(structs::CommandBufferInheritanceRenderingInfo, color_attachment_count), offset_of!(structs::CommandBufferInheritanceRenderingInfo, color_attachment_count), offset_of!(structs::CommandBufferInheritanceRenderingInfo, p_color_attachment_formats), offset_of!(structs::CommandBufferInheritanceRenderingInfo, depth_attachment_format), offset_of!(structs::CommandBufferInheritanceRenderingInfo, stencil_attachment_format), offset_of!(structs::CommandBufferInheritanceRenderingInfo, rasterization_samples)); - println!("AttachmentSampleCountInfoAMD {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::AttachmentSampleCountInfoAMD, s_type), offset_of!(structs::AttachmentSampleCountInfoAMD, p_next), offset_of!(structs::AttachmentSampleCountInfoAMD, color_attachment_count), offset_of!(structs::AttachmentSampleCountInfoAMD, p_color_attachment_samples), offset_of!(structs::AttachmentSampleCountInfoAMD, depth_stencil_attachment_samples)); - println!("MultiviewPerViewAttributesInfoNVX {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::MultiviewPerViewAttributesInfoNVX, s_type), offset_of!(structs::MultiviewPerViewAttributesInfoNVX, p_next), offset_of!(structs::MultiviewPerViewAttributesInfoNVX, per_view_attributes), offset_of!(structs::MultiviewPerViewAttributesInfoNVX, per_view_attributes_position_x_only)); - println!("PhysicalDeviceImageViewMinLodFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceImageViewMinLodFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceImageViewMinLodFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceImageViewMinLodFeaturesEXT, min_lod)); - println!("ImageViewMinLodCreateInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImageViewMinLodCreateInfoEXT, s_type), offset_of!(structs::ImageViewMinLodCreateInfoEXT, p_next), offset_of!(structs::ImageViewMinLodCreateInfoEXT, min_lod)); - println!("PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT, rasterization_order_color_attachment_access), offset_of!(structs::PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT, rasterization_order_depth_attachment_access), offset_of!(structs::PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT, rasterization_order_stencil_attachment_access)); - println!("PhysicalDeviceLinearColorAttachmentFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceLinearColorAttachmentFeaturesNV, s_type), offset_of!(structs::PhysicalDeviceLinearColorAttachmentFeaturesNV, p_next), offset_of!(structs::PhysicalDeviceLinearColorAttachmentFeaturesNV, linear_color_attachment)); - println!("PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT, graphics_pipeline_library)); - println!("PhysicalDevicePipelineBinaryFeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDevicePipelineBinaryFeaturesKHR, s_type), offset_of!(structs::PhysicalDevicePipelineBinaryFeaturesKHR, p_next), offset_of!(structs::PhysicalDevicePipelineBinaryFeaturesKHR, pipeline_binaries)); - println!("DevicePipelineBinaryInternalCacheControlKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DevicePipelineBinaryInternalCacheControlKHR, s_type), offset_of!(structs::DevicePipelineBinaryInternalCacheControlKHR, p_next), offset_of!(structs::DevicePipelineBinaryInternalCacheControlKHR, disable_internal_cache)); - println!("PhysicalDevicePipelineBinaryPropertiesKHR {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDevicePipelineBinaryPropertiesKHR, s_type), offset_of!(structs::PhysicalDevicePipelineBinaryPropertiesKHR, p_next), offset_of!(structs::PhysicalDevicePipelineBinaryPropertiesKHR, pipeline_binary_internal_cache), offset_of!(structs::PhysicalDevicePipelineBinaryPropertiesKHR, pipeline_binary_internal_cache_control), offset_of!(structs::PhysicalDevicePipelineBinaryPropertiesKHR, pipeline_binary_prefers_internal_cache), offset_of!(structs::PhysicalDevicePipelineBinaryPropertiesKHR, pipeline_binary_precompiled_internal_cache), offset_of!(structs::PhysicalDevicePipelineBinaryPropertiesKHR, pipeline_binary_compressed_data)); - println!("PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT, s_type), offset_of!(structs::PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT, p_next), offset_of!(structs::PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT, graphics_pipeline_library_fast_linking), offset_of!(structs::PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT, graphics_pipeline_library_independent_interpolation_decoration)); - println!("GraphicsPipelineLibraryCreateInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::GraphicsPipelineLibraryCreateInfoEXT, s_type), offset_of!(structs::GraphicsPipelineLibraryCreateInfoEXT, p_next), offset_of!(structs::GraphicsPipelineLibraryCreateInfoEXT, flags)); - println!("PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE, s_type), offset_of!(structs::PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE, p_next), offset_of!(structs::PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE, descriptor_set_host_mapping)); - println!("DescriptorSetBindingReferenceVALVE {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DescriptorSetBindingReferenceVALVE, s_type), offset_of!(structs::DescriptorSetBindingReferenceVALVE, p_next), offset_of!(structs::DescriptorSetBindingReferenceVALVE, descriptor_set_layout), offset_of!(structs::DescriptorSetBindingReferenceVALVE, binding)); - println!("DescriptorSetLayoutHostMappingInfoVALVE {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DescriptorSetLayoutHostMappingInfoVALVE, s_type), offset_of!(structs::DescriptorSetLayoutHostMappingInfoVALVE, p_next), offset_of!(structs::DescriptorSetLayoutHostMappingInfoVALVE, descriptor_offset), offset_of!(structs::DescriptorSetLayoutHostMappingInfoVALVE, descriptor_size)); - println!("PhysicalDeviceNestedCommandBufferFeaturesEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceNestedCommandBufferFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceNestedCommandBufferFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceNestedCommandBufferFeaturesEXT, nested_command_buffer), offset_of!(structs::PhysicalDeviceNestedCommandBufferFeaturesEXT, nested_command_buffer_rendering), offset_of!(structs::PhysicalDeviceNestedCommandBufferFeaturesEXT, nested_command_buffer_simultaneous_use)); - println!("PhysicalDeviceNestedCommandBufferPropertiesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceNestedCommandBufferPropertiesEXT, s_type), offset_of!(structs::PhysicalDeviceNestedCommandBufferPropertiesEXT, p_next), offset_of!(structs::PhysicalDeviceNestedCommandBufferPropertiesEXT, max_command_buffer_nesting_level)); - println!("PhysicalDeviceShaderModuleIdentifierFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderModuleIdentifierFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceShaderModuleIdentifierFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceShaderModuleIdentifierFeaturesEXT, shader_module_identifier)); - println!("PhysicalDeviceShaderModuleIdentifierPropertiesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderModuleIdentifierPropertiesEXT, s_type), offset_of!(structs::PhysicalDeviceShaderModuleIdentifierPropertiesEXT, p_next), offset_of!(structs::PhysicalDeviceShaderModuleIdentifierPropertiesEXT, shader_module_identifier_algorithm_uuid)); - println!("PipelineShaderStageModuleIdentifierCreateInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineShaderStageModuleIdentifierCreateInfoEXT, s_type), offset_of!(structs::PipelineShaderStageModuleIdentifierCreateInfoEXT, p_next), offset_of!(structs::PipelineShaderStageModuleIdentifierCreateInfoEXT, identifier_size), offset_of!(structs::PipelineShaderStageModuleIdentifierCreateInfoEXT, p_identifier)); - println!("ShaderModuleIdentifierEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ShaderModuleIdentifierEXT, s_type), offset_of!(structs::ShaderModuleIdentifierEXT, p_next), offset_of!(structs::ShaderModuleIdentifierEXT, identifier_size), offset_of!(structs::ShaderModuleIdentifierEXT, identifier)); - println!("ImageCompressionControlEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImageCompressionControlEXT, s_type), offset_of!(structs::ImageCompressionControlEXT, p_next), offset_of!(structs::ImageCompressionControlEXT, flags), offset_of!(structs::ImageCompressionControlEXT, compression_control_plane_count), offset_of!(structs::ImageCompressionControlEXT, p_fixed_rate_flags)); - println!("PhysicalDeviceImageCompressionControlFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceImageCompressionControlFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceImageCompressionControlFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceImageCompressionControlFeaturesEXT, image_compression_control)); - println!("ImageCompressionPropertiesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImageCompressionPropertiesEXT, s_type), offset_of!(structs::ImageCompressionPropertiesEXT, p_next), offset_of!(structs::ImageCompressionPropertiesEXT, image_compression_flags), offset_of!(structs::ImageCompressionPropertiesEXT, image_compression_fixed_rate_flags)); - println!("PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT, image_compression_control_swapchain)); - println!("ImageSubresource2 {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImageSubresource2, s_type), offset_of!(structs::ImageSubresource2, p_next), offset_of!(structs::ImageSubresource2, image_subresource)); - println!("SubresourceLayout2 {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SubresourceLayout2, s_type), offset_of!(structs::SubresourceLayout2, p_next), offset_of!(structs::SubresourceLayout2, subresource_layout)); - println!("RenderPassCreationControlEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::RenderPassCreationControlEXT, s_type), offset_of!(structs::RenderPassCreationControlEXT, p_next), offset_of!(structs::RenderPassCreationControlEXT, disallow_merging)); - println!("RenderPassCreationFeedbackInfoEXT {} {} {}", size_of::(), align_of::(), offset_of!(structs::RenderPassCreationFeedbackInfoEXT, post_merge_subpass_count)); - println!("RenderPassCreationFeedbackCreateInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::RenderPassCreationFeedbackCreateInfoEXT, s_type), offset_of!(structs::RenderPassCreationFeedbackCreateInfoEXT, p_next), offset_of!(structs::RenderPassCreationFeedbackCreateInfoEXT, p_render_pass_feedback)); - println!("RenderPassSubpassFeedbackInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::RenderPassSubpassFeedbackInfoEXT, subpass_merge_status), offset_of!(structs::RenderPassSubpassFeedbackInfoEXT, description), offset_of!(structs::RenderPassSubpassFeedbackInfoEXT, post_merge_index)); - println!("RenderPassSubpassFeedbackCreateInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::RenderPassSubpassFeedbackCreateInfoEXT, s_type), offset_of!(structs::RenderPassSubpassFeedbackCreateInfoEXT, p_next), offset_of!(structs::RenderPassSubpassFeedbackCreateInfoEXT, p_subpass_feedback)); - println!("PhysicalDeviceSubpassMergeFeedbackFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceSubpassMergeFeedbackFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceSubpassMergeFeedbackFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceSubpassMergeFeedbackFeaturesEXT, subpass_merge_feedback)); - println!("MicromapBuildInfoEXT {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::MicromapBuildInfoEXT, s_type), offset_of!(structs::MicromapBuildInfoEXT, p_next), offset_of!(structs::MicromapBuildInfoEXT, flags), offset_of!(structs::MicromapBuildInfoEXT, mode), offset_of!(structs::MicromapBuildInfoEXT, dst_micromap), offset_of!(structs::MicromapBuildInfoEXT, usage_counts_count), offset_of!(structs::MicromapBuildInfoEXT, p_usage_counts), offset_of!(structs::MicromapBuildInfoEXT, pp_usage_counts), offset_of!(structs::MicromapBuildInfoEXT, data), offset_of!(structs::MicromapBuildInfoEXT, scratch_data), offset_of!(structs::MicromapBuildInfoEXT, triangle_array), offset_of!(structs::MicromapBuildInfoEXT, triangle_array_stride)); - println!("MicromapCreateInfoEXT {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::MicromapCreateInfoEXT, s_type), offset_of!(structs::MicromapCreateInfoEXT, p_next), offset_of!(structs::MicromapCreateInfoEXT, create_flags), offset_of!(structs::MicromapCreateInfoEXT, buffer), offset_of!(structs::MicromapCreateInfoEXT, offset), offset_of!(structs::MicromapCreateInfoEXT, size), offset_of!(structs::MicromapCreateInfoEXT, device_address)); - println!("MicromapVersionInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::MicromapVersionInfoEXT, s_type), offset_of!(structs::MicromapVersionInfoEXT, p_next), offset_of!(structs::MicromapVersionInfoEXT, p_version_data)); - println!("CopyMicromapInfoEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CopyMicromapInfoEXT, s_type), offset_of!(structs::CopyMicromapInfoEXT, p_next), offset_of!(structs::CopyMicromapInfoEXT, src), offset_of!(structs::CopyMicromapInfoEXT, dst), offset_of!(structs::CopyMicromapInfoEXT, mode)); - println!("CopyMicromapToMemoryInfoEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CopyMicromapToMemoryInfoEXT, s_type), offset_of!(structs::CopyMicromapToMemoryInfoEXT, p_next), offset_of!(structs::CopyMicromapToMemoryInfoEXT, src), offset_of!(structs::CopyMicromapToMemoryInfoEXT, dst), offset_of!(structs::CopyMicromapToMemoryInfoEXT, mode)); - println!("CopyMemoryToMicromapInfoEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CopyMemoryToMicromapInfoEXT, s_type), offset_of!(structs::CopyMemoryToMicromapInfoEXT, p_next), offset_of!(structs::CopyMemoryToMicromapInfoEXT, src), offset_of!(structs::CopyMemoryToMicromapInfoEXT, dst), offset_of!(structs::CopyMemoryToMicromapInfoEXT, mode)); - println!("MicromapBuildSizesInfoEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::MicromapBuildSizesInfoEXT, s_type), offset_of!(structs::MicromapBuildSizesInfoEXT, p_next), offset_of!(structs::MicromapBuildSizesInfoEXT, micromap_size), offset_of!(structs::MicromapBuildSizesInfoEXT, build_scratch_size), offset_of!(structs::MicromapBuildSizesInfoEXT, discardable)); - println!("MicromapUsageEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::MicromapUsageEXT, count), offset_of!(structs::MicromapUsageEXT, subdivision_level), offset_of!(structs::MicromapUsageEXT, format)); - println!("MicromapTriangleEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::MicromapTriangleEXT, data_offset), offset_of!(structs::MicromapTriangleEXT, subdivision_level), offset_of!(structs::MicromapTriangleEXT, format)); - println!("PhysicalDeviceOpacityMicromapFeaturesEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceOpacityMicromapFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceOpacityMicromapFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceOpacityMicromapFeaturesEXT, micromap), offset_of!(structs::PhysicalDeviceOpacityMicromapFeaturesEXT, micromap_capture_replay), offset_of!(structs::PhysicalDeviceOpacityMicromapFeaturesEXT, micromap_host_commands)); - println!("PhysicalDeviceOpacityMicromapPropertiesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceOpacityMicromapPropertiesEXT, s_type), offset_of!(structs::PhysicalDeviceOpacityMicromapPropertiesEXT, p_next), offset_of!(structs::PhysicalDeviceOpacityMicromapPropertiesEXT, max_opacity2_state_subdivision_level), offset_of!(structs::PhysicalDeviceOpacityMicromapPropertiesEXT, max_opacity4_state_subdivision_level)); - println!("AccelerationStructureTrianglesOpacityMicromapEXT {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::AccelerationStructureTrianglesOpacityMicromapEXT, s_type), offset_of!(structs::AccelerationStructureTrianglesOpacityMicromapEXT, p_next), offset_of!(structs::AccelerationStructureTrianglesOpacityMicromapEXT, index_type), offset_of!(structs::AccelerationStructureTrianglesOpacityMicromapEXT, index_buffer), offset_of!(structs::AccelerationStructureTrianglesOpacityMicromapEXT, index_stride), offset_of!(structs::AccelerationStructureTrianglesOpacityMicromapEXT, base_triangle), offset_of!(structs::AccelerationStructureTrianglesOpacityMicromapEXT, usage_counts_count), offset_of!(structs::AccelerationStructureTrianglesOpacityMicromapEXT, p_usage_counts), offset_of!(structs::AccelerationStructureTrianglesOpacityMicromapEXT, pp_usage_counts), offset_of!(structs::AccelerationStructureTrianglesOpacityMicromapEXT, micromap)); - println!("PipelinePropertiesIdentifierEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelinePropertiesIdentifierEXT, s_type), offset_of!(structs::PipelinePropertiesIdentifierEXT, p_next), offset_of!(structs::PipelinePropertiesIdentifierEXT, pipeline_identifier)); - println!("PhysicalDevicePipelinePropertiesFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDevicePipelinePropertiesFeaturesEXT, s_type), offset_of!(structs::PhysicalDevicePipelinePropertiesFeaturesEXT, p_next), offset_of!(structs::PhysicalDevicePipelinePropertiesFeaturesEXT, pipeline_properties_identifier)); - println!("PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD, s_type), offset_of!(structs::PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD, p_next), offset_of!(structs::PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD, shader_early_and_late_fragment_tests)); - println!("ExternalMemoryAcquireUnmodifiedEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ExternalMemoryAcquireUnmodifiedEXT, s_type), offset_of!(structs::ExternalMemoryAcquireUnmodifiedEXT, p_next), offset_of!(structs::ExternalMemoryAcquireUnmodifiedEXT, acquire_unmodified_memory)); - println!("PhysicalDeviceNonSeamlessCubeMapFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceNonSeamlessCubeMapFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceNonSeamlessCubeMapFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceNonSeamlessCubeMapFeaturesEXT, non_seamless_cube_map)); - println!("PhysicalDevicePipelineRobustnessFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDevicePipelineRobustnessFeatures, s_type), offset_of!(structs::PhysicalDevicePipelineRobustnessFeatures, p_next), offset_of!(structs::PhysicalDevicePipelineRobustnessFeatures, pipeline_robustness)); - println!("PipelineRobustnessCreateInfo {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineRobustnessCreateInfo, s_type), offset_of!(structs::PipelineRobustnessCreateInfo, p_next), offset_of!(structs::PipelineRobustnessCreateInfo, storage_buffers), offset_of!(structs::PipelineRobustnessCreateInfo, uniform_buffers), offset_of!(structs::PipelineRobustnessCreateInfo, vertex_inputs), offset_of!(structs::PipelineRobustnessCreateInfo, images)); - println!("PhysicalDevicePipelineRobustnessProperties {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDevicePipelineRobustnessProperties, s_type), offset_of!(structs::PhysicalDevicePipelineRobustnessProperties, p_next), offset_of!(structs::PhysicalDevicePipelineRobustnessProperties, default_robustness_storage_buffers), offset_of!(structs::PhysicalDevicePipelineRobustnessProperties, default_robustness_uniform_buffers), offset_of!(structs::PhysicalDevicePipelineRobustnessProperties, default_robustness_vertex_inputs), offset_of!(structs::PhysicalDevicePipelineRobustnessProperties, default_robustness_images)); - println!("ImageViewSampleWeightCreateInfoQCOM {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImageViewSampleWeightCreateInfoQCOM, s_type), offset_of!(structs::ImageViewSampleWeightCreateInfoQCOM, p_next), offset_of!(structs::ImageViewSampleWeightCreateInfoQCOM, filter_center), offset_of!(structs::ImageViewSampleWeightCreateInfoQCOM, filter_size), offset_of!(structs::ImageViewSampleWeightCreateInfoQCOM, num_phases)); - println!("PhysicalDeviceImageProcessingFeaturesQCOM {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceImageProcessingFeaturesQCOM, s_type), offset_of!(structs::PhysicalDeviceImageProcessingFeaturesQCOM, p_next), offset_of!(structs::PhysicalDeviceImageProcessingFeaturesQCOM, texture_sample_weighted), offset_of!(structs::PhysicalDeviceImageProcessingFeaturesQCOM, texture_box_filter), offset_of!(structs::PhysicalDeviceImageProcessingFeaturesQCOM, texture_block_match)); - println!("PhysicalDeviceImageProcessingPropertiesQCOM {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceImageProcessingPropertiesQCOM, s_type), offset_of!(structs::PhysicalDeviceImageProcessingPropertiesQCOM, p_next), offset_of!(structs::PhysicalDeviceImageProcessingPropertiesQCOM, max_weight_filter_phases), offset_of!(structs::PhysicalDeviceImageProcessingPropertiesQCOM, max_weight_filter_dimension), offset_of!(structs::PhysicalDeviceImageProcessingPropertiesQCOM, max_block_match_region), offset_of!(structs::PhysicalDeviceImageProcessingPropertiesQCOM, max_box_filter_block_size)); - println!("PhysicalDeviceTilePropertiesFeaturesQCOM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceTilePropertiesFeaturesQCOM, s_type), offset_of!(structs::PhysicalDeviceTilePropertiesFeaturesQCOM, p_next), offset_of!(structs::PhysicalDeviceTilePropertiesFeaturesQCOM, tile_properties)); - println!("TilePropertiesQCOM {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::TilePropertiesQCOM, s_type), offset_of!(structs::TilePropertiesQCOM, p_next), offset_of!(structs::TilePropertiesQCOM, tile_size), offset_of!(structs::TilePropertiesQCOM, apron_size), offset_of!(structs::TilePropertiesQCOM, origin)); - println!("TileMemoryBindInfoQCOM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::TileMemoryBindInfoQCOM, s_type), offset_of!(structs::TileMemoryBindInfoQCOM, p_next), offset_of!(structs::TileMemoryBindInfoQCOM, memory)); - println!("PhysicalDeviceAmigoProfilingFeaturesSEC {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceAmigoProfilingFeaturesSEC, s_type), offset_of!(structs::PhysicalDeviceAmigoProfilingFeaturesSEC, p_next), offset_of!(structs::PhysicalDeviceAmigoProfilingFeaturesSEC, amigo_profiling)); - println!("AmigoProfilingSubmitInfoSEC {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::AmigoProfilingSubmitInfoSEC, s_type), offset_of!(structs::AmigoProfilingSubmitInfoSEC, p_next), offset_of!(structs::AmigoProfilingSubmitInfoSEC, first_draw_timestamp), offset_of!(structs::AmigoProfilingSubmitInfoSEC, swap_buffer_timestamp)); - println!("PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT, attachment_feedback_loop_layout)); - println!("AttachmentFeedbackLoopInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::AttachmentFeedbackLoopInfoEXT, s_type), offset_of!(structs::AttachmentFeedbackLoopInfoEXT, p_next), offset_of!(structs::AttachmentFeedbackLoopInfoEXT, feedback_loop_enable)); - println!("PhysicalDeviceAddressBindingReportFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceAddressBindingReportFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceAddressBindingReportFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceAddressBindingReportFeaturesEXT, report_address_binding)); - println!("RenderingAttachmentFlagsInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::RenderingAttachmentFlagsInfoKHR, s_type), offset_of!(structs::RenderingAttachmentFlagsInfoKHR, p_next), offset_of!(structs::RenderingAttachmentFlagsInfoKHR, flags)); - println!("ResolveImageModeInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ResolveImageModeInfoKHR, s_type), offset_of!(structs::ResolveImageModeInfoKHR, p_next), offset_of!(structs::ResolveImageModeInfoKHR, flags), offset_of!(structs::ResolveImageModeInfoKHR, resolve_mode), offset_of!(structs::ResolveImageModeInfoKHR, stencil_resolve_mode)); - println!("DeviceAddressBindingCallbackDataEXT {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DeviceAddressBindingCallbackDataEXT, s_type), offset_of!(structs::DeviceAddressBindingCallbackDataEXT, p_next), offset_of!(structs::DeviceAddressBindingCallbackDataEXT, flags), offset_of!(structs::DeviceAddressBindingCallbackDataEXT, base_address), offset_of!(structs::DeviceAddressBindingCallbackDataEXT, size), offset_of!(structs::DeviceAddressBindingCallbackDataEXT, binding_type)); - println!("PhysicalDeviceOpticalFlowFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceOpticalFlowFeaturesNV, s_type), offset_of!(structs::PhysicalDeviceOpticalFlowFeaturesNV, p_next), offset_of!(structs::PhysicalDeviceOpticalFlowFeaturesNV, optical_flow)); - println!("PhysicalDeviceOpticalFlowPropertiesNV {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceOpticalFlowPropertiesNV, s_type), offset_of!(structs::PhysicalDeviceOpticalFlowPropertiesNV, p_next), offset_of!(structs::PhysicalDeviceOpticalFlowPropertiesNV, supported_output_grid_sizes), offset_of!(structs::PhysicalDeviceOpticalFlowPropertiesNV, supported_hint_grid_sizes), offset_of!(structs::PhysicalDeviceOpticalFlowPropertiesNV, hint_supported), offset_of!(structs::PhysicalDeviceOpticalFlowPropertiesNV, cost_supported), offset_of!(structs::PhysicalDeviceOpticalFlowPropertiesNV, bidirectional_flow_supported), offset_of!(structs::PhysicalDeviceOpticalFlowPropertiesNV, global_flow_supported), offset_of!(structs::PhysicalDeviceOpticalFlowPropertiesNV, min_width), offset_of!(structs::PhysicalDeviceOpticalFlowPropertiesNV, min_height), offset_of!(structs::PhysicalDeviceOpticalFlowPropertiesNV, max_width), offset_of!(structs::PhysicalDeviceOpticalFlowPropertiesNV, max_height), offset_of!(structs::PhysicalDeviceOpticalFlowPropertiesNV, max_num_regions_of_interest)); - println!("OpticalFlowImageFormatInfoNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::OpticalFlowImageFormatInfoNV, s_type), offset_of!(structs::OpticalFlowImageFormatInfoNV, p_next), offset_of!(structs::OpticalFlowImageFormatInfoNV, usage)); - println!("OpticalFlowImageFormatPropertiesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::OpticalFlowImageFormatPropertiesNV, s_type), offset_of!(structs::OpticalFlowImageFormatPropertiesNV, p_next), offset_of!(structs::OpticalFlowImageFormatPropertiesNV, format)); - println!("OpticalFlowSessionCreateInfoNV {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::OpticalFlowSessionCreateInfoNV, s_type), offset_of!(structs::OpticalFlowSessionCreateInfoNV, p_next), offset_of!(structs::OpticalFlowSessionCreateInfoNV, width), offset_of!(structs::OpticalFlowSessionCreateInfoNV, height), offset_of!(structs::OpticalFlowSessionCreateInfoNV, image_format), offset_of!(structs::OpticalFlowSessionCreateInfoNV, flow_vector_format), offset_of!(structs::OpticalFlowSessionCreateInfoNV, cost_format), offset_of!(structs::OpticalFlowSessionCreateInfoNV, output_grid_size), offset_of!(structs::OpticalFlowSessionCreateInfoNV, hint_grid_size), offset_of!(structs::OpticalFlowSessionCreateInfoNV, performance_level), offset_of!(structs::OpticalFlowSessionCreateInfoNV, flags)); - println!("OpticalFlowSessionCreatePrivateDataInfoNV {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::OpticalFlowSessionCreatePrivateDataInfoNV, s_type), offset_of!(structs::OpticalFlowSessionCreatePrivateDataInfoNV, p_next), offset_of!(structs::OpticalFlowSessionCreatePrivateDataInfoNV, id), offset_of!(structs::OpticalFlowSessionCreatePrivateDataInfoNV, size), offset_of!(structs::OpticalFlowSessionCreatePrivateDataInfoNV, p_private_data)); - println!("OpticalFlowExecuteInfoNV {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::OpticalFlowExecuteInfoNV, s_type), offset_of!(structs::OpticalFlowExecuteInfoNV, p_next), offset_of!(structs::OpticalFlowExecuteInfoNV, flags), offset_of!(structs::OpticalFlowExecuteInfoNV, region_count), offset_of!(structs::OpticalFlowExecuteInfoNV, p_regions)); - println!("PhysicalDeviceFaultFeaturesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceFaultFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceFaultFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceFaultFeaturesEXT, device_fault), offset_of!(structs::PhysicalDeviceFaultFeaturesEXT, device_fault_vendor_binary)); - println!("DeviceFaultAddressInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DeviceFaultAddressInfoKHR, address_type), offset_of!(structs::DeviceFaultAddressInfoKHR, reported_address), offset_of!(structs::DeviceFaultAddressInfoKHR, address_precision)); - println!("DeviceFaultVendorInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DeviceFaultVendorInfoKHR, description), offset_of!(structs::DeviceFaultVendorInfoKHR, vendor_fault_code), offset_of!(structs::DeviceFaultVendorInfoKHR, vendor_fault_data)); - println!("DeviceFaultInfoKHR {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DeviceFaultInfoKHR, s_type), offset_of!(structs::DeviceFaultInfoKHR, p_next), offset_of!(structs::DeviceFaultInfoKHR, flags), offset_of!(structs::DeviceFaultInfoKHR, group_id), offset_of!(structs::DeviceFaultInfoKHR, description), offset_of!(structs::DeviceFaultInfoKHR, fault_address_info), offset_of!(structs::DeviceFaultInfoKHR, instruction_address_info), offset_of!(structs::DeviceFaultInfoKHR, vendor_info)); - println!("DeviceFaultDebugInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DeviceFaultDebugInfoKHR, s_type), offset_of!(structs::DeviceFaultDebugInfoKHR, p_next), offset_of!(structs::DeviceFaultDebugInfoKHR, vendor_binary_size), offset_of!(structs::DeviceFaultDebugInfoKHR, p_vendor_binary_data)); - println!("DeviceFaultCountsEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DeviceFaultCountsEXT, s_type), offset_of!(structs::DeviceFaultCountsEXT, p_next), offset_of!(structs::DeviceFaultCountsEXT, address_info_count), offset_of!(structs::DeviceFaultCountsEXT, vendor_info_count), offset_of!(structs::DeviceFaultCountsEXT, vendor_binary_size)); - println!("DeviceFaultInfoEXT {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DeviceFaultInfoEXT, s_type), offset_of!(structs::DeviceFaultInfoEXT, p_next), offset_of!(structs::DeviceFaultInfoEXT, description), offset_of!(structs::DeviceFaultInfoEXT, p_address_infos), offset_of!(structs::DeviceFaultInfoEXT, p_vendor_infos), offset_of!(structs::DeviceFaultInfoEXT, p_vendor_binary_data)); - println!("DeviceFaultVendorBinaryHeaderVersionOneKHR {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DeviceFaultVendorBinaryHeaderVersionOneKHR, header_size), offset_of!(structs::DeviceFaultVendorBinaryHeaderVersionOneKHR, header_version), offset_of!(structs::DeviceFaultVendorBinaryHeaderVersionOneKHR, vendor_id), offset_of!(structs::DeviceFaultVendorBinaryHeaderVersionOneKHR, device_id), offset_of!(structs::DeviceFaultVendorBinaryHeaderVersionOneKHR, driver_version), offset_of!(structs::DeviceFaultVendorBinaryHeaderVersionOneKHR, pipeline_cache_uuid), offset_of!(structs::DeviceFaultVendorBinaryHeaderVersionOneKHR, application_name_offset), offset_of!(structs::DeviceFaultVendorBinaryHeaderVersionOneKHR, application_version), offset_of!(structs::DeviceFaultVendorBinaryHeaderVersionOneKHR, engine_name_offset), offset_of!(structs::DeviceFaultVendorBinaryHeaderVersionOneKHR, engine_version), offset_of!(structs::DeviceFaultVendorBinaryHeaderVersionOneKHR, api_version)); - println!("PhysicalDeviceFaultFeaturesKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceFaultFeaturesKHR, s_type), offset_of!(structs::PhysicalDeviceFaultFeaturesKHR, p_next), offset_of!(structs::PhysicalDeviceFaultFeaturesKHR, device_fault), offset_of!(structs::PhysicalDeviceFaultFeaturesKHR, device_fault_vendor_binary), offset_of!(structs::PhysicalDeviceFaultFeaturesKHR, device_fault_report_masked), offset_of!(structs::PhysicalDeviceFaultFeaturesKHR, device_fault_device_lost_on_masked)); - println!("PhysicalDeviceFaultPropertiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceFaultPropertiesKHR, s_type), offset_of!(structs::PhysicalDeviceFaultPropertiesKHR, p_next), offset_of!(structs::PhysicalDeviceFaultPropertiesKHR, max_device_fault_count)); - println!("PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT, s_type), offset_of!(structs::PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT, p_next), offset_of!(structs::PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT, pipeline_library_group_handles)); - println!("DepthBiasInfoEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DepthBiasInfoEXT, s_type), offset_of!(structs::DepthBiasInfoEXT, p_next), offset_of!(structs::DepthBiasInfoEXT, depth_bias_constant_factor), offset_of!(structs::DepthBiasInfoEXT, depth_bias_clamp), offset_of!(structs::DepthBiasInfoEXT, depth_bias_slope_factor)); - println!("DepthBiasRepresentationInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DepthBiasRepresentationInfoEXT, s_type), offset_of!(structs::DepthBiasRepresentationInfoEXT, p_next), offset_of!(structs::DepthBiasRepresentationInfoEXT, depth_bias_representation), offset_of!(structs::DepthBiasRepresentationInfoEXT, depth_bias_exact)); - println!("DecompressMemoryRegionNV {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DecompressMemoryRegionNV, src_address), offset_of!(structs::DecompressMemoryRegionNV, dst_address), offset_of!(structs::DecompressMemoryRegionNV, compressed_size), offset_of!(structs::DecompressMemoryRegionNV, decompressed_size), offset_of!(structs::DecompressMemoryRegionNV, decompression_method)); - println!("DecompressMemoryRegionEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DecompressMemoryRegionEXT, src_address), offset_of!(structs::DecompressMemoryRegionEXT, dst_address), offset_of!(structs::DecompressMemoryRegionEXT, compressed_size), offset_of!(structs::DecompressMemoryRegionEXT, decompressed_size)); - println!("DecompressMemoryInfoEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DecompressMemoryInfoEXT, s_type), offset_of!(structs::DecompressMemoryInfoEXT, p_next), offset_of!(structs::DecompressMemoryInfoEXT, decompression_method), offset_of!(structs::DecompressMemoryInfoEXT, region_count), offset_of!(structs::DecompressMemoryInfoEXT, p_regions)); - println!("PhysicalDeviceShaderCoreBuiltinsPropertiesARM {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderCoreBuiltinsPropertiesARM, s_type), offset_of!(structs::PhysicalDeviceShaderCoreBuiltinsPropertiesARM, p_next), offset_of!(structs::PhysicalDeviceShaderCoreBuiltinsPropertiesARM, shader_core_mask), offset_of!(structs::PhysicalDeviceShaderCoreBuiltinsPropertiesARM, shader_core_count), offset_of!(structs::PhysicalDeviceShaderCoreBuiltinsPropertiesARM, shader_warps_per_core)); - println!("PhysicalDeviceShaderCoreBuiltinsFeaturesARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderCoreBuiltinsFeaturesARM, s_type), offset_of!(structs::PhysicalDeviceShaderCoreBuiltinsFeaturesARM, p_next), offset_of!(structs::PhysicalDeviceShaderCoreBuiltinsFeaturesARM, shader_core_builtins)); - println!("FrameBoundaryEXT {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::FrameBoundaryEXT, s_type), offset_of!(structs::FrameBoundaryEXT, p_next), offset_of!(structs::FrameBoundaryEXT, flags), offset_of!(structs::FrameBoundaryEXT, frame_id), offset_of!(structs::FrameBoundaryEXT, image_count), offset_of!(structs::FrameBoundaryEXT, p_images), offset_of!(structs::FrameBoundaryEXT, buffer_count), offset_of!(structs::FrameBoundaryEXT, p_buffers), offset_of!(structs::FrameBoundaryEXT, tag_name), offset_of!(structs::FrameBoundaryEXT, tag_size), offset_of!(structs::FrameBoundaryEXT, p_tag)); - println!("PhysicalDeviceFrameBoundaryFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceFrameBoundaryFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceFrameBoundaryFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceFrameBoundaryFeaturesEXT, frame_boundary)); - println!("PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT, dynamic_rendering_unused_attachments)); - println!("PhysicalDeviceInternallySynchronizedQueuesFeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceInternallySynchronizedQueuesFeaturesKHR, s_type), offset_of!(structs::PhysicalDeviceInternallySynchronizedQueuesFeaturesKHR, p_next), offset_of!(structs::PhysicalDeviceInternallySynchronizedQueuesFeaturesKHR, internally_synchronized_queues)); - println!("SurfacePresentModeKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SurfacePresentModeKHR, s_type), offset_of!(structs::SurfacePresentModeKHR, p_next), offset_of!(structs::SurfacePresentModeKHR, present_mode)); - println!("SurfacePresentScalingCapabilitiesKHR {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SurfacePresentScalingCapabilitiesKHR, s_type), offset_of!(structs::SurfacePresentScalingCapabilitiesKHR, p_next), offset_of!(structs::SurfacePresentScalingCapabilitiesKHR, supported_present_scaling), offset_of!(structs::SurfacePresentScalingCapabilitiesKHR, supported_present_gravity_x), offset_of!(structs::SurfacePresentScalingCapabilitiesKHR, supported_present_gravity_y), offset_of!(structs::SurfacePresentScalingCapabilitiesKHR, min_scaled_image_extent), offset_of!(structs::SurfacePresentScalingCapabilitiesKHR, max_scaled_image_extent)); - println!("SurfacePresentModeCompatibilityKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SurfacePresentModeCompatibilityKHR, s_type), offset_of!(structs::SurfacePresentModeCompatibilityKHR, p_next), offset_of!(structs::SurfacePresentModeCompatibilityKHR, present_mode_count), offset_of!(structs::SurfacePresentModeCompatibilityKHR, p_present_modes)); - println!("PhysicalDeviceSwapchainMaintenance1FeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceSwapchainMaintenance1FeaturesKHR, s_type), offset_of!(structs::PhysicalDeviceSwapchainMaintenance1FeaturesKHR, p_next), offset_of!(structs::PhysicalDeviceSwapchainMaintenance1FeaturesKHR, swapchain_maintenance1)); - println!("SwapchainPresentFenceInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SwapchainPresentFenceInfoKHR, s_type), offset_of!(structs::SwapchainPresentFenceInfoKHR, p_next), offset_of!(structs::SwapchainPresentFenceInfoKHR, swapchain_count), offset_of!(structs::SwapchainPresentFenceInfoKHR, p_fences)); - println!("SwapchainPresentModesCreateInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SwapchainPresentModesCreateInfoKHR, s_type), offset_of!(structs::SwapchainPresentModesCreateInfoKHR, p_next), offset_of!(structs::SwapchainPresentModesCreateInfoKHR, present_mode_count), offset_of!(structs::SwapchainPresentModesCreateInfoKHR, p_present_modes)); - println!("SwapchainPresentModeInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SwapchainPresentModeInfoKHR, s_type), offset_of!(structs::SwapchainPresentModeInfoKHR, p_next), offset_of!(structs::SwapchainPresentModeInfoKHR, swapchain_count), offset_of!(structs::SwapchainPresentModeInfoKHR, p_present_modes)); - println!("SwapchainPresentScalingCreateInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SwapchainPresentScalingCreateInfoKHR, s_type), offset_of!(structs::SwapchainPresentScalingCreateInfoKHR, p_next), offset_of!(structs::SwapchainPresentScalingCreateInfoKHR, scaling_behavior), offset_of!(structs::SwapchainPresentScalingCreateInfoKHR, present_gravity_x), offset_of!(structs::SwapchainPresentScalingCreateInfoKHR, present_gravity_y)); - println!("ReleaseSwapchainImagesInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ReleaseSwapchainImagesInfoKHR, s_type), offset_of!(structs::ReleaseSwapchainImagesInfoKHR, p_next), offset_of!(structs::ReleaseSwapchainImagesInfoKHR, swapchain), offset_of!(structs::ReleaseSwapchainImagesInfoKHR, image_index_count), offset_of!(structs::ReleaseSwapchainImagesInfoKHR, p_image_indices)); - println!("PhysicalDeviceDepthBiasControlFeaturesEXT {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceDepthBiasControlFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceDepthBiasControlFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceDepthBiasControlFeaturesEXT, depth_bias_control), offset_of!(structs::PhysicalDeviceDepthBiasControlFeaturesEXT, least_representable_value_force_unorm_representation), offset_of!(structs::PhysicalDeviceDepthBiasControlFeaturesEXT, float_representation), offset_of!(structs::PhysicalDeviceDepthBiasControlFeaturesEXT, depth_bias_exact)); - println!("PhysicalDeviceRayTracingInvocationReorderFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceRayTracingInvocationReorderFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceRayTracingInvocationReorderFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceRayTracingInvocationReorderFeaturesEXT, ray_tracing_invocation_reorder)); - println!("PhysicalDeviceRayTracingInvocationReorderFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceRayTracingInvocationReorderFeaturesNV, s_type), offset_of!(structs::PhysicalDeviceRayTracingInvocationReorderFeaturesNV, p_next), offset_of!(structs::PhysicalDeviceRayTracingInvocationReorderFeaturesNV, ray_tracing_invocation_reorder)); - println!("PhysicalDeviceRayTracingInvocationReorderPropertiesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceRayTracingInvocationReorderPropertiesEXT, s_type), offset_of!(structs::PhysicalDeviceRayTracingInvocationReorderPropertiesEXT, p_next), offset_of!(structs::PhysicalDeviceRayTracingInvocationReorderPropertiesEXT, ray_tracing_invocation_reorder_reordering_hint), offset_of!(structs::PhysicalDeviceRayTracingInvocationReorderPropertiesEXT, max_shader_binding_table_record_index)); - println!("PhysicalDeviceRayTracingInvocationReorderPropertiesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceRayTracingInvocationReorderPropertiesNV, s_type), offset_of!(structs::PhysicalDeviceRayTracingInvocationReorderPropertiesNV, p_next), offset_of!(structs::PhysicalDeviceRayTracingInvocationReorderPropertiesNV, ray_tracing_invocation_reorder_reordering_hint)); - println!("PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV, s_type), offset_of!(structs::PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV, p_next), offset_of!(structs::PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV, extended_sparse_address_space)); - println!("PhysicalDeviceExtendedSparseAddressSpacePropertiesNV {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceExtendedSparseAddressSpacePropertiesNV, s_type), offset_of!(structs::PhysicalDeviceExtendedSparseAddressSpacePropertiesNV, p_next), offset_of!(structs::PhysicalDeviceExtendedSparseAddressSpacePropertiesNV, extended_sparse_address_space_size), offset_of!(structs::PhysicalDeviceExtendedSparseAddressSpacePropertiesNV, extended_sparse_image_usage_flags), offset_of!(structs::PhysicalDeviceExtendedSparseAddressSpacePropertiesNV, extended_sparse_buffer_usage_flags)); - println!("DirectDriverLoadingInfoLUNARG {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DirectDriverLoadingInfoLUNARG, s_type), offset_of!(structs::DirectDriverLoadingInfoLUNARG, p_next), offset_of!(structs::DirectDriverLoadingInfoLUNARG, flags), offset_of!(structs::DirectDriverLoadingInfoLUNARG, pfn_get_instance_proc_addr)); - println!("DirectDriverLoadingListLUNARG {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DirectDriverLoadingListLUNARG, s_type), offset_of!(structs::DirectDriverLoadingListLUNARG, p_next), offset_of!(structs::DirectDriverLoadingListLUNARG, mode), offset_of!(structs::DirectDriverLoadingListLUNARG, driver_count), offset_of!(structs::DirectDriverLoadingListLUNARG, p_drivers)); - println!("PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM, s_type), offset_of!(structs::PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM, p_next), offset_of!(structs::PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM, multiview_per_view_viewports)); - println!("PhysicalDeviceRayTracingPositionFetchFeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceRayTracingPositionFetchFeaturesKHR, s_type), offset_of!(structs::PhysicalDeviceRayTracingPositionFetchFeaturesKHR, p_next), offset_of!(structs::PhysicalDeviceRayTracingPositionFetchFeaturesKHR, ray_tracing_position_fetch)); - println!("DeviceImageSubresourceInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DeviceImageSubresourceInfo, s_type), offset_of!(structs::DeviceImageSubresourceInfo, p_next), offset_of!(structs::DeviceImageSubresourceInfo, p_create_info), offset_of!(structs::DeviceImageSubresourceInfo, p_subresource)); - println!("PhysicalDeviceShaderCorePropertiesARM {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderCorePropertiesARM, s_type), offset_of!(structs::PhysicalDeviceShaderCorePropertiesARM, p_next), offset_of!(structs::PhysicalDeviceShaderCorePropertiesARM, pixel_rate), offset_of!(structs::PhysicalDeviceShaderCorePropertiesARM, texel_rate), offset_of!(structs::PhysicalDeviceShaderCorePropertiesARM, fma_rate)); - println!("PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM, s_type), offset_of!(structs::PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM, p_next), offset_of!(structs::PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM, multiview_per_view_render_areas)); - println!("MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM, s_type), offset_of!(structs::MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM, p_next), offset_of!(structs::MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM, per_view_render_area_count), offset_of!(structs::MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM, p_per_view_render_areas)); - println!("QueryLowLatencySupportNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::QueryLowLatencySupportNV, s_type), offset_of!(structs::QueryLowLatencySupportNV, p_next), offset_of!(structs::QueryLowLatencySupportNV, p_queried_low_latency_data)); - println!("MemoryMapInfo {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::MemoryMapInfo, s_type), offset_of!(structs::MemoryMapInfo, p_next), offset_of!(structs::MemoryMapInfo, flags), offset_of!(structs::MemoryMapInfo, memory), offset_of!(structs::MemoryMapInfo, offset), offset_of!(structs::MemoryMapInfo, size)); - println!("MemoryUnmapInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::MemoryUnmapInfo, s_type), offset_of!(structs::MemoryUnmapInfo, p_next), offset_of!(structs::MemoryUnmapInfo, flags), offset_of!(structs::MemoryUnmapInfo, memory)); - println!("PhysicalDeviceShaderObjectFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderObjectFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceShaderObjectFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceShaderObjectFeaturesEXT, shader_object)); - println!("PhysicalDeviceShaderObjectPropertiesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderObjectPropertiesEXT, s_type), offset_of!(structs::PhysicalDeviceShaderObjectPropertiesEXT, p_next), offset_of!(structs::PhysicalDeviceShaderObjectPropertiesEXT, shader_binary_uuid), offset_of!(structs::PhysicalDeviceShaderObjectPropertiesEXT, shader_binary_version)); - println!("ShaderCreateInfoEXT {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ShaderCreateInfoEXT, s_type), offset_of!(structs::ShaderCreateInfoEXT, p_next), offset_of!(structs::ShaderCreateInfoEXT, flags), offset_of!(structs::ShaderCreateInfoEXT, stage), offset_of!(structs::ShaderCreateInfoEXT, next_stage), offset_of!(structs::ShaderCreateInfoEXT, code_type), offset_of!(structs::ShaderCreateInfoEXT, code_size), offset_of!(structs::ShaderCreateInfoEXT, p_code), offset_of!(structs::ShaderCreateInfoEXT, p_name), offset_of!(structs::ShaderCreateInfoEXT, set_layout_count), offset_of!(structs::ShaderCreateInfoEXT, p_set_layouts), offset_of!(structs::ShaderCreateInfoEXT, push_constant_range_count), offset_of!(structs::ShaderCreateInfoEXT, p_push_constant_ranges), offset_of!(structs::ShaderCreateInfoEXT, p_specialization_info)); - println!("PhysicalDeviceShaderTileImageFeaturesEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderTileImageFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceShaderTileImageFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceShaderTileImageFeaturesEXT, shader_tile_image_color_read_access), offset_of!(structs::PhysicalDeviceShaderTileImageFeaturesEXT, shader_tile_image_depth_read_access), offset_of!(structs::PhysicalDeviceShaderTileImageFeaturesEXT, shader_tile_image_stencil_read_access)); - println!("PhysicalDeviceShaderTileImagePropertiesEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderTileImagePropertiesEXT, s_type), offset_of!(structs::PhysicalDeviceShaderTileImagePropertiesEXT, p_next), offset_of!(structs::PhysicalDeviceShaderTileImagePropertiesEXT, shader_tile_image_coherent_read_accelerated), offset_of!(structs::PhysicalDeviceShaderTileImagePropertiesEXT, shader_tile_image_read_sample_from_pixel_rate_invocation), offset_of!(structs::PhysicalDeviceShaderTileImagePropertiesEXT, shader_tile_image_read_from_helper_invocation)); - println!("PhysicalDeviceCooperativeMatrixFeaturesKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceCooperativeMatrixFeaturesKHR, s_type), offset_of!(structs::PhysicalDeviceCooperativeMatrixFeaturesKHR, p_next), offset_of!(structs::PhysicalDeviceCooperativeMatrixFeaturesKHR, cooperative_matrix), offset_of!(structs::PhysicalDeviceCooperativeMatrixFeaturesKHR, cooperative_matrix_robust_buffer_access)); - println!("CooperativeMatrixPropertiesKHR {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CooperativeMatrixPropertiesKHR, s_type), offset_of!(structs::CooperativeMatrixPropertiesKHR, p_next), offset_of!(structs::CooperativeMatrixPropertiesKHR, m_size), offset_of!(structs::CooperativeMatrixPropertiesKHR, n_size), offset_of!(structs::CooperativeMatrixPropertiesKHR, k_size), offset_of!(structs::CooperativeMatrixPropertiesKHR, a_type), offset_of!(structs::CooperativeMatrixPropertiesKHR, b_type), offset_of!(structs::CooperativeMatrixPropertiesKHR, c_type), offset_of!(structs::CooperativeMatrixPropertiesKHR, result_type), offset_of!(structs::CooperativeMatrixPropertiesKHR, saturating_accumulation), offset_of!(structs::CooperativeMatrixPropertiesKHR, scope)); - println!("PhysicalDeviceCooperativeMatrixPropertiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceCooperativeMatrixPropertiesKHR, s_type), offset_of!(structs::PhysicalDeviceCooperativeMatrixPropertiesKHR, p_next), offset_of!(structs::PhysicalDeviceCooperativeMatrixPropertiesKHR, cooperative_matrix_supported_stages)); - println!("PhysicalDeviceCooperativeMatrixConversionFeaturesQCOM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceCooperativeMatrixConversionFeaturesQCOM, s_type), offset_of!(structs::PhysicalDeviceCooperativeMatrixConversionFeaturesQCOM, p_next), offset_of!(structs::PhysicalDeviceCooperativeMatrixConversionFeaturesQCOM, cooperative_matrix_conversion)); - println!("PhysicalDeviceAntiLagFeaturesAMD {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceAntiLagFeaturesAMD, s_type), offset_of!(structs::PhysicalDeviceAntiLagFeaturesAMD, p_next), offset_of!(structs::PhysicalDeviceAntiLagFeaturesAMD, anti_lag)); - println!("AntiLagDataAMD {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::AntiLagDataAMD, s_type), offset_of!(structs::AntiLagDataAMD, p_next), offset_of!(structs::AntiLagDataAMD, mode), offset_of!(structs::AntiLagDataAMD, max_fps), offset_of!(structs::AntiLagDataAMD, p_presentation_info)); - println!("AntiLagPresentationInfoAMD {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::AntiLagPresentationInfoAMD, s_type), offset_of!(structs::AntiLagPresentationInfoAMD, p_next), offset_of!(structs::AntiLagPresentationInfoAMD, stage), offset_of!(structs::AntiLagPresentationInfoAMD, frame_index)); - println!("BindMemoryStatus {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BindMemoryStatus, s_type), offset_of!(structs::BindMemoryStatus, p_next), offset_of!(structs::BindMemoryStatus, p_result)); - println!("PhysicalDeviceTileMemoryHeapFeaturesQCOM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceTileMemoryHeapFeaturesQCOM, s_type), offset_of!(structs::PhysicalDeviceTileMemoryHeapFeaturesQCOM, p_next), offset_of!(structs::PhysicalDeviceTileMemoryHeapFeaturesQCOM, tile_memory_heap)); - println!("PhysicalDeviceTileMemoryHeapPropertiesQCOM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceTileMemoryHeapPropertiesQCOM, s_type), offset_of!(structs::PhysicalDeviceTileMemoryHeapPropertiesQCOM, p_next), offset_of!(structs::PhysicalDeviceTileMemoryHeapPropertiesQCOM, queue_submit_boundary), offset_of!(structs::PhysicalDeviceTileMemoryHeapPropertiesQCOM, tile_buffer_transfers)); - println!("TileMemorySizeInfoQCOM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::TileMemorySizeInfoQCOM, s_type), offset_of!(structs::TileMemorySizeInfoQCOM, p_next), offset_of!(structs::TileMemorySizeInfoQCOM, size)); - println!("TileMemoryRequirementsQCOM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::TileMemoryRequirementsQCOM, s_type), offset_of!(structs::TileMemoryRequirementsQCOM, p_next), offset_of!(structs::TileMemoryRequirementsQCOM, size), offset_of!(structs::TileMemoryRequirementsQCOM, alignment)); - println!("BindDescriptorSetsInfo {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BindDescriptorSetsInfo, s_type), offset_of!(structs::BindDescriptorSetsInfo, p_next), offset_of!(structs::BindDescriptorSetsInfo, stage_flags), offset_of!(structs::BindDescriptorSetsInfo, layout), offset_of!(structs::BindDescriptorSetsInfo, first_set), offset_of!(structs::BindDescriptorSetsInfo, descriptor_set_count), offset_of!(structs::BindDescriptorSetsInfo, p_descriptor_sets), offset_of!(structs::BindDescriptorSetsInfo, dynamic_offset_count), offset_of!(structs::BindDescriptorSetsInfo, p_dynamic_offsets)); - println!("PushConstantsInfo {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PushConstantsInfo, s_type), offset_of!(structs::PushConstantsInfo, p_next), offset_of!(structs::PushConstantsInfo, layout), offset_of!(structs::PushConstantsInfo, stage_flags), offset_of!(structs::PushConstantsInfo, offset), offset_of!(structs::PushConstantsInfo, size), offset_of!(structs::PushConstantsInfo, p_values)); - println!("PushDescriptorSetInfo {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PushDescriptorSetInfo, s_type), offset_of!(structs::PushDescriptorSetInfo, p_next), offset_of!(structs::PushDescriptorSetInfo, stage_flags), offset_of!(structs::PushDescriptorSetInfo, layout), offset_of!(structs::PushDescriptorSetInfo, set), offset_of!(structs::PushDescriptorSetInfo, descriptor_write_count), offset_of!(structs::PushDescriptorSetInfo, p_descriptor_writes)); - println!("PushDescriptorSetWithTemplateInfo {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PushDescriptorSetWithTemplateInfo, s_type), offset_of!(structs::PushDescriptorSetWithTemplateInfo, p_next), offset_of!(structs::PushDescriptorSetWithTemplateInfo, descriptor_update_template), offset_of!(structs::PushDescriptorSetWithTemplateInfo, layout), offset_of!(structs::PushDescriptorSetWithTemplateInfo, set), offset_of!(structs::PushDescriptorSetWithTemplateInfo, p_data)); - println!("SetDescriptorBufferOffsetsInfoEXT {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SetDescriptorBufferOffsetsInfoEXT, s_type), offset_of!(structs::SetDescriptorBufferOffsetsInfoEXT, p_next), offset_of!(structs::SetDescriptorBufferOffsetsInfoEXT, stage_flags), offset_of!(structs::SetDescriptorBufferOffsetsInfoEXT, layout), offset_of!(structs::SetDescriptorBufferOffsetsInfoEXT, first_set), offset_of!(structs::SetDescriptorBufferOffsetsInfoEXT, set_count), offset_of!(structs::SetDescriptorBufferOffsetsInfoEXT, p_buffer_indices), offset_of!(structs::SetDescriptorBufferOffsetsInfoEXT, p_offsets)); - println!("BindDescriptorBufferEmbeddedSamplersInfoEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BindDescriptorBufferEmbeddedSamplersInfoEXT, s_type), offset_of!(structs::BindDescriptorBufferEmbeddedSamplersInfoEXT, p_next), offset_of!(structs::BindDescriptorBufferEmbeddedSamplersInfoEXT, stage_flags), offset_of!(structs::BindDescriptorBufferEmbeddedSamplersInfoEXT, layout), offset_of!(structs::BindDescriptorBufferEmbeddedSamplersInfoEXT, set)); - println!("PhysicalDeviceCubicClampFeaturesQCOM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceCubicClampFeaturesQCOM, s_type), offset_of!(structs::PhysicalDeviceCubicClampFeaturesQCOM, p_next), offset_of!(structs::PhysicalDeviceCubicClampFeaturesQCOM, cubic_range_clamp)); - println!("PhysicalDeviceYcbcrDegammaFeaturesQCOM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceYcbcrDegammaFeaturesQCOM, s_type), offset_of!(structs::PhysicalDeviceYcbcrDegammaFeaturesQCOM, p_next), offset_of!(structs::PhysicalDeviceYcbcrDegammaFeaturesQCOM, ycbcr_degamma)); - println!("SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM, s_type), offset_of!(structs::SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM, p_next), offset_of!(structs::SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM, enable_y_degamma), offset_of!(structs::SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM, enable_cb_cr_degamma)); - println!("PhysicalDeviceCubicWeightsFeaturesQCOM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceCubicWeightsFeaturesQCOM, s_type), offset_of!(structs::PhysicalDeviceCubicWeightsFeaturesQCOM, p_next), offset_of!(structs::PhysicalDeviceCubicWeightsFeaturesQCOM, selectable_cubic_weights)); - println!("SamplerCubicWeightsCreateInfoQCOM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SamplerCubicWeightsCreateInfoQCOM, s_type), offset_of!(structs::SamplerCubicWeightsCreateInfoQCOM, p_next), offset_of!(structs::SamplerCubicWeightsCreateInfoQCOM, cubic_weights)); - println!("BlitImageCubicWeightsInfoQCOM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BlitImageCubicWeightsInfoQCOM, s_type), offset_of!(structs::BlitImageCubicWeightsInfoQCOM, p_next), offset_of!(structs::BlitImageCubicWeightsInfoQCOM, cubic_weights)); - println!("PhysicalDeviceImageProcessing2FeaturesQCOM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceImageProcessing2FeaturesQCOM, s_type), offset_of!(structs::PhysicalDeviceImageProcessing2FeaturesQCOM, p_next), offset_of!(structs::PhysicalDeviceImageProcessing2FeaturesQCOM, texture_block_match2)); - println!("PhysicalDeviceImageProcessing2PropertiesQCOM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceImageProcessing2PropertiesQCOM, s_type), offset_of!(structs::PhysicalDeviceImageProcessing2PropertiesQCOM, p_next), offset_of!(structs::PhysicalDeviceImageProcessing2PropertiesQCOM, max_block_match_window)); - println!("SamplerBlockMatchWindowCreateInfoQCOM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SamplerBlockMatchWindowCreateInfoQCOM, s_type), offset_of!(structs::SamplerBlockMatchWindowCreateInfoQCOM, p_next), offset_of!(structs::SamplerBlockMatchWindowCreateInfoQCOM, window_extent), offset_of!(structs::SamplerBlockMatchWindowCreateInfoQCOM, window_compare_mode)); - println!("PhysicalDeviceDescriptorPoolOverallocationFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceDescriptorPoolOverallocationFeaturesNV, s_type), offset_of!(structs::PhysicalDeviceDescriptorPoolOverallocationFeaturesNV, p_next), offset_of!(structs::PhysicalDeviceDescriptorPoolOverallocationFeaturesNV, descriptor_pool_overallocation)); - println!("PhysicalDeviceLayeredDriverPropertiesMSFT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceLayeredDriverPropertiesMSFT, s_type), offset_of!(structs::PhysicalDeviceLayeredDriverPropertiesMSFT, p_next), offset_of!(structs::PhysicalDeviceLayeredDriverPropertiesMSFT, underlying_api)); - println!("PhysicalDevicePerStageDescriptorSetFeaturesNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDevicePerStageDescriptorSetFeaturesNV, s_type), offset_of!(structs::PhysicalDevicePerStageDescriptorSetFeaturesNV, p_next), offset_of!(structs::PhysicalDevicePerStageDescriptorSetFeaturesNV, per_stage_descriptor_set), offset_of!(structs::PhysicalDevicePerStageDescriptorSetFeaturesNV, dynamic_pipeline_layout)); - println!("LatencySleepModeInfoNV {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::LatencySleepModeInfoNV, s_type), offset_of!(structs::LatencySleepModeInfoNV, p_next), offset_of!(structs::LatencySleepModeInfoNV, low_latency_mode), offset_of!(structs::LatencySleepModeInfoNV, low_latency_boost), offset_of!(structs::LatencySleepModeInfoNV, minimum_interval_us)); - println!("LatencySleepInfoNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::LatencySleepInfoNV, s_type), offset_of!(structs::LatencySleepInfoNV, p_next), offset_of!(structs::LatencySleepInfoNV, signal_semaphore), offset_of!(structs::LatencySleepInfoNV, value)); - println!("SetLatencyMarkerInfoNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SetLatencyMarkerInfoNV, s_type), offset_of!(structs::SetLatencyMarkerInfoNV, p_next), offset_of!(structs::SetLatencyMarkerInfoNV, present_id), offset_of!(structs::SetLatencyMarkerInfoNV, marker)); - println!("GetLatencyMarkerInfoNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::GetLatencyMarkerInfoNV, s_type), offset_of!(structs::GetLatencyMarkerInfoNV, p_next), offset_of!(structs::GetLatencyMarkerInfoNV, timing_count), offset_of!(structs::GetLatencyMarkerInfoNV, p_timings)); - println!("LatencyTimingsFrameReportNV {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::LatencyTimingsFrameReportNV, s_type), offset_of!(structs::LatencyTimingsFrameReportNV, p_next), offset_of!(structs::LatencyTimingsFrameReportNV, present_id), offset_of!(structs::LatencyTimingsFrameReportNV, input_sample_time_us), offset_of!(structs::LatencyTimingsFrameReportNV, sim_start_time_us), offset_of!(structs::LatencyTimingsFrameReportNV, sim_end_time_us), offset_of!(structs::LatencyTimingsFrameReportNV, render_submit_start_time_us), offset_of!(structs::LatencyTimingsFrameReportNV, render_submit_end_time_us), offset_of!(structs::LatencyTimingsFrameReportNV, present_start_time_us), offset_of!(structs::LatencyTimingsFrameReportNV, present_end_time_us), offset_of!(structs::LatencyTimingsFrameReportNV, driver_start_time_us), offset_of!(structs::LatencyTimingsFrameReportNV, driver_end_time_us), offset_of!(structs::LatencyTimingsFrameReportNV, os_render_queue_start_time_us), offset_of!(structs::LatencyTimingsFrameReportNV, os_render_queue_end_time_us), offset_of!(structs::LatencyTimingsFrameReportNV, gpu_render_start_time_us), offset_of!(structs::LatencyTimingsFrameReportNV, gpu_render_end_time_us)); - println!("OutOfBandQueueTypeInfoNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::OutOfBandQueueTypeInfoNV, s_type), offset_of!(structs::OutOfBandQueueTypeInfoNV, p_next), offset_of!(structs::OutOfBandQueueTypeInfoNV, queue_type)); - println!("LatencySubmissionPresentIdNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::LatencySubmissionPresentIdNV, s_type), offset_of!(structs::LatencySubmissionPresentIdNV, p_next), offset_of!(structs::LatencySubmissionPresentIdNV, present_id)); - println!("SwapchainLatencyCreateInfoNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SwapchainLatencyCreateInfoNV, s_type), offset_of!(structs::SwapchainLatencyCreateInfoNV, p_next), offset_of!(structs::SwapchainLatencyCreateInfoNV, latency_mode_enable)); - println!("LatencySurfaceCapabilitiesNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::LatencySurfaceCapabilitiesNV, s_type), offset_of!(structs::LatencySurfaceCapabilitiesNV, p_next), offset_of!(structs::LatencySurfaceCapabilitiesNV, present_mode_count), offset_of!(structs::LatencySurfaceCapabilitiesNV, p_present_modes)); - println!("DeviceQueueShaderCoreControlCreateInfoARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DeviceQueueShaderCoreControlCreateInfoARM, s_type), offset_of!(structs::DeviceQueueShaderCoreControlCreateInfoARM, p_next), offset_of!(structs::DeviceQueueShaderCoreControlCreateInfoARM, shader_core_count)); - println!("PhysicalDeviceSchedulingControlsFeaturesARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceSchedulingControlsFeaturesARM, s_type), offset_of!(structs::PhysicalDeviceSchedulingControlsFeaturesARM, p_next), offset_of!(structs::PhysicalDeviceSchedulingControlsFeaturesARM, scheduling_controls)); - println!("PhysicalDeviceSchedulingControlsPropertiesARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceSchedulingControlsPropertiesARM, s_type), offset_of!(structs::PhysicalDeviceSchedulingControlsPropertiesARM, p_next), offset_of!(structs::PhysicalDeviceSchedulingControlsPropertiesARM, scheduling_controls_flags)); - println!("PhysicalDeviceRelaxedLineRasterizationFeaturesIMG {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceRelaxedLineRasterizationFeaturesIMG, s_type), offset_of!(structs::PhysicalDeviceRelaxedLineRasterizationFeaturesIMG, p_next), offset_of!(structs::PhysicalDeviceRelaxedLineRasterizationFeaturesIMG, relaxed_line_rasterization)); - println!("PhysicalDeviceRenderPassStripedFeaturesARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceRenderPassStripedFeaturesARM, s_type), offset_of!(structs::PhysicalDeviceRenderPassStripedFeaturesARM, p_next), offset_of!(structs::PhysicalDeviceRenderPassStripedFeaturesARM, render_pass_striped)); - println!("PhysicalDeviceRenderPassStripedPropertiesARM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceRenderPassStripedPropertiesARM, s_type), offset_of!(structs::PhysicalDeviceRenderPassStripedPropertiesARM, p_next), offset_of!(structs::PhysicalDeviceRenderPassStripedPropertiesARM, render_pass_stripe_granularity), offset_of!(structs::PhysicalDeviceRenderPassStripedPropertiesARM, max_render_pass_stripes)); - println!("RenderPassStripeInfoARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::RenderPassStripeInfoARM, s_type), offset_of!(structs::RenderPassStripeInfoARM, p_next), offset_of!(structs::RenderPassStripeInfoARM, stripe_area)); - println!("RenderPassStripeBeginInfoARM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::RenderPassStripeBeginInfoARM, s_type), offset_of!(structs::RenderPassStripeBeginInfoARM, p_next), offset_of!(structs::RenderPassStripeBeginInfoARM, stripe_info_count), offset_of!(structs::RenderPassStripeBeginInfoARM, p_stripe_infos)); - println!("RenderPassStripeSubmitInfoARM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::RenderPassStripeSubmitInfoARM, s_type), offset_of!(structs::RenderPassStripeSubmitInfoARM, p_next), offset_of!(structs::RenderPassStripeSubmitInfoARM, stripe_semaphore_info_count), offset_of!(structs::RenderPassStripeSubmitInfoARM, p_stripe_semaphore_infos)); - println!("PhysicalDevicePipelineOpacityMicromapFeaturesARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDevicePipelineOpacityMicromapFeaturesARM, s_type), offset_of!(structs::PhysicalDevicePipelineOpacityMicromapFeaturesARM, p_next), offset_of!(structs::PhysicalDevicePipelineOpacityMicromapFeaturesARM, pipeline_opacity_micromap)); - println!("PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR, s_type), offset_of!(structs::PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR, p_next), offset_of!(structs::PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR, shader_maximal_reconvergence)); - println!("PhysicalDeviceShaderSubgroupRotateFeatures {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderSubgroupRotateFeatures, s_type), offset_of!(structs::PhysicalDeviceShaderSubgroupRotateFeatures, p_next), offset_of!(structs::PhysicalDeviceShaderSubgroupRotateFeatures, shader_subgroup_rotate), offset_of!(structs::PhysicalDeviceShaderSubgroupRotateFeatures, shader_subgroup_rotate_clustered)); - println!("PhysicalDeviceShaderExpectAssumeFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderExpectAssumeFeatures, s_type), offset_of!(structs::PhysicalDeviceShaderExpectAssumeFeatures, p_next), offset_of!(structs::PhysicalDeviceShaderExpectAssumeFeatures, shader_expect_assume)); - println!("PhysicalDeviceShaderFloatControls2Features {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderFloatControls2Features, s_type), offset_of!(structs::PhysicalDeviceShaderFloatControls2Features, p_next), offset_of!(structs::PhysicalDeviceShaderFloatControls2Features, shader_float_controls2)); - println!("PhysicalDeviceDynamicRenderingLocalReadFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceDynamicRenderingLocalReadFeatures, s_type), offset_of!(structs::PhysicalDeviceDynamicRenderingLocalReadFeatures, p_next), offset_of!(structs::PhysicalDeviceDynamicRenderingLocalReadFeatures, dynamic_rendering_local_read)); - println!("RenderingAttachmentLocationInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::RenderingAttachmentLocationInfo, s_type), offset_of!(structs::RenderingAttachmentLocationInfo, p_next), offset_of!(structs::RenderingAttachmentLocationInfo, color_attachment_count), offset_of!(structs::RenderingAttachmentLocationInfo, p_color_attachment_locations)); - println!("RenderingInputAttachmentIndexInfo {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::RenderingInputAttachmentIndexInfo, s_type), offset_of!(structs::RenderingInputAttachmentIndexInfo, p_next), offset_of!(structs::RenderingInputAttachmentIndexInfo, color_attachment_count), offset_of!(structs::RenderingInputAttachmentIndexInfo, p_color_attachment_input_indices), offset_of!(structs::RenderingInputAttachmentIndexInfo, p_depth_input_attachment_index), offset_of!(structs::RenderingInputAttachmentIndexInfo, p_stencil_input_attachment_index)); - println!("PhysicalDeviceShaderQuadControlFeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderQuadControlFeaturesKHR, s_type), offset_of!(structs::PhysicalDeviceShaderQuadControlFeaturesKHR, p_next), offset_of!(structs::PhysicalDeviceShaderQuadControlFeaturesKHR, shader_quad_control)); - println!("PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV, s_type), offset_of!(structs::PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV, p_next), offset_of!(structs::PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV, shader_float16_vector_atomics)); - println!("PhysicalDeviceMapMemoryPlacedFeaturesEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceMapMemoryPlacedFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceMapMemoryPlacedFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceMapMemoryPlacedFeaturesEXT, memory_map_placed), offset_of!(structs::PhysicalDeviceMapMemoryPlacedFeaturesEXT, memory_map_range_placed), offset_of!(structs::PhysicalDeviceMapMemoryPlacedFeaturesEXT, memory_unmap_reserve)); - println!("PhysicalDeviceMapMemoryPlacedPropertiesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceMapMemoryPlacedPropertiesEXT, s_type), offset_of!(structs::PhysicalDeviceMapMemoryPlacedPropertiesEXT, p_next), offset_of!(structs::PhysicalDeviceMapMemoryPlacedPropertiesEXT, min_placed_memory_map_alignment)); - println!("MemoryMapPlacedInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::MemoryMapPlacedInfoEXT, s_type), offset_of!(structs::MemoryMapPlacedInfoEXT, p_next), offset_of!(structs::MemoryMapPlacedInfoEXT, p_placed_address)); - println!("PhysicalDeviceShaderBfloat16FeaturesKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderBfloat16FeaturesKHR, s_type), offset_of!(structs::PhysicalDeviceShaderBfloat16FeaturesKHR, p_next), offset_of!(structs::PhysicalDeviceShaderBfloat16FeaturesKHR, shader_b_float16_type), offset_of!(structs::PhysicalDeviceShaderBfloat16FeaturesKHR, shader_b_float16_dot_product), offset_of!(structs::PhysicalDeviceShaderBfloat16FeaturesKHR, shader_b_float16_cooperative_matrix)); - println!("PhysicalDeviceRawAccessChainsFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceRawAccessChainsFeaturesNV, s_type), offset_of!(structs::PhysicalDeviceRawAccessChainsFeaturesNV, p_next), offset_of!(structs::PhysicalDeviceRawAccessChainsFeaturesNV, shader_raw_access_chains)); - println!("PhysicalDeviceCommandBufferInheritanceFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceCommandBufferInheritanceFeaturesNV, s_type), offset_of!(structs::PhysicalDeviceCommandBufferInheritanceFeaturesNV, p_next), offset_of!(structs::PhysicalDeviceCommandBufferInheritanceFeaturesNV, command_buffer_inheritance)); - println!("PhysicalDeviceImageAlignmentControlFeaturesMESA {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceImageAlignmentControlFeaturesMESA, s_type), offset_of!(structs::PhysicalDeviceImageAlignmentControlFeaturesMESA, p_next), offset_of!(structs::PhysicalDeviceImageAlignmentControlFeaturesMESA, image_alignment_control)); - println!("PhysicalDeviceImageAlignmentControlPropertiesMESA {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceImageAlignmentControlPropertiesMESA, s_type), offset_of!(structs::PhysicalDeviceImageAlignmentControlPropertiesMESA, p_next), offset_of!(structs::PhysicalDeviceImageAlignmentControlPropertiesMESA, supported_image_alignment_mask)); - println!("ImageAlignmentControlCreateInfoMESA {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImageAlignmentControlCreateInfoMESA, s_type), offset_of!(structs::ImageAlignmentControlCreateInfoMESA, p_next), offset_of!(structs::ImageAlignmentControlCreateInfoMESA, maximum_requested_alignment)); - println!("PhysicalDeviceShaderReplicatedCompositesFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderReplicatedCompositesFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceShaderReplicatedCompositesFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceShaderReplicatedCompositesFeaturesEXT, shader_replicated_composites)); - println!("PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR, s_type), offset_of!(structs::PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR, p_next), offset_of!(structs::PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR, present_mode_fifo_latest_ready)); - println!("DepthClampRangeEXT {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DepthClampRangeEXT, min_depth_clamp), offset_of!(structs::DepthClampRangeEXT, max_depth_clamp)); - println!("PhysicalDeviceCooperativeMatrix2FeaturesNV {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceCooperativeMatrix2FeaturesNV, s_type), offset_of!(structs::PhysicalDeviceCooperativeMatrix2FeaturesNV, p_next), offset_of!(structs::PhysicalDeviceCooperativeMatrix2FeaturesNV, cooperative_matrix_workgroup_scope), offset_of!(structs::PhysicalDeviceCooperativeMatrix2FeaturesNV, cooperative_matrix_flexible_dimensions), offset_of!(structs::PhysicalDeviceCooperativeMatrix2FeaturesNV, cooperative_matrix_reductions), offset_of!(structs::PhysicalDeviceCooperativeMatrix2FeaturesNV, cooperative_matrix_conversions), offset_of!(structs::PhysicalDeviceCooperativeMatrix2FeaturesNV, cooperative_matrix_per_element_operations), offset_of!(structs::PhysicalDeviceCooperativeMatrix2FeaturesNV, cooperative_matrix_tensor_addressing), offset_of!(structs::PhysicalDeviceCooperativeMatrix2FeaturesNV, cooperative_matrix_block_loads)); - println!("PhysicalDeviceCooperativeMatrix2PropertiesNV {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceCooperativeMatrix2PropertiesNV, s_type), offset_of!(structs::PhysicalDeviceCooperativeMatrix2PropertiesNV, p_next), offset_of!(structs::PhysicalDeviceCooperativeMatrix2PropertiesNV, cooperative_matrix_workgroup_scope_max_workgroup_size), offset_of!(structs::PhysicalDeviceCooperativeMatrix2PropertiesNV, cooperative_matrix_flexible_dimensions_max_dimension), offset_of!(structs::PhysicalDeviceCooperativeMatrix2PropertiesNV, cooperative_matrix_workgroup_scope_reserved_shared_memory)); - println!("CooperativeMatrixFlexibleDimensionsPropertiesNV {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CooperativeMatrixFlexibleDimensionsPropertiesNV, s_type), offset_of!(structs::CooperativeMatrixFlexibleDimensionsPropertiesNV, p_next), offset_of!(structs::CooperativeMatrixFlexibleDimensionsPropertiesNV, m_granularity), offset_of!(structs::CooperativeMatrixFlexibleDimensionsPropertiesNV, n_granularity), offset_of!(structs::CooperativeMatrixFlexibleDimensionsPropertiesNV, k_granularity), offset_of!(structs::CooperativeMatrixFlexibleDimensionsPropertiesNV, a_type), offset_of!(structs::CooperativeMatrixFlexibleDimensionsPropertiesNV, b_type), offset_of!(structs::CooperativeMatrixFlexibleDimensionsPropertiesNV, c_type), offset_of!(structs::CooperativeMatrixFlexibleDimensionsPropertiesNV, result_type), offset_of!(structs::CooperativeMatrixFlexibleDimensionsPropertiesNV, saturating_accumulation), offset_of!(structs::CooperativeMatrixFlexibleDimensionsPropertiesNV, scope), offset_of!(structs::CooperativeMatrixFlexibleDimensionsPropertiesNV, workgroup_invocations)); - println!("PhysicalDeviceHdrVividFeaturesHUAWEI {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceHdrVividFeaturesHUAWEI, s_type), offset_of!(structs::PhysicalDeviceHdrVividFeaturesHUAWEI, p_next), offset_of!(structs::PhysicalDeviceHdrVividFeaturesHUAWEI, hdr_vivid)); - println!("PhysicalDeviceVertexAttributeRobustnessFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceVertexAttributeRobustnessFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceVertexAttributeRobustnessFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceVertexAttributeRobustnessFeaturesEXT, vertex_attribute_robustness)); - println!("PhysicalDeviceDepthClampZeroOneFeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceDepthClampZeroOneFeaturesKHR, s_type), offset_of!(structs::PhysicalDeviceDepthClampZeroOneFeaturesKHR, p_next), offset_of!(structs::PhysicalDeviceDepthClampZeroOneFeaturesKHR, depth_clamp_zero_one)); - println!("PhysicalDeviceCooperativeVectorFeaturesNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceCooperativeVectorFeaturesNV, s_type), offset_of!(structs::PhysicalDeviceCooperativeVectorFeaturesNV, p_next), offset_of!(structs::PhysicalDeviceCooperativeVectorFeaturesNV, cooperative_vector), offset_of!(structs::PhysicalDeviceCooperativeVectorFeaturesNV, cooperative_vector_training)); - println!("CooperativeVectorPropertiesNV {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CooperativeVectorPropertiesNV, s_type), offset_of!(structs::CooperativeVectorPropertiesNV, p_next), offset_of!(structs::CooperativeVectorPropertiesNV, input_type), offset_of!(structs::CooperativeVectorPropertiesNV, input_interpretation), offset_of!(structs::CooperativeVectorPropertiesNV, matrix_interpretation), offset_of!(structs::CooperativeVectorPropertiesNV, bias_interpretation), offset_of!(structs::CooperativeVectorPropertiesNV, result_type), offset_of!(structs::CooperativeVectorPropertiesNV, transpose)); - println!("PhysicalDeviceCooperativeVectorPropertiesNV {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceCooperativeVectorPropertiesNV, s_type), offset_of!(structs::PhysicalDeviceCooperativeVectorPropertiesNV, p_next), offset_of!(structs::PhysicalDeviceCooperativeVectorPropertiesNV, cooperative_vector_supported_stages), offset_of!(structs::PhysicalDeviceCooperativeVectorPropertiesNV, cooperative_vector_training_float16_accumulation), offset_of!(structs::PhysicalDeviceCooperativeVectorPropertiesNV, cooperative_vector_training_float32_accumulation), offset_of!(structs::PhysicalDeviceCooperativeVectorPropertiesNV, max_cooperative_vector_components)); - println!("ConvertCooperativeVectorMatrixInfoNV {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ConvertCooperativeVectorMatrixInfoNV, s_type), offset_of!(structs::ConvertCooperativeVectorMatrixInfoNV, p_next), offset_of!(structs::ConvertCooperativeVectorMatrixInfoNV, src_size), offset_of!(structs::ConvertCooperativeVectorMatrixInfoNV, src_data), offset_of!(structs::ConvertCooperativeVectorMatrixInfoNV, p_dst_size), offset_of!(structs::ConvertCooperativeVectorMatrixInfoNV, dst_data), offset_of!(structs::ConvertCooperativeVectorMatrixInfoNV, src_component_type), offset_of!(structs::ConvertCooperativeVectorMatrixInfoNV, dst_component_type), offset_of!(structs::ConvertCooperativeVectorMatrixInfoNV, num_rows), offset_of!(structs::ConvertCooperativeVectorMatrixInfoNV, num_columns), offset_of!(structs::ConvertCooperativeVectorMatrixInfoNV, src_layout), offset_of!(structs::ConvertCooperativeVectorMatrixInfoNV, src_stride), offset_of!(structs::ConvertCooperativeVectorMatrixInfoNV, dst_layout), offset_of!(structs::ConvertCooperativeVectorMatrixInfoNV, dst_stride)); - println!("PhysicalDeviceTileShadingFeaturesQCOM {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceTileShadingFeaturesQCOM, s_type), offset_of!(structs::PhysicalDeviceTileShadingFeaturesQCOM, p_next), offset_of!(structs::PhysicalDeviceTileShadingFeaturesQCOM, tile_shading), offset_of!(structs::PhysicalDeviceTileShadingFeaturesQCOM, tile_shading_fragment_stage), offset_of!(structs::PhysicalDeviceTileShadingFeaturesQCOM, tile_shading_color_attachments), offset_of!(structs::PhysicalDeviceTileShadingFeaturesQCOM, tile_shading_depth_attachments), offset_of!(structs::PhysicalDeviceTileShadingFeaturesQCOM, tile_shading_stencil_attachments), offset_of!(structs::PhysicalDeviceTileShadingFeaturesQCOM, tile_shading_input_attachments), offset_of!(structs::PhysicalDeviceTileShadingFeaturesQCOM, tile_shading_sampled_attachments), offset_of!(structs::PhysicalDeviceTileShadingFeaturesQCOM, tile_shading_per_tile_draw), offset_of!(structs::PhysicalDeviceTileShadingFeaturesQCOM, tile_shading_per_tile_dispatch), offset_of!(structs::PhysicalDeviceTileShadingFeaturesQCOM, tile_shading_dispatch_tile), offset_of!(structs::PhysicalDeviceTileShadingFeaturesQCOM, tile_shading_apron), offset_of!(structs::PhysicalDeviceTileShadingFeaturesQCOM, tile_shading_anisotropic_apron), offset_of!(structs::PhysicalDeviceTileShadingFeaturesQCOM, tile_shading_atomic_ops), offset_of!(structs::PhysicalDeviceTileShadingFeaturesQCOM, tile_shading_image_processing)); - println!("PhysicalDeviceTileShadingPropertiesQCOM {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceTileShadingPropertiesQCOM, s_type), offset_of!(structs::PhysicalDeviceTileShadingPropertiesQCOM, p_next), offset_of!(structs::PhysicalDeviceTileShadingPropertiesQCOM, max_apron_size), offset_of!(structs::PhysicalDeviceTileShadingPropertiesQCOM, prefer_non_coherent), offset_of!(structs::PhysicalDeviceTileShadingPropertiesQCOM, tile_granularity), offset_of!(structs::PhysicalDeviceTileShadingPropertiesQCOM, max_tile_shading_rate)); - println!("RenderPassTileShadingCreateInfoQCOM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::RenderPassTileShadingCreateInfoQCOM, s_type), offset_of!(structs::RenderPassTileShadingCreateInfoQCOM, p_next), offset_of!(structs::RenderPassTileShadingCreateInfoQCOM, flags), offset_of!(structs::RenderPassTileShadingCreateInfoQCOM, tile_apron_size)); - println!("PerTileBeginInfoQCOM {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PerTileBeginInfoQCOM, s_type), offset_of!(structs::PerTileBeginInfoQCOM, p_next)); - println!("PerTileEndInfoQCOM {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PerTileEndInfoQCOM, s_type), offset_of!(structs::PerTileEndInfoQCOM, p_next)); - println!("DispatchTileInfoQCOM {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DispatchTileInfoQCOM, s_type), offset_of!(structs::DispatchTileInfoQCOM, p_next)); - println!("PhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE, s_type), offset_of!(structs::PhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE, p_next), offset_of!(structs::PhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE, max_fragment_density_map_layers)); - println!("PhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE, s_type), offset_of!(structs::PhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE, p_next), offset_of!(structs::PhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE, fragment_density_map_layered)); - println!("PipelineFragmentDensityMapLayeredCreateInfoVALVE {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PipelineFragmentDensityMapLayeredCreateInfoVALVE, s_type), offset_of!(structs::PipelineFragmentDensityMapLayeredCreateInfoVALVE, p_next), offset_of!(structs::PipelineFragmentDensityMapLayeredCreateInfoVALVE, max_fragment_density_map_layers)); - println!("SetPresentConfigNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SetPresentConfigNV, s_type), offset_of!(structs::SetPresentConfigNV, p_next), offset_of!(structs::SetPresentConfigNV, num_frames_per_batch), offset_of!(structs::SetPresentConfigNV, present_config_feedback)); - println!("PhysicalDevicePresentMeteringFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDevicePresentMeteringFeaturesNV, s_type), offset_of!(structs::PhysicalDevicePresentMeteringFeaturesNV, p_next), offset_of!(structs::PhysicalDevicePresentMeteringFeaturesNV, present_metering)); - println!("ExternalComputeQueueDeviceCreateInfoNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ExternalComputeQueueDeviceCreateInfoNV, s_type), offset_of!(structs::ExternalComputeQueueDeviceCreateInfoNV, p_next), offset_of!(structs::ExternalComputeQueueDeviceCreateInfoNV, reserved_external_queues)); - println!("ExternalComputeQueueCreateInfoNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ExternalComputeQueueCreateInfoNV, s_type), offset_of!(structs::ExternalComputeQueueCreateInfoNV, p_next), offset_of!(structs::ExternalComputeQueueCreateInfoNV, preferred_queue)); - println!("ExternalComputeQueueDataParamsNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ExternalComputeQueueDataParamsNV, s_type), offset_of!(structs::ExternalComputeQueueDataParamsNV, p_next), offset_of!(structs::ExternalComputeQueueDataParamsNV, device_index)); - println!("PhysicalDeviceExternalComputeQueuePropertiesNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceExternalComputeQueuePropertiesNV, s_type), offset_of!(structs::PhysicalDeviceExternalComputeQueuePropertiesNV, p_next), offset_of!(structs::PhysicalDeviceExternalComputeQueuePropertiesNV, external_data_size), offset_of!(structs::PhysicalDeviceExternalComputeQueuePropertiesNV, max_external_queues)); - println!("PhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT, shader_uniform_buffer_unsized_array)); - println!("PhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE, s_type), offset_of!(structs::PhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE, p_next), offset_of!(structs::PhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE, shader_mixed_float_dot_product_float16_acc_float32), offset_of!(structs::PhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE, shader_mixed_float_dot_product_float16_acc_float16), offset_of!(structs::PhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE, shader_mixed_float_dot_product_b_float16_acc), offset_of!(structs::PhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE, shader_mixed_float_dot_product_float8_acc_float32)); - println!("PhysicalDeviceFormatPackFeaturesARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceFormatPackFeaturesARM, s_type), offset_of!(structs::PhysicalDeviceFormatPackFeaturesARM, p_next), offset_of!(structs::PhysicalDeviceFormatPackFeaturesARM, format_pack)); - println!("TensorDescriptionARM {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::TensorDescriptionARM, s_type), offset_of!(structs::TensorDescriptionARM, p_next), offset_of!(structs::TensorDescriptionARM, tiling), offset_of!(structs::TensorDescriptionARM, format), offset_of!(structs::TensorDescriptionARM, dimension_count), offset_of!(structs::TensorDescriptionARM, p_dimensions), offset_of!(structs::TensorDescriptionARM, p_strides), offset_of!(structs::TensorDescriptionARM, usage)); - println!("TensorCreateInfoARM {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::TensorCreateInfoARM, s_type), offset_of!(structs::TensorCreateInfoARM, p_next), offset_of!(structs::TensorCreateInfoARM, flags), offset_of!(structs::TensorCreateInfoARM, p_description), offset_of!(structs::TensorCreateInfoARM, sharing_mode), offset_of!(structs::TensorCreateInfoARM, queue_family_index_count), offset_of!(structs::TensorCreateInfoARM, p_queue_family_indices)); - println!("TensorViewCreateInfoARM {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::TensorViewCreateInfoARM, s_type), offset_of!(structs::TensorViewCreateInfoARM, p_next), offset_of!(structs::TensorViewCreateInfoARM, flags), offset_of!(structs::TensorViewCreateInfoARM, tensor), offset_of!(structs::TensorViewCreateInfoARM, format)); - println!("TensorMemoryRequirementsInfoARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::TensorMemoryRequirementsInfoARM, s_type), offset_of!(structs::TensorMemoryRequirementsInfoARM, p_next), offset_of!(structs::TensorMemoryRequirementsInfoARM, tensor)); - println!("BindTensorMemoryInfoARM {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BindTensorMemoryInfoARM, s_type), offset_of!(structs::BindTensorMemoryInfoARM, p_next), offset_of!(structs::BindTensorMemoryInfoARM, tensor), offset_of!(structs::BindTensorMemoryInfoARM, memory), offset_of!(structs::BindTensorMemoryInfoARM, memory_offset)); - println!("WriteDescriptorSetTensorARM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::WriteDescriptorSetTensorARM, s_type), offset_of!(structs::WriteDescriptorSetTensorARM, p_next), offset_of!(structs::WriteDescriptorSetTensorARM, tensor_view_count), offset_of!(structs::WriteDescriptorSetTensorARM, p_tensor_views)); - println!("TensorFormatPropertiesARM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::TensorFormatPropertiesARM, s_type), offset_of!(structs::TensorFormatPropertiesARM, p_next), offset_of!(structs::TensorFormatPropertiesARM, optimal_tiling_tensor_features), offset_of!(structs::TensorFormatPropertiesARM, linear_tiling_tensor_features)); - println!("PhysicalDeviceTensorPropertiesARM {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceTensorPropertiesARM, s_type), offset_of!(structs::PhysicalDeviceTensorPropertiesARM, p_next), offset_of!(structs::PhysicalDeviceTensorPropertiesARM, max_tensor_dimension_count), offset_of!(structs::PhysicalDeviceTensorPropertiesARM, max_tensor_elements), offset_of!(structs::PhysicalDeviceTensorPropertiesARM, max_per_dimension_tensor_elements), offset_of!(structs::PhysicalDeviceTensorPropertiesARM, max_tensor_stride), offset_of!(structs::PhysicalDeviceTensorPropertiesARM, max_tensor_size), offset_of!(structs::PhysicalDeviceTensorPropertiesARM, max_tensor_shader_access_array_length), offset_of!(structs::PhysicalDeviceTensorPropertiesARM, max_tensor_shader_access_size), offset_of!(structs::PhysicalDeviceTensorPropertiesARM, max_descriptor_set_storage_tensors), offset_of!(structs::PhysicalDeviceTensorPropertiesARM, max_per_stage_descriptor_set_storage_tensors), offset_of!(structs::PhysicalDeviceTensorPropertiesARM, max_descriptor_set_update_after_bind_storage_tensors), offset_of!(structs::PhysicalDeviceTensorPropertiesARM, max_per_stage_descriptor_update_after_bind_storage_tensors), offset_of!(structs::PhysicalDeviceTensorPropertiesARM, shader_storage_tensor_array_non_uniform_indexing_native), offset_of!(structs::PhysicalDeviceTensorPropertiesARM, shader_tensor_supported_stages)); - println!("TensorMemoryBarrierARM {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::TensorMemoryBarrierARM, s_type), offset_of!(structs::TensorMemoryBarrierARM, p_next), offset_of!(structs::TensorMemoryBarrierARM, src_stage_mask), offset_of!(structs::TensorMemoryBarrierARM, src_access_mask), offset_of!(structs::TensorMemoryBarrierARM, dst_stage_mask), offset_of!(structs::TensorMemoryBarrierARM, dst_access_mask), offset_of!(structs::TensorMemoryBarrierARM, src_queue_family_index), offset_of!(structs::TensorMemoryBarrierARM, dst_queue_family_index), offset_of!(structs::TensorMemoryBarrierARM, tensor)); - println!("TensorDependencyInfoARM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::TensorDependencyInfoARM, s_type), offset_of!(structs::TensorDependencyInfoARM, p_next), offset_of!(structs::TensorDependencyInfoARM, tensor_memory_barrier_count), offset_of!(structs::TensorDependencyInfoARM, p_tensor_memory_barriers)); - println!("PhysicalDeviceTensorFeaturesARM {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceTensorFeaturesARM, s_type), offset_of!(structs::PhysicalDeviceTensorFeaturesARM, p_next), offset_of!(structs::PhysicalDeviceTensorFeaturesARM, tensor_non_packed), offset_of!(structs::PhysicalDeviceTensorFeaturesARM, shader_tensor_access), offset_of!(structs::PhysicalDeviceTensorFeaturesARM, shader_storage_tensor_array_dynamic_indexing), offset_of!(structs::PhysicalDeviceTensorFeaturesARM, shader_storage_tensor_array_non_uniform_indexing), offset_of!(structs::PhysicalDeviceTensorFeaturesARM, descriptor_binding_storage_tensor_update_after_bind), offset_of!(structs::PhysicalDeviceTensorFeaturesARM, tensors)); - println!("DeviceTensorMemoryRequirementsARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DeviceTensorMemoryRequirementsARM, s_type), offset_of!(structs::DeviceTensorMemoryRequirementsARM, p_next), offset_of!(structs::DeviceTensorMemoryRequirementsARM, p_create_info)); - println!("CopyTensorInfoARM {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CopyTensorInfoARM, s_type), offset_of!(structs::CopyTensorInfoARM, p_next), offset_of!(structs::CopyTensorInfoARM, src_tensor), offset_of!(structs::CopyTensorInfoARM, dst_tensor), offset_of!(structs::CopyTensorInfoARM, region_count), offset_of!(structs::CopyTensorInfoARM, p_regions)); - println!("TensorCopyARM {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::TensorCopyARM, s_type), offset_of!(structs::TensorCopyARM, p_next), offset_of!(structs::TensorCopyARM, dimension_count), offset_of!(structs::TensorCopyARM, p_src_offset), offset_of!(structs::TensorCopyARM, p_dst_offset), offset_of!(structs::TensorCopyARM, p_extent)); - println!("MemoryDedicatedAllocateInfoTensorARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::MemoryDedicatedAllocateInfoTensorARM, s_type), offset_of!(structs::MemoryDedicatedAllocateInfoTensorARM, p_next), offset_of!(structs::MemoryDedicatedAllocateInfoTensorARM, tensor)); - println!("PhysicalDeviceDescriptorBufferTensorPropertiesARM {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceDescriptorBufferTensorPropertiesARM, s_type), offset_of!(structs::PhysicalDeviceDescriptorBufferTensorPropertiesARM, p_next), offset_of!(structs::PhysicalDeviceDescriptorBufferTensorPropertiesARM, tensor_capture_replay_descriptor_data_size), offset_of!(structs::PhysicalDeviceDescriptorBufferTensorPropertiesARM, tensor_view_capture_replay_descriptor_data_size), offset_of!(structs::PhysicalDeviceDescriptorBufferTensorPropertiesARM, tensor_descriptor_size)); - println!("PhysicalDeviceDescriptorBufferTensorFeaturesARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceDescriptorBufferTensorFeaturesARM, s_type), offset_of!(structs::PhysicalDeviceDescriptorBufferTensorFeaturesARM, p_next), offset_of!(structs::PhysicalDeviceDescriptorBufferTensorFeaturesARM, descriptor_buffer_tensor_descriptors)); - println!("TensorCaptureDescriptorDataInfoARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::TensorCaptureDescriptorDataInfoARM, s_type), offset_of!(structs::TensorCaptureDescriptorDataInfoARM, p_next), offset_of!(structs::TensorCaptureDescriptorDataInfoARM, tensor)); - println!("TensorViewCaptureDescriptorDataInfoARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::TensorViewCaptureDescriptorDataInfoARM, s_type), offset_of!(structs::TensorViewCaptureDescriptorDataInfoARM, p_next), offset_of!(structs::TensorViewCaptureDescriptorDataInfoARM, tensor_view)); - println!("DescriptorGetTensorInfoARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DescriptorGetTensorInfoARM, s_type), offset_of!(structs::DescriptorGetTensorInfoARM, p_next), offset_of!(structs::DescriptorGetTensorInfoARM, tensor_view)); - println!("FrameBoundaryTensorsARM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::FrameBoundaryTensorsARM, s_type), offset_of!(structs::FrameBoundaryTensorsARM, p_next), offset_of!(structs::FrameBoundaryTensorsARM, tensor_count), offset_of!(structs::FrameBoundaryTensorsARM, p_tensors)); - println!("PhysicalDeviceExternalTensorInfoARM {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceExternalTensorInfoARM, s_type), offset_of!(structs::PhysicalDeviceExternalTensorInfoARM, p_next), offset_of!(structs::PhysicalDeviceExternalTensorInfoARM, flags), offset_of!(structs::PhysicalDeviceExternalTensorInfoARM, p_description), offset_of!(structs::PhysicalDeviceExternalTensorInfoARM, handle_type)); - println!("ExternalTensorPropertiesARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ExternalTensorPropertiesARM, s_type), offset_of!(structs::ExternalTensorPropertiesARM, p_next), offset_of!(structs::ExternalTensorPropertiesARM, external_memory_properties)); - println!("ExternalMemoryTensorCreateInfoARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ExternalMemoryTensorCreateInfoARM, s_type), offset_of!(structs::ExternalMemoryTensorCreateInfoARM, p_next), offset_of!(structs::ExternalMemoryTensorCreateInfoARM, handle_types)); - println!("PhysicalDeviceShaderFloat8FeaturesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderFloat8FeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceShaderFloat8FeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceShaderFloat8FeaturesEXT, shader_float8), offset_of!(structs::PhysicalDeviceShaderFloat8FeaturesEXT, shader_float8_cooperative_matrix)); - println!("PhysicalDeviceDataGraphFeaturesARM {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceDataGraphFeaturesARM, s_type), offset_of!(structs::PhysicalDeviceDataGraphFeaturesARM, p_next), offset_of!(structs::PhysicalDeviceDataGraphFeaturesARM, data_graph), offset_of!(structs::PhysicalDeviceDataGraphFeaturesARM, data_graph_update_after_bind), offset_of!(structs::PhysicalDeviceDataGraphFeaturesARM, data_graph_specialization_constants), offset_of!(structs::PhysicalDeviceDataGraphFeaturesARM, data_graph_descriptor_buffer), offset_of!(structs::PhysicalDeviceDataGraphFeaturesARM, data_graph_shader_module)); - println!("DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM, s_type), offset_of!(structs::DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM, p_next), offset_of!(structs::DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM, dimension), offset_of!(structs::DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM, zero_count), offset_of!(structs::DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM, group_size)); - println!("DataGraphPipelineConstantARM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DataGraphPipelineConstantARM, s_type), offset_of!(structs::DataGraphPipelineConstantARM, p_next), offset_of!(structs::DataGraphPipelineConstantARM, id), offset_of!(structs::DataGraphPipelineConstantARM, p_constant_data)); - println!("DataGraphPipelineResourceInfoARM {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DataGraphPipelineResourceInfoARM, s_type), offset_of!(structs::DataGraphPipelineResourceInfoARM, p_next), offset_of!(structs::DataGraphPipelineResourceInfoARM, descriptor_set), offset_of!(structs::DataGraphPipelineResourceInfoARM, binding), offset_of!(structs::DataGraphPipelineResourceInfoARM, array_element)); - println!("DataGraphPipelineCompilerControlCreateInfoARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DataGraphPipelineCompilerControlCreateInfoARM, s_type), offset_of!(structs::DataGraphPipelineCompilerControlCreateInfoARM, p_next), offset_of!(structs::DataGraphPipelineCompilerControlCreateInfoARM, p_vendor_options)); - println!("DataGraphPipelineCreateInfoARM {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DataGraphPipelineCreateInfoARM, s_type), offset_of!(structs::DataGraphPipelineCreateInfoARM, p_next), offset_of!(structs::DataGraphPipelineCreateInfoARM, flags), offset_of!(structs::DataGraphPipelineCreateInfoARM, layout), offset_of!(structs::DataGraphPipelineCreateInfoARM, resource_info_count), offset_of!(structs::DataGraphPipelineCreateInfoARM, p_resource_infos)); - println!("DataGraphPipelineShaderModuleCreateInfoARM {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DataGraphPipelineShaderModuleCreateInfoARM, s_type), offset_of!(structs::DataGraphPipelineShaderModuleCreateInfoARM, p_next), offset_of!(structs::DataGraphPipelineShaderModuleCreateInfoARM, module), offset_of!(structs::DataGraphPipelineShaderModuleCreateInfoARM, p_name), offset_of!(structs::DataGraphPipelineShaderModuleCreateInfoARM, p_specialization_info), offset_of!(structs::DataGraphPipelineShaderModuleCreateInfoARM, constant_count), offset_of!(structs::DataGraphPipelineShaderModuleCreateInfoARM, p_constants)); - println!("DataGraphPipelineSessionCreateInfoARM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DataGraphPipelineSessionCreateInfoARM, s_type), offset_of!(structs::DataGraphPipelineSessionCreateInfoARM, p_next), offset_of!(structs::DataGraphPipelineSessionCreateInfoARM, flags), offset_of!(structs::DataGraphPipelineSessionCreateInfoARM, data_graph_pipeline)); - println!("DataGraphPipelineSessionBindPointRequirementsInfoARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DataGraphPipelineSessionBindPointRequirementsInfoARM, s_type), offset_of!(structs::DataGraphPipelineSessionBindPointRequirementsInfoARM, p_next), offset_of!(structs::DataGraphPipelineSessionBindPointRequirementsInfoARM, session)); - println!("DataGraphPipelineSessionBindPointRequirementARM {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DataGraphPipelineSessionBindPointRequirementARM, s_type), offset_of!(structs::DataGraphPipelineSessionBindPointRequirementARM, p_next), offset_of!(structs::DataGraphPipelineSessionBindPointRequirementARM, bind_point), offset_of!(structs::DataGraphPipelineSessionBindPointRequirementARM, bind_point_type), offset_of!(structs::DataGraphPipelineSessionBindPointRequirementARM, num_objects)); - println!("DataGraphPipelineSessionMemoryRequirementsInfoARM {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DataGraphPipelineSessionMemoryRequirementsInfoARM, s_type), offset_of!(structs::DataGraphPipelineSessionMemoryRequirementsInfoARM, p_next), offset_of!(structs::DataGraphPipelineSessionMemoryRequirementsInfoARM, session), offset_of!(structs::DataGraphPipelineSessionMemoryRequirementsInfoARM, bind_point), offset_of!(structs::DataGraphPipelineSessionMemoryRequirementsInfoARM, object_index)); - println!("BindDataGraphPipelineSessionMemoryInfoARM {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BindDataGraphPipelineSessionMemoryInfoARM, s_type), offset_of!(structs::BindDataGraphPipelineSessionMemoryInfoARM, p_next), offset_of!(structs::BindDataGraphPipelineSessionMemoryInfoARM, session), offset_of!(structs::BindDataGraphPipelineSessionMemoryInfoARM, bind_point), offset_of!(structs::BindDataGraphPipelineSessionMemoryInfoARM, object_index), offset_of!(structs::BindDataGraphPipelineSessionMemoryInfoARM, memory), offset_of!(structs::BindDataGraphPipelineSessionMemoryInfoARM, memory_offset)); - println!("DataGraphPipelineInfoARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DataGraphPipelineInfoARM, s_type), offset_of!(structs::DataGraphPipelineInfoARM, p_next), offset_of!(structs::DataGraphPipelineInfoARM, data_graph_pipeline)); - println!("DataGraphPipelinePropertyQueryResultARM {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DataGraphPipelinePropertyQueryResultARM, s_type), offset_of!(structs::DataGraphPipelinePropertyQueryResultARM, p_next), offset_of!(structs::DataGraphPipelinePropertyQueryResultARM, property), offset_of!(structs::DataGraphPipelinePropertyQueryResultARM, is_text), offset_of!(structs::DataGraphPipelinePropertyQueryResultARM, data_size), offset_of!(structs::DataGraphPipelinePropertyQueryResultARM, p_data)); - println!("DataGraphPipelineIdentifierCreateInfoARM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DataGraphPipelineIdentifierCreateInfoARM, s_type), offset_of!(structs::DataGraphPipelineIdentifierCreateInfoARM, p_next), offset_of!(structs::DataGraphPipelineIdentifierCreateInfoARM, identifier_size), offset_of!(structs::DataGraphPipelineIdentifierCreateInfoARM, p_identifier)); - println!("DataGraphPipelineDispatchInfoARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DataGraphPipelineDispatchInfoARM, s_type), offset_of!(structs::DataGraphPipelineDispatchInfoARM, p_next), offset_of!(structs::DataGraphPipelineDispatchInfoARM, flags)); - println!("PhysicalDeviceDataGraphProcessingEngineARM {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceDataGraphProcessingEngineARM, is_foreign)); - println!("PhysicalDeviceDataGraphOperationSupportARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceDataGraphOperationSupportARM, operation_type), offset_of!(structs::PhysicalDeviceDataGraphOperationSupportARM, name), offset_of!(structs::PhysicalDeviceDataGraphOperationSupportARM, version)); - println!("QueueFamilyDataGraphPropertiesARM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::QueueFamilyDataGraphPropertiesARM, s_type), offset_of!(structs::QueueFamilyDataGraphPropertiesARM, p_next), offset_of!(structs::QueueFamilyDataGraphPropertiesARM, engine), offset_of!(structs::QueueFamilyDataGraphPropertiesARM, operation)); - println!("PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM, s_type), offset_of!(structs::PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM, p_next), offset_of!(structs::PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM, queue_family_index), offset_of!(structs::PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM, engine_type)); - println!("QueueFamilyDataGraphProcessingEnginePropertiesARM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::QueueFamilyDataGraphProcessingEnginePropertiesARM, s_type), offset_of!(structs::QueueFamilyDataGraphProcessingEnginePropertiesARM, p_next), offset_of!(structs::QueueFamilyDataGraphProcessingEnginePropertiesARM, foreign_semaphore_handle_types), offset_of!(structs::QueueFamilyDataGraphProcessingEnginePropertiesARM, foreign_memory_handle_types)); - println!("DataGraphProcessingEngineCreateInfoARM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DataGraphProcessingEngineCreateInfoARM, s_type), offset_of!(structs::DataGraphProcessingEngineCreateInfoARM, p_next), offset_of!(structs::DataGraphProcessingEngineCreateInfoARM, processing_engine_count), offset_of!(structs::DataGraphProcessingEngineCreateInfoARM, p_processing_engines)); - println!("PhysicalDevicePipelineCacheIncrementalModeFeaturesSEC {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDevicePipelineCacheIncrementalModeFeaturesSEC, s_type), offset_of!(structs::PhysicalDevicePipelineCacheIncrementalModeFeaturesSEC, p_next), offset_of!(structs::PhysicalDevicePipelineCacheIncrementalModeFeaturesSEC, pipeline_cache_incremental_mode)); - println!("DataGraphPipelineBuiltinModelCreateInfoQCOM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DataGraphPipelineBuiltinModelCreateInfoQCOM, s_type), offset_of!(structs::DataGraphPipelineBuiltinModelCreateInfoQCOM, p_next), offset_of!(structs::DataGraphPipelineBuiltinModelCreateInfoQCOM, p_operation)); - println!("PhysicalDeviceDataGraphModelFeaturesQCOM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceDataGraphModelFeaturesQCOM, s_type), offset_of!(structs::PhysicalDeviceDataGraphModelFeaturesQCOM, p_next), offset_of!(structs::PhysicalDeviceDataGraphModelFeaturesQCOM, data_graph_model)); - println!("PhysicalDeviceShaderUntypedPointersFeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderUntypedPointersFeaturesKHR, s_type), offset_of!(structs::PhysicalDeviceShaderUntypedPointersFeaturesKHR, p_next), offset_of!(structs::PhysicalDeviceShaderUntypedPointersFeaturesKHR, shader_untyped_pointers)); - println!("PhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE, s_type), offset_of!(structs::PhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE, p_next), offset_of!(structs::PhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE, video_encode_rgb_conversion)); - println!("VideoEncodeRgbConversionCapabilitiesVALVE {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeRgbConversionCapabilitiesVALVE, s_type), offset_of!(structs::VideoEncodeRgbConversionCapabilitiesVALVE, p_next), offset_of!(structs::VideoEncodeRgbConversionCapabilitiesVALVE, rgb_models), offset_of!(structs::VideoEncodeRgbConversionCapabilitiesVALVE, rgb_ranges), offset_of!(structs::VideoEncodeRgbConversionCapabilitiesVALVE, x_chroma_offsets), offset_of!(structs::VideoEncodeRgbConversionCapabilitiesVALVE, y_chroma_offsets)); - println!("VideoEncodeProfileRgbConversionInfoVALVE {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeProfileRgbConversionInfoVALVE, s_type), offset_of!(structs::VideoEncodeProfileRgbConversionInfoVALVE, p_next), offset_of!(structs::VideoEncodeProfileRgbConversionInfoVALVE, perform_encode_rgb_conversion)); - println!("VideoEncodeSessionRgbConversionCreateInfoVALVE {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::VideoEncodeSessionRgbConversionCreateInfoVALVE, s_type), offset_of!(structs::VideoEncodeSessionRgbConversionCreateInfoVALVE, p_next), offset_of!(structs::VideoEncodeSessionRgbConversionCreateInfoVALVE, rgb_model), offset_of!(structs::VideoEncodeSessionRgbConversionCreateInfoVALVE, rgb_range), offset_of!(structs::VideoEncodeSessionRgbConversionCreateInfoVALVE, x_chroma_offset), offset_of!(structs::VideoEncodeSessionRgbConversionCreateInfoVALVE, y_chroma_offset)); - println!("PhysicalDeviceShader64BitIndexingFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShader64BitIndexingFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceShader64BitIndexingFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceShader64BitIndexingFeaturesEXT, shader64_bit_indexing)); - println!("PhysicalDevicePerformanceCountersByRegionFeaturesARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDevicePerformanceCountersByRegionFeaturesARM, s_type), offset_of!(structs::PhysicalDevicePerformanceCountersByRegionFeaturesARM, p_next), offset_of!(structs::PhysicalDevicePerformanceCountersByRegionFeaturesARM, performance_counters_by_region)); - println!("PhysicalDevicePerformanceCountersByRegionPropertiesARM {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDevicePerformanceCountersByRegionPropertiesARM, s_type), offset_of!(structs::PhysicalDevicePerformanceCountersByRegionPropertiesARM, p_next), offset_of!(structs::PhysicalDevicePerformanceCountersByRegionPropertiesARM, max_per_region_performance_counters), offset_of!(structs::PhysicalDevicePerformanceCountersByRegionPropertiesARM, performance_counter_region_size), offset_of!(structs::PhysicalDevicePerformanceCountersByRegionPropertiesARM, row_stride_alignment), offset_of!(structs::PhysicalDevicePerformanceCountersByRegionPropertiesARM, region_alignment), offset_of!(structs::PhysicalDevicePerformanceCountersByRegionPropertiesARM, identity_transform_order)); - println!("PerformanceCounterARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PerformanceCounterARM, s_type), offset_of!(structs::PerformanceCounterARM, p_next), offset_of!(structs::PerformanceCounterARM, counter_id)); - println!("PerformanceCounterDescriptionARM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PerformanceCounterDescriptionARM, s_type), offset_of!(structs::PerformanceCounterDescriptionARM, p_next), offset_of!(structs::PerformanceCounterDescriptionARM, flags), offset_of!(structs::PerformanceCounterDescriptionARM, name)); - println!("RenderPassPerformanceCountersByRegionBeginInfoARM {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::RenderPassPerformanceCountersByRegionBeginInfoARM, s_type), offset_of!(structs::RenderPassPerformanceCountersByRegionBeginInfoARM, p_next), offset_of!(structs::RenderPassPerformanceCountersByRegionBeginInfoARM, counter_address_count), offset_of!(structs::RenderPassPerformanceCountersByRegionBeginInfoARM, p_counter_addresses), offset_of!(structs::RenderPassPerformanceCountersByRegionBeginInfoARM, serialize_regions), offset_of!(structs::RenderPassPerformanceCountersByRegionBeginInfoARM, counter_index_count), offset_of!(structs::RenderPassPerformanceCountersByRegionBeginInfoARM, p_counter_indices)); - println!("ComputeOccupancyPriorityParametersNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ComputeOccupancyPriorityParametersNV, s_type), offset_of!(structs::ComputeOccupancyPriorityParametersNV, p_next), offset_of!(structs::ComputeOccupancyPriorityParametersNV, occupancy_priority), offset_of!(structs::ComputeOccupancyPriorityParametersNV, occupancy_throttling)); - println!("PhysicalDeviceComputeOccupancyPriorityFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceComputeOccupancyPriorityFeaturesNV, s_type), offset_of!(structs::PhysicalDeviceComputeOccupancyPriorityFeaturesNV, p_next), offset_of!(structs::PhysicalDeviceComputeOccupancyPriorityFeaturesNV, compute_occupancy_priority)); - println!("PhysicalDeviceShaderLongVectorFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderLongVectorFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceShaderLongVectorFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceShaderLongVectorFeaturesEXT, long_vector)); - println!("PhysicalDeviceShaderLongVectorPropertiesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderLongVectorPropertiesEXT, s_type), offset_of!(structs::PhysicalDeviceShaderLongVectorPropertiesEXT, p_next), offset_of!(structs::PhysicalDeviceShaderLongVectorPropertiesEXT, max_vector_components)); - println!("PhysicalDeviceTextureCompressionASTC3DFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceTextureCompressionASTC3DFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceTextureCompressionASTC3DFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceTextureCompressionASTC3DFeaturesEXT, texture_compression_astc_3d)); - println!("PhysicalDeviceShaderSubgroupPartitionedFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderSubgroupPartitionedFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceShaderSubgroupPartitionedFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceShaderSubgroupPartitionedFeaturesEXT, shader_subgroup_partitioned)); - println!("HostAddressRangeEXT {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::HostAddressRangeEXT, address), offset_of!(structs::HostAddressRangeEXT, size)); - println!("HostAddressRangeConstEXT {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::HostAddressRangeConstEXT, address), offset_of!(structs::HostAddressRangeConstEXT, size)); - println!("TexelBufferDescriptorInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::TexelBufferDescriptorInfoEXT, s_type), offset_of!(structs::TexelBufferDescriptorInfoEXT, p_next), offset_of!(structs::TexelBufferDescriptorInfoEXT, format), offset_of!(structs::TexelBufferDescriptorInfoEXT, address_range)); - println!("ImageDescriptorInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ImageDescriptorInfoEXT, s_type), offset_of!(structs::ImageDescriptorInfoEXT, p_next), offset_of!(structs::ImageDescriptorInfoEXT, p_view), offset_of!(structs::ImageDescriptorInfoEXT, layout)); - println!("ResourceDescriptorDataEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ResourceDescriptorDataEXT, p_image), offset_of!(structs::ResourceDescriptorDataEXT, p_texel_buffer), offset_of!(structs::ResourceDescriptorDataEXT, p_address_range), offset_of!(structs::ResourceDescriptorDataEXT, p_tensor_arm)); - println!("ResourceDescriptorInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ResourceDescriptorInfoEXT, s_type), offset_of!(structs::ResourceDescriptorInfoEXT, p_next), offset_of!(structs::ResourceDescriptorInfoEXT, data)); - println!("BindHeapInfoEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BindHeapInfoEXT, s_type), offset_of!(structs::BindHeapInfoEXT, p_next), offset_of!(structs::BindHeapInfoEXT, heap_range), offset_of!(structs::BindHeapInfoEXT, reserved_range_offset), offset_of!(structs::BindHeapInfoEXT, reserved_range_size)); - println!("PushDataInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PushDataInfoEXT, s_type), offset_of!(structs::PushDataInfoEXT, p_next), offset_of!(structs::PushDataInfoEXT, offset), offset_of!(structs::PushDataInfoEXT, data)); - println!("DescriptorMappingSourceConstantOffsetEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DescriptorMappingSourceConstantOffsetEXT, heap_offset), offset_of!(structs::DescriptorMappingSourceConstantOffsetEXT, heap_array_stride), offset_of!(structs::DescriptorMappingSourceConstantOffsetEXT, p_embedded_sampler), offset_of!(structs::DescriptorMappingSourceConstantOffsetEXT, sampler_heap_offset), offset_of!(structs::DescriptorMappingSourceConstantOffsetEXT, sampler_heap_array_stride)); - println!("DescriptorMappingSourcePushIndexEXT {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DescriptorMappingSourcePushIndexEXT, heap_offset), offset_of!(structs::DescriptorMappingSourcePushIndexEXT, push_offset), offset_of!(structs::DescriptorMappingSourcePushIndexEXT, heap_index_stride), offset_of!(structs::DescriptorMappingSourcePushIndexEXT, heap_array_stride), offset_of!(structs::DescriptorMappingSourcePushIndexEXT, p_embedded_sampler), offset_of!(structs::DescriptorMappingSourcePushIndexEXT, use_combined_image_sampler_index), offset_of!(structs::DescriptorMappingSourcePushIndexEXT, sampler_heap_offset), offset_of!(structs::DescriptorMappingSourcePushIndexEXT, sampler_push_offset), offset_of!(structs::DescriptorMappingSourcePushIndexEXT, sampler_heap_index_stride), offset_of!(structs::DescriptorMappingSourcePushIndexEXT, sampler_heap_array_stride)); - println!("DescriptorMappingSourceIndirectIndexEXT {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DescriptorMappingSourceIndirectIndexEXT, heap_offset), offset_of!(structs::DescriptorMappingSourceIndirectIndexEXT, push_offset), offset_of!(structs::DescriptorMappingSourceIndirectIndexEXT, address_offset), offset_of!(structs::DescriptorMappingSourceIndirectIndexEXT, heap_index_stride), offset_of!(structs::DescriptorMappingSourceIndirectIndexEXT, heap_array_stride), offset_of!(structs::DescriptorMappingSourceIndirectIndexEXT, p_embedded_sampler), offset_of!(structs::DescriptorMappingSourceIndirectIndexEXT, use_combined_image_sampler_index), offset_of!(structs::DescriptorMappingSourceIndirectIndexEXT, sampler_heap_offset), offset_of!(structs::DescriptorMappingSourceIndirectIndexEXT, sampler_push_offset), offset_of!(structs::DescriptorMappingSourceIndirectIndexEXT, sampler_address_offset), offset_of!(structs::DescriptorMappingSourceIndirectIndexEXT, sampler_heap_index_stride), offset_of!(structs::DescriptorMappingSourceIndirectIndexEXT, sampler_heap_array_stride)); - println!("DescriptorMappingSourceIndirectIndexArrayEXT {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DescriptorMappingSourceIndirectIndexArrayEXT, heap_offset), offset_of!(structs::DescriptorMappingSourceIndirectIndexArrayEXT, push_offset), offset_of!(structs::DescriptorMappingSourceIndirectIndexArrayEXT, address_offset), offset_of!(structs::DescriptorMappingSourceIndirectIndexArrayEXT, heap_index_stride), offset_of!(structs::DescriptorMappingSourceIndirectIndexArrayEXT, p_embedded_sampler), offset_of!(structs::DescriptorMappingSourceIndirectIndexArrayEXT, use_combined_image_sampler_index), offset_of!(structs::DescriptorMappingSourceIndirectIndexArrayEXT, sampler_heap_offset), offset_of!(structs::DescriptorMappingSourceIndirectIndexArrayEXT, sampler_push_offset), offset_of!(structs::DescriptorMappingSourceIndirectIndexArrayEXT, sampler_address_offset), offset_of!(structs::DescriptorMappingSourceIndirectIndexArrayEXT, sampler_heap_index_stride)); - println!("DescriptorMappingSourceHeapDataEXT {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DescriptorMappingSourceHeapDataEXT, heap_offset), offset_of!(structs::DescriptorMappingSourceHeapDataEXT, push_offset)); - println!("DescriptorMappingSourceShaderRecordIndexEXT {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DescriptorMappingSourceShaderRecordIndexEXT, heap_offset), offset_of!(structs::DescriptorMappingSourceShaderRecordIndexEXT, shader_record_offset), offset_of!(structs::DescriptorMappingSourceShaderRecordIndexEXT, heap_index_stride), offset_of!(structs::DescriptorMappingSourceShaderRecordIndexEXT, heap_array_stride), offset_of!(structs::DescriptorMappingSourceShaderRecordIndexEXT, p_embedded_sampler), offset_of!(structs::DescriptorMappingSourceShaderRecordIndexEXT, use_combined_image_sampler_index), offset_of!(structs::DescriptorMappingSourceShaderRecordIndexEXT, sampler_heap_offset), offset_of!(structs::DescriptorMappingSourceShaderRecordIndexEXT, sampler_shader_record_offset), offset_of!(structs::DescriptorMappingSourceShaderRecordIndexEXT, sampler_heap_index_stride), offset_of!(structs::DescriptorMappingSourceShaderRecordIndexEXT, sampler_heap_array_stride)); - println!("DescriptorMappingSourceIndirectAddressEXT {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DescriptorMappingSourceIndirectAddressEXT, push_offset), offset_of!(structs::DescriptorMappingSourceIndirectAddressEXT, address_offset)); - println!("DescriptorMappingSourceDataEXT {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DescriptorMappingSourceDataEXT, constant_offset), offset_of!(structs::DescriptorMappingSourceDataEXT, push_index), offset_of!(structs::DescriptorMappingSourceDataEXT, indirect_index), offset_of!(structs::DescriptorMappingSourceDataEXT, indirect_index_array), offset_of!(structs::DescriptorMappingSourceDataEXT, heap_data), offset_of!(structs::DescriptorMappingSourceDataEXT, push_data_offset), offset_of!(structs::DescriptorMappingSourceDataEXT, push_address_offset), offset_of!(structs::DescriptorMappingSourceDataEXT, indirect_address), offset_of!(structs::DescriptorMappingSourceDataEXT, shader_record_index), offset_of!(structs::DescriptorMappingSourceDataEXT, shader_record_data_offset), offset_of!(structs::DescriptorMappingSourceDataEXT, shader_record_address_offset)); - println!("DescriptorSetAndBindingMappingEXT {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DescriptorSetAndBindingMappingEXT, s_type), offset_of!(structs::DescriptorSetAndBindingMappingEXT, p_next), offset_of!(structs::DescriptorSetAndBindingMappingEXT, descriptor_set), offset_of!(structs::DescriptorSetAndBindingMappingEXT, first_binding), offset_of!(structs::DescriptorSetAndBindingMappingEXT, binding_count), offset_of!(structs::DescriptorSetAndBindingMappingEXT, resource_mask), offset_of!(structs::DescriptorSetAndBindingMappingEXT, source), offset_of!(structs::DescriptorSetAndBindingMappingEXT, source_data)); - println!("ShaderDescriptorSetAndBindingMappingInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ShaderDescriptorSetAndBindingMappingInfoEXT, s_type), offset_of!(structs::ShaderDescriptorSetAndBindingMappingInfoEXT, p_next), offset_of!(structs::ShaderDescriptorSetAndBindingMappingInfoEXT, mapping_count), offset_of!(structs::ShaderDescriptorSetAndBindingMappingInfoEXT, p_mappings)); - println!("SamplerCustomBorderColorIndexCreateInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SamplerCustomBorderColorIndexCreateInfoEXT, s_type), offset_of!(structs::SamplerCustomBorderColorIndexCreateInfoEXT, p_next), offset_of!(structs::SamplerCustomBorderColorIndexCreateInfoEXT, index)); - println!("OpaqueCaptureDataCreateInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::OpaqueCaptureDataCreateInfoEXT, s_type), offset_of!(structs::OpaqueCaptureDataCreateInfoEXT, p_next), offset_of!(structs::OpaqueCaptureDataCreateInfoEXT, p_data)); - println!("IndirectCommandsLayoutPushDataTokenNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::IndirectCommandsLayoutPushDataTokenNV, s_type), offset_of!(structs::IndirectCommandsLayoutPushDataTokenNV, p_next), offset_of!(structs::IndirectCommandsLayoutPushDataTokenNV, push_data_offset), offset_of!(structs::IndirectCommandsLayoutPushDataTokenNV, push_data_size)); - println!("SubsampledImageFormatPropertiesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::SubsampledImageFormatPropertiesEXT, s_type), offset_of!(structs::SubsampledImageFormatPropertiesEXT, p_next), offset_of!(structs::SubsampledImageFormatPropertiesEXT, subsampled_image_descriptor_count)); - println!("PhysicalDeviceDescriptorHeapFeaturesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceDescriptorHeapFeaturesEXT, s_type), offset_of!(structs::PhysicalDeviceDescriptorHeapFeaturesEXT, p_next), offset_of!(structs::PhysicalDeviceDescriptorHeapFeaturesEXT, descriptor_heap), offset_of!(structs::PhysicalDeviceDescriptorHeapFeaturesEXT, descriptor_heap_capture_replay)); - println!("PhysicalDeviceDescriptorHeapPropertiesEXT {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceDescriptorHeapPropertiesEXT, s_type), offset_of!(structs::PhysicalDeviceDescriptorHeapPropertiesEXT, p_next), offset_of!(structs::PhysicalDeviceDescriptorHeapPropertiesEXT, sampler_heap_alignment), offset_of!(structs::PhysicalDeviceDescriptorHeapPropertiesEXT, resource_heap_alignment), offset_of!(structs::PhysicalDeviceDescriptorHeapPropertiesEXT, max_sampler_heap_size), offset_of!(structs::PhysicalDeviceDescriptorHeapPropertiesEXT, max_resource_heap_size), offset_of!(structs::PhysicalDeviceDescriptorHeapPropertiesEXT, min_sampler_heap_reserved_range), offset_of!(structs::PhysicalDeviceDescriptorHeapPropertiesEXT, min_sampler_heap_reserved_range_with_embedded), offset_of!(structs::PhysicalDeviceDescriptorHeapPropertiesEXT, min_resource_heap_reserved_range), offset_of!(structs::PhysicalDeviceDescriptorHeapPropertiesEXT, sampler_descriptor_size), offset_of!(structs::PhysicalDeviceDescriptorHeapPropertiesEXT, image_descriptor_size), offset_of!(structs::PhysicalDeviceDescriptorHeapPropertiesEXT, buffer_descriptor_size), offset_of!(structs::PhysicalDeviceDescriptorHeapPropertiesEXT, sampler_descriptor_alignment), offset_of!(structs::PhysicalDeviceDescriptorHeapPropertiesEXT, image_descriptor_alignment), offset_of!(structs::PhysicalDeviceDescriptorHeapPropertiesEXT, buffer_descriptor_alignment), offset_of!(structs::PhysicalDeviceDescriptorHeapPropertiesEXT, max_push_data_size), offset_of!(structs::PhysicalDeviceDescriptorHeapPropertiesEXT, image_capture_replay_opaque_data_size), offset_of!(structs::PhysicalDeviceDescriptorHeapPropertiesEXT, max_descriptor_heap_embedded_samplers), offset_of!(structs::PhysicalDeviceDescriptorHeapPropertiesEXT, sampler_ycbcr_conversion_count), offset_of!(structs::PhysicalDeviceDescriptorHeapPropertiesEXT, sparse_descriptor_heaps), offset_of!(structs::PhysicalDeviceDescriptorHeapPropertiesEXT, protected_descriptor_heaps)); - println!("CommandBufferInheritanceDescriptorHeapInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CommandBufferInheritanceDescriptorHeapInfoEXT, s_type), offset_of!(structs::CommandBufferInheritanceDescriptorHeapInfoEXT, p_next), offset_of!(structs::CommandBufferInheritanceDescriptorHeapInfoEXT, p_sampler_heap_bind_info), offset_of!(structs::CommandBufferInheritanceDescriptorHeapInfoEXT, p_resource_heap_bind_info)); - println!("PhysicalDeviceDescriptorHeapTensorPropertiesARM {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceDescriptorHeapTensorPropertiesARM, s_type), offset_of!(structs::PhysicalDeviceDescriptorHeapTensorPropertiesARM, p_next), offset_of!(structs::PhysicalDeviceDescriptorHeapTensorPropertiesARM, tensor_descriptor_size), offset_of!(structs::PhysicalDeviceDescriptorHeapTensorPropertiesARM, tensor_descriptor_alignment), offset_of!(structs::PhysicalDeviceDescriptorHeapTensorPropertiesARM, tensor_capture_replay_opaque_data_size)); - println!("PhysicalDeviceShaderInstrumentationFeaturesARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderInstrumentationFeaturesARM, s_type), offset_of!(structs::PhysicalDeviceShaderInstrumentationFeaturesARM, p_next), offset_of!(structs::PhysicalDeviceShaderInstrumentationFeaturesARM, shader_instrumentation)); - println!("PhysicalDeviceShaderInstrumentationPropertiesARM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderInstrumentationPropertiesARM, s_type), offset_of!(structs::PhysicalDeviceShaderInstrumentationPropertiesARM, p_next), offset_of!(structs::PhysicalDeviceShaderInstrumentationPropertiesARM, num_metrics), offset_of!(structs::PhysicalDeviceShaderInstrumentationPropertiesARM, per_basic_block_granularity)); - println!("ShaderInstrumentationCreateInfoARM {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ShaderInstrumentationCreateInfoARM, s_type), offset_of!(structs::ShaderInstrumentationCreateInfoARM, p_next)); - println!("ShaderInstrumentationMetricDescriptionARM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ShaderInstrumentationMetricDescriptionARM, s_type), offset_of!(structs::ShaderInstrumentationMetricDescriptionARM, p_next), offset_of!(structs::ShaderInstrumentationMetricDescriptionARM, name), offset_of!(structs::ShaderInstrumentationMetricDescriptionARM, description)); - println!("ShaderInstrumentationMetricDataHeaderARM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ShaderInstrumentationMetricDataHeaderARM, result_index), offset_of!(structs::ShaderInstrumentationMetricDataHeaderARM, result_sub_index), offset_of!(structs::ShaderInstrumentationMetricDataHeaderARM, stages), offset_of!(structs::ShaderInstrumentationMetricDataHeaderARM, basic_block_index)); - println!("DeviceAddressRangeKHR {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DeviceAddressRangeKHR, address), offset_of!(structs::DeviceAddressRangeKHR, size)); - println!("DeviceMemoryCopyKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DeviceMemoryCopyKHR, s_type), offset_of!(structs::DeviceMemoryCopyKHR, p_next), offset_of!(structs::DeviceMemoryCopyKHR, src_range), offset_of!(structs::DeviceMemoryCopyKHR, src_flags), offset_of!(structs::DeviceMemoryCopyKHR, dst_range), offset_of!(structs::DeviceMemoryCopyKHR, dst_flags)); - println!("CopyDeviceMemoryInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CopyDeviceMemoryInfoKHR, s_type), offset_of!(structs::CopyDeviceMemoryInfoKHR, p_next), offset_of!(structs::CopyDeviceMemoryInfoKHR, region_count), offset_of!(structs::CopyDeviceMemoryInfoKHR, p_regions)); - println!("DeviceMemoryImageCopyKHR {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DeviceMemoryImageCopyKHR, s_type), offset_of!(structs::DeviceMemoryImageCopyKHR, p_next), offset_of!(structs::DeviceMemoryImageCopyKHR, address_range), offset_of!(structs::DeviceMemoryImageCopyKHR, address_flags), offset_of!(structs::DeviceMemoryImageCopyKHR, address_row_length), offset_of!(structs::DeviceMemoryImageCopyKHR, address_image_height), offset_of!(structs::DeviceMemoryImageCopyKHR, image_subresource), offset_of!(structs::DeviceMemoryImageCopyKHR, image_layout), offset_of!(structs::DeviceMemoryImageCopyKHR, image_offset), offset_of!(structs::DeviceMemoryImageCopyKHR, image_extent)); - println!("CopyDeviceMemoryImageInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::CopyDeviceMemoryImageInfoKHR, s_type), offset_of!(structs::CopyDeviceMemoryImageInfoKHR, p_next), offset_of!(structs::CopyDeviceMemoryImageInfoKHR, image), offset_of!(structs::CopyDeviceMemoryImageInfoKHR, region_count), offset_of!(structs::CopyDeviceMemoryImageInfoKHR, p_regions)); - println!("MemoryRangeBarriersInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::MemoryRangeBarriersInfoKHR, s_type), offset_of!(structs::MemoryRangeBarriersInfoKHR, p_next), offset_of!(structs::MemoryRangeBarriersInfoKHR, memory_range_barrier_count), offset_of!(structs::MemoryRangeBarriersInfoKHR, p_memory_range_barriers)); - println!("MemoryRangeBarrierKHR {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::MemoryRangeBarrierKHR, s_type), offset_of!(structs::MemoryRangeBarrierKHR, p_next), offset_of!(structs::MemoryRangeBarrierKHR, src_stage_mask), offset_of!(structs::MemoryRangeBarrierKHR, src_access_mask), offset_of!(structs::MemoryRangeBarrierKHR, dst_stage_mask), offset_of!(structs::MemoryRangeBarrierKHR, dst_access_mask), offset_of!(structs::MemoryRangeBarrierKHR, src_queue_family_index), offset_of!(structs::MemoryRangeBarrierKHR, dst_queue_family_index), offset_of!(structs::MemoryRangeBarrierKHR, address_range), offset_of!(structs::MemoryRangeBarrierKHR, address_flags)); - println!("PhysicalDeviceDeviceAddressCommandsFeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceDeviceAddressCommandsFeaturesKHR, s_type), offset_of!(structs::PhysicalDeviceDeviceAddressCommandsFeaturesKHR, p_next), offset_of!(structs::PhysicalDeviceDeviceAddressCommandsFeaturesKHR, device_address_commands)); - println!("ConditionalRenderingBeginInfo2EXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::ConditionalRenderingBeginInfo2EXT, s_type), offset_of!(structs::ConditionalRenderingBeginInfo2EXT, p_next), offset_of!(structs::ConditionalRenderingBeginInfo2EXT, address_range), offset_of!(structs::ConditionalRenderingBeginInfo2EXT, address_flags), offset_of!(structs::ConditionalRenderingBeginInfo2EXT, flags)); - println!("AccelerationStructureCreateInfo2KHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::AccelerationStructureCreateInfo2KHR, s_type), offset_of!(structs::AccelerationStructureCreateInfo2KHR, p_next), offset_of!(structs::AccelerationStructureCreateInfo2KHR, create_flags), offset_of!(structs::AccelerationStructureCreateInfo2KHR, address_range), offset_of!(structs::AccelerationStructureCreateInfo2KHR, address_flags)); - println!("BindIndexBuffer3InfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BindIndexBuffer3InfoKHR, s_type), offset_of!(structs::BindIndexBuffer3InfoKHR, p_next), offset_of!(structs::BindIndexBuffer3InfoKHR, address_range), offset_of!(structs::BindIndexBuffer3InfoKHR, address_flags), offset_of!(structs::BindIndexBuffer3InfoKHR, index_type)); - println!("BindVertexBuffer3InfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BindVertexBuffer3InfoKHR, s_type), offset_of!(structs::BindVertexBuffer3InfoKHR, p_next), offset_of!(structs::BindVertexBuffer3InfoKHR, set_stride), offset_of!(structs::BindVertexBuffer3InfoKHR, address_range), offset_of!(structs::BindVertexBuffer3InfoKHR, address_flags)); - println!("DrawIndirect2InfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DrawIndirect2InfoKHR, s_type), offset_of!(structs::DrawIndirect2InfoKHR, p_next), offset_of!(structs::DrawIndirect2InfoKHR, address_range), offset_of!(structs::DrawIndirect2InfoKHR, address_flags), offset_of!(structs::DrawIndirect2InfoKHR, draw_count)); - println!("DrawIndirectCount2InfoKHR {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DrawIndirectCount2InfoKHR, s_type), offset_of!(structs::DrawIndirectCount2InfoKHR, p_next), offset_of!(structs::DrawIndirectCount2InfoKHR, address_range), offset_of!(structs::DrawIndirectCount2InfoKHR, address_flags), offset_of!(structs::DrawIndirectCount2InfoKHR, count_address_range), offset_of!(structs::DrawIndirectCount2InfoKHR, count_address_flags), offset_of!(structs::DrawIndirectCount2InfoKHR, max_draw_count)); - println!("DispatchIndirect2InfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DispatchIndirect2InfoKHR, s_type), offset_of!(structs::DispatchIndirect2InfoKHR, p_next), offset_of!(structs::DispatchIndirect2InfoKHR, address_range), offset_of!(structs::DispatchIndirect2InfoKHR, address_flags)); - println!("BindTransformFeedbackBuffer2InfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::BindTransformFeedbackBuffer2InfoEXT, s_type), offset_of!(structs::BindTransformFeedbackBuffer2InfoEXT, p_next), offset_of!(structs::BindTransformFeedbackBuffer2InfoEXT, address_range), offset_of!(structs::BindTransformFeedbackBuffer2InfoEXT, address_flags)); - println!("MemoryMarkerInfoAMD {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::MemoryMarkerInfoAMD, s_type), offset_of!(structs::MemoryMarkerInfoAMD, p_next), offset_of!(structs::MemoryMarkerInfoAMD, stage), offset_of!(structs::MemoryMarkerInfoAMD, dst_range), offset_of!(structs::MemoryMarkerInfoAMD, dst_flags), offset_of!(structs::MemoryMarkerInfoAMD, marker)); - println!("PhysicalDeviceShaderConstantDataFeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderConstantDataFeaturesKHR, s_type), offset_of!(structs::PhysicalDeviceShaderConstantDataFeaturesKHR, p_next), offset_of!(structs::PhysicalDeviceShaderConstantDataFeaturesKHR, shader_constant_data)); - println!("PhysicalDeviceShaderAbortFeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderAbortFeaturesKHR, s_type), offset_of!(structs::PhysicalDeviceShaderAbortFeaturesKHR, p_next), offset_of!(structs::PhysicalDeviceShaderAbortFeaturesKHR, shader_abort)); - println!("PhysicalDeviceShaderAbortPropertiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::PhysicalDeviceShaderAbortPropertiesKHR, s_type), offset_of!(structs::PhysicalDeviceShaderAbortPropertiesKHR, p_next), offset_of!(structs::PhysicalDeviceShaderAbortPropertiesKHR, max_shader_abort_message_size)); - println!("DeviceFaultShaderAbortMessageInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(structs::DeviceFaultShaderAbortMessageInfoKHR, s_type), offset_of!(structs::DeviceFaultShaderAbortMessageInfoKHR, p_next), offset_of!(structs::DeviceFaultShaderAbortMessageInfoKHR, message_data_size), offset_of!(structs::DeviceFaultShaderAbortMessageInfoKHR, p_message_data)); + println!("BaseOutStructure {} {} {} {}", size_of::(), align_of::(), offset_of!(BaseOutStructure, s_type), offset_of!(BaseOutStructure, p_next)); + println!("BaseInStructure {} {} {} {}", size_of::(), align_of::(), offset_of!(BaseInStructure, s_type), offset_of!(BaseInStructure, p_next)); + println!("Offset2D {} {} {} {}", size_of::(), align_of::(), offset_of!(Offset2D, x), offset_of!(Offset2D, y)); + println!("Offset3D {} {} {} {} {}", size_of::(), align_of::(), offset_of!(Offset3D, x), offset_of!(Offset3D, y), offset_of!(Offset3D, z)); + println!("Extent2D {} {} {} {}", size_of::(), align_of::(), offset_of!(Extent2D, width), offset_of!(Extent2D, height)); + println!("Extent3D {} {} {} {} {}", size_of::(), align_of::(), offset_of!(Extent3D, width), offset_of!(Extent3D, height), offset_of!(Extent3D, depth)); + println!("Viewport {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(Viewport, x), offset_of!(Viewport, y), offset_of!(Viewport, width), offset_of!(Viewport, height), offset_of!(Viewport, min_depth), offset_of!(Viewport, max_depth)); + println!("Rect2D {} {} {} {}", size_of::(), align_of::(), offset_of!(Rect2D, offset), offset_of!(Rect2D, extent)); + println!("ClearRect {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ClearRect, rect), offset_of!(ClearRect, base_array_layer), offset_of!(ClearRect, layer_count)); + println!("ComponentMapping {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ComponentMapping, r), offset_of!(ComponentMapping, g), offset_of!(ComponentMapping, b), offset_of!(ComponentMapping, a)); + println!("PhysicalDeviceProperties {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceProperties, api_version), offset_of!(PhysicalDeviceProperties, driver_version), offset_of!(PhysicalDeviceProperties, vendor_id), offset_of!(PhysicalDeviceProperties, device_id), offset_of!(PhysicalDeviceProperties, device_type), offset_of!(PhysicalDeviceProperties, device_name), offset_of!(PhysicalDeviceProperties, pipeline_cache_uuid), offset_of!(PhysicalDeviceProperties, limits), offset_of!(PhysicalDeviceProperties, sparse_properties)); + println!("ExtensionProperties {} {} {} {}", size_of::(), align_of::(), offset_of!(ExtensionProperties, extension_name), offset_of!(ExtensionProperties, spec_version)); + println!("LayerProperties {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(LayerProperties, layer_name), offset_of!(LayerProperties, spec_version), offset_of!(LayerProperties, implementation_version), offset_of!(LayerProperties, description)); + println!("ApplicationInfo {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ApplicationInfo, s_type), offset_of!(ApplicationInfo, p_next), offset_of!(ApplicationInfo, p_application_name), offset_of!(ApplicationInfo, application_version), offset_of!(ApplicationInfo, p_engine_name), offset_of!(ApplicationInfo, engine_version), offset_of!(ApplicationInfo, api_version)); + println!("AllocationCallbacks {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(AllocationCallbacks, p_user_data), offset_of!(AllocationCallbacks, pfn_allocation), offset_of!(AllocationCallbacks, pfn_reallocation), offset_of!(AllocationCallbacks, pfn_free), offset_of!(AllocationCallbacks, pfn_internal_allocation), offset_of!(AllocationCallbacks, pfn_internal_free)); + println!("DeviceQueueCreateInfo {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DeviceQueueCreateInfo, s_type), offset_of!(DeviceQueueCreateInfo, p_next), offset_of!(DeviceQueueCreateInfo, flags), offset_of!(DeviceQueueCreateInfo, queue_family_index), offset_of!(DeviceQueueCreateInfo, queue_count), offset_of!(DeviceQueueCreateInfo, p_queue_priorities)); + println!("DeviceCreateInfo {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DeviceCreateInfo, s_type), offset_of!(DeviceCreateInfo, p_next), offset_of!(DeviceCreateInfo, flags), offset_of!(DeviceCreateInfo, queue_create_info_count), offset_of!(DeviceCreateInfo, p_queue_create_infos), offset_of!(DeviceCreateInfo, enabled_layer_count), offset_of!(DeviceCreateInfo, pp_enabled_layer_names), offset_of!(DeviceCreateInfo, enabled_extension_count), offset_of!(DeviceCreateInfo, pp_enabled_extension_names), offset_of!(DeviceCreateInfo, p_enabled_features)); + println!("InstanceCreateInfo {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(InstanceCreateInfo, s_type), offset_of!(InstanceCreateInfo, p_next), offset_of!(InstanceCreateInfo, flags), offset_of!(InstanceCreateInfo, p_application_info), offset_of!(InstanceCreateInfo, enabled_layer_count), offset_of!(InstanceCreateInfo, pp_enabled_layer_names), offset_of!(InstanceCreateInfo, enabled_extension_count), offset_of!(InstanceCreateInfo, pp_enabled_extension_names)); + println!("QueueFamilyProperties {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(QueueFamilyProperties, queue_flags), offset_of!(QueueFamilyProperties, queue_count), offset_of!(QueueFamilyProperties, timestamp_valid_bits), offset_of!(QueueFamilyProperties, min_image_transfer_granularity)); + println!("PhysicalDeviceMemoryProperties {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceMemoryProperties, memory_type_count), offset_of!(PhysicalDeviceMemoryProperties, memory_types), offset_of!(PhysicalDeviceMemoryProperties, memory_heap_count), offset_of!(PhysicalDeviceMemoryProperties, memory_heaps)); + println!("MemoryAllocateInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(MemoryAllocateInfo, s_type), offset_of!(MemoryAllocateInfo, p_next), offset_of!(MemoryAllocateInfo, allocation_size), offset_of!(MemoryAllocateInfo, memory_type_index)); + println!("MemoryRequirements {} {} {} {} {}", size_of::(), align_of::(), offset_of!(MemoryRequirements, size), offset_of!(MemoryRequirements, alignment), offset_of!(MemoryRequirements, memory_type_bits)); + println!("SparseImageFormatProperties {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SparseImageFormatProperties, aspect_mask), offset_of!(SparseImageFormatProperties, image_granularity), offset_of!(SparseImageFormatProperties, flags)); + println!("SparseImageMemoryRequirements {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SparseImageMemoryRequirements, format_properties), offset_of!(SparseImageMemoryRequirements, image_mip_tail_first_lod), offset_of!(SparseImageMemoryRequirements, image_mip_tail_size), offset_of!(SparseImageMemoryRequirements, image_mip_tail_offset), offset_of!(SparseImageMemoryRequirements, image_mip_tail_stride)); + println!("MemoryType {} {} {} {}", size_of::(), align_of::(), offset_of!(MemoryType, property_flags), offset_of!(MemoryType, heap_index)); + println!("MemoryHeap {} {} {} {}", size_of::(), align_of::(), offset_of!(MemoryHeap, size), offset_of!(MemoryHeap, flags)); + println!("MappedMemoryRange {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(MappedMemoryRange, s_type), offset_of!(MappedMemoryRange, p_next), offset_of!(MappedMemoryRange, memory), offset_of!(MappedMemoryRange, offset), offset_of!(MappedMemoryRange, size)); + println!("FormatProperties {} {} {} {} {}", size_of::(), align_of::(), offset_of!(FormatProperties, linear_tiling_features), offset_of!(FormatProperties, optimal_tiling_features), offset_of!(FormatProperties, buffer_features)); + println!("ImageFormatProperties {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImageFormatProperties, max_extent), offset_of!(ImageFormatProperties, max_mip_levels), offset_of!(ImageFormatProperties, max_array_layers), offset_of!(ImageFormatProperties, sample_counts), offset_of!(ImageFormatProperties, max_resource_size)); + println!("DescriptorBufferInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DescriptorBufferInfo, buffer), offset_of!(DescriptorBufferInfo, offset), offset_of!(DescriptorBufferInfo, range)); + println!("DescriptorImageInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DescriptorImageInfo, sampler), offset_of!(DescriptorImageInfo, image_view), offset_of!(DescriptorImageInfo, image_layout)); + println!("WriteDescriptorSet {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(WriteDescriptorSet, s_type), offset_of!(WriteDescriptorSet, p_next), offset_of!(WriteDescriptorSet, dst_set), offset_of!(WriteDescriptorSet, dst_binding), offset_of!(WriteDescriptorSet, dst_array_element), offset_of!(WriteDescriptorSet, descriptor_count), offset_of!(WriteDescriptorSet, descriptor_type), offset_of!(WriteDescriptorSet, p_image_info), offset_of!(WriteDescriptorSet, p_buffer_info), offset_of!(WriteDescriptorSet, p_texel_buffer_view)); + println!("CopyDescriptorSet {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CopyDescriptorSet, s_type), offset_of!(CopyDescriptorSet, p_next), offset_of!(CopyDescriptorSet, src_set), offset_of!(CopyDescriptorSet, src_binding), offset_of!(CopyDescriptorSet, src_array_element), offset_of!(CopyDescriptorSet, dst_set), offset_of!(CopyDescriptorSet, dst_binding), offset_of!(CopyDescriptorSet, dst_array_element), offset_of!(CopyDescriptorSet, descriptor_count)); + println!("BufferUsageFlags2CreateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(BufferUsageFlags2CreateInfo, s_type), offset_of!(BufferUsageFlags2CreateInfo, p_next), offset_of!(BufferUsageFlags2CreateInfo, usage)); + println!("BufferCreateInfo {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(BufferCreateInfo, s_type), offset_of!(BufferCreateInfo, p_next), offset_of!(BufferCreateInfo, flags), offset_of!(BufferCreateInfo, size), offset_of!(BufferCreateInfo, usage), offset_of!(BufferCreateInfo, sharing_mode), offset_of!(BufferCreateInfo, queue_family_index_count), offset_of!(BufferCreateInfo, p_queue_family_indices)); + println!("BufferViewCreateInfo {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(BufferViewCreateInfo, s_type), offset_of!(BufferViewCreateInfo, p_next), offset_of!(BufferViewCreateInfo, flags), offset_of!(BufferViewCreateInfo, buffer), offset_of!(BufferViewCreateInfo, format), offset_of!(BufferViewCreateInfo, offset), offset_of!(BufferViewCreateInfo, range)); + println!("ImageSubresource {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImageSubresource, aspect_mask), offset_of!(ImageSubresource, mip_level), offset_of!(ImageSubresource, array_layer)); + println!("ImageSubresourceLayers {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImageSubresourceLayers, aspect_mask), offset_of!(ImageSubresourceLayers, mip_level), offset_of!(ImageSubresourceLayers, base_array_layer), offset_of!(ImageSubresourceLayers, layer_count)); + println!("ImageSubresourceRange {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImageSubresourceRange, aspect_mask), offset_of!(ImageSubresourceRange, base_mip_level), offset_of!(ImageSubresourceRange, level_count), offset_of!(ImageSubresourceRange, base_array_layer), offset_of!(ImageSubresourceRange, layer_count)); + println!("MemoryBarrier {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(MemoryBarrier, s_type), offset_of!(MemoryBarrier, p_next), offset_of!(MemoryBarrier, src_access_mask), offset_of!(MemoryBarrier, dst_access_mask)); + println!("BufferMemoryBarrier {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(BufferMemoryBarrier, s_type), offset_of!(BufferMemoryBarrier, p_next), offset_of!(BufferMemoryBarrier, src_access_mask), offset_of!(BufferMemoryBarrier, dst_access_mask), offset_of!(BufferMemoryBarrier, src_queue_family_index), offset_of!(BufferMemoryBarrier, dst_queue_family_index), offset_of!(BufferMemoryBarrier, buffer), offset_of!(BufferMemoryBarrier, offset), offset_of!(BufferMemoryBarrier, size)); + println!("ImageMemoryBarrier {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImageMemoryBarrier, s_type), offset_of!(ImageMemoryBarrier, p_next), offset_of!(ImageMemoryBarrier, src_access_mask), offset_of!(ImageMemoryBarrier, dst_access_mask), offset_of!(ImageMemoryBarrier, old_layout), offset_of!(ImageMemoryBarrier, new_layout), offset_of!(ImageMemoryBarrier, src_queue_family_index), offset_of!(ImageMemoryBarrier, dst_queue_family_index), offset_of!(ImageMemoryBarrier, image), offset_of!(ImageMemoryBarrier, subresource_range)); + println!("ImageCreateInfo {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImageCreateInfo, s_type), offset_of!(ImageCreateInfo, p_next), offset_of!(ImageCreateInfo, flags), offset_of!(ImageCreateInfo, image_type), offset_of!(ImageCreateInfo, format), offset_of!(ImageCreateInfo, extent), offset_of!(ImageCreateInfo, mip_levels), offset_of!(ImageCreateInfo, array_layers), offset_of!(ImageCreateInfo, samples), offset_of!(ImageCreateInfo, tiling), offset_of!(ImageCreateInfo, usage), offset_of!(ImageCreateInfo, sharing_mode), offset_of!(ImageCreateInfo, queue_family_index_count), offset_of!(ImageCreateInfo, p_queue_family_indices), offset_of!(ImageCreateInfo, initial_layout)); + println!("SubresourceLayout {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SubresourceLayout, offset), offset_of!(SubresourceLayout, size), offset_of!(SubresourceLayout, row_pitch), offset_of!(SubresourceLayout, array_pitch), offset_of!(SubresourceLayout, depth_pitch)); + println!("ImageViewCreateInfo {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImageViewCreateInfo, s_type), offset_of!(ImageViewCreateInfo, p_next), offset_of!(ImageViewCreateInfo, flags), offset_of!(ImageViewCreateInfo, image), offset_of!(ImageViewCreateInfo, view_type), offset_of!(ImageViewCreateInfo, format), offset_of!(ImageViewCreateInfo, components), offset_of!(ImageViewCreateInfo, subresource_range)); + println!("BufferCopy {} {} {} {} {}", size_of::(), align_of::(), offset_of!(BufferCopy, src_offset), offset_of!(BufferCopy, dst_offset), offset_of!(BufferCopy, size)); + println!("SparseMemoryBind {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SparseMemoryBind, resource_offset), offset_of!(SparseMemoryBind, size), offset_of!(SparseMemoryBind, memory), offset_of!(SparseMemoryBind, memory_offset), offset_of!(SparseMemoryBind, flags)); + println!("SparseImageMemoryBind {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SparseImageMemoryBind, subresource), offset_of!(SparseImageMemoryBind, offset), offset_of!(SparseImageMemoryBind, extent), offset_of!(SparseImageMemoryBind, memory), offset_of!(SparseImageMemoryBind, memory_offset), offset_of!(SparseImageMemoryBind, flags)); + println!("SparseBufferMemoryBindInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SparseBufferMemoryBindInfo, buffer), offset_of!(SparseBufferMemoryBindInfo, bind_count), offset_of!(SparseBufferMemoryBindInfo, p_binds)); + println!("SparseImageOpaqueMemoryBindInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SparseImageOpaqueMemoryBindInfo, image), offset_of!(SparseImageOpaqueMemoryBindInfo, bind_count), offset_of!(SparseImageOpaqueMemoryBindInfo, p_binds)); + println!("SparseImageMemoryBindInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SparseImageMemoryBindInfo, image), offset_of!(SparseImageMemoryBindInfo, bind_count), offset_of!(SparseImageMemoryBindInfo, p_binds)); + println!("BindSparseInfo {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(BindSparseInfo, s_type), offset_of!(BindSparseInfo, p_next), offset_of!(BindSparseInfo, wait_semaphore_count), offset_of!(BindSparseInfo, p_wait_semaphores), offset_of!(BindSparseInfo, buffer_bind_count), offset_of!(BindSparseInfo, p_buffer_binds), offset_of!(BindSparseInfo, image_opaque_bind_count), offset_of!(BindSparseInfo, p_image_opaque_binds), offset_of!(BindSparseInfo, image_bind_count), offset_of!(BindSparseInfo, p_image_binds), offset_of!(BindSparseInfo, signal_semaphore_count), offset_of!(BindSparseInfo, p_signal_semaphores)); + println!("ImageCopy {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImageCopy, src_subresource), offset_of!(ImageCopy, src_offset), offset_of!(ImageCopy, dst_subresource), offset_of!(ImageCopy, dst_offset), offset_of!(ImageCopy, extent)); + println!("ImageBlit {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImageBlit, src_subresource), offset_of!(ImageBlit, src_offsets), offset_of!(ImageBlit, dst_subresource), offset_of!(ImageBlit, dst_offsets)); + println!("BufferImageCopy {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(BufferImageCopy, buffer_offset), offset_of!(BufferImageCopy, buffer_row_length), offset_of!(BufferImageCopy, buffer_image_height), offset_of!(BufferImageCopy, image_subresource), offset_of!(BufferImageCopy, image_offset), offset_of!(BufferImageCopy, image_extent)); + println!("StridedDeviceAddressRangeKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(StridedDeviceAddressRangeKHR, address), offset_of!(StridedDeviceAddressRangeKHR, size), offset_of!(StridedDeviceAddressRangeKHR, stride)); + println!("CopyMemoryIndirectCommandKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CopyMemoryIndirectCommandKHR, src_address), offset_of!(CopyMemoryIndirectCommandKHR, dst_address), offset_of!(CopyMemoryIndirectCommandKHR, size)); + println!("CopyMemoryIndirectInfoKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CopyMemoryIndirectInfoKHR, s_type), offset_of!(CopyMemoryIndirectInfoKHR, p_next), offset_of!(CopyMemoryIndirectInfoKHR, src_copy_flags), offset_of!(CopyMemoryIndirectInfoKHR, dst_copy_flags), offset_of!(CopyMemoryIndirectInfoKHR, copy_count), offset_of!(CopyMemoryIndirectInfoKHR, copy_address_range)); + println!("CopyMemoryToImageIndirectCommandKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CopyMemoryToImageIndirectCommandKHR, src_address), offset_of!(CopyMemoryToImageIndirectCommandKHR, buffer_row_length), offset_of!(CopyMemoryToImageIndirectCommandKHR, buffer_image_height), offset_of!(CopyMemoryToImageIndirectCommandKHR, image_subresource), offset_of!(CopyMemoryToImageIndirectCommandKHR, image_offset), offset_of!(CopyMemoryToImageIndirectCommandKHR, image_extent)); + println!("CopyMemoryToImageIndirectInfoKHR {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CopyMemoryToImageIndirectInfoKHR, s_type), offset_of!(CopyMemoryToImageIndirectInfoKHR, p_next), offset_of!(CopyMemoryToImageIndirectInfoKHR, src_copy_flags), offset_of!(CopyMemoryToImageIndirectInfoKHR, copy_count), offset_of!(CopyMemoryToImageIndirectInfoKHR, copy_address_range), offset_of!(CopyMemoryToImageIndirectInfoKHR, dst_image), offset_of!(CopyMemoryToImageIndirectInfoKHR, dst_image_layout), offset_of!(CopyMemoryToImageIndirectInfoKHR, p_image_subresources)); + println!("ImageResolve {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImageResolve, src_subresource), offset_of!(ImageResolve, src_offset), offset_of!(ImageResolve, dst_subresource), offset_of!(ImageResolve, dst_offset), offset_of!(ImageResolve, extent)); + println!("ShaderModuleCreateInfo {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ShaderModuleCreateInfo, s_type), offset_of!(ShaderModuleCreateInfo, p_next), offset_of!(ShaderModuleCreateInfo, flags), offset_of!(ShaderModuleCreateInfo, code_size), offset_of!(ShaderModuleCreateInfo, p_code)); + println!("DescriptorSetLayoutBinding {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DescriptorSetLayoutBinding, binding), offset_of!(DescriptorSetLayoutBinding, descriptor_type), offset_of!(DescriptorSetLayoutBinding, descriptor_count), offset_of!(DescriptorSetLayoutBinding, stage_flags), offset_of!(DescriptorSetLayoutBinding, p_immutable_samplers)); + println!("DescriptorSetLayoutCreateInfo {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DescriptorSetLayoutCreateInfo, s_type), offset_of!(DescriptorSetLayoutCreateInfo, p_next), offset_of!(DescriptorSetLayoutCreateInfo, flags), offset_of!(DescriptorSetLayoutCreateInfo, binding_count), offset_of!(DescriptorSetLayoutCreateInfo, p_bindings)); + println!("DescriptorPoolSize {} {} {}", size_of::(), align_of::(), offset_of!(DescriptorPoolSize, descriptor_count)); + println!("DescriptorPoolCreateInfo {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DescriptorPoolCreateInfo, s_type), offset_of!(DescriptorPoolCreateInfo, p_next), offset_of!(DescriptorPoolCreateInfo, flags), offset_of!(DescriptorPoolCreateInfo, max_sets), offset_of!(DescriptorPoolCreateInfo, pool_size_count), offset_of!(DescriptorPoolCreateInfo, p_pool_sizes)); + println!("DescriptorSetAllocateInfo {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DescriptorSetAllocateInfo, s_type), offset_of!(DescriptorSetAllocateInfo, p_next), offset_of!(DescriptorSetAllocateInfo, descriptor_pool), offset_of!(DescriptorSetAllocateInfo, descriptor_set_count), offset_of!(DescriptorSetAllocateInfo, p_set_layouts)); + println!("SpecializationMapEntry {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SpecializationMapEntry, constant_id), offset_of!(SpecializationMapEntry, offset), offset_of!(SpecializationMapEntry, size)); + println!("SpecializationInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SpecializationInfo, map_entry_count), offset_of!(SpecializationInfo, p_map_entries), offset_of!(SpecializationInfo, data_size), offset_of!(SpecializationInfo, p_data)); + println!("PipelineShaderStageCreateInfo {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineShaderStageCreateInfo, s_type), offset_of!(PipelineShaderStageCreateInfo, p_next), offset_of!(PipelineShaderStageCreateInfo, flags), offset_of!(PipelineShaderStageCreateInfo, stage), offset_of!(PipelineShaderStageCreateInfo, module), offset_of!(PipelineShaderStageCreateInfo, p_name), offset_of!(PipelineShaderStageCreateInfo, p_name), offset_of!(PipelineShaderStageCreateInfo, p_specialization_info)); + println!("ComputePipelineCreateInfo {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ComputePipelineCreateInfo, s_type), offset_of!(ComputePipelineCreateInfo, p_next), offset_of!(ComputePipelineCreateInfo, flags), offset_of!(ComputePipelineCreateInfo, stage), offset_of!(ComputePipelineCreateInfo, layout), offset_of!(ComputePipelineCreateInfo, base_pipeline_handle), offset_of!(ComputePipelineCreateInfo, base_pipeline_index)); + println!("ComputePipelineIndirectBufferInfoNV {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ComputePipelineIndirectBufferInfoNV, s_type), offset_of!(ComputePipelineIndirectBufferInfoNV, p_next), offset_of!(ComputePipelineIndirectBufferInfoNV, device_address), offset_of!(ComputePipelineIndirectBufferInfoNV, size), offset_of!(ComputePipelineIndirectBufferInfoNV, pipeline_device_address_capture_replay)); + println!("PipelineCreateFlags2CreateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineCreateFlags2CreateInfo, s_type), offset_of!(PipelineCreateFlags2CreateInfo, p_next), offset_of!(PipelineCreateFlags2CreateInfo, flags)); + println!("VertexInputBindingDescription {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VertexInputBindingDescription, binding), offset_of!(VertexInputBindingDescription, stride), offset_of!(VertexInputBindingDescription, input_rate)); + println!("VertexInputAttributeDescription {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VertexInputAttributeDescription, location), offset_of!(VertexInputAttributeDescription, binding), offset_of!(VertexInputAttributeDescription, format), offset_of!(VertexInputAttributeDescription, offset)); + println!("PipelineVertexInputStateCreateInfo {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineVertexInputStateCreateInfo, s_type), offset_of!(PipelineVertexInputStateCreateInfo, p_next), offset_of!(PipelineVertexInputStateCreateInfo, flags), offset_of!(PipelineVertexInputStateCreateInfo, vertex_binding_description_count), offset_of!(PipelineVertexInputStateCreateInfo, p_vertex_binding_descriptions), offset_of!(PipelineVertexInputStateCreateInfo, vertex_attribute_description_count), offset_of!(PipelineVertexInputStateCreateInfo, p_vertex_attribute_descriptions)); + println!("PipelineInputAssemblyStateCreateInfo {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineInputAssemblyStateCreateInfo, s_type), offset_of!(PipelineInputAssemblyStateCreateInfo, p_next), offset_of!(PipelineInputAssemblyStateCreateInfo, flags), offset_of!(PipelineInputAssemblyStateCreateInfo, topology), offset_of!(PipelineInputAssemblyStateCreateInfo, primitive_restart_enable)); + println!("PipelineTessellationStateCreateInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineTessellationStateCreateInfo, s_type), offset_of!(PipelineTessellationStateCreateInfo, p_next), offset_of!(PipelineTessellationStateCreateInfo, flags), offset_of!(PipelineTessellationStateCreateInfo, patch_control_points)); + println!("PipelineViewportStateCreateInfo {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineViewportStateCreateInfo, s_type), offset_of!(PipelineViewportStateCreateInfo, p_next), offset_of!(PipelineViewportStateCreateInfo, flags), offset_of!(PipelineViewportStateCreateInfo, viewport_count), offset_of!(PipelineViewportStateCreateInfo, p_viewports), offset_of!(PipelineViewportStateCreateInfo, scissor_count), offset_of!(PipelineViewportStateCreateInfo, p_scissors)); + println!("PipelineRasterizationStateCreateInfo {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineRasterizationStateCreateInfo, s_type), offset_of!(PipelineRasterizationStateCreateInfo, p_next), offset_of!(PipelineRasterizationStateCreateInfo, flags), offset_of!(PipelineRasterizationStateCreateInfo, depth_clamp_enable), offset_of!(PipelineRasterizationStateCreateInfo, rasterizer_discard_enable), offset_of!(PipelineRasterizationStateCreateInfo, polygon_mode), offset_of!(PipelineRasterizationStateCreateInfo, cull_mode), offset_of!(PipelineRasterizationStateCreateInfo, front_face), offset_of!(PipelineRasterizationStateCreateInfo, depth_bias_enable), offset_of!(PipelineRasterizationStateCreateInfo, depth_bias_constant_factor), offset_of!(PipelineRasterizationStateCreateInfo, depth_bias_clamp), offset_of!(PipelineRasterizationStateCreateInfo, depth_bias_slope_factor), offset_of!(PipelineRasterizationStateCreateInfo, line_width)); + println!("PipelineMultisampleStateCreateInfo {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineMultisampleStateCreateInfo, s_type), offset_of!(PipelineMultisampleStateCreateInfo, p_next), offset_of!(PipelineMultisampleStateCreateInfo, flags), offset_of!(PipelineMultisampleStateCreateInfo, rasterization_samples), offset_of!(PipelineMultisampleStateCreateInfo, sample_shading_enable), offset_of!(PipelineMultisampleStateCreateInfo, min_sample_shading), offset_of!(PipelineMultisampleStateCreateInfo, p_sample_mask), offset_of!(PipelineMultisampleStateCreateInfo, alpha_to_coverage_enable), offset_of!(PipelineMultisampleStateCreateInfo, alpha_to_one_enable)); + println!("PipelineColorBlendAttachmentState {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineColorBlendAttachmentState, blend_enable), offset_of!(PipelineColorBlendAttachmentState, src_color_blend_factor), offset_of!(PipelineColorBlendAttachmentState, dst_color_blend_factor), offset_of!(PipelineColorBlendAttachmentState, color_blend_op), offset_of!(PipelineColorBlendAttachmentState, src_alpha_blend_factor), offset_of!(PipelineColorBlendAttachmentState, dst_alpha_blend_factor), offset_of!(PipelineColorBlendAttachmentState, alpha_blend_op), offset_of!(PipelineColorBlendAttachmentState, color_write_mask)); + println!("PipelineColorBlendStateCreateInfo {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineColorBlendStateCreateInfo, s_type), offset_of!(PipelineColorBlendStateCreateInfo, p_next), offset_of!(PipelineColorBlendStateCreateInfo, flags), offset_of!(PipelineColorBlendStateCreateInfo, logic_op_enable), offset_of!(PipelineColorBlendStateCreateInfo, logic_op), offset_of!(PipelineColorBlendStateCreateInfo, attachment_count), offset_of!(PipelineColorBlendStateCreateInfo, p_attachments), offset_of!(PipelineColorBlendStateCreateInfo, blend_constants)); + println!("PipelineDynamicStateCreateInfo {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineDynamicStateCreateInfo, s_type), offset_of!(PipelineDynamicStateCreateInfo, p_next), offset_of!(PipelineDynamicStateCreateInfo, flags), offset_of!(PipelineDynamicStateCreateInfo, dynamic_state_count), offset_of!(PipelineDynamicStateCreateInfo, p_dynamic_states)); + println!("StencilOpState {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(StencilOpState, fail_op), offset_of!(StencilOpState, pass_op), offset_of!(StencilOpState, depth_fail_op), offset_of!(StencilOpState, compare_op), offset_of!(StencilOpState, compare_mask), offset_of!(StencilOpState, write_mask), offset_of!(StencilOpState, reference)); + println!("PipelineDepthStencilStateCreateInfo {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineDepthStencilStateCreateInfo, s_type), offset_of!(PipelineDepthStencilStateCreateInfo, p_next), offset_of!(PipelineDepthStencilStateCreateInfo, flags), offset_of!(PipelineDepthStencilStateCreateInfo, depth_test_enable), offset_of!(PipelineDepthStencilStateCreateInfo, depth_write_enable), offset_of!(PipelineDepthStencilStateCreateInfo, depth_compare_op), offset_of!(PipelineDepthStencilStateCreateInfo, depth_bounds_test_enable), offset_of!(PipelineDepthStencilStateCreateInfo, stencil_test_enable), offset_of!(PipelineDepthStencilStateCreateInfo, front), offset_of!(PipelineDepthStencilStateCreateInfo, back), offset_of!(PipelineDepthStencilStateCreateInfo, min_depth_bounds), offset_of!(PipelineDepthStencilStateCreateInfo, max_depth_bounds)); + println!("GraphicsPipelineCreateInfo {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(GraphicsPipelineCreateInfo, s_type), offset_of!(GraphicsPipelineCreateInfo, p_next), offset_of!(GraphicsPipelineCreateInfo, flags), offset_of!(GraphicsPipelineCreateInfo, stage_count), offset_of!(GraphicsPipelineCreateInfo, p_stages), offset_of!(GraphicsPipelineCreateInfo, p_stages), offset_of!(GraphicsPipelineCreateInfo, p_vertex_input_state), offset_of!(GraphicsPipelineCreateInfo, p_input_assembly_state), offset_of!(GraphicsPipelineCreateInfo, p_tessellation_state), offset_of!(GraphicsPipelineCreateInfo, p_viewport_state), offset_of!(GraphicsPipelineCreateInfo, p_rasterization_state), offset_of!(GraphicsPipelineCreateInfo, p_multisample_state), offset_of!(GraphicsPipelineCreateInfo, p_depth_stencil_state), offset_of!(GraphicsPipelineCreateInfo, p_color_blend_state), offset_of!(GraphicsPipelineCreateInfo, p_dynamic_state), offset_of!(GraphicsPipelineCreateInfo, layout), offset_of!(GraphicsPipelineCreateInfo, render_pass), offset_of!(GraphicsPipelineCreateInfo, subpass), offset_of!(GraphicsPipelineCreateInfo, base_pipeline_handle), offset_of!(GraphicsPipelineCreateInfo, base_pipeline_index)); + println!("PipelineCacheCreateInfo {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineCacheCreateInfo, s_type), offset_of!(PipelineCacheCreateInfo, p_next), offset_of!(PipelineCacheCreateInfo, flags), offset_of!(PipelineCacheCreateInfo, initial_data_size), offset_of!(PipelineCacheCreateInfo, initial_data_size), offset_of!(PipelineCacheCreateInfo, p_initial_data)); + println!("PipelineCacheHeaderVersionOne {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineCacheHeaderVersionOne, header_size), offset_of!(PipelineCacheHeaderVersionOne, header_version), offset_of!(PipelineCacheHeaderVersionOne, vendor_id), offset_of!(PipelineCacheHeaderVersionOne, device_id), offset_of!(PipelineCacheHeaderVersionOne, pipeline_cache_uuid)); + println!("PipelineCacheHeaderVersionDataGraphQCOM {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineCacheHeaderVersionDataGraphQCOM, header_size), offset_of!(PipelineCacheHeaderVersionDataGraphQCOM, header_version), offset_of!(PipelineCacheHeaderVersionDataGraphQCOM, cache_type), offset_of!(PipelineCacheHeaderVersionDataGraphQCOM, cache_version), offset_of!(PipelineCacheHeaderVersionDataGraphQCOM, toolchain_version)); + println!("PushConstantRange {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PushConstantRange, stage_flags), offset_of!(PushConstantRange, offset), offset_of!(PushConstantRange, size)); + println!("PipelineBinaryCreateInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineBinaryCreateInfoKHR, s_type), offset_of!(PipelineBinaryCreateInfoKHR, p_next), offset_of!(PipelineBinaryCreateInfoKHR, p_keys_and_data_info), offset_of!(PipelineBinaryCreateInfoKHR, pipeline), offset_of!(PipelineBinaryCreateInfoKHR, p_pipeline_create_info)); + println!("PipelineBinaryHandlesInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineBinaryHandlesInfoKHR, s_type), offset_of!(PipelineBinaryHandlesInfoKHR, p_next), offset_of!(PipelineBinaryHandlesInfoKHR, pipeline_binary_count), offset_of!(PipelineBinaryHandlesInfoKHR, p_pipeline_binaries)); + println!("PipelineBinaryDataKHR {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineBinaryDataKHR, data_size), offset_of!(PipelineBinaryDataKHR, p_data)); + println!("PipelineBinaryKeysAndDataKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineBinaryKeysAndDataKHR, binary_count), offset_of!(PipelineBinaryKeysAndDataKHR, p_pipeline_binary_keys), offset_of!(PipelineBinaryKeysAndDataKHR, p_pipeline_binary_data)); + println!("PipelineBinaryKeyKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineBinaryKeyKHR, s_type), offset_of!(PipelineBinaryKeyKHR, p_next), offset_of!(PipelineBinaryKeyKHR, key_size), offset_of!(PipelineBinaryKeyKHR, key)); + println!("PipelineBinaryInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineBinaryInfoKHR, s_type), offset_of!(PipelineBinaryInfoKHR, p_next), offset_of!(PipelineBinaryInfoKHR, binary_count), offset_of!(PipelineBinaryInfoKHR, p_pipeline_binaries)); + println!("ReleaseCapturedPipelineDataInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ReleaseCapturedPipelineDataInfoKHR, s_type), offset_of!(ReleaseCapturedPipelineDataInfoKHR, p_next), offset_of!(ReleaseCapturedPipelineDataInfoKHR, pipeline)); + println!("PipelineBinaryDataInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineBinaryDataInfoKHR, s_type), offset_of!(PipelineBinaryDataInfoKHR, p_next), offset_of!(PipelineBinaryDataInfoKHR, pipeline_binary)); + println!("PipelineCreateInfoKHR {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineCreateInfoKHR, s_type), offset_of!(PipelineCreateInfoKHR, p_next)); + println!("PipelineLayoutCreateInfo {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineLayoutCreateInfo, s_type), offset_of!(PipelineLayoutCreateInfo, p_next), offset_of!(PipelineLayoutCreateInfo, flags), offset_of!(PipelineLayoutCreateInfo, set_layout_count), offset_of!(PipelineLayoutCreateInfo, p_set_layouts), offset_of!(PipelineLayoutCreateInfo, push_constant_range_count), offset_of!(PipelineLayoutCreateInfo, p_push_constant_ranges)); + println!("SamplerCreateInfo {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SamplerCreateInfo, s_type), offset_of!(SamplerCreateInfo, p_next), offset_of!(SamplerCreateInfo, flags), offset_of!(SamplerCreateInfo, mag_filter), offset_of!(SamplerCreateInfo, min_filter), offset_of!(SamplerCreateInfo, mipmap_mode), offset_of!(SamplerCreateInfo, address_mode_u), offset_of!(SamplerCreateInfo, address_mode_v), offset_of!(SamplerCreateInfo, address_mode_w), offset_of!(SamplerCreateInfo, mip_lod_bias), offset_of!(SamplerCreateInfo, anisotropy_enable), offset_of!(SamplerCreateInfo, max_anisotropy), offset_of!(SamplerCreateInfo, compare_enable), offset_of!(SamplerCreateInfo, compare_op), offset_of!(SamplerCreateInfo, min_lod), offset_of!(SamplerCreateInfo, max_lod), offset_of!(SamplerCreateInfo, border_color), offset_of!(SamplerCreateInfo, unnormalized_coordinates)); + println!("CommandPoolCreateInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CommandPoolCreateInfo, s_type), offset_of!(CommandPoolCreateInfo, p_next), offset_of!(CommandPoolCreateInfo, flags), offset_of!(CommandPoolCreateInfo, queue_family_index)); + println!("CommandBufferAllocateInfo {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CommandBufferAllocateInfo, s_type), offset_of!(CommandBufferAllocateInfo, p_next), offset_of!(CommandBufferAllocateInfo, command_pool), offset_of!(CommandBufferAllocateInfo, level), offset_of!(CommandBufferAllocateInfo, command_buffer_count)); + println!("CommandBufferInheritanceInfo {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CommandBufferInheritanceInfo, s_type), offset_of!(CommandBufferInheritanceInfo, p_next), offset_of!(CommandBufferInheritanceInfo, render_pass), offset_of!(CommandBufferInheritanceInfo, subpass), offset_of!(CommandBufferInheritanceInfo, framebuffer), offset_of!(CommandBufferInheritanceInfo, occlusion_query_enable), offset_of!(CommandBufferInheritanceInfo, query_flags), offset_of!(CommandBufferInheritanceInfo, pipeline_statistics)); + println!("CommandBufferBeginInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CommandBufferBeginInfo, s_type), offset_of!(CommandBufferBeginInfo, p_next), offset_of!(CommandBufferBeginInfo, flags), offset_of!(CommandBufferBeginInfo, p_inheritance_info)); + println!("RenderPassBeginInfo {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(RenderPassBeginInfo, s_type), offset_of!(RenderPassBeginInfo, p_next), offset_of!(RenderPassBeginInfo, render_pass), offset_of!(RenderPassBeginInfo, framebuffer), offset_of!(RenderPassBeginInfo, render_area), offset_of!(RenderPassBeginInfo, clear_value_count), offset_of!(RenderPassBeginInfo, p_clear_values)); + println!("ClearColorValue {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ClearColorValue, float32), offset_of!(ClearColorValue, int32), offset_of!(ClearColorValue, uint32)); + println!("ClearDepthStencilValue {} {} {} {}", size_of::(), align_of::(), offset_of!(ClearDepthStencilValue, depth), offset_of!(ClearDepthStencilValue, stencil)); + println!("ClearValue {} {} {} {}", size_of::(), align_of::(), offset_of!(ClearValue, color), offset_of!(ClearValue, depth_stencil)); + println!("ClearAttachment {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ClearAttachment, aspect_mask), offset_of!(ClearAttachment, color_attachment), offset_of!(ClearAttachment, clear_value)); + println!("AttachmentDescription {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(AttachmentDescription, flags), offset_of!(AttachmentDescription, format), offset_of!(AttachmentDescription, samples), offset_of!(AttachmentDescription, load_op), offset_of!(AttachmentDescription, store_op), offset_of!(AttachmentDescription, stencil_load_op), offset_of!(AttachmentDescription, stencil_store_op), offset_of!(AttachmentDescription, initial_layout), offset_of!(AttachmentDescription, final_layout)); + println!("AttachmentReference {} {} {} {}", size_of::(), align_of::(), offset_of!(AttachmentReference, attachment), offset_of!(AttachmentReference, layout)); + println!("SubpassDescription {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SubpassDescription, flags), offset_of!(SubpassDescription, pipeline_bind_point), offset_of!(SubpassDescription, input_attachment_count), offset_of!(SubpassDescription, p_input_attachments), offset_of!(SubpassDescription, color_attachment_count), offset_of!(SubpassDescription, p_color_attachments), offset_of!(SubpassDescription, p_resolve_attachments), offset_of!(SubpassDescription, p_depth_stencil_attachment), offset_of!(SubpassDescription, preserve_attachment_count), offset_of!(SubpassDescription, p_preserve_attachments)); + println!("SubpassDependency {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SubpassDependency, src_subpass), offset_of!(SubpassDependency, dst_subpass), offset_of!(SubpassDependency, src_stage_mask), offset_of!(SubpassDependency, dst_stage_mask), offset_of!(SubpassDependency, src_access_mask), offset_of!(SubpassDependency, dst_access_mask), offset_of!(SubpassDependency, dependency_flags)); + println!("RenderPassCreateInfo {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(RenderPassCreateInfo, s_type), offset_of!(RenderPassCreateInfo, p_next), offset_of!(RenderPassCreateInfo, flags), offset_of!(RenderPassCreateInfo, attachment_count), offset_of!(RenderPassCreateInfo, p_attachments), offset_of!(RenderPassCreateInfo, subpass_count), offset_of!(RenderPassCreateInfo, p_subpasses), offset_of!(RenderPassCreateInfo, dependency_count), offset_of!(RenderPassCreateInfo, p_dependencies)); + println!("EventCreateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(EventCreateInfo, s_type), offset_of!(EventCreateInfo, p_next), offset_of!(EventCreateInfo, flags)); + println!("FenceCreateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(FenceCreateInfo, s_type), offset_of!(FenceCreateInfo, p_next), offset_of!(FenceCreateInfo, flags)); + println!("PhysicalDeviceFeatures {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceFeatures, robust_buffer_access), offset_of!(PhysicalDeviceFeatures, full_draw_index_uint32), offset_of!(PhysicalDeviceFeatures, image_cube_array), offset_of!(PhysicalDeviceFeatures, independent_blend), offset_of!(PhysicalDeviceFeatures, geometry_shader), offset_of!(PhysicalDeviceFeatures, tessellation_shader), offset_of!(PhysicalDeviceFeatures, sample_rate_shading), offset_of!(PhysicalDeviceFeatures, dual_src_blend), offset_of!(PhysicalDeviceFeatures, logic_op), offset_of!(PhysicalDeviceFeatures, multi_draw_indirect), offset_of!(PhysicalDeviceFeatures, draw_indirect_first_instance), offset_of!(PhysicalDeviceFeatures, depth_clamp), offset_of!(PhysicalDeviceFeatures, depth_bias_clamp), offset_of!(PhysicalDeviceFeatures, fill_mode_non_solid), offset_of!(PhysicalDeviceFeatures, depth_bounds), offset_of!(PhysicalDeviceFeatures, wide_lines), offset_of!(PhysicalDeviceFeatures, large_points), offset_of!(PhysicalDeviceFeatures, alpha_to_one), offset_of!(PhysicalDeviceFeatures, multi_viewport), offset_of!(PhysicalDeviceFeatures, sampler_anisotropy), offset_of!(PhysicalDeviceFeatures, texture_compression_etc2), offset_of!(PhysicalDeviceFeatures, texture_compression_astc_ldr), offset_of!(PhysicalDeviceFeatures, texture_compression_bc), offset_of!(PhysicalDeviceFeatures, occlusion_query_precise), offset_of!(PhysicalDeviceFeatures, pipeline_statistics_query), offset_of!(PhysicalDeviceFeatures, vertex_pipeline_stores_and_atomics), offset_of!(PhysicalDeviceFeatures, fragment_stores_and_atomics), offset_of!(PhysicalDeviceFeatures, shader_tessellation_and_geometry_point_size), offset_of!(PhysicalDeviceFeatures, shader_image_gather_extended), offset_of!(PhysicalDeviceFeatures, shader_storage_image_extended_formats), offset_of!(PhysicalDeviceFeatures, shader_storage_image_multisample), offset_of!(PhysicalDeviceFeatures, shader_storage_image_read_without_format), offset_of!(PhysicalDeviceFeatures, shader_storage_image_write_without_format), offset_of!(PhysicalDeviceFeatures, shader_uniform_buffer_array_dynamic_indexing), offset_of!(PhysicalDeviceFeatures, shader_sampled_image_array_dynamic_indexing), offset_of!(PhysicalDeviceFeatures, shader_storage_buffer_array_dynamic_indexing), offset_of!(PhysicalDeviceFeatures, shader_storage_image_array_dynamic_indexing), offset_of!(PhysicalDeviceFeatures, shader_clip_distance), offset_of!(PhysicalDeviceFeatures, shader_cull_distance), offset_of!(PhysicalDeviceFeatures, shader_float64), offset_of!(PhysicalDeviceFeatures, shader_int64), offset_of!(PhysicalDeviceFeatures, shader_int16), offset_of!(PhysicalDeviceFeatures, shader_resource_residency), offset_of!(PhysicalDeviceFeatures, shader_resource_min_lod), offset_of!(PhysicalDeviceFeatures, sparse_binding), offset_of!(PhysicalDeviceFeatures, sparse_residency_buffer), offset_of!(PhysicalDeviceFeatures, sparse_residency_image2_d), offset_of!(PhysicalDeviceFeatures, sparse_residency_image3_d), offset_of!(PhysicalDeviceFeatures, sparse_residency2_samples), offset_of!(PhysicalDeviceFeatures, sparse_residency4_samples), offset_of!(PhysicalDeviceFeatures, sparse_residency8_samples), offset_of!(PhysicalDeviceFeatures, sparse_residency16_samples), offset_of!(PhysicalDeviceFeatures, sparse_residency_aliased), offset_of!(PhysicalDeviceFeatures, variable_multisample_rate), offset_of!(PhysicalDeviceFeatures, inherited_queries)); + println!("PhysicalDeviceSparseProperties {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceSparseProperties, residency_standard2_d_block_shape), offset_of!(PhysicalDeviceSparseProperties, residency_standard2_d_multisample_block_shape), offset_of!(PhysicalDeviceSparseProperties, residency_standard3_d_block_shape), offset_of!(PhysicalDeviceSparseProperties, residency_aligned_mip_size), offset_of!(PhysicalDeviceSparseProperties, residency_non_resident_strict)); + println!("PhysicalDeviceLimits {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceLimits, max_image_dimension1_d), offset_of!(PhysicalDeviceLimits, max_image_dimension2_d), offset_of!(PhysicalDeviceLimits, max_image_dimension3_d), offset_of!(PhysicalDeviceLimits, max_image_dimension_cube), offset_of!(PhysicalDeviceLimits, max_image_array_layers), offset_of!(PhysicalDeviceLimits, max_texel_buffer_elements), offset_of!(PhysicalDeviceLimits, max_uniform_buffer_range), offset_of!(PhysicalDeviceLimits, max_storage_buffer_range), offset_of!(PhysicalDeviceLimits, max_push_constants_size), offset_of!(PhysicalDeviceLimits, max_memory_allocation_count), offset_of!(PhysicalDeviceLimits, max_sampler_allocation_count), offset_of!(PhysicalDeviceLimits, buffer_image_granularity), offset_of!(PhysicalDeviceLimits, sparse_address_space_size), offset_of!(PhysicalDeviceLimits, max_bound_descriptor_sets), offset_of!(PhysicalDeviceLimits, max_per_stage_descriptor_samplers), offset_of!(PhysicalDeviceLimits, max_per_stage_descriptor_uniform_buffers), offset_of!(PhysicalDeviceLimits, max_per_stage_descriptor_storage_buffers), offset_of!(PhysicalDeviceLimits, max_per_stage_descriptor_sampled_images), offset_of!(PhysicalDeviceLimits, max_per_stage_descriptor_storage_images), offset_of!(PhysicalDeviceLimits, max_per_stage_descriptor_input_attachments), offset_of!(PhysicalDeviceLimits, max_per_stage_resources), offset_of!(PhysicalDeviceLimits, max_descriptor_set_samplers), offset_of!(PhysicalDeviceLimits, max_descriptor_set_uniform_buffers), offset_of!(PhysicalDeviceLimits, max_descriptor_set_uniform_buffers_dynamic), offset_of!(PhysicalDeviceLimits, max_descriptor_set_storage_buffers), offset_of!(PhysicalDeviceLimits, max_descriptor_set_storage_buffers_dynamic), offset_of!(PhysicalDeviceLimits, max_descriptor_set_sampled_images), offset_of!(PhysicalDeviceLimits, max_descriptor_set_storage_images), offset_of!(PhysicalDeviceLimits, max_descriptor_set_input_attachments), offset_of!(PhysicalDeviceLimits, max_vertex_input_attributes), offset_of!(PhysicalDeviceLimits, max_vertex_input_bindings), offset_of!(PhysicalDeviceLimits, max_vertex_input_attribute_offset), offset_of!(PhysicalDeviceLimits, max_vertex_input_binding_stride), offset_of!(PhysicalDeviceLimits, max_vertex_output_components), offset_of!(PhysicalDeviceLimits, max_tessellation_generation_level), offset_of!(PhysicalDeviceLimits, max_tessellation_patch_size), offset_of!(PhysicalDeviceLimits, max_tessellation_control_per_vertex_input_components), offset_of!(PhysicalDeviceLimits, max_tessellation_control_per_vertex_output_components), offset_of!(PhysicalDeviceLimits, max_tessellation_control_per_patch_output_components), offset_of!(PhysicalDeviceLimits, max_tessellation_control_total_output_components), offset_of!(PhysicalDeviceLimits, max_tessellation_evaluation_input_components), offset_of!(PhysicalDeviceLimits, max_tessellation_evaluation_output_components), offset_of!(PhysicalDeviceLimits, max_geometry_shader_invocations), offset_of!(PhysicalDeviceLimits, max_geometry_input_components), offset_of!(PhysicalDeviceLimits, max_geometry_output_components), offset_of!(PhysicalDeviceLimits, max_geometry_output_vertices), offset_of!(PhysicalDeviceLimits, max_geometry_total_output_components), offset_of!(PhysicalDeviceLimits, max_fragment_input_components), offset_of!(PhysicalDeviceLimits, max_fragment_output_attachments), offset_of!(PhysicalDeviceLimits, max_fragment_dual_src_attachments), offset_of!(PhysicalDeviceLimits, max_fragment_combined_output_resources), offset_of!(PhysicalDeviceLimits, max_compute_shared_memory_size), offset_of!(PhysicalDeviceLimits, max_compute_work_group_count), offset_of!(PhysicalDeviceLimits, max_compute_work_group_invocations), offset_of!(PhysicalDeviceLimits, max_compute_work_group_size), offset_of!(PhysicalDeviceLimits, sub_pixel_precision_bits), offset_of!(PhysicalDeviceLimits, sub_texel_precision_bits), offset_of!(PhysicalDeviceLimits, mipmap_precision_bits), offset_of!(PhysicalDeviceLimits, max_draw_indexed_index_value), offset_of!(PhysicalDeviceLimits, max_draw_indirect_count), offset_of!(PhysicalDeviceLimits, max_sampler_lod_bias), offset_of!(PhysicalDeviceLimits, max_sampler_anisotropy), offset_of!(PhysicalDeviceLimits, max_viewports), offset_of!(PhysicalDeviceLimits, max_viewport_dimensions), offset_of!(PhysicalDeviceLimits, viewport_bounds_range), offset_of!(PhysicalDeviceLimits, viewport_sub_pixel_bits), offset_of!(PhysicalDeviceLimits, min_memory_map_alignment), offset_of!(PhysicalDeviceLimits, min_texel_buffer_offset_alignment), offset_of!(PhysicalDeviceLimits, min_uniform_buffer_offset_alignment), offset_of!(PhysicalDeviceLimits, min_storage_buffer_offset_alignment), offset_of!(PhysicalDeviceLimits, min_texel_offset), offset_of!(PhysicalDeviceLimits, max_texel_offset), offset_of!(PhysicalDeviceLimits, min_texel_gather_offset), offset_of!(PhysicalDeviceLimits, max_texel_gather_offset), offset_of!(PhysicalDeviceLimits, min_interpolation_offset), offset_of!(PhysicalDeviceLimits, max_interpolation_offset), offset_of!(PhysicalDeviceLimits, sub_pixel_interpolation_offset_bits), offset_of!(PhysicalDeviceLimits, max_framebuffer_width), offset_of!(PhysicalDeviceLimits, max_framebuffer_height), offset_of!(PhysicalDeviceLimits, max_framebuffer_layers), offset_of!(PhysicalDeviceLimits, framebuffer_color_sample_counts), offset_of!(PhysicalDeviceLimits, framebuffer_depth_sample_counts), offset_of!(PhysicalDeviceLimits, framebuffer_stencil_sample_counts), offset_of!(PhysicalDeviceLimits, framebuffer_no_attachments_sample_counts), offset_of!(PhysicalDeviceLimits, max_color_attachments), offset_of!(PhysicalDeviceLimits, sampled_image_color_sample_counts), offset_of!(PhysicalDeviceLimits, sampled_image_integer_sample_counts), offset_of!(PhysicalDeviceLimits, sampled_image_depth_sample_counts), offset_of!(PhysicalDeviceLimits, sampled_image_stencil_sample_counts), offset_of!(PhysicalDeviceLimits, storage_image_sample_counts), offset_of!(PhysicalDeviceLimits, max_sample_mask_words), offset_of!(PhysicalDeviceLimits, timestamp_compute_and_graphics), offset_of!(PhysicalDeviceLimits, timestamp_period), offset_of!(PhysicalDeviceLimits, max_clip_distances), offset_of!(PhysicalDeviceLimits, max_cull_distances), offset_of!(PhysicalDeviceLimits, max_combined_clip_and_cull_distances), offset_of!(PhysicalDeviceLimits, discrete_queue_priorities), offset_of!(PhysicalDeviceLimits, point_size_range), offset_of!(PhysicalDeviceLimits, line_width_range), offset_of!(PhysicalDeviceLimits, point_size_granularity), offset_of!(PhysicalDeviceLimits, line_width_granularity), offset_of!(PhysicalDeviceLimits, strict_lines), offset_of!(PhysicalDeviceLimits, standard_sample_locations), offset_of!(PhysicalDeviceLimits, optimal_buffer_copy_offset_alignment), offset_of!(PhysicalDeviceLimits, optimal_buffer_copy_row_pitch_alignment), offset_of!(PhysicalDeviceLimits, non_coherent_atom_size)); + println!("SemaphoreCreateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SemaphoreCreateInfo, s_type), offset_of!(SemaphoreCreateInfo, p_next), offset_of!(SemaphoreCreateInfo, flags)); + println!("QueryPoolCreateInfo {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(QueryPoolCreateInfo, s_type), offset_of!(QueryPoolCreateInfo, p_next), offset_of!(QueryPoolCreateInfo, flags), offset_of!(QueryPoolCreateInfo, query_type), offset_of!(QueryPoolCreateInfo, query_count), offset_of!(QueryPoolCreateInfo, pipeline_statistics)); + println!("FramebufferCreateInfo {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(FramebufferCreateInfo, s_type), offset_of!(FramebufferCreateInfo, p_next), offset_of!(FramebufferCreateInfo, flags), offset_of!(FramebufferCreateInfo, render_pass), offset_of!(FramebufferCreateInfo, attachment_count), offset_of!(FramebufferCreateInfo, p_attachments), offset_of!(FramebufferCreateInfo, width), offset_of!(FramebufferCreateInfo, height), offset_of!(FramebufferCreateInfo, layers)); + println!("DrawIndirectCommand {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DrawIndirectCommand, vertex_count), offset_of!(DrawIndirectCommand, instance_count), offset_of!(DrawIndirectCommand, first_vertex), offset_of!(DrawIndirectCommand, first_instance)); + println!("DrawIndexedIndirectCommand {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DrawIndexedIndirectCommand, index_count), offset_of!(DrawIndexedIndirectCommand, instance_count), offset_of!(DrawIndexedIndirectCommand, first_index), offset_of!(DrawIndexedIndirectCommand, vertex_offset), offset_of!(DrawIndexedIndirectCommand, first_instance)); + println!("DispatchIndirectCommand {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DispatchIndirectCommand, x), offset_of!(DispatchIndirectCommand, y), offset_of!(DispatchIndirectCommand, z)); + println!("MultiDrawInfoEXT {} {} {} {}", size_of::(), align_of::(), offset_of!(MultiDrawInfoEXT, first_vertex), offset_of!(MultiDrawInfoEXT, vertex_count)); + println!("MultiDrawIndexedInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(MultiDrawIndexedInfoEXT, first_index), offset_of!(MultiDrawIndexedInfoEXT, index_count), offset_of!(MultiDrawIndexedInfoEXT, vertex_offset)); + println!("SubmitInfo {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SubmitInfo, s_type), offset_of!(SubmitInfo, p_next), offset_of!(SubmitInfo, wait_semaphore_count), offset_of!(SubmitInfo, p_wait_semaphores), offset_of!(SubmitInfo, p_wait_dst_stage_mask), offset_of!(SubmitInfo, command_buffer_count), offset_of!(SubmitInfo, p_command_buffers), offset_of!(SubmitInfo, signal_semaphore_count), offset_of!(SubmitInfo, p_signal_semaphores)); + println!("DisplayPropertiesKHR {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DisplayPropertiesKHR, display), offset_of!(DisplayPropertiesKHR, display_name), offset_of!(DisplayPropertiesKHR, physical_dimensions), offset_of!(DisplayPropertiesKHR, physical_resolution), offset_of!(DisplayPropertiesKHR, supported_transforms), offset_of!(DisplayPropertiesKHR, plane_reorder_possible), offset_of!(DisplayPropertiesKHR, persistent_content)); + println!("DisplayPlanePropertiesKHR {} {} {} {}", size_of::(), align_of::(), offset_of!(DisplayPlanePropertiesKHR, current_display), offset_of!(DisplayPlanePropertiesKHR, current_stack_index)); + println!("DisplayModeParametersKHR {} {} {} {}", size_of::(), align_of::(), offset_of!(DisplayModeParametersKHR, visible_region), offset_of!(DisplayModeParametersKHR, refresh_rate)); + println!("DisplayModePropertiesKHR {} {} {} {}", size_of::(), align_of::(), offset_of!(DisplayModePropertiesKHR, display_mode), offset_of!(DisplayModePropertiesKHR, parameters)); + println!("DisplayModeCreateInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DisplayModeCreateInfoKHR, s_type), offset_of!(DisplayModeCreateInfoKHR, p_next), offset_of!(DisplayModeCreateInfoKHR, flags), offset_of!(DisplayModeCreateInfoKHR, parameters)); + println!("DisplayPlaneCapabilitiesKHR {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DisplayPlaneCapabilitiesKHR, supported_alpha), offset_of!(DisplayPlaneCapabilitiesKHR, min_src_position), offset_of!(DisplayPlaneCapabilitiesKHR, max_src_position), offset_of!(DisplayPlaneCapabilitiesKHR, min_src_extent), offset_of!(DisplayPlaneCapabilitiesKHR, max_src_extent), offset_of!(DisplayPlaneCapabilitiesKHR, min_dst_position), offset_of!(DisplayPlaneCapabilitiesKHR, max_dst_position), offset_of!(DisplayPlaneCapabilitiesKHR, min_dst_extent), offset_of!(DisplayPlaneCapabilitiesKHR, max_dst_extent)); + println!("DisplaySurfaceCreateInfoKHR {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DisplaySurfaceCreateInfoKHR, s_type), offset_of!(DisplaySurfaceCreateInfoKHR, p_next), offset_of!(DisplaySurfaceCreateInfoKHR, flags), offset_of!(DisplaySurfaceCreateInfoKHR, display_mode), offset_of!(DisplaySurfaceCreateInfoKHR, plane_index), offset_of!(DisplaySurfaceCreateInfoKHR, plane_stack_index), offset_of!(DisplaySurfaceCreateInfoKHR, transform), offset_of!(DisplaySurfaceCreateInfoKHR, global_alpha), offset_of!(DisplaySurfaceCreateInfoKHR, alpha_mode), offset_of!(DisplaySurfaceCreateInfoKHR, image_extent)); + println!("DisplaySurfaceStereoCreateInfoNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DisplaySurfaceStereoCreateInfoNV, s_type), offset_of!(DisplaySurfaceStereoCreateInfoNV, p_next), offset_of!(DisplaySurfaceStereoCreateInfoNV, stereo_type)); + println!("DisplayPresentInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DisplayPresentInfoKHR, s_type), offset_of!(DisplayPresentInfoKHR, p_next), offset_of!(DisplayPresentInfoKHR, src_rect), offset_of!(DisplayPresentInfoKHR, dst_rect), offset_of!(DisplayPresentInfoKHR, persistent)); + println!("SurfaceCapabilitiesKHR {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SurfaceCapabilitiesKHR, min_image_count), offset_of!(SurfaceCapabilitiesKHR, max_image_count), offset_of!(SurfaceCapabilitiesKHR, current_extent), offset_of!(SurfaceCapabilitiesKHR, min_image_extent), offset_of!(SurfaceCapabilitiesKHR, max_image_extent), offset_of!(SurfaceCapabilitiesKHR, max_image_array_layers), offset_of!(SurfaceCapabilitiesKHR, supported_transforms), offset_of!(SurfaceCapabilitiesKHR, current_transform), offset_of!(SurfaceCapabilitiesKHR, supported_composite_alpha), offset_of!(SurfaceCapabilitiesKHR, supported_usage_flags)); + println!("SurfaceFormatKHR {} {} {} {}", size_of::(), align_of::(), offset_of!(SurfaceFormatKHR, format), offset_of!(SurfaceFormatKHR, color_space)); + println!("SwapchainCreateInfoKHR {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SwapchainCreateInfoKHR, s_type), offset_of!(SwapchainCreateInfoKHR, p_next), offset_of!(SwapchainCreateInfoKHR, flags), offset_of!(SwapchainCreateInfoKHR, surface), offset_of!(SwapchainCreateInfoKHR, min_image_count), offset_of!(SwapchainCreateInfoKHR, image_format), offset_of!(SwapchainCreateInfoKHR, image_color_space), offset_of!(SwapchainCreateInfoKHR, image_extent), offset_of!(SwapchainCreateInfoKHR, image_array_layers), offset_of!(SwapchainCreateInfoKHR, image_usage), offset_of!(SwapchainCreateInfoKHR, image_sharing_mode), offset_of!(SwapchainCreateInfoKHR, queue_family_index_count), offset_of!(SwapchainCreateInfoKHR, p_queue_family_indices), offset_of!(SwapchainCreateInfoKHR, pre_transform), offset_of!(SwapchainCreateInfoKHR, composite_alpha), offset_of!(SwapchainCreateInfoKHR, present_mode), offset_of!(SwapchainCreateInfoKHR, clipped), offset_of!(SwapchainCreateInfoKHR, old_swapchain), offset_of!(SwapchainCreateInfoKHR, old_swapchain)); + println!("PresentInfoKHR {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PresentInfoKHR, s_type), offset_of!(PresentInfoKHR, p_next), offset_of!(PresentInfoKHR, wait_semaphore_count), offset_of!(PresentInfoKHR, p_wait_semaphores), offset_of!(PresentInfoKHR, swapchain_count), offset_of!(PresentInfoKHR, p_swapchains), offset_of!(PresentInfoKHR, p_image_indices), offset_of!(PresentInfoKHR, p_results)); + println!("DebugReportCallbackCreateInfoEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DebugReportCallbackCreateInfoEXT, s_type), offset_of!(DebugReportCallbackCreateInfoEXT, p_next), offset_of!(DebugReportCallbackCreateInfoEXT, flags), offset_of!(DebugReportCallbackCreateInfoEXT, pfn_callback), offset_of!(DebugReportCallbackCreateInfoEXT, p_user_data)); + println!("ValidationFlagsEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ValidationFlagsEXT, s_type), offset_of!(ValidationFlagsEXT, p_next), offset_of!(ValidationFlagsEXT, disabled_validation_check_count), offset_of!(ValidationFlagsEXT, p_disabled_validation_checks)); + println!("ValidationFeaturesEXT {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ValidationFeaturesEXT, s_type), offset_of!(ValidationFeaturesEXT, p_next), offset_of!(ValidationFeaturesEXT, enabled_validation_feature_count), offset_of!(ValidationFeaturesEXT, p_enabled_validation_features), offset_of!(ValidationFeaturesEXT, disabled_validation_feature_count), offset_of!(ValidationFeaturesEXT, p_disabled_validation_features)); + println!("LayerSettingsCreateInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(LayerSettingsCreateInfoEXT, s_type), offset_of!(LayerSettingsCreateInfoEXT, p_next), offset_of!(LayerSettingsCreateInfoEXT, setting_count), offset_of!(LayerSettingsCreateInfoEXT, p_settings)); + println!("LayerSettingEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(LayerSettingEXT, p_layer_name), offset_of!(LayerSettingEXT, p_setting_name), offset_of!(LayerSettingEXT, value_count), offset_of!(LayerSettingEXT, p_values)); + println!("PipelineRasterizationStateRasterizationOrderAMD {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineRasterizationStateRasterizationOrderAMD, s_type), offset_of!(PipelineRasterizationStateRasterizationOrderAMD, p_next), offset_of!(PipelineRasterizationStateRasterizationOrderAMD, rasterization_order)); + println!("DebugMarkerObjectNameInfoEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DebugMarkerObjectNameInfoEXT, s_type), offset_of!(DebugMarkerObjectNameInfoEXT, p_next), offset_of!(DebugMarkerObjectNameInfoEXT, object_type), offset_of!(DebugMarkerObjectNameInfoEXT, object), offset_of!(DebugMarkerObjectNameInfoEXT, p_object_name)); + println!("DebugMarkerObjectTagInfoEXT {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DebugMarkerObjectTagInfoEXT, s_type), offset_of!(DebugMarkerObjectTagInfoEXT, p_next), offset_of!(DebugMarkerObjectTagInfoEXT, object_type), offset_of!(DebugMarkerObjectTagInfoEXT, object), offset_of!(DebugMarkerObjectTagInfoEXT, tag_name), offset_of!(DebugMarkerObjectTagInfoEXT, tag_size), offset_of!(DebugMarkerObjectTagInfoEXT, p_tag)); + println!("DebugMarkerMarkerInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DebugMarkerMarkerInfoEXT, s_type), offset_of!(DebugMarkerMarkerInfoEXT, p_next), offset_of!(DebugMarkerMarkerInfoEXT, p_marker_name), offset_of!(DebugMarkerMarkerInfoEXT, color)); + println!("DedicatedAllocationImageCreateInfoNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DedicatedAllocationImageCreateInfoNV, s_type), offset_of!(DedicatedAllocationImageCreateInfoNV, p_next), offset_of!(DedicatedAllocationImageCreateInfoNV, dedicated_allocation)); + println!("DedicatedAllocationBufferCreateInfoNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DedicatedAllocationBufferCreateInfoNV, s_type), offset_of!(DedicatedAllocationBufferCreateInfoNV, p_next), offset_of!(DedicatedAllocationBufferCreateInfoNV, dedicated_allocation)); + println!("DedicatedAllocationMemoryAllocateInfoNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DedicatedAllocationMemoryAllocateInfoNV, s_type), offset_of!(DedicatedAllocationMemoryAllocateInfoNV, p_next), offset_of!(DedicatedAllocationMemoryAllocateInfoNV, image), offset_of!(DedicatedAllocationMemoryAllocateInfoNV, buffer)); + println!("ExternalImageFormatPropertiesNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ExternalImageFormatPropertiesNV, image_format_properties), offset_of!(ExternalImageFormatPropertiesNV, external_memory_features), offset_of!(ExternalImageFormatPropertiesNV, export_from_imported_handle_types), offset_of!(ExternalImageFormatPropertiesNV, compatible_handle_types)); + println!("ExternalMemoryImageCreateInfoNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ExternalMemoryImageCreateInfoNV, s_type), offset_of!(ExternalMemoryImageCreateInfoNV, p_next), offset_of!(ExternalMemoryImageCreateInfoNV, handle_types)); + println!("ExportMemoryAllocateInfoNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ExportMemoryAllocateInfoNV, s_type), offset_of!(ExportMemoryAllocateInfoNV, p_next), offset_of!(ExportMemoryAllocateInfoNV, handle_types)); + println!("PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, s_type), offset_of!(PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, p_next), offset_of!(PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, device_generated_commands)); + println!("PushConstantBankInfoNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PushConstantBankInfoNV, s_type), offset_of!(PushConstantBankInfoNV, p_next), offset_of!(PushConstantBankInfoNV, bank)); + println!("PhysicalDevicePushConstantBankFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDevicePushConstantBankFeaturesNV, s_type), offset_of!(PhysicalDevicePushConstantBankFeaturesNV, p_next), offset_of!(PhysicalDevicePushConstantBankFeaturesNV, push_constant_bank)); + println!("PhysicalDevicePushConstantBankPropertiesNV {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDevicePushConstantBankPropertiesNV, s_type), offset_of!(PhysicalDevicePushConstantBankPropertiesNV, p_next), offset_of!(PhysicalDevicePushConstantBankPropertiesNV, max_graphics_push_constant_banks), offset_of!(PhysicalDevicePushConstantBankPropertiesNV, max_compute_push_constant_banks), offset_of!(PhysicalDevicePushConstantBankPropertiesNV, max_graphics_push_data_banks), offset_of!(PhysicalDevicePushConstantBankPropertiesNV, max_compute_push_data_banks)); + println!("PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV, s_type), offset_of!(PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV, p_next), offset_of!(PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV, device_generated_compute), offset_of!(PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV, device_generated_compute_pipelines), offset_of!(PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV, device_generated_compute_capture_replay)); + println!("DevicePrivateDataCreateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DevicePrivateDataCreateInfo, s_type), offset_of!(DevicePrivateDataCreateInfo, p_next), offset_of!(DevicePrivateDataCreateInfo, private_data_slot_request_count)); + println!("PrivateDataSlotCreateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PrivateDataSlotCreateInfo, s_type), offset_of!(PrivateDataSlotCreateInfo, p_next), offset_of!(PrivateDataSlotCreateInfo, flags)); + println!("PhysicalDevicePrivateDataFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDevicePrivateDataFeatures, s_type), offset_of!(PhysicalDevicePrivateDataFeatures, p_next), offset_of!(PhysicalDevicePrivateDataFeatures, private_data)); + println!("PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, s_type), offset_of!(PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, p_next), offset_of!(PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, max_graphics_shader_group_count), offset_of!(PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, max_indirect_sequence_count), offset_of!(PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, max_indirect_commands_token_count), offset_of!(PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, max_indirect_commands_stream_count), offset_of!(PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, max_indirect_commands_token_offset), offset_of!(PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, max_indirect_commands_stream_stride), offset_of!(PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, min_sequences_count_buffer_offset_alignment), offset_of!(PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, min_sequences_index_buffer_offset_alignment), offset_of!(PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, min_indirect_commands_buffer_offset_alignment)); + println!("PhysicalDeviceClusterAccelerationStructureFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceClusterAccelerationStructureFeaturesNV, s_type), offset_of!(PhysicalDeviceClusterAccelerationStructureFeaturesNV, p_next), offset_of!(PhysicalDeviceClusterAccelerationStructureFeaturesNV, cluster_acceleration_structure)); + println!("PhysicalDeviceClusterAccelerationStructurePropertiesNV {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceClusterAccelerationStructurePropertiesNV, s_type), offset_of!(PhysicalDeviceClusterAccelerationStructurePropertiesNV, p_next), offset_of!(PhysicalDeviceClusterAccelerationStructurePropertiesNV, max_vertices_per_cluster), offset_of!(PhysicalDeviceClusterAccelerationStructurePropertiesNV, max_triangles_per_cluster), offset_of!(PhysicalDeviceClusterAccelerationStructurePropertiesNV, cluster_scratch_byte_alignment), offset_of!(PhysicalDeviceClusterAccelerationStructurePropertiesNV, cluster_byte_alignment), offset_of!(PhysicalDeviceClusterAccelerationStructurePropertiesNV, cluster_template_byte_alignment), offset_of!(PhysicalDeviceClusterAccelerationStructurePropertiesNV, cluster_bottom_level_byte_alignment), offset_of!(PhysicalDeviceClusterAccelerationStructurePropertiesNV, cluster_template_bounds_byte_alignment), offset_of!(PhysicalDeviceClusterAccelerationStructurePropertiesNV, max_cluster_geometry_index)); + println!("StridedDeviceAddressNV {} {} {} {}", size_of::(), align_of::(), offset_of!(StridedDeviceAddressNV, start_address), offset_of!(StridedDeviceAddressNV, stride_in_bytes)); + println!("RayTracingPipelineClusterAccelerationStructureCreateInfoNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(RayTracingPipelineClusterAccelerationStructureCreateInfoNV, s_type), offset_of!(RayTracingPipelineClusterAccelerationStructureCreateInfoNV, p_next), offset_of!(RayTracingPipelineClusterAccelerationStructureCreateInfoNV, allow_cluster_acceleration_structure)); + println!("ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV {} {}", size_of::(), align_of::()); + println!("ClusterAccelerationStructureMoveObjectsInfoNV {} {} {}", size_of::(), align_of::(), offset_of!(ClusterAccelerationStructureMoveObjectsInfoNV, src_acceleration_structure)); + println!("ClusterAccelerationStructureBuildClustersBottomLevelInfoNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ClusterAccelerationStructureBuildClustersBottomLevelInfoNV, cluster_references_count), offset_of!(ClusterAccelerationStructureBuildClustersBottomLevelInfoNV, cluster_references_stride), offset_of!(ClusterAccelerationStructureBuildClustersBottomLevelInfoNV, cluster_references)); + println!("ClusterAccelerationStructureGetTemplateIndicesInfoNV {} {} {}", size_of::(), align_of::(), offset_of!(ClusterAccelerationStructureGetTemplateIndicesInfoNV, cluster_template_address)); + println!("ClusterAccelerationStructureBuildTriangleClusterInfoNV {} {}", size_of::(), align_of::()); + println!("ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV {} {}", size_of::(), align_of::()); + println!("ClusterAccelerationStructureInstantiateClusterInfoNV {} {}", size_of::(), align_of::()); + println!("ClusterAccelerationStructureClustersBottomLevelInputNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ClusterAccelerationStructureClustersBottomLevelInputNV, s_type), offset_of!(ClusterAccelerationStructureClustersBottomLevelInputNV, p_next), offset_of!(ClusterAccelerationStructureClustersBottomLevelInputNV, max_total_cluster_count), offset_of!(ClusterAccelerationStructureClustersBottomLevelInputNV, max_cluster_count_per_acceleration_structure)); + println!("ClusterAccelerationStructureTriangleClusterInputNV {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ClusterAccelerationStructureTriangleClusterInputNV, s_type), offset_of!(ClusterAccelerationStructureTriangleClusterInputNV, p_next), offset_of!(ClusterAccelerationStructureTriangleClusterInputNV, vertex_format), offset_of!(ClusterAccelerationStructureTriangleClusterInputNV, max_geometry_index_value), offset_of!(ClusterAccelerationStructureTriangleClusterInputNV, max_cluster_unique_geometry_count), offset_of!(ClusterAccelerationStructureTriangleClusterInputNV, max_cluster_triangle_count), offset_of!(ClusterAccelerationStructureTriangleClusterInputNV, max_cluster_vertex_count), offset_of!(ClusterAccelerationStructureTriangleClusterInputNV, max_total_triangle_count), offset_of!(ClusterAccelerationStructureTriangleClusterInputNV, max_total_vertex_count), offset_of!(ClusterAccelerationStructureTriangleClusterInputNV, min_position_truncate_bit_count)); + println!("ClusterAccelerationStructureMoveObjectsInputNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ClusterAccelerationStructureMoveObjectsInputNV, s_type), offset_of!(ClusterAccelerationStructureMoveObjectsInputNV, p_next), offset_of!(ClusterAccelerationStructureMoveObjectsInputNV, no_move_overlap), offset_of!(ClusterAccelerationStructureMoveObjectsInputNV, max_moved_bytes)); + println!("ClusterAccelerationStructureOpInputNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ClusterAccelerationStructureOpInputNV, p_clusters_bottom_level), offset_of!(ClusterAccelerationStructureOpInputNV, p_triangle_clusters), offset_of!(ClusterAccelerationStructureOpInputNV, p_move_objects)); + println!("ClusterAccelerationStructureInputInfoNV {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ClusterAccelerationStructureInputInfoNV, s_type), offset_of!(ClusterAccelerationStructureInputInfoNV, p_next), offset_of!(ClusterAccelerationStructureInputInfoNV, max_acceleration_structure_count), offset_of!(ClusterAccelerationStructureInputInfoNV, flags), offset_of!(ClusterAccelerationStructureInputInfoNV, op_type), offset_of!(ClusterAccelerationStructureInputInfoNV, op_mode), offset_of!(ClusterAccelerationStructureInputInfoNV, op_input)); + println!("ClusterAccelerationStructureCommandsInfoNV {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ClusterAccelerationStructureCommandsInfoNV, s_type), offset_of!(ClusterAccelerationStructureCommandsInfoNV, p_next), offset_of!(ClusterAccelerationStructureCommandsInfoNV, input), offset_of!(ClusterAccelerationStructureCommandsInfoNV, dst_implicit_data), offset_of!(ClusterAccelerationStructureCommandsInfoNV, scratch_data), offset_of!(ClusterAccelerationStructureCommandsInfoNV, dst_addresses_array), offset_of!(ClusterAccelerationStructureCommandsInfoNV, dst_sizes_array), offset_of!(ClusterAccelerationStructureCommandsInfoNV, src_infos_array), offset_of!(ClusterAccelerationStructureCommandsInfoNV, src_infos_count), offset_of!(ClusterAccelerationStructureCommandsInfoNV, address_resolution_flags)); + println!("PhysicalDeviceMultiDrawPropertiesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceMultiDrawPropertiesEXT, s_type), offset_of!(PhysicalDeviceMultiDrawPropertiesEXT, p_next), offset_of!(PhysicalDeviceMultiDrawPropertiesEXT, max_multi_draw_count)); + println!("GraphicsShaderGroupCreateInfoNV {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(GraphicsShaderGroupCreateInfoNV, s_type), offset_of!(GraphicsShaderGroupCreateInfoNV, p_next), offset_of!(GraphicsShaderGroupCreateInfoNV, stage_count), offset_of!(GraphicsShaderGroupCreateInfoNV, p_stages), offset_of!(GraphicsShaderGroupCreateInfoNV, p_vertex_input_state), offset_of!(GraphicsShaderGroupCreateInfoNV, p_tessellation_state)); + println!("GraphicsPipelineShaderGroupsCreateInfoNV {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(GraphicsPipelineShaderGroupsCreateInfoNV, s_type), offset_of!(GraphicsPipelineShaderGroupsCreateInfoNV, p_next), offset_of!(GraphicsPipelineShaderGroupsCreateInfoNV, group_count), offset_of!(GraphicsPipelineShaderGroupsCreateInfoNV, p_groups), offset_of!(GraphicsPipelineShaderGroupsCreateInfoNV, pipeline_count), offset_of!(GraphicsPipelineShaderGroupsCreateInfoNV, p_pipelines)); + println!("BindShaderGroupIndirectCommandNV {} {} {}", size_of::(), align_of::(), offset_of!(BindShaderGroupIndirectCommandNV, group_index)); + println!("BindIndexBufferIndirectCommandNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(BindIndexBufferIndirectCommandNV, buffer_address), offset_of!(BindIndexBufferIndirectCommandNV, size), offset_of!(BindIndexBufferIndirectCommandNV, index_type)); + println!("BindVertexBufferIndirectCommandNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(BindVertexBufferIndirectCommandNV, buffer_address), offset_of!(BindVertexBufferIndirectCommandNV, size), offset_of!(BindVertexBufferIndirectCommandNV, stride)); + println!("SetStateFlagsIndirectCommandNV {} {} {}", size_of::(), align_of::(), offset_of!(SetStateFlagsIndirectCommandNV, data)); + println!("IndirectCommandsStreamNV {} {} {} {}", size_of::(), align_of::(), offset_of!(IndirectCommandsStreamNV, buffer), offset_of!(IndirectCommandsStreamNV, offset)); + println!("IndirectCommandsLayoutTokenNV {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(IndirectCommandsLayoutTokenNV, s_type), offset_of!(IndirectCommandsLayoutTokenNV, p_next), offset_of!(IndirectCommandsLayoutTokenNV, token_type), offset_of!(IndirectCommandsLayoutTokenNV, stream), offset_of!(IndirectCommandsLayoutTokenNV, offset), offset_of!(IndirectCommandsLayoutTokenNV, vertex_binding_unit), offset_of!(IndirectCommandsLayoutTokenNV, vertex_dynamic_stride), offset_of!(IndirectCommandsLayoutTokenNV, pushconstant_pipeline_layout), offset_of!(IndirectCommandsLayoutTokenNV, pushconstant_shader_stage_flags), offset_of!(IndirectCommandsLayoutTokenNV, pushconstant_offset), offset_of!(IndirectCommandsLayoutTokenNV, pushconstant_size), offset_of!(IndirectCommandsLayoutTokenNV, indirect_state_flags), offset_of!(IndirectCommandsLayoutTokenNV, index_type_count), offset_of!(IndirectCommandsLayoutTokenNV, p_index_types), offset_of!(IndirectCommandsLayoutTokenNV, p_index_type_values)); + println!("IndirectCommandsLayoutCreateInfoNV {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(IndirectCommandsLayoutCreateInfoNV, s_type), offset_of!(IndirectCommandsLayoutCreateInfoNV, p_next), offset_of!(IndirectCommandsLayoutCreateInfoNV, flags), offset_of!(IndirectCommandsLayoutCreateInfoNV, pipeline_bind_point), offset_of!(IndirectCommandsLayoutCreateInfoNV, token_count), offset_of!(IndirectCommandsLayoutCreateInfoNV, p_tokens), offset_of!(IndirectCommandsLayoutCreateInfoNV, stream_count), offset_of!(IndirectCommandsLayoutCreateInfoNV, p_stream_strides)); + println!("GeneratedCommandsInfoNV {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(GeneratedCommandsInfoNV, s_type), offset_of!(GeneratedCommandsInfoNV, p_next), offset_of!(GeneratedCommandsInfoNV, pipeline_bind_point), offset_of!(GeneratedCommandsInfoNV, pipeline), offset_of!(GeneratedCommandsInfoNV, indirect_commands_layout), offset_of!(GeneratedCommandsInfoNV, stream_count), offset_of!(GeneratedCommandsInfoNV, p_streams), offset_of!(GeneratedCommandsInfoNV, sequences_count), offset_of!(GeneratedCommandsInfoNV, preprocess_buffer), offset_of!(GeneratedCommandsInfoNV, preprocess_offset), offset_of!(GeneratedCommandsInfoNV, preprocess_size), offset_of!(GeneratedCommandsInfoNV, sequences_count_buffer), offset_of!(GeneratedCommandsInfoNV, sequences_count_offset), offset_of!(GeneratedCommandsInfoNV, sequences_index_buffer), offset_of!(GeneratedCommandsInfoNV, sequences_index_offset)); + println!("GeneratedCommandsMemoryRequirementsInfoNV {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(GeneratedCommandsMemoryRequirementsInfoNV, s_type), offset_of!(GeneratedCommandsMemoryRequirementsInfoNV, p_next), offset_of!(GeneratedCommandsMemoryRequirementsInfoNV, pipeline_bind_point), offset_of!(GeneratedCommandsMemoryRequirementsInfoNV, pipeline), offset_of!(GeneratedCommandsMemoryRequirementsInfoNV, indirect_commands_layout), offset_of!(GeneratedCommandsMemoryRequirementsInfoNV, max_sequences_count)); + println!("PipelineIndirectDeviceAddressInfoNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineIndirectDeviceAddressInfoNV, s_type), offset_of!(PipelineIndirectDeviceAddressInfoNV, p_next), offset_of!(PipelineIndirectDeviceAddressInfoNV, pipeline_bind_point), offset_of!(PipelineIndirectDeviceAddressInfoNV, pipeline)); + println!("BindPipelineIndirectCommandNV {} {} {}", size_of::(), align_of::(), offset_of!(BindPipelineIndirectCommandNV, pipeline_address)); + println!("PhysicalDeviceFeatures2 {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceFeatures2, s_type), offset_of!(PhysicalDeviceFeatures2, p_next), offset_of!(PhysicalDeviceFeatures2, features)); + println!("PhysicalDeviceProperties2 {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceProperties2, s_type), offset_of!(PhysicalDeviceProperties2, p_next), offset_of!(PhysicalDeviceProperties2, properties)); + println!("FormatProperties2 {} {} {} {} {}", size_of::(), align_of::(), offset_of!(FormatProperties2, s_type), offset_of!(FormatProperties2, p_next), offset_of!(FormatProperties2, format_properties)); + println!("ImageFormatProperties2 {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImageFormatProperties2, s_type), offset_of!(ImageFormatProperties2, p_next), offset_of!(ImageFormatProperties2, image_format_properties)); + println!("PhysicalDeviceImageFormatInfo2 {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceImageFormatInfo2, s_type), offset_of!(PhysicalDeviceImageFormatInfo2, p_next), offset_of!(PhysicalDeviceImageFormatInfo2, format), offset_of!(PhysicalDeviceImageFormatInfo2, tiling), offset_of!(PhysicalDeviceImageFormatInfo2, usage), offset_of!(PhysicalDeviceImageFormatInfo2, flags)); + println!("QueueFamilyProperties2 {} {} {} {} {}", size_of::(), align_of::(), offset_of!(QueueFamilyProperties2, s_type), offset_of!(QueueFamilyProperties2, p_next), offset_of!(QueueFamilyProperties2, queue_family_properties)); + println!("PhysicalDeviceMemoryProperties2 {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceMemoryProperties2, s_type), offset_of!(PhysicalDeviceMemoryProperties2, p_next), offset_of!(PhysicalDeviceMemoryProperties2, memory_properties)); + println!("SparseImageFormatProperties2 {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SparseImageFormatProperties2, s_type), offset_of!(SparseImageFormatProperties2, p_next), offset_of!(SparseImageFormatProperties2, properties)); + println!("PhysicalDeviceSparseImageFormatInfo2 {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceSparseImageFormatInfo2, s_type), offset_of!(PhysicalDeviceSparseImageFormatInfo2, p_next), offset_of!(PhysicalDeviceSparseImageFormatInfo2, format), offset_of!(PhysicalDeviceSparseImageFormatInfo2, samples), offset_of!(PhysicalDeviceSparseImageFormatInfo2, usage), offset_of!(PhysicalDeviceSparseImageFormatInfo2, tiling)); + println!("PhysicalDevicePushDescriptorProperties {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDevicePushDescriptorProperties, s_type), offset_of!(PhysicalDevicePushDescriptorProperties, p_next), offset_of!(PhysicalDevicePushDescriptorProperties, max_push_descriptors)); + println!("ConformanceVersion {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ConformanceVersion, major), offset_of!(ConformanceVersion, minor), offset_of!(ConformanceVersion, subminor), offset_of!(ConformanceVersion, patch)); + println!("PhysicalDeviceDriverProperties {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceDriverProperties, s_type), offset_of!(PhysicalDeviceDriverProperties, p_next), offset_of!(PhysicalDeviceDriverProperties, driver_id), offset_of!(PhysicalDeviceDriverProperties, driver_name), offset_of!(PhysicalDeviceDriverProperties, driver_info), offset_of!(PhysicalDeviceDriverProperties, conformance_version)); + println!("PresentRegionsKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PresentRegionsKHR, s_type), offset_of!(PresentRegionsKHR, p_next), offset_of!(PresentRegionsKHR, swapchain_count), offset_of!(PresentRegionsKHR, p_regions)); + println!("PresentRegionKHR {} {} {} {}", size_of::(), align_of::(), offset_of!(PresentRegionKHR, rectangle_count), offset_of!(PresentRegionKHR, p_rectangles)); + println!("RectLayerKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(RectLayerKHR, offset), offset_of!(RectLayerKHR, extent), offset_of!(RectLayerKHR, layer)); + println!("PhysicalDeviceVariablePointersFeatures {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceVariablePointersFeatures, s_type), offset_of!(PhysicalDeviceVariablePointersFeatures, p_next), offset_of!(PhysicalDeviceVariablePointersFeatures, variable_pointers_storage_buffer), offset_of!(PhysicalDeviceVariablePointersFeatures, variable_pointers)); + println!("ExternalMemoryProperties {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ExternalMemoryProperties, external_memory_features), offset_of!(ExternalMemoryProperties, export_from_imported_handle_types), offset_of!(ExternalMemoryProperties, compatible_handle_types)); + println!("PhysicalDeviceExternalImageFormatInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceExternalImageFormatInfo, s_type), offset_of!(PhysicalDeviceExternalImageFormatInfo, p_next), offset_of!(PhysicalDeviceExternalImageFormatInfo, handle_type)); + println!("ExternalImageFormatProperties {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ExternalImageFormatProperties, s_type), offset_of!(ExternalImageFormatProperties, p_next), offset_of!(ExternalImageFormatProperties, external_memory_properties)); + println!("PhysicalDeviceExternalBufferInfo {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceExternalBufferInfo, s_type), offset_of!(PhysicalDeviceExternalBufferInfo, p_next), offset_of!(PhysicalDeviceExternalBufferInfo, flags), offset_of!(PhysicalDeviceExternalBufferInfo, usage), offset_of!(PhysicalDeviceExternalBufferInfo, handle_type)); + println!("ExternalBufferProperties {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ExternalBufferProperties, s_type), offset_of!(ExternalBufferProperties, p_next), offset_of!(ExternalBufferProperties, external_memory_properties)); + println!("PhysicalDeviceIDProperties {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceIDProperties, s_type), offset_of!(PhysicalDeviceIDProperties, p_next), offset_of!(PhysicalDeviceIDProperties, device_uuid), offset_of!(PhysicalDeviceIDProperties, driver_uuid), offset_of!(PhysicalDeviceIDProperties, device_luid), offset_of!(PhysicalDeviceIDProperties, device_node_mask), offset_of!(PhysicalDeviceIDProperties, device_luid_valid)); + println!("ExternalMemoryImageCreateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ExternalMemoryImageCreateInfo, s_type), offset_of!(ExternalMemoryImageCreateInfo, p_next), offset_of!(ExternalMemoryImageCreateInfo, handle_types)); + println!("ExternalMemoryBufferCreateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ExternalMemoryBufferCreateInfo, s_type), offset_of!(ExternalMemoryBufferCreateInfo, p_next), offset_of!(ExternalMemoryBufferCreateInfo, handle_types)); + println!("ExportMemoryAllocateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ExportMemoryAllocateInfo, s_type), offset_of!(ExportMemoryAllocateInfo, p_next), offset_of!(ExportMemoryAllocateInfo, handle_types)); + println!("ImportMemoryFdInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImportMemoryFdInfoKHR, s_type), offset_of!(ImportMemoryFdInfoKHR, p_next), offset_of!(ImportMemoryFdInfoKHR, handle_type), offset_of!(ImportMemoryFdInfoKHR, fd)); + println!("MemoryFdPropertiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(MemoryFdPropertiesKHR, s_type), offset_of!(MemoryFdPropertiesKHR, p_next), offset_of!(MemoryFdPropertiesKHR, memory_type_bits)); + println!("MemoryGetFdInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(MemoryGetFdInfoKHR, s_type), offset_of!(MemoryGetFdInfoKHR, p_next), offset_of!(MemoryGetFdInfoKHR, memory), offset_of!(MemoryGetFdInfoKHR, handle_type)); + println!("PhysicalDeviceExternalSemaphoreInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceExternalSemaphoreInfo, s_type), offset_of!(PhysicalDeviceExternalSemaphoreInfo, p_next), offset_of!(PhysicalDeviceExternalSemaphoreInfo, handle_type)); + println!("ExternalSemaphoreProperties {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ExternalSemaphoreProperties, s_type), offset_of!(ExternalSemaphoreProperties, p_next), offset_of!(ExternalSemaphoreProperties, export_from_imported_handle_types), offset_of!(ExternalSemaphoreProperties, compatible_handle_types), offset_of!(ExternalSemaphoreProperties, external_semaphore_features)); + println!("ExportSemaphoreCreateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ExportSemaphoreCreateInfo, s_type), offset_of!(ExportSemaphoreCreateInfo, p_next), offset_of!(ExportSemaphoreCreateInfo, handle_types)); + println!("ImportSemaphoreFdInfoKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImportSemaphoreFdInfoKHR, s_type), offset_of!(ImportSemaphoreFdInfoKHR, p_next), offset_of!(ImportSemaphoreFdInfoKHR, semaphore), offset_of!(ImportSemaphoreFdInfoKHR, flags), offset_of!(ImportSemaphoreFdInfoKHR, handle_type), offset_of!(ImportSemaphoreFdInfoKHR, fd)); + println!("SemaphoreGetFdInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SemaphoreGetFdInfoKHR, s_type), offset_of!(SemaphoreGetFdInfoKHR, p_next), offset_of!(SemaphoreGetFdInfoKHR, semaphore), offset_of!(SemaphoreGetFdInfoKHR, handle_type)); + println!("PhysicalDeviceExternalFenceInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceExternalFenceInfo, s_type), offset_of!(PhysicalDeviceExternalFenceInfo, p_next), offset_of!(PhysicalDeviceExternalFenceInfo, handle_type)); + println!("ExternalFenceProperties {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ExternalFenceProperties, s_type), offset_of!(ExternalFenceProperties, p_next), offset_of!(ExternalFenceProperties, export_from_imported_handle_types), offset_of!(ExternalFenceProperties, compatible_handle_types), offset_of!(ExternalFenceProperties, external_fence_features)); + println!("ExportFenceCreateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ExportFenceCreateInfo, s_type), offset_of!(ExportFenceCreateInfo, p_next), offset_of!(ExportFenceCreateInfo, handle_types)); + println!("ImportFenceFdInfoKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImportFenceFdInfoKHR, s_type), offset_of!(ImportFenceFdInfoKHR, p_next), offset_of!(ImportFenceFdInfoKHR, fence), offset_of!(ImportFenceFdInfoKHR, flags), offset_of!(ImportFenceFdInfoKHR, handle_type), offset_of!(ImportFenceFdInfoKHR, fd)); + println!("FenceGetFdInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(FenceGetFdInfoKHR, s_type), offset_of!(FenceGetFdInfoKHR, p_next), offset_of!(FenceGetFdInfoKHR, fence), offset_of!(FenceGetFdInfoKHR, handle_type)); + println!("PhysicalDeviceMultiviewFeatures {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceMultiviewFeatures, s_type), offset_of!(PhysicalDeviceMultiviewFeatures, p_next), offset_of!(PhysicalDeviceMultiviewFeatures, multiview), offset_of!(PhysicalDeviceMultiviewFeatures, multiview_geometry_shader), offset_of!(PhysicalDeviceMultiviewFeatures, multiview_tessellation_shader)); + println!("PhysicalDeviceMultiviewProperties {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceMultiviewProperties, s_type), offset_of!(PhysicalDeviceMultiviewProperties, p_next), offset_of!(PhysicalDeviceMultiviewProperties, max_multiview_view_count), offset_of!(PhysicalDeviceMultiviewProperties, max_multiview_instance_index)); + println!("RenderPassMultiviewCreateInfo {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(RenderPassMultiviewCreateInfo, s_type), offset_of!(RenderPassMultiviewCreateInfo, p_next), offset_of!(RenderPassMultiviewCreateInfo, subpass_count), offset_of!(RenderPassMultiviewCreateInfo, p_view_masks), offset_of!(RenderPassMultiviewCreateInfo, dependency_count), offset_of!(RenderPassMultiviewCreateInfo, p_view_offsets), offset_of!(RenderPassMultiviewCreateInfo, correlation_mask_count), offset_of!(RenderPassMultiviewCreateInfo, p_correlation_masks)); + println!("SurfaceCapabilities2EXT {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SurfaceCapabilities2EXT, s_type), offset_of!(SurfaceCapabilities2EXT, p_next), offset_of!(SurfaceCapabilities2EXT, min_image_count), offset_of!(SurfaceCapabilities2EXT, max_image_count), offset_of!(SurfaceCapabilities2EXT, current_extent), offset_of!(SurfaceCapabilities2EXT, min_image_extent), offset_of!(SurfaceCapabilities2EXT, max_image_extent), offset_of!(SurfaceCapabilities2EXT, max_image_array_layers), offset_of!(SurfaceCapabilities2EXT, supported_transforms), offset_of!(SurfaceCapabilities2EXT, current_transform), offset_of!(SurfaceCapabilities2EXT, supported_composite_alpha), offset_of!(SurfaceCapabilities2EXT, supported_usage_flags), offset_of!(SurfaceCapabilities2EXT, supported_surface_counters)); + println!("DisplayPowerInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DisplayPowerInfoEXT, s_type), offset_of!(DisplayPowerInfoEXT, p_next), offset_of!(DisplayPowerInfoEXT, power_state)); + println!("DeviceEventInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DeviceEventInfoEXT, s_type), offset_of!(DeviceEventInfoEXT, p_next), offset_of!(DeviceEventInfoEXT, device_event)); + println!("DisplayEventInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DisplayEventInfoEXT, s_type), offset_of!(DisplayEventInfoEXT, p_next), offset_of!(DisplayEventInfoEXT, display_event)); + println!("SwapchainCounterCreateInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SwapchainCounterCreateInfoEXT, s_type), offset_of!(SwapchainCounterCreateInfoEXT, p_next), offset_of!(SwapchainCounterCreateInfoEXT, surface_counters)); + println!("PhysicalDeviceGroupProperties {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceGroupProperties, s_type), offset_of!(PhysicalDeviceGroupProperties, p_next), offset_of!(PhysicalDeviceGroupProperties, physical_device_count), offset_of!(PhysicalDeviceGroupProperties, physical_devices), offset_of!(PhysicalDeviceGroupProperties, subset_allocation)); + println!("MemoryAllocateFlagsInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(MemoryAllocateFlagsInfo, s_type), offset_of!(MemoryAllocateFlagsInfo, p_next), offset_of!(MemoryAllocateFlagsInfo, flags), offset_of!(MemoryAllocateFlagsInfo, device_mask)); + println!("BindBufferMemoryInfo {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(BindBufferMemoryInfo, s_type), offset_of!(BindBufferMemoryInfo, p_next), offset_of!(BindBufferMemoryInfo, buffer), offset_of!(BindBufferMemoryInfo, memory), offset_of!(BindBufferMemoryInfo, memory_offset)); + println!("BindBufferMemoryDeviceGroupInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(BindBufferMemoryDeviceGroupInfo, s_type), offset_of!(BindBufferMemoryDeviceGroupInfo, p_next), offset_of!(BindBufferMemoryDeviceGroupInfo, device_index_count), offset_of!(BindBufferMemoryDeviceGroupInfo, p_device_indices)); + println!("BindImageMemoryInfo {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(BindImageMemoryInfo, s_type), offset_of!(BindImageMemoryInfo, p_next), offset_of!(BindImageMemoryInfo, image), offset_of!(BindImageMemoryInfo, memory), offset_of!(BindImageMemoryInfo, memory_offset)); + println!("BindImageMemoryDeviceGroupInfo {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(BindImageMemoryDeviceGroupInfo, s_type), offset_of!(BindImageMemoryDeviceGroupInfo, p_next), offset_of!(BindImageMemoryDeviceGroupInfo, device_index_count), offset_of!(BindImageMemoryDeviceGroupInfo, p_device_indices), offset_of!(BindImageMemoryDeviceGroupInfo, split_instance_bind_region_count), offset_of!(BindImageMemoryDeviceGroupInfo, p_split_instance_bind_regions)); + println!("DeviceGroupRenderPassBeginInfo {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DeviceGroupRenderPassBeginInfo, s_type), offset_of!(DeviceGroupRenderPassBeginInfo, p_next), offset_of!(DeviceGroupRenderPassBeginInfo, device_mask), offset_of!(DeviceGroupRenderPassBeginInfo, device_render_area_count), offset_of!(DeviceGroupRenderPassBeginInfo, p_device_render_areas)); + println!("DeviceGroupCommandBufferBeginInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DeviceGroupCommandBufferBeginInfo, s_type), offset_of!(DeviceGroupCommandBufferBeginInfo, p_next), offset_of!(DeviceGroupCommandBufferBeginInfo, device_mask)); + println!("DeviceGroupSubmitInfo {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DeviceGroupSubmitInfo, s_type), offset_of!(DeviceGroupSubmitInfo, p_next), offset_of!(DeviceGroupSubmitInfo, wait_semaphore_count), offset_of!(DeviceGroupSubmitInfo, p_wait_semaphore_device_indices), offset_of!(DeviceGroupSubmitInfo, command_buffer_count), offset_of!(DeviceGroupSubmitInfo, p_command_buffer_device_masks), offset_of!(DeviceGroupSubmitInfo, signal_semaphore_count), offset_of!(DeviceGroupSubmitInfo, p_signal_semaphore_device_indices)); + println!("DeviceGroupBindSparseInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DeviceGroupBindSparseInfo, s_type), offset_of!(DeviceGroupBindSparseInfo, p_next), offset_of!(DeviceGroupBindSparseInfo, resource_device_index), offset_of!(DeviceGroupBindSparseInfo, memory_device_index)); + println!("DeviceGroupPresentCapabilitiesKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DeviceGroupPresentCapabilitiesKHR, s_type), offset_of!(DeviceGroupPresentCapabilitiesKHR, p_next), offset_of!(DeviceGroupPresentCapabilitiesKHR, present_mask), offset_of!(DeviceGroupPresentCapabilitiesKHR, modes)); + println!("ImageSwapchainCreateInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImageSwapchainCreateInfoKHR, s_type), offset_of!(ImageSwapchainCreateInfoKHR, p_next), offset_of!(ImageSwapchainCreateInfoKHR, swapchain)); + println!("BindImageMemorySwapchainInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(BindImageMemorySwapchainInfoKHR, s_type), offset_of!(BindImageMemorySwapchainInfoKHR, p_next), offset_of!(BindImageMemorySwapchainInfoKHR, swapchain), offset_of!(BindImageMemorySwapchainInfoKHR, image_index)); + println!("AcquireNextImageInfoKHR {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(AcquireNextImageInfoKHR, s_type), offset_of!(AcquireNextImageInfoKHR, p_next), offset_of!(AcquireNextImageInfoKHR, swapchain), offset_of!(AcquireNextImageInfoKHR, timeout), offset_of!(AcquireNextImageInfoKHR, semaphore), offset_of!(AcquireNextImageInfoKHR, fence), offset_of!(AcquireNextImageInfoKHR, device_mask)); + println!("DeviceGroupPresentInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DeviceGroupPresentInfoKHR, s_type), offset_of!(DeviceGroupPresentInfoKHR, p_next), offset_of!(DeviceGroupPresentInfoKHR, swapchain_count), offset_of!(DeviceGroupPresentInfoKHR, p_device_masks), offset_of!(DeviceGroupPresentInfoKHR, mode)); + println!("DeviceGroupDeviceCreateInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DeviceGroupDeviceCreateInfo, s_type), offset_of!(DeviceGroupDeviceCreateInfo, p_next), offset_of!(DeviceGroupDeviceCreateInfo, physical_device_count), offset_of!(DeviceGroupDeviceCreateInfo, p_physical_devices)); + println!("DeviceGroupSwapchainCreateInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DeviceGroupSwapchainCreateInfoKHR, s_type), offset_of!(DeviceGroupSwapchainCreateInfoKHR, p_next), offset_of!(DeviceGroupSwapchainCreateInfoKHR, modes)); + println!("DescriptorUpdateTemplateEntry {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DescriptorUpdateTemplateEntry, dst_binding), offset_of!(DescriptorUpdateTemplateEntry, dst_array_element), offset_of!(DescriptorUpdateTemplateEntry, descriptor_count), offset_of!(DescriptorUpdateTemplateEntry, descriptor_type), offset_of!(DescriptorUpdateTemplateEntry, offset), offset_of!(DescriptorUpdateTemplateEntry, stride)); + println!("DescriptorUpdateTemplateCreateInfo {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DescriptorUpdateTemplateCreateInfo, s_type), offset_of!(DescriptorUpdateTemplateCreateInfo, p_next), offset_of!(DescriptorUpdateTemplateCreateInfo, flags), offset_of!(DescriptorUpdateTemplateCreateInfo, descriptor_update_entry_count), offset_of!(DescriptorUpdateTemplateCreateInfo, p_descriptor_update_entries), offset_of!(DescriptorUpdateTemplateCreateInfo, template_type), offset_of!(DescriptorUpdateTemplateCreateInfo, descriptor_set_layout), offset_of!(DescriptorUpdateTemplateCreateInfo, pipeline_bind_point), offset_of!(DescriptorUpdateTemplateCreateInfo, pipeline_layout), offset_of!(DescriptorUpdateTemplateCreateInfo, set)); + println!("XYColorEXT {} {} {} {}", size_of::(), align_of::(), offset_of!(XYColorEXT, x), offset_of!(XYColorEXT, y)); + println!("PhysicalDevicePresentIdFeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDevicePresentIdFeaturesKHR, s_type), offset_of!(PhysicalDevicePresentIdFeaturesKHR, p_next), offset_of!(PhysicalDevicePresentIdFeaturesKHR, present_id)); + println!("PresentIdKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PresentIdKHR, s_type), offset_of!(PresentIdKHR, p_next), offset_of!(PresentIdKHR, swapchain_count), offset_of!(PresentIdKHR, p_present_ids)); + println!("PhysicalDevicePresentId2FeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDevicePresentId2FeaturesKHR, s_type), offset_of!(PhysicalDevicePresentId2FeaturesKHR, p_next), offset_of!(PhysicalDevicePresentId2FeaturesKHR, present_id2)); + println!("PresentId2KHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PresentId2KHR, s_type), offset_of!(PresentId2KHR, p_next), offset_of!(PresentId2KHR, swapchain_count), offset_of!(PresentId2KHR, p_present_ids)); + println!("PresentWait2InfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PresentWait2InfoKHR, s_type), offset_of!(PresentWait2InfoKHR, p_next), offset_of!(PresentWait2InfoKHR, present_id), offset_of!(PresentWait2InfoKHR, timeout)); + println!("PhysicalDevicePresentWaitFeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDevicePresentWaitFeaturesKHR, s_type), offset_of!(PhysicalDevicePresentWaitFeaturesKHR, p_next), offset_of!(PhysicalDevicePresentWaitFeaturesKHR, present_wait)); + println!("PhysicalDevicePresentWait2FeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDevicePresentWait2FeaturesKHR, s_type), offset_of!(PhysicalDevicePresentWait2FeaturesKHR, p_next), offset_of!(PhysicalDevicePresentWait2FeaturesKHR, present_wait2)); + println!("PhysicalDevicePresentTimingFeaturesEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDevicePresentTimingFeaturesEXT, s_type), offset_of!(PhysicalDevicePresentTimingFeaturesEXT, p_next), offset_of!(PhysicalDevicePresentTimingFeaturesEXT, present_timing), offset_of!(PhysicalDevicePresentTimingFeaturesEXT, present_at_absolute_time), offset_of!(PhysicalDevicePresentTimingFeaturesEXT, present_at_relative_time)); + println!("PresentTimingSurfaceCapabilitiesEXT {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PresentTimingSurfaceCapabilitiesEXT, s_type), offset_of!(PresentTimingSurfaceCapabilitiesEXT, p_next), offset_of!(PresentTimingSurfaceCapabilitiesEXT, present_timing_supported), offset_of!(PresentTimingSurfaceCapabilitiesEXT, present_at_absolute_time_supported), offset_of!(PresentTimingSurfaceCapabilitiesEXT, present_at_relative_time_supported), offset_of!(PresentTimingSurfaceCapabilitiesEXT, present_stage_queries)); + println!("SwapchainTimingPropertiesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SwapchainTimingPropertiesEXT, s_type), offset_of!(SwapchainTimingPropertiesEXT, p_next), offset_of!(SwapchainTimingPropertiesEXT, refresh_duration), offset_of!(SwapchainTimingPropertiesEXT, refresh_interval)); + println!("SwapchainTimeDomainPropertiesEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SwapchainTimeDomainPropertiesEXT, s_type), offset_of!(SwapchainTimeDomainPropertiesEXT, p_next), offset_of!(SwapchainTimeDomainPropertiesEXT, time_domain_count), offset_of!(SwapchainTimeDomainPropertiesEXT, p_time_domains), offset_of!(SwapchainTimeDomainPropertiesEXT, p_time_domain_ids)); + println!("PresentStageTimeEXT {} {} {} {}", size_of::(), align_of::(), offset_of!(PresentStageTimeEXT, stage), offset_of!(PresentStageTimeEXT, time)); + println!("PastPresentationTimingInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PastPresentationTimingInfoEXT, s_type), offset_of!(PastPresentationTimingInfoEXT, p_next), offset_of!(PastPresentationTimingInfoEXT, flags), offset_of!(PastPresentationTimingInfoEXT, swapchain)); + println!("PastPresentationTimingPropertiesEXT {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PastPresentationTimingPropertiesEXT, s_type), offset_of!(PastPresentationTimingPropertiesEXT, p_next), offset_of!(PastPresentationTimingPropertiesEXT, timing_properties_counter), offset_of!(PastPresentationTimingPropertiesEXT, time_domains_counter), offset_of!(PastPresentationTimingPropertiesEXT, presentation_timing_count), offset_of!(PastPresentationTimingPropertiesEXT, p_presentation_timings)); + println!("PastPresentationTimingEXT {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PastPresentationTimingEXT, s_type), offset_of!(PastPresentationTimingEXT, p_next), offset_of!(PastPresentationTimingEXT, present_id), offset_of!(PastPresentationTimingEXT, target_time), offset_of!(PastPresentationTimingEXT, present_stage_count), offset_of!(PastPresentationTimingEXT, p_present_stages), offset_of!(PastPresentationTimingEXT, time_domain), offset_of!(PastPresentationTimingEXT, time_domain_id), offset_of!(PastPresentationTimingEXT, report_complete)); + println!("PresentTimingsInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PresentTimingsInfoEXT, s_type), offset_of!(PresentTimingsInfoEXT, p_next), offset_of!(PresentTimingsInfoEXT, swapchain_count), offset_of!(PresentTimingsInfoEXT, p_timing_infos)); + println!("PresentTimingInfoEXT {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PresentTimingInfoEXT, s_type), offset_of!(PresentTimingInfoEXT, p_next), offset_of!(PresentTimingInfoEXT, flags), offset_of!(PresentTimingInfoEXT, target_time), offset_of!(PresentTimingInfoEXT, time_domain_id), offset_of!(PresentTimingInfoEXT, present_stage_queries), offset_of!(PresentTimingInfoEXT, target_time_domain_present_stage)); + println!("SwapchainCalibratedTimestampInfoEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SwapchainCalibratedTimestampInfoEXT, s_type), offset_of!(SwapchainCalibratedTimestampInfoEXT, p_next), offset_of!(SwapchainCalibratedTimestampInfoEXT, swapchain), offset_of!(SwapchainCalibratedTimestampInfoEXT, present_stage), offset_of!(SwapchainCalibratedTimestampInfoEXT, time_domain_id)); + println!("HdrMetadataEXT {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(HdrMetadataEXT, s_type), offset_of!(HdrMetadataEXT, p_next), offset_of!(HdrMetadataEXT, display_primary_red), offset_of!(HdrMetadataEXT, display_primary_green), offset_of!(HdrMetadataEXT, display_primary_blue), offset_of!(HdrMetadataEXT, white_point), offset_of!(HdrMetadataEXT, max_luminance), offset_of!(HdrMetadataEXT, min_luminance), offset_of!(HdrMetadataEXT, max_content_light_level), offset_of!(HdrMetadataEXT, max_frame_average_light_level)); + println!("HdrVividDynamicMetadataHUAWEI {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(HdrVividDynamicMetadataHUAWEI, s_type), offset_of!(HdrVividDynamicMetadataHUAWEI, p_next), offset_of!(HdrVividDynamicMetadataHUAWEI, dynamic_metadata_size), offset_of!(HdrVividDynamicMetadataHUAWEI, p_dynamic_metadata)); + println!("DisplayNativeHdrSurfaceCapabilitiesAMD {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DisplayNativeHdrSurfaceCapabilitiesAMD, s_type), offset_of!(DisplayNativeHdrSurfaceCapabilitiesAMD, p_next), offset_of!(DisplayNativeHdrSurfaceCapabilitiesAMD, local_dimming_support)); + println!("SwapchainDisplayNativeHdrCreateInfoAMD {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SwapchainDisplayNativeHdrCreateInfoAMD, s_type), offset_of!(SwapchainDisplayNativeHdrCreateInfoAMD, p_next), offset_of!(SwapchainDisplayNativeHdrCreateInfoAMD, local_dimming_enable)); + println!("RefreshCycleDurationGOOGLE {} {} {}", size_of::(), align_of::(), offset_of!(RefreshCycleDurationGOOGLE, refresh_duration)); + println!("PastPresentationTimingGOOGLE {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PastPresentationTimingGOOGLE, present_id), offset_of!(PastPresentationTimingGOOGLE, desired_present_time), offset_of!(PastPresentationTimingGOOGLE, actual_present_time), offset_of!(PastPresentationTimingGOOGLE, earliest_present_time), offset_of!(PastPresentationTimingGOOGLE, present_margin)); + println!("PresentTimesInfoGOOGLE {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PresentTimesInfoGOOGLE, s_type), offset_of!(PresentTimesInfoGOOGLE, p_next), offset_of!(PresentTimesInfoGOOGLE, swapchain_count), offset_of!(PresentTimesInfoGOOGLE, p_times)); + println!("PresentTimeGOOGLE {} {} {} {}", size_of::(), align_of::(), offset_of!(PresentTimeGOOGLE, present_id), offset_of!(PresentTimeGOOGLE, desired_present_time)); + println!("ViewportWScalingNV {} {} {} {}", size_of::(), align_of::(), offset_of!(ViewportWScalingNV, xcoeff), offset_of!(ViewportWScalingNV, ycoeff)); + println!("PipelineViewportWScalingStateCreateInfoNV {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineViewportWScalingStateCreateInfoNV, s_type), offset_of!(PipelineViewportWScalingStateCreateInfoNV, p_next), offset_of!(PipelineViewportWScalingStateCreateInfoNV, viewport_w_scaling_enable), offset_of!(PipelineViewportWScalingStateCreateInfoNV, viewport_count), offset_of!(PipelineViewportWScalingStateCreateInfoNV, p_viewport_w_scalings)); + println!("ViewportSwizzleNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ViewportSwizzleNV, x), offset_of!(ViewportSwizzleNV, y), offset_of!(ViewportSwizzleNV, z), offset_of!(ViewportSwizzleNV, w)); + println!("PipelineViewportSwizzleStateCreateInfoNV {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineViewportSwizzleStateCreateInfoNV, s_type), offset_of!(PipelineViewportSwizzleStateCreateInfoNV, p_next), offset_of!(PipelineViewportSwizzleStateCreateInfoNV, flags), offset_of!(PipelineViewportSwizzleStateCreateInfoNV, viewport_count), offset_of!(PipelineViewportSwizzleStateCreateInfoNV, p_viewport_swizzles)); + println!("PhysicalDeviceDiscardRectanglePropertiesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceDiscardRectanglePropertiesEXT, s_type), offset_of!(PhysicalDeviceDiscardRectanglePropertiesEXT, p_next), offset_of!(PhysicalDeviceDiscardRectanglePropertiesEXT, max_discard_rectangles)); + println!("PipelineDiscardRectangleStateCreateInfoEXT {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineDiscardRectangleStateCreateInfoEXT, s_type), offset_of!(PipelineDiscardRectangleStateCreateInfoEXT, p_next), offset_of!(PipelineDiscardRectangleStateCreateInfoEXT, flags), offset_of!(PipelineDiscardRectangleStateCreateInfoEXT, discard_rectangle_mode), offset_of!(PipelineDiscardRectangleStateCreateInfoEXT, discard_rectangle_count), offset_of!(PipelineDiscardRectangleStateCreateInfoEXT, p_discard_rectangles)); + println!("PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, s_type), offset_of!(PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, p_next), offset_of!(PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, per_view_position_all_components)); + println!("InputAttachmentAspectReference {} {} {} {} {}", size_of::(), align_of::(), offset_of!(InputAttachmentAspectReference, subpass), offset_of!(InputAttachmentAspectReference, input_attachment_index), offset_of!(InputAttachmentAspectReference, aspect_mask)); + println!("RenderPassInputAttachmentAspectCreateInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(RenderPassInputAttachmentAspectCreateInfo, s_type), offset_of!(RenderPassInputAttachmentAspectCreateInfo, p_next), offset_of!(RenderPassInputAttachmentAspectCreateInfo, aspect_reference_count), offset_of!(RenderPassInputAttachmentAspectCreateInfo, p_aspect_references)); + println!("PhysicalDeviceSurfaceInfo2KHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceSurfaceInfo2KHR, s_type), offset_of!(PhysicalDeviceSurfaceInfo2KHR, p_next), offset_of!(PhysicalDeviceSurfaceInfo2KHR, surface)); + println!("SurfaceCapabilities2KHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SurfaceCapabilities2KHR, s_type), offset_of!(SurfaceCapabilities2KHR, p_next), offset_of!(SurfaceCapabilities2KHR, surface_capabilities)); + println!("SurfaceFormat2KHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SurfaceFormat2KHR, s_type), offset_of!(SurfaceFormat2KHR, p_next), offset_of!(SurfaceFormat2KHR, surface_format)); + println!("DisplayProperties2KHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DisplayProperties2KHR, s_type), offset_of!(DisplayProperties2KHR, p_next), offset_of!(DisplayProperties2KHR, display_properties)); + println!("DisplayPlaneProperties2KHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DisplayPlaneProperties2KHR, s_type), offset_of!(DisplayPlaneProperties2KHR, p_next), offset_of!(DisplayPlaneProperties2KHR, display_plane_properties)); + println!("DisplayModeProperties2KHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DisplayModeProperties2KHR, s_type), offset_of!(DisplayModeProperties2KHR, p_next), offset_of!(DisplayModeProperties2KHR, display_mode_properties)); + println!("DisplayModeStereoPropertiesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DisplayModeStereoPropertiesNV, s_type), offset_of!(DisplayModeStereoPropertiesNV, p_next), offset_of!(DisplayModeStereoPropertiesNV, hdmi3_d_supported)); + println!("DisplayPlaneInfo2KHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DisplayPlaneInfo2KHR, s_type), offset_of!(DisplayPlaneInfo2KHR, p_next), offset_of!(DisplayPlaneInfo2KHR, mode), offset_of!(DisplayPlaneInfo2KHR, plane_index)); + println!("DisplayPlaneCapabilities2KHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DisplayPlaneCapabilities2KHR, s_type), offset_of!(DisplayPlaneCapabilities2KHR, p_next), offset_of!(DisplayPlaneCapabilities2KHR, capabilities)); + println!("SharedPresentSurfaceCapabilitiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SharedPresentSurfaceCapabilitiesKHR, s_type), offset_of!(SharedPresentSurfaceCapabilitiesKHR, p_next), offset_of!(SharedPresentSurfaceCapabilitiesKHR, shared_present_supported_usage_flags)); + println!("PhysicalDevice16BitStorageFeatures {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDevice16BitStorageFeatures, s_type), offset_of!(PhysicalDevice16BitStorageFeatures, p_next), offset_of!(PhysicalDevice16BitStorageFeatures, storage_buffer16_bit_access), offset_of!(PhysicalDevice16BitStorageFeatures, uniform_and_storage_buffer16_bit_access), offset_of!(PhysicalDevice16BitStorageFeatures, storage_push_constant16), offset_of!(PhysicalDevice16BitStorageFeatures, storage_input_output16)); + println!("PhysicalDeviceSubgroupProperties {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceSubgroupProperties, s_type), offset_of!(PhysicalDeviceSubgroupProperties, p_next), offset_of!(PhysicalDeviceSubgroupProperties, subgroup_size), offset_of!(PhysicalDeviceSubgroupProperties, supported_stages), offset_of!(PhysicalDeviceSubgroupProperties, supported_operations), offset_of!(PhysicalDeviceSubgroupProperties, quad_operations_in_all_stages)); + println!("PhysicalDeviceShaderSubgroupExtendedTypesFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderSubgroupExtendedTypesFeatures, s_type), offset_of!(PhysicalDeviceShaderSubgroupExtendedTypesFeatures, p_next), offset_of!(PhysicalDeviceShaderSubgroupExtendedTypesFeatures, shader_subgroup_extended_types)); + println!("BufferMemoryRequirementsInfo2 {} {} {} {} {}", size_of::(), align_of::(), offset_of!(BufferMemoryRequirementsInfo2, s_type), offset_of!(BufferMemoryRequirementsInfo2, p_next), offset_of!(BufferMemoryRequirementsInfo2, buffer)); + println!("DeviceBufferMemoryRequirements {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DeviceBufferMemoryRequirements, s_type), offset_of!(DeviceBufferMemoryRequirements, p_next), offset_of!(DeviceBufferMemoryRequirements, p_create_info)); + println!("ImageMemoryRequirementsInfo2 {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImageMemoryRequirementsInfo2, s_type), offset_of!(ImageMemoryRequirementsInfo2, p_next), offset_of!(ImageMemoryRequirementsInfo2, image)); + println!("ImageSparseMemoryRequirementsInfo2 {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImageSparseMemoryRequirementsInfo2, s_type), offset_of!(ImageSparseMemoryRequirementsInfo2, p_next), offset_of!(ImageSparseMemoryRequirementsInfo2, image)); + println!("DeviceImageMemoryRequirements {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DeviceImageMemoryRequirements, s_type), offset_of!(DeviceImageMemoryRequirements, p_next), offset_of!(DeviceImageMemoryRequirements, p_create_info), offset_of!(DeviceImageMemoryRequirements, plane_aspect)); + println!("MemoryRequirements2 {} {} {} {} {}", size_of::(), align_of::(), offset_of!(MemoryRequirements2, s_type), offset_of!(MemoryRequirements2, p_next), offset_of!(MemoryRequirements2, memory_requirements)); + println!("SparseImageMemoryRequirements2 {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SparseImageMemoryRequirements2, s_type), offset_of!(SparseImageMemoryRequirements2, p_next), offset_of!(SparseImageMemoryRequirements2, memory_requirements)); + println!("PhysicalDevicePointClippingProperties {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDevicePointClippingProperties, s_type), offset_of!(PhysicalDevicePointClippingProperties, p_next), offset_of!(PhysicalDevicePointClippingProperties, point_clipping_behavior)); + println!("MemoryDedicatedRequirements {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(MemoryDedicatedRequirements, s_type), offset_of!(MemoryDedicatedRequirements, p_next), offset_of!(MemoryDedicatedRequirements, prefers_dedicated_allocation), offset_of!(MemoryDedicatedRequirements, requires_dedicated_allocation)); + println!("MemoryDedicatedAllocateInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(MemoryDedicatedAllocateInfo, s_type), offset_of!(MemoryDedicatedAllocateInfo, p_next), offset_of!(MemoryDedicatedAllocateInfo, image), offset_of!(MemoryDedicatedAllocateInfo, buffer)); + println!("ImageViewUsageCreateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImageViewUsageCreateInfo, s_type), offset_of!(ImageViewUsageCreateInfo, p_next), offset_of!(ImageViewUsageCreateInfo, usage)); + println!("ImageViewSlicedCreateInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImageViewSlicedCreateInfoEXT, s_type), offset_of!(ImageViewSlicedCreateInfoEXT, p_next), offset_of!(ImageViewSlicedCreateInfoEXT, slice_offset), offset_of!(ImageViewSlicedCreateInfoEXT, slice_count)); + println!("PipelineTessellationDomainOriginStateCreateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineTessellationDomainOriginStateCreateInfo, s_type), offset_of!(PipelineTessellationDomainOriginStateCreateInfo, p_next), offset_of!(PipelineTessellationDomainOriginStateCreateInfo, domain_origin)); + println!("SamplerYcbcrConversionInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SamplerYcbcrConversionInfo, s_type), offset_of!(SamplerYcbcrConversionInfo, p_next), offset_of!(SamplerYcbcrConversionInfo, conversion)); + println!("SamplerYcbcrConversionCreateInfo {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SamplerYcbcrConversionCreateInfo, s_type), offset_of!(SamplerYcbcrConversionCreateInfo, p_next), offset_of!(SamplerYcbcrConversionCreateInfo, format), offset_of!(SamplerYcbcrConversionCreateInfo, ycbcr_model), offset_of!(SamplerYcbcrConversionCreateInfo, ycbcr_range), offset_of!(SamplerYcbcrConversionCreateInfo, components), offset_of!(SamplerYcbcrConversionCreateInfo, x_chroma_offset), offset_of!(SamplerYcbcrConversionCreateInfo, y_chroma_offset), offset_of!(SamplerYcbcrConversionCreateInfo, chroma_filter), offset_of!(SamplerYcbcrConversionCreateInfo, force_explicit_reconstruction)); + println!("BindImagePlaneMemoryInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(BindImagePlaneMemoryInfo, s_type), offset_of!(BindImagePlaneMemoryInfo, p_next), offset_of!(BindImagePlaneMemoryInfo, plane_aspect)); + println!("ImagePlaneMemoryRequirementsInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImagePlaneMemoryRequirementsInfo, s_type), offset_of!(ImagePlaneMemoryRequirementsInfo, p_next), offset_of!(ImagePlaneMemoryRequirementsInfo, plane_aspect)); + println!("PhysicalDeviceSamplerYcbcrConversionFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceSamplerYcbcrConversionFeatures, s_type), offset_of!(PhysicalDeviceSamplerYcbcrConversionFeatures, p_next), offset_of!(PhysicalDeviceSamplerYcbcrConversionFeatures, sampler_ycbcr_conversion)); + println!("SamplerYcbcrConversionImageFormatProperties {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SamplerYcbcrConversionImageFormatProperties, s_type), offset_of!(SamplerYcbcrConversionImageFormatProperties, p_next), offset_of!(SamplerYcbcrConversionImageFormatProperties, combined_image_sampler_descriptor_count)); + println!("TextureLODGatherFormatPropertiesAMD {} {} {} {} {}", size_of::(), align_of::(), offset_of!(TextureLODGatherFormatPropertiesAMD, s_type), offset_of!(TextureLODGatherFormatPropertiesAMD, p_next), offset_of!(TextureLODGatherFormatPropertiesAMD, supports_texture_gather_lod_bias_amd)); + println!("ConditionalRenderingBeginInfoEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ConditionalRenderingBeginInfoEXT, s_type), offset_of!(ConditionalRenderingBeginInfoEXT, p_next), offset_of!(ConditionalRenderingBeginInfoEXT, buffer), offset_of!(ConditionalRenderingBeginInfoEXT, offset), offset_of!(ConditionalRenderingBeginInfoEXT, flags)); + println!("ProtectedSubmitInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ProtectedSubmitInfo, s_type), offset_of!(ProtectedSubmitInfo, p_next), offset_of!(ProtectedSubmitInfo, protected_submit)); + println!("PhysicalDeviceProtectedMemoryFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceProtectedMemoryFeatures, s_type), offset_of!(PhysicalDeviceProtectedMemoryFeatures, p_next), offset_of!(PhysicalDeviceProtectedMemoryFeatures, protected_memory)); + println!("PhysicalDeviceProtectedMemoryProperties {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceProtectedMemoryProperties, s_type), offset_of!(PhysicalDeviceProtectedMemoryProperties, p_next), offset_of!(PhysicalDeviceProtectedMemoryProperties, protected_no_fault)); + println!("DeviceQueueInfo2 {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DeviceQueueInfo2, s_type), offset_of!(DeviceQueueInfo2, p_next), offset_of!(DeviceQueueInfo2, flags), offset_of!(DeviceQueueInfo2, queue_family_index), offset_of!(DeviceQueueInfo2, queue_index)); + println!("PipelineCoverageToColorStateCreateInfoNV {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineCoverageToColorStateCreateInfoNV, s_type), offset_of!(PipelineCoverageToColorStateCreateInfoNV, p_next), offset_of!(PipelineCoverageToColorStateCreateInfoNV, flags), offset_of!(PipelineCoverageToColorStateCreateInfoNV, coverage_to_color_enable), offset_of!(PipelineCoverageToColorStateCreateInfoNV, coverage_to_color_location)); + println!("PhysicalDeviceSamplerFilterMinmaxProperties {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceSamplerFilterMinmaxProperties, s_type), offset_of!(PhysicalDeviceSamplerFilterMinmaxProperties, p_next), offset_of!(PhysicalDeviceSamplerFilterMinmaxProperties, filter_minmax_single_component_formats), offset_of!(PhysicalDeviceSamplerFilterMinmaxProperties, filter_minmax_image_component_mapping)); + println!("SampleLocationEXT {} {} {} {}", size_of::(), align_of::(), offset_of!(SampleLocationEXT, x), offset_of!(SampleLocationEXT, y)); + println!("SampleLocationsInfoEXT {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SampleLocationsInfoEXT, s_type), offset_of!(SampleLocationsInfoEXT, p_next), offset_of!(SampleLocationsInfoEXT, sample_locations_per_pixel), offset_of!(SampleLocationsInfoEXT, sample_location_grid_size), offset_of!(SampleLocationsInfoEXT, sample_locations_count), offset_of!(SampleLocationsInfoEXT, p_sample_locations)); + println!("AttachmentSampleLocationsEXT {} {} {} {}", size_of::(), align_of::(), offset_of!(AttachmentSampleLocationsEXT, attachment_index), offset_of!(AttachmentSampleLocationsEXT, sample_locations_info)); + println!("SubpassSampleLocationsEXT {} {} {} {}", size_of::(), align_of::(), offset_of!(SubpassSampleLocationsEXT, subpass_index), offset_of!(SubpassSampleLocationsEXT, sample_locations_info)); + println!("RenderPassSampleLocationsBeginInfoEXT {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(RenderPassSampleLocationsBeginInfoEXT, s_type), offset_of!(RenderPassSampleLocationsBeginInfoEXT, p_next), offset_of!(RenderPassSampleLocationsBeginInfoEXT, attachment_initial_sample_locations_count), offset_of!(RenderPassSampleLocationsBeginInfoEXT, p_attachment_initial_sample_locations), offset_of!(RenderPassSampleLocationsBeginInfoEXT, post_subpass_sample_locations_count), offset_of!(RenderPassSampleLocationsBeginInfoEXT, p_post_subpass_sample_locations)); + println!("PipelineSampleLocationsStateCreateInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineSampleLocationsStateCreateInfoEXT, s_type), offset_of!(PipelineSampleLocationsStateCreateInfoEXT, p_next), offset_of!(PipelineSampleLocationsStateCreateInfoEXT, sample_locations_enable), offset_of!(PipelineSampleLocationsStateCreateInfoEXT, sample_locations_info)); + println!("PhysicalDeviceSampleLocationsPropertiesEXT {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceSampleLocationsPropertiesEXT, s_type), offset_of!(PhysicalDeviceSampleLocationsPropertiesEXT, p_next), offset_of!(PhysicalDeviceSampleLocationsPropertiesEXT, sample_location_sample_counts), offset_of!(PhysicalDeviceSampleLocationsPropertiesEXT, max_sample_location_grid_size), offset_of!(PhysicalDeviceSampleLocationsPropertiesEXT, sample_location_coordinate_range), offset_of!(PhysicalDeviceSampleLocationsPropertiesEXT, sample_location_sub_pixel_bits), offset_of!(PhysicalDeviceSampleLocationsPropertiesEXT, variable_sample_locations)); + println!("MultisamplePropertiesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(MultisamplePropertiesEXT, s_type), offset_of!(MultisamplePropertiesEXT, p_next), offset_of!(MultisamplePropertiesEXT, max_sample_location_grid_size)); + println!("SamplerReductionModeCreateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SamplerReductionModeCreateInfo, s_type), offset_of!(SamplerReductionModeCreateInfo, p_next), offset_of!(SamplerReductionModeCreateInfo, reduction_mode)); + println!("PhysicalDeviceBlendOperationAdvancedFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceBlendOperationAdvancedFeaturesEXT, s_type), offset_of!(PhysicalDeviceBlendOperationAdvancedFeaturesEXT, p_next), offset_of!(PhysicalDeviceBlendOperationAdvancedFeaturesEXT, advanced_blend_coherent_operations)); + println!("PhysicalDeviceMultiDrawFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceMultiDrawFeaturesEXT, s_type), offset_of!(PhysicalDeviceMultiDrawFeaturesEXT, p_next), offset_of!(PhysicalDeviceMultiDrawFeaturesEXT, multi_draw)); + println!("PhysicalDeviceBlendOperationAdvancedPropertiesEXT {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceBlendOperationAdvancedPropertiesEXT, s_type), offset_of!(PhysicalDeviceBlendOperationAdvancedPropertiesEXT, p_next), offset_of!(PhysicalDeviceBlendOperationAdvancedPropertiesEXT, advanced_blend_max_color_attachments), offset_of!(PhysicalDeviceBlendOperationAdvancedPropertiesEXT, advanced_blend_independent_blend), offset_of!(PhysicalDeviceBlendOperationAdvancedPropertiesEXT, advanced_blend_non_premultiplied_src_color), offset_of!(PhysicalDeviceBlendOperationAdvancedPropertiesEXT, advanced_blend_non_premultiplied_dst_color), offset_of!(PhysicalDeviceBlendOperationAdvancedPropertiesEXT, advanced_blend_correlated_overlap), offset_of!(PhysicalDeviceBlendOperationAdvancedPropertiesEXT, advanced_blend_all_operations)); + println!("PipelineColorBlendAdvancedStateCreateInfoEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineColorBlendAdvancedStateCreateInfoEXT, s_type), offset_of!(PipelineColorBlendAdvancedStateCreateInfoEXT, p_next), offset_of!(PipelineColorBlendAdvancedStateCreateInfoEXT, src_premultiplied), offset_of!(PipelineColorBlendAdvancedStateCreateInfoEXT, dst_premultiplied), offset_of!(PipelineColorBlendAdvancedStateCreateInfoEXT, blend_overlap)); + println!("PhysicalDeviceInlineUniformBlockFeatures {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceInlineUniformBlockFeatures, s_type), offset_of!(PhysicalDeviceInlineUniformBlockFeatures, p_next), offset_of!(PhysicalDeviceInlineUniformBlockFeatures, inline_uniform_block), offset_of!(PhysicalDeviceInlineUniformBlockFeatures, descriptor_binding_inline_uniform_block_update_after_bind)); + println!("PhysicalDeviceInlineUniformBlockProperties {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceInlineUniformBlockProperties, s_type), offset_of!(PhysicalDeviceInlineUniformBlockProperties, p_next), offset_of!(PhysicalDeviceInlineUniformBlockProperties, max_inline_uniform_block_size), offset_of!(PhysicalDeviceInlineUniformBlockProperties, max_per_stage_descriptor_inline_uniform_blocks), offset_of!(PhysicalDeviceInlineUniformBlockProperties, max_per_stage_descriptor_update_after_bind_inline_uniform_blocks), offset_of!(PhysicalDeviceInlineUniformBlockProperties, max_descriptor_set_inline_uniform_blocks), offset_of!(PhysicalDeviceInlineUniformBlockProperties, max_descriptor_set_update_after_bind_inline_uniform_blocks)); + println!("WriteDescriptorSetInlineUniformBlock {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(WriteDescriptorSetInlineUniformBlock, s_type), offset_of!(WriteDescriptorSetInlineUniformBlock, p_next), offset_of!(WriteDescriptorSetInlineUniformBlock, data_size), offset_of!(WriteDescriptorSetInlineUniformBlock, p_data)); + println!("DescriptorPoolInlineUniformBlockCreateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DescriptorPoolInlineUniformBlockCreateInfo, s_type), offset_of!(DescriptorPoolInlineUniformBlockCreateInfo, p_next), offset_of!(DescriptorPoolInlineUniformBlockCreateInfo, max_inline_uniform_block_bindings)); + println!("PipelineCoverageModulationStateCreateInfoNV {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineCoverageModulationStateCreateInfoNV, s_type), offset_of!(PipelineCoverageModulationStateCreateInfoNV, p_next), offset_of!(PipelineCoverageModulationStateCreateInfoNV, flags), offset_of!(PipelineCoverageModulationStateCreateInfoNV, coverage_modulation_mode), offset_of!(PipelineCoverageModulationStateCreateInfoNV, coverage_modulation_table_enable), offset_of!(PipelineCoverageModulationStateCreateInfoNV, coverage_modulation_table_count), offset_of!(PipelineCoverageModulationStateCreateInfoNV, p_coverage_modulation_table)); + println!("ImageFormatListCreateInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImageFormatListCreateInfo, s_type), offset_of!(ImageFormatListCreateInfo, p_next), offset_of!(ImageFormatListCreateInfo, view_format_count), offset_of!(ImageFormatListCreateInfo, p_view_formats)); + println!("ValidationCacheCreateInfoEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ValidationCacheCreateInfoEXT, s_type), offset_of!(ValidationCacheCreateInfoEXT, p_next), offset_of!(ValidationCacheCreateInfoEXT, flags), offset_of!(ValidationCacheCreateInfoEXT, initial_data_size), offset_of!(ValidationCacheCreateInfoEXT, p_initial_data)); + println!("ShaderModuleValidationCacheCreateInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ShaderModuleValidationCacheCreateInfoEXT, s_type), offset_of!(ShaderModuleValidationCacheCreateInfoEXT, p_next), offset_of!(ShaderModuleValidationCacheCreateInfoEXT, validation_cache)); + println!("PhysicalDeviceMaintenance3Properties {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceMaintenance3Properties, s_type), offset_of!(PhysicalDeviceMaintenance3Properties, p_next), offset_of!(PhysicalDeviceMaintenance3Properties, max_per_set_descriptors), offset_of!(PhysicalDeviceMaintenance3Properties, max_memory_allocation_size)); + println!("PhysicalDeviceMaintenance4Features {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceMaintenance4Features, s_type), offset_of!(PhysicalDeviceMaintenance4Features, p_next), offset_of!(PhysicalDeviceMaintenance4Features, maintenance4)); + println!("PhysicalDeviceMaintenance4Properties {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceMaintenance4Properties, s_type), offset_of!(PhysicalDeviceMaintenance4Properties, p_next), offset_of!(PhysicalDeviceMaintenance4Properties, max_buffer_size)); + println!("PhysicalDeviceMaintenance5Features {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceMaintenance5Features, s_type), offset_of!(PhysicalDeviceMaintenance5Features, p_next), offset_of!(PhysicalDeviceMaintenance5Features, maintenance5)); + println!("PhysicalDeviceMaintenance5Properties {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceMaintenance5Properties, s_type), offset_of!(PhysicalDeviceMaintenance5Properties, p_next), offset_of!(PhysicalDeviceMaintenance5Properties, early_fragment_multisample_coverage_after_sample_counting), offset_of!(PhysicalDeviceMaintenance5Properties, early_fragment_sample_mask_test_before_sample_counting), offset_of!(PhysicalDeviceMaintenance5Properties, depth_stencil_swizzle_one_support), offset_of!(PhysicalDeviceMaintenance5Properties, polygon_mode_point_size), offset_of!(PhysicalDeviceMaintenance5Properties, non_strict_single_pixel_wide_lines_use_parallelogram), offset_of!(PhysicalDeviceMaintenance5Properties, non_strict_wide_lines_use_parallelogram)); + println!("PhysicalDeviceMaintenance6Features {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceMaintenance6Features, s_type), offset_of!(PhysicalDeviceMaintenance6Features, p_next), offset_of!(PhysicalDeviceMaintenance6Features, maintenance6)); + println!("PhysicalDeviceMaintenance6Properties {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceMaintenance6Properties, s_type), offset_of!(PhysicalDeviceMaintenance6Properties, p_next), offset_of!(PhysicalDeviceMaintenance6Properties, block_texel_view_compatible_multiple_layers), offset_of!(PhysicalDeviceMaintenance6Properties, max_combined_image_sampler_descriptor_count), offset_of!(PhysicalDeviceMaintenance6Properties, fragment_shading_rate_clamp_combiner_inputs)); + println!("PhysicalDeviceMaintenance7FeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceMaintenance7FeaturesKHR, s_type), offset_of!(PhysicalDeviceMaintenance7FeaturesKHR, p_next), offset_of!(PhysicalDeviceMaintenance7FeaturesKHR, maintenance7)); + println!("PhysicalDeviceMaintenance7PropertiesKHR {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceMaintenance7PropertiesKHR, s_type), offset_of!(PhysicalDeviceMaintenance7PropertiesKHR, p_next), offset_of!(PhysicalDeviceMaintenance7PropertiesKHR, robust_fragment_shading_rate_attachment_access), offset_of!(PhysicalDeviceMaintenance7PropertiesKHR, separate_depth_stencil_attachment_access), offset_of!(PhysicalDeviceMaintenance7PropertiesKHR, max_descriptor_set_total_uniform_buffers_dynamic), offset_of!(PhysicalDeviceMaintenance7PropertiesKHR, max_descriptor_set_total_storage_buffers_dynamic), offset_of!(PhysicalDeviceMaintenance7PropertiesKHR, max_descriptor_set_total_buffers_dynamic), offset_of!(PhysicalDeviceMaintenance7PropertiesKHR, max_descriptor_set_update_after_bind_total_uniform_buffers_dynamic), offset_of!(PhysicalDeviceMaintenance7PropertiesKHR, max_descriptor_set_update_after_bind_total_storage_buffers_dynamic), offset_of!(PhysicalDeviceMaintenance7PropertiesKHR, max_descriptor_set_update_after_bind_total_buffers_dynamic)); + println!("PhysicalDeviceLayeredApiPropertiesListKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceLayeredApiPropertiesListKHR, s_type), offset_of!(PhysicalDeviceLayeredApiPropertiesListKHR, p_next), offset_of!(PhysicalDeviceLayeredApiPropertiesListKHR, layered_api_count), offset_of!(PhysicalDeviceLayeredApiPropertiesListKHR, p_layered_apis)); + println!("PhysicalDeviceLayeredApiPropertiesKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceLayeredApiPropertiesKHR, s_type), offset_of!(PhysicalDeviceLayeredApiPropertiesKHR, p_next), offset_of!(PhysicalDeviceLayeredApiPropertiesKHR, vendor_id), offset_of!(PhysicalDeviceLayeredApiPropertiesKHR, device_id), offset_of!(PhysicalDeviceLayeredApiPropertiesKHR, layered_api), offset_of!(PhysicalDeviceLayeredApiPropertiesKHR, device_name)); + println!("PhysicalDeviceLayeredApiVulkanPropertiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceLayeredApiVulkanPropertiesKHR, s_type), offset_of!(PhysicalDeviceLayeredApiVulkanPropertiesKHR, p_next), offset_of!(PhysicalDeviceLayeredApiVulkanPropertiesKHR, properties)); + println!("PhysicalDeviceMaintenance8FeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceMaintenance8FeaturesKHR, s_type), offset_of!(PhysicalDeviceMaintenance8FeaturesKHR, p_next), offset_of!(PhysicalDeviceMaintenance8FeaturesKHR, maintenance8)); + println!("PhysicalDeviceMaintenance9FeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceMaintenance9FeaturesKHR, s_type), offset_of!(PhysicalDeviceMaintenance9FeaturesKHR, p_next), offset_of!(PhysicalDeviceMaintenance9FeaturesKHR, maintenance9)); + println!("PhysicalDeviceMaintenance9PropertiesKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceMaintenance9PropertiesKHR, s_type), offset_of!(PhysicalDeviceMaintenance9PropertiesKHR, p_next), offset_of!(PhysicalDeviceMaintenance9PropertiesKHR, image2_d_view_of3_d_sparse), offset_of!(PhysicalDeviceMaintenance9PropertiesKHR, default_vertex_attribute_value)); + println!("PhysicalDeviceMaintenance10PropertiesKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceMaintenance10PropertiesKHR, s_type), offset_of!(PhysicalDeviceMaintenance10PropertiesKHR, p_next), offset_of!(PhysicalDeviceMaintenance10PropertiesKHR, rgba4_opaque_black_swizzled), offset_of!(PhysicalDeviceMaintenance10PropertiesKHR, resolve_srgb_format_applies_transfer_function), offset_of!(PhysicalDeviceMaintenance10PropertiesKHR, resolve_srgb_format_supports_transfer_function_control)); + println!("PhysicalDeviceMaintenance10FeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceMaintenance10FeaturesKHR, s_type), offset_of!(PhysicalDeviceMaintenance10FeaturesKHR, p_next), offset_of!(PhysicalDeviceMaintenance10FeaturesKHR, maintenance10)); + println!("QueueFamilyOwnershipTransferPropertiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(QueueFamilyOwnershipTransferPropertiesKHR, s_type), offset_of!(QueueFamilyOwnershipTransferPropertiesKHR, p_next), offset_of!(QueueFamilyOwnershipTransferPropertiesKHR, optimal_image_transfer_to_queue_families)); + println!("RenderingAreaInfo {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(RenderingAreaInfo, s_type), offset_of!(RenderingAreaInfo, p_next), offset_of!(RenderingAreaInfo, view_mask), offset_of!(RenderingAreaInfo, color_attachment_count), offset_of!(RenderingAreaInfo, p_color_attachment_formats), offset_of!(RenderingAreaInfo, depth_attachment_format), offset_of!(RenderingAreaInfo, stencil_attachment_format)); + println!("DescriptorSetLayoutSupport {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DescriptorSetLayoutSupport, s_type), offset_of!(DescriptorSetLayoutSupport, p_next), offset_of!(DescriptorSetLayoutSupport, supported)); + println!("PhysicalDeviceShaderDrawParametersFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderDrawParametersFeatures, s_type), offset_of!(PhysicalDeviceShaderDrawParametersFeatures, p_next), offset_of!(PhysicalDeviceShaderDrawParametersFeatures, shader_draw_parameters)); + println!("PhysicalDeviceShaderFloat16Int8Features {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderFloat16Int8Features, s_type), offset_of!(PhysicalDeviceShaderFloat16Int8Features, p_next), offset_of!(PhysicalDeviceShaderFloat16Int8Features, shader_float16), offset_of!(PhysicalDeviceShaderFloat16Int8Features, shader_int8)); + println!("PhysicalDeviceFloatControlsProperties {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceFloatControlsProperties, s_type), offset_of!(PhysicalDeviceFloatControlsProperties, p_next), offset_of!(PhysicalDeviceFloatControlsProperties, denorm_behavior_independence), offset_of!(PhysicalDeviceFloatControlsProperties, rounding_mode_independence), offset_of!(PhysicalDeviceFloatControlsProperties, shader_signed_zero_inf_nan_preserve_float16), offset_of!(PhysicalDeviceFloatControlsProperties, shader_signed_zero_inf_nan_preserve_float32), offset_of!(PhysicalDeviceFloatControlsProperties, shader_signed_zero_inf_nan_preserve_float64), offset_of!(PhysicalDeviceFloatControlsProperties, shader_denorm_preserve_float16), offset_of!(PhysicalDeviceFloatControlsProperties, shader_denorm_preserve_float32), offset_of!(PhysicalDeviceFloatControlsProperties, shader_denorm_preserve_float64), offset_of!(PhysicalDeviceFloatControlsProperties, shader_denorm_flush_to_zero_float16), offset_of!(PhysicalDeviceFloatControlsProperties, shader_denorm_flush_to_zero_float32), offset_of!(PhysicalDeviceFloatControlsProperties, shader_denorm_flush_to_zero_float64), offset_of!(PhysicalDeviceFloatControlsProperties, shader_rounding_mode_rte_float16), offset_of!(PhysicalDeviceFloatControlsProperties, shader_rounding_mode_rte_float32), offset_of!(PhysicalDeviceFloatControlsProperties, shader_rounding_mode_rte_float64), offset_of!(PhysicalDeviceFloatControlsProperties, shader_rounding_mode_rtz_float16), offset_of!(PhysicalDeviceFloatControlsProperties, shader_rounding_mode_rtz_float32), offset_of!(PhysicalDeviceFloatControlsProperties, shader_rounding_mode_rtz_float64)); + println!("PhysicalDeviceHostQueryResetFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceHostQueryResetFeatures, s_type), offset_of!(PhysicalDeviceHostQueryResetFeatures, p_next), offset_of!(PhysicalDeviceHostQueryResetFeatures, host_query_reset)); + println!("ShaderResourceUsageAMD {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ShaderResourceUsageAMD, num_used_vgprs), offset_of!(ShaderResourceUsageAMD, num_used_sgprs), offset_of!(ShaderResourceUsageAMD, lds_size_per_local_work_group), offset_of!(ShaderResourceUsageAMD, lds_usage_size_in_bytes), offset_of!(ShaderResourceUsageAMD, scratch_mem_usage_in_bytes)); + println!("ShaderStatisticsInfoAMD {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ShaderStatisticsInfoAMD, shader_stage_mask), offset_of!(ShaderStatisticsInfoAMD, resource_usage), offset_of!(ShaderStatisticsInfoAMD, num_physical_vgprs), offset_of!(ShaderStatisticsInfoAMD, num_physical_sgprs), offset_of!(ShaderStatisticsInfoAMD, num_available_vgprs), offset_of!(ShaderStatisticsInfoAMD, num_available_sgprs), offset_of!(ShaderStatisticsInfoAMD, compute_work_group_size)); + println!("DeviceQueueGlobalPriorityCreateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DeviceQueueGlobalPriorityCreateInfo, s_type), offset_of!(DeviceQueueGlobalPriorityCreateInfo, p_next), offset_of!(DeviceQueueGlobalPriorityCreateInfo, global_priority)); + println!("PhysicalDeviceGlobalPriorityQueryFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceGlobalPriorityQueryFeatures, s_type), offset_of!(PhysicalDeviceGlobalPriorityQueryFeatures, p_next), offset_of!(PhysicalDeviceGlobalPriorityQueryFeatures, global_priority_query)); + println!("QueueFamilyGlobalPriorityProperties {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(QueueFamilyGlobalPriorityProperties, s_type), offset_of!(QueueFamilyGlobalPriorityProperties, p_next), offset_of!(QueueFamilyGlobalPriorityProperties, priority_count), offset_of!(QueueFamilyGlobalPriorityProperties, priorities)); + println!("DebugUtilsObjectNameInfoEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DebugUtilsObjectNameInfoEXT, s_type), offset_of!(DebugUtilsObjectNameInfoEXT, p_next), offset_of!(DebugUtilsObjectNameInfoEXT, object_type), offset_of!(DebugUtilsObjectNameInfoEXT, object_handle), offset_of!(DebugUtilsObjectNameInfoEXT, p_object_name)); + println!("DebugUtilsObjectTagInfoEXT {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DebugUtilsObjectTagInfoEXT, s_type), offset_of!(DebugUtilsObjectTagInfoEXT, p_next), offset_of!(DebugUtilsObjectTagInfoEXT, object_type), offset_of!(DebugUtilsObjectTagInfoEXT, object_handle), offset_of!(DebugUtilsObjectTagInfoEXT, tag_name), offset_of!(DebugUtilsObjectTagInfoEXT, tag_size), offset_of!(DebugUtilsObjectTagInfoEXT, p_tag)); + println!("DebugUtilsLabelEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DebugUtilsLabelEXT, s_type), offset_of!(DebugUtilsLabelEXT, p_next), offset_of!(DebugUtilsLabelEXT, p_label_name), offset_of!(DebugUtilsLabelEXT, color)); + println!("DebugUtilsMessengerCreateInfoEXT {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DebugUtilsMessengerCreateInfoEXT, s_type), offset_of!(DebugUtilsMessengerCreateInfoEXT, p_next), offset_of!(DebugUtilsMessengerCreateInfoEXT, flags), offset_of!(DebugUtilsMessengerCreateInfoEXT, message_severity), offset_of!(DebugUtilsMessengerCreateInfoEXT, message_type), offset_of!(DebugUtilsMessengerCreateInfoEXT, pfn_user_callback), offset_of!(DebugUtilsMessengerCreateInfoEXT, p_user_data)); + println!("DebugUtilsMessengerCallbackDataEXT {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DebugUtilsMessengerCallbackDataEXT, s_type), offset_of!(DebugUtilsMessengerCallbackDataEXT, p_next), offset_of!(DebugUtilsMessengerCallbackDataEXT, flags), offset_of!(DebugUtilsMessengerCallbackDataEXT, p_message_id_name), offset_of!(DebugUtilsMessengerCallbackDataEXT, message_id_number), offset_of!(DebugUtilsMessengerCallbackDataEXT, p_message), offset_of!(DebugUtilsMessengerCallbackDataEXT, queue_label_count), offset_of!(DebugUtilsMessengerCallbackDataEXT, p_queue_labels), offset_of!(DebugUtilsMessengerCallbackDataEXT, cmd_buf_label_count), offset_of!(DebugUtilsMessengerCallbackDataEXT, p_cmd_buf_labels), offset_of!(DebugUtilsMessengerCallbackDataEXT, object_count), offset_of!(DebugUtilsMessengerCallbackDataEXT, p_objects)); + println!("PhysicalDeviceDeviceMemoryReportFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceDeviceMemoryReportFeaturesEXT, s_type), offset_of!(PhysicalDeviceDeviceMemoryReportFeaturesEXT, p_next), offset_of!(PhysicalDeviceDeviceMemoryReportFeaturesEXT, device_memory_report)); + println!("DeviceDeviceMemoryReportCreateInfoEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DeviceDeviceMemoryReportCreateInfoEXT, s_type), offset_of!(DeviceDeviceMemoryReportCreateInfoEXT, p_next), offset_of!(DeviceDeviceMemoryReportCreateInfoEXT, flags), offset_of!(DeviceDeviceMemoryReportCreateInfoEXT, pfn_user_callback), offset_of!(DeviceDeviceMemoryReportCreateInfoEXT, p_user_data)); + println!("DeviceMemoryReportCallbackDataEXT {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DeviceMemoryReportCallbackDataEXT, s_type), offset_of!(DeviceMemoryReportCallbackDataEXT, p_next), offset_of!(DeviceMemoryReportCallbackDataEXT, flags), offset_of!(DeviceMemoryReportCallbackDataEXT, memory_object_id), offset_of!(DeviceMemoryReportCallbackDataEXT, size), offset_of!(DeviceMemoryReportCallbackDataEXT, object_type), offset_of!(DeviceMemoryReportCallbackDataEXT, object_handle), offset_of!(DeviceMemoryReportCallbackDataEXT, heap_index)); + println!("ImportMemoryHostPointerInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImportMemoryHostPointerInfoEXT, s_type), offset_of!(ImportMemoryHostPointerInfoEXT, p_next), offset_of!(ImportMemoryHostPointerInfoEXT, handle_type), offset_of!(ImportMemoryHostPointerInfoEXT, p_host_pointer)); + println!("MemoryHostPointerPropertiesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(MemoryHostPointerPropertiesEXT, s_type), offset_of!(MemoryHostPointerPropertiesEXT, p_next), offset_of!(MemoryHostPointerPropertiesEXT, memory_type_bits)); + println!("PhysicalDeviceExternalMemoryHostPropertiesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceExternalMemoryHostPropertiesEXT, s_type), offset_of!(PhysicalDeviceExternalMemoryHostPropertiesEXT, p_next), offset_of!(PhysicalDeviceExternalMemoryHostPropertiesEXT, min_imported_host_pointer_alignment)); + println!("PhysicalDeviceConservativeRasterizationPropertiesEXT {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceConservativeRasterizationPropertiesEXT, s_type), offset_of!(PhysicalDeviceConservativeRasterizationPropertiesEXT, p_next), offset_of!(PhysicalDeviceConservativeRasterizationPropertiesEXT, primitive_overestimation_size), offset_of!(PhysicalDeviceConservativeRasterizationPropertiesEXT, max_extra_primitive_overestimation_size), offset_of!(PhysicalDeviceConservativeRasterizationPropertiesEXT, extra_primitive_overestimation_size_granularity), offset_of!(PhysicalDeviceConservativeRasterizationPropertiesEXT, primitive_underestimation), offset_of!(PhysicalDeviceConservativeRasterizationPropertiesEXT, conservative_point_and_line_rasterization), offset_of!(PhysicalDeviceConservativeRasterizationPropertiesEXT, degenerate_triangles_rasterized), offset_of!(PhysicalDeviceConservativeRasterizationPropertiesEXT, degenerate_lines_rasterized), offset_of!(PhysicalDeviceConservativeRasterizationPropertiesEXT, fully_covered_fragment_shader_input_variable), offset_of!(PhysicalDeviceConservativeRasterizationPropertiesEXT, conservative_rasterization_post_depth_coverage)); + println!("CalibratedTimestampInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CalibratedTimestampInfoKHR, s_type), offset_of!(CalibratedTimestampInfoKHR, p_next), offset_of!(CalibratedTimestampInfoKHR, time_domain)); + println!("PhysicalDeviceShaderCorePropertiesAMD {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderCorePropertiesAMD, s_type), offset_of!(PhysicalDeviceShaderCorePropertiesAMD, p_next), offset_of!(PhysicalDeviceShaderCorePropertiesAMD, shader_engine_count), offset_of!(PhysicalDeviceShaderCorePropertiesAMD, shader_arrays_per_engine_count), offset_of!(PhysicalDeviceShaderCorePropertiesAMD, compute_units_per_shader_array), offset_of!(PhysicalDeviceShaderCorePropertiesAMD, simd_per_compute_unit), offset_of!(PhysicalDeviceShaderCorePropertiesAMD, wavefronts_per_simd), offset_of!(PhysicalDeviceShaderCorePropertiesAMD, wavefront_size), offset_of!(PhysicalDeviceShaderCorePropertiesAMD, sgprs_per_simd), offset_of!(PhysicalDeviceShaderCorePropertiesAMD, min_sgpr_allocation), offset_of!(PhysicalDeviceShaderCorePropertiesAMD, max_sgpr_allocation), offset_of!(PhysicalDeviceShaderCorePropertiesAMD, sgpr_allocation_granularity), offset_of!(PhysicalDeviceShaderCorePropertiesAMD, vgprs_per_simd), offset_of!(PhysicalDeviceShaderCorePropertiesAMD, min_vgpr_allocation), offset_of!(PhysicalDeviceShaderCorePropertiesAMD, max_vgpr_allocation), offset_of!(PhysicalDeviceShaderCorePropertiesAMD, vgpr_allocation_granularity)); + println!("PhysicalDeviceShaderCoreProperties2AMD {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderCoreProperties2AMD, s_type), offset_of!(PhysicalDeviceShaderCoreProperties2AMD, p_next), offset_of!(PhysicalDeviceShaderCoreProperties2AMD, shader_core_features), offset_of!(PhysicalDeviceShaderCoreProperties2AMD, active_compute_unit_count)); + println!("PipelineRasterizationConservativeStateCreateInfoEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineRasterizationConservativeStateCreateInfoEXT, s_type), offset_of!(PipelineRasterizationConservativeStateCreateInfoEXT, p_next), offset_of!(PipelineRasterizationConservativeStateCreateInfoEXT, flags), offset_of!(PipelineRasterizationConservativeStateCreateInfoEXT, conservative_rasterization_mode), offset_of!(PipelineRasterizationConservativeStateCreateInfoEXT, extra_primitive_overestimation_size)); + println!("PhysicalDeviceDescriptorIndexingFeatures {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceDescriptorIndexingFeatures, s_type), offset_of!(PhysicalDeviceDescriptorIndexingFeatures, p_next), offset_of!(PhysicalDeviceDescriptorIndexingFeatures, shader_input_attachment_array_dynamic_indexing), offset_of!(PhysicalDeviceDescriptorIndexingFeatures, shader_uniform_texel_buffer_array_dynamic_indexing), offset_of!(PhysicalDeviceDescriptorIndexingFeatures, shader_storage_texel_buffer_array_dynamic_indexing), offset_of!(PhysicalDeviceDescriptorIndexingFeatures, shader_uniform_buffer_array_non_uniform_indexing), offset_of!(PhysicalDeviceDescriptorIndexingFeatures, shader_sampled_image_array_non_uniform_indexing), offset_of!(PhysicalDeviceDescriptorIndexingFeatures, shader_storage_buffer_array_non_uniform_indexing), offset_of!(PhysicalDeviceDescriptorIndexingFeatures, shader_storage_image_array_non_uniform_indexing), offset_of!(PhysicalDeviceDescriptorIndexingFeatures, shader_input_attachment_array_non_uniform_indexing), offset_of!(PhysicalDeviceDescriptorIndexingFeatures, shader_uniform_texel_buffer_array_non_uniform_indexing), offset_of!(PhysicalDeviceDescriptorIndexingFeatures, shader_storage_texel_buffer_array_non_uniform_indexing), offset_of!(PhysicalDeviceDescriptorIndexingFeatures, descriptor_binding_uniform_buffer_update_after_bind), offset_of!(PhysicalDeviceDescriptorIndexingFeatures, descriptor_binding_sampled_image_update_after_bind), offset_of!(PhysicalDeviceDescriptorIndexingFeatures, descriptor_binding_storage_image_update_after_bind), offset_of!(PhysicalDeviceDescriptorIndexingFeatures, descriptor_binding_storage_buffer_update_after_bind), offset_of!(PhysicalDeviceDescriptorIndexingFeatures, descriptor_binding_uniform_texel_buffer_update_after_bind), offset_of!(PhysicalDeviceDescriptorIndexingFeatures, descriptor_binding_storage_texel_buffer_update_after_bind), offset_of!(PhysicalDeviceDescriptorIndexingFeatures, descriptor_binding_update_unused_while_pending), offset_of!(PhysicalDeviceDescriptorIndexingFeatures, descriptor_binding_partially_bound), offset_of!(PhysicalDeviceDescriptorIndexingFeatures, descriptor_binding_variable_descriptor_count), offset_of!(PhysicalDeviceDescriptorIndexingFeatures, runtime_descriptor_array)); + println!("PhysicalDeviceDescriptorIndexingProperties {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceDescriptorIndexingProperties, s_type), offset_of!(PhysicalDeviceDescriptorIndexingProperties, p_next), offset_of!(PhysicalDeviceDescriptorIndexingProperties, max_update_after_bind_descriptors_in_all_pools), offset_of!(PhysicalDeviceDescriptorIndexingProperties, shader_uniform_buffer_array_non_uniform_indexing_native), offset_of!(PhysicalDeviceDescriptorIndexingProperties, shader_sampled_image_array_non_uniform_indexing_native), offset_of!(PhysicalDeviceDescriptorIndexingProperties, shader_storage_buffer_array_non_uniform_indexing_native), offset_of!(PhysicalDeviceDescriptorIndexingProperties, shader_storage_image_array_non_uniform_indexing_native), offset_of!(PhysicalDeviceDescriptorIndexingProperties, shader_input_attachment_array_non_uniform_indexing_native), offset_of!(PhysicalDeviceDescriptorIndexingProperties, robust_buffer_access_update_after_bind), offset_of!(PhysicalDeviceDescriptorIndexingProperties, quad_divergent_implicit_lod), offset_of!(PhysicalDeviceDescriptorIndexingProperties, max_per_stage_descriptor_update_after_bind_samplers), offset_of!(PhysicalDeviceDescriptorIndexingProperties, max_per_stage_descriptor_update_after_bind_uniform_buffers), offset_of!(PhysicalDeviceDescriptorIndexingProperties, max_per_stage_descriptor_update_after_bind_storage_buffers), offset_of!(PhysicalDeviceDescriptorIndexingProperties, max_per_stage_descriptor_update_after_bind_sampled_images), offset_of!(PhysicalDeviceDescriptorIndexingProperties, max_per_stage_descriptor_update_after_bind_storage_images), offset_of!(PhysicalDeviceDescriptorIndexingProperties, max_per_stage_descriptor_update_after_bind_input_attachments), offset_of!(PhysicalDeviceDescriptorIndexingProperties, max_per_stage_update_after_bind_resources), offset_of!(PhysicalDeviceDescriptorIndexingProperties, max_descriptor_set_update_after_bind_samplers), offset_of!(PhysicalDeviceDescriptorIndexingProperties, max_descriptor_set_update_after_bind_uniform_buffers), offset_of!(PhysicalDeviceDescriptorIndexingProperties, max_descriptor_set_update_after_bind_uniform_buffers_dynamic), offset_of!(PhysicalDeviceDescriptorIndexingProperties, max_descriptor_set_update_after_bind_storage_buffers), offset_of!(PhysicalDeviceDescriptorIndexingProperties, max_descriptor_set_update_after_bind_storage_buffers_dynamic), offset_of!(PhysicalDeviceDescriptorIndexingProperties, max_descriptor_set_update_after_bind_sampled_images), offset_of!(PhysicalDeviceDescriptorIndexingProperties, max_descriptor_set_update_after_bind_storage_images), offset_of!(PhysicalDeviceDescriptorIndexingProperties, max_descriptor_set_update_after_bind_input_attachments)); + println!("DescriptorSetLayoutBindingFlagsCreateInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DescriptorSetLayoutBindingFlagsCreateInfo, s_type), offset_of!(DescriptorSetLayoutBindingFlagsCreateInfo, p_next), offset_of!(DescriptorSetLayoutBindingFlagsCreateInfo, binding_count), offset_of!(DescriptorSetLayoutBindingFlagsCreateInfo, p_binding_flags)); + println!("DescriptorSetVariableDescriptorCountAllocateInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DescriptorSetVariableDescriptorCountAllocateInfo, s_type), offset_of!(DescriptorSetVariableDescriptorCountAllocateInfo, p_next), offset_of!(DescriptorSetVariableDescriptorCountAllocateInfo, descriptor_set_count), offset_of!(DescriptorSetVariableDescriptorCountAllocateInfo, p_descriptor_counts)); + println!("DescriptorSetVariableDescriptorCountLayoutSupport {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DescriptorSetVariableDescriptorCountLayoutSupport, s_type), offset_of!(DescriptorSetVariableDescriptorCountLayoutSupport, p_next), offset_of!(DescriptorSetVariableDescriptorCountLayoutSupport, max_variable_descriptor_count)); + println!("AttachmentDescription2 {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(AttachmentDescription2, s_type), offset_of!(AttachmentDescription2, p_next), offset_of!(AttachmentDescription2, flags), offset_of!(AttachmentDescription2, format), offset_of!(AttachmentDescription2, samples), offset_of!(AttachmentDescription2, load_op), offset_of!(AttachmentDescription2, store_op), offset_of!(AttachmentDescription2, stencil_load_op), offset_of!(AttachmentDescription2, stencil_store_op), offset_of!(AttachmentDescription2, initial_layout), offset_of!(AttachmentDescription2, final_layout)); + println!("AttachmentReference2 {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(AttachmentReference2, s_type), offset_of!(AttachmentReference2, p_next), offset_of!(AttachmentReference2, attachment), offset_of!(AttachmentReference2, layout), offset_of!(AttachmentReference2, aspect_mask)); + println!("SubpassDescription2 {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SubpassDescription2, s_type), offset_of!(SubpassDescription2, p_next), offset_of!(SubpassDescription2, flags), offset_of!(SubpassDescription2, pipeline_bind_point), offset_of!(SubpassDescription2, view_mask), offset_of!(SubpassDescription2, input_attachment_count), offset_of!(SubpassDescription2, p_input_attachments), offset_of!(SubpassDescription2, color_attachment_count), offset_of!(SubpassDescription2, p_color_attachments), offset_of!(SubpassDescription2, p_resolve_attachments), offset_of!(SubpassDescription2, p_depth_stencil_attachment), offset_of!(SubpassDescription2, preserve_attachment_count), offset_of!(SubpassDescription2, p_preserve_attachments)); + println!("SubpassDependency2 {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SubpassDependency2, s_type), offset_of!(SubpassDependency2, p_next), offset_of!(SubpassDependency2, src_subpass), offset_of!(SubpassDependency2, dst_subpass), offset_of!(SubpassDependency2, src_stage_mask), offset_of!(SubpassDependency2, dst_stage_mask), offset_of!(SubpassDependency2, src_access_mask), offset_of!(SubpassDependency2, dst_access_mask), offset_of!(SubpassDependency2, dependency_flags), offset_of!(SubpassDependency2, view_offset)); + println!("RenderPassCreateInfo2 {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(RenderPassCreateInfo2, s_type), offset_of!(RenderPassCreateInfo2, p_next), offset_of!(RenderPassCreateInfo2, flags), offset_of!(RenderPassCreateInfo2, attachment_count), offset_of!(RenderPassCreateInfo2, p_attachments), offset_of!(RenderPassCreateInfo2, subpass_count), offset_of!(RenderPassCreateInfo2, p_subpasses), offset_of!(RenderPassCreateInfo2, dependency_count), offset_of!(RenderPassCreateInfo2, p_dependencies), offset_of!(RenderPassCreateInfo2, correlated_view_mask_count), offset_of!(RenderPassCreateInfo2, p_correlated_view_masks)); + println!("SubpassBeginInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SubpassBeginInfo, s_type), offset_of!(SubpassBeginInfo, p_next), offset_of!(SubpassBeginInfo, contents)); + println!("SubpassEndInfo {} {} {} {}", size_of::(), align_of::(), offset_of!(SubpassEndInfo, s_type), offset_of!(SubpassEndInfo, p_next)); + println!("PhysicalDeviceTimelineSemaphoreFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceTimelineSemaphoreFeatures, s_type), offset_of!(PhysicalDeviceTimelineSemaphoreFeatures, p_next), offset_of!(PhysicalDeviceTimelineSemaphoreFeatures, timeline_semaphore)); + println!("PhysicalDeviceTimelineSemaphoreProperties {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceTimelineSemaphoreProperties, s_type), offset_of!(PhysicalDeviceTimelineSemaphoreProperties, p_next), offset_of!(PhysicalDeviceTimelineSemaphoreProperties, max_timeline_semaphore_value_difference)); + println!("SemaphoreTypeCreateInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SemaphoreTypeCreateInfo, s_type), offset_of!(SemaphoreTypeCreateInfo, p_next), offset_of!(SemaphoreTypeCreateInfo, semaphore_type), offset_of!(SemaphoreTypeCreateInfo, initial_value)); + println!("TimelineSemaphoreSubmitInfo {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(TimelineSemaphoreSubmitInfo, s_type), offset_of!(TimelineSemaphoreSubmitInfo, p_next), offset_of!(TimelineSemaphoreSubmitInfo, wait_semaphore_value_count), offset_of!(TimelineSemaphoreSubmitInfo, p_wait_semaphore_values), offset_of!(TimelineSemaphoreSubmitInfo, signal_semaphore_value_count), offset_of!(TimelineSemaphoreSubmitInfo, p_signal_semaphore_values)); + println!("SemaphoreWaitInfo {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SemaphoreWaitInfo, s_type), offset_of!(SemaphoreWaitInfo, p_next), offset_of!(SemaphoreWaitInfo, flags), offset_of!(SemaphoreWaitInfo, semaphore_count), offset_of!(SemaphoreWaitInfo, p_semaphores), offset_of!(SemaphoreWaitInfo, p_values)); + println!("SemaphoreSignalInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SemaphoreSignalInfo, s_type), offset_of!(SemaphoreSignalInfo, p_next), offset_of!(SemaphoreSignalInfo, semaphore), offset_of!(SemaphoreSignalInfo, value)); + println!("VertexInputBindingDivisorDescription {} {} {} {}", size_of::(), align_of::(), offset_of!(VertexInputBindingDivisorDescription, binding), offset_of!(VertexInputBindingDivisorDescription, divisor)); + println!("PipelineVertexInputDivisorStateCreateInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineVertexInputDivisorStateCreateInfo, s_type), offset_of!(PipelineVertexInputDivisorStateCreateInfo, p_next), offset_of!(PipelineVertexInputDivisorStateCreateInfo, vertex_binding_divisor_count), offset_of!(PipelineVertexInputDivisorStateCreateInfo, p_vertex_binding_divisors)); + println!("PhysicalDeviceVertexAttributeDivisorPropertiesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceVertexAttributeDivisorPropertiesEXT, s_type), offset_of!(PhysicalDeviceVertexAttributeDivisorPropertiesEXT, p_next), offset_of!(PhysicalDeviceVertexAttributeDivisorPropertiesEXT, max_vertex_attrib_divisor)); + println!("PhysicalDeviceVertexAttributeDivisorProperties {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceVertexAttributeDivisorProperties, s_type), offset_of!(PhysicalDeviceVertexAttributeDivisorProperties, p_next), offset_of!(PhysicalDeviceVertexAttributeDivisorProperties, max_vertex_attrib_divisor), offset_of!(PhysicalDeviceVertexAttributeDivisorProperties, supports_non_zero_first_instance)); + println!("PhysicalDevicePCIBusInfoPropertiesEXT {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDevicePCIBusInfoPropertiesEXT, s_type), offset_of!(PhysicalDevicePCIBusInfoPropertiesEXT, p_next), offset_of!(PhysicalDevicePCIBusInfoPropertiesEXT, pci_domain), offset_of!(PhysicalDevicePCIBusInfoPropertiesEXT, pci_bus), offset_of!(PhysicalDevicePCIBusInfoPropertiesEXT, pci_device), offset_of!(PhysicalDevicePCIBusInfoPropertiesEXT, pci_function)); + println!("CommandBufferInheritanceConditionalRenderingInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CommandBufferInheritanceConditionalRenderingInfoEXT, s_type), offset_of!(CommandBufferInheritanceConditionalRenderingInfoEXT, p_next), offset_of!(CommandBufferInheritanceConditionalRenderingInfoEXT, conditional_rendering_enable)); + println!("PhysicalDevice8BitStorageFeatures {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDevice8BitStorageFeatures, s_type), offset_of!(PhysicalDevice8BitStorageFeatures, p_next), offset_of!(PhysicalDevice8BitStorageFeatures, storage_buffer8_bit_access), offset_of!(PhysicalDevice8BitStorageFeatures, uniform_and_storage_buffer8_bit_access), offset_of!(PhysicalDevice8BitStorageFeatures, storage_push_constant8)); + println!("PhysicalDeviceConditionalRenderingFeaturesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceConditionalRenderingFeaturesEXT, s_type), offset_of!(PhysicalDeviceConditionalRenderingFeaturesEXT, p_next), offset_of!(PhysicalDeviceConditionalRenderingFeaturesEXT, conditional_rendering), offset_of!(PhysicalDeviceConditionalRenderingFeaturesEXT, inherited_conditional_rendering)); + println!("PhysicalDeviceVulkanMemoryModelFeatures {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceVulkanMemoryModelFeatures, s_type), offset_of!(PhysicalDeviceVulkanMemoryModelFeatures, p_next), offset_of!(PhysicalDeviceVulkanMemoryModelFeatures, vulkan_memory_model), offset_of!(PhysicalDeviceVulkanMemoryModelFeatures, vulkan_memory_model_device_scope), offset_of!(PhysicalDeviceVulkanMemoryModelFeatures, vulkan_memory_model_availability_visibility_chains)); + println!("PhysicalDeviceShaderAtomicInt64Features {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderAtomicInt64Features, s_type), offset_of!(PhysicalDeviceShaderAtomicInt64Features, p_next), offset_of!(PhysicalDeviceShaderAtomicInt64Features, shader_buffer_int64_atomics), offset_of!(PhysicalDeviceShaderAtomicInt64Features, shader_shared_int64_atomics)); + println!("PhysicalDeviceShaderAtomicFloatFeaturesEXT {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderAtomicFloatFeaturesEXT, s_type), offset_of!(PhysicalDeviceShaderAtomicFloatFeaturesEXT, p_next), offset_of!(PhysicalDeviceShaderAtomicFloatFeaturesEXT, shader_buffer_float32_atomics), offset_of!(PhysicalDeviceShaderAtomicFloatFeaturesEXT, shader_buffer_float32_atomic_add), offset_of!(PhysicalDeviceShaderAtomicFloatFeaturesEXT, shader_buffer_float64_atomics), offset_of!(PhysicalDeviceShaderAtomicFloatFeaturesEXT, shader_buffer_float64_atomic_add), offset_of!(PhysicalDeviceShaderAtomicFloatFeaturesEXT, shader_shared_float32_atomics), offset_of!(PhysicalDeviceShaderAtomicFloatFeaturesEXT, shader_shared_float32_atomic_add), offset_of!(PhysicalDeviceShaderAtomicFloatFeaturesEXT, shader_shared_float64_atomics), offset_of!(PhysicalDeviceShaderAtomicFloatFeaturesEXT, shader_shared_float64_atomic_add), offset_of!(PhysicalDeviceShaderAtomicFloatFeaturesEXT, shader_image_float32_atomics), offset_of!(PhysicalDeviceShaderAtomicFloatFeaturesEXT, shader_image_float32_atomic_add), offset_of!(PhysicalDeviceShaderAtomicFloatFeaturesEXT, sparse_image_float32_atomics), offset_of!(PhysicalDeviceShaderAtomicFloatFeaturesEXT, sparse_image_float32_atomic_add)); + println!("PhysicalDeviceShaderAtomicFloat2FeaturesEXT {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderAtomicFloat2FeaturesEXT, s_type), offset_of!(PhysicalDeviceShaderAtomicFloat2FeaturesEXT, p_next), offset_of!(PhysicalDeviceShaderAtomicFloat2FeaturesEXT, shader_buffer_float16_atomics), offset_of!(PhysicalDeviceShaderAtomicFloat2FeaturesEXT, shader_buffer_float16_atomic_add), offset_of!(PhysicalDeviceShaderAtomicFloat2FeaturesEXT, shader_buffer_float16_atomic_min_max), offset_of!(PhysicalDeviceShaderAtomicFloat2FeaturesEXT, shader_buffer_float32_atomic_min_max), offset_of!(PhysicalDeviceShaderAtomicFloat2FeaturesEXT, shader_buffer_float64_atomic_min_max), offset_of!(PhysicalDeviceShaderAtomicFloat2FeaturesEXT, shader_shared_float16_atomics), offset_of!(PhysicalDeviceShaderAtomicFloat2FeaturesEXT, shader_shared_float16_atomic_add), offset_of!(PhysicalDeviceShaderAtomicFloat2FeaturesEXT, shader_shared_float16_atomic_min_max), offset_of!(PhysicalDeviceShaderAtomicFloat2FeaturesEXT, shader_shared_float32_atomic_min_max), offset_of!(PhysicalDeviceShaderAtomicFloat2FeaturesEXT, shader_shared_float64_atomic_min_max), offset_of!(PhysicalDeviceShaderAtomicFloat2FeaturesEXT, shader_image_float32_atomic_min_max), offset_of!(PhysicalDeviceShaderAtomicFloat2FeaturesEXT, sparse_image_float32_atomic_min_max)); + println!("PhysicalDeviceVertexAttributeDivisorFeatures {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceVertexAttributeDivisorFeatures, s_type), offset_of!(PhysicalDeviceVertexAttributeDivisorFeatures, p_next), offset_of!(PhysicalDeviceVertexAttributeDivisorFeatures, vertex_attribute_instance_rate_divisor), offset_of!(PhysicalDeviceVertexAttributeDivisorFeatures, vertex_attribute_instance_rate_zero_divisor)); + println!("QueueFamilyCheckpointPropertiesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(QueueFamilyCheckpointPropertiesNV, s_type), offset_of!(QueueFamilyCheckpointPropertiesNV, p_next), offset_of!(QueueFamilyCheckpointPropertiesNV, checkpoint_execution_stage_mask)); + println!("CheckpointDataNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CheckpointDataNV, s_type), offset_of!(CheckpointDataNV, p_next), offset_of!(CheckpointDataNV, stage), offset_of!(CheckpointDataNV, p_checkpoint_marker)); + println!("PhysicalDeviceDepthStencilResolveProperties {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceDepthStencilResolveProperties, s_type), offset_of!(PhysicalDeviceDepthStencilResolveProperties, p_next), offset_of!(PhysicalDeviceDepthStencilResolveProperties, supported_depth_resolve_modes), offset_of!(PhysicalDeviceDepthStencilResolveProperties, supported_stencil_resolve_modes), offset_of!(PhysicalDeviceDepthStencilResolveProperties, independent_resolve_none), offset_of!(PhysicalDeviceDepthStencilResolveProperties, independent_resolve)); + println!("SubpassDescriptionDepthStencilResolve {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SubpassDescriptionDepthStencilResolve, s_type), offset_of!(SubpassDescriptionDepthStencilResolve, p_next), offset_of!(SubpassDescriptionDepthStencilResolve, depth_resolve_mode), offset_of!(SubpassDescriptionDepthStencilResolve, stencil_resolve_mode), offset_of!(SubpassDescriptionDepthStencilResolve, p_depth_stencil_resolve_attachment)); + println!("ImageViewASTCDecodeModeEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImageViewASTCDecodeModeEXT, s_type), offset_of!(ImageViewASTCDecodeModeEXT, p_next), offset_of!(ImageViewASTCDecodeModeEXT, decode_mode)); + println!("PhysicalDeviceASTCDecodeFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceASTCDecodeFeaturesEXT, s_type), offset_of!(PhysicalDeviceASTCDecodeFeaturesEXT, p_next), offset_of!(PhysicalDeviceASTCDecodeFeaturesEXT, decode_mode_shared_exponent)); + println!("PhysicalDeviceTransformFeedbackFeaturesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceTransformFeedbackFeaturesEXT, s_type), offset_of!(PhysicalDeviceTransformFeedbackFeaturesEXT, p_next), offset_of!(PhysicalDeviceTransformFeedbackFeaturesEXT, transform_feedback), offset_of!(PhysicalDeviceTransformFeedbackFeaturesEXT, geometry_streams)); + println!("PhysicalDeviceTransformFeedbackPropertiesEXT {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceTransformFeedbackPropertiesEXT, s_type), offset_of!(PhysicalDeviceTransformFeedbackPropertiesEXT, p_next), offset_of!(PhysicalDeviceTransformFeedbackPropertiesEXT, max_transform_feedback_streams), offset_of!(PhysicalDeviceTransformFeedbackPropertiesEXT, max_transform_feedback_buffers), offset_of!(PhysicalDeviceTransformFeedbackPropertiesEXT, max_transform_feedback_buffer_size), offset_of!(PhysicalDeviceTransformFeedbackPropertiesEXT, max_transform_feedback_stream_data_size), offset_of!(PhysicalDeviceTransformFeedbackPropertiesEXT, max_transform_feedback_buffer_data_size), offset_of!(PhysicalDeviceTransformFeedbackPropertiesEXT, max_transform_feedback_buffer_data_stride), offset_of!(PhysicalDeviceTransformFeedbackPropertiesEXT, transform_feedback_queries), offset_of!(PhysicalDeviceTransformFeedbackPropertiesEXT, transform_feedback_streams_lines_triangles), offset_of!(PhysicalDeviceTransformFeedbackPropertiesEXT, transform_feedback_rasterization_stream_select), offset_of!(PhysicalDeviceTransformFeedbackPropertiesEXT, transform_feedback_draw)); + println!("PipelineRasterizationStateStreamCreateInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineRasterizationStateStreamCreateInfoEXT, s_type), offset_of!(PipelineRasterizationStateStreamCreateInfoEXT, p_next), offset_of!(PipelineRasterizationStateStreamCreateInfoEXT, flags), offset_of!(PipelineRasterizationStateStreamCreateInfoEXT, rasterization_stream)); + println!("PhysicalDeviceRepresentativeFragmentTestFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceRepresentativeFragmentTestFeaturesNV, s_type), offset_of!(PhysicalDeviceRepresentativeFragmentTestFeaturesNV, p_next), offset_of!(PhysicalDeviceRepresentativeFragmentTestFeaturesNV, representative_fragment_test)); + println!("PipelineRepresentativeFragmentTestStateCreateInfoNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineRepresentativeFragmentTestStateCreateInfoNV, s_type), offset_of!(PipelineRepresentativeFragmentTestStateCreateInfoNV, p_next), offset_of!(PipelineRepresentativeFragmentTestStateCreateInfoNV, representative_fragment_test_enable)); + println!("PhysicalDeviceExclusiveScissorFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceExclusiveScissorFeaturesNV, s_type), offset_of!(PhysicalDeviceExclusiveScissorFeaturesNV, p_next), offset_of!(PhysicalDeviceExclusiveScissorFeaturesNV, exclusive_scissor)); + println!("PipelineViewportExclusiveScissorStateCreateInfoNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineViewportExclusiveScissorStateCreateInfoNV, s_type), offset_of!(PipelineViewportExclusiveScissorStateCreateInfoNV, p_next), offset_of!(PipelineViewportExclusiveScissorStateCreateInfoNV, exclusive_scissor_count), offset_of!(PipelineViewportExclusiveScissorStateCreateInfoNV, p_exclusive_scissors)); + println!("PhysicalDeviceCornerSampledImageFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceCornerSampledImageFeaturesNV, s_type), offset_of!(PhysicalDeviceCornerSampledImageFeaturesNV, p_next), offset_of!(PhysicalDeviceCornerSampledImageFeaturesNV, corner_sampled_image)); + println!("PhysicalDeviceComputeShaderDerivativesFeaturesKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceComputeShaderDerivativesFeaturesKHR, s_type), offset_of!(PhysicalDeviceComputeShaderDerivativesFeaturesKHR, p_next), offset_of!(PhysicalDeviceComputeShaderDerivativesFeaturesKHR, compute_derivative_group_quads), offset_of!(PhysicalDeviceComputeShaderDerivativesFeaturesKHR, compute_derivative_group_linear)); + println!("PhysicalDeviceComputeShaderDerivativesPropertiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceComputeShaderDerivativesPropertiesKHR, s_type), offset_of!(PhysicalDeviceComputeShaderDerivativesPropertiesKHR, p_next), offset_of!(PhysicalDeviceComputeShaderDerivativesPropertiesKHR, mesh_and_task_shader_derivatives)); + println!("PhysicalDeviceShaderImageFootprintFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderImageFootprintFeaturesNV, s_type), offset_of!(PhysicalDeviceShaderImageFootprintFeaturesNV, p_next), offset_of!(PhysicalDeviceShaderImageFootprintFeaturesNV, image_footprint)); + println!("PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, s_type), offset_of!(PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, p_next), offset_of!(PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, dedicated_allocation_image_aliasing)); + println!("PhysicalDeviceCopyMemoryIndirectFeaturesKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceCopyMemoryIndirectFeaturesKHR, s_type), offset_of!(PhysicalDeviceCopyMemoryIndirectFeaturesKHR, p_next), offset_of!(PhysicalDeviceCopyMemoryIndirectFeaturesKHR, indirect_memory_copy), offset_of!(PhysicalDeviceCopyMemoryIndirectFeaturesKHR, indirect_memory_to_image_copy)); + println!("PhysicalDeviceCopyMemoryIndirectFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceCopyMemoryIndirectFeaturesNV, s_type), offset_of!(PhysicalDeviceCopyMemoryIndirectFeaturesNV, p_next), offset_of!(PhysicalDeviceCopyMemoryIndirectFeaturesNV, indirect_copy)); + println!("PhysicalDeviceCopyMemoryIndirectPropertiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceCopyMemoryIndirectPropertiesKHR, s_type), offset_of!(PhysicalDeviceCopyMemoryIndirectPropertiesKHR, p_next), offset_of!(PhysicalDeviceCopyMemoryIndirectPropertiesKHR, supported_queues)); + println!("PhysicalDeviceMemoryDecompressionFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceMemoryDecompressionFeaturesEXT, s_type), offset_of!(PhysicalDeviceMemoryDecompressionFeaturesEXT, p_next), offset_of!(PhysicalDeviceMemoryDecompressionFeaturesEXT, memory_decompression)); + println!("PhysicalDeviceMemoryDecompressionPropertiesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceMemoryDecompressionPropertiesEXT, s_type), offset_of!(PhysicalDeviceMemoryDecompressionPropertiesEXT, p_next), offset_of!(PhysicalDeviceMemoryDecompressionPropertiesEXT, decompression_methods), offset_of!(PhysicalDeviceMemoryDecompressionPropertiesEXT, max_decompression_indirect_count)); + println!("ShadingRatePaletteNV {} {} {} {}", size_of::(), align_of::(), offset_of!(ShadingRatePaletteNV, shading_rate_palette_entry_count), offset_of!(ShadingRatePaletteNV, p_shading_rate_palette_entries)); + println!("PipelineViewportShadingRateImageStateCreateInfoNV {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineViewportShadingRateImageStateCreateInfoNV, s_type), offset_of!(PipelineViewportShadingRateImageStateCreateInfoNV, p_next), offset_of!(PipelineViewportShadingRateImageStateCreateInfoNV, shading_rate_image_enable), offset_of!(PipelineViewportShadingRateImageStateCreateInfoNV, viewport_count), offset_of!(PipelineViewportShadingRateImageStateCreateInfoNV, p_shading_rate_palettes)); + println!("PhysicalDeviceShadingRateImageFeaturesNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShadingRateImageFeaturesNV, s_type), offset_of!(PhysicalDeviceShadingRateImageFeaturesNV, p_next), offset_of!(PhysicalDeviceShadingRateImageFeaturesNV, shading_rate_image), offset_of!(PhysicalDeviceShadingRateImageFeaturesNV, shading_rate_coarse_sample_order)); + println!("PhysicalDeviceShadingRateImagePropertiesNV {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShadingRateImagePropertiesNV, s_type), offset_of!(PhysicalDeviceShadingRateImagePropertiesNV, p_next), offset_of!(PhysicalDeviceShadingRateImagePropertiesNV, shading_rate_texel_size), offset_of!(PhysicalDeviceShadingRateImagePropertiesNV, shading_rate_palette_size), offset_of!(PhysicalDeviceShadingRateImagePropertiesNV, shading_rate_max_coarse_samples)); + println!("PhysicalDeviceInvocationMaskFeaturesHUAWEI {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceInvocationMaskFeaturesHUAWEI, s_type), offset_of!(PhysicalDeviceInvocationMaskFeaturesHUAWEI, p_next), offset_of!(PhysicalDeviceInvocationMaskFeaturesHUAWEI, invocation_mask)); + println!("CoarseSampleLocationNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CoarseSampleLocationNV, pixel_x), offset_of!(CoarseSampleLocationNV, pixel_y), offset_of!(CoarseSampleLocationNV, sample)); + println!("CoarseSampleOrderCustomNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CoarseSampleOrderCustomNV, shading_rate), offset_of!(CoarseSampleOrderCustomNV, sample_count), offset_of!(CoarseSampleOrderCustomNV, sample_location_count), offset_of!(CoarseSampleOrderCustomNV, p_sample_locations)); + println!("PipelineViewportCoarseSampleOrderStateCreateInfoNV {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineViewportCoarseSampleOrderStateCreateInfoNV, s_type), offset_of!(PipelineViewportCoarseSampleOrderStateCreateInfoNV, p_next), offset_of!(PipelineViewportCoarseSampleOrderStateCreateInfoNV, sample_order_type), offset_of!(PipelineViewportCoarseSampleOrderStateCreateInfoNV, custom_sample_order_count), offset_of!(PipelineViewportCoarseSampleOrderStateCreateInfoNV, p_custom_sample_orders)); + println!("PhysicalDeviceMeshShaderFeaturesNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceMeshShaderFeaturesNV, s_type), offset_of!(PhysicalDeviceMeshShaderFeaturesNV, p_next), offset_of!(PhysicalDeviceMeshShaderFeaturesNV, task_shader), offset_of!(PhysicalDeviceMeshShaderFeaturesNV, mesh_shader)); + println!("PhysicalDeviceMeshShaderPropertiesNV {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceMeshShaderPropertiesNV, s_type), offset_of!(PhysicalDeviceMeshShaderPropertiesNV, p_next), offset_of!(PhysicalDeviceMeshShaderPropertiesNV, max_draw_mesh_tasks_count), offset_of!(PhysicalDeviceMeshShaderPropertiesNV, max_task_work_group_invocations), offset_of!(PhysicalDeviceMeshShaderPropertiesNV, max_task_work_group_size), offset_of!(PhysicalDeviceMeshShaderPropertiesNV, max_task_total_memory_size), offset_of!(PhysicalDeviceMeshShaderPropertiesNV, max_task_output_count), offset_of!(PhysicalDeviceMeshShaderPropertiesNV, max_mesh_work_group_invocations), offset_of!(PhysicalDeviceMeshShaderPropertiesNV, max_mesh_work_group_size), offset_of!(PhysicalDeviceMeshShaderPropertiesNV, max_mesh_total_memory_size), offset_of!(PhysicalDeviceMeshShaderPropertiesNV, max_mesh_output_vertices), offset_of!(PhysicalDeviceMeshShaderPropertiesNV, max_mesh_output_primitives), offset_of!(PhysicalDeviceMeshShaderPropertiesNV, max_mesh_multiview_view_count), offset_of!(PhysicalDeviceMeshShaderPropertiesNV, mesh_output_per_vertex_granularity), offset_of!(PhysicalDeviceMeshShaderPropertiesNV, mesh_output_per_primitive_granularity)); + println!("DrawMeshTasksIndirectCommandNV {} {} {} {}", size_of::(), align_of::(), offset_of!(DrawMeshTasksIndirectCommandNV, task_count), offset_of!(DrawMeshTasksIndirectCommandNV, first_task)); + println!("PhysicalDeviceMeshShaderFeaturesEXT {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceMeshShaderFeaturesEXT, s_type), offset_of!(PhysicalDeviceMeshShaderFeaturesEXT, p_next), offset_of!(PhysicalDeviceMeshShaderFeaturesEXT, task_shader), offset_of!(PhysicalDeviceMeshShaderFeaturesEXT, mesh_shader), offset_of!(PhysicalDeviceMeshShaderFeaturesEXT, multiview_mesh_shader), offset_of!(PhysicalDeviceMeshShaderFeaturesEXT, primitive_fragment_shading_rate_mesh_shader), offset_of!(PhysicalDeviceMeshShaderFeaturesEXT, mesh_shader_queries)); + println!("PhysicalDeviceMeshShaderPropertiesEXT {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceMeshShaderPropertiesEXT, s_type), offset_of!(PhysicalDeviceMeshShaderPropertiesEXT, p_next), offset_of!(PhysicalDeviceMeshShaderPropertiesEXT, max_task_work_group_total_count), offset_of!(PhysicalDeviceMeshShaderPropertiesEXT, max_task_work_group_count), offset_of!(PhysicalDeviceMeshShaderPropertiesEXT, max_task_work_group_invocations), offset_of!(PhysicalDeviceMeshShaderPropertiesEXT, max_task_work_group_size), offset_of!(PhysicalDeviceMeshShaderPropertiesEXT, max_task_payload_size), offset_of!(PhysicalDeviceMeshShaderPropertiesEXT, max_task_shared_memory_size), offset_of!(PhysicalDeviceMeshShaderPropertiesEXT, max_task_payload_and_shared_memory_size), offset_of!(PhysicalDeviceMeshShaderPropertiesEXT, max_mesh_work_group_total_count), offset_of!(PhysicalDeviceMeshShaderPropertiesEXT, max_mesh_work_group_count), offset_of!(PhysicalDeviceMeshShaderPropertiesEXT, max_mesh_work_group_invocations), offset_of!(PhysicalDeviceMeshShaderPropertiesEXT, max_mesh_work_group_size), offset_of!(PhysicalDeviceMeshShaderPropertiesEXT, max_mesh_shared_memory_size), offset_of!(PhysicalDeviceMeshShaderPropertiesEXT, max_mesh_payload_and_shared_memory_size), offset_of!(PhysicalDeviceMeshShaderPropertiesEXT, max_mesh_output_memory_size), offset_of!(PhysicalDeviceMeshShaderPropertiesEXT, max_mesh_payload_and_output_memory_size), offset_of!(PhysicalDeviceMeshShaderPropertiesEXT, max_mesh_output_components), offset_of!(PhysicalDeviceMeshShaderPropertiesEXT, max_mesh_output_vertices), offset_of!(PhysicalDeviceMeshShaderPropertiesEXT, max_mesh_output_primitives), offset_of!(PhysicalDeviceMeshShaderPropertiesEXT, max_mesh_output_layers), offset_of!(PhysicalDeviceMeshShaderPropertiesEXT, max_mesh_multiview_view_count), offset_of!(PhysicalDeviceMeshShaderPropertiesEXT, mesh_output_per_vertex_granularity), offset_of!(PhysicalDeviceMeshShaderPropertiesEXT, mesh_output_per_primitive_granularity), offset_of!(PhysicalDeviceMeshShaderPropertiesEXT, max_preferred_task_work_group_invocations), offset_of!(PhysicalDeviceMeshShaderPropertiesEXT, max_preferred_mesh_work_group_invocations), offset_of!(PhysicalDeviceMeshShaderPropertiesEXT, prefers_local_invocation_vertex_output), offset_of!(PhysicalDeviceMeshShaderPropertiesEXT, prefers_local_invocation_primitive_output), offset_of!(PhysicalDeviceMeshShaderPropertiesEXT, prefers_compact_vertex_output), offset_of!(PhysicalDeviceMeshShaderPropertiesEXT, prefers_compact_primitive_output)); + println!("DrawMeshTasksIndirectCommandEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DrawMeshTasksIndirectCommandEXT, group_count_x), offset_of!(DrawMeshTasksIndirectCommandEXT, group_count_y), offset_of!(DrawMeshTasksIndirectCommandEXT, group_count_z)); + println!("RayTracingShaderGroupCreateInfoNV {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(RayTracingShaderGroupCreateInfoNV, s_type), offset_of!(RayTracingShaderGroupCreateInfoNV, p_next), offset_of!(RayTracingShaderGroupCreateInfoNV, general_shader), offset_of!(RayTracingShaderGroupCreateInfoNV, closest_hit_shader), offset_of!(RayTracingShaderGroupCreateInfoNV, any_hit_shader), offset_of!(RayTracingShaderGroupCreateInfoNV, intersection_shader)); + println!("RayTracingShaderGroupCreateInfoKHR {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(RayTracingShaderGroupCreateInfoKHR, s_type), offset_of!(RayTracingShaderGroupCreateInfoKHR, p_next), offset_of!(RayTracingShaderGroupCreateInfoKHR, general_shader), offset_of!(RayTracingShaderGroupCreateInfoKHR, closest_hit_shader), offset_of!(RayTracingShaderGroupCreateInfoKHR, any_hit_shader), offset_of!(RayTracingShaderGroupCreateInfoKHR, intersection_shader), offset_of!(RayTracingShaderGroupCreateInfoKHR, p_shader_group_capture_replay_handle)); + println!("RayTracingPipelineCreateInfoNV {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(RayTracingPipelineCreateInfoNV, s_type), offset_of!(RayTracingPipelineCreateInfoNV, p_next), offset_of!(RayTracingPipelineCreateInfoNV, flags), offset_of!(RayTracingPipelineCreateInfoNV, stage_count), offset_of!(RayTracingPipelineCreateInfoNV, p_stages), offset_of!(RayTracingPipelineCreateInfoNV, group_count), offset_of!(RayTracingPipelineCreateInfoNV, p_groups), offset_of!(RayTracingPipelineCreateInfoNV, max_recursion_depth), offset_of!(RayTracingPipelineCreateInfoNV, layout), offset_of!(RayTracingPipelineCreateInfoNV, base_pipeline_handle), offset_of!(RayTracingPipelineCreateInfoNV, base_pipeline_index)); + println!("RayTracingPipelineCreateInfoKHR {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(RayTracingPipelineCreateInfoKHR, s_type), offset_of!(RayTracingPipelineCreateInfoKHR, p_next), offset_of!(RayTracingPipelineCreateInfoKHR, flags), offset_of!(RayTracingPipelineCreateInfoKHR, stage_count), offset_of!(RayTracingPipelineCreateInfoKHR, p_stages), offset_of!(RayTracingPipelineCreateInfoKHR, group_count), offset_of!(RayTracingPipelineCreateInfoKHR, p_groups), offset_of!(RayTracingPipelineCreateInfoKHR, max_pipeline_ray_recursion_depth), offset_of!(RayTracingPipelineCreateInfoKHR, p_library_info), offset_of!(RayTracingPipelineCreateInfoKHR, p_library_interface), offset_of!(RayTracingPipelineCreateInfoKHR, p_dynamic_state), offset_of!(RayTracingPipelineCreateInfoKHR, layout), offset_of!(RayTracingPipelineCreateInfoKHR, base_pipeline_handle), offset_of!(RayTracingPipelineCreateInfoKHR, base_pipeline_index)); + println!("GeometryTrianglesNV {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(GeometryTrianglesNV, s_type), offset_of!(GeometryTrianglesNV, p_next), offset_of!(GeometryTrianglesNV, vertex_data), offset_of!(GeometryTrianglesNV, vertex_offset), offset_of!(GeometryTrianglesNV, vertex_count), offset_of!(GeometryTrianglesNV, vertex_stride), offset_of!(GeometryTrianglesNV, vertex_format), offset_of!(GeometryTrianglesNV, index_data), offset_of!(GeometryTrianglesNV, index_offset), offset_of!(GeometryTrianglesNV, index_count), offset_of!(GeometryTrianglesNV, index_type), offset_of!(GeometryTrianglesNV, transform_data), offset_of!(GeometryTrianglesNV, transform_offset)); + println!("GeometryAABBNV {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(GeometryAABBNV, s_type), offset_of!(GeometryAABBNV, p_next), offset_of!(GeometryAABBNV, aabb_data), offset_of!(GeometryAABBNV, num_aab_bs), offset_of!(GeometryAABBNV, stride), offset_of!(GeometryAABBNV, offset)); + println!("GeometryDataNV {} {} {} {}", size_of::(), align_of::(), offset_of!(GeometryDataNV, triangles), offset_of!(GeometryDataNV, aabbs)); + println!("GeometryNV {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(GeometryNV, s_type), offset_of!(GeometryNV, p_next), offset_of!(GeometryNV, geometry_type), offset_of!(GeometryNV, geometry), offset_of!(GeometryNV, flags)); + println!("AccelerationStructureInfoNV {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(AccelerationStructureInfoNV, s_type), offset_of!(AccelerationStructureInfoNV, p_next), offset_of!(AccelerationStructureInfoNV, flags), offset_of!(AccelerationStructureInfoNV, instance_count), offset_of!(AccelerationStructureInfoNV, geometry_count), offset_of!(AccelerationStructureInfoNV, p_geometries)); + println!("AccelerationStructureCreateInfoNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(AccelerationStructureCreateInfoNV, s_type), offset_of!(AccelerationStructureCreateInfoNV, p_next), offset_of!(AccelerationStructureCreateInfoNV, compacted_size), offset_of!(AccelerationStructureCreateInfoNV, info)); + println!("BindAccelerationStructureMemoryInfoNV {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(BindAccelerationStructureMemoryInfoNV, s_type), offset_of!(BindAccelerationStructureMemoryInfoNV, p_next), offset_of!(BindAccelerationStructureMemoryInfoNV, acceleration_structure), offset_of!(BindAccelerationStructureMemoryInfoNV, memory), offset_of!(BindAccelerationStructureMemoryInfoNV, memory_offset), offset_of!(BindAccelerationStructureMemoryInfoNV, device_index_count), offset_of!(BindAccelerationStructureMemoryInfoNV, p_device_indices)); + println!("WriteDescriptorSetAccelerationStructureKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(WriteDescriptorSetAccelerationStructureKHR, s_type), offset_of!(WriteDescriptorSetAccelerationStructureKHR, p_next), offset_of!(WriteDescriptorSetAccelerationStructureKHR, acceleration_structure_count), offset_of!(WriteDescriptorSetAccelerationStructureKHR, p_acceleration_structures)); + println!("WriteDescriptorSetAccelerationStructureNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(WriteDescriptorSetAccelerationStructureNV, s_type), offset_of!(WriteDescriptorSetAccelerationStructureNV, p_next), offset_of!(WriteDescriptorSetAccelerationStructureNV, acceleration_structure_count), offset_of!(WriteDescriptorSetAccelerationStructureNV, p_acceleration_structures)); + println!("AccelerationStructureMemoryRequirementsInfoNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(AccelerationStructureMemoryRequirementsInfoNV, s_type), offset_of!(AccelerationStructureMemoryRequirementsInfoNV, p_next), offset_of!(AccelerationStructureMemoryRequirementsInfoNV, acceleration_structure)); + println!("PhysicalDeviceAccelerationStructureFeaturesKHR {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceAccelerationStructureFeaturesKHR, s_type), offset_of!(PhysicalDeviceAccelerationStructureFeaturesKHR, p_next), offset_of!(PhysicalDeviceAccelerationStructureFeaturesKHR, acceleration_structure), offset_of!(PhysicalDeviceAccelerationStructureFeaturesKHR, acceleration_structure_capture_replay), offset_of!(PhysicalDeviceAccelerationStructureFeaturesKHR, acceleration_structure_indirect_build), offset_of!(PhysicalDeviceAccelerationStructureFeaturesKHR, acceleration_structure_host_commands), offset_of!(PhysicalDeviceAccelerationStructureFeaturesKHR, descriptor_binding_acceleration_structure_update_after_bind)); + println!("PhysicalDeviceRayTracingPipelineFeaturesKHR {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceRayTracingPipelineFeaturesKHR, s_type), offset_of!(PhysicalDeviceRayTracingPipelineFeaturesKHR, p_next), offset_of!(PhysicalDeviceRayTracingPipelineFeaturesKHR, ray_tracing_pipeline), offset_of!(PhysicalDeviceRayTracingPipelineFeaturesKHR, ray_tracing_pipeline_shader_group_handle_capture_replay), offset_of!(PhysicalDeviceRayTracingPipelineFeaturesKHR, ray_tracing_pipeline_shader_group_handle_capture_replay_mixed), offset_of!(PhysicalDeviceRayTracingPipelineFeaturesKHR, ray_tracing_pipeline_trace_rays_indirect), offset_of!(PhysicalDeviceRayTracingPipelineFeaturesKHR, ray_traversal_primitive_culling)); + println!("PhysicalDeviceRayQueryFeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceRayQueryFeaturesKHR, s_type), offset_of!(PhysicalDeviceRayQueryFeaturesKHR, p_next), offset_of!(PhysicalDeviceRayQueryFeaturesKHR, ray_query)); + println!("PhysicalDeviceAccelerationStructurePropertiesKHR {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceAccelerationStructurePropertiesKHR, s_type), offset_of!(PhysicalDeviceAccelerationStructurePropertiesKHR, p_next), offset_of!(PhysicalDeviceAccelerationStructurePropertiesKHR, max_geometry_count), offset_of!(PhysicalDeviceAccelerationStructurePropertiesKHR, max_instance_count), offset_of!(PhysicalDeviceAccelerationStructurePropertiesKHR, max_primitive_count), offset_of!(PhysicalDeviceAccelerationStructurePropertiesKHR, max_per_stage_descriptor_acceleration_structures), offset_of!(PhysicalDeviceAccelerationStructurePropertiesKHR, max_per_stage_descriptor_update_after_bind_acceleration_structures), offset_of!(PhysicalDeviceAccelerationStructurePropertiesKHR, max_descriptor_set_acceleration_structures), offset_of!(PhysicalDeviceAccelerationStructurePropertiesKHR, max_descriptor_set_update_after_bind_acceleration_structures), offset_of!(PhysicalDeviceAccelerationStructurePropertiesKHR, min_acceleration_structure_scratch_offset_alignment)); + println!("PhysicalDeviceRayTracingPipelinePropertiesKHR {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceRayTracingPipelinePropertiesKHR, s_type), offset_of!(PhysicalDeviceRayTracingPipelinePropertiesKHR, p_next), offset_of!(PhysicalDeviceRayTracingPipelinePropertiesKHR, shader_group_handle_size), offset_of!(PhysicalDeviceRayTracingPipelinePropertiesKHR, max_ray_recursion_depth), offset_of!(PhysicalDeviceRayTracingPipelinePropertiesKHR, max_shader_group_stride), offset_of!(PhysicalDeviceRayTracingPipelinePropertiesKHR, shader_group_base_alignment), offset_of!(PhysicalDeviceRayTracingPipelinePropertiesKHR, shader_group_handle_capture_replay_size), offset_of!(PhysicalDeviceRayTracingPipelinePropertiesKHR, max_ray_dispatch_invocation_count), offset_of!(PhysicalDeviceRayTracingPipelinePropertiesKHR, shader_group_handle_alignment), offset_of!(PhysicalDeviceRayTracingPipelinePropertiesKHR, max_ray_hit_attribute_size)); + println!("PhysicalDeviceRayTracingPropertiesNV {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceRayTracingPropertiesNV, s_type), offset_of!(PhysicalDeviceRayTracingPropertiesNV, p_next), offset_of!(PhysicalDeviceRayTracingPropertiesNV, shader_group_handle_size), offset_of!(PhysicalDeviceRayTracingPropertiesNV, max_recursion_depth), offset_of!(PhysicalDeviceRayTracingPropertiesNV, max_shader_group_stride), offset_of!(PhysicalDeviceRayTracingPropertiesNV, shader_group_base_alignment), offset_of!(PhysicalDeviceRayTracingPropertiesNV, max_geometry_count), offset_of!(PhysicalDeviceRayTracingPropertiesNV, max_instance_count), offset_of!(PhysicalDeviceRayTracingPropertiesNV, max_triangle_count), offset_of!(PhysicalDeviceRayTracingPropertiesNV, max_descriptor_set_acceleration_structures)); + println!("StridedDeviceAddressRegionKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(StridedDeviceAddressRegionKHR, device_address), offset_of!(StridedDeviceAddressRegionKHR, stride), offset_of!(StridedDeviceAddressRegionKHR, size)); + println!("TraceRaysIndirectCommandKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(TraceRaysIndirectCommandKHR, width), offset_of!(TraceRaysIndirectCommandKHR, height), offset_of!(TraceRaysIndirectCommandKHR, depth)); + println!("TraceRaysIndirectCommand2KHR {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(TraceRaysIndirectCommand2KHR, raygen_shader_record_address), offset_of!(TraceRaysIndirectCommand2KHR, raygen_shader_record_size), offset_of!(TraceRaysIndirectCommand2KHR, miss_shader_binding_table_address), offset_of!(TraceRaysIndirectCommand2KHR, miss_shader_binding_table_size), offset_of!(TraceRaysIndirectCommand2KHR, miss_shader_binding_table_stride), offset_of!(TraceRaysIndirectCommand2KHR, hit_shader_binding_table_address), offset_of!(TraceRaysIndirectCommand2KHR, hit_shader_binding_table_size), offset_of!(TraceRaysIndirectCommand2KHR, hit_shader_binding_table_stride), offset_of!(TraceRaysIndirectCommand2KHR, callable_shader_binding_table_address), offset_of!(TraceRaysIndirectCommand2KHR, callable_shader_binding_table_size), offset_of!(TraceRaysIndirectCommand2KHR, callable_shader_binding_table_stride), offset_of!(TraceRaysIndirectCommand2KHR, width), offset_of!(TraceRaysIndirectCommand2KHR, height), offset_of!(TraceRaysIndirectCommand2KHR, depth)); + println!("PhysicalDeviceRayTracingMaintenance1FeaturesKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceRayTracingMaintenance1FeaturesKHR, s_type), offset_of!(PhysicalDeviceRayTracingMaintenance1FeaturesKHR, p_next), offset_of!(PhysicalDeviceRayTracingMaintenance1FeaturesKHR, ray_tracing_maintenance1), offset_of!(PhysicalDeviceRayTracingMaintenance1FeaturesKHR, ray_tracing_pipeline_trace_rays_indirect2)); + println!("DrmFormatModifierPropertiesListEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DrmFormatModifierPropertiesListEXT, s_type), offset_of!(DrmFormatModifierPropertiesListEXT, p_next), offset_of!(DrmFormatModifierPropertiesListEXT, drm_format_modifier_count), offset_of!(DrmFormatModifierPropertiesListEXT, p_drm_format_modifier_properties)); + println!("DrmFormatModifierPropertiesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DrmFormatModifierPropertiesEXT, drm_format_modifier), offset_of!(DrmFormatModifierPropertiesEXT, drm_format_modifier_plane_count), offset_of!(DrmFormatModifierPropertiesEXT, drm_format_modifier_tiling_features)); + println!("PhysicalDeviceImageDrmFormatModifierInfoEXT {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceImageDrmFormatModifierInfoEXT, s_type), offset_of!(PhysicalDeviceImageDrmFormatModifierInfoEXT, p_next), offset_of!(PhysicalDeviceImageDrmFormatModifierInfoEXT, drm_format_modifier), offset_of!(PhysicalDeviceImageDrmFormatModifierInfoEXT, sharing_mode), offset_of!(PhysicalDeviceImageDrmFormatModifierInfoEXT, queue_family_index_count), offset_of!(PhysicalDeviceImageDrmFormatModifierInfoEXT, p_queue_family_indices)); + println!("ImageDrmFormatModifierListCreateInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImageDrmFormatModifierListCreateInfoEXT, s_type), offset_of!(ImageDrmFormatModifierListCreateInfoEXT, p_next), offset_of!(ImageDrmFormatModifierListCreateInfoEXT, drm_format_modifier_count), offset_of!(ImageDrmFormatModifierListCreateInfoEXT, p_drm_format_modifiers)); + println!("ImageDrmFormatModifierExplicitCreateInfoEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImageDrmFormatModifierExplicitCreateInfoEXT, s_type), offset_of!(ImageDrmFormatModifierExplicitCreateInfoEXT, p_next), offset_of!(ImageDrmFormatModifierExplicitCreateInfoEXT, drm_format_modifier), offset_of!(ImageDrmFormatModifierExplicitCreateInfoEXT, drm_format_modifier_plane_count), offset_of!(ImageDrmFormatModifierExplicitCreateInfoEXT, p_plane_layouts)); + println!("ImageDrmFormatModifierPropertiesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImageDrmFormatModifierPropertiesEXT, s_type), offset_of!(ImageDrmFormatModifierPropertiesEXT, p_next), offset_of!(ImageDrmFormatModifierPropertiesEXT, drm_format_modifier)); + println!("ImageStencilUsageCreateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImageStencilUsageCreateInfo, s_type), offset_of!(ImageStencilUsageCreateInfo, p_next), offset_of!(ImageStencilUsageCreateInfo, stencil_usage)); + println!("DeviceMemoryOverallocationCreateInfoAMD {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DeviceMemoryOverallocationCreateInfoAMD, s_type), offset_of!(DeviceMemoryOverallocationCreateInfoAMD, p_next), offset_of!(DeviceMemoryOverallocationCreateInfoAMD, overallocation_behavior)); + println!("PhysicalDeviceFragmentDensityMapFeaturesEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceFragmentDensityMapFeaturesEXT, s_type), offset_of!(PhysicalDeviceFragmentDensityMapFeaturesEXT, p_next), offset_of!(PhysicalDeviceFragmentDensityMapFeaturesEXT, fragment_density_map), offset_of!(PhysicalDeviceFragmentDensityMapFeaturesEXT, fragment_density_map_dynamic), offset_of!(PhysicalDeviceFragmentDensityMapFeaturesEXT, fragment_density_map_non_subsampled_images)); + println!("PhysicalDeviceFragmentDensityMap2FeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceFragmentDensityMap2FeaturesEXT, s_type), offset_of!(PhysicalDeviceFragmentDensityMap2FeaturesEXT, p_next), offset_of!(PhysicalDeviceFragmentDensityMap2FeaturesEXT, fragment_density_map_deferred)); + println!("PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT, s_type), offset_of!(PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT, p_next), offset_of!(PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT, fragment_density_map_offset)); + println!("PhysicalDeviceFragmentDensityMapPropertiesEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceFragmentDensityMapPropertiesEXT, s_type), offset_of!(PhysicalDeviceFragmentDensityMapPropertiesEXT, p_next), offset_of!(PhysicalDeviceFragmentDensityMapPropertiesEXT, min_fragment_density_texel_size), offset_of!(PhysicalDeviceFragmentDensityMapPropertiesEXT, max_fragment_density_texel_size), offset_of!(PhysicalDeviceFragmentDensityMapPropertiesEXT, fragment_density_invocations)); + println!("PhysicalDeviceFragmentDensityMap2PropertiesEXT {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceFragmentDensityMap2PropertiesEXT, s_type), offset_of!(PhysicalDeviceFragmentDensityMap2PropertiesEXT, p_next), offset_of!(PhysicalDeviceFragmentDensityMap2PropertiesEXT, subsampled_loads), offset_of!(PhysicalDeviceFragmentDensityMap2PropertiesEXT, subsampled_coarse_reconstruction_early_access), offset_of!(PhysicalDeviceFragmentDensityMap2PropertiesEXT, max_subsampled_array_layers), offset_of!(PhysicalDeviceFragmentDensityMap2PropertiesEXT, max_descriptor_set_subsampled_samplers)); + println!("PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT, s_type), offset_of!(PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT, p_next), offset_of!(PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT, fragment_density_offset_granularity)); + println!("RenderPassFragmentDensityMapCreateInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(RenderPassFragmentDensityMapCreateInfoEXT, s_type), offset_of!(RenderPassFragmentDensityMapCreateInfoEXT, p_next), offset_of!(RenderPassFragmentDensityMapCreateInfoEXT, fragment_density_map_attachment)); + println!("RenderPassFragmentDensityMapOffsetEndInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(RenderPassFragmentDensityMapOffsetEndInfoEXT, s_type), offset_of!(RenderPassFragmentDensityMapOffsetEndInfoEXT, p_next), offset_of!(RenderPassFragmentDensityMapOffsetEndInfoEXT, fragment_density_offset_count), offset_of!(RenderPassFragmentDensityMapOffsetEndInfoEXT, p_fragment_density_offsets)); + println!("PhysicalDeviceScalarBlockLayoutFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceScalarBlockLayoutFeatures, s_type), offset_of!(PhysicalDeviceScalarBlockLayoutFeatures, p_next), offset_of!(PhysicalDeviceScalarBlockLayoutFeatures, scalar_block_layout)); + println!("SurfaceProtectedCapabilitiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SurfaceProtectedCapabilitiesKHR, s_type), offset_of!(SurfaceProtectedCapabilitiesKHR, p_next), offset_of!(SurfaceProtectedCapabilitiesKHR, supports_protected)); + println!("PhysicalDeviceUniformBufferStandardLayoutFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceUniformBufferStandardLayoutFeatures, s_type), offset_of!(PhysicalDeviceUniformBufferStandardLayoutFeatures, p_next), offset_of!(PhysicalDeviceUniformBufferStandardLayoutFeatures, uniform_buffer_standard_layout)); + println!("PhysicalDeviceDepthClipEnableFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceDepthClipEnableFeaturesEXT, s_type), offset_of!(PhysicalDeviceDepthClipEnableFeaturesEXT, p_next), offset_of!(PhysicalDeviceDepthClipEnableFeaturesEXT, depth_clip_enable)); + println!("PipelineRasterizationDepthClipStateCreateInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineRasterizationDepthClipStateCreateInfoEXT, s_type), offset_of!(PipelineRasterizationDepthClipStateCreateInfoEXT, p_next), offset_of!(PipelineRasterizationDepthClipStateCreateInfoEXT, flags), offset_of!(PipelineRasterizationDepthClipStateCreateInfoEXT, depth_clip_enable)); + println!("PhysicalDeviceMemoryBudgetPropertiesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceMemoryBudgetPropertiesEXT, s_type), offset_of!(PhysicalDeviceMemoryBudgetPropertiesEXT, p_next), offset_of!(PhysicalDeviceMemoryBudgetPropertiesEXT, heap_budget), offset_of!(PhysicalDeviceMemoryBudgetPropertiesEXT, heap_usage)); + println!("PhysicalDeviceMemoryPriorityFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceMemoryPriorityFeaturesEXT, s_type), offset_of!(PhysicalDeviceMemoryPriorityFeaturesEXT, p_next), offset_of!(PhysicalDeviceMemoryPriorityFeaturesEXT, memory_priority)); + println!("MemoryPriorityAllocateInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(MemoryPriorityAllocateInfoEXT, s_type), offset_of!(MemoryPriorityAllocateInfoEXT, p_next), offset_of!(MemoryPriorityAllocateInfoEXT, priority)); + println!("PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT, s_type), offset_of!(PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT, p_next), offset_of!(PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT, pageable_device_local_memory)); + println!("PhysicalDeviceBufferDeviceAddressFeatures {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceBufferDeviceAddressFeatures, s_type), offset_of!(PhysicalDeviceBufferDeviceAddressFeatures, p_next), offset_of!(PhysicalDeviceBufferDeviceAddressFeatures, buffer_device_address), offset_of!(PhysicalDeviceBufferDeviceAddressFeatures, buffer_device_address_capture_replay), offset_of!(PhysicalDeviceBufferDeviceAddressFeatures, buffer_device_address_multi_device)); + println!("PhysicalDeviceBufferDeviceAddressFeaturesEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceBufferDeviceAddressFeaturesEXT, s_type), offset_of!(PhysicalDeviceBufferDeviceAddressFeaturesEXT, p_next), offset_of!(PhysicalDeviceBufferDeviceAddressFeaturesEXT, buffer_device_address), offset_of!(PhysicalDeviceBufferDeviceAddressFeaturesEXT, buffer_device_address_capture_replay), offset_of!(PhysicalDeviceBufferDeviceAddressFeaturesEXT, buffer_device_address_multi_device)); + println!("BufferDeviceAddressInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(BufferDeviceAddressInfo, s_type), offset_of!(BufferDeviceAddressInfo, p_next), offset_of!(BufferDeviceAddressInfo, buffer)); + println!("BufferOpaqueCaptureAddressCreateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(BufferOpaqueCaptureAddressCreateInfo, s_type), offset_of!(BufferOpaqueCaptureAddressCreateInfo, p_next), offset_of!(BufferOpaqueCaptureAddressCreateInfo, opaque_capture_address)); + println!("BufferDeviceAddressCreateInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(BufferDeviceAddressCreateInfoEXT, s_type), offset_of!(BufferDeviceAddressCreateInfoEXT, p_next), offset_of!(BufferDeviceAddressCreateInfoEXT, device_address)); + println!("PhysicalDeviceImageViewImageFormatInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceImageViewImageFormatInfoEXT, s_type), offset_of!(PhysicalDeviceImageViewImageFormatInfoEXT, p_next), offset_of!(PhysicalDeviceImageViewImageFormatInfoEXT, image_view_type)); + println!("FilterCubicImageViewImageFormatPropertiesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(FilterCubicImageViewImageFormatPropertiesEXT, s_type), offset_of!(FilterCubicImageViewImageFormatPropertiesEXT, p_next), offset_of!(FilterCubicImageViewImageFormatPropertiesEXT, filter_cubic), offset_of!(FilterCubicImageViewImageFormatPropertiesEXT, filter_cubic_minmax)); + println!("PhysicalDeviceImagelessFramebufferFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceImagelessFramebufferFeatures, s_type), offset_of!(PhysicalDeviceImagelessFramebufferFeatures, p_next), offset_of!(PhysicalDeviceImagelessFramebufferFeatures, imageless_framebuffer)); + println!("FramebufferAttachmentsCreateInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(FramebufferAttachmentsCreateInfo, s_type), offset_of!(FramebufferAttachmentsCreateInfo, p_next), offset_of!(FramebufferAttachmentsCreateInfo, attachment_image_info_count), offset_of!(FramebufferAttachmentsCreateInfo, p_attachment_image_infos)); + println!("FramebufferAttachmentImageInfo {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(FramebufferAttachmentImageInfo, s_type), offset_of!(FramebufferAttachmentImageInfo, p_next), offset_of!(FramebufferAttachmentImageInfo, flags), offset_of!(FramebufferAttachmentImageInfo, usage), offset_of!(FramebufferAttachmentImageInfo, width), offset_of!(FramebufferAttachmentImageInfo, height), offset_of!(FramebufferAttachmentImageInfo, layer_count), offset_of!(FramebufferAttachmentImageInfo, view_format_count), offset_of!(FramebufferAttachmentImageInfo, p_view_formats)); + println!("RenderPassAttachmentBeginInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(RenderPassAttachmentBeginInfo, s_type), offset_of!(RenderPassAttachmentBeginInfo, p_next), offset_of!(RenderPassAttachmentBeginInfo, attachment_count), offset_of!(RenderPassAttachmentBeginInfo, p_attachments)); + println!("PhysicalDeviceTextureCompressionASTCHDRFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceTextureCompressionASTCHDRFeatures, s_type), offset_of!(PhysicalDeviceTextureCompressionASTCHDRFeatures, p_next), offset_of!(PhysicalDeviceTextureCompressionASTCHDRFeatures, texture_compression_astc_hdr)); + println!("PhysicalDeviceCooperativeMatrixFeaturesNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceCooperativeMatrixFeaturesNV, s_type), offset_of!(PhysicalDeviceCooperativeMatrixFeaturesNV, p_next), offset_of!(PhysicalDeviceCooperativeMatrixFeaturesNV, cooperative_matrix), offset_of!(PhysicalDeviceCooperativeMatrixFeaturesNV, cooperative_matrix_robust_buffer_access)); + println!("PhysicalDeviceCooperativeMatrixPropertiesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceCooperativeMatrixPropertiesNV, s_type), offset_of!(PhysicalDeviceCooperativeMatrixPropertiesNV, p_next), offset_of!(PhysicalDeviceCooperativeMatrixPropertiesNV, cooperative_matrix_supported_stages)); + println!("CooperativeMatrixPropertiesNV {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CooperativeMatrixPropertiesNV, s_type), offset_of!(CooperativeMatrixPropertiesNV, p_next), offset_of!(CooperativeMatrixPropertiesNV, m_size), offset_of!(CooperativeMatrixPropertiesNV, n_size), offset_of!(CooperativeMatrixPropertiesNV, k_size), offset_of!(CooperativeMatrixPropertiesNV, a_type), offset_of!(CooperativeMatrixPropertiesNV, b_type), offset_of!(CooperativeMatrixPropertiesNV, c_type), offset_of!(CooperativeMatrixPropertiesNV, d_type), offset_of!(CooperativeMatrixPropertiesNV, scope)); + println!("PhysicalDeviceYcbcrImageArraysFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceYcbcrImageArraysFeaturesEXT, s_type), offset_of!(PhysicalDeviceYcbcrImageArraysFeaturesEXT, p_next), offset_of!(PhysicalDeviceYcbcrImageArraysFeaturesEXT, ycbcr_image_arrays)); + println!("ImageViewHandleInfoNVX {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImageViewHandleInfoNVX, s_type), offset_of!(ImageViewHandleInfoNVX, p_next), offset_of!(ImageViewHandleInfoNVX, image_view), offset_of!(ImageViewHandleInfoNVX, descriptor_type), offset_of!(ImageViewHandleInfoNVX, sampler)); + println!("ImageViewAddressPropertiesNVX {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImageViewAddressPropertiesNVX, s_type), offset_of!(ImageViewAddressPropertiesNVX, p_next), offset_of!(ImageViewAddressPropertiesNVX, device_address), offset_of!(ImageViewAddressPropertiesNVX, size)); + println!("PipelineCreationFeedback {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineCreationFeedback, flags), offset_of!(PipelineCreationFeedback, duration)); + println!("PipelineCreationFeedbackCreateInfo {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineCreationFeedbackCreateInfo, s_type), offset_of!(PipelineCreationFeedbackCreateInfo, p_next), offset_of!(PipelineCreationFeedbackCreateInfo, p_pipeline_creation_feedback), offset_of!(PipelineCreationFeedbackCreateInfo, pipeline_stage_creation_feedback_count), offset_of!(PipelineCreationFeedbackCreateInfo, p_pipeline_stage_creation_feedbacks)); + println!("PhysicalDevicePresentBarrierFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDevicePresentBarrierFeaturesNV, s_type), offset_of!(PhysicalDevicePresentBarrierFeaturesNV, p_next), offset_of!(PhysicalDevicePresentBarrierFeaturesNV, present_barrier)); + println!("SurfaceCapabilitiesPresentBarrierNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SurfaceCapabilitiesPresentBarrierNV, s_type), offset_of!(SurfaceCapabilitiesPresentBarrierNV, p_next), offset_of!(SurfaceCapabilitiesPresentBarrierNV, present_barrier_supported)); + println!("SwapchainPresentBarrierCreateInfoNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SwapchainPresentBarrierCreateInfoNV, s_type), offset_of!(SwapchainPresentBarrierCreateInfoNV, p_next), offset_of!(SwapchainPresentBarrierCreateInfoNV, present_barrier_enable)); + println!("PhysicalDevicePerformanceQueryFeaturesKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDevicePerformanceQueryFeaturesKHR, s_type), offset_of!(PhysicalDevicePerformanceQueryFeaturesKHR, p_next), offset_of!(PhysicalDevicePerformanceQueryFeaturesKHR, performance_counter_query_pools), offset_of!(PhysicalDevicePerformanceQueryFeaturesKHR, performance_counter_multiple_query_pools)); + println!("PhysicalDevicePerformanceQueryPropertiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDevicePerformanceQueryPropertiesKHR, s_type), offset_of!(PhysicalDevicePerformanceQueryPropertiesKHR, p_next), offset_of!(PhysicalDevicePerformanceQueryPropertiesKHR, allow_command_buffer_query_copies)); + println!("PerformanceCounterKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PerformanceCounterKHR, s_type), offset_of!(PerformanceCounterKHR, p_next), offset_of!(PerformanceCounterKHR, unit), offset_of!(PerformanceCounterKHR, scope), offset_of!(PerformanceCounterKHR, storage), offset_of!(PerformanceCounterKHR, uuid)); + println!("PerformanceCounterDescriptionKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PerformanceCounterDescriptionKHR, s_type), offset_of!(PerformanceCounterDescriptionKHR, p_next), offset_of!(PerformanceCounterDescriptionKHR, flags), offset_of!(PerformanceCounterDescriptionKHR, name), offset_of!(PerformanceCounterDescriptionKHR, category), offset_of!(PerformanceCounterDescriptionKHR, description)); + println!("QueryPoolPerformanceCreateInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(QueryPoolPerformanceCreateInfoKHR, s_type), offset_of!(QueryPoolPerformanceCreateInfoKHR, p_next), offset_of!(QueryPoolPerformanceCreateInfoKHR, queue_family_index), offset_of!(QueryPoolPerformanceCreateInfoKHR, counter_index_count), offset_of!(QueryPoolPerformanceCreateInfoKHR, p_counter_indices)); + println!("PerformanceCounterResultKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PerformanceCounterResultKHR, int32), offset_of!(PerformanceCounterResultKHR, int64), offset_of!(PerformanceCounterResultKHR, uint32), offset_of!(PerformanceCounterResultKHR, uint64), offset_of!(PerformanceCounterResultKHR, float32), offset_of!(PerformanceCounterResultKHR, float64)); + println!("AcquireProfilingLockInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(AcquireProfilingLockInfoKHR, s_type), offset_of!(AcquireProfilingLockInfoKHR, p_next), offset_of!(AcquireProfilingLockInfoKHR, flags), offset_of!(AcquireProfilingLockInfoKHR, timeout)); + println!("PerformanceQuerySubmitInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PerformanceQuerySubmitInfoKHR, s_type), offset_of!(PerformanceQuerySubmitInfoKHR, p_next), offset_of!(PerformanceQuerySubmitInfoKHR, counter_pass_index)); + println!("HeadlessSurfaceCreateInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(HeadlessSurfaceCreateInfoEXT, s_type), offset_of!(HeadlessSurfaceCreateInfoEXT, p_next), offset_of!(HeadlessSurfaceCreateInfoEXT, flags)); + println!("PhysicalDeviceCoverageReductionModeFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceCoverageReductionModeFeaturesNV, s_type), offset_of!(PhysicalDeviceCoverageReductionModeFeaturesNV, p_next), offset_of!(PhysicalDeviceCoverageReductionModeFeaturesNV, coverage_reduction_mode)); + println!("PipelineCoverageReductionStateCreateInfoNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineCoverageReductionStateCreateInfoNV, s_type), offset_of!(PipelineCoverageReductionStateCreateInfoNV, p_next), offset_of!(PipelineCoverageReductionStateCreateInfoNV, flags), offset_of!(PipelineCoverageReductionStateCreateInfoNV, coverage_reduction_mode)); + println!("FramebufferMixedSamplesCombinationNV {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(FramebufferMixedSamplesCombinationNV, s_type), offset_of!(FramebufferMixedSamplesCombinationNV, p_next), offset_of!(FramebufferMixedSamplesCombinationNV, coverage_reduction_mode), offset_of!(FramebufferMixedSamplesCombinationNV, rasterization_samples), offset_of!(FramebufferMixedSamplesCombinationNV, depth_stencil_samples), offset_of!(FramebufferMixedSamplesCombinationNV, color_samples)); + println!("PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, s_type), offset_of!(PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, p_next), offset_of!(PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, shader_integer_functions2)); + println!("PerformanceValueDataINTEL {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PerformanceValueDataINTEL, value32), offset_of!(PerformanceValueDataINTEL, value64), offset_of!(PerformanceValueDataINTEL, value_float), offset_of!(PerformanceValueDataINTEL, value_bool), offset_of!(PerformanceValueDataINTEL, value_string)); + println!("PerformanceValueINTEL {} {} {}", size_of::(), align_of::(), offset_of!(PerformanceValueINTEL, data)); + println!("InitializePerformanceApiInfoINTEL {} {} {} {} {}", size_of::(), align_of::(), offset_of!(InitializePerformanceApiInfoINTEL, s_type), offset_of!(InitializePerformanceApiInfoINTEL, p_next), offset_of!(InitializePerformanceApiInfoINTEL, p_user_data)); + println!("QueryPoolPerformanceQueryCreateInfoINTEL {} {} {} {} {}", size_of::(), align_of::(), offset_of!(QueryPoolPerformanceQueryCreateInfoINTEL, s_type), offset_of!(QueryPoolPerformanceQueryCreateInfoINTEL, p_next), offset_of!(QueryPoolPerformanceQueryCreateInfoINTEL, performance_counters_sampling)); + println!("PerformanceMarkerInfoINTEL {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PerformanceMarkerInfoINTEL, s_type), offset_of!(PerformanceMarkerInfoINTEL, p_next), offset_of!(PerformanceMarkerInfoINTEL, marker)); + println!("PerformanceStreamMarkerInfoINTEL {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PerformanceStreamMarkerInfoINTEL, s_type), offset_of!(PerformanceStreamMarkerInfoINTEL, p_next), offset_of!(PerformanceStreamMarkerInfoINTEL, marker)); + println!("PerformanceOverrideInfoINTEL {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PerformanceOverrideInfoINTEL, s_type), offset_of!(PerformanceOverrideInfoINTEL, p_next), offset_of!(PerformanceOverrideInfoINTEL, enable), offset_of!(PerformanceOverrideInfoINTEL, parameter)); + println!("PerformanceConfigurationAcquireInfoINTEL {} {} {} {}", size_of::(), align_of::(), offset_of!(PerformanceConfigurationAcquireInfoINTEL, s_type), offset_of!(PerformanceConfigurationAcquireInfoINTEL, p_next)); + println!("PhysicalDeviceShaderClockFeaturesKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderClockFeaturesKHR, s_type), offset_of!(PhysicalDeviceShaderClockFeaturesKHR, p_next), offset_of!(PhysicalDeviceShaderClockFeaturesKHR, shader_subgroup_clock), offset_of!(PhysicalDeviceShaderClockFeaturesKHR, shader_device_clock)); + println!("PhysicalDeviceIndexTypeUint8Features {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceIndexTypeUint8Features, s_type), offset_of!(PhysicalDeviceIndexTypeUint8Features, p_next), offset_of!(PhysicalDeviceIndexTypeUint8Features, index_type_uint8)); + println!("PhysicalDeviceShaderSMBuiltinsPropertiesNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderSMBuiltinsPropertiesNV, s_type), offset_of!(PhysicalDeviceShaderSMBuiltinsPropertiesNV, p_next), offset_of!(PhysicalDeviceShaderSMBuiltinsPropertiesNV, shader_sm_count), offset_of!(PhysicalDeviceShaderSMBuiltinsPropertiesNV, shader_warps_per_sm)); + println!("PhysicalDeviceShaderSMBuiltinsFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderSMBuiltinsFeaturesNV, s_type), offset_of!(PhysicalDeviceShaderSMBuiltinsFeaturesNV, p_next), offset_of!(PhysicalDeviceShaderSMBuiltinsFeaturesNV, shader_sm_builtins)); + println!("PhysicalDeviceFragmentShaderInterlockFeaturesEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceFragmentShaderInterlockFeaturesEXT, s_type), offset_of!(PhysicalDeviceFragmentShaderInterlockFeaturesEXT, p_next), offset_of!(PhysicalDeviceFragmentShaderInterlockFeaturesEXT, fragment_shader_sample_interlock), offset_of!(PhysicalDeviceFragmentShaderInterlockFeaturesEXT, fragment_shader_pixel_interlock), offset_of!(PhysicalDeviceFragmentShaderInterlockFeaturesEXT, fragment_shader_shading_rate_interlock)); + println!("PhysicalDeviceSeparateDepthStencilLayoutsFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceSeparateDepthStencilLayoutsFeatures, s_type), offset_of!(PhysicalDeviceSeparateDepthStencilLayoutsFeatures, p_next), offset_of!(PhysicalDeviceSeparateDepthStencilLayoutsFeatures, separate_depth_stencil_layouts)); + println!("AttachmentReferenceStencilLayout {} {} {} {} {}", size_of::(), align_of::(), offset_of!(AttachmentReferenceStencilLayout, s_type), offset_of!(AttachmentReferenceStencilLayout, p_next), offset_of!(AttachmentReferenceStencilLayout, stencil_layout)); + println!("PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT, s_type), offset_of!(PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT, p_next), offset_of!(PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT, primitive_topology_list_restart), offset_of!(PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT, primitive_topology_patch_list_restart)); + println!("AttachmentDescriptionStencilLayout {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(AttachmentDescriptionStencilLayout, s_type), offset_of!(AttachmentDescriptionStencilLayout, p_next), offset_of!(AttachmentDescriptionStencilLayout, stencil_initial_layout), offset_of!(AttachmentDescriptionStencilLayout, stencil_final_layout)); + println!("PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, s_type), offset_of!(PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, p_next), offset_of!(PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, pipeline_executable_info)); + println!("PipelineInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineInfoKHR, s_type), offset_of!(PipelineInfoKHR, p_next), offset_of!(PipelineInfoKHR, pipeline)); + println!("PipelineExecutablePropertiesKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineExecutablePropertiesKHR, s_type), offset_of!(PipelineExecutablePropertiesKHR, p_next), offset_of!(PipelineExecutablePropertiesKHR, stages), offset_of!(PipelineExecutablePropertiesKHR, name), offset_of!(PipelineExecutablePropertiesKHR, description), offset_of!(PipelineExecutablePropertiesKHR, subgroup_size)); + println!("PipelineExecutableInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineExecutableInfoKHR, s_type), offset_of!(PipelineExecutableInfoKHR, p_next), offset_of!(PipelineExecutableInfoKHR, pipeline), offset_of!(PipelineExecutableInfoKHR, executable_index)); + println!("PipelineExecutableStatisticValueKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineExecutableStatisticValueKHR, b32), offset_of!(PipelineExecutableStatisticValueKHR, i64), offset_of!(PipelineExecutableStatisticValueKHR, u64), offset_of!(PipelineExecutableStatisticValueKHR, f64)); + println!("PipelineExecutableStatisticKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineExecutableStatisticKHR, s_type), offset_of!(PipelineExecutableStatisticKHR, p_next), offset_of!(PipelineExecutableStatisticKHR, name), offset_of!(PipelineExecutableStatisticKHR, description), offset_of!(PipelineExecutableStatisticKHR, format), offset_of!(PipelineExecutableStatisticKHR, value)); + println!("PipelineExecutableInternalRepresentationKHR {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineExecutableInternalRepresentationKHR, s_type), offset_of!(PipelineExecutableInternalRepresentationKHR, p_next), offset_of!(PipelineExecutableInternalRepresentationKHR, name), offset_of!(PipelineExecutableInternalRepresentationKHR, description), offset_of!(PipelineExecutableInternalRepresentationKHR, is_text), offset_of!(PipelineExecutableInternalRepresentationKHR, data_size), offset_of!(PipelineExecutableInternalRepresentationKHR, p_data)); + println!("PhysicalDeviceShaderDemoteToHelperInvocationFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderDemoteToHelperInvocationFeatures, s_type), offset_of!(PhysicalDeviceShaderDemoteToHelperInvocationFeatures, p_next), offset_of!(PhysicalDeviceShaderDemoteToHelperInvocationFeatures, shader_demote_to_helper_invocation)); + println!("PhysicalDeviceTexelBufferAlignmentFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceTexelBufferAlignmentFeaturesEXT, s_type), offset_of!(PhysicalDeviceTexelBufferAlignmentFeaturesEXT, p_next), offset_of!(PhysicalDeviceTexelBufferAlignmentFeaturesEXT, texel_buffer_alignment)); + println!("PhysicalDeviceTexelBufferAlignmentProperties {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceTexelBufferAlignmentProperties, s_type), offset_of!(PhysicalDeviceTexelBufferAlignmentProperties, p_next), offset_of!(PhysicalDeviceTexelBufferAlignmentProperties, storage_texel_buffer_offset_alignment_bytes), offset_of!(PhysicalDeviceTexelBufferAlignmentProperties, storage_texel_buffer_offset_single_texel_alignment), offset_of!(PhysicalDeviceTexelBufferAlignmentProperties, uniform_texel_buffer_offset_alignment_bytes), offset_of!(PhysicalDeviceTexelBufferAlignmentProperties, uniform_texel_buffer_offset_single_texel_alignment)); + println!("PhysicalDeviceSubgroupSizeControlFeatures {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceSubgroupSizeControlFeatures, s_type), offset_of!(PhysicalDeviceSubgroupSizeControlFeatures, p_next), offset_of!(PhysicalDeviceSubgroupSizeControlFeatures, subgroup_size_control), offset_of!(PhysicalDeviceSubgroupSizeControlFeatures, compute_full_subgroups)); + println!("PhysicalDeviceSubgroupSizeControlProperties {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceSubgroupSizeControlProperties, s_type), offset_of!(PhysicalDeviceSubgroupSizeControlProperties, p_next), offset_of!(PhysicalDeviceSubgroupSizeControlProperties, min_subgroup_size), offset_of!(PhysicalDeviceSubgroupSizeControlProperties, max_subgroup_size), offset_of!(PhysicalDeviceSubgroupSizeControlProperties, max_compute_workgroup_subgroups), offset_of!(PhysicalDeviceSubgroupSizeControlProperties, required_subgroup_size_stages)); + println!("PipelineShaderStageRequiredSubgroupSizeCreateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineShaderStageRequiredSubgroupSizeCreateInfo, s_type), offset_of!(PipelineShaderStageRequiredSubgroupSizeCreateInfo, p_next), offset_of!(PipelineShaderStageRequiredSubgroupSizeCreateInfo, required_subgroup_size)); + println!("SubpassShadingPipelineCreateInfoHUAWEI {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SubpassShadingPipelineCreateInfoHUAWEI, s_type), offset_of!(SubpassShadingPipelineCreateInfoHUAWEI, p_next), offset_of!(SubpassShadingPipelineCreateInfoHUAWEI, render_pass), offset_of!(SubpassShadingPipelineCreateInfoHUAWEI, subpass)); + println!("PhysicalDeviceSubpassShadingPropertiesHUAWEI {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceSubpassShadingPropertiesHUAWEI, s_type), offset_of!(PhysicalDeviceSubpassShadingPropertiesHUAWEI, p_next), offset_of!(PhysicalDeviceSubpassShadingPropertiesHUAWEI, max_subpass_shading_workgroup_size_aspect_ratio)); + println!("PhysicalDeviceClusterCullingShaderPropertiesHUAWEI {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceClusterCullingShaderPropertiesHUAWEI, s_type), offset_of!(PhysicalDeviceClusterCullingShaderPropertiesHUAWEI, p_next), offset_of!(PhysicalDeviceClusterCullingShaderPropertiesHUAWEI, max_work_group_count), offset_of!(PhysicalDeviceClusterCullingShaderPropertiesHUAWEI, max_work_group_size), offset_of!(PhysicalDeviceClusterCullingShaderPropertiesHUAWEI, max_output_cluster_count), offset_of!(PhysicalDeviceClusterCullingShaderPropertiesHUAWEI, indirect_buffer_offset_alignment)); + println!("MemoryOpaqueCaptureAddressAllocateInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(MemoryOpaqueCaptureAddressAllocateInfo, s_type), offset_of!(MemoryOpaqueCaptureAddressAllocateInfo, p_next), offset_of!(MemoryOpaqueCaptureAddressAllocateInfo, opaque_capture_address)); + println!("DeviceMemoryOpaqueCaptureAddressInfo {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DeviceMemoryOpaqueCaptureAddressInfo, s_type), offset_of!(DeviceMemoryOpaqueCaptureAddressInfo, p_next), offset_of!(DeviceMemoryOpaqueCaptureAddressInfo, memory)); + println!("PhysicalDeviceLineRasterizationFeatures {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceLineRasterizationFeatures, s_type), offset_of!(PhysicalDeviceLineRasterizationFeatures, p_next), offset_of!(PhysicalDeviceLineRasterizationFeatures, rectangular_lines), offset_of!(PhysicalDeviceLineRasterizationFeatures, bresenham_lines), offset_of!(PhysicalDeviceLineRasterizationFeatures, smooth_lines), offset_of!(PhysicalDeviceLineRasterizationFeatures, stippled_rectangular_lines), offset_of!(PhysicalDeviceLineRasterizationFeatures, stippled_bresenham_lines), offset_of!(PhysicalDeviceLineRasterizationFeatures, stippled_smooth_lines)); + println!("PhysicalDeviceLineRasterizationProperties {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceLineRasterizationProperties, s_type), offset_of!(PhysicalDeviceLineRasterizationProperties, p_next), offset_of!(PhysicalDeviceLineRasterizationProperties, line_sub_pixel_precision_bits)); + println!("PipelineRasterizationLineStateCreateInfo {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineRasterizationLineStateCreateInfo, s_type), offset_of!(PipelineRasterizationLineStateCreateInfo, p_next), offset_of!(PipelineRasterizationLineStateCreateInfo, line_rasterization_mode), offset_of!(PipelineRasterizationLineStateCreateInfo, stippled_line_enable), offset_of!(PipelineRasterizationLineStateCreateInfo, line_stipple_factor), offset_of!(PipelineRasterizationLineStateCreateInfo, line_stipple_pattern)); + println!("PhysicalDevicePipelineCreationCacheControlFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDevicePipelineCreationCacheControlFeatures, s_type), offset_of!(PhysicalDevicePipelineCreationCacheControlFeatures, p_next), offset_of!(PhysicalDevicePipelineCreationCacheControlFeatures, pipeline_creation_cache_control)); + println!("PhysicalDeviceVulkan11Features {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceVulkan11Features, s_type), offset_of!(PhysicalDeviceVulkan11Features, p_next), offset_of!(PhysicalDeviceVulkan11Features, storage_buffer16_bit_access), offset_of!(PhysicalDeviceVulkan11Features, uniform_and_storage_buffer16_bit_access), offset_of!(PhysicalDeviceVulkan11Features, storage_push_constant16), offset_of!(PhysicalDeviceVulkan11Features, storage_input_output16), offset_of!(PhysicalDeviceVulkan11Features, multiview), offset_of!(PhysicalDeviceVulkan11Features, multiview_geometry_shader), offset_of!(PhysicalDeviceVulkan11Features, multiview_tessellation_shader), offset_of!(PhysicalDeviceVulkan11Features, variable_pointers_storage_buffer), offset_of!(PhysicalDeviceVulkan11Features, variable_pointers), offset_of!(PhysicalDeviceVulkan11Features, protected_memory), offset_of!(PhysicalDeviceVulkan11Features, sampler_ycbcr_conversion), offset_of!(PhysicalDeviceVulkan11Features, shader_draw_parameters)); + println!("PhysicalDeviceVulkan11Properties {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceVulkan11Properties, s_type), offset_of!(PhysicalDeviceVulkan11Properties, p_next), offset_of!(PhysicalDeviceVulkan11Properties, device_uuid), offset_of!(PhysicalDeviceVulkan11Properties, driver_uuid), offset_of!(PhysicalDeviceVulkan11Properties, device_luid), offset_of!(PhysicalDeviceVulkan11Properties, device_node_mask), offset_of!(PhysicalDeviceVulkan11Properties, device_luid_valid), offset_of!(PhysicalDeviceVulkan11Properties, subgroup_size), offset_of!(PhysicalDeviceVulkan11Properties, subgroup_supported_stages), offset_of!(PhysicalDeviceVulkan11Properties, subgroup_supported_operations), offset_of!(PhysicalDeviceVulkan11Properties, subgroup_quad_operations_in_all_stages), offset_of!(PhysicalDeviceVulkan11Properties, point_clipping_behavior), offset_of!(PhysicalDeviceVulkan11Properties, max_multiview_view_count), offset_of!(PhysicalDeviceVulkan11Properties, max_multiview_instance_index), offset_of!(PhysicalDeviceVulkan11Properties, protected_no_fault), offset_of!(PhysicalDeviceVulkan11Properties, max_per_set_descriptors), offset_of!(PhysicalDeviceVulkan11Properties, max_memory_allocation_size)); + println!("PhysicalDeviceVulkan12Features {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceVulkan12Features, s_type), offset_of!(PhysicalDeviceVulkan12Features, p_next), offset_of!(PhysicalDeviceVulkan12Features, sampler_mirror_clamp_to_edge), offset_of!(PhysicalDeviceVulkan12Features, draw_indirect_count), offset_of!(PhysicalDeviceVulkan12Features, storage_buffer8_bit_access), offset_of!(PhysicalDeviceVulkan12Features, uniform_and_storage_buffer8_bit_access), offset_of!(PhysicalDeviceVulkan12Features, storage_push_constant8), offset_of!(PhysicalDeviceVulkan12Features, shader_buffer_int64_atomics), offset_of!(PhysicalDeviceVulkan12Features, shader_shared_int64_atomics), offset_of!(PhysicalDeviceVulkan12Features, shader_float16), offset_of!(PhysicalDeviceVulkan12Features, shader_int8), offset_of!(PhysicalDeviceVulkan12Features, descriptor_indexing), offset_of!(PhysicalDeviceVulkan12Features, shader_input_attachment_array_dynamic_indexing), offset_of!(PhysicalDeviceVulkan12Features, shader_uniform_texel_buffer_array_dynamic_indexing), offset_of!(PhysicalDeviceVulkan12Features, shader_storage_texel_buffer_array_dynamic_indexing), offset_of!(PhysicalDeviceVulkan12Features, shader_uniform_buffer_array_non_uniform_indexing), offset_of!(PhysicalDeviceVulkan12Features, shader_sampled_image_array_non_uniform_indexing), offset_of!(PhysicalDeviceVulkan12Features, shader_storage_buffer_array_non_uniform_indexing), offset_of!(PhysicalDeviceVulkan12Features, shader_storage_image_array_non_uniform_indexing), offset_of!(PhysicalDeviceVulkan12Features, shader_input_attachment_array_non_uniform_indexing), offset_of!(PhysicalDeviceVulkan12Features, shader_uniform_texel_buffer_array_non_uniform_indexing), offset_of!(PhysicalDeviceVulkan12Features, shader_storage_texel_buffer_array_non_uniform_indexing), offset_of!(PhysicalDeviceVulkan12Features, descriptor_binding_uniform_buffer_update_after_bind), offset_of!(PhysicalDeviceVulkan12Features, descriptor_binding_sampled_image_update_after_bind), offset_of!(PhysicalDeviceVulkan12Features, descriptor_binding_storage_image_update_after_bind), offset_of!(PhysicalDeviceVulkan12Features, descriptor_binding_storage_buffer_update_after_bind), offset_of!(PhysicalDeviceVulkan12Features, descriptor_binding_uniform_texel_buffer_update_after_bind), offset_of!(PhysicalDeviceVulkan12Features, descriptor_binding_storage_texel_buffer_update_after_bind), offset_of!(PhysicalDeviceVulkan12Features, descriptor_binding_update_unused_while_pending), offset_of!(PhysicalDeviceVulkan12Features, descriptor_binding_partially_bound), offset_of!(PhysicalDeviceVulkan12Features, descriptor_binding_variable_descriptor_count), offset_of!(PhysicalDeviceVulkan12Features, runtime_descriptor_array), offset_of!(PhysicalDeviceVulkan12Features, sampler_filter_minmax), offset_of!(PhysicalDeviceVulkan12Features, scalar_block_layout), offset_of!(PhysicalDeviceVulkan12Features, imageless_framebuffer), offset_of!(PhysicalDeviceVulkan12Features, uniform_buffer_standard_layout), offset_of!(PhysicalDeviceVulkan12Features, shader_subgroup_extended_types), offset_of!(PhysicalDeviceVulkan12Features, separate_depth_stencil_layouts), offset_of!(PhysicalDeviceVulkan12Features, host_query_reset), offset_of!(PhysicalDeviceVulkan12Features, timeline_semaphore), offset_of!(PhysicalDeviceVulkan12Features, buffer_device_address), offset_of!(PhysicalDeviceVulkan12Features, buffer_device_address_capture_replay), offset_of!(PhysicalDeviceVulkan12Features, buffer_device_address_multi_device), offset_of!(PhysicalDeviceVulkan12Features, vulkan_memory_model), offset_of!(PhysicalDeviceVulkan12Features, vulkan_memory_model_device_scope), offset_of!(PhysicalDeviceVulkan12Features, vulkan_memory_model_availability_visibility_chains), offset_of!(PhysicalDeviceVulkan12Features, shader_output_viewport_index), offset_of!(PhysicalDeviceVulkan12Features, shader_output_layer), offset_of!(PhysicalDeviceVulkan12Features, subgroup_broadcast_dynamic_id)); + println!("PhysicalDeviceVulkan12Properties {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceVulkan12Properties, s_type), offset_of!(PhysicalDeviceVulkan12Properties, p_next), offset_of!(PhysicalDeviceVulkan12Properties, driver_id), offset_of!(PhysicalDeviceVulkan12Properties, driver_name), offset_of!(PhysicalDeviceVulkan12Properties, driver_info), offset_of!(PhysicalDeviceVulkan12Properties, conformance_version), offset_of!(PhysicalDeviceVulkan12Properties, denorm_behavior_independence), offset_of!(PhysicalDeviceVulkan12Properties, rounding_mode_independence), offset_of!(PhysicalDeviceVulkan12Properties, shader_signed_zero_inf_nan_preserve_float16), offset_of!(PhysicalDeviceVulkan12Properties, shader_signed_zero_inf_nan_preserve_float32), offset_of!(PhysicalDeviceVulkan12Properties, shader_signed_zero_inf_nan_preserve_float64), offset_of!(PhysicalDeviceVulkan12Properties, shader_denorm_preserve_float16), offset_of!(PhysicalDeviceVulkan12Properties, shader_denorm_preserve_float32), offset_of!(PhysicalDeviceVulkan12Properties, shader_denorm_preserve_float64), offset_of!(PhysicalDeviceVulkan12Properties, shader_denorm_flush_to_zero_float16), offset_of!(PhysicalDeviceVulkan12Properties, shader_denorm_flush_to_zero_float32), offset_of!(PhysicalDeviceVulkan12Properties, shader_denorm_flush_to_zero_float64), offset_of!(PhysicalDeviceVulkan12Properties, shader_rounding_mode_rte_float16), offset_of!(PhysicalDeviceVulkan12Properties, shader_rounding_mode_rte_float32), offset_of!(PhysicalDeviceVulkan12Properties, shader_rounding_mode_rte_float64), offset_of!(PhysicalDeviceVulkan12Properties, shader_rounding_mode_rtz_float16), offset_of!(PhysicalDeviceVulkan12Properties, shader_rounding_mode_rtz_float32), offset_of!(PhysicalDeviceVulkan12Properties, shader_rounding_mode_rtz_float64), offset_of!(PhysicalDeviceVulkan12Properties, max_update_after_bind_descriptors_in_all_pools), offset_of!(PhysicalDeviceVulkan12Properties, shader_uniform_buffer_array_non_uniform_indexing_native), offset_of!(PhysicalDeviceVulkan12Properties, shader_sampled_image_array_non_uniform_indexing_native), offset_of!(PhysicalDeviceVulkan12Properties, shader_storage_buffer_array_non_uniform_indexing_native), offset_of!(PhysicalDeviceVulkan12Properties, shader_storage_image_array_non_uniform_indexing_native), offset_of!(PhysicalDeviceVulkan12Properties, shader_input_attachment_array_non_uniform_indexing_native), offset_of!(PhysicalDeviceVulkan12Properties, robust_buffer_access_update_after_bind), offset_of!(PhysicalDeviceVulkan12Properties, quad_divergent_implicit_lod), offset_of!(PhysicalDeviceVulkan12Properties, max_per_stage_descriptor_update_after_bind_samplers), offset_of!(PhysicalDeviceVulkan12Properties, max_per_stage_descriptor_update_after_bind_uniform_buffers), offset_of!(PhysicalDeviceVulkan12Properties, max_per_stage_descriptor_update_after_bind_storage_buffers), offset_of!(PhysicalDeviceVulkan12Properties, max_per_stage_descriptor_update_after_bind_sampled_images), offset_of!(PhysicalDeviceVulkan12Properties, max_per_stage_descriptor_update_after_bind_storage_images), offset_of!(PhysicalDeviceVulkan12Properties, max_per_stage_descriptor_update_after_bind_input_attachments), offset_of!(PhysicalDeviceVulkan12Properties, max_per_stage_update_after_bind_resources), offset_of!(PhysicalDeviceVulkan12Properties, max_descriptor_set_update_after_bind_samplers), offset_of!(PhysicalDeviceVulkan12Properties, max_descriptor_set_update_after_bind_uniform_buffers), offset_of!(PhysicalDeviceVulkan12Properties, max_descriptor_set_update_after_bind_uniform_buffers_dynamic), offset_of!(PhysicalDeviceVulkan12Properties, max_descriptor_set_update_after_bind_storage_buffers), offset_of!(PhysicalDeviceVulkan12Properties, max_descriptor_set_update_after_bind_storage_buffers_dynamic), offset_of!(PhysicalDeviceVulkan12Properties, max_descriptor_set_update_after_bind_sampled_images), offset_of!(PhysicalDeviceVulkan12Properties, max_descriptor_set_update_after_bind_storage_images), offset_of!(PhysicalDeviceVulkan12Properties, max_descriptor_set_update_after_bind_input_attachments), offset_of!(PhysicalDeviceVulkan12Properties, supported_depth_resolve_modes), offset_of!(PhysicalDeviceVulkan12Properties, supported_stencil_resolve_modes), offset_of!(PhysicalDeviceVulkan12Properties, independent_resolve_none), offset_of!(PhysicalDeviceVulkan12Properties, independent_resolve), offset_of!(PhysicalDeviceVulkan12Properties, filter_minmax_single_component_formats), offset_of!(PhysicalDeviceVulkan12Properties, filter_minmax_image_component_mapping), offset_of!(PhysicalDeviceVulkan12Properties, max_timeline_semaphore_value_difference), offset_of!(PhysicalDeviceVulkan12Properties, framebuffer_integer_color_sample_counts)); + println!("PhysicalDeviceVulkan13Features {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceVulkan13Features, s_type), offset_of!(PhysicalDeviceVulkan13Features, p_next), offset_of!(PhysicalDeviceVulkan13Features, robust_image_access), offset_of!(PhysicalDeviceVulkan13Features, inline_uniform_block), offset_of!(PhysicalDeviceVulkan13Features, descriptor_binding_inline_uniform_block_update_after_bind), offset_of!(PhysicalDeviceVulkan13Features, pipeline_creation_cache_control), offset_of!(PhysicalDeviceVulkan13Features, private_data), offset_of!(PhysicalDeviceVulkan13Features, shader_demote_to_helper_invocation), offset_of!(PhysicalDeviceVulkan13Features, shader_terminate_invocation), offset_of!(PhysicalDeviceVulkan13Features, subgroup_size_control), offset_of!(PhysicalDeviceVulkan13Features, compute_full_subgroups), offset_of!(PhysicalDeviceVulkan13Features, synchronization2), offset_of!(PhysicalDeviceVulkan13Features, texture_compression_astc_hdr), offset_of!(PhysicalDeviceVulkan13Features, shader_zero_initialize_workgroup_memory), offset_of!(PhysicalDeviceVulkan13Features, dynamic_rendering), offset_of!(PhysicalDeviceVulkan13Features, shader_integer_dot_product), offset_of!(PhysicalDeviceVulkan13Features, maintenance4)); + println!("PhysicalDeviceVulkan13Properties {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceVulkan13Properties, s_type), offset_of!(PhysicalDeviceVulkan13Properties, p_next), offset_of!(PhysicalDeviceVulkan13Properties, min_subgroup_size), offset_of!(PhysicalDeviceVulkan13Properties, max_subgroup_size), offset_of!(PhysicalDeviceVulkan13Properties, max_compute_workgroup_subgroups), offset_of!(PhysicalDeviceVulkan13Properties, required_subgroup_size_stages), offset_of!(PhysicalDeviceVulkan13Properties, max_inline_uniform_block_size), offset_of!(PhysicalDeviceVulkan13Properties, max_per_stage_descriptor_inline_uniform_blocks), offset_of!(PhysicalDeviceVulkan13Properties, max_per_stage_descriptor_update_after_bind_inline_uniform_blocks), offset_of!(PhysicalDeviceVulkan13Properties, max_descriptor_set_inline_uniform_blocks), offset_of!(PhysicalDeviceVulkan13Properties, max_descriptor_set_update_after_bind_inline_uniform_blocks), offset_of!(PhysicalDeviceVulkan13Properties, max_inline_uniform_total_size), offset_of!(PhysicalDeviceVulkan13Properties, integer_dot_product8_bit_unsigned_accelerated), offset_of!(PhysicalDeviceVulkan13Properties, integer_dot_product8_bit_signed_accelerated), offset_of!(PhysicalDeviceVulkan13Properties, integer_dot_product8_bit_mixed_signedness_accelerated), offset_of!(PhysicalDeviceVulkan13Properties, integer_dot_product4x8_bit_packed_unsigned_accelerated), offset_of!(PhysicalDeviceVulkan13Properties, integer_dot_product4x8_bit_packed_signed_accelerated), offset_of!(PhysicalDeviceVulkan13Properties, integer_dot_product4x8_bit_packed_mixed_signedness_accelerated), offset_of!(PhysicalDeviceVulkan13Properties, integer_dot_product16_bit_unsigned_accelerated), offset_of!(PhysicalDeviceVulkan13Properties, integer_dot_product16_bit_signed_accelerated), offset_of!(PhysicalDeviceVulkan13Properties, integer_dot_product16_bit_mixed_signedness_accelerated), offset_of!(PhysicalDeviceVulkan13Properties, integer_dot_product32_bit_unsigned_accelerated), offset_of!(PhysicalDeviceVulkan13Properties, integer_dot_product32_bit_signed_accelerated), offset_of!(PhysicalDeviceVulkan13Properties, integer_dot_product32_bit_mixed_signedness_accelerated), offset_of!(PhysicalDeviceVulkan13Properties, integer_dot_product64_bit_unsigned_accelerated), offset_of!(PhysicalDeviceVulkan13Properties, integer_dot_product64_bit_signed_accelerated), offset_of!(PhysicalDeviceVulkan13Properties, integer_dot_product64_bit_mixed_signedness_accelerated), offset_of!(PhysicalDeviceVulkan13Properties, integer_dot_product_accumulating_saturating8_bit_unsigned_accelerated), offset_of!(PhysicalDeviceVulkan13Properties, integer_dot_product_accumulating_saturating8_bit_signed_accelerated), offset_of!(PhysicalDeviceVulkan13Properties, integer_dot_product_accumulating_saturating8_bit_mixed_signedness_accelerated), offset_of!(PhysicalDeviceVulkan13Properties, integer_dot_product_accumulating_saturating4x8_bit_packed_unsigned_accelerated), offset_of!(PhysicalDeviceVulkan13Properties, integer_dot_product_accumulating_saturating4x8_bit_packed_signed_accelerated), offset_of!(PhysicalDeviceVulkan13Properties, integer_dot_product_accumulating_saturating4x8_bit_packed_mixed_signedness_accelerated), offset_of!(PhysicalDeviceVulkan13Properties, integer_dot_product_accumulating_saturating16_bit_unsigned_accelerated), offset_of!(PhysicalDeviceVulkan13Properties, integer_dot_product_accumulating_saturating16_bit_signed_accelerated), offset_of!(PhysicalDeviceVulkan13Properties, integer_dot_product_accumulating_saturating16_bit_mixed_signedness_accelerated), offset_of!(PhysicalDeviceVulkan13Properties, integer_dot_product_accumulating_saturating32_bit_unsigned_accelerated), offset_of!(PhysicalDeviceVulkan13Properties, integer_dot_product_accumulating_saturating32_bit_signed_accelerated), offset_of!(PhysicalDeviceVulkan13Properties, integer_dot_product_accumulating_saturating32_bit_mixed_signedness_accelerated), offset_of!(PhysicalDeviceVulkan13Properties, integer_dot_product_accumulating_saturating64_bit_unsigned_accelerated), offset_of!(PhysicalDeviceVulkan13Properties, integer_dot_product_accumulating_saturating64_bit_signed_accelerated), offset_of!(PhysicalDeviceVulkan13Properties, integer_dot_product_accumulating_saturating64_bit_mixed_signedness_accelerated), offset_of!(PhysicalDeviceVulkan13Properties, storage_texel_buffer_offset_alignment_bytes), offset_of!(PhysicalDeviceVulkan13Properties, storage_texel_buffer_offset_single_texel_alignment), offset_of!(PhysicalDeviceVulkan13Properties, uniform_texel_buffer_offset_alignment_bytes), offset_of!(PhysicalDeviceVulkan13Properties, uniform_texel_buffer_offset_single_texel_alignment), offset_of!(PhysicalDeviceVulkan13Properties, max_buffer_size)); + println!("PhysicalDeviceVulkan14Features {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceVulkan14Features, s_type), offset_of!(PhysicalDeviceVulkan14Features, p_next), offset_of!(PhysicalDeviceVulkan14Features, global_priority_query), offset_of!(PhysicalDeviceVulkan14Features, shader_subgroup_rotate), offset_of!(PhysicalDeviceVulkan14Features, shader_subgroup_rotate_clustered), offset_of!(PhysicalDeviceVulkan14Features, shader_float_controls2), offset_of!(PhysicalDeviceVulkan14Features, shader_expect_assume), offset_of!(PhysicalDeviceVulkan14Features, rectangular_lines), offset_of!(PhysicalDeviceVulkan14Features, bresenham_lines), offset_of!(PhysicalDeviceVulkan14Features, smooth_lines), offset_of!(PhysicalDeviceVulkan14Features, stippled_rectangular_lines), offset_of!(PhysicalDeviceVulkan14Features, stippled_bresenham_lines), offset_of!(PhysicalDeviceVulkan14Features, stippled_smooth_lines), offset_of!(PhysicalDeviceVulkan14Features, vertex_attribute_instance_rate_divisor), offset_of!(PhysicalDeviceVulkan14Features, vertex_attribute_instance_rate_zero_divisor), offset_of!(PhysicalDeviceVulkan14Features, index_type_uint8), offset_of!(PhysicalDeviceVulkan14Features, dynamic_rendering_local_read), offset_of!(PhysicalDeviceVulkan14Features, maintenance5), offset_of!(PhysicalDeviceVulkan14Features, maintenance6), offset_of!(PhysicalDeviceVulkan14Features, pipeline_protected_access), offset_of!(PhysicalDeviceVulkan14Features, pipeline_robustness), offset_of!(PhysicalDeviceVulkan14Features, host_image_copy), offset_of!(PhysicalDeviceVulkan14Features, push_descriptor)); + println!("PhysicalDeviceVulkan14Properties {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceVulkan14Properties, s_type), offset_of!(PhysicalDeviceVulkan14Properties, p_next), offset_of!(PhysicalDeviceVulkan14Properties, line_sub_pixel_precision_bits), offset_of!(PhysicalDeviceVulkan14Properties, max_vertex_attrib_divisor), offset_of!(PhysicalDeviceVulkan14Properties, supports_non_zero_first_instance), offset_of!(PhysicalDeviceVulkan14Properties, max_push_descriptors), offset_of!(PhysicalDeviceVulkan14Properties, dynamic_rendering_local_read_depth_stencil_attachments), offset_of!(PhysicalDeviceVulkan14Properties, dynamic_rendering_local_read_multisampled_attachments), offset_of!(PhysicalDeviceVulkan14Properties, early_fragment_multisample_coverage_after_sample_counting), offset_of!(PhysicalDeviceVulkan14Properties, early_fragment_sample_mask_test_before_sample_counting), offset_of!(PhysicalDeviceVulkan14Properties, depth_stencil_swizzle_one_support), offset_of!(PhysicalDeviceVulkan14Properties, polygon_mode_point_size), offset_of!(PhysicalDeviceVulkan14Properties, non_strict_single_pixel_wide_lines_use_parallelogram), offset_of!(PhysicalDeviceVulkan14Properties, non_strict_wide_lines_use_parallelogram), offset_of!(PhysicalDeviceVulkan14Properties, block_texel_view_compatible_multiple_layers), offset_of!(PhysicalDeviceVulkan14Properties, max_combined_image_sampler_descriptor_count), offset_of!(PhysicalDeviceVulkan14Properties, fragment_shading_rate_clamp_combiner_inputs), offset_of!(PhysicalDeviceVulkan14Properties, default_robustness_storage_buffers), offset_of!(PhysicalDeviceVulkan14Properties, default_robustness_uniform_buffers), offset_of!(PhysicalDeviceVulkan14Properties, default_robustness_vertex_inputs), offset_of!(PhysicalDeviceVulkan14Properties, default_robustness_images), offset_of!(PhysicalDeviceVulkan14Properties, copy_src_layout_count), offset_of!(PhysicalDeviceVulkan14Properties, p_copy_src_layouts), offset_of!(PhysicalDeviceVulkan14Properties, copy_dst_layout_count), offset_of!(PhysicalDeviceVulkan14Properties, p_copy_dst_layouts), offset_of!(PhysicalDeviceVulkan14Properties, optimal_tiling_layout_uuid), offset_of!(PhysicalDeviceVulkan14Properties, identical_memory_type_requirements)); + println!("PipelineCompilerControlCreateInfoAMD {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineCompilerControlCreateInfoAMD, s_type), offset_of!(PipelineCompilerControlCreateInfoAMD, p_next), offset_of!(PipelineCompilerControlCreateInfoAMD, compiler_control_flags)); + println!("PhysicalDeviceCoherentMemoryFeaturesAMD {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceCoherentMemoryFeaturesAMD, s_type), offset_of!(PhysicalDeviceCoherentMemoryFeaturesAMD, p_next), offset_of!(PhysicalDeviceCoherentMemoryFeaturesAMD, device_coherent_memory)); + println!("PhysicalDeviceToolProperties {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceToolProperties, s_type), offset_of!(PhysicalDeviceToolProperties, p_next), offset_of!(PhysicalDeviceToolProperties, name), offset_of!(PhysicalDeviceToolProperties, version), offset_of!(PhysicalDeviceToolProperties, purposes), offset_of!(PhysicalDeviceToolProperties, description), offset_of!(PhysicalDeviceToolProperties, layer)); + println!("SamplerCustomBorderColorCreateInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SamplerCustomBorderColorCreateInfoEXT, s_type), offset_of!(SamplerCustomBorderColorCreateInfoEXT, p_next), offset_of!(SamplerCustomBorderColorCreateInfoEXT, custom_border_color), offset_of!(SamplerCustomBorderColorCreateInfoEXT, format)); + println!("PhysicalDeviceCustomBorderColorPropertiesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceCustomBorderColorPropertiesEXT, s_type), offset_of!(PhysicalDeviceCustomBorderColorPropertiesEXT, p_next), offset_of!(PhysicalDeviceCustomBorderColorPropertiesEXT, max_custom_border_color_samplers)); + println!("PhysicalDeviceCustomBorderColorFeaturesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceCustomBorderColorFeaturesEXT, s_type), offset_of!(PhysicalDeviceCustomBorderColorFeaturesEXT, p_next), offset_of!(PhysicalDeviceCustomBorderColorFeaturesEXT, custom_border_colors), offset_of!(PhysicalDeviceCustomBorderColorFeaturesEXT, custom_border_color_without_format)); + println!("SamplerBorderColorComponentMappingCreateInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SamplerBorderColorComponentMappingCreateInfoEXT, s_type), offset_of!(SamplerBorderColorComponentMappingCreateInfoEXT, p_next), offset_of!(SamplerBorderColorComponentMappingCreateInfoEXT, components), offset_of!(SamplerBorderColorComponentMappingCreateInfoEXT, srgb)); + println!("PhysicalDeviceBorderColorSwizzleFeaturesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceBorderColorSwizzleFeaturesEXT, s_type), offset_of!(PhysicalDeviceBorderColorSwizzleFeaturesEXT, p_next), offset_of!(PhysicalDeviceBorderColorSwizzleFeaturesEXT, border_color_swizzle), offset_of!(PhysicalDeviceBorderColorSwizzleFeaturesEXT, border_color_swizzle_from_image)); + println!("DeviceOrHostAddressKHR {} {} {} {}", size_of::(), align_of::(), offset_of!(DeviceOrHostAddressKHR, device_address), offset_of!(DeviceOrHostAddressKHR, host_address)); + println!("DeviceOrHostAddressConstKHR {} {} {} {}", size_of::(), align_of::(), offset_of!(DeviceOrHostAddressConstKHR, device_address), offset_of!(DeviceOrHostAddressConstKHR, host_address)); + println!("AccelerationStructureGeometryTrianglesDataKHR {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(AccelerationStructureGeometryTrianglesDataKHR, s_type), offset_of!(AccelerationStructureGeometryTrianglesDataKHR, p_next), offset_of!(AccelerationStructureGeometryTrianglesDataKHR, vertex_format), offset_of!(AccelerationStructureGeometryTrianglesDataKHR, vertex_data), offset_of!(AccelerationStructureGeometryTrianglesDataKHR, vertex_stride), offset_of!(AccelerationStructureGeometryTrianglesDataKHR, max_vertex), offset_of!(AccelerationStructureGeometryTrianglesDataKHR, index_type), offset_of!(AccelerationStructureGeometryTrianglesDataKHR, index_data), offset_of!(AccelerationStructureGeometryTrianglesDataKHR, transform_data)); + println!("AccelerationStructureGeometryAabbsDataKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(AccelerationStructureGeometryAabbsDataKHR, s_type), offset_of!(AccelerationStructureGeometryAabbsDataKHR, p_next), offset_of!(AccelerationStructureGeometryAabbsDataKHR, data), offset_of!(AccelerationStructureGeometryAabbsDataKHR, stride)); + println!("AccelerationStructureGeometryInstancesDataKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(AccelerationStructureGeometryInstancesDataKHR, s_type), offset_of!(AccelerationStructureGeometryInstancesDataKHR, p_next), offset_of!(AccelerationStructureGeometryInstancesDataKHR, array_of_pointers), offset_of!(AccelerationStructureGeometryInstancesDataKHR, data)); + println!("AccelerationStructureGeometryLinearSweptSpheresDataNV {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(AccelerationStructureGeometryLinearSweptSpheresDataNV, s_type), offset_of!(AccelerationStructureGeometryLinearSweptSpheresDataNV, p_next), offset_of!(AccelerationStructureGeometryLinearSweptSpheresDataNV, vertex_format), offset_of!(AccelerationStructureGeometryLinearSweptSpheresDataNV, vertex_data), offset_of!(AccelerationStructureGeometryLinearSweptSpheresDataNV, vertex_stride), offset_of!(AccelerationStructureGeometryLinearSweptSpheresDataNV, radius_format), offset_of!(AccelerationStructureGeometryLinearSweptSpheresDataNV, radius_data), offset_of!(AccelerationStructureGeometryLinearSweptSpheresDataNV, radius_stride), offset_of!(AccelerationStructureGeometryLinearSweptSpheresDataNV, index_type), offset_of!(AccelerationStructureGeometryLinearSweptSpheresDataNV, index_data), offset_of!(AccelerationStructureGeometryLinearSweptSpheresDataNV, index_stride), offset_of!(AccelerationStructureGeometryLinearSweptSpheresDataNV, indexing_mode), offset_of!(AccelerationStructureGeometryLinearSweptSpheresDataNV, end_caps_mode)); + println!("AccelerationStructureGeometrySpheresDataNV {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(AccelerationStructureGeometrySpheresDataNV, s_type), offset_of!(AccelerationStructureGeometrySpheresDataNV, p_next), offset_of!(AccelerationStructureGeometrySpheresDataNV, vertex_format), offset_of!(AccelerationStructureGeometrySpheresDataNV, vertex_data), offset_of!(AccelerationStructureGeometrySpheresDataNV, vertex_stride), offset_of!(AccelerationStructureGeometrySpheresDataNV, radius_format), offset_of!(AccelerationStructureGeometrySpheresDataNV, radius_data), offset_of!(AccelerationStructureGeometrySpheresDataNV, radius_stride), offset_of!(AccelerationStructureGeometrySpheresDataNV, index_type), offset_of!(AccelerationStructureGeometrySpheresDataNV, index_data), offset_of!(AccelerationStructureGeometrySpheresDataNV, index_stride)); + println!("AccelerationStructureGeometryDataKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(AccelerationStructureGeometryDataKHR, triangles), offset_of!(AccelerationStructureGeometryDataKHR, aabbs), offset_of!(AccelerationStructureGeometryDataKHR, instances)); + println!("AccelerationStructureGeometryKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(AccelerationStructureGeometryKHR, s_type), offset_of!(AccelerationStructureGeometryKHR, p_next), offset_of!(AccelerationStructureGeometryKHR, geometry_type), offset_of!(AccelerationStructureGeometryKHR, geometry), offset_of!(AccelerationStructureGeometryKHR, flags)); + println!("AccelerationStructureBuildGeometryInfoKHR {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(AccelerationStructureBuildGeometryInfoKHR, s_type), offset_of!(AccelerationStructureBuildGeometryInfoKHR, p_next), offset_of!(AccelerationStructureBuildGeometryInfoKHR, flags), offset_of!(AccelerationStructureBuildGeometryInfoKHR, mode), offset_of!(AccelerationStructureBuildGeometryInfoKHR, src_acceleration_structure), offset_of!(AccelerationStructureBuildGeometryInfoKHR, dst_acceleration_structure), offset_of!(AccelerationStructureBuildGeometryInfoKHR, geometry_count), offset_of!(AccelerationStructureBuildGeometryInfoKHR, p_geometries), offset_of!(AccelerationStructureBuildGeometryInfoKHR, pp_geometries), offset_of!(AccelerationStructureBuildGeometryInfoKHR, scratch_data)); + println!("AccelerationStructureBuildRangeInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(AccelerationStructureBuildRangeInfoKHR, primitive_count), offset_of!(AccelerationStructureBuildRangeInfoKHR, primitive_offset), offset_of!(AccelerationStructureBuildRangeInfoKHR, first_vertex), offset_of!(AccelerationStructureBuildRangeInfoKHR, transform_offset)); + println!("AccelerationStructureCreateInfoKHR {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(AccelerationStructureCreateInfoKHR, s_type), offset_of!(AccelerationStructureCreateInfoKHR, p_next), offset_of!(AccelerationStructureCreateInfoKHR, create_flags), offset_of!(AccelerationStructureCreateInfoKHR, buffer), offset_of!(AccelerationStructureCreateInfoKHR, offset), offset_of!(AccelerationStructureCreateInfoKHR, size), offset_of!(AccelerationStructureCreateInfoKHR, device_address)); + println!("AabbPositionsKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(AabbPositionsKHR, min_x), offset_of!(AabbPositionsKHR, min_y), offset_of!(AabbPositionsKHR, min_z), offset_of!(AabbPositionsKHR, max_x), offset_of!(AabbPositionsKHR, max_y), offset_of!(AabbPositionsKHR, max_z)); + println!("TransformMatrixKHR {} {} {}", size_of::(), align_of::(), offset_of!(TransformMatrixKHR, matrix)); + println!("AccelerationStructureInstanceKHR {} {}", size_of::(), align_of::()); + println!("AccelerationStructureDeviceAddressInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(AccelerationStructureDeviceAddressInfoKHR, s_type), offset_of!(AccelerationStructureDeviceAddressInfoKHR, p_next), offset_of!(AccelerationStructureDeviceAddressInfoKHR, acceleration_structure)); + println!("AccelerationStructureVersionInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(AccelerationStructureVersionInfoKHR, s_type), offset_of!(AccelerationStructureVersionInfoKHR, p_next), offset_of!(AccelerationStructureVersionInfoKHR, p_version_data)); + println!("CopyAccelerationStructureInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CopyAccelerationStructureInfoKHR, s_type), offset_of!(CopyAccelerationStructureInfoKHR, p_next), offset_of!(CopyAccelerationStructureInfoKHR, src), offset_of!(CopyAccelerationStructureInfoKHR, dst), offset_of!(CopyAccelerationStructureInfoKHR, mode)); + println!("CopyAccelerationStructureToMemoryInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CopyAccelerationStructureToMemoryInfoKHR, s_type), offset_of!(CopyAccelerationStructureToMemoryInfoKHR, p_next), offset_of!(CopyAccelerationStructureToMemoryInfoKHR, src), offset_of!(CopyAccelerationStructureToMemoryInfoKHR, dst), offset_of!(CopyAccelerationStructureToMemoryInfoKHR, mode)); + println!("CopyMemoryToAccelerationStructureInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CopyMemoryToAccelerationStructureInfoKHR, s_type), offset_of!(CopyMemoryToAccelerationStructureInfoKHR, p_next), offset_of!(CopyMemoryToAccelerationStructureInfoKHR, src), offset_of!(CopyMemoryToAccelerationStructureInfoKHR, dst), offset_of!(CopyMemoryToAccelerationStructureInfoKHR, mode)); + println!("RayTracingPipelineInterfaceCreateInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(RayTracingPipelineInterfaceCreateInfoKHR, s_type), offset_of!(RayTracingPipelineInterfaceCreateInfoKHR, p_next), offset_of!(RayTracingPipelineInterfaceCreateInfoKHR, max_pipeline_ray_payload_size), offset_of!(RayTracingPipelineInterfaceCreateInfoKHR, max_pipeline_ray_hit_attribute_size)); + println!("PipelineLibraryCreateInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineLibraryCreateInfoKHR, s_type), offset_of!(PipelineLibraryCreateInfoKHR, p_next), offset_of!(PipelineLibraryCreateInfoKHR, library_count), offset_of!(PipelineLibraryCreateInfoKHR, p_libraries)); + println!("PhysicalDeviceExtendedDynamicStateFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceExtendedDynamicStateFeaturesEXT, s_type), offset_of!(PhysicalDeviceExtendedDynamicStateFeaturesEXT, p_next), offset_of!(PhysicalDeviceExtendedDynamicStateFeaturesEXT, extended_dynamic_state)); + println!("PhysicalDeviceExtendedDynamicState2FeaturesEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceExtendedDynamicState2FeaturesEXT, s_type), offset_of!(PhysicalDeviceExtendedDynamicState2FeaturesEXT, p_next), offset_of!(PhysicalDeviceExtendedDynamicState2FeaturesEXT, extended_dynamic_state2), offset_of!(PhysicalDeviceExtendedDynamicState2FeaturesEXT, extended_dynamic_state2_logic_op), offset_of!(PhysicalDeviceExtendedDynamicState2FeaturesEXT, extended_dynamic_state2_patch_control_points)); + println!("PhysicalDeviceExtendedDynamicState3FeaturesEXT {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceExtendedDynamicState3FeaturesEXT, s_type), offset_of!(PhysicalDeviceExtendedDynamicState3FeaturesEXT, p_next), offset_of!(PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_tessellation_domain_origin), offset_of!(PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_depth_clamp_enable), offset_of!(PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_polygon_mode), offset_of!(PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_rasterization_samples), offset_of!(PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_sample_mask), offset_of!(PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_alpha_to_coverage_enable), offset_of!(PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_alpha_to_one_enable), offset_of!(PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_logic_op_enable), offset_of!(PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_color_blend_enable), offset_of!(PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_color_blend_equation), offset_of!(PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_color_write_mask), offset_of!(PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_rasterization_stream), offset_of!(PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_conservative_rasterization_mode), offset_of!(PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_extra_primitive_overestimation_size), offset_of!(PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_depth_clip_enable), offset_of!(PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_sample_locations_enable), offset_of!(PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_color_blend_advanced), offset_of!(PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_provoking_vertex_mode), offset_of!(PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_line_rasterization_mode), offset_of!(PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_line_stipple_enable), offset_of!(PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_depth_clip_negative_one_to_one), offset_of!(PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_viewport_w_scaling_enable), offset_of!(PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_viewport_swizzle), offset_of!(PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_coverage_to_color_enable), offset_of!(PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_coverage_to_color_location), offset_of!(PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_coverage_modulation_mode), offset_of!(PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_coverage_modulation_table_enable), offset_of!(PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_coverage_modulation_table), offset_of!(PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_coverage_reduction_mode), offset_of!(PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_representative_fragment_test_enable), offset_of!(PhysicalDeviceExtendedDynamicState3FeaturesEXT, extended_dynamic_state3_shading_rate_image_enable)); + println!("PhysicalDeviceExtendedDynamicState3PropertiesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceExtendedDynamicState3PropertiesEXT, s_type), offset_of!(PhysicalDeviceExtendedDynamicState3PropertiesEXT, p_next), offset_of!(PhysicalDeviceExtendedDynamicState3PropertiesEXT, dynamic_primitive_topology_unrestricted)); + println!("ColorBlendEquationEXT {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ColorBlendEquationEXT, src_color_blend_factor), offset_of!(ColorBlendEquationEXT, dst_color_blend_factor), offset_of!(ColorBlendEquationEXT, color_blend_op), offset_of!(ColorBlendEquationEXT, src_alpha_blend_factor), offset_of!(ColorBlendEquationEXT, dst_alpha_blend_factor), offset_of!(ColorBlendEquationEXT, alpha_blend_op)); + println!("ColorBlendAdvancedEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ColorBlendAdvancedEXT, advanced_blend_op), offset_of!(ColorBlendAdvancedEXT, src_premultiplied), offset_of!(ColorBlendAdvancedEXT, dst_premultiplied), offset_of!(ColorBlendAdvancedEXT, blend_overlap), offset_of!(ColorBlendAdvancedEXT, clamp_results)); + println!("RenderPassTransformBeginInfoQCOM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(RenderPassTransformBeginInfoQCOM, s_type), offset_of!(RenderPassTransformBeginInfoQCOM, p_next), offset_of!(RenderPassTransformBeginInfoQCOM, transform)); + println!("CopyCommandTransformInfoQCOM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CopyCommandTransformInfoQCOM, s_type), offset_of!(CopyCommandTransformInfoQCOM, p_next), offset_of!(CopyCommandTransformInfoQCOM, transform)); + println!("CommandBufferInheritanceRenderPassTransformInfoQCOM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CommandBufferInheritanceRenderPassTransformInfoQCOM, s_type), offset_of!(CommandBufferInheritanceRenderPassTransformInfoQCOM, p_next), offset_of!(CommandBufferInheritanceRenderPassTransformInfoQCOM, transform), offset_of!(CommandBufferInheritanceRenderPassTransformInfoQCOM, render_area)); + println!("PhysicalDevicePartitionedAccelerationStructureFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDevicePartitionedAccelerationStructureFeaturesNV, s_type), offset_of!(PhysicalDevicePartitionedAccelerationStructureFeaturesNV, p_next), offset_of!(PhysicalDevicePartitionedAccelerationStructureFeaturesNV, partitioned_acceleration_structure)); + println!("PhysicalDevicePartitionedAccelerationStructurePropertiesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDevicePartitionedAccelerationStructurePropertiesNV, s_type), offset_of!(PhysicalDevicePartitionedAccelerationStructurePropertiesNV, p_next), offset_of!(PhysicalDevicePartitionedAccelerationStructurePropertiesNV, max_partition_count)); + println!("BuildPartitionedAccelerationStructureIndirectCommandNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(BuildPartitionedAccelerationStructureIndirectCommandNV, op_type), offset_of!(BuildPartitionedAccelerationStructureIndirectCommandNV, arg_count), offset_of!(BuildPartitionedAccelerationStructureIndirectCommandNV, arg_data)); + println!("PartitionedAccelerationStructureFlagsNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PartitionedAccelerationStructureFlagsNV, s_type), offset_of!(PartitionedAccelerationStructureFlagsNV, p_next), offset_of!(PartitionedAccelerationStructureFlagsNV, enable_partition_translation)); + println!("PartitionedAccelerationStructureWriteInstanceDataNV {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PartitionedAccelerationStructureWriteInstanceDataNV, transform), offset_of!(PartitionedAccelerationStructureWriteInstanceDataNV, explicit_aabb), offset_of!(PartitionedAccelerationStructureWriteInstanceDataNV, instance_id), offset_of!(PartitionedAccelerationStructureWriteInstanceDataNV, instance_mask), offset_of!(PartitionedAccelerationStructureWriteInstanceDataNV, instance_contribution_to_hit_group_index), offset_of!(PartitionedAccelerationStructureWriteInstanceDataNV, instance_flags), offset_of!(PartitionedAccelerationStructureWriteInstanceDataNV, instance_index), offset_of!(PartitionedAccelerationStructureWriteInstanceDataNV, partition_index), offset_of!(PartitionedAccelerationStructureWriteInstanceDataNV, acceleration_structure)); + println!("PartitionedAccelerationStructureUpdateInstanceDataNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PartitionedAccelerationStructureUpdateInstanceDataNV, instance_index), offset_of!(PartitionedAccelerationStructureUpdateInstanceDataNV, instance_contribution_to_hit_group_index), offset_of!(PartitionedAccelerationStructureUpdateInstanceDataNV, acceleration_structure)); + println!("PartitionedAccelerationStructureWritePartitionTranslationDataNV {} {} {} {}", size_of::(), align_of::(), offset_of!(PartitionedAccelerationStructureWritePartitionTranslationDataNV, partition_index), offset_of!(PartitionedAccelerationStructureWritePartitionTranslationDataNV, partition_translation)); + println!("WriteDescriptorSetPartitionedAccelerationStructureNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(WriteDescriptorSetPartitionedAccelerationStructureNV, s_type), offset_of!(WriteDescriptorSetPartitionedAccelerationStructureNV, p_next), offset_of!(WriteDescriptorSetPartitionedAccelerationStructureNV, acceleration_structure_count), offset_of!(WriteDescriptorSetPartitionedAccelerationStructureNV, p_acceleration_structures)); + println!("PartitionedAccelerationStructureInstancesInputNV {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PartitionedAccelerationStructureInstancesInputNV, s_type), offset_of!(PartitionedAccelerationStructureInstancesInputNV, p_next), offset_of!(PartitionedAccelerationStructureInstancesInputNV, flags), offset_of!(PartitionedAccelerationStructureInstancesInputNV, instance_count), offset_of!(PartitionedAccelerationStructureInstancesInputNV, max_instance_per_partition_count), offset_of!(PartitionedAccelerationStructureInstancesInputNV, partition_count), offset_of!(PartitionedAccelerationStructureInstancesInputNV, max_instance_in_global_partition_count)); + println!("BuildPartitionedAccelerationStructureInfoNV {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(BuildPartitionedAccelerationStructureInfoNV, s_type), offset_of!(BuildPartitionedAccelerationStructureInfoNV, p_next), offset_of!(BuildPartitionedAccelerationStructureInfoNV, input), offset_of!(BuildPartitionedAccelerationStructureInfoNV, src_acceleration_structure_data), offset_of!(BuildPartitionedAccelerationStructureInfoNV, dst_acceleration_structure_data), offset_of!(BuildPartitionedAccelerationStructureInfoNV, scratch_data), offset_of!(BuildPartitionedAccelerationStructureInfoNV, src_infos), offset_of!(BuildPartitionedAccelerationStructureInfoNV, src_infos_count)); + println!("PhysicalDeviceDiagnosticsConfigFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceDiagnosticsConfigFeaturesNV, s_type), offset_of!(PhysicalDeviceDiagnosticsConfigFeaturesNV, p_next), offset_of!(PhysicalDeviceDiagnosticsConfigFeaturesNV, diagnostics_config)); + println!("DeviceDiagnosticsConfigCreateInfoNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DeviceDiagnosticsConfigCreateInfoNV, s_type), offset_of!(DeviceDiagnosticsConfigCreateInfoNV, p_next), offset_of!(DeviceDiagnosticsConfigCreateInfoNV, flags)); + println!("PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures, s_type), offset_of!(PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures, p_next), offset_of!(PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures, shader_zero_initialize_workgroup_memory)); + println!("PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR, s_type), offset_of!(PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR, p_next), offset_of!(PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR, shader_subgroup_uniform_control_flow)); + println!("PhysicalDeviceRobustness2FeaturesKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceRobustness2FeaturesKHR, s_type), offset_of!(PhysicalDeviceRobustness2FeaturesKHR, p_next), offset_of!(PhysicalDeviceRobustness2FeaturesKHR, robust_buffer_access2), offset_of!(PhysicalDeviceRobustness2FeaturesKHR, robust_image_access2), offset_of!(PhysicalDeviceRobustness2FeaturesKHR, null_descriptor)); + println!("PhysicalDeviceRobustness2PropertiesKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceRobustness2PropertiesKHR, s_type), offset_of!(PhysicalDeviceRobustness2PropertiesKHR, p_next), offset_of!(PhysicalDeviceRobustness2PropertiesKHR, robust_storage_buffer_access_size_alignment), offset_of!(PhysicalDeviceRobustness2PropertiesKHR, robust_uniform_buffer_access_size_alignment)); + println!("PhysicalDeviceImageRobustnessFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceImageRobustnessFeatures, s_type), offset_of!(PhysicalDeviceImageRobustnessFeatures, p_next), offset_of!(PhysicalDeviceImageRobustnessFeatures, robust_image_access)); + println!("PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, s_type), offset_of!(PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, p_next), offset_of!(PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, workgroup_memory_explicit_layout), offset_of!(PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, workgroup_memory_explicit_layout_scalar_block_layout), offset_of!(PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, workgroup_memory_explicit_layout8_bit_access), offset_of!(PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, workgroup_memory_explicit_layout16_bit_access)); + println!("PhysicalDevice4444FormatsFeaturesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDevice4444FormatsFeaturesEXT, s_type), offset_of!(PhysicalDevice4444FormatsFeaturesEXT, p_next), offset_of!(PhysicalDevice4444FormatsFeaturesEXT, format_a4r4g4b4), offset_of!(PhysicalDevice4444FormatsFeaturesEXT, format_a4b4g4r4)); + println!("PhysicalDeviceSubpassShadingFeaturesHUAWEI {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceSubpassShadingFeaturesHUAWEI, s_type), offset_of!(PhysicalDeviceSubpassShadingFeaturesHUAWEI, p_next), offset_of!(PhysicalDeviceSubpassShadingFeaturesHUAWEI, subpass_shading)); + println!("PhysicalDeviceClusterCullingShaderFeaturesHUAWEI {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceClusterCullingShaderFeaturesHUAWEI, s_type), offset_of!(PhysicalDeviceClusterCullingShaderFeaturesHUAWEI, p_next), offset_of!(PhysicalDeviceClusterCullingShaderFeaturesHUAWEI, clusterculling_shader), offset_of!(PhysicalDeviceClusterCullingShaderFeaturesHUAWEI, multiview_cluster_culling_shader)); + println!("PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI, s_type), offset_of!(PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI, p_next), offset_of!(PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI, cluster_shading_rate)); + println!("BufferCopy2 {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(BufferCopy2, s_type), offset_of!(BufferCopy2, p_next), offset_of!(BufferCopy2, src_offset), offset_of!(BufferCopy2, dst_offset), offset_of!(BufferCopy2, size)); + println!("ImageCopy2 {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImageCopy2, s_type), offset_of!(ImageCopy2, p_next), offset_of!(ImageCopy2, src_subresource), offset_of!(ImageCopy2, src_offset), offset_of!(ImageCopy2, dst_subresource), offset_of!(ImageCopy2, dst_offset), offset_of!(ImageCopy2, extent)); + println!("ImageBlit2 {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImageBlit2, s_type), offset_of!(ImageBlit2, p_next), offset_of!(ImageBlit2, src_subresource), offset_of!(ImageBlit2, src_offsets), offset_of!(ImageBlit2, dst_subresource), offset_of!(ImageBlit2, dst_offsets)); + println!("BufferImageCopy2 {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(BufferImageCopy2, s_type), offset_of!(BufferImageCopy2, p_next), offset_of!(BufferImageCopy2, buffer_offset), offset_of!(BufferImageCopy2, buffer_row_length), offset_of!(BufferImageCopy2, buffer_image_height), offset_of!(BufferImageCopy2, image_subresource), offset_of!(BufferImageCopy2, image_offset), offset_of!(BufferImageCopy2, image_extent)); + println!("ImageResolve2 {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImageResolve2, s_type), offset_of!(ImageResolve2, p_next), offset_of!(ImageResolve2, src_subresource), offset_of!(ImageResolve2, src_offset), offset_of!(ImageResolve2, dst_subresource), offset_of!(ImageResolve2, dst_offset), offset_of!(ImageResolve2, extent)); + println!("CopyBufferInfo2 {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CopyBufferInfo2, s_type), offset_of!(CopyBufferInfo2, p_next), offset_of!(CopyBufferInfo2, src_buffer), offset_of!(CopyBufferInfo2, dst_buffer), offset_of!(CopyBufferInfo2, region_count), offset_of!(CopyBufferInfo2, p_regions)); + println!("CopyImageInfo2 {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CopyImageInfo2, s_type), offset_of!(CopyImageInfo2, p_next), offset_of!(CopyImageInfo2, src_image), offset_of!(CopyImageInfo2, src_image_layout), offset_of!(CopyImageInfo2, dst_image), offset_of!(CopyImageInfo2, dst_image_layout), offset_of!(CopyImageInfo2, region_count), offset_of!(CopyImageInfo2, p_regions)); + println!("BlitImageInfo2 {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(BlitImageInfo2, s_type), offset_of!(BlitImageInfo2, p_next), offset_of!(BlitImageInfo2, src_image), offset_of!(BlitImageInfo2, src_image_layout), offset_of!(BlitImageInfo2, dst_image), offset_of!(BlitImageInfo2, dst_image_layout), offset_of!(BlitImageInfo2, region_count), offset_of!(BlitImageInfo2, p_regions), offset_of!(BlitImageInfo2, filter)); + println!("CopyBufferToImageInfo2 {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CopyBufferToImageInfo2, s_type), offset_of!(CopyBufferToImageInfo2, p_next), offset_of!(CopyBufferToImageInfo2, src_buffer), offset_of!(CopyBufferToImageInfo2, dst_image), offset_of!(CopyBufferToImageInfo2, dst_image_layout), offset_of!(CopyBufferToImageInfo2, region_count), offset_of!(CopyBufferToImageInfo2, p_regions)); + println!("CopyImageToBufferInfo2 {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CopyImageToBufferInfo2, s_type), offset_of!(CopyImageToBufferInfo2, p_next), offset_of!(CopyImageToBufferInfo2, src_image), offset_of!(CopyImageToBufferInfo2, src_image_layout), offset_of!(CopyImageToBufferInfo2, dst_buffer), offset_of!(CopyImageToBufferInfo2, region_count), offset_of!(CopyImageToBufferInfo2, p_regions)); + println!("ResolveImageInfo2 {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ResolveImageInfo2, s_type), offset_of!(ResolveImageInfo2, p_next), offset_of!(ResolveImageInfo2, src_image), offset_of!(ResolveImageInfo2, src_image_layout), offset_of!(ResolveImageInfo2, dst_image), offset_of!(ResolveImageInfo2, dst_image_layout), offset_of!(ResolveImageInfo2, region_count), offset_of!(ResolveImageInfo2, p_regions)); + println!("PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, s_type), offset_of!(PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, p_next), offset_of!(PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, shader_image_int64_atomics), offset_of!(PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, sparse_image_int64_atomics)); + println!("FragmentShadingRateAttachmentInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(FragmentShadingRateAttachmentInfoKHR, s_type), offset_of!(FragmentShadingRateAttachmentInfoKHR, p_next), offset_of!(FragmentShadingRateAttachmentInfoKHR, p_fragment_shading_rate_attachment), offset_of!(FragmentShadingRateAttachmentInfoKHR, shading_rate_attachment_texel_size)); + println!("PipelineFragmentShadingRateStateCreateInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineFragmentShadingRateStateCreateInfoKHR, s_type), offset_of!(PipelineFragmentShadingRateStateCreateInfoKHR, p_next), offset_of!(PipelineFragmentShadingRateStateCreateInfoKHR, fragment_size), offset_of!(PipelineFragmentShadingRateStateCreateInfoKHR, combiner_ops)); + println!("PhysicalDeviceFragmentShadingRateFeaturesKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceFragmentShadingRateFeaturesKHR, s_type), offset_of!(PhysicalDeviceFragmentShadingRateFeaturesKHR, p_next), offset_of!(PhysicalDeviceFragmentShadingRateFeaturesKHR, pipeline_fragment_shading_rate), offset_of!(PhysicalDeviceFragmentShadingRateFeaturesKHR, primitive_fragment_shading_rate), offset_of!(PhysicalDeviceFragmentShadingRateFeaturesKHR, attachment_fragment_shading_rate)); + println!("PhysicalDeviceFragmentShadingRatePropertiesKHR {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceFragmentShadingRatePropertiesKHR, s_type), offset_of!(PhysicalDeviceFragmentShadingRatePropertiesKHR, p_next), offset_of!(PhysicalDeviceFragmentShadingRatePropertiesKHR, min_fragment_shading_rate_attachment_texel_size), offset_of!(PhysicalDeviceFragmentShadingRatePropertiesKHR, max_fragment_shading_rate_attachment_texel_size), offset_of!(PhysicalDeviceFragmentShadingRatePropertiesKHR, max_fragment_shading_rate_attachment_texel_size_aspect_ratio), offset_of!(PhysicalDeviceFragmentShadingRatePropertiesKHR, primitive_fragment_shading_rate_with_multiple_viewports), offset_of!(PhysicalDeviceFragmentShadingRatePropertiesKHR, layered_shading_rate_attachments), offset_of!(PhysicalDeviceFragmentShadingRatePropertiesKHR, fragment_shading_rate_non_trivial_combiner_ops), offset_of!(PhysicalDeviceFragmentShadingRatePropertiesKHR, max_fragment_size), offset_of!(PhysicalDeviceFragmentShadingRatePropertiesKHR, max_fragment_size_aspect_ratio), offset_of!(PhysicalDeviceFragmentShadingRatePropertiesKHR, max_fragment_shading_rate_coverage_samples), offset_of!(PhysicalDeviceFragmentShadingRatePropertiesKHR, max_fragment_shading_rate_rasterization_samples), offset_of!(PhysicalDeviceFragmentShadingRatePropertiesKHR, fragment_shading_rate_with_shader_depth_stencil_writes), offset_of!(PhysicalDeviceFragmentShadingRatePropertiesKHR, fragment_shading_rate_with_sample_mask), offset_of!(PhysicalDeviceFragmentShadingRatePropertiesKHR, fragment_shading_rate_with_shader_sample_mask), offset_of!(PhysicalDeviceFragmentShadingRatePropertiesKHR, fragment_shading_rate_with_conservative_rasterization), offset_of!(PhysicalDeviceFragmentShadingRatePropertiesKHR, fragment_shading_rate_with_fragment_shader_interlock), offset_of!(PhysicalDeviceFragmentShadingRatePropertiesKHR, fragment_shading_rate_with_custom_sample_locations), offset_of!(PhysicalDeviceFragmentShadingRatePropertiesKHR, fragment_shading_rate_strict_multiply_combiner)); + println!("PhysicalDeviceFragmentShadingRateKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceFragmentShadingRateKHR, s_type), offset_of!(PhysicalDeviceFragmentShadingRateKHR, p_next), offset_of!(PhysicalDeviceFragmentShadingRateKHR, sample_counts), offset_of!(PhysicalDeviceFragmentShadingRateKHR, fragment_size)); + println!("PhysicalDeviceShaderTerminateInvocationFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderTerminateInvocationFeatures, s_type), offset_of!(PhysicalDeviceShaderTerminateInvocationFeatures, p_next), offset_of!(PhysicalDeviceShaderTerminateInvocationFeatures, shader_terminate_invocation)); + println!("PhysicalDeviceFragmentShadingRateEnumsFeaturesNV {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, s_type), offset_of!(PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, p_next), offset_of!(PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, fragment_shading_rate_enums), offset_of!(PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, supersample_fragment_shading_rates), offset_of!(PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, no_invocation_fragment_shading_rates)); + println!("PhysicalDeviceFragmentShadingRateEnumsPropertiesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, s_type), offset_of!(PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, p_next), offset_of!(PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, max_fragment_shading_rate_invocation_count)); + println!("PipelineFragmentShadingRateEnumStateCreateInfoNV {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineFragmentShadingRateEnumStateCreateInfoNV, s_type), offset_of!(PipelineFragmentShadingRateEnumStateCreateInfoNV, p_next), offset_of!(PipelineFragmentShadingRateEnumStateCreateInfoNV, shading_rate_type), offset_of!(PipelineFragmentShadingRateEnumStateCreateInfoNV, shading_rate), offset_of!(PipelineFragmentShadingRateEnumStateCreateInfoNV, combiner_ops)); + println!("AccelerationStructureBuildSizesInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(AccelerationStructureBuildSizesInfoKHR, s_type), offset_of!(AccelerationStructureBuildSizesInfoKHR, p_next), offset_of!(AccelerationStructureBuildSizesInfoKHR, acceleration_structure_size), offset_of!(AccelerationStructureBuildSizesInfoKHR, update_scratch_size), offset_of!(AccelerationStructureBuildSizesInfoKHR, build_scratch_size)); + println!("PhysicalDeviceImage2DViewOf3DFeaturesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceImage2DViewOf3DFeaturesEXT, s_type), offset_of!(PhysicalDeviceImage2DViewOf3DFeaturesEXT, p_next), offset_of!(PhysicalDeviceImage2DViewOf3DFeaturesEXT, image2_d_view_of3_d), offset_of!(PhysicalDeviceImage2DViewOf3DFeaturesEXT, sampler2_d_view_of3_d)); + println!("PhysicalDeviceImageSlicedViewOf3DFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceImageSlicedViewOf3DFeaturesEXT, s_type), offset_of!(PhysicalDeviceImageSlicedViewOf3DFeaturesEXT, p_next), offset_of!(PhysicalDeviceImageSlicedViewOf3DFeaturesEXT, image_sliced_view_of3_d)); + println!("PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT, s_type), offset_of!(PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT, p_next), offset_of!(PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT, attachment_feedback_loop_dynamic_state)); + println!("PhysicalDeviceLegacyVertexAttributesFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceLegacyVertexAttributesFeaturesEXT, s_type), offset_of!(PhysicalDeviceLegacyVertexAttributesFeaturesEXT, p_next), offset_of!(PhysicalDeviceLegacyVertexAttributesFeaturesEXT, legacy_vertex_attributes)); + println!("PhysicalDeviceLegacyVertexAttributesPropertiesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceLegacyVertexAttributesPropertiesEXT, s_type), offset_of!(PhysicalDeviceLegacyVertexAttributesPropertiesEXT, p_next), offset_of!(PhysicalDeviceLegacyVertexAttributesPropertiesEXT, native_unaligned_performance)); + println!("PhysicalDeviceMutableDescriptorTypeFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceMutableDescriptorTypeFeaturesEXT, s_type), offset_of!(PhysicalDeviceMutableDescriptorTypeFeaturesEXT, p_next), offset_of!(PhysicalDeviceMutableDescriptorTypeFeaturesEXT, mutable_descriptor_type)); + println!("MutableDescriptorTypeListEXT {} {} {} {}", size_of::(), align_of::(), offset_of!(MutableDescriptorTypeListEXT, descriptor_type_count), offset_of!(MutableDescriptorTypeListEXT, p_descriptor_types)); + println!("MutableDescriptorTypeCreateInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(MutableDescriptorTypeCreateInfoEXT, s_type), offset_of!(MutableDescriptorTypeCreateInfoEXT, p_next), offset_of!(MutableDescriptorTypeCreateInfoEXT, mutable_descriptor_type_list_count), offset_of!(MutableDescriptorTypeCreateInfoEXT, p_mutable_descriptor_type_lists)); + println!("PhysicalDeviceDepthClipControlFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceDepthClipControlFeaturesEXT, s_type), offset_of!(PhysicalDeviceDepthClipControlFeaturesEXT, p_next), offset_of!(PhysicalDeviceDepthClipControlFeaturesEXT, depth_clip_control)); + println!("PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT, s_type), offset_of!(PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT, p_next), offset_of!(PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT, zero_initialize_device_memory)); + println!("BeginCustomResolveInfoEXT {} {} {} {}", size_of::(), align_of::(), offset_of!(BeginCustomResolveInfoEXT, s_type), offset_of!(BeginCustomResolveInfoEXT, p_next)); + println!("PhysicalDeviceCustomResolveFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceCustomResolveFeaturesEXT, s_type), offset_of!(PhysicalDeviceCustomResolveFeaturesEXT, p_next), offset_of!(PhysicalDeviceCustomResolveFeaturesEXT, custom_resolve)); + println!("CustomResolveCreateInfoEXT {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CustomResolveCreateInfoEXT, s_type), offset_of!(CustomResolveCreateInfoEXT, p_next), offset_of!(CustomResolveCreateInfoEXT, custom_resolve), offset_of!(CustomResolveCreateInfoEXT, color_attachment_count), offset_of!(CustomResolveCreateInfoEXT, p_color_attachment_formats), offset_of!(CustomResolveCreateInfoEXT, depth_attachment_format), offset_of!(CustomResolveCreateInfoEXT, stencil_attachment_format)); + println!("PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT, s_type), offset_of!(PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT, p_next), offset_of!(PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT, device_generated_commands), offset_of!(PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT, dynamic_generated_pipeline_layout)); + println!("PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT, s_type), offset_of!(PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT, p_next), offset_of!(PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT, max_indirect_pipeline_count), offset_of!(PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT, max_indirect_shader_object_count), offset_of!(PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT, max_indirect_sequence_count), offset_of!(PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT, max_indirect_commands_token_count), offset_of!(PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT, max_indirect_commands_token_offset), offset_of!(PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT, max_indirect_commands_indirect_stride), offset_of!(PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT, supported_indirect_commands_input_modes), offset_of!(PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT, supported_indirect_commands_shader_stages), offset_of!(PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT, supported_indirect_commands_shader_stages_pipeline_binding), offset_of!(PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT, supported_indirect_commands_shader_stages_shader_binding), offset_of!(PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT, device_generated_commands_transform_feedback), offset_of!(PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT, device_generated_commands_multi_draw_indirect_count)); + println!("GeneratedCommandsPipelineInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(GeneratedCommandsPipelineInfoEXT, s_type), offset_of!(GeneratedCommandsPipelineInfoEXT, p_next), offset_of!(GeneratedCommandsPipelineInfoEXT, pipeline)); + println!("GeneratedCommandsShaderInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(GeneratedCommandsShaderInfoEXT, s_type), offset_of!(GeneratedCommandsShaderInfoEXT, p_next), offset_of!(GeneratedCommandsShaderInfoEXT, shader_count), offset_of!(GeneratedCommandsShaderInfoEXT, p_shaders)); + println!("GeneratedCommandsMemoryRequirementsInfoEXT {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(GeneratedCommandsMemoryRequirementsInfoEXT, s_type), offset_of!(GeneratedCommandsMemoryRequirementsInfoEXT, p_next), offset_of!(GeneratedCommandsMemoryRequirementsInfoEXT, indirect_execution_set), offset_of!(GeneratedCommandsMemoryRequirementsInfoEXT, indirect_commands_layout), offset_of!(GeneratedCommandsMemoryRequirementsInfoEXT, max_sequence_count), offset_of!(GeneratedCommandsMemoryRequirementsInfoEXT, max_draw_count)); + println!("IndirectExecutionSetPipelineInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(IndirectExecutionSetPipelineInfoEXT, s_type), offset_of!(IndirectExecutionSetPipelineInfoEXT, p_next), offset_of!(IndirectExecutionSetPipelineInfoEXT, initial_pipeline), offset_of!(IndirectExecutionSetPipelineInfoEXT, max_pipeline_count)); + println!("IndirectExecutionSetShaderLayoutInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(IndirectExecutionSetShaderLayoutInfoEXT, s_type), offset_of!(IndirectExecutionSetShaderLayoutInfoEXT, p_next), offset_of!(IndirectExecutionSetShaderLayoutInfoEXT, set_layout_count), offset_of!(IndirectExecutionSetShaderLayoutInfoEXT, p_set_layouts)); + println!("IndirectExecutionSetShaderInfoEXT {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(IndirectExecutionSetShaderInfoEXT, s_type), offset_of!(IndirectExecutionSetShaderInfoEXT, p_next), offset_of!(IndirectExecutionSetShaderInfoEXT, shader_count), offset_of!(IndirectExecutionSetShaderInfoEXT, p_initial_shaders), offset_of!(IndirectExecutionSetShaderInfoEXT, p_set_layout_infos), offset_of!(IndirectExecutionSetShaderInfoEXT, max_shader_count), offset_of!(IndirectExecutionSetShaderInfoEXT, push_constant_range_count), offset_of!(IndirectExecutionSetShaderInfoEXT, p_push_constant_ranges)); + println!("IndirectExecutionSetInfoEXT {} {} {} {}", size_of::(), align_of::(), offset_of!(IndirectExecutionSetInfoEXT, p_pipeline_info), offset_of!(IndirectExecutionSetInfoEXT, p_shader_info)); + println!("IndirectExecutionSetCreateInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(IndirectExecutionSetCreateInfoEXT, s_type), offset_of!(IndirectExecutionSetCreateInfoEXT, p_next), offset_of!(IndirectExecutionSetCreateInfoEXT, info)); + println!("GeneratedCommandsInfoEXT {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(GeneratedCommandsInfoEXT, s_type), offset_of!(GeneratedCommandsInfoEXT, p_next), offset_of!(GeneratedCommandsInfoEXT, shader_stages), offset_of!(GeneratedCommandsInfoEXT, indirect_execution_set), offset_of!(GeneratedCommandsInfoEXT, indirect_commands_layout), offset_of!(GeneratedCommandsInfoEXT, indirect_address), offset_of!(GeneratedCommandsInfoEXT, indirect_address_size), offset_of!(GeneratedCommandsInfoEXT, preprocess_address), offset_of!(GeneratedCommandsInfoEXT, preprocess_size), offset_of!(GeneratedCommandsInfoEXT, max_sequence_count), offset_of!(GeneratedCommandsInfoEXT, sequence_count_address), offset_of!(GeneratedCommandsInfoEXT, max_draw_count)); + println!("WriteIndirectExecutionSetPipelineEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(WriteIndirectExecutionSetPipelineEXT, s_type), offset_of!(WriteIndirectExecutionSetPipelineEXT, p_next), offset_of!(WriteIndirectExecutionSetPipelineEXT, index), offset_of!(WriteIndirectExecutionSetPipelineEXT, pipeline)); + println!("WriteIndirectExecutionSetShaderEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(WriteIndirectExecutionSetShaderEXT, s_type), offset_of!(WriteIndirectExecutionSetShaderEXT, p_next), offset_of!(WriteIndirectExecutionSetShaderEXT, index), offset_of!(WriteIndirectExecutionSetShaderEXT, shader)); + println!("IndirectCommandsLayoutCreateInfoEXT {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(IndirectCommandsLayoutCreateInfoEXT, s_type), offset_of!(IndirectCommandsLayoutCreateInfoEXT, p_next), offset_of!(IndirectCommandsLayoutCreateInfoEXT, flags), offset_of!(IndirectCommandsLayoutCreateInfoEXT, shader_stages), offset_of!(IndirectCommandsLayoutCreateInfoEXT, indirect_stride), offset_of!(IndirectCommandsLayoutCreateInfoEXT, pipeline_layout), offset_of!(IndirectCommandsLayoutCreateInfoEXT, token_count), offset_of!(IndirectCommandsLayoutCreateInfoEXT, p_tokens)); + println!("IndirectCommandsLayoutTokenEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(IndirectCommandsLayoutTokenEXT, s_type), offset_of!(IndirectCommandsLayoutTokenEXT, p_next), offset_of!(IndirectCommandsLayoutTokenEXT, data), offset_of!(IndirectCommandsLayoutTokenEXT, offset)); + println!("DrawIndirectCountIndirectCommandEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DrawIndirectCountIndirectCommandEXT, buffer_address), offset_of!(DrawIndirectCountIndirectCommandEXT, stride), offset_of!(DrawIndirectCountIndirectCommandEXT, command_count)); + println!("IndirectCommandsVertexBufferTokenEXT {} {} {}", size_of::(), align_of::(), offset_of!(IndirectCommandsVertexBufferTokenEXT, vertex_binding_unit)); + println!("BindVertexBufferIndirectCommandEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(BindVertexBufferIndirectCommandEXT, buffer_address), offset_of!(BindVertexBufferIndirectCommandEXT, size), offset_of!(BindVertexBufferIndirectCommandEXT, stride)); + println!("IndirectCommandsIndexBufferTokenEXT {} {} {}", size_of::(), align_of::(), offset_of!(IndirectCommandsIndexBufferTokenEXT, mode)); + println!("BindIndexBufferIndirectCommandEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(BindIndexBufferIndirectCommandEXT, buffer_address), offset_of!(BindIndexBufferIndirectCommandEXT, size), offset_of!(BindIndexBufferIndirectCommandEXT, index_type)); + println!("IndirectCommandsPushConstantTokenEXT {} {} {}", size_of::(), align_of::(), offset_of!(IndirectCommandsPushConstantTokenEXT, update_range)); + println!("IndirectCommandsExecutionSetTokenEXT {} {} {}", size_of::(), align_of::(), offset_of!(IndirectCommandsExecutionSetTokenEXT, shader_stages)); + println!("IndirectCommandsTokenDataEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(IndirectCommandsTokenDataEXT, p_push_constant), offset_of!(IndirectCommandsTokenDataEXT, p_vertex_buffer), offset_of!(IndirectCommandsTokenDataEXT, p_index_buffer), offset_of!(IndirectCommandsTokenDataEXT, p_execution_set)); + println!("PipelineViewportDepthClipControlCreateInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineViewportDepthClipControlCreateInfoEXT, s_type), offset_of!(PipelineViewportDepthClipControlCreateInfoEXT, p_next), offset_of!(PipelineViewportDepthClipControlCreateInfoEXT, negative_one_to_one)); + println!("PhysicalDeviceDepthClampControlFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceDepthClampControlFeaturesEXT, s_type), offset_of!(PhysicalDeviceDepthClampControlFeaturesEXT, p_next), offset_of!(PhysicalDeviceDepthClampControlFeaturesEXT, depth_clamp_control)); + println!("PipelineViewportDepthClampControlCreateInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineViewportDepthClampControlCreateInfoEXT, s_type), offset_of!(PipelineViewportDepthClampControlCreateInfoEXT, p_next), offset_of!(PipelineViewportDepthClampControlCreateInfoEXT, depth_clamp_mode), offset_of!(PipelineViewportDepthClampControlCreateInfoEXT, p_depth_clamp_range)); + println!("PhysicalDeviceVertexInputDynamicStateFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceVertexInputDynamicStateFeaturesEXT, s_type), offset_of!(PhysicalDeviceVertexInputDynamicStateFeaturesEXT, p_next), offset_of!(PhysicalDeviceVertexInputDynamicStateFeaturesEXT, vertex_input_dynamic_state)); + println!("PhysicalDeviceExternalMemoryRDMAFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceExternalMemoryRDMAFeaturesNV, s_type), offset_of!(PhysicalDeviceExternalMemoryRDMAFeaturesNV, p_next), offset_of!(PhysicalDeviceExternalMemoryRDMAFeaturesNV, external_memory_rdma)); + println!("PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR, s_type), offset_of!(PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR, p_next), offset_of!(PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR, shader_relaxed_extended_instruction)); + println!("VertexInputBindingDescription2EXT {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VertexInputBindingDescription2EXT, s_type), offset_of!(VertexInputBindingDescription2EXT, p_next), offset_of!(VertexInputBindingDescription2EXT, binding), offset_of!(VertexInputBindingDescription2EXT, stride), offset_of!(VertexInputBindingDescription2EXT, input_rate), offset_of!(VertexInputBindingDescription2EXT, divisor)); + println!("VertexInputAttributeDescription2EXT {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VertexInputAttributeDescription2EXT, s_type), offset_of!(VertexInputAttributeDescription2EXT, p_next), offset_of!(VertexInputAttributeDescription2EXT, location), offset_of!(VertexInputAttributeDescription2EXT, binding), offset_of!(VertexInputAttributeDescription2EXT, format), offset_of!(VertexInputAttributeDescription2EXT, offset)); + println!("PhysicalDeviceColorWriteEnableFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceColorWriteEnableFeaturesEXT, s_type), offset_of!(PhysicalDeviceColorWriteEnableFeaturesEXT, p_next), offset_of!(PhysicalDeviceColorWriteEnableFeaturesEXT, color_write_enable)); + println!("PipelineColorWriteCreateInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineColorWriteCreateInfoEXT, s_type), offset_of!(PipelineColorWriteCreateInfoEXT, p_next), offset_of!(PipelineColorWriteCreateInfoEXT, attachment_count), offset_of!(PipelineColorWriteCreateInfoEXT, p_color_write_enables)); + println!("MemoryBarrier2 {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(MemoryBarrier2, s_type), offset_of!(MemoryBarrier2, p_next), offset_of!(MemoryBarrier2, src_stage_mask), offset_of!(MemoryBarrier2, src_access_mask), offset_of!(MemoryBarrier2, dst_stage_mask), offset_of!(MemoryBarrier2, dst_access_mask)); + println!("ImageMemoryBarrier2 {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImageMemoryBarrier2, s_type), offset_of!(ImageMemoryBarrier2, p_next), offset_of!(ImageMemoryBarrier2, src_stage_mask), offset_of!(ImageMemoryBarrier2, src_access_mask), offset_of!(ImageMemoryBarrier2, dst_stage_mask), offset_of!(ImageMemoryBarrier2, dst_access_mask), offset_of!(ImageMemoryBarrier2, old_layout), offset_of!(ImageMemoryBarrier2, new_layout), offset_of!(ImageMemoryBarrier2, src_queue_family_index), offset_of!(ImageMemoryBarrier2, dst_queue_family_index), offset_of!(ImageMemoryBarrier2, image), offset_of!(ImageMemoryBarrier2, subresource_range)); + println!("BufferMemoryBarrier2 {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(BufferMemoryBarrier2, s_type), offset_of!(BufferMemoryBarrier2, p_next), offset_of!(BufferMemoryBarrier2, src_stage_mask), offset_of!(BufferMemoryBarrier2, src_access_mask), offset_of!(BufferMemoryBarrier2, dst_stage_mask), offset_of!(BufferMemoryBarrier2, dst_access_mask), offset_of!(BufferMemoryBarrier2, src_queue_family_index), offset_of!(BufferMemoryBarrier2, dst_queue_family_index), offset_of!(BufferMemoryBarrier2, buffer), offset_of!(BufferMemoryBarrier2, offset), offset_of!(BufferMemoryBarrier2, size)); + println!("MemoryBarrierAccessFlags3KHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(MemoryBarrierAccessFlags3KHR, s_type), offset_of!(MemoryBarrierAccessFlags3KHR, p_next), offset_of!(MemoryBarrierAccessFlags3KHR, src_access_mask3), offset_of!(MemoryBarrierAccessFlags3KHR, dst_access_mask3)); + println!("DependencyInfo {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DependencyInfo, s_type), offset_of!(DependencyInfo, p_next), offset_of!(DependencyInfo, dependency_flags), offset_of!(DependencyInfo, memory_barrier_count), offset_of!(DependencyInfo, p_memory_barriers), offset_of!(DependencyInfo, buffer_memory_barrier_count), offset_of!(DependencyInfo, p_buffer_memory_barriers), offset_of!(DependencyInfo, image_memory_barrier_count), offset_of!(DependencyInfo, p_image_memory_barriers)); + println!("SemaphoreSubmitInfo {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SemaphoreSubmitInfo, s_type), offset_of!(SemaphoreSubmitInfo, p_next), offset_of!(SemaphoreSubmitInfo, semaphore), offset_of!(SemaphoreSubmitInfo, value), offset_of!(SemaphoreSubmitInfo, stage_mask), offset_of!(SemaphoreSubmitInfo, device_index)); + println!("CommandBufferSubmitInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CommandBufferSubmitInfo, s_type), offset_of!(CommandBufferSubmitInfo, p_next), offset_of!(CommandBufferSubmitInfo, command_buffer), offset_of!(CommandBufferSubmitInfo, device_mask)); + println!("SubmitInfo2 {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SubmitInfo2, s_type), offset_of!(SubmitInfo2, p_next), offset_of!(SubmitInfo2, flags), offset_of!(SubmitInfo2, wait_semaphore_info_count), offset_of!(SubmitInfo2, p_wait_semaphore_infos), offset_of!(SubmitInfo2, command_buffer_info_count), offset_of!(SubmitInfo2, p_command_buffer_infos), offset_of!(SubmitInfo2, signal_semaphore_info_count), offset_of!(SubmitInfo2, p_signal_semaphore_infos)); + println!("QueueFamilyCheckpointProperties2NV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(QueueFamilyCheckpointProperties2NV, s_type), offset_of!(QueueFamilyCheckpointProperties2NV, p_next), offset_of!(QueueFamilyCheckpointProperties2NV, checkpoint_execution_stage_mask)); + println!("CheckpointData2NV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CheckpointData2NV, s_type), offset_of!(CheckpointData2NV, p_next), offset_of!(CheckpointData2NV, stage), offset_of!(CheckpointData2NV, p_checkpoint_marker)); + println!("PhysicalDeviceSynchronization2Features {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceSynchronization2Features, s_type), offset_of!(PhysicalDeviceSynchronization2Features, p_next), offset_of!(PhysicalDeviceSynchronization2Features, synchronization2)); + println!("PhysicalDeviceUnifiedImageLayoutsFeaturesKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceUnifiedImageLayoutsFeaturesKHR, s_type), offset_of!(PhysicalDeviceUnifiedImageLayoutsFeaturesKHR, p_next), offset_of!(PhysicalDeviceUnifiedImageLayoutsFeaturesKHR, unified_image_layouts), offset_of!(PhysicalDeviceUnifiedImageLayoutsFeaturesKHR, unified_image_layouts_video)); + println!("PhysicalDeviceHostImageCopyFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceHostImageCopyFeatures, s_type), offset_of!(PhysicalDeviceHostImageCopyFeatures, p_next), offset_of!(PhysicalDeviceHostImageCopyFeatures, host_image_copy)); + println!("PhysicalDeviceHostImageCopyProperties {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceHostImageCopyProperties, s_type), offset_of!(PhysicalDeviceHostImageCopyProperties, p_next), offset_of!(PhysicalDeviceHostImageCopyProperties, copy_src_layout_count), offset_of!(PhysicalDeviceHostImageCopyProperties, p_copy_src_layouts), offset_of!(PhysicalDeviceHostImageCopyProperties, copy_dst_layout_count), offset_of!(PhysicalDeviceHostImageCopyProperties, p_copy_dst_layouts), offset_of!(PhysicalDeviceHostImageCopyProperties, optimal_tiling_layout_uuid), offset_of!(PhysicalDeviceHostImageCopyProperties, identical_memory_type_requirements)); + println!("MemoryToImageCopy {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(MemoryToImageCopy, s_type), offset_of!(MemoryToImageCopy, p_next), offset_of!(MemoryToImageCopy, p_host_pointer), offset_of!(MemoryToImageCopy, memory_row_length), offset_of!(MemoryToImageCopy, memory_image_height), offset_of!(MemoryToImageCopy, image_subresource), offset_of!(MemoryToImageCopy, image_offset), offset_of!(MemoryToImageCopy, image_extent)); + println!("ImageToMemoryCopy {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImageToMemoryCopy, s_type), offset_of!(ImageToMemoryCopy, p_next), offset_of!(ImageToMemoryCopy, p_host_pointer), offset_of!(ImageToMemoryCopy, memory_row_length), offset_of!(ImageToMemoryCopy, memory_image_height), offset_of!(ImageToMemoryCopy, image_subresource), offset_of!(ImageToMemoryCopy, image_offset), offset_of!(ImageToMemoryCopy, image_extent)); + println!("CopyMemoryToImageInfo {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CopyMemoryToImageInfo, s_type), offset_of!(CopyMemoryToImageInfo, p_next), offset_of!(CopyMemoryToImageInfo, flags), offset_of!(CopyMemoryToImageInfo, dst_image), offset_of!(CopyMemoryToImageInfo, dst_image_layout), offset_of!(CopyMemoryToImageInfo, region_count), offset_of!(CopyMemoryToImageInfo, p_regions)); + println!("CopyImageToMemoryInfo {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CopyImageToMemoryInfo, s_type), offset_of!(CopyImageToMemoryInfo, p_next), offset_of!(CopyImageToMemoryInfo, flags), offset_of!(CopyImageToMemoryInfo, src_image), offset_of!(CopyImageToMemoryInfo, src_image_layout), offset_of!(CopyImageToMemoryInfo, region_count), offset_of!(CopyImageToMemoryInfo, p_regions)); + println!("CopyImageToImageInfo {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CopyImageToImageInfo, s_type), offset_of!(CopyImageToImageInfo, p_next), offset_of!(CopyImageToImageInfo, flags), offset_of!(CopyImageToImageInfo, src_image), offset_of!(CopyImageToImageInfo, src_image_layout), offset_of!(CopyImageToImageInfo, dst_image), offset_of!(CopyImageToImageInfo, dst_image_layout), offset_of!(CopyImageToImageInfo, region_count), offset_of!(CopyImageToImageInfo, p_regions)); + println!("HostImageLayoutTransitionInfo {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(HostImageLayoutTransitionInfo, s_type), offset_of!(HostImageLayoutTransitionInfo, p_next), offset_of!(HostImageLayoutTransitionInfo, image), offset_of!(HostImageLayoutTransitionInfo, old_layout), offset_of!(HostImageLayoutTransitionInfo, new_layout), offset_of!(HostImageLayoutTransitionInfo, subresource_range)); + println!("SubresourceHostMemcpySize {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SubresourceHostMemcpySize, s_type), offset_of!(SubresourceHostMemcpySize, p_next), offset_of!(SubresourceHostMemcpySize, size)); + println!("HostImageCopyDevicePerformanceQuery {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(HostImageCopyDevicePerformanceQuery, s_type), offset_of!(HostImageCopyDevicePerformanceQuery, p_next), offset_of!(HostImageCopyDevicePerformanceQuery, optimal_device_access), offset_of!(HostImageCopyDevicePerformanceQuery, identical_memory_layout)); + println!("PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT, s_type), offset_of!(PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT, p_next), offset_of!(PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT, primitives_generated_query), offset_of!(PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT, primitives_generated_query_with_rasterizer_discard), offset_of!(PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT, primitives_generated_query_with_non_zero_streams)); + println!("PhysicalDeviceLegacyDitheringFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceLegacyDitheringFeaturesEXT, s_type), offset_of!(PhysicalDeviceLegacyDitheringFeaturesEXT, p_next), offset_of!(PhysicalDeviceLegacyDitheringFeaturesEXT, legacy_dithering)); + println!("PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT, s_type), offset_of!(PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT, p_next), offset_of!(PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT, multisampled_render_to_single_sampled)); + println!("SurfaceCapabilitiesPresentId2KHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SurfaceCapabilitiesPresentId2KHR, s_type), offset_of!(SurfaceCapabilitiesPresentId2KHR, p_next), offset_of!(SurfaceCapabilitiesPresentId2KHR, present_id2_supported)); + println!("SurfaceCapabilitiesPresentWait2KHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SurfaceCapabilitiesPresentWait2KHR, s_type), offset_of!(SurfaceCapabilitiesPresentWait2KHR, p_next), offset_of!(SurfaceCapabilitiesPresentWait2KHR, present_wait2_supported)); + println!("SubpassResolvePerformanceQueryEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SubpassResolvePerformanceQueryEXT, s_type), offset_of!(SubpassResolvePerformanceQueryEXT, p_next), offset_of!(SubpassResolvePerformanceQueryEXT, optimal)); + println!("MultisampledRenderToSingleSampledInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(MultisampledRenderToSingleSampledInfoEXT, s_type), offset_of!(MultisampledRenderToSingleSampledInfoEXT, p_next), offset_of!(MultisampledRenderToSingleSampledInfoEXT, multisampled_render_to_single_sampled_enable), offset_of!(MultisampledRenderToSingleSampledInfoEXT, rasterization_samples)); + println!("PhysicalDevicePipelineProtectedAccessFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDevicePipelineProtectedAccessFeatures, s_type), offset_of!(PhysicalDevicePipelineProtectedAccessFeatures, p_next), offset_of!(PhysicalDevicePipelineProtectedAccessFeatures, pipeline_protected_access)); + println!("QueueFamilyVideoPropertiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(QueueFamilyVideoPropertiesKHR, s_type), offset_of!(QueueFamilyVideoPropertiesKHR, p_next), offset_of!(QueueFamilyVideoPropertiesKHR, video_codec_operations)); + println!("QueueFamilyQueryResultStatusPropertiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(QueueFamilyQueryResultStatusPropertiesKHR, s_type), offset_of!(QueueFamilyQueryResultStatusPropertiesKHR, p_next), offset_of!(QueueFamilyQueryResultStatusPropertiesKHR, query_result_status_support)); + println!("VideoProfileListInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoProfileListInfoKHR, s_type), offset_of!(VideoProfileListInfoKHR, p_next), offset_of!(VideoProfileListInfoKHR, profile_count), offset_of!(VideoProfileListInfoKHR, p_profiles)); + println!("PhysicalDeviceVideoFormatInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceVideoFormatInfoKHR, s_type), offset_of!(PhysicalDeviceVideoFormatInfoKHR, p_next), offset_of!(PhysicalDeviceVideoFormatInfoKHR, image_usage)); + println!("VideoFormatPropertiesKHR {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoFormatPropertiesKHR, s_type), offset_of!(VideoFormatPropertiesKHR, p_next), offset_of!(VideoFormatPropertiesKHR, format), offset_of!(VideoFormatPropertiesKHR, component_mapping), offset_of!(VideoFormatPropertiesKHR, image_create_flags), offset_of!(VideoFormatPropertiesKHR, image_type), offset_of!(VideoFormatPropertiesKHR, image_tiling), offset_of!(VideoFormatPropertiesKHR, image_usage_flags)); + println!("VideoEncodeQuantizationMapCapabilitiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeQuantizationMapCapabilitiesKHR, s_type), offset_of!(VideoEncodeQuantizationMapCapabilitiesKHR, p_next), offset_of!(VideoEncodeQuantizationMapCapabilitiesKHR, max_quantization_map_extent)); + println!("VideoEncodeH264QuantizationMapCapabilitiesKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeH264QuantizationMapCapabilitiesKHR, s_type), offset_of!(VideoEncodeH264QuantizationMapCapabilitiesKHR, p_next), offset_of!(VideoEncodeH264QuantizationMapCapabilitiesKHR, min_qp_delta), offset_of!(VideoEncodeH264QuantizationMapCapabilitiesKHR, max_qp_delta)); + println!("VideoEncodeH265QuantizationMapCapabilitiesKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeH265QuantizationMapCapabilitiesKHR, s_type), offset_of!(VideoEncodeH265QuantizationMapCapabilitiesKHR, p_next), offset_of!(VideoEncodeH265QuantizationMapCapabilitiesKHR, min_qp_delta), offset_of!(VideoEncodeH265QuantizationMapCapabilitiesKHR, max_qp_delta)); + println!("VideoEncodeAV1QuantizationMapCapabilitiesKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeAV1QuantizationMapCapabilitiesKHR, s_type), offset_of!(VideoEncodeAV1QuantizationMapCapabilitiesKHR, p_next), offset_of!(VideoEncodeAV1QuantizationMapCapabilitiesKHR, min_q_index_delta), offset_of!(VideoEncodeAV1QuantizationMapCapabilitiesKHR, max_q_index_delta)); + println!("VideoFormatQuantizationMapPropertiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoFormatQuantizationMapPropertiesKHR, s_type), offset_of!(VideoFormatQuantizationMapPropertiesKHR, p_next), offset_of!(VideoFormatQuantizationMapPropertiesKHR, quantization_map_texel_size)); + println!("VideoFormatH265QuantizationMapPropertiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoFormatH265QuantizationMapPropertiesKHR, s_type), offset_of!(VideoFormatH265QuantizationMapPropertiesKHR, p_next), offset_of!(VideoFormatH265QuantizationMapPropertiesKHR, compatible_ctb_sizes)); + println!("VideoFormatAV1QuantizationMapPropertiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoFormatAV1QuantizationMapPropertiesKHR, s_type), offset_of!(VideoFormatAV1QuantizationMapPropertiesKHR, p_next), offset_of!(VideoFormatAV1QuantizationMapPropertiesKHR, compatible_superblock_sizes)); + println!("VideoProfileInfoKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoProfileInfoKHR, s_type), offset_of!(VideoProfileInfoKHR, p_next), offset_of!(VideoProfileInfoKHR, video_codec_operation), offset_of!(VideoProfileInfoKHR, chroma_subsampling), offset_of!(VideoProfileInfoKHR, luma_bit_depth), offset_of!(VideoProfileInfoKHR, chroma_bit_depth)); + println!("VideoCapabilitiesKHR {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoCapabilitiesKHR, s_type), offset_of!(VideoCapabilitiesKHR, p_next), offset_of!(VideoCapabilitiesKHR, flags), offset_of!(VideoCapabilitiesKHR, min_bitstream_buffer_offset_alignment), offset_of!(VideoCapabilitiesKHR, min_bitstream_buffer_size_alignment), offset_of!(VideoCapabilitiesKHR, picture_access_granularity), offset_of!(VideoCapabilitiesKHR, min_coded_extent), offset_of!(VideoCapabilitiesKHR, max_coded_extent), offset_of!(VideoCapabilitiesKHR, max_dpb_slots), offset_of!(VideoCapabilitiesKHR, max_active_reference_pictures), offset_of!(VideoCapabilitiesKHR, std_header_version)); + println!("VideoSessionMemoryRequirementsKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoSessionMemoryRequirementsKHR, s_type), offset_of!(VideoSessionMemoryRequirementsKHR, p_next), offset_of!(VideoSessionMemoryRequirementsKHR, memory_bind_index), offset_of!(VideoSessionMemoryRequirementsKHR, memory_requirements)); + println!("BindVideoSessionMemoryInfoKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(BindVideoSessionMemoryInfoKHR, s_type), offset_of!(BindVideoSessionMemoryInfoKHR, p_next), offset_of!(BindVideoSessionMemoryInfoKHR, memory_bind_index), offset_of!(BindVideoSessionMemoryInfoKHR, memory), offset_of!(BindVideoSessionMemoryInfoKHR, memory_offset), offset_of!(BindVideoSessionMemoryInfoKHR, memory_size)); + println!("VideoPictureResourceInfoKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoPictureResourceInfoKHR, s_type), offset_of!(VideoPictureResourceInfoKHR, p_next), offset_of!(VideoPictureResourceInfoKHR, coded_offset), offset_of!(VideoPictureResourceInfoKHR, coded_extent), offset_of!(VideoPictureResourceInfoKHR, base_array_layer), offset_of!(VideoPictureResourceInfoKHR, image_view_binding)); + println!("VideoReferenceSlotInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoReferenceSlotInfoKHR, s_type), offset_of!(VideoReferenceSlotInfoKHR, p_next), offset_of!(VideoReferenceSlotInfoKHR, slot_index), offset_of!(VideoReferenceSlotInfoKHR, p_picture_resource)); + println!("VideoDecodeCapabilitiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoDecodeCapabilitiesKHR, s_type), offset_of!(VideoDecodeCapabilitiesKHR, p_next), offset_of!(VideoDecodeCapabilitiesKHR, flags)); + println!("VideoDecodeUsageInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoDecodeUsageInfoKHR, s_type), offset_of!(VideoDecodeUsageInfoKHR, p_next), offset_of!(VideoDecodeUsageInfoKHR, video_usage_hints)); + println!("VideoDecodeInfoKHR {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoDecodeInfoKHR, s_type), offset_of!(VideoDecodeInfoKHR, p_next), offset_of!(VideoDecodeInfoKHR, flags), offset_of!(VideoDecodeInfoKHR, src_buffer), offset_of!(VideoDecodeInfoKHR, src_buffer_offset), offset_of!(VideoDecodeInfoKHR, src_buffer_range), offset_of!(VideoDecodeInfoKHR, dst_picture_resource), offset_of!(VideoDecodeInfoKHR, p_setup_reference_slot), offset_of!(VideoDecodeInfoKHR, reference_slot_count), offset_of!(VideoDecodeInfoKHR, p_reference_slots)); + println!("PhysicalDeviceVideoMaintenance1FeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceVideoMaintenance1FeaturesKHR, s_type), offset_of!(PhysicalDeviceVideoMaintenance1FeaturesKHR, p_next), offset_of!(PhysicalDeviceVideoMaintenance1FeaturesKHR, video_maintenance1)); + println!("PhysicalDeviceVideoMaintenance2FeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceVideoMaintenance2FeaturesKHR, s_type), offset_of!(PhysicalDeviceVideoMaintenance2FeaturesKHR, p_next), offset_of!(PhysicalDeviceVideoMaintenance2FeaturesKHR, video_maintenance2)); + println!("VideoInlineQueryInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoInlineQueryInfoKHR, s_type), offset_of!(VideoInlineQueryInfoKHR, p_next), offset_of!(VideoInlineQueryInfoKHR, query_pool), offset_of!(VideoInlineQueryInfoKHR, first_query), offset_of!(VideoInlineQueryInfoKHR, query_count)); + println!("VideoDecodeH264ProfileInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoDecodeH264ProfileInfoKHR, s_type), offset_of!(VideoDecodeH264ProfileInfoKHR, p_next), offset_of!(VideoDecodeH264ProfileInfoKHR, std_profile_idc), offset_of!(VideoDecodeH264ProfileInfoKHR, picture_layout)); + println!("VideoDecodeH264CapabilitiesKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoDecodeH264CapabilitiesKHR, s_type), offset_of!(VideoDecodeH264CapabilitiesKHR, p_next), offset_of!(VideoDecodeH264CapabilitiesKHR, max_level_idc), offset_of!(VideoDecodeH264CapabilitiesKHR, field_offset_granularity)); + println!("VideoDecodeH264SessionParametersAddInfoKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoDecodeH264SessionParametersAddInfoKHR, s_type), offset_of!(VideoDecodeH264SessionParametersAddInfoKHR, p_next), offset_of!(VideoDecodeH264SessionParametersAddInfoKHR, std_sps_count), offset_of!(VideoDecodeH264SessionParametersAddInfoKHR, p_std_sp_ss), offset_of!(VideoDecodeH264SessionParametersAddInfoKHR, std_pps_count), offset_of!(VideoDecodeH264SessionParametersAddInfoKHR, p_std_pp_ss)); + println!("VideoDecodeH264SessionParametersCreateInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoDecodeH264SessionParametersCreateInfoKHR, s_type), offset_of!(VideoDecodeH264SessionParametersCreateInfoKHR, p_next), offset_of!(VideoDecodeH264SessionParametersCreateInfoKHR, max_std_sps_count), offset_of!(VideoDecodeH264SessionParametersCreateInfoKHR, max_std_pps_count), offset_of!(VideoDecodeH264SessionParametersCreateInfoKHR, p_parameters_add_info)); + println!("VideoDecodeH264InlineSessionParametersInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoDecodeH264InlineSessionParametersInfoKHR, s_type), offset_of!(VideoDecodeH264InlineSessionParametersInfoKHR, p_next), offset_of!(VideoDecodeH264InlineSessionParametersInfoKHR, p_std_sps), offset_of!(VideoDecodeH264InlineSessionParametersInfoKHR, p_std_pps)); + println!("VideoDecodeH264PictureInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoDecodeH264PictureInfoKHR, s_type), offset_of!(VideoDecodeH264PictureInfoKHR, p_next), offset_of!(VideoDecodeH264PictureInfoKHR, p_std_picture_info), offset_of!(VideoDecodeH264PictureInfoKHR, slice_count), offset_of!(VideoDecodeH264PictureInfoKHR, p_slice_offsets)); + println!("VideoDecodeH264DpbSlotInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoDecodeH264DpbSlotInfoKHR, s_type), offset_of!(VideoDecodeH264DpbSlotInfoKHR, p_next), offset_of!(VideoDecodeH264DpbSlotInfoKHR, p_std_reference_info)); + println!("VideoDecodeH265ProfileInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoDecodeH265ProfileInfoKHR, s_type), offset_of!(VideoDecodeH265ProfileInfoKHR, p_next), offset_of!(VideoDecodeH265ProfileInfoKHR, std_profile_idc)); + println!("VideoDecodeH265CapabilitiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoDecodeH265CapabilitiesKHR, s_type), offset_of!(VideoDecodeH265CapabilitiesKHR, p_next), offset_of!(VideoDecodeH265CapabilitiesKHR, max_level_idc)); + println!("VideoDecodeH265SessionParametersAddInfoKHR {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoDecodeH265SessionParametersAddInfoKHR, s_type), offset_of!(VideoDecodeH265SessionParametersAddInfoKHR, p_next), offset_of!(VideoDecodeH265SessionParametersAddInfoKHR, std_vps_count), offset_of!(VideoDecodeH265SessionParametersAddInfoKHR, p_std_vp_ss), offset_of!(VideoDecodeH265SessionParametersAddInfoKHR, std_sps_count), offset_of!(VideoDecodeH265SessionParametersAddInfoKHR, p_std_sp_ss), offset_of!(VideoDecodeH265SessionParametersAddInfoKHR, std_pps_count), offset_of!(VideoDecodeH265SessionParametersAddInfoKHR, p_std_pp_ss)); + println!("VideoDecodeH265SessionParametersCreateInfoKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoDecodeH265SessionParametersCreateInfoKHR, s_type), offset_of!(VideoDecodeH265SessionParametersCreateInfoKHR, p_next), offset_of!(VideoDecodeH265SessionParametersCreateInfoKHR, max_std_vps_count), offset_of!(VideoDecodeH265SessionParametersCreateInfoKHR, max_std_sps_count), offset_of!(VideoDecodeH265SessionParametersCreateInfoKHR, max_std_pps_count), offset_of!(VideoDecodeH265SessionParametersCreateInfoKHR, p_parameters_add_info)); + println!("VideoDecodeH265InlineSessionParametersInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoDecodeH265InlineSessionParametersInfoKHR, s_type), offset_of!(VideoDecodeH265InlineSessionParametersInfoKHR, p_next), offset_of!(VideoDecodeH265InlineSessionParametersInfoKHR, p_std_vps), offset_of!(VideoDecodeH265InlineSessionParametersInfoKHR, p_std_sps), offset_of!(VideoDecodeH265InlineSessionParametersInfoKHR, p_std_pps)); + println!("VideoDecodeH265PictureInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoDecodeH265PictureInfoKHR, s_type), offset_of!(VideoDecodeH265PictureInfoKHR, p_next), offset_of!(VideoDecodeH265PictureInfoKHR, p_std_picture_info), offset_of!(VideoDecodeH265PictureInfoKHR, slice_segment_count), offset_of!(VideoDecodeH265PictureInfoKHR, p_slice_segment_offsets)); + println!("VideoDecodeH265DpbSlotInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoDecodeH265DpbSlotInfoKHR, s_type), offset_of!(VideoDecodeH265DpbSlotInfoKHR, p_next), offset_of!(VideoDecodeH265DpbSlotInfoKHR, p_std_reference_info)); + println!("PhysicalDeviceVideoDecodeVP9FeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceVideoDecodeVP9FeaturesKHR, s_type), offset_of!(PhysicalDeviceVideoDecodeVP9FeaturesKHR, p_next), offset_of!(PhysicalDeviceVideoDecodeVP9FeaturesKHR, video_decode_vp9)); + println!("VideoDecodeVP9ProfileInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoDecodeVP9ProfileInfoKHR, s_type), offset_of!(VideoDecodeVP9ProfileInfoKHR, p_next), offset_of!(VideoDecodeVP9ProfileInfoKHR, std_profile)); + println!("VideoDecodeVP9CapabilitiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoDecodeVP9CapabilitiesKHR, s_type), offset_of!(VideoDecodeVP9CapabilitiesKHR, p_next), offset_of!(VideoDecodeVP9CapabilitiesKHR, max_level)); + println!("VideoDecodeVP9PictureInfoKHR {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoDecodeVP9PictureInfoKHR, s_type), offset_of!(VideoDecodeVP9PictureInfoKHR, p_next), offset_of!(VideoDecodeVP9PictureInfoKHR, p_std_picture_info), offset_of!(VideoDecodeVP9PictureInfoKHR, reference_name_slot_indices), offset_of!(VideoDecodeVP9PictureInfoKHR, uncompressed_header_offset), offset_of!(VideoDecodeVP9PictureInfoKHR, compressed_header_offset), offset_of!(VideoDecodeVP9PictureInfoKHR, tiles_offset)); + println!("VideoDecodeAV1ProfileInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoDecodeAV1ProfileInfoKHR, s_type), offset_of!(VideoDecodeAV1ProfileInfoKHR, p_next), offset_of!(VideoDecodeAV1ProfileInfoKHR, std_profile), offset_of!(VideoDecodeAV1ProfileInfoKHR, film_grain_support)); + println!("VideoDecodeAV1CapabilitiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoDecodeAV1CapabilitiesKHR, s_type), offset_of!(VideoDecodeAV1CapabilitiesKHR, p_next), offset_of!(VideoDecodeAV1CapabilitiesKHR, max_level)); + println!("VideoDecodeAV1SessionParametersCreateInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoDecodeAV1SessionParametersCreateInfoKHR, s_type), offset_of!(VideoDecodeAV1SessionParametersCreateInfoKHR, p_next), offset_of!(VideoDecodeAV1SessionParametersCreateInfoKHR, p_std_sequence_header)); + println!("VideoDecodeAV1InlineSessionParametersInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoDecodeAV1InlineSessionParametersInfoKHR, s_type), offset_of!(VideoDecodeAV1InlineSessionParametersInfoKHR, p_next), offset_of!(VideoDecodeAV1InlineSessionParametersInfoKHR, p_std_sequence_header)); + println!("VideoDecodeAV1PictureInfoKHR {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoDecodeAV1PictureInfoKHR, s_type), offset_of!(VideoDecodeAV1PictureInfoKHR, p_next), offset_of!(VideoDecodeAV1PictureInfoKHR, p_std_picture_info), offset_of!(VideoDecodeAV1PictureInfoKHR, reference_name_slot_indices), offset_of!(VideoDecodeAV1PictureInfoKHR, frame_header_offset), offset_of!(VideoDecodeAV1PictureInfoKHR, tile_count), offset_of!(VideoDecodeAV1PictureInfoKHR, p_tile_offsets), offset_of!(VideoDecodeAV1PictureInfoKHR, p_tile_sizes)); + println!("VideoDecodeAV1DpbSlotInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoDecodeAV1DpbSlotInfoKHR, s_type), offset_of!(VideoDecodeAV1DpbSlotInfoKHR, p_next), offset_of!(VideoDecodeAV1DpbSlotInfoKHR, p_std_reference_info)); + println!("VideoSessionCreateInfoKHR {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoSessionCreateInfoKHR, s_type), offset_of!(VideoSessionCreateInfoKHR, p_next), offset_of!(VideoSessionCreateInfoKHR, queue_family_index), offset_of!(VideoSessionCreateInfoKHR, flags), offset_of!(VideoSessionCreateInfoKHR, p_video_profile), offset_of!(VideoSessionCreateInfoKHR, picture_format), offset_of!(VideoSessionCreateInfoKHR, max_coded_extent), offset_of!(VideoSessionCreateInfoKHR, reference_picture_format), offset_of!(VideoSessionCreateInfoKHR, max_dpb_slots), offset_of!(VideoSessionCreateInfoKHR, max_active_reference_pictures), offset_of!(VideoSessionCreateInfoKHR, p_std_header_version)); + println!("VideoSessionParametersCreateInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoSessionParametersCreateInfoKHR, s_type), offset_of!(VideoSessionParametersCreateInfoKHR, p_next), offset_of!(VideoSessionParametersCreateInfoKHR, flags), offset_of!(VideoSessionParametersCreateInfoKHR, video_session_parameters_template), offset_of!(VideoSessionParametersCreateInfoKHR, video_session)); + println!("VideoSessionParametersUpdateInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoSessionParametersUpdateInfoKHR, s_type), offset_of!(VideoSessionParametersUpdateInfoKHR, p_next), offset_of!(VideoSessionParametersUpdateInfoKHR, update_sequence_count)); + println!("VideoEncodeSessionParametersGetInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeSessionParametersGetInfoKHR, s_type), offset_of!(VideoEncodeSessionParametersGetInfoKHR, p_next), offset_of!(VideoEncodeSessionParametersGetInfoKHR, video_session_parameters)); + println!("VideoEncodeSessionParametersFeedbackInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeSessionParametersFeedbackInfoKHR, s_type), offset_of!(VideoEncodeSessionParametersFeedbackInfoKHR, p_next), offset_of!(VideoEncodeSessionParametersFeedbackInfoKHR, has_overrides)); + println!("VideoBeginCodingInfoKHR {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoBeginCodingInfoKHR, s_type), offset_of!(VideoBeginCodingInfoKHR, p_next), offset_of!(VideoBeginCodingInfoKHR, flags), offset_of!(VideoBeginCodingInfoKHR, video_session), offset_of!(VideoBeginCodingInfoKHR, video_session_parameters), offset_of!(VideoBeginCodingInfoKHR, reference_slot_count), offset_of!(VideoBeginCodingInfoKHR, p_reference_slots)); + println!("VideoEndCodingInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEndCodingInfoKHR, s_type), offset_of!(VideoEndCodingInfoKHR, p_next), offset_of!(VideoEndCodingInfoKHR, flags)); + println!("VideoCodingControlInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoCodingControlInfoKHR, s_type), offset_of!(VideoCodingControlInfoKHR, p_next), offset_of!(VideoCodingControlInfoKHR, flags)); + println!("VideoEncodeUsageInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeUsageInfoKHR, s_type), offset_of!(VideoEncodeUsageInfoKHR, p_next), offset_of!(VideoEncodeUsageInfoKHR, video_usage_hints), offset_of!(VideoEncodeUsageInfoKHR, video_content_hints), offset_of!(VideoEncodeUsageInfoKHR, tuning_mode)); + println!("VideoEncodeInfoKHR {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeInfoKHR, s_type), offset_of!(VideoEncodeInfoKHR, p_next), offset_of!(VideoEncodeInfoKHR, flags), offset_of!(VideoEncodeInfoKHR, dst_buffer), offset_of!(VideoEncodeInfoKHR, dst_buffer_offset), offset_of!(VideoEncodeInfoKHR, dst_buffer_range), offset_of!(VideoEncodeInfoKHR, src_picture_resource), offset_of!(VideoEncodeInfoKHR, p_setup_reference_slot), offset_of!(VideoEncodeInfoKHR, reference_slot_count), offset_of!(VideoEncodeInfoKHR, p_reference_slots), offset_of!(VideoEncodeInfoKHR, preceding_externally_encoded_bytes)); + println!("VideoEncodeQuantizationMapInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeQuantizationMapInfoKHR, s_type), offset_of!(VideoEncodeQuantizationMapInfoKHR, p_next), offset_of!(VideoEncodeQuantizationMapInfoKHR, quantization_map), offset_of!(VideoEncodeQuantizationMapInfoKHR, quantization_map_extent)); + println!("VideoEncodeQuantizationMapSessionParametersCreateInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeQuantizationMapSessionParametersCreateInfoKHR, s_type), offset_of!(VideoEncodeQuantizationMapSessionParametersCreateInfoKHR, p_next), offset_of!(VideoEncodeQuantizationMapSessionParametersCreateInfoKHR, quantization_map_texel_size)); + println!("PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR, s_type), offset_of!(PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR, p_next), offset_of!(PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR, video_encode_quantization_map)); + println!("QueryPoolVideoEncodeFeedbackCreateInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(QueryPoolVideoEncodeFeedbackCreateInfoKHR, s_type), offset_of!(QueryPoolVideoEncodeFeedbackCreateInfoKHR, p_next), offset_of!(QueryPoolVideoEncodeFeedbackCreateInfoKHR, encode_feedback_flags)); + println!("VideoEncodeQualityLevelInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeQualityLevelInfoKHR, s_type), offset_of!(VideoEncodeQualityLevelInfoKHR, p_next), offset_of!(VideoEncodeQualityLevelInfoKHR, quality_level)); + println!("PhysicalDeviceVideoEncodeQualityLevelInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceVideoEncodeQualityLevelInfoKHR, s_type), offset_of!(PhysicalDeviceVideoEncodeQualityLevelInfoKHR, p_next), offset_of!(PhysicalDeviceVideoEncodeQualityLevelInfoKHR, p_video_profile), offset_of!(PhysicalDeviceVideoEncodeQualityLevelInfoKHR, quality_level)); + println!("VideoEncodeQualityLevelPropertiesKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeQualityLevelPropertiesKHR, s_type), offset_of!(VideoEncodeQualityLevelPropertiesKHR, p_next), offset_of!(VideoEncodeQualityLevelPropertiesKHR, preferred_rate_control_mode), offset_of!(VideoEncodeQualityLevelPropertiesKHR, preferred_rate_control_layer_count)); + println!("VideoEncodeRateControlInfoKHR {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeRateControlInfoKHR, s_type), offset_of!(VideoEncodeRateControlInfoKHR, p_next), offset_of!(VideoEncodeRateControlInfoKHR, flags), offset_of!(VideoEncodeRateControlInfoKHR, rate_control_mode), offset_of!(VideoEncodeRateControlInfoKHR, layer_count), offset_of!(VideoEncodeRateControlInfoKHR, p_layers), offset_of!(VideoEncodeRateControlInfoKHR, virtual_buffer_size_in_ms), offset_of!(VideoEncodeRateControlInfoKHR, initial_virtual_buffer_size_in_ms)); + println!("VideoEncodeRateControlLayerInfoKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeRateControlLayerInfoKHR, s_type), offset_of!(VideoEncodeRateControlLayerInfoKHR, p_next), offset_of!(VideoEncodeRateControlLayerInfoKHR, average_bitrate), offset_of!(VideoEncodeRateControlLayerInfoKHR, max_bitrate), offset_of!(VideoEncodeRateControlLayerInfoKHR, frame_rate_numerator), offset_of!(VideoEncodeRateControlLayerInfoKHR, frame_rate_denominator)); + println!("VideoEncodeCapabilitiesKHR {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeCapabilitiesKHR, s_type), offset_of!(VideoEncodeCapabilitiesKHR, p_next), offset_of!(VideoEncodeCapabilitiesKHR, flags), offset_of!(VideoEncodeCapabilitiesKHR, rate_control_modes), offset_of!(VideoEncodeCapabilitiesKHR, max_rate_control_layers), offset_of!(VideoEncodeCapabilitiesKHR, max_bitrate), offset_of!(VideoEncodeCapabilitiesKHR, max_quality_levels), offset_of!(VideoEncodeCapabilitiesKHR, encode_input_picture_granularity), offset_of!(VideoEncodeCapabilitiesKHR, supported_encode_feedback_flags)); + println!("VideoEncodeH264CapabilitiesKHR {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeH264CapabilitiesKHR, s_type), offset_of!(VideoEncodeH264CapabilitiesKHR, p_next), offset_of!(VideoEncodeH264CapabilitiesKHR, flags), offset_of!(VideoEncodeH264CapabilitiesKHR, max_level_idc), offset_of!(VideoEncodeH264CapabilitiesKHR, max_slice_count), offset_of!(VideoEncodeH264CapabilitiesKHR, max_p_picture_l0_reference_count), offset_of!(VideoEncodeH264CapabilitiesKHR, max_b_picture_l0_reference_count), offset_of!(VideoEncodeH264CapabilitiesKHR, max_l1_reference_count), offset_of!(VideoEncodeH264CapabilitiesKHR, max_temporal_layer_count), offset_of!(VideoEncodeH264CapabilitiesKHR, expect_dyadic_temporal_layer_pattern), offset_of!(VideoEncodeH264CapabilitiesKHR, min_qp), offset_of!(VideoEncodeH264CapabilitiesKHR, max_qp), offset_of!(VideoEncodeH264CapabilitiesKHR, prefers_gop_remaining_frames), offset_of!(VideoEncodeH264CapabilitiesKHR, requires_gop_remaining_frames), offset_of!(VideoEncodeH264CapabilitiesKHR, std_syntax_flags)); + println!("VideoEncodeH264QualityLevelPropertiesKHR {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeH264QualityLevelPropertiesKHR, s_type), offset_of!(VideoEncodeH264QualityLevelPropertiesKHR, p_next), offset_of!(VideoEncodeH264QualityLevelPropertiesKHR, preferred_rate_control_flags), offset_of!(VideoEncodeH264QualityLevelPropertiesKHR, preferred_gop_frame_count), offset_of!(VideoEncodeH264QualityLevelPropertiesKHR, preferred_idr_period), offset_of!(VideoEncodeH264QualityLevelPropertiesKHR, preferred_consecutive_b_frame_count), offset_of!(VideoEncodeH264QualityLevelPropertiesKHR, preferred_temporal_layer_count), offset_of!(VideoEncodeH264QualityLevelPropertiesKHR, preferred_constant_qp), offset_of!(VideoEncodeH264QualityLevelPropertiesKHR, preferred_max_l0_reference_count), offset_of!(VideoEncodeH264QualityLevelPropertiesKHR, preferred_max_l1_reference_count), offset_of!(VideoEncodeH264QualityLevelPropertiesKHR, preferred_std_entropy_coding_mode_flag)); + println!("VideoEncodeH264SessionCreateInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeH264SessionCreateInfoKHR, s_type), offset_of!(VideoEncodeH264SessionCreateInfoKHR, p_next), offset_of!(VideoEncodeH264SessionCreateInfoKHR, use_max_level_idc), offset_of!(VideoEncodeH264SessionCreateInfoKHR, max_level_idc)); + println!("VideoEncodeH264SessionParametersAddInfoKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeH264SessionParametersAddInfoKHR, s_type), offset_of!(VideoEncodeH264SessionParametersAddInfoKHR, p_next), offset_of!(VideoEncodeH264SessionParametersAddInfoKHR, std_sps_count), offset_of!(VideoEncodeH264SessionParametersAddInfoKHR, p_std_sp_ss), offset_of!(VideoEncodeH264SessionParametersAddInfoKHR, std_pps_count), offset_of!(VideoEncodeH264SessionParametersAddInfoKHR, p_std_pp_ss)); + println!("VideoEncodeH264SessionParametersCreateInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeH264SessionParametersCreateInfoKHR, s_type), offset_of!(VideoEncodeH264SessionParametersCreateInfoKHR, p_next), offset_of!(VideoEncodeH264SessionParametersCreateInfoKHR, max_std_sps_count), offset_of!(VideoEncodeH264SessionParametersCreateInfoKHR, max_std_pps_count), offset_of!(VideoEncodeH264SessionParametersCreateInfoKHR, p_parameters_add_info)); + println!("VideoEncodeH264SessionParametersGetInfoKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeH264SessionParametersGetInfoKHR, s_type), offset_of!(VideoEncodeH264SessionParametersGetInfoKHR, p_next), offset_of!(VideoEncodeH264SessionParametersGetInfoKHR, write_std_sps), offset_of!(VideoEncodeH264SessionParametersGetInfoKHR, write_std_pps), offset_of!(VideoEncodeH264SessionParametersGetInfoKHR, std_sps_id), offset_of!(VideoEncodeH264SessionParametersGetInfoKHR, std_pps_id)); + println!("VideoEncodeH264SessionParametersFeedbackInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeH264SessionParametersFeedbackInfoKHR, s_type), offset_of!(VideoEncodeH264SessionParametersFeedbackInfoKHR, p_next), offset_of!(VideoEncodeH264SessionParametersFeedbackInfoKHR, has_std_sps_overrides), offset_of!(VideoEncodeH264SessionParametersFeedbackInfoKHR, has_std_pps_overrides)); + println!("VideoEncodeH264DpbSlotInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeH264DpbSlotInfoKHR, s_type), offset_of!(VideoEncodeH264DpbSlotInfoKHR, p_next), offset_of!(VideoEncodeH264DpbSlotInfoKHR, p_std_reference_info)); + println!("VideoEncodeH264PictureInfoKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeH264PictureInfoKHR, s_type), offset_of!(VideoEncodeH264PictureInfoKHR, p_next), offset_of!(VideoEncodeH264PictureInfoKHR, nalu_slice_entry_count), offset_of!(VideoEncodeH264PictureInfoKHR, p_nalu_slice_entries), offset_of!(VideoEncodeH264PictureInfoKHR, p_std_picture_info), offset_of!(VideoEncodeH264PictureInfoKHR, generate_prefix_nalu)); + println!("VideoEncodeH264ProfileInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeH264ProfileInfoKHR, s_type), offset_of!(VideoEncodeH264ProfileInfoKHR, p_next), offset_of!(VideoEncodeH264ProfileInfoKHR, std_profile_idc)); + println!("VideoEncodeH264NaluSliceInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeH264NaluSliceInfoKHR, s_type), offset_of!(VideoEncodeH264NaluSliceInfoKHR, p_next), offset_of!(VideoEncodeH264NaluSliceInfoKHR, constant_qp), offset_of!(VideoEncodeH264NaluSliceInfoKHR, p_std_slice_header)); + println!("VideoEncodeH264RateControlInfoKHR {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeH264RateControlInfoKHR, s_type), offset_of!(VideoEncodeH264RateControlInfoKHR, p_next), offset_of!(VideoEncodeH264RateControlInfoKHR, flags), offset_of!(VideoEncodeH264RateControlInfoKHR, gop_frame_count), offset_of!(VideoEncodeH264RateControlInfoKHR, idr_period), offset_of!(VideoEncodeH264RateControlInfoKHR, consecutive_b_frame_count), offset_of!(VideoEncodeH264RateControlInfoKHR, temporal_layer_count)); + println!("VideoEncodeH264QpKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeH264QpKHR, qp_i), offset_of!(VideoEncodeH264QpKHR, qp_p), offset_of!(VideoEncodeH264QpKHR, qp_b)); + println!("VideoEncodeH264FrameSizeKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeH264FrameSizeKHR, frame_i_size), offset_of!(VideoEncodeH264FrameSizeKHR, frame_p_size), offset_of!(VideoEncodeH264FrameSizeKHR, frame_b_size)); + println!("VideoEncodeH264GopRemainingFrameInfoKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeH264GopRemainingFrameInfoKHR, s_type), offset_of!(VideoEncodeH264GopRemainingFrameInfoKHR, p_next), offset_of!(VideoEncodeH264GopRemainingFrameInfoKHR, use_gop_remaining_frames), offset_of!(VideoEncodeH264GopRemainingFrameInfoKHR, gop_remaining_i), offset_of!(VideoEncodeH264GopRemainingFrameInfoKHR, gop_remaining_p), offset_of!(VideoEncodeH264GopRemainingFrameInfoKHR, gop_remaining_b)); + println!("VideoEncodeH264RateControlLayerInfoKHR {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeH264RateControlLayerInfoKHR, s_type), offset_of!(VideoEncodeH264RateControlLayerInfoKHR, p_next), offset_of!(VideoEncodeH264RateControlLayerInfoKHR, use_min_qp), offset_of!(VideoEncodeH264RateControlLayerInfoKHR, min_qp), offset_of!(VideoEncodeH264RateControlLayerInfoKHR, use_max_qp), offset_of!(VideoEncodeH264RateControlLayerInfoKHR, max_qp), offset_of!(VideoEncodeH264RateControlLayerInfoKHR, use_max_frame_size), offset_of!(VideoEncodeH264RateControlLayerInfoKHR, max_frame_size)); + println!("VideoEncodeH265CapabilitiesKHR {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeH265CapabilitiesKHR, s_type), offset_of!(VideoEncodeH265CapabilitiesKHR, p_next), offset_of!(VideoEncodeH265CapabilitiesKHR, flags), offset_of!(VideoEncodeH265CapabilitiesKHR, max_level_idc), offset_of!(VideoEncodeH265CapabilitiesKHR, max_slice_segment_count), offset_of!(VideoEncodeH265CapabilitiesKHR, max_tiles), offset_of!(VideoEncodeH265CapabilitiesKHR, ctb_sizes), offset_of!(VideoEncodeH265CapabilitiesKHR, transform_block_sizes), offset_of!(VideoEncodeH265CapabilitiesKHR, max_p_picture_l0_reference_count), offset_of!(VideoEncodeH265CapabilitiesKHR, max_b_picture_l0_reference_count), offset_of!(VideoEncodeH265CapabilitiesKHR, max_l1_reference_count), offset_of!(VideoEncodeH265CapabilitiesKHR, max_sub_layer_count), offset_of!(VideoEncodeH265CapabilitiesKHR, expect_dyadic_temporal_sub_layer_pattern), offset_of!(VideoEncodeH265CapabilitiesKHR, min_qp), offset_of!(VideoEncodeH265CapabilitiesKHR, max_qp), offset_of!(VideoEncodeH265CapabilitiesKHR, prefers_gop_remaining_frames), offset_of!(VideoEncodeH265CapabilitiesKHR, requires_gop_remaining_frames), offset_of!(VideoEncodeH265CapabilitiesKHR, std_syntax_flags)); + println!("VideoEncodeH265QualityLevelPropertiesKHR {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeH265QualityLevelPropertiesKHR, s_type), offset_of!(VideoEncodeH265QualityLevelPropertiesKHR, p_next), offset_of!(VideoEncodeH265QualityLevelPropertiesKHR, preferred_rate_control_flags), offset_of!(VideoEncodeH265QualityLevelPropertiesKHR, preferred_gop_frame_count), offset_of!(VideoEncodeH265QualityLevelPropertiesKHR, preferred_idr_period), offset_of!(VideoEncodeH265QualityLevelPropertiesKHR, preferred_consecutive_b_frame_count), offset_of!(VideoEncodeH265QualityLevelPropertiesKHR, preferred_sub_layer_count), offset_of!(VideoEncodeH265QualityLevelPropertiesKHR, preferred_constant_qp), offset_of!(VideoEncodeH265QualityLevelPropertiesKHR, preferred_max_l0_reference_count), offset_of!(VideoEncodeH265QualityLevelPropertiesKHR, preferred_max_l1_reference_count)); + println!("VideoEncodeH265SessionCreateInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeH265SessionCreateInfoKHR, s_type), offset_of!(VideoEncodeH265SessionCreateInfoKHR, p_next), offset_of!(VideoEncodeH265SessionCreateInfoKHR, use_max_level_idc), offset_of!(VideoEncodeH265SessionCreateInfoKHR, max_level_idc)); + println!("VideoEncodeH265SessionParametersAddInfoKHR {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeH265SessionParametersAddInfoKHR, s_type), offset_of!(VideoEncodeH265SessionParametersAddInfoKHR, p_next), offset_of!(VideoEncodeH265SessionParametersAddInfoKHR, std_vps_count), offset_of!(VideoEncodeH265SessionParametersAddInfoKHR, p_std_vp_ss), offset_of!(VideoEncodeH265SessionParametersAddInfoKHR, std_sps_count), offset_of!(VideoEncodeH265SessionParametersAddInfoKHR, p_std_sp_ss), offset_of!(VideoEncodeH265SessionParametersAddInfoKHR, std_pps_count), offset_of!(VideoEncodeH265SessionParametersAddInfoKHR, p_std_pp_ss)); + println!("VideoEncodeH265SessionParametersCreateInfoKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeH265SessionParametersCreateInfoKHR, s_type), offset_of!(VideoEncodeH265SessionParametersCreateInfoKHR, p_next), offset_of!(VideoEncodeH265SessionParametersCreateInfoKHR, max_std_vps_count), offset_of!(VideoEncodeH265SessionParametersCreateInfoKHR, max_std_sps_count), offset_of!(VideoEncodeH265SessionParametersCreateInfoKHR, max_std_pps_count), offset_of!(VideoEncodeH265SessionParametersCreateInfoKHR, p_parameters_add_info)); + println!("VideoEncodeH265SessionParametersGetInfoKHR {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeH265SessionParametersGetInfoKHR, s_type), offset_of!(VideoEncodeH265SessionParametersGetInfoKHR, p_next), offset_of!(VideoEncodeH265SessionParametersGetInfoKHR, write_std_vps), offset_of!(VideoEncodeH265SessionParametersGetInfoKHR, write_std_sps), offset_of!(VideoEncodeH265SessionParametersGetInfoKHR, write_std_pps), offset_of!(VideoEncodeH265SessionParametersGetInfoKHR, std_vps_id), offset_of!(VideoEncodeH265SessionParametersGetInfoKHR, std_sps_id), offset_of!(VideoEncodeH265SessionParametersGetInfoKHR, std_pps_id)); + println!("VideoEncodeH265SessionParametersFeedbackInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeH265SessionParametersFeedbackInfoKHR, s_type), offset_of!(VideoEncodeH265SessionParametersFeedbackInfoKHR, p_next), offset_of!(VideoEncodeH265SessionParametersFeedbackInfoKHR, has_std_vps_overrides), offset_of!(VideoEncodeH265SessionParametersFeedbackInfoKHR, has_std_sps_overrides), offset_of!(VideoEncodeH265SessionParametersFeedbackInfoKHR, has_std_pps_overrides)); + println!("VideoEncodeH265PictureInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeH265PictureInfoKHR, s_type), offset_of!(VideoEncodeH265PictureInfoKHR, p_next), offset_of!(VideoEncodeH265PictureInfoKHR, nalu_slice_segment_entry_count), offset_of!(VideoEncodeH265PictureInfoKHR, p_nalu_slice_segment_entries), offset_of!(VideoEncodeH265PictureInfoKHR, p_std_picture_info)); + println!("VideoEncodeH265NaluSliceSegmentInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeH265NaluSliceSegmentInfoKHR, s_type), offset_of!(VideoEncodeH265NaluSliceSegmentInfoKHR, p_next), offset_of!(VideoEncodeH265NaluSliceSegmentInfoKHR, constant_qp), offset_of!(VideoEncodeH265NaluSliceSegmentInfoKHR, p_std_slice_segment_header)); + println!("VideoEncodeH265RateControlInfoKHR {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeH265RateControlInfoKHR, s_type), offset_of!(VideoEncodeH265RateControlInfoKHR, p_next), offset_of!(VideoEncodeH265RateControlInfoKHR, flags), offset_of!(VideoEncodeH265RateControlInfoKHR, gop_frame_count), offset_of!(VideoEncodeH265RateControlInfoKHR, idr_period), offset_of!(VideoEncodeH265RateControlInfoKHR, consecutive_b_frame_count), offset_of!(VideoEncodeH265RateControlInfoKHR, sub_layer_count)); + println!("VideoEncodeH265QpKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeH265QpKHR, qp_i), offset_of!(VideoEncodeH265QpKHR, qp_p), offset_of!(VideoEncodeH265QpKHR, qp_b)); + println!("VideoEncodeH265FrameSizeKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeH265FrameSizeKHR, frame_i_size), offset_of!(VideoEncodeH265FrameSizeKHR, frame_p_size), offset_of!(VideoEncodeH265FrameSizeKHR, frame_b_size)); + println!("VideoEncodeH265GopRemainingFrameInfoKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeH265GopRemainingFrameInfoKHR, s_type), offset_of!(VideoEncodeH265GopRemainingFrameInfoKHR, p_next), offset_of!(VideoEncodeH265GopRemainingFrameInfoKHR, use_gop_remaining_frames), offset_of!(VideoEncodeH265GopRemainingFrameInfoKHR, gop_remaining_i), offset_of!(VideoEncodeH265GopRemainingFrameInfoKHR, gop_remaining_p), offset_of!(VideoEncodeH265GopRemainingFrameInfoKHR, gop_remaining_b)); + println!("VideoEncodeH265RateControlLayerInfoKHR {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeH265RateControlLayerInfoKHR, s_type), offset_of!(VideoEncodeH265RateControlLayerInfoKHR, p_next), offset_of!(VideoEncodeH265RateControlLayerInfoKHR, use_min_qp), offset_of!(VideoEncodeH265RateControlLayerInfoKHR, min_qp), offset_of!(VideoEncodeH265RateControlLayerInfoKHR, use_max_qp), offset_of!(VideoEncodeH265RateControlLayerInfoKHR, max_qp), offset_of!(VideoEncodeH265RateControlLayerInfoKHR, use_max_frame_size), offset_of!(VideoEncodeH265RateControlLayerInfoKHR, max_frame_size)); + println!("VideoEncodeH265ProfileInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeH265ProfileInfoKHR, s_type), offset_of!(VideoEncodeH265ProfileInfoKHR, p_next), offset_of!(VideoEncodeH265ProfileInfoKHR, std_profile_idc)); + println!("VideoEncodeH265DpbSlotInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeH265DpbSlotInfoKHR, s_type), offset_of!(VideoEncodeH265DpbSlotInfoKHR, p_next), offset_of!(VideoEncodeH265DpbSlotInfoKHR, p_std_reference_info)); + println!("VideoEncodeAV1CapabilitiesKHR {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeAV1CapabilitiesKHR, s_type), offset_of!(VideoEncodeAV1CapabilitiesKHR, p_next), offset_of!(VideoEncodeAV1CapabilitiesKHR, flags), offset_of!(VideoEncodeAV1CapabilitiesKHR, max_level), offset_of!(VideoEncodeAV1CapabilitiesKHR, coded_picture_alignment), offset_of!(VideoEncodeAV1CapabilitiesKHR, max_tiles), offset_of!(VideoEncodeAV1CapabilitiesKHR, min_tile_size), offset_of!(VideoEncodeAV1CapabilitiesKHR, max_tile_size), offset_of!(VideoEncodeAV1CapabilitiesKHR, superblock_sizes), offset_of!(VideoEncodeAV1CapabilitiesKHR, max_single_reference_count), offset_of!(VideoEncodeAV1CapabilitiesKHR, single_reference_name_mask), offset_of!(VideoEncodeAV1CapabilitiesKHR, max_unidirectional_compound_reference_count), offset_of!(VideoEncodeAV1CapabilitiesKHR, max_unidirectional_compound_group1_reference_count), offset_of!(VideoEncodeAV1CapabilitiesKHR, unidirectional_compound_reference_name_mask), offset_of!(VideoEncodeAV1CapabilitiesKHR, max_bidirectional_compound_reference_count), offset_of!(VideoEncodeAV1CapabilitiesKHR, max_bidirectional_compound_group1_reference_count), offset_of!(VideoEncodeAV1CapabilitiesKHR, max_bidirectional_compound_group2_reference_count), offset_of!(VideoEncodeAV1CapabilitiesKHR, bidirectional_compound_reference_name_mask), offset_of!(VideoEncodeAV1CapabilitiesKHR, max_temporal_layer_count), offset_of!(VideoEncodeAV1CapabilitiesKHR, max_spatial_layer_count), offset_of!(VideoEncodeAV1CapabilitiesKHR, max_operating_points), offset_of!(VideoEncodeAV1CapabilitiesKHR, min_q_index), offset_of!(VideoEncodeAV1CapabilitiesKHR, max_q_index), offset_of!(VideoEncodeAV1CapabilitiesKHR, prefers_gop_remaining_frames), offset_of!(VideoEncodeAV1CapabilitiesKHR, requires_gop_remaining_frames), offset_of!(VideoEncodeAV1CapabilitiesKHR, std_syntax_flags)); + println!("VideoEncodeAV1QualityLevelPropertiesKHR {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeAV1QualityLevelPropertiesKHR, s_type), offset_of!(VideoEncodeAV1QualityLevelPropertiesKHR, p_next), offset_of!(VideoEncodeAV1QualityLevelPropertiesKHR, preferred_rate_control_flags), offset_of!(VideoEncodeAV1QualityLevelPropertiesKHR, preferred_gop_frame_count), offset_of!(VideoEncodeAV1QualityLevelPropertiesKHR, preferred_key_frame_period), offset_of!(VideoEncodeAV1QualityLevelPropertiesKHR, preferred_consecutive_bipredictive_frame_count), offset_of!(VideoEncodeAV1QualityLevelPropertiesKHR, preferred_temporal_layer_count), offset_of!(VideoEncodeAV1QualityLevelPropertiesKHR, preferred_constant_q_index), offset_of!(VideoEncodeAV1QualityLevelPropertiesKHR, preferred_max_single_reference_count), offset_of!(VideoEncodeAV1QualityLevelPropertiesKHR, preferred_single_reference_name_mask), offset_of!(VideoEncodeAV1QualityLevelPropertiesKHR, preferred_max_unidirectional_compound_reference_count), offset_of!(VideoEncodeAV1QualityLevelPropertiesKHR, preferred_max_unidirectional_compound_group1_reference_count), offset_of!(VideoEncodeAV1QualityLevelPropertiesKHR, preferred_unidirectional_compound_reference_name_mask), offset_of!(VideoEncodeAV1QualityLevelPropertiesKHR, preferred_max_bidirectional_compound_reference_count), offset_of!(VideoEncodeAV1QualityLevelPropertiesKHR, preferred_max_bidirectional_compound_group1_reference_count), offset_of!(VideoEncodeAV1QualityLevelPropertiesKHR, preferred_max_bidirectional_compound_group2_reference_count), offset_of!(VideoEncodeAV1QualityLevelPropertiesKHR, preferred_bidirectional_compound_reference_name_mask)); + println!("PhysicalDeviceVideoEncodeAV1FeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceVideoEncodeAV1FeaturesKHR, s_type), offset_of!(PhysicalDeviceVideoEncodeAV1FeaturesKHR, p_next), offset_of!(PhysicalDeviceVideoEncodeAV1FeaturesKHR, video_encode_av1)); + println!("VideoEncodeAV1SessionCreateInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeAV1SessionCreateInfoKHR, s_type), offset_of!(VideoEncodeAV1SessionCreateInfoKHR, p_next), offset_of!(VideoEncodeAV1SessionCreateInfoKHR, use_max_level), offset_of!(VideoEncodeAV1SessionCreateInfoKHR, max_level)); + println!("VideoEncodeAV1SessionParametersCreateInfoKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeAV1SessionParametersCreateInfoKHR, s_type), offset_of!(VideoEncodeAV1SessionParametersCreateInfoKHR, p_next), offset_of!(VideoEncodeAV1SessionParametersCreateInfoKHR, p_std_sequence_header), offset_of!(VideoEncodeAV1SessionParametersCreateInfoKHR, p_std_decoder_model_info), offset_of!(VideoEncodeAV1SessionParametersCreateInfoKHR, std_operating_point_count), offset_of!(VideoEncodeAV1SessionParametersCreateInfoKHR, p_std_operating_points)); + println!("VideoEncodeAV1DpbSlotInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeAV1DpbSlotInfoKHR, s_type), offset_of!(VideoEncodeAV1DpbSlotInfoKHR, p_next), offset_of!(VideoEncodeAV1DpbSlotInfoKHR, p_std_reference_info)); + println!("VideoEncodeAV1PictureInfoKHR {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeAV1PictureInfoKHR, s_type), offset_of!(VideoEncodeAV1PictureInfoKHR, p_next), offset_of!(VideoEncodeAV1PictureInfoKHR, prediction_mode), offset_of!(VideoEncodeAV1PictureInfoKHR, rate_control_group), offset_of!(VideoEncodeAV1PictureInfoKHR, constant_q_index), offset_of!(VideoEncodeAV1PictureInfoKHR, p_std_picture_info), offset_of!(VideoEncodeAV1PictureInfoKHR, reference_name_slot_indices), offset_of!(VideoEncodeAV1PictureInfoKHR, primary_reference_cdf_only), offset_of!(VideoEncodeAV1PictureInfoKHR, generate_obu_extension_header)); + println!("VideoEncodeAV1ProfileInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeAV1ProfileInfoKHR, s_type), offset_of!(VideoEncodeAV1ProfileInfoKHR, p_next), offset_of!(VideoEncodeAV1ProfileInfoKHR, std_profile)); + println!("VideoEncodeAV1RateControlInfoKHR {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeAV1RateControlInfoKHR, s_type), offset_of!(VideoEncodeAV1RateControlInfoKHR, p_next), offset_of!(VideoEncodeAV1RateControlInfoKHR, flags), offset_of!(VideoEncodeAV1RateControlInfoKHR, gop_frame_count), offset_of!(VideoEncodeAV1RateControlInfoKHR, key_frame_period), offset_of!(VideoEncodeAV1RateControlInfoKHR, consecutive_bipredictive_frame_count), offset_of!(VideoEncodeAV1RateControlInfoKHR, temporal_layer_count)); + println!("VideoEncodeAV1QIndexKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeAV1QIndexKHR, intra_q_index), offset_of!(VideoEncodeAV1QIndexKHR, predictive_q_index), offset_of!(VideoEncodeAV1QIndexKHR, bipredictive_q_index)); + println!("VideoEncodeAV1FrameSizeKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeAV1FrameSizeKHR, intra_frame_size), offset_of!(VideoEncodeAV1FrameSizeKHR, predictive_frame_size), offset_of!(VideoEncodeAV1FrameSizeKHR, bipredictive_frame_size)); + println!("VideoEncodeAV1GopRemainingFrameInfoKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeAV1GopRemainingFrameInfoKHR, s_type), offset_of!(VideoEncodeAV1GopRemainingFrameInfoKHR, p_next), offset_of!(VideoEncodeAV1GopRemainingFrameInfoKHR, use_gop_remaining_frames), offset_of!(VideoEncodeAV1GopRemainingFrameInfoKHR, gop_remaining_intra), offset_of!(VideoEncodeAV1GopRemainingFrameInfoKHR, gop_remaining_predictive), offset_of!(VideoEncodeAV1GopRemainingFrameInfoKHR, gop_remaining_bipredictive)); + println!("VideoEncodeAV1RateControlLayerInfoKHR {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeAV1RateControlLayerInfoKHR, s_type), offset_of!(VideoEncodeAV1RateControlLayerInfoKHR, p_next), offset_of!(VideoEncodeAV1RateControlLayerInfoKHR, use_min_q_index), offset_of!(VideoEncodeAV1RateControlLayerInfoKHR, min_q_index), offset_of!(VideoEncodeAV1RateControlLayerInfoKHR, use_max_q_index), offset_of!(VideoEncodeAV1RateControlLayerInfoKHR, max_q_index), offset_of!(VideoEncodeAV1RateControlLayerInfoKHR, use_max_frame_size), offset_of!(VideoEncodeAV1RateControlLayerInfoKHR, max_frame_size)); + println!("PhysicalDeviceInheritedViewportScissorFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceInheritedViewportScissorFeaturesNV, s_type), offset_of!(PhysicalDeviceInheritedViewportScissorFeaturesNV, p_next), offset_of!(PhysicalDeviceInheritedViewportScissorFeaturesNV, inherited_viewport_scissor2_d)); + println!("CommandBufferInheritanceViewportScissorInfoNV {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CommandBufferInheritanceViewportScissorInfoNV, s_type), offset_of!(CommandBufferInheritanceViewportScissorInfoNV, p_next), offset_of!(CommandBufferInheritanceViewportScissorInfoNV, viewport_scissor2_d), offset_of!(CommandBufferInheritanceViewportScissorInfoNV, viewport_depth_count), offset_of!(CommandBufferInheritanceViewportScissorInfoNV, p_viewport_depths)); + println!("PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT, s_type), offset_of!(PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT, p_next), offset_of!(PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT, ycbcr2plane444_formats)); + println!("PhysicalDeviceProvokingVertexFeaturesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceProvokingVertexFeaturesEXT, s_type), offset_of!(PhysicalDeviceProvokingVertexFeaturesEXT, p_next), offset_of!(PhysicalDeviceProvokingVertexFeaturesEXT, provoking_vertex_last), offset_of!(PhysicalDeviceProvokingVertexFeaturesEXT, transform_feedback_preserves_provoking_vertex)); + println!("PhysicalDeviceProvokingVertexPropertiesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceProvokingVertexPropertiesEXT, s_type), offset_of!(PhysicalDeviceProvokingVertexPropertiesEXT, p_next), offset_of!(PhysicalDeviceProvokingVertexPropertiesEXT, provoking_vertex_mode_per_pipeline), offset_of!(PhysicalDeviceProvokingVertexPropertiesEXT, transform_feedback_preserves_triangle_fan_provoking_vertex)); + println!("PipelineRasterizationProvokingVertexStateCreateInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineRasterizationProvokingVertexStateCreateInfoEXT, s_type), offset_of!(PipelineRasterizationProvokingVertexStateCreateInfoEXT, p_next), offset_of!(PipelineRasterizationProvokingVertexStateCreateInfoEXT, provoking_vertex_mode)); + println!("VideoEncodeIntraRefreshCapabilitiesKHR {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeIntraRefreshCapabilitiesKHR, s_type), offset_of!(VideoEncodeIntraRefreshCapabilitiesKHR, p_next), offset_of!(VideoEncodeIntraRefreshCapabilitiesKHR, intra_refresh_modes), offset_of!(VideoEncodeIntraRefreshCapabilitiesKHR, max_intra_refresh_cycle_duration), offset_of!(VideoEncodeIntraRefreshCapabilitiesKHR, max_intra_refresh_active_reference_pictures), offset_of!(VideoEncodeIntraRefreshCapabilitiesKHR, partition_independent_intra_refresh_regions), offset_of!(VideoEncodeIntraRefreshCapabilitiesKHR, non_rectangular_intra_refresh_regions)); + println!("VideoEncodeSessionIntraRefreshCreateInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeSessionIntraRefreshCreateInfoKHR, s_type), offset_of!(VideoEncodeSessionIntraRefreshCreateInfoKHR, p_next), offset_of!(VideoEncodeSessionIntraRefreshCreateInfoKHR, intra_refresh_mode)); + println!("VideoEncodeIntraRefreshInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeIntraRefreshInfoKHR, s_type), offset_of!(VideoEncodeIntraRefreshInfoKHR, p_next), offset_of!(VideoEncodeIntraRefreshInfoKHR, intra_refresh_cycle_duration), offset_of!(VideoEncodeIntraRefreshInfoKHR, intra_refresh_index)); + println!("VideoReferenceIntraRefreshInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoReferenceIntraRefreshInfoKHR, s_type), offset_of!(VideoReferenceIntraRefreshInfoKHR, p_next), offset_of!(VideoReferenceIntraRefreshInfoKHR, dirty_intra_refresh_regions)); + println!("PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR, s_type), offset_of!(PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR, p_next), offset_of!(PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR, video_encode_intra_refresh)); + println!("CuModuleCreateInfoNVX {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CuModuleCreateInfoNVX, s_type), offset_of!(CuModuleCreateInfoNVX, p_next), offset_of!(CuModuleCreateInfoNVX, data_size), offset_of!(CuModuleCreateInfoNVX, p_data)); + println!("CuModuleTexturingModeCreateInfoNVX {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CuModuleTexturingModeCreateInfoNVX, s_type), offset_of!(CuModuleTexturingModeCreateInfoNVX, p_next), offset_of!(CuModuleTexturingModeCreateInfoNVX, use64bit_texturing)); + println!("CuFunctionCreateInfoNVX {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CuFunctionCreateInfoNVX, s_type), offset_of!(CuFunctionCreateInfoNVX, p_next), offset_of!(CuFunctionCreateInfoNVX, module), offset_of!(CuFunctionCreateInfoNVX, p_name)); + println!("CuLaunchInfoNVX {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CuLaunchInfoNVX, s_type), offset_of!(CuLaunchInfoNVX, p_next), offset_of!(CuLaunchInfoNVX, function), offset_of!(CuLaunchInfoNVX, grid_dim_x), offset_of!(CuLaunchInfoNVX, grid_dim_y), offset_of!(CuLaunchInfoNVX, grid_dim_z), offset_of!(CuLaunchInfoNVX, block_dim_x), offset_of!(CuLaunchInfoNVX, block_dim_y), offset_of!(CuLaunchInfoNVX, block_dim_z), offset_of!(CuLaunchInfoNVX, shared_mem_bytes), offset_of!(CuLaunchInfoNVX, param_count), offset_of!(CuLaunchInfoNVX, p_params), offset_of!(CuLaunchInfoNVX, extra_count), offset_of!(CuLaunchInfoNVX, p_extras)); + println!("PhysicalDeviceDescriptorBufferFeaturesEXT {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceDescriptorBufferFeaturesEXT, s_type), offset_of!(PhysicalDeviceDescriptorBufferFeaturesEXT, p_next), offset_of!(PhysicalDeviceDescriptorBufferFeaturesEXT, descriptor_buffer), offset_of!(PhysicalDeviceDescriptorBufferFeaturesEXT, descriptor_buffer_capture_replay), offset_of!(PhysicalDeviceDescriptorBufferFeaturesEXT, descriptor_buffer_image_layout_ignored), offset_of!(PhysicalDeviceDescriptorBufferFeaturesEXT, descriptor_buffer_push_descriptors)); + println!("PhysicalDeviceDescriptorBufferPropertiesEXT {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceDescriptorBufferPropertiesEXT, s_type), offset_of!(PhysicalDeviceDescriptorBufferPropertiesEXT, p_next), offset_of!(PhysicalDeviceDescriptorBufferPropertiesEXT, combined_image_sampler_descriptor_single_array), offset_of!(PhysicalDeviceDescriptorBufferPropertiesEXT, bufferless_push_descriptors), offset_of!(PhysicalDeviceDescriptorBufferPropertiesEXT, allow_sampler_image_view_post_submit_creation), offset_of!(PhysicalDeviceDescriptorBufferPropertiesEXT, descriptor_buffer_offset_alignment), offset_of!(PhysicalDeviceDescriptorBufferPropertiesEXT, max_descriptor_buffer_bindings), offset_of!(PhysicalDeviceDescriptorBufferPropertiesEXT, max_resource_descriptor_buffer_bindings), offset_of!(PhysicalDeviceDescriptorBufferPropertiesEXT, max_sampler_descriptor_buffer_bindings), offset_of!(PhysicalDeviceDescriptorBufferPropertiesEXT, max_embedded_immutable_sampler_bindings), offset_of!(PhysicalDeviceDescriptorBufferPropertiesEXT, max_embedded_immutable_samplers), offset_of!(PhysicalDeviceDescriptorBufferPropertiesEXT, buffer_capture_replay_descriptor_data_size), offset_of!(PhysicalDeviceDescriptorBufferPropertiesEXT, image_capture_replay_descriptor_data_size), offset_of!(PhysicalDeviceDescriptorBufferPropertiesEXT, image_view_capture_replay_descriptor_data_size), offset_of!(PhysicalDeviceDescriptorBufferPropertiesEXT, sampler_capture_replay_descriptor_data_size), offset_of!(PhysicalDeviceDescriptorBufferPropertiesEXT, acceleration_structure_capture_replay_descriptor_data_size), offset_of!(PhysicalDeviceDescriptorBufferPropertiesEXT, sampler_descriptor_size), offset_of!(PhysicalDeviceDescriptorBufferPropertiesEXT, combined_image_sampler_descriptor_size), offset_of!(PhysicalDeviceDescriptorBufferPropertiesEXT, sampled_image_descriptor_size), offset_of!(PhysicalDeviceDescriptorBufferPropertiesEXT, storage_image_descriptor_size), offset_of!(PhysicalDeviceDescriptorBufferPropertiesEXT, uniform_texel_buffer_descriptor_size), offset_of!(PhysicalDeviceDescriptorBufferPropertiesEXT, robust_uniform_texel_buffer_descriptor_size), offset_of!(PhysicalDeviceDescriptorBufferPropertiesEXT, storage_texel_buffer_descriptor_size), offset_of!(PhysicalDeviceDescriptorBufferPropertiesEXT, robust_storage_texel_buffer_descriptor_size), offset_of!(PhysicalDeviceDescriptorBufferPropertiesEXT, uniform_buffer_descriptor_size), offset_of!(PhysicalDeviceDescriptorBufferPropertiesEXT, robust_uniform_buffer_descriptor_size), offset_of!(PhysicalDeviceDescriptorBufferPropertiesEXT, storage_buffer_descriptor_size), offset_of!(PhysicalDeviceDescriptorBufferPropertiesEXT, robust_storage_buffer_descriptor_size), offset_of!(PhysicalDeviceDescriptorBufferPropertiesEXT, input_attachment_descriptor_size), offset_of!(PhysicalDeviceDescriptorBufferPropertiesEXT, acceleration_structure_descriptor_size), offset_of!(PhysicalDeviceDescriptorBufferPropertiesEXT, max_sampler_descriptor_buffer_range), offset_of!(PhysicalDeviceDescriptorBufferPropertiesEXT, max_resource_descriptor_buffer_range), offset_of!(PhysicalDeviceDescriptorBufferPropertiesEXT, sampler_descriptor_buffer_address_space_size), offset_of!(PhysicalDeviceDescriptorBufferPropertiesEXT, resource_descriptor_buffer_address_space_size), offset_of!(PhysicalDeviceDescriptorBufferPropertiesEXT, descriptor_buffer_address_space_size)); + println!("PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT, s_type), offset_of!(PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT, p_next), offset_of!(PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT, combined_image_sampler_density_map_descriptor_size)); + println!("DescriptorAddressInfoEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DescriptorAddressInfoEXT, s_type), offset_of!(DescriptorAddressInfoEXT, p_next), offset_of!(DescriptorAddressInfoEXT, address), offset_of!(DescriptorAddressInfoEXT, range), offset_of!(DescriptorAddressInfoEXT, format)); + println!("DescriptorBufferBindingInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DescriptorBufferBindingInfoEXT, s_type), offset_of!(DescriptorBufferBindingInfoEXT, p_next), offset_of!(DescriptorBufferBindingInfoEXT, address), offset_of!(DescriptorBufferBindingInfoEXT, usage)); + println!("DescriptorBufferBindingPushDescriptorBufferHandleEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DescriptorBufferBindingPushDescriptorBufferHandleEXT, s_type), offset_of!(DescriptorBufferBindingPushDescriptorBufferHandleEXT, p_next), offset_of!(DescriptorBufferBindingPushDescriptorBufferHandleEXT, buffer)); + println!("DescriptorDataEXT {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DescriptorDataEXT, p_sampler), offset_of!(DescriptorDataEXT, p_combined_image_sampler), offset_of!(DescriptorDataEXT, p_input_attachment_image), offset_of!(DescriptorDataEXT, p_sampled_image), offset_of!(DescriptorDataEXT, p_storage_image), offset_of!(DescriptorDataEXT, p_uniform_texel_buffer), offset_of!(DescriptorDataEXT, p_storage_texel_buffer), offset_of!(DescriptorDataEXT, p_uniform_buffer), offset_of!(DescriptorDataEXT, p_storage_buffer), offset_of!(DescriptorDataEXT, acceleration_structure)); + println!("DescriptorGetInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DescriptorGetInfoEXT, s_type), offset_of!(DescriptorGetInfoEXT, p_next), offset_of!(DescriptorGetInfoEXT, data)); + println!("BufferCaptureDescriptorDataInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(BufferCaptureDescriptorDataInfoEXT, s_type), offset_of!(BufferCaptureDescriptorDataInfoEXT, p_next), offset_of!(BufferCaptureDescriptorDataInfoEXT, buffer)); + println!("ImageCaptureDescriptorDataInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImageCaptureDescriptorDataInfoEXT, s_type), offset_of!(ImageCaptureDescriptorDataInfoEXT, p_next), offset_of!(ImageCaptureDescriptorDataInfoEXT, image)); + println!("ImageViewCaptureDescriptorDataInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImageViewCaptureDescriptorDataInfoEXT, s_type), offset_of!(ImageViewCaptureDescriptorDataInfoEXT, p_next), offset_of!(ImageViewCaptureDescriptorDataInfoEXT, image_view)); + println!("SamplerCaptureDescriptorDataInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SamplerCaptureDescriptorDataInfoEXT, s_type), offset_of!(SamplerCaptureDescriptorDataInfoEXT, p_next), offset_of!(SamplerCaptureDescriptorDataInfoEXT, sampler)); + println!("AccelerationStructureCaptureDescriptorDataInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(AccelerationStructureCaptureDescriptorDataInfoEXT, s_type), offset_of!(AccelerationStructureCaptureDescriptorDataInfoEXT, p_next), offset_of!(AccelerationStructureCaptureDescriptorDataInfoEXT, acceleration_structure), offset_of!(AccelerationStructureCaptureDescriptorDataInfoEXT, acceleration_structure_nv)); + println!("OpaqueCaptureDescriptorDataCreateInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(OpaqueCaptureDescriptorDataCreateInfoEXT, s_type), offset_of!(OpaqueCaptureDescriptorDataCreateInfoEXT, p_next), offset_of!(OpaqueCaptureDescriptorDataCreateInfoEXT, opaque_capture_descriptor_data)); + println!("PhysicalDeviceShaderIntegerDotProductFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderIntegerDotProductFeatures, s_type), offset_of!(PhysicalDeviceShaderIntegerDotProductFeatures, p_next), offset_of!(PhysicalDeviceShaderIntegerDotProductFeatures, shader_integer_dot_product)); + println!("PhysicalDeviceShaderIntegerDotProductProperties {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderIntegerDotProductProperties, s_type), offset_of!(PhysicalDeviceShaderIntegerDotProductProperties, p_next), offset_of!(PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product8_bit_unsigned_accelerated), offset_of!(PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product8_bit_signed_accelerated), offset_of!(PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product8_bit_mixed_signedness_accelerated), offset_of!(PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product4x8_bit_packed_unsigned_accelerated), offset_of!(PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product4x8_bit_packed_signed_accelerated), offset_of!(PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product4x8_bit_packed_mixed_signedness_accelerated), offset_of!(PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product16_bit_unsigned_accelerated), offset_of!(PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product16_bit_signed_accelerated), offset_of!(PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product16_bit_mixed_signedness_accelerated), offset_of!(PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product32_bit_unsigned_accelerated), offset_of!(PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product32_bit_signed_accelerated), offset_of!(PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product32_bit_mixed_signedness_accelerated), offset_of!(PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product64_bit_unsigned_accelerated), offset_of!(PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product64_bit_signed_accelerated), offset_of!(PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product64_bit_mixed_signedness_accelerated), offset_of!(PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product_accumulating_saturating8_bit_unsigned_accelerated), offset_of!(PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product_accumulating_saturating8_bit_signed_accelerated), offset_of!(PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product_accumulating_saturating8_bit_mixed_signedness_accelerated), offset_of!(PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product_accumulating_saturating4x8_bit_packed_unsigned_accelerated), offset_of!(PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product_accumulating_saturating4x8_bit_packed_signed_accelerated), offset_of!(PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product_accumulating_saturating4x8_bit_packed_mixed_signedness_accelerated), offset_of!(PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product_accumulating_saturating16_bit_unsigned_accelerated), offset_of!(PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product_accumulating_saturating16_bit_signed_accelerated), offset_of!(PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product_accumulating_saturating16_bit_mixed_signedness_accelerated), offset_of!(PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product_accumulating_saturating32_bit_unsigned_accelerated), offset_of!(PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product_accumulating_saturating32_bit_signed_accelerated), offset_of!(PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product_accumulating_saturating32_bit_mixed_signedness_accelerated), offset_of!(PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product_accumulating_saturating64_bit_unsigned_accelerated), offset_of!(PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product_accumulating_saturating64_bit_signed_accelerated), offset_of!(PhysicalDeviceShaderIntegerDotProductProperties, integer_dot_product_accumulating_saturating64_bit_mixed_signedness_accelerated)); + println!("PhysicalDeviceDrmPropertiesEXT {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceDrmPropertiesEXT, s_type), offset_of!(PhysicalDeviceDrmPropertiesEXT, p_next), offset_of!(PhysicalDeviceDrmPropertiesEXT, has_primary), offset_of!(PhysicalDeviceDrmPropertiesEXT, has_render), offset_of!(PhysicalDeviceDrmPropertiesEXT, primary_major), offset_of!(PhysicalDeviceDrmPropertiesEXT, primary_minor), offset_of!(PhysicalDeviceDrmPropertiesEXT, render_major), offset_of!(PhysicalDeviceDrmPropertiesEXT, render_minor)); + println!("PhysicalDeviceFragmentShaderBarycentricFeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceFragmentShaderBarycentricFeaturesKHR, s_type), offset_of!(PhysicalDeviceFragmentShaderBarycentricFeaturesKHR, p_next), offset_of!(PhysicalDeviceFragmentShaderBarycentricFeaturesKHR, fragment_shader_barycentric)); + println!("PhysicalDeviceFragmentShaderBarycentricPropertiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceFragmentShaderBarycentricPropertiesKHR, s_type), offset_of!(PhysicalDeviceFragmentShaderBarycentricPropertiesKHR, p_next), offset_of!(PhysicalDeviceFragmentShaderBarycentricPropertiesKHR, tri_strip_vertex_order_independent_of_provoking_vertex)); + println!("PhysicalDeviceShaderFmaFeaturesKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderFmaFeaturesKHR, s_type), offset_of!(PhysicalDeviceShaderFmaFeaturesKHR, p_next), offset_of!(PhysicalDeviceShaderFmaFeaturesKHR, shader_fma_float16), offset_of!(PhysicalDeviceShaderFmaFeaturesKHR, shader_fma_float32), offset_of!(PhysicalDeviceShaderFmaFeaturesKHR, shader_fma_float64)); + println!("PhysicalDeviceRayTracingMotionBlurFeaturesNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceRayTracingMotionBlurFeaturesNV, s_type), offset_of!(PhysicalDeviceRayTracingMotionBlurFeaturesNV, p_next), offset_of!(PhysicalDeviceRayTracingMotionBlurFeaturesNV, ray_tracing_motion_blur), offset_of!(PhysicalDeviceRayTracingMotionBlurFeaturesNV, ray_tracing_motion_blur_pipeline_trace_rays_indirect)); + println!("PhysicalDeviceRayTracingValidationFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceRayTracingValidationFeaturesNV, s_type), offset_of!(PhysicalDeviceRayTracingValidationFeaturesNV, p_next), offset_of!(PhysicalDeviceRayTracingValidationFeaturesNV, ray_tracing_validation)); + println!("PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV, s_type), offset_of!(PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV, p_next), offset_of!(PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV, spheres), offset_of!(PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV, linear_swept_spheres)); + println!("AccelerationStructureGeometryMotionTrianglesDataNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(AccelerationStructureGeometryMotionTrianglesDataNV, s_type), offset_of!(AccelerationStructureGeometryMotionTrianglesDataNV, p_next), offset_of!(AccelerationStructureGeometryMotionTrianglesDataNV, vertex_data)); + println!("AccelerationStructureMotionInfoNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(AccelerationStructureMotionInfoNV, s_type), offset_of!(AccelerationStructureMotionInfoNV, p_next), offset_of!(AccelerationStructureMotionInfoNV, max_instances), offset_of!(AccelerationStructureMotionInfoNV, flags)); + println!("SRTDataNV {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SRTDataNV, sx), offset_of!(SRTDataNV, a), offset_of!(SRTDataNV, b), offset_of!(SRTDataNV, pvx), offset_of!(SRTDataNV, sy), offset_of!(SRTDataNV, c), offset_of!(SRTDataNV, pvy), offset_of!(SRTDataNV, sz), offset_of!(SRTDataNV, pvz), offset_of!(SRTDataNV, qx), offset_of!(SRTDataNV, qy), offset_of!(SRTDataNV, qz), offset_of!(SRTDataNV, qw), offset_of!(SRTDataNV, tx), offset_of!(SRTDataNV, ty), offset_of!(SRTDataNV, tz)); + println!("AccelerationStructureSRTMotionInstanceNV {} {}", size_of::(), align_of::()); + println!("AccelerationStructureMatrixMotionInstanceNV {} {}", size_of::(), align_of::()); + println!("AccelerationStructureMotionInstanceDataNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(AccelerationStructureMotionInstanceDataNV, static_instance), offset_of!(AccelerationStructureMotionInstanceDataNV, matrix_motion_instance), offset_of!(AccelerationStructureMotionInstanceDataNV, srt_motion_instance)); + println!("AccelerationStructureMotionInstanceNV {} {} {} {}", size_of::(), align_of::(), offset_of!(AccelerationStructureMotionInstanceNV, flags), offset_of!(AccelerationStructureMotionInstanceNV, data)); + println!("MemoryGetRemoteAddressInfoNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(MemoryGetRemoteAddressInfoNV, s_type), offset_of!(MemoryGetRemoteAddressInfoNV, p_next), offset_of!(MemoryGetRemoteAddressInfoNV, memory), offset_of!(MemoryGetRemoteAddressInfoNV, handle_type)); + println!("PhysicalDeviceRGBA10X6FormatsFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceRGBA10X6FormatsFeaturesEXT, s_type), offset_of!(PhysicalDeviceRGBA10X6FormatsFeaturesEXT, p_next), offset_of!(PhysicalDeviceRGBA10X6FormatsFeaturesEXT, format_rgba10x6_without_y_cb_cr_sampler)); + println!("FormatProperties3 {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(FormatProperties3, s_type), offset_of!(FormatProperties3, p_next), offset_of!(FormatProperties3, linear_tiling_features), offset_of!(FormatProperties3, optimal_tiling_features), offset_of!(FormatProperties3, buffer_features)); + println!("DrmFormatModifierPropertiesList2EXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DrmFormatModifierPropertiesList2EXT, s_type), offset_of!(DrmFormatModifierPropertiesList2EXT, p_next), offset_of!(DrmFormatModifierPropertiesList2EXT, drm_format_modifier_count), offset_of!(DrmFormatModifierPropertiesList2EXT, p_drm_format_modifier_properties)); + println!("DrmFormatModifierProperties2EXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DrmFormatModifierProperties2EXT, drm_format_modifier), offset_of!(DrmFormatModifierProperties2EXT, drm_format_modifier_plane_count), offset_of!(DrmFormatModifierProperties2EXT, drm_format_modifier_tiling_features)); + println!("PipelineRenderingCreateInfo {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineRenderingCreateInfo, s_type), offset_of!(PipelineRenderingCreateInfo, p_next), offset_of!(PipelineRenderingCreateInfo, view_mask), offset_of!(PipelineRenderingCreateInfo, color_attachment_count), offset_of!(PipelineRenderingCreateInfo, p_color_attachment_formats), offset_of!(PipelineRenderingCreateInfo, depth_attachment_format), offset_of!(PipelineRenderingCreateInfo, stencil_attachment_format)); + println!("RenderingInfo {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(RenderingInfo, s_type), offset_of!(RenderingInfo, p_next), offset_of!(RenderingInfo, flags), offset_of!(RenderingInfo, render_area), offset_of!(RenderingInfo, layer_count), offset_of!(RenderingInfo, view_mask), offset_of!(RenderingInfo, color_attachment_count), offset_of!(RenderingInfo, p_color_attachments), offset_of!(RenderingInfo, p_depth_attachment), offset_of!(RenderingInfo, p_stencil_attachment)); + println!("RenderingEndInfoKHR {} {} {} {}", size_of::(), align_of::(), offset_of!(RenderingEndInfoKHR, s_type), offset_of!(RenderingEndInfoKHR, p_next)); + println!("RenderingAttachmentInfo {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(RenderingAttachmentInfo, s_type), offset_of!(RenderingAttachmentInfo, p_next), offset_of!(RenderingAttachmentInfo, image_view), offset_of!(RenderingAttachmentInfo, image_layout), offset_of!(RenderingAttachmentInfo, resolve_mode), offset_of!(RenderingAttachmentInfo, resolve_image_view), offset_of!(RenderingAttachmentInfo, resolve_image_layout), offset_of!(RenderingAttachmentInfo, load_op), offset_of!(RenderingAttachmentInfo, store_op), offset_of!(RenderingAttachmentInfo, clear_value)); + println!("RenderingFragmentShadingRateAttachmentInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(RenderingFragmentShadingRateAttachmentInfoKHR, s_type), offset_of!(RenderingFragmentShadingRateAttachmentInfoKHR, p_next), offset_of!(RenderingFragmentShadingRateAttachmentInfoKHR, image_view), offset_of!(RenderingFragmentShadingRateAttachmentInfoKHR, image_layout), offset_of!(RenderingFragmentShadingRateAttachmentInfoKHR, shading_rate_attachment_texel_size)); + println!("RenderingFragmentDensityMapAttachmentInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(RenderingFragmentDensityMapAttachmentInfoEXT, s_type), offset_of!(RenderingFragmentDensityMapAttachmentInfoEXT, p_next), offset_of!(RenderingFragmentDensityMapAttachmentInfoEXT, image_view), offset_of!(RenderingFragmentDensityMapAttachmentInfoEXT, image_layout)); + println!("PhysicalDeviceDynamicRenderingFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceDynamicRenderingFeatures, s_type), offset_of!(PhysicalDeviceDynamicRenderingFeatures, p_next), offset_of!(PhysicalDeviceDynamicRenderingFeatures, dynamic_rendering)); + println!("CommandBufferInheritanceRenderingInfo {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CommandBufferInheritanceRenderingInfo, s_type), offset_of!(CommandBufferInheritanceRenderingInfo, p_next), offset_of!(CommandBufferInheritanceRenderingInfo, flags), offset_of!(CommandBufferInheritanceRenderingInfo, view_mask), offset_of!(CommandBufferInheritanceRenderingInfo, color_attachment_count), offset_of!(CommandBufferInheritanceRenderingInfo, color_attachment_count), offset_of!(CommandBufferInheritanceRenderingInfo, p_color_attachment_formats), offset_of!(CommandBufferInheritanceRenderingInfo, depth_attachment_format), offset_of!(CommandBufferInheritanceRenderingInfo, stencil_attachment_format), offset_of!(CommandBufferInheritanceRenderingInfo, rasterization_samples)); + println!("AttachmentSampleCountInfoAMD {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(AttachmentSampleCountInfoAMD, s_type), offset_of!(AttachmentSampleCountInfoAMD, p_next), offset_of!(AttachmentSampleCountInfoAMD, color_attachment_count), offset_of!(AttachmentSampleCountInfoAMD, p_color_attachment_samples), offset_of!(AttachmentSampleCountInfoAMD, depth_stencil_attachment_samples)); + println!("MultiviewPerViewAttributesInfoNVX {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(MultiviewPerViewAttributesInfoNVX, s_type), offset_of!(MultiviewPerViewAttributesInfoNVX, p_next), offset_of!(MultiviewPerViewAttributesInfoNVX, per_view_attributes), offset_of!(MultiviewPerViewAttributesInfoNVX, per_view_attributes_position_x_only)); + println!("PhysicalDeviceImageViewMinLodFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceImageViewMinLodFeaturesEXT, s_type), offset_of!(PhysicalDeviceImageViewMinLodFeaturesEXT, p_next), offset_of!(PhysicalDeviceImageViewMinLodFeaturesEXT, min_lod)); + println!("ImageViewMinLodCreateInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImageViewMinLodCreateInfoEXT, s_type), offset_of!(ImageViewMinLodCreateInfoEXT, p_next), offset_of!(ImageViewMinLodCreateInfoEXT, min_lod)); + println!("PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT, s_type), offset_of!(PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT, p_next), offset_of!(PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT, rasterization_order_color_attachment_access), offset_of!(PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT, rasterization_order_depth_attachment_access), offset_of!(PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT, rasterization_order_stencil_attachment_access)); + println!("PhysicalDeviceLinearColorAttachmentFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceLinearColorAttachmentFeaturesNV, s_type), offset_of!(PhysicalDeviceLinearColorAttachmentFeaturesNV, p_next), offset_of!(PhysicalDeviceLinearColorAttachmentFeaturesNV, linear_color_attachment)); + println!("PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT, s_type), offset_of!(PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT, p_next), offset_of!(PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT, graphics_pipeline_library)); + println!("PhysicalDevicePipelineBinaryFeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDevicePipelineBinaryFeaturesKHR, s_type), offset_of!(PhysicalDevicePipelineBinaryFeaturesKHR, p_next), offset_of!(PhysicalDevicePipelineBinaryFeaturesKHR, pipeline_binaries)); + println!("DevicePipelineBinaryInternalCacheControlKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DevicePipelineBinaryInternalCacheControlKHR, s_type), offset_of!(DevicePipelineBinaryInternalCacheControlKHR, p_next), offset_of!(DevicePipelineBinaryInternalCacheControlKHR, disable_internal_cache)); + println!("PhysicalDevicePipelineBinaryPropertiesKHR {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDevicePipelineBinaryPropertiesKHR, s_type), offset_of!(PhysicalDevicePipelineBinaryPropertiesKHR, p_next), offset_of!(PhysicalDevicePipelineBinaryPropertiesKHR, pipeline_binary_internal_cache), offset_of!(PhysicalDevicePipelineBinaryPropertiesKHR, pipeline_binary_internal_cache_control), offset_of!(PhysicalDevicePipelineBinaryPropertiesKHR, pipeline_binary_prefers_internal_cache), offset_of!(PhysicalDevicePipelineBinaryPropertiesKHR, pipeline_binary_precompiled_internal_cache), offset_of!(PhysicalDevicePipelineBinaryPropertiesKHR, pipeline_binary_compressed_data)); + println!("PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT, s_type), offset_of!(PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT, p_next), offset_of!(PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT, graphics_pipeline_library_fast_linking), offset_of!(PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT, graphics_pipeline_library_independent_interpolation_decoration)); + println!("GraphicsPipelineLibraryCreateInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(GraphicsPipelineLibraryCreateInfoEXT, s_type), offset_of!(GraphicsPipelineLibraryCreateInfoEXT, p_next), offset_of!(GraphicsPipelineLibraryCreateInfoEXT, flags)); + println!("PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE, s_type), offset_of!(PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE, p_next), offset_of!(PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE, descriptor_set_host_mapping)); + println!("DescriptorSetBindingReferenceVALVE {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DescriptorSetBindingReferenceVALVE, s_type), offset_of!(DescriptorSetBindingReferenceVALVE, p_next), offset_of!(DescriptorSetBindingReferenceVALVE, descriptor_set_layout), offset_of!(DescriptorSetBindingReferenceVALVE, binding)); + println!("DescriptorSetLayoutHostMappingInfoVALVE {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DescriptorSetLayoutHostMappingInfoVALVE, s_type), offset_of!(DescriptorSetLayoutHostMappingInfoVALVE, p_next), offset_of!(DescriptorSetLayoutHostMappingInfoVALVE, descriptor_offset), offset_of!(DescriptorSetLayoutHostMappingInfoVALVE, descriptor_size)); + println!("PhysicalDeviceNestedCommandBufferFeaturesEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceNestedCommandBufferFeaturesEXT, s_type), offset_of!(PhysicalDeviceNestedCommandBufferFeaturesEXT, p_next), offset_of!(PhysicalDeviceNestedCommandBufferFeaturesEXT, nested_command_buffer), offset_of!(PhysicalDeviceNestedCommandBufferFeaturesEXT, nested_command_buffer_rendering), offset_of!(PhysicalDeviceNestedCommandBufferFeaturesEXT, nested_command_buffer_simultaneous_use)); + println!("PhysicalDeviceNestedCommandBufferPropertiesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceNestedCommandBufferPropertiesEXT, s_type), offset_of!(PhysicalDeviceNestedCommandBufferPropertiesEXT, p_next), offset_of!(PhysicalDeviceNestedCommandBufferPropertiesEXT, max_command_buffer_nesting_level)); + println!("PhysicalDeviceShaderModuleIdentifierFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderModuleIdentifierFeaturesEXT, s_type), offset_of!(PhysicalDeviceShaderModuleIdentifierFeaturesEXT, p_next), offset_of!(PhysicalDeviceShaderModuleIdentifierFeaturesEXT, shader_module_identifier)); + println!("PhysicalDeviceShaderModuleIdentifierPropertiesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderModuleIdentifierPropertiesEXT, s_type), offset_of!(PhysicalDeviceShaderModuleIdentifierPropertiesEXT, p_next), offset_of!(PhysicalDeviceShaderModuleIdentifierPropertiesEXT, shader_module_identifier_algorithm_uuid)); + println!("PipelineShaderStageModuleIdentifierCreateInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineShaderStageModuleIdentifierCreateInfoEXT, s_type), offset_of!(PipelineShaderStageModuleIdentifierCreateInfoEXT, p_next), offset_of!(PipelineShaderStageModuleIdentifierCreateInfoEXT, identifier_size), offset_of!(PipelineShaderStageModuleIdentifierCreateInfoEXT, p_identifier)); + println!("ShaderModuleIdentifierEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ShaderModuleIdentifierEXT, s_type), offset_of!(ShaderModuleIdentifierEXT, p_next), offset_of!(ShaderModuleIdentifierEXT, identifier_size), offset_of!(ShaderModuleIdentifierEXT, identifier)); + println!("ImageCompressionControlEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImageCompressionControlEXT, s_type), offset_of!(ImageCompressionControlEXT, p_next), offset_of!(ImageCompressionControlEXT, flags), offset_of!(ImageCompressionControlEXT, compression_control_plane_count), offset_of!(ImageCompressionControlEXT, p_fixed_rate_flags)); + println!("PhysicalDeviceImageCompressionControlFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceImageCompressionControlFeaturesEXT, s_type), offset_of!(PhysicalDeviceImageCompressionControlFeaturesEXT, p_next), offset_of!(PhysicalDeviceImageCompressionControlFeaturesEXT, image_compression_control)); + println!("ImageCompressionPropertiesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImageCompressionPropertiesEXT, s_type), offset_of!(ImageCompressionPropertiesEXT, p_next), offset_of!(ImageCompressionPropertiesEXT, image_compression_flags), offset_of!(ImageCompressionPropertiesEXT, image_compression_fixed_rate_flags)); + println!("PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT, s_type), offset_of!(PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT, p_next), offset_of!(PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT, image_compression_control_swapchain)); + println!("ImageSubresource2 {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImageSubresource2, s_type), offset_of!(ImageSubresource2, p_next), offset_of!(ImageSubresource2, image_subresource)); + println!("SubresourceLayout2 {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SubresourceLayout2, s_type), offset_of!(SubresourceLayout2, p_next), offset_of!(SubresourceLayout2, subresource_layout)); + println!("RenderPassCreationControlEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(RenderPassCreationControlEXT, s_type), offset_of!(RenderPassCreationControlEXT, p_next), offset_of!(RenderPassCreationControlEXT, disallow_merging)); + println!("RenderPassCreationFeedbackInfoEXT {} {} {}", size_of::(), align_of::(), offset_of!(RenderPassCreationFeedbackInfoEXT, post_merge_subpass_count)); + println!("RenderPassCreationFeedbackCreateInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(RenderPassCreationFeedbackCreateInfoEXT, s_type), offset_of!(RenderPassCreationFeedbackCreateInfoEXT, p_next), offset_of!(RenderPassCreationFeedbackCreateInfoEXT, p_render_pass_feedback)); + println!("RenderPassSubpassFeedbackInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(RenderPassSubpassFeedbackInfoEXT, subpass_merge_status), offset_of!(RenderPassSubpassFeedbackInfoEXT, description), offset_of!(RenderPassSubpassFeedbackInfoEXT, post_merge_index)); + println!("RenderPassSubpassFeedbackCreateInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(RenderPassSubpassFeedbackCreateInfoEXT, s_type), offset_of!(RenderPassSubpassFeedbackCreateInfoEXT, p_next), offset_of!(RenderPassSubpassFeedbackCreateInfoEXT, p_subpass_feedback)); + println!("PhysicalDeviceSubpassMergeFeedbackFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceSubpassMergeFeedbackFeaturesEXT, s_type), offset_of!(PhysicalDeviceSubpassMergeFeedbackFeaturesEXT, p_next), offset_of!(PhysicalDeviceSubpassMergeFeedbackFeaturesEXT, subpass_merge_feedback)); + println!("MicromapBuildInfoEXT {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(MicromapBuildInfoEXT, s_type), offset_of!(MicromapBuildInfoEXT, p_next), offset_of!(MicromapBuildInfoEXT, flags), offset_of!(MicromapBuildInfoEXT, mode), offset_of!(MicromapBuildInfoEXT, dst_micromap), offset_of!(MicromapBuildInfoEXT, usage_counts_count), offset_of!(MicromapBuildInfoEXT, p_usage_counts), offset_of!(MicromapBuildInfoEXT, pp_usage_counts), offset_of!(MicromapBuildInfoEXT, data), offset_of!(MicromapBuildInfoEXT, scratch_data), offset_of!(MicromapBuildInfoEXT, triangle_array), offset_of!(MicromapBuildInfoEXT, triangle_array_stride)); + println!("MicromapCreateInfoEXT {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(MicromapCreateInfoEXT, s_type), offset_of!(MicromapCreateInfoEXT, p_next), offset_of!(MicromapCreateInfoEXT, create_flags), offset_of!(MicromapCreateInfoEXT, buffer), offset_of!(MicromapCreateInfoEXT, offset), offset_of!(MicromapCreateInfoEXT, size), offset_of!(MicromapCreateInfoEXT, device_address)); + println!("MicromapVersionInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(MicromapVersionInfoEXT, s_type), offset_of!(MicromapVersionInfoEXT, p_next), offset_of!(MicromapVersionInfoEXT, p_version_data)); + println!("CopyMicromapInfoEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CopyMicromapInfoEXT, s_type), offset_of!(CopyMicromapInfoEXT, p_next), offset_of!(CopyMicromapInfoEXT, src), offset_of!(CopyMicromapInfoEXT, dst), offset_of!(CopyMicromapInfoEXT, mode)); + println!("CopyMicromapToMemoryInfoEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CopyMicromapToMemoryInfoEXT, s_type), offset_of!(CopyMicromapToMemoryInfoEXT, p_next), offset_of!(CopyMicromapToMemoryInfoEXT, src), offset_of!(CopyMicromapToMemoryInfoEXT, dst), offset_of!(CopyMicromapToMemoryInfoEXT, mode)); + println!("CopyMemoryToMicromapInfoEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CopyMemoryToMicromapInfoEXT, s_type), offset_of!(CopyMemoryToMicromapInfoEXT, p_next), offset_of!(CopyMemoryToMicromapInfoEXT, src), offset_of!(CopyMemoryToMicromapInfoEXT, dst), offset_of!(CopyMemoryToMicromapInfoEXT, mode)); + println!("MicromapBuildSizesInfoEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(MicromapBuildSizesInfoEXT, s_type), offset_of!(MicromapBuildSizesInfoEXT, p_next), offset_of!(MicromapBuildSizesInfoEXT, micromap_size), offset_of!(MicromapBuildSizesInfoEXT, build_scratch_size), offset_of!(MicromapBuildSizesInfoEXT, discardable)); + println!("MicromapUsageEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(MicromapUsageEXT, count), offset_of!(MicromapUsageEXT, subdivision_level), offset_of!(MicromapUsageEXT, format)); + println!("MicromapTriangleEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(MicromapTriangleEXT, data_offset), offset_of!(MicromapTriangleEXT, subdivision_level), offset_of!(MicromapTriangleEXT, format)); + println!("PhysicalDeviceOpacityMicromapFeaturesEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceOpacityMicromapFeaturesEXT, s_type), offset_of!(PhysicalDeviceOpacityMicromapFeaturesEXT, p_next), offset_of!(PhysicalDeviceOpacityMicromapFeaturesEXT, micromap), offset_of!(PhysicalDeviceOpacityMicromapFeaturesEXT, micromap_capture_replay), offset_of!(PhysicalDeviceOpacityMicromapFeaturesEXT, micromap_host_commands)); + println!("PhysicalDeviceOpacityMicromapPropertiesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceOpacityMicromapPropertiesEXT, s_type), offset_of!(PhysicalDeviceOpacityMicromapPropertiesEXT, p_next), offset_of!(PhysicalDeviceOpacityMicromapPropertiesEXT, max_opacity2_state_subdivision_level), offset_of!(PhysicalDeviceOpacityMicromapPropertiesEXT, max_opacity4_state_subdivision_level)); + println!("AccelerationStructureTrianglesOpacityMicromapEXT {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(AccelerationStructureTrianglesOpacityMicromapEXT, s_type), offset_of!(AccelerationStructureTrianglesOpacityMicromapEXT, p_next), offset_of!(AccelerationStructureTrianglesOpacityMicromapEXT, index_type), offset_of!(AccelerationStructureTrianglesOpacityMicromapEXT, index_buffer), offset_of!(AccelerationStructureTrianglesOpacityMicromapEXT, index_stride), offset_of!(AccelerationStructureTrianglesOpacityMicromapEXT, base_triangle), offset_of!(AccelerationStructureTrianglesOpacityMicromapEXT, usage_counts_count), offset_of!(AccelerationStructureTrianglesOpacityMicromapEXT, p_usage_counts), offset_of!(AccelerationStructureTrianglesOpacityMicromapEXT, pp_usage_counts), offset_of!(AccelerationStructureTrianglesOpacityMicromapEXT, micromap)); + println!("PipelinePropertiesIdentifierEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelinePropertiesIdentifierEXT, s_type), offset_of!(PipelinePropertiesIdentifierEXT, p_next), offset_of!(PipelinePropertiesIdentifierEXT, pipeline_identifier)); + println!("PhysicalDevicePipelinePropertiesFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDevicePipelinePropertiesFeaturesEXT, s_type), offset_of!(PhysicalDevicePipelinePropertiesFeaturesEXT, p_next), offset_of!(PhysicalDevicePipelinePropertiesFeaturesEXT, pipeline_properties_identifier)); + println!("PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD, s_type), offset_of!(PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD, p_next), offset_of!(PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD, shader_early_and_late_fragment_tests)); + println!("ExternalMemoryAcquireUnmodifiedEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ExternalMemoryAcquireUnmodifiedEXT, s_type), offset_of!(ExternalMemoryAcquireUnmodifiedEXT, p_next), offset_of!(ExternalMemoryAcquireUnmodifiedEXT, acquire_unmodified_memory)); + println!("PhysicalDeviceNonSeamlessCubeMapFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceNonSeamlessCubeMapFeaturesEXT, s_type), offset_of!(PhysicalDeviceNonSeamlessCubeMapFeaturesEXT, p_next), offset_of!(PhysicalDeviceNonSeamlessCubeMapFeaturesEXT, non_seamless_cube_map)); + println!("PhysicalDevicePipelineRobustnessFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDevicePipelineRobustnessFeatures, s_type), offset_of!(PhysicalDevicePipelineRobustnessFeatures, p_next), offset_of!(PhysicalDevicePipelineRobustnessFeatures, pipeline_robustness)); + println!("PipelineRobustnessCreateInfo {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineRobustnessCreateInfo, s_type), offset_of!(PipelineRobustnessCreateInfo, p_next), offset_of!(PipelineRobustnessCreateInfo, storage_buffers), offset_of!(PipelineRobustnessCreateInfo, uniform_buffers), offset_of!(PipelineRobustnessCreateInfo, vertex_inputs), offset_of!(PipelineRobustnessCreateInfo, images)); + println!("PhysicalDevicePipelineRobustnessProperties {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDevicePipelineRobustnessProperties, s_type), offset_of!(PhysicalDevicePipelineRobustnessProperties, p_next), offset_of!(PhysicalDevicePipelineRobustnessProperties, default_robustness_storage_buffers), offset_of!(PhysicalDevicePipelineRobustnessProperties, default_robustness_uniform_buffers), offset_of!(PhysicalDevicePipelineRobustnessProperties, default_robustness_vertex_inputs), offset_of!(PhysicalDevicePipelineRobustnessProperties, default_robustness_images)); + println!("ImageViewSampleWeightCreateInfoQCOM {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImageViewSampleWeightCreateInfoQCOM, s_type), offset_of!(ImageViewSampleWeightCreateInfoQCOM, p_next), offset_of!(ImageViewSampleWeightCreateInfoQCOM, filter_center), offset_of!(ImageViewSampleWeightCreateInfoQCOM, filter_size), offset_of!(ImageViewSampleWeightCreateInfoQCOM, num_phases)); + println!("PhysicalDeviceImageProcessingFeaturesQCOM {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceImageProcessingFeaturesQCOM, s_type), offset_of!(PhysicalDeviceImageProcessingFeaturesQCOM, p_next), offset_of!(PhysicalDeviceImageProcessingFeaturesQCOM, texture_sample_weighted), offset_of!(PhysicalDeviceImageProcessingFeaturesQCOM, texture_box_filter), offset_of!(PhysicalDeviceImageProcessingFeaturesQCOM, texture_block_match)); + println!("PhysicalDeviceImageProcessingPropertiesQCOM {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceImageProcessingPropertiesQCOM, s_type), offset_of!(PhysicalDeviceImageProcessingPropertiesQCOM, p_next), offset_of!(PhysicalDeviceImageProcessingPropertiesQCOM, max_weight_filter_phases), offset_of!(PhysicalDeviceImageProcessingPropertiesQCOM, max_weight_filter_dimension), offset_of!(PhysicalDeviceImageProcessingPropertiesQCOM, max_block_match_region), offset_of!(PhysicalDeviceImageProcessingPropertiesQCOM, max_box_filter_block_size)); + println!("PhysicalDeviceTilePropertiesFeaturesQCOM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceTilePropertiesFeaturesQCOM, s_type), offset_of!(PhysicalDeviceTilePropertiesFeaturesQCOM, p_next), offset_of!(PhysicalDeviceTilePropertiesFeaturesQCOM, tile_properties)); + println!("TilePropertiesQCOM {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(TilePropertiesQCOM, s_type), offset_of!(TilePropertiesQCOM, p_next), offset_of!(TilePropertiesQCOM, tile_size), offset_of!(TilePropertiesQCOM, apron_size), offset_of!(TilePropertiesQCOM, origin)); + println!("TileMemoryBindInfoQCOM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(TileMemoryBindInfoQCOM, s_type), offset_of!(TileMemoryBindInfoQCOM, p_next), offset_of!(TileMemoryBindInfoQCOM, memory)); + println!("PhysicalDeviceAmigoProfilingFeaturesSEC {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceAmigoProfilingFeaturesSEC, s_type), offset_of!(PhysicalDeviceAmigoProfilingFeaturesSEC, p_next), offset_of!(PhysicalDeviceAmigoProfilingFeaturesSEC, amigo_profiling)); + println!("AmigoProfilingSubmitInfoSEC {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(AmigoProfilingSubmitInfoSEC, s_type), offset_of!(AmigoProfilingSubmitInfoSEC, p_next), offset_of!(AmigoProfilingSubmitInfoSEC, first_draw_timestamp), offset_of!(AmigoProfilingSubmitInfoSEC, swap_buffer_timestamp)); + println!("PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT, s_type), offset_of!(PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT, p_next), offset_of!(PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT, attachment_feedback_loop_layout)); + println!("AttachmentFeedbackLoopInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(AttachmentFeedbackLoopInfoEXT, s_type), offset_of!(AttachmentFeedbackLoopInfoEXT, p_next), offset_of!(AttachmentFeedbackLoopInfoEXT, feedback_loop_enable)); + println!("PhysicalDeviceAddressBindingReportFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceAddressBindingReportFeaturesEXT, s_type), offset_of!(PhysicalDeviceAddressBindingReportFeaturesEXT, p_next), offset_of!(PhysicalDeviceAddressBindingReportFeaturesEXT, report_address_binding)); + println!("RenderingAttachmentFlagsInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(RenderingAttachmentFlagsInfoKHR, s_type), offset_of!(RenderingAttachmentFlagsInfoKHR, p_next), offset_of!(RenderingAttachmentFlagsInfoKHR, flags)); + println!("ResolveImageModeInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ResolveImageModeInfoKHR, s_type), offset_of!(ResolveImageModeInfoKHR, p_next), offset_of!(ResolveImageModeInfoKHR, flags), offset_of!(ResolveImageModeInfoKHR, resolve_mode), offset_of!(ResolveImageModeInfoKHR, stencil_resolve_mode)); + println!("DeviceAddressBindingCallbackDataEXT {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DeviceAddressBindingCallbackDataEXT, s_type), offset_of!(DeviceAddressBindingCallbackDataEXT, p_next), offset_of!(DeviceAddressBindingCallbackDataEXT, flags), offset_of!(DeviceAddressBindingCallbackDataEXT, base_address), offset_of!(DeviceAddressBindingCallbackDataEXT, size), offset_of!(DeviceAddressBindingCallbackDataEXT, binding_type)); + println!("PhysicalDeviceOpticalFlowFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceOpticalFlowFeaturesNV, s_type), offset_of!(PhysicalDeviceOpticalFlowFeaturesNV, p_next), offset_of!(PhysicalDeviceOpticalFlowFeaturesNV, optical_flow)); + println!("PhysicalDeviceOpticalFlowPropertiesNV {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceOpticalFlowPropertiesNV, s_type), offset_of!(PhysicalDeviceOpticalFlowPropertiesNV, p_next), offset_of!(PhysicalDeviceOpticalFlowPropertiesNV, supported_output_grid_sizes), offset_of!(PhysicalDeviceOpticalFlowPropertiesNV, supported_hint_grid_sizes), offset_of!(PhysicalDeviceOpticalFlowPropertiesNV, hint_supported), offset_of!(PhysicalDeviceOpticalFlowPropertiesNV, cost_supported), offset_of!(PhysicalDeviceOpticalFlowPropertiesNV, bidirectional_flow_supported), offset_of!(PhysicalDeviceOpticalFlowPropertiesNV, global_flow_supported), offset_of!(PhysicalDeviceOpticalFlowPropertiesNV, min_width), offset_of!(PhysicalDeviceOpticalFlowPropertiesNV, min_height), offset_of!(PhysicalDeviceOpticalFlowPropertiesNV, max_width), offset_of!(PhysicalDeviceOpticalFlowPropertiesNV, max_height), offset_of!(PhysicalDeviceOpticalFlowPropertiesNV, max_num_regions_of_interest)); + println!("OpticalFlowImageFormatInfoNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(OpticalFlowImageFormatInfoNV, s_type), offset_of!(OpticalFlowImageFormatInfoNV, p_next), offset_of!(OpticalFlowImageFormatInfoNV, usage)); + println!("OpticalFlowImageFormatPropertiesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(OpticalFlowImageFormatPropertiesNV, s_type), offset_of!(OpticalFlowImageFormatPropertiesNV, p_next), offset_of!(OpticalFlowImageFormatPropertiesNV, format)); + println!("OpticalFlowSessionCreateInfoNV {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(OpticalFlowSessionCreateInfoNV, s_type), offset_of!(OpticalFlowSessionCreateInfoNV, p_next), offset_of!(OpticalFlowSessionCreateInfoNV, width), offset_of!(OpticalFlowSessionCreateInfoNV, height), offset_of!(OpticalFlowSessionCreateInfoNV, image_format), offset_of!(OpticalFlowSessionCreateInfoNV, flow_vector_format), offset_of!(OpticalFlowSessionCreateInfoNV, cost_format), offset_of!(OpticalFlowSessionCreateInfoNV, output_grid_size), offset_of!(OpticalFlowSessionCreateInfoNV, hint_grid_size), offset_of!(OpticalFlowSessionCreateInfoNV, performance_level), offset_of!(OpticalFlowSessionCreateInfoNV, flags)); + println!("OpticalFlowSessionCreatePrivateDataInfoNV {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(OpticalFlowSessionCreatePrivateDataInfoNV, s_type), offset_of!(OpticalFlowSessionCreatePrivateDataInfoNV, p_next), offset_of!(OpticalFlowSessionCreatePrivateDataInfoNV, id), offset_of!(OpticalFlowSessionCreatePrivateDataInfoNV, size), offset_of!(OpticalFlowSessionCreatePrivateDataInfoNV, p_private_data)); + println!("OpticalFlowExecuteInfoNV {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(OpticalFlowExecuteInfoNV, s_type), offset_of!(OpticalFlowExecuteInfoNV, p_next), offset_of!(OpticalFlowExecuteInfoNV, flags), offset_of!(OpticalFlowExecuteInfoNV, region_count), offset_of!(OpticalFlowExecuteInfoNV, p_regions)); + println!("PhysicalDeviceFaultFeaturesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceFaultFeaturesEXT, s_type), offset_of!(PhysicalDeviceFaultFeaturesEXT, p_next), offset_of!(PhysicalDeviceFaultFeaturesEXT, device_fault), offset_of!(PhysicalDeviceFaultFeaturesEXT, device_fault_vendor_binary)); + println!("DeviceFaultAddressInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DeviceFaultAddressInfoKHR, address_type), offset_of!(DeviceFaultAddressInfoKHR, reported_address), offset_of!(DeviceFaultAddressInfoKHR, address_precision)); + println!("DeviceFaultVendorInfoKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DeviceFaultVendorInfoKHR, description), offset_of!(DeviceFaultVendorInfoKHR, vendor_fault_code), offset_of!(DeviceFaultVendorInfoKHR, vendor_fault_data)); + println!("DeviceFaultInfoKHR {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DeviceFaultInfoKHR, s_type), offset_of!(DeviceFaultInfoKHR, p_next), offset_of!(DeviceFaultInfoKHR, flags), offset_of!(DeviceFaultInfoKHR, group_id), offset_of!(DeviceFaultInfoKHR, description), offset_of!(DeviceFaultInfoKHR, fault_address_info), offset_of!(DeviceFaultInfoKHR, instruction_address_info), offset_of!(DeviceFaultInfoKHR, vendor_info)); + println!("DeviceFaultDebugInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DeviceFaultDebugInfoKHR, s_type), offset_of!(DeviceFaultDebugInfoKHR, p_next), offset_of!(DeviceFaultDebugInfoKHR, vendor_binary_size), offset_of!(DeviceFaultDebugInfoKHR, p_vendor_binary_data)); + println!("DeviceFaultCountsEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DeviceFaultCountsEXT, s_type), offset_of!(DeviceFaultCountsEXT, p_next), offset_of!(DeviceFaultCountsEXT, address_info_count), offset_of!(DeviceFaultCountsEXT, vendor_info_count), offset_of!(DeviceFaultCountsEXT, vendor_binary_size)); + println!("DeviceFaultInfoEXT {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DeviceFaultInfoEXT, s_type), offset_of!(DeviceFaultInfoEXT, p_next), offset_of!(DeviceFaultInfoEXT, description), offset_of!(DeviceFaultInfoEXT, p_address_infos), offset_of!(DeviceFaultInfoEXT, p_vendor_infos), offset_of!(DeviceFaultInfoEXT, p_vendor_binary_data)); + println!("DeviceFaultVendorBinaryHeaderVersionOneKHR {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DeviceFaultVendorBinaryHeaderVersionOneKHR, header_size), offset_of!(DeviceFaultVendorBinaryHeaderVersionOneKHR, header_version), offset_of!(DeviceFaultVendorBinaryHeaderVersionOneKHR, vendor_id), offset_of!(DeviceFaultVendorBinaryHeaderVersionOneKHR, device_id), offset_of!(DeviceFaultVendorBinaryHeaderVersionOneKHR, driver_version), offset_of!(DeviceFaultVendorBinaryHeaderVersionOneKHR, pipeline_cache_uuid), offset_of!(DeviceFaultVendorBinaryHeaderVersionOneKHR, application_name_offset), offset_of!(DeviceFaultVendorBinaryHeaderVersionOneKHR, application_version), offset_of!(DeviceFaultVendorBinaryHeaderVersionOneKHR, engine_name_offset), offset_of!(DeviceFaultVendorBinaryHeaderVersionOneKHR, engine_version), offset_of!(DeviceFaultVendorBinaryHeaderVersionOneKHR, api_version)); + println!("PhysicalDeviceFaultFeaturesKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceFaultFeaturesKHR, s_type), offset_of!(PhysicalDeviceFaultFeaturesKHR, p_next), offset_of!(PhysicalDeviceFaultFeaturesKHR, device_fault), offset_of!(PhysicalDeviceFaultFeaturesKHR, device_fault_vendor_binary), offset_of!(PhysicalDeviceFaultFeaturesKHR, device_fault_report_masked), offset_of!(PhysicalDeviceFaultFeaturesKHR, device_fault_device_lost_on_masked)); + println!("PhysicalDeviceFaultPropertiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceFaultPropertiesKHR, s_type), offset_of!(PhysicalDeviceFaultPropertiesKHR, p_next), offset_of!(PhysicalDeviceFaultPropertiesKHR, max_device_fault_count)); + println!("PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT, s_type), offset_of!(PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT, p_next), offset_of!(PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT, pipeline_library_group_handles)); + println!("DepthBiasInfoEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DepthBiasInfoEXT, s_type), offset_of!(DepthBiasInfoEXT, p_next), offset_of!(DepthBiasInfoEXT, depth_bias_constant_factor), offset_of!(DepthBiasInfoEXT, depth_bias_clamp), offset_of!(DepthBiasInfoEXT, depth_bias_slope_factor)); + println!("DepthBiasRepresentationInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DepthBiasRepresentationInfoEXT, s_type), offset_of!(DepthBiasRepresentationInfoEXT, p_next), offset_of!(DepthBiasRepresentationInfoEXT, depth_bias_representation), offset_of!(DepthBiasRepresentationInfoEXT, depth_bias_exact)); + println!("DecompressMemoryRegionNV {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DecompressMemoryRegionNV, src_address), offset_of!(DecompressMemoryRegionNV, dst_address), offset_of!(DecompressMemoryRegionNV, compressed_size), offset_of!(DecompressMemoryRegionNV, decompressed_size), offset_of!(DecompressMemoryRegionNV, decompression_method)); + println!("DecompressMemoryRegionEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DecompressMemoryRegionEXT, src_address), offset_of!(DecompressMemoryRegionEXT, dst_address), offset_of!(DecompressMemoryRegionEXT, compressed_size), offset_of!(DecompressMemoryRegionEXT, decompressed_size)); + println!("DecompressMemoryInfoEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DecompressMemoryInfoEXT, s_type), offset_of!(DecompressMemoryInfoEXT, p_next), offset_of!(DecompressMemoryInfoEXT, decompression_method), offset_of!(DecompressMemoryInfoEXT, region_count), offset_of!(DecompressMemoryInfoEXT, p_regions)); + println!("PhysicalDeviceShaderCoreBuiltinsPropertiesARM {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderCoreBuiltinsPropertiesARM, s_type), offset_of!(PhysicalDeviceShaderCoreBuiltinsPropertiesARM, p_next), offset_of!(PhysicalDeviceShaderCoreBuiltinsPropertiesARM, shader_core_mask), offset_of!(PhysicalDeviceShaderCoreBuiltinsPropertiesARM, shader_core_count), offset_of!(PhysicalDeviceShaderCoreBuiltinsPropertiesARM, shader_warps_per_core)); + println!("PhysicalDeviceShaderCoreBuiltinsFeaturesARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderCoreBuiltinsFeaturesARM, s_type), offset_of!(PhysicalDeviceShaderCoreBuiltinsFeaturesARM, p_next), offset_of!(PhysicalDeviceShaderCoreBuiltinsFeaturesARM, shader_core_builtins)); + println!("FrameBoundaryEXT {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(FrameBoundaryEXT, s_type), offset_of!(FrameBoundaryEXT, p_next), offset_of!(FrameBoundaryEXT, flags), offset_of!(FrameBoundaryEXT, frame_id), offset_of!(FrameBoundaryEXT, image_count), offset_of!(FrameBoundaryEXT, p_images), offset_of!(FrameBoundaryEXT, buffer_count), offset_of!(FrameBoundaryEXT, p_buffers), offset_of!(FrameBoundaryEXT, tag_name), offset_of!(FrameBoundaryEXT, tag_size), offset_of!(FrameBoundaryEXT, p_tag)); + println!("PhysicalDeviceFrameBoundaryFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceFrameBoundaryFeaturesEXT, s_type), offset_of!(PhysicalDeviceFrameBoundaryFeaturesEXT, p_next), offset_of!(PhysicalDeviceFrameBoundaryFeaturesEXT, frame_boundary)); + println!("PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT, s_type), offset_of!(PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT, p_next), offset_of!(PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT, dynamic_rendering_unused_attachments)); + println!("PhysicalDeviceInternallySynchronizedQueuesFeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceInternallySynchronizedQueuesFeaturesKHR, s_type), offset_of!(PhysicalDeviceInternallySynchronizedQueuesFeaturesKHR, p_next), offset_of!(PhysicalDeviceInternallySynchronizedQueuesFeaturesKHR, internally_synchronized_queues)); + println!("SurfacePresentModeKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SurfacePresentModeKHR, s_type), offset_of!(SurfacePresentModeKHR, p_next), offset_of!(SurfacePresentModeKHR, present_mode)); + println!("SurfacePresentScalingCapabilitiesKHR {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SurfacePresentScalingCapabilitiesKHR, s_type), offset_of!(SurfacePresentScalingCapabilitiesKHR, p_next), offset_of!(SurfacePresentScalingCapabilitiesKHR, supported_present_scaling), offset_of!(SurfacePresentScalingCapabilitiesKHR, supported_present_gravity_x), offset_of!(SurfacePresentScalingCapabilitiesKHR, supported_present_gravity_y), offset_of!(SurfacePresentScalingCapabilitiesKHR, min_scaled_image_extent), offset_of!(SurfacePresentScalingCapabilitiesKHR, max_scaled_image_extent)); + println!("SurfacePresentModeCompatibilityKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SurfacePresentModeCompatibilityKHR, s_type), offset_of!(SurfacePresentModeCompatibilityKHR, p_next), offset_of!(SurfacePresentModeCompatibilityKHR, present_mode_count), offset_of!(SurfacePresentModeCompatibilityKHR, p_present_modes)); + println!("PhysicalDeviceSwapchainMaintenance1FeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceSwapchainMaintenance1FeaturesKHR, s_type), offset_of!(PhysicalDeviceSwapchainMaintenance1FeaturesKHR, p_next), offset_of!(PhysicalDeviceSwapchainMaintenance1FeaturesKHR, swapchain_maintenance1)); + println!("SwapchainPresentFenceInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SwapchainPresentFenceInfoKHR, s_type), offset_of!(SwapchainPresentFenceInfoKHR, p_next), offset_of!(SwapchainPresentFenceInfoKHR, swapchain_count), offset_of!(SwapchainPresentFenceInfoKHR, p_fences)); + println!("SwapchainPresentModesCreateInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SwapchainPresentModesCreateInfoKHR, s_type), offset_of!(SwapchainPresentModesCreateInfoKHR, p_next), offset_of!(SwapchainPresentModesCreateInfoKHR, present_mode_count), offset_of!(SwapchainPresentModesCreateInfoKHR, p_present_modes)); + println!("SwapchainPresentModeInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SwapchainPresentModeInfoKHR, s_type), offset_of!(SwapchainPresentModeInfoKHR, p_next), offset_of!(SwapchainPresentModeInfoKHR, swapchain_count), offset_of!(SwapchainPresentModeInfoKHR, p_present_modes)); + println!("SwapchainPresentScalingCreateInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SwapchainPresentScalingCreateInfoKHR, s_type), offset_of!(SwapchainPresentScalingCreateInfoKHR, p_next), offset_of!(SwapchainPresentScalingCreateInfoKHR, scaling_behavior), offset_of!(SwapchainPresentScalingCreateInfoKHR, present_gravity_x), offset_of!(SwapchainPresentScalingCreateInfoKHR, present_gravity_y)); + println!("ReleaseSwapchainImagesInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ReleaseSwapchainImagesInfoKHR, s_type), offset_of!(ReleaseSwapchainImagesInfoKHR, p_next), offset_of!(ReleaseSwapchainImagesInfoKHR, swapchain), offset_of!(ReleaseSwapchainImagesInfoKHR, image_index_count), offset_of!(ReleaseSwapchainImagesInfoKHR, p_image_indices)); + println!("PhysicalDeviceDepthBiasControlFeaturesEXT {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceDepthBiasControlFeaturesEXT, s_type), offset_of!(PhysicalDeviceDepthBiasControlFeaturesEXT, p_next), offset_of!(PhysicalDeviceDepthBiasControlFeaturesEXT, depth_bias_control), offset_of!(PhysicalDeviceDepthBiasControlFeaturesEXT, least_representable_value_force_unorm_representation), offset_of!(PhysicalDeviceDepthBiasControlFeaturesEXT, float_representation), offset_of!(PhysicalDeviceDepthBiasControlFeaturesEXT, depth_bias_exact)); + println!("PhysicalDeviceRayTracingInvocationReorderFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceRayTracingInvocationReorderFeaturesEXT, s_type), offset_of!(PhysicalDeviceRayTracingInvocationReorderFeaturesEXT, p_next), offset_of!(PhysicalDeviceRayTracingInvocationReorderFeaturesEXT, ray_tracing_invocation_reorder)); + println!("PhysicalDeviceRayTracingInvocationReorderFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceRayTracingInvocationReorderFeaturesNV, s_type), offset_of!(PhysicalDeviceRayTracingInvocationReorderFeaturesNV, p_next), offset_of!(PhysicalDeviceRayTracingInvocationReorderFeaturesNV, ray_tracing_invocation_reorder)); + println!("PhysicalDeviceRayTracingInvocationReorderPropertiesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceRayTracingInvocationReorderPropertiesEXT, s_type), offset_of!(PhysicalDeviceRayTracingInvocationReorderPropertiesEXT, p_next), offset_of!(PhysicalDeviceRayTracingInvocationReorderPropertiesEXT, ray_tracing_invocation_reorder_reordering_hint), offset_of!(PhysicalDeviceRayTracingInvocationReorderPropertiesEXT, max_shader_binding_table_record_index)); + println!("PhysicalDeviceRayTracingInvocationReorderPropertiesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceRayTracingInvocationReorderPropertiesNV, s_type), offset_of!(PhysicalDeviceRayTracingInvocationReorderPropertiesNV, p_next), offset_of!(PhysicalDeviceRayTracingInvocationReorderPropertiesNV, ray_tracing_invocation_reorder_reordering_hint)); + println!("PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV, s_type), offset_of!(PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV, p_next), offset_of!(PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV, extended_sparse_address_space)); + println!("PhysicalDeviceExtendedSparseAddressSpacePropertiesNV {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceExtendedSparseAddressSpacePropertiesNV, s_type), offset_of!(PhysicalDeviceExtendedSparseAddressSpacePropertiesNV, p_next), offset_of!(PhysicalDeviceExtendedSparseAddressSpacePropertiesNV, extended_sparse_address_space_size), offset_of!(PhysicalDeviceExtendedSparseAddressSpacePropertiesNV, extended_sparse_image_usage_flags), offset_of!(PhysicalDeviceExtendedSparseAddressSpacePropertiesNV, extended_sparse_buffer_usage_flags)); + println!("DirectDriverLoadingInfoLUNARG {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DirectDriverLoadingInfoLUNARG, s_type), offset_of!(DirectDriverLoadingInfoLUNARG, p_next), offset_of!(DirectDriverLoadingInfoLUNARG, flags), offset_of!(DirectDriverLoadingInfoLUNARG, pfn_get_instance_proc_addr)); + println!("DirectDriverLoadingListLUNARG {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DirectDriverLoadingListLUNARG, s_type), offset_of!(DirectDriverLoadingListLUNARG, p_next), offset_of!(DirectDriverLoadingListLUNARG, mode), offset_of!(DirectDriverLoadingListLUNARG, driver_count), offset_of!(DirectDriverLoadingListLUNARG, p_drivers)); + println!("PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM, s_type), offset_of!(PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM, p_next), offset_of!(PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM, multiview_per_view_viewports)); + println!("PhysicalDeviceRayTracingPositionFetchFeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceRayTracingPositionFetchFeaturesKHR, s_type), offset_of!(PhysicalDeviceRayTracingPositionFetchFeaturesKHR, p_next), offset_of!(PhysicalDeviceRayTracingPositionFetchFeaturesKHR, ray_tracing_position_fetch)); + println!("DeviceImageSubresourceInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DeviceImageSubresourceInfo, s_type), offset_of!(DeviceImageSubresourceInfo, p_next), offset_of!(DeviceImageSubresourceInfo, p_create_info), offset_of!(DeviceImageSubresourceInfo, p_subresource)); + println!("PhysicalDeviceShaderCorePropertiesARM {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderCorePropertiesARM, s_type), offset_of!(PhysicalDeviceShaderCorePropertiesARM, p_next), offset_of!(PhysicalDeviceShaderCorePropertiesARM, pixel_rate), offset_of!(PhysicalDeviceShaderCorePropertiesARM, texel_rate), offset_of!(PhysicalDeviceShaderCorePropertiesARM, fma_rate)); + println!("PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM, s_type), offset_of!(PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM, p_next), offset_of!(PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM, multiview_per_view_render_areas)); + println!("MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM, s_type), offset_of!(MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM, p_next), offset_of!(MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM, per_view_render_area_count), offset_of!(MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM, p_per_view_render_areas)); + println!("QueryLowLatencySupportNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(QueryLowLatencySupportNV, s_type), offset_of!(QueryLowLatencySupportNV, p_next), offset_of!(QueryLowLatencySupportNV, p_queried_low_latency_data)); + println!("MemoryMapInfo {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(MemoryMapInfo, s_type), offset_of!(MemoryMapInfo, p_next), offset_of!(MemoryMapInfo, flags), offset_of!(MemoryMapInfo, memory), offset_of!(MemoryMapInfo, offset), offset_of!(MemoryMapInfo, size)); + println!("MemoryUnmapInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(MemoryUnmapInfo, s_type), offset_of!(MemoryUnmapInfo, p_next), offset_of!(MemoryUnmapInfo, flags), offset_of!(MemoryUnmapInfo, memory)); + println!("PhysicalDeviceShaderObjectFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderObjectFeaturesEXT, s_type), offset_of!(PhysicalDeviceShaderObjectFeaturesEXT, p_next), offset_of!(PhysicalDeviceShaderObjectFeaturesEXT, shader_object)); + println!("PhysicalDeviceShaderObjectPropertiesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderObjectPropertiesEXT, s_type), offset_of!(PhysicalDeviceShaderObjectPropertiesEXT, p_next), offset_of!(PhysicalDeviceShaderObjectPropertiesEXT, shader_binary_uuid), offset_of!(PhysicalDeviceShaderObjectPropertiesEXT, shader_binary_version)); + println!("ShaderCreateInfoEXT {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ShaderCreateInfoEXT, s_type), offset_of!(ShaderCreateInfoEXT, p_next), offset_of!(ShaderCreateInfoEXT, flags), offset_of!(ShaderCreateInfoEXT, stage), offset_of!(ShaderCreateInfoEXT, next_stage), offset_of!(ShaderCreateInfoEXT, code_type), offset_of!(ShaderCreateInfoEXT, code_size), offset_of!(ShaderCreateInfoEXT, p_code), offset_of!(ShaderCreateInfoEXT, p_name), offset_of!(ShaderCreateInfoEXT, set_layout_count), offset_of!(ShaderCreateInfoEXT, p_set_layouts), offset_of!(ShaderCreateInfoEXT, push_constant_range_count), offset_of!(ShaderCreateInfoEXT, p_push_constant_ranges), offset_of!(ShaderCreateInfoEXT, p_specialization_info)); + println!("PhysicalDeviceShaderTileImageFeaturesEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderTileImageFeaturesEXT, s_type), offset_of!(PhysicalDeviceShaderTileImageFeaturesEXT, p_next), offset_of!(PhysicalDeviceShaderTileImageFeaturesEXT, shader_tile_image_color_read_access), offset_of!(PhysicalDeviceShaderTileImageFeaturesEXT, shader_tile_image_depth_read_access), offset_of!(PhysicalDeviceShaderTileImageFeaturesEXT, shader_tile_image_stencil_read_access)); + println!("PhysicalDeviceShaderTileImagePropertiesEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderTileImagePropertiesEXT, s_type), offset_of!(PhysicalDeviceShaderTileImagePropertiesEXT, p_next), offset_of!(PhysicalDeviceShaderTileImagePropertiesEXT, shader_tile_image_coherent_read_accelerated), offset_of!(PhysicalDeviceShaderTileImagePropertiesEXT, shader_tile_image_read_sample_from_pixel_rate_invocation), offset_of!(PhysicalDeviceShaderTileImagePropertiesEXT, shader_tile_image_read_from_helper_invocation)); + println!("PhysicalDeviceCooperativeMatrixFeaturesKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceCooperativeMatrixFeaturesKHR, s_type), offset_of!(PhysicalDeviceCooperativeMatrixFeaturesKHR, p_next), offset_of!(PhysicalDeviceCooperativeMatrixFeaturesKHR, cooperative_matrix), offset_of!(PhysicalDeviceCooperativeMatrixFeaturesKHR, cooperative_matrix_robust_buffer_access)); + println!("CooperativeMatrixPropertiesKHR {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CooperativeMatrixPropertiesKHR, s_type), offset_of!(CooperativeMatrixPropertiesKHR, p_next), offset_of!(CooperativeMatrixPropertiesKHR, m_size), offset_of!(CooperativeMatrixPropertiesKHR, n_size), offset_of!(CooperativeMatrixPropertiesKHR, k_size), offset_of!(CooperativeMatrixPropertiesKHR, a_type), offset_of!(CooperativeMatrixPropertiesKHR, b_type), offset_of!(CooperativeMatrixPropertiesKHR, c_type), offset_of!(CooperativeMatrixPropertiesKHR, result_type), offset_of!(CooperativeMatrixPropertiesKHR, saturating_accumulation), offset_of!(CooperativeMatrixPropertiesKHR, scope)); + println!("PhysicalDeviceCooperativeMatrixPropertiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceCooperativeMatrixPropertiesKHR, s_type), offset_of!(PhysicalDeviceCooperativeMatrixPropertiesKHR, p_next), offset_of!(PhysicalDeviceCooperativeMatrixPropertiesKHR, cooperative_matrix_supported_stages)); + println!("PhysicalDeviceCooperativeMatrixConversionFeaturesQCOM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceCooperativeMatrixConversionFeaturesQCOM, s_type), offset_of!(PhysicalDeviceCooperativeMatrixConversionFeaturesQCOM, p_next), offset_of!(PhysicalDeviceCooperativeMatrixConversionFeaturesQCOM, cooperative_matrix_conversion)); + println!("PhysicalDeviceAntiLagFeaturesAMD {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceAntiLagFeaturesAMD, s_type), offset_of!(PhysicalDeviceAntiLagFeaturesAMD, p_next), offset_of!(PhysicalDeviceAntiLagFeaturesAMD, anti_lag)); + println!("AntiLagDataAMD {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(AntiLagDataAMD, s_type), offset_of!(AntiLagDataAMD, p_next), offset_of!(AntiLagDataAMD, mode), offset_of!(AntiLagDataAMD, max_fps), offset_of!(AntiLagDataAMD, p_presentation_info)); + println!("AntiLagPresentationInfoAMD {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(AntiLagPresentationInfoAMD, s_type), offset_of!(AntiLagPresentationInfoAMD, p_next), offset_of!(AntiLagPresentationInfoAMD, stage), offset_of!(AntiLagPresentationInfoAMD, frame_index)); + println!("BindMemoryStatus {} {} {} {} {}", size_of::(), align_of::(), offset_of!(BindMemoryStatus, s_type), offset_of!(BindMemoryStatus, p_next), offset_of!(BindMemoryStatus, p_result)); + println!("PhysicalDeviceTileMemoryHeapFeaturesQCOM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceTileMemoryHeapFeaturesQCOM, s_type), offset_of!(PhysicalDeviceTileMemoryHeapFeaturesQCOM, p_next), offset_of!(PhysicalDeviceTileMemoryHeapFeaturesQCOM, tile_memory_heap)); + println!("PhysicalDeviceTileMemoryHeapPropertiesQCOM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceTileMemoryHeapPropertiesQCOM, s_type), offset_of!(PhysicalDeviceTileMemoryHeapPropertiesQCOM, p_next), offset_of!(PhysicalDeviceTileMemoryHeapPropertiesQCOM, queue_submit_boundary), offset_of!(PhysicalDeviceTileMemoryHeapPropertiesQCOM, tile_buffer_transfers)); + println!("TileMemorySizeInfoQCOM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(TileMemorySizeInfoQCOM, s_type), offset_of!(TileMemorySizeInfoQCOM, p_next), offset_of!(TileMemorySizeInfoQCOM, size)); + println!("TileMemoryRequirementsQCOM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(TileMemoryRequirementsQCOM, s_type), offset_of!(TileMemoryRequirementsQCOM, p_next), offset_of!(TileMemoryRequirementsQCOM, size), offset_of!(TileMemoryRequirementsQCOM, alignment)); + println!("BindDescriptorSetsInfo {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(BindDescriptorSetsInfo, s_type), offset_of!(BindDescriptorSetsInfo, p_next), offset_of!(BindDescriptorSetsInfo, stage_flags), offset_of!(BindDescriptorSetsInfo, layout), offset_of!(BindDescriptorSetsInfo, first_set), offset_of!(BindDescriptorSetsInfo, descriptor_set_count), offset_of!(BindDescriptorSetsInfo, p_descriptor_sets), offset_of!(BindDescriptorSetsInfo, dynamic_offset_count), offset_of!(BindDescriptorSetsInfo, p_dynamic_offsets)); + println!("PushConstantsInfo {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PushConstantsInfo, s_type), offset_of!(PushConstantsInfo, p_next), offset_of!(PushConstantsInfo, layout), offset_of!(PushConstantsInfo, stage_flags), offset_of!(PushConstantsInfo, offset), offset_of!(PushConstantsInfo, size), offset_of!(PushConstantsInfo, p_values)); + println!("PushDescriptorSetInfo {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PushDescriptorSetInfo, s_type), offset_of!(PushDescriptorSetInfo, p_next), offset_of!(PushDescriptorSetInfo, stage_flags), offset_of!(PushDescriptorSetInfo, layout), offset_of!(PushDescriptorSetInfo, set), offset_of!(PushDescriptorSetInfo, descriptor_write_count), offset_of!(PushDescriptorSetInfo, p_descriptor_writes)); + println!("PushDescriptorSetWithTemplateInfo {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PushDescriptorSetWithTemplateInfo, s_type), offset_of!(PushDescriptorSetWithTemplateInfo, p_next), offset_of!(PushDescriptorSetWithTemplateInfo, descriptor_update_template), offset_of!(PushDescriptorSetWithTemplateInfo, layout), offset_of!(PushDescriptorSetWithTemplateInfo, set), offset_of!(PushDescriptorSetWithTemplateInfo, p_data)); + println!("SetDescriptorBufferOffsetsInfoEXT {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SetDescriptorBufferOffsetsInfoEXT, s_type), offset_of!(SetDescriptorBufferOffsetsInfoEXT, p_next), offset_of!(SetDescriptorBufferOffsetsInfoEXT, stage_flags), offset_of!(SetDescriptorBufferOffsetsInfoEXT, layout), offset_of!(SetDescriptorBufferOffsetsInfoEXT, first_set), offset_of!(SetDescriptorBufferOffsetsInfoEXT, set_count), offset_of!(SetDescriptorBufferOffsetsInfoEXT, p_buffer_indices), offset_of!(SetDescriptorBufferOffsetsInfoEXT, p_offsets)); + println!("BindDescriptorBufferEmbeddedSamplersInfoEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(BindDescriptorBufferEmbeddedSamplersInfoEXT, s_type), offset_of!(BindDescriptorBufferEmbeddedSamplersInfoEXT, p_next), offset_of!(BindDescriptorBufferEmbeddedSamplersInfoEXT, stage_flags), offset_of!(BindDescriptorBufferEmbeddedSamplersInfoEXT, layout), offset_of!(BindDescriptorBufferEmbeddedSamplersInfoEXT, set)); + println!("PhysicalDeviceCubicClampFeaturesQCOM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceCubicClampFeaturesQCOM, s_type), offset_of!(PhysicalDeviceCubicClampFeaturesQCOM, p_next), offset_of!(PhysicalDeviceCubicClampFeaturesQCOM, cubic_range_clamp)); + println!("PhysicalDeviceYcbcrDegammaFeaturesQCOM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceYcbcrDegammaFeaturesQCOM, s_type), offset_of!(PhysicalDeviceYcbcrDegammaFeaturesQCOM, p_next), offset_of!(PhysicalDeviceYcbcrDegammaFeaturesQCOM, ycbcr_degamma)); + println!("SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM, s_type), offset_of!(SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM, p_next), offset_of!(SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM, enable_y_degamma), offset_of!(SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM, enable_cb_cr_degamma)); + println!("PhysicalDeviceCubicWeightsFeaturesQCOM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceCubicWeightsFeaturesQCOM, s_type), offset_of!(PhysicalDeviceCubicWeightsFeaturesQCOM, p_next), offset_of!(PhysicalDeviceCubicWeightsFeaturesQCOM, selectable_cubic_weights)); + println!("SamplerCubicWeightsCreateInfoQCOM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SamplerCubicWeightsCreateInfoQCOM, s_type), offset_of!(SamplerCubicWeightsCreateInfoQCOM, p_next), offset_of!(SamplerCubicWeightsCreateInfoQCOM, cubic_weights)); + println!("BlitImageCubicWeightsInfoQCOM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(BlitImageCubicWeightsInfoQCOM, s_type), offset_of!(BlitImageCubicWeightsInfoQCOM, p_next), offset_of!(BlitImageCubicWeightsInfoQCOM, cubic_weights)); + println!("PhysicalDeviceImageProcessing2FeaturesQCOM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceImageProcessing2FeaturesQCOM, s_type), offset_of!(PhysicalDeviceImageProcessing2FeaturesQCOM, p_next), offset_of!(PhysicalDeviceImageProcessing2FeaturesQCOM, texture_block_match2)); + println!("PhysicalDeviceImageProcessing2PropertiesQCOM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceImageProcessing2PropertiesQCOM, s_type), offset_of!(PhysicalDeviceImageProcessing2PropertiesQCOM, p_next), offset_of!(PhysicalDeviceImageProcessing2PropertiesQCOM, max_block_match_window)); + println!("SamplerBlockMatchWindowCreateInfoQCOM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SamplerBlockMatchWindowCreateInfoQCOM, s_type), offset_of!(SamplerBlockMatchWindowCreateInfoQCOM, p_next), offset_of!(SamplerBlockMatchWindowCreateInfoQCOM, window_extent), offset_of!(SamplerBlockMatchWindowCreateInfoQCOM, window_compare_mode)); + println!("PhysicalDeviceDescriptorPoolOverallocationFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceDescriptorPoolOverallocationFeaturesNV, s_type), offset_of!(PhysicalDeviceDescriptorPoolOverallocationFeaturesNV, p_next), offset_of!(PhysicalDeviceDescriptorPoolOverallocationFeaturesNV, descriptor_pool_overallocation)); + println!("PhysicalDeviceLayeredDriverPropertiesMSFT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceLayeredDriverPropertiesMSFT, s_type), offset_of!(PhysicalDeviceLayeredDriverPropertiesMSFT, p_next), offset_of!(PhysicalDeviceLayeredDriverPropertiesMSFT, underlying_api)); + println!("PhysicalDevicePerStageDescriptorSetFeaturesNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDevicePerStageDescriptorSetFeaturesNV, s_type), offset_of!(PhysicalDevicePerStageDescriptorSetFeaturesNV, p_next), offset_of!(PhysicalDevicePerStageDescriptorSetFeaturesNV, per_stage_descriptor_set), offset_of!(PhysicalDevicePerStageDescriptorSetFeaturesNV, dynamic_pipeline_layout)); + println!("LatencySleepModeInfoNV {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(LatencySleepModeInfoNV, s_type), offset_of!(LatencySleepModeInfoNV, p_next), offset_of!(LatencySleepModeInfoNV, low_latency_mode), offset_of!(LatencySleepModeInfoNV, low_latency_boost), offset_of!(LatencySleepModeInfoNV, minimum_interval_us)); + println!("LatencySleepInfoNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(LatencySleepInfoNV, s_type), offset_of!(LatencySleepInfoNV, p_next), offset_of!(LatencySleepInfoNV, signal_semaphore), offset_of!(LatencySleepInfoNV, value)); + println!("SetLatencyMarkerInfoNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SetLatencyMarkerInfoNV, s_type), offset_of!(SetLatencyMarkerInfoNV, p_next), offset_of!(SetLatencyMarkerInfoNV, present_id), offset_of!(SetLatencyMarkerInfoNV, marker)); + println!("GetLatencyMarkerInfoNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(GetLatencyMarkerInfoNV, s_type), offset_of!(GetLatencyMarkerInfoNV, p_next), offset_of!(GetLatencyMarkerInfoNV, timing_count), offset_of!(GetLatencyMarkerInfoNV, p_timings)); + println!("LatencyTimingsFrameReportNV {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(LatencyTimingsFrameReportNV, s_type), offset_of!(LatencyTimingsFrameReportNV, p_next), offset_of!(LatencyTimingsFrameReportNV, present_id), offset_of!(LatencyTimingsFrameReportNV, input_sample_time_us), offset_of!(LatencyTimingsFrameReportNV, sim_start_time_us), offset_of!(LatencyTimingsFrameReportNV, sim_end_time_us), offset_of!(LatencyTimingsFrameReportNV, render_submit_start_time_us), offset_of!(LatencyTimingsFrameReportNV, render_submit_end_time_us), offset_of!(LatencyTimingsFrameReportNV, present_start_time_us), offset_of!(LatencyTimingsFrameReportNV, present_end_time_us), offset_of!(LatencyTimingsFrameReportNV, driver_start_time_us), offset_of!(LatencyTimingsFrameReportNV, driver_end_time_us), offset_of!(LatencyTimingsFrameReportNV, os_render_queue_start_time_us), offset_of!(LatencyTimingsFrameReportNV, os_render_queue_end_time_us), offset_of!(LatencyTimingsFrameReportNV, gpu_render_start_time_us), offset_of!(LatencyTimingsFrameReportNV, gpu_render_end_time_us)); + println!("OutOfBandQueueTypeInfoNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(OutOfBandQueueTypeInfoNV, s_type), offset_of!(OutOfBandQueueTypeInfoNV, p_next), offset_of!(OutOfBandQueueTypeInfoNV, queue_type)); + println!("LatencySubmissionPresentIdNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(LatencySubmissionPresentIdNV, s_type), offset_of!(LatencySubmissionPresentIdNV, p_next), offset_of!(LatencySubmissionPresentIdNV, present_id)); + println!("SwapchainLatencyCreateInfoNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SwapchainLatencyCreateInfoNV, s_type), offset_of!(SwapchainLatencyCreateInfoNV, p_next), offset_of!(SwapchainLatencyCreateInfoNV, latency_mode_enable)); + println!("LatencySurfaceCapabilitiesNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(LatencySurfaceCapabilitiesNV, s_type), offset_of!(LatencySurfaceCapabilitiesNV, p_next), offset_of!(LatencySurfaceCapabilitiesNV, present_mode_count), offset_of!(LatencySurfaceCapabilitiesNV, p_present_modes)); + println!("DeviceQueueShaderCoreControlCreateInfoARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DeviceQueueShaderCoreControlCreateInfoARM, s_type), offset_of!(DeviceQueueShaderCoreControlCreateInfoARM, p_next), offset_of!(DeviceQueueShaderCoreControlCreateInfoARM, shader_core_count)); + println!("PhysicalDeviceSchedulingControlsFeaturesARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceSchedulingControlsFeaturesARM, s_type), offset_of!(PhysicalDeviceSchedulingControlsFeaturesARM, p_next), offset_of!(PhysicalDeviceSchedulingControlsFeaturesARM, scheduling_controls)); + println!("PhysicalDeviceSchedulingControlsPropertiesARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceSchedulingControlsPropertiesARM, s_type), offset_of!(PhysicalDeviceSchedulingControlsPropertiesARM, p_next), offset_of!(PhysicalDeviceSchedulingControlsPropertiesARM, scheduling_controls_flags)); + println!("PhysicalDeviceRelaxedLineRasterizationFeaturesIMG {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceRelaxedLineRasterizationFeaturesIMG, s_type), offset_of!(PhysicalDeviceRelaxedLineRasterizationFeaturesIMG, p_next), offset_of!(PhysicalDeviceRelaxedLineRasterizationFeaturesIMG, relaxed_line_rasterization)); + println!("PhysicalDeviceRenderPassStripedFeaturesARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceRenderPassStripedFeaturesARM, s_type), offset_of!(PhysicalDeviceRenderPassStripedFeaturesARM, p_next), offset_of!(PhysicalDeviceRenderPassStripedFeaturesARM, render_pass_striped)); + println!("PhysicalDeviceRenderPassStripedPropertiesARM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceRenderPassStripedPropertiesARM, s_type), offset_of!(PhysicalDeviceRenderPassStripedPropertiesARM, p_next), offset_of!(PhysicalDeviceRenderPassStripedPropertiesARM, render_pass_stripe_granularity), offset_of!(PhysicalDeviceRenderPassStripedPropertiesARM, max_render_pass_stripes)); + println!("RenderPassStripeInfoARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(RenderPassStripeInfoARM, s_type), offset_of!(RenderPassStripeInfoARM, p_next), offset_of!(RenderPassStripeInfoARM, stripe_area)); + println!("RenderPassStripeBeginInfoARM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(RenderPassStripeBeginInfoARM, s_type), offset_of!(RenderPassStripeBeginInfoARM, p_next), offset_of!(RenderPassStripeBeginInfoARM, stripe_info_count), offset_of!(RenderPassStripeBeginInfoARM, p_stripe_infos)); + println!("RenderPassStripeSubmitInfoARM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(RenderPassStripeSubmitInfoARM, s_type), offset_of!(RenderPassStripeSubmitInfoARM, p_next), offset_of!(RenderPassStripeSubmitInfoARM, stripe_semaphore_info_count), offset_of!(RenderPassStripeSubmitInfoARM, p_stripe_semaphore_infos)); + println!("PhysicalDevicePipelineOpacityMicromapFeaturesARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDevicePipelineOpacityMicromapFeaturesARM, s_type), offset_of!(PhysicalDevicePipelineOpacityMicromapFeaturesARM, p_next), offset_of!(PhysicalDevicePipelineOpacityMicromapFeaturesARM, pipeline_opacity_micromap)); + println!("PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR, s_type), offset_of!(PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR, p_next), offset_of!(PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR, shader_maximal_reconvergence)); + println!("PhysicalDeviceShaderSubgroupRotateFeatures {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderSubgroupRotateFeatures, s_type), offset_of!(PhysicalDeviceShaderSubgroupRotateFeatures, p_next), offset_of!(PhysicalDeviceShaderSubgroupRotateFeatures, shader_subgroup_rotate), offset_of!(PhysicalDeviceShaderSubgroupRotateFeatures, shader_subgroup_rotate_clustered)); + println!("PhysicalDeviceShaderExpectAssumeFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderExpectAssumeFeatures, s_type), offset_of!(PhysicalDeviceShaderExpectAssumeFeatures, p_next), offset_of!(PhysicalDeviceShaderExpectAssumeFeatures, shader_expect_assume)); + println!("PhysicalDeviceShaderFloatControls2Features {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderFloatControls2Features, s_type), offset_of!(PhysicalDeviceShaderFloatControls2Features, p_next), offset_of!(PhysicalDeviceShaderFloatControls2Features, shader_float_controls2)); + println!("PhysicalDeviceDynamicRenderingLocalReadFeatures {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceDynamicRenderingLocalReadFeatures, s_type), offset_of!(PhysicalDeviceDynamicRenderingLocalReadFeatures, p_next), offset_of!(PhysicalDeviceDynamicRenderingLocalReadFeatures, dynamic_rendering_local_read)); + println!("RenderingAttachmentLocationInfo {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(RenderingAttachmentLocationInfo, s_type), offset_of!(RenderingAttachmentLocationInfo, p_next), offset_of!(RenderingAttachmentLocationInfo, color_attachment_count), offset_of!(RenderingAttachmentLocationInfo, p_color_attachment_locations)); + println!("RenderingInputAttachmentIndexInfo {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(RenderingInputAttachmentIndexInfo, s_type), offset_of!(RenderingInputAttachmentIndexInfo, p_next), offset_of!(RenderingInputAttachmentIndexInfo, color_attachment_count), offset_of!(RenderingInputAttachmentIndexInfo, p_color_attachment_input_indices), offset_of!(RenderingInputAttachmentIndexInfo, p_depth_input_attachment_index), offset_of!(RenderingInputAttachmentIndexInfo, p_stencil_input_attachment_index)); + println!("PhysicalDeviceShaderQuadControlFeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderQuadControlFeaturesKHR, s_type), offset_of!(PhysicalDeviceShaderQuadControlFeaturesKHR, p_next), offset_of!(PhysicalDeviceShaderQuadControlFeaturesKHR, shader_quad_control)); + println!("PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV, s_type), offset_of!(PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV, p_next), offset_of!(PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV, shader_float16_vector_atomics)); + println!("PhysicalDeviceMapMemoryPlacedFeaturesEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceMapMemoryPlacedFeaturesEXT, s_type), offset_of!(PhysicalDeviceMapMemoryPlacedFeaturesEXT, p_next), offset_of!(PhysicalDeviceMapMemoryPlacedFeaturesEXT, memory_map_placed), offset_of!(PhysicalDeviceMapMemoryPlacedFeaturesEXT, memory_map_range_placed), offset_of!(PhysicalDeviceMapMemoryPlacedFeaturesEXT, memory_unmap_reserve)); + println!("PhysicalDeviceMapMemoryPlacedPropertiesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceMapMemoryPlacedPropertiesEXT, s_type), offset_of!(PhysicalDeviceMapMemoryPlacedPropertiesEXT, p_next), offset_of!(PhysicalDeviceMapMemoryPlacedPropertiesEXT, min_placed_memory_map_alignment)); + println!("MemoryMapPlacedInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(MemoryMapPlacedInfoEXT, s_type), offset_of!(MemoryMapPlacedInfoEXT, p_next), offset_of!(MemoryMapPlacedInfoEXT, p_placed_address)); + println!("PhysicalDeviceShaderBfloat16FeaturesKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderBfloat16FeaturesKHR, s_type), offset_of!(PhysicalDeviceShaderBfloat16FeaturesKHR, p_next), offset_of!(PhysicalDeviceShaderBfloat16FeaturesKHR, shader_b_float16_type), offset_of!(PhysicalDeviceShaderBfloat16FeaturesKHR, shader_b_float16_dot_product), offset_of!(PhysicalDeviceShaderBfloat16FeaturesKHR, shader_b_float16_cooperative_matrix)); + println!("PhysicalDeviceRawAccessChainsFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceRawAccessChainsFeaturesNV, s_type), offset_of!(PhysicalDeviceRawAccessChainsFeaturesNV, p_next), offset_of!(PhysicalDeviceRawAccessChainsFeaturesNV, shader_raw_access_chains)); + println!("PhysicalDeviceCommandBufferInheritanceFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceCommandBufferInheritanceFeaturesNV, s_type), offset_of!(PhysicalDeviceCommandBufferInheritanceFeaturesNV, p_next), offset_of!(PhysicalDeviceCommandBufferInheritanceFeaturesNV, command_buffer_inheritance)); + println!("PhysicalDeviceImageAlignmentControlFeaturesMESA {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceImageAlignmentControlFeaturesMESA, s_type), offset_of!(PhysicalDeviceImageAlignmentControlFeaturesMESA, p_next), offset_of!(PhysicalDeviceImageAlignmentControlFeaturesMESA, image_alignment_control)); + println!("PhysicalDeviceImageAlignmentControlPropertiesMESA {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceImageAlignmentControlPropertiesMESA, s_type), offset_of!(PhysicalDeviceImageAlignmentControlPropertiesMESA, p_next), offset_of!(PhysicalDeviceImageAlignmentControlPropertiesMESA, supported_image_alignment_mask)); + println!("ImageAlignmentControlCreateInfoMESA {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImageAlignmentControlCreateInfoMESA, s_type), offset_of!(ImageAlignmentControlCreateInfoMESA, p_next), offset_of!(ImageAlignmentControlCreateInfoMESA, maximum_requested_alignment)); + println!("PhysicalDeviceShaderReplicatedCompositesFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderReplicatedCompositesFeaturesEXT, s_type), offset_of!(PhysicalDeviceShaderReplicatedCompositesFeaturesEXT, p_next), offset_of!(PhysicalDeviceShaderReplicatedCompositesFeaturesEXT, shader_replicated_composites)); + println!("PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR, s_type), offset_of!(PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR, p_next), offset_of!(PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR, present_mode_fifo_latest_ready)); + println!("DepthClampRangeEXT {} {} {} {}", size_of::(), align_of::(), offset_of!(DepthClampRangeEXT, min_depth_clamp), offset_of!(DepthClampRangeEXT, max_depth_clamp)); + println!("PhysicalDeviceCooperativeMatrix2FeaturesNV {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceCooperativeMatrix2FeaturesNV, s_type), offset_of!(PhysicalDeviceCooperativeMatrix2FeaturesNV, p_next), offset_of!(PhysicalDeviceCooperativeMatrix2FeaturesNV, cooperative_matrix_workgroup_scope), offset_of!(PhysicalDeviceCooperativeMatrix2FeaturesNV, cooperative_matrix_flexible_dimensions), offset_of!(PhysicalDeviceCooperativeMatrix2FeaturesNV, cooperative_matrix_reductions), offset_of!(PhysicalDeviceCooperativeMatrix2FeaturesNV, cooperative_matrix_conversions), offset_of!(PhysicalDeviceCooperativeMatrix2FeaturesNV, cooperative_matrix_per_element_operations), offset_of!(PhysicalDeviceCooperativeMatrix2FeaturesNV, cooperative_matrix_tensor_addressing), offset_of!(PhysicalDeviceCooperativeMatrix2FeaturesNV, cooperative_matrix_block_loads)); + println!("PhysicalDeviceCooperativeMatrix2PropertiesNV {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceCooperativeMatrix2PropertiesNV, s_type), offset_of!(PhysicalDeviceCooperativeMatrix2PropertiesNV, p_next), offset_of!(PhysicalDeviceCooperativeMatrix2PropertiesNV, cooperative_matrix_workgroup_scope_max_workgroup_size), offset_of!(PhysicalDeviceCooperativeMatrix2PropertiesNV, cooperative_matrix_flexible_dimensions_max_dimension), offset_of!(PhysicalDeviceCooperativeMatrix2PropertiesNV, cooperative_matrix_workgroup_scope_reserved_shared_memory)); + println!("CooperativeMatrixFlexibleDimensionsPropertiesNV {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CooperativeMatrixFlexibleDimensionsPropertiesNV, s_type), offset_of!(CooperativeMatrixFlexibleDimensionsPropertiesNV, p_next), offset_of!(CooperativeMatrixFlexibleDimensionsPropertiesNV, m_granularity), offset_of!(CooperativeMatrixFlexibleDimensionsPropertiesNV, n_granularity), offset_of!(CooperativeMatrixFlexibleDimensionsPropertiesNV, k_granularity), offset_of!(CooperativeMatrixFlexibleDimensionsPropertiesNV, a_type), offset_of!(CooperativeMatrixFlexibleDimensionsPropertiesNV, b_type), offset_of!(CooperativeMatrixFlexibleDimensionsPropertiesNV, c_type), offset_of!(CooperativeMatrixFlexibleDimensionsPropertiesNV, result_type), offset_of!(CooperativeMatrixFlexibleDimensionsPropertiesNV, saturating_accumulation), offset_of!(CooperativeMatrixFlexibleDimensionsPropertiesNV, scope), offset_of!(CooperativeMatrixFlexibleDimensionsPropertiesNV, workgroup_invocations)); + println!("PhysicalDeviceHdrVividFeaturesHUAWEI {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceHdrVividFeaturesHUAWEI, s_type), offset_of!(PhysicalDeviceHdrVividFeaturesHUAWEI, p_next), offset_of!(PhysicalDeviceHdrVividFeaturesHUAWEI, hdr_vivid)); + println!("PhysicalDeviceVertexAttributeRobustnessFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceVertexAttributeRobustnessFeaturesEXT, s_type), offset_of!(PhysicalDeviceVertexAttributeRobustnessFeaturesEXT, p_next), offset_of!(PhysicalDeviceVertexAttributeRobustnessFeaturesEXT, vertex_attribute_robustness)); + println!("PhysicalDeviceDepthClampZeroOneFeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceDepthClampZeroOneFeaturesKHR, s_type), offset_of!(PhysicalDeviceDepthClampZeroOneFeaturesKHR, p_next), offset_of!(PhysicalDeviceDepthClampZeroOneFeaturesKHR, depth_clamp_zero_one)); + println!("PhysicalDeviceCooperativeVectorFeaturesNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceCooperativeVectorFeaturesNV, s_type), offset_of!(PhysicalDeviceCooperativeVectorFeaturesNV, p_next), offset_of!(PhysicalDeviceCooperativeVectorFeaturesNV, cooperative_vector), offset_of!(PhysicalDeviceCooperativeVectorFeaturesNV, cooperative_vector_training)); + println!("CooperativeVectorPropertiesNV {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CooperativeVectorPropertiesNV, s_type), offset_of!(CooperativeVectorPropertiesNV, p_next), offset_of!(CooperativeVectorPropertiesNV, input_type), offset_of!(CooperativeVectorPropertiesNV, input_interpretation), offset_of!(CooperativeVectorPropertiesNV, matrix_interpretation), offset_of!(CooperativeVectorPropertiesNV, bias_interpretation), offset_of!(CooperativeVectorPropertiesNV, result_type), offset_of!(CooperativeVectorPropertiesNV, transpose)); + println!("PhysicalDeviceCooperativeVectorPropertiesNV {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceCooperativeVectorPropertiesNV, s_type), offset_of!(PhysicalDeviceCooperativeVectorPropertiesNV, p_next), offset_of!(PhysicalDeviceCooperativeVectorPropertiesNV, cooperative_vector_supported_stages), offset_of!(PhysicalDeviceCooperativeVectorPropertiesNV, cooperative_vector_training_float16_accumulation), offset_of!(PhysicalDeviceCooperativeVectorPropertiesNV, cooperative_vector_training_float32_accumulation), offset_of!(PhysicalDeviceCooperativeVectorPropertiesNV, max_cooperative_vector_components)); + println!("ConvertCooperativeVectorMatrixInfoNV {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ConvertCooperativeVectorMatrixInfoNV, s_type), offset_of!(ConvertCooperativeVectorMatrixInfoNV, p_next), offset_of!(ConvertCooperativeVectorMatrixInfoNV, src_size), offset_of!(ConvertCooperativeVectorMatrixInfoNV, src_data), offset_of!(ConvertCooperativeVectorMatrixInfoNV, p_dst_size), offset_of!(ConvertCooperativeVectorMatrixInfoNV, dst_data), offset_of!(ConvertCooperativeVectorMatrixInfoNV, src_component_type), offset_of!(ConvertCooperativeVectorMatrixInfoNV, dst_component_type), offset_of!(ConvertCooperativeVectorMatrixInfoNV, num_rows), offset_of!(ConvertCooperativeVectorMatrixInfoNV, num_columns), offset_of!(ConvertCooperativeVectorMatrixInfoNV, src_layout), offset_of!(ConvertCooperativeVectorMatrixInfoNV, src_stride), offset_of!(ConvertCooperativeVectorMatrixInfoNV, dst_layout), offset_of!(ConvertCooperativeVectorMatrixInfoNV, dst_stride)); + println!("PhysicalDeviceTileShadingFeaturesQCOM {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceTileShadingFeaturesQCOM, s_type), offset_of!(PhysicalDeviceTileShadingFeaturesQCOM, p_next), offset_of!(PhysicalDeviceTileShadingFeaturesQCOM, tile_shading), offset_of!(PhysicalDeviceTileShadingFeaturesQCOM, tile_shading_fragment_stage), offset_of!(PhysicalDeviceTileShadingFeaturesQCOM, tile_shading_color_attachments), offset_of!(PhysicalDeviceTileShadingFeaturesQCOM, tile_shading_depth_attachments), offset_of!(PhysicalDeviceTileShadingFeaturesQCOM, tile_shading_stencil_attachments), offset_of!(PhysicalDeviceTileShadingFeaturesQCOM, tile_shading_input_attachments), offset_of!(PhysicalDeviceTileShadingFeaturesQCOM, tile_shading_sampled_attachments), offset_of!(PhysicalDeviceTileShadingFeaturesQCOM, tile_shading_per_tile_draw), offset_of!(PhysicalDeviceTileShadingFeaturesQCOM, tile_shading_per_tile_dispatch), offset_of!(PhysicalDeviceTileShadingFeaturesQCOM, tile_shading_dispatch_tile), offset_of!(PhysicalDeviceTileShadingFeaturesQCOM, tile_shading_apron), offset_of!(PhysicalDeviceTileShadingFeaturesQCOM, tile_shading_anisotropic_apron), offset_of!(PhysicalDeviceTileShadingFeaturesQCOM, tile_shading_atomic_ops), offset_of!(PhysicalDeviceTileShadingFeaturesQCOM, tile_shading_image_processing)); + println!("PhysicalDeviceTileShadingPropertiesQCOM {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceTileShadingPropertiesQCOM, s_type), offset_of!(PhysicalDeviceTileShadingPropertiesQCOM, p_next), offset_of!(PhysicalDeviceTileShadingPropertiesQCOM, max_apron_size), offset_of!(PhysicalDeviceTileShadingPropertiesQCOM, prefer_non_coherent), offset_of!(PhysicalDeviceTileShadingPropertiesQCOM, tile_granularity), offset_of!(PhysicalDeviceTileShadingPropertiesQCOM, max_tile_shading_rate)); + println!("RenderPassTileShadingCreateInfoQCOM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(RenderPassTileShadingCreateInfoQCOM, s_type), offset_of!(RenderPassTileShadingCreateInfoQCOM, p_next), offset_of!(RenderPassTileShadingCreateInfoQCOM, flags), offset_of!(RenderPassTileShadingCreateInfoQCOM, tile_apron_size)); + println!("PerTileBeginInfoQCOM {} {} {} {}", size_of::(), align_of::(), offset_of!(PerTileBeginInfoQCOM, s_type), offset_of!(PerTileBeginInfoQCOM, p_next)); + println!("PerTileEndInfoQCOM {} {} {} {}", size_of::(), align_of::(), offset_of!(PerTileEndInfoQCOM, s_type), offset_of!(PerTileEndInfoQCOM, p_next)); + println!("DispatchTileInfoQCOM {} {} {} {}", size_of::(), align_of::(), offset_of!(DispatchTileInfoQCOM, s_type), offset_of!(DispatchTileInfoQCOM, p_next)); + println!("PhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE, s_type), offset_of!(PhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE, p_next), offset_of!(PhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE, max_fragment_density_map_layers)); + println!("PhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE, s_type), offset_of!(PhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE, p_next), offset_of!(PhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE, fragment_density_map_layered)); + println!("PipelineFragmentDensityMapLayeredCreateInfoVALVE {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PipelineFragmentDensityMapLayeredCreateInfoVALVE, s_type), offset_of!(PipelineFragmentDensityMapLayeredCreateInfoVALVE, p_next), offset_of!(PipelineFragmentDensityMapLayeredCreateInfoVALVE, max_fragment_density_map_layers)); + println!("SetPresentConfigNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SetPresentConfigNV, s_type), offset_of!(SetPresentConfigNV, p_next), offset_of!(SetPresentConfigNV, num_frames_per_batch), offset_of!(SetPresentConfigNV, present_config_feedback)); + println!("PhysicalDevicePresentMeteringFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDevicePresentMeteringFeaturesNV, s_type), offset_of!(PhysicalDevicePresentMeteringFeaturesNV, p_next), offset_of!(PhysicalDevicePresentMeteringFeaturesNV, present_metering)); + println!("ExternalComputeQueueDeviceCreateInfoNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ExternalComputeQueueDeviceCreateInfoNV, s_type), offset_of!(ExternalComputeQueueDeviceCreateInfoNV, p_next), offset_of!(ExternalComputeQueueDeviceCreateInfoNV, reserved_external_queues)); + println!("ExternalComputeQueueCreateInfoNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ExternalComputeQueueCreateInfoNV, s_type), offset_of!(ExternalComputeQueueCreateInfoNV, p_next), offset_of!(ExternalComputeQueueCreateInfoNV, preferred_queue)); + println!("ExternalComputeQueueDataParamsNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ExternalComputeQueueDataParamsNV, s_type), offset_of!(ExternalComputeQueueDataParamsNV, p_next), offset_of!(ExternalComputeQueueDataParamsNV, device_index)); + println!("PhysicalDeviceExternalComputeQueuePropertiesNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceExternalComputeQueuePropertiesNV, s_type), offset_of!(PhysicalDeviceExternalComputeQueuePropertiesNV, p_next), offset_of!(PhysicalDeviceExternalComputeQueuePropertiesNV, external_data_size), offset_of!(PhysicalDeviceExternalComputeQueuePropertiesNV, max_external_queues)); + println!("PhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT, s_type), offset_of!(PhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT, p_next), offset_of!(PhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT, shader_uniform_buffer_unsized_array)); + println!("PhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE, s_type), offset_of!(PhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE, p_next), offset_of!(PhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE, shader_mixed_float_dot_product_float16_acc_float32), offset_of!(PhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE, shader_mixed_float_dot_product_float16_acc_float16), offset_of!(PhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE, shader_mixed_float_dot_product_b_float16_acc), offset_of!(PhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE, shader_mixed_float_dot_product_float8_acc_float32)); + println!("PhysicalDeviceFormatPackFeaturesARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceFormatPackFeaturesARM, s_type), offset_of!(PhysicalDeviceFormatPackFeaturesARM, p_next), offset_of!(PhysicalDeviceFormatPackFeaturesARM, format_pack)); + println!("TensorDescriptionARM {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(TensorDescriptionARM, s_type), offset_of!(TensorDescriptionARM, p_next), offset_of!(TensorDescriptionARM, tiling), offset_of!(TensorDescriptionARM, format), offset_of!(TensorDescriptionARM, dimension_count), offset_of!(TensorDescriptionARM, p_dimensions), offset_of!(TensorDescriptionARM, p_strides), offset_of!(TensorDescriptionARM, usage)); + println!("TensorCreateInfoARM {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(TensorCreateInfoARM, s_type), offset_of!(TensorCreateInfoARM, p_next), offset_of!(TensorCreateInfoARM, flags), offset_of!(TensorCreateInfoARM, p_description), offset_of!(TensorCreateInfoARM, sharing_mode), offset_of!(TensorCreateInfoARM, queue_family_index_count), offset_of!(TensorCreateInfoARM, p_queue_family_indices)); + println!("TensorViewCreateInfoARM {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(TensorViewCreateInfoARM, s_type), offset_of!(TensorViewCreateInfoARM, p_next), offset_of!(TensorViewCreateInfoARM, flags), offset_of!(TensorViewCreateInfoARM, tensor), offset_of!(TensorViewCreateInfoARM, format)); + println!("TensorMemoryRequirementsInfoARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(TensorMemoryRequirementsInfoARM, s_type), offset_of!(TensorMemoryRequirementsInfoARM, p_next), offset_of!(TensorMemoryRequirementsInfoARM, tensor)); + println!("BindTensorMemoryInfoARM {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(BindTensorMemoryInfoARM, s_type), offset_of!(BindTensorMemoryInfoARM, p_next), offset_of!(BindTensorMemoryInfoARM, tensor), offset_of!(BindTensorMemoryInfoARM, memory), offset_of!(BindTensorMemoryInfoARM, memory_offset)); + println!("WriteDescriptorSetTensorARM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(WriteDescriptorSetTensorARM, s_type), offset_of!(WriteDescriptorSetTensorARM, p_next), offset_of!(WriteDescriptorSetTensorARM, tensor_view_count), offset_of!(WriteDescriptorSetTensorARM, p_tensor_views)); + println!("TensorFormatPropertiesARM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(TensorFormatPropertiesARM, s_type), offset_of!(TensorFormatPropertiesARM, p_next), offset_of!(TensorFormatPropertiesARM, optimal_tiling_tensor_features), offset_of!(TensorFormatPropertiesARM, linear_tiling_tensor_features)); + println!("PhysicalDeviceTensorPropertiesARM {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceTensorPropertiesARM, s_type), offset_of!(PhysicalDeviceTensorPropertiesARM, p_next), offset_of!(PhysicalDeviceTensorPropertiesARM, max_tensor_dimension_count), offset_of!(PhysicalDeviceTensorPropertiesARM, max_tensor_elements), offset_of!(PhysicalDeviceTensorPropertiesARM, max_per_dimension_tensor_elements), offset_of!(PhysicalDeviceTensorPropertiesARM, max_tensor_stride), offset_of!(PhysicalDeviceTensorPropertiesARM, max_tensor_size), offset_of!(PhysicalDeviceTensorPropertiesARM, max_tensor_shader_access_array_length), offset_of!(PhysicalDeviceTensorPropertiesARM, max_tensor_shader_access_size), offset_of!(PhysicalDeviceTensorPropertiesARM, max_descriptor_set_storage_tensors), offset_of!(PhysicalDeviceTensorPropertiesARM, max_per_stage_descriptor_set_storage_tensors), offset_of!(PhysicalDeviceTensorPropertiesARM, max_descriptor_set_update_after_bind_storage_tensors), offset_of!(PhysicalDeviceTensorPropertiesARM, max_per_stage_descriptor_update_after_bind_storage_tensors), offset_of!(PhysicalDeviceTensorPropertiesARM, shader_storage_tensor_array_non_uniform_indexing_native), offset_of!(PhysicalDeviceTensorPropertiesARM, shader_tensor_supported_stages)); + println!("TensorMemoryBarrierARM {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(TensorMemoryBarrierARM, s_type), offset_of!(TensorMemoryBarrierARM, p_next), offset_of!(TensorMemoryBarrierARM, src_stage_mask), offset_of!(TensorMemoryBarrierARM, src_access_mask), offset_of!(TensorMemoryBarrierARM, dst_stage_mask), offset_of!(TensorMemoryBarrierARM, dst_access_mask), offset_of!(TensorMemoryBarrierARM, src_queue_family_index), offset_of!(TensorMemoryBarrierARM, dst_queue_family_index), offset_of!(TensorMemoryBarrierARM, tensor)); + println!("TensorDependencyInfoARM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(TensorDependencyInfoARM, s_type), offset_of!(TensorDependencyInfoARM, p_next), offset_of!(TensorDependencyInfoARM, tensor_memory_barrier_count), offset_of!(TensorDependencyInfoARM, p_tensor_memory_barriers)); + println!("PhysicalDeviceTensorFeaturesARM {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceTensorFeaturesARM, s_type), offset_of!(PhysicalDeviceTensorFeaturesARM, p_next), offset_of!(PhysicalDeviceTensorFeaturesARM, tensor_non_packed), offset_of!(PhysicalDeviceTensorFeaturesARM, shader_tensor_access), offset_of!(PhysicalDeviceTensorFeaturesARM, shader_storage_tensor_array_dynamic_indexing), offset_of!(PhysicalDeviceTensorFeaturesARM, shader_storage_tensor_array_non_uniform_indexing), offset_of!(PhysicalDeviceTensorFeaturesARM, descriptor_binding_storage_tensor_update_after_bind), offset_of!(PhysicalDeviceTensorFeaturesARM, tensors)); + println!("DeviceTensorMemoryRequirementsARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DeviceTensorMemoryRequirementsARM, s_type), offset_of!(DeviceTensorMemoryRequirementsARM, p_next), offset_of!(DeviceTensorMemoryRequirementsARM, p_create_info)); + println!("CopyTensorInfoARM {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CopyTensorInfoARM, s_type), offset_of!(CopyTensorInfoARM, p_next), offset_of!(CopyTensorInfoARM, src_tensor), offset_of!(CopyTensorInfoARM, dst_tensor), offset_of!(CopyTensorInfoARM, region_count), offset_of!(CopyTensorInfoARM, p_regions)); + println!("TensorCopyARM {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(TensorCopyARM, s_type), offset_of!(TensorCopyARM, p_next), offset_of!(TensorCopyARM, dimension_count), offset_of!(TensorCopyARM, p_src_offset), offset_of!(TensorCopyARM, p_dst_offset), offset_of!(TensorCopyARM, p_extent)); + println!("MemoryDedicatedAllocateInfoTensorARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(MemoryDedicatedAllocateInfoTensorARM, s_type), offset_of!(MemoryDedicatedAllocateInfoTensorARM, p_next), offset_of!(MemoryDedicatedAllocateInfoTensorARM, tensor)); + println!("PhysicalDeviceDescriptorBufferTensorPropertiesARM {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceDescriptorBufferTensorPropertiesARM, s_type), offset_of!(PhysicalDeviceDescriptorBufferTensorPropertiesARM, p_next), offset_of!(PhysicalDeviceDescriptorBufferTensorPropertiesARM, tensor_capture_replay_descriptor_data_size), offset_of!(PhysicalDeviceDescriptorBufferTensorPropertiesARM, tensor_view_capture_replay_descriptor_data_size), offset_of!(PhysicalDeviceDescriptorBufferTensorPropertiesARM, tensor_descriptor_size)); + println!("PhysicalDeviceDescriptorBufferTensorFeaturesARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceDescriptorBufferTensorFeaturesARM, s_type), offset_of!(PhysicalDeviceDescriptorBufferTensorFeaturesARM, p_next), offset_of!(PhysicalDeviceDescriptorBufferTensorFeaturesARM, descriptor_buffer_tensor_descriptors)); + println!("TensorCaptureDescriptorDataInfoARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(TensorCaptureDescriptorDataInfoARM, s_type), offset_of!(TensorCaptureDescriptorDataInfoARM, p_next), offset_of!(TensorCaptureDescriptorDataInfoARM, tensor)); + println!("TensorViewCaptureDescriptorDataInfoARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(TensorViewCaptureDescriptorDataInfoARM, s_type), offset_of!(TensorViewCaptureDescriptorDataInfoARM, p_next), offset_of!(TensorViewCaptureDescriptorDataInfoARM, tensor_view)); + println!("DescriptorGetTensorInfoARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DescriptorGetTensorInfoARM, s_type), offset_of!(DescriptorGetTensorInfoARM, p_next), offset_of!(DescriptorGetTensorInfoARM, tensor_view)); + println!("FrameBoundaryTensorsARM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(FrameBoundaryTensorsARM, s_type), offset_of!(FrameBoundaryTensorsARM, p_next), offset_of!(FrameBoundaryTensorsARM, tensor_count), offset_of!(FrameBoundaryTensorsARM, p_tensors)); + println!("PhysicalDeviceExternalTensorInfoARM {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceExternalTensorInfoARM, s_type), offset_of!(PhysicalDeviceExternalTensorInfoARM, p_next), offset_of!(PhysicalDeviceExternalTensorInfoARM, flags), offset_of!(PhysicalDeviceExternalTensorInfoARM, p_description), offset_of!(PhysicalDeviceExternalTensorInfoARM, handle_type)); + println!("ExternalTensorPropertiesARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ExternalTensorPropertiesARM, s_type), offset_of!(ExternalTensorPropertiesARM, p_next), offset_of!(ExternalTensorPropertiesARM, external_memory_properties)); + println!("ExternalMemoryTensorCreateInfoARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ExternalMemoryTensorCreateInfoARM, s_type), offset_of!(ExternalMemoryTensorCreateInfoARM, p_next), offset_of!(ExternalMemoryTensorCreateInfoARM, handle_types)); + println!("PhysicalDeviceShaderFloat8FeaturesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderFloat8FeaturesEXT, s_type), offset_of!(PhysicalDeviceShaderFloat8FeaturesEXT, p_next), offset_of!(PhysicalDeviceShaderFloat8FeaturesEXT, shader_float8), offset_of!(PhysicalDeviceShaderFloat8FeaturesEXT, shader_float8_cooperative_matrix)); + println!("PhysicalDeviceDataGraphFeaturesARM {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceDataGraphFeaturesARM, s_type), offset_of!(PhysicalDeviceDataGraphFeaturesARM, p_next), offset_of!(PhysicalDeviceDataGraphFeaturesARM, data_graph), offset_of!(PhysicalDeviceDataGraphFeaturesARM, data_graph_update_after_bind), offset_of!(PhysicalDeviceDataGraphFeaturesARM, data_graph_specialization_constants), offset_of!(PhysicalDeviceDataGraphFeaturesARM, data_graph_descriptor_buffer), offset_of!(PhysicalDeviceDataGraphFeaturesARM, data_graph_shader_module)); + println!("DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM, s_type), offset_of!(DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM, p_next), offset_of!(DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM, dimension), offset_of!(DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM, zero_count), offset_of!(DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM, group_size)); + println!("DataGraphPipelineConstantARM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DataGraphPipelineConstantARM, s_type), offset_of!(DataGraphPipelineConstantARM, p_next), offset_of!(DataGraphPipelineConstantARM, id), offset_of!(DataGraphPipelineConstantARM, p_constant_data)); + println!("DataGraphPipelineResourceInfoARM {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DataGraphPipelineResourceInfoARM, s_type), offset_of!(DataGraphPipelineResourceInfoARM, p_next), offset_of!(DataGraphPipelineResourceInfoARM, descriptor_set), offset_of!(DataGraphPipelineResourceInfoARM, binding), offset_of!(DataGraphPipelineResourceInfoARM, array_element)); + println!("DataGraphPipelineCompilerControlCreateInfoARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DataGraphPipelineCompilerControlCreateInfoARM, s_type), offset_of!(DataGraphPipelineCompilerControlCreateInfoARM, p_next), offset_of!(DataGraphPipelineCompilerControlCreateInfoARM, p_vendor_options)); + println!("DataGraphPipelineCreateInfoARM {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DataGraphPipelineCreateInfoARM, s_type), offset_of!(DataGraphPipelineCreateInfoARM, p_next), offset_of!(DataGraphPipelineCreateInfoARM, flags), offset_of!(DataGraphPipelineCreateInfoARM, layout), offset_of!(DataGraphPipelineCreateInfoARM, resource_info_count), offset_of!(DataGraphPipelineCreateInfoARM, p_resource_infos)); + println!("DataGraphPipelineShaderModuleCreateInfoARM {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DataGraphPipelineShaderModuleCreateInfoARM, s_type), offset_of!(DataGraphPipelineShaderModuleCreateInfoARM, p_next), offset_of!(DataGraphPipelineShaderModuleCreateInfoARM, module), offset_of!(DataGraphPipelineShaderModuleCreateInfoARM, p_name), offset_of!(DataGraphPipelineShaderModuleCreateInfoARM, p_specialization_info), offset_of!(DataGraphPipelineShaderModuleCreateInfoARM, constant_count), offset_of!(DataGraphPipelineShaderModuleCreateInfoARM, p_constants)); + println!("DataGraphPipelineSessionCreateInfoARM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DataGraphPipelineSessionCreateInfoARM, s_type), offset_of!(DataGraphPipelineSessionCreateInfoARM, p_next), offset_of!(DataGraphPipelineSessionCreateInfoARM, flags), offset_of!(DataGraphPipelineSessionCreateInfoARM, data_graph_pipeline)); + println!("DataGraphPipelineSessionBindPointRequirementsInfoARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DataGraphPipelineSessionBindPointRequirementsInfoARM, s_type), offset_of!(DataGraphPipelineSessionBindPointRequirementsInfoARM, p_next), offset_of!(DataGraphPipelineSessionBindPointRequirementsInfoARM, session)); + println!("DataGraphPipelineSessionBindPointRequirementARM {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DataGraphPipelineSessionBindPointRequirementARM, s_type), offset_of!(DataGraphPipelineSessionBindPointRequirementARM, p_next), offset_of!(DataGraphPipelineSessionBindPointRequirementARM, bind_point), offset_of!(DataGraphPipelineSessionBindPointRequirementARM, bind_point_type), offset_of!(DataGraphPipelineSessionBindPointRequirementARM, num_objects)); + println!("DataGraphPipelineSessionMemoryRequirementsInfoARM {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DataGraphPipelineSessionMemoryRequirementsInfoARM, s_type), offset_of!(DataGraphPipelineSessionMemoryRequirementsInfoARM, p_next), offset_of!(DataGraphPipelineSessionMemoryRequirementsInfoARM, session), offset_of!(DataGraphPipelineSessionMemoryRequirementsInfoARM, bind_point), offset_of!(DataGraphPipelineSessionMemoryRequirementsInfoARM, object_index)); + println!("BindDataGraphPipelineSessionMemoryInfoARM {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(BindDataGraphPipelineSessionMemoryInfoARM, s_type), offset_of!(BindDataGraphPipelineSessionMemoryInfoARM, p_next), offset_of!(BindDataGraphPipelineSessionMemoryInfoARM, session), offset_of!(BindDataGraphPipelineSessionMemoryInfoARM, bind_point), offset_of!(BindDataGraphPipelineSessionMemoryInfoARM, object_index), offset_of!(BindDataGraphPipelineSessionMemoryInfoARM, memory), offset_of!(BindDataGraphPipelineSessionMemoryInfoARM, memory_offset)); + println!("DataGraphPipelineInfoARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DataGraphPipelineInfoARM, s_type), offset_of!(DataGraphPipelineInfoARM, p_next), offset_of!(DataGraphPipelineInfoARM, data_graph_pipeline)); + println!("DataGraphPipelinePropertyQueryResultARM {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DataGraphPipelinePropertyQueryResultARM, s_type), offset_of!(DataGraphPipelinePropertyQueryResultARM, p_next), offset_of!(DataGraphPipelinePropertyQueryResultARM, property), offset_of!(DataGraphPipelinePropertyQueryResultARM, is_text), offset_of!(DataGraphPipelinePropertyQueryResultARM, data_size), offset_of!(DataGraphPipelinePropertyQueryResultARM, p_data)); + println!("DataGraphPipelineIdentifierCreateInfoARM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DataGraphPipelineIdentifierCreateInfoARM, s_type), offset_of!(DataGraphPipelineIdentifierCreateInfoARM, p_next), offset_of!(DataGraphPipelineIdentifierCreateInfoARM, identifier_size), offset_of!(DataGraphPipelineIdentifierCreateInfoARM, p_identifier)); + println!("DataGraphPipelineDispatchInfoARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DataGraphPipelineDispatchInfoARM, s_type), offset_of!(DataGraphPipelineDispatchInfoARM, p_next), offset_of!(DataGraphPipelineDispatchInfoARM, flags)); + println!("PhysicalDeviceDataGraphProcessingEngineARM {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceDataGraphProcessingEngineARM, is_foreign)); + println!("PhysicalDeviceDataGraphOperationSupportARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceDataGraphOperationSupportARM, operation_type), offset_of!(PhysicalDeviceDataGraphOperationSupportARM, name), offset_of!(PhysicalDeviceDataGraphOperationSupportARM, version)); + println!("QueueFamilyDataGraphPropertiesARM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(QueueFamilyDataGraphPropertiesARM, s_type), offset_of!(QueueFamilyDataGraphPropertiesARM, p_next), offset_of!(QueueFamilyDataGraphPropertiesARM, engine), offset_of!(QueueFamilyDataGraphPropertiesARM, operation)); + println!("PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM, s_type), offset_of!(PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM, p_next), offset_of!(PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM, queue_family_index), offset_of!(PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM, engine_type)); + println!("QueueFamilyDataGraphProcessingEnginePropertiesARM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(QueueFamilyDataGraphProcessingEnginePropertiesARM, s_type), offset_of!(QueueFamilyDataGraphProcessingEnginePropertiesARM, p_next), offset_of!(QueueFamilyDataGraphProcessingEnginePropertiesARM, foreign_semaphore_handle_types), offset_of!(QueueFamilyDataGraphProcessingEnginePropertiesARM, foreign_memory_handle_types)); + println!("DataGraphProcessingEngineCreateInfoARM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DataGraphProcessingEngineCreateInfoARM, s_type), offset_of!(DataGraphProcessingEngineCreateInfoARM, p_next), offset_of!(DataGraphProcessingEngineCreateInfoARM, processing_engine_count), offset_of!(DataGraphProcessingEngineCreateInfoARM, p_processing_engines)); + println!("PhysicalDevicePipelineCacheIncrementalModeFeaturesSEC {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDevicePipelineCacheIncrementalModeFeaturesSEC, s_type), offset_of!(PhysicalDevicePipelineCacheIncrementalModeFeaturesSEC, p_next), offset_of!(PhysicalDevicePipelineCacheIncrementalModeFeaturesSEC, pipeline_cache_incremental_mode)); + println!("DataGraphPipelineBuiltinModelCreateInfoQCOM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DataGraphPipelineBuiltinModelCreateInfoQCOM, s_type), offset_of!(DataGraphPipelineBuiltinModelCreateInfoQCOM, p_next), offset_of!(DataGraphPipelineBuiltinModelCreateInfoQCOM, p_operation)); + println!("PhysicalDeviceDataGraphModelFeaturesQCOM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceDataGraphModelFeaturesQCOM, s_type), offset_of!(PhysicalDeviceDataGraphModelFeaturesQCOM, p_next), offset_of!(PhysicalDeviceDataGraphModelFeaturesQCOM, data_graph_model)); + println!("PhysicalDeviceShaderUntypedPointersFeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderUntypedPointersFeaturesKHR, s_type), offset_of!(PhysicalDeviceShaderUntypedPointersFeaturesKHR, p_next), offset_of!(PhysicalDeviceShaderUntypedPointersFeaturesKHR, shader_untyped_pointers)); + println!("PhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE, s_type), offset_of!(PhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE, p_next), offset_of!(PhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE, video_encode_rgb_conversion)); + println!("VideoEncodeRgbConversionCapabilitiesVALVE {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeRgbConversionCapabilitiesVALVE, s_type), offset_of!(VideoEncodeRgbConversionCapabilitiesVALVE, p_next), offset_of!(VideoEncodeRgbConversionCapabilitiesVALVE, rgb_models), offset_of!(VideoEncodeRgbConversionCapabilitiesVALVE, rgb_ranges), offset_of!(VideoEncodeRgbConversionCapabilitiesVALVE, x_chroma_offsets), offset_of!(VideoEncodeRgbConversionCapabilitiesVALVE, y_chroma_offsets)); + println!("VideoEncodeProfileRgbConversionInfoVALVE {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeProfileRgbConversionInfoVALVE, s_type), offset_of!(VideoEncodeProfileRgbConversionInfoVALVE, p_next), offset_of!(VideoEncodeProfileRgbConversionInfoVALVE, perform_encode_rgb_conversion)); + println!("VideoEncodeSessionRgbConversionCreateInfoVALVE {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(VideoEncodeSessionRgbConversionCreateInfoVALVE, s_type), offset_of!(VideoEncodeSessionRgbConversionCreateInfoVALVE, p_next), offset_of!(VideoEncodeSessionRgbConversionCreateInfoVALVE, rgb_model), offset_of!(VideoEncodeSessionRgbConversionCreateInfoVALVE, rgb_range), offset_of!(VideoEncodeSessionRgbConversionCreateInfoVALVE, x_chroma_offset), offset_of!(VideoEncodeSessionRgbConversionCreateInfoVALVE, y_chroma_offset)); + println!("PhysicalDeviceShader64BitIndexingFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShader64BitIndexingFeaturesEXT, s_type), offset_of!(PhysicalDeviceShader64BitIndexingFeaturesEXT, p_next), offset_of!(PhysicalDeviceShader64BitIndexingFeaturesEXT, shader64_bit_indexing)); + println!("PhysicalDevicePerformanceCountersByRegionFeaturesARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDevicePerformanceCountersByRegionFeaturesARM, s_type), offset_of!(PhysicalDevicePerformanceCountersByRegionFeaturesARM, p_next), offset_of!(PhysicalDevicePerformanceCountersByRegionFeaturesARM, performance_counters_by_region)); + println!("PhysicalDevicePerformanceCountersByRegionPropertiesARM {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDevicePerformanceCountersByRegionPropertiesARM, s_type), offset_of!(PhysicalDevicePerformanceCountersByRegionPropertiesARM, p_next), offset_of!(PhysicalDevicePerformanceCountersByRegionPropertiesARM, max_per_region_performance_counters), offset_of!(PhysicalDevicePerformanceCountersByRegionPropertiesARM, performance_counter_region_size), offset_of!(PhysicalDevicePerformanceCountersByRegionPropertiesARM, row_stride_alignment), offset_of!(PhysicalDevicePerformanceCountersByRegionPropertiesARM, region_alignment), offset_of!(PhysicalDevicePerformanceCountersByRegionPropertiesARM, identity_transform_order)); + println!("PerformanceCounterARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PerformanceCounterARM, s_type), offset_of!(PerformanceCounterARM, p_next), offset_of!(PerformanceCounterARM, counter_id)); + println!("PerformanceCounterDescriptionARM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PerformanceCounterDescriptionARM, s_type), offset_of!(PerformanceCounterDescriptionARM, p_next), offset_of!(PerformanceCounterDescriptionARM, flags), offset_of!(PerformanceCounterDescriptionARM, name)); + println!("RenderPassPerformanceCountersByRegionBeginInfoARM {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(RenderPassPerformanceCountersByRegionBeginInfoARM, s_type), offset_of!(RenderPassPerformanceCountersByRegionBeginInfoARM, p_next), offset_of!(RenderPassPerformanceCountersByRegionBeginInfoARM, counter_address_count), offset_of!(RenderPassPerformanceCountersByRegionBeginInfoARM, p_counter_addresses), offset_of!(RenderPassPerformanceCountersByRegionBeginInfoARM, serialize_regions), offset_of!(RenderPassPerformanceCountersByRegionBeginInfoARM, counter_index_count), offset_of!(RenderPassPerformanceCountersByRegionBeginInfoARM, p_counter_indices)); + println!("ComputeOccupancyPriorityParametersNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ComputeOccupancyPriorityParametersNV, s_type), offset_of!(ComputeOccupancyPriorityParametersNV, p_next), offset_of!(ComputeOccupancyPriorityParametersNV, occupancy_priority), offset_of!(ComputeOccupancyPriorityParametersNV, occupancy_throttling)); + println!("PhysicalDeviceComputeOccupancyPriorityFeaturesNV {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceComputeOccupancyPriorityFeaturesNV, s_type), offset_of!(PhysicalDeviceComputeOccupancyPriorityFeaturesNV, p_next), offset_of!(PhysicalDeviceComputeOccupancyPriorityFeaturesNV, compute_occupancy_priority)); + println!("PhysicalDeviceShaderLongVectorFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderLongVectorFeaturesEXT, s_type), offset_of!(PhysicalDeviceShaderLongVectorFeaturesEXT, p_next), offset_of!(PhysicalDeviceShaderLongVectorFeaturesEXT, long_vector)); + println!("PhysicalDeviceShaderLongVectorPropertiesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderLongVectorPropertiesEXT, s_type), offset_of!(PhysicalDeviceShaderLongVectorPropertiesEXT, p_next), offset_of!(PhysicalDeviceShaderLongVectorPropertiesEXT, max_vector_components)); + println!("PhysicalDeviceTextureCompressionASTC3DFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceTextureCompressionASTC3DFeaturesEXT, s_type), offset_of!(PhysicalDeviceTextureCompressionASTC3DFeaturesEXT, p_next), offset_of!(PhysicalDeviceTextureCompressionASTC3DFeaturesEXT, texture_compression_astc_3d)); + println!("PhysicalDeviceShaderSubgroupPartitionedFeaturesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderSubgroupPartitionedFeaturesEXT, s_type), offset_of!(PhysicalDeviceShaderSubgroupPartitionedFeaturesEXT, p_next), offset_of!(PhysicalDeviceShaderSubgroupPartitionedFeaturesEXT, shader_subgroup_partitioned)); + println!("HostAddressRangeEXT {} {} {} {}", size_of::(), align_of::(), offset_of!(HostAddressRangeEXT, address), offset_of!(HostAddressRangeEXT, size)); + println!("HostAddressRangeConstEXT {} {} {} {}", size_of::(), align_of::(), offset_of!(HostAddressRangeConstEXT, address), offset_of!(HostAddressRangeConstEXT, size)); + println!("TexelBufferDescriptorInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(TexelBufferDescriptorInfoEXT, s_type), offset_of!(TexelBufferDescriptorInfoEXT, p_next), offset_of!(TexelBufferDescriptorInfoEXT, format), offset_of!(TexelBufferDescriptorInfoEXT, address_range)); + println!("ImageDescriptorInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ImageDescriptorInfoEXT, s_type), offset_of!(ImageDescriptorInfoEXT, p_next), offset_of!(ImageDescriptorInfoEXT, p_view), offset_of!(ImageDescriptorInfoEXT, layout)); + println!("ResourceDescriptorDataEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ResourceDescriptorDataEXT, p_image), offset_of!(ResourceDescriptorDataEXT, p_texel_buffer), offset_of!(ResourceDescriptorDataEXT, p_address_range), offset_of!(ResourceDescriptorDataEXT, p_tensor_arm)); + println!("ResourceDescriptorInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ResourceDescriptorInfoEXT, s_type), offset_of!(ResourceDescriptorInfoEXT, p_next), offset_of!(ResourceDescriptorInfoEXT, data)); + println!("BindHeapInfoEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(BindHeapInfoEXT, s_type), offset_of!(BindHeapInfoEXT, p_next), offset_of!(BindHeapInfoEXT, heap_range), offset_of!(BindHeapInfoEXT, reserved_range_offset), offset_of!(BindHeapInfoEXT, reserved_range_size)); + println!("PushDataInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PushDataInfoEXT, s_type), offset_of!(PushDataInfoEXT, p_next), offset_of!(PushDataInfoEXT, offset), offset_of!(PushDataInfoEXT, data)); + println!("DescriptorMappingSourceConstantOffsetEXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DescriptorMappingSourceConstantOffsetEXT, heap_offset), offset_of!(DescriptorMappingSourceConstantOffsetEXT, heap_array_stride), offset_of!(DescriptorMappingSourceConstantOffsetEXT, p_embedded_sampler), offset_of!(DescriptorMappingSourceConstantOffsetEXT, sampler_heap_offset), offset_of!(DescriptorMappingSourceConstantOffsetEXT, sampler_heap_array_stride)); + println!("DescriptorMappingSourcePushIndexEXT {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DescriptorMappingSourcePushIndexEXT, heap_offset), offset_of!(DescriptorMappingSourcePushIndexEXT, push_offset), offset_of!(DescriptorMappingSourcePushIndexEXT, heap_index_stride), offset_of!(DescriptorMappingSourcePushIndexEXT, heap_array_stride), offset_of!(DescriptorMappingSourcePushIndexEXT, p_embedded_sampler), offset_of!(DescriptorMappingSourcePushIndexEXT, use_combined_image_sampler_index), offset_of!(DescriptorMappingSourcePushIndexEXT, sampler_heap_offset), offset_of!(DescriptorMappingSourcePushIndexEXT, sampler_push_offset), offset_of!(DescriptorMappingSourcePushIndexEXT, sampler_heap_index_stride), offset_of!(DescriptorMappingSourcePushIndexEXT, sampler_heap_array_stride)); + println!("DescriptorMappingSourceIndirectIndexEXT {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DescriptorMappingSourceIndirectIndexEXT, heap_offset), offset_of!(DescriptorMappingSourceIndirectIndexEXT, push_offset), offset_of!(DescriptorMappingSourceIndirectIndexEXT, address_offset), offset_of!(DescriptorMappingSourceIndirectIndexEXT, heap_index_stride), offset_of!(DescriptorMappingSourceIndirectIndexEXT, heap_array_stride), offset_of!(DescriptorMappingSourceIndirectIndexEXT, p_embedded_sampler), offset_of!(DescriptorMappingSourceIndirectIndexEXT, use_combined_image_sampler_index), offset_of!(DescriptorMappingSourceIndirectIndexEXT, sampler_heap_offset), offset_of!(DescriptorMappingSourceIndirectIndexEXT, sampler_push_offset), offset_of!(DescriptorMappingSourceIndirectIndexEXT, sampler_address_offset), offset_of!(DescriptorMappingSourceIndirectIndexEXT, sampler_heap_index_stride), offset_of!(DescriptorMappingSourceIndirectIndexEXT, sampler_heap_array_stride)); + println!("DescriptorMappingSourceIndirectIndexArrayEXT {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DescriptorMappingSourceIndirectIndexArrayEXT, heap_offset), offset_of!(DescriptorMappingSourceIndirectIndexArrayEXT, push_offset), offset_of!(DescriptorMappingSourceIndirectIndexArrayEXT, address_offset), offset_of!(DescriptorMappingSourceIndirectIndexArrayEXT, heap_index_stride), offset_of!(DescriptorMappingSourceIndirectIndexArrayEXT, p_embedded_sampler), offset_of!(DescriptorMappingSourceIndirectIndexArrayEXT, use_combined_image_sampler_index), offset_of!(DescriptorMappingSourceIndirectIndexArrayEXT, sampler_heap_offset), offset_of!(DescriptorMappingSourceIndirectIndexArrayEXT, sampler_push_offset), offset_of!(DescriptorMappingSourceIndirectIndexArrayEXT, sampler_address_offset), offset_of!(DescriptorMappingSourceIndirectIndexArrayEXT, sampler_heap_index_stride)); + println!("DescriptorMappingSourceHeapDataEXT {} {} {} {}", size_of::(), align_of::(), offset_of!(DescriptorMappingSourceHeapDataEXT, heap_offset), offset_of!(DescriptorMappingSourceHeapDataEXT, push_offset)); + println!("DescriptorMappingSourceShaderRecordIndexEXT {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DescriptorMappingSourceShaderRecordIndexEXT, heap_offset), offset_of!(DescriptorMappingSourceShaderRecordIndexEXT, shader_record_offset), offset_of!(DescriptorMappingSourceShaderRecordIndexEXT, heap_index_stride), offset_of!(DescriptorMappingSourceShaderRecordIndexEXT, heap_array_stride), offset_of!(DescriptorMappingSourceShaderRecordIndexEXT, p_embedded_sampler), offset_of!(DescriptorMappingSourceShaderRecordIndexEXT, use_combined_image_sampler_index), offset_of!(DescriptorMappingSourceShaderRecordIndexEXT, sampler_heap_offset), offset_of!(DescriptorMappingSourceShaderRecordIndexEXT, sampler_shader_record_offset), offset_of!(DescriptorMappingSourceShaderRecordIndexEXT, sampler_heap_index_stride), offset_of!(DescriptorMappingSourceShaderRecordIndexEXT, sampler_heap_array_stride)); + println!("DescriptorMappingSourceIndirectAddressEXT {} {} {} {}", size_of::(), align_of::(), offset_of!(DescriptorMappingSourceIndirectAddressEXT, push_offset), offset_of!(DescriptorMappingSourceIndirectAddressEXT, address_offset)); + println!("DescriptorMappingSourceDataEXT {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DescriptorMappingSourceDataEXT, constant_offset), offset_of!(DescriptorMappingSourceDataEXT, push_index), offset_of!(DescriptorMappingSourceDataEXT, indirect_index), offset_of!(DescriptorMappingSourceDataEXT, indirect_index_array), offset_of!(DescriptorMappingSourceDataEXT, heap_data), offset_of!(DescriptorMappingSourceDataEXT, push_data_offset), offset_of!(DescriptorMappingSourceDataEXT, push_address_offset), offset_of!(DescriptorMappingSourceDataEXT, indirect_address), offset_of!(DescriptorMappingSourceDataEXT, shader_record_index), offset_of!(DescriptorMappingSourceDataEXT, shader_record_data_offset), offset_of!(DescriptorMappingSourceDataEXT, shader_record_address_offset)); + println!("DescriptorSetAndBindingMappingEXT {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DescriptorSetAndBindingMappingEXT, s_type), offset_of!(DescriptorSetAndBindingMappingEXT, p_next), offset_of!(DescriptorSetAndBindingMappingEXT, descriptor_set), offset_of!(DescriptorSetAndBindingMappingEXT, first_binding), offset_of!(DescriptorSetAndBindingMappingEXT, binding_count), offset_of!(DescriptorSetAndBindingMappingEXT, resource_mask), offset_of!(DescriptorSetAndBindingMappingEXT, source), offset_of!(DescriptorSetAndBindingMappingEXT, source_data)); + println!("ShaderDescriptorSetAndBindingMappingInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ShaderDescriptorSetAndBindingMappingInfoEXT, s_type), offset_of!(ShaderDescriptorSetAndBindingMappingInfoEXT, p_next), offset_of!(ShaderDescriptorSetAndBindingMappingInfoEXT, mapping_count), offset_of!(ShaderDescriptorSetAndBindingMappingInfoEXT, p_mappings)); + println!("SamplerCustomBorderColorIndexCreateInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SamplerCustomBorderColorIndexCreateInfoEXT, s_type), offset_of!(SamplerCustomBorderColorIndexCreateInfoEXT, p_next), offset_of!(SamplerCustomBorderColorIndexCreateInfoEXT, index)); + println!("OpaqueCaptureDataCreateInfoEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(OpaqueCaptureDataCreateInfoEXT, s_type), offset_of!(OpaqueCaptureDataCreateInfoEXT, p_next), offset_of!(OpaqueCaptureDataCreateInfoEXT, p_data)); + println!("IndirectCommandsLayoutPushDataTokenNV {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(IndirectCommandsLayoutPushDataTokenNV, s_type), offset_of!(IndirectCommandsLayoutPushDataTokenNV, p_next), offset_of!(IndirectCommandsLayoutPushDataTokenNV, push_data_offset), offset_of!(IndirectCommandsLayoutPushDataTokenNV, push_data_size)); + println!("SubsampledImageFormatPropertiesEXT {} {} {} {} {}", size_of::(), align_of::(), offset_of!(SubsampledImageFormatPropertiesEXT, s_type), offset_of!(SubsampledImageFormatPropertiesEXT, p_next), offset_of!(SubsampledImageFormatPropertiesEXT, subsampled_image_descriptor_count)); + println!("PhysicalDeviceDescriptorHeapFeaturesEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceDescriptorHeapFeaturesEXT, s_type), offset_of!(PhysicalDeviceDescriptorHeapFeaturesEXT, p_next), offset_of!(PhysicalDeviceDescriptorHeapFeaturesEXT, descriptor_heap), offset_of!(PhysicalDeviceDescriptorHeapFeaturesEXT, descriptor_heap_capture_replay)); + println!("PhysicalDeviceDescriptorHeapPropertiesEXT {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceDescriptorHeapPropertiesEXT, s_type), offset_of!(PhysicalDeviceDescriptorHeapPropertiesEXT, p_next), offset_of!(PhysicalDeviceDescriptorHeapPropertiesEXT, sampler_heap_alignment), offset_of!(PhysicalDeviceDescriptorHeapPropertiesEXT, resource_heap_alignment), offset_of!(PhysicalDeviceDescriptorHeapPropertiesEXT, max_sampler_heap_size), offset_of!(PhysicalDeviceDescriptorHeapPropertiesEXT, max_resource_heap_size), offset_of!(PhysicalDeviceDescriptorHeapPropertiesEXT, min_sampler_heap_reserved_range), offset_of!(PhysicalDeviceDescriptorHeapPropertiesEXT, min_sampler_heap_reserved_range_with_embedded), offset_of!(PhysicalDeviceDescriptorHeapPropertiesEXT, min_resource_heap_reserved_range), offset_of!(PhysicalDeviceDescriptorHeapPropertiesEXT, sampler_descriptor_size), offset_of!(PhysicalDeviceDescriptorHeapPropertiesEXT, image_descriptor_size), offset_of!(PhysicalDeviceDescriptorHeapPropertiesEXT, buffer_descriptor_size), offset_of!(PhysicalDeviceDescriptorHeapPropertiesEXT, sampler_descriptor_alignment), offset_of!(PhysicalDeviceDescriptorHeapPropertiesEXT, image_descriptor_alignment), offset_of!(PhysicalDeviceDescriptorHeapPropertiesEXT, buffer_descriptor_alignment), offset_of!(PhysicalDeviceDescriptorHeapPropertiesEXT, max_push_data_size), offset_of!(PhysicalDeviceDescriptorHeapPropertiesEXT, image_capture_replay_opaque_data_size), offset_of!(PhysicalDeviceDescriptorHeapPropertiesEXT, max_descriptor_heap_embedded_samplers), offset_of!(PhysicalDeviceDescriptorHeapPropertiesEXT, sampler_ycbcr_conversion_count), offset_of!(PhysicalDeviceDescriptorHeapPropertiesEXT, sparse_descriptor_heaps), offset_of!(PhysicalDeviceDescriptorHeapPropertiesEXT, protected_descriptor_heaps)); + println!("CommandBufferInheritanceDescriptorHeapInfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CommandBufferInheritanceDescriptorHeapInfoEXT, s_type), offset_of!(CommandBufferInheritanceDescriptorHeapInfoEXT, p_next), offset_of!(CommandBufferInheritanceDescriptorHeapInfoEXT, p_sampler_heap_bind_info), offset_of!(CommandBufferInheritanceDescriptorHeapInfoEXT, p_resource_heap_bind_info)); + println!("PhysicalDeviceDescriptorHeapTensorPropertiesARM {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceDescriptorHeapTensorPropertiesARM, s_type), offset_of!(PhysicalDeviceDescriptorHeapTensorPropertiesARM, p_next), offset_of!(PhysicalDeviceDescriptorHeapTensorPropertiesARM, tensor_descriptor_size), offset_of!(PhysicalDeviceDescriptorHeapTensorPropertiesARM, tensor_descriptor_alignment), offset_of!(PhysicalDeviceDescriptorHeapTensorPropertiesARM, tensor_capture_replay_opaque_data_size)); + println!("PhysicalDeviceShaderInstrumentationFeaturesARM {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderInstrumentationFeaturesARM, s_type), offset_of!(PhysicalDeviceShaderInstrumentationFeaturesARM, p_next), offset_of!(PhysicalDeviceShaderInstrumentationFeaturesARM, shader_instrumentation)); + println!("PhysicalDeviceShaderInstrumentationPropertiesARM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderInstrumentationPropertiesARM, s_type), offset_of!(PhysicalDeviceShaderInstrumentationPropertiesARM, p_next), offset_of!(PhysicalDeviceShaderInstrumentationPropertiesARM, num_metrics), offset_of!(PhysicalDeviceShaderInstrumentationPropertiesARM, per_basic_block_granularity)); + println!("ShaderInstrumentationCreateInfoARM {} {} {} {}", size_of::(), align_of::(), offset_of!(ShaderInstrumentationCreateInfoARM, s_type), offset_of!(ShaderInstrumentationCreateInfoARM, p_next)); + println!("ShaderInstrumentationMetricDescriptionARM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ShaderInstrumentationMetricDescriptionARM, s_type), offset_of!(ShaderInstrumentationMetricDescriptionARM, p_next), offset_of!(ShaderInstrumentationMetricDescriptionARM, name), offset_of!(ShaderInstrumentationMetricDescriptionARM, description)); + println!("ShaderInstrumentationMetricDataHeaderARM {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ShaderInstrumentationMetricDataHeaderARM, result_index), offset_of!(ShaderInstrumentationMetricDataHeaderARM, result_sub_index), offset_of!(ShaderInstrumentationMetricDataHeaderARM, stages), offset_of!(ShaderInstrumentationMetricDataHeaderARM, basic_block_index)); + println!("DeviceAddressRangeKHR {} {} {} {}", size_of::(), align_of::(), offset_of!(DeviceAddressRangeKHR, address), offset_of!(DeviceAddressRangeKHR, size)); + println!("DeviceMemoryCopyKHR {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DeviceMemoryCopyKHR, s_type), offset_of!(DeviceMemoryCopyKHR, p_next), offset_of!(DeviceMemoryCopyKHR, src_range), offset_of!(DeviceMemoryCopyKHR, src_flags), offset_of!(DeviceMemoryCopyKHR, dst_range), offset_of!(DeviceMemoryCopyKHR, dst_flags)); + println!("CopyDeviceMemoryInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CopyDeviceMemoryInfoKHR, s_type), offset_of!(CopyDeviceMemoryInfoKHR, p_next), offset_of!(CopyDeviceMemoryInfoKHR, region_count), offset_of!(CopyDeviceMemoryInfoKHR, p_regions)); + println!("DeviceMemoryImageCopyKHR {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DeviceMemoryImageCopyKHR, s_type), offset_of!(DeviceMemoryImageCopyKHR, p_next), offset_of!(DeviceMemoryImageCopyKHR, address_range), offset_of!(DeviceMemoryImageCopyKHR, address_flags), offset_of!(DeviceMemoryImageCopyKHR, address_row_length), offset_of!(DeviceMemoryImageCopyKHR, address_image_height), offset_of!(DeviceMemoryImageCopyKHR, image_subresource), offset_of!(DeviceMemoryImageCopyKHR, image_layout), offset_of!(DeviceMemoryImageCopyKHR, image_offset), offset_of!(DeviceMemoryImageCopyKHR, image_extent)); + println!("CopyDeviceMemoryImageInfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(CopyDeviceMemoryImageInfoKHR, s_type), offset_of!(CopyDeviceMemoryImageInfoKHR, p_next), offset_of!(CopyDeviceMemoryImageInfoKHR, image), offset_of!(CopyDeviceMemoryImageInfoKHR, region_count), offset_of!(CopyDeviceMemoryImageInfoKHR, p_regions)); + println!("MemoryRangeBarriersInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(MemoryRangeBarriersInfoKHR, s_type), offset_of!(MemoryRangeBarriersInfoKHR, p_next), offset_of!(MemoryRangeBarriersInfoKHR, memory_range_barrier_count), offset_of!(MemoryRangeBarriersInfoKHR, p_memory_range_barriers)); + println!("MemoryRangeBarrierKHR {} {} {} {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(MemoryRangeBarrierKHR, s_type), offset_of!(MemoryRangeBarrierKHR, p_next), offset_of!(MemoryRangeBarrierKHR, src_stage_mask), offset_of!(MemoryRangeBarrierKHR, src_access_mask), offset_of!(MemoryRangeBarrierKHR, dst_stage_mask), offset_of!(MemoryRangeBarrierKHR, dst_access_mask), offset_of!(MemoryRangeBarrierKHR, src_queue_family_index), offset_of!(MemoryRangeBarrierKHR, dst_queue_family_index), offset_of!(MemoryRangeBarrierKHR, address_range), offset_of!(MemoryRangeBarrierKHR, address_flags)); + println!("PhysicalDeviceDeviceAddressCommandsFeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceDeviceAddressCommandsFeaturesKHR, s_type), offset_of!(PhysicalDeviceDeviceAddressCommandsFeaturesKHR, p_next), offset_of!(PhysicalDeviceDeviceAddressCommandsFeaturesKHR, device_address_commands)); + println!("ConditionalRenderingBeginInfo2EXT {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(ConditionalRenderingBeginInfo2EXT, s_type), offset_of!(ConditionalRenderingBeginInfo2EXT, p_next), offset_of!(ConditionalRenderingBeginInfo2EXT, address_range), offset_of!(ConditionalRenderingBeginInfo2EXT, address_flags), offset_of!(ConditionalRenderingBeginInfo2EXT, flags)); + println!("AccelerationStructureCreateInfo2KHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(AccelerationStructureCreateInfo2KHR, s_type), offset_of!(AccelerationStructureCreateInfo2KHR, p_next), offset_of!(AccelerationStructureCreateInfo2KHR, create_flags), offset_of!(AccelerationStructureCreateInfo2KHR, address_range), offset_of!(AccelerationStructureCreateInfo2KHR, address_flags)); + println!("BindIndexBuffer3InfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(BindIndexBuffer3InfoKHR, s_type), offset_of!(BindIndexBuffer3InfoKHR, p_next), offset_of!(BindIndexBuffer3InfoKHR, address_range), offset_of!(BindIndexBuffer3InfoKHR, address_flags), offset_of!(BindIndexBuffer3InfoKHR, index_type)); + println!("BindVertexBuffer3InfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(BindVertexBuffer3InfoKHR, s_type), offset_of!(BindVertexBuffer3InfoKHR, p_next), offset_of!(BindVertexBuffer3InfoKHR, set_stride), offset_of!(BindVertexBuffer3InfoKHR, address_range), offset_of!(BindVertexBuffer3InfoKHR, address_flags)); + println!("DrawIndirect2InfoKHR {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DrawIndirect2InfoKHR, s_type), offset_of!(DrawIndirect2InfoKHR, p_next), offset_of!(DrawIndirect2InfoKHR, address_range), offset_of!(DrawIndirect2InfoKHR, address_flags), offset_of!(DrawIndirect2InfoKHR, draw_count)); + println!("DrawIndirectCount2InfoKHR {} {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DrawIndirectCount2InfoKHR, s_type), offset_of!(DrawIndirectCount2InfoKHR, p_next), offset_of!(DrawIndirectCount2InfoKHR, address_range), offset_of!(DrawIndirectCount2InfoKHR, address_flags), offset_of!(DrawIndirectCount2InfoKHR, count_address_range), offset_of!(DrawIndirectCount2InfoKHR, count_address_flags), offset_of!(DrawIndirectCount2InfoKHR, max_draw_count)); + println!("DispatchIndirect2InfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DispatchIndirect2InfoKHR, s_type), offset_of!(DispatchIndirect2InfoKHR, p_next), offset_of!(DispatchIndirect2InfoKHR, address_range), offset_of!(DispatchIndirect2InfoKHR, address_flags)); + println!("BindTransformFeedbackBuffer2InfoEXT {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(BindTransformFeedbackBuffer2InfoEXT, s_type), offset_of!(BindTransformFeedbackBuffer2InfoEXT, p_next), offset_of!(BindTransformFeedbackBuffer2InfoEXT, address_range), offset_of!(BindTransformFeedbackBuffer2InfoEXT, address_flags)); + println!("MemoryMarkerInfoAMD {} {} {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(MemoryMarkerInfoAMD, s_type), offset_of!(MemoryMarkerInfoAMD, p_next), offset_of!(MemoryMarkerInfoAMD, stage), offset_of!(MemoryMarkerInfoAMD, dst_range), offset_of!(MemoryMarkerInfoAMD, dst_flags), offset_of!(MemoryMarkerInfoAMD, marker)); + println!("PhysicalDeviceShaderConstantDataFeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderConstantDataFeaturesKHR, s_type), offset_of!(PhysicalDeviceShaderConstantDataFeaturesKHR, p_next), offset_of!(PhysicalDeviceShaderConstantDataFeaturesKHR, shader_constant_data)); + println!("PhysicalDeviceShaderAbortFeaturesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderAbortFeaturesKHR, s_type), offset_of!(PhysicalDeviceShaderAbortFeaturesKHR, p_next), offset_of!(PhysicalDeviceShaderAbortFeaturesKHR, shader_abort)); + println!("PhysicalDeviceShaderAbortPropertiesKHR {} {} {} {} {}", size_of::(), align_of::(), offset_of!(PhysicalDeviceShaderAbortPropertiesKHR, s_type), offset_of!(PhysicalDeviceShaderAbortPropertiesKHR, p_next), offset_of!(PhysicalDeviceShaderAbortPropertiesKHR, max_shader_abort_message_size)); + println!("DeviceFaultShaderAbortMessageInfoKHR {} {} {} {} {} {}", size_of::(), align_of::(), offset_of!(DeviceFaultShaderAbortMessageInfoKHR, s_type), offset_of!(DeviceFaultShaderAbortMessageInfoKHR, p_next), offset_of!(DeviceFaultShaderAbortMessageInfoKHR, message_data_size), offset_of!(DeviceFaultShaderAbortMessageInfoKHR, p_message_data)); } diff --git a/vulkan-rust-sys/src/bitmasks.rs b/vulkan-rust-sys/src/bitmasks.rs index be3b13a..da901f3 100644 --- a/vulkan-rust-sys/src/bitmasks.rs +++ b/vulkan-rust-sys/src/bitmasks.rs @@ -1,6 +1,6 @@ ///[`VkAccelerationStructureCreateFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureCreateFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkAccelerationStructureCreateFlagBitsKHR")] pub struct AccelerationStructureCreateFlagBitsKHR(u32); impl AccelerationStructureCreateFlagBitsKHR { @@ -24,6 +24,10 @@ impl AccelerationStructureCreateFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(13u32) + } ///Bit 0. pub const DEVICE_ADDRESS_CAPTURE_REPLAY: Self = Self(1u32); ///Bit 3. @@ -119,7 +123,7 @@ impl core::fmt::Debug for AccelerationStructureCreateFlagBitsKHR { } ///[`VkAccessFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccessFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkAccessFlagBits")] pub struct AccessFlagBits(u32); impl AccessFlagBits { @@ -143,6 +147,10 @@ impl AccessFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(268042239u32) + } ///Bit 0. pub const INDIRECT_COMMAND_READ: Self = Self(1u32); ///Bit 1. @@ -470,7 +478,7 @@ impl core::fmt::Debug for AccessFlagBits { } ///[`VkAccessFlagBits2`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccessFlagBits2.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkAccessFlagBits2")] pub struct AccessFlagBits2(u64); impl AccessFlagBits2 { @@ -494,6 +502,10 @@ impl AccessFlagBits2 { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(547679931907833855u64) + } pub const _2_NONE: Self = Self(0u64); ///Bit 0. pub const _2_INDIRECT_COMMAND_READ: Self = Self(1u64); @@ -1041,7 +1053,7 @@ impl core::fmt::Debug for AccessFlagBits2 { } ///[`VkAccessFlagBits3KHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccessFlagBits3KHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkAccessFlagBits3KHR")] pub struct AccessFlagBits3KHR(u64); impl AccessFlagBits3KHR { @@ -1065,6 +1077,10 @@ impl AccessFlagBits3KHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(0u64) + } pub const ACCESS_3_NONE: Self = Self(0u64); } impl core::ops::BitOr for AccessFlagBits3KHR { @@ -1131,7 +1147,7 @@ impl core::fmt::Debug for AccessFlagBits3KHR { } ///[`VkAcquireProfilingLockFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkAcquireProfilingLockFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkAcquireProfilingLockFlagBitsKHR")] pub struct AcquireProfilingLockFlagBitsKHR(u32); impl AcquireProfilingLockFlagBitsKHR { @@ -1155,6 +1171,10 @@ impl AcquireProfilingLockFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(0u32) + } } impl core::ops::BitOr for AcquireProfilingLockFlagBitsKHR { type Output = Self; @@ -1220,7 +1240,7 @@ impl core::fmt::Debug for AcquireProfilingLockFlagBitsKHR { } ///[`VkAddressCommandFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkAddressCommandFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkAddressCommandFlagBitsKHR")] pub struct AddressCommandFlagBitsKHR(u32); impl AddressCommandFlagBitsKHR { @@ -1244,6 +1264,10 @@ impl AddressCommandFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(63u32) + } ///Bit 0. pub const PROTECTED: Self = Self(1u32); ///Bit 1. @@ -1369,7 +1393,7 @@ impl core::fmt::Debug for AddressCommandFlagBitsKHR { } ///[`VkAddressCopyFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkAddressCopyFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkAddressCopyFlagBitsKHR")] pub struct AddressCopyFlagBitsKHR(u32); impl AddressCopyFlagBitsKHR { @@ -1393,6 +1417,10 @@ impl AddressCopyFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(7u32) + } ///Bit 0. pub const DEVICE_LOCAL: Self = Self(1u32); ///Bit 1. @@ -1488,7 +1516,7 @@ impl core::fmt::Debug for AddressCopyFlagBitsKHR { } ///[`VkAttachmentDescriptionFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkAttachmentDescriptionFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkAttachmentDescriptionFlagBits")] pub struct AttachmentDescriptionFlagBits(u32); impl AttachmentDescriptionFlagBits { @@ -1512,6 +1540,10 @@ impl AttachmentDescriptionFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(7u32) + } ///Bit 0. pub const MAY_ALIAS: Self = Self(1u32); ///Bit 1. @@ -1607,7 +1639,7 @@ impl core::fmt::Debug for AttachmentDescriptionFlagBits { } ///[`VkBufferCreateFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkBufferCreateFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkBufferCreateFlagBits")] pub struct BufferCreateFlagBits(u32); impl BufferCreateFlagBits { @@ -1631,6 +1663,10 @@ impl BufferCreateFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(127u32) + } ///Bit 0. pub const SPARSE_BINDING: Self = Self(1u32); ///Bit 1. @@ -1766,7 +1802,7 @@ impl core::fmt::Debug for BufferCreateFlagBits { } ///[`VkBufferUsageFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkBufferUsageFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkBufferUsageFlagBits")] pub struct BufferUsageFlagBits(u32); impl BufferUsageFlagBits { @@ -1790,6 +1826,10 @@ impl BufferUsageFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(536608767u32) + } ///Bit 0. pub const TRANSFER_SRC: Self = Self(1u32); ///Bit 1. @@ -2136,7 +2176,7 @@ impl core::fmt::Debug for BufferUsageFlagBits { } ///[`VkBufferUsageFlagBits2`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkBufferUsageFlagBits2.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkBufferUsageFlagBits2")] pub struct BufferUsageFlagBits2(u64); impl BufferUsageFlagBits2 { @@ -2160,6 +2200,10 @@ impl BufferUsageFlagBits2 { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(16105865215u64) + } ///Bit 0. pub const _2_TRANSFER_SRC: Self = Self(1u64); ///Bit 1. @@ -2546,7 +2590,7 @@ impl core::fmt::Debug for BufferUsageFlagBits2 { } ///[`VkBuildAccelerationStructureFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkBuildAccelerationStructureFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkBuildAccelerationStructureFlagBitsKHR")] pub struct BuildAccelerationStructureFlagBitsKHR(u32); impl BuildAccelerationStructureFlagBitsKHR { @@ -2570,6 +2614,10 @@ impl BuildAccelerationStructureFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(7167u32) + } ///Bit 0. pub const ALLOW_UPDATE: Self = Self(1u32); ///Bit 1. @@ -2755,7 +2803,7 @@ impl core::fmt::Debug for BuildAccelerationStructureFlagBitsKHR { } ///[`VkBuildMicromapFlagBitsEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkBuildMicromapFlagBitsEXT.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkBuildMicromapFlagBitsEXT")] pub struct BuildMicromapFlagBitsEXT(u32); impl BuildMicromapFlagBitsEXT { @@ -2779,6 +2827,10 @@ impl BuildMicromapFlagBitsEXT { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(7u32) + } ///Bit 0. pub const PREFER_FAST_TRACE: Self = Self(1u32); ///Bit 1. @@ -2874,7 +2926,7 @@ impl core::fmt::Debug for BuildMicromapFlagBitsEXT { } ///[`VkClusterAccelerationStructureAddressResolutionFlagBitsNV`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkClusterAccelerationStructureAddressResolutionFlagBitsNV.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkClusterAccelerationStructureAddressResolutionFlagBitsNV")] pub struct ClusterAccelerationStructureAddressResolutionFlagBitsNV(u32); impl ClusterAccelerationStructureAddressResolutionFlagBitsNV { @@ -2898,6 +2950,10 @@ impl ClusterAccelerationStructureAddressResolutionFlagBitsNV { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(63u32) + } pub const NONE: Self = Self(0u32); ///Bit 0. pub const INDIRECTED_DST_IMPLICIT_DATA: Self = Self(1u32); @@ -3026,7 +3082,7 @@ impl core::fmt::Debug for ClusterAccelerationStructureAddressResolutionFlagBitsN } ///[`VkClusterAccelerationStructureClusterFlagBitsNV`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkClusterAccelerationStructureClusterFlagBitsNV.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkClusterAccelerationStructureClusterFlagBitsNV")] pub struct ClusterAccelerationStructureClusterFlagBitsNV(u32); impl ClusterAccelerationStructureClusterFlagBitsNV { @@ -3050,6 +3106,10 @@ impl ClusterAccelerationStructureClusterFlagBitsNV { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(1u32) + } ///Bit 0. pub const ALLOW_DISABLE_OPACITY_MICROMAPS: Self = Self(1u32); } @@ -3125,7 +3185,7 @@ impl core::fmt::Debug for ClusterAccelerationStructureClusterFlagBitsNV { } ///[`VkClusterAccelerationStructureGeometryFlagBitsNV`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkClusterAccelerationStructureGeometryFlagBitsNV.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkClusterAccelerationStructureGeometryFlagBitsNV")] pub struct ClusterAccelerationStructureGeometryFlagBitsNV(u32); impl ClusterAccelerationStructureGeometryFlagBitsNV { @@ -3149,6 +3209,10 @@ impl ClusterAccelerationStructureGeometryFlagBitsNV { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(7u32) + } ///Bit 0. pub const CULL_DISABLE: Self = Self(1u32); ///Bit 1. @@ -3244,7 +3308,7 @@ impl core::fmt::Debug for ClusterAccelerationStructureGeometryFlagBitsNV { } ///[`VkClusterAccelerationStructureIndexFormatFlagBitsNV`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkClusterAccelerationStructureIndexFormatFlagBitsNV.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkClusterAccelerationStructureIndexFormatFlagBitsNV")] pub struct ClusterAccelerationStructureIndexFormatFlagBitsNV(u32); impl ClusterAccelerationStructureIndexFormatFlagBitsNV { @@ -3268,6 +3332,10 @@ impl ClusterAccelerationStructureIndexFormatFlagBitsNV { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(7u32) + } ///Bit 0. pub const _8BIT: Self = Self(1u32); ///Bit 1. @@ -3363,7 +3431,7 @@ impl core::fmt::Debug for ClusterAccelerationStructureIndexFormatFlagBitsNV { } ///[`VkColorComponentFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkColorComponentFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkColorComponentFlagBits")] pub struct ColorComponentFlagBits(u32); impl ColorComponentFlagBits { @@ -3387,6 +3455,10 @@ impl ColorComponentFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(15u32) + } ///Bit 0. pub const R: Self = Self(1u32); ///Bit 1. @@ -3492,7 +3564,7 @@ impl core::fmt::Debug for ColorComponentFlagBits { } ///[`VkCommandBufferResetFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkCommandBufferResetFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkCommandBufferResetFlagBits")] pub struct CommandBufferResetFlagBits(u32); impl CommandBufferResetFlagBits { @@ -3516,6 +3588,10 @@ impl CommandBufferResetFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(1u32) + } ///Bit 0. pub const RELEASE_RESOURCES: Self = Self(1u32); } @@ -3591,7 +3667,7 @@ impl core::fmt::Debug for CommandBufferResetFlagBits { } ///[`VkCommandBufferUsageFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkCommandBufferUsageFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkCommandBufferUsageFlagBits")] pub struct CommandBufferUsageFlagBits(u32); impl CommandBufferUsageFlagBits { @@ -3615,6 +3691,10 @@ impl CommandBufferUsageFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(7u32) + } ///Bit 0. pub const ONE_TIME_SUBMIT: Self = Self(1u32); ///Bit 1. @@ -3710,7 +3790,7 @@ impl core::fmt::Debug for CommandBufferUsageFlagBits { } ///[`VkCommandPoolCreateFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkCommandPoolCreateFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkCommandPoolCreateFlagBits")] pub struct CommandPoolCreateFlagBits(u32); impl CommandPoolCreateFlagBits { @@ -3734,6 +3814,10 @@ impl CommandPoolCreateFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(7u32) + } ///Bit 0. pub const TRANSIENT: Self = Self(1u32); ///Bit 1. @@ -3829,7 +3913,7 @@ impl core::fmt::Debug for CommandPoolCreateFlagBits { } ///[`VkCommandPoolResetFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkCommandPoolResetFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkCommandPoolResetFlagBits")] pub struct CommandPoolResetFlagBits(u32); impl CommandPoolResetFlagBits { @@ -3853,6 +3937,10 @@ impl CommandPoolResetFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(1u32) + } ///Bit 0. pub const RELEASE_RESOURCES: Self = Self(1u32); } @@ -3928,7 +4016,7 @@ impl core::fmt::Debug for CommandPoolResetFlagBits { } ///[`VkCompositeAlphaFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkCompositeAlphaFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkCompositeAlphaFlagBitsKHR")] pub struct CompositeAlphaFlagBitsKHR(u32); impl CompositeAlphaFlagBitsKHR { @@ -3952,6 +4040,10 @@ impl CompositeAlphaFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(15u32) + } ///Bit 0. pub const OPAQUE: Self = Self(1u32); ///Bit 1. @@ -4057,7 +4149,7 @@ impl core::fmt::Debug for CompositeAlphaFlagBitsKHR { } ///[`VkConditionalRenderingFlagBitsEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkConditionalRenderingFlagBitsEXT.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkConditionalRenderingFlagBitsEXT")] pub struct ConditionalRenderingFlagBitsEXT(u32); impl ConditionalRenderingFlagBitsEXT { @@ -4081,6 +4173,10 @@ impl ConditionalRenderingFlagBitsEXT { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(1u32) + } ///Bit 0. pub const INVERTED: Self = Self(1u32); } @@ -4156,7 +4252,7 @@ impl core::fmt::Debug for ConditionalRenderingFlagBitsEXT { } ///[`VkCullModeFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkCullModeFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkCullModeFlagBits")] pub struct CullModeFlagBits(u32); impl CullModeFlagBits { @@ -4180,6 +4276,10 @@ impl CullModeFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(3u32) + } pub const NONE: Self = Self(0u32); ///Bit 0. pub const FRONT: Self = Self(1u32); @@ -4267,7 +4367,7 @@ impl core::fmt::Debug for CullModeFlagBits { } ///[`VkDataGraphPipelineDispatchFlagBitsARM`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkDataGraphPipelineDispatchFlagBitsARM.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkDataGraphPipelineDispatchFlagBitsARM")] pub struct DataGraphPipelineDispatchFlagBitsARM(u64); impl DataGraphPipelineDispatchFlagBitsARM { @@ -4291,6 +4391,10 @@ impl DataGraphPipelineDispatchFlagBitsARM { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(0u64) + } } impl core::ops::BitOr for DataGraphPipelineDispatchFlagBitsARM { type Output = Self; @@ -4356,7 +4460,7 @@ impl core::fmt::Debug for DataGraphPipelineDispatchFlagBitsARM { } ///[`VkDataGraphPipelineSessionCreateFlagBitsARM`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkDataGraphPipelineSessionCreateFlagBitsARM.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkDataGraphPipelineSessionCreateFlagBitsARM")] pub struct DataGraphPipelineSessionCreateFlagBitsARM(u64); impl DataGraphPipelineSessionCreateFlagBitsARM { @@ -4380,6 +4484,10 @@ impl DataGraphPipelineSessionCreateFlagBitsARM { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(1u64) + } ///Bit 0. pub const PROTECTED_BIT: Self = Self(1u64); } @@ -4455,7 +4563,7 @@ impl core::fmt::Debug for DataGraphPipelineSessionCreateFlagBitsARM { } ///[`VkDebugReportFlagBitsEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkDebugReportFlagBitsEXT.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkDebugReportFlagBitsEXT")] pub struct DebugReportFlagBitsEXT(u32); impl DebugReportFlagBitsEXT { @@ -4479,6 +4587,10 @@ impl DebugReportFlagBitsEXT { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(31u32) + } ///Bit 0. pub const INFORMATION: Self = Self(1u32); ///Bit 1. @@ -4594,7 +4706,7 @@ impl core::fmt::Debug for DebugReportFlagBitsEXT { } ///[`VkDebugUtilsMessageSeverityFlagBitsEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkDebugUtilsMessageSeverityFlagBitsEXT.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkDebugUtilsMessageSeverityFlagBitsEXT")] pub struct DebugUtilsMessageSeverityFlagBitsEXT(u32); impl DebugUtilsMessageSeverityFlagBitsEXT { @@ -4618,6 +4730,10 @@ impl DebugUtilsMessageSeverityFlagBitsEXT { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(4369u32) + } ///Bit 0. pub const VERBOSE: Self = Self(1u32); ///Bit 4. @@ -4723,7 +4839,7 @@ impl core::fmt::Debug for DebugUtilsMessageSeverityFlagBitsEXT { } ///[`VkDebugUtilsMessageTypeFlagBitsEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkDebugUtilsMessageTypeFlagBitsEXT.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkDebugUtilsMessageTypeFlagBitsEXT")] pub struct DebugUtilsMessageTypeFlagBitsEXT(u32); impl DebugUtilsMessageTypeFlagBitsEXT { @@ -4747,6 +4863,10 @@ impl DebugUtilsMessageTypeFlagBitsEXT { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(15u32) + } ///Bit 0. pub const GENERAL: Self = Self(1u32); ///Bit 1. @@ -4852,7 +4972,7 @@ impl core::fmt::Debug for DebugUtilsMessageTypeFlagBitsEXT { } ///[`VkDependencyFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkDependencyFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkDependencyFlagBits")] pub struct DependencyFlagBits(u32); impl DependencyFlagBits { @@ -4876,6 +4996,10 @@ impl DependencyFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(111u32) + } ///Bit 0. pub const BY_REGION: Self = Self(1u32); ///Bit 2. @@ -5001,7 +5125,7 @@ impl core::fmt::Debug for DependencyFlagBits { } ///[`VkDescriptorBindingFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorBindingFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkDescriptorBindingFlagBits")] pub struct DescriptorBindingFlagBits(u32); impl DescriptorBindingFlagBits { @@ -5025,6 +5149,10 @@ impl DescriptorBindingFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(15u32) + } ///Bit 0. pub const UPDATE_AFTER_BIND: Self = Self(1u32); ///Bit 1. @@ -5130,7 +5258,7 @@ impl core::fmt::Debug for DescriptorBindingFlagBits { } ///[`VkDescriptorPoolCreateFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorPoolCreateFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkDescriptorPoolCreateFlagBits")] pub struct DescriptorPoolCreateFlagBits(u32); impl DescriptorPoolCreateFlagBits { @@ -5154,6 +5282,10 @@ impl DescriptorPoolCreateFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(31u32) + } ///Bit 0. pub const FREE_DESCRIPTOR_SET: Self = Self(1u32); ///Bit 1. @@ -5270,7 +5402,7 @@ impl core::fmt::Debug for DescriptorPoolCreateFlagBits { } ///[`VkDescriptorSetLayoutCreateFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorSetLayoutCreateFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkDescriptorSetLayoutCreateFlagBits")] pub struct DescriptorSetLayoutCreateFlagBits(u32); impl DescriptorSetLayoutCreateFlagBits { @@ -5294,6 +5426,10 @@ impl DescriptorSetLayoutCreateFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(247u32) + } ///Bit 1. pub const UPDATE_AFTER_BIND_POOL: Self = Self(2u32); ///Bit 0. @@ -5430,7 +5566,7 @@ impl core::fmt::Debug for DescriptorSetLayoutCreateFlagBits { } ///[`VkDeviceAddressBindingFlagBitsEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceAddressBindingFlagBitsEXT.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkDeviceAddressBindingFlagBitsEXT")] pub struct DeviceAddressBindingFlagBitsEXT(u32); impl DeviceAddressBindingFlagBitsEXT { @@ -5454,6 +5590,10 @@ impl DeviceAddressBindingFlagBitsEXT { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(1u32) + } ///Bit 0. pub const INTERNAL_OBJECT: Self = Self(1u32); } @@ -5529,7 +5669,7 @@ impl core::fmt::Debug for DeviceAddressBindingFlagBitsEXT { } ///[`VkDeviceDiagnosticsConfigFlagBitsNV`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceDiagnosticsConfigFlagBitsNV.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkDeviceDiagnosticsConfigFlagBitsNV")] pub struct DeviceDiagnosticsConfigFlagBitsNV(u32); impl DeviceDiagnosticsConfigFlagBitsNV { @@ -5553,6 +5693,10 @@ impl DeviceDiagnosticsConfigFlagBitsNV { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(15u32) + } ///Bit 0. pub const ENABLE_SHADER_DEBUG_INFO: Self = Self(1u32); ///Bit 1. @@ -5658,7 +5802,7 @@ impl core::fmt::Debug for DeviceDiagnosticsConfigFlagBitsNV { } ///[`VkDeviceFaultFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceFaultFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkDeviceFaultFlagBitsKHR")] pub struct DeviceFaultFlagBitsKHR(u32); impl DeviceFaultFlagBitsKHR { @@ -5682,6 +5826,10 @@ impl DeviceFaultFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(63u32) + } ///Bit 0. pub const FLAG_DEVICE_LOST: Self = Self(1u32); ///Bit 1. @@ -5807,7 +5955,7 @@ impl core::fmt::Debug for DeviceFaultFlagBitsKHR { } ///[`VkDeviceGroupPresentModeFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceGroupPresentModeFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkDeviceGroupPresentModeFlagBitsKHR")] pub struct DeviceGroupPresentModeFlagBitsKHR(u32); impl DeviceGroupPresentModeFlagBitsKHR { @@ -5831,6 +5979,10 @@ impl DeviceGroupPresentModeFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(15u32) + } ///Bit 0. pub const LOCAL: Self = Self(1u32); ///Bit 1. @@ -5936,7 +6088,7 @@ impl core::fmt::Debug for DeviceGroupPresentModeFlagBitsKHR { } ///[`VkDeviceQueueCreateFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceQueueCreateFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkDeviceQueueCreateFlagBits")] pub struct DeviceQueueCreateFlagBits(u32); impl DeviceQueueCreateFlagBits { @@ -5960,6 +6112,10 @@ impl DeviceQueueCreateFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(5u32) + } ///Bit 0. pub const PROTECTED: Self = Self(1u32); ///Bit 2. @@ -6045,7 +6201,7 @@ impl core::fmt::Debug for DeviceQueueCreateFlagBits { } ///[`VkDisplayPlaneAlphaFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkDisplayPlaneAlphaFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkDisplayPlaneAlphaFlagBitsKHR")] pub struct DisplayPlaneAlphaFlagBitsKHR(u32); impl DisplayPlaneAlphaFlagBitsKHR { @@ -6069,6 +6225,10 @@ impl DisplayPlaneAlphaFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(15u32) + } ///Bit 0. pub const OPAQUE: Self = Self(1u32); ///Bit 1. @@ -6174,7 +6334,7 @@ impl core::fmt::Debug for DisplayPlaneAlphaFlagBitsKHR { } ///[`VkEventCreateFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkEventCreateFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkEventCreateFlagBits")] pub struct EventCreateFlagBits(u32); impl EventCreateFlagBits { @@ -6198,6 +6358,10 @@ impl EventCreateFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(1u32) + } ///Bit 0. pub const DEVICE_ONLY: Self = Self(1u32); } @@ -6273,7 +6437,7 @@ impl core::fmt::Debug for EventCreateFlagBits { } ///[`VkExportMetalObjectTypeFlagBitsEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkExportMetalObjectTypeFlagBitsEXT.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkExportMetalObjectTypeFlagBitsEXT")] pub struct ExportMetalObjectTypeFlagBitsEXT(u32); impl ExportMetalObjectTypeFlagBitsEXT { @@ -6297,6 +6461,10 @@ impl ExportMetalObjectTypeFlagBitsEXT { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(63u32) + } ///Bit 0. pub const METAL_DEVICE: Self = Self(1u32); ///Bit 1. @@ -6422,7 +6590,7 @@ impl core::fmt::Debug for ExportMetalObjectTypeFlagBitsEXT { } ///[`VkExternalFenceFeatureFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalFenceFeatureFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkExternalFenceFeatureFlagBits")] pub struct ExternalFenceFeatureFlagBits(u32); impl ExternalFenceFeatureFlagBits { @@ -6446,6 +6614,10 @@ impl ExternalFenceFeatureFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(3u32) + } ///Bit 0. pub const EXPORTABLE: Self = Self(1u32); ///Bit 1. @@ -6531,7 +6703,7 @@ impl core::fmt::Debug for ExternalFenceFeatureFlagBits { } ///[`VkExternalFenceHandleTypeFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalFenceHandleTypeFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkExternalFenceHandleTypeFlagBits")] pub struct ExternalFenceHandleTypeFlagBits(u32); impl ExternalFenceHandleTypeFlagBits { @@ -6555,6 +6727,10 @@ impl ExternalFenceHandleTypeFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(15u32) + } ///Bit 0. pub const OPAQUE_FD: Self = Self(1u32); ///Bit 1. @@ -6660,7 +6836,7 @@ impl core::fmt::Debug for ExternalFenceHandleTypeFlagBits { } ///[`VkExternalMemoryFeatureFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalMemoryFeatureFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkExternalMemoryFeatureFlagBits")] pub struct ExternalMemoryFeatureFlagBits(u32); impl ExternalMemoryFeatureFlagBits { @@ -6684,6 +6860,10 @@ impl ExternalMemoryFeatureFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(7u32) + } ///Bit 0. pub const DEDICATED_ONLY: Self = Self(1u32); ///Bit 1. @@ -6779,7 +6959,7 @@ impl core::fmt::Debug for ExternalMemoryFeatureFlagBits { } ///[`VkExternalMemoryFeatureFlagBitsNV`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalMemoryFeatureFlagBitsNV.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkExternalMemoryFeatureFlagBitsNV")] pub struct ExternalMemoryFeatureFlagBitsNV(u32); impl ExternalMemoryFeatureFlagBitsNV { @@ -6803,6 +6983,10 @@ impl ExternalMemoryFeatureFlagBitsNV { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(7u32) + } ///Bit 0. pub const DEDICATED_ONLY: Self = Self(1u32); ///Bit 1. @@ -6898,7 +7082,7 @@ impl core::fmt::Debug for ExternalMemoryFeatureFlagBitsNV { } ///[`VkExternalMemoryHandleTypeFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalMemoryHandleTypeFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkExternalMemoryHandleTypeFlagBits")] pub struct ExternalMemoryHandleTypeFlagBits(u32); impl ExternalMemoryHandleTypeFlagBits { @@ -6922,6 +7106,10 @@ impl ExternalMemoryHandleTypeFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(516095u32) + } ///Bit 0. pub const OPAQUE_FD: Self = Self(1u32); ///Bit 1. @@ -7167,7 +7355,7 @@ impl core::fmt::Debug for ExternalMemoryHandleTypeFlagBits { } ///[`VkExternalMemoryHandleTypeFlagBitsNV`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalMemoryHandleTypeFlagBitsNV.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkExternalMemoryHandleTypeFlagBitsNV")] pub struct ExternalMemoryHandleTypeFlagBitsNV(u32); impl ExternalMemoryHandleTypeFlagBitsNV { @@ -7191,6 +7379,10 @@ impl ExternalMemoryHandleTypeFlagBitsNV { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(15u32) + } ///Bit 0. pub const OPAQUE_WIN32: Self = Self(1u32); ///Bit 1. @@ -7296,7 +7488,7 @@ impl core::fmt::Debug for ExternalMemoryHandleTypeFlagBitsNV { } ///[`VkExternalSemaphoreFeatureFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalSemaphoreFeatureFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkExternalSemaphoreFeatureFlagBits")] pub struct ExternalSemaphoreFeatureFlagBits(u32); impl ExternalSemaphoreFeatureFlagBits { @@ -7320,6 +7512,10 @@ impl ExternalSemaphoreFeatureFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(3u32) + } ///Bit 0. pub const EXPORTABLE: Self = Self(1u32); ///Bit 1. @@ -7405,7 +7601,7 @@ impl core::fmt::Debug for ExternalSemaphoreFeatureFlagBits { } ///[`VkExternalSemaphoreHandleTypeFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkExternalSemaphoreHandleTypeFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkExternalSemaphoreHandleTypeFlagBits")] pub struct ExternalSemaphoreHandleTypeFlagBits(u32); impl ExternalSemaphoreHandleTypeFlagBits { @@ -7429,6 +7625,10 @@ impl ExternalSemaphoreHandleTypeFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(159u32) + } ///Bit 0. pub const OPAQUE_FD: Self = Self(1u32); ///Bit 1. @@ -7555,7 +7755,7 @@ impl core::fmt::Debug for ExternalSemaphoreHandleTypeFlagBits { } ///[`VkFenceCreateFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkFenceCreateFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkFenceCreateFlagBits")] pub struct FenceCreateFlagBits(u32); impl FenceCreateFlagBits { @@ -7579,6 +7779,10 @@ impl FenceCreateFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(1u32) + } ///Bit 0. pub const SIGNALED: Self = Self(1u32); } @@ -7654,7 +7858,7 @@ impl core::fmt::Debug for FenceCreateFlagBits { } ///[`VkFenceImportFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkFenceImportFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkFenceImportFlagBits")] pub struct FenceImportFlagBits(u32); impl FenceImportFlagBits { @@ -7678,6 +7882,10 @@ impl FenceImportFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(1u32) + } ///Bit 0. pub const TEMPORARY: Self = Self(1u32); } @@ -7753,7 +7961,7 @@ impl core::fmt::Debug for FenceImportFlagBits { } ///[`VkFormatFeatureFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkFormatFeatureFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkFormatFeatureFlagBits")] pub struct FormatFeatureFlagBits(u32); impl FormatFeatureFlagBits { @@ -7777,6 +7985,10 @@ impl FormatFeatureFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(2147483647u32) + } ///Bit 0. pub const SAMPLED_IMAGE: Self = Self(1u32); ///Bit 1. @@ -8178,7 +8390,7 @@ impl core::fmt::Debug for FormatFeatureFlagBits { } ///[`VkFormatFeatureFlagBits2`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkFormatFeatureFlagBits2.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkFormatFeatureFlagBits2")] pub struct FormatFeatureFlagBits2(u64); impl FormatFeatureFlagBits2 { @@ -8202,6 +8414,10 @@ impl FormatFeatureFlagBits2 { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(648324832294862847u64) + } ///Bit 0. pub const _2_SAMPLED_IMAGE: Self = Self(1u64); ///Bit 1. @@ -8834,7 +9050,7 @@ impl core::fmt::Debug for FormatFeatureFlagBits2 { } ///[`VkFrameBoundaryFlagBitsEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkFrameBoundaryFlagBitsEXT.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkFrameBoundaryFlagBitsEXT")] pub struct FrameBoundaryFlagBitsEXT(u32); impl FrameBoundaryFlagBitsEXT { @@ -8858,6 +9074,10 @@ impl FrameBoundaryFlagBitsEXT { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(1u32) + } ///Bit 0. pub const FRAME_END: Self = Self(1u32); } @@ -8933,7 +9153,7 @@ impl core::fmt::Debug for FrameBoundaryFlagBitsEXT { } ///[`VkFramebufferCreateFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkFramebufferCreateFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkFramebufferCreateFlagBits")] pub struct FramebufferCreateFlagBits(u32); impl FramebufferCreateFlagBits { @@ -8957,6 +9177,10 @@ impl FramebufferCreateFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(1u32) + } ///Bit 0. pub const IMAGELESS: Self = Self(1u32); } @@ -9032,7 +9256,7 @@ impl core::fmt::Debug for FramebufferCreateFlagBits { } ///[`VkGeometryFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkGeometryFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkGeometryFlagBitsKHR")] pub struct GeometryFlagBitsKHR(u32); impl GeometryFlagBitsKHR { @@ -9056,6 +9280,10 @@ impl GeometryFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(3u32) + } ///Bit 0. pub const OPAQUE: Self = Self(1u32); ///Bit 1. @@ -9141,7 +9369,7 @@ impl core::fmt::Debug for GeometryFlagBitsKHR { } ///[`VkGeometryInstanceFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkGeometryInstanceFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkGeometryInstanceFlagBitsKHR")] pub struct GeometryInstanceFlagBitsKHR(u32); impl GeometryInstanceFlagBitsKHR { @@ -9165,6 +9393,10 @@ impl GeometryInstanceFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(63u32) + } ///Bit 0. pub const TRIANGLE_FACING_CULL_DISABLE: Self = Self(1u32); ///Bit 1. @@ -9292,7 +9524,7 @@ impl core::fmt::Debug for GeometryInstanceFlagBitsKHR { } ///[`VkGraphicsPipelineLibraryFlagBitsEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkGraphicsPipelineLibraryFlagBitsEXT.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkGraphicsPipelineLibraryFlagBitsEXT")] pub struct GraphicsPipelineLibraryFlagBitsEXT(u32); impl GraphicsPipelineLibraryFlagBitsEXT { @@ -9316,6 +9548,10 @@ impl GraphicsPipelineLibraryFlagBitsEXT { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(15u32) + } ///Bit 0. pub const VERTEX_INPUT_INTERFACE: Self = Self(1u32); ///Bit 1. @@ -9421,7 +9657,7 @@ impl core::fmt::Debug for GraphicsPipelineLibraryFlagBitsEXT { } ///[`VkHostImageCopyFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkHostImageCopyFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkHostImageCopyFlagBits")] pub struct HostImageCopyFlagBits(u32); impl HostImageCopyFlagBits { @@ -9445,6 +9681,10 @@ impl HostImageCopyFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(1u32) + } ///Bit 0. pub const MEMCPY: Self = Self(1u32); } @@ -9520,7 +9760,7 @@ impl core::fmt::Debug for HostImageCopyFlagBits { } ///[`VkImageAspectFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageAspectFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkImageAspectFlagBits")] pub struct ImageAspectFlagBits(u32); impl ImageAspectFlagBits { @@ -9544,6 +9784,10 @@ impl ImageAspectFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(2047u32) + } ///Bit 0. pub const COLOR: Self = Self(1u32); ///Bit 1. @@ -9720,7 +9964,7 @@ impl core::fmt::Debug for ImageAspectFlagBits { } ///[`VkImageCompressionFixedRateFlagBitsEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageCompressionFixedRateFlagBitsEXT.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkImageCompressionFixedRateFlagBitsEXT")] pub struct ImageCompressionFixedRateFlagBitsEXT(u32); impl ImageCompressionFixedRateFlagBitsEXT { @@ -9744,6 +9988,10 @@ impl ImageCompressionFixedRateFlagBitsEXT { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(16777215u32) + } pub const NONE: Self = Self(0u32); ///Bit 0. pub const _1BPC: Self = Self(1u32); @@ -10050,7 +10298,7 @@ impl core::fmt::Debug for ImageCompressionFixedRateFlagBitsEXT { } ///[`VkImageCompressionFlagBitsEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageCompressionFlagBitsEXT.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkImageCompressionFlagBitsEXT")] pub struct ImageCompressionFlagBitsEXT(u32); impl ImageCompressionFlagBitsEXT { @@ -10074,6 +10322,10 @@ impl ImageCompressionFlagBitsEXT { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(7u32) + } pub const DEFAULT: Self = Self(0u32); ///Bit 0. pub const FIXED_RATE_DEFAULT: Self = Self(1u32); @@ -10170,7 +10422,7 @@ impl core::fmt::Debug for ImageCompressionFlagBitsEXT { } ///[`VkImageConstraintsInfoFlagBitsFUCHSIA`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageConstraintsInfoFlagBitsFUCHSIA.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkImageConstraintsInfoFlagBitsFUCHSIA")] pub struct ImageConstraintsInfoFlagBitsFUCHSIA(u32); impl ImageConstraintsInfoFlagBitsFUCHSIA { @@ -10194,6 +10446,10 @@ impl ImageConstraintsInfoFlagBitsFUCHSIA { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(31u32) + } ///Bit 0. pub const CPU_READ_RARELY: Self = Self(1u32); ///Bit 1. @@ -10309,7 +10565,7 @@ impl core::fmt::Debug for ImageConstraintsInfoFlagBitsFUCHSIA { } ///[`VkImageCreateFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageCreateFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkImageCreateFlagBits")] pub struct ImageCreateFlagBits(u32); impl ImageCreateFlagBits { @@ -10333,6 +10589,10 @@ impl ImageCreateFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(1572863u32) + } ///Bit 0. pub const SPARSE_BINDING: Self = Self(1u32); ///Bit 1. @@ -10600,7 +10860,7 @@ impl core::fmt::Debug for ImageCreateFlagBits { } ///[`VkImageFormatConstraintsFlagBitsFUCHSIA`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageFormatConstraintsFlagBitsFUCHSIA.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkImageFormatConstraintsFlagBitsFUCHSIA")] pub struct ImageFormatConstraintsFlagBitsFUCHSIA(u32); impl ImageFormatConstraintsFlagBitsFUCHSIA { @@ -10624,6 +10884,10 @@ impl ImageFormatConstraintsFlagBitsFUCHSIA { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(0u32) + } } impl core::ops::BitOr for ImageFormatConstraintsFlagBitsFUCHSIA { type Output = Self; @@ -10689,7 +10953,7 @@ impl core::fmt::Debug for ImageFormatConstraintsFlagBitsFUCHSIA { } ///[`VkImageUsageFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageUsageFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkImageUsageFlagBits")] pub struct ImageUsageFlagBits(u32); impl ImageUsageFlagBits { @@ -10713,6 +10977,10 @@ impl ImageUsageFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(251461631u32) + } ///Bit 0. pub const TRANSFER_SRC: Self = Self(1u32); ///Bit 1. @@ -11029,7 +11297,7 @@ impl core::fmt::Debug for ImageUsageFlagBits { } ///[`VkImageViewCreateFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageViewCreateFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkImageViewCreateFlagBits")] pub struct ImageViewCreateFlagBits(u32); impl ImageViewCreateFlagBits { @@ -11053,6 +11321,10 @@ impl ImageViewCreateFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(7u32) + } ///Bit 0. pub const FRAGMENT_DENSITY_MAP_DYNAMIC: Self = Self(1u32); ///Bit 2. @@ -11148,7 +11420,7 @@ impl core::fmt::Debug for ImageViewCreateFlagBits { } ///[`VkIndirectCommandsInputModeFlagBitsEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkIndirectCommandsInputModeFlagBitsEXT.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkIndirectCommandsInputModeFlagBitsEXT")] pub struct IndirectCommandsInputModeFlagBitsEXT(u32); impl IndirectCommandsInputModeFlagBitsEXT { @@ -11172,6 +11444,10 @@ impl IndirectCommandsInputModeFlagBitsEXT { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(3u32) + } ///Bit 0. pub const VULKAN_INDEX_BUFFER: Self = Self(1u32); ///Bit 1. @@ -11257,7 +11533,7 @@ impl core::fmt::Debug for IndirectCommandsInputModeFlagBitsEXT { } ///[`VkIndirectCommandsLayoutUsageFlagBitsEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkIndirectCommandsLayoutUsageFlagBitsEXT.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkIndirectCommandsLayoutUsageFlagBitsEXT")] pub struct IndirectCommandsLayoutUsageFlagBitsEXT(u32); impl IndirectCommandsLayoutUsageFlagBitsEXT { @@ -11281,6 +11557,10 @@ impl IndirectCommandsLayoutUsageFlagBitsEXT { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(3u32) + } ///Bit 0. pub const EXPLICIT_PREPROCESS: Self = Self(1u32); ///Bit 1. @@ -11366,7 +11646,7 @@ impl core::fmt::Debug for IndirectCommandsLayoutUsageFlagBitsEXT { } ///[`VkIndirectCommandsLayoutUsageFlagBitsNV`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkIndirectCommandsLayoutUsageFlagBitsNV.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkIndirectCommandsLayoutUsageFlagBitsNV")] pub struct IndirectCommandsLayoutUsageFlagBitsNV(u32); impl IndirectCommandsLayoutUsageFlagBitsNV { @@ -11390,6 +11670,10 @@ impl IndirectCommandsLayoutUsageFlagBitsNV { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(7u32) + } ///Bit 0. pub const EXPLICIT_PREPROCESS: Self = Self(1u32); ///Bit 1. @@ -11485,7 +11769,7 @@ impl core::fmt::Debug for IndirectCommandsLayoutUsageFlagBitsNV { } ///[`VkIndirectStateFlagBitsNV`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkIndirectStateFlagBitsNV.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkIndirectStateFlagBitsNV")] pub struct IndirectStateFlagBitsNV(u32); impl IndirectStateFlagBitsNV { @@ -11509,6 +11793,10 @@ impl IndirectStateFlagBitsNV { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(1u32) + } ///Bit 0. pub const FLAG_FRONTFACE: Self = Self(1u32); } @@ -11584,7 +11872,7 @@ impl core::fmt::Debug for IndirectStateFlagBitsNV { } ///[`VkInstanceCreateFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkInstanceCreateFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkInstanceCreateFlagBits")] pub struct InstanceCreateFlagBits(u32); impl InstanceCreateFlagBits { @@ -11608,6 +11896,10 @@ impl InstanceCreateFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(1u32) + } ///Bit 0. pub const ENUMERATE_PORTABILITY: Self = Self(1u32); } @@ -11683,7 +11975,7 @@ impl core::fmt::Debug for InstanceCreateFlagBits { } ///[`VkMemoryAllocateFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkMemoryAllocateFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkMemoryAllocateFlagBits")] pub struct MemoryAllocateFlagBits(u32); impl MemoryAllocateFlagBits { @@ -11707,6 +11999,10 @@ impl MemoryAllocateFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(15u32) + } ///Bit 0. pub const DEVICE_MASK: Self = Self(1u32); ///Bit 1. @@ -11812,7 +12108,7 @@ impl core::fmt::Debug for MemoryAllocateFlagBits { } ///[`VkMemoryDecompressionMethodFlagBitsEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkMemoryDecompressionMethodFlagBitsEXT.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkMemoryDecompressionMethodFlagBitsEXT")] pub struct MemoryDecompressionMethodFlagBitsEXT(u64); impl MemoryDecompressionMethodFlagBitsEXT { @@ -11836,6 +12132,10 @@ impl MemoryDecompressionMethodFlagBitsEXT { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(1u64) + } ///Bit 0. pub const GDEFLATE_1_0: Self = Self(1u64); } @@ -11911,7 +12211,7 @@ impl core::fmt::Debug for MemoryDecompressionMethodFlagBitsEXT { } ///[`VkMemoryHeapFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkMemoryHeapFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkMemoryHeapFlagBits")] pub struct MemoryHeapFlagBits(u32); impl MemoryHeapFlagBits { @@ -11935,6 +12235,10 @@ impl MemoryHeapFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(15u32) + } ///Bit 0. pub const DEVICE_LOCAL: Self = Self(1u32); ///Bit 1. @@ -12040,7 +12344,7 @@ impl core::fmt::Debug for MemoryHeapFlagBits { } ///[`VkMemoryMapFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkMemoryMapFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkMemoryMapFlagBits")] pub struct MemoryMapFlagBits(u32); impl MemoryMapFlagBits { @@ -12064,6 +12368,10 @@ impl MemoryMapFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(1u32) + } ///Bit 0. pub const PLACED: Self = Self(1u32); } @@ -12139,7 +12447,7 @@ impl core::fmt::Debug for MemoryMapFlagBits { } ///[`VkMemoryPropertyFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkMemoryPropertyFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkMemoryPropertyFlagBits")] pub struct MemoryPropertyFlagBits(u32); impl MemoryPropertyFlagBits { @@ -12163,6 +12471,10 @@ impl MemoryPropertyFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(511u32) + } ///Bit 0. pub const DEVICE_LOCAL: Self = Self(1u32); ///Bit 1. @@ -12318,7 +12630,7 @@ impl core::fmt::Debug for MemoryPropertyFlagBits { } ///[`VkMemoryUnmapFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkMemoryUnmapFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkMemoryUnmapFlagBits")] pub struct MemoryUnmapFlagBits(u32); impl MemoryUnmapFlagBits { @@ -12342,6 +12654,10 @@ impl MemoryUnmapFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(1u32) + } ///Bit 0. pub const RESERVE: Self = Self(1u32); } @@ -12417,7 +12733,7 @@ impl core::fmt::Debug for MemoryUnmapFlagBits { } ///[`VkMicromapCreateFlagBitsEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkMicromapCreateFlagBitsEXT.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkMicromapCreateFlagBitsEXT")] pub struct MicromapCreateFlagBitsEXT(u32); impl MicromapCreateFlagBitsEXT { @@ -12441,6 +12757,10 @@ impl MicromapCreateFlagBitsEXT { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(1u32) + } ///Bit 0. pub const DEVICE_ADDRESS_CAPTURE_REPLAY: Self = Self(1u32); } @@ -12516,7 +12836,7 @@ impl core::fmt::Debug for MicromapCreateFlagBitsEXT { } ///[`VkOpticalFlowExecuteFlagBitsNV`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkOpticalFlowExecuteFlagBitsNV.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkOpticalFlowExecuteFlagBitsNV")] pub struct OpticalFlowExecuteFlagBitsNV(u32); impl OpticalFlowExecuteFlagBitsNV { @@ -12540,6 +12860,10 @@ impl OpticalFlowExecuteFlagBitsNV { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(1u32) + } ///Bit 0. pub const DISABLE_TEMPORAL_HINTS: Self = Self(1u32); } @@ -12615,7 +12939,7 @@ impl core::fmt::Debug for OpticalFlowExecuteFlagBitsNV { } ///[`VkOpticalFlowGridSizeFlagBitsNV`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkOpticalFlowGridSizeFlagBitsNV.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkOpticalFlowGridSizeFlagBitsNV")] pub struct OpticalFlowGridSizeFlagBitsNV(u32); impl OpticalFlowGridSizeFlagBitsNV { @@ -12639,6 +12963,10 @@ impl OpticalFlowGridSizeFlagBitsNV { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(15u32) + } pub const UNKNOWN: Self = Self(0u32); ///Bit 0. pub const _1X1: Self = Self(1u32); @@ -12745,7 +13073,7 @@ impl core::fmt::Debug for OpticalFlowGridSizeFlagBitsNV { } ///[`VkOpticalFlowSessionCreateFlagBitsNV`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkOpticalFlowSessionCreateFlagBitsNV.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkOpticalFlowSessionCreateFlagBitsNV")] pub struct OpticalFlowSessionCreateFlagBitsNV(u32); impl OpticalFlowSessionCreateFlagBitsNV { @@ -12769,6 +13097,10 @@ impl OpticalFlowSessionCreateFlagBitsNV { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(31u32) + } ///Bit 0. pub const ENABLE_HINT: Self = Self(1u32); ///Bit 1. @@ -12884,7 +13216,7 @@ impl core::fmt::Debug for OpticalFlowSessionCreateFlagBitsNV { } ///[`VkOpticalFlowUsageFlagBitsNV`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkOpticalFlowUsageFlagBitsNV.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkOpticalFlowUsageFlagBitsNV")] pub struct OpticalFlowUsageFlagBitsNV(u32); impl OpticalFlowUsageFlagBitsNV { @@ -12908,6 +13240,10 @@ impl OpticalFlowUsageFlagBitsNV { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(31u32) + } pub const UNKNOWN: Self = Self(0u32); ///Bit 0. pub const INPUT: Self = Self(1u32); @@ -13024,7 +13360,7 @@ impl core::fmt::Debug for OpticalFlowUsageFlagBitsNV { } ///[`VkPartitionedAccelerationStructureInstanceFlagBitsNV`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPartitionedAccelerationStructureInstanceFlagBitsNV.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkPartitionedAccelerationStructureInstanceFlagBitsNV")] pub struct PartitionedAccelerationStructureInstanceFlagBitsNV(u32); impl PartitionedAccelerationStructureInstanceFlagBitsNV { @@ -13048,6 +13384,10 @@ impl PartitionedAccelerationStructureInstanceFlagBitsNV { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(31u32) + } ///Bit 0. pub const FLAG_TRIANGLE_FACING_CULL_DISABLE: Self = Self(1u32); ///Bit 1. @@ -13163,7 +13503,7 @@ impl core::fmt::Debug for PartitionedAccelerationStructureInstanceFlagBitsNV { } ///[`VkPastPresentationTimingFlagBitsEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPastPresentationTimingFlagBitsEXT.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkPastPresentationTimingFlagBitsEXT")] pub struct PastPresentationTimingFlagBitsEXT(u32); impl PastPresentationTimingFlagBitsEXT { @@ -13187,6 +13527,10 @@ impl PastPresentationTimingFlagBitsEXT { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(3u32) + } ///Bit 0. pub const ALLOW_PARTIAL_RESULTS: Self = Self(1u32); ///Bit 1. @@ -13272,7 +13616,7 @@ impl core::fmt::Debug for PastPresentationTimingFlagBitsEXT { } ///[`VkPeerMemoryFeatureFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPeerMemoryFeatureFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkPeerMemoryFeatureFlagBits")] pub struct PeerMemoryFeatureFlagBits(u32); impl PeerMemoryFeatureFlagBits { @@ -13296,6 +13640,10 @@ impl PeerMemoryFeatureFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(15u32) + } ///Bit 0. pub const COPY_SRC: Self = Self(1u32); ///Bit 1. @@ -13401,7 +13749,7 @@ impl core::fmt::Debug for PeerMemoryFeatureFlagBits { } ///[`VkPerformanceCounterDescriptionFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPerformanceCounterDescriptionFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkPerformanceCounterDescriptionFlagBitsKHR")] pub struct PerformanceCounterDescriptionFlagBitsKHR(u32); impl PerformanceCounterDescriptionFlagBitsKHR { @@ -13425,6 +13773,10 @@ impl PerformanceCounterDescriptionFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(3u32) + } ///Bit 0. pub const PERFORMANCE_IMPACTING: Self = Self(1u32); ///Bit 1. @@ -13510,7 +13862,7 @@ impl core::fmt::Debug for PerformanceCounterDescriptionFlagBitsKHR { } ///[`VkPhysicalDeviceSchedulingControlsFlagBitsARM`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceSchedulingControlsFlagBitsARM.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkPhysicalDeviceSchedulingControlsFlagBitsARM")] pub struct PhysicalDeviceSchedulingControlsFlagBitsARM(u64); impl PhysicalDeviceSchedulingControlsFlagBitsARM { @@ -13534,6 +13886,10 @@ impl PhysicalDeviceSchedulingControlsFlagBitsARM { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(1u64) + } ///Bit 0. pub const SHADER_CORE_COUNT: Self = Self(1u64); } @@ -13609,7 +13965,7 @@ impl core::fmt::Debug for PhysicalDeviceSchedulingControlsFlagBitsARM { } ///[`VkPipelineCacheCreateFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineCacheCreateFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkPipelineCacheCreateFlagBits")] pub struct PipelineCacheCreateFlagBits(u32); impl PipelineCacheCreateFlagBits { @@ -13633,6 +13989,10 @@ impl PipelineCacheCreateFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(15u32) + } ///Bit 0. pub const EXTERNALLY_SYNCHRONIZED: Self = Self(1u32); ///Bit 1. @@ -13738,7 +14098,7 @@ impl core::fmt::Debug for PipelineCacheCreateFlagBits { } ///[`VkPipelineColorBlendStateCreateFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineColorBlendStateCreateFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkPipelineColorBlendStateCreateFlagBits")] pub struct PipelineColorBlendStateCreateFlagBits(u32); impl PipelineColorBlendStateCreateFlagBits { @@ -13762,6 +14122,10 @@ impl PipelineColorBlendStateCreateFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(1u32) + } pub const RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT: Self = Self::RASTERIZATION_ORDER_ATTACHMENT_ACCESS; ///Bit 0. pub const RASTERIZATION_ORDER_ATTACHMENT_ACCESS: Self = Self(1u32); @@ -13838,7 +14202,7 @@ impl core::fmt::Debug for PipelineColorBlendStateCreateFlagBits { } ///[`VkPipelineCompilerControlFlagBitsAMD`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineCompilerControlFlagBitsAMD.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkPipelineCompilerControlFlagBitsAMD")] pub struct PipelineCompilerControlFlagBitsAMD(u32); impl PipelineCompilerControlFlagBitsAMD { @@ -13862,6 +14226,10 @@ impl PipelineCompilerControlFlagBitsAMD { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(0u32) + } } impl core::ops::BitOr for PipelineCompilerControlFlagBitsAMD { type Output = Self; @@ -13927,7 +14295,7 @@ impl core::fmt::Debug for PipelineCompilerControlFlagBitsAMD { } ///[`VkPipelineCreateFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineCreateFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkPipelineCreateFlagBits")] pub struct PipelineCreateFlagBits(u32); impl PipelineCreateFlagBits { @@ -13951,6 +14319,10 @@ impl PipelineCreateFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(2147483647u32) + } ///Bit 0. pub const DISABLE_OPTIMIZATION: Self = Self(1u32); ///Bit 1. @@ -14328,7 +14700,7 @@ impl core::fmt::Debug for PipelineCreateFlagBits { } ///[`VkPipelineCreateFlagBits2`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineCreateFlagBits2.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkPipelineCreateFlagBits2")] pub struct PipelineCreateFlagBits2(u64); impl PipelineCreateFlagBits2 { @@ -14352,6 +14724,10 @@ impl PipelineCreateFlagBits2 { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(10685878632447u64) + } ///Bit 0. pub const _2_DISABLE_OPTIMIZATION: Self = Self(1u64); ///Bit 1. @@ -14821,7 +15197,7 @@ impl core::fmt::Debug for PipelineCreateFlagBits2 { } ///[`VkPipelineCreationFeedbackFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineCreationFeedbackFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkPipelineCreationFeedbackFlagBits")] pub struct PipelineCreationFeedbackFlagBits(u32); impl PipelineCreationFeedbackFlagBits { @@ -14845,6 +15221,10 @@ impl PipelineCreationFeedbackFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(7u32) + } ///Bit 0. pub const VALID: Self = Self(1u32); ///Bit 1. @@ -14940,7 +15320,7 @@ impl core::fmt::Debug for PipelineCreationFeedbackFlagBits { } ///[`VkPipelineDepthStencilStateCreateFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineDepthStencilStateCreateFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkPipelineDepthStencilStateCreateFlagBits")] pub struct PipelineDepthStencilStateCreateFlagBits(u32); impl PipelineDepthStencilStateCreateFlagBits { @@ -14964,6 +15344,10 @@ impl PipelineDepthStencilStateCreateFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(3u32) + } pub const RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT: Self = Self::RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS; pub const RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT: Self = Self::RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS; ///Bit 0. @@ -15051,7 +15435,7 @@ impl core::fmt::Debug for PipelineDepthStencilStateCreateFlagBits { } ///[`VkPipelineLayoutCreateFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineLayoutCreateFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkPipelineLayoutCreateFlagBits")] pub struct PipelineLayoutCreateFlagBits(u32); impl PipelineLayoutCreateFlagBits { @@ -15075,6 +15459,10 @@ impl PipelineLayoutCreateFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(2u32) + } ///Bit 1. pub const INDEPENDENT_SETS: Self = Self(2u32); } @@ -15150,7 +15538,7 @@ impl core::fmt::Debug for PipelineLayoutCreateFlagBits { } ///[`VkPipelineShaderStageCreateFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineShaderStageCreateFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkPipelineShaderStageCreateFlagBits")] pub struct PipelineShaderStageCreateFlagBits(u32); impl PipelineShaderStageCreateFlagBits { @@ -15174,6 +15562,10 @@ impl PipelineShaderStageCreateFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(3u32) + } ///Bit 0. pub const ALLOW_VARYING_SUBGROUP_SIZE: Self = Self(1u32); ///Bit 1. @@ -15259,7 +15651,7 @@ impl core::fmt::Debug for PipelineShaderStageCreateFlagBits { } ///[`VkPipelineStageFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineStageFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkPipelineStageFlagBits")] pub struct PipelineStageFlagBits(u32); impl PipelineStageFlagBits { @@ -15283,6 +15675,10 @@ impl PipelineStageFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(65404927u32) + } ///Bit 0. pub const TOP_OF_PIPE: Self = Self(1u32); ///Bit 1. @@ -15580,7 +15976,7 @@ impl core::fmt::Debug for PipelineStageFlagBits { } ///[`VkPipelineStageFlagBits2`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineStageFlagBits2.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkPipelineStageFlagBits2")] pub struct PipelineStageFlagBits2(u64); impl PipelineStageFlagBits2 { @@ -15604,6 +16000,10 @@ impl PipelineStageFlagBits2 { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(131939246145535u64) + } pub const _2_NONE: Self = Self(0u64); ///Bit 0. pub const _2_TOP_OF_PIPE: Self = Self(1u64); @@ -16093,7 +16493,7 @@ impl core::fmt::Debug for PipelineStageFlagBits2 { } ///[`VkPresentGravityFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPresentGravityFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkPresentGravityFlagBitsKHR")] pub struct PresentGravityFlagBitsKHR(u32); impl PresentGravityFlagBitsKHR { @@ -16117,6 +16517,10 @@ impl PresentGravityFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(7u32) + } ///Bit 0. pub const MIN: Self = Self(1u32); ///Bit 1. @@ -16212,7 +16616,7 @@ impl core::fmt::Debug for PresentGravityFlagBitsKHR { } ///[`VkPresentScalingFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPresentScalingFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkPresentScalingFlagBitsKHR")] pub struct PresentScalingFlagBitsKHR(u32); impl PresentScalingFlagBitsKHR { @@ -16236,6 +16640,10 @@ impl PresentScalingFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(7u32) + } ///Bit 0. pub const ONE_TO_ONE: Self = Self(1u32); ///Bit 1. @@ -16331,7 +16739,7 @@ impl core::fmt::Debug for PresentScalingFlagBitsKHR { } ///[`VkPresentStageFlagBitsEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPresentStageFlagBitsEXT.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkPresentStageFlagBitsEXT")] pub struct PresentStageFlagBitsEXT(u32); impl PresentStageFlagBitsEXT { @@ -16355,6 +16763,10 @@ impl PresentStageFlagBitsEXT { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(15u32) + } ///Bit 0. pub const QUEUE_OPERATIONS_END: Self = Self(1u32); ///Bit 1. @@ -16460,7 +16872,7 @@ impl core::fmt::Debug for PresentStageFlagBitsEXT { } ///[`VkPresentTimingInfoFlagBitsEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPresentTimingInfoFlagBitsEXT.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkPresentTimingInfoFlagBitsEXT")] pub struct PresentTimingInfoFlagBitsEXT(u32); impl PresentTimingInfoFlagBitsEXT { @@ -16484,6 +16896,10 @@ impl PresentTimingInfoFlagBitsEXT { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(3u32) + } ///Bit 0. pub const PRESENT_AT_RELATIVE_TIME: Self = Self(1u32); ///Bit 1. @@ -16569,7 +16985,7 @@ impl core::fmt::Debug for PresentTimingInfoFlagBitsEXT { } ///[`VkPrivateDataSlotCreateFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPrivateDataSlotCreateFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkPrivateDataSlotCreateFlagBits")] pub struct PrivateDataSlotCreateFlagBits(u32); impl PrivateDataSlotCreateFlagBits { @@ -16593,6 +17009,10 @@ impl PrivateDataSlotCreateFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(0u32) + } } impl core::ops::BitOr for PrivateDataSlotCreateFlagBits { type Output = Self; @@ -16658,7 +17078,7 @@ impl core::fmt::Debug for PrivateDataSlotCreateFlagBits { } ///[`VkQueryControlFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkQueryControlFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkQueryControlFlagBits")] pub struct QueryControlFlagBits(u32); impl QueryControlFlagBits { @@ -16682,6 +17102,10 @@ impl QueryControlFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(1u32) + } ///Bit 0. pub const PRECISE: Self = Self(1u32); } @@ -16757,7 +17181,7 @@ impl core::fmt::Debug for QueryControlFlagBits { } ///[`VkQueryPipelineStatisticFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkQueryPipelineStatisticFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkQueryPipelineStatisticFlagBits")] pub struct QueryPipelineStatisticFlagBits(u32); impl QueryPipelineStatisticFlagBits { @@ -16781,6 +17205,10 @@ impl QueryPipelineStatisticFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(16383u32) + } ///Bit 0. pub const INPUT_ASSEMBLY_VERTICES: Self = Self(1u32); ///Bit 1. @@ -16986,7 +17414,7 @@ impl core::fmt::Debug for QueryPipelineStatisticFlagBits { } ///[`VkQueryPoolCreateFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkQueryPoolCreateFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkQueryPoolCreateFlagBits")] pub struct QueryPoolCreateFlagBits(u32); impl QueryPoolCreateFlagBits { @@ -17010,6 +17438,10 @@ impl QueryPoolCreateFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(1u32) + } ///Bit 0. pub const RESET: Self = Self(1u32); } @@ -17085,7 +17517,7 @@ impl core::fmt::Debug for QueryPoolCreateFlagBits { } ///[`VkQueryResultFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkQueryResultFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkQueryResultFlagBits")] pub struct QueryResultFlagBits(u32); impl QueryResultFlagBits { @@ -17109,6 +17541,10 @@ impl QueryResultFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(31u32) + } ///Bit 0. pub const _64: Self = Self(1u32); ///Bit 1. @@ -17224,7 +17660,7 @@ impl core::fmt::Debug for QueryResultFlagBits { } ///[`VkQueueFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkQueueFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkQueueFlagBits")] pub struct QueueFlagBits(u32); impl QueueFlagBits { @@ -17248,6 +17684,10 @@ impl QueueFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(1407u32) + } ///Bit 0. pub const GRAPHICS: Self = Self(1u32); ///Bit 1. @@ -17403,7 +17843,7 @@ impl core::fmt::Debug for QueueFlagBits { } ///[`VkRefreshObjectFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkRefreshObjectFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkRefreshObjectFlagBitsKHR")] pub struct RefreshObjectFlagBitsKHR(u32); impl RefreshObjectFlagBitsKHR { @@ -17427,6 +17867,10 @@ impl RefreshObjectFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(0u32) + } } impl core::ops::BitOr for RefreshObjectFlagBitsKHR { type Output = Self; @@ -17492,7 +17936,7 @@ impl core::fmt::Debug for RefreshObjectFlagBitsKHR { } ///[`VkRenderPassCreateFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkRenderPassCreateFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkRenderPassCreateFlagBits")] pub struct RenderPassCreateFlagBits(u32); impl RenderPassCreateFlagBits { @@ -17516,6 +17960,10 @@ impl RenderPassCreateFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(6u32) + } ///Bit 1. pub const TRANSFORM_BIT: Self = Self(2u32); ///Bit 2. @@ -17601,7 +18049,7 @@ impl core::fmt::Debug for RenderPassCreateFlagBits { } ///[`VkRenderingAttachmentFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkRenderingAttachmentFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkRenderingAttachmentFlagBitsKHR")] pub struct RenderingAttachmentFlagBitsKHR(u32); impl RenderingAttachmentFlagBitsKHR { @@ -17625,6 +18073,10 @@ impl RenderingAttachmentFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(7u32) + } ///Bit 0. pub const INPUT_ATTACHMENT_FEEDBACK: Self = Self(1u32); ///Bit 1. @@ -17720,7 +18172,7 @@ impl core::fmt::Debug for RenderingAttachmentFlagBitsKHR { } ///[`VkRenderingFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkRenderingFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkRenderingFlagBits")] pub struct RenderingFlagBits(u32); impl RenderingFlagBits { @@ -17744,6 +18196,10 @@ impl RenderingFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(495u32) + } ///Bit 0. pub const CONTENTS_SECONDARY_COMMAND_BUFFERS: Self = Self(1u32); ///Bit 1. @@ -17889,7 +18345,7 @@ impl core::fmt::Debug for RenderingFlagBits { } ///[`VkResolveImageFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkResolveImageFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkResolveImageFlagBitsKHR")] pub struct ResolveImageFlagBitsKHR(u32); impl ResolveImageFlagBitsKHR { @@ -17913,6 +18369,10 @@ impl ResolveImageFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(3u32) + } ///Bit 0. pub const SKIP_TRANSFER_FUNCTION: Self = Self(1u32); ///Bit 1. @@ -17998,7 +18458,7 @@ impl core::fmt::Debug for ResolveImageFlagBitsKHR { } ///[`VkResolveModeFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkResolveModeFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkResolveModeFlagBits")] pub struct ResolveModeFlagBits(u32); impl ResolveModeFlagBits { @@ -18022,6 +18482,10 @@ impl ResolveModeFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(63u32) + } pub const NONE: Self = Self(0u32); ///Bit 0. pub const SAMPLE_ZERO: Self = Self(1u32); @@ -18149,7 +18613,7 @@ impl core::fmt::Debug for ResolveModeFlagBits { } ///[`VkSampleCountFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkSampleCountFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkSampleCountFlagBits")] pub struct SampleCountFlagBits(u32); impl SampleCountFlagBits { @@ -18173,6 +18637,10 @@ impl SampleCountFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(127u32) + } ///Bit 0. pub const _1: Self = Self(1u32); ///Bit 1. @@ -18308,7 +18776,7 @@ impl core::fmt::Debug for SampleCountFlagBits { } ///[`VkSamplerCreateFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkSamplerCreateFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkSamplerCreateFlagBits")] pub struct SamplerCreateFlagBits(u32); impl SamplerCreateFlagBits { @@ -18332,6 +18800,10 @@ impl SamplerCreateFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(31u32) + } ///Bit 0. pub const SUBSAMPLED: Self = Self(1u32); ///Bit 1. @@ -18447,7 +18919,7 @@ impl core::fmt::Debug for SamplerCreateFlagBits { } ///[`VkSemaphoreCreateFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkSemaphoreCreateFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkSemaphoreCreateFlagBits")] pub struct SemaphoreCreateFlagBits(u32); impl SemaphoreCreateFlagBits { @@ -18471,6 +18943,10 @@ impl SemaphoreCreateFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(0u32) + } } impl core::ops::BitOr for SemaphoreCreateFlagBits { type Output = Self; @@ -18536,7 +19012,7 @@ impl core::fmt::Debug for SemaphoreCreateFlagBits { } ///[`VkSemaphoreImportFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkSemaphoreImportFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkSemaphoreImportFlagBits")] pub struct SemaphoreImportFlagBits(u32); impl SemaphoreImportFlagBits { @@ -18560,6 +19036,10 @@ impl SemaphoreImportFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(1u32) + } ///Bit 0. pub const TEMPORARY: Self = Self(1u32); } @@ -18635,7 +19115,7 @@ impl core::fmt::Debug for SemaphoreImportFlagBits { } ///[`VkSemaphoreWaitFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkSemaphoreWaitFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkSemaphoreWaitFlagBits")] pub struct SemaphoreWaitFlagBits(u32); impl SemaphoreWaitFlagBits { @@ -18659,6 +19139,10 @@ impl SemaphoreWaitFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(1u32) + } ///Bit 0. pub const ANY: Self = Self(1u32); } @@ -18734,7 +19218,7 @@ impl core::fmt::Debug for SemaphoreWaitFlagBits { } ///[`VkShaderCorePropertiesFlagBitsAMD`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkShaderCorePropertiesFlagBitsAMD.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkShaderCorePropertiesFlagBitsAMD")] pub struct ShaderCorePropertiesFlagBitsAMD(u32); impl ShaderCorePropertiesFlagBitsAMD { @@ -18758,6 +19242,10 @@ impl ShaderCorePropertiesFlagBitsAMD { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(0u32) + } } impl core::ops::BitOr for ShaderCorePropertiesFlagBitsAMD { type Output = Self; @@ -18823,7 +19311,7 @@ impl core::fmt::Debug for ShaderCorePropertiesFlagBitsAMD { } ///[`VkShaderCreateFlagBitsEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkShaderCreateFlagBitsEXT.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkShaderCreateFlagBitsEXT")] pub struct ShaderCreateFlagBitsEXT(u32); impl ShaderCreateFlagBitsEXT { @@ -18847,6 +19335,10 @@ impl ShaderCreateFlagBitsEXT { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(36095u32) + } ///Bit 0. pub const LINK_STAGE: Self = Self(1u32); ///Bit 10. @@ -19022,7 +19514,7 @@ impl core::fmt::Debug for ShaderCreateFlagBitsEXT { } ///[`VkShaderModuleCreateFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkShaderModuleCreateFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkShaderModuleCreateFlagBits")] pub struct ShaderModuleCreateFlagBits(u32); impl ShaderModuleCreateFlagBits { @@ -19046,6 +19538,10 @@ impl ShaderModuleCreateFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(0u32) + } } impl core::ops::BitOr for ShaderModuleCreateFlagBits { type Output = Self; @@ -19111,7 +19607,7 @@ impl core::fmt::Debug for ShaderModuleCreateFlagBits { } ///[`VkShaderStageFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkShaderStageFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkShaderStageFlagBits")] pub struct ShaderStageFlagBits(u32); impl ShaderStageFlagBits { @@ -19135,6 +19631,10 @@ impl ShaderStageFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(2147483647u32) + } ///Bit 0. pub const VERTEX: Self = Self(1u32); ///Bit 1. @@ -19342,7 +19842,7 @@ impl core::fmt::Debug for ShaderStageFlagBits { } ///[`VkSparseImageFormatFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkSparseImageFormatFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkSparseImageFormatFlagBits")] pub struct SparseImageFormatFlagBits(u32); impl SparseImageFormatFlagBits { @@ -19366,6 +19866,10 @@ impl SparseImageFormatFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(7u32) + } ///Bit 0. pub const SINGLE_MIPTAIL: Self = Self(1u32); ///Bit 1. @@ -19461,7 +19965,7 @@ impl core::fmt::Debug for SparseImageFormatFlagBits { } ///[`VkSparseMemoryBindFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkSparseMemoryBindFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkSparseMemoryBindFlagBits")] pub struct SparseMemoryBindFlagBits(u32); impl SparseMemoryBindFlagBits { @@ -19485,6 +19989,10 @@ impl SparseMemoryBindFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(1u32) + } ///Bit 0. pub const METADATA: Self = Self(1u32); } @@ -19560,7 +20068,7 @@ impl core::fmt::Debug for SparseMemoryBindFlagBits { } ///[`VkSpirvResourceTypeFlagBitsEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkSpirvResourceTypeFlagBitsEXT.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkSpirvResourceTypeFlagBitsEXT")] pub struct SpirvResourceTypeFlagBitsEXT(u32); impl SpirvResourceTypeFlagBitsEXT { @@ -19584,6 +20092,10 @@ impl SpirvResourceTypeFlagBitsEXT { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(2147483647u32) + } pub const ALL: Self = Self(2147483647u32); ///Bit 0. pub const SAMPLER: Self = Self(1u32); @@ -19750,7 +20262,7 @@ impl core::fmt::Debug for SpirvResourceTypeFlagBitsEXT { } ///[`VkStencilFaceFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkStencilFaceFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkStencilFaceFlagBits")] pub struct StencilFaceFlagBits(u32); impl StencilFaceFlagBits { @@ -19774,6 +20286,10 @@ impl StencilFaceFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(3u32) + } ///Bit 0. pub const FRONT: Self = Self(1u32); ///Bit 1. @@ -19861,7 +20377,7 @@ impl core::fmt::Debug for StencilFaceFlagBits { } ///[`VkSubgroupFeatureFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkSubgroupFeatureFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkSubgroupFeatureFlagBits")] pub struct SubgroupFeatureFlagBits(u32); impl SubgroupFeatureFlagBits { @@ -19885,6 +20401,10 @@ impl SubgroupFeatureFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(1791u32) + } ///Bit 0. pub const BASIC: Self = Self(1u32); ///Bit 1. @@ -20050,7 +20570,7 @@ impl core::fmt::Debug for SubgroupFeatureFlagBits { } ///[`VkSubmitFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkSubmitFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkSubmitFlagBits")] pub struct SubmitFlagBits(u32); impl SubmitFlagBits { @@ -20074,6 +20594,10 @@ impl SubmitFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(1u32) + } ///Bit 0. pub const PROTECTED: Self = Self(1u32); } @@ -20149,7 +20673,7 @@ impl core::fmt::Debug for SubmitFlagBits { } ///[`VkSubpassDescriptionFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkSubpassDescriptionFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkSubpassDescriptionFlagBits")] pub struct SubpassDescriptionFlagBits(u32); impl SubpassDescriptionFlagBits { @@ -20173,6 +20697,10 @@ impl SubpassDescriptionFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(511u32) + } ///Bit 0. pub const PER_VIEW_ATTRIBUTES_BIT: Self = Self(1u32); ///Bit 1. @@ -20333,7 +20861,7 @@ impl core::fmt::Debug for SubpassDescriptionFlagBits { } ///[`VkSurfaceCounterFlagBitsEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkSurfaceCounterFlagBitsEXT.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkSurfaceCounterFlagBitsEXT")] pub struct SurfaceCounterFlagBitsEXT(u32); impl SurfaceCounterFlagBitsEXT { @@ -20357,6 +20885,10 @@ impl SurfaceCounterFlagBitsEXT { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(1u32) + } ///Bit 0. pub const VBLANK: Self = Self(1u32); } @@ -20432,7 +20964,7 @@ impl core::fmt::Debug for SurfaceCounterFlagBitsEXT { } ///[`VkSurfaceTransformFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkSurfaceTransformFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkSurfaceTransformFlagBitsKHR")] pub struct SurfaceTransformFlagBitsKHR(u32); impl SurfaceTransformFlagBitsKHR { @@ -20456,6 +20988,10 @@ impl SurfaceTransformFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(511u32) + } ///Bit 0. pub const IDENTITY: Self = Self(1u32); ///Bit 1. @@ -20611,7 +21147,7 @@ impl core::fmt::Debug for SurfaceTransformFlagBitsKHR { } ///[`VkSwapchainCreateFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkSwapchainCreateFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkSwapchainCreateFlagBitsKHR")] pub struct SwapchainCreateFlagBitsKHR(u32); impl SwapchainCreateFlagBitsKHR { @@ -20635,6 +21171,10 @@ impl SwapchainCreateFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(711u32) + } ///Bit 0. pub const SPLIT_INSTANCE_BIND_REGIONS: Self = Self(1u32); ///Bit 1. @@ -20760,7 +21300,7 @@ impl core::fmt::Debug for SwapchainCreateFlagBitsKHR { } ///[`VkSwapchainImageUsageFlagBitsANDROID`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkSwapchainImageUsageFlagBitsANDROID.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkSwapchainImageUsageFlagBitsANDROID")] pub struct SwapchainImageUsageFlagBitsANDROID(u32); impl SwapchainImageUsageFlagBitsANDROID { @@ -20784,6 +21324,10 @@ impl SwapchainImageUsageFlagBitsANDROID { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(1u32) + } ///Bit 0. pub const SHARED_BIT: Self = Self(1u32); } @@ -20859,7 +21403,7 @@ impl core::fmt::Debug for SwapchainImageUsageFlagBitsANDROID { } ///[`VkSwapchainImageUsageFlagBitsOHOS`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkSwapchainImageUsageFlagBitsOHOS.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkSwapchainImageUsageFlagBitsOHOS")] pub struct SwapchainImageUsageFlagBitsOHOS(u32); impl SwapchainImageUsageFlagBitsOHOS { @@ -20883,6 +21427,10 @@ impl SwapchainImageUsageFlagBitsOHOS { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(1u32) + } ///Bit 0. pub const SHARED_BIT: Self = Self(1u32); } @@ -20958,7 +21506,7 @@ impl core::fmt::Debug for SwapchainImageUsageFlagBitsOHOS { } ///[`VkTensorCreateFlagBitsARM`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkTensorCreateFlagBitsARM.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkTensorCreateFlagBitsARM")] pub struct TensorCreateFlagBitsARM(u64); impl TensorCreateFlagBitsARM { @@ -20982,6 +21530,10 @@ impl TensorCreateFlagBitsARM { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(15u64) + } ///Bit 0. pub const MUTABLE_FORMAT_BIT: Self = Self(1u64); ///Bit 1. @@ -21087,7 +21639,7 @@ impl core::fmt::Debug for TensorCreateFlagBitsARM { } ///[`VkTensorUsageFlagBitsARM`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkTensorUsageFlagBitsARM.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkTensorUsageFlagBitsARM")] pub struct TensorUsageFlagBitsARM(u64); impl TensorUsageFlagBitsARM { @@ -21111,6 +21663,10 @@ impl TensorUsageFlagBitsARM { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(62u64) + } ///Bit 1. pub const SHADER_BIT: Self = Self(2u64); ///Bit 2. @@ -21226,7 +21782,7 @@ impl core::fmt::Debug for TensorUsageFlagBitsARM { } ///[`VkTensorViewCreateFlagBitsARM`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkTensorViewCreateFlagBitsARM.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkTensorViewCreateFlagBitsARM")] pub struct TensorViewCreateFlagBitsARM(u64); impl TensorViewCreateFlagBitsARM { @@ -21250,6 +21806,10 @@ impl TensorViewCreateFlagBitsARM { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(1u64) + } ///Bit 0. pub const DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT: Self = Self(1u64); } @@ -21325,7 +21885,7 @@ impl core::fmt::Debug for TensorViewCreateFlagBitsARM { } ///[`VkTileShadingRenderPassFlagBitsQCOM`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkTileShadingRenderPassFlagBitsQCOM.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkTileShadingRenderPassFlagBitsQCOM")] pub struct TileShadingRenderPassFlagBitsQCOM(u32); impl TileShadingRenderPassFlagBitsQCOM { @@ -21349,6 +21909,10 @@ impl TileShadingRenderPassFlagBitsQCOM { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(3u32) + } ///Bit 0. pub const ENABLE_BIT: Self = Self(1u32); ///Bit 1. @@ -21434,7 +21998,7 @@ impl core::fmt::Debug for TileShadingRenderPassFlagBitsQCOM { } ///[`VkToolPurposeFlagBits`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkToolPurposeFlagBits.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkToolPurposeFlagBits")] pub struct ToolPurposeFlagBits(u32); impl ToolPurposeFlagBits { @@ -21458,6 +22022,10 @@ impl ToolPurposeFlagBits { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(127u32) + } ///Bit 0. pub const VALIDATION: Self = Self(1u32); ///Bit 1. @@ -21593,7 +22161,7 @@ impl core::fmt::Debug for ToolPurposeFlagBits { } ///[`VkVideoCapabilityFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoCapabilityFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkVideoCapabilityFlagBitsKHR")] pub struct VideoCapabilityFlagBitsKHR(u32); impl VideoCapabilityFlagBitsKHR { @@ -21617,6 +22185,10 @@ impl VideoCapabilityFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(3u32) + } ///Bit 0. pub const PROTECTED_CONTENT: Self = Self(1u32); ///Bit 1. @@ -21702,7 +22274,7 @@ impl core::fmt::Debug for VideoCapabilityFlagBitsKHR { } ///[`VkVideoChromaSubsamplingFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoChromaSubsamplingFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkVideoChromaSubsamplingFlagBitsKHR")] pub struct VideoChromaSubsamplingFlagBitsKHR(u32); impl VideoChromaSubsamplingFlagBitsKHR { @@ -21726,6 +22298,10 @@ impl VideoChromaSubsamplingFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(15u32) + } pub const INVALID: Self = Self(0u32); ///Bit 0. pub const MONOCHROME: Self = Self(1u32); @@ -21832,7 +22408,7 @@ impl core::fmt::Debug for VideoChromaSubsamplingFlagBitsKHR { } ///[`VkVideoCodecOperationFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoCodecOperationFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkVideoCodecOperationFlagBitsKHR")] pub struct VideoCodecOperationFlagBitsKHR(u32); impl VideoCodecOperationFlagBitsKHR { @@ -21856,6 +22432,10 @@ impl VideoCodecOperationFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(458767u32) + } pub const NONE: Self = Self(0u32); ///Bit 16. pub const ENCODE_H264: Self = Self(65536u32); @@ -21992,7 +22572,7 @@ impl core::fmt::Debug for VideoCodecOperationFlagBitsKHR { } ///[`VkVideoCodingControlFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoCodingControlFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkVideoCodingControlFlagBitsKHR")] pub struct VideoCodingControlFlagBitsKHR(u32); impl VideoCodingControlFlagBitsKHR { @@ -22016,6 +22596,10 @@ impl VideoCodingControlFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(7u32) + } ///Bit 0. pub const RESET: Self = Self(1u32); ///Bit 1. @@ -22111,7 +22695,7 @@ impl core::fmt::Debug for VideoCodingControlFlagBitsKHR { } ///[`VkVideoComponentBitDepthFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoComponentBitDepthFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkVideoComponentBitDepthFlagBitsKHR")] pub struct VideoComponentBitDepthFlagBitsKHR(u32); impl VideoComponentBitDepthFlagBitsKHR { @@ -22135,6 +22719,10 @@ impl VideoComponentBitDepthFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(21u32) + } pub const INVALID: Self = Self(0u32); ///Bit 0. pub const _8: Self = Self(1u32); @@ -22231,7 +22819,7 @@ impl core::fmt::Debug for VideoComponentBitDepthFlagBitsKHR { } ///[`VkVideoDecodeCapabilityFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoDecodeCapabilityFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkVideoDecodeCapabilityFlagBitsKHR")] pub struct VideoDecodeCapabilityFlagBitsKHR(u32); impl VideoDecodeCapabilityFlagBitsKHR { @@ -22255,6 +22843,10 @@ impl VideoDecodeCapabilityFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(3u32) + } ///Bit 0. pub const DPB_AND_OUTPUT_COINCIDE: Self = Self(1u32); ///Bit 1. @@ -22340,7 +22932,7 @@ impl core::fmt::Debug for VideoDecodeCapabilityFlagBitsKHR { } ///[`VkVideoDecodeH264PictureLayoutFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoDecodeH264PictureLayoutFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkVideoDecodeH264PictureLayoutFlagBitsKHR")] pub struct VideoDecodeH264PictureLayoutFlagBitsKHR(u32); impl VideoDecodeH264PictureLayoutFlagBitsKHR { @@ -22364,6 +22956,10 @@ impl VideoDecodeH264PictureLayoutFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(3u32) + } pub const PROGRESSIVE: Self = Self(0u32); ///Bit 0. pub const INTERLACED_INTERLEAVED_LINES: Self = Self(1u32); @@ -22450,7 +23046,7 @@ impl core::fmt::Debug for VideoDecodeH264PictureLayoutFlagBitsKHR { } ///[`VkVideoDecodeUsageFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoDecodeUsageFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkVideoDecodeUsageFlagBitsKHR")] pub struct VideoDecodeUsageFlagBitsKHR(u32); impl VideoDecodeUsageFlagBitsKHR { @@ -22474,6 +23070,10 @@ impl VideoDecodeUsageFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(7u32) + } pub const DEFAULT: Self = Self(0u32); ///Bit 0. pub const TRANSCODING: Self = Self(1u32); @@ -22570,7 +23170,7 @@ impl core::fmt::Debug for VideoDecodeUsageFlagBitsKHR { } ///[`VkVideoEncodeAV1CapabilityFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeAV1CapabilityFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkVideoEncodeAV1CapabilityFlagBitsKHR")] pub struct VideoEncodeAV1CapabilityFlagBitsKHR(u32); impl VideoEncodeAV1CapabilityFlagBitsKHR { @@ -22594,6 +23194,10 @@ impl VideoEncodeAV1CapabilityFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(63u32) + } ///Bit 0. pub const PER_RATE_CONTROL_GROUP_MIN_MAX_Q_INDEX: Self = Self(1u32); ///Bit 1. @@ -22719,7 +23323,7 @@ impl core::fmt::Debug for VideoEncodeAV1CapabilityFlagBitsKHR { } ///[`VkVideoEncodeAV1RateControlFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeAV1RateControlFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkVideoEncodeAV1RateControlFlagBitsKHR")] pub struct VideoEncodeAV1RateControlFlagBitsKHR(u32); impl VideoEncodeAV1RateControlFlagBitsKHR { @@ -22743,6 +23347,10 @@ impl VideoEncodeAV1RateControlFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(15u32) + } ///Bit 0. pub const REGULAR_GOP: Self = Self(1u32); ///Bit 1. @@ -22848,7 +23456,7 @@ impl core::fmt::Debug for VideoEncodeAV1RateControlFlagBitsKHR { } ///[`VkVideoEncodeAV1StdFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeAV1StdFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkVideoEncodeAV1StdFlagBitsKHR")] pub struct VideoEncodeAV1StdFlagBitsKHR(u32); impl VideoEncodeAV1StdFlagBitsKHR { @@ -22872,6 +23480,10 @@ impl VideoEncodeAV1StdFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(15u32) + } ///Bit 0. pub const UNIFORM_TILE_SPACING_FLAG_SET: Self = Self(1u32); ///Bit 1. @@ -22977,7 +23589,7 @@ impl core::fmt::Debug for VideoEncodeAV1StdFlagBitsKHR { } ///[`VkVideoEncodeAV1SuperblockSizeFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeAV1SuperblockSizeFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkVideoEncodeAV1SuperblockSizeFlagBitsKHR")] pub struct VideoEncodeAV1SuperblockSizeFlagBitsKHR(u32); impl VideoEncodeAV1SuperblockSizeFlagBitsKHR { @@ -23001,6 +23613,10 @@ impl VideoEncodeAV1SuperblockSizeFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(3u32) + } ///Bit 0. pub const _64: Self = Self(1u32); ///Bit 1. @@ -23086,7 +23702,7 @@ impl core::fmt::Debug for VideoEncodeAV1SuperblockSizeFlagBitsKHR { } ///[`VkVideoEncodeCapabilityFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeCapabilityFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkVideoEncodeCapabilityFlagBitsKHR")] pub struct VideoEncodeCapabilityFlagBitsKHR(u32); impl VideoEncodeCapabilityFlagBitsKHR { @@ -23110,6 +23726,10 @@ impl VideoEncodeCapabilityFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(15u32) + } ///Bit 0. pub const PRECEDING_EXTERNALLY_ENCODED_BYTES: Self = Self(1u32); ///Bit 1. @@ -23215,7 +23835,7 @@ impl core::fmt::Debug for VideoEncodeCapabilityFlagBitsKHR { } ///[`VkVideoEncodeContentFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeContentFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkVideoEncodeContentFlagBitsKHR")] pub struct VideoEncodeContentFlagBitsKHR(u32); impl VideoEncodeContentFlagBitsKHR { @@ -23239,6 +23859,10 @@ impl VideoEncodeContentFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(7u32) + } pub const DEFAULT: Self = Self(0u32); ///Bit 0. pub const CAMERA: Self = Self(1u32); @@ -23335,7 +23959,7 @@ impl core::fmt::Debug for VideoEncodeContentFlagBitsKHR { } ///[`VkVideoEncodeFeedbackFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeFeedbackFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkVideoEncodeFeedbackFlagBitsKHR")] pub struct VideoEncodeFeedbackFlagBitsKHR(u32); impl VideoEncodeFeedbackFlagBitsKHR { @@ -23359,6 +23983,10 @@ impl VideoEncodeFeedbackFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(7u32) + } ///Bit 0. pub const BITSTREAM_BUFFER_OFFSET: Self = Self(1u32); ///Bit 1. @@ -23454,7 +24082,7 @@ impl core::fmt::Debug for VideoEncodeFeedbackFlagBitsKHR { } ///[`VkVideoEncodeFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkVideoEncodeFlagBitsKHR")] pub struct VideoEncodeFlagBitsKHR(u32); impl VideoEncodeFlagBitsKHR { @@ -23478,6 +24106,10 @@ impl VideoEncodeFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(7u32) + } ///Bit 2. pub const INTRA_REFRESH: Self = Self(4u32); ///Bit 0. @@ -23573,7 +24205,7 @@ impl core::fmt::Debug for VideoEncodeFlagBitsKHR { } ///[`VkVideoEncodeH264CapabilityFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeH264CapabilityFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkVideoEncodeH264CapabilityFlagBitsKHR")] pub struct VideoEncodeH264CapabilityFlagBitsKHR(u32); impl VideoEncodeH264CapabilityFlagBitsKHR { @@ -23597,6 +24229,10 @@ impl VideoEncodeH264CapabilityFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(2047u32) + } ///Bit 0. pub const HRD_COMPLIANCE: Self = Self(1u32); ///Bit 1. @@ -23772,7 +24408,7 @@ impl core::fmt::Debug for VideoEncodeH264CapabilityFlagBitsKHR { } ///[`VkVideoEncodeH264RateControlFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeH264RateControlFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkVideoEncodeH264RateControlFlagBitsKHR")] pub struct VideoEncodeH264RateControlFlagBitsKHR(u32); impl VideoEncodeH264RateControlFlagBitsKHR { @@ -23796,6 +24432,10 @@ impl VideoEncodeH264RateControlFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(31u32) + } ///Bit 0. pub const ATTEMPT_HRD_COMPLIANCE: Self = Self(1u32); ///Bit 1. @@ -23911,7 +24551,7 @@ impl core::fmt::Debug for VideoEncodeH264RateControlFlagBitsKHR { } ///[`VkVideoEncodeH264StdFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeH264StdFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkVideoEncodeH264StdFlagBitsKHR")] pub struct VideoEncodeH264StdFlagBitsKHR(u32); impl VideoEncodeH264StdFlagBitsKHR { @@ -23935,6 +24575,10 @@ impl VideoEncodeH264StdFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(1835007u32) + } ///Bit 0. pub const SEPARATE_COLOR_PLANE_FLAG_SET: Self = Self(1u32); ///Bit 1. @@ -24200,7 +24844,7 @@ impl core::fmt::Debug for VideoEncodeH264StdFlagBitsKHR { } ///[`VkVideoEncodeH265CapabilityFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeH265CapabilityFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkVideoEncodeH265CapabilityFlagBitsKHR")] pub struct VideoEncodeH265CapabilityFlagBitsKHR(u32); impl VideoEncodeH265CapabilityFlagBitsKHR { @@ -24224,6 +24868,10 @@ impl VideoEncodeH265CapabilityFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(4095u32) + } ///Bit 0. pub const HRD_COMPLIANCE: Self = Self(1u32); ///Bit 1. @@ -24409,7 +25057,7 @@ impl core::fmt::Debug for VideoEncodeH265CapabilityFlagBitsKHR { } ///[`VkVideoEncodeH265CtbSizeFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeH265CtbSizeFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkVideoEncodeH265CtbSizeFlagBitsKHR")] pub struct VideoEncodeH265CtbSizeFlagBitsKHR(u32); impl VideoEncodeH265CtbSizeFlagBitsKHR { @@ -24433,6 +25081,10 @@ impl VideoEncodeH265CtbSizeFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(7u32) + } ///Bit 0. pub const _16: Self = Self(1u32); ///Bit 1. @@ -24528,7 +25180,7 @@ impl core::fmt::Debug for VideoEncodeH265CtbSizeFlagBitsKHR { } ///[`VkVideoEncodeH265RateControlFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeH265RateControlFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkVideoEncodeH265RateControlFlagBitsKHR")] pub struct VideoEncodeH265RateControlFlagBitsKHR(u32); impl VideoEncodeH265RateControlFlagBitsKHR { @@ -24552,6 +25204,10 @@ impl VideoEncodeH265RateControlFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(31u32) + } ///Bit 0. pub const ATTEMPT_HRD_COMPLIANCE: Self = Self(1u32); ///Bit 1. @@ -24667,7 +25323,7 @@ impl core::fmt::Debug for VideoEncodeH265RateControlFlagBitsKHR { } ///[`VkVideoEncodeH265StdFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeH265StdFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkVideoEncodeH265StdFlagBitsKHR")] pub struct VideoEncodeH265StdFlagBitsKHR(u32); impl VideoEncodeH265StdFlagBitsKHR { @@ -24691,6 +25347,10 @@ impl VideoEncodeH265StdFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(2097151u32) + } ///Bit 0. pub const SEPARATE_COLOR_PLANE_FLAG_SET: Self = Self(1u32); ///Bit 1. @@ -24966,7 +25626,7 @@ impl core::fmt::Debug for VideoEncodeH265StdFlagBitsKHR { } ///[`VkVideoEncodeH265TransformBlockSizeFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeH265TransformBlockSizeFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkVideoEncodeH265TransformBlockSizeFlagBitsKHR")] pub struct VideoEncodeH265TransformBlockSizeFlagBitsKHR(u32); impl VideoEncodeH265TransformBlockSizeFlagBitsKHR { @@ -24990,6 +25650,10 @@ impl VideoEncodeH265TransformBlockSizeFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(15u32) + } ///Bit 0. pub const _4: Self = Self(1u32); ///Bit 1. @@ -25095,7 +25759,7 @@ impl core::fmt::Debug for VideoEncodeH265TransformBlockSizeFlagBitsKHR { } ///[`VkVideoEncodeIntraRefreshModeFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeIntraRefreshModeFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkVideoEncodeIntraRefreshModeFlagBitsKHR")] pub struct VideoEncodeIntraRefreshModeFlagBitsKHR(u32); impl VideoEncodeIntraRefreshModeFlagBitsKHR { @@ -25119,6 +25783,10 @@ impl VideoEncodeIntraRefreshModeFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(15u32) + } pub const NONE: Self = Self(0u32); ///Bit 0. pub const PER_PICTURE_PARTITION: Self = Self(1u32); @@ -25225,7 +25893,7 @@ impl core::fmt::Debug for VideoEncodeIntraRefreshModeFlagBitsKHR { } ///[`VkVideoEncodeRateControlModeFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeRateControlModeFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkVideoEncodeRateControlModeFlagBitsKHR")] pub struct VideoEncodeRateControlModeFlagBitsKHR(u32); impl VideoEncodeRateControlModeFlagBitsKHR { @@ -25249,6 +25917,10 @@ impl VideoEncodeRateControlModeFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(7u32) + } pub const DEFAULT: Self = Self(0u32); ///Bit 0. pub const DISABLED: Self = Self(1u32); @@ -25345,7 +26017,7 @@ impl core::fmt::Debug for VideoEncodeRateControlModeFlagBitsKHR { } ///[`VkVideoEncodeRgbChromaOffsetFlagBitsVALVE`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeRgbChromaOffsetFlagBitsVALVE.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkVideoEncodeRgbChromaOffsetFlagBitsVALVE")] pub struct VideoEncodeRgbChromaOffsetFlagBitsVALVE(u32); impl VideoEncodeRgbChromaOffsetFlagBitsVALVE { @@ -25369,6 +26041,10 @@ impl VideoEncodeRgbChromaOffsetFlagBitsVALVE { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(3u32) + } ///Bit 0. pub const COSITED_EVEN_BIT: Self = Self(1u32); ///Bit 1. @@ -25454,7 +26130,7 @@ impl core::fmt::Debug for VideoEncodeRgbChromaOffsetFlagBitsVALVE { } ///[`VkVideoEncodeRgbModelConversionFlagBitsVALVE`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeRgbModelConversionFlagBitsVALVE.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkVideoEncodeRgbModelConversionFlagBitsVALVE")] pub struct VideoEncodeRgbModelConversionFlagBitsVALVE(u32); impl VideoEncodeRgbModelConversionFlagBitsVALVE { @@ -25478,6 +26154,10 @@ impl VideoEncodeRgbModelConversionFlagBitsVALVE { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(31u32) + } ///Bit 0. pub const RGB_IDENTITY_BIT: Self = Self(1u32); ///Bit 1. @@ -25593,7 +26273,7 @@ impl core::fmt::Debug for VideoEncodeRgbModelConversionFlagBitsVALVE { } ///[`VkVideoEncodeRgbRangeCompressionFlagBitsVALVE`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeRgbRangeCompressionFlagBitsVALVE.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkVideoEncodeRgbRangeCompressionFlagBitsVALVE")] pub struct VideoEncodeRgbRangeCompressionFlagBitsVALVE(u32); impl VideoEncodeRgbRangeCompressionFlagBitsVALVE { @@ -25617,6 +26297,10 @@ impl VideoEncodeRgbRangeCompressionFlagBitsVALVE { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(3u32) + } ///Bit 0. pub const FULL_RANGE_BIT: Self = Self(1u32); ///Bit 1. @@ -25702,7 +26386,7 @@ impl core::fmt::Debug for VideoEncodeRgbRangeCompressionFlagBitsVALVE { } ///[`VkVideoEncodeUsageFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeUsageFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkVideoEncodeUsageFlagBitsKHR")] pub struct VideoEncodeUsageFlagBitsKHR(u32); impl VideoEncodeUsageFlagBitsKHR { @@ -25726,6 +26410,10 @@ impl VideoEncodeUsageFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(15u32) + } pub const DEFAULT: Self = Self(0u32); ///Bit 0. pub const TRANSCODING: Self = Self(1u32); @@ -25832,7 +26520,7 @@ impl core::fmt::Debug for VideoEncodeUsageFlagBitsKHR { } ///[`VkVideoSessionCreateFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoSessionCreateFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkVideoSessionCreateFlagBitsKHR")] pub struct VideoSessionCreateFlagBitsKHR(u32); impl VideoSessionCreateFlagBitsKHR { @@ -25856,6 +26544,10 @@ impl VideoSessionCreateFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(63u32) + } ///Bit 0. pub const PROTECTED_CONTENT: Self = Self(1u32); ///Bit 1. @@ -25981,7 +26673,7 @@ impl core::fmt::Debug for VideoSessionCreateFlagBitsKHR { } ///[`VkVideoSessionParametersCreateFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoSessionParametersCreateFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkVideoSessionParametersCreateFlagBitsKHR")] pub struct VideoSessionParametersCreateFlagBitsKHR(u32); impl VideoSessionParametersCreateFlagBitsKHR { @@ -26005,6 +26697,10 @@ impl VideoSessionParametersCreateFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(1u32) + } ///Bit 0. pub const QUANTIZATION_MAP_COMPATIBLE: Self = Self(1u32); } @@ -26080,7 +26776,7 @@ impl core::fmt::Debug for VideoSessionParametersCreateFlagBitsKHR { } ///[`VkWaylandSurfaceCreateFlagBitsKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkWaylandSurfaceCreateFlagBitsKHR.html) #[repr(transparent)] -#[derive(Copy, Clone, PartialEq, Eq, Hash, Default)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[doc(alias = "VkWaylandSurfaceCreateFlagBitsKHR")] pub struct WaylandSurfaceCreateFlagBitsKHR(u32); impl WaylandSurfaceCreateFlagBitsKHR { @@ -26104,6 +26800,10 @@ impl WaylandSurfaceCreateFlagBitsKHR { pub const fn contains(self, other: Self) -> bool { (self.0 & other.0) == other.0 } + #[inline] + pub const fn all() -> Self { + Self(0u32) + } } impl core::ops::BitOr for WaylandSurfaceCreateFlagBitsKHR { type Output = Self; diff --git a/vulkan-rust-sys/src/builders.rs b/vulkan-rust-sys/src/builders.rs index 9711edb..fe3189e 100644 --- a/vulkan-rust-sys/src/builders.rs +++ b/vulkan-rust-sys/src/builders.rs @@ -3,6 +3,534 @@ use super::enums::*; use super::handles::*; use super::bitmasks::*; use super::constants::*; +///Builder for [`Offset2D`]. +pub struct Offset2DBuilder { + inner: Offset2D, +} +impl Offset2D { + /// Start building this struct. + #[inline] + pub fn builder() -> Offset2DBuilder { + Offset2DBuilder { + inner: Offset2D { ..Default::default() }, + } + } +} +impl Offset2DBuilder { + #[inline] + pub fn x(mut self, value: i32) -> Self { + self.inner.x = value; + self + } + #[inline] + pub fn y(mut self, value: i32) -> Self { + self.inner.y = value; + self + } +} +impl core::ops::Deref for Offset2DBuilder { + type Target = Offset2D; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for Offset2DBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`Offset3D`]. +pub struct Offset3DBuilder { + inner: Offset3D, +} +impl Offset3D { + /// Start building this struct. + #[inline] + pub fn builder() -> Offset3DBuilder { + Offset3DBuilder { + inner: Offset3D { ..Default::default() }, + } + } +} +impl Offset3DBuilder { + #[inline] + pub fn x(mut self, value: i32) -> Self { + self.inner.x = value; + self + } + #[inline] + pub fn y(mut self, value: i32) -> Self { + self.inner.y = value; + self + } + #[inline] + pub fn z(mut self, value: i32) -> Self { + self.inner.z = value; + self + } +} +impl core::ops::Deref for Offset3DBuilder { + type Target = Offset3D; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for Offset3DBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`Extent2D`]. +pub struct Extent2DBuilder { + inner: Extent2D, +} +impl Extent2D { + /// Start building this struct. + #[inline] + pub fn builder() -> Extent2DBuilder { + Extent2DBuilder { + inner: Extent2D { ..Default::default() }, + } + } +} +impl Extent2DBuilder { + #[inline] + pub fn width(mut self, value: u32) -> Self { + self.inner.width = value; + self + } + #[inline] + pub fn height(mut self, value: u32) -> Self { + self.inner.height = value; + self + } +} +impl core::ops::Deref for Extent2DBuilder { + type Target = Extent2D; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for Extent2DBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`Extent3D`]. +pub struct Extent3DBuilder { + inner: Extent3D, +} +impl Extent3D { + /// Start building this struct. + #[inline] + pub fn builder() -> Extent3DBuilder { + Extent3DBuilder { + inner: Extent3D { ..Default::default() }, + } + } +} +impl Extent3DBuilder { + #[inline] + pub fn width(mut self, value: u32) -> Self { + self.inner.width = value; + self + } + #[inline] + pub fn height(mut self, value: u32) -> Self { + self.inner.height = value; + self + } + #[inline] + pub fn depth(mut self, value: u32) -> Self { + self.inner.depth = value; + self + } +} +impl core::ops::Deref for Extent3DBuilder { + type Target = Extent3D; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for Extent3DBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`Viewport`]. +pub struct ViewportBuilder { + inner: Viewport, +} +impl Viewport { + /// Start building this struct. + #[inline] + pub fn builder() -> ViewportBuilder { + ViewportBuilder { + inner: Viewport { ..Default::default() }, + } + } +} +impl ViewportBuilder { + #[inline] + pub fn x(mut self, value: f32) -> Self { + self.inner.x = value; + self + } + #[inline] + pub fn y(mut self, value: f32) -> Self { + self.inner.y = value; + self + } + #[inline] + pub fn width(mut self, value: f32) -> Self { + self.inner.width = value; + self + } + #[inline] + pub fn height(mut self, value: f32) -> Self { + self.inner.height = value; + self + } + #[inline] + pub fn min_depth(mut self, value: f32) -> Self { + self.inner.min_depth = value; + self + } + #[inline] + pub fn max_depth(mut self, value: f32) -> Self { + self.inner.max_depth = value; + self + } +} +impl core::ops::Deref for ViewportBuilder { + type Target = Viewport; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for ViewportBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`Rect2D`]. +pub struct Rect2DBuilder { + inner: Rect2D, +} +impl Rect2D { + /// Start building this struct. + #[inline] + pub fn builder() -> Rect2DBuilder { + Rect2DBuilder { + inner: Rect2D { ..Default::default() }, + } + } +} +impl Rect2DBuilder { + #[inline] + pub fn offset(mut self, value: Offset2D) -> Self { + self.inner.offset = value; + self + } + #[inline] + pub fn extent(mut self, value: Extent2D) -> Self { + self.inner.extent = value; + self + } +} +impl core::ops::Deref for Rect2DBuilder { + type Target = Rect2D; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for Rect2DBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`ClearRect`]. +pub struct ClearRectBuilder { + inner: ClearRect, +} +impl ClearRect { + /// Start building this struct. + #[inline] + pub fn builder() -> ClearRectBuilder { + ClearRectBuilder { + inner: ClearRect { ..Default::default() }, + } + } +} +impl ClearRectBuilder { + #[inline] + pub fn rect(mut self, value: Rect2D) -> Self { + self.inner.rect = value; + self + } + #[inline] + pub fn base_array_layer(mut self, value: u32) -> Self { + self.inner.base_array_layer = value; + self + } + #[inline] + pub fn layer_count(mut self, value: u32) -> Self { + self.inner.layer_count = value; + self + } +} +impl core::ops::Deref for ClearRectBuilder { + type Target = ClearRect; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for ClearRectBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`ComponentMapping`]. +pub struct ComponentMappingBuilder { + inner: ComponentMapping, +} +impl ComponentMapping { + /// Start building this struct. + #[inline] + pub fn builder() -> ComponentMappingBuilder { + ComponentMappingBuilder { + inner: ComponentMapping { + ..Default::default() + }, + } + } +} +impl ComponentMappingBuilder { + #[inline] + pub fn r(mut self, value: ComponentSwizzle) -> Self { + self.inner.r = value; + self + } + #[inline] + pub fn g(mut self, value: ComponentSwizzle) -> Self { + self.inner.g = value; + self + } + #[inline] + pub fn b(mut self, value: ComponentSwizzle) -> Self { + self.inner.b = value; + self + } + #[inline] + pub fn a(mut self, value: ComponentSwizzle) -> Self { + self.inner.a = value; + self + } +} +impl core::ops::Deref for ComponentMappingBuilder { + type Target = ComponentMapping; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for ComponentMappingBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`PhysicalDeviceProperties`]. +pub struct PhysicalDevicePropertiesBuilder { + inner: PhysicalDeviceProperties, +} +impl PhysicalDeviceProperties { + /// Start building this struct. + #[inline] + pub fn builder() -> PhysicalDevicePropertiesBuilder { + PhysicalDevicePropertiesBuilder { + inner: PhysicalDeviceProperties { + ..Default::default() + }, + } + } +} +impl PhysicalDevicePropertiesBuilder { + #[inline] + pub fn api_version(mut self, value: u32) -> Self { + self.inner.api_version = value; + self + } + #[inline] + pub fn driver_version(mut self, value: u32) -> Self { + self.inner.driver_version = value; + self + } + #[inline] + pub fn vendor_id(mut self, value: u32) -> Self { + self.inner.vendor_id = value; + self + } + #[inline] + pub fn device_id(mut self, value: u32) -> Self { + self.inner.device_id = value; + self + } + #[inline] + pub fn device_type(mut self, value: PhysicalDeviceType) -> Self { + self.inner.device_type = value; + self + } + #[inline] + pub fn device_name( + mut self, + value: crate::StringArray<{ MAX_PHYSICAL_DEVICE_NAME_SIZE as usize }>, + ) -> Self { + self.inner.device_name = value; + self + } + #[inline] + pub fn pipeline_cache_uuid(mut self, value: [u8; UUID_SIZE as usize]) -> Self { + self.inner.pipeline_cache_uuid = value; + self + } + #[inline] + pub fn limits(mut self, value: PhysicalDeviceLimits) -> Self { + self.inner.limits = value; + self + } + #[inline] + pub fn sparse_properties(mut self, value: PhysicalDeviceSparseProperties) -> Self { + self.inner.sparse_properties = value; + self + } +} +impl core::ops::Deref for PhysicalDevicePropertiesBuilder { + type Target = PhysicalDeviceProperties; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for PhysicalDevicePropertiesBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`ExtensionProperties`]. +pub struct ExtensionPropertiesBuilder { + inner: ExtensionProperties, +} +impl ExtensionProperties { + /// Start building this struct. + #[inline] + pub fn builder() -> ExtensionPropertiesBuilder { + ExtensionPropertiesBuilder { + inner: ExtensionProperties { + ..Default::default() + }, + } + } +} +impl ExtensionPropertiesBuilder { + #[inline] + pub fn extension_name( + mut self, + value: crate::StringArray<{ MAX_EXTENSION_NAME_SIZE as usize }>, + ) -> Self { + self.inner.extension_name = value; + self + } + #[inline] + pub fn spec_version(mut self, value: u32) -> Self { + self.inner.spec_version = value; + self + } +} +impl core::ops::Deref for ExtensionPropertiesBuilder { + type Target = ExtensionProperties; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for ExtensionPropertiesBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`LayerProperties`]. +pub struct LayerPropertiesBuilder { + inner: LayerProperties, +} +impl LayerProperties { + /// Start building this struct. + #[inline] + pub fn builder() -> LayerPropertiesBuilder { + LayerPropertiesBuilder { + inner: LayerProperties { + ..Default::default() + }, + } + } +} +impl LayerPropertiesBuilder { + #[inline] + pub fn layer_name( + mut self, + value: crate::StringArray<{ MAX_EXTENSION_NAME_SIZE as usize }>, + ) -> Self { + self.inner.layer_name = value; + self + } + #[inline] + pub fn spec_version(mut self, value: u32) -> Self { + self.inner.spec_version = value; + self + } + #[inline] + pub fn implementation_version(mut self, value: u32) -> Self { + self.inner.implementation_version = value; + self + } + #[inline] + pub fn description( + mut self, + value: crate::StringArray<{ MAX_DESCRIPTION_SIZE as usize }>, + ) -> Self { + self.inner.description = value; + self + } +} +impl core::ops::Deref for LayerPropertiesBuilder { + type Target = LayerProperties; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for LayerPropertiesBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`ApplicationInfo`] with lifetime-tied pNext safety. pub struct ApplicationInfoBuilder<'a> { inner: ApplicationInfo, @@ -23,7 +551,7 @@ impl ApplicationInfo { } impl<'a> ApplicationInfoBuilder<'a> { #[inline] - pub fn p_application_name(mut self, value: &'a core::ffi::CStr) -> Self { + pub fn application_name(mut self, value: &'a core::ffi::CStr) -> Self { self.inner.p_application_name = value.as_ptr(); self } @@ -33,7 +561,7 @@ impl<'a> ApplicationInfoBuilder<'a> { self } #[inline] - pub fn p_engine_name(mut self, value: &'a core::ffi::CStr) -> Self { + pub fn engine_name(mut self, value: &'a core::ffi::CStr) -> Self { self.inner.p_engine_name = value.as_ptr(); self } @@ -73,6 +601,71 @@ impl<'a> core::ops::DerefMut for ApplicationInfoBuilder<'a> { &mut self.inner } } +///Builder for [`AllocationCallbacks`]. +pub struct AllocationCallbacksBuilder<'a> { + inner: AllocationCallbacks, + _marker: core::marker::PhantomData<&'a ()>, +} +impl AllocationCallbacks { + /// Start building this struct. + #[inline] + pub fn builder<'a>() -> AllocationCallbacksBuilder<'a> { + AllocationCallbacksBuilder { + inner: AllocationCallbacks { + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> AllocationCallbacksBuilder<'a> { + #[inline] + pub fn user_data(mut self, value: *mut core::ffi::c_void) -> Self { + self.inner.p_user_data = value; + self + } + #[inline] + pub fn pfn_allocation(mut self, value: PFN_vkAllocationFunction) -> Self { + self.inner.pfn_allocation = value; + self + } + #[inline] + pub fn pfn_reallocation(mut self, value: PFN_vkReallocationFunction) -> Self { + self.inner.pfn_reallocation = value; + self + } + #[inline] + pub fn pfn_free(mut self, value: PFN_vkFreeFunction) -> Self { + self.inner.pfn_free = value; + self + } + #[inline] + pub fn pfn_internal_allocation( + mut self, + value: PFN_vkInternalAllocationNotification, + ) -> Self { + self.inner.pfn_internal_allocation = value; + self + } + #[inline] + pub fn pfn_internal_free(mut self, value: PFN_vkInternalFreeNotification) -> Self { + self.inner.pfn_internal_free = value; + self + } +} +impl<'a> core::ops::Deref for AllocationCallbacksBuilder<'a> { + type Target = AllocationCallbacks; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> core::ops::DerefMut for AllocationCallbacksBuilder<'a> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`DeviceQueueCreateInfo`] with lifetime-tied pNext safety. pub struct DeviceQueueCreateInfoBuilder<'a> { inner: DeviceQueueCreateInfo, @@ -183,7 +776,7 @@ impl<'a> DeviceCreateInfoBuilder<'a> { self } #[inline] - pub fn p_enabled_features(mut self, value: &'a PhysicalDeviceFeatures) -> Self { + pub fn enabled_features(mut self, value: &'a PhysicalDeviceFeatures) -> Self { self.inner.p_enabled_features = value; self } @@ -238,7 +831,7 @@ impl<'a> InstanceCreateInfoBuilder<'a> { self } #[inline] - pub fn p_application_info(mut self, value: &'a ApplicationInfo) -> Self { + pub fn application_info(mut self, value: &'a ApplicationInfo) -> Self { self.inner.p_application_info = value; self } @@ -283,6 +876,112 @@ impl<'a> core::ops::DerefMut for InstanceCreateInfoBuilder<'a> { &mut self.inner } } +///Builder for [`QueueFamilyProperties`]. +pub struct QueueFamilyPropertiesBuilder { + inner: QueueFamilyProperties, +} +impl QueueFamilyProperties { + /// Start building this struct. + #[inline] + pub fn builder() -> QueueFamilyPropertiesBuilder { + QueueFamilyPropertiesBuilder { + inner: QueueFamilyProperties { + ..Default::default() + }, + } + } +} +impl QueueFamilyPropertiesBuilder { + #[inline] + pub fn queue_flags(mut self, value: QueueFlags) -> Self { + self.inner.queue_flags = value; + self + } + #[inline] + pub fn queue_count(mut self, value: u32) -> Self { + self.inner.queue_count = value; + self + } + #[inline] + pub fn timestamp_valid_bits(mut self, value: u32) -> Self { + self.inner.timestamp_valid_bits = value; + self + } + #[inline] + pub fn min_image_transfer_granularity(mut self, value: Extent3D) -> Self { + self.inner.min_image_transfer_granularity = value; + self + } +} +impl core::ops::Deref for QueueFamilyPropertiesBuilder { + type Target = QueueFamilyProperties; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for QueueFamilyPropertiesBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`PhysicalDeviceMemoryProperties`]. +pub struct PhysicalDeviceMemoryPropertiesBuilder { + inner: PhysicalDeviceMemoryProperties, +} +impl PhysicalDeviceMemoryProperties { + /// Start building this struct. + #[inline] + pub fn builder() -> PhysicalDeviceMemoryPropertiesBuilder { + PhysicalDeviceMemoryPropertiesBuilder { + inner: PhysicalDeviceMemoryProperties { + ..Default::default() + }, + } + } +} +impl PhysicalDeviceMemoryPropertiesBuilder { + #[inline] + pub fn memory_type_count(mut self, value: u32) -> Self { + self.inner.memory_type_count = value; + self + } + #[inline] + pub fn memory_types( + mut self, + value: [MemoryType; MAX_MEMORY_TYPES as usize], + ) -> Self { + self.inner.memory_types = value; + self + } + #[inline] + pub fn memory_heap_count(mut self, value: u32) -> Self { + self.inner.memory_heap_count = value; + self + } + #[inline] + pub fn memory_heaps( + mut self, + value: [MemoryHeap; MAX_MEMORY_HEAPS as usize], + ) -> Self { + self.inner.memory_heaps = value; + self + } +} +impl core::ops::Deref for PhysicalDeviceMemoryPropertiesBuilder { + type Target = PhysicalDeviceMemoryProperties; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for PhysicalDeviceMemoryPropertiesBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`MemoryAllocateInfo`] with lifetime-tied pNext safety. pub struct MemoryAllocateInfoBuilder<'a> { inner: MemoryAllocateInfo, @@ -338,105 +1037,516 @@ impl<'a> core::ops::DerefMut for MemoryAllocateInfoBuilder<'a> { &mut self.inner } } -///Builder for [`MappedMemoryRange`] with lifetime-tied pNext safety. -pub struct MappedMemoryRangeBuilder<'a> { - inner: MappedMemoryRange, - _marker: core::marker::PhantomData<&'a ()>, +///Builder for [`MemoryRequirements`]. +pub struct MemoryRequirementsBuilder { + inner: MemoryRequirements, } -impl MappedMemoryRange { - /// Start building this struct; `s_type` is already set to the correct variant. +impl MemoryRequirements { + /// Start building this struct. #[inline] - pub fn builder<'a>() -> MappedMemoryRangeBuilder<'a> { - MappedMemoryRangeBuilder { - inner: MappedMemoryRange { - s_type: StructureType::from_raw(6i32), + pub fn builder() -> MemoryRequirementsBuilder { + MemoryRequirementsBuilder { + inner: MemoryRequirements { ..Default::default() }, - _marker: core::marker::PhantomData, } } } -impl<'a> MappedMemoryRangeBuilder<'a> { - #[inline] - pub fn memory(mut self, value: DeviceMemory) -> Self { - self.inner.memory = value; - self - } +impl MemoryRequirementsBuilder { #[inline] - pub fn offset(mut self, value: u64) -> Self { - self.inner.offset = value; + pub fn size(mut self, value: u64) -> Self { + self.inner.size = value; self } #[inline] - pub fn size(mut self, value: u64) -> Self { - self.inner.size = value; + pub fn alignment(mut self, value: u64) -> Self { + self.inner.alignment = value; self } - ///Prepend a struct to the pNext chain. See [`MappedMemoryRange`]'s **Extended By** section for valid types. #[inline] - pub fn push_next(mut self, next: &'a mut T) -> Self { - unsafe { - let next_ptr = <*mut T>::cast::(next); - (*next_ptr).p_next = self.inner.p_next as *mut _; - self.inner.p_next = <*mut BaseOutStructure>::cast::< - core::ffi::c_void, - >(next_ptr) as *const _; - } + pub fn memory_type_bits(mut self, value: u32) -> Self { + self.inner.memory_type_bits = value; self } } -impl<'a> core::ops::Deref for MappedMemoryRangeBuilder<'a> { - type Target = MappedMemoryRange; +impl core::ops::Deref for MemoryRequirementsBuilder { + type Target = MemoryRequirements; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for MappedMemoryRangeBuilder<'a> { +impl core::ops::DerefMut for MemoryRequirementsBuilder { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`WriteDescriptorSet`] with lifetime-tied pNext safety. -pub struct WriteDescriptorSetBuilder<'a> { - inner: WriteDescriptorSet, - _marker: core::marker::PhantomData<&'a ()>, +///Builder for [`SparseImageFormatProperties`]. +pub struct SparseImageFormatPropertiesBuilder { + inner: SparseImageFormatProperties, } -impl WriteDescriptorSet { - /// Start building this struct; `s_type` is already set to the correct variant. +impl SparseImageFormatProperties { + /// Start building this struct. #[inline] - pub fn builder<'a>() -> WriteDescriptorSetBuilder<'a> { - WriteDescriptorSetBuilder { - inner: WriteDescriptorSet { - s_type: StructureType::from_raw(35i32), + pub fn builder() -> SparseImageFormatPropertiesBuilder { + SparseImageFormatPropertiesBuilder { + inner: SparseImageFormatProperties { ..Default::default() }, - _marker: core::marker::PhantomData, } } } -impl<'a> WriteDescriptorSetBuilder<'a> { +impl SparseImageFormatPropertiesBuilder { #[inline] - pub fn dst_set(mut self, value: DescriptorSet) -> Self { - self.inner.dst_set = value; + pub fn aspect_mask(mut self, value: ImageAspectFlags) -> Self { + self.inner.aspect_mask = value; self } #[inline] - pub fn dst_binding(mut self, value: u32) -> Self { - self.inner.dst_binding = value; + pub fn image_granularity(mut self, value: Extent3D) -> Self { + self.inner.image_granularity = value; self } #[inline] - pub fn dst_array_element(mut self, value: u32) -> Self { - self.inner.dst_array_element = value; + pub fn flags(mut self, value: SparseImageFormatFlags) -> Self { + self.inner.flags = value; self } +} +impl core::ops::Deref for SparseImageFormatPropertiesBuilder { + type Target = SparseImageFormatProperties; #[inline] - pub fn descriptor_type(mut self, value: DescriptorType) -> Self { - self.inner.descriptor_type = value; - self - } + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for SparseImageFormatPropertiesBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`SparseImageMemoryRequirements`]. +pub struct SparseImageMemoryRequirementsBuilder { + inner: SparseImageMemoryRequirements, +} +impl SparseImageMemoryRequirements { + /// Start building this struct. + #[inline] + pub fn builder() -> SparseImageMemoryRequirementsBuilder { + SparseImageMemoryRequirementsBuilder { + inner: SparseImageMemoryRequirements { + ..Default::default() + }, + } + } +} +impl SparseImageMemoryRequirementsBuilder { + #[inline] + pub fn format_properties(mut self, value: SparseImageFormatProperties) -> Self { + self.inner.format_properties = value; + self + } + #[inline] + pub fn image_mip_tail_first_lod(mut self, value: u32) -> Self { + self.inner.image_mip_tail_first_lod = value; + self + } + #[inline] + pub fn image_mip_tail_size(mut self, value: u64) -> Self { + self.inner.image_mip_tail_size = value; + self + } + #[inline] + pub fn image_mip_tail_offset(mut self, value: u64) -> Self { + self.inner.image_mip_tail_offset = value; + self + } + #[inline] + pub fn image_mip_tail_stride(mut self, value: u64) -> Self { + self.inner.image_mip_tail_stride = value; + self + } +} +impl core::ops::Deref for SparseImageMemoryRequirementsBuilder { + type Target = SparseImageMemoryRequirements; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for SparseImageMemoryRequirementsBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`MemoryType`]. +pub struct MemoryTypeBuilder { + inner: MemoryType, +} +impl MemoryType { + /// Start building this struct. + #[inline] + pub fn builder() -> MemoryTypeBuilder { + MemoryTypeBuilder { + inner: MemoryType { ..Default::default() }, + } + } +} +impl MemoryTypeBuilder { + #[inline] + pub fn property_flags(mut self, value: MemoryPropertyFlags) -> Self { + self.inner.property_flags = value; + self + } + #[inline] + pub fn heap_index(mut self, value: u32) -> Self { + self.inner.heap_index = value; + self + } +} +impl core::ops::Deref for MemoryTypeBuilder { + type Target = MemoryType; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for MemoryTypeBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`MemoryHeap`]. +pub struct MemoryHeapBuilder { + inner: MemoryHeap, +} +impl MemoryHeap { + /// Start building this struct. + #[inline] + pub fn builder() -> MemoryHeapBuilder { + MemoryHeapBuilder { + inner: MemoryHeap { ..Default::default() }, + } + } +} +impl MemoryHeapBuilder { + #[inline] + pub fn size(mut self, value: u64) -> Self { + self.inner.size = value; + self + } + #[inline] + pub fn flags(mut self, value: MemoryHeapFlags) -> Self { + self.inner.flags = value; + self + } +} +impl core::ops::Deref for MemoryHeapBuilder { + type Target = MemoryHeap; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for MemoryHeapBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`MappedMemoryRange`] with lifetime-tied pNext safety. +pub struct MappedMemoryRangeBuilder<'a> { + inner: MappedMemoryRange, + _marker: core::marker::PhantomData<&'a ()>, +} +impl MappedMemoryRange { + /// Start building this struct; `s_type` is already set to the correct variant. + #[inline] + pub fn builder<'a>() -> MappedMemoryRangeBuilder<'a> { + MappedMemoryRangeBuilder { + inner: MappedMemoryRange { + s_type: StructureType::from_raw(6i32), + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> MappedMemoryRangeBuilder<'a> { + #[inline] + pub fn memory(mut self, value: DeviceMemory) -> Self { + self.inner.memory = value; + self + } + #[inline] + pub fn offset(mut self, value: u64) -> Self { + self.inner.offset = value; + self + } + #[inline] + pub fn size(mut self, value: u64) -> Self { + self.inner.size = value; + self + } + ///Prepend a struct to the pNext chain. See [`MappedMemoryRange`]'s **Extended By** section for valid types. + #[inline] + pub fn push_next(mut self, next: &'a mut T) -> Self { + unsafe { + let next_ptr = <*mut T>::cast::(next); + (*next_ptr).p_next = self.inner.p_next as *mut _; + self.inner.p_next = <*mut BaseOutStructure>::cast::< + core::ffi::c_void, + >(next_ptr) as *const _; + } + self + } +} +impl<'a> core::ops::Deref for MappedMemoryRangeBuilder<'a> { + type Target = MappedMemoryRange; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> core::ops::DerefMut for MappedMemoryRangeBuilder<'a> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`FormatProperties`]. +pub struct FormatPropertiesBuilder { + inner: FormatProperties, +} +impl FormatProperties { + /// Start building this struct. + #[inline] + pub fn builder() -> FormatPropertiesBuilder { + FormatPropertiesBuilder { + inner: FormatProperties { + ..Default::default() + }, + } + } +} +impl FormatPropertiesBuilder { + #[inline] + pub fn linear_tiling_features(mut self, value: FormatFeatureFlags) -> Self { + self.inner.linear_tiling_features = value; + self + } + #[inline] + pub fn optimal_tiling_features(mut self, value: FormatFeatureFlags) -> Self { + self.inner.optimal_tiling_features = value; + self + } + #[inline] + pub fn buffer_features(mut self, value: FormatFeatureFlags) -> Self { + self.inner.buffer_features = value; + self + } +} +impl core::ops::Deref for FormatPropertiesBuilder { + type Target = FormatProperties; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for FormatPropertiesBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`ImageFormatProperties`]. +pub struct ImageFormatPropertiesBuilder { + inner: ImageFormatProperties, +} +impl ImageFormatProperties { + /// Start building this struct. + #[inline] + pub fn builder() -> ImageFormatPropertiesBuilder { + ImageFormatPropertiesBuilder { + inner: ImageFormatProperties { + ..Default::default() + }, + } + } +} +impl ImageFormatPropertiesBuilder { + #[inline] + pub fn max_extent(mut self, value: Extent3D) -> Self { + self.inner.max_extent = value; + self + } + #[inline] + pub fn max_mip_levels(mut self, value: u32) -> Self { + self.inner.max_mip_levels = value; + self + } + #[inline] + pub fn max_array_layers(mut self, value: u32) -> Self { + self.inner.max_array_layers = value; + self + } + #[inline] + pub fn sample_counts(mut self, value: SampleCountFlags) -> Self { + self.inner.sample_counts = value; + self + } + #[inline] + pub fn max_resource_size(mut self, value: u64) -> Self { + self.inner.max_resource_size = value; + self + } +} +impl core::ops::Deref for ImageFormatPropertiesBuilder { + type Target = ImageFormatProperties; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for ImageFormatPropertiesBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`DescriptorBufferInfo`]. +pub struct DescriptorBufferInfoBuilder { + inner: DescriptorBufferInfo, +} +impl DescriptorBufferInfo { + /// Start building this struct. + #[inline] + pub fn builder() -> DescriptorBufferInfoBuilder { + DescriptorBufferInfoBuilder { + inner: DescriptorBufferInfo { + ..Default::default() + }, + } + } +} +impl DescriptorBufferInfoBuilder { + #[inline] + pub fn buffer(mut self, value: Buffer) -> Self { + self.inner.buffer = value; + self + } + #[inline] + pub fn offset(mut self, value: u64) -> Self { + self.inner.offset = value; + self + } + #[inline] + pub fn range(mut self, value: u64) -> Self { + self.inner.range = value; + self + } +} +impl core::ops::Deref for DescriptorBufferInfoBuilder { + type Target = DescriptorBufferInfo; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for DescriptorBufferInfoBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`DescriptorImageInfo`]. +pub struct DescriptorImageInfoBuilder { + inner: DescriptorImageInfo, +} +impl DescriptorImageInfo { + /// Start building this struct. + #[inline] + pub fn builder() -> DescriptorImageInfoBuilder { + DescriptorImageInfoBuilder { + inner: DescriptorImageInfo { + ..Default::default() + }, + } + } +} +impl DescriptorImageInfoBuilder { + #[inline] + pub fn sampler(mut self, value: Sampler) -> Self { + self.inner.sampler = value; + self + } + #[inline] + pub fn image_view(mut self, value: ImageView) -> Self { + self.inner.image_view = value; + self + } + #[inline] + pub fn image_layout(mut self, value: ImageLayout) -> Self { + self.inner.image_layout = value; + self + } +} +impl core::ops::Deref for DescriptorImageInfoBuilder { + type Target = DescriptorImageInfo; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for DescriptorImageInfoBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`WriteDescriptorSet`] with lifetime-tied pNext safety. +pub struct WriteDescriptorSetBuilder<'a> { + inner: WriteDescriptorSet, + _marker: core::marker::PhantomData<&'a ()>, +} +impl WriteDescriptorSet { + /// Start building this struct; `s_type` is already set to the correct variant. + #[inline] + pub fn builder<'a>() -> WriteDescriptorSetBuilder<'a> { + WriteDescriptorSetBuilder { + inner: WriteDescriptorSet { + s_type: StructureType::from_raw(35i32), + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> WriteDescriptorSetBuilder<'a> { + #[inline] + pub fn dst_set(mut self, value: DescriptorSet) -> Self { + self.inner.dst_set = value; + self + } + #[inline] + pub fn dst_binding(mut self, value: u32) -> Self { + self.inner.dst_binding = value; + self + } + #[inline] + pub fn dst_array_element(mut self, value: u32) -> Self { + self.inner.dst_array_element = value; + self + } + #[inline] + pub fn descriptor_type(mut self, value: DescriptorType) -> Self { + self.inner.descriptor_type = value; + self + } #[inline] pub fn image_info(mut self, slice: &'a [DescriptorImageInfo]) -> Self { self.inner.descriptor_count = slice.len() as u32; @@ -755,6 +1865,156 @@ impl<'a> core::ops::DerefMut for BufferViewCreateInfoBuilder<'a> { &mut self.inner } } +///Builder for [`ImageSubresource`]. +pub struct ImageSubresourceBuilder { + inner: ImageSubresource, +} +impl ImageSubresource { + /// Start building this struct. + #[inline] + pub fn builder() -> ImageSubresourceBuilder { + ImageSubresourceBuilder { + inner: ImageSubresource { + ..Default::default() + }, + } + } +} +impl ImageSubresourceBuilder { + #[inline] + pub fn aspect_mask(mut self, value: ImageAspectFlags) -> Self { + self.inner.aspect_mask = value; + self + } + #[inline] + pub fn mip_level(mut self, value: u32) -> Self { + self.inner.mip_level = value; + self + } + #[inline] + pub fn array_layer(mut self, value: u32) -> Self { + self.inner.array_layer = value; + self + } +} +impl core::ops::Deref for ImageSubresourceBuilder { + type Target = ImageSubresource; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for ImageSubresourceBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`ImageSubresourceLayers`]. +pub struct ImageSubresourceLayersBuilder { + inner: ImageSubresourceLayers, +} +impl ImageSubresourceLayers { + /// Start building this struct. + #[inline] + pub fn builder() -> ImageSubresourceLayersBuilder { + ImageSubresourceLayersBuilder { + inner: ImageSubresourceLayers { + ..Default::default() + }, + } + } +} +impl ImageSubresourceLayersBuilder { + #[inline] + pub fn aspect_mask(mut self, value: ImageAspectFlags) -> Self { + self.inner.aspect_mask = value; + self + } + #[inline] + pub fn mip_level(mut self, value: u32) -> Self { + self.inner.mip_level = value; + self + } + #[inline] + pub fn base_array_layer(mut self, value: u32) -> Self { + self.inner.base_array_layer = value; + self + } + #[inline] + pub fn layer_count(mut self, value: u32) -> Self { + self.inner.layer_count = value; + self + } +} +impl core::ops::Deref for ImageSubresourceLayersBuilder { + type Target = ImageSubresourceLayers; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for ImageSubresourceLayersBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`ImageSubresourceRange`]. +pub struct ImageSubresourceRangeBuilder { + inner: ImageSubresourceRange, +} +impl ImageSubresourceRange { + /// Start building this struct. + #[inline] + pub fn builder() -> ImageSubresourceRangeBuilder { + ImageSubresourceRangeBuilder { + inner: ImageSubresourceRange { + ..Default::default() + }, + } + } +} +impl ImageSubresourceRangeBuilder { + #[inline] + pub fn aspect_mask(mut self, value: ImageAspectFlags) -> Self { + self.inner.aspect_mask = value; + self + } + #[inline] + pub fn base_mip_level(mut self, value: u32) -> Self { + self.inner.base_mip_level = value; + self + } + #[inline] + pub fn level_count(mut self, value: u32) -> Self { + self.inner.level_count = value; + self + } + #[inline] + pub fn base_array_layer(mut self, value: u32) -> Self { + self.inner.base_array_layer = value; + self + } + #[inline] + pub fn layer_count(mut self, value: u32) -> Self { + self.inner.layer_count = value; + self + } +} +impl core::ops::Deref for ImageSubresourceRangeBuilder { + type Target = ImageSubresourceRange; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for ImageSubresourceRangeBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`MemoryBarrier`] with lifetime-tied pNext safety. pub struct MemoryBarrierBuilder<'a> { inner: MemoryBarrier, @@ -1081,6 +2341,61 @@ impl<'a> core::ops::DerefMut for ImageCreateInfoBuilder<'a> { &mut self.inner } } +///Builder for [`SubresourceLayout`]. +pub struct SubresourceLayoutBuilder { + inner: SubresourceLayout, +} +impl SubresourceLayout { + /// Start building this struct. + #[inline] + pub fn builder() -> SubresourceLayoutBuilder { + SubresourceLayoutBuilder { + inner: SubresourceLayout { + ..Default::default() + }, + } + } +} +impl SubresourceLayoutBuilder { + #[inline] + pub fn offset(mut self, value: u64) -> Self { + self.inner.offset = value; + self + } + #[inline] + pub fn size(mut self, value: u64) -> Self { + self.inner.size = value; + self + } + #[inline] + pub fn row_pitch(mut self, value: u64) -> Self { + self.inner.row_pitch = value; + self + } + #[inline] + pub fn array_pitch(mut self, value: u64) -> Self { + self.inner.array_pitch = value; + self + } + #[inline] + pub fn depth_pitch(mut self, value: u64) -> Self { + self.inner.depth_pitch = value; + self + } +} +impl core::ops::Deref for SubresourceLayoutBuilder { + type Target = SubresourceLayout; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for SubresourceLayoutBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`ImageViewCreateInfo`] with lifetime-tied pNext safety. pub struct ImageViewCreateInfoBuilder<'a> { inner: ImageViewCreateInfo, @@ -1156,325 +2471,348 @@ impl<'a> core::ops::DerefMut for ImageViewCreateInfoBuilder<'a> { &mut self.inner } } -///Builder for [`BindSparseInfo`] with lifetime-tied pNext safety. -pub struct BindSparseInfoBuilder<'a> { - inner: BindSparseInfo, - _marker: core::marker::PhantomData<&'a ()>, +///Builder for [`BufferCopy`]. +pub struct BufferCopyBuilder { + inner: BufferCopy, } -impl BindSparseInfo { - /// Start building this struct; `s_type` is already set to the correct variant. +impl BufferCopy { + /// Start building this struct. #[inline] - pub fn builder<'a>() -> BindSparseInfoBuilder<'a> { - BindSparseInfoBuilder { - inner: BindSparseInfo { - s_type: StructureType::from_raw(7i32), - ..Default::default() - }, - _marker: core::marker::PhantomData, + pub fn builder() -> BufferCopyBuilder { + BufferCopyBuilder { + inner: BufferCopy { ..Default::default() }, } } } -impl<'a> BindSparseInfoBuilder<'a> { +impl BufferCopyBuilder { #[inline] - pub fn wait_semaphores(mut self, slice: &'a [Semaphore]) -> Self { - self.inner.wait_semaphore_count = slice.len() as u32; - self.inner.p_wait_semaphores = slice.as_ptr(); + pub fn src_offset(mut self, value: u64) -> Self { + self.inner.src_offset = value; self } #[inline] - pub fn buffer_binds(mut self, slice: &'a [SparseBufferMemoryBindInfo]) -> Self { - self.inner.buffer_bind_count = slice.len() as u32; - self.inner.p_buffer_binds = slice.as_ptr(); + pub fn dst_offset(mut self, value: u64) -> Self { + self.inner.dst_offset = value; self } #[inline] - pub fn image_opaque_binds( - mut self, - slice: &'a [SparseImageOpaqueMemoryBindInfo], - ) -> Self { - self.inner.image_opaque_bind_count = slice.len() as u32; - self.inner.p_image_opaque_binds = slice.as_ptr(); + pub fn size(mut self, value: u64) -> Self { + self.inner.size = value; self } +} +impl core::ops::Deref for BufferCopyBuilder { + type Target = BufferCopy; #[inline] - pub fn image_binds(mut self, slice: &'a [SparseImageMemoryBindInfo]) -> Self { - self.inner.image_bind_count = slice.len() as u32; - self.inner.p_image_binds = slice.as_ptr(); - self + fn deref(&self) -> &Self::Target { + &self.inner } +} +impl core::ops::DerefMut for BufferCopyBuilder { #[inline] - pub fn signal_semaphores(mut self, slice: &'a [Semaphore]) -> Self { - self.inner.signal_semaphore_count = slice.len() as u32; - self.inner.p_signal_semaphores = slice.as_ptr(); - self + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner } - ///Prepend a struct to the pNext chain. See [`BindSparseInfo`]'s **Extended By** section for valid types. +} +///Builder for [`SparseMemoryBind`]. +pub struct SparseMemoryBindBuilder { + inner: SparseMemoryBind, +} +impl SparseMemoryBind { + /// Start building this struct. #[inline] - pub fn push_next(mut self, next: &'a mut T) -> Self { - unsafe { - let next_ptr = <*mut T>::cast::(next); - (*next_ptr).p_next = self.inner.p_next as *mut _; - self.inner.p_next = <*mut BaseOutStructure>::cast::< - core::ffi::c_void, - >(next_ptr) as *const _; + pub fn builder() -> SparseMemoryBindBuilder { + SparseMemoryBindBuilder { + inner: SparseMemoryBind { + ..Default::default() + }, } + } +} +impl SparseMemoryBindBuilder { + #[inline] + pub fn resource_offset(mut self, value: u64) -> Self { + self.inner.resource_offset = value; + self + } + #[inline] + pub fn size(mut self, value: u64) -> Self { + self.inner.size = value; + self + } + #[inline] + pub fn memory(mut self, value: DeviceMemory) -> Self { + self.inner.memory = value; + self + } + #[inline] + pub fn memory_offset(mut self, value: u64) -> Self { + self.inner.memory_offset = value; + self + } + #[inline] + pub fn flags(mut self, value: SparseMemoryBindFlags) -> Self { + self.inner.flags = value; self } } -impl<'a> core::ops::Deref for BindSparseInfoBuilder<'a> { - type Target = BindSparseInfo; +impl core::ops::Deref for SparseMemoryBindBuilder { + type Target = SparseMemoryBind; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for BindSparseInfoBuilder<'a> { +impl core::ops::DerefMut for SparseMemoryBindBuilder { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`CopyMemoryIndirectInfoKHR`] with lifetime-tied pNext safety. -pub struct CopyMemoryIndirectInfoKHRBuilder<'a> { - inner: CopyMemoryIndirectInfoKHR, - _marker: core::marker::PhantomData<&'a ()>, +///Builder for [`SparseImageMemoryBind`]. +pub struct SparseImageMemoryBindBuilder { + inner: SparseImageMemoryBind, } -impl CopyMemoryIndirectInfoKHR { - /// Start building this struct; `s_type` is already set to the correct variant. +impl SparseImageMemoryBind { + /// Start building this struct. #[inline] - pub fn builder<'a>() -> CopyMemoryIndirectInfoKHRBuilder<'a> { - CopyMemoryIndirectInfoKHRBuilder { - inner: CopyMemoryIndirectInfoKHR { - s_type: StructureType::from_raw(1000549002i32), + pub fn builder() -> SparseImageMemoryBindBuilder { + SparseImageMemoryBindBuilder { + inner: SparseImageMemoryBind { ..Default::default() }, - _marker: core::marker::PhantomData, } } } -impl<'a> CopyMemoryIndirectInfoKHRBuilder<'a> { +impl SparseImageMemoryBindBuilder { #[inline] - pub fn src_copy_flags(mut self, value: AddressCopyFlagsKHR) -> Self { - self.inner.src_copy_flags = value; + pub fn subresource(mut self, value: ImageSubresource) -> Self { + self.inner.subresource = value; self } #[inline] - pub fn dst_copy_flags(mut self, value: AddressCopyFlagsKHR) -> Self { - self.inner.dst_copy_flags = value; + pub fn offset(mut self, value: Offset3D) -> Self { + self.inner.offset = value; self } #[inline] - pub fn copy_count(mut self, value: u32) -> Self { - self.inner.copy_count = value; + pub fn extent(mut self, value: Extent3D) -> Self { + self.inner.extent = value; self } #[inline] - pub fn copy_address_range(mut self, value: StridedDeviceAddressRangeKHR) -> Self { - self.inner.copy_address_range = value; + pub fn memory(mut self, value: DeviceMemory) -> Self { + self.inner.memory = value; self } - ///Prepend a struct to the pNext chain. See [`CopyMemoryIndirectInfoKHR`]'s **Extended By** section for valid types. #[inline] - pub fn push_next( - mut self, - next: &'a mut T, - ) -> Self { - unsafe { - let next_ptr = <*mut T>::cast::(next); - (*next_ptr).p_next = self.inner.p_next as *mut _; - self.inner.p_next = <*mut BaseOutStructure>::cast::< - core::ffi::c_void, - >(next_ptr) as *const _; - } + pub fn memory_offset(mut self, value: u64) -> Self { + self.inner.memory_offset = value; + self + } + #[inline] + pub fn flags(mut self, value: SparseMemoryBindFlags) -> Self { + self.inner.flags = value; self } } -impl<'a> core::ops::Deref for CopyMemoryIndirectInfoKHRBuilder<'a> { - type Target = CopyMemoryIndirectInfoKHR; +impl core::ops::Deref for SparseImageMemoryBindBuilder { + type Target = SparseImageMemoryBind; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for CopyMemoryIndirectInfoKHRBuilder<'a> { +impl core::ops::DerefMut for SparseImageMemoryBindBuilder { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`CopyMemoryToImageIndirectInfoKHR`] with lifetime-tied pNext safety. -pub struct CopyMemoryToImageIndirectInfoKHRBuilder<'a> { - inner: CopyMemoryToImageIndirectInfoKHR, +///Builder for [`SparseBufferMemoryBindInfo`]. +pub struct SparseBufferMemoryBindInfoBuilder<'a> { + inner: SparseBufferMemoryBindInfo, _marker: core::marker::PhantomData<&'a ()>, } -impl CopyMemoryToImageIndirectInfoKHR { - /// Start building this struct; `s_type` is already set to the correct variant. +impl SparseBufferMemoryBindInfo { + /// Start building this struct. #[inline] - pub fn builder<'a>() -> CopyMemoryToImageIndirectInfoKHRBuilder<'a> { - CopyMemoryToImageIndirectInfoKHRBuilder { - inner: CopyMemoryToImageIndirectInfoKHR { - s_type: StructureType::from_raw(1000549003i32), + pub fn builder<'a>() -> SparseBufferMemoryBindInfoBuilder<'a> { + SparseBufferMemoryBindInfoBuilder { + inner: SparseBufferMemoryBindInfo { ..Default::default() }, _marker: core::marker::PhantomData, } } } -impl<'a> CopyMemoryToImageIndirectInfoKHRBuilder<'a> { +impl<'a> SparseBufferMemoryBindInfoBuilder<'a> { #[inline] - pub fn src_copy_flags(mut self, value: AddressCopyFlagsKHR) -> Self { - self.inner.src_copy_flags = value; + pub fn buffer(mut self, value: Buffer) -> Self { + self.inner.buffer = value; self } #[inline] - pub fn copy_address_range(mut self, value: StridedDeviceAddressRangeKHR) -> Self { - self.inner.copy_address_range = value; + pub fn binds(mut self, slice: &'a [SparseMemoryBind]) -> Self { + self.inner.bind_count = slice.len() as u32; + self.inner.p_binds = slice.as_ptr(); self } +} +impl<'a> core::ops::Deref for SparseBufferMemoryBindInfoBuilder<'a> { + type Target = SparseBufferMemoryBindInfo; #[inline] - pub fn dst_image(mut self, value: Image) -> Self { - self.inner.dst_image = value; - self + fn deref(&self) -> &Self::Target { + &self.inner } +} +impl<'a> core::ops::DerefMut for SparseBufferMemoryBindInfoBuilder<'a> { #[inline] - pub fn dst_image_layout(mut self, value: ImageLayout) -> Self { - self.inner.dst_image_layout = value; - self + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner } +} +///Builder for [`SparseImageOpaqueMemoryBindInfo`]. +pub struct SparseImageOpaqueMemoryBindInfoBuilder<'a> { + inner: SparseImageOpaqueMemoryBindInfo, + _marker: core::marker::PhantomData<&'a ()>, +} +impl SparseImageOpaqueMemoryBindInfo { + /// Start building this struct. #[inline] - pub fn image_subresources(mut self, slice: &'a [ImageSubresourceLayers]) -> Self { - self.inner.copy_count = slice.len() as u32; - self.inner.p_image_subresources = slice.as_ptr(); + pub fn builder<'a>() -> SparseImageOpaqueMemoryBindInfoBuilder<'a> { + SparseImageOpaqueMemoryBindInfoBuilder { + inner: SparseImageOpaqueMemoryBindInfo { + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> SparseImageOpaqueMemoryBindInfoBuilder<'a> { + #[inline] + pub fn image(mut self, value: Image) -> Self { + self.inner.image = value; self } - ///Prepend a struct to the pNext chain. See [`CopyMemoryToImageIndirectInfoKHR`]'s **Extended By** section for valid types. #[inline] - pub fn push_next( - mut self, - next: &'a mut T, - ) -> Self { - unsafe { - let next_ptr = <*mut T>::cast::(next); - (*next_ptr).p_next = self.inner.p_next as *mut _; - self.inner.p_next = <*mut BaseOutStructure>::cast::< - core::ffi::c_void, - >(next_ptr) as *const _; - } + pub fn binds(mut self, slice: &'a [SparseMemoryBind]) -> Self { + self.inner.bind_count = slice.len() as u32; + self.inner.p_binds = slice.as_ptr(); self } } -impl<'a> core::ops::Deref for CopyMemoryToImageIndirectInfoKHRBuilder<'a> { - type Target = CopyMemoryToImageIndirectInfoKHR; +impl<'a> core::ops::Deref for SparseImageOpaqueMemoryBindInfoBuilder<'a> { + type Target = SparseImageOpaqueMemoryBindInfo; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for CopyMemoryToImageIndirectInfoKHRBuilder<'a> { +impl<'a> core::ops::DerefMut for SparseImageOpaqueMemoryBindInfoBuilder<'a> { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`ShaderModuleCreateInfo`] with lifetime-tied pNext safety. -pub struct ShaderModuleCreateInfoBuilder<'a> { - inner: ShaderModuleCreateInfo, +///Builder for [`SparseImageMemoryBindInfo`]. +pub struct SparseImageMemoryBindInfoBuilder<'a> { + inner: SparseImageMemoryBindInfo, _marker: core::marker::PhantomData<&'a ()>, } -impl ShaderModuleCreateInfo { - /// Start building this struct; `s_type` is already set to the correct variant. +impl SparseImageMemoryBindInfo { + /// Start building this struct. #[inline] - pub fn builder<'a>() -> ShaderModuleCreateInfoBuilder<'a> { - ShaderModuleCreateInfoBuilder { - inner: ShaderModuleCreateInfo { - s_type: StructureType::from_raw(16i32), + pub fn builder<'a>() -> SparseImageMemoryBindInfoBuilder<'a> { + SparseImageMemoryBindInfoBuilder { + inner: SparseImageMemoryBindInfo { ..Default::default() }, _marker: core::marker::PhantomData, } } } -impl<'a> ShaderModuleCreateInfoBuilder<'a> { - #[inline] - pub fn flags(mut self, value: ShaderModuleCreateFlags) -> Self { - self.inner.flags = value; - self - } - #[inline] - pub fn code_size(mut self, value: usize) -> Self { - self.inner.code_size = value; - self - } +impl<'a> SparseImageMemoryBindInfoBuilder<'a> { #[inline] - pub fn p_code(mut self, value: *const u32) -> Self { - self.inner.p_code = value; + pub fn image(mut self, value: Image) -> Self { + self.inner.image = value; self } - ///Prepend a struct to the pNext chain. See [`ShaderModuleCreateInfo`]'s **Extended By** section for valid types. #[inline] - pub fn push_next( - mut self, - next: &'a mut T, - ) -> Self { - unsafe { - let next_ptr = <*mut T>::cast::(next); - (*next_ptr).p_next = self.inner.p_next as *mut _; - self.inner.p_next = <*mut BaseOutStructure>::cast::< - core::ffi::c_void, - >(next_ptr) as *const _; - } + pub fn binds(mut self, slice: &'a [SparseImageMemoryBind]) -> Self { + self.inner.bind_count = slice.len() as u32; + self.inner.p_binds = slice.as_ptr(); self } } -impl<'a> core::ops::Deref for ShaderModuleCreateInfoBuilder<'a> { - type Target = ShaderModuleCreateInfo; +impl<'a> core::ops::Deref for SparseImageMemoryBindInfoBuilder<'a> { + type Target = SparseImageMemoryBindInfo; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for ShaderModuleCreateInfoBuilder<'a> { +impl<'a> core::ops::DerefMut for SparseImageMemoryBindInfoBuilder<'a> { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`DescriptorSetLayoutCreateInfo`] with lifetime-tied pNext safety. -pub struct DescriptorSetLayoutCreateInfoBuilder<'a> { - inner: DescriptorSetLayoutCreateInfo, +///Builder for [`BindSparseInfo`] with lifetime-tied pNext safety. +pub struct BindSparseInfoBuilder<'a> { + inner: BindSparseInfo, _marker: core::marker::PhantomData<&'a ()>, } -impl DescriptorSetLayoutCreateInfo { +impl BindSparseInfo { /// Start building this struct; `s_type` is already set to the correct variant. #[inline] - pub fn builder<'a>() -> DescriptorSetLayoutCreateInfoBuilder<'a> { - DescriptorSetLayoutCreateInfoBuilder { - inner: DescriptorSetLayoutCreateInfo { - s_type: StructureType::from_raw(32i32), + pub fn builder<'a>() -> BindSparseInfoBuilder<'a> { + BindSparseInfoBuilder { + inner: BindSparseInfo { + s_type: StructureType::from_raw(7i32), ..Default::default() }, _marker: core::marker::PhantomData, } } } -impl<'a> DescriptorSetLayoutCreateInfoBuilder<'a> { +impl<'a> BindSparseInfoBuilder<'a> { #[inline] - pub fn flags(mut self, value: DescriptorSetLayoutCreateFlags) -> Self { - self.inner.flags = value; + pub fn wait_semaphores(mut self, slice: &'a [Semaphore]) -> Self { + self.inner.wait_semaphore_count = slice.len() as u32; + self.inner.p_wait_semaphores = slice.as_ptr(); self } #[inline] - pub fn bindings(mut self, slice: &'a [DescriptorSetLayoutBinding]) -> Self { - self.inner.binding_count = slice.len() as u32; - self.inner.p_bindings = slice.as_ptr(); + pub fn buffer_binds(mut self, slice: &'a [SparseBufferMemoryBindInfo]) -> Self { + self.inner.buffer_bind_count = slice.len() as u32; + self.inner.p_buffer_binds = slice.as_ptr(); self } - ///Prepend a struct to the pNext chain. See [`DescriptorSetLayoutCreateInfo`]'s **Extended By** section for valid types. #[inline] - pub fn push_next( + pub fn image_opaque_binds( mut self, - next: &'a mut T, + slice: &'a [SparseImageOpaqueMemoryBindInfo], ) -> Self { + self.inner.image_opaque_bind_count = slice.len() as u32; + self.inner.p_image_opaque_binds = slice.as_ptr(); + self + } + #[inline] + pub fn image_binds(mut self, slice: &'a [SparseImageMemoryBindInfo]) -> Self { + self.inner.image_bind_count = slice.len() as u32; + self.inner.p_image_binds = slice.as_ptr(); + self + } + #[inline] + pub fn signal_semaphores(mut self, slice: &'a [Semaphore]) -> Self { + self.inner.signal_semaphore_count = slice.len() as u32; + self.inner.p_signal_semaphores = slice.as_ptr(); + self + } + ///Prepend a struct to the pNext chain. See [`BindSparseInfo`]'s **Extended By** section for valid types. + #[inline] + pub fn push_next(mut self, next: &'a mut T) -> Self { unsafe { let next_ptr = <*mut T>::cast::(next); (*next_ptr).p_next = self.inner.p_next as *mut _; @@ -1485,325 +2823,312 @@ impl<'a> DescriptorSetLayoutCreateInfoBuilder<'a> { self } } -impl<'a> core::ops::Deref for DescriptorSetLayoutCreateInfoBuilder<'a> { - type Target = DescriptorSetLayoutCreateInfo; +impl<'a> core::ops::Deref for BindSparseInfoBuilder<'a> { + type Target = BindSparseInfo; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for DescriptorSetLayoutCreateInfoBuilder<'a> { +impl<'a> core::ops::DerefMut for BindSparseInfoBuilder<'a> { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`DescriptorPoolCreateInfo`] with lifetime-tied pNext safety. -pub struct DescriptorPoolCreateInfoBuilder<'a> { - inner: DescriptorPoolCreateInfo, - _marker: core::marker::PhantomData<&'a ()>, +///Builder for [`ImageCopy`]. +pub struct ImageCopyBuilder { + inner: ImageCopy, } -impl DescriptorPoolCreateInfo { - /// Start building this struct; `s_type` is already set to the correct variant. +impl ImageCopy { + /// Start building this struct. #[inline] - pub fn builder<'a>() -> DescriptorPoolCreateInfoBuilder<'a> { - DescriptorPoolCreateInfoBuilder { - inner: DescriptorPoolCreateInfo { - s_type: StructureType::from_raw(33i32), - ..Default::default() - }, - _marker: core::marker::PhantomData, + pub fn builder() -> ImageCopyBuilder { + ImageCopyBuilder { + inner: ImageCopy { ..Default::default() }, } } } -impl<'a> DescriptorPoolCreateInfoBuilder<'a> { +impl ImageCopyBuilder { #[inline] - pub fn flags(mut self, value: DescriptorPoolCreateFlags) -> Self { - self.inner.flags = value; + pub fn src_subresource(mut self, value: ImageSubresourceLayers) -> Self { + self.inner.src_subresource = value; self } #[inline] - pub fn max_sets(mut self, value: u32) -> Self { - self.inner.max_sets = value; + pub fn src_offset(mut self, value: Offset3D) -> Self { + self.inner.src_offset = value; self } #[inline] - pub fn pool_sizes(mut self, slice: &'a [DescriptorPoolSize]) -> Self { - self.inner.pool_size_count = slice.len() as u32; - self.inner.p_pool_sizes = slice.as_ptr(); + pub fn dst_subresource(mut self, value: ImageSubresourceLayers) -> Self { + self.inner.dst_subresource = value; self } - ///Prepend a struct to the pNext chain. See [`DescriptorPoolCreateInfo`]'s **Extended By** section for valid types. #[inline] - pub fn push_next( - mut self, - next: &'a mut T, - ) -> Self { - unsafe { - let next_ptr = <*mut T>::cast::(next); - (*next_ptr).p_next = self.inner.p_next as *mut _; - self.inner.p_next = <*mut BaseOutStructure>::cast::< - core::ffi::c_void, - >(next_ptr) as *const _; - } + pub fn dst_offset(mut self, value: Offset3D) -> Self { + self.inner.dst_offset = value; + self + } + #[inline] + pub fn extent(mut self, value: Extent3D) -> Self { + self.inner.extent = value; self } } -impl<'a> core::ops::Deref for DescriptorPoolCreateInfoBuilder<'a> { - type Target = DescriptorPoolCreateInfo; +impl core::ops::Deref for ImageCopyBuilder { + type Target = ImageCopy; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for DescriptorPoolCreateInfoBuilder<'a> { +impl core::ops::DerefMut for ImageCopyBuilder { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`DescriptorSetAllocateInfo`] with lifetime-tied pNext safety. -pub struct DescriptorSetAllocateInfoBuilder<'a> { - inner: DescriptorSetAllocateInfo, - _marker: core::marker::PhantomData<&'a ()>, +///Builder for [`ImageBlit`]. +pub struct ImageBlitBuilder { + inner: ImageBlit, } -impl DescriptorSetAllocateInfo { - /// Start building this struct; `s_type` is already set to the correct variant. +impl ImageBlit { + /// Start building this struct. #[inline] - pub fn builder<'a>() -> DescriptorSetAllocateInfoBuilder<'a> { - DescriptorSetAllocateInfoBuilder { - inner: DescriptorSetAllocateInfo { - s_type: StructureType::from_raw(34i32), - ..Default::default() - }, - _marker: core::marker::PhantomData, + pub fn builder() -> ImageBlitBuilder { + ImageBlitBuilder { + inner: ImageBlit { ..Default::default() }, } } } -impl<'a> DescriptorSetAllocateInfoBuilder<'a> { +impl ImageBlitBuilder { #[inline] - pub fn descriptor_pool(mut self, value: DescriptorPool) -> Self { - self.inner.descriptor_pool = value; + pub fn src_subresource(mut self, value: ImageSubresourceLayers) -> Self { + self.inner.src_subresource = value; self } #[inline] - pub fn set_layouts(mut self, slice: &'a [DescriptorSetLayout]) -> Self { - self.inner.descriptor_set_count = slice.len() as u32; - self.inner.p_set_layouts = slice.as_ptr(); + pub fn src_offsets(mut self, value: [Offset3D; 2usize]) -> Self { + self.inner.src_offsets = value; self } - ///Prepend a struct to the pNext chain. See [`DescriptorSetAllocateInfo`]'s **Extended By** section for valid types. #[inline] - pub fn push_next( - mut self, - next: &'a mut T, - ) -> Self { - unsafe { - let next_ptr = <*mut T>::cast::(next); - (*next_ptr).p_next = self.inner.p_next as *mut _; - self.inner.p_next = <*mut BaseOutStructure>::cast::< - core::ffi::c_void, - >(next_ptr) as *const _; - } + pub fn dst_subresource(mut self, value: ImageSubresourceLayers) -> Self { + self.inner.dst_subresource = value; + self + } + #[inline] + pub fn dst_offsets(mut self, value: [Offset3D; 2usize]) -> Self { + self.inner.dst_offsets = value; self } } -impl<'a> core::ops::Deref for DescriptorSetAllocateInfoBuilder<'a> { - type Target = DescriptorSetAllocateInfo; +impl core::ops::Deref for ImageBlitBuilder { + type Target = ImageBlit; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for DescriptorSetAllocateInfoBuilder<'a> { +impl core::ops::DerefMut for ImageBlitBuilder { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`PipelineShaderStageCreateInfo`] with lifetime-tied pNext safety. -pub struct PipelineShaderStageCreateInfoBuilder<'a> { - inner: PipelineShaderStageCreateInfo, - _marker: core::marker::PhantomData<&'a ()>, +///Builder for [`BufferImageCopy`]. +pub struct BufferImageCopyBuilder { + inner: BufferImageCopy, } -impl PipelineShaderStageCreateInfo { - /// Start building this struct; `s_type` is already set to the correct variant. +impl BufferImageCopy { + /// Start building this struct. #[inline] - pub fn builder<'a>() -> PipelineShaderStageCreateInfoBuilder<'a> { - PipelineShaderStageCreateInfoBuilder { - inner: PipelineShaderStageCreateInfo { - s_type: StructureType::from_raw(18i32), + pub fn builder() -> BufferImageCopyBuilder { + BufferImageCopyBuilder { + inner: BufferImageCopy { ..Default::default() }, - _marker: core::marker::PhantomData, } } } -impl<'a> PipelineShaderStageCreateInfoBuilder<'a> { +impl BufferImageCopyBuilder { #[inline] - pub fn flags(mut self, value: PipelineShaderStageCreateFlags) -> Self { - self.inner.flags = value; + pub fn buffer_offset(mut self, value: u64) -> Self { + self.inner.buffer_offset = value; self } #[inline] - pub fn stage(mut self, value: ShaderStageFlagBits) -> Self { - self.inner.stage = value; + pub fn buffer_row_length(mut self, value: u32) -> Self { + self.inner.buffer_row_length = value; self } #[inline] - pub fn module(mut self, value: ShaderModule) -> Self { - self.inner.module = value; + pub fn buffer_image_height(mut self, value: u32) -> Self { + self.inner.buffer_image_height = value; self } #[inline] - pub fn p_name(mut self, value: &'a core::ffi::CStr) -> Self { - self.inner.p_name = value.as_ptr(); + pub fn image_subresource(mut self, value: ImageSubresourceLayers) -> Self { + self.inner.image_subresource = value; self } #[inline] - pub fn p_specialization_info(mut self, value: &'a SpecializationInfo) -> Self { - self.inner.p_specialization_info = value; + pub fn image_offset(mut self, value: Offset3D) -> Self { + self.inner.image_offset = value; self } - ///Prepend a struct to the pNext chain. See [`PipelineShaderStageCreateInfo`]'s **Extended By** section for valid types. #[inline] - pub fn push_next( - mut self, - next: &'a mut T, - ) -> Self { - unsafe { - let next_ptr = <*mut T>::cast::(next); - (*next_ptr).p_next = self.inner.p_next as *mut _; - self.inner.p_next = <*mut BaseOutStructure>::cast::< - core::ffi::c_void, - >(next_ptr) as *const _; - } + pub fn image_extent(mut self, value: Extent3D) -> Self { + self.inner.image_extent = value; self } } -impl<'a> core::ops::Deref for PipelineShaderStageCreateInfoBuilder<'a> { - type Target = PipelineShaderStageCreateInfo; +impl core::ops::Deref for BufferImageCopyBuilder { + type Target = BufferImageCopy; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for PipelineShaderStageCreateInfoBuilder<'a> { +impl core::ops::DerefMut for BufferImageCopyBuilder { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`ComputePipelineCreateInfo`] with lifetime-tied pNext safety. -pub struct ComputePipelineCreateInfoBuilder<'a> { - inner: ComputePipelineCreateInfo, - _marker: core::marker::PhantomData<&'a ()>, +///Builder for [`StridedDeviceAddressRangeKHR`]. +pub struct StridedDeviceAddressRangeKHRBuilder { + inner: StridedDeviceAddressRangeKHR, } -impl ComputePipelineCreateInfo { - /// Start building this struct; `s_type` is already set to the correct variant. +impl StridedDeviceAddressRangeKHR { + /// Start building this struct. #[inline] - pub fn builder<'a>() -> ComputePipelineCreateInfoBuilder<'a> { - ComputePipelineCreateInfoBuilder { - inner: ComputePipelineCreateInfo { - s_type: StructureType::from_raw(29i32), + pub fn builder() -> StridedDeviceAddressRangeKHRBuilder { + StridedDeviceAddressRangeKHRBuilder { + inner: StridedDeviceAddressRangeKHR { ..Default::default() }, - _marker: core::marker::PhantomData, } } } -impl<'a> ComputePipelineCreateInfoBuilder<'a> { +impl StridedDeviceAddressRangeKHRBuilder { #[inline] - pub fn flags(mut self, value: PipelineCreateFlags) -> Self { - self.inner.flags = value; + pub fn address(mut self, value: u64) -> Self { + self.inner.address = value; self } #[inline] - pub fn stage(mut self, value: PipelineShaderStageCreateInfo) -> Self { - self.inner.stage = value; + pub fn size(mut self, value: u64) -> Self { + self.inner.size = value; self } #[inline] - pub fn layout(mut self, value: PipelineLayout) -> Self { - self.inner.layout = value; + pub fn stride(mut self, value: u64) -> Self { + self.inner.stride = value; self } +} +impl core::ops::Deref for StridedDeviceAddressRangeKHRBuilder { + type Target = StridedDeviceAddressRangeKHR; #[inline] - pub fn base_pipeline_handle(mut self, value: Pipeline) -> Self { - self.inner.base_pipeline_handle = value; + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for StridedDeviceAddressRangeKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`CopyMemoryIndirectCommandKHR`]. +pub struct CopyMemoryIndirectCommandKHRBuilder { + inner: CopyMemoryIndirectCommandKHR, +} +impl CopyMemoryIndirectCommandKHR { + /// Start building this struct. + #[inline] + pub fn builder() -> CopyMemoryIndirectCommandKHRBuilder { + CopyMemoryIndirectCommandKHRBuilder { + inner: CopyMemoryIndirectCommandKHR { + ..Default::default() + }, + } + } +} +impl CopyMemoryIndirectCommandKHRBuilder { + #[inline] + pub fn src_address(mut self, value: u64) -> Self { + self.inner.src_address = value; self } #[inline] - pub fn base_pipeline_index(mut self, value: i32) -> Self { - self.inner.base_pipeline_index = value; + pub fn dst_address(mut self, value: u64) -> Self { + self.inner.dst_address = value; self } - ///Prepend a struct to the pNext chain. See [`ComputePipelineCreateInfo`]'s **Extended By** section for valid types. #[inline] - pub fn push_next( - mut self, - next: &'a mut T, - ) -> Self { - unsafe { - let next_ptr = <*mut T>::cast::(next); - (*next_ptr).p_next = self.inner.p_next as *mut _; - self.inner.p_next = <*mut BaseOutStructure>::cast::< - core::ffi::c_void, - >(next_ptr) as *const _; - } + pub fn size(mut self, value: u64) -> Self { + self.inner.size = value; self } } -impl<'a> core::ops::Deref for ComputePipelineCreateInfoBuilder<'a> { - type Target = ComputePipelineCreateInfo; +impl core::ops::Deref for CopyMemoryIndirectCommandKHRBuilder { + type Target = CopyMemoryIndirectCommandKHR; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for ComputePipelineCreateInfoBuilder<'a> { +impl core::ops::DerefMut for CopyMemoryIndirectCommandKHRBuilder { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`ComputePipelineIndirectBufferInfoNV`] with lifetime-tied pNext safety. -pub struct ComputePipelineIndirectBufferInfoNVBuilder<'a> { - inner: ComputePipelineIndirectBufferInfoNV, +///Builder for [`CopyMemoryIndirectInfoKHR`] with lifetime-tied pNext safety. +pub struct CopyMemoryIndirectInfoKHRBuilder<'a> { + inner: CopyMemoryIndirectInfoKHR, _marker: core::marker::PhantomData<&'a ()>, } -impl ComputePipelineIndirectBufferInfoNV { +impl CopyMemoryIndirectInfoKHR { /// Start building this struct; `s_type` is already set to the correct variant. #[inline] - pub fn builder<'a>() -> ComputePipelineIndirectBufferInfoNVBuilder<'a> { - ComputePipelineIndirectBufferInfoNVBuilder { - inner: ComputePipelineIndirectBufferInfoNV { - s_type: StructureType::from_raw(1000428001i32), + pub fn builder<'a>() -> CopyMemoryIndirectInfoKHRBuilder<'a> { + CopyMemoryIndirectInfoKHRBuilder { + inner: CopyMemoryIndirectInfoKHR { + s_type: StructureType::from_raw(1000549002i32), ..Default::default() }, _marker: core::marker::PhantomData, } } } -impl<'a> ComputePipelineIndirectBufferInfoNVBuilder<'a> { +impl<'a> CopyMemoryIndirectInfoKHRBuilder<'a> { #[inline] - pub fn device_address(mut self, value: u64) -> Self { - self.inner.device_address = value; + pub fn src_copy_flags(mut self, value: AddressCopyFlagsKHR) -> Self { + self.inner.src_copy_flags = value; self } #[inline] - pub fn size(mut self, value: u64) -> Self { - self.inner.size = value; + pub fn dst_copy_flags(mut self, value: AddressCopyFlagsKHR) -> Self { + self.inner.dst_copy_flags = value; self } #[inline] - pub fn pipeline_device_address_capture_replay(mut self, value: u64) -> Self { - self.inner.pipeline_device_address_capture_replay = value; + pub fn copy_count(mut self, value: u32) -> Self { + self.inner.copy_count = value; self } - ///Prepend a struct to the pNext chain. See [`ComputePipelineIndirectBufferInfoNV`]'s **Extended By** section for valid types. #[inline] - pub fn push_next( + pub fn copy_address_range(mut self, value: StridedDeviceAddressRangeKHR) -> Self { + self.inner.copy_address_range = value; + self + } + ///Prepend a struct to the pNext chain. See [`CopyMemoryIndirectInfoKHR`]'s **Extended By** section for valid types. + #[inline] + pub fn push_next( mut self, next: &'a mut T, ) -> Self { @@ -1817,117 +3142,127 @@ impl<'a> ComputePipelineIndirectBufferInfoNVBuilder<'a> { self } } -impl<'a> core::ops::Deref for ComputePipelineIndirectBufferInfoNVBuilder<'a> { - type Target = ComputePipelineIndirectBufferInfoNV; +impl<'a> core::ops::Deref for CopyMemoryIndirectInfoKHRBuilder<'a> { + type Target = CopyMemoryIndirectInfoKHR; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for ComputePipelineIndirectBufferInfoNVBuilder<'a> { +impl<'a> core::ops::DerefMut for CopyMemoryIndirectInfoKHRBuilder<'a> { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`PipelineCreateFlags2CreateInfo`] with lifetime-tied pNext safety. -pub struct PipelineCreateFlags2CreateInfoBuilder<'a> { - inner: PipelineCreateFlags2CreateInfo, - _marker: core::marker::PhantomData<&'a ()>, +///Builder for [`CopyMemoryToImageIndirectCommandKHR`]. +pub struct CopyMemoryToImageIndirectCommandKHRBuilder { + inner: CopyMemoryToImageIndirectCommandKHR, } -impl PipelineCreateFlags2CreateInfo { - /// Start building this struct; `s_type` is already set to the correct variant. +impl CopyMemoryToImageIndirectCommandKHR { + /// Start building this struct. #[inline] - pub fn builder<'a>() -> PipelineCreateFlags2CreateInfoBuilder<'a> { - PipelineCreateFlags2CreateInfoBuilder { - inner: PipelineCreateFlags2CreateInfo { - s_type: StructureType::from_raw(1000470005i32), + pub fn builder() -> CopyMemoryToImageIndirectCommandKHRBuilder { + CopyMemoryToImageIndirectCommandKHRBuilder { + inner: CopyMemoryToImageIndirectCommandKHR { ..Default::default() }, - _marker: core::marker::PhantomData, } } } -impl<'a> PipelineCreateFlags2CreateInfoBuilder<'a> { +impl CopyMemoryToImageIndirectCommandKHRBuilder { #[inline] - pub fn flags(mut self, value: PipelineCreateFlags2) -> Self { - self.inner.flags = value; + pub fn src_address(mut self, value: u64) -> Self { + self.inner.src_address = value; self } - ///Prepend a struct to the pNext chain. See [`PipelineCreateFlags2CreateInfo`]'s **Extended By** section for valid types. #[inline] - pub fn push_next( - mut self, - next: &'a mut T, - ) -> Self { - unsafe { - let next_ptr = <*mut T>::cast::(next); - (*next_ptr).p_next = self.inner.p_next as *mut _; - self.inner.p_next = <*mut BaseOutStructure>::cast::< - core::ffi::c_void, - >(next_ptr) as *const _; - } + pub fn buffer_row_length(mut self, value: u32) -> Self { + self.inner.buffer_row_length = value; + self + } + #[inline] + pub fn buffer_image_height(mut self, value: u32) -> Self { + self.inner.buffer_image_height = value; + self + } + #[inline] + pub fn image_subresource(mut self, value: ImageSubresourceLayers) -> Self { + self.inner.image_subresource = value; + self + } + #[inline] + pub fn image_offset(mut self, value: Offset3D) -> Self { + self.inner.image_offset = value; self } -} -impl<'a> core::ops::Deref for PipelineCreateFlags2CreateInfoBuilder<'a> { - type Target = PipelineCreateFlags2CreateInfo; + #[inline] + pub fn image_extent(mut self, value: Extent3D) -> Self { + self.inner.image_extent = value; + self + } +} +impl core::ops::Deref for CopyMemoryToImageIndirectCommandKHRBuilder { + type Target = CopyMemoryToImageIndirectCommandKHR; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for PipelineCreateFlags2CreateInfoBuilder<'a> { +impl core::ops::DerefMut for CopyMemoryToImageIndirectCommandKHRBuilder { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`PipelineVertexInputStateCreateInfo`] with lifetime-tied pNext safety. -pub struct PipelineVertexInputStateCreateInfoBuilder<'a> { - inner: PipelineVertexInputStateCreateInfo, +///Builder for [`CopyMemoryToImageIndirectInfoKHR`] with lifetime-tied pNext safety. +pub struct CopyMemoryToImageIndirectInfoKHRBuilder<'a> { + inner: CopyMemoryToImageIndirectInfoKHR, _marker: core::marker::PhantomData<&'a ()>, } -impl PipelineVertexInputStateCreateInfo { +impl CopyMemoryToImageIndirectInfoKHR { /// Start building this struct; `s_type` is already set to the correct variant. #[inline] - pub fn builder<'a>() -> PipelineVertexInputStateCreateInfoBuilder<'a> { - PipelineVertexInputStateCreateInfoBuilder { - inner: PipelineVertexInputStateCreateInfo { - s_type: StructureType::from_raw(19i32), + pub fn builder<'a>() -> CopyMemoryToImageIndirectInfoKHRBuilder<'a> { + CopyMemoryToImageIndirectInfoKHRBuilder { + inner: CopyMemoryToImageIndirectInfoKHR { + s_type: StructureType::from_raw(1000549003i32), ..Default::default() }, _marker: core::marker::PhantomData, } } } -impl<'a> PipelineVertexInputStateCreateInfoBuilder<'a> { +impl<'a> CopyMemoryToImageIndirectInfoKHRBuilder<'a> { #[inline] - pub fn flags(mut self, value: PipelineVertexInputStateCreateFlags) -> Self { - self.inner.flags = value; + pub fn src_copy_flags(mut self, value: AddressCopyFlagsKHR) -> Self { + self.inner.src_copy_flags = value; self } #[inline] - pub fn vertex_binding_descriptions( - mut self, - slice: &'a [VertexInputBindingDescription], - ) -> Self { - self.inner.vertex_binding_description_count = slice.len() as u32; - self.inner.p_vertex_binding_descriptions = slice.as_ptr(); + pub fn copy_address_range(mut self, value: StridedDeviceAddressRangeKHR) -> Self { + self.inner.copy_address_range = value; self } #[inline] - pub fn vertex_attribute_descriptions( - mut self, - slice: &'a [VertexInputAttributeDescription], - ) -> Self { - self.inner.vertex_attribute_description_count = slice.len() as u32; - self.inner.p_vertex_attribute_descriptions = slice.as_ptr(); + pub fn dst_image(mut self, value: Image) -> Self { + self.inner.dst_image = value; self } - ///Prepend a struct to the pNext chain. See [`PipelineVertexInputStateCreateInfo`]'s **Extended By** section for valid types. #[inline] - pub fn push_next( + pub fn dst_image_layout(mut self, value: ImageLayout) -> Self { + self.inner.dst_image_layout = value; + self + } + #[inline] + pub fn image_subresources(mut self, slice: &'a [ImageSubresourceLayers]) -> Self { + self.inner.copy_count = slice.len() as u32; + self.inner.p_image_subresources = slice.as_ptr(); + self + } + ///Prepend a struct to the pNext chain. See [`CopyMemoryToImageIndirectInfoKHR`]'s **Extended By** section for valid types. + #[inline] + pub fn push_next( mut self, next: &'a mut T, ) -> Self { @@ -1941,114 +3276,107 @@ impl<'a> PipelineVertexInputStateCreateInfoBuilder<'a> { self } } -impl<'a> core::ops::Deref for PipelineVertexInputStateCreateInfoBuilder<'a> { - type Target = PipelineVertexInputStateCreateInfo; +impl<'a> core::ops::Deref for CopyMemoryToImageIndirectInfoKHRBuilder<'a> { + type Target = CopyMemoryToImageIndirectInfoKHR; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for PipelineVertexInputStateCreateInfoBuilder<'a> { +impl<'a> core::ops::DerefMut for CopyMemoryToImageIndirectInfoKHRBuilder<'a> { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`PipelineInputAssemblyStateCreateInfo`] with lifetime-tied pNext safety. -pub struct PipelineInputAssemblyStateCreateInfoBuilder<'a> { - inner: PipelineInputAssemblyStateCreateInfo, - _marker: core::marker::PhantomData<&'a ()>, +///Builder for [`ImageResolve`]. +pub struct ImageResolveBuilder { + inner: ImageResolve, } -impl PipelineInputAssemblyStateCreateInfo { - /// Start building this struct; `s_type` is already set to the correct variant. +impl ImageResolve { + /// Start building this struct. #[inline] - pub fn builder<'a>() -> PipelineInputAssemblyStateCreateInfoBuilder<'a> { - PipelineInputAssemblyStateCreateInfoBuilder { - inner: PipelineInputAssemblyStateCreateInfo { - s_type: StructureType::from_raw(20i32), + pub fn builder() -> ImageResolveBuilder { + ImageResolveBuilder { + inner: ImageResolve { ..Default::default() }, - _marker: core::marker::PhantomData, } } } -impl<'a> PipelineInputAssemblyStateCreateInfoBuilder<'a> { +impl ImageResolveBuilder { #[inline] - pub fn flags(mut self, value: PipelineInputAssemblyStateCreateFlags) -> Self { - self.inner.flags = value; + pub fn src_subresource(mut self, value: ImageSubresourceLayers) -> Self { + self.inner.src_subresource = value; self } #[inline] - pub fn topology(mut self, value: PrimitiveTopology) -> Self { - self.inner.topology = value; + pub fn src_offset(mut self, value: Offset3D) -> Self { + self.inner.src_offset = value; self } #[inline] - pub fn primitive_restart_enable(mut self, value: bool) -> Self { - self.inner.primitive_restart_enable = value as u32; + pub fn dst_subresource(mut self, value: ImageSubresourceLayers) -> Self { + self.inner.dst_subresource = value; self } - ///Prepend a struct to the pNext chain. See [`PipelineInputAssemblyStateCreateInfo`]'s **Extended By** section for valid types. #[inline] - pub fn push_next( - mut self, - next: &'a mut T, - ) -> Self { - unsafe { - let next_ptr = <*mut T>::cast::(next); - (*next_ptr).p_next = self.inner.p_next as *mut _; - self.inner.p_next = <*mut BaseOutStructure>::cast::< - core::ffi::c_void, - >(next_ptr) as *const _; - } + pub fn dst_offset(mut self, value: Offset3D) -> Self { + self.inner.dst_offset = value; + self + } + #[inline] + pub fn extent(mut self, value: Extent3D) -> Self { + self.inner.extent = value; self } } -impl<'a> core::ops::Deref for PipelineInputAssemblyStateCreateInfoBuilder<'a> { - type Target = PipelineInputAssemblyStateCreateInfo; +impl core::ops::Deref for ImageResolveBuilder { + type Target = ImageResolve; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for PipelineInputAssemblyStateCreateInfoBuilder<'a> { +impl core::ops::DerefMut for ImageResolveBuilder { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`PipelineTessellationStateCreateInfo`] with lifetime-tied pNext safety. -pub struct PipelineTessellationStateCreateInfoBuilder<'a> { - inner: PipelineTessellationStateCreateInfo, +///Builder for [`ShaderModuleCreateInfo`] with lifetime-tied pNext safety. +pub struct ShaderModuleCreateInfoBuilder<'a> { + inner: ShaderModuleCreateInfo, _marker: core::marker::PhantomData<&'a ()>, } -impl PipelineTessellationStateCreateInfo { +impl ShaderModuleCreateInfo { /// Start building this struct; `s_type` is already set to the correct variant. #[inline] - pub fn builder<'a>() -> PipelineTessellationStateCreateInfoBuilder<'a> { - PipelineTessellationStateCreateInfoBuilder { - inner: PipelineTessellationStateCreateInfo { - s_type: StructureType::from_raw(21i32), + pub fn builder<'a>() -> ShaderModuleCreateInfoBuilder<'a> { + ShaderModuleCreateInfoBuilder { + inner: ShaderModuleCreateInfo { + s_type: StructureType::from_raw(16i32), ..Default::default() }, _marker: core::marker::PhantomData, } } } -impl<'a> PipelineTessellationStateCreateInfoBuilder<'a> { +impl<'a> ShaderModuleCreateInfoBuilder<'a> { #[inline] - pub fn flags(mut self, value: PipelineTessellationStateCreateFlags) -> Self { + pub fn flags(mut self, value: ShaderModuleCreateFlags) -> Self { self.inner.flags = value; self } #[inline] - pub fn patch_control_points(mut self, value: u32) -> Self { - self.inner.patch_control_points = value; + pub fn code(mut self, slice: &'a [u32]) -> Self { + self.inner.code_size = core::mem::size_of_val(slice); + self.inner.p_code = slice.as_ptr(); self } - ///Prepend a struct to the pNext chain. See [`PipelineTessellationStateCreateInfo`]'s **Extended By** section for valid types. + ///Prepend a struct to the pNext chain. See [`ShaderModuleCreateInfo`]'s **Extended By** section for valid types. #[inline] - pub fn push_next( + pub fn push_next( mut self, next: &'a mut T, ) -> Self { @@ -2062,161 +3390,110 @@ impl<'a> PipelineTessellationStateCreateInfoBuilder<'a> { self } } -impl<'a> core::ops::Deref for PipelineTessellationStateCreateInfoBuilder<'a> { - type Target = PipelineTessellationStateCreateInfo; +impl<'a> core::ops::Deref for ShaderModuleCreateInfoBuilder<'a> { + type Target = ShaderModuleCreateInfo; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for PipelineTessellationStateCreateInfoBuilder<'a> { +impl<'a> core::ops::DerefMut for ShaderModuleCreateInfoBuilder<'a> { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`PipelineViewportStateCreateInfo`] with lifetime-tied pNext safety. -pub struct PipelineViewportStateCreateInfoBuilder<'a> { - inner: PipelineViewportStateCreateInfo, +///Builder for [`DescriptorSetLayoutBinding`]. +pub struct DescriptorSetLayoutBindingBuilder<'a> { + inner: DescriptorSetLayoutBinding, _marker: core::marker::PhantomData<&'a ()>, } -impl PipelineViewportStateCreateInfo { - /// Start building this struct; `s_type` is already set to the correct variant. +impl DescriptorSetLayoutBinding { + /// Start building this struct. #[inline] - pub fn builder<'a>() -> PipelineViewportStateCreateInfoBuilder<'a> { - PipelineViewportStateCreateInfoBuilder { - inner: PipelineViewportStateCreateInfo { - s_type: StructureType::from_raw(22i32), + pub fn builder<'a>() -> DescriptorSetLayoutBindingBuilder<'a> { + DescriptorSetLayoutBindingBuilder { + inner: DescriptorSetLayoutBinding { ..Default::default() }, _marker: core::marker::PhantomData, } } } -impl<'a> PipelineViewportStateCreateInfoBuilder<'a> { +impl<'a> DescriptorSetLayoutBindingBuilder<'a> { #[inline] - pub fn flags(mut self, value: PipelineViewportStateCreateFlags) -> Self { - self.inner.flags = value; + pub fn binding(mut self, value: u32) -> Self { + self.inner.binding = value; self } #[inline] - pub fn viewports(mut self, slice: &'a [Viewport]) -> Self { - self.inner.viewport_count = slice.len() as u32; - self.inner.p_viewports = slice.as_ptr(); + pub fn descriptor_type(mut self, value: DescriptorType) -> Self { + self.inner.descriptor_type = value; self } #[inline] - pub fn scissors(mut self, slice: &'a [Rect2D]) -> Self { - self.inner.scissor_count = slice.len() as u32; - self.inner.p_scissors = slice.as_ptr(); + pub fn descriptor_count(mut self, value: u32) -> Self { + self.inner.descriptor_count = value; self } - ///Prepend a struct to the pNext chain. See [`PipelineViewportStateCreateInfo`]'s **Extended By** section for valid types. #[inline] - pub fn push_next( - mut self, - next: &'a mut T, - ) -> Self { - unsafe { - let next_ptr = <*mut T>::cast::(next); - (*next_ptr).p_next = self.inner.p_next as *mut _; - self.inner.p_next = <*mut BaseOutStructure>::cast::< - core::ffi::c_void, - >(next_ptr) as *const _; - } + pub fn stage_flags(mut self, value: ShaderStageFlags) -> Self { + self.inner.stage_flags = value; + self + } + #[inline] + pub fn immutable_samplers(mut self, slice: &'a [Sampler]) -> Self { + self.inner.descriptor_count = slice.len() as u32; + self.inner.p_immutable_samplers = slice.as_ptr(); self } } -impl<'a> core::ops::Deref for PipelineViewportStateCreateInfoBuilder<'a> { - type Target = PipelineViewportStateCreateInfo; +impl<'a> core::ops::Deref for DescriptorSetLayoutBindingBuilder<'a> { + type Target = DescriptorSetLayoutBinding; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for PipelineViewportStateCreateInfoBuilder<'a> { +impl<'a> core::ops::DerefMut for DescriptorSetLayoutBindingBuilder<'a> { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`PipelineRasterizationStateCreateInfo`] with lifetime-tied pNext safety. -pub struct PipelineRasterizationStateCreateInfoBuilder<'a> { - inner: PipelineRasterizationStateCreateInfo, +///Builder for [`DescriptorSetLayoutCreateInfo`] with lifetime-tied pNext safety. +pub struct DescriptorSetLayoutCreateInfoBuilder<'a> { + inner: DescriptorSetLayoutCreateInfo, _marker: core::marker::PhantomData<&'a ()>, } -impl PipelineRasterizationStateCreateInfo { +impl DescriptorSetLayoutCreateInfo { /// Start building this struct; `s_type` is already set to the correct variant. #[inline] - pub fn builder<'a>() -> PipelineRasterizationStateCreateInfoBuilder<'a> { - PipelineRasterizationStateCreateInfoBuilder { - inner: PipelineRasterizationStateCreateInfo { - s_type: StructureType::from_raw(23i32), + pub fn builder<'a>() -> DescriptorSetLayoutCreateInfoBuilder<'a> { + DescriptorSetLayoutCreateInfoBuilder { + inner: DescriptorSetLayoutCreateInfo { + s_type: StructureType::from_raw(32i32), ..Default::default() }, _marker: core::marker::PhantomData, } } } -impl<'a> PipelineRasterizationStateCreateInfoBuilder<'a> { +impl<'a> DescriptorSetLayoutCreateInfoBuilder<'a> { #[inline] - pub fn flags(mut self, value: PipelineRasterizationStateCreateFlags) -> Self { + pub fn flags(mut self, value: DescriptorSetLayoutCreateFlags) -> Self { self.inner.flags = value; self } #[inline] - pub fn depth_clamp_enable(mut self, value: bool) -> Self { - self.inner.depth_clamp_enable = value as u32; - self - } - #[inline] - pub fn rasterizer_discard_enable(mut self, value: bool) -> Self { - self.inner.rasterizer_discard_enable = value as u32; - self - } - #[inline] - pub fn polygon_mode(mut self, value: PolygonMode) -> Self { - self.inner.polygon_mode = value; - self - } - #[inline] - pub fn cull_mode(mut self, value: CullModeFlags) -> Self { - self.inner.cull_mode = value; - self - } - #[inline] - pub fn front_face(mut self, value: FrontFace) -> Self { - self.inner.front_face = value; - self - } - #[inline] - pub fn depth_bias_enable(mut self, value: bool) -> Self { - self.inner.depth_bias_enable = value as u32; - self - } - #[inline] - pub fn depth_bias_constant_factor(mut self, value: f32) -> Self { - self.inner.depth_bias_constant_factor = value; - self - } - #[inline] - pub fn depth_bias_clamp(mut self, value: f32) -> Self { - self.inner.depth_bias_clamp = value; - self - } - #[inline] - pub fn depth_bias_slope_factor(mut self, value: f32) -> Self { - self.inner.depth_bias_slope_factor = value; - self - } - #[inline] - pub fn line_width(mut self, value: f32) -> Self { - self.inner.line_width = value; + pub fn bindings(mut self, slice: &'a [DescriptorSetLayoutBinding]) -> Self { + self.inner.binding_count = slice.len() as u32; + self.inner.p_bindings = slice.as_ptr(); self } - ///Prepend a struct to the pNext chain. See [`PipelineRasterizationStateCreateInfo`]'s **Extended By** section for valid types. + ///Prepend a struct to the pNext chain. See [`DescriptorSetLayoutCreateInfo`]'s **Extended By** section for valid types. #[inline] - pub fn push_next( + pub fn push_next( mut self, next: &'a mut T, ) -> Self { @@ -2230,76 +3507,97 @@ impl<'a> PipelineRasterizationStateCreateInfoBuilder<'a> { self } } -impl<'a> core::ops::Deref for PipelineRasterizationStateCreateInfoBuilder<'a> { - type Target = PipelineRasterizationStateCreateInfo; +impl<'a> core::ops::Deref for DescriptorSetLayoutCreateInfoBuilder<'a> { + type Target = DescriptorSetLayoutCreateInfo; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for PipelineRasterizationStateCreateInfoBuilder<'a> { +impl<'a> core::ops::DerefMut for DescriptorSetLayoutCreateInfoBuilder<'a> { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`PipelineMultisampleStateCreateInfo`] with lifetime-tied pNext safety. -pub struct PipelineMultisampleStateCreateInfoBuilder<'a> { - inner: PipelineMultisampleStateCreateInfo, - _marker: core::marker::PhantomData<&'a ()>, +///Builder for [`DescriptorPoolSize`]. +pub struct DescriptorPoolSizeBuilder { + inner: DescriptorPoolSize, } -impl PipelineMultisampleStateCreateInfo { - /// Start building this struct; `s_type` is already set to the correct variant. +impl DescriptorPoolSize { + /// Start building this struct. #[inline] - pub fn builder<'a>() -> PipelineMultisampleStateCreateInfoBuilder<'a> { - PipelineMultisampleStateCreateInfoBuilder { - inner: PipelineMultisampleStateCreateInfo { - s_type: StructureType::from_raw(24i32), + pub fn builder() -> DescriptorPoolSizeBuilder { + DescriptorPoolSizeBuilder { + inner: DescriptorPoolSize { ..Default::default() }, - _marker: core::marker::PhantomData, } } } -impl<'a> PipelineMultisampleStateCreateInfoBuilder<'a> { +impl DescriptorPoolSizeBuilder { #[inline] - pub fn flags(mut self, value: PipelineMultisampleStateCreateFlags) -> Self { - self.inner.flags = value; + pub fn r#type(mut self, value: DescriptorType) -> Self { + self.inner.r#type = value; self } #[inline] - pub fn rasterization_samples(mut self, value: SampleCountFlagBits) -> Self { - self.inner.rasterization_samples = value; + pub fn descriptor_count(mut self, value: u32) -> Self { + self.inner.descriptor_count = value; self } +} +impl core::ops::Deref for DescriptorPoolSizeBuilder { + type Target = DescriptorPoolSize; #[inline] - pub fn sample_shading_enable(mut self, value: bool) -> Self { - self.inner.sample_shading_enable = value as u32; - self + fn deref(&self) -> &Self::Target { + &self.inner } +} +impl core::ops::DerefMut for DescriptorPoolSizeBuilder { #[inline] - pub fn min_sample_shading(mut self, value: f32) -> Self { - self.inner.min_sample_shading = value; - self + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`DescriptorPoolCreateInfo`] with lifetime-tied pNext safety. +pub struct DescriptorPoolCreateInfoBuilder<'a> { + inner: DescriptorPoolCreateInfo, + _marker: core::marker::PhantomData<&'a ()>, +} +impl DescriptorPoolCreateInfo { + /// Start building this struct; `s_type` is already set to the correct variant. + #[inline] + pub fn builder<'a>() -> DescriptorPoolCreateInfoBuilder<'a> { + DescriptorPoolCreateInfoBuilder { + inner: DescriptorPoolCreateInfo { + s_type: StructureType::from_raw(33i32), + ..Default::default() + }, + _marker: core::marker::PhantomData, + } } +} +impl<'a> DescriptorPoolCreateInfoBuilder<'a> { #[inline] - pub fn p_sample_mask(mut self, value: &'a u32) -> Self { - self.inner.p_sample_mask = value; + pub fn flags(mut self, value: DescriptorPoolCreateFlags) -> Self { + self.inner.flags = value; self } #[inline] - pub fn alpha_to_coverage_enable(mut self, value: bool) -> Self { - self.inner.alpha_to_coverage_enable = value as u32; + pub fn max_sets(mut self, value: u32) -> Self { + self.inner.max_sets = value; self } #[inline] - pub fn alpha_to_one_enable(mut self, value: bool) -> Self { - self.inner.alpha_to_one_enable = value as u32; + pub fn pool_sizes(mut self, slice: &'a [DescriptorPoolSize]) -> Self { + self.inner.pool_size_count = slice.len() as u32; + self.inner.p_pool_sizes = slice.as_ptr(); self } - ///Prepend a struct to the pNext chain. See [`PipelineMultisampleStateCreateInfo`]'s **Extended By** section for valid types. + ///Prepend a struct to the pNext chain. See [`DescriptorPoolCreateInfo`]'s **Extended By** section for valid types. #[inline] - pub fn push_next( + pub fn push_next( mut self, next: &'a mut T, ) -> Self { @@ -2313,70 +3611,52 @@ impl<'a> PipelineMultisampleStateCreateInfoBuilder<'a> { self } } -impl<'a> core::ops::Deref for PipelineMultisampleStateCreateInfoBuilder<'a> { - type Target = PipelineMultisampleStateCreateInfo; +impl<'a> core::ops::Deref for DescriptorPoolCreateInfoBuilder<'a> { + type Target = DescriptorPoolCreateInfo; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for PipelineMultisampleStateCreateInfoBuilder<'a> { +impl<'a> core::ops::DerefMut for DescriptorPoolCreateInfoBuilder<'a> { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`PipelineColorBlendStateCreateInfo`] with lifetime-tied pNext safety. -pub struct PipelineColorBlendStateCreateInfoBuilder<'a> { - inner: PipelineColorBlendStateCreateInfo, +///Builder for [`DescriptorSetAllocateInfo`] with lifetime-tied pNext safety. +pub struct DescriptorSetAllocateInfoBuilder<'a> { + inner: DescriptorSetAllocateInfo, _marker: core::marker::PhantomData<&'a ()>, } -impl PipelineColorBlendStateCreateInfo { +impl DescriptorSetAllocateInfo { /// Start building this struct; `s_type` is already set to the correct variant. #[inline] - pub fn builder<'a>() -> PipelineColorBlendStateCreateInfoBuilder<'a> { - PipelineColorBlendStateCreateInfoBuilder { - inner: PipelineColorBlendStateCreateInfo { - s_type: StructureType::from_raw(26i32), + pub fn builder<'a>() -> DescriptorSetAllocateInfoBuilder<'a> { + DescriptorSetAllocateInfoBuilder { + inner: DescriptorSetAllocateInfo { + s_type: StructureType::from_raw(34i32), ..Default::default() }, _marker: core::marker::PhantomData, } } } -impl<'a> PipelineColorBlendStateCreateInfoBuilder<'a> { - #[inline] - pub fn flags(mut self, value: PipelineColorBlendStateCreateFlags) -> Self { - self.inner.flags = value; - self - } - #[inline] - pub fn logic_op_enable(mut self, value: bool) -> Self { - self.inner.logic_op_enable = value as u32; - self - } - #[inline] - pub fn logic_op(mut self, value: LogicOp) -> Self { - self.inner.logic_op = value; - self - } +impl<'a> DescriptorSetAllocateInfoBuilder<'a> { #[inline] - pub fn attachments( - mut self, - slice: &'a [PipelineColorBlendAttachmentState], - ) -> Self { - self.inner.attachment_count = slice.len() as u32; - self.inner.p_attachments = slice.as_ptr(); + pub fn descriptor_pool(mut self, value: DescriptorPool) -> Self { + self.inner.descriptor_pool = value; self } #[inline] - pub fn blend_constants(mut self, value: [f32; 4usize]) -> Self { - self.inner.blend_constants = value; + pub fn set_layouts(mut self, slice: &'a [DescriptorSetLayout]) -> Self { + self.inner.descriptor_set_count = slice.len() as u32; + self.inner.p_set_layouts = slice.as_ptr(); self } - ///Prepend a struct to the pNext chain. See [`PipelineColorBlendStateCreateInfo`]'s **Extended By** section for valid types. + ///Prepend a struct to the pNext chain. See [`DescriptorSetAllocateInfo`]'s **Extended By** section for valid types. #[inline] - pub fn push_next( + pub fn push_next( mut self, next: &'a mut T, ) -> Self { @@ -2390,150 +3670,155 @@ impl<'a> PipelineColorBlendStateCreateInfoBuilder<'a> { self } } -impl<'a> core::ops::Deref for PipelineColorBlendStateCreateInfoBuilder<'a> { - type Target = PipelineColorBlendStateCreateInfo; +impl<'a> core::ops::Deref for DescriptorSetAllocateInfoBuilder<'a> { + type Target = DescriptorSetAllocateInfo; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for PipelineColorBlendStateCreateInfoBuilder<'a> { +impl<'a> core::ops::DerefMut for DescriptorSetAllocateInfoBuilder<'a> { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`PipelineDynamicStateCreateInfo`] with lifetime-tied pNext safety. -pub struct PipelineDynamicStateCreateInfoBuilder<'a> { - inner: PipelineDynamicStateCreateInfo, - _marker: core::marker::PhantomData<&'a ()>, +///Builder for [`SpecializationMapEntry`]. +pub struct SpecializationMapEntryBuilder { + inner: SpecializationMapEntry, } -impl PipelineDynamicStateCreateInfo { - /// Start building this struct; `s_type` is already set to the correct variant. +impl SpecializationMapEntry { + /// Start building this struct. #[inline] - pub fn builder<'a>() -> PipelineDynamicStateCreateInfoBuilder<'a> { - PipelineDynamicStateCreateInfoBuilder { - inner: PipelineDynamicStateCreateInfo { - s_type: StructureType::from_raw(27i32), + pub fn builder() -> SpecializationMapEntryBuilder { + SpecializationMapEntryBuilder { + inner: SpecializationMapEntry { ..Default::default() }, - _marker: core::marker::PhantomData, } } } -impl<'a> PipelineDynamicStateCreateInfoBuilder<'a> { +impl SpecializationMapEntryBuilder { #[inline] - pub fn flags(mut self, value: PipelineDynamicStateCreateFlags) -> Self { - self.inner.flags = value; + pub fn constant_id(mut self, value: u32) -> Self { + self.inner.constant_id = value; self } #[inline] - pub fn dynamic_states(mut self, slice: &'a [DynamicState]) -> Self { - self.inner.dynamic_state_count = slice.len() as u32; - self.inner.p_dynamic_states = slice.as_ptr(); + pub fn offset(mut self, value: u32) -> Self { + self.inner.offset = value; self } - ///Prepend a struct to the pNext chain. See [`PipelineDynamicStateCreateInfo`]'s **Extended By** section for valid types. #[inline] - pub fn push_next( - mut self, - next: &'a mut T, - ) -> Self { - unsafe { - let next_ptr = <*mut T>::cast::(next); - (*next_ptr).p_next = self.inner.p_next as *mut _; - self.inner.p_next = <*mut BaseOutStructure>::cast::< - core::ffi::c_void, - >(next_ptr) as *const _; - } + pub fn size(mut self, value: usize) -> Self { + self.inner.size = value; self } } -impl<'a> core::ops::Deref for PipelineDynamicStateCreateInfoBuilder<'a> { - type Target = PipelineDynamicStateCreateInfo; +impl core::ops::Deref for SpecializationMapEntryBuilder { + type Target = SpecializationMapEntry; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for PipelineDynamicStateCreateInfoBuilder<'a> { +impl core::ops::DerefMut for SpecializationMapEntryBuilder { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`PipelineDepthStencilStateCreateInfo`] with lifetime-tied pNext safety. -pub struct PipelineDepthStencilStateCreateInfoBuilder<'a> { - inner: PipelineDepthStencilStateCreateInfo, +///Builder for [`SpecializationInfo`]. +pub struct SpecializationInfoBuilder<'a> { + inner: SpecializationInfo, _marker: core::marker::PhantomData<&'a ()>, } -impl PipelineDepthStencilStateCreateInfo { - /// Start building this struct; `s_type` is already set to the correct variant. +impl SpecializationInfo { + /// Start building this struct. #[inline] - pub fn builder<'a>() -> PipelineDepthStencilStateCreateInfoBuilder<'a> { - PipelineDepthStencilStateCreateInfoBuilder { - inner: PipelineDepthStencilStateCreateInfo { - s_type: StructureType::from_raw(25i32), + pub fn builder<'a>() -> SpecializationInfoBuilder<'a> { + SpecializationInfoBuilder { + inner: SpecializationInfo { ..Default::default() }, _marker: core::marker::PhantomData, } } } -impl<'a> PipelineDepthStencilStateCreateInfoBuilder<'a> { +impl<'a> SpecializationInfoBuilder<'a> { #[inline] - pub fn flags(mut self, value: PipelineDepthStencilStateCreateFlags) -> Self { - self.inner.flags = value; + pub fn map_entries(mut self, slice: &'a [SpecializationMapEntry]) -> Self { + self.inner.map_entry_count = slice.len() as u32; + self.inner.p_map_entries = slice.as_ptr(); self } #[inline] - pub fn depth_test_enable(mut self, value: bool) -> Self { - self.inner.depth_test_enable = value as u32; + pub fn data(mut self, slice: &'a [core::ffi::c_void]) -> Self { + self.inner.data_size = slice.len(); + self.inner.p_data = slice.as_ptr(); self } +} +impl<'a> core::ops::Deref for SpecializationInfoBuilder<'a> { + type Target = SpecializationInfo; #[inline] - pub fn depth_write_enable(mut self, value: bool) -> Self { - self.inner.depth_write_enable = value as u32; - self + fn deref(&self) -> &Self::Target { + &self.inner } +} +impl<'a> core::ops::DerefMut for SpecializationInfoBuilder<'a> { #[inline] - pub fn depth_compare_op(mut self, value: CompareOp) -> Self { - self.inner.depth_compare_op = value; - self + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner } +} +///Builder for [`PipelineShaderStageCreateInfo`] with lifetime-tied pNext safety. +pub struct PipelineShaderStageCreateInfoBuilder<'a> { + inner: PipelineShaderStageCreateInfo, + _marker: core::marker::PhantomData<&'a ()>, +} +impl PipelineShaderStageCreateInfo { + /// Start building this struct; `s_type` is already set to the correct variant. #[inline] - pub fn depth_bounds_test_enable(mut self, value: bool) -> Self { - self.inner.depth_bounds_test_enable = value as u32; + pub fn builder<'a>() -> PipelineShaderStageCreateInfoBuilder<'a> { + PipelineShaderStageCreateInfoBuilder { + inner: PipelineShaderStageCreateInfo { + s_type: StructureType::from_raw(18i32), + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> PipelineShaderStageCreateInfoBuilder<'a> { + #[inline] + pub fn flags(mut self, value: PipelineShaderStageCreateFlags) -> Self { + self.inner.flags = value; self } #[inline] - pub fn stencil_test_enable(mut self, value: bool) -> Self { - self.inner.stencil_test_enable = value as u32; + pub fn stage(mut self, value: ShaderStageFlagBits) -> Self { + self.inner.stage = value; self } #[inline] - pub fn front(mut self, value: StencilOpState) -> Self { - self.inner.front = value; + pub fn module(mut self, value: ShaderModule) -> Self { + self.inner.module = value; self } #[inline] - pub fn back(mut self, value: StencilOpState) -> Self { - self.inner.back = value; - self - } - #[inline] - pub fn min_depth_bounds(mut self, value: f32) -> Self { - self.inner.min_depth_bounds = value; + pub fn name(mut self, value: &'a core::ffi::CStr) -> Self { + self.inner.p_name = value.as_ptr(); self } #[inline] - pub fn max_depth_bounds(mut self, value: f32) -> Self { - self.inner.max_depth_bounds = value; + pub fn specialization_info(mut self, value: &'a SpecializationInfo) -> Self { + self.inner.p_specialization_info = value; self } - ///Prepend a struct to the pNext chain. See [`PipelineDepthStencilStateCreateInfo`]'s **Extended By** section for valid types. + ///Prepend a struct to the pNext chain. See [`PipelineShaderStageCreateInfo`]'s **Extended By** section for valid types. #[inline] - pub fn push_next( + pub fn push_next( mut self, next: &'a mut T, ) -> Self { @@ -2547,116 +3832,46 @@ impl<'a> PipelineDepthStencilStateCreateInfoBuilder<'a> { self } } -impl<'a> core::ops::Deref for PipelineDepthStencilStateCreateInfoBuilder<'a> { - type Target = PipelineDepthStencilStateCreateInfo; +impl<'a> core::ops::Deref for PipelineShaderStageCreateInfoBuilder<'a> { + type Target = PipelineShaderStageCreateInfo; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for PipelineDepthStencilStateCreateInfoBuilder<'a> { +impl<'a> core::ops::DerefMut for PipelineShaderStageCreateInfoBuilder<'a> { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`GraphicsPipelineCreateInfo`] with lifetime-tied pNext safety. -pub struct GraphicsPipelineCreateInfoBuilder<'a> { - inner: GraphicsPipelineCreateInfo, +///Builder for [`ComputePipelineCreateInfo`] with lifetime-tied pNext safety. +pub struct ComputePipelineCreateInfoBuilder<'a> { + inner: ComputePipelineCreateInfo, _marker: core::marker::PhantomData<&'a ()>, } -impl GraphicsPipelineCreateInfo { +impl ComputePipelineCreateInfo { /// Start building this struct; `s_type` is already set to the correct variant. #[inline] - pub fn builder<'a>() -> GraphicsPipelineCreateInfoBuilder<'a> { - GraphicsPipelineCreateInfoBuilder { - inner: GraphicsPipelineCreateInfo { - s_type: StructureType::from_raw(28i32), + pub fn builder<'a>() -> ComputePipelineCreateInfoBuilder<'a> { + ComputePipelineCreateInfoBuilder { + inner: ComputePipelineCreateInfo { + s_type: StructureType::from_raw(29i32), ..Default::default() }, _marker: core::marker::PhantomData, } } } -impl<'a> GraphicsPipelineCreateInfoBuilder<'a> { +impl<'a> ComputePipelineCreateInfoBuilder<'a> { #[inline] pub fn flags(mut self, value: PipelineCreateFlags) -> Self { self.inner.flags = value; self } #[inline] - pub fn stages(mut self, slice: &'a [PipelineShaderStageCreateInfo]) -> Self { - self.inner.stage_count = slice.len() as u32; - self.inner.p_stages = slice.as_ptr(); - self - } - #[inline] - pub fn p_vertex_input_state( - mut self, - value: &'a PipelineVertexInputStateCreateInfo, - ) -> Self { - self.inner.p_vertex_input_state = value; - self - } - #[inline] - pub fn p_input_assembly_state( - mut self, - value: &'a PipelineInputAssemblyStateCreateInfo, - ) -> Self { - self.inner.p_input_assembly_state = value; - self - } - #[inline] - pub fn p_tessellation_state( - mut self, - value: &'a PipelineTessellationStateCreateInfo, - ) -> Self { - self.inner.p_tessellation_state = value; - self - } - #[inline] - pub fn p_viewport_state( - mut self, - value: &'a PipelineViewportStateCreateInfo, - ) -> Self { - self.inner.p_viewport_state = value; - self - } - #[inline] - pub fn p_rasterization_state( - mut self, - value: &'a PipelineRasterizationStateCreateInfo, - ) -> Self { - self.inner.p_rasterization_state = value; - self - } - #[inline] - pub fn p_multisample_state( - mut self, - value: &'a PipelineMultisampleStateCreateInfo, - ) -> Self { - self.inner.p_multisample_state = value; - self - } - #[inline] - pub fn p_depth_stencil_state( - mut self, - value: &'a PipelineDepthStencilStateCreateInfo, - ) -> Self { - self.inner.p_depth_stencil_state = value; - self - } - #[inline] - pub fn p_color_blend_state( - mut self, - value: &'a PipelineColorBlendStateCreateInfo, - ) -> Self { - self.inner.p_color_blend_state = value; - self - } - #[inline] - pub fn p_dynamic_state(mut self, value: &'a PipelineDynamicStateCreateInfo) -> Self { - self.inner.p_dynamic_state = value; + pub fn stage(mut self, value: PipelineShaderStageCreateInfo) -> Self { + self.inner.stage = value; self } #[inline] @@ -2665,16 +3880,6 @@ impl<'a> GraphicsPipelineCreateInfoBuilder<'a> { self } #[inline] - pub fn render_pass(mut self, value: RenderPass) -> Self { - self.inner.render_pass = value; - self - } - #[inline] - pub fn subpass(mut self, value: u32) -> Self { - self.inner.subpass = value; - self - } - #[inline] pub fn base_pipeline_handle(mut self, value: Pipeline) -> Self { self.inner.base_pipeline_handle = value; self @@ -2684,9 +3889,9 @@ impl<'a> GraphicsPipelineCreateInfoBuilder<'a> { self.inner.base_pipeline_index = value; self } - ///Prepend a struct to the pNext chain. See [`GraphicsPipelineCreateInfo`]'s **Extended By** section for valid types. + ///Prepend a struct to the pNext chain. See [`ComputePipelineCreateInfo`]'s **Extended By** section for valid types. #[inline] - pub fn push_next( + pub fn push_next( mut self, next: &'a mut T, ) -> Self { @@ -2700,52 +3905,56 @@ impl<'a> GraphicsPipelineCreateInfoBuilder<'a> { self } } -impl<'a> core::ops::Deref for GraphicsPipelineCreateInfoBuilder<'a> { - type Target = GraphicsPipelineCreateInfo; +impl<'a> core::ops::Deref for ComputePipelineCreateInfoBuilder<'a> { + type Target = ComputePipelineCreateInfo; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for GraphicsPipelineCreateInfoBuilder<'a> { +impl<'a> core::ops::DerefMut for ComputePipelineCreateInfoBuilder<'a> { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`PipelineCacheCreateInfo`] with lifetime-tied pNext safety. -pub struct PipelineCacheCreateInfoBuilder<'a> { - inner: PipelineCacheCreateInfo, +///Builder for [`ComputePipelineIndirectBufferInfoNV`] with lifetime-tied pNext safety. +pub struct ComputePipelineIndirectBufferInfoNVBuilder<'a> { + inner: ComputePipelineIndirectBufferInfoNV, _marker: core::marker::PhantomData<&'a ()>, } -impl PipelineCacheCreateInfo { +impl ComputePipelineIndirectBufferInfoNV { /// Start building this struct; `s_type` is already set to the correct variant. #[inline] - pub fn builder<'a>() -> PipelineCacheCreateInfoBuilder<'a> { - PipelineCacheCreateInfoBuilder { - inner: PipelineCacheCreateInfo { - s_type: StructureType::from_raw(17i32), + pub fn builder<'a>() -> ComputePipelineIndirectBufferInfoNVBuilder<'a> { + ComputePipelineIndirectBufferInfoNVBuilder { + inner: ComputePipelineIndirectBufferInfoNV { + s_type: StructureType::from_raw(1000428001i32), ..Default::default() }, _marker: core::marker::PhantomData, } } } -impl<'a> PipelineCacheCreateInfoBuilder<'a> { +impl<'a> ComputePipelineIndirectBufferInfoNVBuilder<'a> { #[inline] - pub fn flags(mut self, value: PipelineCacheCreateFlags) -> Self { - self.inner.flags = value; + pub fn device_address(mut self, value: u64) -> Self { + self.inner.device_address = value; self } #[inline] - pub fn initial_data(mut self, slice: &'a [core::ffi::c_void]) -> Self { - self.inner.initial_data_size = slice.len(); - self.inner.p_initial_data = slice.as_ptr(); + pub fn size(mut self, value: u64) -> Self { + self.inner.size = value; self } - ///Prepend a struct to the pNext chain. See [`PipelineCacheCreateInfo`]'s **Extended By** section for valid types. #[inline] - pub fn push_next( + pub fn pipeline_device_address_capture_replay(mut self, value: u64) -> Self { + self.inner.pipeline_device_address_capture_replay = value; + self + } + ///Prepend a struct to the pNext chain. See [`ComputePipelineIndirectBufferInfoNV`]'s **Extended By** section for valid types. + #[inline] + pub fn push_next( mut self, next: &'a mut T, ) -> Self { @@ -2759,59 +3968,46 @@ impl<'a> PipelineCacheCreateInfoBuilder<'a> { self } } -impl<'a> core::ops::Deref for PipelineCacheCreateInfoBuilder<'a> { - type Target = PipelineCacheCreateInfo; +impl<'a> core::ops::Deref for ComputePipelineIndirectBufferInfoNVBuilder<'a> { + type Target = ComputePipelineIndirectBufferInfoNV; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for PipelineCacheCreateInfoBuilder<'a> { +impl<'a> core::ops::DerefMut for ComputePipelineIndirectBufferInfoNVBuilder<'a> { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`PipelineBinaryCreateInfoKHR`] with lifetime-tied pNext safety. -pub struct PipelineBinaryCreateInfoKHRBuilder<'a> { - inner: PipelineBinaryCreateInfoKHR, +///Builder for [`PipelineCreateFlags2CreateInfo`] with lifetime-tied pNext safety. +pub struct PipelineCreateFlags2CreateInfoBuilder<'a> { + inner: PipelineCreateFlags2CreateInfo, _marker: core::marker::PhantomData<&'a ()>, } -impl PipelineBinaryCreateInfoKHR { +impl PipelineCreateFlags2CreateInfo { /// Start building this struct; `s_type` is already set to the correct variant. #[inline] - pub fn builder<'a>() -> PipelineBinaryCreateInfoKHRBuilder<'a> { - PipelineBinaryCreateInfoKHRBuilder { - inner: PipelineBinaryCreateInfoKHR { - s_type: StructureType::from_raw(1000483001i32), + pub fn builder<'a>() -> PipelineCreateFlags2CreateInfoBuilder<'a> { + PipelineCreateFlags2CreateInfoBuilder { + inner: PipelineCreateFlags2CreateInfo { + s_type: StructureType::from_raw(1000470005i32), ..Default::default() }, _marker: core::marker::PhantomData, } } } -impl<'a> PipelineBinaryCreateInfoKHRBuilder<'a> { - #[inline] - pub fn p_keys_and_data_info( - mut self, - value: &'a PipelineBinaryKeysAndDataKHR, - ) -> Self { - self.inner.p_keys_and_data_info = value; - self - } - #[inline] - pub fn pipeline(mut self, value: Pipeline) -> Self { - self.inner.pipeline = value; - self - } +impl<'a> PipelineCreateFlags2CreateInfoBuilder<'a> { #[inline] - pub fn p_pipeline_create_info(mut self, value: &'a PipelineCreateInfoKHR) -> Self { - self.inner.p_pipeline_create_info = value; + pub fn flags(mut self, value: PipelineCreateFlags2) -> Self { + self.inner.flags = value; self } - ///Prepend a struct to the pNext chain. See [`PipelineBinaryCreateInfoKHR`]'s **Extended By** section for valid types. + ///Prepend a struct to the pNext chain. See [`PipelineCreateFlags2CreateInfo`]'s **Extended By** section for valid types. #[inline] - pub fn push_next( + pub fn push_next( mut self, next: &'a mut T, ) -> Self { @@ -2825,159 +4021,159 @@ impl<'a> PipelineBinaryCreateInfoKHRBuilder<'a> { self } } -impl<'a> core::ops::Deref for PipelineBinaryCreateInfoKHRBuilder<'a> { - type Target = PipelineBinaryCreateInfoKHR; +impl<'a> core::ops::Deref for PipelineCreateFlags2CreateInfoBuilder<'a> { + type Target = PipelineCreateFlags2CreateInfo; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for PipelineBinaryCreateInfoKHRBuilder<'a> { +impl<'a> core::ops::DerefMut for PipelineCreateFlags2CreateInfoBuilder<'a> { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`PipelineBinaryHandlesInfoKHR`] with lifetime-tied pNext safety. -pub struct PipelineBinaryHandlesInfoKHRBuilder<'a> { - inner: PipelineBinaryHandlesInfoKHR, - _marker: core::marker::PhantomData<&'a ()>, +///Builder for [`VertexInputBindingDescription`]. +pub struct VertexInputBindingDescriptionBuilder { + inner: VertexInputBindingDescription, } -impl PipelineBinaryHandlesInfoKHR { - /// Start building this struct; `s_type` is already set to the correct variant. +impl VertexInputBindingDescription { + /// Start building this struct. #[inline] - pub fn builder<'a>() -> PipelineBinaryHandlesInfoKHRBuilder<'a> { - PipelineBinaryHandlesInfoKHRBuilder { - inner: PipelineBinaryHandlesInfoKHR { - s_type: StructureType::from_raw(1000483009i32), + pub fn builder() -> VertexInputBindingDescriptionBuilder { + VertexInputBindingDescriptionBuilder { + inner: VertexInputBindingDescription { ..Default::default() }, - _marker: core::marker::PhantomData, } } } -impl<'a> PipelineBinaryHandlesInfoKHRBuilder<'a> { +impl VertexInputBindingDescriptionBuilder { #[inline] - pub fn pipeline_binaries(mut self, slice: &'a mut [PipelineBinaryKHR]) -> Self { - self.inner.pipeline_binary_count = slice.len() as u32; - self.inner.p_pipeline_binaries = slice.as_mut_ptr(); + pub fn binding(mut self, value: u32) -> Self { + self.inner.binding = value; self } - ///Prepend a struct to the pNext chain. See [`PipelineBinaryHandlesInfoKHR`]'s **Extended By** section for valid types. #[inline] - pub fn push_next( - mut self, - next: &'a mut T, - ) -> Self { - unsafe { - let next_ptr = <*mut T>::cast::(next); - (*next_ptr).p_next = self.inner.p_next as *mut _; - self.inner.p_next = <*mut BaseOutStructure>::cast::< - core::ffi::c_void, - >(next_ptr) as *const _; - } + pub fn stride(mut self, value: u32) -> Self { + self.inner.stride = value; + self + } + #[inline] + pub fn input_rate(mut self, value: VertexInputRate) -> Self { + self.inner.input_rate = value; self } } -impl<'a> core::ops::Deref for PipelineBinaryHandlesInfoKHRBuilder<'a> { - type Target = PipelineBinaryHandlesInfoKHR; +impl core::ops::Deref for VertexInputBindingDescriptionBuilder { + type Target = VertexInputBindingDescription; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for PipelineBinaryHandlesInfoKHRBuilder<'a> { +impl core::ops::DerefMut for VertexInputBindingDescriptionBuilder { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`PipelineBinaryKeyKHR`] with lifetime-tied pNext safety. -pub struct PipelineBinaryKeyKHRBuilder<'a> { - inner: PipelineBinaryKeyKHR, - _marker: core::marker::PhantomData<&'a ()>, +///Builder for [`VertexInputAttributeDescription`]. +pub struct VertexInputAttributeDescriptionBuilder { + inner: VertexInputAttributeDescription, } -impl PipelineBinaryKeyKHR { - /// Start building this struct; `s_type` is already set to the correct variant. +impl VertexInputAttributeDescription { + /// Start building this struct. #[inline] - pub fn builder<'a>() -> PipelineBinaryKeyKHRBuilder<'a> { - PipelineBinaryKeyKHRBuilder { - inner: PipelineBinaryKeyKHR { - s_type: StructureType::from_raw(1000483003i32), + pub fn builder() -> VertexInputAttributeDescriptionBuilder { + VertexInputAttributeDescriptionBuilder { + inner: VertexInputAttributeDescription { ..Default::default() }, - _marker: core::marker::PhantomData, } } } -impl<'a> PipelineBinaryKeyKHRBuilder<'a> { +impl VertexInputAttributeDescriptionBuilder { #[inline] - pub fn key_size(mut self, value: u32) -> Self { - self.inner.key_size = value; + pub fn location(mut self, value: u32) -> Self { + self.inner.location = value; self } #[inline] - pub fn key( - mut self, - value: [u8; MAX_PIPELINE_BINARY_KEY_SIZE_KHR as usize], - ) -> Self { - self.inner.key = value; + pub fn binding(mut self, value: u32) -> Self { + self.inner.binding = value; self } - ///Prepend a struct to the pNext chain. See [`PipelineBinaryKeyKHR`]'s **Extended By** section for valid types. #[inline] - pub fn push_next(mut self, next: &'a mut T) -> Self { - unsafe { - let next_ptr = <*mut T>::cast::(next); - (*next_ptr).p_next = self.inner.p_next as *mut _; - self.inner.p_next = <*mut BaseOutStructure>::cast::< - core::ffi::c_void, - >(next_ptr); - } + pub fn format(mut self, value: Format) -> Self { + self.inner.format = value; + self + } + #[inline] + pub fn offset(mut self, value: u32) -> Self { + self.inner.offset = value; self } } -impl<'a> core::ops::Deref for PipelineBinaryKeyKHRBuilder<'a> { - type Target = PipelineBinaryKeyKHR; +impl core::ops::Deref for VertexInputAttributeDescriptionBuilder { + type Target = VertexInputAttributeDescription; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for PipelineBinaryKeyKHRBuilder<'a> { +impl core::ops::DerefMut for VertexInputAttributeDescriptionBuilder { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`PipelineBinaryInfoKHR`] with lifetime-tied pNext safety. -pub struct PipelineBinaryInfoKHRBuilder<'a> { - inner: PipelineBinaryInfoKHR, +///Builder for [`PipelineVertexInputStateCreateInfo`] with lifetime-tied pNext safety. +pub struct PipelineVertexInputStateCreateInfoBuilder<'a> { + inner: PipelineVertexInputStateCreateInfo, _marker: core::marker::PhantomData<&'a ()>, } -impl PipelineBinaryInfoKHR { +impl PipelineVertexInputStateCreateInfo { /// Start building this struct; `s_type` is already set to the correct variant. #[inline] - pub fn builder<'a>() -> PipelineBinaryInfoKHRBuilder<'a> { - PipelineBinaryInfoKHRBuilder { - inner: PipelineBinaryInfoKHR { - s_type: StructureType::from_raw(1000483002i32), + pub fn builder<'a>() -> PipelineVertexInputStateCreateInfoBuilder<'a> { + PipelineVertexInputStateCreateInfoBuilder { + inner: PipelineVertexInputStateCreateInfo { + s_type: StructureType::from_raw(19i32), ..Default::default() }, _marker: core::marker::PhantomData, } } } -impl<'a> PipelineBinaryInfoKHRBuilder<'a> { +impl<'a> PipelineVertexInputStateCreateInfoBuilder<'a> { #[inline] - pub fn pipeline_binaries(mut self, slice: &'a [PipelineBinaryKHR]) -> Self { - self.inner.binary_count = slice.len() as u32; - self.inner.p_pipeline_binaries = slice.as_ptr(); + pub fn flags(mut self, value: PipelineVertexInputStateCreateFlags) -> Self { + self.inner.flags = value; self } - ///Prepend a struct to the pNext chain. See [`PipelineBinaryInfoKHR`]'s **Extended By** section for valid types. #[inline] - pub fn push_next( + pub fn vertex_binding_descriptions( + mut self, + slice: &'a [VertexInputBindingDescription], + ) -> Self { + self.inner.vertex_binding_description_count = slice.len() as u32; + self.inner.p_vertex_binding_descriptions = slice.as_ptr(); + self + } + #[inline] + pub fn vertex_attribute_descriptions( + mut self, + slice: &'a [VertexInputAttributeDescription], + ) -> Self { + self.inner.vertex_attribute_description_count = slice.len() as u32; + self.inner.p_vertex_attribute_descriptions = slice.as_ptr(); + self + } + ///Prepend a struct to the pNext chain. See [`PipelineVertexInputStateCreateInfo`]'s **Extended By** section for valid types. + #[inline] + pub fn push_next( mut self, next: &'a mut T, ) -> Self { @@ -2991,46 +4187,56 @@ impl<'a> PipelineBinaryInfoKHRBuilder<'a> { self } } -impl<'a> core::ops::Deref for PipelineBinaryInfoKHRBuilder<'a> { - type Target = PipelineBinaryInfoKHR; +impl<'a> core::ops::Deref for PipelineVertexInputStateCreateInfoBuilder<'a> { + type Target = PipelineVertexInputStateCreateInfo; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for PipelineBinaryInfoKHRBuilder<'a> { +impl<'a> core::ops::DerefMut for PipelineVertexInputStateCreateInfoBuilder<'a> { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`ReleaseCapturedPipelineDataInfoKHR`] with lifetime-tied pNext safety. -pub struct ReleaseCapturedPipelineDataInfoKHRBuilder<'a> { - inner: ReleaseCapturedPipelineDataInfoKHR, +///Builder for [`PipelineInputAssemblyStateCreateInfo`] with lifetime-tied pNext safety. +pub struct PipelineInputAssemblyStateCreateInfoBuilder<'a> { + inner: PipelineInputAssemblyStateCreateInfo, _marker: core::marker::PhantomData<&'a ()>, } -impl ReleaseCapturedPipelineDataInfoKHR { +impl PipelineInputAssemblyStateCreateInfo { /// Start building this struct; `s_type` is already set to the correct variant. #[inline] - pub fn builder<'a>() -> ReleaseCapturedPipelineDataInfoKHRBuilder<'a> { - ReleaseCapturedPipelineDataInfoKHRBuilder { - inner: ReleaseCapturedPipelineDataInfoKHR { - s_type: StructureType::from_raw(1000483005i32), + pub fn builder<'a>() -> PipelineInputAssemblyStateCreateInfoBuilder<'a> { + PipelineInputAssemblyStateCreateInfoBuilder { + inner: PipelineInputAssemblyStateCreateInfo { + s_type: StructureType::from_raw(20i32), ..Default::default() }, _marker: core::marker::PhantomData, } } } -impl<'a> ReleaseCapturedPipelineDataInfoKHRBuilder<'a> { +impl<'a> PipelineInputAssemblyStateCreateInfoBuilder<'a> { #[inline] - pub fn pipeline(mut self, value: Pipeline) -> Self { - self.inner.pipeline = value; + pub fn flags(mut self, value: PipelineInputAssemblyStateCreateFlags) -> Self { + self.inner.flags = value; self } - ///Prepend a struct to the pNext chain. See [`ReleaseCapturedPipelineDataInfoKHR`]'s **Extended By** section for valid types. #[inline] - pub fn push_next( + pub fn topology(mut self, value: PrimitiveTopology) -> Self { + self.inner.topology = value; + self + } + #[inline] + pub fn primitive_restart_enable(mut self, value: bool) -> Self { + self.inner.primitive_restart_enable = value as u32; + self + } + ///Prepend a struct to the pNext chain. See [`PipelineInputAssemblyStateCreateInfo`]'s **Extended By** section for valid types. + #[inline] + pub fn push_next( mut self, next: &'a mut T, ) -> Self { @@ -3039,51 +4245,56 @@ impl<'a> ReleaseCapturedPipelineDataInfoKHRBuilder<'a> { (*next_ptr).p_next = self.inner.p_next as *mut _; self.inner.p_next = <*mut BaseOutStructure>::cast::< core::ffi::c_void, - >(next_ptr); + >(next_ptr) as *const _; } self } } -impl<'a> core::ops::Deref for ReleaseCapturedPipelineDataInfoKHRBuilder<'a> { - type Target = ReleaseCapturedPipelineDataInfoKHR; +impl<'a> core::ops::Deref for PipelineInputAssemblyStateCreateInfoBuilder<'a> { + type Target = PipelineInputAssemblyStateCreateInfo; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for ReleaseCapturedPipelineDataInfoKHRBuilder<'a> { +impl<'a> core::ops::DerefMut for PipelineInputAssemblyStateCreateInfoBuilder<'a> { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`PipelineBinaryDataInfoKHR`] with lifetime-tied pNext safety. -pub struct PipelineBinaryDataInfoKHRBuilder<'a> { - inner: PipelineBinaryDataInfoKHR, +///Builder for [`PipelineTessellationStateCreateInfo`] with lifetime-tied pNext safety. +pub struct PipelineTessellationStateCreateInfoBuilder<'a> { + inner: PipelineTessellationStateCreateInfo, _marker: core::marker::PhantomData<&'a ()>, } -impl PipelineBinaryDataInfoKHR { +impl PipelineTessellationStateCreateInfo { /// Start building this struct; `s_type` is already set to the correct variant. #[inline] - pub fn builder<'a>() -> PipelineBinaryDataInfoKHRBuilder<'a> { - PipelineBinaryDataInfoKHRBuilder { - inner: PipelineBinaryDataInfoKHR { - s_type: StructureType::from_raw(1000483006i32), + pub fn builder<'a>() -> PipelineTessellationStateCreateInfoBuilder<'a> { + PipelineTessellationStateCreateInfoBuilder { + inner: PipelineTessellationStateCreateInfo { + s_type: StructureType::from_raw(21i32), ..Default::default() }, _marker: core::marker::PhantomData, } } } -impl<'a> PipelineBinaryDataInfoKHRBuilder<'a> { +impl<'a> PipelineTessellationStateCreateInfoBuilder<'a> { #[inline] - pub fn pipeline_binary(mut self, value: PipelineBinaryKHR) -> Self { - self.inner.pipeline_binary = value; + pub fn flags(mut self, value: PipelineTessellationStateCreateFlags) -> Self { + self.inner.flags = value; self } - ///Prepend a struct to the pNext chain. See [`PipelineBinaryDataInfoKHR`]'s **Extended By** section for valid types. #[inline] - pub fn push_next( + pub fn patch_control_points(mut self, value: u32) -> Self { + self.inner.patch_control_points = value; + self + } + ///Prepend a struct to the pNext chain. See [`PipelineTessellationStateCreateInfo`]'s **Extended By** section for valid types. + #[inline] + pub fn push_next( mut self, next: &'a mut T, ) -> Self { @@ -3092,46 +4303,73 @@ impl<'a> PipelineBinaryDataInfoKHRBuilder<'a> { (*next_ptr).p_next = self.inner.p_next as *mut _; self.inner.p_next = <*mut BaseOutStructure>::cast::< core::ffi::c_void, - >(next_ptr); + >(next_ptr) as *const _; } self } } -impl<'a> core::ops::Deref for PipelineBinaryDataInfoKHRBuilder<'a> { - type Target = PipelineBinaryDataInfoKHR; +impl<'a> core::ops::Deref for PipelineTessellationStateCreateInfoBuilder<'a> { + type Target = PipelineTessellationStateCreateInfo; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for PipelineBinaryDataInfoKHRBuilder<'a> { +impl<'a> core::ops::DerefMut for PipelineTessellationStateCreateInfoBuilder<'a> { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`PipelineCreateInfoKHR`] with lifetime-tied pNext safety. -pub struct PipelineCreateInfoKHRBuilder<'a> { - inner: PipelineCreateInfoKHR, +///Builder for [`PipelineViewportStateCreateInfo`] with lifetime-tied pNext safety. +pub struct PipelineViewportStateCreateInfoBuilder<'a> { + inner: PipelineViewportStateCreateInfo, _marker: core::marker::PhantomData<&'a ()>, } -impl PipelineCreateInfoKHR { +impl PipelineViewportStateCreateInfo { /// Start building this struct; `s_type` is already set to the correct variant. #[inline] - pub fn builder<'a>() -> PipelineCreateInfoKHRBuilder<'a> { - PipelineCreateInfoKHRBuilder { - inner: PipelineCreateInfoKHR { - s_type: StructureType::from_raw(1000483007i32), + pub fn builder<'a>() -> PipelineViewportStateCreateInfoBuilder<'a> { + PipelineViewportStateCreateInfoBuilder { + inner: PipelineViewportStateCreateInfo { + s_type: StructureType::from_raw(22i32), ..Default::default() }, _marker: core::marker::PhantomData, } } } -impl<'a> PipelineCreateInfoKHRBuilder<'a> { - ///Prepend a struct to the pNext chain. See [`PipelineCreateInfoKHR`]'s **Extended By** section for valid types. +impl<'a> PipelineViewportStateCreateInfoBuilder<'a> { #[inline] - pub fn push_next( + pub fn flags(mut self, value: PipelineViewportStateCreateFlags) -> Self { + self.inner.flags = value; + self + } + #[inline] + pub fn viewport_count(mut self, value: u32) -> Self { + self.inner.viewport_count = value; + self + } + #[inline] + pub fn viewports(mut self, slice: &'a [Viewport]) -> Self { + self.inner.viewport_count = slice.len() as u32; + self.inner.p_viewports = slice.as_ptr(); + self + } + #[inline] + pub fn scissor_count(mut self, value: u32) -> Self { + self.inner.scissor_count = value; + self + } + #[inline] + pub fn scissors(mut self, slice: &'a [Rect2D]) -> Self { + self.inner.scissor_count = slice.len() as u32; + self.inner.p_scissors = slice.as_ptr(); + self + } + ///Prepend a struct to the pNext chain. See [`PipelineViewportStateCreateInfo`]'s **Extended By** section for valid types. + #[inline] + pub fn push_next( mut self, next: &'a mut T, ) -> Self { @@ -3140,67 +4378,105 @@ impl<'a> PipelineCreateInfoKHRBuilder<'a> { (*next_ptr).p_next = self.inner.p_next as *mut _; self.inner.p_next = <*mut BaseOutStructure>::cast::< core::ffi::c_void, - >(next_ptr); + >(next_ptr) as *const _; } self } } -impl<'a> core::ops::Deref for PipelineCreateInfoKHRBuilder<'a> { - type Target = PipelineCreateInfoKHR; +impl<'a> core::ops::Deref for PipelineViewportStateCreateInfoBuilder<'a> { + type Target = PipelineViewportStateCreateInfo; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for PipelineCreateInfoKHRBuilder<'a> { +impl<'a> core::ops::DerefMut for PipelineViewportStateCreateInfoBuilder<'a> { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`PipelineLayoutCreateInfo`] with lifetime-tied pNext safety. -pub struct PipelineLayoutCreateInfoBuilder<'a> { - inner: PipelineLayoutCreateInfo, +///Builder for [`PipelineRasterizationStateCreateInfo`] with lifetime-tied pNext safety. +pub struct PipelineRasterizationStateCreateInfoBuilder<'a> { + inner: PipelineRasterizationStateCreateInfo, _marker: core::marker::PhantomData<&'a ()>, } -impl PipelineLayoutCreateInfo { +impl PipelineRasterizationStateCreateInfo { /// Start building this struct; `s_type` is already set to the correct variant. #[inline] - pub fn builder<'a>() -> PipelineLayoutCreateInfoBuilder<'a> { - PipelineLayoutCreateInfoBuilder { - inner: PipelineLayoutCreateInfo { - s_type: StructureType::from_raw(30i32), + pub fn builder<'a>() -> PipelineRasterizationStateCreateInfoBuilder<'a> { + PipelineRasterizationStateCreateInfoBuilder { + inner: PipelineRasterizationStateCreateInfo { + s_type: StructureType::from_raw(23i32), ..Default::default() }, _marker: core::marker::PhantomData, } } } -impl<'a> PipelineLayoutCreateInfoBuilder<'a> { +impl<'a> PipelineRasterizationStateCreateInfoBuilder<'a> { #[inline] - pub fn flags(mut self, value: PipelineLayoutCreateFlags) -> Self { + pub fn flags(mut self, value: PipelineRasterizationStateCreateFlags) -> Self { self.inner.flags = value; self } #[inline] - pub fn set_layouts(mut self, slice: &'a [DescriptorSetLayout]) -> Self { - self.inner.set_layout_count = slice.len() as u32; - self.inner.p_set_layouts = slice.as_ptr(); + pub fn depth_clamp_enable(mut self, value: bool) -> Self { + self.inner.depth_clamp_enable = value as u32; self } #[inline] - pub fn push_constant_ranges(mut self, slice: &'a [PushConstantRange]) -> Self { - self.inner.push_constant_range_count = slice.len() as u32; - self.inner.p_push_constant_ranges = slice.as_ptr(); + pub fn rasterizer_discard_enable(mut self, value: bool) -> Self { + self.inner.rasterizer_discard_enable = value as u32; self } - ///Prepend a struct to the pNext chain. See [`PipelineLayoutCreateInfo`]'s **Extended By** section for valid types. #[inline] - pub fn push_next( - mut self, - next: &'a mut T, - ) -> Self { - unsafe { + pub fn polygon_mode(mut self, value: PolygonMode) -> Self { + self.inner.polygon_mode = value; + self + } + #[inline] + pub fn cull_mode(mut self, value: CullModeFlags) -> Self { + self.inner.cull_mode = value; + self + } + #[inline] + pub fn front_face(mut self, value: FrontFace) -> Self { + self.inner.front_face = value; + self + } + #[inline] + pub fn depth_bias_enable(mut self, value: bool) -> Self { + self.inner.depth_bias_enable = value as u32; + self + } + #[inline] + pub fn depth_bias_constant_factor(mut self, value: f32) -> Self { + self.inner.depth_bias_constant_factor = value; + self + } + #[inline] + pub fn depth_bias_clamp(mut self, value: f32) -> Self { + self.inner.depth_bias_clamp = value; + self + } + #[inline] + pub fn depth_bias_slope_factor(mut self, value: f32) -> Self { + self.inner.depth_bias_slope_factor = value; + self + } + #[inline] + pub fn line_width(mut self, value: f32) -> Self { + self.inner.line_width = value; + self + } + ///Prepend a struct to the pNext chain. See [`PipelineRasterizationStateCreateInfo`]'s **Extended By** section for valid types. + #[inline] + pub fn push_next( + mut self, + next: &'a mut T, + ) -> Self { + unsafe { let next_ptr = <*mut T>::cast::(next); (*next_ptr).p_next = self.inner.p_next as *mut _; self.inner.p_next = <*mut BaseOutStructure>::cast::< @@ -3210,121 +4486,231 @@ impl<'a> PipelineLayoutCreateInfoBuilder<'a> { self } } -impl<'a> core::ops::Deref for PipelineLayoutCreateInfoBuilder<'a> { - type Target = PipelineLayoutCreateInfo; +impl<'a> core::ops::Deref for PipelineRasterizationStateCreateInfoBuilder<'a> { + type Target = PipelineRasterizationStateCreateInfo; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for PipelineLayoutCreateInfoBuilder<'a> { +impl<'a> core::ops::DerefMut for PipelineRasterizationStateCreateInfoBuilder<'a> { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`SamplerCreateInfo`] with lifetime-tied pNext safety. -pub struct SamplerCreateInfoBuilder<'a> { - inner: SamplerCreateInfo, +///Builder for [`PipelineMultisampleStateCreateInfo`] with lifetime-tied pNext safety. +pub struct PipelineMultisampleStateCreateInfoBuilder<'a> { + inner: PipelineMultisampleStateCreateInfo, _marker: core::marker::PhantomData<&'a ()>, } -impl SamplerCreateInfo { +impl PipelineMultisampleStateCreateInfo { /// Start building this struct; `s_type` is already set to the correct variant. #[inline] - pub fn builder<'a>() -> SamplerCreateInfoBuilder<'a> { - SamplerCreateInfoBuilder { - inner: SamplerCreateInfo { - s_type: StructureType::from_raw(31i32), + pub fn builder<'a>() -> PipelineMultisampleStateCreateInfoBuilder<'a> { + PipelineMultisampleStateCreateInfoBuilder { + inner: PipelineMultisampleStateCreateInfo { + s_type: StructureType::from_raw(24i32), ..Default::default() }, _marker: core::marker::PhantomData, } } } -impl<'a> SamplerCreateInfoBuilder<'a> { +impl<'a> PipelineMultisampleStateCreateInfoBuilder<'a> { #[inline] - pub fn flags(mut self, value: SamplerCreateFlags) -> Self { + pub fn flags(mut self, value: PipelineMultisampleStateCreateFlags) -> Self { self.inner.flags = value; self } #[inline] - pub fn mag_filter(mut self, value: Filter) -> Self { - self.inner.mag_filter = value; + pub fn rasterization_samples(mut self, value: SampleCountFlagBits) -> Self { + self.inner.rasterization_samples = value; self } #[inline] - pub fn min_filter(mut self, value: Filter) -> Self { - self.inner.min_filter = value; + pub fn sample_shading_enable(mut self, value: bool) -> Self { + self.inner.sample_shading_enable = value as u32; self } #[inline] - pub fn mipmap_mode(mut self, value: SamplerMipmapMode) -> Self { - self.inner.mipmap_mode = value; + pub fn min_sample_shading(mut self, value: f32) -> Self { + self.inner.min_sample_shading = value; self } #[inline] - pub fn address_mode_u(mut self, value: SamplerAddressMode) -> Self { - self.inner.address_mode_u = value; + pub fn sample_mask(mut self, value: &'a u32) -> Self { + self.inner.p_sample_mask = value; self } #[inline] - pub fn address_mode_v(mut self, value: SamplerAddressMode) -> Self { - self.inner.address_mode_v = value; + pub fn alpha_to_coverage_enable(mut self, value: bool) -> Self { + self.inner.alpha_to_coverage_enable = value as u32; self } #[inline] - pub fn address_mode_w(mut self, value: SamplerAddressMode) -> Self { - self.inner.address_mode_w = value; + pub fn alpha_to_one_enable(mut self, value: bool) -> Self { + self.inner.alpha_to_one_enable = value as u32; self } + ///Prepend a struct to the pNext chain. See [`PipelineMultisampleStateCreateInfo`]'s **Extended By** section for valid types. #[inline] - pub fn mip_lod_bias(mut self, value: f32) -> Self { - self.inner.mip_lod_bias = value; + pub fn push_next( + mut self, + next: &'a mut T, + ) -> Self { + unsafe { + let next_ptr = <*mut T>::cast::(next); + (*next_ptr).p_next = self.inner.p_next as *mut _; + self.inner.p_next = <*mut BaseOutStructure>::cast::< + core::ffi::c_void, + >(next_ptr) as *const _; + } self } +} +impl<'a> core::ops::Deref for PipelineMultisampleStateCreateInfoBuilder<'a> { + type Target = PipelineMultisampleStateCreateInfo; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> core::ops::DerefMut for PipelineMultisampleStateCreateInfoBuilder<'a> { #[inline] - pub fn anisotropy_enable(mut self, value: bool) -> Self { - self.inner.anisotropy_enable = value as u32; + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`PipelineColorBlendAttachmentState`]. +pub struct PipelineColorBlendAttachmentStateBuilder { + inner: PipelineColorBlendAttachmentState, +} +impl PipelineColorBlendAttachmentState { + /// Start building this struct. + #[inline] + pub fn builder() -> PipelineColorBlendAttachmentStateBuilder { + PipelineColorBlendAttachmentStateBuilder { + inner: PipelineColorBlendAttachmentState { + ..Default::default() + }, + } + } +} +impl PipelineColorBlendAttachmentStateBuilder { + #[inline] + pub fn blend_enable(mut self, value: bool) -> Self { + self.inner.blend_enable = value as u32; self } #[inline] - pub fn max_anisotropy(mut self, value: f32) -> Self { - self.inner.max_anisotropy = value; + pub fn src_color_blend_factor(mut self, value: BlendFactor) -> Self { + self.inner.src_color_blend_factor = value; self } #[inline] - pub fn compare_enable(mut self, value: bool) -> Self { - self.inner.compare_enable = value as u32; + pub fn dst_color_blend_factor(mut self, value: BlendFactor) -> Self { + self.inner.dst_color_blend_factor = value; self } #[inline] - pub fn compare_op(mut self, value: CompareOp) -> Self { - self.inner.compare_op = value; + pub fn color_blend_op(mut self, value: BlendOp) -> Self { + self.inner.color_blend_op = value; self } #[inline] - pub fn min_lod(mut self, value: f32) -> Self { - self.inner.min_lod = value; + pub fn src_alpha_blend_factor(mut self, value: BlendFactor) -> Self { + self.inner.src_alpha_blend_factor = value; self } #[inline] - pub fn max_lod(mut self, value: f32) -> Self { - self.inner.max_lod = value; + pub fn dst_alpha_blend_factor(mut self, value: BlendFactor) -> Self { + self.inner.dst_alpha_blend_factor = value; self } #[inline] - pub fn border_color(mut self, value: BorderColor) -> Self { - self.inner.border_color = value; + pub fn alpha_blend_op(mut self, value: BlendOp) -> Self { + self.inner.alpha_blend_op = value; self } #[inline] - pub fn unnormalized_coordinates(mut self, value: bool) -> Self { - self.inner.unnormalized_coordinates = value as u32; + pub fn color_write_mask(mut self, value: ColorComponentFlags) -> Self { + self.inner.color_write_mask = value; self } - ///Prepend a struct to the pNext chain. See [`SamplerCreateInfo`]'s **Extended By** section for valid types. +} +impl core::ops::Deref for PipelineColorBlendAttachmentStateBuilder { + type Target = PipelineColorBlendAttachmentState; #[inline] - pub fn push_next(mut self, next: &'a mut T) -> Self { + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for PipelineColorBlendAttachmentStateBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`PipelineColorBlendStateCreateInfo`] with lifetime-tied pNext safety. +pub struct PipelineColorBlendStateCreateInfoBuilder<'a> { + inner: PipelineColorBlendStateCreateInfo, + _marker: core::marker::PhantomData<&'a ()>, +} +impl PipelineColorBlendStateCreateInfo { + /// Start building this struct; `s_type` is already set to the correct variant. + #[inline] + pub fn builder<'a>() -> PipelineColorBlendStateCreateInfoBuilder<'a> { + PipelineColorBlendStateCreateInfoBuilder { + inner: PipelineColorBlendStateCreateInfo { + s_type: StructureType::from_raw(26i32), + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> PipelineColorBlendStateCreateInfoBuilder<'a> { + #[inline] + pub fn flags(mut self, value: PipelineColorBlendStateCreateFlags) -> Self { + self.inner.flags = value; + self + } + #[inline] + pub fn logic_op_enable(mut self, value: bool) -> Self { + self.inner.logic_op_enable = value as u32; + self + } + #[inline] + pub fn logic_op(mut self, value: LogicOp) -> Self { + self.inner.logic_op = value; + self + } + #[inline] + pub fn attachment_count(mut self, value: u32) -> Self { + self.inner.attachment_count = value; + self + } + #[inline] + pub fn attachments( + mut self, + slice: &'a [PipelineColorBlendAttachmentState], + ) -> Self { + self.inner.attachment_count = slice.len() as u32; + self.inner.p_attachments = slice.as_ptr(); + self + } + #[inline] + pub fn blend_constants(mut self, value: [f32; 4usize]) -> Self { + self.inner.blend_constants = value; + self + } + ///Prepend a struct to the pNext chain. See [`PipelineColorBlendStateCreateInfo`]'s **Extended By** section for valid types. + #[inline] + pub fn push_next( + mut self, + next: &'a mut T, + ) -> Self { unsafe { let next_ptr = <*mut T>::cast::(next); (*next_ptr).p_next = self.inner.p_next as *mut _; @@ -3335,51 +4721,52 @@ impl<'a> SamplerCreateInfoBuilder<'a> { self } } -impl<'a> core::ops::Deref for SamplerCreateInfoBuilder<'a> { - type Target = SamplerCreateInfo; +impl<'a> core::ops::Deref for PipelineColorBlendStateCreateInfoBuilder<'a> { + type Target = PipelineColorBlendStateCreateInfo; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for SamplerCreateInfoBuilder<'a> { +impl<'a> core::ops::DerefMut for PipelineColorBlendStateCreateInfoBuilder<'a> { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`CommandPoolCreateInfo`] with lifetime-tied pNext safety. -pub struct CommandPoolCreateInfoBuilder<'a> { - inner: CommandPoolCreateInfo, +///Builder for [`PipelineDynamicStateCreateInfo`] with lifetime-tied pNext safety. +pub struct PipelineDynamicStateCreateInfoBuilder<'a> { + inner: PipelineDynamicStateCreateInfo, _marker: core::marker::PhantomData<&'a ()>, } -impl CommandPoolCreateInfo { +impl PipelineDynamicStateCreateInfo { /// Start building this struct; `s_type` is already set to the correct variant. #[inline] - pub fn builder<'a>() -> CommandPoolCreateInfoBuilder<'a> { - CommandPoolCreateInfoBuilder { - inner: CommandPoolCreateInfo { - s_type: StructureType::from_raw(39i32), + pub fn builder<'a>() -> PipelineDynamicStateCreateInfoBuilder<'a> { + PipelineDynamicStateCreateInfoBuilder { + inner: PipelineDynamicStateCreateInfo { + s_type: StructureType::from_raw(27i32), ..Default::default() }, _marker: core::marker::PhantomData, } } } -impl<'a> CommandPoolCreateInfoBuilder<'a> { +impl<'a> PipelineDynamicStateCreateInfoBuilder<'a> { #[inline] - pub fn flags(mut self, value: CommandPoolCreateFlags) -> Self { + pub fn flags(mut self, value: PipelineDynamicStateCreateFlags) -> Self { self.inner.flags = value; self } #[inline] - pub fn queue_family_index(mut self, value: u32) -> Self { - self.inner.queue_family_index = value; + pub fn dynamic_states(mut self, slice: &'a [DynamicState]) -> Self { + self.inner.dynamic_state_count = slice.len() as u32; + self.inner.p_dynamic_states = slice.as_ptr(); self } - ///Prepend a struct to the pNext chain. See [`CommandPoolCreateInfo`]'s **Extended By** section for valid types. + ///Prepend a struct to the pNext chain. See [`PipelineDynamicStateCreateInfo`]'s **Extended By** section for valid types. #[inline] - pub fn push_next( + pub fn push_next( mut self, next: &'a mut T, ) -> Self { @@ -3393,59 +4780,3177 @@ impl<'a> CommandPoolCreateInfoBuilder<'a> { self } } -impl<'a> core::ops::Deref for CommandPoolCreateInfoBuilder<'a> { - type Target = CommandPoolCreateInfo; +impl<'a> core::ops::Deref for PipelineDynamicStateCreateInfoBuilder<'a> { + type Target = PipelineDynamicStateCreateInfo; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for CommandPoolCreateInfoBuilder<'a> { +impl<'a> core::ops::DerefMut for PipelineDynamicStateCreateInfoBuilder<'a> { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`CommandBufferAllocateInfo`] with lifetime-tied pNext safety. -pub struct CommandBufferAllocateInfoBuilder<'a> { - inner: CommandBufferAllocateInfo, +///Builder for [`StencilOpState`]. +pub struct StencilOpStateBuilder { + inner: StencilOpState, +} +impl StencilOpState { + /// Start building this struct. + #[inline] + pub fn builder() -> StencilOpStateBuilder { + StencilOpStateBuilder { + inner: StencilOpState { + ..Default::default() + }, + } + } +} +impl StencilOpStateBuilder { + #[inline] + pub fn fail_op(mut self, value: StencilOp) -> Self { + self.inner.fail_op = value; + self + } + #[inline] + pub fn pass_op(mut self, value: StencilOp) -> Self { + self.inner.pass_op = value; + self + } + #[inline] + pub fn depth_fail_op(mut self, value: StencilOp) -> Self { + self.inner.depth_fail_op = value; + self + } + #[inline] + pub fn compare_op(mut self, value: CompareOp) -> Self { + self.inner.compare_op = value; + self + } + #[inline] + pub fn compare_mask(mut self, value: u32) -> Self { + self.inner.compare_mask = value; + self + } + #[inline] + pub fn write_mask(mut self, value: u32) -> Self { + self.inner.write_mask = value; + self + } + #[inline] + pub fn reference(mut self, value: u32) -> Self { + self.inner.reference = value; + self + } +} +impl core::ops::Deref for StencilOpStateBuilder { + type Target = StencilOpState; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for StencilOpStateBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`PipelineDepthStencilStateCreateInfo`] with lifetime-tied pNext safety. +pub struct PipelineDepthStencilStateCreateInfoBuilder<'a> { + inner: PipelineDepthStencilStateCreateInfo, _marker: core::marker::PhantomData<&'a ()>, } -impl CommandBufferAllocateInfo { +impl PipelineDepthStencilStateCreateInfo { /// Start building this struct; `s_type` is already set to the correct variant. #[inline] - pub fn builder<'a>() -> CommandBufferAllocateInfoBuilder<'a> { - CommandBufferAllocateInfoBuilder { - inner: CommandBufferAllocateInfo { - s_type: StructureType::from_raw(40i32), + pub fn builder<'a>() -> PipelineDepthStencilStateCreateInfoBuilder<'a> { + PipelineDepthStencilStateCreateInfoBuilder { + inner: PipelineDepthStencilStateCreateInfo { + s_type: StructureType::from_raw(25i32), ..Default::default() }, _marker: core::marker::PhantomData, } } } -impl<'a> CommandBufferAllocateInfoBuilder<'a> { +impl<'a> PipelineDepthStencilStateCreateInfoBuilder<'a> { #[inline] - pub fn command_pool(mut self, value: CommandPool) -> Self { - self.inner.command_pool = value; + pub fn flags(mut self, value: PipelineDepthStencilStateCreateFlags) -> Self { + self.inner.flags = value; self } #[inline] - pub fn level(mut self, value: CommandBufferLevel) -> Self { - self.inner.level = value; + pub fn depth_test_enable(mut self, value: bool) -> Self { + self.inner.depth_test_enable = value as u32; + self + } + #[inline] + pub fn depth_write_enable(mut self, value: bool) -> Self { + self.inner.depth_write_enable = value as u32; + self + } + #[inline] + pub fn depth_compare_op(mut self, value: CompareOp) -> Self { + self.inner.depth_compare_op = value; + self + } + #[inline] + pub fn depth_bounds_test_enable(mut self, value: bool) -> Self { + self.inner.depth_bounds_test_enable = value as u32; + self + } + #[inline] + pub fn stencil_test_enable(mut self, value: bool) -> Self { + self.inner.stencil_test_enable = value as u32; + self + } + #[inline] + pub fn front(mut self, value: StencilOpState) -> Self { + self.inner.front = value; + self + } + #[inline] + pub fn back(mut self, value: StencilOpState) -> Self { + self.inner.back = value; + self + } + #[inline] + pub fn min_depth_bounds(mut self, value: f32) -> Self { + self.inner.min_depth_bounds = value; + self + } + #[inline] + pub fn max_depth_bounds(mut self, value: f32) -> Self { + self.inner.max_depth_bounds = value; + self + } + ///Prepend a struct to the pNext chain. See [`PipelineDepthStencilStateCreateInfo`]'s **Extended By** section for valid types. + #[inline] + pub fn push_next( + mut self, + next: &'a mut T, + ) -> Self { + unsafe { + let next_ptr = <*mut T>::cast::(next); + (*next_ptr).p_next = self.inner.p_next as *mut _; + self.inner.p_next = <*mut BaseOutStructure>::cast::< + core::ffi::c_void, + >(next_ptr) as *const _; + } + self + } +} +impl<'a> core::ops::Deref for PipelineDepthStencilStateCreateInfoBuilder<'a> { + type Target = PipelineDepthStencilStateCreateInfo; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> core::ops::DerefMut for PipelineDepthStencilStateCreateInfoBuilder<'a> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`GraphicsPipelineCreateInfo`] with lifetime-tied pNext safety. +pub struct GraphicsPipelineCreateInfoBuilder<'a> { + inner: GraphicsPipelineCreateInfo, + _marker: core::marker::PhantomData<&'a ()>, +} +impl GraphicsPipelineCreateInfo { + /// Start building this struct; `s_type` is already set to the correct variant. + #[inline] + pub fn builder<'a>() -> GraphicsPipelineCreateInfoBuilder<'a> { + GraphicsPipelineCreateInfoBuilder { + inner: GraphicsPipelineCreateInfo { + s_type: StructureType::from_raw(28i32), + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> GraphicsPipelineCreateInfoBuilder<'a> { + #[inline] + pub fn flags(mut self, value: PipelineCreateFlags) -> Self { + self.inner.flags = value; + self + } + #[inline] + pub fn stages(mut self, slice: &'a [PipelineShaderStageCreateInfo]) -> Self { + self.inner.stage_count = slice.len() as u32; + self.inner.p_stages = slice.as_ptr(); + self + } + #[inline] + pub fn vertex_input_state( + mut self, + value: &'a PipelineVertexInputStateCreateInfo, + ) -> Self { + self.inner.p_vertex_input_state = value; + self + } + #[inline] + pub fn input_assembly_state( + mut self, + value: &'a PipelineInputAssemblyStateCreateInfo, + ) -> Self { + self.inner.p_input_assembly_state = value; + self + } + #[inline] + pub fn tessellation_state( + mut self, + value: &'a PipelineTessellationStateCreateInfo, + ) -> Self { + self.inner.p_tessellation_state = value; + self + } + #[inline] + pub fn viewport_state(mut self, value: &'a PipelineViewportStateCreateInfo) -> Self { + self.inner.p_viewport_state = value; + self + } + #[inline] + pub fn rasterization_state( + mut self, + value: &'a PipelineRasterizationStateCreateInfo, + ) -> Self { + self.inner.p_rasterization_state = value; + self + } + #[inline] + pub fn multisample_state( + mut self, + value: &'a PipelineMultisampleStateCreateInfo, + ) -> Self { + self.inner.p_multisample_state = value; + self + } + #[inline] + pub fn depth_stencil_state( + mut self, + value: &'a PipelineDepthStencilStateCreateInfo, + ) -> Self { + self.inner.p_depth_stencil_state = value; + self + } + #[inline] + pub fn color_blend_state( + mut self, + value: &'a PipelineColorBlendStateCreateInfo, + ) -> Self { + self.inner.p_color_blend_state = value; + self + } + #[inline] + pub fn dynamic_state(mut self, value: &'a PipelineDynamicStateCreateInfo) -> Self { + self.inner.p_dynamic_state = value; + self + } + #[inline] + pub fn layout(mut self, value: PipelineLayout) -> Self { + self.inner.layout = value; + self + } + #[inline] + pub fn render_pass(mut self, value: RenderPass) -> Self { + self.inner.render_pass = value; + self + } + #[inline] + pub fn subpass(mut self, value: u32) -> Self { + self.inner.subpass = value; + self + } + #[inline] + pub fn base_pipeline_handle(mut self, value: Pipeline) -> Self { + self.inner.base_pipeline_handle = value; + self + } + #[inline] + pub fn base_pipeline_index(mut self, value: i32) -> Self { + self.inner.base_pipeline_index = value; self } + ///Prepend a struct to the pNext chain. See [`GraphicsPipelineCreateInfo`]'s **Extended By** section for valid types. + #[inline] + pub fn push_next( + mut self, + next: &'a mut T, + ) -> Self { + unsafe { + let next_ptr = <*mut T>::cast::(next); + (*next_ptr).p_next = self.inner.p_next as *mut _; + self.inner.p_next = <*mut BaseOutStructure>::cast::< + core::ffi::c_void, + >(next_ptr) as *const _; + } + self + } +} +impl<'a> core::ops::Deref for GraphicsPipelineCreateInfoBuilder<'a> { + type Target = GraphicsPipelineCreateInfo; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> core::ops::DerefMut for GraphicsPipelineCreateInfoBuilder<'a> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`PipelineCacheCreateInfo`] with lifetime-tied pNext safety. +pub struct PipelineCacheCreateInfoBuilder<'a> { + inner: PipelineCacheCreateInfo, + _marker: core::marker::PhantomData<&'a ()>, +} +impl PipelineCacheCreateInfo { + /// Start building this struct; `s_type` is already set to the correct variant. + #[inline] + pub fn builder<'a>() -> PipelineCacheCreateInfoBuilder<'a> { + PipelineCacheCreateInfoBuilder { + inner: PipelineCacheCreateInfo { + s_type: StructureType::from_raw(17i32), + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> PipelineCacheCreateInfoBuilder<'a> { + #[inline] + pub fn flags(mut self, value: PipelineCacheCreateFlags) -> Self { + self.inner.flags = value; + self + } + #[inline] + pub fn initial_data(mut self, slice: &'a [core::ffi::c_void]) -> Self { + self.inner.initial_data_size = slice.len(); + self.inner.p_initial_data = slice.as_ptr(); + self + } + ///Prepend a struct to the pNext chain. See [`PipelineCacheCreateInfo`]'s **Extended By** section for valid types. + #[inline] + pub fn push_next( + mut self, + next: &'a mut T, + ) -> Self { + unsafe { + let next_ptr = <*mut T>::cast::(next); + (*next_ptr).p_next = self.inner.p_next as *mut _; + self.inner.p_next = <*mut BaseOutStructure>::cast::< + core::ffi::c_void, + >(next_ptr) as *const _; + } + self + } +} +impl<'a> core::ops::Deref for PipelineCacheCreateInfoBuilder<'a> { + type Target = PipelineCacheCreateInfo; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> core::ops::DerefMut for PipelineCacheCreateInfoBuilder<'a> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`PipelineCacheHeaderVersionOne`]. +pub struct PipelineCacheHeaderVersionOneBuilder { + inner: PipelineCacheHeaderVersionOne, +} +impl PipelineCacheHeaderVersionOne { + /// Start building this struct. + #[inline] + pub fn builder() -> PipelineCacheHeaderVersionOneBuilder { + PipelineCacheHeaderVersionOneBuilder { + inner: PipelineCacheHeaderVersionOne { + ..Default::default() + }, + } + } +} +impl PipelineCacheHeaderVersionOneBuilder { + #[inline] + pub fn header_size(mut self, value: u32) -> Self { + self.inner.header_size = value; + self + } + #[inline] + pub fn header_version(mut self, value: PipelineCacheHeaderVersion) -> Self { + self.inner.header_version = value; + self + } + #[inline] + pub fn vendor_id(mut self, value: u32) -> Self { + self.inner.vendor_id = value; + self + } + #[inline] + pub fn device_id(mut self, value: u32) -> Self { + self.inner.device_id = value; + self + } + #[inline] + pub fn pipeline_cache_uuid(mut self, value: [u8; UUID_SIZE as usize]) -> Self { + self.inner.pipeline_cache_uuid = value; + self + } +} +impl core::ops::Deref for PipelineCacheHeaderVersionOneBuilder { + type Target = PipelineCacheHeaderVersionOne; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for PipelineCacheHeaderVersionOneBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`PipelineCacheStageValidationIndexEntry`]. +pub struct PipelineCacheStageValidationIndexEntryBuilder { + inner: PipelineCacheStageValidationIndexEntry, +} +impl PipelineCacheStageValidationIndexEntry { + /// Start building this struct. + #[inline] + pub fn builder() -> PipelineCacheStageValidationIndexEntryBuilder { + PipelineCacheStageValidationIndexEntryBuilder { + inner: PipelineCacheStageValidationIndexEntry { + ..Default::default() + }, + } + } +} +impl PipelineCacheStageValidationIndexEntryBuilder { + #[inline] + pub fn code_size(mut self, value: u64) -> Self { + self.inner.code_size = value; + self + } + #[inline] + pub fn code_offset(mut self, value: u64) -> Self { + self.inner.code_offset = value; + self + } +} +impl core::ops::Deref for PipelineCacheStageValidationIndexEntryBuilder { + type Target = PipelineCacheStageValidationIndexEntry; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for PipelineCacheStageValidationIndexEntryBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`PipelineCacheSafetyCriticalIndexEntry`]. +pub struct PipelineCacheSafetyCriticalIndexEntryBuilder { + inner: PipelineCacheSafetyCriticalIndexEntry, +} +impl PipelineCacheSafetyCriticalIndexEntry { + /// Start building this struct. + #[inline] + pub fn builder() -> PipelineCacheSafetyCriticalIndexEntryBuilder { + PipelineCacheSafetyCriticalIndexEntryBuilder { + inner: PipelineCacheSafetyCriticalIndexEntry { + ..Default::default() + }, + } + } +} +impl PipelineCacheSafetyCriticalIndexEntryBuilder { + #[inline] + pub fn pipeline_identifier(mut self, value: [u8; UUID_SIZE as usize]) -> Self { + self.inner.pipeline_identifier = value; + self + } + #[inline] + pub fn pipeline_memory_size(mut self, value: u64) -> Self { + self.inner.pipeline_memory_size = value; + self + } + #[inline] + pub fn json_size(mut self, value: u64) -> Self { + self.inner.json_size = value; + self + } + #[inline] + pub fn json_offset(mut self, value: u64) -> Self { + self.inner.json_offset = value; + self + } + #[inline] + pub fn stage_index_count(mut self, value: u32) -> Self { + self.inner.stage_index_count = value; + self + } + #[inline] + pub fn stage_index_stride(mut self, value: u32) -> Self { + self.inner.stage_index_stride = value; + self + } + #[inline] + pub fn stage_index_offset(mut self, value: u64) -> Self { + self.inner.stage_index_offset = value; + self + } +} +impl core::ops::Deref for PipelineCacheSafetyCriticalIndexEntryBuilder { + type Target = PipelineCacheSafetyCriticalIndexEntry; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for PipelineCacheSafetyCriticalIndexEntryBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`PipelineCacheHeaderVersionSafetyCriticalOne`]. +pub struct PipelineCacheHeaderVersionSafetyCriticalOneBuilder { + inner: PipelineCacheHeaderVersionSafetyCriticalOne, +} +impl PipelineCacheHeaderVersionSafetyCriticalOne { + /// Start building this struct. + #[inline] + pub fn builder() -> PipelineCacheHeaderVersionSafetyCriticalOneBuilder { + PipelineCacheHeaderVersionSafetyCriticalOneBuilder { + inner: PipelineCacheHeaderVersionSafetyCriticalOne { + ..Default::default() + }, + } + } +} +impl PipelineCacheHeaderVersionSafetyCriticalOneBuilder { + #[inline] + pub fn header_version_one(mut self, value: PipelineCacheHeaderVersionOne) -> Self { + self.inner.header_version_one = value; + self + } + #[inline] + pub fn validation_version(mut self, value: PipelineCacheValidationVersion) -> Self { + self.inner.validation_version = value; + self + } + #[inline] + pub fn implementation_data(mut self, value: u32) -> Self { + self.inner.implementation_data = value; + self + } + #[inline] + pub fn pipeline_index_count(mut self, value: u32) -> Self { + self.inner.pipeline_index_count = value; + self + } + #[inline] + pub fn pipeline_index_stride(mut self, value: u32) -> Self { + self.inner.pipeline_index_stride = value; + self + } + #[inline] + pub fn pipeline_index_offset(mut self, value: u64) -> Self { + self.inner.pipeline_index_offset = value; + self + } +} +impl core::ops::Deref for PipelineCacheHeaderVersionSafetyCriticalOneBuilder { + type Target = PipelineCacheHeaderVersionSafetyCriticalOne; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for PipelineCacheHeaderVersionSafetyCriticalOneBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`PipelineCacheHeaderVersionDataGraphQCOM`]. +pub struct PipelineCacheHeaderVersionDataGraphQCOMBuilder { + inner: PipelineCacheHeaderVersionDataGraphQCOM, +} +impl PipelineCacheHeaderVersionDataGraphQCOM { + /// Start building this struct. + #[inline] + pub fn builder() -> PipelineCacheHeaderVersionDataGraphQCOMBuilder { + PipelineCacheHeaderVersionDataGraphQCOMBuilder { + inner: PipelineCacheHeaderVersionDataGraphQCOM { + ..Default::default() + }, + } + } +} +impl PipelineCacheHeaderVersionDataGraphQCOMBuilder { + #[inline] + pub fn header_size(mut self, value: u32) -> Self { + self.inner.header_size = value; + self + } + #[inline] + pub fn header_version(mut self, value: PipelineCacheHeaderVersion) -> Self { + self.inner.header_version = value; + self + } + #[inline] + pub fn cache_type(mut self, value: DataGraphModelCacheTypeQCOM) -> Self { + self.inner.cache_type = value; + self + } + #[inline] + pub fn cache_version(mut self, value: u32) -> Self { + self.inner.cache_version = value; + self + } + #[inline] + pub fn toolchain_version( + mut self, + value: [u32; DATA_GRAPH_MODEL_TOOLCHAIN_VERSION_LENGTH_QCOM as usize], + ) -> Self { + self.inner.toolchain_version = value; + self + } +} +impl core::ops::Deref for PipelineCacheHeaderVersionDataGraphQCOMBuilder { + type Target = PipelineCacheHeaderVersionDataGraphQCOM; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for PipelineCacheHeaderVersionDataGraphQCOMBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`PushConstantRange`]. +pub struct PushConstantRangeBuilder { + inner: PushConstantRange, +} +impl PushConstantRange { + /// Start building this struct. + #[inline] + pub fn builder() -> PushConstantRangeBuilder { + PushConstantRangeBuilder { + inner: PushConstantRange { + ..Default::default() + }, + } + } +} +impl PushConstantRangeBuilder { + #[inline] + pub fn stage_flags(mut self, value: ShaderStageFlags) -> Self { + self.inner.stage_flags = value; + self + } + #[inline] + pub fn offset(mut self, value: u32) -> Self { + self.inner.offset = value; + self + } + #[inline] + pub fn size(mut self, value: u32) -> Self { + self.inner.size = value; + self + } +} +impl core::ops::Deref for PushConstantRangeBuilder { + type Target = PushConstantRange; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for PushConstantRangeBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`PipelineBinaryCreateInfoKHR`] with lifetime-tied pNext safety. +pub struct PipelineBinaryCreateInfoKHRBuilder<'a> { + inner: PipelineBinaryCreateInfoKHR, + _marker: core::marker::PhantomData<&'a ()>, +} +impl PipelineBinaryCreateInfoKHR { + /// Start building this struct; `s_type` is already set to the correct variant. + #[inline] + pub fn builder<'a>() -> PipelineBinaryCreateInfoKHRBuilder<'a> { + PipelineBinaryCreateInfoKHRBuilder { + inner: PipelineBinaryCreateInfoKHR { + s_type: StructureType::from_raw(1000483001i32), + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> PipelineBinaryCreateInfoKHRBuilder<'a> { + #[inline] + pub fn keys_and_data_info( + mut self, + value: &'a PipelineBinaryKeysAndDataKHR, + ) -> Self { + self.inner.p_keys_and_data_info = value; + self + } + #[inline] + pub fn pipeline(mut self, value: Pipeline) -> Self { + self.inner.pipeline = value; + self + } + #[inline] + pub fn pipeline_create_info(mut self, value: &'a PipelineCreateInfoKHR) -> Self { + self.inner.p_pipeline_create_info = value; + self + } + ///Prepend a struct to the pNext chain. See [`PipelineBinaryCreateInfoKHR`]'s **Extended By** section for valid types. + #[inline] + pub fn push_next( + mut self, + next: &'a mut T, + ) -> Self { + unsafe { + let next_ptr = <*mut T>::cast::(next); + (*next_ptr).p_next = self.inner.p_next as *mut _; + self.inner.p_next = <*mut BaseOutStructure>::cast::< + core::ffi::c_void, + >(next_ptr) as *const _; + } + self + } +} +impl<'a> core::ops::Deref for PipelineBinaryCreateInfoKHRBuilder<'a> { + type Target = PipelineBinaryCreateInfoKHR; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> core::ops::DerefMut for PipelineBinaryCreateInfoKHRBuilder<'a> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`PipelineBinaryHandlesInfoKHR`] with lifetime-tied pNext safety. +pub struct PipelineBinaryHandlesInfoKHRBuilder<'a> { + inner: PipelineBinaryHandlesInfoKHR, + _marker: core::marker::PhantomData<&'a ()>, +} +impl PipelineBinaryHandlesInfoKHR { + /// Start building this struct; `s_type` is already set to the correct variant. + #[inline] + pub fn builder<'a>() -> PipelineBinaryHandlesInfoKHRBuilder<'a> { + PipelineBinaryHandlesInfoKHRBuilder { + inner: PipelineBinaryHandlesInfoKHR { + s_type: StructureType::from_raw(1000483009i32), + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> PipelineBinaryHandlesInfoKHRBuilder<'a> { + #[inline] + pub fn pipeline_binary_count(mut self, value: u32) -> Self { + self.inner.pipeline_binary_count = value; + self + } + #[inline] + pub fn pipeline_binaries(mut self, slice: &'a mut [PipelineBinaryKHR]) -> Self { + self.inner.pipeline_binary_count = slice.len() as u32; + self.inner.p_pipeline_binaries = slice.as_mut_ptr(); + self + } + ///Prepend a struct to the pNext chain. See [`PipelineBinaryHandlesInfoKHR`]'s **Extended By** section for valid types. + #[inline] + pub fn push_next( + mut self, + next: &'a mut T, + ) -> Self { + unsafe { + let next_ptr = <*mut T>::cast::(next); + (*next_ptr).p_next = self.inner.p_next as *mut _; + self.inner.p_next = <*mut BaseOutStructure>::cast::< + core::ffi::c_void, + >(next_ptr) as *const _; + } + self + } +} +impl<'a> core::ops::Deref for PipelineBinaryHandlesInfoKHRBuilder<'a> { + type Target = PipelineBinaryHandlesInfoKHR; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> core::ops::DerefMut for PipelineBinaryHandlesInfoKHRBuilder<'a> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`PipelineBinaryDataKHR`]. +pub struct PipelineBinaryDataKHRBuilder<'a> { + inner: PipelineBinaryDataKHR, + _marker: core::marker::PhantomData<&'a ()>, +} +impl PipelineBinaryDataKHR { + /// Start building this struct. + #[inline] + pub fn builder<'a>() -> PipelineBinaryDataKHRBuilder<'a> { + PipelineBinaryDataKHRBuilder { + inner: PipelineBinaryDataKHR { + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> PipelineBinaryDataKHRBuilder<'a> { + #[inline] + pub fn data(mut self, slice: &'a mut [core::ffi::c_void]) -> Self { + self.inner.data_size = slice.len(); + self.inner.p_data = slice.as_mut_ptr(); + self + } +} +impl<'a> core::ops::Deref for PipelineBinaryDataKHRBuilder<'a> { + type Target = PipelineBinaryDataKHR; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> core::ops::DerefMut for PipelineBinaryDataKHRBuilder<'a> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`PipelineBinaryKeysAndDataKHR`]. +pub struct PipelineBinaryKeysAndDataKHRBuilder<'a> { + inner: PipelineBinaryKeysAndDataKHR, + _marker: core::marker::PhantomData<&'a ()>, +} +impl PipelineBinaryKeysAndDataKHR { + /// Start building this struct. + #[inline] + pub fn builder<'a>() -> PipelineBinaryKeysAndDataKHRBuilder<'a> { + PipelineBinaryKeysAndDataKHRBuilder { + inner: PipelineBinaryKeysAndDataKHR { + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> PipelineBinaryKeysAndDataKHRBuilder<'a> { + #[inline] + pub fn pipeline_binary_keys(mut self, slice: &'a [PipelineBinaryKeyKHR]) -> Self { + self.inner.binary_count = slice.len() as u32; + self.inner.p_pipeline_binary_keys = slice.as_ptr(); + self + } + #[inline] + pub fn pipeline_binary_data(mut self, slice: &'a [PipelineBinaryDataKHR]) -> Self { + self.inner.binary_count = slice.len() as u32; + self.inner.p_pipeline_binary_data = slice.as_ptr(); + self + } +} +impl<'a> core::ops::Deref for PipelineBinaryKeysAndDataKHRBuilder<'a> { + type Target = PipelineBinaryKeysAndDataKHR; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> core::ops::DerefMut for PipelineBinaryKeysAndDataKHRBuilder<'a> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`PipelineBinaryKeyKHR`] with lifetime-tied pNext safety. +pub struct PipelineBinaryKeyKHRBuilder<'a> { + inner: PipelineBinaryKeyKHR, + _marker: core::marker::PhantomData<&'a ()>, +} +impl PipelineBinaryKeyKHR { + /// Start building this struct; `s_type` is already set to the correct variant. + #[inline] + pub fn builder<'a>() -> PipelineBinaryKeyKHRBuilder<'a> { + PipelineBinaryKeyKHRBuilder { + inner: PipelineBinaryKeyKHR { + s_type: StructureType::from_raw(1000483003i32), + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> PipelineBinaryKeyKHRBuilder<'a> { + #[inline] + pub fn key_size(mut self, value: u32) -> Self { + self.inner.key_size = value; + self + } + #[inline] + pub fn key( + mut self, + value: [u8; MAX_PIPELINE_BINARY_KEY_SIZE_KHR as usize], + ) -> Self { + self.inner.key = value; + self + } + ///Prepend a struct to the pNext chain. See [`PipelineBinaryKeyKHR`]'s **Extended By** section for valid types. + #[inline] + pub fn push_next(mut self, next: &'a mut T) -> Self { + unsafe { + let next_ptr = <*mut T>::cast::(next); + (*next_ptr).p_next = self.inner.p_next as *mut _; + self.inner.p_next = <*mut BaseOutStructure>::cast::< + core::ffi::c_void, + >(next_ptr); + } + self + } +} +impl<'a> core::ops::Deref for PipelineBinaryKeyKHRBuilder<'a> { + type Target = PipelineBinaryKeyKHR; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> core::ops::DerefMut for PipelineBinaryKeyKHRBuilder<'a> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`PipelineBinaryInfoKHR`] with lifetime-tied pNext safety. +pub struct PipelineBinaryInfoKHRBuilder<'a> { + inner: PipelineBinaryInfoKHR, + _marker: core::marker::PhantomData<&'a ()>, +} +impl PipelineBinaryInfoKHR { + /// Start building this struct; `s_type` is already set to the correct variant. + #[inline] + pub fn builder<'a>() -> PipelineBinaryInfoKHRBuilder<'a> { + PipelineBinaryInfoKHRBuilder { + inner: PipelineBinaryInfoKHR { + s_type: StructureType::from_raw(1000483002i32), + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> PipelineBinaryInfoKHRBuilder<'a> { + #[inline] + pub fn pipeline_binaries(mut self, slice: &'a [PipelineBinaryKHR]) -> Self { + self.inner.binary_count = slice.len() as u32; + self.inner.p_pipeline_binaries = slice.as_ptr(); + self + } + ///Prepend a struct to the pNext chain. See [`PipelineBinaryInfoKHR`]'s **Extended By** section for valid types. + #[inline] + pub fn push_next( + mut self, + next: &'a mut T, + ) -> Self { + unsafe { + let next_ptr = <*mut T>::cast::(next); + (*next_ptr).p_next = self.inner.p_next as *mut _; + self.inner.p_next = <*mut BaseOutStructure>::cast::< + core::ffi::c_void, + >(next_ptr) as *const _; + } + self + } +} +impl<'a> core::ops::Deref for PipelineBinaryInfoKHRBuilder<'a> { + type Target = PipelineBinaryInfoKHR; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> core::ops::DerefMut for PipelineBinaryInfoKHRBuilder<'a> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`ReleaseCapturedPipelineDataInfoKHR`] with lifetime-tied pNext safety. +pub struct ReleaseCapturedPipelineDataInfoKHRBuilder<'a> { + inner: ReleaseCapturedPipelineDataInfoKHR, + _marker: core::marker::PhantomData<&'a ()>, +} +impl ReleaseCapturedPipelineDataInfoKHR { + /// Start building this struct; `s_type` is already set to the correct variant. + #[inline] + pub fn builder<'a>() -> ReleaseCapturedPipelineDataInfoKHRBuilder<'a> { + ReleaseCapturedPipelineDataInfoKHRBuilder { + inner: ReleaseCapturedPipelineDataInfoKHR { + s_type: StructureType::from_raw(1000483005i32), + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> ReleaseCapturedPipelineDataInfoKHRBuilder<'a> { + #[inline] + pub fn pipeline(mut self, value: Pipeline) -> Self { + self.inner.pipeline = value; + self + } + ///Prepend a struct to the pNext chain. See [`ReleaseCapturedPipelineDataInfoKHR`]'s **Extended By** section for valid types. + #[inline] + pub fn push_next( + mut self, + next: &'a mut T, + ) -> Self { + unsafe { + let next_ptr = <*mut T>::cast::(next); + (*next_ptr).p_next = self.inner.p_next as *mut _; + self.inner.p_next = <*mut BaseOutStructure>::cast::< + core::ffi::c_void, + >(next_ptr); + } + self + } +} +impl<'a> core::ops::Deref for ReleaseCapturedPipelineDataInfoKHRBuilder<'a> { + type Target = ReleaseCapturedPipelineDataInfoKHR; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> core::ops::DerefMut for ReleaseCapturedPipelineDataInfoKHRBuilder<'a> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`PipelineBinaryDataInfoKHR`] with lifetime-tied pNext safety. +pub struct PipelineBinaryDataInfoKHRBuilder<'a> { + inner: PipelineBinaryDataInfoKHR, + _marker: core::marker::PhantomData<&'a ()>, +} +impl PipelineBinaryDataInfoKHR { + /// Start building this struct; `s_type` is already set to the correct variant. + #[inline] + pub fn builder<'a>() -> PipelineBinaryDataInfoKHRBuilder<'a> { + PipelineBinaryDataInfoKHRBuilder { + inner: PipelineBinaryDataInfoKHR { + s_type: StructureType::from_raw(1000483006i32), + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> PipelineBinaryDataInfoKHRBuilder<'a> { + #[inline] + pub fn pipeline_binary(mut self, value: PipelineBinaryKHR) -> Self { + self.inner.pipeline_binary = value; + self + } + ///Prepend a struct to the pNext chain. See [`PipelineBinaryDataInfoKHR`]'s **Extended By** section for valid types. + #[inline] + pub fn push_next( + mut self, + next: &'a mut T, + ) -> Self { + unsafe { + let next_ptr = <*mut T>::cast::(next); + (*next_ptr).p_next = self.inner.p_next as *mut _; + self.inner.p_next = <*mut BaseOutStructure>::cast::< + core::ffi::c_void, + >(next_ptr); + } + self + } +} +impl<'a> core::ops::Deref for PipelineBinaryDataInfoKHRBuilder<'a> { + type Target = PipelineBinaryDataInfoKHR; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> core::ops::DerefMut for PipelineBinaryDataInfoKHRBuilder<'a> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`PipelineCreateInfoKHR`] with lifetime-tied pNext safety. +pub struct PipelineCreateInfoKHRBuilder<'a> { + inner: PipelineCreateInfoKHR, + _marker: core::marker::PhantomData<&'a ()>, +} +impl PipelineCreateInfoKHR { + /// Start building this struct; `s_type` is already set to the correct variant. + #[inline] + pub fn builder<'a>() -> PipelineCreateInfoKHRBuilder<'a> { + PipelineCreateInfoKHRBuilder { + inner: PipelineCreateInfoKHR { + s_type: StructureType::from_raw(1000483007i32), + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> PipelineCreateInfoKHRBuilder<'a> { + ///Prepend a struct to the pNext chain. See [`PipelineCreateInfoKHR`]'s **Extended By** section for valid types. + #[inline] + pub fn push_next( + mut self, + next: &'a mut T, + ) -> Self { + unsafe { + let next_ptr = <*mut T>::cast::(next); + (*next_ptr).p_next = self.inner.p_next as *mut _; + self.inner.p_next = <*mut BaseOutStructure>::cast::< + core::ffi::c_void, + >(next_ptr); + } + self + } +} +impl<'a> core::ops::Deref for PipelineCreateInfoKHRBuilder<'a> { + type Target = PipelineCreateInfoKHR; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> core::ops::DerefMut for PipelineCreateInfoKHRBuilder<'a> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`PipelineLayoutCreateInfo`] with lifetime-tied pNext safety. +pub struct PipelineLayoutCreateInfoBuilder<'a> { + inner: PipelineLayoutCreateInfo, + _marker: core::marker::PhantomData<&'a ()>, +} +impl PipelineLayoutCreateInfo { + /// Start building this struct; `s_type` is already set to the correct variant. + #[inline] + pub fn builder<'a>() -> PipelineLayoutCreateInfoBuilder<'a> { + PipelineLayoutCreateInfoBuilder { + inner: PipelineLayoutCreateInfo { + s_type: StructureType::from_raw(30i32), + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> PipelineLayoutCreateInfoBuilder<'a> { + #[inline] + pub fn flags(mut self, value: PipelineLayoutCreateFlags) -> Self { + self.inner.flags = value; + self + } + #[inline] + pub fn set_layout_count(mut self, value: u32) -> Self { + self.inner.set_layout_count = value; + self + } + #[inline] + pub fn set_layouts(mut self, slice: &'a [DescriptorSetLayout]) -> Self { + self.inner.set_layout_count = slice.len() as u32; + self.inner.p_set_layouts = slice.as_ptr(); + self + } + #[inline] + pub fn push_constant_ranges(mut self, slice: &'a [PushConstantRange]) -> Self { + self.inner.push_constant_range_count = slice.len() as u32; + self.inner.p_push_constant_ranges = slice.as_ptr(); + self + } + ///Prepend a struct to the pNext chain. See [`PipelineLayoutCreateInfo`]'s **Extended By** section for valid types. + #[inline] + pub fn push_next( + mut self, + next: &'a mut T, + ) -> Self { + unsafe { + let next_ptr = <*mut T>::cast::(next); + (*next_ptr).p_next = self.inner.p_next as *mut _; + self.inner.p_next = <*mut BaseOutStructure>::cast::< + core::ffi::c_void, + >(next_ptr) as *const _; + } + self + } +} +impl<'a> core::ops::Deref for PipelineLayoutCreateInfoBuilder<'a> { + type Target = PipelineLayoutCreateInfo; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> core::ops::DerefMut for PipelineLayoutCreateInfoBuilder<'a> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`SamplerCreateInfo`] with lifetime-tied pNext safety. +pub struct SamplerCreateInfoBuilder<'a> { + inner: SamplerCreateInfo, + _marker: core::marker::PhantomData<&'a ()>, +} +impl SamplerCreateInfo { + /// Start building this struct; `s_type` is already set to the correct variant. + #[inline] + pub fn builder<'a>() -> SamplerCreateInfoBuilder<'a> { + SamplerCreateInfoBuilder { + inner: SamplerCreateInfo { + s_type: StructureType::from_raw(31i32), + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> SamplerCreateInfoBuilder<'a> { + #[inline] + pub fn flags(mut self, value: SamplerCreateFlags) -> Self { + self.inner.flags = value; + self + } + #[inline] + pub fn mag_filter(mut self, value: Filter) -> Self { + self.inner.mag_filter = value; + self + } + #[inline] + pub fn min_filter(mut self, value: Filter) -> Self { + self.inner.min_filter = value; + self + } + #[inline] + pub fn mipmap_mode(mut self, value: SamplerMipmapMode) -> Self { + self.inner.mipmap_mode = value; + self + } + #[inline] + pub fn address_mode_u(mut self, value: SamplerAddressMode) -> Self { + self.inner.address_mode_u = value; + self + } + #[inline] + pub fn address_mode_v(mut self, value: SamplerAddressMode) -> Self { + self.inner.address_mode_v = value; + self + } + #[inline] + pub fn address_mode_w(mut self, value: SamplerAddressMode) -> Self { + self.inner.address_mode_w = value; + self + } + #[inline] + pub fn mip_lod_bias(mut self, value: f32) -> Self { + self.inner.mip_lod_bias = value; + self + } + #[inline] + pub fn anisotropy_enable(mut self, value: bool) -> Self { + self.inner.anisotropy_enable = value as u32; + self + } + #[inline] + pub fn max_anisotropy(mut self, value: f32) -> Self { + self.inner.max_anisotropy = value; + self + } + #[inline] + pub fn compare_enable(mut self, value: bool) -> Self { + self.inner.compare_enable = value as u32; + self + } + #[inline] + pub fn compare_op(mut self, value: CompareOp) -> Self { + self.inner.compare_op = value; + self + } + #[inline] + pub fn min_lod(mut self, value: f32) -> Self { + self.inner.min_lod = value; + self + } + #[inline] + pub fn max_lod(mut self, value: f32) -> Self { + self.inner.max_lod = value; + self + } + #[inline] + pub fn border_color(mut self, value: BorderColor) -> Self { + self.inner.border_color = value; + self + } + #[inline] + pub fn unnormalized_coordinates(mut self, value: bool) -> Self { + self.inner.unnormalized_coordinates = value as u32; + self + } + ///Prepend a struct to the pNext chain. See [`SamplerCreateInfo`]'s **Extended By** section for valid types. + #[inline] + pub fn push_next(mut self, next: &'a mut T) -> Self { + unsafe { + let next_ptr = <*mut T>::cast::(next); + (*next_ptr).p_next = self.inner.p_next as *mut _; + self.inner.p_next = <*mut BaseOutStructure>::cast::< + core::ffi::c_void, + >(next_ptr) as *const _; + } + self + } +} +impl<'a> core::ops::Deref for SamplerCreateInfoBuilder<'a> { + type Target = SamplerCreateInfo; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> core::ops::DerefMut for SamplerCreateInfoBuilder<'a> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`CommandPoolCreateInfo`] with lifetime-tied pNext safety. +pub struct CommandPoolCreateInfoBuilder<'a> { + inner: CommandPoolCreateInfo, + _marker: core::marker::PhantomData<&'a ()>, +} +impl CommandPoolCreateInfo { + /// Start building this struct; `s_type` is already set to the correct variant. + #[inline] + pub fn builder<'a>() -> CommandPoolCreateInfoBuilder<'a> { + CommandPoolCreateInfoBuilder { + inner: CommandPoolCreateInfo { + s_type: StructureType::from_raw(39i32), + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> CommandPoolCreateInfoBuilder<'a> { + #[inline] + pub fn flags(mut self, value: CommandPoolCreateFlags) -> Self { + self.inner.flags = value; + self + } + #[inline] + pub fn queue_family_index(mut self, value: u32) -> Self { + self.inner.queue_family_index = value; + self + } + ///Prepend a struct to the pNext chain. See [`CommandPoolCreateInfo`]'s **Extended By** section for valid types. + #[inline] + pub fn push_next( + mut self, + next: &'a mut T, + ) -> Self { + unsafe { + let next_ptr = <*mut T>::cast::(next); + (*next_ptr).p_next = self.inner.p_next as *mut _; + self.inner.p_next = <*mut BaseOutStructure>::cast::< + core::ffi::c_void, + >(next_ptr) as *const _; + } + self + } +} +impl<'a> core::ops::Deref for CommandPoolCreateInfoBuilder<'a> { + type Target = CommandPoolCreateInfo; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> core::ops::DerefMut for CommandPoolCreateInfoBuilder<'a> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`CommandBufferAllocateInfo`] with lifetime-tied pNext safety. +pub struct CommandBufferAllocateInfoBuilder<'a> { + inner: CommandBufferAllocateInfo, + _marker: core::marker::PhantomData<&'a ()>, +} +impl CommandBufferAllocateInfo { + /// Start building this struct; `s_type` is already set to the correct variant. + #[inline] + pub fn builder<'a>() -> CommandBufferAllocateInfoBuilder<'a> { + CommandBufferAllocateInfoBuilder { + inner: CommandBufferAllocateInfo { + s_type: StructureType::from_raw(40i32), + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> CommandBufferAllocateInfoBuilder<'a> { + #[inline] + pub fn command_pool(mut self, value: CommandPool) -> Self { + self.inner.command_pool = value; + self + } + #[inline] + pub fn level(mut self, value: CommandBufferLevel) -> Self { + self.inner.level = value; + self + } + #[inline] + pub fn command_buffer_count(mut self, value: u32) -> Self { + self.inner.command_buffer_count = value; + self + } + ///Prepend a struct to the pNext chain. See [`CommandBufferAllocateInfo`]'s **Extended By** section for valid types. + #[inline] + pub fn push_next( + mut self, + next: &'a mut T, + ) -> Self { + unsafe { + let next_ptr = <*mut T>::cast::(next); + (*next_ptr).p_next = self.inner.p_next as *mut _; + self.inner.p_next = <*mut BaseOutStructure>::cast::< + core::ffi::c_void, + >(next_ptr) as *const _; + } + self + } +} +impl<'a> core::ops::Deref for CommandBufferAllocateInfoBuilder<'a> { + type Target = CommandBufferAllocateInfo; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> core::ops::DerefMut for CommandBufferAllocateInfoBuilder<'a> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`CommandBufferInheritanceInfo`] with lifetime-tied pNext safety. +pub struct CommandBufferInheritanceInfoBuilder<'a> { + inner: CommandBufferInheritanceInfo, + _marker: core::marker::PhantomData<&'a ()>, +} +impl CommandBufferInheritanceInfo { + /// Start building this struct; `s_type` is already set to the correct variant. + #[inline] + pub fn builder<'a>() -> CommandBufferInheritanceInfoBuilder<'a> { + CommandBufferInheritanceInfoBuilder { + inner: CommandBufferInheritanceInfo { + s_type: StructureType::from_raw(41i32), + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> CommandBufferInheritanceInfoBuilder<'a> { + #[inline] + pub fn render_pass(mut self, value: RenderPass) -> Self { + self.inner.render_pass = value; + self + } + #[inline] + pub fn subpass(mut self, value: u32) -> Self { + self.inner.subpass = value; + self + } + #[inline] + pub fn framebuffer(mut self, value: Framebuffer) -> Self { + self.inner.framebuffer = value; + self + } + #[inline] + pub fn occlusion_query_enable(mut self, value: bool) -> Self { + self.inner.occlusion_query_enable = value as u32; + self + } + #[inline] + pub fn query_flags(mut self, value: QueryControlFlags) -> Self { + self.inner.query_flags = value; + self + } + #[inline] + pub fn pipeline_statistics(mut self, value: QueryPipelineStatisticFlags) -> Self { + self.inner.pipeline_statistics = value; + self + } + ///Prepend a struct to the pNext chain. See [`CommandBufferInheritanceInfo`]'s **Extended By** section for valid types. + #[inline] + pub fn push_next( + mut self, + next: &'a mut T, + ) -> Self { + unsafe { + let next_ptr = <*mut T>::cast::(next); + (*next_ptr).p_next = self.inner.p_next as *mut _; + self.inner.p_next = <*mut BaseOutStructure>::cast::< + core::ffi::c_void, + >(next_ptr) as *const _; + } + self + } +} +impl<'a> core::ops::Deref for CommandBufferInheritanceInfoBuilder<'a> { + type Target = CommandBufferInheritanceInfo; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> core::ops::DerefMut for CommandBufferInheritanceInfoBuilder<'a> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`CommandBufferBeginInfo`] with lifetime-tied pNext safety. +pub struct CommandBufferBeginInfoBuilder<'a> { + inner: CommandBufferBeginInfo, + _marker: core::marker::PhantomData<&'a ()>, +} +impl CommandBufferBeginInfo { + /// Start building this struct; `s_type` is already set to the correct variant. + #[inline] + pub fn builder<'a>() -> CommandBufferBeginInfoBuilder<'a> { + CommandBufferBeginInfoBuilder { + inner: CommandBufferBeginInfo { + s_type: StructureType::from_raw(42i32), + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> CommandBufferBeginInfoBuilder<'a> { + #[inline] + pub fn flags(mut self, value: CommandBufferUsageFlags) -> Self { + self.inner.flags = value; + self + } + #[inline] + pub fn inheritance_info(mut self, value: &'a CommandBufferInheritanceInfo) -> Self { + self.inner.p_inheritance_info = value; + self + } + ///Prepend a struct to the pNext chain. See [`CommandBufferBeginInfo`]'s **Extended By** section for valid types. + #[inline] + pub fn push_next( + mut self, + next: &'a mut T, + ) -> Self { + unsafe { + let next_ptr = <*mut T>::cast::(next); + (*next_ptr).p_next = self.inner.p_next as *mut _; + self.inner.p_next = <*mut BaseOutStructure>::cast::< + core::ffi::c_void, + >(next_ptr) as *const _; + } + self + } +} +impl<'a> core::ops::Deref for CommandBufferBeginInfoBuilder<'a> { + type Target = CommandBufferBeginInfo; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> core::ops::DerefMut for CommandBufferBeginInfoBuilder<'a> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`RenderPassBeginInfo`] with lifetime-tied pNext safety. +pub struct RenderPassBeginInfoBuilder<'a> { + inner: RenderPassBeginInfo, + _marker: core::marker::PhantomData<&'a ()>, +} +impl RenderPassBeginInfo { + /// Start building this struct; `s_type` is already set to the correct variant. + #[inline] + pub fn builder<'a>() -> RenderPassBeginInfoBuilder<'a> { + RenderPassBeginInfoBuilder { + inner: RenderPassBeginInfo { + s_type: StructureType::from_raw(43i32), + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> RenderPassBeginInfoBuilder<'a> { + #[inline] + pub fn render_pass(mut self, value: RenderPass) -> Self { + self.inner.render_pass = value; + self + } + #[inline] + pub fn framebuffer(mut self, value: Framebuffer) -> Self { + self.inner.framebuffer = value; + self + } + #[inline] + pub fn render_area(mut self, value: Rect2D) -> Self { + self.inner.render_area = value; + self + } + #[inline] + pub fn clear_values(mut self, slice: &'a [ClearValue]) -> Self { + self.inner.clear_value_count = slice.len() as u32; + self.inner.p_clear_values = slice.as_ptr(); + self + } + ///Prepend a struct to the pNext chain. See [`RenderPassBeginInfo`]'s **Extended By** section for valid types. + #[inline] + pub fn push_next(mut self, next: &'a mut T) -> Self { + unsafe { + let next_ptr = <*mut T>::cast::(next); + (*next_ptr).p_next = self.inner.p_next as *mut _; + self.inner.p_next = <*mut BaseOutStructure>::cast::< + core::ffi::c_void, + >(next_ptr) as *const _; + } + self + } +} +impl<'a> core::ops::Deref for RenderPassBeginInfoBuilder<'a> { + type Target = RenderPassBeginInfo; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> core::ops::DerefMut for RenderPassBeginInfoBuilder<'a> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`ClearDepthStencilValue`]. +pub struct ClearDepthStencilValueBuilder { + inner: ClearDepthStencilValue, +} +impl ClearDepthStencilValue { + /// Start building this struct. + #[inline] + pub fn builder() -> ClearDepthStencilValueBuilder { + ClearDepthStencilValueBuilder { + inner: ClearDepthStencilValue { + ..Default::default() + }, + } + } +} +impl ClearDepthStencilValueBuilder { + #[inline] + pub fn depth(mut self, value: f32) -> Self { + self.inner.depth = value; + self + } + #[inline] + pub fn stencil(mut self, value: u32) -> Self { + self.inner.stencil = value; + self + } +} +impl core::ops::Deref for ClearDepthStencilValueBuilder { + type Target = ClearDepthStencilValue; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for ClearDepthStencilValueBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`ClearAttachment`]. +pub struct ClearAttachmentBuilder { + inner: ClearAttachment, +} +impl ClearAttachment { + /// Start building this struct. + #[inline] + pub fn builder() -> ClearAttachmentBuilder { + ClearAttachmentBuilder { + inner: ClearAttachment { + ..Default::default() + }, + } + } +} +impl ClearAttachmentBuilder { + #[inline] + pub fn aspect_mask(mut self, value: ImageAspectFlags) -> Self { + self.inner.aspect_mask = value; + self + } + #[inline] + pub fn color_attachment(mut self, value: u32) -> Self { + self.inner.color_attachment = value; + self + } + #[inline] + pub fn clear_value(mut self, value: ClearValue) -> Self { + self.inner.clear_value = value; + self + } +} +impl core::ops::Deref for ClearAttachmentBuilder { + type Target = ClearAttachment; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for ClearAttachmentBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`AttachmentDescription`]. +pub struct AttachmentDescriptionBuilder { + inner: AttachmentDescription, +} +impl AttachmentDescription { + /// Start building this struct. + #[inline] + pub fn builder() -> AttachmentDescriptionBuilder { + AttachmentDescriptionBuilder { + inner: AttachmentDescription { + ..Default::default() + }, + } + } +} +impl AttachmentDescriptionBuilder { + #[inline] + pub fn flags(mut self, value: AttachmentDescriptionFlags) -> Self { + self.inner.flags = value; + self + } + #[inline] + pub fn format(mut self, value: Format) -> Self { + self.inner.format = value; + self + } + #[inline] + pub fn samples(mut self, value: SampleCountFlagBits) -> Self { + self.inner.samples = value; + self + } + #[inline] + pub fn load_op(mut self, value: AttachmentLoadOp) -> Self { + self.inner.load_op = value; + self + } + #[inline] + pub fn store_op(mut self, value: AttachmentStoreOp) -> Self { + self.inner.store_op = value; + self + } + #[inline] + pub fn stencil_load_op(mut self, value: AttachmentLoadOp) -> Self { + self.inner.stencil_load_op = value; + self + } + #[inline] + pub fn stencil_store_op(mut self, value: AttachmentStoreOp) -> Self { + self.inner.stencil_store_op = value; + self + } + #[inline] + pub fn initial_layout(mut self, value: ImageLayout) -> Self { + self.inner.initial_layout = value; + self + } + #[inline] + pub fn final_layout(mut self, value: ImageLayout) -> Self { + self.inner.final_layout = value; + self + } +} +impl core::ops::Deref for AttachmentDescriptionBuilder { + type Target = AttachmentDescription; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for AttachmentDescriptionBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`AttachmentReference`]. +pub struct AttachmentReferenceBuilder { + inner: AttachmentReference, +} +impl AttachmentReference { + /// Start building this struct. + #[inline] + pub fn builder() -> AttachmentReferenceBuilder { + AttachmentReferenceBuilder { + inner: AttachmentReference { + ..Default::default() + }, + } + } +} +impl AttachmentReferenceBuilder { + #[inline] + pub fn attachment(mut self, value: u32) -> Self { + self.inner.attachment = value; + self + } + #[inline] + pub fn layout(mut self, value: ImageLayout) -> Self { + self.inner.layout = value; + self + } +} +impl core::ops::Deref for AttachmentReferenceBuilder { + type Target = AttachmentReference; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for AttachmentReferenceBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`SubpassDescription`]. +pub struct SubpassDescriptionBuilder<'a> { + inner: SubpassDescription, + _marker: core::marker::PhantomData<&'a ()>, +} +impl SubpassDescription { + /// Start building this struct. + #[inline] + pub fn builder<'a>() -> SubpassDescriptionBuilder<'a> { + SubpassDescriptionBuilder { + inner: SubpassDescription { + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> SubpassDescriptionBuilder<'a> { + #[inline] + pub fn flags(mut self, value: SubpassDescriptionFlags) -> Self { + self.inner.flags = value; + self + } + #[inline] + pub fn pipeline_bind_point(mut self, value: PipelineBindPoint) -> Self { + self.inner.pipeline_bind_point = value; + self + } + #[inline] + pub fn input_attachments(mut self, slice: &'a [AttachmentReference]) -> Self { + self.inner.input_attachment_count = slice.len() as u32; + self.inner.p_input_attachments = slice.as_ptr(); + self + } + #[inline] + pub fn color_attachments(mut self, slice: &'a [AttachmentReference]) -> Self { + self.inner.color_attachment_count = slice.len() as u32; + self.inner.p_color_attachments = slice.as_ptr(); + self + } + #[inline] + pub fn resolve_attachments(mut self, slice: &'a [AttachmentReference]) -> Self { + self.inner.color_attachment_count = slice.len() as u32; + self.inner.p_resolve_attachments = slice.as_ptr(); + self + } + #[inline] + pub fn depth_stencil_attachment(mut self, value: &'a AttachmentReference) -> Self { + self.inner.p_depth_stencil_attachment = value; + self + } + #[inline] + pub fn preserve_attachments(mut self, slice: &'a [u32]) -> Self { + self.inner.preserve_attachment_count = slice.len() as u32; + self.inner.p_preserve_attachments = slice.as_ptr(); + self + } +} +impl<'a> core::ops::Deref for SubpassDescriptionBuilder<'a> { + type Target = SubpassDescription; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> core::ops::DerefMut for SubpassDescriptionBuilder<'a> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`SubpassDependency`]. +pub struct SubpassDependencyBuilder { + inner: SubpassDependency, +} +impl SubpassDependency { + /// Start building this struct. + #[inline] + pub fn builder() -> SubpassDependencyBuilder { + SubpassDependencyBuilder { + inner: SubpassDependency { + ..Default::default() + }, + } + } +} +impl SubpassDependencyBuilder { + #[inline] + pub fn src_subpass(mut self, value: u32) -> Self { + self.inner.src_subpass = value; + self + } + #[inline] + pub fn dst_subpass(mut self, value: u32) -> Self { + self.inner.dst_subpass = value; + self + } + #[inline] + pub fn src_stage_mask(mut self, value: PipelineStageFlags) -> Self { + self.inner.src_stage_mask = value; + self + } + #[inline] + pub fn dst_stage_mask(mut self, value: PipelineStageFlags) -> Self { + self.inner.dst_stage_mask = value; + self + } + #[inline] + pub fn src_access_mask(mut self, value: AccessFlags) -> Self { + self.inner.src_access_mask = value; + self + } + #[inline] + pub fn dst_access_mask(mut self, value: AccessFlags) -> Self { + self.inner.dst_access_mask = value; + self + } + #[inline] + pub fn dependency_flags(mut self, value: DependencyFlags) -> Self { + self.inner.dependency_flags = value; + self + } +} +impl core::ops::Deref for SubpassDependencyBuilder { + type Target = SubpassDependency; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for SubpassDependencyBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`RenderPassCreateInfo`] with lifetime-tied pNext safety. +pub struct RenderPassCreateInfoBuilder<'a> { + inner: RenderPassCreateInfo, + _marker: core::marker::PhantomData<&'a ()>, +} +impl RenderPassCreateInfo { + /// Start building this struct; `s_type` is already set to the correct variant. + #[inline] + pub fn builder<'a>() -> RenderPassCreateInfoBuilder<'a> { + RenderPassCreateInfoBuilder { + inner: RenderPassCreateInfo { + s_type: StructureType::from_raw(38i32), + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> RenderPassCreateInfoBuilder<'a> { + #[inline] + pub fn flags(mut self, value: RenderPassCreateFlags) -> Self { + self.inner.flags = value; + self + } + #[inline] + pub fn attachments(mut self, slice: &'a [AttachmentDescription]) -> Self { + self.inner.attachment_count = slice.len() as u32; + self.inner.p_attachments = slice.as_ptr(); + self + } + #[inline] + pub fn subpasses(mut self, slice: &'a [SubpassDescription]) -> Self { + self.inner.subpass_count = slice.len() as u32; + self.inner.p_subpasses = slice.as_ptr(); + self + } + #[inline] + pub fn dependencies(mut self, slice: &'a [SubpassDependency]) -> Self { + self.inner.dependency_count = slice.len() as u32; + self.inner.p_dependencies = slice.as_ptr(); + self + } + ///Prepend a struct to the pNext chain. See [`RenderPassCreateInfo`]'s **Extended By** section for valid types. + #[inline] + pub fn push_next(mut self, next: &'a mut T) -> Self { + unsafe { + let next_ptr = <*mut T>::cast::(next); + (*next_ptr).p_next = self.inner.p_next as *mut _; + self.inner.p_next = <*mut BaseOutStructure>::cast::< + core::ffi::c_void, + >(next_ptr) as *const _; + } + self + } +} +impl<'a> core::ops::Deref for RenderPassCreateInfoBuilder<'a> { + type Target = RenderPassCreateInfo; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> core::ops::DerefMut for RenderPassCreateInfoBuilder<'a> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`EventCreateInfo`] with lifetime-tied pNext safety. +pub struct EventCreateInfoBuilder<'a> { + inner: EventCreateInfo, + _marker: core::marker::PhantomData<&'a ()>, +} +impl EventCreateInfo { + /// Start building this struct; `s_type` is already set to the correct variant. + #[inline] + pub fn builder<'a>() -> EventCreateInfoBuilder<'a> { + EventCreateInfoBuilder { + inner: EventCreateInfo { + s_type: StructureType::from_raw(10i32), + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> EventCreateInfoBuilder<'a> { + #[inline] + pub fn flags(mut self, value: EventCreateFlags) -> Self { + self.inner.flags = value; + self + } + ///Prepend a struct to the pNext chain. See [`EventCreateInfo`]'s **Extended By** section for valid types. + #[inline] + pub fn push_next(mut self, next: &'a mut T) -> Self { + unsafe { + let next_ptr = <*mut T>::cast::(next); + (*next_ptr).p_next = self.inner.p_next as *mut _; + self.inner.p_next = <*mut BaseOutStructure>::cast::< + core::ffi::c_void, + >(next_ptr) as *const _; + } + self + } +} +impl<'a> core::ops::Deref for EventCreateInfoBuilder<'a> { + type Target = EventCreateInfo; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> core::ops::DerefMut for EventCreateInfoBuilder<'a> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`FenceCreateInfo`] with lifetime-tied pNext safety. +pub struct FenceCreateInfoBuilder<'a> { + inner: FenceCreateInfo, + _marker: core::marker::PhantomData<&'a ()>, +} +impl FenceCreateInfo { + /// Start building this struct; `s_type` is already set to the correct variant. + #[inline] + pub fn builder<'a>() -> FenceCreateInfoBuilder<'a> { + FenceCreateInfoBuilder { + inner: FenceCreateInfo { + s_type: StructureType::from_raw(8i32), + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> FenceCreateInfoBuilder<'a> { + #[inline] + pub fn flags(mut self, value: FenceCreateFlags) -> Self { + self.inner.flags = value; + self + } + ///Prepend a struct to the pNext chain. See [`FenceCreateInfo`]'s **Extended By** section for valid types. + #[inline] + pub fn push_next(mut self, next: &'a mut T) -> Self { + unsafe { + let next_ptr = <*mut T>::cast::(next); + (*next_ptr).p_next = self.inner.p_next as *mut _; + self.inner.p_next = <*mut BaseOutStructure>::cast::< + core::ffi::c_void, + >(next_ptr) as *const _; + } + self + } +} +impl<'a> core::ops::Deref for FenceCreateInfoBuilder<'a> { + type Target = FenceCreateInfo; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> core::ops::DerefMut for FenceCreateInfoBuilder<'a> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`PhysicalDeviceFeatures`]. +pub struct PhysicalDeviceFeaturesBuilder { + inner: PhysicalDeviceFeatures, +} +impl PhysicalDeviceFeatures { + /// Start building this struct. + #[inline] + pub fn builder() -> PhysicalDeviceFeaturesBuilder { + PhysicalDeviceFeaturesBuilder { + inner: PhysicalDeviceFeatures { + ..Default::default() + }, + } + } +} +impl PhysicalDeviceFeaturesBuilder { + #[inline] + pub fn robust_buffer_access(mut self, value: bool) -> Self { + self.inner.robust_buffer_access = value as u32; + self + } + #[inline] + pub fn full_draw_index_uint32(mut self, value: bool) -> Self { + self.inner.full_draw_index_uint32 = value as u32; + self + } + #[inline] + pub fn image_cube_array(mut self, value: bool) -> Self { + self.inner.image_cube_array = value as u32; + self + } + #[inline] + pub fn independent_blend(mut self, value: bool) -> Self { + self.inner.independent_blend = value as u32; + self + } + #[inline] + pub fn geometry_shader(mut self, value: bool) -> Self { + self.inner.geometry_shader = value as u32; + self + } + #[inline] + pub fn tessellation_shader(mut self, value: bool) -> Self { + self.inner.tessellation_shader = value as u32; + self + } + #[inline] + pub fn sample_rate_shading(mut self, value: bool) -> Self { + self.inner.sample_rate_shading = value as u32; + self + } + #[inline] + pub fn dual_src_blend(mut self, value: bool) -> Self { + self.inner.dual_src_blend = value as u32; + self + } + #[inline] + pub fn logic_op(mut self, value: bool) -> Self { + self.inner.logic_op = value as u32; + self + } + #[inline] + pub fn multi_draw_indirect(mut self, value: bool) -> Self { + self.inner.multi_draw_indirect = value as u32; + self + } + #[inline] + pub fn draw_indirect_first_instance(mut self, value: bool) -> Self { + self.inner.draw_indirect_first_instance = value as u32; + self + } + #[inline] + pub fn depth_clamp(mut self, value: bool) -> Self { + self.inner.depth_clamp = value as u32; + self + } + #[inline] + pub fn depth_bias_clamp(mut self, value: bool) -> Self { + self.inner.depth_bias_clamp = value as u32; + self + } + #[inline] + pub fn fill_mode_non_solid(mut self, value: bool) -> Self { + self.inner.fill_mode_non_solid = value as u32; + self + } + #[inline] + pub fn depth_bounds(mut self, value: bool) -> Self { + self.inner.depth_bounds = value as u32; + self + } + #[inline] + pub fn wide_lines(mut self, value: bool) -> Self { + self.inner.wide_lines = value as u32; + self + } + #[inline] + pub fn large_points(mut self, value: bool) -> Self { + self.inner.large_points = value as u32; + self + } + #[inline] + pub fn alpha_to_one(mut self, value: bool) -> Self { + self.inner.alpha_to_one = value as u32; + self + } + #[inline] + pub fn multi_viewport(mut self, value: bool) -> Self { + self.inner.multi_viewport = value as u32; + self + } + #[inline] + pub fn sampler_anisotropy(mut self, value: bool) -> Self { + self.inner.sampler_anisotropy = value as u32; + self + } + #[inline] + pub fn texture_compression_etc2(mut self, value: bool) -> Self { + self.inner.texture_compression_etc2 = value as u32; + self + } + #[inline] + pub fn texture_compression_astc_ldr(mut self, value: bool) -> Self { + self.inner.texture_compression_astc_ldr = value as u32; + self + } + #[inline] + pub fn texture_compression_bc(mut self, value: bool) -> Self { + self.inner.texture_compression_bc = value as u32; + self + } + #[inline] + pub fn occlusion_query_precise(mut self, value: bool) -> Self { + self.inner.occlusion_query_precise = value as u32; + self + } + #[inline] + pub fn pipeline_statistics_query(mut self, value: bool) -> Self { + self.inner.pipeline_statistics_query = value as u32; + self + } + #[inline] + pub fn vertex_pipeline_stores_and_atomics(mut self, value: bool) -> Self { + self.inner.vertex_pipeline_stores_and_atomics = value as u32; + self + } + #[inline] + pub fn fragment_stores_and_atomics(mut self, value: bool) -> Self { + self.inner.fragment_stores_and_atomics = value as u32; + self + } + #[inline] + pub fn shader_tessellation_and_geometry_point_size(mut self, value: bool) -> Self { + self.inner.shader_tessellation_and_geometry_point_size = value as u32; + self + } + #[inline] + pub fn shader_image_gather_extended(mut self, value: bool) -> Self { + self.inner.shader_image_gather_extended = value as u32; + self + } + #[inline] + pub fn shader_storage_image_extended_formats(mut self, value: bool) -> Self { + self.inner.shader_storage_image_extended_formats = value as u32; + self + } + #[inline] + pub fn shader_storage_image_multisample(mut self, value: bool) -> Self { + self.inner.shader_storage_image_multisample = value as u32; + self + } + #[inline] + pub fn shader_storage_image_read_without_format(mut self, value: bool) -> Self { + self.inner.shader_storage_image_read_without_format = value as u32; + self + } + #[inline] + pub fn shader_storage_image_write_without_format(mut self, value: bool) -> Self { + self.inner.shader_storage_image_write_without_format = value as u32; + self + } + #[inline] + pub fn shader_uniform_buffer_array_dynamic_indexing(mut self, value: bool) -> Self { + self.inner.shader_uniform_buffer_array_dynamic_indexing = value as u32; + self + } + #[inline] + pub fn shader_sampled_image_array_dynamic_indexing(mut self, value: bool) -> Self { + self.inner.shader_sampled_image_array_dynamic_indexing = value as u32; + self + } + #[inline] + pub fn shader_storage_buffer_array_dynamic_indexing(mut self, value: bool) -> Self { + self.inner.shader_storage_buffer_array_dynamic_indexing = value as u32; + self + } + #[inline] + pub fn shader_storage_image_array_dynamic_indexing(mut self, value: bool) -> Self { + self.inner.shader_storage_image_array_dynamic_indexing = value as u32; + self + } + #[inline] + pub fn shader_clip_distance(mut self, value: bool) -> Self { + self.inner.shader_clip_distance = value as u32; + self + } + #[inline] + pub fn shader_cull_distance(mut self, value: bool) -> Self { + self.inner.shader_cull_distance = value as u32; + self + } + #[inline] + pub fn shader_float64(mut self, value: bool) -> Self { + self.inner.shader_float64 = value as u32; + self + } + #[inline] + pub fn shader_int64(mut self, value: bool) -> Self { + self.inner.shader_int64 = value as u32; + self + } + #[inline] + pub fn shader_int16(mut self, value: bool) -> Self { + self.inner.shader_int16 = value as u32; + self + } + #[inline] + pub fn shader_resource_residency(mut self, value: bool) -> Self { + self.inner.shader_resource_residency = value as u32; + self + } + #[inline] + pub fn shader_resource_min_lod(mut self, value: bool) -> Self { + self.inner.shader_resource_min_lod = value as u32; + self + } + #[inline] + pub fn sparse_binding(mut self, value: bool) -> Self { + self.inner.sparse_binding = value as u32; + self + } + #[inline] + pub fn sparse_residency_buffer(mut self, value: bool) -> Self { + self.inner.sparse_residency_buffer = value as u32; + self + } + #[inline] + pub fn sparse_residency_image2_d(mut self, value: bool) -> Self { + self.inner.sparse_residency_image2_d = value as u32; + self + } + #[inline] + pub fn sparse_residency_image3_d(mut self, value: bool) -> Self { + self.inner.sparse_residency_image3_d = value as u32; + self + } + #[inline] + pub fn sparse_residency2_samples(mut self, value: bool) -> Self { + self.inner.sparse_residency2_samples = value as u32; + self + } + #[inline] + pub fn sparse_residency4_samples(mut self, value: bool) -> Self { + self.inner.sparse_residency4_samples = value as u32; + self + } + #[inline] + pub fn sparse_residency8_samples(mut self, value: bool) -> Self { + self.inner.sparse_residency8_samples = value as u32; + self + } + #[inline] + pub fn sparse_residency16_samples(mut self, value: bool) -> Self { + self.inner.sparse_residency16_samples = value as u32; + self + } + #[inline] + pub fn sparse_residency_aliased(mut self, value: bool) -> Self { + self.inner.sparse_residency_aliased = value as u32; + self + } + #[inline] + pub fn variable_multisample_rate(mut self, value: bool) -> Self { + self.inner.variable_multisample_rate = value as u32; + self + } + #[inline] + pub fn inherited_queries(mut self, value: bool) -> Self { + self.inner.inherited_queries = value as u32; + self + } +} +impl core::ops::Deref for PhysicalDeviceFeaturesBuilder { + type Target = PhysicalDeviceFeatures; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for PhysicalDeviceFeaturesBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`PhysicalDeviceSparseProperties`]. +pub struct PhysicalDeviceSparsePropertiesBuilder { + inner: PhysicalDeviceSparseProperties, +} +impl PhysicalDeviceSparseProperties { + /// Start building this struct. + #[inline] + pub fn builder() -> PhysicalDeviceSparsePropertiesBuilder { + PhysicalDeviceSparsePropertiesBuilder { + inner: PhysicalDeviceSparseProperties { + ..Default::default() + }, + } + } +} +impl PhysicalDeviceSparsePropertiesBuilder { + #[inline] + pub fn residency_standard2_d_block_shape(mut self, value: bool) -> Self { + self.inner.residency_standard2_d_block_shape = value as u32; + self + } + #[inline] + pub fn residency_standard2_d_multisample_block_shape(mut self, value: bool) -> Self { + self.inner.residency_standard2_d_multisample_block_shape = value as u32; + self + } + #[inline] + pub fn residency_standard3_d_block_shape(mut self, value: bool) -> Self { + self.inner.residency_standard3_d_block_shape = value as u32; + self + } + #[inline] + pub fn residency_aligned_mip_size(mut self, value: bool) -> Self { + self.inner.residency_aligned_mip_size = value as u32; + self + } + #[inline] + pub fn residency_non_resident_strict(mut self, value: bool) -> Self { + self.inner.residency_non_resident_strict = value as u32; + self + } +} +impl core::ops::Deref for PhysicalDeviceSparsePropertiesBuilder { + type Target = PhysicalDeviceSparseProperties; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for PhysicalDeviceSparsePropertiesBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`PhysicalDeviceLimits`]. +pub struct PhysicalDeviceLimitsBuilder { + inner: PhysicalDeviceLimits, +} +impl PhysicalDeviceLimits { + /// Start building this struct. + #[inline] + pub fn builder() -> PhysicalDeviceLimitsBuilder { + PhysicalDeviceLimitsBuilder { + inner: PhysicalDeviceLimits { + ..Default::default() + }, + } + } +} +impl PhysicalDeviceLimitsBuilder { + #[inline] + pub fn max_image_dimension1_d(mut self, value: u32) -> Self { + self.inner.max_image_dimension1_d = value; + self + } + #[inline] + pub fn max_image_dimension2_d(mut self, value: u32) -> Self { + self.inner.max_image_dimension2_d = value; + self + } + #[inline] + pub fn max_image_dimension3_d(mut self, value: u32) -> Self { + self.inner.max_image_dimension3_d = value; + self + } + #[inline] + pub fn max_image_dimension_cube(mut self, value: u32) -> Self { + self.inner.max_image_dimension_cube = value; + self + } + #[inline] + pub fn max_image_array_layers(mut self, value: u32) -> Self { + self.inner.max_image_array_layers = value; + self + } + #[inline] + pub fn max_texel_buffer_elements(mut self, value: u32) -> Self { + self.inner.max_texel_buffer_elements = value; + self + } + #[inline] + pub fn max_uniform_buffer_range(mut self, value: u32) -> Self { + self.inner.max_uniform_buffer_range = value; + self + } + #[inline] + pub fn max_storage_buffer_range(mut self, value: u32) -> Self { + self.inner.max_storage_buffer_range = value; + self + } + #[inline] + pub fn max_push_constants_size(mut self, value: u32) -> Self { + self.inner.max_push_constants_size = value; + self + } + #[inline] + pub fn max_memory_allocation_count(mut self, value: u32) -> Self { + self.inner.max_memory_allocation_count = value; + self + } + #[inline] + pub fn max_sampler_allocation_count(mut self, value: u32) -> Self { + self.inner.max_sampler_allocation_count = value; + self + } + #[inline] + pub fn buffer_image_granularity(mut self, value: u64) -> Self { + self.inner.buffer_image_granularity = value; + self + } + #[inline] + pub fn sparse_address_space_size(mut self, value: u64) -> Self { + self.inner.sparse_address_space_size = value; + self + } + #[inline] + pub fn max_bound_descriptor_sets(mut self, value: u32) -> Self { + self.inner.max_bound_descriptor_sets = value; + self + } + #[inline] + pub fn max_per_stage_descriptor_samplers(mut self, value: u32) -> Self { + self.inner.max_per_stage_descriptor_samplers = value; + self + } + #[inline] + pub fn max_per_stage_descriptor_uniform_buffers(mut self, value: u32) -> Self { + self.inner.max_per_stage_descriptor_uniform_buffers = value; + self + } + #[inline] + pub fn max_per_stage_descriptor_storage_buffers(mut self, value: u32) -> Self { + self.inner.max_per_stage_descriptor_storage_buffers = value; + self + } + #[inline] + pub fn max_per_stage_descriptor_sampled_images(mut self, value: u32) -> Self { + self.inner.max_per_stage_descriptor_sampled_images = value; + self + } + #[inline] + pub fn max_per_stage_descriptor_storage_images(mut self, value: u32) -> Self { + self.inner.max_per_stage_descriptor_storage_images = value; + self + } + #[inline] + pub fn max_per_stage_descriptor_input_attachments(mut self, value: u32) -> Self { + self.inner.max_per_stage_descriptor_input_attachments = value; + self + } + #[inline] + pub fn max_per_stage_resources(mut self, value: u32) -> Self { + self.inner.max_per_stage_resources = value; + self + } + #[inline] + pub fn max_descriptor_set_samplers(mut self, value: u32) -> Self { + self.inner.max_descriptor_set_samplers = value; + self + } + #[inline] + pub fn max_descriptor_set_uniform_buffers(mut self, value: u32) -> Self { + self.inner.max_descriptor_set_uniform_buffers = value; + self + } + #[inline] + pub fn max_descriptor_set_uniform_buffers_dynamic(mut self, value: u32) -> Self { + self.inner.max_descriptor_set_uniform_buffers_dynamic = value; + self + } + #[inline] + pub fn max_descriptor_set_storage_buffers(mut self, value: u32) -> Self { + self.inner.max_descriptor_set_storage_buffers = value; + self + } + #[inline] + pub fn max_descriptor_set_storage_buffers_dynamic(mut self, value: u32) -> Self { + self.inner.max_descriptor_set_storage_buffers_dynamic = value; + self + } + #[inline] + pub fn max_descriptor_set_sampled_images(mut self, value: u32) -> Self { + self.inner.max_descriptor_set_sampled_images = value; + self + } + #[inline] + pub fn max_descriptor_set_storage_images(mut self, value: u32) -> Self { + self.inner.max_descriptor_set_storage_images = value; + self + } + #[inline] + pub fn max_descriptor_set_input_attachments(mut self, value: u32) -> Self { + self.inner.max_descriptor_set_input_attachments = value; + self + } + #[inline] + pub fn max_vertex_input_attributes(mut self, value: u32) -> Self { + self.inner.max_vertex_input_attributes = value; + self + } + #[inline] + pub fn max_vertex_input_bindings(mut self, value: u32) -> Self { + self.inner.max_vertex_input_bindings = value; + self + } + #[inline] + pub fn max_vertex_input_attribute_offset(mut self, value: u32) -> Self { + self.inner.max_vertex_input_attribute_offset = value; + self + } + #[inline] + pub fn max_vertex_input_binding_stride(mut self, value: u32) -> Self { + self.inner.max_vertex_input_binding_stride = value; + self + } + #[inline] + pub fn max_vertex_output_components(mut self, value: u32) -> Self { + self.inner.max_vertex_output_components = value; + self + } + #[inline] + pub fn max_tessellation_generation_level(mut self, value: u32) -> Self { + self.inner.max_tessellation_generation_level = value; + self + } + #[inline] + pub fn max_tessellation_patch_size(mut self, value: u32) -> Self { + self.inner.max_tessellation_patch_size = value; + self + } + #[inline] + pub fn max_tessellation_control_per_vertex_input_components( + mut self, + value: u32, + ) -> Self { + self.inner.max_tessellation_control_per_vertex_input_components = value; + self + } + #[inline] + pub fn max_tessellation_control_per_vertex_output_components( + mut self, + value: u32, + ) -> Self { + self.inner.max_tessellation_control_per_vertex_output_components = value; + self + } + #[inline] + pub fn max_tessellation_control_per_patch_output_components( + mut self, + value: u32, + ) -> Self { + self.inner.max_tessellation_control_per_patch_output_components = value; + self + } + #[inline] + pub fn max_tessellation_control_total_output_components( + mut self, + value: u32, + ) -> Self { + self.inner.max_tessellation_control_total_output_components = value; + self + } + #[inline] + pub fn max_tessellation_evaluation_input_components(mut self, value: u32) -> Self { + self.inner.max_tessellation_evaluation_input_components = value; + self + } + #[inline] + pub fn max_tessellation_evaluation_output_components(mut self, value: u32) -> Self { + self.inner.max_tessellation_evaluation_output_components = value; + self + } + #[inline] + pub fn max_geometry_shader_invocations(mut self, value: u32) -> Self { + self.inner.max_geometry_shader_invocations = value; + self + } + #[inline] + pub fn max_geometry_input_components(mut self, value: u32) -> Self { + self.inner.max_geometry_input_components = value; + self + } + #[inline] + pub fn max_geometry_output_components(mut self, value: u32) -> Self { + self.inner.max_geometry_output_components = value; + self + } + #[inline] + pub fn max_geometry_output_vertices(mut self, value: u32) -> Self { + self.inner.max_geometry_output_vertices = value; + self + } + #[inline] + pub fn max_geometry_total_output_components(mut self, value: u32) -> Self { + self.inner.max_geometry_total_output_components = value; + self + } + #[inline] + pub fn max_fragment_input_components(mut self, value: u32) -> Self { + self.inner.max_fragment_input_components = value; + self + } + #[inline] + pub fn max_fragment_output_attachments(mut self, value: u32) -> Self { + self.inner.max_fragment_output_attachments = value; + self + } + #[inline] + pub fn max_fragment_dual_src_attachments(mut self, value: u32) -> Self { + self.inner.max_fragment_dual_src_attachments = value; + self + } + #[inline] + pub fn max_fragment_combined_output_resources(mut self, value: u32) -> Self { + self.inner.max_fragment_combined_output_resources = value; + self + } + #[inline] + pub fn max_compute_shared_memory_size(mut self, value: u32) -> Self { + self.inner.max_compute_shared_memory_size = value; + self + } + #[inline] + pub fn max_compute_work_group_count(mut self, value: [u32; 3usize]) -> Self { + self.inner.max_compute_work_group_count = value; + self + } + #[inline] + pub fn max_compute_work_group_invocations(mut self, value: u32) -> Self { + self.inner.max_compute_work_group_invocations = value; + self + } + #[inline] + pub fn max_compute_work_group_size(mut self, value: [u32; 3usize]) -> Self { + self.inner.max_compute_work_group_size = value; + self + } + #[inline] + pub fn sub_pixel_precision_bits(mut self, value: u32) -> Self { + self.inner.sub_pixel_precision_bits = value; + self + } + #[inline] + pub fn sub_texel_precision_bits(mut self, value: u32) -> Self { + self.inner.sub_texel_precision_bits = value; + self + } + #[inline] + pub fn mipmap_precision_bits(mut self, value: u32) -> Self { + self.inner.mipmap_precision_bits = value; + self + } + #[inline] + pub fn max_draw_indexed_index_value(mut self, value: u32) -> Self { + self.inner.max_draw_indexed_index_value = value; + self + } + #[inline] + pub fn max_draw_indirect_count(mut self, value: u32) -> Self { + self.inner.max_draw_indirect_count = value; + self + } + #[inline] + pub fn max_sampler_lod_bias(mut self, value: f32) -> Self { + self.inner.max_sampler_lod_bias = value; + self + } + #[inline] + pub fn max_sampler_anisotropy(mut self, value: f32) -> Self { + self.inner.max_sampler_anisotropy = value; + self + } + #[inline] + pub fn max_viewports(mut self, value: u32) -> Self { + self.inner.max_viewports = value; + self + } + #[inline] + pub fn max_viewport_dimensions(mut self, value: [u32; 2usize]) -> Self { + self.inner.max_viewport_dimensions = value; + self + } + #[inline] + pub fn viewport_bounds_range(mut self, value: [f32; 2usize]) -> Self { + self.inner.viewport_bounds_range = value; + self + } + #[inline] + pub fn viewport_sub_pixel_bits(mut self, value: u32) -> Self { + self.inner.viewport_sub_pixel_bits = value; + self + } + #[inline] + pub fn min_memory_map_alignment(mut self, value: usize) -> Self { + self.inner.min_memory_map_alignment = value; + self + } + #[inline] + pub fn min_texel_buffer_offset_alignment(mut self, value: u64) -> Self { + self.inner.min_texel_buffer_offset_alignment = value; + self + } + #[inline] + pub fn min_uniform_buffer_offset_alignment(mut self, value: u64) -> Self { + self.inner.min_uniform_buffer_offset_alignment = value; + self + } + #[inline] + pub fn min_storage_buffer_offset_alignment(mut self, value: u64) -> Self { + self.inner.min_storage_buffer_offset_alignment = value; + self + } + #[inline] + pub fn min_texel_offset(mut self, value: i32) -> Self { + self.inner.min_texel_offset = value; + self + } + #[inline] + pub fn max_texel_offset(mut self, value: u32) -> Self { + self.inner.max_texel_offset = value; + self + } + #[inline] + pub fn min_texel_gather_offset(mut self, value: i32) -> Self { + self.inner.min_texel_gather_offset = value; + self + } + #[inline] + pub fn max_texel_gather_offset(mut self, value: u32) -> Self { + self.inner.max_texel_gather_offset = value; + self + } + #[inline] + pub fn min_interpolation_offset(mut self, value: f32) -> Self { + self.inner.min_interpolation_offset = value; + self + } + #[inline] + pub fn max_interpolation_offset(mut self, value: f32) -> Self { + self.inner.max_interpolation_offset = value; + self + } + #[inline] + pub fn sub_pixel_interpolation_offset_bits(mut self, value: u32) -> Self { + self.inner.sub_pixel_interpolation_offset_bits = value; + self + } + #[inline] + pub fn max_framebuffer_width(mut self, value: u32) -> Self { + self.inner.max_framebuffer_width = value; + self + } + #[inline] + pub fn max_framebuffer_height(mut self, value: u32) -> Self { + self.inner.max_framebuffer_height = value; + self + } + #[inline] + pub fn max_framebuffer_layers(mut self, value: u32) -> Self { + self.inner.max_framebuffer_layers = value; + self + } + #[inline] + pub fn framebuffer_color_sample_counts(mut self, value: SampleCountFlags) -> Self { + self.inner.framebuffer_color_sample_counts = value; + self + } + #[inline] + pub fn framebuffer_depth_sample_counts(mut self, value: SampleCountFlags) -> Self { + self.inner.framebuffer_depth_sample_counts = value; + self + } + #[inline] + pub fn framebuffer_stencil_sample_counts(mut self, value: SampleCountFlags) -> Self { + self.inner.framebuffer_stencil_sample_counts = value; + self + } + #[inline] + pub fn framebuffer_no_attachments_sample_counts( + mut self, + value: SampleCountFlags, + ) -> Self { + self.inner.framebuffer_no_attachments_sample_counts = value; + self + } + #[inline] + pub fn max_color_attachments(mut self, value: u32) -> Self { + self.inner.max_color_attachments = value; + self + } + #[inline] + pub fn sampled_image_color_sample_counts(mut self, value: SampleCountFlags) -> Self { + self.inner.sampled_image_color_sample_counts = value; + self + } + #[inline] + pub fn sampled_image_integer_sample_counts( + mut self, + value: SampleCountFlags, + ) -> Self { + self.inner.sampled_image_integer_sample_counts = value; + self + } + #[inline] + pub fn sampled_image_depth_sample_counts(mut self, value: SampleCountFlags) -> Self { + self.inner.sampled_image_depth_sample_counts = value; + self + } + #[inline] + pub fn sampled_image_stencil_sample_counts( + mut self, + value: SampleCountFlags, + ) -> Self { + self.inner.sampled_image_stencil_sample_counts = value; + self + } + #[inline] + pub fn storage_image_sample_counts(mut self, value: SampleCountFlags) -> Self { + self.inner.storage_image_sample_counts = value; + self + } + #[inline] + pub fn max_sample_mask_words(mut self, value: u32) -> Self { + self.inner.max_sample_mask_words = value; + self + } + #[inline] + pub fn timestamp_compute_and_graphics(mut self, value: bool) -> Self { + self.inner.timestamp_compute_and_graphics = value as u32; + self + } + #[inline] + pub fn timestamp_period(mut self, value: f32) -> Self { + self.inner.timestamp_period = value; + self + } + #[inline] + pub fn max_clip_distances(mut self, value: u32) -> Self { + self.inner.max_clip_distances = value; + self + } + #[inline] + pub fn max_cull_distances(mut self, value: u32) -> Self { + self.inner.max_cull_distances = value; + self + } + #[inline] + pub fn max_combined_clip_and_cull_distances(mut self, value: u32) -> Self { + self.inner.max_combined_clip_and_cull_distances = value; + self + } + #[inline] + pub fn discrete_queue_priorities(mut self, value: u32) -> Self { + self.inner.discrete_queue_priorities = value; + self + } + #[inline] + pub fn point_size_range(mut self, value: [f32; 2usize]) -> Self { + self.inner.point_size_range = value; + self + } + #[inline] + pub fn line_width_range(mut self, value: [f32; 2usize]) -> Self { + self.inner.line_width_range = value; + self + } + #[inline] + pub fn point_size_granularity(mut self, value: f32) -> Self { + self.inner.point_size_granularity = value; + self + } + #[inline] + pub fn line_width_granularity(mut self, value: f32) -> Self { + self.inner.line_width_granularity = value; + self + } + #[inline] + pub fn strict_lines(mut self, value: bool) -> Self { + self.inner.strict_lines = value as u32; + self + } + #[inline] + pub fn standard_sample_locations(mut self, value: bool) -> Self { + self.inner.standard_sample_locations = value as u32; + self + } + #[inline] + pub fn optimal_buffer_copy_offset_alignment(mut self, value: u64) -> Self { + self.inner.optimal_buffer_copy_offset_alignment = value; + self + } + #[inline] + pub fn optimal_buffer_copy_row_pitch_alignment(mut self, value: u64) -> Self { + self.inner.optimal_buffer_copy_row_pitch_alignment = value; + self + } + #[inline] + pub fn non_coherent_atom_size(mut self, value: u64) -> Self { + self.inner.non_coherent_atom_size = value; + self + } +} +impl core::ops::Deref for PhysicalDeviceLimitsBuilder { + type Target = PhysicalDeviceLimits; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for PhysicalDeviceLimitsBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`SemaphoreCreateInfo`] with lifetime-tied pNext safety. +pub struct SemaphoreCreateInfoBuilder<'a> { + inner: SemaphoreCreateInfo, + _marker: core::marker::PhantomData<&'a ()>, +} +impl SemaphoreCreateInfo { + /// Start building this struct; `s_type` is already set to the correct variant. + #[inline] + pub fn builder<'a>() -> SemaphoreCreateInfoBuilder<'a> { + SemaphoreCreateInfoBuilder { + inner: SemaphoreCreateInfo { + s_type: StructureType::from_raw(9i32), + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> SemaphoreCreateInfoBuilder<'a> { #[inline] - pub fn command_buffer_count(mut self, value: u32) -> Self { - self.inner.command_buffer_count = value; + pub fn flags(mut self, value: SemaphoreCreateFlags) -> Self { + self.inner.flags = value; self } - ///Prepend a struct to the pNext chain. See [`CommandBufferAllocateInfo`]'s **Extended By** section for valid types. + ///Prepend a struct to the pNext chain. See [`SemaphoreCreateInfo`]'s **Extended By** section for valid types. #[inline] - pub fn push_next( - mut self, - next: &'a mut T, - ) -> Self { + pub fn push_next(mut self, next: &'a mut T) -> Self { unsafe { let next_ptr = <*mut T>::cast::(next); (*next_ptr).p_next = self.inner.p_next as *mut _; @@ -3456,61 +7961,51 @@ impl<'a> CommandBufferAllocateInfoBuilder<'a> { self } } -impl<'a> core::ops::Deref for CommandBufferAllocateInfoBuilder<'a> { - type Target = CommandBufferAllocateInfo; +impl<'a> core::ops::Deref for SemaphoreCreateInfoBuilder<'a> { + type Target = SemaphoreCreateInfo; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for CommandBufferAllocateInfoBuilder<'a> { +impl<'a> core::ops::DerefMut for SemaphoreCreateInfoBuilder<'a> { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`CommandBufferInheritanceInfo`] with lifetime-tied pNext safety. -pub struct CommandBufferInheritanceInfoBuilder<'a> { - inner: CommandBufferInheritanceInfo, +///Builder for [`QueryPoolCreateInfo`] with lifetime-tied pNext safety. +pub struct QueryPoolCreateInfoBuilder<'a> { + inner: QueryPoolCreateInfo, _marker: core::marker::PhantomData<&'a ()>, } -impl CommandBufferInheritanceInfo { +impl QueryPoolCreateInfo { /// Start building this struct; `s_type` is already set to the correct variant. #[inline] - pub fn builder<'a>() -> CommandBufferInheritanceInfoBuilder<'a> { - CommandBufferInheritanceInfoBuilder { - inner: CommandBufferInheritanceInfo { - s_type: StructureType::from_raw(41i32), + pub fn builder<'a>() -> QueryPoolCreateInfoBuilder<'a> { + QueryPoolCreateInfoBuilder { + inner: QueryPoolCreateInfo { + s_type: StructureType::from_raw(11i32), ..Default::default() }, _marker: core::marker::PhantomData, } } } -impl<'a> CommandBufferInheritanceInfoBuilder<'a> { - #[inline] - pub fn render_pass(mut self, value: RenderPass) -> Self { - self.inner.render_pass = value; - self - } - #[inline] - pub fn subpass(mut self, value: u32) -> Self { - self.inner.subpass = value; - self - } +impl<'a> QueryPoolCreateInfoBuilder<'a> { #[inline] - pub fn framebuffer(mut self, value: Framebuffer) -> Self { - self.inner.framebuffer = value; + pub fn flags(mut self, value: QueryPoolCreateFlags) -> Self { + self.inner.flags = value; self } #[inline] - pub fn occlusion_query_enable(mut self, value: bool) -> Self { - self.inner.occlusion_query_enable = value as u32; + pub fn query_type(mut self, value: QueryType) -> Self { + self.inner.query_type = value; self } #[inline] - pub fn query_flags(mut self, value: QueryControlFlags) -> Self { - self.inner.query_flags = value; + pub fn query_count(mut self, value: u32) -> Self { + self.inner.query_count = value; self } #[inline] @@ -3518,12 +8013,9 @@ impl<'a> CommandBufferInheritanceInfoBuilder<'a> { self.inner.pipeline_statistics = value; self } - ///Prepend a struct to the pNext chain. See [`CommandBufferInheritanceInfo`]'s **Extended By** section for valid types. + ///Prepend a struct to the pNext chain. See [`QueryPoolCreateInfo`]'s **Extended By** section for valid types. #[inline] - pub fn push_next( - mut self, - next: &'a mut T, - ) -> Self { + pub fn push_next(mut self, next: &'a mut T) -> Self { unsafe { let next_ptr = <*mut T>::cast::(next); (*next_ptr).p_next = self.inner.p_next as *mut _; @@ -3534,54 +8026,72 @@ impl<'a> CommandBufferInheritanceInfoBuilder<'a> { self } } -impl<'a> core::ops::Deref for CommandBufferInheritanceInfoBuilder<'a> { - type Target = CommandBufferInheritanceInfo; +impl<'a> core::ops::Deref for QueryPoolCreateInfoBuilder<'a> { + type Target = QueryPoolCreateInfo; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for CommandBufferInheritanceInfoBuilder<'a> { +impl<'a> core::ops::DerefMut for QueryPoolCreateInfoBuilder<'a> { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`CommandBufferBeginInfo`] with lifetime-tied pNext safety. -pub struct CommandBufferBeginInfoBuilder<'a> { - inner: CommandBufferBeginInfo, +///Builder for [`FramebufferCreateInfo`] with lifetime-tied pNext safety. +pub struct FramebufferCreateInfoBuilder<'a> { + inner: FramebufferCreateInfo, _marker: core::marker::PhantomData<&'a ()>, } -impl CommandBufferBeginInfo { +impl FramebufferCreateInfo { /// Start building this struct; `s_type` is already set to the correct variant. #[inline] - pub fn builder<'a>() -> CommandBufferBeginInfoBuilder<'a> { - CommandBufferBeginInfoBuilder { - inner: CommandBufferBeginInfo { - s_type: StructureType::from_raw(42i32), + pub fn builder<'a>() -> FramebufferCreateInfoBuilder<'a> { + FramebufferCreateInfoBuilder { + inner: FramebufferCreateInfo { + s_type: StructureType::from_raw(37i32), ..Default::default() }, _marker: core::marker::PhantomData, } } } -impl<'a> CommandBufferBeginInfoBuilder<'a> { +impl<'a> FramebufferCreateInfoBuilder<'a> { #[inline] - pub fn flags(mut self, value: CommandBufferUsageFlags) -> Self { + pub fn flags(mut self, value: FramebufferCreateFlags) -> Self { self.inner.flags = value; self } #[inline] - pub fn p_inheritance_info( - mut self, - value: &'a CommandBufferInheritanceInfo, - ) -> Self { - self.inner.p_inheritance_info = value; + pub fn render_pass(mut self, value: RenderPass) -> Self { + self.inner.render_pass = value; self } - ///Prepend a struct to the pNext chain. See [`CommandBufferBeginInfo`]'s **Extended By** section for valid types. #[inline] - pub fn push_next( + pub fn attachments(mut self, slice: &'a [ImageView]) -> Self { + self.inner.attachment_count = slice.len() as u32; + self.inner.p_attachments = slice.as_ptr(); + self + } + #[inline] + pub fn width(mut self, value: u32) -> Self { + self.inner.width = value; + self + } + #[inline] + pub fn height(mut self, value: u32) -> Self { + self.inner.height = value; + self + } + #[inline] + pub fn layers(mut self, value: u32) -> Self { + self.inner.layers = value; + self + } + ///Prepend a struct to the pNext chain. See [`FramebufferCreateInfo`]'s **Extended By** section for valid types. + #[inline] + pub fn push_next( mut self, next: &'a mut T, ) -> Self { @@ -3595,345 +8105,300 @@ impl<'a> CommandBufferBeginInfoBuilder<'a> { self } } -impl<'a> core::ops::Deref for CommandBufferBeginInfoBuilder<'a> { - type Target = CommandBufferBeginInfo; +impl<'a> core::ops::Deref for FramebufferCreateInfoBuilder<'a> { + type Target = FramebufferCreateInfo; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for CommandBufferBeginInfoBuilder<'a> { +impl<'a> core::ops::DerefMut for FramebufferCreateInfoBuilder<'a> { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`RenderPassBeginInfo`] with lifetime-tied pNext safety. -pub struct RenderPassBeginInfoBuilder<'a> { - inner: RenderPassBeginInfo, - _marker: core::marker::PhantomData<&'a ()>, +///Builder for [`DrawIndirectCommand`]. +pub struct DrawIndirectCommandBuilder { + inner: DrawIndirectCommand, } -impl RenderPassBeginInfo { - /// Start building this struct; `s_type` is already set to the correct variant. +impl DrawIndirectCommand { + /// Start building this struct. #[inline] - pub fn builder<'a>() -> RenderPassBeginInfoBuilder<'a> { - RenderPassBeginInfoBuilder { - inner: RenderPassBeginInfo { - s_type: StructureType::from_raw(43i32), + pub fn builder() -> DrawIndirectCommandBuilder { + DrawIndirectCommandBuilder { + inner: DrawIndirectCommand { ..Default::default() }, - _marker: core::marker::PhantomData, } } } -impl<'a> RenderPassBeginInfoBuilder<'a> { +impl DrawIndirectCommandBuilder { #[inline] - pub fn render_pass(mut self, value: RenderPass) -> Self { - self.inner.render_pass = value; - self - } - #[inline] - pub fn framebuffer(mut self, value: Framebuffer) -> Self { - self.inner.framebuffer = value; + pub fn vertex_count(mut self, value: u32) -> Self { + self.inner.vertex_count = value; self } #[inline] - pub fn render_area(mut self, value: Rect2D) -> Self { - self.inner.render_area = value; + pub fn instance_count(mut self, value: u32) -> Self { + self.inner.instance_count = value; self } #[inline] - pub fn clear_values(mut self, slice: &'a [ClearValue]) -> Self { - self.inner.clear_value_count = slice.len() as u32; - self.inner.p_clear_values = slice.as_ptr(); + pub fn first_vertex(mut self, value: u32) -> Self { + self.inner.first_vertex = value; self } - ///Prepend a struct to the pNext chain. See [`RenderPassBeginInfo`]'s **Extended By** section for valid types. #[inline] - pub fn push_next(mut self, next: &'a mut T) -> Self { - unsafe { - let next_ptr = <*mut T>::cast::(next); - (*next_ptr).p_next = self.inner.p_next as *mut _; - self.inner.p_next = <*mut BaseOutStructure>::cast::< - core::ffi::c_void, - >(next_ptr) as *const _; - } + pub fn first_instance(mut self, value: u32) -> Self { + self.inner.first_instance = value; self } } -impl<'a> core::ops::Deref for RenderPassBeginInfoBuilder<'a> { - type Target = RenderPassBeginInfo; +impl core::ops::Deref for DrawIndirectCommandBuilder { + type Target = DrawIndirectCommand; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for RenderPassBeginInfoBuilder<'a> { +impl core::ops::DerefMut for DrawIndirectCommandBuilder { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`RenderPassCreateInfo`] with lifetime-tied pNext safety. -pub struct RenderPassCreateInfoBuilder<'a> { - inner: RenderPassCreateInfo, - _marker: core::marker::PhantomData<&'a ()>, +///Builder for [`DrawIndexedIndirectCommand`]. +pub struct DrawIndexedIndirectCommandBuilder { + inner: DrawIndexedIndirectCommand, } -impl RenderPassCreateInfo { - /// Start building this struct; `s_type` is already set to the correct variant. +impl DrawIndexedIndirectCommand { + /// Start building this struct. #[inline] - pub fn builder<'a>() -> RenderPassCreateInfoBuilder<'a> { - RenderPassCreateInfoBuilder { - inner: RenderPassCreateInfo { - s_type: StructureType::from_raw(38i32), + pub fn builder() -> DrawIndexedIndirectCommandBuilder { + DrawIndexedIndirectCommandBuilder { + inner: DrawIndexedIndirectCommand { ..Default::default() }, - _marker: core::marker::PhantomData, } } } -impl<'a> RenderPassCreateInfoBuilder<'a> { +impl DrawIndexedIndirectCommandBuilder { #[inline] - pub fn flags(mut self, value: RenderPassCreateFlags) -> Self { - self.inner.flags = value; + pub fn index_count(mut self, value: u32) -> Self { + self.inner.index_count = value; self } #[inline] - pub fn attachments(mut self, slice: &'a [AttachmentDescription]) -> Self { - self.inner.attachment_count = slice.len() as u32; - self.inner.p_attachments = slice.as_ptr(); + pub fn instance_count(mut self, value: u32) -> Self { + self.inner.instance_count = value; self } #[inline] - pub fn subpasses(mut self, slice: &'a [SubpassDescription]) -> Self { - self.inner.subpass_count = slice.len() as u32; - self.inner.p_subpasses = slice.as_ptr(); + pub fn first_index(mut self, value: u32) -> Self { + self.inner.first_index = value; self } #[inline] - pub fn dependencies(mut self, slice: &'a [SubpassDependency]) -> Self { - self.inner.dependency_count = slice.len() as u32; - self.inner.p_dependencies = slice.as_ptr(); + pub fn vertex_offset(mut self, value: i32) -> Self { + self.inner.vertex_offset = value; self } - ///Prepend a struct to the pNext chain. See [`RenderPassCreateInfo`]'s **Extended By** section for valid types. #[inline] - pub fn push_next(mut self, next: &'a mut T) -> Self { - unsafe { - let next_ptr = <*mut T>::cast::(next); - (*next_ptr).p_next = self.inner.p_next as *mut _; - self.inner.p_next = <*mut BaseOutStructure>::cast::< - core::ffi::c_void, - >(next_ptr) as *const _; - } + pub fn first_instance(mut self, value: u32) -> Self { + self.inner.first_instance = value; self } } -impl<'a> core::ops::Deref for RenderPassCreateInfoBuilder<'a> { - type Target = RenderPassCreateInfo; +impl core::ops::Deref for DrawIndexedIndirectCommandBuilder { + type Target = DrawIndexedIndirectCommand; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for RenderPassCreateInfoBuilder<'a> { +impl core::ops::DerefMut for DrawIndexedIndirectCommandBuilder { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`EventCreateInfo`] with lifetime-tied pNext safety. -pub struct EventCreateInfoBuilder<'a> { - inner: EventCreateInfo, - _marker: core::marker::PhantomData<&'a ()>, +///Builder for [`DispatchIndirectCommand`]. +pub struct DispatchIndirectCommandBuilder { + inner: DispatchIndirectCommand, } -impl EventCreateInfo { - /// Start building this struct; `s_type` is already set to the correct variant. +impl DispatchIndirectCommand { + /// Start building this struct. #[inline] - pub fn builder<'a>() -> EventCreateInfoBuilder<'a> { - EventCreateInfoBuilder { - inner: EventCreateInfo { - s_type: StructureType::from_raw(10i32), + pub fn builder() -> DispatchIndirectCommandBuilder { + DispatchIndirectCommandBuilder { + inner: DispatchIndirectCommand { ..Default::default() }, - _marker: core::marker::PhantomData, } } } -impl<'a> EventCreateInfoBuilder<'a> { +impl DispatchIndirectCommandBuilder { #[inline] - pub fn flags(mut self, value: EventCreateFlags) -> Self { - self.inner.flags = value; + pub fn x(mut self, value: u32) -> Self { + self.inner.x = value; self } - ///Prepend a struct to the pNext chain. See [`EventCreateInfo`]'s **Extended By** section for valid types. #[inline] - pub fn push_next(mut self, next: &'a mut T) -> Self { - unsafe { - let next_ptr = <*mut T>::cast::(next); - (*next_ptr).p_next = self.inner.p_next as *mut _; - self.inner.p_next = <*mut BaseOutStructure>::cast::< - core::ffi::c_void, - >(next_ptr) as *const _; - } + pub fn y(mut self, value: u32) -> Self { + self.inner.y = value; + self + } + #[inline] + pub fn z(mut self, value: u32) -> Self { + self.inner.z = value; self } } -impl<'a> core::ops::Deref for EventCreateInfoBuilder<'a> { - type Target = EventCreateInfo; +impl core::ops::Deref for DispatchIndirectCommandBuilder { + type Target = DispatchIndirectCommand; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for EventCreateInfoBuilder<'a> { +impl core::ops::DerefMut for DispatchIndirectCommandBuilder { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`FenceCreateInfo`] with lifetime-tied pNext safety. -pub struct FenceCreateInfoBuilder<'a> { - inner: FenceCreateInfo, - _marker: core::marker::PhantomData<&'a ()>, +///Builder for [`MultiDrawInfoEXT`]. +pub struct MultiDrawInfoEXTBuilder { + inner: MultiDrawInfoEXT, } -impl FenceCreateInfo { - /// Start building this struct; `s_type` is already set to the correct variant. +impl MultiDrawInfoEXT { + /// Start building this struct. #[inline] - pub fn builder<'a>() -> FenceCreateInfoBuilder<'a> { - FenceCreateInfoBuilder { - inner: FenceCreateInfo { - s_type: StructureType::from_raw(8i32), + pub fn builder() -> MultiDrawInfoEXTBuilder { + MultiDrawInfoEXTBuilder { + inner: MultiDrawInfoEXT { ..Default::default() }, - _marker: core::marker::PhantomData, } } } -impl<'a> FenceCreateInfoBuilder<'a> { +impl MultiDrawInfoEXTBuilder { #[inline] - pub fn flags(mut self, value: FenceCreateFlags) -> Self { - self.inner.flags = value; + pub fn first_vertex(mut self, value: u32) -> Self { + self.inner.first_vertex = value; self } - ///Prepend a struct to the pNext chain. See [`FenceCreateInfo`]'s **Extended By** section for valid types. #[inline] - pub fn push_next(mut self, next: &'a mut T) -> Self { - unsafe { - let next_ptr = <*mut T>::cast::(next); - (*next_ptr).p_next = self.inner.p_next as *mut _; - self.inner.p_next = <*mut BaseOutStructure>::cast::< - core::ffi::c_void, - >(next_ptr) as *const _; - } + pub fn vertex_count(mut self, value: u32) -> Self { + self.inner.vertex_count = value; self } } -impl<'a> core::ops::Deref for FenceCreateInfoBuilder<'a> { - type Target = FenceCreateInfo; +impl core::ops::Deref for MultiDrawInfoEXTBuilder { + type Target = MultiDrawInfoEXT; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for FenceCreateInfoBuilder<'a> { +impl core::ops::DerefMut for MultiDrawInfoEXTBuilder { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`SemaphoreCreateInfo`] with lifetime-tied pNext safety. -pub struct SemaphoreCreateInfoBuilder<'a> { - inner: SemaphoreCreateInfo, - _marker: core::marker::PhantomData<&'a ()>, +///Builder for [`MultiDrawIndexedInfoEXT`]. +pub struct MultiDrawIndexedInfoEXTBuilder { + inner: MultiDrawIndexedInfoEXT, } -impl SemaphoreCreateInfo { - /// Start building this struct; `s_type` is already set to the correct variant. +impl MultiDrawIndexedInfoEXT { + /// Start building this struct. #[inline] - pub fn builder<'a>() -> SemaphoreCreateInfoBuilder<'a> { - SemaphoreCreateInfoBuilder { - inner: SemaphoreCreateInfo { - s_type: StructureType::from_raw(9i32), + pub fn builder() -> MultiDrawIndexedInfoEXTBuilder { + MultiDrawIndexedInfoEXTBuilder { + inner: MultiDrawIndexedInfoEXT { ..Default::default() }, - _marker: core::marker::PhantomData, } } } -impl<'a> SemaphoreCreateInfoBuilder<'a> { +impl MultiDrawIndexedInfoEXTBuilder { #[inline] - pub fn flags(mut self, value: SemaphoreCreateFlags) -> Self { - self.inner.flags = value; + pub fn first_index(mut self, value: u32) -> Self { + self.inner.first_index = value; self } - ///Prepend a struct to the pNext chain. See [`SemaphoreCreateInfo`]'s **Extended By** section for valid types. #[inline] - pub fn push_next(mut self, next: &'a mut T) -> Self { - unsafe { - let next_ptr = <*mut T>::cast::(next); - (*next_ptr).p_next = self.inner.p_next as *mut _; - self.inner.p_next = <*mut BaseOutStructure>::cast::< - core::ffi::c_void, - >(next_ptr) as *const _; - } + pub fn index_count(mut self, value: u32) -> Self { + self.inner.index_count = value; + self + } + #[inline] + pub fn vertex_offset(mut self, value: i32) -> Self { + self.inner.vertex_offset = value; self } } -impl<'a> core::ops::Deref for SemaphoreCreateInfoBuilder<'a> { - type Target = SemaphoreCreateInfo; +impl core::ops::Deref for MultiDrawIndexedInfoEXTBuilder { + type Target = MultiDrawIndexedInfoEXT; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for SemaphoreCreateInfoBuilder<'a> { +impl core::ops::DerefMut for MultiDrawIndexedInfoEXTBuilder { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`QueryPoolCreateInfo`] with lifetime-tied pNext safety. -pub struct QueryPoolCreateInfoBuilder<'a> { - inner: QueryPoolCreateInfo, +///Builder for [`SubmitInfo`] with lifetime-tied pNext safety. +pub struct SubmitInfoBuilder<'a> { + inner: SubmitInfo, _marker: core::marker::PhantomData<&'a ()>, } -impl QueryPoolCreateInfo { +impl SubmitInfo { /// Start building this struct; `s_type` is already set to the correct variant. #[inline] - pub fn builder<'a>() -> QueryPoolCreateInfoBuilder<'a> { - QueryPoolCreateInfoBuilder { - inner: QueryPoolCreateInfo { - s_type: StructureType::from_raw(11i32), + pub fn builder<'a>() -> SubmitInfoBuilder<'a> { + SubmitInfoBuilder { + inner: SubmitInfo { + s_type: StructureType::from_raw(4i32), ..Default::default() }, _marker: core::marker::PhantomData, } } } -impl<'a> QueryPoolCreateInfoBuilder<'a> { +impl<'a> SubmitInfoBuilder<'a> { #[inline] - pub fn flags(mut self, value: QueryPoolCreateFlags) -> Self { - self.inner.flags = value; + pub fn wait_semaphores(mut self, slice: &'a [Semaphore]) -> Self { + self.inner.wait_semaphore_count = slice.len() as u32; + self.inner.p_wait_semaphores = slice.as_ptr(); self } #[inline] - pub fn query_type(mut self, value: QueryType) -> Self { - self.inner.query_type = value; + pub fn wait_dst_stage_mask(mut self, slice: &'a [PipelineStageFlags]) -> Self { + self.inner.wait_semaphore_count = slice.len() as u32; + self.inner.p_wait_dst_stage_mask = slice.as_ptr(); self } #[inline] - pub fn query_count(mut self, value: u32) -> Self { - self.inner.query_count = value; + pub fn command_buffers(mut self, slice: &'a [CommandBuffer]) -> Self { + self.inner.command_buffer_count = slice.len() as u32; + self.inner.p_command_buffers = slice.as_ptr(); self } #[inline] - pub fn pipeline_statistics(mut self, value: QueryPipelineStatisticFlags) -> Self { - self.inner.pipeline_statistics = value; + pub fn signal_semaphores(mut self, slice: &'a [Semaphore]) -> Self { + self.inner.signal_semaphore_count = slice.len() as u32; + self.inner.p_signal_semaphores = slice.as_ptr(); self } - ///Prepend a struct to the pNext chain. See [`QueryPoolCreateInfo`]'s **Extended By** section for valid types. + ///Prepend a struct to the pNext chain. See [`SubmitInfo`]'s **Extended By** section for valid types. #[inline] - pub fn push_next(mut self, next: &'a mut T) -> Self { + pub fn push_next(mut self, next: &'a mut T) -> Self { unsafe { let next_ptr = <*mut T>::cast::(next); (*next_ptr).p_next = self.inner.p_next as *mut _; @@ -3944,162 +8409,201 @@ impl<'a> QueryPoolCreateInfoBuilder<'a> { self } } -impl<'a> core::ops::Deref for QueryPoolCreateInfoBuilder<'a> { - type Target = QueryPoolCreateInfo; +impl<'a> core::ops::Deref for SubmitInfoBuilder<'a> { + type Target = SubmitInfo; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for QueryPoolCreateInfoBuilder<'a> { +impl<'a> core::ops::DerefMut for SubmitInfoBuilder<'a> { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`FramebufferCreateInfo`] with lifetime-tied pNext safety. -pub struct FramebufferCreateInfoBuilder<'a> { - inner: FramebufferCreateInfo, +///Builder for [`DisplayPropertiesKHR`]. +pub struct DisplayPropertiesKHRBuilder<'a> { + inner: DisplayPropertiesKHR, _marker: core::marker::PhantomData<&'a ()>, } -impl FramebufferCreateInfo { - /// Start building this struct; `s_type` is already set to the correct variant. +impl DisplayPropertiesKHR { + /// Start building this struct. #[inline] - pub fn builder<'a>() -> FramebufferCreateInfoBuilder<'a> { - FramebufferCreateInfoBuilder { - inner: FramebufferCreateInfo { - s_type: StructureType::from_raw(37i32), + pub fn builder<'a>() -> DisplayPropertiesKHRBuilder<'a> { + DisplayPropertiesKHRBuilder { + inner: DisplayPropertiesKHR { ..Default::default() }, _marker: core::marker::PhantomData, } } } -impl<'a> FramebufferCreateInfoBuilder<'a> { +impl<'a> DisplayPropertiesKHRBuilder<'a> { #[inline] - pub fn flags(mut self, value: FramebufferCreateFlags) -> Self { - self.inner.flags = value; + pub fn display(mut self, value: DisplayKHR) -> Self { + self.inner.display = value; self } #[inline] - pub fn render_pass(mut self, value: RenderPass) -> Self { - self.inner.render_pass = value; + pub fn display_name(mut self, value: &'a core::ffi::CStr) -> Self { + self.inner.display_name = value.as_ptr(); self } #[inline] - pub fn attachments(mut self, slice: &'a [ImageView]) -> Self { - self.inner.attachment_count = slice.len() as u32; - self.inner.p_attachments = slice.as_ptr(); + pub fn physical_dimensions(mut self, value: Extent2D) -> Self { + self.inner.physical_dimensions = value; self } #[inline] - pub fn width(mut self, value: u32) -> Self { - self.inner.width = value; + pub fn physical_resolution(mut self, value: Extent2D) -> Self { + self.inner.physical_resolution = value; self } #[inline] - pub fn height(mut self, value: u32) -> Self { - self.inner.height = value; + pub fn supported_transforms(mut self, value: SurfaceTransformFlagsKHR) -> Self { + self.inner.supported_transforms = value; self } #[inline] - pub fn layers(mut self, value: u32) -> Self { - self.inner.layers = value; + pub fn plane_reorder_possible(mut self, value: bool) -> Self { + self.inner.plane_reorder_possible = value as u32; self } - ///Prepend a struct to the pNext chain. See [`FramebufferCreateInfo`]'s **Extended By** section for valid types. #[inline] - pub fn push_next( - mut self, - next: &'a mut T, - ) -> Self { - unsafe { - let next_ptr = <*mut T>::cast::(next); - (*next_ptr).p_next = self.inner.p_next as *mut _; - self.inner.p_next = <*mut BaseOutStructure>::cast::< - core::ffi::c_void, - >(next_ptr) as *const _; - } + pub fn persistent_content(mut self, value: bool) -> Self { + self.inner.persistent_content = value as u32; self } } -impl<'a> core::ops::Deref for FramebufferCreateInfoBuilder<'a> { - type Target = FramebufferCreateInfo; +impl<'a> core::ops::Deref for DisplayPropertiesKHRBuilder<'a> { + type Target = DisplayPropertiesKHR; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for FramebufferCreateInfoBuilder<'a> { +impl<'a> core::ops::DerefMut for DisplayPropertiesKHRBuilder<'a> { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -///Builder for [`SubmitInfo`] with lifetime-tied pNext safety. -pub struct SubmitInfoBuilder<'a> { - inner: SubmitInfo, - _marker: core::marker::PhantomData<&'a ()>, +///Builder for [`DisplayPlanePropertiesKHR`]. +pub struct DisplayPlanePropertiesKHRBuilder { + inner: DisplayPlanePropertiesKHR, } -impl SubmitInfo { - /// Start building this struct; `s_type` is already set to the correct variant. +impl DisplayPlanePropertiesKHR { + /// Start building this struct. #[inline] - pub fn builder<'a>() -> SubmitInfoBuilder<'a> { - SubmitInfoBuilder { - inner: SubmitInfo { - s_type: StructureType::from_raw(4i32), + pub fn builder() -> DisplayPlanePropertiesKHRBuilder { + DisplayPlanePropertiesKHRBuilder { + inner: DisplayPlanePropertiesKHR { ..Default::default() }, - _marker: core::marker::PhantomData, } } } -impl<'a> SubmitInfoBuilder<'a> { +impl DisplayPlanePropertiesKHRBuilder { #[inline] - pub fn wait_semaphores(mut self, slice: &'a [Semaphore]) -> Self { - self.inner.wait_semaphore_count = slice.len() as u32; - self.inner.p_wait_semaphores = slice.as_ptr(); + pub fn current_display(mut self, value: DisplayKHR) -> Self { + self.inner.current_display = value; self } #[inline] - pub fn wait_dst_stage_mask(mut self, slice: &'a [PipelineStageFlags]) -> Self { - self.inner.wait_semaphore_count = slice.len() as u32; - self.inner.p_wait_dst_stage_mask = slice.as_ptr(); + pub fn current_stack_index(mut self, value: u32) -> Self { + self.inner.current_stack_index = value; self } +} +impl core::ops::Deref for DisplayPlanePropertiesKHRBuilder { + type Target = DisplayPlanePropertiesKHR; #[inline] - pub fn command_buffers(mut self, slice: &'a [CommandBuffer]) -> Self { - self.inner.command_buffer_count = slice.len() as u32; - self.inner.p_command_buffers = slice.as_ptr(); + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for DisplayPlanePropertiesKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`DisplayModeParametersKHR`]. +pub struct DisplayModeParametersKHRBuilder { + inner: DisplayModeParametersKHR, +} +impl DisplayModeParametersKHR { + /// Start building this struct. + #[inline] + pub fn builder() -> DisplayModeParametersKHRBuilder { + DisplayModeParametersKHRBuilder { + inner: DisplayModeParametersKHR { + ..Default::default() + }, + } + } +} +impl DisplayModeParametersKHRBuilder { + #[inline] + pub fn visible_region(mut self, value: Extent2D) -> Self { + self.inner.visible_region = value; self } #[inline] - pub fn signal_semaphores(mut self, slice: &'a [Semaphore]) -> Self { - self.inner.signal_semaphore_count = slice.len() as u32; - self.inner.p_signal_semaphores = slice.as_ptr(); + pub fn refresh_rate(mut self, value: u32) -> Self { + self.inner.refresh_rate = value; self } - ///Prepend a struct to the pNext chain. See [`SubmitInfo`]'s **Extended By** section for valid types. +} +impl core::ops::Deref for DisplayModeParametersKHRBuilder { + type Target = DisplayModeParametersKHR; #[inline] - pub fn push_next(mut self, next: &'a mut T) -> Self { - unsafe { - let next_ptr = <*mut T>::cast::(next); - (*next_ptr).p_next = self.inner.p_next as *mut _; - self.inner.p_next = <*mut BaseOutStructure>::cast::< - core::ffi::c_void, - >(next_ptr) as *const _; + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for DisplayModeParametersKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`DisplayModePropertiesKHR`]. +pub struct DisplayModePropertiesKHRBuilder { + inner: DisplayModePropertiesKHR, +} +impl DisplayModePropertiesKHR { + /// Start building this struct. + #[inline] + pub fn builder() -> DisplayModePropertiesKHRBuilder { + DisplayModePropertiesKHRBuilder { + inner: DisplayModePropertiesKHR { + ..Default::default() + }, } + } +} +impl DisplayModePropertiesKHRBuilder { + #[inline] + pub fn display_mode(mut self, value: DisplayModeKHR) -> Self { + self.inner.display_mode = value; + self + } + #[inline] + pub fn parameters(mut self, value: DisplayModeParametersKHR) -> Self { + self.inner.parameters = value; self } } -impl<'a> core::ops::Deref for SubmitInfoBuilder<'a> { - type Target = SubmitInfo; +impl core::ops::Deref for DisplayModePropertiesKHRBuilder { + type Target = DisplayModePropertiesKHR; #[inline] fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> core::ops::DerefMut for SubmitInfoBuilder<'a> { +impl core::ops::DerefMut for DisplayModePropertiesKHRBuilder { #[inline] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner @@ -4163,6 +8667,81 @@ impl<'a> core::ops::DerefMut for DisplayModeCreateInfoKHRBuilder<'a> { &mut self.inner } } +///Builder for [`DisplayPlaneCapabilitiesKHR`]. +pub struct DisplayPlaneCapabilitiesKHRBuilder { + inner: DisplayPlaneCapabilitiesKHR, +} +impl DisplayPlaneCapabilitiesKHR { + /// Start building this struct. + #[inline] + pub fn builder() -> DisplayPlaneCapabilitiesKHRBuilder { + DisplayPlaneCapabilitiesKHRBuilder { + inner: DisplayPlaneCapabilitiesKHR { + ..Default::default() + }, + } + } +} +impl DisplayPlaneCapabilitiesKHRBuilder { + #[inline] + pub fn supported_alpha(mut self, value: DisplayPlaneAlphaFlagsKHR) -> Self { + self.inner.supported_alpha = value; + self + } + #[inline] + pub fn min_src_position(mut self, value: Offset2D) -> Self { + self.inner.min_src_position = value; + self + } + #[inline] + pub fn max_src_position(mut self, value: Offset2D) -> Self { + self.inner.max_src_position = value; + self + } + #[inline] + pub fn min_src_extent(mut self, value: Extent2D) -> Self { + self.inner.min_src_extent = value; + self + } + #[inline] + pub fn max_src_extent(mut self, value: Extent2D) -> Self { + self.inner.max_src_extent = value; + self + } + #[inline] + pub fn min_dst_position(mut self, value: Offset2D) -> Self { + self.inner.min_dst_position = value; + self + } + #[inline] + pub fn max_dst_position(mut self, value: Offset2D) -> Self { + self.inner.max_dst_position = value; + self + } + #[inline] + pub fn min_dst_extent(mut self, value: Extent2D) -> Self { + self.inner.min_dst_extent = value; + self + } + #[inline] + pub fn max_dst_extent(mut self, value: Extent2D) -> Self { + self.inner.max_dst_extent = value; + self + } +} +impl core::ops::Deref for DisplayPlaneCapabilitiesKHRBuilder { + type Target = DisplayPlaneCapabilitiesKHR; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for DisplayPlaneCapabilitiesKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`DisplaySurfaceCreateInfoKHR`] with lifetime-tied pNext safety. pub struct DisplaySurfaceCreateInfoKHRBuilder<'a> { inner: DisplaySurfaceCreateInfoKHR, @@ -4367,6 +8946,86 @@ impl<'a> core::ops::DerefMut for DisplayPresentInfoKHRBuilder<'a> { &mut self.inner } } +///Builder for [`SurfaceCapabilitiesKHR`]. +pub struct SurfaceCapabilitiesKHRBuilder { + inner: SurfaceCapabilitiesKHR, +} +impl SurfaceCapabilitiesKHR { + /// Start building this struct. + #[inline] + pub fn builder() -> SurfaceCapabilitiesKHRBuilder { + SurfaceCapabilitiesKHRBuilder { + inner: SurfaceCapabilitiesKHR { + ..Default::default() + }, + } + } +} +impl SurfaceCapabilitiesKHRBuilder { + #[inline] + pub fn min_image_count(mut self, value: u32) -> Self { + self.inner.min_image_count = value; + self + } + #[inline] + pub fn max_image_count(mut self, value: u32) -> Self { + self.inner.max_image_count = value; + self + } + #[inline] + pub fn current_extent(mut self, value: Extent2D) -> Self { + self.inner.current_extent = value; + self + } + #[inline] + pub fn min_image_extent(mut self, value: Extent2D) -> Self { + self.inner.min_image_extent = value; + self + } + #[inline] + pub fn max_image_extent(mut self, value: Extent2D) -> Self { + self.inner.max_image_extent = value; + self + } + #[inline] + pub fn max_image_array_layers(mut self, value: u32) -> Self { + self.inner.max_image_array_layers = value; + self + } + #[inline] + pub fn supported_transforms(mut self, value: SurfaceTransformFlagsKHR) -> Self { + self.inner.supported_transforms = value; + self + } + #[inline] + pub fn current_transform(mut self, value: SurfaceTransformFlagBitsKHR) -> Self { + self.inner.current_transform = value; + self + } + #[inline] + pub fn supported_composite_alpha(mut self, value: CompositeAlphaFlagsKHR) -> Self { + self.inner.supported_composite_alpha = value; + self + } + #[inline] + pub fn supported_usage_flags(mut self, value: ImageUsageFlags) -> Self { + self.inner.supported_usage_flags = value; + self + } +} +impl core::ops::Deref for SurfaceCapabilitiesKHRBuilder { + type Target = SurfaceCapabilitiesKHR; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for SurfaceCapabilitiesKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`AndroidSurfaceCreateInfoKHR`] with lifetime-tied pNext safety. pub struct AndroidSurfaceCreateInfoKHRBuilder<'a> { inner: AndroidSurfaceCreateInfoKHR, @@ -5040,6 +9699,46 @@ impl<'a> core::ops::DerefMut for ScreenSurfaceCreateInfoQNXBuilder<'a> { &mut self.inner } } +///Builder for [`SurfaceFormatKHR`]. +pub struct SurfaceFormatKHRBuilder { + inner: SurfaceFormatKHR, +} +impl SurfaceFormatKHR { + /// Start building this struct. + #[inline] + pub fn builder() -> SurfaceFormatKHRBuilder { + SurfaceFormatKHRBuilder { + inner: SurfaceFormatKHR { + ..Default::default() + }, + } + } +} +impl SurfaceFormatKHRBuilder { + #[inline] + pub fn format(mut self, value: Format) -> Self { + self.inner.format = value; + self + } + #[inline] + pub fn color_space(mut self, value: ColorSpaceKHR) -> Self { + self.inner.color_space = value; + self + } +} +impl core::ops::Deref for SurfaceFormatKHRBuilder { + type Target = SurfaceFormatKHR; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for SurfaceFormatKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`SwapchainCreateInfoKHR`] with lifetime-tied pNext safety. pub struct SwapchainCreateInfoKHRBuilder<'a> { inner: SwapchainCreateInfoKHR, @@ -5263,7 +9962,7 @@ impl<'a> DebugReportCallbackCreateInfoEXTBuilder<'a> { self } #[inline] - pub fn p_user_data(mut self, value: *mut core::ffi::c_void) -> Self { + pub fn user_data(mut self, value: *mut core::ffi::c_void) -> Self { self.inner.p_user_data = value; self } @@ -5470,6 +10169,59 @@ impl<'a> core::ops::DerefMut for LayerSettingsCreateInfoEXTBuilder<'a> { &mut self.inner } } +///Builder for [`LayerSettingEXT`]. +pub struct LayerSettingEXTBuilder<'a> { + inner: LayerSettingEXT, + _marker: core::marker::PhantomData<&'a ()>, +} +impl LayerSettingEXT { + /// Start building this struct. + #[inline] + pub fn builder<'a>() -> LayerSettingEXTBuilder<'a> { + LayerSettingEXTBuilder { + inner: LayerSettingEXT { + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> LayerSettingEXTBuilder<'a> { + #[inline] + pub fn layer_name(mut self, value: &'a core::ffi::CStr) -> Self { + self.inner.p_layer_name = value.as_ptr(); + self + } + #[inline] + pub fn setting_name(mut self, value: &'a core::ffi::CStr) -> Self { + self.inner.p_setting_name = value.as_ptr(); + self + } + #[inline] + pub fn r#type(mut self, value: LayerSettingTypeEXT) -> Self { + self.inner.r#type = value; + self + } + #[inline] + pub fn values(mut self, slice: &'a [core::ffi::c_void]) -> Self { + self.inner.value_count = slice.len() as u32; + self.inner.p_values = slice.as_ptr(); + self + } +} +impl<'a> core::ops::Deref for LayerSettingEXTBuilder<'a> { + type Target = LayerSettingEXT; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> core::ops::DerefMut for LayerSettingEXTBuilder<'a> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`ApplicationParametersEXT`] with lifetime-tied pNext safety. pub struct ApplicationParametersEXTBuilder<'a> { inner: ApplicationParametersEXT, @@ -5623,7 +10375,7 @@ impl<'a> DebugMarkerObjectNameInfoEXTBuilder<'a> { self } #[inline] - pub fn p_object_name(mut self, value: &'a core::ffi::CStr) -> Self { + pub fn object_name(mut self, value: &'a core::ffi::CStr) -> Self { self.inner.p_object_name = value.as_ptr(); self } @@ -5745,7 +10497,7 @@ impl DebugMarkerMarkerInfoEXT { } impl<'a> DebugMarkerMarkerInfoEXTBuilder<'a> { #[inline] - pub fn p_marker_name(mut self, value: &'a core::ffi::CStr) -> Self { + pub fn marker_name(mut self, value: &'a core::ffi::CStr) -> Self { self.inner.p_marker_name = value.as_ptr(); self } @@ -5947,6 +10699,65 @@ impl<'a> core::ops::DerefMut for DedicatedAllocationMemoryAllocateInfoNVBuilder< &mut self.inner } } +///Builder for [`ExternalImageFormatPropertiesNV`]. +pub struct ExternalImageFormatPropertiesNVBuilder { + inner: ExternalImageFormatPropertiesNV, +} +impl ExternalImageFormatPropertiesNV { + /// Start building this struct. + #[inline] + pub fn builder() -> ExternalImageFormatPropertiesNVBuilder { + ExternalImageFormatPropertiesNVBuilder { + inner: ExternalImageFormatPropertiesNV { + ..Default::default() + }, + } + } +} +impl ExternalImageFormatPropertiesNVBuilder { + #[inline] + pub fn image_format_properties(mut self, value: ImageFormatProperties) -> Self { + self.inner.image_format_properties = value; + self + } + #[inline] + pub fn external_memory_features( + mut self, + value: ExternalMemoryFeatureFlagsNV, + ) -> Self { + self.inner.external_memory_features = value; + self + } + #[inline] + pub fn export_from_imported_handle_types( + mut self, + value: ExternalMemoryHandleTypeFlagsNV, + ) -> Self { + self.inner.export_from_imported_handle_types = value; + self + } + #[inline] + pub fn compatible_handle_types( + mut self, + value: ExternalMemoryHandleTypeFlagsNV, + ) -> Self { + self.inner.compatible_handle_types = value; + self + } +} +impl core::ops::Deref for ExternalImageFormatPropertiesNVBuilder { + type Target = ExternalImageFormatPropertiesNV; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for ExternalImageFormatPropertiesNVBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`ExternalMemoryImageCreateInfoNV`] with lifetime-tied pNext safety. pub struct ExternalMemoryImageCreateInfoNVBuilder<'a> { inner: ExternalMemoryImageCreateInfoNV, @@ -6131,7 +10942,7 @@ impl ExportMemoryWin32HandleInfoNV { } impl<'a> ExportMemoryWin32HandleInfoNVBuilder<'a> { #[inline] - pub fn p_attributes(mut self, value: *const core::ffi::c_void) -> Self { + pub fn attributes(mut self, value: *const core::ffi::c_void) -> Self { self.inner.p_attributes = value; self } @@ -7184,6 +11995,46 @@ for PhysicalDeviceClusterAccelerationStructurePropertiesNVBuilder<'a> { &mut self.inner } } +///Builder for [`StridedDeviceAddressNV`]. +pub struct StridedDeviceAddressNVBuilder { + inner: StridedDeviceAddressNV, +} +impl StridedDeviceAddressNV { + /// Start building this struct. + #[inline] + pub fn builder() -> StridedDeviceAddressNVBuilder { + StridedDeviceAddressNVBuilder { + inner: StridedDeviceAddressNV { + ..Default::default() + }, + } + } +} +impl StridedDeviceAddressNVBuilder { + #[inline] + pub fn start_address(mut self, value: u64) -> Self { + self.inner.start_address = value; + self + } + #[inline] + pub fn stride_in_bytes(mut self, value: u64) -> Self { + self.inner.stride_in_bytes = value; + self + } +} +impl core::ops::Deref for StridedDeviceAddressNVBuilder { + type Target = StridedDeviceAddressNV; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for StridedDeviceAddressNVBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`RayTracingPipelineClusterAccelerationStructureCreateInfoNV`] with lifetime-tied pNext safety. pub struct RayTracingPipelineClusterAccelerationStructureCreateInfoNVBuilder<'a> { inner: RayTracingPipelineClusterAccelerationStructureCreateInfoNV, @@ -7240,6 +12091,124 @@ for RayTracingPipelineClusterAccelerationStructureCreateInfoNVBuilder<'a> { &mut self.inner } } +///Builder for [`ClusterAccelerationStructureMoveObjectsInfoNV`]. +pub struct ClusterAccelerationStructureMoveObjectsInfoNVBuilder { + inner: ClusterAccelerationStructureMoveObjectsInfoNV, +} +impl ClusterAccelerationStructureMoveObjectsInfoNV { + /// Start building this struct. + #[inline] + pub fn builder() -> ClusterAccelerationStructureMoveObjectsInfoNVBuilder { + ClusterAccelerationStructureMoveObjectsInfoNVBuilder { + inner: ClusterAccelerationStructureMoveObjectsInfoNV { + ..Default::default() + }, + } + } +} +impl ClusterAccelerationStructureMoveObjectsInfoNVBuilder { + #[inline] + pub fn src_acceleration_structure(mut self, value: u64) -> Self { + self.inner.src_acceleration_structure = value; + self + } +} +impl core::ops::Deref for ClusterAccelerationStructureMoveObjectsInfoNVBuilder { + type Target = ClusterAccelerationStructureMoveObjectsInfoNV; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for ClusterAccelerationStructureMoveObjectsInfoNVBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`ClusterAccelerationStructureBuildClustersBottomLevelInfoNV`]. +pub struct ClusterAccelerationStructureBuildClustersBottomLevelInfoNVBuilder { + inner: ClusterAccelerationStructureBuildClustersBottomLevelInfoNV, +} +impl ClusterAccelerationStructureBuildClustersBottomLevelInfoNV { + /// Start building this struct. + #[inline] + pub fn builder() -> ClusterAccelerationStructureBuildClustersBottomLevelInfoNVBuilder { + ClusterAccelerationStructureBuildClustersBottomLevelInfoNVBuilder { + inner: ClusterAccelerationStructureBuildClustersBottomLevelInfoNV { + ..Default::default() + }, + } + } +} +impl ClusterAccelerationStructureBuildClustersBottomLevelInfoNVBuilder { + #[inline] + pub fn cluster_references_count(mut self, value: u32) -> Self { + self.inner.cluster_references_count = value; + self + } + #[inline] + pub fn cluster_references_stride(mut self, value: u32) -> Self { + self.inner.cluster_references_stride = value; + self + } + #[inline] + pub fn cluster_references(mut self, value: u64) -> Self { + self.inner.cluster_references = value; + self + } +} +impl core::ops::Deref +for ClusterAccelerationStructureBuildClustersBottomLevelInfoNVBuilder { + type Target = ClusterAccelerationStructureBuildClustersBottomLevelInfoNV; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut +for ClusterAccelerationStructureBuildClustersBottomLevelInfoNVBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`ClusterAccelerationStructureGetTemplateIndicesInfoNV`]. +pub struct ClusterAccelerationStructureGetTemplateIndicesInfoNVBuilder { + inner: ClusterAccelerationStructureGetTemplateIndicesInfoNV, +} +impl ClusterAccelerationStructureGetTemplateIndicesInfoNV { + /// Start building this struct. + #[inline] + pub fn builder() -> ClusterAccelerationStructureGetTemplateIndicesInfoNVBuilder { + ClusterAccelerationStructureGetTemplateIndicesInfoNVBuilder { + inner: ClusterAccelerationStructureGetTemplateIndicesInfoNV { + ..Default::default() + }, + } + } +} +impl ClusterAccelerationStructureGetTemplateIndicesInfoNVBuilder { + #[inline] + pub fn cluster_template_address(mut self, value: u64) -> Self { + self.inner.cluster_template_address = value; + self + } +} +impl core::ops::Deref for ClusterAccelerationStructureGetTemplateIndicesInfoNVBuilder { + type Target = ClusterAccelerationStructureGetTemplateIndicesInfoNV; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut +for ClusterAccelerationStructureGetTemplateIndicesInfoNVBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`ClusterAccelerationStructureClustersBottomLevelInputNV`] with lifetime-tied pNext safety. pub struct ClusterAccelerationStructureClustersBottomLevelInputNVBuilder<'a> { inner: ClusterAccelerationStructureClustersBottomLevelInputNV, @@ -7686,7 +12655,7 @@ impl<'a> GraphicsShaderGroupCreateInfoNVBuilder<'a> { self } #[inline] - pub fn p_vertex_input_state( + pub fn vertex_input_state( mut self, value: &'a PipelineVertexInputStateCreateInfo, ) -> Self { @@ -7694,7 +12663,7 @@ impl<'a> GraphicsShaderGroupCreateInfoNVBuilder<'a> { self } #[inline] - pub fn p_tessellation_state( + pub fn tessellation_state( mut self, value: &'a PipelineTessellationStateCreateInfo, ) -> Self { @@ -7790,6 +12759,206 @@ impl<'a> core::ops::DerefMut for GraphicsPipelineShaderGroupsCreateInfoNVBuilder &mut self.inner } } +///Builder for [`BindShaderGroupIndirectCommandNV`]. +pub struct BindShaderGroupIndirectCommandNVBuilder { + inner: BindShaderGroupIndirectCommandNV, +} +impl BindShaderGroupIndirectCommandNV { + /// Start building this struct. + #[inline] + pub fn builder() -> BindShaderGroupIndirectCommandNVBuilder { + BindShaderGroupIndirectCommandNVBuilder { + inner: BindShaderGroupIndirectCommandNV { + ..Default::default() + }, + } + } +} +impl BindShaderGroupIndirectCommandNVBuilder { + #[inline] + pub fn group_index(mut self, value: u32) -> Self { + self.inner.group_index = value; + self + } +} +impl core::ops::Deref for BindShaderGroupIndirectCommandNVBuilder { + type Target = BindShaderGroupIndirectCommandNV; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for BindShaderGroupIndirectCommandNVBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`BindIndexBufferIndirectCommandNV`]. +pub struct BindIndexBufferIndirectCommandNVBuilder { + inner: BindIndexBufferIndirectCommandNV, +} +impl BindIndexBufferIndirectCommandNV { + /// Start building this struct. + #[inline] + pub fn builder() -> BindIndexBufferIndirectCommandNVBuilder { + BindIndexBufferIndirectCommandNVBuilder { + inner: BindIndexBufferIndirectCommandNV { + ..Default::default() + }, + } + } +} +impl BindIndexBufferIndirectCommandNVBuilder { + #[inline] + pub fn buffer_address(mut self, value: u64) -> Self { + self.inner.buffer_address = value; + self + } + #[inline] + pub fn size(mut self, value: u32) -> Self { + self.inner.size = value; + self + } + #[inline] + pub fn index_type(mut self, value: IndexType) -> Self { + self.inner.index_type = value; + self + } +} +impl core::ops::Deref for BindIndexBufferIndirectCommandNVBuilder { + type Target = BindIndexBufferIndirectCommandNV; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for BindIndexBufferIndirectCommandNVBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`BindVertexBufferIndirectCommandNV`]. +pub struct BindVertexBufferIndirectCommandNVBuilder { + inner: BindVertexBufferIndirectCommandNV, +} +impl BindVertexBufferIndirectCommandNV { + /// Start building this struct. + #[inline] + pub fn builder() -> BindVertexBufferIndirectCommandNVBuilder { + BindVertexBufferIndirectCommandNVBuilder { + inner: BindVertexBufferIndirectCommandNV { + ..Default::default() + }, + } + } +} +impl BindVertexBufferIndirectCommandNVBuilder { + #[inline] + pub fn buffer_address(mut self, value: u64) -> Self { + self.inner.buffer_address = value; + self + } + #[inline] + pub fn size(mut self, value: u32) -> Self { + self.inner.size = value; + self + } + #[inline] + pub fn stride(mut self, value: u32) -> Self { + self.inner.stride = value; + self + } +} +impl core::ops::Deref for BindVertexBufferIndirectCommandNVBuilder { + type Target = BindVertexBufferIndirectCommandNV; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for BindVertexBufferIndirectCommandNVBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`SetStateFlagsIndirectCommandNV`]. +pub struct SetStateFlagsIndirectCommandNVBuilder { + inner: SetStateFlagsIndirectCommandNV, +} +impl SetStateFlagsIndirectCommandNV { + /// Start building this struct. + #[inline] + pub fn builder() -> SetStateFlagsIndirectCommandNVBuilder { + SetStateFlagsIndirectCommandNVBuilder { + inner: SetStateFlagsIndirectCommandNV { + ..Default::default() + }, + } + } +} +impl SetStateFlagsIndirectCommandNVBuilder { + #[inline] + pub fn data(mut self, value: u32) -> Self { + self.inner.data = value; + self + } +} +impl core::ops::Deref for SetStateFlagsIndirectCommandNVBuilder { + type Target = SetStateFlagsIndirectCommandNV; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for SetStateFlagsIndirectCommandNVBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`IndirectCommandsStreamNV`]. +pub struct IndirectCommandsStreamNVBuilder { + inner: IndirectCommandsStreamNV, +} +impl IndirectCommandsStreamNV { + /// Start building this struct. + #[inline] + pub fn builder() -> IndirectCommandsStreamNVBuilder { + IndirectCommandsStreamNVBuilder { + inner: IndirectCommandsStreamNV { + ..Default::default() + }, + } + } +} +impl IndirectCommandsStreamNVBuilder { + #[inline] + pub fn buffer(mut self, value: Buffer) -> Self { + self.inner.buffer = value; + self + } + #[inline] + pub fn offset(mut self, value: u64) -> Self { + self.inner.offset = value; + self + } +} +impl core::ops::Deref for IndirectCommandsStreamNVBuilder { + type Target = IndirectCommandsStreamNV; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for IndirectCommandsStreamNVBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`IndirectCommandsLayoutTokenNV`] with lifetime-tied pNext safety. pub struct IndirectCommandsLayoutTokenNVBuilder<'a> { inner: IndirectCommandsLayoutTokenNV, @@ -8205,6 +13374,41 @@ impl<'a> core::ops::DerefMut for PipelineIndirectDeviceAddressInfoNVBuilder<'a> &mut self.inner } } +///Builder for [`BindPipelineIndirectCommandNV`]. +pub struct BindPipelineIndirectCommandNVBuilder { + inner: BindPipelineIndirectCommandNV, +} +impl BindPipelineIndirectCommandNV { + /// Start building this struct. + #[inline] + pub fn builder() -> BindPipelineIndirectCommandNVBuilder { + BindPipelineIndirectCommandNVBuilder { + inner: BindPipelineIndirectCommandNV { + ..Default::default() + }, + } + } +} +impl BindPipelineIndirectCommandNVBuilder { + #[inline] + pub fn pipeline_address(mut self, value: u64) -> Self { + self.inner.pipeline_address = value; + self + } +} +impl core::ops::Deref for BindPipelineIndirectCommandNVBuilder { + type Target = BindPipelineIndirectCommandNV; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for BindPipelineIndirectCommandNVBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`PhysicalDeviceFeatures2`] with lifetime-tied pNext safety. pub struct PhysicalDeviceFeatures2Builder<'a> { inner: PhysicalDeviceFeatures2, @@ -8670,6 +13874,56 @@ impl<'a> core::ops::DerefMut for PhysicalDevicePushDescriptorPropertiesBuilder<' &mut self.inner } } +///Builder for [`ConformanceVersion`]. +pub struct ConformanceVersionBuilder { + inner: ConformanceVersion, +} +impl ConformanceVersion { + /// Start building this struct. + #[inline] + pub fn builder() -> ConformanceVersionBuilder { + ConformanceVersionBuilder { + inner: ConformanceVersion { + ..Default::default() + }, + } + } +} +impl ConformanceVersionBuilder { + #[inline] + pub fn major(mut self, value: u8) -> Self { + self.inner.major = value; + self + } + #[inline] + pub fn minor(mut self, value: u8) -> Self { + self.inner.minor = value; + self + } + #[inline] + pub fn subminor(mut self, value: u8) -> Self { + self.inner.subminor = value; + self + } + #[inline] + pub fn patch(mut self, value: u8) -> Self { + self.inner.patch = value; + self + } +} +impl core::ops::Deref for ConformanceVersionBuilder { + type Target = ConformanceVersion; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for ConformanceVersionBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`PhysicalDeviceDriverProperties`] with lifetime-tied pNext safety. pub struct PhysicalDeviceDriverPropertiesBuilder<'a> { inner: PhysicalDeviceDriverProperties, @@ -8748,6 +14002,11 @@ impl PresentRegionsKHR { } } impl<'a> PresentRegionsKHRBuilder<'a> { + #[inline] + pub fn swapchain_count(mut self, value: u32) -> Self { + self.inner.swapchain_count = value; + self + } #[inline] pub fn regions(mut self, slice: &'a [PresentRegionKHR]) -> Self { self.inner.swapchain_count = slice.len() as u32; @@ -8780,6 +14039,94 @@ impl<'a> core::ops::DerefMut for PresentRegionsKHRBuilder<'a> { &mut self.inner } } +///Builder for [`PresentRegionKHR`]. +pub struct PresentRegionKHRBuilder<'a> { + inner: PresentRegionKHR, + _marker: core::marker::PhantomData<&'a ()>, +} +impl PresentRegionKHR { + /// Start building this struct. + #[inline] + pub fn builder<'a>() -> PresentRegionKHRBuilder<'a> { + PresentRegionKHRBuilder { + inner: PresentRegionKHR { + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> PresentRegionKHRBuilder<'a> { + #[inline] + pub fn rectangle_count(mut self, value: u32) -> Self { + self.inner.rectangle_count = value; + self + } + #[inline] + pub fn rectangles(mut self, slice: &'a [RectLayerKHR]) -> Self { + self.inner.rectangle_count = slice.len() as u32; + self.inner.p_rectangles = slice.as_ptr(); + self + } +} +impl<'a> core::ops::Deref for PresentRegionKHRBuilder<'a> { + type Target = PresentRegionKHR; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> core::ops::DerefMut for PresentRegionKHRBuilder<'a> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`RectLayerKHR`]. +pub struct RectLayerKHRBuilder { + inner: RectLayerKHR, +} +impl RectLayerKHR { + /// Start building this struct. + #[inline] + pub fn builder() -> RectLayerKHRBuilder { + RectLayerKHRBuilder { + inner: RectLayerKHR { + ..Default::default() + }, + } + } +} +impl RectLayerKHRBuilder { + #[inline] + pub fn offset(mut self, value: Offset2D) -> Self { + self.inner.offset = value; + self + } + #[inline] + pub fn extent(mut self, value: Extent2D) -> Self { + self.inner.extent = value; + self + } + #[inline] + pub fn layer(mut self, value: u32) -> Self { + self.inner.layer = value; + self + } +} +impl core::ops::Deref for RectLayerKHRBuilder { + type Target = RectLayerKHR; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for RectLayerKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`PhysicalDeviceVariablePointersFeatures`] with lifetime-tied pNext safety. pub struct PhysicalDeviceVariablePointersFeaturesBuilder<'a> { inner: PhysicalDeviceVariablePointersFeatures, @@ -8838,6 +14185,60 @@ impl<'a> core::ops::DerefMut for PhysicalDeviceVariablePointersFeaturesBuilder<' &mut self.inner } } +///Builder for [`ExternalMemoryProperties`]. +pub struct ExternalMemoryPropertiesBuilder { + inner: ExternalMemoryProperties, +} +impl ExternalMemoryProperties { + /// Start building this struct. + #[inline] + pub fn builder() -> ExternalMemoryPropertiesBuilder { + ExternalMemoryPropertiesBuilder { + inner: ExternalMemoryProperties { + ..Default::default() + }, + } + } +} +impl ExternalMemoryPropertiesBuilder { + #[inline] + pub fn external_memory_features( + mut self, + value: ExternalMemoryFeatureFlags, + ) -> Self { + self.inner.external_memory_features = value; + self + } + #[inline] + pub fn export_from_imported_handle_types( + mut self, + value: ExternalMemoryHandleTypeFlags, + ) -> Self { + self.inner.export_from_imported_handle_types = value; + self + } + #[inline] + pub fn compatible_handle_types( + mut self, + value: ExternalMemoryHandleTypeFlags, + ) -> Self { + self.inner.compatible_handle_types = value; + self + } +} +impl core::ops::Deref for ExternalMemoryPropertiesBuilder { + type Target = ExternalMemoryProperties; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for ExternalMemoryPropertiesBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`PhysicalDeviceExternalImageFormatInfo`] with lifetime-tied pNext safety. pub struct PhysicalDeviceExternalImageFormatInfoBuilder<'a> { inner: PhysicalDeviceExternalImageFormatInfo, @@ -9336,7 +14737,7 @@ impl ExportMemoryWin32HandleInfoKHR { } impl<'a> ExportMemoryWin32HandleInfoKHRBuilder<'a> { #[inline] - pub fn p_attributes(mut self, value: *const core::ffi::c_void) -> Self { + pub fn attributes(mut self, value: *const core::ffi::c_void) -> Self { self.inner.p_attributes = value; self } @@ -10268,7 +15669,7 @@ impl ExportSemaphoreWin32HandleInfoKHR { } impl<'a> ExportSemaphoreWin32HandleInfoKHRBuilder<'a> { #[inline] - pub fn p_attributes(mut self, value: *const core::ffi::c_void) -> Self { + pub fn attributes(mut self, value: *const core::ffi::c_void) -> Self { self.inner.p_attributes = value; self } @@ -10330,6 +15731,11 @@ impl D3D12FenceSubmitInfoKHR { } } impl<'a> D3D12FenceSubmitInfoKHRBuilder<'a> { + #[inline] + pub fn wait_semaphore_values_count(mut self, value: u32) -> Self { + self.inner.wait_semaphore_values_count = value; + self + } #[inline] pub fn wait_semaphore_values(mut self, slice: &'a [u64]) -> Self { self.inner.wait_semaphore_values_count = slice.len() as u32; @@ -10337,6 +15743,11 @@ impl<'a> D3D12FenceSubmitInfoKHRBuilder<'a> { self } #[inline] + pub fn signal_semaphore_values_count(mut self, value: u32) -> Self { + self.inner.signal_semaphore_values_count = value; + self + } + #[inline] pub fn signal_semaphore_values(mut self, slice: &'a [u64]) -> Self { self.inner.signal_semaphore_values_count = slice.len() as u32; self.inner.p_signal_semaphore_values = slice.as_ptr(); @@ -10934,7 +16345,7 @@ impl ExportFenceWin32HandleInfoKHR { } impl<'a> ExportFenceWin32HandleInfoKHRBuilder<'a> { #[inline] - pub fn p_attributes(mut self, value: *const core::ffi::c_void) -> Self { + pub fn attributes(mut self, value: *const core::ffi::c_void) -> Self { self.inner.p_attributes = value; self } @@ -11775,7 +17186,7 @@ impl<'a> SemaphoreSciSyncCreateInfoNVBuilder<'a> { self } #[inline] - pub fn p_fence(mut self, value: *const core::ffi::c_void) -> Self { + pub fn fence(mut self, value: *const core::ffi::c_void) -> Self { self.inner.p_fence = value; self } @@ -13300,6 +18711,66 @@ impl<'a> core::ops::DerefMut for DeviceGroupSwapchainCreateInfoKHRBuilder<'a> { &mut self.inner } } +///Builder for [`DescriptorUpdateTemplateEntry`]. +pub struct DescriptorUpdateTemplateEntryBuilder { + inner: DescriptorUpdateTemplateEntry, +} +impl DescriptorUpdateTemplateEntry { + /// Start building this struct. + #[inline] + pub fn builder() -> DescriptorUpdateTemplateEntryBuilder { + DescriptorUpdateTemplateEntryBuilder { + inner: DescriptorUpdateTemplateEntry { + ..Default::default() + }, + } + } +} +impl DescriptorUpdateTemplateEntryBuilder { + #[inline] + pub fn dst_binding(mut self, value: u32) -> Self { + self.inner.dst_binding = value; + self + } + #[inline] + pub fn dst_array_element(mut self, value: u32) -> Self { + self.inner.dst_array_element = value; + self + } + #[inline] + pub fn descriptor_count(mut self, value: u32) -> Self { + self.inner.descriptor_count = value; + self + } + #[inline] + pub fn descriptor_type(mut self, value: DescriptorType) -> Self { + self.inner.descriptor_type = value; + self + } + #[inline] + pub fn offset(mut self, value: usize) -> Self { + self.inner.offset = value; + self + } + #[inline] + pub fn stride(mut self, value: usize) -> Self { + self.inner.stride = value; + self + } +} +impl core::ops::Deref for DescriptorUpdateTemplateEntryBuilder { + type Target = DescriptorUpdateTemplateEntry; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for DescriptorUpdateTemplateEntryBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`DescriptorUpdateTemplateCreateInfo`] with lifetime-tied pNext safety. pub struct DescriptorUpdateTemplateCreateInfoBuilder<'a> { inner: DescriptorUpdateTemplateCreateInfo, @@ -13387,6 +18858,44 @@ impl<'a> core::ops::DerefMut for DescriptorUpdateTemplateCreateInfoBuilder<'a> { &mut self.inner } } +///Builder for [`XYColorEXT`]. +pub struct XYColorEXTBuilder { + inner: XYColorEXT, +} +impl XYColorEXT { + /// Start building this struct. + #[inline] + pub fn builder() -> XYColorEXTBuilder { + XYColorEXTBuilder { + inner: XYColorEXT { ..Default::default() }, + } + } +} +impl XYColorEXTBuilder { + #[inline] + pub fn x(mut self, value: f32) -> Self { + self.inner.x = value; + self + } + #[inline] + pub fn y(mut self, value: f32) -> Self { + self.inner.y = value; + self + } +} +impl core::ops::Deref for XYColorEXTBuilder { + type Target = XYColorEXT; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for XYColorEXTBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`PhysicalDevicePresentIdFeaturesKHR`] with lifetime-tied pNext safety. pub struct PhysicalDevicePresentIdFeaturesKHRBuilder<'a> { inner: PhysicalDevicePresentIdFeaturesKHR, @@ -13459,6 +18968,11 @@ impl PresentIdKHR { } } impl<'a> PresentIdKHRBuilder<'a> { + #[inline] + pub fn swapchain_count(mut self, value: u32) -> Self { + self.inner.swapchain_count = value; + self + } #[inline] pub fn present_ids(mut self, slice: &'a [u64]) -> Self { self.inner.swapchain_count = slice.len() as u32; @@ -13563,6 +19077,11 @@ impl PresentId2KHR { } } impl<'a> PresentId2KHRBuilder<'a> { + #[inline] + pub fn swapchain_count(mut self, value: u32) -> Self { + self.inner.swapchain_count = value; + self + } #[inline] pub fn present_ids(mut self, slice: &'a [u64]) -> Self { self.inner.swapchain_count = slice.len() as u32; @@ -13934,6 +19453,11 @@ impl SwapchainTimeDomainPropertiesEXT { } } impl<'a> SwapchainTimeDomainPropertiesEXTBuilder<'a> { + #[inline] + pub fn time_domain_count(mut self, value: u32) -> Self { + self.inner.time_domain_count = value; + self + } #[inline] pub fn time_domains(mut self, slice: &'a mut [TimeDomainKHR]) -> Self { self.inner.time_domain_count = slice.len() as u32; @@ -13960,6 +19484,46 @@ impl<'a> core::ops::DerefMut for SwapchainTimeDomainPropertiesEXTBuilder<'a> { &mut self.inner } } +///Builder for [`PresentStageTimeEXT`]. +pub struct PresentStageTimeEXTBuilder { + inner: PresentStageTimeEXT, +} +impl PresentStageTimeEXT { + /// Start building this struct. + #[inline] + pub fn builder() -> PresentStageTimeEXTBuilder { + PresentStageTimeEXTBuilder { + inner: PresentStageTimeEXT { + ..Default::default() + }, + } + } +} +impl PresentStageTimeEXTBuilder { + #[inline] + pub fn stage(mut self, value: PresentStageFlagsEXT) -> Self { + self.inner.stage = value; + self + } + #[inline] + pub fn time(mut self, value: u64) -> Self { + self.inner.time = value; + self + } +} +impl core::ops::Deref for PresentStageTimeEXTBuilder { + type Target = PresentStageTimeEXT; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for PresentStageTimeEXTBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`PastPresentationTimingInfoEXT`] with lifetime-tied pNext safety. pub struct PastPresentationTimingInfoEXTBuilder<'a> { inner: PastPresentationTimingInfoEXT, @@ -14153,6 +19717,11 @@ impl PresentTimingsInfoEXT { } } impl<'a> PresentTimingsInfoEXTBuilder<'a> { + #[inline] + pub fn swapchain_count(mut self, value: u32) -> Self { + self.inner.swapchain_count = value; + self + } #[inline] pub fn timing_infos(mut self, slice: &'a [PresentTimingInfoEXT]) -> Self { self.inner.swapchain_count = slice.len() as u32; @@ -14554,6 +20123,96 @@ impl<'a> core::ops::DerefMut for SwapchainDisplayNativeHdrCreateInfoAMDBuilder<' &mut self.inner } } +///Builder for [`RefreshCycleDurationGOOGLE`]. +pub struct RefreshCycleDurationGOOGLEBuilder { + inner: RefreshCycleDurationGOOGLE, +} +impl RefreshCycleDurationGOOGLE { + /// Start building this struct. + #[inline] + pub fn builder() -> RefreshCycleDurationGOOGLEBuilder { + RefreshCycleDurationGOOGLEBuilder { + inner: RefreshCycleDurationGOOGLE { + ..Default::default() + }, + } + } +} +impl RefreshCycleDurationGOOGLEBuilder { + #[inline] + pub fn refresh_duration(mut self, value: u64) -> Self { + self.inner.refresh_duration = value; + self + } +} +impl core::ops::Deref for RefreshCycleDurationGOOGLEBuilder { + type Target = RefreshCycleDurationGOOGLE; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for RefreshCycleDurationGOOGLEBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`PastPresentationTimingGOOGLE`]. +pub struct PastPresentationTimingGOOGLEBuilder { + inner: PastPresentationTimingGOOGLE, +} +impl PastPresentationTimingGOOGLE { + /// Start building this struct. + #[inline] + pub fn builder() -> PastPresentationTimingGOOGLEBuilder { + PastPresentationTimingGOOGLEBuilder { + inner: PastPresentationTimingGOOGLE { + ..Default::default() + }, + } + } +} +impl PastPresentationTimingGOOGLEBuilder { + #[inline] + pub fn present_id(mut self, value: u32) -> Self { + self.inner.present_id = value; + self + } + #[inline] + pub fn desired_present_time(mut self, value: u64) -> Self { + self.inner.desired_present_time = value; + self + } + #[inline] + pub fn actual_present_time(mut self, value: u64) -> Self { + self.inner.actual_present_time = value; + self + } + #[inline] + pub fn earliest_present_time(mut self, value: u64) -> Self { + self.inner.earliest_present_time = value; + self + } + #[inline] + pub fn present_margin(mut self, value: u64) -> Self { + self.inner.present_margin = value; + self + } +} +impl core::ops::Deref for PastPresentationTimingGOOGLEBuilder { + type Target = PastPresentationTimingGOOGLE; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for PastPresentationTimingGOOGLEBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`PresentTimesInfoGOOGLE`] with lifetime-tied pNext safety. pub struct PresentTimesInfoGOOGLEBuilder<'a> { inner: PresentTimesInfoGOOGLE, @@ -14573,6 +20232,11 @@ impl PresentTimesInfoGOOGLE { } } impl<'a> PresentTimesInfoGOOGLEBuilder<'a> { + #[inline] + pub fn swapchain_count(mut self, value: u32) -> Self { + self.inner.swapchain_count = value; + self + } #[inline] pub fn times(mut self, slice: &'a [PresentTimeGOOGLE]) -> Self { self.inner.swapchain_count = slice.len() as u32; @@ -14608,6 +20272,46 @@ impl<'a> core::ops::DerefMut for PresentTimesInfoGOOGLEBuilder<'a> { &mut self.inner } } +///Builder for [`PresentTimeGOOGLE`]. +pub struct PresentTimeGOOGLEBuilder { + inner: PresentTimeGOOGLE, +} +impl PresentTimeGOOGLE { + /// Start building this struct. + #[inline] + pub fn builder() -> PresentTimeGOOGLEBuilder { + PresentTimeGOOGLEBuilder { + inner: PresentTimeGOOGLE { + ..Default::default() + }, + } + } +} +impl PresentTimeGOOGLEBuilder { + #[inline] + pub fn present_id(mut self, value: u32) -> Self { + self.inner.present_id = value; + self + } + #[inline] + pub fn desired_present_time(mut self, value: u64) -> Self { + self.inner.desired_present_time = value; + self + } +} +impl core::ops::Deref for PresentTimeGOOGLEBuilder { + type Target = PresentTimeGOOGLE; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for PresentTimeGOOGLEBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`IOSSurfaceCreateInfoMVK`] with lifetime-tied pNext safety. pub struct IOSSurfaceCreateInfoMVKBuilder<'a> { inner: IOSSurfaceCreateInfoMVK, @@ -14633,7 +20337,7 @@ impl<'a> IOSSurfaceCreateInfoMVKBuilder<'a> { self } #[inline] - pub fn p_view(mut self, value: *const core::ffi::c_void) -> Self { + pub fn view(mut self, value: *const core::ffi::c_void) -> Self { self.inner.p_view = value; self } @@ -14691,7 +20395,7 @@ impl<'a> MacOSSurfaceCreateInfoMVKBuilder<'a> { self } #[inline] - pub fn p_view(mut self, value: *const core::ffi::c_void) -> Self { + pub fn view(mut self, value: *const core::ffi::c_void) -> Self { self.inner.p_view = value; self } @@ -14749,7 +20453,7 @@ impl<'a> MetalSurfaceCreateInfoEXTBuilder<'a> { self } #[inline] - pub fn p_layer(mut self, value: *const core::ffi::c_void) -> Self { + pub fn layer(mut self, value: *const core::ffi::c_void) -> Self { self.inner.p_layer = value; self } @@ -14782,6 +20486,46 @@ impl<'a> core::ops::DerefMut for MetalSurfaceCreateInfoEXTBuilder<'a> { &mut self.inner } } +///Builder for [`ViewportWScalingNV`]. +pub struct ViewportWScalingNVBuilder { + inner: ViewportWScalingNV, +} +impl ViewportWScalingNV { + /// Start building this struct. + #[inline] + pub fn builder() -> ViewportWScalingNVBuilder { + ViewportWScalingNVBuilder { + inner: ViewportWScalingNV { + ..Default::default() + }, + } + } +} +impl ViewportWScalingNVBuilder { + #[inline] + pub fn xcoeff(mut self, value: f32) -> Self { + self.inner.xcoeff = value; + self + } + #[inline] + pub fn ycoeff(mut self, value: f32) -> Self { + self.inner.ycoeff = value; + self + } +} +impl core::ops::Deref for ViewportWScalingNVBuilder { + type Target = ViewportWScalingNV; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for ViewportWScalingNVBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`PipelineViewportWScalingStateCreateInfoNV`] with lifetime-tied pNext safety. pub struct PipelineViewportWScalingStateCreateInfoNVBuilder<'a> { inner: PipelineViewportWScalingStateCreateInfoNV, @@ -14807,6 +20551,11 @@ impl<'a> PipelineViewportWScalingStateCreateInfoNVBuilder<'a> { self } #[inline] + pub fn viewport_count(mut self, value: u32) -> Self { + self.inner.viewport_count = value; + self + } + #[inline] pub fn viewport_w_scalings(mut self, slice: &'a [ViewportWScalingNV]) -> Self { self.inner.viewport_count = slice.len() as u32; self.inner.p_viewport_w_scalings = slice.as_ptr(); @@ -14841,6 +20590,56 @@ impl<'a> core::ops::DerefMut for PipelineViewportWScalingStateCreateInfoNVBuilde &mut self.inner } } +///Builder for [`ViewportSwizzleNV`]. +pub struct ViewportSwizzleNVBuilder { + inner: ViewportSwizzleNV, +} +impl ViewportSwizzleNV { + /// Start building this struct. + #[inline] + pub fn builder() -> ViewportSwizzleNVBuilder { + ViewportSwizzleNVBuilder { + inner: ViewportSwizzleNV { + ..Default::default() + }, + } + } +} +impl ViewportSwizzleNVBuilder { + #[inline] + pub fn x(mut self, value: ViewportCoordinateSwizzleNV) -> Self { + self.inner.x = value; + self + } + #[inline] + pub fn y(mut self, value: ViewportCoordinateSwizzleNV) -> Self { + self.inner.y = value; + self + } + #[inline] + pub fn z(mut self, value: ViewportCoordinateSwizzleNV) -> Self { + self.inner.z = value; + self + } + #[inline] + pub fn w(mut self, value: ViewportCoordinateSwizzleNV) -> Self { + self.inner.w = value; + self + } +} +impl core::ops::Deref for ViewportSwizzleNVBuilder { + type Target = ViewportSwizzleNV; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for ViewportSwizzleNVBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`PipelineViewportSwizzleStateCreateInfoNV`] with lifetime-tied pNext safety. pub struct PipelineViewportSwizzleStateCreateInfoNVBuilder<'a> { inner: PipelineViewportSwizzleStateCreateInfoNV, @@ -15044,6 +20843,51 @@ for PhysicalDeviceMultiviewPerViewAttributesPropertiesNVXBuilder<'a> { &mut self.inner } } +///Builder for [`InputAttachmentAspectReference`]. +pub struct InputAttachmentAspectReferenceBuilder { + inner: InputAttachmentAspectReference, +} +impl InputAttachmentAspectReference { + /// Start building this struct. + #[inline] + pub fn builder() -> InputAttachmentAspectReferenceBuilder { + InputAttachmentAspectReferenceBuilder { + inner: InputAttachmentAspectReference { + ..Default::default() + }, + } + } +} +impl InputAttachmentAspectReferenceBuilder { + #[inline] + pub fn subpass(mut self, value: u32) -> Self { + self.inner.subpass = value; + self + } + #[inline] + pub fn input_attachment_index(mut self, value: u32) -> Self { + self.inner.input_attachment_index = value; + self + } + #[inline] + pub fn aspect_mask(mut self, value: ImageAspectFlags) -> Self { + self.inner.aspect_mask = value; + self + } +} +impl core::ops::Deref for InputAttachmentAspectReferenceBuilder { + type Target = InputAttachmentAspectReference; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for InputAttachmentAspectReferenceBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`RenderPassInputAttachmentAspectCreateInfo`] with lifetime-tied pNext safety. pub struct RenderPassInputAttachmentAspectCreateInfoBuilder<'a> { inner: RenderPassInputAttachmentAspectCreateInfo, @@ -15767,7 +21611,7 @@ impl DeviceBufferMemoryRequirements { } impl<'a> DeviceBufferMemoryRequirementsBuilder<'a> { #[inline] - pub fn p_create_info(mut self, value: &'a BufferCreateInfo) -> Self { + pub fn create_info(mut self, value: &'a BufferCreateInfo) -> Self { self.inner.p_create_info = value; self } @@ -15926,7 +21770,7 @@ impl DeviceImageMemoryRequirements { } impl<'a> DeviceImageMemoryRequirementsBuilder<'a> { #[inline] - pub fn p_create_info(mut self, value: &'a ImageCreateInfo) -> Self { + pub fn create_info(mut self, value: &'a ImageCreateInfo) -> Self { self.inner.p_create_info = value; self } @@ -17092,6 +22936,46 @@ impl<'a> core::ops::DerefMut for PhysicalDeviceSamplerFilterMinmaxPropertiesBuil &mut self.inner } } +///Builder for [`SampleLocationEXT`]. +pub struct SampleLocationEXTBuilder { + inner: SampleLocationEXT, +} +impl SampleLocationEXT { + /// Start building this struct. + #[inline] + pub fn builder() -> SampleLocationEXTBuilder { + SampleLocationEXTBuilder { + inner: SampleLocationEXT { + ..Default::default() + }, + } + } +} +impl SampleLocationEXTBuilder { + #[inline] + pub fn x(mut self, value: f32) -> Self { + self.inner.x = value; + self + } + #[inline] + pub fn y(mut self, value: f32) -> Self { + self.inner.y = value; + self + } +} +impl core::ops::Deref for SampleLocationEXTBuilder { + type Target = SampleLocationEXT; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for SampleLocationEXTBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`SampleLocationsInfoEXT`] with lifetime-tied pNext safety. pub struct SampleLocationsInfoEXTBuilder<'a> { inner: SampleLocationsInfoEXT, @@ -17156,6 +23040,86 @@ impl<'a> core::ops::DerefMut for SampleLocationsInfoEXTBuilder<'a> { &mut self.inner } } +///Builder for [`AttachmentSampleLocationsEXT`]. +pub struct AttachmentSampleLocationsEXTBuilder { + inner: AttachmentSampleLocationsEXT, +} +impl AttachmentSampleLocationsEXT { + /// Start building this struct. + #[inline] + pub fn builder() -> AttachmentSampleLocationsEXTBuilder { + AttachmentSampleLocationsEXTBuilder { + inner: AttachmentSampleLocationsEXT { + ..Default::default() + }, + } + } +} +impl AttachmentSampleLocationsEXTBuilder { + #[inline] + pub fn attachment_index(mut self, value: u32) -> Self { + self.inner.attachment_index = value; + self + } + #[inline] + pub fn sample_locations_info(mut self, value: SampleLocationsInfoEXT) -> Self { + self.inner.sample_locations_info = value; + self + } +} +impl core::ops::Deref for AttachmentSampleLocationsEXTBuilder { + type Target = AttachmentSampleLocationsEXT; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for AttachmentSampleLocationsEXTBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`SubpassSampleLocationsEXT`]. +pub struct SubpassSampleLocationsEXTBuilder { + inner: SubpassSampleLocationsEXT, +} +impl SubpassSampleLocationsEXT { + /// Start building this struct. + #[inline] + pub fn builder() -> SubpassSampleLocationsEXTBuilder { + SubpassSampleLocationsEXTBuilder { + inner: SubpassSampleLocationsEXT { + ..Default::default() + }, + } + } +} +impl SubpassSampleLocationsEXTBuilder { + #[inline] + pub fn subpass_index(mut self, value: u32) -> Self { + self.inner.subpass_index = value; + self + } + #[inline] + pub fn sample_locations_info(mut self, value: SampleLocationsInfoEXT) -> Self { + self.inner.sample_locations_info = value; + self + } +} +impl core::ops::Deref for SubpassSampleLocationsEXTBuilder { + type Target = SubpassSampleLocationsEXT; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for SubpassSampleLocationsEXTBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`RenderPassSampleLocationsBeginInfoEXT`] with lifetime-tied pNext safety. pub struct RenderPassSampleLocationsBeginInfoEXTBuilder<'a> { inner: RenderPassSampleLocationsBeginInfoEXT, @@ -17936,6 +23900,11 @@ impl<'a> PipelineCoverageModulationStateCreateInfoNVBuilder<'a> { self } #[inline] + pub fn coverage_modulation_table_count(mut self, value: u32) -> Self { + self.inner.coverage_modulation_table_count = value; + self + } + #[inline] pub fn coverage_modulation_table(mut self, slice: &'a [f32]) -> Self { self.inner.coverage_modulation_table_count = slice.len() as u32; self.inner.p_coverage_modulation_table = slice.as_ptr(); @@ -18660,6 +24629,11 @@ impl PhysicalDeviceLayeredApiPropertiesListKHR { } } impl<'a> PhysicalDeviceLayeredApiPropertiesListKHRBuilder<'a> { + #[inline] + pub fn layered_api_count(mut self, value: u32) -> Self { + self.inner.layered_api_count = value; + self + } #[inline] pub fn layered_apis( mut self, @@ -19478,6 +25452,46 @@ impl<'a> core::ops::DerefMut for PhysicalDeviceHostQueryResetFeaturesBuilder<'a> &mut self.inner } } +///Builder for [`NativeBufferUsage2ANDROID`]. +pub struct NativeBufferUsage2ANDROIDBuilder { + inner: NativeBufferUsage2ANDROID, +} +impl NativeBufferUsage2ANDROID { + /// Start building this struct. + #[inline] + pub fn builder() -> NativeBufferUsage2ANDROIDBuilder { + NativeBufferUsage2ANDROIDBuilder { + inner: NativeBufferUsage2ANDROID { + ..Default::default() + }, + } + } +} +impl NativeBufferUsage2ANDROIDBuilder { + #[inline] + pub fn consumer(mut self, value: u64) -> Self { + self.inner.consumer = value; + self + } + #[inline] + pub fn producer(mut self, value: u64) -> Self { + self.inner.producer = value; + self + } +} +impl core::ops::Deref for NativeBufferUsage2ANDROIDBuilder { + type Target = NativeBufferUsage2ANDROID; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for NativeBufferUsage2ANDROIDBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`NativeBufferANDROID`] with lifetime-tied pNext safety. pub struct NativeBufferANDROIDBuilder<'a> { inner: NativeBufferANDROID, @@ -19639,6 +25653,126 @@ impl<'a> core::ops::DerefMut for PhysicalDevicePresentationPropertiesANDROIDBuil &mut self.inner } } +///Builder for [`ShaderResourceUsageAMD`]. +pub struct ShaderResourceUsageAMDBuilder { + inner: ShaderResourceUsageAMD, +} +impl ShaderResourceUsageAMD { + /// Start building this struct. + #[inline] + pub fn builder() -> ShaderResourceUsageAMDBuilder { + ShaderResourceUsageAMDBuilder { + inner: ShaderResourceUsageAMD { + ..Default::default() + }, + } + } +} +impl ShaderResourceUsageAMDBuilder { + #[inline] + pub fn num_used_vgprs(mut self, value: u32) -> Self { + self.inner.num_used_vgprs = value; + self + } + #[inline] + pub fn num_used_sgprs(mut self, value: u32) -> Self { + self.inner.num_used_sgprs = value; + self + } + #[inline] + pub fn lds_size_per_local_work_group(mut self, value: u32) -> Self { + self.inner.lds_size_per_local_work_group = value; + self + } + #[inline] + pub fn lds_usage_size_in_bytes(mut self, value: usize) -> Self { + self.inner.lds_usage_size_in_bytes = value; + self + } + #[inline] + pub fn scratch_mem_usage_in_bytes(mut self, value: usize) -> Self { + self.inner.scratch_mem_usage_in_bytes = value; + self + } +} +impl core::ops::Deref for ShaderResourceUsageAMDBuilder { + type Target = ShaderResourceUsageAMD; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for ShaderResourceUsageAMDBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`ShaderStatisticsInfoAMD`]. +pub struct ShaderStatisticsInfoAMDBuilder { + inner: ShaderStatisticsInfoAMD, +} +impl ShaderStatisticsInfoAMD { + /// Start building this struct. + #[inline] + pub fn builder() -> ShaderStatisticsInfoAMDBuilder { + ShaderStatisticsInfoAMDBuilder { + inner: ShaderStatisticsInfoAMD { + ..Default::default() + }, + } + } +} +impl ShaderStatisticsInfoAMDBuilder { + #[inline] + pub fn shader_stage_mask(mut self, value: ShaderStageFlags) -> Self { + self.inner.shader_stage_mask = value; + self + } + #[inline] + pub fn resource_usage(mut self, value: ShaderResourceUsageAMD) -> Self { + self.inner.resource_usage = value; + self + } + #[inline] + pub fn num_physical_vgprs(mut self, value: u32) -> Self { + self.inner.num_physical_vgprs = value; + self + } + #[inline] + pub fn num_physical_sgprs(mut self, value: u32) -> Self { + self.inner.num_physical_sgprs = value; + self + } + #[inline] + pub fn num_available_vgprs(mut self, value: u32) -> Self { + self.inner.num_available_vgprs = value; + self + } + #[inline] + pub fn num_available_sgprs(mut self, value: u32) -> Self { + self.inner.num_available_sgprs = value; + self + } + #[inline] + pub fn compute_work_group_size(mut self, value: [u32; 3usize]) -> Self { + self.inner.compute_work_group_size = value; + self + } +} +impl core::ops::Deref for ShaderStatisticsInfoAMDBuilder { + type Target = ShaderStatisticsInfoAMD; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for ShaderStatisticsInfoAMDBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`DeviceQueueGlobalPriorityCreateInfo`] with lifetime-tied pNext safety. pub struct DeviceQueueGlobalPriorityCreateInfoBuilder<'a> { inner: DeviceQueueGlobalPriorityCreateInfo, @@ -19821,7 +25955,7 @@ impl<'a> DebugUtilsObjectNameInfoEXTBuilder<'a> { self } #[inline] - pub fn p_object_name(mut self, value: &'a core::ffi::CStr) -> Self { + pub fn object_name(mut self, value: &'a core::ffi::CStr) -> Self { self.inner.p_object_name = value.as_ptr(); self } @@ -19943,7 +26077,7 @@ impl DebugUtilsLabelEXT { } impl<'a> DebugUtilsLabelEXTBuilder<'a> { #[inline] - pub fn p_label_name(mut self, value: &'a core::ffi::CStr) -> Self { + pub fn label_name(mut self, value: &'a core::ffi::CStr) -> Self { self.inner.p_label_name = value.as_ptr(); self } @@ -20021,7 +26155,7 @@ impl<'a> DebugUtilsMessengerCreateInfoEXTBuilder<'a> { self } #[inline] - pub fn p_user_data(mut self, value: *mut core::ffi::c_void) -> Self { + pub fn user_data(mut self, value: *mut core::ffi::c_void) -> Self { self.inner.p_user_data = value; self } @@ -20079,7 +26213,7 @@ impl<'a> DebugUtilsMessengerCallbackDataEXTBuilder<'a> { self } #[inline] - pub fn p_message_id_name(mut self, value: &'a core::ffi::CStr) -> Self { + pub fn message_id_name(mut self, value: &'a core::ffi::CStr) -> Self { self.inner.p_message_id_name = value.as_ptr(); self } @@ -20089,7 +26223,7 @@ impl<'a> DebugUtilsMessengerCallbackDataEXTBuilder<'a> { self } #[inline] - pub fn p_message(mut self, value: &'a core::ffi::CStr) -> Self { + pub fn message(mut self, value: &'a core::ffi::CStr) -> Self { self.inner.p_message = value.as_ptr(); self } @@ -20226,7 +26360,7 @@ impl<'a> DeviceDeviceMemoryReportCreateInfoEXTBuilder<'a> { self } #[inline] - pub fn p_user_data(mut self, value: *mut core::ffi::c_void) -> Self { + pub fn user_data(mut self, value: *mut core::ffi::c_void) -> Self { self.inner.p_user_data = value; self } @@ -20352,7 +26486,7 @@ impl<'a> ImportMemoryHostPointerInfoEXTBuilder<'a> { self } #[inline] - pub fn p_host_pointer(mut self, value: *mut core::ffi::c_void) -> Self { + pub fn host_pointer(mut self, value: *mut core::ffi::c_void) -> Self { self.inner.p_host_pointer = value; self } @@ -21247,6 +27381,11 @@ impl DescriptorSetLayoutBindingFlagsCreateInfo { } } impl<'a> DescriptorSetLayoutBindingFlagsCreateInfoBuilder<'a> { + #[inline] + pub fn binding_count(mut self, value: u32) -> Self { + self.inner.binding_count = value; + self + } #[inline] pub fn binding_flags(mut self, slice: &'a [DescriptorBindingFlags]) -> Self { self.inner.binding_count = slice.len() as u32; @@ -21586,10 +27725,7 @@ impl<'a> SubpassDescription2Builder<'a> { self } #[inline] - pub fn p_depth_stencil_attachment( - mut self, - value: &'a AttachmentReference2, - ) -> Self { + pub fn depth_stencil_attachment(mut self, value: &'a AttachmentReference2) -> Self { self.inner.p_depth_stencil_attachment = value; self } @@ -22050,6 +28186,11 @@ impl TimelineSemaphoreSubmitInfo { } } impl<'a> TimelineSemaphoreSubmitInfoBuilder<'a> { + #[inline] + pub fn wait_semaphore_value_count(mut self, value: u32) -> Self { + self.inner.wait_semaphore_value_count = value; + self + } #[inline] pub fn wait_semaphore_values(mut self, slice: &'a [u64]) -> Self { self.inner.wait_semaphore_value_count = slice.len() as u32; @@ -22057,6 +28198,11 @@ impl<'a> TimelineSemaphoreSubmitInfoBuilder<'a> { self } #[inline] + pub fn signal_semaphore_value_count(mut self, value: u32) -> Self { + self.inner.signal_semaphore_value_count = value; + self + } + #[inline] pub fn signal_semaphore_values(mut self, slice: &'a [u64]) -> Self { self.inner.signal_semaphore_value_count = slice.len() as u32; self.inner.p_signal_semaphore_values = slice.as_ptr(); @@ -22208,6 +28354,46 @@ impl<'a> core::ops::DerefMut for SemaphoreSignalInfoBuilder<'a> { &mut self.inner } } +///Builder for [`VertexInputBindingDivisorDescription`]. +pub struct VertexInputBindingDivisorDescriptionBuilder { + inner: VertexInputBindingDivisorDescription, +} +impl VertexInputBindingDivisorDescription { + /// Start building this struct. + #[inline] + pub fn builder() -> VertexInputBindingDivisorDescriptionBuilder { + VertexInputBindingDivisorDescriptionBuilder { + inner: VertexInputBindingDivisorDescription { + ..Default::default() + }, + } + } +} +impl VertexInputBindingDivisorDescriptionBuilder { + #[inline] + pub fn binding(mut self, value: u32) -> Self { + self.inner.binding = value; + self + } + #[inline] + pub fn divisor(mut self, value: u32) -> Self { + self.inner.divisor = value; + self + } +} +impl core::ops::Deref for VertexInputBindingDivisorDescriptionBuilder { + type Target = VertexInputBindingDivisorDescription; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for VertexInputBindingDivisorDescriptionBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`PipelineVertexInputDivisorStateCreateInfo`] with lifetime-tied pNext safety. pub struct PipelineVertexInputDivisorStateCreateInfoBuilder<'a> { inner: PipelineVertexInputDivisorStateCreateInfo, @@ -23362,7 +29548,7 @@ impl<'a> CheckpointDataNVBuilder<'a> { self } #[inline] - pub fn p_checkpoint_marker(mut self, value: *mut core::ffi::c_void) -> Self { + pub fn checkpoint_marker(mut self, value: *mut core::ffi::c_void) -> Self { self.inner.p_checkpoint_marker = value; self } @@ -23463,7 +29649,7 @@ impl<'a> SubpassDescriptionDepthStencilResolveBuilder<'a> { self } #[inline] - pub fn p_depth_stencil_resolve_attachment( + pub fn depth_stencil_resolve_attachment( mut self, value: &'a AttachmentReference2, ) -> Self { @@ -24556,6 +30742,47 @@ for PhysicalDeviceMemoryDecompressionPropertiesEXTBuilder<'a> { &mut self.inner } } +///Builder for [`ShadingRatePaletteNV`]. +pub struct ShadingRatePaletteNVBuilder<'a> { + inner: ShadingRatePaletteNV, + _marker: core::marker::PhantomData<&'a ()>, +} +impl ShadingRatePaletteNV { + /// Start building this struct. + #[inline] + pub fn builder<'a>() -> ShadingRatePaletteNVBuilder<'a> { + ShadingRatePaletteNVBuilder { + inner: ShadingRatePaletteNV { + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> ShadingRatePaletteNVBuilder<'a> { + #[inline] + pub fn shading_rate_palette_entries( + mut self, + slice: &'a [ShadingRatePaletteEntryNV], + ) -> Self { + self.inner.shading_rate_palette_entry_count = slice.len() as u32; + self.inner.p_shading_rate_palette_entries = slice.as_ptr(); + self + } +} +impl<'a> core::ops::Deref for ShadingRatePaletteNVBuilder<'a> { + type Target = ShadingRatePaletteNV; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> core::ops::DerefMut for ShadingRatePaletteNVBuilder<'a> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`PipelineViewportShadingRateImageStateCreateInfoNV`] with lifetime-tied pNext safety. pub struct PipelineViewportShadingRateImageStateCreateInfoNVBuilder<'a> { inner: PipelineViewportShadingRateImageStateCreateInfoNV, @@ -24778,6 +31005,99 @@ impl<'a> core::ops::DerefMut for PhysicalDeviceInvocationMaskFeaturesHUAWEIBuild &mut self.inner } } +///Builder for [`CoarseSampleLocationNV`]. +pub struct CoarseSampleLocationNVBuilder { + inner: CoarseSampleLocationNV, +} +impl CoarseSampleLocationNV { + /// Start building this struct. + #[inline] + pub fn builder() -> CoarseSampleLocationNVBuilder { + CoarseSampleLocationNVBuilder { + inner: CoarseSampleLocationNV { + ..Default::default() + }, + } + } +} +impl CoarseSampleLocationNVBuilder { + #[inline] + pub fn pixel_x(mut self, value: u32) -> Self { + self.inner.pixel_x = value; + self + } + #[inline] + pub fn pixel_y(mut self, value: u32) -> Self { + self.inner.pixel_y = value; + self + } + #[inline] + pub fn sample(mut self, value: u32) -> Self { + self.inner.sample = value; + self + } +} +impl core::ops::Deref for CoarseSampleLocationNVBuilder { + type Target = CoarseSampleLocationNV; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for CoarseSampleLocationNVBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`CoarseSampleOrderCustomNV`]. +pub struct CoarseSampleOrderCustomNVBuilder<'a> { + inner: CoarseSampleOrderCustomNV, + _marker: core::marker::PhantomData<&'a ()>, +} +impl CoarseSampleOrderCustomNV { + /// Start building this struct. + #[inline] + pub fn builder<'a>() -> CoarseSampleOrderCustomNVBuilder<'a> { + CoarseSampleOrderCustomNVBuilder { + inner: CoarseSampleOrderCustomNV { + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> CoarseSampleOrderCustomNVBuilder<'a> { + #[inline] + pub fn shading_rate(mut self, value: ShadingRatePaletteEntryNV) -> Self { + self.inner.shading_rate = value; + self + } + #[inline] + pub fn sample_count(mut self, value: u32) -> Self { + self.inner.sample_count = value; + self + } + #[inline] + pub fn sample_locations(mut self, slice: &'a [CoarseSampleLocationNV]) -> Self { + self.inner.sample_location_count = slice.len() as u32; + self.inner.p_sample_locations = slice.as_ptr(); + self + } +} +impl<'a> core::ops::Deref for CoarseSampleOrderCustomNVBuilder<'a> { + type Target = CoarseSampleOrderCustomNV; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> core::ops::DerefMut for CoarseSampleOrderCustomNVBuilder<'a> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`PipelineViewportCoarseSampleOrderStateCreateInfoNV`] with lifetime-tied pNext safety. pub struct PipelineViewportCoarseSampleOrderStateCreateInfoNVBuilder<'a> { inner: PipelineViewportCoarseSampleOrderStateCreateInfoNV, @@ -25000,6 +31320,46 @@ impl<'a> core::ops::DerefMut for PhysicalDeviceMeshShaderPropertiesNVBuilder<'a> &mut self.inner } } +///Builder for [`DrawMeshTasksIndirectCommandNV`]. +pub struct DrawMeshTasksIndirectCommandNVBuilder { + inner: DrawMeshTasksIndirectCommandNV, +} +impl DrawMeshTasksIndirectCommandNV { + /// Start building this struct. + #[inline] + pub fn builder() -> DrawMeshTasksIndirectCommandNVBuilder { + DrawMeshTasksIndirectCommandNVBuilder { + inner: DrawMeshTasksIndirectCommandNV { + ..Default::default() + }, + } + } +} +impl DrawMeshTasksIndirectCommandNVBuilder { + #[inline] + pub fn task_count(mut self, value: u32) -> Self { + self.inner.task_count = value; + self + } + #[inline] + pub fn first_task(mut self, value: u32) -> Self { + self.inner.first_task = value; + self + } +} +impl core::ops::Deref for DrawMeshTasksIndirectCommandNVBuilder { + type Target = DrawMeshTasksIndirectCommandNV; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for DrawMeshTasksIndirectCommandNVBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`PhysicalDeviceMeshShaderFeaturesEXT`] with lifetime-tied pNext safety. pub struct PhysicalDeviceMeshShaderFeaturesEXTBuilder<'a> { inner: PhysicalDeviceMeshShaderFeaturesEXT, @@ -25246,6 +31606,51 @@ impl<'a> core::ops::DerefMut for PhysicalDeviceMeshShaderPropertiesEXTBuilder<'a &mut self.inner } } +///Builder for [`DrawMeshTasksIndirectCommandEXT`]. +pub struct DrawMeshTasksIndirectCommandEXTBuilder { + inner: DrawMeshTasksIndirectCommandEXT, +} +impl DrawMeshTasksIndirectCommandEXT { + /// Start building this struct. + #[inline] + pub fn builder() -> DrawMeshTasksIndirectCommandEXTBuilder { + DrawMeshTasksIndirectCommandEXTBuilder { + inner: DrawMeshTasksIndirectCommandEXT { + ..Default::default() + }, + } + } +} +impl DrawMeshTasksIndirectCommandEXTBuilder { + #[inline] + pub fn group_count_x(mut self, value: u32) -> Self { + self.inner.group_count_x = value; + self + } + #[inline] + pub fn group_count_y(mut self, value: u32) -> Self { + self.inner.group_count_y = value; + self + } + #[inline] + pub fn group_count_z(mut self, value: u32) -> Self { + self.inner.group_count_z = value; + self + } +} +impl core::ops::Deref for DrawMeshTasksIndirectCommandEXTBuilder { + type Target = DrawMeshTasksIndirectCommandEXT; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for DrawMeshTasksIndirectCommandEXTBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`RayTracingShaderGroupCreateInfoNV`] with lifetime-tied pNext safety. pub struct RayTracingShaderGroupCreateInfoNVBuilder<'a> { inner: RayTracingShaderGroupCreateInfoNV, @@ -25364,7 +31769,7 @@ impl<'a> RayTracingShaderGroupCreateInfoKHRBuilder<'a> { self } #[inline] - pub fn p_shader_group_capture_replay_handle( + pub fn shader_group_capture_replay_handle( mut self, value: *const core::ffi::c_void, ) -> Self { @@ -25527,12 +31932,12 @@ impl<'a> RayTracingPipelineCreateInfoKHRBuilder<'a> { self } #[inline] - pub fn p_library_info(mut self, value: &'a PipelineLibraryCreateInfoKHR) -> Self { + pub fn library_info(mut self, value: &'a PipelineLibraryCreateInfoKHR) -> Self { self.inner.p_library_info = value; self } #[inline] - pub fn p_library_interface( + pub fn library_interface( mut self, value: &'a RayTracingPipelineInterfaceCreateInfoKHR, ) -> Self { @@ -25540,7 +31945,7 @@ impl<'a> RayTracingPipelineCreateInfoKHRBuilder<'a> { self } #[inline] - pub fn p_dynamic_state(mut self, value: &'a PipelineDynamicStateCreateInfo) -> Self { + pub fn dynamic_state(mut self, value: &'a PipelineDynamicStateCreateInfo) -> Self { self.inner.p_dynamic_state = value; self } @@ -25753,6 +32158,46 @@ impl<'a> core::ops::DerefMut for GeometryAABBNVBuilder<'a> { &mut self.inner } } +///Builder for [`GeometryDataNV`]. +pub struct GeometryDataNVBuilder { + inner: GeometryDataNV, +} +impl GeometryDataNV { + /// Start building this struct. + #[inline] + pub fn builder() -> GeometryDataNVBuilder { + GeometryDataNVBuilder { + inner: GeometryDataNV { + ..Default::default() + }, + } + } +} +impl GeometryDataNVBuilder { + #[inline] + pub fn triangles(mut self, value: GeometryTrianglesNV) -> Self { + self.inner.triangles = value; + self + } + #[inline] + pub fn aabbs(mut self, value: GeometryAABBNV) -> Self { + self.inner.aabbs = value; + self + } +} +impl core::ops::Deref for GeometryDataNVBuilder { + type Target = GeometryDataNV; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for GeometryDataNVBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`GeometryNV`] with lifetime-tied pNext safety. pub struct GeometryNVBuilder<'a> { inner: GeometryNV, @@ -26028,6 +32473,11 @@ impl WriteDescriptorSetAccelerationStructureKHR { } } impl<'a> WriteDescriptorSetAccelerationStructureKHRBuilder<'a> { + #[inline] + pub fn acceleration_structure_count(mut self, value: u32) -> Self { + self.inner.acceleration_structure_count = value; + self + } #[inline] pub fn acceleration_structures( mut self, @@ -26085,6 +32535,11 @@ impl WriteDescriptorSetAccelerationStructureNV { } } impl<'a> WriteDescriptorSetAccelerationStructureNVBuilder<'a> { + #[inline] + pub fn acceleration_structure_count(mut self, value: u32) -> Self { + self.inner.acceleration_structure_count = value; + self + } #[inline] pub fn acceleration_structures( mut self, @@ -26631,6 +33086,196 @@ impl<'a> core::ops::DerefMut for PhysicalDeviceRayTracingPropertiesNVBuilder<'a> &mut self.inner } } +///Builder for [`StridedDeviceAddressRegionKHR`]. +pub struct StridedDeviceAddressRegionKHRBuilder { + inner: StridedDeviceAddressRegionKHR, +} +impl StridedDeviceAddressRegionKHR { + /// Start building this struct. + #[inline] + pub fn builder() -> StridedDeviceAddressRegionKHRBuilder { + StridedDeviceAddressRegionKHRBuilder { + inner: StridedDeviceAddressRegionKHR { + ..Default::default() + }, + } + } +} +impl StridedDeviceAddressRegionKHRBuilder { + #[inline] + pub fn device_address(mut self, value: u64) -> Self { + self.inner.device_address = value; + self + } + #[inline] + pub fn stride(mut self, value: u64) -> Self { + self.inner.stride = value; + self + } + #[inline] + pub fn size(mut self, value: u64) -> Self { + self.inner.size = value; + self + } +} +impl core::ops::Deref for StridedDeviceAddressRegionKHRBuilder { + type Target = StridedDeviceAddressRegionKHR; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for StridedDeviceAddressRegionKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`TraceRaysIndirectCommandKHR`]. +pub struct TraceRaysIndirectCommandKHRBuilder { + inner: TraceRaysIndirectCommandKHR, +} +impl TraceRaysIndirectCommandKHR { + /// Start building this struct. + #[inline] + pub fn builder() -> TraceRaysIndirectCommandKHRBuilder { + TraceRaysIndirectCommandKHRBuilder { + inner: TraceRaysIndirectCommandKHR { + ..Default::default() + }, + } + } +} +impl TraceRaysIndirectCommandKHRBuilder { + #[inline] + pub fn width(mut self, value: u32) -> Self { + self.inner.width = value; + self + } + #[inline] + pub fn height(mut self, value: u32) -> Self { + self.inner.height = value; + self + } + #[inline] + pub fn depth(mut self, value: u32) -> Self { + self.inner.depth = value; + self + } +} +impl core::ops::Deref for TraceRaysIndirectCommandKHRBuilder { + type Target = TraceRaysIndirectCommandKHR; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for TraceRaysIndirectCommandKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`TraceRaysIndirectCommand2KHR`]. +pub struct TraceRaysIndirectCommand2KHRBuilder { + inner: TraceRaysIndirectCommand2KHR, +} +impl TraceRaysIndirectCommand2KHR { + /// Start building this struct. + #[inline] + pub fn builder() -> TraceRaysIndirectCommand2KHRBuilder { + TraceRaysIndirectCommand2KHRBuilder { + inner: TraceRaysIndirectCommand2KHR { + ..Default::default() + }, + } + } +} +impl TraceRaysIndirectCommand2KHRBuilder { + #[inline] + pub fn raygen_shader_record_address(mut self, value: u64) -> Self { + self.inner.raygen_shader_record_address = value; + self + } + #[inline] + pub fn raygen_shader_record_size(mut self, value: u64) -> Self { + self.inner.raygen_shader_record_size = value; + self + } + #[inline] + pub fn miss_shader_binding_table_address(mut self, value: u64) -> Self { + self.inner.miss_shader_binding_table_address = value; + self + } + #[inline] + pub fn miss_shader_binding_table_size(mut self, value: u64) -> Self { + self.inner.miss_shader_binding_table_size = value; + self + } + #[inline] + pub fn miss_shader_binding_table_stride(mut self, value: u64) -> Self { + self.inner.miss_shader_binding_table_stride = value; + self + } + #[inline] + pub fn hit_shader_binding_table_address(mut self, value: u64) -> Self { + self.inner.hit_shader_binding_table_address = value; + self + } + #[inline] + pub fn hit_shader_binding_table_size(mut self, value: u64) -> Self { + self.inner.hit_shader_binding_table_size = value; + self + } + #[inline] + pub fn hit_shader_binding_table_stride(mut self, value: u64) -> Self { + self.inner.hit_shader_binding_table_stride = value; + self + } + #[inline] + pub fn callable_shader_binding_table_address(mut self, value: u64) -> Self { + self.inner.callable_shader_binding_table_address = value; + self + } + #[inline] + pub fn callable_shader_binding_table_size(mut self, value: u64) -> Self { + self.inner.callable_shader_binding_table_size = value; + self + } + #[inline] + pub fn callable_shader_binding_table_stride(mut self, value: u64) -> Self { + self.inner.callable_shader_binding_table_stride = value; + self + } + #[inline] + pub fn width(mut self, value: u32) -> Self { + self.inner.width = value; + self + } + #[inline] + pub fn height(mut self, value: u32) -> Self { + self.inner.height = value; + self + } + #[inline] + pub fn depth(mut self, value: u32) -> Self { + self.inner.depth = value; + self + } +} +impl core::ops::Deref for TraceRaysIndirectCommand2KHRBuilder { + type Target = TraceRaysIndirectCommand2KHR; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for TraceRaysIndirectCommand2KHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`PhysicalDeviceRayTracingMaintenance1FeaturesKHR`] with lifetime-tied pNext safety. pub struct PhysicalDeviceRayTracingMaintenance1FeaturesKHRBuilder<'a> { inner: PhysicalDeviceRayTracingMaintenance1FeaturesKHR, @@ -26710,6 +33355,11 @@ impl DrmFormatModifierPropertiesListEXT { } } impl<'a> DrmFormatModifierPropertiesListEXTBuilder<'a> { + #[inline] + pub fn drm_format_modifier_count(mut self, value: u32) -> Self { + self.inner.drm_format_modifier_count = value; + self + } #[inline] pub fn drm_format_modifier_properties( mut self, @@ -26733,6 +33383,54 @@ impl<'a> core::ops::DerefMut for DrmFormatModifierPropertiesListEXTBuilder<'a> { &mut self.inner } } +///Builder for [`DrmFormatModifierPropertiesEXT`]. +pub struct DrmFormatModifierPropertiesEXTBuilder { + inner: DrmFormatModifierPropertiesEXT, +} +impl DrmFormatModifierPropertiesEXT { + /// Start building this struct. + #[inline] + pub fn builder() -> DrmFormatModifierPropertiesEXTBuilder { + DrmFormatModifierPropertiesEXTBuilder { + inner: DrmFormatModifierPropertiesEXT { + ..Default::default() + }, + } + } +} +impl DrmFormatModifierPropertiesEXTBuilder { + #[inline] + pub fn drm_format_modifier(mut self, value: u64) -> Self { + self.inner.drm_format_modifier = value; + self + } + #[inline] + pub fn drm_format_modifier_plane_count(mut self, value: u32) -> Self { + self.inner.drm_format_modifier_plane_count = value; + self + } + #[inline] + pub fn drm_format_modifier_tiling_features( + mut self, + value: FormatFeatureFlags, + ) -> Self { + self.inner.drm_format_modifier_tiling_features = value; + self + } +} +impl core::ops::Deref for DrmFormatModifierPropertiesEXTBuilder { + type Target = DrmFormatModifierPropertiesEXT; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for DrmFormatModifierPropertiesEXTBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`PhysicalDeviceImageDrmFormatModifierInfoEXT`] with lifetime-tied pNext safety. pub struct PhysicalDeviceImageDrmFormatModifierInfoEXTBuilder<'a> { inner: PhysicalDeviceImageDrmFormatModifierInfoEXT, @@ -29019,6 +35717,46 @@ impl<'a> core::ops::DerefMut for PresentFrameTokenGGPBuilder<'a> { &mut self.inner } } +///Builder for [`PipelineCreationFeedback`]. +pub struct PipelineCreationFeedbackBuilder { + inner: PipelineCreationFeedback, +} +impl PipelineCreationFeedback { + /// Start building this struct. + #[inline] + pub fn builder() -> PipelineCreationFeedbackBuilder { + PipelineCreationFeedbackBuilder { + inner: PipelineCreationFeedback { + ..Default::default() + }, + } + } +} +impl PipelineCreationFeedbackBuilder { + #[inline] + pub fn flags(mut self, value: PipelineCreationFeedbackFlags) -> Self { + self.inner.flags = value; + self + } + #[inline] + pub fn duration(mut self, value: u64) -> Self { + self.inner.duration = value; + self + } +} +impl core::ops::Deref for PipelineCreationFeedbackBuilder { + type Target = PipelineCreationFeedback; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for PipelineCreationFeedbackBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`PipelineCreationFeedbackCreateInfo`] with lifetime-tied pNext safety. pub struct PipelineCreationFeedbackCreateInfoBuilder<'a> { inner: PipelineCreationFeedbackCreateInfo, @@ -29039,7 +35777,7 @@ impl PipelineCreationFeedbackCreateInfo { } impl<'a> PipelineCreationFeedbackCreateInfoBuilder<'a> { #[inline] - pub fn p_pipeline_creation_feedback( + pub fn pipeline_creation_feedback( mut self, value: *mut PipelineCreationFeedback, ) -> Self { @@ -30081,6 +36819,46 @@ for PhysicalDeviceShaderIntegerFunctions2FeaturesINTELBuilder<'a> { &mut self.inner } } +///Builder for [`PerformanceValueINTEL`]. +pub struct PerformanceValueINTELBuilder { + inner: PerformanceValueINTEL, +} +impl PerformanceValueINTEL { + /// Start building this struct. + #[inline] + pub fn builder() -> PerformanceValueINTELBuilder { + PerformanceValueINTELBuilder { + inner: PerformanceValueINTEL { + ..Default::default() + }, + } + } +} +impl PerformanceValueINTELBuilder { + #[inline] + pub fn r#type(mut self, value: PerformanceValueTypeINTEL) -> Self { + self.inner.r#type = value; + self + } + #[inline] + pub fn data(mut self, value: PerformanceValueDataINTEL) -> Self { + self.inner.data = value; + self + } +} +impl core::ops::Deref for PerformanceValueINTELBuilder { + type Target = PerformanceValueINTEL; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for PerformanceValueINTELBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`InitializePerformanceApiInfoINTEL`] with lifetime-tied pNext safety. pub struct InitializePerformanceApiInfoINTELBuilder<'a> { inner: InitializePerformanceApiInfoINTEL, @@ -30101,7 +36879,7 @@ impl InitializePerformanceApiInfoINTEL { } impl<'a> InitializePerformanceApiInfoINTELBuilder<'a> { #[inline] - pub fn p_user_data(mut self, value: *mut core::ffi::c_void) -> Self { + pub fn user_data(mut self, value: *mut core::ffi::c_void) -> Self { self.inner.p_user_data = value; self } @@ -31238,6 +38016,11 @@ impl<'a> PipelineExecutableInternalRepresentationKHRBuilder<'a> { self } #[inline] + pub fn data_size(mut self, value: usize) -> Self { + self.inner.data_size = value; + self + } + #[inline] pub fn data(mut self, slice: &'a mut [core::ffi::c_void]) -> Self { self.inner.data_size = slice.len(); self.inner.p_data = slice.as_mut_ptr(); @@ -33832,12 +40615,22 @@ impl<'a> PhysicalDeviceVulkan14PropertiesBuilder<'a> { self } #[inline] + pub fn copy_src_layout_count(mut self, value: u32) -> Self { + self.inner.copy_src_layout_count = value; + self + } + #[inline] pub fn copy_src_layouts(mut self, slice: &'a mut [ImageLayout]) -> Self { self.inner.copy_src_layout_count = slice.len() as u32; self.inner.p_copy_src_layouts = slice.as_mut_ptr(); self } #[inline] + pub fn copy_dst_layout_count(mut self, value: u32) -> Self { + self.inner.copy_dst_layout_count = value; + self + } + #[inline] pub fn copy_dst_layouts(mut self, slice: &'a mut [ImageLayout]) -> Self { self.inner.copy_dst_layout_count = slice.len() as u32; self.inner.p_copy_dst_layouts = slice.as_mut_ptr(); @@ -34041,6 +40834,11 @@ impl FaultCallbackInfo { } } impl<'a> FaultCallbackInfoBuilder<'a> { + #[inline] + pub fn fault_count(mut self, value: u32) -> Self { + self.inner.fault_count = value; + self + } #[inline] pub fn faults(mut self, slice: &'a mut [FaultData]) -> Self { self.inner.fault_count = slice.len() as u32; @@ -34936,6 +41734,11 @@ impl<'a> AccelerationStructureBuildGeometryInfoKHRBuilder<'a> { self } #[inline] + pub fn geometry_count(mut self, value: u32) -> Self { + self.inner.geometry_count = value; + self + } + #[inline] pub fn geometries(mut self, slice: &'a [AccelerationStructureGeometryKHR]) -> Self { self.inner.geometry_count = slice.len() as u32; self.inner.p_geometries = slice.as_ptr(); @@ -34983,6 +41786,56 @@ impl<'a> core::ops::DerefMut for AccelerationStructureBuildGeometryInfoKHRBuilde &mut self.inner } } +///Builder for [`AccelerationStructureBuildRangeInfoKHR`]. +pub struct AccelerationStructureBuildRangeInfoKHRBuilder { + inner: AccelerationStructureBuildRangeInfoKHR, +} +impl AccelerationStructureBuildRangeInfoKHR { + /// Start building this struct. + #[inline] + pub fn builder() -> AccelerationStructureBuildRangeInfoKHRBuilder { + AccelerationStructureBuildRangeInfoKHRBuilder { + inner: AccelerationStructureBuildRangeInfoKHR { + ..Default::default() + }, + } + } +} +impl AccelerationStructureBuildRangeInfoKHRBuilder { + #[inline] + pub fn primitive_count(mut self, value: u32) -> Self { + self.inner.primitive_count = value; + self + } + #[inline] + pub fn primitive_offset(mut self, value: u32) -> Self { + self.inner.primitive_offset = value; + self + } + #[inline] + pub fn first_vertex(mut self, value: u32) -> Self { + self.inner.first_vertex = value; + self + } + #[inline] + pub fn transform_offset(mut self, value: u32) -> Self { + self.inner.transform_offset = value; + self + } +} +impl core::ops::Deref for AccelerationStructureBuildRangeInfoKHRBuilder { + type Target = AccelerationStructureBuildRangeInfoKHR; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for AccelerationStructureBuildRangeInfoKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`AccelerationStructureCreateInfoKHR`] with lifetime-tied pNext safety. pub struct AccelerationStructureCreateInfoKHRBuilder<'a> { inner: AccelerationStructureCreateInfoKHR, @@ -35061,6 +41914,101 @@ impl<'a> core::ops::DerefMut for AccelerationStructureCreateInfoKHRBuilder<'a> { &mut self.inner } } +///Builder for [`AabbPositionsKHR`]. +pub struct AabbPositionsKHRBuilder { + inner: AabbPositionsKHR, +} +impl AabbPositionsKHR { + /// Start building this struct. + #[inline] + pub fn builder() -> AabbPositionsKHRBuilder { + AabbPositionsKHRBuilder { + inner: AabbPositionsKHR { + ..Default::default() + }, + } + } +} +impl AabbPositionsKHRBuilder { + #[inline] + pub fn min_x(mut self, value: f32) -> Self { + self.inner.min_x = value; + self + } + #[inline] + pub fn min_y(mut self, value: f32) -> Self { + self.inner.min_y = value; + self + } + #[inline] + pub fn min_z(mut self, value: f32) -> Self { + self.inner.min_z = value; + self + } + #[inline] + pub fn max_x(mut self, value: f32) -> Self { + self.inner.max_x = value; + self + } + #[inline] + pub fn max_y(mut self, value: f32) -> Self { + self.inner.max_y = value; + self + } + #[inline] + pub fn max_z(mut self, value: f32) -> Self { + self.inner.max_z = value; + self + } +} +impl core::ops::Deref for AabbPositionsKHRBuilder { + type Target = AabbPositionsKHR; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for AabbPositionsKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`TransformMatrixKHR`]. +pub struct TransformMatrixKHRBuilder { + inner: TransformMatrixKHR, +} +impl TransformMatrixKHR { + /// Start building this struct. + #[inline] + pub fn builder() -> TransformMatrixKHRBuilder { + TransformMatrixKHRBuilder { + inner: TransformMatrixKHR { + ..Default::default() + }, + } + } +} +impl TransformMatrixKHRBuilder { + #[inline] + pub fn matrix(mut self, value: [[f32; 4usize]; 3usize]) -> Self { + self.inner.matrix = value; + self + } +} +impl core::ops::Deref for TransformMatrixKHRBuilder { + type Target = TransformMatrixKHR; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for TransformMatrixKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`AccelerationStructureDeviceAddressInfoKHR`] with lifetime-tied pNext safety. pub struct AccelerationStructureDeviceAddressInfoKHRBuilder<'a> { inner: AccelerationStructureDeviceAddressInfoKHR, @@ -35134,7 +42082,7 @@ impl AccelerationStructureVersionInfoKHR { } impl<'a> AccelerationStructureVersionInfoKHRBuilder<'a> { #[inline] - pub fn p_version_data(mut self, value: *const u8) -> Self { + pub fn version_data(mut self, value: *const u8) -> Self { self.inner.p_version_data = value; self } @@ -35468,6 +42416,51 @@ impl<'a> core::ops::DerefMut for PipelineLibraryCreateInfoKHRBuilder<'a> { &mut self.inner } } +///Builder for [`RefreshObjectKHR`]. +pub struct RefreshObjectKHRBuilder { + inner: RefreshObjectKHR, +} +impl RefreshObjectKHR { + /// Start building this struct. + #[inline] + pub fn builder() -> RefreshObjectKHRBuilder { + RefreshObjectKHRBuilder { + inner: RefreshObjectKHR { + ..Default::default() + }, + } + } +} +impl RefreshObjectKHRBuilder { + #[inline] + pub fn object_type(mut self, value: ObjectType) -> Self { + self.inner.object_type = value; + self + } + #[inline] + pub fn object_handle(mut self, value: u64) -> Self { + self.inner.object_handle = value; + self + } + #[inline] + pub fn flags(mut self, value: RefreshObjectFlagsKHR) -> Self { + self.inner.flags = value; + self + } +} +impl core::ops::Deref for RefreshObjectKHRBuilder { + type Target = RefreshObjectKHR; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for RefreshObjectKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`RefreshObjectListKHR`] with lifetime-tied pNext safety. pub struct RefreshObjectListKHRBuilder<'a> { inner: RefreshObjectListKHR, @@ -35933,6 +42926,121 @@ for PhysicalDeviceExtendedDynamicState3PropertiesEXTBuilder<'a> { &mut self.inner } } +///Builder for [`ColorBlendEquationEXT`]. +pub struct ColorBlendEquationEXTBuilder { + inner: ColorBlendEquationEXT, +} +impl ColorBlendEquationEXT { + /// Start building this struct. + #[inline] + pub fn builder() -> ColorBlendEquationEXTBuilder { + ColorBlendEquationEXTBuilder { + inner: ColorBlendEquationEXT { + ..Default::default() + }, + } + } +} +impl ColorBlendEquationEXTBuilder { + #[inline] + pub fn src_color_blend_factor(mut self, value: BlendFactor) -> Self { + self.inner.src_color_blend_factor = value; + self + } + #[inline] + pub fn dst_color_blend_factor(mut self, value: BlendFactor) -> Self { + self.inner.dst_color_blend_factor = value; + self + } + #[inline] + pub fn color_blend_op(mut self, value: BlendOp) -> Self { + self.inner.color_blend_op = value; + self + } + #[inline] + pub fn src_alpha_blend_factor(mut self, value: BlendFactor) -> Self { + self.inner.src_alpha_blend_factor = value; + self + } + #[inline] + pub fn dst_alpha_blend_factor(mut self, value: BlendFactor) -> Self { + self.inner.dst_alpha_blend_factor = value; + self + } + #[inline] + pub fn alpha_blend_op(mut self, value: BlendOp) -> Self { + self.inner.alpha_blend_op = value; + self + } +} +impl core::ops::Deref for ColorBlendEquationEXTBuilder { + type Target = ColorBlendEquationEXT; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for ColorBlendEquationEXTBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`ColorBlendAdvancedEXT`]. +pub struct ColorBlendAdvancedEXTBuilder { + inner: ColorBlendAdvancedEXT, +} +impl ColorBlendAdvancedEXT { + /// Start building this struct. + #[inline] + pub fn builder() -> ColorBlendAdvancedEXTBuilder { + ColorBlendAdvancedEXTBuilder { + inner: ColorBlendAdvancedEXT { + ..Default::default() + }, + } + } +} +impl ColorBlendAdvancedEXTBuilder { + #[inline] + pub fn advanced_blend_op(mut self, value: BlendOp) -> Self { + self.inner.advanced_blend_op = value; + self + } + #[inline] + pub fn src_premultiplied(mut self, value: bool) -> Self { + self.inner.src_premultiplied = value as u32; + self + } + #[inline] + pub fn dst_premultiplied(mut self, value: bool) -> Self { + self.inner.dst_premultiplied = value as u32; + self + } + #[inline] + pub fn blend_overlap(mut self, value: BlendOverlapEXT) -> Self { + self.inner.blend_overlap = value; + self + } + #[inline] + pub fn clamp_results(mut self, value: bool) -> Self { + self.inner.clamp_results = value as u32; + self + } +} +impl core::ops::Deref for ColorBlendAdvancedEXTBuilder { + type Target = ColorBlendAdvancedEXT; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for ColorBlendAdvancedEXTBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`RenderPassTransformBeginInfoQCOM`] with lifetime-tied pNext safety. pub struct RenderPassTransformBeginInfoQCOMBuilder<'a> { inner: RenderPassTransformBeginInfoQCOM, @@ -36200,6 +43308,52 @@ for PhysicalDevicePartitionedAccelerationStructurePropertiesNVBuilder<'a> { &mut self.inner } } +///Builder for [`BuildPartitionedAccelerationStructureIndirectCommandNV`]. +pub struct BuildPartitionedAccelerationStructureIndirectCommandNVBuilder { + inner: BuildPartitionedAccelerationStructureIndirectCommandNV, +} +impl BuildPartitionedAccelerationStructureIndirectCommandNV { + /// Start building this struct. + #[inline] + pub fn builder() -> BuildPartitionedAccelerationStructureIndirectCommandNVBuilder { + BuildPartitionedAccelerationStructureIndirectCommandNVBuilder { + inner: BuildPartitionedAccelerationStructureIndirectCommandNV { + ..Default::default() + }, + } + } +} +impl BuildPartitionedAccelerationStructureIndirectCommandNVBuilder { + #[inline] + pub fn op_type(mut self, value: PartitionedAccelerationStructureOpTypeNV) -> Self { + self.inner.op_type = value; + self + } + #[inline] + pub fn arg_count(mut self, value: u32) -> Self { + self.inner.arg_count = value; + self + } + #[inline] + pub fn arg_data(mut self, value: StridedDeviceAddressNV) -> Self { + self.inner.arg_data = value; + self + } +} +impl core::ops::Deref for BuildPartitionedAccelerationStructureIndirectCommandNVBuilder { + type Target = BuildPartitionedAccelerationStructureIndirectCommandNV; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut +for BuildPartitionedAccelerationStructureIndirectCommandNVBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`PartitionedAccelerationStructureFlagsNV`] with lifetime-tied pNext safety. pub struct PartitionedAccelerationStructureFlagsNVBuilder<'a> { inner: PartitionedAccelerationStructureFlagsNV, @@ -36253,6 +43407,172 @@ impl<'a> core::ops::DerefMut for PartitionedAccelerationStructureFlagsNVBuilder< &mut self.inner } } +///Builder for [`PartitionedAccelerationStructureWriteInstanceDataNV`]. +pub struct PartitionedAccelerationStructureWriteInstanceDataNVBuilder { + inner: PartitionedAccelerationStructureWriteInstanceDataNV, +} +impl PartitionedAccelerationStructureWriteInstanceDataNV { + /// Start building this struct. + #[inline] + pub fn builder() -> PartitionedAccelerationStructureWriteInstanceDataNVBuilder { + PartitionedAccelerationStructureWriteInstanceDataNVBuilder { + inner: PartitionedAccelerationStructureWriteInstanceDataNV { + ..Default::default() + }, + } + } +} +impl PartitionedAccelerationStructureWriteInstanceDataNVBuilder { + #[inline] + pub fn transform(mut self, value: TransformMatrixKHR) -> Self { + self.inner.transform = value; + self + } + #[inline] + pub fn explicit_aabb(mut self, value: [f32; 6usize]) -> Self { + self.inner.explicit_aabb = value; + self + } + #[inline] + pub fn instance_id(mut self, value: u32) -> Self { + self.inner.instance_id = value; + self + } + #[inline] + pub fn instance_mask(mut self, value: u32) -> Self { + self.inner.instance_mask = value; + self + } + #[inline] + pub fn instance_contribution_to_hit_group_index(mut self, value: u32) -> Self { + self.inner.instance_contribution_to_hit_group_index = value; + self + } + #[inline] + pub fn instance_flags( + mut self, + value: PartitionedAccelerationStructureInstanceFlagsNV, + ) -> Self { + self.inner.instance_flags = value; + self + } + #[inline] + pub fn instance_index(mut self, value: u32) -> Self { + self.inner.instance_index = value; + self + } + #[inline] + pub fn partition_index(mut self, value: u32) -> Self { + self.inner.partition_index = value; + self + } + #[inline] + pub fn acceleration_structure(mut self, value: u64) -> Self { + self.inner.acceleration_structure = value; + self + } +} +impl core::ops::Deref for PartitionedAccelerationStructureWriteInstanceDataNVBuilder { + type Target = PartitionedAccelerationStructureWriteInstanceDataNV; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for PartitionedAccelerationStructureWriteInstanceDataNVBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`PartitionedAccelerationStructureUpdateInstanceDataNV`]. +pub struct PartitionedAccelerationStructureUpdateInstanceDataNVBuilder { + inner: PartitionedAccelerationStructureUpdateInstanceDataNV, +} +impl PartitionedAccelerationStructureUpdateInstanceDataNV { + /// Start building this struct. + #[inline] + pub fn builder() -> PartitionedAccelerationStructureUpdateInstanceDataNVBuilder { + PartitionedAccelerationStructureUpdateInstanceDataNVBuilder { + inner: PartitionedAccelerationStructureUpdateInstanceDataNV { + ..Default::default() + }, + } + } +} +impl PartitionedAccelerationStructureUpdateInstanceDataNVBuilder { + #[inline] + pub fn instance_index(mut self, value: u32) -> Self { + self.inner.instance_index = value; + self + } + #[inline] + pub fn instance_contribution_to_hit_group_index(mut self, value: u32) -> Self { + self.inner.instance_contribution_to_hit_group_index = value; + self + } + #[inline] + pub fn acceleration_structure(mut self, value: u64) -> Self { + self.inner.acceleration_structure = value; + self + } +} +impl core::ops::Deref for PartitionedAccelerationStructureUpdateInstanceDataNVBuilder { + type Target = PartitionedAccelerationStructureUpdateInstanceDataNV; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut +for PartitionedAccelerationStructureUpdateInstanceDataNVBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`PartitionedAccelerationStructureWritePartitionTranslationDataNV`]. +pub struct PartitionedAccelerationStructureWritePartitionTranslationDataNVBuilder { + inner: PartitionedAccelerationStructureWritePartitionTranslationDataNV, +} +impl PartitionedAccelerationStructureWritePartitionTranslationDataNV { + /// Start building this struct. + #[inline] + pub fn builder() -> PartitionedAccelerationStructureWritePartitionTranslationDataNVBuilder { + PartitionedAccelerationStructureWritePartitionTranslationDataNVBuilder { + inner: PartitionedAccelerationStructureWritePartitionTranslationDataNV { + ..Default::default() + }, + } + } +} +impl PartitionedAccelerationStructureWritePartitionTranslationDataNVBuilder { + #[inline] + pub fn partition_index(mut self, value: u32) -> Self { + self.inner.partition_index = value; + self + } + #[inline] + pub fn partition_translation(mut self, value: [f32; 3usize]) -> Self { + self.inner.partition_translation = value; + self + } +} +impl core::ops::Deref +for PartitionedAccelerationStructureWritePartitionTranslationDataNVBuilder { + type Target = PartitionedAccelerationStructureWritePartitionTranslationDataNV; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut +for PartitionedAccelerationStructureWritePartitionTranslationDataNVBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`WriteDescriptorSetPartitionedAccelerationStructureNV`] with lifetime-tied pNext safety. pub struct WriteDescriptorSetPartitionedAccelerationStructureNVBuilder<'a> { inner: WriteDescriptorSetPartitionedAccelerationStructureNV, @@ -36274,6 +43594,11 @@ impl WriteDescriptorSetPartitionedAccelerationStructureNV { } } impl<'a> WriteDescriptorSetPartitionedAccelerationStructureNVBuilder<'a> { + #[inline] + pub fn acceleration_structure_count(mut self, value: u32) -> Self { + self.inner.acceleration_structure_count = value; + self + } #[inline] pub fn acceleration_structures(mut self, slice: &'a [u64]) -> Self { self.inner.acceleration_structure_count = slice.len() as u32; @@ -38210,7 +45535,7 @@ impl FragmentShadingRateAttachmentInfoKHR { } impl<'a> FragmentShadingRateAttachmentInfoKHRBuilder<'a> { #[inline] - pub fn p_fragment_shading_rate_attachment( + pub fn fragment_shading_rate_attachment( mut self, value: &'a AttachmentReference2, ) -> Self { @@ -39173,6 +46498,44 @@ for PhysicalDeviceMutableDescriptorTypeFeaturesEXTBuilder<'a> { &mut self.inner } } +///Builder for [`MutableDescriptorTypeListEXT`]. +pub struct MutableDescriptorTypeListEXTBuilder<'a> { + inner: MutableDescriptorTypeListEXT, + _marker: core::marker::PhantomData<&'a ()>, +} +impl MutableDescriptorTypeListEXT { + /// Start building this struct. + #[inline] + pub fn builder<'a>() -> MutableDescriptorTypeListEXTBuilder<'a> { + MutableDescriptorTypeListEXTBuilder { + inner: MutableDescriptorTypeListEXT { + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> MutableDescriptorTypeListEXTBuilder<'a> { + #[inline] + pub fn descriptor_types(mut self, slice: &'a [DescriptorType]) -> Self { + self.inner.descriptor_type_count = slice.len() as u32; + self.inner.p_descriptor_types = slice.as_ptr(); + self + } +} +impl<'a> core::ops::Deref for MutableDescriptorTypeListEXTBuilder<'a> { + type Target = MutableDescriptorTypeListEXT; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> core::ops::DerefMut for MutableDescriptorTypeListEXTBuilder<'a> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`MutableDescriptorTypeCreateInfoEXT`] with lifetime-tied pNext safety. pub struct MutableDescriptorTypeCreateInfoEXTBuilder<'a> { inner: MutableDescriptorTypeCreateInfoEXT, @@ -39934,6 +47297,11 @@ impl IndirectExecutionSetShaderLayoutInfoEXT { } } impl<'a> IndirectExecutionSetShaderLayoutInfoEXTBuilder<'a> { + #[inline] + pub fn set_layout_count(mut self, value: u32) -> Self { + self.inner.set_layout_count = value; + self + } #[inline] pub fn set_layouts(mut self, slice: &'a [DescriptorSetLayout]) -> Self { self.inner.set_layout_count = slice.len() as u32; @@ -40452,6 +47820,286 @@ impl<'a> core::ops::DerefMut for IndirectCommandsLayoutTokenEXTBuilder<'a> { &mut self.inner } } +///Builder for [`DrawIndirectCountIndirectCommandEXT`]. +pub struct DrawIndirectCountIndirectCommandEXTBuilder { + inner: DrawIndirectCountIndirectCommandEXT, +} +impl DrawIndirectCountIndirectCommandEXT { + /// Start building this struct. + #[inline] + pub fn builder() -> DrawIndirectCountIndirectCommandEXTBuilder { + DrawIndirectCountIndirectCommandEXTBuilder { + inner: DrawIndirectCountIndirectCommandEXT { + ..Default::default() + }, + } + } +} +impl DrawIndirectCountIndirectCommandEXTBuilder { + #[inline] + pub fn buffer_address(mut self, value: u64) -> Self { + self.inner.buffer_address = value; + self + } + #[inline] + pub fn stride(mut self, value: u32) -> Self { + self.inner.stride = value; + self + } + #[inline] + pub fn command_count(mut self, value: u32) -> Self { + self.inner.command_count = value; + self + } +} +impl core::ops::Deref for DrawIndirectCountIndirectCommandEXTBuilder { + type Target = DrawIndirectCountIndirectCommandEXT; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for DrawIndirectCountIndirectCommandEXTBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`IndirectCommandsVertexBufferTokenEXT`]. +pub struct IndirectCommandsVertexBufferTokenEXTBuilder { + inner: IndirectCommandsVertexBufferTokenEXT, +} +impl IndirectCommandsVertexBufferTokenEXT { + /// Start building this struct. + #[inline] + pub fn builder() -> IndirectCommandsVertexBufferTokenEXTBuilder { + IndirectCommandsVertexBufferTokenEXTBuilder { + inner: IndirectCommandsVertexBufferTokenEXT { + ..Default::default() + }, + } + } +} +impl IndirectCommandsVertexBufferTokenEXTBuilder { + #[inline] + pub fn vertex_binding_unit(mut self, value: u32) -> Self { + self.inner.vertex_binding_unit = value; + self + } +} +impl core::ops::Deref for IndirectCommandsVertexBufferTokenEXTBuilder { + type Target = IndirectCommandsVertexBufferTokenEXT; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for IndirectCommandsVertexBufferTokenEXTBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`BindVertexBufferIndirectCommandEXT`]. +pub struct BindVertexBufferIndirectCommandEXTBuilder { + inner: BindVertexBufferIndirectCommandEXT, +} +impl BindVertexBufferIndirectCommandEXT { + /// Start building this struct. + #[inline] + pub fn builder() -> BindVertexBufferIndirectCommandEXTBuilder { + BindVertexBufferIndirectCommandEXTBuilder { + inner: BindVertexBufferIndirectCommandEXT { + ..Default::default() + }, + } + } +} +impl BindVertexBufferIndirectCommandEXTBuilder { + #[inline] + pub fn buffer_address(mut self, value: u64) -> Self { + self.inner.buffer_address = value; + self + } + #[inline] + pub fn size(mut self, value: u32) -> Self { + self.inner.size = value; + self + } + #[inline] + pub fn stride(mut self, value: u32) -> Self { + self.inner.stride = value; + self + } +} +impl core::ops::Deref for BindVertexBufferIndirectCommandEXTBuilder { + type Target = BindVertexBufferIndirectCommandEXT; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for BindVertexBufferIndirectCommandEXTBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`IndirectCommandsIndexBufferTokenEXT`]. +pub struct IndirectCommandsIndexBufferTokenEXTBuilder { + inner: IndirectCommandsIndexBufferTokenEXT, +} +impl IndirectCommandsIndexBufferTokenEXT { + /// Start building this struct. + #[inline] + pub fn builder() -> IndirectCommandsIndexBufferTokenEXTBuilder { + IndirectCommandsIndexBufferTokenEXTBuilder { + inner: IndirectCommandsIndexBufferTokenEXT { + ..Default::default() + }, + } + } +} +impl IndirectCommandsIndexBufferTokenEXTBuilder { + #[inline] + pub fn mode(mut self, value: IndirectCommandsInputModeFlagBitsEXT) -> Self { + self.inner.mode = value; + self + } +} +impl core::ops::Deref for IndirectCommandsIndexBufferTokenEXTBuilder { + type Target = IndirectCommandsIndexBufferTokenEXT; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for IndirectCommandsIndexBufferTokenEXTBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`BindIndexBufferIndirectCommandEXT`]. +pub struct BindIndexBufferIndirectCommandEXTBuilder { + inner: BindIndexBufferIndirectCommandEXT, +} +impl BindIndexBufferIndirectCommandEXT { + /// Start building this struct. + #[inline] + pub fn builder() -> BindIndexBufferIndirectCommandEXTBuilder { + BindIndexBufferIndirectCommandEXTBuilder { + inner: BindIndexBufferIndirectCommandEXT { + ..Default::default() + }, + } + } +} +impl BindIndexBufferIndirectCommandEXTBuilder { + #[inline] + pub fn buffer_address(mut self, value: u64) -> Self { + self.inner.buffer_address = value; + self + } + #[inline] + pub fn size(mut self, value: u32) -> Self { + self.inner.size = value; + self + } + #[inline] + pub fn index_type(mut self, value: IndexType) -> Self { + self.inner.index_type = value; + self + } +} +impl core::ops::Deref for BindIndexBufferIndirectCommandEXTBuilder { + type Target = BindIndexBufferIndirectCommandEXT; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for BindIndexBufferIndirectCommandEXTBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`IndirectCommandsPushConstantTokenEXT`]. +pub struct IndirectCommandsPushConstantTokenEXTBuilder { + inner: IndirectCommandsPushConstantTokenEXT, +} +impl IndirectCommandsPushConstantTokenEXT { + /// Start building this struct. + #[inline] + pub fn builder() -> IndirectCommandsPushConstantTokenEXTBuilder { + IndirectCommandsPushConstantTokenEXTBuilder { + inner: IndirectCommandsPushConstantTokenEXT { + ..Default::default() + }, + } + } +} +impl IndirectCommandsPushConstantTokenEXTBuilder { + #[inline] + pub fn update_range(mut self, value: PushConstantRange) -> Self { + self.inner.update_range = value; + self + } +} +impl core::ops::Deref for IndirectCommandsPushConstantTokenEXTBuilder { + type Target = IndirectCommandsPushConstantTokenEXT; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for IndirectCommandsPushConstantTokenEXTBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`IndirectCommandsExecutionSetTokenEXT`]. +pub struct IndirectCommandsExecutionSetTokenEXTBuilder { + inner: IndirectCommandsExecutionSetTokenEXT, +} +impl IndirectCommandsExecutionSetTokenEXT { + /// Start building this struct. + #[inline] + pub fn builder() -> IndirectCommandsExecutionSetTokenEXTBuilder { + IndirectCommandsExecutionSetTokenEXTBuilder { + inner: IndirectCommandsExecutionSetTokenEXT { + ..Default::default() + }, + } + } +} +impl IndirectCommandsExecutionSetTokenEXTBuilder { + #[inline] + pub fn r#type(mut self, value: IndirectExecutionSetInfoTypeEXT) -> Self { + self.inner.r#type = value; + self + } + #[inline] + pub fn shader_stages(mut self, value: ShaderStageFlags) -> Self { + self.inner.shader_stages = value; + self + } +} +impl core::ops::Deref for IndirectCommandsExecutionSetTokenEXTBuilder { + type Target = IndirectCommandsExecutionSetTokenEXT; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for IndirectCommandsExecutionSetTokenEXTBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`PipelineViewportDepthClipControlCreateInfoEXT`] with lifetime-tied pNext safety. pub struct PipelineViewportDepthClipControlCreateInfoEXTBuilder<'a> { inner: PipelineViewportDepthClipControlCreateInfoEXT, @@ -40584,7 +48232,7 @@ impl<'a> PipelineViewportDepthClampControlCreateInfoEXTBuilder<'a> { self } #[inline] - pub fn p_depth_clamp_range(mut self, value: &'a DepthClampRangeEXT) -> Self { + pub fn depth_clamp_range(mut self, value: &'a DepthClampRangeEXT) -> Self { self.inner.p_depth_clamp_range = value; self } @@ -41658,7 +49306,7 @@ impl<'a> CheckpointData2NVBuilder<'a> { self } #[inline] - pub fn p_checkpoint_marker(mut self, value: *mut core::ffi::c_void) -> Self { + pub fn checkpoint_marker(mut self, value: *mut core::ffi::c_void) -> Self { self.inner.p_checkpoint_marker = value; self } @@ -41860,6 +49508,11 @@ impl PhysicalDeviceHostImageCopyProperties { } } impl<'a> PhysicalDeviceHostImageCopyPropertiesBuilder<'a> { + #[inline] + pub fn copy_src_layout_count(mut self, value: u32) -> Self { + self.inner.copy_src_layout_count = value; + self + } #[inline] pub fn copy_src_layouts(mut self, slice: &'a mut [ImageLayout]) -> Self { self.inner.copy_src_layout_count = slice.len() as u32; @@ -41867,6 +49520,11 @@ impl<'a> PhysicalDeviceHostImageCopyPropertiesBuilder<'a> { self } #[inline] + pub fn copy_dst_layout_count(mut self, value: u32) -> Self { + self.inner.copy_dst_layout_count = value; + self + } + #[inline] pub fn copy_dst_layouts(mut self, slice: &'a mut [ImageLayout]) -> Self { self.inner.copy_dst_layout_count = slice.len() as u32; self.inner.p_copy_dst_layouts = slice.as_mut_ptr(); @@ -41934,7 +49592,7 @@ impl MemoryToImageCopy { } impl<'a> MemoryToImageCopyBuilder<'a> { #[inline] - pub fn p_host_pointer(mut self, value: *const core::ffi::c_void) -> Self { + pub fn host_pointer(mut self, value: *const core::ffi::c_void) -> Self { self.inner.p_host_pointer = value; self } @@ -42009,7 +49667,7 @@ impl ImageToMemoryCopy { } impl<'a> ImageToMemoryCopyBuilder<'a> { #[inline] - pub fn p_host_pointer(mut self, value: *mut core::ffi::c_void) -> Self { + pub fn host_pointer(mut self, value: *mut core::ffi::c_void) -> Self { self.inner.p_host_pointer = value; self } @@ -44345,7 +52003,7 @@ impl<'a> VideoReferenceSlotInfoKHRBuilder<'a> { self } #[inline] - pub fn p_picture_resource(mut self, value: &'a VideoPictureResourceInfoKHR) -> Self { + pub fn picture_resource(mut self, value: &'a VideoPictureResourceInfoKHR) -> Self { self.inner.p_picture_resource = value; self } @@ -44514,10 +52172,7 @@ impl<'a> VideoDecodeInfoKHRBuilder<'a> { self } #[inline] - pub fn p_setup_reference_slot( - mut self, - value: &'a VideoReferenceSlotInfoKHR, - ) -> Self { + pub fn setup_reference_slot(mut self, value: &'a VideoReferenceSlotInfoKHR) -> Self { self.inner.p_setup_reference_slot = value; self } @@ -44916,7 +52571,7 @@ impl<'a> VideoDecodeH264SessionParametersCreateInfoKHRBuilder<'a> { self } #[inline] - pub fn p_parameters_add_info( + pub fn parameters_add_info( mut self, value: &'a VideoDecodeH264SessionParametersAddInfoKHR, ) -> Self { @@ -44973,12 +52628,12 @@ impl VideoDecodeH264InlineSessionParametersInfoKHR { } impl<'a> VideoDecodeH264InlineSessionParametersInfoKHRBuilder<'a> { #[inline] - pub fn p_std_sps(mut self, value: *const StdVideoH264SequenceParameterSet) -> Self { + pub fn std_sps(mut self, value: *const StdVideoH264SequenceParameterSet) -> Self { self.inner.p_std_sps = value; self } #[inline] - pub fn p_std_pps(mut self, value: *const StdVideoH264PictureParameterSet) -> Self { + pub fn std_pps(mut self, value: *const StdVideoH264PictureParameterSet) -> Self { self.inner.p_std_pps = value; self } @@ -45032,7 +52687,7 @@ impl VideoDecodeH264PictureInfoKHR { } impl<'a> VideoDecodeH264PictureInfoKHRBuilder<'a> { #[inline] - pub fn p_std_picture_info( + pub fn std_picture_info( mut self, value: *const StdVideoDecodeH264PictureInfo, ) -> Self { @@ -45094,7 +52749,7 @@ impl VideoDecodeH264DpbSlotInfoKHR { } impl<'a> VideoDecodeH264DpbSlotInfoKHRBuilder<'a> { #[inline] - pub fn p_std_reference_info( + pub fn std_reference_info( mut self, value: *const StdVideoDecodeH264ReferenceInfo, ) -> Self { @@ -45322,7 +52977,7 @@ impl<'a> VideoDecodeH265SessionParametersCreateInfoKHRBuilder<'a> { self } #[inline] - pub fn p_parameters_add_info( + pub fn parameters_add_info( mut self, value: &'a VideoDecodeH265SessionParametersAddInfoKHR, ) -> Self { @@ -45379,17 +53034,17 @@ impl VideoDecodeH265InlineSessionParametersInfoKHR { } impl<'a> VideoDecodeH265InlineSessionParametersInfoKHRBuilder<'a> { #[inline] - pub fn p_std_vps(mut self, value: *const StdVideoH265VideoParameterSet) -> Self { + pub fn std_vps(mut self, value: *const StdVideoH265VideoParameterSet) -> Self { self.inner.p_std_vps = value; self } #[inline] - pub fn p_std_sps(mut self, value: *const StdVideoH265SequenceParameterSet) -> Self { + pub fn std_sps(mut self, value: *const StdVideoH265SequenceParameterSet) -> Self { self.inner.p_std_sps = value; self } #[inline] - pub fn p_std_pps(mut self, value: *const StdVideoH265PictureParameterSet) -> Self { + pub fn std_pps(mut self, value: *const StdVideoH265PictureParameterSet) -> Self { self.inner.p_std_pps = value; self } @@ -45443,7 +53098,7 @@ impl VideoDecodeH265PictureInfoKHR { } impl<'a> VideoDecodeH265PictureInfoKHRBuilder<'a> { #[inline] - pub fn p_std_picture_info( + pub fn std_picture_info( mut self, value: *const StdVideoDecodeH265PictureInfo, ) -> Self { @@ -45505,7 +53160,7 @@ impl VideoDecodeH265DpbSlotInfoKHR { } impl<'a> VideoDecodeH265DpbSlotInfoKHRBuilder<'a> { #[inline] - pub fn p_std_reference_info( + pub fn std_reference_info( mut self, value: *const StdVideoDecodeH265ReferenceInfo, ) -> Self { @@ -45705,7 +53360,7 @@ impl VideoDecodeVP9PictureInfoKHR { } impl<'a> VideoDecodeVP9PictureInfoKHRBuilder<'a> { #[inline] - pub fn p_std_picture_info( + pub fn std_picture_info( mut self, value: *const StdVideoDecodeVP9PictureInfo, ) -> Self { @@ -45880,7 +53535,7 @@ impl VideoDecodeAV1SessionParametersCreateInfoKHR { } impl<'a> VideoDecodeAV1SessionParametersCreateInfoKHRBuilder<'a> { #[inline] - pub fn p_std_sequence_header( + pub fn std_sequence_header( mut self, value: *const StdVideoAV1SequenceHeader, ) -> Self { @@ -45937,7 +53592,7 @@ impl VideoDecodeAV1InlineSessionParametersInfoKHR { } impl<'a> VideoDecodeAV1InlineSessionParametersInfoKHRBuilder<'a> { #[inline] - pub fn p_std_sequence_header( + pub fn std_sequence_header( mut self, value: *const StdVideoAV1SequenceHeader, ) -> Self { @@ -45994,7 +53649,7 @@ impl VideoDecodeAV1PictureInfoKHR { } impl<'a> VideoDecodeAV1PictureInfoKHRBuilder<'a> { #[inline] - pub fn p_std_picture_info( + pub fn std_picture_info( mut self, value: *const StdVideoDecodeAV1PictureInfo, ) -> Self { @@ -46075,7 +53730,7 @@ impl VideoDecodeAV1DpbSlotInfoKHR { } impl<'a> VideoDecodeAV1DpbSlotInfoKHRBuilder<'a> { #[inline] - pub fn p_std_reference_info( + pub fn std_reference_info( mut self, value: *const StdVideoDecodeAV1ReferenceInfo, ) -> Self { @@ -46141,7 +53796,7 @@ impl<'a> VideoSessionCreateInfoKHRBuilder<'a> { self } #[inline] - pub fn p_video_profile(mut self, value: &'a VideoProfileInfoKHR) -> Self { + pub fn video_profile(mut self, value: &'a VideoProfileInfoKHR) -> Self { self.inner.p_video_profile = value; self } @@ -46171,7 +53826,7 @@ impl<'a> VideoSessionCreateInfoKHRBuilder<'a> { self } #[inline] - pub fn p_std_header_version(mut self, value: &'a ExtensionProperties) -> Self { + pub fn std_header_version(mut self, value: &'a ExtensionProperties) -> Self { self.inner.p_std_header_version = value; self } @@ -46697,10 +54352,7 @@ impl<'a> VideoEncodeInfoKHRBuilder<'a> { self } #[inline] - pub fn p_setup_reference_slot( - mut self, - value: &'a VideoReferenceSlotInfoKHR, - ) -> Self { + pub fn setup_reference_slot(mut self, value: &'a VideoReferenceSlotInfoKHR) -> Self { self.inner.p_setup_reference_slot = value; self } @@ -47039,7 +54691,7 @@ impl PhysicalDeviceVideoEncodeQualityLevelInfoKHR { } impl<'a> PhysicalDeviceVideoEncodeQualityLevelInfoKHRBuilder<'a> { #[inline] - pub fn p_video_profile(mut self, value: &'a VideoProfileInfoKHR) -> Self { + pub fn video_profile(mut self, value: &'a VideoProfileInfoKHR) -> Self { self.inner.p_video_profile = value; self } @@ -47599,6 +55251,11 @@ impl VideoEncodeH264SessionParametersAddInfoKHR { } } impl<'a> VideoEncodeH264SessionParametersAddInfoKHRBuilder<'a> { + #[inline] + pub fn std_sps_count(mut self, value: u32) -> Self { + self.inner.std_sps_count = value; + self + } #[inline] pub fn std_sp_ss(mut self, slice: &'a [StdVideoH264SequenceParameterSet]) -> Self { self.inner.std_sps_count = slice.len() as u32; @@ -47606,6 +55263,11 @@ impl<'a> VideoEncodeH264SessionParametersAddInfoKHRBuilder<'a> { self } #[inline] + pub fn std_pps_count(mut self, value: u32) -> Self { + self.inner.std_pps_count = value; + self + } + #[inline] pub fn std_pp_ss(mut self, slice: &'a [StdVideoH264PictureParameterSet]) -> Self { self.inner.std_pps_count = slice.len() as u32; self.inner.p_std_pp_ss = slice.as_ptr(); @@ -47670,7 +55332,7 @@ impl<'a> VideoEncodeH264SessionParametersCreateInfoKHRBuilder<'a> { self } #[inline] - pub fn p_parameters_add_info( + pub fn parameters_add_info( mut self, value: &'a VideoEncodeH264SessionParametersAddInfoKHR, ) -> Self { @@ -47840,7 +55502,7 @@ impl VideoEncodeH264DpbSlotInfoKHR { } impl<'a> VideoEncodeH264DpbSlotInfoKHRBuilder<'a> { #[inline] - pub fn p_std_reference_info( + pub fn std_reference_info( mut self, value: *const StdVideoEncodeH264ReferenceInfo, ) -> Self { @@ -47905,7 +55567,7 @@ impl<'a> VideoEncodeH264PictureInfoKHRBuilder<'a> { self } #[inline] - pub fn p_std_picture_info( + pub fn std_picture_info( mut self, value: *const StdVideoEncodeH264PictureInfo, ) -> Self { @@ -48024,7 +55686,7 @@ impl<'a> VideoEncodeH264NaluSliceInfoKHRBuilder<'a> { self } #[inline] - pub fn p_std_slice_header( + pub fn std_slice_header( mut self, value: *const StdVideoEncodeH264SliceHeader, ) -> Self { @@ -48133,6 +55795,96 @@ impl<'a> core::ops::DerefMut for VideoEncodeH264RateControlInfoKHRBuilder<'a> { &mut self.inner } } +///Builder for [`VideoEncodeH264QpKHR`]. +pub struct VideoEncodeH264QpKHRBuilder { + inner: VideoEncodeH264QpKHR, +} +impl VideoEncodeH264QpKHR { + /// Start building this struct. + #[inline] + pub fn builder() -> VideoEncodeH264QpKHRBuilder { + VideoEncodeH264QpKHRBuilder { + inner: VideoEncodeH264QpKHR { + ..Default::default() + }, + } + } +} +impl VideoEncodeH264QpKHRBuilder { + #[inline] + pub fn qp_i(mut self, value: i32) -> Self { + self.inner.qp_i = value; + self + } + #[inline] + pub fn qp_p(mut self, value: i32) -> Self { + self.inner.qp_p = value; + self + } + #[inline] + pub fn qp_b(mut self, value: i32) -> Self { + self.inner.qp_b = value; + self + } +} +impl core::ops::Deref for VideoEncodeH264QpKHRBuilder { + type Target = VideoEncodeH264QpKHR; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for VideoEncodeH264QpKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`VideoEncodeH264FrameSizeKHR`]. +pub struct VideoEncodeH264FrameSizeKHRBuilder { + inner: VideoEncodeH264FrameSizeKHR, +} +impl VideoEncodeH264FrameSizeKHR { + /// Start building this struct. + #[inline] + pub fn builder() -> VideoEncodeH264FrameSizeKHRBuilder { + VideoEncodeH264FrameSizeKHRBuilder { + inner: VideoEncodeH264FrameSizeKHR { + ..Default::default() + }, + } + } +} +impl VideoEncodeH264FrameSizeKHRBuilder { + #[inline] + pub fn frame_i_size(mut self, value: u32) -> Self { + self.inner.frame_i_size = value; + self + } + #[inline] + pub fn frame_p_size(mut self, value: u32) -> Self { + self.inner.frame_p_size = value; + self + } + #[inline] + pub fn frame_b_size(mut self, value: u32) -> Self { + self.inner.frame_b_size = value; + self + } +} +impl core::ops::Deref for VideoEncodeH264FrameSizeKHRBuilder { + type Target = VideoEncodeH264FrameSizeKHR; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for VideoEncodeH264FrameSizeKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`VideoEncodeH264GopRemainingFrameInfoKHR`] with lifetime-tied pNext safety. pub struct VideoEncodeH264GopRemainingFrameInfoKHRBuilder<'a> { inner: VideoEncodeH264GopRemainingFrameInfoKHR, @@ -48548,6 +56300,11 @@ impl VideoEncodeH265SessionParametersAddInfoKHR { } } impl<'a> VideoEncodeH265SessionParametersAddInfoKHRBuilder<'a> { + #[inline] + pub fn std_vps_count(mut self, value: u32) -> Self { + self.inner.std_vps_count = value; + self + } #[inline] pub fn std_vp_ss(mut self, slice: &'a [StdVideoH265VideoParameterSet]) -> Self { self.inner.std_vps_count = slice.len() as u32; @@ -48555,12 +56312,22 @@ impl<'a> VideoEncodeH265SessionParametersAddInfoKHRBuilder<'a> { self } #[inline] + pub fn std_sps_count(mut self, value: u32) -> Self { + self.inner.std_sps_count = value; + self + } + #[inline] pub fn std_sp_ss(mut self, slice: &'a [StdVideoH265SequenceParameterSet]) -> Self { self.inner.std_sps_count = slice.len() as u32; self.inner.p_std_sp_ss = slice.as_ptr(); self } #[inline] + pub fn std_pps_count(mut self, value: u32) -> Self { + self.inner.std_pps_count = value; + self + } + #[inline] pub fn std_pp_ss(mut self, slice: &'a [StdVideoH265PictureParameterSet]) -> Self { self.inner.std_pps_count = slice.len() as u32; self.inner.p_std_pp_ss = slice.as_ptr(); @@ -48630,7 +56397,7 @@ impl<'a> VideoEncodeH265SessionParametersCreateInfoKHRBuilder<'a> { self } #[inline] - pub fn p_parameters_add_info( + pub fn parameters_add_info( mut self, value: &'a VideoEncodeH265SessionParametersAddInfoKHR, ) -> Self { @@ -48824,7 +56591,7 @@ impl<'a> VideoEncodeH265PictureInfoKHRBuilder<'a> { self } #[inline] - pub fn p_std_picture_info( + pub fn std_picture_info( mut self, value: *const StdVideoEncodeH265PictureInfo, ) -> Self { @@ -48885,7 +56652,7 @@ impl<'a> VideoEncodeH265NaluSliceSegmentInfoKHRBuilder<'a> { self } #[inline] - pub fn p_std_slice_segment_header( + pub fn std_slice_segment_header( mut self, value: *const StdVideoEncodeH265SliceSegmentHeader, ) -> Self { @@ -48994,6 +56761,96 @@ impl<'a> core::ops::DerefMut for VideoEncodeH265RateControlInfoKHRBuilder<'a> { &mut self.inner } } +///Builder for [`VideoEncodeH265QpKHR`]. +pub struct VideoEncodeH265QpKHRBuilder { + inner: VideoEncodeH265QpKHR, +} +impl VideoEncodeH265QpKHR { + /// Start building this struct. + #[inline] + pub fn builder() -> VideoEncodeH265QpKHRBuilder { + VideoEncodeH265QpKHRBuilder { + inner: VideoEncodeH265QpKHR { + ..Default::default() + }, + } + } +} +impl VideoEncodeH265QpKHRBuilder { + #[inline] + pub fn qp_i(mut self, value: i32) -> Self { + self.inner.qp_i = value; + self + } + #[inline] + pub fn qp_p(mut self, value: i32) -> Self { + self.inner.qp_p = value; + self + } + #[inline] + pub fn qp_b(mut self, value: i32) -> Self { + self.inner.qp_b = value; + self + } +} +impl core::ops::Deref for VideoEncodeH265QpKHRBuilder { + type Target = VideoEncodeH265QpKHR; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for VideoEncodeH265QpKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`VideoEncodeH265FrameSizeKHR`]. +pub struct VideoEncodeH265FrameSizeKHRBuilder { + inner: VideoEncodeH265FrameSizeKHR, +} +impl VideoEncodeH265FrameSizeKHR { + /// Start building this struct. + #[inline] + pub fn builder() -> VideoEncodeH265FrameSizeKHRBuilder { + VideoEncodeH265FrameSizeKHRBuilder { + inner: VideoEncodeH265FrameSizeKHR { + ..Default::default() + }, + } + } +} +impl VideoEncodeH265FrameSizeKHRBuilder { + #[inline] + pub fn frame_i_size(mut self, value: u32) -> Self { + self.inner.frame_i_size = value; + self + } + #[inline] + pub fn frame_p_size(mut self, value: u32) -> Self { + self.inner.frame_p_size = value; + self + } + #[inline] + pub fn frame_b_size(mut self, value: u32) -> Self { + self.inner.frame_b_size = value; + self + } +} +impl core::ops::Deref for VideoEncodeH265FrameSizeKHRBuilder { + type Target = VideoEncodeH265FrameSizeKHR; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for VideoEncodeH265FrameSizeKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`VideoEncodeH265GopRemainingFrameInfoKHR`] with lifetime-tied pNext safety. pub struct VideoEncodeH265GopRemainingFrameInfoKHRBuilder<'a> { inner: VideoEncodeH265GopRemainingFrameInfoKHR, @@ -49213,7 +57070,7 @@ impl VideoEncodeH265DpbSlotInfoKHR { } impl<'a> VideoEncodeH265DpbSlotInfoKHRBuilder<'a> { #[inline] - pub fn p_std_reference_info( + pub fn std_reference_info( mut self, value: *const StdVideoEncodeH265ReferenceInfo, ) -> Self { @@ -49677,7 +57534,7 @@ impl VideoEncodeAV1SessionParametersCreateInfoKHR { } impl<'a> VideoEncodeAV1SessionParametersCreateInfoKHRBuilder<'a> { #[inline] - pub fn p_std_sequence_header( + pub fn std_sequence_header( mut self, value: *const StdVideoAV1SequenceHeader, ) -> Self { @@ -49685,7 +57542,7 @@ impl<'a> VideoEncodeAV1SessionParametersCreateInfoKHRBuilder<'a> { self } #[inline] - pub fn p_std_decoder_model_info( + pub fn std_decoder_model_info( mut self, value: *const StdVideoEncodeAV1DecoderModelInfo, ) -> Self { @@ -49693,6 +57550,11 @@ impl<'a> VideoEncodeAV1SessionParametersCreateInfoKHRBuilder<'a> { self } #[inline] + pub fn std_operating_point_count(mut self, value: u32) -> Self { + self.inner.std_operating_point_count = value; + self + } + #[inline] pub fn std_operating_points( mut self, slice: &'a [StdVideoEncodeAV1OperatingPointInfo], @@ -49751,7 +57613,7 @@ impl VideoEncodeAV1DpbSlotInfoKHR { } impl<'a> VideoEncodeAV1DpbSlotInfoKHRBuilder<'a> { #[inline] - pub fn p_std_reference_info( + pub fn std_reference_info( mut self, value: *const StdVideoEncodeAV1ReferenceInfo, ) -> Self { @@ -49825,7 +57687,7 @@ impl<'a> VideoEncodeAV1PictureInfoKHRBuilder<'a> { self } #[inline] - pub fn p_std_picture_info( + pub fn std_picture_info( mut self, value: *const StdVideoEncodeAV1PictureInfo, ) -> Self { @@ -50005,6 +57867,96 @@ impl<'a> core::ops::DerefMut for VideoEncodeAV1RateControlInfoKHRBuilder<'a> { &mut self.inner } } +///Builder for [`VideoEncodeAV1QIndexKHR`]. +pub struct VideoEncodeAV1QIndexKHRBuilder { + inner: VideoEncodeAV1QIndexKHR, +} +impl VideoEncodeAV1QIndexKHR { + /// Start building this struct. + #[inline] + pub fn builder() -> VideoEncodeAV1QIndexKHRBuilder { + VideoEncodeAV1QIndexKHRBuilder { + inner: VideoEncodeAV1QIndexKHR { + ..Default::default() + }, + } + } +} +impl VideoEncodeAV1QIndexKHRBuilder { + #[inline] + pub fn intra_q_index(mut self, value: u32) -> Self { + self.inner.intra_q_index = value; + self + } + #[inline] + pub fn predictive_q_index(mut self, value: u32) -> Self { + self.inner.predictive_q_index = value; + self + } + #[inline] + pub fn bipredictive_q_index(mut self, value: u32) -> Self { + self.inner.bipredictive_q_index = value; + self + } +} +impl core::ops::Deref for VideoEncodeAV1QIndexKHRBuilder { + type Target = VideoEncodeAV1QIndexKHR; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for VideoEncodeAV1QIndexKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`VideoEncodeAV1FrameSizeKHR`]. +pub struct VideoEncodeAV1FrameSizeKHRBuilder { + inner: VideoEncodeAV1FrameSizeKHR, +} +impl VideoEncodeAV1FrameSizeKHR { + /// Start building this struct. + #[inline] + pub fn builder() -> VideoEncodeAV1FrameSizeKHRBuilder { + VideoEncodeAV1FrameSizeKHRBuilder { + inner: VideoEncodeAV1FrameSizeKHR { + ..Default::default() + }, + } + } +} +impl VideoEncodeAV1FrameSizeKHRBuilder { + #[inline] + pub fn intra_frame_size(mut self, value: u32) -> Self { + self.inner.intra_frame_size = value; + self + } + #[inline] + pub fn predictive_frame_size(mut self, value: u32) -> Self { + self.inner.predictive_frame_size = value; + self + } + #[inline] + pub fn bipredictive_frame_size(mut self, value: u32) -> Self { + self.inner.bipredictive_frame_size = value; + self + } +} +impl core::ops::Deref for VideoEncodeAV1FrameSizeKHRBuilder { + type Target = VideoEncodeAV1FrameSizeKHR; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for VideoEncodeAV1FrameSizeKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`VideoEncodeAV1GopRemainingFrameInfoKHR`] with lifetime-tied pNext safety. pub struct VideoEncodeAV1GopRemainingFrameInfoKHRBuilder<'a> { inner: VideoEncodeAV1GopRemainingFrameInfoKHR, @@ -50236,7 +58188,7 @@ impl<'a> CommandBufferInheritanceViewportScissorInfoNVBuilder<'a> { self } #[inline] - pub fn p_viewport_depths(mut self, value: &'a Viewport) -> Self { + pub fn viewport_depths(mut self, value: &'a Viewport) -> Self { self.inner.p_viewport_depths = value; self } @@ -50901,7 +58853,7 @@ impl<'a> CuFunctionCreateInfoNVXBuilder<'a> { self } #[inline] - pub fn p_name(mut self, value: &'a core::ffi::CStr) -> Self { + pub fn name(mut self, value: &'a core::ffi::CStr) -> Self { self.inner.p_name = value.as_ptr(); self } @@ -50999,7 +58951,7 @@ impl<'a> CuLaunchInfoNVXBuilder<'a> { self } #[inline] - pub fn p_params(mut self, value: *const *const core::ffi::c_void) -> Self { + pub fn params(mut self, value: *const *const core::ffi::c_void) -> Self { self.inner.p_params = value; self } @@ -51009,7 +58961,7 @@ impl<'a> CuLaunchInfoNVXBuilder<'a> { self } #[inline] - pub fn p_extras(mut self, value: *const *const core::ffi::c_void) -> Self { + pub fn extras(mut self, value: *const *const core::ffi::c_void) -> Self { self.inner.p_extras = value; self } @@ -52801,6 +60753,159 @@ impl<'a> core::ops::DerefMut for AccelerationStructureMotionInfoNVBuilder<'a> { &mut self.inner } } +///Builder for [`SRTDataNV`]. +pub struct SRTDataNVBuilder { + inner: SRTDataNV, +} +impl SRTDataNV { + /// Start building this struct. + #[inline] + pub fn builder() -> SRTDataNVBuilder { + SRTDataNVBuilder { + inner: SRTDataNV { ..Default::default() }, + } + } +} +impl SRTDataNVBuilder { + #[inline] + pub fn sx(mut self, value: f32) -> Self { + self.inner.sx = value; + self + } + #[inline] + pub fn a(mut self, value: f32) -> Self { + self.inner.a = value; + self + } + #[inline] + pub fn b(mut self, value: f32) -> Self { + self.inner.b = value; + self + } + #[inline] + pub fn pvx(mut self, value: f32) -> Self { + self.inner.pvx = value; + self + } + #[inline] + pub fn sy(mut self, value: f32) -> Self { + self.inner.sy = value; + self + } + #[inline] + pub fn c(mut self, value: f32) -> Self { + self.inner.c = value; + self + } + #[inline] + pub fn pvy(mut self, value: f32) -> Self { + self.inner.pvy = value; + self + } + #[inline] + pub fn sz(mut self, value: f32) -> Self { + self.inner.sz = value; + self + } + #[inline] + pub fn pvz(mut self, value: f32) -> Self { + self.inner.pvz = value; + self + } + #[inline] + pub fn qx(mut self, value: f32) -> Self { + self.inner.qx = value; + self + } + #[inline] + pub fn qy(mut self, value: f32) -> Self { + self.inner.qy = value; + self + } + #[inline] + pub fn qz(mut self, value: f32) -> Self { + self.inner.qz = value; + self + } + #[inline] + pub fn qw(mut self, value: f32) -> Self { + self.inner.qw = value; + self + } + #[inline] + pub fn tx(mut self, value: f32) -> Self { + self.inner.tx = value; + self + } + #[inline] + pub fn ty(mut self, value: f32) -> Self { + self.inner.ty = value; + self + } + #[inline] + pub fn tz(mut self, value: f32) -> Self { + self.inner.tz = value; + self + } +} +impl core::ops::Deref for SRTDataNVBuilder { + type Target = SRTDataNV; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for SRTDataNVBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`AccelerationStructureMotionInstanceNV`]. +pub struct AccelerationStructureMotionInstanceNVBuilder { + inner: AccelerationStructureMotionInstanceNV, +} +impl AccelerationStructureMotionInstanceNV { + /// Start building this struct. + #[inline] + pub fn builder() -> AccelerationStructureMotionInstanceNVBuilder { + AccelerationStructureMotionInstanceNVBuilder { + inner: AccelerationStructureMotionInstanceNV { + ..Default::default() + }, + } + } +} +impl AccelerationStructureMotionInstanceNVBuilder { + #[inline] + pub fn r#type(mut self, value: AccelerationStructureMotionInstanceTypeNV) -> Self { + self.inner.r#type = value; + self + } + #[inline] + pub fn flags(mut self, value: AccelerationStructureMotionInstanceFlagsNV) -> Self { + self.inner.flags = value; + self + } + #[inline] + pub fn data(mut self, value: AccelerationStructureMotionInstanceDataNV) -> Self { + self.inner.data = value; + self + } +} +impl core::ops::Deref for AccelerationStructureMotionInstanceNVBuilder { + type Target = AccelerationStructureMotionInstanceNV; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for AccelerationStructureMotionInstanceNVBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`MemoryGetRemoteAddressInfoNV`] with lifetime-tied pNext safety. pub struct MemoryGetRemoteAddressInfoNVBuilder<'a> { inner: MemoryGetRemoteAddressInfoNV, @@ -53592,7 +61697,7 @@ impl<'a> CudaFunctionCreateInfoNVBuilder<'a> { self } #[inline] - pub fn p_name(mut self, value: &'a core::ffi::CStr) -> Self { + pub fn name(mut self, value: &'a core::ffi::CStr) -> Self { self.inner.p_name = value.as_ptr(); self } @@ -53690,7 +61795,7 @@ impl<'a> CudaLaunchInfoNVBuilder<'a> { self } #[inline] - pub fn p_params(mut self, value: *const *const core::ffi::c_void) -> Self { + pub fn params(mut self, value: *const *const core::ffi::c_void) -> Self { self.inner.p_params = value; self } @@ -53700,7 +61805,7 @@ impl<'a> CudaLaunchInfoNVBuilder<'a> { self } #[inline] - pub fn p_extras(mut self, value: *const *const core::ffi::c_void) -> Self { + pub fn extras(mut self, value: *const *const core::ffi::c_void) -> Self { self.inner.p_extras = value; self } @@ -53850,6 +61955,11 @@ impl DrmFormatModifierPropertiesList2EXT { } } impl<'a> DrmFormatModifierPropertiesList2EXTBuilder<'a> { + #[inline] + pub fn drm_format_modifier_count(mut self, value: u32) -> Self { + self.inner.drm_format_modifier_count = value; + self + } #[inline] pub fn drm_format_modifier_properties( mut self, @@ -53873,6 +61983,54 @@ impl<'a> core::ops::DerefMut for DrmFormatModifierPropertiesList2EXTBuilder<'a> &mut self.inner } } +///Builder for [`DrmFormatModifierProperties2EXT`]. +pub struct DrmFormatModifierProperties2EXTBuilder { + inner: DrmFormatModifierProperties2EXT, +} +impl DrmFormatModifierProperties2EXT { + /// Start building this struct. + #[inline] + pub fn builder() -> DrmFormatModifierProperties2EXTBuilder { + DrmFormatModifierProperties2EXTBuilder { + inner: DrmFormatModifierProperties2EXT { + ..Default::default() + }, + } + } +} +impl DrmFormatModifierProperties2EXTBuilder { + #[inline] + pub fn drm_format_modifier(mut self, value: u64) -> Self { + self.inner.drm_format_modifier = value; + self + } + #[inline] + pub fn drm_format_modifier_plane_count(mut self, value: u32) -> Self { + self.inner.drm_format_modifier_plane_count = value; + self + } + #[inline] + pub fn drm_format_modifier_tiling_features( + mut self, + value: FormatFeatureFlags2, + ) -> Self { + self.inner.drm_format_modifier_tiling_features = value; + self + } +} +impl core::ops::Deref for DrmFormatModifierProperties2EXTBuilder { + type Target = DrmFormatModifierProperties2EXT; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for DrmFormatModifierProperties2EXTBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`AndroidHardwareBufferFormatProperties2ANDROID`] with lifetime-tied pNext safety. pub struct AndroidHardwareBufferFormatProperties2ANDROIDBuilder<'a> { inner: AndroidHardwareBufferFormatProperties2ANDROID, @@ -54065,12 +62223,12 @@ impl<'a> RenderingInfoBuilder<'a> { self } #[inline] - pub fn p_depth_attachment(mut self, value: &'a RenderingAttachmentInfo) -> Self { + pub fn depth_attachment(mut self, value: &'a RenderingAttachmentInfo) -> Self { self.inner.p_depth_attachment = value; self } #[inline] - pub fn p_stencil_attachment(mut self, value: &'a RenderingAttachmentInfo) -> Self { + pub fn stencil_attachment(mut self, value: &'a RenderingAttachmentInfo) -> Self { self.inner.p_stencil_attachment = value; self } @@ -55995,6 +64153,41 @@ impl<'a> core::ops::DerefMut for RenderPassCreationControlEXTBuilder<'a> { &mut self.inner } } +///Builder for [`RenderPassCreationFeedbackInfoEXT`]. +pub struct RenderPassCreationFeedbackInfoEXTBuilder { + inner: RenderPassCreationFeedbackInfoEXT, +} +impl RenderPassCreationFeedbackInfoEXT { + /// Start building this struct. + #[inline] + pub fn builder() -> RenderPassCreationFeedbackInfoEXTBuilder { + RenderPassCreationFeedbackInfoEXTBuilder { + inner: RenderPassCreationFeedbackInfoEXT { + ..Default::default() + }, + } + } +} +impl RenderPassCreationFeedbackInfoEXTBuilder { + #[inline] + pub fn post_merge_subpass_count(mut self, value: u32) -> Self { + self.inner.post_merge_subpass_count = value; + self + } +} +impl core::ops::Deref for RenderPassCreationFeedbackInfoEXTBuilder { + type Target = RenderPassCreationFeedbackInfoEXT; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for RenderPassCreationFeedbackInfoEXTBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`RenderPassCreationFeedbackCreateInfoEXT`] with lifetime-tied pNext safety. pub struct RenderPassCreationFeedbackCreateInfoEXTBuilder<'a> { inner: RenderPassCreationFeedbackCreateInfoEXT, @@ -56015,7 +64208,7 @@ impl RenderPassCreationFeedbackCreateInfoEXT { } impl<'a> RenderPassCreationFeedbackCreateInfoEXTBuilder<'a> { #[inline] - pub fn p_render_pass_feedback( + pub fn render_pass_feedback( mut self, value: *mut RenderPassCreationFeedbackInfoEXT, ) -> Self { @@ -56051,6 +64244,54 @@ impl<'a> core::ops::DerefMut for RenderPassCreationFeedbackCreateInfoEXTBuilder< &mut self.inner } } +///Builder for [`RenderPassSubpassFeedbackInfoEXT`]. +pub struct RenderPassSubpassFeedbackInfoEXTBuilder { + inner: RenderPassSubpassFeedbackInfoEXT, +} +impl RenderPassSubpassFeedbackInfoEXT { + /// Start building this struct. + #[inline] + pub fn builder() -> RenderPassSubpassFeedbackInfoEXTBuilder { + RenderPassSubpassFeedbackInfoEXTBuilder { + inner: RenderPassSubpassFeedbackInfoEXT { + ..Default::default() + }, + } + } +} +impl RenderPassSubpassFeedbackInfoEXTBuilder { + #[inline] + pub fn subpass_merge_status(mut self, value: SubpassMergeStatusEXT) -> Self { + self.inner.subpass_merge_status = value; + self + } + #[inline] + pub fn description( + mut self, + value: crate::StringArray<{ MAX_DESCRIPTION_SIZE as usize }>, + ) -> Self { + self.inner.description = value; + self + } + #[inline] + pub fn post_merge_index(mut self, value: u32) -> Self { + self.inner.post_merge_index = value; + self + } +} +impl core::ops::Deref for RenderPassSubpassFeedbackInfoEXTBuilder { + type Target = RenderPassSubpassFeedbackInfoEXT; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for RenderPassSubpassFeedbackInfoEXTBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`RenderPassSubpassFeedbackCreateInfoEXT`] with lifetime-tied pNext safety. pub struct RenderPassSubpassFeedbackCreateInfoEXTBuilder<'a> { inner: RenderPassSubpassFeedbackCreateInfoEXT, @@ -56071,7 +64312,7 @@ impl RenderPassSubpassFeedbackCreateInfoEXT { } impl<'a> RenderPassSubpassFeedbackCreateInfoEXTBuilder<'a> { #[inline] - pub fn p_subpass_feedback( + pub fn subpass_feedback( mut self, value: *mut RenderPassSubpassFeedbackInfoEXT, ) -> Self { @@ -56201,6 +64442,11 @@ impl<'a> MicromapBuildInfoEXTBuilder<'a> { self } #[inline] + pub fn usage_counts_count(mut self, value: u32) -> Self { + self.inner.usage_counts_count = value; + self + } + #[inline] pub fn usage_counts(mut self, slice: &'a [MicromapUsageEXT]) -> Self { self.inner.usage_counts_count = slice.len() as u32; self.inner.p_usage_counts = slice.as_ptr(); @@ -56355,7 +64601,7 @@ impl MicromapVersionInfoEXT { } impl<'a> MicromapVersionInfoEXTBuilder<'a> { #[inline] - pub fn p_version_data(mut self, value: *const u8) -> Self { + pub fn version_data(mut self, value: *const u8) -> Self { self.inner.p_version_data = value; self } @@ -56637,6 +64883,96 @@ impl<'a> core::ops::DerefMut for MicromapBuildSizesInfoEXTBuilder<'a> { &mut self.inner } } +///Builder for [`MicromapUsageEXT`]. +pub struct MicromapUsageEXTBuilder { + inner: MicromapUsageEXT, +} +impl MicromapUsageEXT { + /// Start building this struct. + #[inline] + pub fn builder() -> MicromapUsageEXTBuilder { + MicromapUsageEXTBuilder { + inner: MicromapUsageEXT { + ..Default::default() + }, + } + } +} +impl MicromapUsageEXTBuilder { + #[inline] + pub fn count(mut self, value: u32) -> Self { + self.inner.count = value; + self + } + #[inline] + pub fn subdivision_level(mut self, value: u32) -> Self { + self.inner.subdivision_level = value; + self + } + #[inline] + pub fn format(mut self, value: u32) -> Self { + self.inner.format = value; + self + } +} +impl core::ops::Deref for MicromapUsageEXTBuilder { + type Target = MicromapUsageEXT; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for MicromapUsageEXTBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`MicromapTriangleEXT`]. +pub struct MicromapTriangleEXTBuilder { + inner: MicromapTriangleEXT, +} +impl MicromapTriangleEXT { + /// Start building this struct. + #[inline] + pub fn builder() -> MicromapTriangleEXTBuilder { + MicromapTriangleEXTBuilder { + inner: MicromapTriangleEXT { + ..Default::default() + }, + } + } +} +impl MicromapTriangleEXTBuilder { + #[inline] + pub fn data_offset(mut self, value: u32) -> Self { + self.inner.data_offset = value; + self + } + #[inline] + pub fn subdivision_level(mut self, value: u16) -> Self { + self.inner.subdivision_level = value; + self + } + #[inline] + pub fn format(mut self, value: u16) -> Self { + self.inner.format = value; + self + } +} +impl core::ops::Deref for MicromapTriangleEXTBuilder { + type Target = MicromapTriangleEXT; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for MicromapTriangleEXTBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`PhysicalDeviceOpacityMicromapFeaturesEXT`] with lifetime-tied pNext safety. pub struct PhysicalDeviceOpacityMicromapFeaturesEXTBuilder<'a> { inner: PhysicalDeviceOpacityMicromapFeaturesEXT, @@ -56783,6 +65119,11 @@ impl<'a> AccelerationStructureTrianglesOpacityMicromapEXTBuilder<'a> { self } #[inline] + pub fn usage_counts_count(mut self, value: u32) -> Self { + self.inner.usage_counts_count = value; + self + } + #[inline] pub fn usage_counts(mut self, slice: &'a [MicromapUsageEXT]) -> Self { self.inner.usage_counts_count = slice.len() as u32; self.inner.p_usage_counts = slice.as_ptr(); @@ -57013,6 +65354,11 @@ impl<'a> AccelerationStructureTrianglesDisplacementMicromapNVBuilder<'a> { self } #[inline] + pub fn usage_counts_count(mut self, value: u32) -> Self { + self.inner.usage_counts_count = value; + self + } + #[inline] pub fn usage_counts(mut self, slice: &'a [MicromapUsageEXT]) -> Self { self.inner.usage_counts_count = slice.len() as u32; self.inner.p_usage_counts = slice.as_ptr(); @@ -59348,7 +67694,7 @@ impl<'a> OpticalFlowSessionCreatePrivateDataInfoNVBuilder<'a> { self } #[inline] - pub fn p_private_data(mut self, value: *const core::ffi::c_void) -> Self { + pub fn private_data(mut self, value: *const core::ffi::c_void) -> Self { self.inner.p_private_data = value; self } @@ -59498,6 +67844,99 @@ impl<'a> core::ops::DerefMut for PhysicalDeviceFaultFeaturesEXTBuilder<'a> { &mut self.inner } } +///Builder for [`DeviceFaultAddressInfoKHR`]. +pub struct DeviceFaultAddressInfoKHRBuilder { + inner: DeviceFaultAddressInfoKHR, +} +impl DeviceFaultAddressInfoKHR { + /// Start building this struct. + #[inline] + pub fn builder() -> DeviceFaultAddressInfoKHRBuilder { + DeviceFaultAddressInfoKHRBuilder { + inner: DeviceFaultAddressInfoKHR { + ..Default::default() + }, + } + } +} +impl DeviceFaultAddressInfoKHRBuilder { + #[inline] + pub fn address_type(mut self, value: DeviceFaultAddressTypeKHR) -> Self { + self.inner.address_type = value; + self + } + #[inline] + pub fn reported_address(mut self, value: u64) -> Self { + self.inner.reported_address = value; + self + } + #[inline] + pub fn address_precision(mut self, value: u64) -> Self { + self.inner.address_precision = value; + self + } +} +impl core::ops::Deref for DeviceFaultAddressInfoKHRBuilder { + type Target = DeviceFaultAddressInfoKHR; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for DeviceFaultAddressInfoKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`DeviceFaultVendorInfoKHR`]. +pub struct DeviceFaultVendorInfoKHRBuilder { + inner: DeviceFaultVendorInfoKHR, +} +impl DeviceFaultVendorInfoKHR { + /// Start building this struct. + #[inline] + pub fn builder() -> DeviceFaultVendorInfoKHRBuilder { + DeviceFaultVendorInfoKHRBuilder { + inner: DeviceFaultVendorInfoKHR { + ..Default::default() + }, + } + } +} +impl DeviceFaultVendorInfoKHRBuilder { + #[inline] + pub fn description( + mut self, + value: crate::StringArray<{ MAX_DESCRIPTION_SIZE as usize }>, + ) -> Self { + self.inner.description = value; + self + } + #[inline] + pub fn vendor_fault_code(mut self, value: u64) -> Self { + self.inner.vendor_fault_code = value; + self + } + #[inline] + pub fn vendor_fault_data(mut self, value: u64) -> Self { + self.inner.vendor_fault_data = value; + self + } +} +impl core::ops::Deref for DeviceFaultVendorInfoKHRBuilder { + type Target = DeviceFaultVendorInfoKHR; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for DeviceFaultVendorInfoKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`DeviceFaultInfoKHR`] with lifetime-tied pNext safety. pub struct DeviceFaultInfoKHRBuilder<'a> { inner: DeviceFaultInfoKHR, @@ -59583,6 +68022,11 @@ impl DeviceFaultDebugInfoKHR { } } impl<'a> DeviceFaultDebugInfoKHRBuilder<'a> { + #[inline] + pub fn vendor_binary_size(mut self, value: u32) -> Self { + self.inner.vendor_binary_size = value; + self + } #[inline] pub fn vendor_binary_data(mut self, slice: &'a mut [core::ffi::c_void]) -> Self { self.inner.vendor_binary_size = slice.len() as u32; @@ -59691,17 +68135,17 @@ impl<'a> DeviceFaultInfoEXTBuilder<'a> { self } #[inline] - pub fn p_address_infos(mut self, value: *mut DeviceFaultAddressInfoKHR) -> Self { + pub fn address_infos(mut self, value: *mut DeviceFaultAddressInfoKHR) -> Self { self.inner.p_address_infos = value; self } #[inline] - pub fn p_vendor_infos(mut self, value: *mut DeviceFaultVendorInfoKHR) -> Self { + pub fn vendor_infos(mut self, value: *mut DeviceFaultVendorInfoKHR) -> Self { self.inner.p_vendor_infos = value; self } #[inline] - pub fn p_vendor_binary_data(mut self, value: *mut core::ffi::c_void) -> Self { + pub fn vendor_binary_data(mut self, value: *mut core::ffi::c_void) -> Self { self.inner.p_vendor_binary_data = value; self } @@ -59719,6 +68163,94 @@ impl<'a> core::ops::DerefMut for DeviceFaultInfoEXTBuilder<'a> { &mut self.inner } } +///Builder for [`DeviceFaultVendorBinaryHeaderVersionOneKHR`]. +pub struct DeviceFaultVendorBinaryHeaderVersionOneKHRBuilder { + inner: DeviceFaultVendorBinaryHeaderVersionOneKHR, +} +impl DeviceFaultVendorBinaryHeaderVersionOneKHR { + /// Start building this struct. + #[inline] + pub fn builder() -> DeviceFaultVendorBinaryHeaderVersionOneKHRBuilder { + DeviceFaultVendorBinaryHeaderVersionOneKHRBuilder { + inner: DeviceFaultVendorBinaryHeaderVersionOneKHR { + ..Default::default() + }, + } + } +} +impl DeviceFaultVendorBinaryHeaderVersionOneKHRBuilder { + #[inline] + pub fn header_size(mut self, value: u32) -> Self { + self.inner.header_size = value; + self + } + #[inline] + pub fn header_version( + mut self, + value: DeviceFaultVendorBinaryHeaderVersionKHR, + ) -> Self { + self.inner.header_version = value; + self + } + #[inline] + pub fn vendor_id(mut self, value: u32) -> Self { + self.inner.vendor_id = value; + self + } + #[inline] + pub fn device_id(mut self, value: u32) -> Self { + self.inner.device_id = value; + self + } + #[inline] + pub fn driver_version(mut self, value: u32) -> Self { + self.inner.driver_version = value; + self + } + #[inline] + pub fn pipeline_cache_uuid(mut self, value: [u8; UUID_SIZE as usize]) -> Self { + self.inner.pipeline_cache_uuid = value; + self + } + #[inline] + pub fn application_name_offset(mut self, value: u32) -> Self { + self.inner.application_name_offset = value; + self + } + #[inline] + pub fn application_version(mut self, value: u32) -> Self { + self.inner.application_version = value; + self + } + #[inline] + pub fn engine_name_offset(mut self, value: u32) -> Self { + self.inner.engine_name_offset = value; + self + } + #[inline] + pub fn engine_version(mut self, value: u32) -> Self { + self.inner.engine_version = value; + self + } + #[inline] + pub fn api_version(mut self, value: u32) -> Self { + self.inner.api_version = value; + self + } +} +impl core::ops::Deref for DeviceFaultVendorBinaryHeaderVersionOneKHRBuilder { + type Target = DeviceFaultVendorBinaryHeaderVersionOneKHR; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for DeviceFaultVendorBinaryHeaderVersionOneKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`PhysicalDeviceFaultFeaturesKHR`] with lifetime-tied pNext safety. pub struct PhysicalDeviceFaultFeaturesKHRBuilder<'a> { inner: PhysicalDeviceFaultFeaturesKHR, @@ -60003,6 +68535,114 @@ impl<'a> core::ops::DerefMut for DepthBiasRepresentationInfoEXTBuilder<'a> { &mut self.inner } } +///Builder for [`DecompressMemoryRegionNV`]. +pub struct DecompressMemoryRegionNVBuilder { + inner: DecompressMemoryRegionNV, +} +impl DecompressMemoryRegionNV { + /// Start building this struct. + #[inline] + pub fn builder() -> DecompressMemoryRegionNVBuilder { + DecompressMemoryRegionNVBuilder { + inner: DecompressMemoryRegionNV { + ..Default::default() + }, + } + } +} +impl DecompressMemoryRegionNVBuilder { + #[inline] + pub fn src_address(mut self, value: u64) -> Self { + self.inner.src_address = value; + self + } + #[inline] + pub fn dst_address(mut self, value: u64) -> Self { + self.inner.dst_address = value; + self + } + #[inline] + pub fn compressed_size(mut self, value: u64) -> Self { + self.inner.compressed_size = value; + self + } + #[inline] + pub fn decompressed_size(mut self, value: u64) -> Self { + self.inner.decompressed_size = value; + self + } + #[inline] + pub fn decompression_method( + mut self, + value: MemoryDecompressionMethodFlagsNV, + ) -> Self { + self.inner.decompression_method = value; + self + } +} +impl core::ops::Deref for DecompressMemoryRegionNVBuilder { + type Target = DecompressMemoryRegionNV; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for DecompressMemoryRegionNVBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`DecompressMemoryRegionEXT`]. +pub struct DecompressMemoryRegionEXTBuilder { + inner: DecompressMemoryRegionEXT, +} +impl DecompressMemoryRegionEXT { + /// Start building this struct. + #[inline] + pub fn builder() -> DecompressMemoryRegionEXTBuilder { + DecompressMemoryRegionEXTBuilder { + inner: DecompressMemoryRegionEXT { + ..Default::default() + }, + } + } +} +impl DecompressMemoryRegionEXTBuilder { + #[inline] + pub fn src_address(mut self, value: u64) -> Self { + self.inner.src_address = value; + self + } + #[inline] + pub fn dst_address(mut self, value: u64) -> Self { + self.inner.dst_address = value; + self + } + #[inline] + pub fn compressed_size(mut self, value: u64) -> Self { + self.inner.compressed_size = value; + self + } + #[inline] + pub fn decompressed_size(mut self, value: u64) -> Self { + self.inner.decompressed_size = value; + self + } +} +impl core::ops::Deref for DecompressMemoryRegionEXTBuilder { + type Target = DecompressMemoryRegionEXT; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for DecompressMemoryRegionEXTBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`DecompressMemoryInfoEXT`] with lifetime-tied pNext safety. pub struct DecompressMemoryInfoEXTBuilder<'a> { inner: DecompressMemoryInfoEXT, @@ -60197,12 +68837,22 @@ impl<'a> FrameBoundaryEXTBuilder<'a> { self } #[inline] + pub fn image_count(mut self, value: u32) -> Self { + self.inner.image_count = value; + self + } + #[inline] pub fn images(mut self, slice: &'a [Image]) -> Self { self.inner.image_count = slice.len() as u32; self.inner.p_images = slice.as_ptr(); self } #[inline] + pub fn buffer_count(mut self, value: u32) -> Self { + self.inner.buffer_count = value; + self + } + #[inline] pub fn buffers(mut self, slice: &'a [Buffer]) -> Self { self.inner.buffer_count = slice.len() as u32; self.inner.p_buffers = slice.as_ptr(); @@ -60214,6 +68864,11 @@ impl<'a> FrameBoundaryEXTBuilder<'a> { self } #[inline] + pub fn tag_size(mut self, value: usize) -> Self { + self.inner.tag_size = value; + self + } + #[inline] pub fn tag(mut self, slice: &'a [core::ffi::c_void]) -> Self { self.inner.tag_size = slice.len(); self.inner.p_tag = slice.as_ptr(); @@ -60556,6 +69211,11 @@ impl SurfacePresentModeCompatibilityKHR { } } impl<'a> SurfacePresentModeCompatibilityKHRBuilder<'a> { + #[inline] + pub fn present_mode_count(mut self, value: u32) -> Self { + self.inner.present_mode_count = value; + self + } #[inline] pub fn present_modes(mut self, slice: &'a mut [PresentModeKHR]) -> Self { self.inner.present_mode_count = slice.len() as u32; @@ -60664,6 +69324,11 @@ impl SwapchainPresentFenceInfoKHR { } } impl<'a> SwapchainPresentFenceInfoKHRBuilder<'a> { + #[inline] + pub fn swapchain_count(mut self, value: u32) -> Self { + self.inner.swapchain_count = value; + self + } #[inline] pub fn fences(mut self, slice: &'a [Fence]) -> Self { self.inner.swapchain_count = slice.len() as u32; @@ -61573,12 +70238,12 @@ impl DeviceImageSubresourceInfo { } impl<'a> DeviceImageSubresourceInfoBuilder<'a> { #[inline] - pub fn p_create_info(mut self, value: &'a ImageCreateInfo) -> Self { + pub fn create_info(mut self, value: &'a ImageCreateInfo) -> Self { self.inner.p_create_info = value; self } #[inline] - pub fn p_subresource(mut self, value: &'a ImageSubresource2) -> Self { + pub fn subresource(mut self, value: &'a ImageSubresource2) -> Self { self.inner.p_subresource = value; self } @@ -61794,7 +70459,7 @@ impl QueryLowLatencySupportNV { } impl<'a> QueryLowLatencySupportNVBuilder<'a> { #[inline] - pub fn p_queried_low_latency_data(mut self, value: *mut core::ffi::c_void) -> Self { + pub fn queried_low_latency_data(mut self, value: *mut core::ffi::c_void) -> Self { self.inner.p_queried_low_latency_data = value; self } @@ -62089,24 +70754,34 @@ impl<'a> ShaderCreateInfoEXTBuilder<'a> { self } #[inline] - pub fn p_name(mut self, value: &'a core::ffi::CStr) -> Self { + pub fn name(mut self, value: &'a core::ffi::CStr) -> Self { self.inner.p_name = value.as_ptr(); self } #[inline] + pub fn set_layout_count(mut self, value: u32) -> Self { + self.inner.set_layout_count = value; + self + } + #[inline] pub fn set_layouts(mut self, slice: &'a [DescriptorSetLayout]) -> Self { self.inner.set_layout_count = slice.len() as u32; self.inner.p_set_layouts = slice.as_ptr(); self } #[inline] + pub fn push_constant_range_count(mut self, value: u32) -> Self { + self.inner.push_constant_range_count = value; + self + } + #[inline] pub fn push_constant_ranges(mut self, slice: &'a [PushConstantRange]) -> Self { self.inner.push_constant_range_count = slice.len() as u32; self.inner.p_push_constant_ranges = slice.as_ptr(); self } #[inline] - pub fn p_specialization_info(mut self, value: &'a SpecializationInfo) -> Self { + pub fn specialization_info(mut self, value: &'a SpecializationInfo) -> Self { self.inner.p_specialization_info = value; self } @@ -62921,13 +71596,18 @@ impl<'a> ExecutionGraphPipelineCreateInfoAMDXBuilder<'a> { self } #[inline] + pub fn stage_count(mut self, value: u32) -> Self { + self.inner.stage_count = value; + self + } + #[inline] pub fn stages(mut self, slice: &'a [PipelineShaderStageCreateInfo]) -> Self { self.inner.stage_count = slice.len() as u32; self.inner.p_stages = slice.as_ptr(); self } #[inline] - pub fn p_library_info(mut self, value: &'a PipelineLibraryCreateInfoKHR) -> Self { + pub fn library_info(mut self, value: &'a PipelineLibraryCreateInfoKHR) -> Self { self.inner.p_library_info = value; self } @@ -62995,7 +71675,7 @@ impl PipelineShaderStageNodeCreateInfoAMDX { } impl<'a> PipelineShaderStageNodeCreateInfoAMDXBuilder<'a> { #[inline] - pub fn p_name(mut self, value: &'a core::ffi::CStr) -> Self { + pub fn name(mut self, value: &'a core::ffi::CStr) -> Self { self.inner.p_name = value.as_ptr(); self } @@ -63096,6 +71776,101 @@ impl<'a> core::ops::DerefMut for ExecutionGraphPipelineScratchSizeAMDXBuilder<'a &mut self.inner } } +///Builder for [`DispatchGraphInfoAMDX`]. +pub struct DispatchGraphInfoAMDXBuilder { + inner: DispatchGraphInfoAMDX, +} +impl DispatchGraphInfoAMDX { + /// Start building this struct. + #[inline] + pub fn builder() -> DispatchGraphInfoAMDXBuilder { + DispatchGraphInfoAMDXBuilder { + inner: DispatchGraphInfoAMDX { + ..Default::default() + }, + } + } +} +impl DispatchGraphInfoAMDXBuilder { + #[inline] + pub fn node_index(mut self, value: u32) -> Self { + self.inner.node_index = value; + self + } + #[inline] + pub fn payload_count(mut self, value: u32) -> Self { + self.inner.payload_count = value; + self + } + #[inline] + pub fn payloads(mut self, value: DeviceOrHostAddressConstAMDX) -> Self { + self.inner.payloads = value; + self + } + #[inline] + pub fn payload_stride(mut self, value: u64) -> Self { + self.inner.payload_stride = value; + self + } +} +impl core::ops::Deref for DispatchGraphInfoAMDXBuilder { + type Target = DispatchGraphInfoAMDX; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for DispatchGraphInfoAMDXBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`DispatchGraphCountInfoAMDX`]. +pub struct DispatchGraphCountInfoAMDXBuilder { + inner: DispatchGraphCountInfoAMDX, +} +impl DispatchGraphCountInfoAMDX { + /// Start building this struct. + #[inline] + pub fn builder() -> DispatchGraphCountInfoAMDXBuilder { + DispatchGraphCountInfoAMDXBuilder { + inner: DispatchGraphCountInfoAMDX { + ..Default::default() + }, + } + } +} +impl DispatchGraphCountInfoAMDXBuilder { + #[inline] + pub fn count(mut self, value: u32) -> Self { + self.inner.count = value; + self + } + #[inline] + pub fn infos(mut self, value: DeviceOrHostAddressConstAMDX) -> Self { + self.inner.infos = value; + self + } + #[inline] + pub fn stride(mut self, value: u64) -> Self { + self.inner.stride = value; + self + } +} +impl core::ops::Deref for DispatchGraphCountInfoAMDXBuilder { + type Target = DispatchGraphCountInfoAMDX; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for DispatchGraphCountInfoAMDXBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`PhysicalDeviceAntiLagFeaturesAMD`] with lifetime-tied pNext safety. pub struct PhysicalDeviceAntiLagFeaturesAMDBuilder<'a> { inner: PhysicalDeviceAntiLagFeaturesAMD, @@ -63179,7 +71954,7 @@ impl<'a> AntiLagDataAMDBuilder<'a> { self } #[inline] - pub fn p_presentation_info(mut self, value: &'a AntiLagPresentationInfoAMD) -> Self { + pub fn presentation_info(mut self, value: &'a AntiLagPresentationInfoAMD) -> Self { self.inner.p_presentation_info = value; self } @@ -63287,7 +72062,7 @@ impl BindMemoryStatus { } impl<'a> BindMemoryStatusBuilder<'a> { #[inline] - pub fn p_result(mut self, value: *mut Result) -> Self { + pub fn result(mut self, value: *mut Result) -> Self { self.inner.p_result = value; self } @@ -63580,6 +72355,11 @@ impl<'a> BindDescriptorSetsInfoBuilder<'a> { self } #[inline] + pub fn dynamic_offset_count(mut self, value: u32) -> Self { + self.inner.dynamic_offset_count = value; + self + } + #[inline] pub fn dynamic_offsets(mut self, slice: &'a [u32]) -> Self { self.inner.dynamic_offset_count = slice.len() as u32; self.inner.p_dynamic_offsets = slice.as_ptr(); @@ -63787,7 +72567,7 @@ impl<'a> PushDescriptorSetWithTemplateInfoBuilder<'a> { self } #[inline] - pub fn p_data(mut self, value: *const core::ffi::c_void) -> Self { + pub fn data(mut self, value: *const core::ffi::c_void) -> Self { self.inner.p_data = value; self } @@ -64945,6 +73725,11 @@ impl GetLatencyMarkerInfoNV { } } impl<'a> GetLatencyMarkerInfoNVBuilder<'a> { + #[inline] + pub fn timing_count(mut self, value: u32) -> Self { + self.inner.timing_count = value; + self + } #[inline] pub fn timings(mut self, slice: &'a mut [LatencyTimingsFrameReportNV]) -> Self { self.inner.timing_count = slice.len() as u32; @@ -65261,6 +74046,11 @@ impl LatencySurfaceCapabilitiesNV { } } impl<'a> LatencySurfaceCapabilitiesNVBuilder<'a> { + #[inline] + pub fn present_mode_count(mut self, value: u32) -> Self { + self.inner.present_mode_count = value; + self + } #[inline] pub fn present_modes(mut self, slice: &'a mut [PresentModeKHR]) -> Self { self.inner.present_mode_count = slice.len() as u32; @@ -66259,6 +75049,11 @@ impl RenderingInputAttachmentIndexInfo { } } impl<'a> RenderingInputAttachmentIndexInfoBuilder<'a> { + #[inline] + pub fn color_attachment_count(mut self, value: u32) -> Self { + self.inner.color_attachment_count = value; + self + } #[inline] pub fn color_attachment_input_indices(mut self, slice: &'a [u32]) -> Self { self.inner.color_attachment_count = slice.len() as u32; @@ -66266,12 +75061,12 @@ impl<'a> RenderingInputAttachmentIndexInfoBuilder<'a> { self } #[inline] - pub fn p_depth_input_attachment_index(mut self, value: *const u32) -> Self { + pub fn depth_input_attachment_index(mut self, value: *const u32) -> Self { self.inner.p_depth_input_attachment_index = value; self } #[inline] - pub fn p_stencil_input_attachment_index(mut self, value: *const u32) -> Self { + pub fn stencil_input_attachment_index(mut self, value: *const u32) -> Self { self.inner.p_stencil_input_attachment_index = value; self } @@ -66535,7 +75330,7 @@ impl MemoryMapPlacedInfoEXT { } impl<'a> MemoryMapPlacedInfoEXTBuilder<'a> { #[inline] - pub fn p_placed_address(mut self, value: *mut core::ffi::c_void) -> Self { + pub fn placed_address(mut self, value: *mut core::ffi::c_void) -> Self { self.inner.p_placed_address = value; self } @@ -67003,6 +75798,46 @@ for PhysicalDevicePresentModeFifoLatestReadyFeaturesKHRBuilder<'a> { &mut self.inner } } +///Builder for [`DepthClampRangeEXT`]. +pub struct DepthClampRangeEXTBuilder { + inner: DepthClampRangeEXT, +} +impl DepthClampRangeEXT { + /// Start building this struct. + #[inline] + pub fn builder() -> DepthClampRangeEXTBuilder { + DepthClampRangeEXTBuilder { + inner: DepthClampRangeEXT { + ..Default::default() + }, + } + } +} +impl DepthClampRangeEXTBuilder { + #[inline] + pub fn min_depth_clamp(mut self, value: f32) -> Self { + self.inner.min_depth_clamp = value; + self + } + #[inline] + pub fn max_depth_clamp(mut self, value: f32) -> Self { + self.inner.max_depth_clamp = value; + self + } +} +impl core::ops::Deref for DepthClampRangeEXTBuilder { + type Target = DepthClampRangeEXT; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for DepthClampRangeEXTBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`PhysicalDeviceCooperativeMatrix2FeaturesNV`] with lifetime-tied pNext safety. pub struct PhysicalDeviceCooperativeMatrix2FeaturesNVBuilder<'a> { inner: PhysicalDeviceCooperativeMatrix2FeaturesNV, @@ -67760,7 +76595,7 @@ impl<'a> ConvertCooperativeVectorMatrixInfoNVBuilder<'a> { self } #[inline] - pub fn p_dst_size(mut self, value: *mut usize) -> Self { + pub fn dst_size(mut self, value: *mut usize) -> Self { self.inner.p_dst_size = value; self } @@ -68955,7 +77790,7 @@ impl<'a> TensorCreateInfoARMBuilder<'a> { self } #[inline] - pub fn p_description(mut self, value: &'a TensorDescriptionARM) -> Self { + pub fn description(mut self, value: &'a TensorDescriptionARM) -> Self { self.inner.p_description = value; self } @@ -69194,6 +78029,11 @@ impl WriteDescriptorSetTensorARM { } } impl<'a> WriteDescriptorSetTensorARMBuilder<'a> { + #[inline] + pub fn tensor_view_count(mut self, value: u32) -> Self { + self.inner.tensor_view_count = value; + self + } #[inline] pub fn tensor_views(mut self, slice: &'a [TensorViewARM]) -> Self { self.inner.tensor_view_count = slice.len() as u32; @@ -69488,10 +78328,7 @@ impl<'a> TensorDependencyInfoARMBuilder<'a> { self } #[inline] - pub fn p_tensor_memory_barriers( - mut self, - value: &'a TensorMemoryBarrierARM, - ) -> Self { + pub fn tensor_memory_barriers(mut self, value: &'a TensorMemoryBarrierARM) -> Self { self.inner.p_tensor_memory_barriers = value; self } @@ -69628,7 +78465,7 @@ impl DeviceTensorMemoryRequirementsARM { } impl<'a> DeviceTensorMemoryRequirementsARMBuilder<'a> { #[inline] - pub fn p_create_info(mut self, value: &'a TensorCreateInfoARM) -> Self { + pub fn create_info(mut self, value: &'a TensorCreateInfoARM) -> Self { self.inner.p_create_info = value; self } @@ -69741,6 +78578,11 @@ impl TensorCopyARM { } } impl<'a> TensorCopyARMBuilder<'a> { + #[inline] + pub fn dimension_count(mut self, value: u32) -> Self { + self.inner.dimension_count = value; + self + } #[inline] pub fn src_offset(mut self, slice: &'a [u64]) -> Self { self.inner.dimension_count = slice.len() as u32; @@ -70201,7 +79043,7 @@ impl<'a> PhysicalDeviceExternalTensorInfoARMBuilder<'a> { self } #[inline] - pub fn p_description(mut self, value: &'a TensorDescriptionARM) -> Self { + pub fn description(mut self, value: &'a TensorDescriptionARM) -> Self { self.inner.p_description = value; self } @@ -70628,7 +79470,7 @@ impl<'a> DataGraphPipelineConstantARMBuilder<'a> { self } #[inline] - pub fn p_constant_data(mut self, value: *const core::ffi::c_void) -> Self { + pub fn constant_data(mut self, value: *const core::ffi::c_void) -> Self { self.inner.p_constant_data = value; self } @@ -70744,7 +79586,7 @@ impl DataGraphPipelineCompilerControlCreateInfoARM { } impl<'a> DataGraphPipelineCompilerControlCreateInfoARMBuilder<'a> { #[inline] - pub fn p_vendor_options(mut self, value: &'a core::ffi::CStr) -> Self { + pub fn vendor_options(mut self, value: &'a core::ffi::CStr) -> Self { self.inner.p_vendor_options = value.as_ptr(); self } @@ -70870,16 +79712,21 @@ impl<'a> DataGraphPipelineShaderModuleCreateInfoARMBuilder<'a> { self } #[inline] - pub fn p_name(mut self, value: &'a core::ffi::CStr) -> Self { + pub fn name(mut self, value: &'a core::ffi::CStr) -> Self { self.inner.p_name = value.as_ptr(); self } #[inline] - pub fn p_specialization_info(mut self, value: &'a SpecializationInfo) -> Self { + pub fn specialization_info(mut self, value: &'a SpecializationInfo) -> Self { self.inner.p_specialization_info = value; self } #[inline] + pub fn constant_count(mut self, value: u32) -> Self { + self.inner.constant_count = value; + self + } + #[inline] pub fn constants(mut self, slice: &'a [DataGraphPipelineConstantARM]) -> Self { self.inner.constant_count = slice.len() as u32; self.inner.p_constants = slice.as_ptr(); @@ -71305,6 +80152,11 @@ impl<'a> DataGraphPipelinePropertyQueryResultARMBuilder<'a> { self } #[inline] + pub fn data_size(mut self, value: usize) -> Self { + self.inner.data_size = value; + self + } + #[inline] pub fn data(mut self, slice: &'a mut [core::ffi::c_void]) -> Self { self.inner.data_size = slice.len(); self.inner.p_data = slice.as_mut_ptr(); @@ -71446,6 +80298,102 @@ impl<'a> core::ops::DerefMut for DataGraphPipelineDispatchInfoARMBuilder<'a> { &mut self.inner } } +///Builder for [`PhysicalDeviceDataGraphProcessingEngineARM`]. +pub struct PhysicalDeviceDataGraphProcessingEngineARMBuilder { + inner: PhysicalDeviceDataGraphProcessingEngineARM, +} +impl PhysicalDeviceDataGraphProcessingEngineARM { + /// Start building this struct. + #[inline] + pub fn builder() -> PhysicalDeviceDataGraphProcessingEngineARMBuilder { + PhysicalDeviceDataGraphProcessingEngineARMBuilder { + inner: PhysicalDeviceDataGraphProcessingEngineARM { + ..Default::default() + }, + } + } +} +impl PhysicalDeviceDataGraphProcessingEngineARMBuilder { + #[inline] + pub fn r#type( + mut self, + value: PhysicalDeviceDataGraphProcessingEngineTypeARM, + ) -> Self { + self.inner.r#type = value; + self + } + #[inline] + pub fn is_foreign(mut self, value: bool) -> Self { + self.inner.is_foreign = value as u32; + self + } +} +impl core::ops::Deref for PhysicalDeviceDataGraphProcessingEngineARMBuilder { + type Target = PhysicalDeviceDataGraphProcessingEngineARM; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for PhysicalDeviceDataGraphProcessingEngineARMBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`PhysicalDeviceDataGraphOperationSupportARM`]. +pub struct PhysicalDeviceDataGraphOperationSupportARMBuilder { + inner: PhysicalDeviceDataGraphOperationSupportARM, +} +impl PhysicalDeviceDataGraphOperationSupportARM { + /// Start building this struct. + #[inline] + pub fn builder() -> PhysicalDeviceDataGraphOperationSupportARMBuilder { + PhysicalDeviceDataGraphOperationSupportARMBuilder { + inner: PhysicalDeviceDataGraphOperationSupportARM { + ..Default::default() + }, + } + } +} +impl PhysicalDeviceDataGraphOperationSupportARMBuilder { + #[inline] + pub fn operation_type( + mut self, + value: PhysicalDeviceDataGraphOperationTypeARM, + ) -> Self { + self.inner.operation_type = value; + self + } + #[inline] + pub fn name( + mut self, + value: crate::StringArray< + { MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM as usize }, + >, + ) -> Self { + self.inner.name = value; + self + } + #[inline] + pub fn version(mut self, value: u32) -> Self { + self.inner.version = value; + self + } +} +impl core::ops::Deref for PhysicalDeviceDataGraphOperationSupportARMBuilder { + type Target = PhysicalDeviceDataGraphOperationSupportARM; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for PhysicalDeviceDataGraphOperationSupportARMBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`QueueFamilyDataGraphPropertiesARM`] with lifetime-tied pNext safety. pub struct QueueFamilyDataGraphPropertiesARMBuilder<'a> { inner: QueueFamilyDataGraphPropertiesARM, @@ -71743,7 +80691,7 @@ impl DataGraphPipelineBuiltinModelCreateInfoQCOM { } impl<'a> DataGraphPipelineBuiltinModelCreateInfoQCOMBuilder<'a> { #[inline] - pub fn p_operation( + pub fn operation( mut self, value: &'a PhysicalDeviceDataGraphOperationSupportARM, ) -> Self { @@ -73237,6 +82185,82 @@ for PhysicalDeviceShaderSubgroupPartitionedFeaturesEXTBuilder<'a> { &mut self.inner } } +///Builder for [`HostAddressRangeEXT`]. +pub struct HostAddressRangeEXTBuilder<'a> { + inner: HostAddressRangeEXT, + _marker: core::marker::PhantomData<&'a ()>, +} +impl HostAddressRangeEXT { + /// Start building this struct. + #[inline] + pub fn builder<'a>() -> HostAddressRangeEXTBuilder<'a> { + HostAddressRangeEXTBuilder { + inner: HostAddressRangeEXT { + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> HostAddressRangeEXTBuilder<'a> { + #[inline] + pub fn address(mut self, slice: &'a mut [core::ffi::c_void]) -> Self { + self.inner.size = slice.len(); + self.inner.address = slice.as_mut_ptr(); + self + } +} +impl<'a> core::ops::Deref for HostAddressRangeEXTBuilder<'a> { + type Target = HostAddressRangeEXT; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> core::ops::DerefMut for HostAddressRangeEXTBuilder<'a> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`HostAddressRangeConstEXT`]. +pub struct HostAddressRangeConstEXTBuilder<'a> { + inner: HostAddressRangeConstEXT, + _marker: core::marker::PhantomData<&'a ()>, +} +impl HostAddressRangeConstEXT { + /// Start building this struct. + #[inline] + pub fn builder<'a>() -> HostAddressRangeConstEXTBuilder<'a> { + HostAddressRangeConstEXTBuilder { + inner: HostAddressRangeConstEXT { + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> HostAddressRangeConstEXTBuilder<'a> { + #[inline] + pub fn address(mut self, slice: &'a [core::ffi::c_void]) -> Self { + self.inner.size = slice.len(); + self.inner.address = slice.as_ptr(); + self + } +} +impl<'a> core::ops::Deref for HostAddressRangeConstEXTBuilder<'a> { + type Target = HostAddressRangeConstEXT; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> core::ops::DerefMut for HostAddressRangeConstEXTBuilder<'a> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`TexelBufferDescriptorInfoEXT`] with lifetime-tied pNext safety. pub struct TexelBufferDescriptorInfoEXTBuilder<'a> { inner: TexelBufferDescriptorInfoEXT, @@ -73315,7 +82339,7 @@ impl ImageDescriptorInfoEXT { } impl<'a> ImageDescriptorInfoEXTBuilder<'a> { #[inline] - pub fn p_view(mut self, value: &'a ImageViewCreateInfo) -> Self { + pub fn view(mut self, value: &'a ImageViewCreateInfo) -> Self { self.inner.p_view = value; self } @@ -73526,6 +82550,482 @@ impl<'a> core::ops::DerefMut for PushDataInfoEXTBuilder<'a> { &mut self.inner } } +///Builder for [`DescriptorMappingSourceConstantOffsetEXT`]. +pub struct DescriptorMappingSourceConstantOffsetEXTBuilder<'a> { + inner: DescriptorMappingSourceConstantOffsetEXT, + _marker: core::marker::PhantomData<&'a ()>, +} +impl DescriptorMappingSourceConstantOffsetEXT { + /// Start building this struct. + #[inline] + pub fn builder<'a>() -> DescriptorMappingSourceConstantOffsetEXTBuilder<'a> { + DescriptorMappingSourceConstantOffsetEXTBuilder { + inner: DescriptorMappingSourceConstantOffsetEXT { + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> DescriptorMappingSourceConstantOffsetEXTBuilder<'a> { + #[inline] + pub fn heap_offset(mut self, value: u32) -> Self { + self.inner.heap_offset = value; + self + } + #[inline] + pub fn heap_array_stride(mut self, value: u32) -> Self { + self.inner.heap_array_stride = value; + self + } + #[inline] + pub fn embedded_sampler(mut self, value: &'a SamplerCreateInfo) -> Self { + self.inner.p_embedded_sampler = value; + self + } + #[inline] + pub fn sampler_heap_offset(mut self, value: u32) -> Self { + self.inner.sampler_heap_offset = value; + self + } + #[inline] + pub fn sampler_heap_array_stride(mut self, value: u32) -> Self { + self.inner.sampler_heap_array_stride = value; + self + } +} +impl<'a> core::ops::Deref for DescriptorMappingSourceConstantOffsetEXTBuilder<'a> { + type Target = DescriptorMappingSourceConstantOffsetEXT; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> core::ops::DerefMut for DescriptorMappingSourceConstantOffsetEXTBuilder<'a> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`DescriptorMappingSourcePushIndexEXT`]. +pub struct DescriptorMappingSourcePushIndexEXTBuilder<'a> { + inner: DescriptorMappingSourcePushIndexEXT, + _marker: core::marker::PhantomData<&'a ()>, +} +impl DescriptorMappingSourcePushIndexEXT { + /// Start building this struct. + #[inline] + pub fn builder<'a>() -> DescriptorMappingSourcePushIndexEXTBuilder<'a> { + DescriptorMappingSourcePushIndexEXTBuilder { + inner: DescriptorMappingSourcePushIndexEXT { + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> DescriptorMappingSourcePushIndexEXTBuilder<'a> { + #[inline] + pub fn heap_offset(mut self, value: u32) -> Self { + self.inner.heap_offset = value; + self + } + #[inline] + pub fn push_offset(mut self, value: u32) -> Self { + self.inner.push_offset = value; + self + } + #[inline] + pub fn heap_index_stride(mut self, value: u32) -> Self { + self.inner.heap_index_stride = value; + self + } + #[inline] + pub fn heap_array_stride(mut self, value: u32) -> Self { + self.inner.heap_array_stride = value; + self + } + #[inline] + pub fn embedded_sampler(mut self, value: &'a SamplerCreateInfo) -> Self { + self.inner.p_embedded_sampler = value; + self + } + #[inline] + pub fn use_combined_image_sampler_index(mut self, value: bool) -> Self { + self.inner.use_combined_image_sampler_index = value as u32; + self + } + #[inline] + pub fn sampler_heap_offset(mut self, value: u32) -> Self { + self.inner.sampler_heap_offset = value; + self + } + #[inline] + pub fn sampler_push_offset(mut self, value: u32) -> Self { + self.inner.sampler_push_offset = value; + self + } + #[inline] + pub fn sampler_heap_index_stride(mut self, value: u32) -> Self { + self.inner.sampler_heap_index_stride = value; + self + } + #[inline] + pub fn sampler_heap_array_stride(mut self, value: u32) -> Self { + self.inner.sampler_heap_array_stride = value; + self + } +} +impl<'a> core::ops::Deref for DescriptorMappingSourcePushIndexEXTBuilder<'a> { + type Target = DescriptorMappingSourcePushIndexEXT; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> core::ops::DerefMut for DescriptorMappingSourcePushIndexEXTBuilder<'a> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`DescriptorMappingSourceIndirectIndexEXT`]. +pub struct DescriptorMappingSourceIndirectIndexEXTBuilder<'a> { + inner: DescriptorMappingSourceIndirectIndexEXT, + _marker: core::marker::PhantomData<&'a ()>, +} +impl DescriptorMappingSourceIndirectIndexEXT { + /// Start building this struct. + #[inline] + pub fn builder<'a>() -> DescriptorMappingSourceIndirectIndexEXTBuilder<'a> { + DescriptorMappingSourceIndirectIndexEXTBuilder { + inner: DescriptorMappingSourceIndirectIndexEXT { + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> DescriptorMappingSourceIndirectIndexEXTBuilder<'a> { + #[inline] + pub fn heap_offset(mut self, value: u32) -> Self { + self.inner.heap_offset = value; + self + } + #[inline] + pub fn push_offset(mut self, value: u32) -> Self { + self.inner.push_offset = value; + self + } + #[inline] + pub fn address_offset(mut self, value: u32) -> Self { + self.inner.address_offset = value; + self + } + #[inline] + pub fn heap_index_stride(mut self, value: u32) -> Self { + self.inner.heap_index_stride = value; + self + } + #[inline] + pub fn heap_array_stride(mut self, value: u32) -> Self { + self.inner.heap_array_stride = value; + self + } + #[inline] + pub fn embedded_sampler(mut self, value: &'a SamplerCreateInfo) -> Self { + self.inner.p_embedded_sampler = value; + self + } + #[inline] + pub fn use_combined_image_sampler_index(mut self, value: bool) -> Self { + self.inner.use_combined_image_sampler_index = value as u32; + self + } + #[inline] + pub fn sampler_heap_offset(mut self, value: u32) -> Self { + self.inner.sampler_heap_offset = value; + self + } + #[inline] + pub fn sampler_push_offset(mut self, value: u32) -> Self { + self.inner.sampler_push_offset = value; + self + } + #[inline] + pub fn sampler_address_offset(mut self, value: u32) -> Self { + self.inner.sampler_address_offset = value; + self + } + #[inline] + pub fn sampler_heap_index_stride(mut self, value: u32) -> Self { + self.inner.sampler_heap_index_stride = value; + self + } + #[inline] + pub fn sampler_heap_array_stride(mut self, value: u32) -> Self { + self.inner.sampler_heap_array_stride = value; + self + } +} +impl<'a> core::ops::Deref for DescriptorMappingSourceIndirectIndexEXTBuilder<'a> { + type Target = DescriptorMappingSourceIndirectIndexEXT; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> core::ops::DerefMut for DescriptorMappingSourceIndirectIndexEXTBuilder<'a> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`DescriptorMappingSourceIndirectIndexArrayEXT`]. +pub struct DescriptorMappingSourceIndirectIndexArrayEXTBuilder<'a> { + inner: DescriptorMappingSourceIndirectIndexArrayEXT, + _marker: core::marker::PhantomData<&'a ()>, +} +impl DescriptorMappingSourceIndirectIndexArrayEXT { + /// Start building this struct. + #[inline] + pub fn builder<'a>() -> DescriptorMappingSourceIndirectIndexArrayEXTBuilder<'a> { + DescriptorMappingSourceIndirectIndexArrayEXTBuilder { + inner: DescriptorMappingSourceIndirectIndexArrayEXT { + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> DescriptorMappingSourceIndirectIndexArrayEXTBuilder<'a> { + #[inline] + pub fn heap_offset(mut self, value: u32) -> Self { + self.inner.heap_offset = value; + self + } + #[inline] + pub fn push_offset(mut self, value: u32) -> Self { + self.inner.push_offset = value; + self + } + #[inline] + pub fn address_offset(mut self, value: u32) -> Self { + self.inner.address_offset = value; + self + } + #[inline] + pub fn heap_index_stride(mut self, value: u32) -> Self { + self.inner.heap_index_stride = value; + self + } + #[inline] + pub fn embedded_sampler(mut self, value: &'a SamplerCreateInfo) -> Self { + self.inner.p_embedded_sampler = value; + self + } + #[inline] + pub fn use_combined_image_sampler_index(mut self, value: bool) -> Self { + self.inner.use_combined_image_sampler_index = value as u32; + self + } + #[inline] + pub fn sampler_heap_offset(mut self, value: u32) -> Self { + self.inner.sampler_heap_offset = value; + self + } + #[inline] + pub fn sampler_push_offset(mut self, value: u32) -> Self { + self.inner.sampler_push_offset = value; + self + } + #[inline] + pub fn sampler_address_offset(mut self, value: u32) -> Self { + self.inner.sampler_address_offset = value; + self + } + #[inline] + pub fn sampler_heap_index_stride(mut self, value: u32) -> Self { + self.inner.sampler_heap_index_stride = value; + self + } +} +impl<'a> core::ops::Deref for DescriptorMappingSourceIndirectIndexArrayEXTBuilder<'a> { + type Target = DescriptorMappingSourceIndirectIndexArrayEXT; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> core::ops::DerefMut +for DescriptorMappingSourceIndirectIndexArrayEXTBuilder<'a> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`DescriptorMappingSourceHeapDataEXT`]. +pub struct DescriptorMappingSourceHeapDataEXTBuilder { + inner: DescriptorMappingSourceHeapDataEXT, +} +impl DescriptorMappingSourceHeapDataEXT { + /// Start building this struct. + #[inline] + pub fn builder() -> DescriptorMappingSourceHeapDataEXTBuilder { + DescriptorMappingSourceHeapDataEXTBuilder { + inner: DescriptorMappingSourceHeapDataEXT { + ..Default::default() + }, + } + } +} +impl DescriptorMappingSourceHeapDataEXTBuilder { + #[inline] + pub fn heap_offset(mut self, value: u32) -> Self { + self.inner.heap_offset = value; + self + } + #[inline] + pub fn push_offset(mut self, value: u32) -> Self { + self.inner.push_offset = value; + self + } +} +impl core::ops::Deref for DescriptorMappingSourceHeapDataEXTBuilder { + type Target = DescriptorMappingSourceHeapDataEXT; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for DescriptorMappingSourceHeapDataEXTBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`DescriptorMappingSourceShaderRecordIndexEXT`]. +pub struct DescriptorMappingSourceShaderRecordIndexEXTBuilder<'a> { + inner: DescriptorMappingSourceShaderRecordIndexEXT, + _marker: core::marker::PhantomData<&'a ()>, +} +impl DescriptorMappingSourceShaderRecordIndexEXT { + /// Start building this struct. + #[inline] + pub fn builder<'a>() -> DescriptorMappingSourceShaderRecordIndexEXTBuilder<'a> { + DescriptorMappingSourceShaderRecordIndexEXTBuilder { + inner: DescriptorMappingSourceShaderRecordIndexEXT { + ..Default::default() + }, + _marker: core::marker::PhantomData, + } + } +} +impl<'a> DescriptorMappingSourceShaderRecordIndexEXTBuilder<'a> { + #[inline] + pub fn heap_offset(mut self, value: u32) -> Self { + self.inner.heap_offset = value; + self + } + #[inline] + pub fn shader_record_offset(mut self, value: u32) -> Self { + self.inner.shader_record_offset = value; + self + } + #[inline] + pub fn heap_index_stride(mut self, value: u32) -> Self { + self.inner.heap_index_stride = value; + self + } + #[inline] + pub fn heap_array_stride(mut self, value: u32) -> Self { + self.inner.heap_array_stride = value; + self + } + #[inline] + pub fn embedded_sampler(mut self, value: &'a SamplerCreateInfo) -> Self { + self.inner.p_embedded_sampler = value; + self + } + #[inline] + pub fn use_combined_image_sampler_index(mut self, value: bool) -> Self { + self.inner.use_combined_image_sampler_index = value as u32; + self + } + #[inline] + pub fn sampler_heap_offset(mut self, value: u32) -> Self { + self.inner.sampler_heap_offset = value; + self + } + #[inline] + pub fn sampler_shader_record_offset(mut self, value: u32) -> Self { + self.inner.sampler_shader_record_offset = value; + self + } + #[inline] + pub fn sampler_heap_index_stride(mut self, value: u32) -> Self { + self.inner.sampler_heap_index_stride = value; + self + } + #[inline] + pub fn sampler_heap_array_stride(mut self, value: u32) -> Self { + self.inner.sampler_heap_array_stride = value; + self + } +} +impl<'a> core::ops::Deref for DescriptorMappingSourceShaderRecordIndexEXTBuilder<'a> { + type Target = DescriptorMappingSourceShaderRecordIndexEXT; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> core::ops::DerefMut for DescriptorMappingSourceShaderRecordIndexEXTBuilder<'a> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`DescriptorMappingSourceIndirectAddressEXT`]. +pub struct DescriptorMappingSourceIndirectAddressEXTBuilder { + inner: DescriptorMappingSourceIndirectAddressEXT, +} +impl DescriptorMappingSourceIndirectAddressEXT { + /// Start building this struct. + #[inline] + pub fn builder() -> DescriptorMappingSourceIndirectAddressEXTBuilder { + DescriptorMappingSourceIndirectAddressEXTBuilder { + inner: DescriptorMappingSourceIndirectAddressEXT { + ..Default::default() + }, + } + } +} +impl DescriptorMappingSourceIndirectAddressEXTBuilder { + #[inline] + pub fn push_offset(mut self, value: u32) -> Self { + self.inner.push_offset = value; + self + } + #[inline] + pub fn address_offset(mut self, value: u32) -> Self { + self.inner.address_offset = value; + self + } +} +impl core::ops::Deref for DescriptorMappingSourceIndirectAddressEXTBuilder { + type Target = DescriptorMappingSourceIndirectAddressEXT; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for DescriptorMappingSourceIndirectAddressEXTBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`DescriptorSetAndBindingMappingEXT`] with lifetime-tied pNext safety. pub struct DescriptorSetAndBindingMappingEXTBuilder<'a> { inner: DescriptorSetAndBindingMappingEXT, @@ -73731,7 +83231,7 @@ impl OpaqueCaptureDataCreateInfoEXT { } impl<'a> OpaqueCaptureDataCreateInfoEXTBuilder<'a> { #[inline] - pub fn p_data(mut self, value: &'a HostAddressRangeConstEXT) -> Self { + pub fn data(mut self, value: &'a HostAddressRangeConstEXT) -> Self { self.inner.p_data = value; self } @@ -74081,12 +83581,12 @@ impl CommandBufferInheritanceDescriptorHeapInfoEXT { } impl<'a> CommandBufferInheritanceDescriptorHeapInfoEXTBuilder<'a> { #[inline] - pub fn p_sampler_heap_bind_info(mut self, value: &'a BindHeapInfoEXT) -> Self { + pub fn sampler_heap_bind_info(mut self, value: &'a BindHeapInfoEXT) -> Self { self.inner.p_sampler_heap_bind_info = value; self } #[inline] - pub fn p_resource_heap_bind_info(mut self, value: &'a BindHeapInfoEXT) -> Self { + pub fn resource_heap_bind_info(mut self, value: &'a BindHeapInfoEXT) -> Self { self.inner.p_resource_heap_bind_info = value; self } @@ -74381,6 +83881,96 @@ impl<'a> core::ops::DerefMut for ShaderInstrumentationMetricDescriptionARMBuilde &mut self.inner } } +///Builder for [`ShaderInstrumentationMetricDataHeaderARM`]. +pub struct ShaderInstrumentationMetricDataHeaderARMBuilder { + inner: ShaderInstrumentationMetricDataHeaderARM, +} +impl ShaderInstrumentationMetricDataHeaderARM { + /// Start building this struct. + #[inline] + pub fn builder() -> ShaderInstrumentationMetricDataHeaderARMBuilder { + ShaderInstrumentationMetricDataHeaderARMBuilder { + inner: ShaderInstrumentationMetricDataHeaderARM { + ..Default::default() + }, + } + } +} +impl ShaderInstrumentationMetricDataHeaderARMBuilder { + #[inline] + pub fn result_index(mut self, value: u32) -> Self { + self.inner.result_index = value; + self + } + #[inline] + pub fn result_sub_index(mut self, value: u32) -> Self { + self.inner.result_sub_index = value; + self + } + #[inline] + pub fn stages(mut self, value: ShaderStageFlags) -> Self { + self.inner.stages = value; + self + } + #[inline] + pub fn basic_block_index(mut self, value: u32) -> Self { + self.inner.basic_block_index = value; + self + } +} +impl core::ops::Deref for ShaderInstrumentationMetricDataHeaderARMBuilder { + type Target = ShaderInstrumentationMetricDataHeaderARM; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for ShaderInstrumentationMetricDataHeaderARMBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +///Builder for [`DeviceAddressRangeKHR`]. +pub struct DeviceAddressRangeKHRBuilder { + inner: DeviceAddressRangeKHR, +} +impl DeviceAddressRangeKHR { + /// Start building this struct. + #[inline] + pub fn builder() -> DeviceAddressRangeKHRBuilder { + DeviceAddressRangeKHRBuilder { + inner: DeviceAddressRangeKHR { + ..Default::default() + }, + } + } +} +impl DeviceAddressRangeKHRBuilder { + #[inline] + pub fn address(mut self, value: u64) -> Self { + self.inner.address = value; + self + } + #[inline] + pub fn size(mut self, value: u64) -> Self { + self.inner.size = value; + self + } +} +impl core::ops::Deref for DeviceAddressRangeKHRBuilder { + type Target = DeviceAddressRangeKHR; + #[inline] + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl core::ops::DerefMut for DeviceAddressRangeKHRBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} ///Builder for [`DeviceMemoryCopyKHR`] with lifetime-tied pNext safety. pub struct DeviceMemoryCopyKHRBuilder<'a> { inner: DeviceMemoryCopyKHR, @@ -75598,7 +85188,7 @@ impl<'a> DeviceFaultShaderAbortMessageInfoKHRBuilder<'a> { self } #[inline] - pub fn p_message_data(mut self, value: *mut core::ffi::c_void) -> Self { + pub fn message_data(mut self, value: *mut core::ffi::c_void) -> Self { self.inner.p_message_data = value; self } diff --git a/vulkan-rust-sys/src/clear_value.rs b/vulkan-rust-sys/src/clear_value.rs new file mode 100644 index 0000000..4392aca --- /dev/null +++ b/vulkan-rust-sys/src/clear_value.rs @@ -0,0 +1,57 @@ +//! Safe constructors for [`ClearValue`] and [`ClearColorValue`] unions. + +use crate::structs::{ClearColorValue, ClearDepthStencilValue, ClearValue}; + +impl ClearColorValue { + /// Create from RGBA float values. + #[inline] + pub const fn from_float32(rgba: [f32; 4]) -> Self { + Self { float32: rgba } + } + + /// Create from RGBA signed integer values. + #[inline] + pub const fn from_int32(rgba: [i32; 4]) -> Self { + Self { int32: rgba } + } + + /// Create from RGBA unsigned integer values. + #[inline] + pub const fn from_uint32(rgba: [u32; 4]) -> Self { + Self { uint32: rgba } + } +} + +impl ClearValue { + /// Create a color clear value from RGBA floats. + #[inline] + pub const fn color_f32(rgba: [f32; 4]) -> Self { + Self { + color: ClearColorValue::from_float32(rgba), + } + } + + /// Create a color clear value from RGBA signed integers. + #[inline] + pub const fn color_i32(rgba: [i32; 4]) -> Self { + Self { + color: ClearColorValue::from_int32(rgba), + } + } + + /// Create a color clear value from RGBA unsigned integers. + #[inline] + pub const fn color_u32(rgba: [u32; 4]) -> Self { + Self { + color: ClearColorValue::from_uint32(rgba), + } + } + + /// Create a depth/stencil clear value. + #[inline] + pub const fn depth_stencil(depth: f32, stencil: u32) -> Self { + Self { + depth_stencil: ClearDepthStencilValue { depth, stencil }, + } + } +} diff --git a/vulkan-rust-sys/src/enums.rs b/vulkan-rust-sys/src/enums.rs index 84a61dc..336b515 100644 --- a/vulkan-rust-sys/src/enums.rs +++ b/vulkan-rust-sys/src/enums.rs @@ -28,6 +28,12 @@ impl core::fmt::Debug for AccelerationStructureBuildTypeKHR { } } } +impl core::fmt::Display for AccelerationStructureBuildTypeKHR { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for AccelerationStructureBuildTypeKHR {} ///[`VkAccelerationStructureCompatibilityKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureCompatibilityKHR.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -58,6 +64,12 @@ impl core::fmt::Debug for AccelerationStructureCompatibilityKHR { } } } +impl core::fmt::Display for AccelerationStructureCompatibilityKHR { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for AccelerationStructureCompatibilityKHR {} ///[`VkAccelerationStructureMemoryRequirementsTypeNV`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureMemoryRequirementsTypeNV.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -91,6 +103,12 @@ impl core::fmt::Debug for AccelerationStructureMemoryRequirementsTypeNV { } } } +impl core::fmt::Display for AccelerationStructureMemoryRequirementsTypeNV { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for AccelerationStructureMemoryRequirementsTypeNV {} ///[`VkAccelerationStructureMotionInstanceTypeNV`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureMotionInstanceTypeNV.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -124,6 +142,12 @@ impl core::fmt::Debug for AccelerationStructureMotionInstanceTypeNV { } } } +impl core::fmt::Display for AccelerationStructureMotionInstanceTypeNV { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for AccelerationStructureMotionInstanceTypeNV {} ///[`VkAccelerationStructureTypeKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureTypeKHR.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -152,6 +176,12 @@ impl core::fmt::Debug for AccelerationStructureTypeKHR { } } } +impl core::fmt::Display for AccelerationStructureTypeKHR { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for AccelerationStructureTypeKHR {} ///[`VkAntiLagModeAMD`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkAntiLagModeAMD.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -180,6 +210,12 @@ impl core::fmt::Debug for AntiLagModeAMD { } } } +impl core::fmt::Display for AntiLagModeAMD { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for AntiLagModeAMD {} ///[`VkAntiLagStageAMD`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkAntiLagStageAMD.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -206,6 +242,12 @@ impl core::fmt::Debug for AntiLagStageAMD { } } } +impl core::fmt::Display for AntiLagStageAMD { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for AntiLagStageAMD {} ///[`VkAttachmentLoadOp`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkAttachmentLoadOp.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -236,6 +278,12 @@ impl core::fmt::Debug for AttachmentLoadOp { } } } +impl core::fmt::Display for AttachmentLoadOp { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for AttachmentLoadOp {} ///[`VkAttachmentStoreOp`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkAttachmentStoreOp.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -264,6 +312,12 @@ impl core::fmt::Debug for AttachmentStoreOp { } } } +impl core::fmt::Display for AttachmentStoreOp { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for AttachmentStoreOp {} ///[`VkBlendFactor`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkBlendFactor.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -324,6 +378,12 @@ impl core::fmt::Debug for BlendFactor { } } } +impl core::fmt::Display for BlendFactor { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for BlendFactor {} ///[`VkBlendOp`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkBlendOp.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -448,6 +508,12 @@ impl core::fmt::Debug for BlendOp { } } } +impl core::fmt::Display for BlendOp { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for BlendOp {} ///[`VkBlendOverlapEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkBlendOverlapEXT.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -476,6 +542,12 @@ impl core::fmt::Debug for BlendOverlapEXT { } } } +impl core::fmt::Display for BlendOverlapEXT { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for BlendOverlapEXT {} ///[`VkBlockMatchWindowCompareModeQCOM`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkBlockMatchWindowCompareModeQCOM.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -504,6 +576,12 @@ impl core::fmt::Debug for BlockMatchWindowCompareModeQCOM { } } } +impl core::fmt::Display for BlockMatchWindowCompareModeQCOM { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for BlockMatchWindowCompareModeQCOM {} ///[`VkBorderColor`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkBorderColor.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -542,6 +620,12 @@ impl core::fmt::Debug for BorderColor { } } } +impl core::fmt::Display for BorderColor { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for BorderColor {} ///[`VkBuildAccelerationStructureModeKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkBuildAccelerationStructureModeKHR.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -570,6 +654,12 @@ impl core::fmt::Debug for BuildAccelerationStructureModeKHR { } } } +impl core::fmt::Display for BuildAccelerationStructureModeKHR { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for BuildAccelerationStructureModeKHR {} ///[`VkBuildMicromapModeEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkBuildMicromapModeEXT.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -594,6 +684,12 @@ impl core::fmt::Debug for BuildMicromapModeEXT { } } } +impl core::fmt::Display for BuildMicromapModeEXT { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for BuildMicromapModeEXT {} ///[`VkChromaLocation`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkChromaLocation.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -620,6 +716,12 @@ impl core::fmt::Debug for ChromaLocation { } } } +impl core::fmt::Display for ChromaLocation { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for ChromaLocation {} ///[`VkClusterAccelerationStructureOpModeNV`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkClusterAccelerationStructureOpModeNV.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -652,6 +754,12 @@ impl core::fmt::Debug for ClusterAccelerationStructureOpModeNV { } } } +impl core::fmt::Display for ClusterAccelerationStructureOpModeNV { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for ClusterAccelerationStructureOpModeNV {} ///[`VkClusterAccelerationStructureOpTypeNV`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkClusterAccelerationStructureOpTypeNV.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -690,6 +798,12 @@ impl core::fmt::Debug for ClusterAccelerationStructureOpTypeNV { } } } +impl core::fmt::Display for ClusterAccelerationStructureOpTypeNV { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for ClusterAccelerationStructureOpTypeNV {} ///[`VkClusterAccelerationStructureTypeNV`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkClusterAccelerationStructureTypeNV.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -722,6 +836,12 @@ impl core::fmt::Debug for ClusterAccelerationStructureTypeNV { } } } +impl core::fmt::Display for ClusterAccelerationStructureTypeNV { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for ClusterAccelerationStructureTypeNV {} ///[`VkCoarseSampleOrderTypeNV`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkCoarseSampleOrderTypeNV.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -752,6 +872,12 @@ impl core::fmt::Debug for CoarseSampleOrderTypeNV { } } } +impl core::fmt::Display for CoarseSampleOrderTypeNV { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for CoarseSampleOrderTypeNV {} ///[`VkColorSpaceKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkColorSpaceKHR.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -808,6 +934,12 @@ impl core::fmt::Debug for ColorSpaceKHR { } } } +impl core::fmt::Display for ColorSpaceKHR { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for ColorSpaceKHR {} ///[`VkCommandBufferLevel`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkCommandBufferLevel.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -834,6 +966,12 @@ impl core::fmt::Debug for CommandBufferLevel { } } } +impl core::fmt::Display for CommandBufferLevel { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for CommandBufferLevel {} ///[`VkCompareOp`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkCompareOp.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -872,6 +1010,12 @@ impl core::fmt::Debug for CompareOp { } } } +impl core::fmt::Display for CompareOp { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for CompareOp {} ///[`VkComponentSwizzle`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkComponentSwizzle.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -908,6 +1052,12 @@ impl core::fmt::Debug for ComponentSwizzle { } } } +impl core::fmt::Display for ComponentSwizzle { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for ComponentSwizzle {} ///[`VkComponentTypeKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkComponentTypeKHR.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -964,6 +1114,12 @@ impl core::fmt::Debug for ComponentTypeKHR { } } } +impl core::fmt::Display for ComponentTypeKHR { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for ComponentTypeKHR {} ///[`VkCompressedTriangleFormatAMDX`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkCompressedTriangleFormatAMDX.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -988,6 +1144,12 @@ impl core::fmt::Debug for CompressedTriangleFormatAMDX { } } } +impl core::fmt::Display for CompressedTriangleFormatAMDX { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for CompressedTriangleFormatAMDX {} ///[`VkConservativeRasterizationModeEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkConservativeRasterizationModeEXT.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -1018,6 +1180,12 @@ impl core::fmt::Debug for ConservativeRasterizationModeEXT { } } } +impl core::fmt::Display for ConservativeRasterizationModeEXT { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for ConservativeRasterizationModeEXT {} ///[`VkCooperativeVectorMatrixLayoutNV`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkCooperativeVectorMatrixLayoutNV.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -1050,6 +1218,12 @@ impl core::fmt::Debug for CooperativeVectorMatrixLayoutNV { } } } +impl core::fmt::Display for CooperativeVectorMatrixLayoutNV { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for CooperativeVectorMatrixLayoutNV {} ///[`VkCopyAccelerationStructureModeKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkCopyAccelerationStructureModeKHR.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -1082,6 +1256,12 @@ impl core::fmt::Debug for CopyAccelerationStructureModeKHR { } } } +impl core::fmt::Display for CopyAccelerationStructureModeKHR { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for CopyAccelerationStructureModeKHR {} ///[`VkCopyMicromapModeEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkCopyMicromapModeEXT.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -1112,6 +1292,12 @@ impl core::fmt::Debug for CopyMicromapModeEXT { } } } +impl core::fmt::Display for CopyMicromapModeEXT { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for CopyMicromapModeEXT {} ///[`VkCoverageModulationModeNV`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkCoverageModulationModeNV.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -1142,6 +1328,12 @@ impl core::fmt::Debug for CoverageModulationModeNV { } } } +impl core::fmt::Display for CoverageModulationModeNV { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for CoverageModulationModeNV {} ///[`VkCoverageReductionModeNV`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkCoverageReductionModeNV.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -1168,6 +1360,12 @@ impl core::fmt::Debug for CoverageReductionModeNV { } } } +impl core::fmt::Display for CoverageReductionModeNV { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for CoverageReductionModeNV {} ///[`VkCubicFilterWeightsQCOM`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkCubicFilterWeightsQCOM.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -1198,6 +1396,12 @@ impl core::fmt::Debug for CubicFilterWeightsQCOM { } } } +impl core::fmt::Display for CubicFilterWeightsQCOM { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for CubicFilterWeightsQCOM {} ///[`VkDataGraphModelCacheTypeQCOM`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkDataGraphModelCacheTypeQCOM.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -1222,6 +1426,12 @@ impl core::fmt::Debug for DataGraphModelCacheTypeQCOM { } } } +impl core::fmt::Display for DataGraphModelCacheTypeQCOM { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for DataGraphModelCacheTypeQCOM {} ///[`VkDataGraphPipelinePropertyARM`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkDataGraphPipelinePropertyARM.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -1248,6 +1458,12 @@ impl core::fmt::Debug for DataGraphPipelinePropertyARM { } } } +impl core::fmt::Display for DataGraphPipelinePropertyARM { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for DataGraphPipelinePropertyARM {} ///[`VkDataGraphPipelineSessionBindPointARM`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkDataGraphPipelineSessionBindPointARM.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -1276,6 +1492,12 @@ impl core::fmt::Debug for DataGraphPipelineSessionBindPointARM { } } } +impl core::fmt::Display for DataGraphPipelineSessionBindPointARM { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for DataGraphPipelineSessionBindPointARM {} ///[`VkDataGraphPipelineSessionBindPointTypeARM`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkDataGraphPipelineSessionBindPointTypeARM.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -1305,6 +1527,12 @@ impl core::fmt::Debug for DataGraphPipelineSessionBindPointTypeARM { } } } +impl core::fmt::Display for DataGraphPipelineSessionBindPointTypeARM { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for DataGraphPipelineSessionBindPointTypeARM {} ///[`VkDebugReportObjectTypeEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkDebugReportObjectTypeEXT.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -1411,6 +1639,12 @@ impl core::fmt::Debug for DebugReportObjectTypeEXT { } } } +impl core::fmt::Display for DebugReportObjectTypeEXT { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for DebugReportObjectTypeEXT {} ///[`VkDefaultVertexAttributeValueKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkDefaultVertexAttributeValueKHR.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -1439,6 +1673,12 @@ impl core::fmt::Debug for DefaultVertexAttributeValueKHR { } } } +impl core::fmt::Display for DefaultVertexAttributeValueKHR { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for DefaultVertexAttributeValueKHR {} ///[`VkDepthBiasRepresentationEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkDepthBiasRepresentationEXT.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -1467,6 +1707,12 @@ impl core::fmt::Debug for DepthBiasRepresentationEXT { } } } +impl core::fmt::Display for DepthBiasRepresentationEXT { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for DepthBiasRepresentationEXT {} ///[`VkDepthClampModeEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkDepthClampModeEXT.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -1493,6 +1739,12 @@ impl core::fmt::Debug for DepthClampModeEXT { } } } +impl core::fmt::Display for DepthClampModeEXT { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for DepthClampModeEXT {} ///[`VkDescriptorMappingSourceEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorMappingSourceEXT.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -1537,6 +1789,12 @@ impl core::fmt::Debug for DescriptorMappingSourceEXT { } } } +impl core::fmt::Display for DescriptorMappingSourceEXT { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for DescriptorMappingSourceEXT {} ///[`VkDescriptorType`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorType.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -1593,6 +1851,12 @@ impl core::fmt::Debug for DescriptorType { } } } +impl core::fmt::Display for DescriptorType { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for DescriptorType {} ///[`VkDescriptorUpdateTemplateType`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorUpdateTemplateType.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -1620,6 +1884,12 @@ impl core::fmt::Debug for DescriptorUpdateTemplateType { } } } +impl core::fmt::Display for DescriptorUpdateTemplateType { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for DescriptorUpdateTemplateType {} ///[`VkDeviceAddressBindingTypeEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceAddressBindingTypeEXT.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -1646,6 +1916,12 @@ impl core::fmt::Debug for DeviceAddressBindingTypeEXT { } } } +impl core::fmt::Display for DeviceAddressBindingTypeEXT { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for DeviceAddressBindingTypeEXT {} ///[`VkDeviceEventTypeEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceEventTypeEXT.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -1670,6 +1946,12 @@ impl core::fmt::Debug for DeviceEventTypeEXT { } } } +impl core::fmt::Display for DeviceEventTypeEXT { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for DeviceEventTypeEXT {} ///[`VkDeviceFaultAddressTypeKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceFaultAddressTypeKHR.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -1707,6 +1989,12 @@ impl core::fmt::Debug for DeviceFaultAddressTypeKHR { } } } +impl core::fmt::Display for DeviceFaultAddressTypeKHR { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for DeviceFaultAddressTypeKHR {} ///[`VkDeviceFaultVendorBinaryHeaderVersionKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceFaultVendorBinaryHeaderVersionKHR.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -1736,6 +2024,12 @@ impl core::fmt::Debug for DeviceFaultVendorBinaryHeaderVersionKHR { } } } +impl core::fmt::Display for DeviceFaultVendorBinaryHeaderVersionKHR { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for DeviceFaultVendorBinaryHeaderVersionKHR {} ///[`VkDeviceMemoryReportEventTypeEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkDeviceMemoryReportEventTypeEXT.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -1770,6 +2064,12 @@ impl core::fmt::Debug for DeviceMemoryReportEventTypeEXT { } } } +impl core::fmt::Display for DeviceMemoryReportEventTypeEXT { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for DeviceMemoryReportEventTypeEXT {} ///[`VkDirectDriverLoadingModeLUNARG`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkDirectDriverLoadingModeLUNARG.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -1798,6 +2098,12 @@ impl core::fmt::Debug for DirectDriverLoadingModeLUNARG { } } } +impl core::fmt::Display for DirectDriverLoadingModeLUNARG { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for DirectDriverLoadingModeLUNARG {} ///[`VkDiscardRectangleModeEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkDiscardRectangleModeEXT.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -1824,6 +2130,12 @@ impl core::fmt::Debug for DiscardRectangleModeEXT { } } } +impl core::fmt::Display for DiscardRectangleModeEXT { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for DiscardRectangleModeEXT {} ///[`VkDisplacementMicromapFormatNV`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkDisplacementMicromapFormatNV.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -1852,6 +2164,12 @@ impl core::fmt::Debug for DisplacementMicromapFormatNV { } } } +impl core::fmt::Display for DisplacementMicromapFormatNV { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for DisplacementMicromapFormatNV {} ///[`VkDisplayEventTypeEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkDisplayEventTypeEXT.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -1876,6 +2194,12 @@ impl core::fmt::Debug for DisplayEventTypeEXT { } } } +impl core::fmt::Display for DisplayEventTypeEXT { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for DisplayEventTypeEXT {} ///[`VkDisplayPowerStateEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkDisplayPowerStateEXT.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -1904,6 +2228,12 @@ impl core::fmt::Debug for DisplayPowerStateEXT { } } } +impl core::fmt::Display for DisplayPowerStateEXT { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for DisplayPowerStateEXT {} ///[`VkDisplaySurfaceStereoTypeNV`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkDisplaySurfaceStereoTypeNV.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -1934,6 +2264,12 @@ impl core::fmt::Debug for DisplaySurfaceStereoTypeNV { } } } +impl core::fmt::Display for DisplaySurfaceStereoTypeNV { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for DisplaySurfaceStereoTypeNV {} ///[`VkDriverId`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkDriverId.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -2041,6 +2377,12 @@ impl core::fmt::Debug for DriverId { } } } +impl core::fmt::Display for DriverId { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for DriverId {} ///[`VkDynamicState`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkDynamicState.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -2211,6 +2553,12 @@ impl core::fmt::Debug for DynamicState { } } } +impl core::fmt::Display for DynamicState { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for DynamicState {} ///[`VkFaultLevel`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkFaultLevel.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -2241,6 +2589,12 @@ impl core::fmt::Debug for FaultLevel { } } } +impl core::fmt::Display for FaultLevel { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for FaultLevel {} ///[`VkFaultQueryBehavior`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkFaultQueryBehavior.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -2265,6 +2619,12 @@ impl core::fmt::Debug for FaultQueryBehavior { } } } +impl core::fmt::Display for FaultQueryBehavior { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for FaultQueryBehavior {} ///[`VkFaultType`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkFaultType.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -2301,6 +2661,12 @@ impl core::fmt::Debug for FaultType { } } } +impl core::fmt::Display for FaultType { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for FaultType {} ///[`VkFilter`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkFilter.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -2327,6 +2693,12 @@ impl core::fmt::Debug for Filter { } } } +impl core::fmt::Display for Filter { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for Filter {} ///[`VkFormat`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkFormat.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -2946,6 +3318,12 @@ impl core::fmt::Debug for Format { } } } +impl core::fmt::Display for Format { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for Format {} ///[`VkFragmentShadingRateCombinerOpKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkFragmentShadingRateCombinerOpKHR.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -2980,6 +3358,12 @@ impl core::fmt::Debug for FragmentShadingRateCombinerOpKHR { } } } +impl core::fmt::Display for FragmentShadingRateCombinerOpKHR { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for FragmentShadingRateCombinerOpKHR {} ///[`VkFragmentShadingRateNV`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkFragmentShadingRateNV.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -3026,6 +3410,12 @@ impl core::fmt::Debug for FragmentShadingRateNV { } } } +impl core::fmt::Display for FragmentShadingRateNV { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for FragmentShadingRateNV {} ///[`VkFragmentShadingRateTypeNV`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkFragmentShadingRateTypeNV.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -3052,6 +3442,12 @@ impl core::fmt::Debug for FragmentShadingRateTypeNV { } } } +impl core::fmt::Display for FragmentShadingRateTypeNV { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for FragmentShadingRateTypeNV {} ///[`VkFrontFace`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkFrontFace.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -3078,6 +3474,12 @@ impl core::fmt::Debug for FrontFace { } } } +impl core::fmt::Display for FrontFace { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for FrontFace {} ///[`VkFullScreenExclusiveEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkFullScreenExclusiveEXT.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -3108,6 +3510,12 @@ impl core::fmt::Debug for FullScreenExclusiveEXT { } } } +impl core::fmt::Display for FullScreenExclusiveEXT { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for FullScreenExclusiveEXT {} ///[`VkGeometryTypeKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkGeometryTypeKHR.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -3142,6 +3550,12 @@ impl core::fmt::Debug for GeometryTypeKHR { } } } +impl core::fmt::Display for GeometryTypeKHR { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for GeometryTypeKHR {} ///[`VkImageLayout`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageLayout.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -3238,6 +3652,12 @@ impl core::fmt::Debug for ImageLayout { } } } +impl core::fmt::Display for ImageLayout { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for ImageLayout {} ///[`VkImageTiling`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageTiling.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -3266,6 +3686,12 @@ impl core::fmt::Debug for ImageTiling { } } } +impl core::fmt::Display for ImageTiling { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for ImageTiling {} ///[`VkImageType`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageType.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -3294,6 +3720,12 @@ impl core::fmt::Debug for ImageType { } } } +impl core::fmt::Display for ImageType { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for ImageType {} ///[`VkImageViewType`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageViewType.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -3330,6 +3762,12 @@ impl core::fmt::Debug for ImageViewType { } } } +impl core::fmt::Display for ImageViewType { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for ImageViewType {} ///[`VkIndexType`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkIndexType.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -3360,6 +3798,12 @@ impl core::fmt::Debug for IndexType { } } } +impl core::fmt::Display for IndexType { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for IndexType {} ///[`VkIndirectCommandsTokenTypeEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkIndirectCommandsTokenTypeEXT.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -3416,6 +3860,12 @@ impl core::fmt::Debug for IndirectCommandsTokenTypeEXT { } } } +impl core::fmt::Display for IndirectCommandsTokenTypeEXT { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for IndirectCommandsTokenTypeEXT {} ///[`VkIndirectCommandsTokenTypeNV`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkIndirectCommandsTokenTypeNV.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -3462,6 +3912,12 @@ impl core::fmt::Debug for IndirectCommandsTokenTypeNV { } } } +impl core::fmt::Display for IndirectCommandsTokenTypeNV { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for IndirectCommandsTokenTypeNV {} ///[`VkIndirectExecutionSetInfoTypeEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkIndirectExecutionSetInfoTypeEXT.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -3490,6 +3946,12 @@ impl core::fmt::Debug for IndirectExecutionSetInfoTypeEXT { } } } +impl core::fmt::Display for IndirectExecutionSetInfoTypeEXT { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for IndirectExecutionSetInfoTypeEXT {} ///[`VkInternalAllocationType`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkInternalAllocationType.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -3514,6 +3976,12 @@ impl core::fmt::Debug for InternalAllocationType { } } } +impl core::fmt::Display for InternalAllocationType { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for InternalAllocationType {} ///[`VkLatencyMarkerNV`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkLatencyMarkerNV.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -3560,6 +4028,12 @@ impl core::fmt::Debug for LatencyMarkerNV { } } } +impl core::fmt::Display for LatencyMarkerNV { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for LatencyMarkerNV {} ///[`VkLayerSettingTypeEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkLayerSettingTypeEXT.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -3598,6 +4072,12 @@ impl core::fmt::Debug for LayerSettingTypeEXT { } } } +impl core::fmt::Display for LayerSettingTypeEXT { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for LayerSettingTypeEXT {} ///[`VkLayeredDriverUnderlyingApiMSFT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkLayeredDriverUnderlyingApiMSFT.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -3626,6 +4106,12 @@ impl core::fmt::Debug for LayeredDriverUnderlyingApiMSFT { } } } +impl core::fmt::Display for LayeredDriverUnderlyingApiMSFT { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for LayeredDriverUnderlyingApiMSFT {} ///[`VkLineRasterizationMode`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkLineRasterizationMode.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -3656,6 +4142,12 @@ impl core::fmt::Debug for LineRasterizationMode { } } } +impl core::fmt::Display for LineRasterizationMode { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for LineRasterizationMode {} ///[`VkLogicOp`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkLogicOp.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -3710,6 +4202,12 @@ impl core::fmt::Debug for LogicOp { } } } +impl core::fmt::Display for LogicOp { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for LogicOp {} ///[`VkMemoryOverallocationBehaviorAMD`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkMemoryOverallocationBehaviorAMD.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -3740,6 +4238,12 @@ impl core::fmt::Debug for MemoryOverallocationBehaviorAMD { } } } +impl core::fmt::Display for MemoryOverallocationBehaviorAMD { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for MemoryOverallocationBehaviorAMD {} ///[`VkMicromapTypeEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkMicromapTypeEXT.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -3766,6 +4270,12 @@ impl core::fmt::Debug for MicromapTypeEXT { } } } +impl core::fmt::Display for MicromapTypeEXT { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for MicromapTypeEXT {} ///[`VkObjectType`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkObjectType.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -3905,6 +4415,12 @@ impl core::fmt::Debug for ObjectType { } } } +impl core::fmt::Display for ObjectType { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for ObjectType {} ///[`VkOpacityMicromapFormatEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkOpacityMicromapFormatEXT.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -3931,6 +4447,12 @@ impl core::fmt::Debug for OpacityMicromapFormatEXT { } } } +impl core::fmt::Display for OpacityMicromapFormatEXT { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for OpacityMicromapFormatEXT {} ///[`VkOpacityMicromapSpecialIndexEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkOpacityMicromapSpecialIndexEXT.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -3965,6 +4487,12 @@ impl core::fmt::Debug for OpacityMicromapSpecialIndexEXT { } } } +impl core::fmt::Display for OpacityMicromapSpecialIndexEXT { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for OpacityMicromapSpecialIndexEXT {} ///[`VkOpticalFlowPerformanceLevelNV`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkOpticalFlowPerformanceLevelNV.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -3997,6 +4525,12 @@ impl core::fmt::Debug for OpticalFlowPerformanceLevelNV { } } } +impl core::fmt::Display for OpticalFlowPerformanceLevelNV { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for OpticalFlowPerformanceLevelNV {} ///[`VkOpticalFlowSessionBindingPointNV`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkOpticalFlowSessionBindingPointNV.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -4039,6 +4573,12 @@ impl core::fmt::Debug for OpticalFlowSessionBindingPointNV { } } } +impl core::fmt::Display for OpticalFlowSessionBindingPointNV { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for OpticalFlowSessionBindingPointNV {} ///[`VkOutOfBandQueueTypeNV`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkOutOfBandQueueTypeNV.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -4065,6 +4605,12 @@ impl core::fmt::Debug for OutOfBandQueueTypeNV { } } } +impl core::fmt::Display for OutOfBandQueueTypeNV { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for OutOfBandQueueTypeNV {} ///[`VkPartitionedAccelerationStructureOpTypeNV`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPartitionedAccelerationStructureOpTypeNV.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -4098,6 +4644,12 @@ impl core::fmt::Debug for PartitionedAccelerationStructureOpTypeNV { } } } +impl core::fmt::Display for PartitionedAccelerationStructureOpTypeNV { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for PartitionedAccelerationStructureOpTypeNV {} ///[`VkPerformanceConfigurationTypeINTEL`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPerformanceConfigurationTypeINTEL.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -4124,6 +4676,12 @@ impl core::fmt::Debug for PerformanceConfigurationTypeINTEL { } } } +impl core::fmt::Display for PerformanceConfigurationTypeINTEL { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for PerformanceConfigurationTypeINTEL {} ///[`VkPerformanceCounterScopeKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPerformanceCounterScopeKHR.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -4155,6 +4713,12 @@ impl core::fmt::Debug for PerformanceCounterScopeKHR { } } } +impl core::fmt::Display for PerformanceCounterScopeKHR { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for PerformanceCounterScopeKHR {} ///[`VkPerformanceCounterStorageKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPerformanceCounterStorageKHR.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -4189,6 +4753,12 @@ impl core::fmt::Debug for PerformanceCounterStorageKHR { } } } +impl core::fmt::Display for PerformanceCounterStorageKHR { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for PerformanceCounterStorageKHR {} ///[`VkPerformanceCounterUnitKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPerformanceCounterUnitKHR.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -4233,6 +4803,12 @@ impl core::fmt::Debug for PerformanceCounterUnitKHR { } } } +impl core::fmt::Display for PerformanceCounterUnitKHR { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for PerformanceCounterUnitKHR {} ///[`VkPerformanceOverrideTypeINTEL`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPerformanceOverrideTypeINTEL.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -4259,6 +4835,12 @@ impl core::fmt::Debug for PerformanceOverrideTypeINTEL { } } } +impl core::fmt::Display for PerformanceOverrideTypeINTEL { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for PerformanceOverrideTypeINTEL {} ///[`VkPerformanceParameterTypeINTEL`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPerformanceParameterTypeINTEL.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -4287,6 +4869,12 @@ impl core::fmt::Debug for PerformanceParameterTypeINTEL { } } } +impl core::fmt::Display for PerformanceParameterTypeINTEL { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for PerformanceParameterTypeINTEL {} ///[`VkPerformanceValueTypeINTEL`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPerformanceValueTypeINTEL.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -4319,6 +4907,12 @@ impl core::fmt::Debug for PerformanceValueTypeINTEL { } } } +impl core::fmt::Display for PerformanceValueTypeINTEL { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for PerformanceValueTypeINTEL {} ///[`VkPhysicalDeviceDataGraphOperationTypeARM`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceDataGraphOperationTypeARM.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -4352,6 +4946,12 @@ impl core::fmt::Debug for PhysicalDeviceDataGraphOperationTypeARM { } } } +impl core::fmt::Display for PhysicalDeviceDataGraphOperationTypeARM { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for PhysicalDeviceDataGraphOperationTypeARM {} ///[`VkPhysicalDeviceDataGraphProcessingEngineTypeARM`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceDataGraphProcessingEngineTypeARM.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -4385,6 +4985,12 @@ impl core::fmt::Debug for PhysicalDeviceDataGraphProcessingEngineTypeARM { } } } +impl core::fmt::Display for PhysicalDeviceDataGraphProcessingEngineTypeARM { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for PhysicalDeviceDataGraphProcessingEngineTypeARM {} ///[`VkPhysicalDeviceLayeredApiKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceLayeredApiKHR.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -4417,6 +5023,12 @@ impl core::fmt::Debug for PhysicalDeviceLayeredApiKHR { } } } +impl core::fmt::Display for PhysicalDeviceLayeredApiKHR { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for PhysicalDeviceLayeredApiKHR {} ///[`VkPhysicalDeviceType`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceType.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -4449,6 +5061,12 @@ impl core::fmt::Debug for PhysicalDeviceType { } } } +impl core::fmt::Display for PhysicalDeviceType { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for PhysicalDeviceType {} ///[`VkPipelineBindPoint`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineBindPoint.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -4483,6 +5101,12 @@ impl core::fmt::Debug for PipelineBindPoint { } } } +impl core::fmt::Display for PipelineBindPoint { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for PipelineBindPoint {} ///[`VkPipelineCacheHeaderVersion`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineCacheHeaderVersion.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -4511,6 +5135,12 @@ impl core::fmt::Debug for PipelineCacheHeaderVersion { } } } +impl core::fmt::Display for PipelineCacheHeaderVersion { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for PipelineCacheHeaderVersion {} ///[`VkPipelineCacheValidationVersion`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineCacheValidationVersion.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -4537,6 +5167,12 @@ impl core::fmt::Debug for PipelineCacheValidationVersion { } } } +impl core::fmt::Display for PipelineCacheValidationVersion { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for PipelineCacheValidationVersion {} ///[`VkPipelineExecutableStatisticFormatKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineExecutableStatisticFormatKHR.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -4571,6 +5207,12 @@ impl core::fmt::Debug for PipelineExecutableStatisticFormatKHR { } } } +impl core::fmt::Display for PipelineExecutableStatisticFormatKHR { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for PipelineExecutableStatisticFormatKHR {} ///[`VkPipelineMatchControl`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineMatchControl.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -4595,6 +5237,12 @@ impl core::fmt::Debug for PipelineMatchControl { } } } +impl core::fmt::Display for PipelineMatchControl { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for PipelineMatchControl {} ///[`VkPipelineRobustnessBufferBehavior`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineRobustnessBufferBehavior.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -4627,6 +5275,12 @@ impl core::fmt::Debug for PipelineRobustnessBufferBehavior { } } } +impl core::fmt::Display for PipelineRobustnessBufferBehavior { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for PipelineRobustnessBufferBehavior {} ///[`VkPipelineRobustnessImageBehavior`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineRobustnessImageBehavior.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -4659,6 +5313,12 @@ impl core::fmt::Debug for PipelineRobustnessImageBehavior { } } } +impl core::fmt::Display for PipelineRobustnessImageBehavior { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for PipelineRobustnessImageBehavior {} ///[`VkPointClippingBehavior`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPointClippingBehavior.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -4685,6 +5345,12 @@ impl core::fmt::Debug for PointClippingBehavior { } } } +impl core::fmt::Display for PointClippingBehavior { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for PointClippingBehavior {} ///[`VkPolygonMode`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPolygonMode.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -4715,6 +5381,12 @@ impl core::fmt::Debug for PolygonMode { } } } +impl core::fmt::Display for PolygonMode { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for PolygonMode {} ///[`VkPresentModeKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPresentModeKHR.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -4749,6 +5421,12 @@ impl core::fmt::Debug for PresentModeKHR { } } } +impl core::fmt::Display for PresentModeKHR { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for PresentModeKHR {} ///[`VkPrimitiveTopology`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkPrimitiveTopology.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -4793,6 +5471,12 @@ impl core::fmt::Debug for PrimitiveTopology { } } } +impl core::fmt::Display for PrimitiveTopology { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for PrimitiveTopology {} ///[`VkProvokingVertexModeEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkProvokingVertexModeEXT.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -4819,6 +5503,12 @@ impl core::fmt::Debug for ProvokingVertexModeEXT { } } } +impl core::fmt::Display for ProvokingVertexModeEXT { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for ProvokingVertexModeEXT {} ///[`VkQueryPoolSamplingModeINTEL`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkQueryPoolSamplingModeINTEL.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -4843,6 +5533,12 @@ impl core::fmt::Debug for QueryPoolSamplingModeINTEL { } } } +impl core::fmt::Display for QueryPoolSamplingModeINTEL { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for QueryPoolSamplingModeINTEL {} ///[`VkQueryResultStatusKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkQueryResultStatusKHR.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -4873,6 +5569,12 @@ impl core::fmt::Debug for QueryResultStatusKHR { } } } +impl core::fmt::Display for QueryResultStatusKHR { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for QueryResultStatusKHR {} ///[`VkQueryType`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkQueryType.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -4930,6 +5632,12 @@ impl core::fmt::Debug for QueryType { } } } +impl core::fmt::Display for QueryType { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for QueryType {} ///[`VkQueueGlobalPriority`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkQueueGlobalPriority.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -4960,6 +5668,12 @@ impl core::fmt::Debug for QueueGlobalPriority { } } } +impl core::fmt::Display for QueueGlobalPriority { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for QueueGlobalPriority {} ///[`VkRasterizationOrderAMD`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkRasterizationOrderAMD.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -4986,6 +5700,12 @@ impl core::fmt::Debug for RasterizationOrderAMD { } } } +impl core::fmt::Display for RasterizationOrderAMD { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for RasterizationOrderAMD {} ///[`VkRayTracingInvocationReorderModeEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkRayTracingInvocationReorderModeEXT.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -5016,6 +5736,12 @@ impl core::fmt::Debug for RayTracingInvocationReorderModeEXT { } } } +impl core::fmt::Display for RayTracingInvocationReorderModeEXT { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for RayTracingInvocationReorderModeEXT {} ///[`VkRayTracingLssIndexingModeNV`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkRayTracingLssIndexingModeNV.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -5042,6 +5768,12 @@ impl core::fmt::Debug for RayTracingLssIndexingModeNV { } } } +impl core::fmt::Display for RayTracingLssIndexingModeNV { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for RayTracingLssIndexingModeNV {} ///[`VkRayTracingLssPrimitiveEndCapsModeNV`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkRayTracingLssPrimitiveEndCapsModeNV.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -5072,6 +5804,12 @@ impl core::fmt::Debug for RayTracingLssPrimitiveEndCapsModeNV { } } } +impl core::fmt::Display for RayTracingLssPrimitiveEndCapsModeNV { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for RayTracingLssPrimitiveEndCapsModeNV {} ///[`VkRayTracingShaderGroupTypeKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkRayTracingShaderGroupTypeKHR.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -5100,6 +5838,12 @@ impl core::fmt::Debug for RayTracingShaderGroupTypeKHR { } } } +impl core::fmt::Display for RayTracingShaderGroupTypeKHR { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for RayTracingShaderGroupTypeKHR {} ///[`VkResult`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkResult.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -5252,6 +5996,12 @@ impl core::fmt::Debug for Result { } } } +impl core::fmt::Display for Result { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for Result {} ///[`VkSamplerAddressMode`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkSamplerAddressMode.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -5285,6 +6035,12 @@ impl core::fmt::Debug for SamplerAddressMode { } } } +impl core::fmt::Display for SamplerAddressMode { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for SamplerAddressMode {} ///[`VkSamplerMipmapMode`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkSamplerMipmapMode.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -5313,6 +6069,12 @@ impl core::fmt::Debug for SamplerMipmapMode { } } } +impl core::fmt::Display for SamplerMipmapMode { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for SamplerMipmapMode {} ///[`VkSamplerReductionMode`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkSamplerReductionMode.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -5343,6 +6105,12 @@ impl core::fmt::Debug for SamplerReductionMode { } } } +impl core::fmt::Display for SamplerReductionMode { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for SamplerReductionMode {} ///[`VkSamplerYcbcrModelConversion`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkSamplerYcbcrModelConversion.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -5379,6 +6147,12 @@ impl core::fmt::Debug for SamplerYcbcrModelConversion { } } } +impl core::fmt::Display for SamplerYcbcrModelConversion { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for SamplerYcbcrModelConversion {} ///[`VkSamplerYcbcrRange`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkSamplerYcbcrRange.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -5407,6 +6181,12 @@ impl core::fmt::Debug for SamplerYcbcrRange { } } } +impl core::fmt::Display for SamplerYcbcrRange { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for SamplerYcbcrRange {} ///[`VkSciSyncClientTypeNV`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkSciSyncClientTypeNV.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -5435,6 +6215,12 @@ impl core::fmt::Debug for SciSyncClientTypeNV { } } } +impl core::fmt::Display for SciSyncClientTypeNV { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for SciSyncClientTypeNV {} ///[`VkSciSyncPrimitiveTypeNV`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkSciSyncPrimitiveTypeNV.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -5461,6 +6247,12 @@ impl core::fmt::Debug for SciSyncPrimitiveTypeNV { } } } +impl core::fmt::Display for SciSyncPrimitiveTypeNV { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for SciSyncPrimitiveTypeNV {} ///[`VkScopeKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkScopeKHR.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -5491,6 +6283,12 @@ impl core::fmt::Debug for ScopeKHR { } } } +impl core::fmt::Display for ScopeKHR { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for ScopeKHR {} ///[`VkSemaphoreType`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkSemaphoreType.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -5517,6 +6315,12 @@ impl core::fmt::Debug for SemaphoreType { } } } +impl core::fmt::Display for SemaphoreType { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for SemaphoreType {} ///[`VkShaderCodeTypeEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkShaderCodeTypeEXT.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -5543,6 +6347,12 @@ impl core::fmt::Debug for ShaderCodeTypeEXT { } } } +impl core::fmt::Display for ShaderCodeTypeEXT { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for ShaderCodeTypeEXT {} ///[`VkShaderFloatControlsIndependence`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkShaderFloatControlsIndependence.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -5573,6 +6383,12 @@ impl core::fmt::Debug for ShaderFloatControlsIndependence { } } } +impl core::fmt::Display for ShaderFloatControlsIndependence { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for ShaderFloatControlsIndependence {} ///[`VkShaderGroupShaderKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkShaderGroupShaderKHR.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -5603,6 +6419,12 @@ impl core::fmt::Debug for ShaderGroupShaderKHR { } } } +impl core::fmt::Display for ShaderGroupShaderKHR { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for ShaderGroupShaderKHR {} ///[`VkShaderInfoTypeAMD`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkShaderInfoTypeAMD.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -5631,6 +6453,12 @@ impl core::fmt::Debug for ShaderInfoTypeAMD { } } } +impl core::fmt::Display for ShaderInfoTypeAMD { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for ShaderInfoTypeAMD {} ///[`VkShadingRatePaletteEntryNV`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkShadingRatePaletteEntryNV.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -5677,6 +6505,12 @@ impl core::fmt::Debug for ShadingRatePaletteEntryNV { } } } +impl core::fmt::Display for ShadingRatePaletteEntryNV { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for ShadingRatePaletteEntryNV {} ///[`VkSharingMode`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkSharingMode.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -5703,6 +6537,12 @@ impl core::fmt::Debug for SharingMode { } } } +impl core::fmt::Display for SharingMode { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for SharingMode {} ///[`VkStencilOp`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkStencilOp.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -5741,6 +6581,12 @@ impl core::fmt::Debug for StencilOp { } } } +impl core::fmt::Display for StencilOp { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for StencilOp {} ///[`VkStructureType`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkStructureType.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -9034,6 +9880,12 @@ impl core::fmt::Debug for StructureType { } } } +impl core::fmt::Display for StructureType { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for StructureType {} ///[`VkSubpassContents`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkSubpassContents.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -9060,6 +9912,12 @@ impl core::fmt::Debug for SubpassContents { } } } +impl core::fmt::Display for SubpassContents { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for SubpassContents {} ///[`VkSubpassMergeStatusEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkSubpassMergeStatusEXT.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -9110,6 +9968,12 @@ impl core::fmt::Debug for SubpassMergeStatusEXT { } } } +impl core::fmt::Display for SubpassMergeStatusEXT { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for SubpassMergeStatusEXT {} ///[`VkSystemAllocationScope`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkSystemAllocationScope.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -9142,6 +10006,12 @@ impl core::fmt::Debug for SystemAllocationScope { } } } +impl core::fmt::Display for SystemAllocationScope { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for SystemAllocationScope {} ///[`VkTensorTilingARM`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkTensorTilingARM.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -9168,6 +10038,12 @@ impl core::fmt::Debug for TensorTilingARM { } } } +impl core::fmt::Display for TensorTilingARM { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for TensorTilingARM {} ///[`VkTessellationDomainOrigin`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkTessellationDomainOrigin.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -9194,6 +10070,12 @@ impl core::fmt::Debug for TessellationDomainOrigin { } } } +impl core::fmt::Display for TessellationDomainOrigin { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for TessellationDomainOrigin {} ///[`VkTimeDomainKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkTimeDomainKHR.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -9228,6 +10110,12 @@ impl core::fmt::Debug for TimeDomainKHR { } } } +impl core::fmt::Display for TimeDomainKHR { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for TimeDomainKHR {} ///[`VkValidationCacheHeaderVersionEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkValidationCacheHeaderVersionEXT.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -9254,6 +10142,12 @@ impl core::fmt::Debug for ValidationCacheHeaderVersionEXT { } } } +impl core::fmt::Display for ValidationCacheHeaderVersionEXT { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for ValidationCacheHeaderVersionEXT {} ///[`VkValidationCheckEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkValidationCheckEXT.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -9280,6 +10174,12 @@ impl core::fmt::Debug for ValidationCheckEXT { } } } +impl core::fmt::Display for ValidationCheckEXT { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for ValidationCheckEXT {} ///[`VkValidationFeatureDisableEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkValidationFeatureDisableEXT.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -9318,6 +10218,12 @@ impl core::fmt::Debug for ValidationFeatureDisableEXT { } } } +impl core::fmt::Display for ValidationFeatureDisableEXT { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for ValidationFeatureDisableEXT {} ///[`VkValidationFeatureEnableEXT`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkValidationFeatureEnableEXT.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -9350,6 +10256,12 @@ impl core::fmt::Debug for ValidationFeatureEnableEXT { } } } +impl core::fmt::Display for ValidationFeatureEnableEXT { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for ValidationFeatureEnableEXT {} ///[`VkVendorId`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkVendorId.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -9393,6 +10305,12 @@ impl core::fmt::Debug for VendorId { } } } +impl core::fmt::Display for VendorId { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for VendorId {} ///[`VkVertexInputRate`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkVertexInputRate.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -9419,6 +10337,12 @@ impl core::fmt::Debug for VertexInputRate { } } } +impl core::fmt::Display for VertexInputRate { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for VertexInputRate {} ///[`VkVideoEncodeAV1PredictionModeKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeAV1PredictionModeKHR.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -9451,6 +10375,12 @@ impl core::fmt::Debug for VideoEncodeAV1PredictionModeKHR { } } } +impl core::fmt::Display for VideoEncodeAV1PredictionModeKHR { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for VideoEncodeAV1PredictionModeKHR {} ///[`VkVideoEncodeAV1RateControlGroupKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeAV1RateControlGroupKHR.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -9481,6 +10411,12 @@ impl core::fmt::Debug for VideoEncodeAV1RateControlGroupKHR { } } } +impl core::fmt::Display for VideoEncodeAV1RateControlGroupKHR { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for VideoEncodeAV1RateControlGroupKHR {} ///[`VkVideoEncodeTuningModeKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeTuningModeKHR.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -9513,6 +10449,12 @@ impl core::fmt::Debug for VideoEncodeTuningModeKHR { } } } +impl core::fmt::Display for VideoEncodeTuningModeKHR { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for VideoEncodeTuningModeKHR {} ///[`VkViewportCoordinateSwizzleNV`](https://registry.khronos.org/vulkan/specs/latest/man/html/VkViewportCoordinateSwizzleNV.html) #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -9551,3 +10493,9 @@ impl core::fmt::Debug for ViewportCoordinateSwizzleNV { } } } +impl core::fmt::Display for ViewportCoordinateSwizzleNV { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + core::fmt::Debug::fmt(self, f) + } +} +impl core::error::Error for ViewportCoordinateSwizzleNV {} diff --git a/vulkan-rust-sys/src/lib.rs b/vulkan-rust-sys/src/lib.rs index 93dca23..6a6298f 100644 --- a/vulkan-rust-sys/src/lib.rs +++ b/vulkan-rust-sys/src/lib.rs @@ -16,11 +16,24 @@ pub use string_array::{ DescriptionName, DriverName, DriverInfo, }; -pub mod handles; -pub mod enums; -pub mod bitmasks; -pub mod constants; +mod handles; +mod enums; +mod bitmasks; +mod constants; pub mod extension_names; -pub mod structs; -pub mod builders; +mod structs; +mod builders; +mod clear_value; pub mod commands; + +pub use handles::*; +pub use enums::*; +pub use bitmasks::*; +pub use constants::*; +pub use structs::*; +pub use builders::*; + +/// Vulkan device memory size, in bytes. +pub type DeviceSize = u64; +/// Vulkan device memory address. +pub type DeviceAddress = u64; diff --git a/vulkan-rust-sys/src/structs.rs b/vulkan-rust-sys/src/structs.rs index 9a0f81d..2cd6255 100644 --- a/vulkan-rust-sys/src/structs.rs +++ b/vulkan-rust-sys/src/structs.rs @@ -2,17 +2,75 @@ use super::enums::*; use super::handles::*; use super::bitmasks::*; use super::constants::*; -pub type PFN_vkInternalAllocationNotification = Option; -pub type PFN_vkInternalFreeNotification = Option; -pub type PFN_vkReallocationFunction = Option; -pub type PFN_vkAllocationFunction = Option; -pub type PFN_vkFreeFunction = Option; +pub type PFN_vkInternalAllocationNotification = Option< + unsafe extern "system" fn( + *mut core::ffi::c_void, + usize, + InternalAllocationType, + SystemAllocationScope, + ), +>; +pub type PFN_vkInternalFreeNotification = Option< + unsafe extern "system" fn( + *mut core::ffi::c_void, + usize, + InternalAllocationType, + SystemAllocationScope, + ), +>; +pub type PFN_vkReallocationFunction = Option< + unsafe extern "system" fn( + *mut core::ffi::c_void, + *mut core::ffi::c_void, + usize, + usize, + SystemAllocationScope, + ) -> *mut core::ffi::c_void, +>; +pub type PFN_vkAllocationFunction = Option< + unsafe extern "system" fn( + *mut core::ffi::c_void, + usize, + usize, + SystemAllocationScope, + ) -> *mut core::ffi::c_void, +>; +pub type PFN_vkFreeFunction = Option< + unsafe extern "system" fn(*mut core::ffi::c_void, *mut core::ffi::c_void), +>; pub type PFN_vkVoidFunction = Option; -pub type PFN_vkDebugReportCallbackEXT = Option; -pub type PFN_vkDebugUtilsMessengerCallbackEXT = Option; -pub type PFN_vkFaultCallbackFunction = Option; -pub type PFN_vkDeviceMemoryReportCallbackEXT = Option; -pub type PFN_vkGetInstanceProcAddrLUNARG = Option; +pub type PFN_vkDebugReportCallbackEXT = Option< + unsafe extern "system" fn( + DebugReportFlagsEXT, + DebugReportObjectTypeEXT, + u64, + usize, + i32, + *const core::ffi::c_char, + *const core::ffi::c_char, + *mut core::ffi::c_void, + ) -> u32, +>; +pub type PFN_vkDebugUtilsMessengerCallbackEXT = Option< + unsafe extern "system" fn( + DebugUtilsMessageSeverityFlagBitsEXT, + DebugUtilsMessageTypeFlagsEXT, + *const DebugUtilsMessengerCallbackDataEXT, + *mut core::ffi::c_void, + ) -> u32, +>; +pub type PFN_vkFaultCallbackFunction = Option< + unsafe extern "system" fn(u32, u32, *const FaultData), +>; +pub type PFN_vkDeviceMemoryReportCallbackEXT = Option< + unsafe extern "system" fn( + *const DeviceMemoryReportCallbackDataEXT, + *mut core::ffi::c_void, + ), +>; +pub type PFN_vkGetInstanceProcAddrLUNARG = Option< + unsafe extern "system" fn(Instance, *const core::ffi::c_char) -> PFN_vkVoidFunction, +>; /// Video codec enum type (C `int32_t`, defined in vulkan_video_codec headers). #[repr(transparent)] #[derive(Debug, Copy, Clone, Default, PartialEq, Eq)] diff --git a/vulkan-rust-sys/tests/handles.rs b/vulkan-rust-sys/tests/handles.rs index ab17a9e..bc293d3 100644 --- a/vulkan-rust-sys/tests/handles.rs +++ b/vulkan-rust-sys/tests/handles.rs @@ -1,7 +1,7 @@ //! Handle round-trip tests,verify `from_raw`, `as_raw`, `null`, `is_null` //! for representative dispatchable and non-dispatchable handle types. -use vulkan_rust_sys::handles::*; +use vulkan_rust_sys::*; // ── Dispatchable handles (usize) ─────────────────────────────────── diff --git a/vulkan-rust-sys/tests/layout.rs b/vulkan-rust-sys/tests/layout.rs index 6921a1d..ea36175 100644 --- a/vulkan-rust-sys/tests/layout.rs +++ b/vulkan-rust-sys/tests/layout.rs @@ -13,8 +13,8 @@ use vulkan_rust_sys::*; // p_engine_name(8) engine_ver(4) api_ver(4) = 48 #[test] fn application_info_layout() { - assert_eq!(size_of::(), 48); - assert_eq!(align_of::(), 8); + assert_eq!(size_of::(), 48); + assert_eq!(align_of::(), 8); } // ── InstanceCreateInfo ───────────────────────────────────────────── @@ -22,8 +22,8 @@ fn application_info_layout() { // layer_count(4) pad(4) pp_layers(8) ext_count(4) pad(4) pp_exts(8) = 64 #[test] fn instance_create_info_layout() { - assert_eq!(size_of::(), 64); - assert_eq!(align_of::(), 8); + assert_eq!(size_of::(), 64); + assert_eq!(align_of::(), 8); } // ── DeviceQueueCreateInfo ────────────────────────────────────────── @@ -31,8 +31,8 @@ fn instance_create_info_layout() { // p_priorities(8) = 40 #[test] fn device_queue_create_info_layout() { - assert_eq!(size_of::(), 40); - assert_eq!(align_of::(), 8); + assert_eq!(size_of::(), 40); + assert_eq!(align_of::(), 8); } // ── DeviceCreateInfo ─────────────────────────────────────────────── @@ -41,8 +41,8 @@ fn device_queue_create_info_layout() { // p_features(8) = 72 #[test] fn device_create_info_layout() { - assert_eq!(size_of::(), 72); - assert_eq!(align_of::(), 8); + assert_eq!(size_of::(), 72); + assert_eq!(align_of::(), 8); } // ── BufferCreateInfo ─────────────────────────────────────────────── @@ -50,24 +50,24 @@ fn device_create_info_layout() { // sharing_mode(4) qi_count(4) pad(4) p_qi(8) = 56 #[test] fn buffer_create_info_layout() { - assert_eq!(size_of::(), 56); - assert_eq!(align_of::(), 8); + assert_eq!(size_of::(), 56); + assert_eq!(align_of::(), 8); } // ── AllocationCallbacks ──────────────────────────────────────────── // 6 pointer-sized fields: p_user_data + 5 function pointers = 48 #[test] fn allocation_callbacks_layout() { - assert_eq!(size_of::(), 48); - assert_eq!(align_of::(), 8); + assert_eq!(size_of::(), 48); + assert_eq!(align_of::(), 8); } // ── Win32SurfaceCreateInfoKHR ────────────────────────────────────── // s_type(4) pad(4) p_next(8) flags(4) pad(4) hinstance(8) hwnd(8) = 40 #[test] fn win32_surface_create_info_layout() { - assert_eq!(size_of::(), 40); - assert_eq!(align_of::(), 8); + assert_eq!(size_of::(), 40); + assert_eq!(align_of::(), 8); } // ── Handle sizes ─────────────────────────────────────────────────── @@ -75,58 +75,58 @@ fn win32_surface_create_info_layout() { // Non-dispatchable handles are always u64. #[test] fn dispatchable_handle_is_pointer_sized() { - assert_eq!(size_of::(), size_of::()); - assert_eq!(size_of::(), size_of::()); - assert_eq!(size_of::(), size_of::()); - assert_eq!(size_of::(), size_of::()); - assert_eq!(size_of::(), size_of::()); + assert_eq!(size_of::(), size_of::()); + assert_eq!(size_of::(), size_of::()); + assert_eq!(size_of::(), size_of::()); + assert_eq!(size_of::(), size_of::()); + assert_eq!(size_of::(), size_of::()); } #[test] fn non_dispatchable_handle_is_u64() { - assert_eq!(size_of::(), 8); - assert_eq!(size_of::(), 8); - assert_eq!(size_of::(), 8); - assert_eq!(size_of::(), 8); - assert_eq!(size_of::(), 8); - assert_eq!(size_of::(), 8); - assert_eq!(size_of::(), 8); - assert_eq!(size_of::(), 8); - assert_eq!(size_of::(), 8); - assert_eq!(size_of::(), 8); - assert_eq!(size_of::(), 8); - assert_eq!(size_of::(), 8); - assert_eq!(size_of::(), 8); - assert_eq!(size_of::(), 8); + assert_eq!(size_of::(), 8); + assert_eq!(size_of::(), 8); + assert_eq!(size_of::(), 8); + assert_eq!(size_of::(), 8); + assert_eq!(size_of::(), 8); + assert_eq!(size_of::(), 8); + assert_eq!(size_of::(), 8); + assert_eq!(size_of::(), 8); + assert_eq!(size_of::(), 8); + assert_eq!(size_of::(), 8); + assert_eq!(size_of::(), 8); + assert_eq!(size_of::(), 8); + assert_eq!(size_of::(), 8); + assert_eq!(size_of::(), 8); } // ── Enum / bitmask sizes ─────────────────────────────────────────── // Vulkan enums are i32, bitmasks are u32 (or u64 for Flags64). #[test] fn enum_types_are_i32() { - assert_eq!(size_of::(), 4); - assert_eq!(size_of::(), 4); - assert_eq!(size_of::(), 4); - assert_eq!(size_of::(), 4); - assert_eq!(size_of::(), 4); + assert_eq!(size_of::(), 4); + assert_eq!(size_of::(), 4); + assert_eq!(size_of::(), 4); + assert_eq!(size_of::(), 4); + assert_eq!(size_of::(), 4); } #[test] fn bitmask_types_are_u32() { - assert_eq!(size_of::(), 4); - assert_eq!(size_of::(), 4); - assert_eq!(size_of::(), 4); - assert_eq!(size_of::(), 4); + assert_eq!(size_of::(), 4); + assert_eq!(size_of::(), 4); + assert_eq!(size_of::(), 4); + assert_eq!(size_of::(), 4); } #[test] fn bitmask_64bit_types_are_u64() { - assert_eq!(size_of::(), 8); - assert_eq!(size_of::(), 8); - assert_eq!(size_of::(), 8); - assert_eq!(size_of::(), 8); - assert_eq!(size_of::(), 8); - assert_eq!(size_of::(), 8); + assert_eq!(size_of::(), 8); + assert_eq!(size_of::(), 8); + assert_eq!(size_of::(), 8); + assert_eq!(size_of::(), 8); + assert_eq!(size_of::(), 8); + assert_eq!(size_of::(), 8); } // ── Struct with 64-bit bitmask fields ───────────────────────────── @@ -134,8 +134,8 @@ fn bitmask_64bit_types_are_u64() { // dst_stage(8) dst_access(8) = 48 #[test] fn memory_barrier2_layout() { - assert_eq!(size_of::(), 48); - assert_eq!(align_of::(), 8); + assert_eq!(size_of::(), 48); + assert_eq!(align_of::(), 8); } // ── 64-bit bitmask aliases match their targets ──────────────────── @@ -143,16 +143,16 @@ fn memory_barrier2_layout() { #[test] fn bitmask_64bit_aliases_match_target_size() { assert_eq!( - size_of::(), - size_of::(), + size_of::(), + size_of::(), ); assert_eq!( - size_of::(), - size_of::(), + size_of::(), + size_of::(), ); assert_eq!( - size_of::(), - size_of::(), + size_of::(), + size_of::(), ); } @@ -162,12 +162,12 @@ fn bitmask_64bit_aliases_match_target_size() { fn bitmask_64bit_has_high_bit_constants() { // AccessFlagBits2: SHADER_SAMPLED_READ is bit 32 assert!( - bitmasks::AccessFlagBits2::_2_SHADER_SAMPLED_READ.as_raw() > u32::MAX as u64, + AccessFlagBits2::_2_SHADER_SAMPLED_READ.as_raw() > u32::MAX as u64, "AccessFlagBits2 should have constants above u32::MAX" ); // PipelineStageFlagBits2: COPY is bit 32 assert!( - bitmasks::PipelineStageFlagBits2::_2_COPY.as_raw() > u32::MAX as u64, + PipelineStageFlagBits2::_2_COPY.as_raw() > u32::MAX as u64, "PipelineStageFlagBits2 should have constants above u32::MAX" ); } @@ -178,27 +178,27 @@ fn bitmask_64bit_has_high_bit_constants() { // ClearColorValue: float32[4] | int32[4] | uint32[4],all 16 bytes, align 4 #[test] fn clear_color_value_layout() { - assert_eq!(size_of::(), 16); - assert_eq!(align_of::(), 4); + assert_eq!(size_of::(), 16); + assert_eq!(align_of::(), 4); } // ClearValue: ClearColorValue(16) | ClearDepthStencilValue(8) = 16, align 4 #[test] fn clear_value_layout() { - assert_eq!(size_of::(), 16); - assert_eq!(align_of::(), 4); + assert_eq!(size_of::(), 16); + assert_eq!(align_of::(), 4); } // DeviceOrHostAddressKHR: u64 | *mut c_void = 8, align 8 #[test] fn device_or_host_address_layout() { - assert_eq!(size_of::(), 8); - assert_eq!(align_of::(), 8); + assert_eq!(size_of::(), 8); + assert_eq!(align_of::(), 8); } // PerformanceCounterResultKHR: i32|i64|u32|u64|f32|f64 = 8, align 8 #[test] fn performance_counter_result_layout() { - assert_eq!(size_of::(), 8); - assert_eq!(align_of::(), 8); + assert_eq!(size_of::(), 8); + assert_eq!(align_of::(), 8); } diff --git a/vulkan-rust/Cargo.toml b/vulkan-rust/Cargo.toml index 71b777a..99eed47 100644 --- a/vulkan-rust/Cargo.toml +++ b/vulkan-rust/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "vulkan-rust" -version = "0.9.0" +version = "0.10.0" edition = "2024" rust-version = "1.85" description = "Ergonomic Vulkan bindings for Rust, generated from vk.xml" @@ -17,7 +17,7 @@ default = ["surface"] surface = ["dep:raw-window-handle"] [dependencies] -vulkan-rust-sys = { version = "0.9.0", path = "../vulkan-rust-sys" } +vulkan-rust-sys = { version = "0.10.0", path = "../vulkan-rust-sys" } libloading = "0.8" raw-window-handle = { version = "0.6", optional = true } diff --git a/vulkan-rust/examples/double_buffering.rs b/vulkan-rust/examples/double_buffering.rs index 55d14f4..2fa67c2 100644 --- a/vulkan-rust/examples/double_buffering.rs +++ b/vulkan-rust/examples/double_buffering.rs @@ -2,10 +2,7 @@ // Based on hello_triangle_4.rs, modified to use 2 frames in flight. // -use vk::bitmasks::*; -use vk::enums::*; -use vk::handles::*; -use vk::structs::*; +use vk::*; use vulkan_rust::vk; use vulkan_rust::{Device, Entry, LibloadingLoader, Version, cast_to_u32}; use winit::application::ApplicationHandler; @@ -112,14 +109,14 @@ fn init_vulkan(window: Window) -> VulkanState { let layer_ptrs = [validation_layer.as_ptr()]; let app_info = ApplicationInfo::builder() - .p_application_name(c"Double Buffering") + .application_name(c"Double Buffering") .application_version(1) - .p_engine_name(c"No Engine") + .engine_name(c"No Engine") .engine_version(1) .api_version(Version::new(1, 0, 0).to_raw()); let create_info = InstanceCreateInfo::builder() - .p_application_info(&app_info) + .application_info(&app_info) .enabled_extension_names(&extension_ptrs) .enabled_layer_names(&layer_ptrs); @@ -141,8 +138,7 @@ fn init_vulkan(window: Window) -> VulkanState { let graphics = family.queue_flags & QueueFlags::GRAPHICS != QueueFlags::empty(); let present = unsafe { instance.get_physical_device_surface_support_khr(pd, i as u32, surface) } - .unwrap_or(0) - != 0; + .unwrap_or(false); if graphics && present { physical_device = pd; graphics_family_index = i as u32; @@ -268,12 +264,8 @@ fn init_vulkan(window: Window) -> VulkanState { let vert_code = cast_to_u32(vert_bytes).expect("Vertex SPIR-V not aligned"); let frag_code = cast_to_u32(frag_bytes).expect("Fragment SPIR-V not aligned"); - let vert_info = ShaderModuleCreateInfo::builder() - .code_size(vert_code.len() * 4) - .p_code(vert_code.as_ptr()); - let frag_info = ShaderModuleCreateInfo::builder() - .code_size(frag_code.len() * 4) - .p_code(frag_code.as_ptr()); + let vert_info = ShaderModuleCreateInfo::builder().code(vert_code); + let frag_info = ShaderModuleCreateInfo::builder().code(frag_code); let vert_module = unsafe { device.create_shader_module(&vert_info, None) } .expect("Failed to create vertex shader module"); @@ -308,7 +300,7 @@ fn init_vulkan(window: Window) -> VulkanState { p_preserve_attachments: core::ptr::null(), }; let dependency = SubpassDependency { - src_subpass: vk::constants::SUBPASS_EXTERNAL, + src_subpass: vk::SUBPASS_EXTERNAL, dst_subpass: 0, src_stage_mask: PipelineStageFlags::COLOR_ATTACHMENT_OUTPUT, dst_stage_mask: PipelineStageFlags::COLOR_ATTACHMENT_OUTPUT, @@ -333,11 +325,11 @@ fn init_vulkan(window: Window) -> VulkanState { *PipelineShaderStageCreateInfo::builder() .stage(ShaderStageFlags::VERTEX) .module(vert_module) - .p_name(entry_name), + .name(entry_name), *PipelineShaderStageCreateInfo::builder() .stage(ShaderStageFlags::FRAGMENT) .module(frag_module) - .p_name(entry_name), + .name(entry_name), ]; let vertex_input = PipelineVertexInputStateCreateInfo::builder(); let input_assembly = @@ -367,13 +359,13 @@ fn init_vulkan(window: Window) -> VulkanState { let pipeline_info = GraphicsPipelineCreateInfo::builder() .stages(&stages) - .p_vertex_input_state(&vertex_input) - .p_input_assembly_state(&input_assembly) - .p_viewport_state(&viewport_state) - .p_rasterization_state(&rasterizer) - .p_multisample_state(&multisampling) - .p_color_blend_state(&color_blending) - .p_dynamic_state(&dynamic_state) + .vertex_input_state(&vertex_input) + .input_assembly_state(&input_assembly) + .viewport_state(&viewport_state) + .rasterization_state(&rasterizer) + .multisample_state(&multisampling) + .color_blend_state(&color_blending) + .dynamic_state(&dynamic_state) .layout(pipeline_layout) .render_pass(render_pass) .subpass(0); diff --git a/vulkan-rust/examples/hello_triangle_1.rs b/vulkan-rust/examples/hello_triangle_1.rs index bb2813b..be573bd 100644 --- a/vulkan-rust/examples/hello_triangle_1.rs +++ b/vulkan-rust/examples/hello_triangle_1.rs @@ -1,7 +1,7 @@ // Exact copy of the "Putting it all together" section from // -use vk::structs::*; +use vk::*; use vulkan_rust::vk; use vulkan_rust::{Entry, LibloadingLoader, Version}; @@ -18,13 +18,13 @@ fn main() { // ── Step 2: Create Instance ──────────────────────────────── let app_info = ApplicationInfo::builder() - .p_application_name(c"Hello Triangle") + .application_name(c"Hello Triangle") .application_version(1) - .p_engine_name(c"No Engine") + .engine_name(c"No Engine") .engine_version(1) .api_version(Version::new(1, 0, 0).to_raw()); - let create_info = InstanceCreateInfo::builder().p_application_info(&app_info); + let create_info = InstanceCreateInfo::builder().application_info(&app_info); let instance = unsafe { entry.create_instance(&create_info, None) }.expect("Failed to create instance"); diff --git a/vulkan-rust/examples/hello_triangle_2.rs b/vulkan-rust/examples/hello_triangle_2.rs index dc63b32..6dceaa8 100644 --- a/vulkan-rust/examples/hello_triangle_2.rs +++ b/vulkan-rust/examples/hello_triangle_2.rs @@ -2,10 +2,7 @@ // Complete runnable program. Builds on Part 1. // -use vk::bitmasks::*; -use vk::enums::*; -use vk::handles::*; -use vk::structs::*; +use vk::*; use vulkan_rust::vk; use vulkan_rust::{Entry, LibloadingLoader, Version}; use winit::application::ApplicationHandler; @@ -68,14 +65,14 @@ fn run(window: &Window) { let layer_ptrs = [validation_layer.as_ptr()]; let app_info = ApplicationInfo::builder() - .p_application_name(c"Hello Triangle") + .application_name(c"Hello Triangle") .application_version(1) - .p_engine_name(c"No Engine") + .engine_name(c"No Engine") .engine_version(1) .api_version(Version::new(1, 0, 0).to_raw()); let create_info = InstanceCreateInfo::builder() - .p_application_info(&app_info) + .application_info(&app_info) .enabled_extension_names(&extension_ptrs) .enabled_layer_names(&layer_ptrs); @@ -99,8 +96,7 @@ fn run(window: &Window) { let graphics = family.queue_flags & QueueFlags::GRAPHICS != QueueFlags::empty(); let present = unsafe { instance.get_physical_device_surface_support_khr(pd, i as u32, surface) } - .unwrap_or(0) - != 0; + .unwrap_or(false); if graphics && present { physical_device = pd; graphics_family_index = i as u32; diff --git a/vulkan-rust/examples/hello_triangle_3.rs b/vulkan-rust/examples/hello_triangle_3.rs index 8bea0b4..182f495 100644 --- a/vulkan-rust/examples/hello_triangle_3.rs +++ b/vulkan-rust/examples/hello_triangle_3.rs @@ -2,10 +2,7 @@ // Complete runnable program. // -use vk::bitmasks::*; -use vk::enums::*; -use vk::handles::*; -use vk::structs::*; +use vk::*; use vulkan_rust::vk; use vulkan_rust::{Entry, LibloadingLoader, Version, cast_to_u32}; use winit::application::ApplicationHandler; @@ -72,14 +69,14 @@ fn run(window: &Window) { let layer_ptrs = [validation_layer.as_ptr()]; let app_info = ApplicationInfo::builder() - .p_application_name(c"Hello Triangle") + .application_name(c"Hello Triangle") .application_version(1) - .p_engine_name(c"No Engine") + .engine_name(c"No Engine") .engine_version(1) .api_version(Version::new(1, 0, 0).to_raw()); let create_info = InstanceCreateInfo::builder() - .p_application_info(&app_info) + .application_info(&app_info) .enabled_extension_names(&extension_ptrs) .enabled_layer_names(&layer_ptrs); @@ -101,8 +98,7 @@ fn run(window: &Window) { let graphics = family.queue_flags & QueueFlags::GRAPHICS != QueueFlags::empty(); let present = unsafe { instance.get_physical_device_surface_support_khr(pd, i as u32, surface) } - .unwrap_or(0) - != 0; + .unwrap_or(false); if graphics && present { physical_device = pd; graphics_family_index = i as u32; @@ -231,12 +227,8 @@ fn run(window: &Window) { let vert_code = cast_to_u32(vert_bytes).expect("Vertex SPIR-V not aligned"); let frag_code = cast_to_u32(frag_bytes).expect("Fragment SPIR-V not aligned"); - let vert_info = ShaderModuleCreateInfo::builder() - .code_size(vert_code.len() * 4) - .p_code(vert_code.as_ptr()); - let frag_info = ShaderModuleCreateInfo::builder() - .code_size(frag_code.len() * 4) - .p_code(frag_code.as_ptr()); + let vert_info = ShaderModuleCreateInfo::builder().code(vert_code); + let frag_info = ShaderModuleCreateInfo::builder().code(frag_code); let vert_module = unsafe { device.create_shader_module(&vert_info, None) } .expect("Failed to create vertex shader module"); @@ -275,7 +267,7 @@ fn run(window: &Window) { }; let dependency = SubpassDependency { - src_subpass: vk::constants::SUBPASS_EXTERNAL, + src_subpass: vk::SUBPASS_EXTERNAL, dst_subpass: 0, src_stage_mask: PipelineStageFlags::COLOR_ATTACHMENT_OUTPUT, dst_stage_mask: PipelineStageFlags::COLOR_ATTACHMENT_OUTPUT, @@ -303,11 +295,11 @@ fn run(window: &Window) { *PipelineShaderStageCreateInfo::builder() .stage(ShaderStageFlags::VERTEX) .module(vert_module) - .p_name(entry_name), + .name(entry_name), *PipelineShaderStageCreateInfo::builder() .stage(ShaderStageFlags::FRAGMENT) .module(frag_module) - .p_name(entry_name), + .name(entry_name), ]; let vertex_input = PipelineVertexInputStateCreateInfo::builder(); @@ -344,13 +336,13 @@ fn run(window: &Window) { let pipeline_info = GraphicsPipelineCreateInfo::builder() .stages(&stages) - .p_vertex_input_state(&vertex_input) - .p_input_assembly_state(&input_assembly) - .p_viewport_state(&viewport_state) - .p_rasterization_state(&rasterizer) - .p_multisample_state(&multisampling) - .p_color_blend_state(&color_blending) - .p_dynamic_state(&dynamic_state) + .vertex_input_state(&vertex_input) + .input_assembly_state(&input_assembly) + .viewport_state(&viewport_state) + .rasterization_state(&rasterizer) + .multisample_state(&multisampling) + .color_blend_state(&color_blending) + .dynamic_state(&dynamic_state) .layout(pipeline_layout) .render_pass(render_pass) .subpass(0); diff --git a/vulkan-rust/examples/hello_triangle_4.rs b/vulkan-rust/examples/hello_triangle_4.rs index 9251865..315b6ad 100644 --- a/vulkan-rust/examples/hello_triangle_4.rs +++ b/vulkan-rust/examples/hello_triangle_4.rs @@ -2,10 +2,7 @@ // Parts 1+2+3 setup + sync objects, command recording, drawing. // -use vk::bitmasks::*; -use vk::enums::*; -use vk::handles::*; -use vk::structs::*; +use vk::*; use vulkan_rust::vk; use vulkan_rust::{Device, Entry, LibloadingLoader, Version, cast_to_u32}; use winit::application::ApplicationHandler; @@ -106,14 +103,14 @@ fn init_vulkan(window: Window) -> VulkanState { let layer_ptrs = [validation_layer.as_ptr()]; let app_info = ApplicationInfo::builder() - .p_application_name(c"Hello Triangle") + .application_name(c"Hello Triangle") .application_version(1) - .p_engine_name(c"No Engine") + .engine_name(c"No Engine") .engine_version(1) .api_version(Version::new(1, 0, 0).to_raw()); let create_info = InstanceCreateInfo::builder() - .p_application_info(&app_info) + .application_info(&app_info) .enabled_extension_names(&extension_ptrs) .enabled_layer_names(&layer_ptrs); @@ -135,8 +132,7 @@ fn init_vulkan(window: Window) -> VulkanState { let graphics = family.queue_flags & QueueFlags::GRAPHICS != QueueFlags::empty(); let present = unsafe { instance.get_physical_device_surface_support_khr(pd, i as u32, surface) } - .unwrap_or(0) - != 0; + .unwrap_or(false); if graphics && present { physical_device = pd; graphics_family_index = i as u32; @@ -262,12 +258,8 @@ fn init_vulkan(window: Window) -> VulkanState { let vert_code = cast_to_u32(vert_bytes).expect("Vertex SPIR-V not aligned"); let frag_code = cast_to_u32(frag_bytes).expect("Fragment SPIR-V not aligned"); - let vert_info = ShaderModuleCreateInfo::builder() - .code_size(vert_code.len() * 4) - .p_code(vert_code.as_ptr()); - let frag_info = ShaderModuleCreateInfo::builder() - .code_size(frag_code.len() * 4) - .p_code(frag_code.as_ptr()); + let vert_info = ShaderModuleCreateInfo::builder().code(vert_code); + let frag_info = ShaderModuleCreateInfo::builder().code(frag_code); let vert_module = unsafe { device.create_shader_module(&vert_info, None) } .expect("Failed to create vertex shader module"); @@ -302,7 +294,7 @@ fn init_vulkan(window: Window) -> VulkanState { p_preserve_attachments: core::ptr::null(), }; let dependency = SubpassDependency { - src_subpass: vk::constants::SUBPASS_EXTERNAL, + src_subpass: vk::SUBPASS_EXTERNAL, dst_subpass: 0, src_stage_mask: PipelineStageFlags::COLOR_ATTACHMENT_OUTPUT, dst_stage_mask: PipelineStageFlags::COLOR_ATTACHMENT_OUTPUT, @@ -327,11 +319,11 @@ fn init_vulkan(window: Window) -> VulkanState { *PipelineShaderStageCreateInfo::builder() .stage(ShaderStageFlags::VERTEX) .module(vert_module) - .p_name(entry_name), + .name(entry_name), *PipelineShaderStageCreateInfo::builder() .stage(ShaderStageFlags::FRAGMENT) .module(frag_module) - .p_name(entry_name), + .name(entry_name), ]; let vertex_input = PipelineVertexInputStateCreateInfo::builder(); let input_assembly = @@ -361,13 +353,13 @@ fn init_vulkan(window: Window) -> VulkanState { let pipeline_info = GraphicsPipelineCreateInfo::builder() .stages(&stages) - .p_vertex_input_state(&vertex_input) - .p_input_assembly_state(&input_assembly) - .p_viewport_state(&viewport_state) - .p_rasterization_state(&rasterizer) - .p_multisample_state(&multisampling) - .p_color_blend_state(&color_blending) - .p_dynamic_state(&dynamic_state) + .vertex_input_state(&vertex_input) + .input_assembly_state(&input_assembly) + .viewport_state(&viewport_state) + .rasterization_state(&rasterizer) + .multisample_state(&multisampling) + .color_blend_state(&color_blending) + .dynamic_state(&dynamic_state) .layout(pipeline_layout) .render_pass(render_pass) .subpass(0); diff --git a/vulkan-rust/examples/migration_check.rs b/vulkan-rust/examples/migration_check.rs index 19fab06..7a20b5f 100644 --- a/vulkan-rust/examples/migration_check.rs +++ b/vulkan-rust/examples/migration_check.rs @@ -3,10 +3,7 @@ // Exercises every vulkan_rust API call shown in those guides. // NOT meant to be run. -use vk::bitmasks::*; -use vk::enums::*; -use vk::handles::*; -use vk::structs::*; +use vk::*; use vulkan_rust::Device; use vulkan_rust::vk; @@ -17,7 +14,7 @@ fn check_entry_creation() { let app_info = ApplicationInfo::builder().api_version(vulkan_rust::Version::new(1, 3, 0).to_raw()); - let create_info = InstanceCreateInfo::builder().p_application_info(&app_info); + let create_info = InstanceCreateInfo::builder().application_info(&app_info); let _instance = unsafe { entry.create_instance(&create_info, None) }.expect("Failed to create instance"); } @@ -110,7 +107,7 @@ unsafe fn check_submit( /// Verify error handling (migrate-from-ash Step 7) unsafe fn check_error_handling(device: &Device) { - use vk::enums::Result as VkError; + use vk::Result as VkError; let info = BufferCreateInfo::builder() .size(1024) diff --git a/vulkan-rust/examples/push_constants.rs b/vulkan-rust/examples/push_constants.rs index f635795..181b731 100644 --- a/vulkan-rust/examples/push_constants.rs +++ b/vulkan-rust/examples/push_constants.rs @@ -3,10 +3,7 @@ // The push constant data includes a time value that shifts the triangle color. // -use vk::bitmasks::*; -use vk::enums::*; -use vk::handles::*; -use vk::structs::*; +use vk::*; use vulkan_rust::vk; use vulkan_rust::{Device, Entry, LibloadingLoader, Version, cast_to_u32}; use winit::application::ApplicationHandler; @@ -118,14 +115,14 @@ fn init_vulkan(window: Window) -> VulkanState { let layer_ptrs = [validation_layer.as_ptr()]; let app_info = ApplicationInfo::builder() - .p_application_name(c"Push Constants") + .application_name(c"Push Constants") .application_version(1) - .p_engine_name(c"No Engine") + .engine_name(c"No Engine") .engine_version(1) .api_version(Version::new(1, 0, 0).to_raw()); let create_info = InstanceCreateInfo::builder() - .p_application_info(&app_info) + .application_info(&app_info) .enabled_extension_names(&extension_ptrs) .enabled_layer_names(&layer_ptrs); @@ -147,8 +144,7 @@ fn init_vulkan(window: Window) -> VulkanState { let graphics = family.queue_flags & QueueFlags::GRAPHICS != QueueFlags::empty(); let present = unsafe { instance.get_physical_device_surface_support_khr(pd, i as u32, surface) } - .unwrap_or(0) - != 0; + .unwrap_or(false); if graphics && present { physical_device = pd; graphics_family_index = i as u32; @@ -268,12 +264,8 @@ fn init_vulkan(window: Window) -> VulkanState { let vert_code = cast_to_u32(vert_bytes).expect("Vertex SPIR-V not aligned"); let frag_code = cast_to_u32(frag_bytes).expect("Fragment SPIR-V not aligned"); - let vert_info = ShaderModuleCreateInfo::builder() - .code_size(vert_code.len() * 4) - .p_code(vert_code.as_ptr()); - let frag_info = ShaderModuleCreateInfo::builder() - .code_size(frag_code.len() * 4) - .p_code(frag_code.as_ptr()); + let vert_info = ShaderModuleCreateInfo::builder().code(vert_code); + let frag_info = ShaderModuleCreateInfo::builder().code(frag_code); let vert_module = unsafe { device.create_shader_module(&vert_info, None) } .expect("Failed to create vertex shader module"); @@ -308,7 +300,7 @@ fn init_vulkan(window: Window) -> VulkanState { p_preserve_attachments: core::ptr::null(), }; let dependency = SubpassDependency { - src_subpass: vk::constants::SUBPASS_EXTERNAL, + src_subpass: vk::SUBPASS_EXTERNAL, dst_subpass: 0, src_stage_mask: PipelineStageFlags::COLOR_ATTACHMENT_OUTPUT, dst_stage_mask: PipelineStageFlags::COLOR_ATTACHMENT_OUTPUT, @@ -341,11 +333,11 @@ fn init_vulkan(window: Window) -> VulkanState { *PipelineShaderStageCreateInfo::builder() .stage(ShaderStageFlags::VERTEX) .module(vert_module) - .p_name(entry_name), + .name(entry_name), *PipelineShaderStageCreateInfo::builder() .stage(ShaderStageFlags::FRAGMENT) .module(frag_module) - .p_name(entry_name), + .name(entry_name), ]; let vertex_input = PipelineVertexInputStateCreateInfo::builder(); let input_assembly = @@ -375,13 +367,13 @@ fn init_vulkan(window: Window) -> VulkanState { let pipeline_info = GraphicsPipelineCreateInfo::builder() .stages(&stages) - .p_vertex_input_state(&vertex_input) - .p_input_assembly_state(&input_assembly) - .p_viewport_state(&viewport_state) - .p_rasterization_state(&rasterizer) - .p_multisample_state(&multisampling) - .p_color_blend_state(&color_blending) - .p_dynamic_state(&dynamic_state) + .vertex_input_state(&vertex_input) + .input_assembly_state(&input_assembly) + .viewport_state(&viewport_state) + .rasterization_state(&rasterizer) + .multisample_state(&multisampling) + .color_blend_state(&color_blending) + .dynamic_state(&dynamic_state) .layout(pipeline_layout) .render_pass(render_pass) .subpass(0); @@ -550,7 +542,7 @@ unsafe fn record_commands( ShaderStageFlags::VERTEX, 0, std::slice::from_raw_parts( - push_data as *const PushConstants as *const core::ffi::c_void, + push_data as *const PushConstants as *const u8, std::mem::size_of::(), ), ); diff --git a/vulkan-rust/examples/resize.rs b/vulkan-rust/examples/resize.rs index ab12427..5e8a11b 100644 --- a/vulkan-rust/examples/resize.rs +++ b/vulkan-rust/examples/resize.rs @@ -2,10 +2,7 @@ // Based on hello_triangle_4.rs, modified to recreate the swapchain on resize. // -use vk::bitmasks::*; -use vk::enums::*; -use vk::handles::*; -use vk::structs::*; +use vk::*; use vulkan_rust::vk; use vulkan_rust::{Device, Entry, LibloadingLoader, Version, cast_to_u32}; use winit::application::ApplicationHandler; @@ -115,14 +112,14 @@ fn init_vulkan(window: Window) -> VulkanState { let layer_ptrs = [validation_layer.as_ptr()]; let app_info = ApplicationInfo::builder() - .p_application_name(c"Resize Example") + .application_name(c"Resize Example") .application_version(1) - .p_engine_name(c"No Engine") + .engine_name(c"No Engine") .engine_version(1) .api_version(Version::new(1, 0, 0).to_raw()); let create_info = InstanceCreateInfo::builder() - .p_application_info(&app_info) + .application_info(&app_info) .enabled_extension_names(&extension_ptrs) .enabled_layer_names(&layer_ptrs); @@ -144,8 +141,7 @@ fn init_vulkan(window: Window) -> VulkanState { let graphics = family.queue_flags & QueueFlags::GRAPHICS != QueueFlags::empty(); let present = unsafe { instance.get_physical_device_surface_support_khr(pd, i as u32, surface) } - .unwrap_or(0) - != 0; + .unwrap_or(false); if graphics && present { physical_device = pd; graphics_family_index = i as u32; @@ -206,12 +202,8 @@ fn init_vulkan(window: Window) -> VulkanState { let vert_code = cast_to_u32(vert_bytes).expect("Vertex SPIR-V not aligned"); let frag_code = cast_to_u32(frag_bytes).expect("Fragment SPIR-V not aligned"); - let vert_info = ShaderModuleCreateInfo::builder() - .code_size(vert_code.len() * 4) - .p_code(vert_code.as_ptr()); - let frag_info = ShaderModuleCreateInfo::builder() - .code_size(frag_code.len() * 4) - .p_code(frag_code.as_ptr()); + let vert_info = ShaderModuleCreateInfo::builder().code(vert_code); + let frag_info = ShaderModuleCreateInfo::builder().code(frag_code); let vert_module = unsafe { device.create_shader_module(&vert_info, None) } .expect("Failed to create vertex shader module"); @@ -246,7 +238,7 @@ fn init_vulkan(window: Window) -> VulkanState { p_preserve_attachments: core::ptr::null(), }; let dependency = SubpassDependency { - src_subpass: vk::constants::SUBPASS_EXTERNAL, + src_subpass: vk::SUBPASS_EXTERNAL, dst_subpass: 0, src_stage_mask: PipelineStageFlags::COLOR_ATTACHMENT_OUTPUT, dst_stage_mask: PipelineStageFlags::COLOR_ATTACHMENT_OUTPUT, @@ -271,11 +263,11 @@ fn init_vulkan(window: Window) -> VulkanState { *PipelineShaderStageCreateInfo::builder() .stage(ShaderStageFlags::VERTEX) .module(vert_module) - .p_name(entry_name), + .name(entry_name), *PipelineShaderStageCreateInfo::builder() .stage(ShaderStageFlags::FRAGMENT) .module(frag_module) - .p_name(entry_name), + .name(entry_name), ]; let vertex_input = PipelineVertexInputStateCreateInfo::builder(); let input_assembly = @@ -305,13 +297,13 @@ fn init_vulkan(window: Window) -> VulkanState { let pipeline_info = GraphicsPipelineCreateInfo::builder() .stages(&stages) - .p_vertex_input_state(&vertex_input) - .p_input_assembly_state(&input_assembly) - .p_viewport_state(&viewport_state) - .p_rasterization_state(&rasterizer) - .p_multisample_state(&multisampling) - .p_color_blend_state(&color_blending) - .p_dynamic_state(&dynamic_state) + .vertex_input_state(&vertex_input) + .input_assembly_state(&input_assembly) + .viewport_state(&viewport_state) + .rasterization_state(&rasterizer) + .multisample_state(&multisampling) + .color_blend_state(&color_blending) + .dynamic_state(&dynamic_state) .layout(pipeline_layout) .render_pass(render_pass) .subpass(0); @@ -552,7 +544,7 @@ unsafe fn draw_frame(state: &mut VulkanState, framebuffer_resized: &mut bool) { let image_index = match acquire_result { Ok(index) => index, - Err(vk::enums::Result::ERROR_OUT_OF_DATE) => { + Err(vk::Result::ERROR_OUT_OF_DATE) => { recreate_swapchain(state); return; } @@ -592,7 +584,7 @@ unsafe fn draw_frame(state: &mut VulkanState, framebuffer_resized: &mut bool) { match present_result { Ok(_) => {} - Err(vk::enums::Result::ERROR_OUT_OF_DATE | vk::enums::Result::SUBOPTIMAL) => { + Err(vk::Result::ERROR_OUT_OF_DATE | vk::Result::SUBOPTIMAL) => { *framebuffer_resized = false; recreate_swapchain(state); return; diff --git a/vulkan-rust/examples/textures.rs b/vulkan-rust/examples/textures.rs index 0e03504..96694c7 100644 --- a/vulkan-rust/examples/textures.rs +++ b/vulkan-rust/examples/textures.rs @@ -3,10 +3,7 @@ // upload it to the GPU, and sample it in a fragment shader. // -use vk::bitmasks::*; -use vk::enums::*; -use vk::handles::*; -use vk::structs::*; +use vk::*; use vulkan_rust::vk; use vulkan_rust::{Device, Entry, LibloadingLoader, Version, cast_to_u32}; use winit::application::ApplicationHandler; @@ -131,14 +128,14 @@ fn init_vulkan(window: Window) -> VulkanState { let layer_ptrs = [validation_layer.as_ptr()]; let app_info = ApplicationInfo::builder() - .p_application_name(c"Textures") + .application_name(c"Textures") .application_version(1) - .p_engine_name(c"No Engine") + .engine_name(c"No Engine") .engine_version(1) .api_version(Version::new(1, 0, 0).to_raw()); let create_info = InstanceCreateInfo::builder() - .p_application_info(&app_info) + .application_info(&app_info) .enabled_extension_names(&extension_ptrs) .enabled_layer_names(&layer_ptrs); @@ -160,8 +157,7 @@ fn init_vulkan(window: Window) -> VulkanState { let graphics = family.queue_flags & QueueFlags::GRAPHICS != QueueFlags::empty(); let present = unsafe { instance.get_physical_device_surface_support_khr(pd, i as u32, surface) } - .unwrap_or(0) - != 0; + .unwrap_or(false); if graphics && present { physical_device = pd; graphics_family_index = i as u32; @@ -379,8 +375,8 @@ fn init_vulkan(window: Window) -> VulkanState { let barrier_to_transfer = ImageMemoryBarrier::builder() .old_layout(ImageLayout::UNDEFINED) .new_layout(ImageLayout::TRANSFER_DST_OPTIMAL) - .src_queue_family_index(vk::constants::QUEUE_FAMILY_IGNORED) - .dst_queue_family_index(vk::constants::QUEUE_FAMILY_IGNORED) + .src_queue_family_index(vk::QUEUE_FAMILY_IGNORED) + .dst_queue_family_index(vk::QUEUE_FAMILY_IGNORED) .image(texture_image) .subresource_range(ImageSubresourceRange { aspect_mask: ImageAspectFlags::COLOR, @@ -433,8 +429,8 @@ fn init_vulkan(window: Window) -> VulkanState { let barrier_to_shader = ImageMemoryBarrier::builder() .old_layout(ImageLayout::TRANSFER_DST_OPTIMAL) .new_layout(ImageLayout::SHADER_READ_ONLY_OPTIMAL) - .src_queue_family_index(vk::constants::QUEUE_FAMILY_IGNORED) - .dst_queue_family_index(vk::constants::QUEUE_FAMILY_IGNORED) + .src_queue_family_index(vk::QUEUE_FAMILY_IGNORED) + .dst_queue_family_index(vk::QUEUE_FAMILY_IGNORED) .image(texture_image) .subresource_range(ImageSubresourceRange { aspect_mask: ImageAspectFlags::COLOR, @@ -561,12 +557,8 @@ fn init_vulkan(window: Window) -> VulkanState { let vert_code = cast_to_u32(vert_bytes).expect("Vertex SPIR-V not aligned"); let frag_code = cast_to_u32(frag_bytes).expect("Fragment SPIR-V not aligned"); - let vert_info = ShaderModuleCreateInfo::builder() - .code_size(vert_code.len() * 4) - .p_code(vert_code.as_ptr()); - let frag_info = ShaderModuleCreateInfo::builder() - .code_size(frag_code.len() * 4) - .p_code(frag_code.as_ptr()); + let vert_info = ShaderModuleCreateInfo::builder().code(vert_code); + let frag_info = ShaderModuleCreateInfo::builder().code(frag_code); let vert_module = unsafe { device.create_shader_module(&vert_info, None) } .expect("Failed to create vertex shader module"); @@ -601,7 +593,7 @@ fn init_vulkan(window: Window) -> VulkanState { p_preserve_attachments: core::ptr::null(), }; let dependency = SubpassDependency { - src_subpass: vk::constants::SUBPASS_EXTERNAL, + src_subpass: vk::SUBPASS_EXTERNAL, dst_subpass: 0, src_stage_mask: PipelineStageFlags::COLOR_ATTACHMENT_OUTPUT, dst_stage_mask: PipelineStageFlags::COLOR_ATTACHMENT_OUTPUT, @@ -627,11 +619,11 @@ fn init_vulkan(window: Window) -> VulkanState { *PipelineShaderStageCreateInfo::builder() .stage(ShaderStageFlags::VERTEX) .module(vert_module) - .p_name(entry_name), + .name(entry_name), *PipelineShaderStageCreateInfo::builder() .stage(ShaderStageFlags::FRAGMENT) .module(frag_module) - .p_name(entry_name), + .name(entry_name), ]; let vertex_input = PipelineVertexInputStateCreateInfo::builder(); let input_assembly = @@ -661,13 +653,13 @@ fn init_vulkan(window: Window) -> VulkanState { let pipeline_info = GraphicsPipelineCreateInfo::builder() .stages(&stages) - .p_vertex_input_state(&vertex_input) - .p_input_assembly_state(&input_assembly) - .p_viewport_state(&viewport_state) - .p_rasterization_state(&rasterizer) - .p_multisample_state(&multisampling) - .p_color_blend_state(&color_blending) - .p_dynamic_state(&dynamic_state) + .vertex_input_state(&vertex_input) + .input_assembly_state(&input_assembly) + .viewport_state(&viewport_state) + .rasterization_state(&rasterizer) + .multisample_state(&multisampling) + .color_blend_state(&color_blending) + .dynamic_state(&dynamic_state) .layout(pipeline_layout) .render_pass(render_pass) .subpass(0); diff --git a/vulkan-rust/fuzz/fuzz_targets/fuzz_entry_loader.rs b/vulkan-rust/fuzz/fuzz_targets/fuzz_entry_loader.rs index c51f606..ee79eeb 100644 --- a/vulkan-rust/fuzz/fuzz_targets/fuzz_entry_loader.rs +++ b/vulkan-rust/fuzz/fuzz_targets/fuzz_entry_loader.rs @@ -23,17 +23,17 @@ struct FuzzLoader { /// Minimal valid vkGetInstanceProcAddr: returns null for all lookups. unsafe extern "system" fn stub_get_instance_proc_addr( - _instance: vulkan_rust_sys::handles::Instance, + _instance: vulkan_rust_sys::Instance, _name: *const std::ffi::c_char, -) -> vulkan_rust_sys::structs::PFN_vkVoidFunction { +) -> vulkan_rust_sys::PFN_vkVoidFunction { None } /// Minimal valid vkGetDeviceProcAddr: returns null for all lookups. unsafe extern "system" fn stub_get_device_proc_addr( - _device: vulkan_rust_sys::handles::Device, + _device: vulkan_rust_sys::Device, _name: *const std::ffi::c_char, -) -> vulkan_rust_sys::structs::PFN_vkVoidFunction { +) -> vulkan_rust_sys::PFN_vkVoidFunction { None } diff --git a/vulkan-rust/fuzz/fuzz_targets/fuzz_push_next.rs b/vulkan-rust/fuzz/fuzz_targets/fuzz_push_next.rs index 4cfcda2..429cb0a 100644 --- a/vulkan-rust/fuzz/fuzz_targets/fuzz_push_next.rs +++ b/vulkan-rust/fuzz/fuzz_targets/fuzz_push_next.rs @@ -1,8 +1,7 @@ #![no_main] use libfuzzer_sys::fuzz_target; -use vulkan_rust::vk::enums::StructureType; -use vulkan_rust::vk::structs::*; +use vulkan_rust::vk::*; /// Walk a pNext chain starting from `head`, collecting sType values. /// Returns None if the chain exceeds `max_depth` (likely a cycle). diff --git a/vulkan-rust/src/device.rs b/vulkan-rust/src/device.rs index 2bf8558..50534fd 100644 --- a/vulkan-rust/src/device.rs +++ b/vulkan-rust/src/device.rs @@ -27,7 +27,7 @@ use crate::vk; /// # Examples /// /// ```no_run -/// use vulkan_rust::vk::structs::*; +/// use vulkan_rust::vk::*; /// /// # let (entry, instance, device) = vulkan_rust::test_helpers::create_test_device().unwrap(); /// // Use the device to create Vulkan objects. @@ -43,7 +43,7 @@ use crate::vk; /// }; /// ``` pub struct Device { - handle: vk::handles::Device, + handle: vk::Device, commands: Box, _loader: Option>, } @@ -57,7 +57,7 @@ impl Device { /// - `get_device_proc_addr` must resolve device-level commands for /// this handle. pub(crate) unsafe fn load( - handle: vk::handles::Device, + handle: vk::Device, get_device_proc_addr: vk::commands::PFN_vkGetDeviceProcAddr, loader: Option>, ) -> Self { @@ -87,17 +87,17 @@ impl Device { /// /// ```no_run /// use vulkan_rust::Device; - /// # use vulkan_rust::vk::handles::Handle; + /// # use vulkan_rust::vk::Handle; /// # let entry = vulkan_rust::test_helpers::create_test_entry().unwrap(); /// /// // Given a raw device handle and proc addr from an external source: - /// # let raw_device = vulkan_rust::vk::handles::Device::null(); + /// # let raw_device = vulkan_rust::vk::Device::null(); /// let device = unsafe { /// Device::from_raw_parts(raw_device, entry.get_device_proc_addr()) /// }; /// ``` pub unsafe fn from_raw_parts( - handle: vk::handles::Device, + handle: vk::Device, get_device_proc_addr: vk::commands::PFN_vkGetDeviceProcAddr, ) -> Self { // SAFETY: forwards caller's safety guarantees to `load`. @@ -105,7 +105,7 @@ impl Device { } /// Returns the raw `VkDevice` handle. - pub fn handle(&self) -> vk::handles::Device { + pub fn handle(&self) -> vk::Device { self.handle } @@ -127,10 +127,10 @@ impl Device { /// Same requirements as `create_graphics_pipelines`. pub unsafe fn create_graphics_pipeline( &self, - pipeline_cache: vk::handles::PipelineCache, - create_info: &vk::structs::GraphicsPipelineCreateInfo, - allocator: Option<&vk::structs::AllocationCallbacks>, - ) -> crate::VkResult { + pipeline_cache: vk::PipelineCache, + create_info: &vk::GraphicsPipelineCreateInfo, + allocator: Option<&vk::AllocationCallbacks>, + ) -> crate::VkResult { unsafe { self.create_graphics_pipelines(pipeline_cache, &[*create_info], allocator) } .map(|v| v[0]) } @@ -145,10 +145,10 @@ impl Device { /// Same requirements as `create_compute_pipelines`. pub unsafe fn create_compute_pipeline( &self, - pipeline_cache: vk::handles::PipelineCache, - create_info: &vk::structs::ComputePipelineCreateInfo, - allocator: Option<&vk::structs::AllocationCallbacks>, - ) -> crate::VkResult { + pipeline_cache: vk::PipelineCache, + create_info: &vk::ComputePipelineCreateInfo, + allocator: Option<&vk::AllocationCallbacks>, + ) -> crate::VkResult { unsafe { self.create_compute_pipelines(pipeline_cache, &[*create_info], allocator) } .map(|v| v[0]) } @@ -165,10 +165,10 @@ impl Device { /// - The returned pointer is only valid until `unmap_memory` is called. pub unsafe fn map_memory( &self, - memory: vk::handles::DeviceMemory, + memory: vk::DeviceMemory, offset: u64, size: u64, - flags: vk::structs::MemoryMapFlags, + flags: vk::MemoryMapFlags, ) -> crate::VkResult<*mut core::ffi::c_void> { let fp = self.commands().map_memory.expect("vkMapMemory not loaded"); let mut data: *mut core::ffi::c_void = core::ptr::null_mut(); @@ -187,7 +187,7 @@ impl Device { /// - The returned pointer is only valid until the memory is unmapped. pub unsafe fn map_memory2( &self, - p_memory_map_info: &vk::structs::MemoryMapInfo, + p_memory_map_info: &vk::MemoryMapInfo, ) -> crate::VkResult<*mut core::ffi::c_void> { let fp = self .commands() @@ -203,17 +203,17 @@ impl Device { mod tests { use super::*; use std::ffi::c_char; - use vk::handles::Handle; + use vk::Handle; - fn fake_handle() -> vk::handles::Device { - vk::handles::Device::from_raw(0xBEEF) + fn fake_handle() -> vk::Device { + vk::Device::from_raw(0xBEEF) } /// Stub `vkGetDeviceProcAddr` that returns null for all lookups. unsafe extern "system" fn mock_get_device_proc_addr( - _device: vk::handles::Device, + _device: vk::Device, _name: *const c_char, - ) -> vk::structs::PFN_vkVoidFunction { + ) -> vk::PFN_vkVoidFunction { None } @@ -278,37 +278,32 @@ mod tests { // -- Rich mock that provides some real function pointers ------------------ - unsafe extern "system" fn mock_device_wait_idle( - _device: vk::handles::Device, - ) -> vk::enums::Result { - vk::enums::Result::SUCCESS + unsafe extern "system" fn mock_device_wait_idle(_device: vk::Device) -> vk::Result { + vk::Result::SUCCESS } unsafe extern "system" fn mock_destroy_device( - _device: vk::handles::Device, - _p_allocator: *const vk::structs::AllocationCallbacks, + _device: vk::Device, + _p_allocator: *const vk::AllocationCallbacks, ) { } /// `vkGetDeviceProcAddr` that resolves a few commands for richer testing. unsafe extern "system" fn rich_get_device_proc_addr( - _device: vk::handles::Device, + _device: vk::Device, name: *const c_char, - ) -> vk::structs::PFN_vkVoidFunction { + ) -> vk::PFN_vkVoidFunction { let name = unsafe { std::ffi::CStr::from_ptr(name) }; match name.to_bytes() { b"vkDeviceWaitIdle" => Some(unsafe { std::mem::transmute::< - unsafe extern "system" fn(vk::handles::Device) -> vk::enums::Result, + unsafe extern "system" fn(vk::Device) -> vk::Result, unsafe extern "system" fn(), >(mock_device_wait_idle) }), b"vkDestroyDevice" => Some(unsafe { std::mem::transmute::< - unsafe extern "system" fn( - vk::handles::Device, - *const vk::structs::AllocationCallbacks, - ), + unsafe extern "system" fn(vk::Device, *const vk::AllocationCallbacks), unsafe extern "system" fn(), >(mock_destroy_device) }), @@ -423,8 +418,8 @@ mod tests { let entry = unsafe { Entry::new(loader) }.expect("failed to create Entry"); let api_version_1_0 = crate::Version::new(1, 0, 0).to_raw(); - let app_info = vk::structs::ApplicationInfo { - s_type: vk::enums::StructureType::APPLICATION_INFO, + let app_info = vk::ApplicationInfo { + s_type: vk::StructureType::APPLICATION_INFO, p_next: std::ptr::null(), p_application_name: std::ptr::null(), application_version: 0, @@ -432,10 +427,10 @@ mod tests { engine_version: 0, api_version: api_version_1_0, }; - let instance_create_info = vk::structs::InstanceCreateInfo { - s_type: vk::enums::StructureType::INSTANCE_CREATE_INFO, + let instance_create_info = vk::InstanceCreateInfo { + s_type: vk::StructureType::INSTANCE_CREATE_INFO, p_next: std::ptr::null(), - flags: vk::bitmasks::InstanceCreateFlagBits::empty(), + flags: vk::InstanceCreateFlagBits::empty(), p_application_info: &app_info, enabled_layer_count: 0, pp_enabled_layer_names: std::ptr::null(), @@ -450,16 +445,16 @@ mod tests { let physical_device = physical_devices[0]; let queue_priority = 1.0f32; - let queue_create_info = vk::structs::DeviceQueueCreateInfo { - s_type: vk::enums::StructureType::DEVICE_QUEUE_CREATE_INFO, + let queue_create_info = vk::DeviceQueueCreateInfo { + s_type: vk::StructureType::DEVICE_QUEUE_CREATE_INFO, p_next: std::ptr::null(), - flags: vk::bitmasks::DeviceQueueCreateFlagBits::empty(), + flags: vk::DeviceQueueCreateFlagBits::empty(), queue_family_index: 0, queue_count: 1, p_queue_priorities: &queue_priority, }; - let device_create_info = vk::structs::DeviceCreateInfo { - s_type: vk::enums::StructureType::DEVICE_CREATE_INFO, + let device_create_info = vk::DeviceCreateInfo { + s_type: vk::StructureType::DEVICE_CREATE_INFO, p_next: std::ptr::null(), flags: 0, queue_create_info_count: 1, diff --git a/vulkan-rust/src/entry.rs b/vulkan-rust/src/entry.rs index b919cd3..d5f7217 100644 --- a/vulkan-rust/src/entry.rs +++ b/vulkan-rust/src/entry.rs @@ -7,7 +7,7 @@ use crate::instance::Instance; use crate::loader::Loader; use crate::version::Version; use crate::vk; -use vk::handles::Handle; +use vk::Handle; /// Entry point into the Vulkan API. /// @@ -73,7 +73,7 @@ impl Entry { let get_instance_proc_addr_fn = get_instance_proc_addr.expect("vkGetInstanceProcAddr not loaded"); - let null_instance = vk::handles::Instance::null(); + let null_instance = vk::Instance::null(); // SAFETY: loader returns a valid fn ptr or null; null becomes None. let get_device_proc_addr: vk::commands::PFN_vkGetDeviceProcAddr = @@ -154,7 +154,7 @@ impl Entry { /// /// ```no_run /// use vulkan_rust::{Entry, LibloadingLoader, Version}; - /// use vulkan_rust::vk::structs::*; + /// use vulkan_rust::vk::*; /// /// let loader = unsafe { LibloadingLoader::new() }.expect("Vulkan not found"); /// let entry = unsafe { Entry::new(loader) }.expect("entry creation failed"); @@ -162,7 +162,7 @@ impl Entry { /// let app_info = ApplicationInfo::builder() /// .api_version(Version::new(1, 0, 0).to_raw()); /// let create_info = InstanceCreateInfo::builder() - /// .p_application_info(&*app_info); + /// .application_info(&*app_info); /// let instance = unsafe { entry.create_instance(&create_info, None) } /// .expect("instance creation failed"); /// // Use instance... @@ -170,8 +170,8 @@ impl Entry { /// ``` pub unsafe fn create_instance( &self, - create_info: &vk::structs::InstanceCreateInfo, - allocator: Option<&vk::structs::AllocationCallbacks>, + create_info: &vk::InstanceCreateInfo, + allocator: Option<&vk::AllocationCallbacks>, ) -> VkResult { // SAFETY: caller guarantees create_info is valid (this fn is unsafe). let raw = unsafe { self.create_instance_raw(create_info, allocator) }?; @@ -200,14 +200,14 @@ impl Entry { /// `vkDestroyInstance` when done. pub unsafe fn create_instance_raw( &self, - create_info: &vk::structs::InstanceCreateInfo, - allocator: Option<&vk::structs::AllocationCallbacks>, - ) -> VkResult { + create_info: &vk::InstanceCreateInfo, + allocator: Option<&vk::AllocationCallbacks>, + ) -> VkResult { let fp = self .commands .create_instance .expect("vkCreateInstance not loaded"); - let mut instance = vk::handles::Instance::null(); + let mut instance = vk::Instance::null(); // SAFETY: caller guarantees create_info is valid (this fn is unsafe). let result = unsafe { fp( @@ -225,9 +225,7 @@ impl Entry { /// # Safety /// /// The Vulkan loader must be in a valid state. - pub unsafe fn enumerate_instance_layer_properties( - &self, - ) -> VkResult> { + pub unsafe fn enumerate_instance_layer_properties(&self) -> VkResult> { let fp = self .commands .enumerate_instance_layer_properties @@ -248,7 +246,7 @@ impl Entry { pub unsafe fn enumerate_instance_extension_properties( &self, layer_name: Option<&CStr>, - ) -> VkResult> { + ) -> VkResult> { let fp = self .commands .enumerate_instance_extension_properties @@ -279,9 +277,9 @@ mod tests { struct FakeEntryLoader; unsafe extern "system" fn mock_get_instance_proc_addr( - _instance: vk::handles::Instance, + _instance: vk::Instance, _name: *const c_char, - ) -> vk::structs::PFN_vkVoidFunction { + ) -> vk::PFN_vkVoidFunction { None } @@ -348,23 +346,20 @@ mod tests { struct RichEntryLoader; unsafe extern "system" fn rich_get_instance_proc_addr( - _instance: vk::handles::Instance, + _instance: vk::Instance, name: *const c_char, - ) -> vk::structs::PFN_vkVoidFunction { + ) -> vk::PFN_vkVoidFunction { let name = unsafe { CStr::from_ptr(name) }; match name.to_bytes() { b"vkEnumerateInstanceVersion" => Some(unsafe { std::mem::transmute::< - unsafe extern "system" fn(*mut u32) -> vk::enums::Result, + unsafe extern "system" fn(*mut u32) -> vk::Result, unsafe extern "system" fn(), >(mock_enumerate_instance_version) }), b"vkEnumerateInstanceLayerProperties" => Some(unsafe { std::mem::transmute::< - unsafe extern "system" fn( - *mut u32, - *mut vk::structs::LayerProperties, - ) -> vk::enums::Result, + unsafe extern "system" fn(*mut u32, *mut vk::LayerProperties) -> vk::Result, unsafe extern "system" fn(), >(mock_enumerate_instance_layer_properties) }), @@ -373,18 +368,18 @@ mod tests { unsafe extern "system" fn( *const c_char, *mut u32, - *mut vk::structs::ExtensionProperties, - ) -> vk::enums::Result, + *mut vk::ExtensionProperties, + ) -> vk::Result, unsafe extern "system" fn(), >(mock_enumerate_instance_extension_properties) }), b"vkCreateInstance" => Some(unsafe { std::mem::transmute::< unsafe extern "system" fn( - *const vk::structs::InstanceCreateInfo, - *const vk::structs::AllocationCallbacks, - *mut vk::handles::Instance, - ) -> vk::enums::Result, + *const vk::InstanceCreateInfo, + *const vk::AllocationCallbacks, + *mut vk::Instance, + ) -> vk::Result, unsafe extern "system" fn(), >(mock_create_instance) }), @@ -394,36 +389,36 @@ mod tests { unsafe extern "system" fn mock_enumerate_instance_version( p_api_version: *mut u32, - ) -> vk::enums::Result { + ) -> vk::Result { unsafe { *p_api_version = crate::Version::new(1, 3, 290).to_raw() }; - vk::enums::Result::SUCCESS + vk::Result::SUCCESS } unsafe extern "system" fn mock_enumerate_instance_layer_properties( p_count: *mut u32, - _p_properties: *mut vk::structs::LayerProperties, - ) -> vk::enums::Result { + _p_properties: *mut vk::LayerProperties, + ) -> vk::Result { unsafe { *p_count = 0 }; - vk::enums::Result::SUCCESS + vk::Result::SUCCESS } unsafe extern "system" fn mock_enumerate_instance_extension_properties( _p_layer_name: *const c_char, p_count: *mut u32, - _p_properties: *mut vk::structs::ExtensionProperties, - ) -> vk::enums::Result { + _p_properties: *mut vk::ExtensionProperties, + ) -> vk::Result { unsafe { *p_count = 0 }; - vk::enums::Result::SUCCESS + vk::Result::SUCCESS } unsafe extern "system" fn mock_create_instance( - _p_create_info: *const vk::structs::InstanceCreateInfo, - _p_allocator: *const vk::structs::AllocationCallbacks, - p_instance: *mut vk::handles::Instance, - ) -> vk::enums::Result { + _p_create_info: *const vk::InstanceCreateInfo, + _p_allocator: *const vk::AllocationCallbacks, + p_instance: *mut vk::Instance, + ) -> vk::Result { // Write a non-null sentinel handle. - unsafe { *p_instance = std::mem::transmute::(0x1234_usize) }; - vk::enums::Result::SUCCESS + unsafe { *p_instance = std::mem::transmute::(0x1234_usize) }; + vk::Result::SUCCESS } unsafe impl Loader for RichEntryLoader { @@ -473,7 +468,7 @@ mod tests { #[test] fn create_instance_raw_with_mock() { let entry = unsafe { Entry::new(RichEntryLoader) }.expect("should create Entry"); - let create_info: vk::structs::InstanceCreateInfo = unsafe { std::mem::zeroed() }; + let create_info: vk::InstanceCreateInfo = unsafe { std::mem::zeroed() }; let raw = unsafe { entry.create_instance_raw(&create_info, None) }.expect("should succeed"); assert!(!raw.is_null()); } @@ -484,23 +479,20 @@ mod tests { struct FailingEntryLoader; unsafe extern "system" fn failing_get_instance_proc_addr( - _instance: vk::handles::Instance, + _instance: vk::Instance, name: *const c_char, - ) -> vk::structs::PFN_vkVoidFunction { + ) -> vk::PFN_vkVoidFunction { let name = unsafe { CStr::from_ptr(name) }; match name.to_bytes() { b"vkEnumerateInstanceVersion" => Some(unsafe { std::mem::transmute::< - unsafe extern "system" fn(*mut u32) -> vk::enums::Result, + unsafe extern "system" fn(*mut u32) -> vk::Result, unsafe extern "system" fn(), >(failing_enumerate_instance_version) }), b"vkEnumerateInstanceLayerProperties" => Some(unsafe { std::mem::transmute::< - unsafe extern "system" fn( - *mut u32, - *mut vk::structs::LayerProperties, - ) -> vk::enums::Result, + unsafe extern "system" fn(*mut u32, *mut vk::LayerProperties) -> vk::Result, unsafe extern "system" fn(), >(failing_enumerate_instance_layer_properties) }), @@ -509,18 +501,18 @@ mod tests { unsafe extern "system" fn( *const c_char, *mut u32, - *mut vk::structs::ExtensionProperties, - ) -> vk::enums::Result, + *mut vk::ExtensionProperties, + ) -> vk::Result, unsafe extern "system" fn(), >(failing_enumerate_instance_extension_properties) }), b"vkCreateInstance" => Some(unsafe { std::mem::transmute::< unsafe extern "system" fn( - *const vk::structs::InstanceCreateInfo, - *const vk::structs::AllocationCallbacks, - *mut vk::handles::Instance, - ) -> vk::enums::Result, + *const vk::InstanceCreateInfo, + *const vk::AllocationCallbacks, + *mut vk::Instance, + ) -> vk::Result, unsafe extern "system" fn(), >(failing_create_instance) }), @@ -530,31 +522,31 @@ mod tests { unsafe extern "system" fn failing_enumerate_instance_version( _p_api_version: *mut u32, - ) -> vk::enums::Result { - vk::enums::Result::ERROR_OUT_OF_HOST_MEMORY + ) -> vk::Result { + vk::Result::ERROR_OUT_OF_HOST_MEMORY } unsafe extern "system" fn failing_enumerate_instance_layer_properties( _p_count: *mut u32, - _p_properties: *mut vk::structs::LayerProperties, - ) -> vk::enums::Result { - vk::enums::Result::ERROR_OUT_OF_HOST_MEMORY + _p_properties: *mut vk::LayerProperties, + ) -> vk::Result { + vk::Result::ERROR_OUT_OF_HOST_MEMORY } unsafe extern "system" fn failing_enumerate_instance_extension_properties( _p_layer_name: *const c_char, _p_count: *mut u32, - _p_properties: *mut vk::structs::ExtensionProperties, - ) -> vk::enums::Result { - vk::enums::Result::ERROR_OUT_OF_HOST_MEMORY + _p_properties: *mut vk::ExtensionProperties, + ) -> vk::Result { + vk::Result::ERROR_OUT_OF_HOST_MEMORY } unsafe extern "system" fn failing_create_instance( - _p_create_info: *const vk::structs::InstanceCreateInfo, - _p_allocator: *const vk::structs::AllocationCallbacks, - _p_instance: *mut vk::handles::Instance, - ) -> vk::enums::Result { - vk::enums::Result::ERROR_INITIALIZATION_FAILED + _p_create_info: *const vk::InstanceCreateInfo, + _p_allocator: *const vk::AllocationCallbacks, + _p_instance: *mut vk::Instance, + ) -> vk::Result { + vk::Result::ERROR_INITIALIZATION_FAILED } unsafe impl Loader for FailingEntryLoader { @@ -570,41 +562,29 @@ mod tests { fn version_propagates_error() { let entry = unsafe { Entry::new(FailingEntryLoader) }.expect("should create Entry"); let result = entry.version(); - assert_eq!( - result.unwrap_err(), - vk::enums::Result::ERROR_OUT_OF_HOST_MEMORY - ); + assert_eq!(result.unwrap_err(), vk::Result::ERROR_OUT_OF_HOST_MEMORY); } #[test] fn create_instance_raw_propagates_error() { let entry = unsafe { Entry::new(FailingEntryLoader) }.expect("should create Entry"); - let create_info: vk::structs::InstanceCreateInfo = unsafe { std::mem::zeroed() }; + let create_info: vk::InstanceCreateInfo = unsafe { std::mem::zeroed() }; let result = unsafe { entry.create_instance_raw(&create_info, None) }; - assert_eq!( - result.unwrap_err(), - vk::enums::Result::ERROR_INITIALIZATION_FAILED - ); + assert_eq!(result.unwrap_err(), vk::Result::ERROR_INITIALIZATION_FAILED); } #[test] fn enumerate_layer_properties_propagates_error() { let entry = unsafe { Entry::new(FailingEntryLoader) }.expect("should create Entry"); let result = unsafe { entry.enumerate_instance_layer_properties() }; - assert_eq!( - result.unwrap_err(), - vk::enums::Result::ERROR_OUT_OF_HOST_MEMORY - ); + assert_eq!(result.unwrap_err(), vk::Result::ERROR_OUT_OF_HOST_MEMORY); } #[test] fn enumerate_extension_properties_propagates_error() { let entry = unsafe { Entry::new(FailingEntryLoader) }.expect("should create Entry"); let result = unsafe { entry.enumerate_instance_extension_properties(None) }; - assert_eq!( - result.unwrap_err(), - vk::enums::Result::ERROR_OUT_OF_HOST_MEMORY - ); + assert_eq!(result.unwrap_err(), vk::Result::ERROR_OUT_OF_HOST_MEMORY); } #[test] diff --git a/vulkan-rust/src/error.rs b/vulkan-rust/src/error.rs index ceba6c3..16ebe1d 100644 --- a/vulkan-rust/src/error.rs +++ b/vulkan-rust/src/error.rs @@ -5,7 +5,7 @@ use crate::vk; /// First call with null data pointer to get the count, allocate, then call /// again to fill the buffer. pub(crate) fn enumerate_two_call( - call: impl Fn(*mut u32, *mut T) -> vk::enums::Result, + call: impl Fn(*mut u32, *mut T) -> vk::Result, ) -> VkResult> { let mut count = 0u32; check(call(&mut count, std::ptr::null_mut()))?; @@ -33,7 +33,7 @@ pub(crate) fn fill_two_call(call: impl Fn(*mut u32, *mut T)) -> Vec { /// Vulkan API result type. /// -/// The `Err` variant is any negative `vk::enums::Result` (an error code). +/// The `Err` variant is any negative `vk::Result` (an error code). /// Non-negative codes (including `SUCCESS`, `INCOMPLETE`, `SUBOPTIMAL`) /// are treated as success. /// @@ -51,14 +51,14 @@ pub(crate) fn fill_two_call(call: impl Fn(*mut u32, *mut T)) -> Vec { /// let result = do_vulkan_work(); /// assert!(result.is_ok()); /// ``` -pub type VkResult = std::result::Result; +pub type VkResult = std::result::Result; -/// Convert a raw `vk::enums::Result` into `VkResult<()>`. +/// Convert a raw `vk::Result` into `VkResult<()>`. /// /// Vulkan defines success codes as non-negative and error codes as negative. /// Commands that need to distinguish specific success codes (e.g. `INCOMPLETE` /// for enumeration) handle that explicitly after calling this. -pub(crate) fn check(result: vk::enums::Result) -> VkResult<()> { +pub(crate) fn check(result: vk::Result) -> VkResult<()> { if result.as_raw() >= 0 { Ok(()) } else { @@ -66,9 +66,9 @@ pub(crate) fn check(result: vk::enums::Result) -> VkResult<()> { } } -/// Wrapper around [`vk::enums::Result`] that implements [`std::error::Error`]. +/// Wrapper around [`vk::Result`] that implements [`std::error::Error`]. /// -/// `vk::enums::Result` is a generated `#[repr(transparent)]` newtype without +/// `vk::Result` is a generated `#[repr(transparent)]` newtype without /// `Display` or `Error` impls. This wrapper bridges that gap so Vulkan error /// codes can participate in `Box` chains. /// @@ -78,11 +78,11 @@ pub(crate) fn check(result: vk::enums::Result) -> VkResult<()> { /// use vulkan_rust::VkError; /// use vulkan_rust::vk; /// -/// let err = VkError(vk::enums::Result::ERROR_OUT_OF_HOST_MEMORY); +/// let err = VkError(vk::Result::ERROR_OUT_OF_HOST_MEMORY); /// assert_eq!(err.to_string(), "ERROR_OUT_OF_HOST_MEMORY"); /// ``` #[derive(Debug, Clone, Copy, PartialEq, Eq)] -pub struct VkError(pub vk::enums::Result); +pub struct VkError(pub vk::Result); impl std::fmt::Display for VkError { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -92,15 +92,15 @@ impl std::fmt::Display for VkError { impl std::error::Error for VkError {} -impl From for VkError { - fn from(r: vk::enums::Result) -> Self { +impl From for VkError { + fn from(r: vk::Result) -> Self { Self(r) } } /// Error returned when the Vulkan shared library cannot be loaded. /// -/// This is distinct from `vk::enums::Result`, it represents a failure to reach +/// This is distinct from `vk::Result`, it represents a failure to reach /// the Vulkan API at all, not a Vulkan API error. /// /// # Examples @@ -148,28 +148,28 @@ mod tests { #[test] fn check_success_returns_ok() { - assert!(check(vk::enums::Result::SUCCESS).is_ok()); + assert!(check(vk::Result::SUCCESS).is_ok()); } #[test] fn check_negative_returns_err() { - let result = check(vk::enums::Result::ERROR_OUT_OF_HOST_MEMORY); - assert_eq!(result, Err(vk::enums::Result::ERROR_OUT_OF_HOST_MEMORY)); + let result = check(vk::Result::ERROR_OUT_OF_HOST_MEMORY); + assert_eq!(result, Err(vk::Result::ERROR_OUT_OF_HOST_MEMORY)); } #[test] fn check_non_zero_success_codes_return_ok() { // INCOMPLETE and SUBOPTIMAL are non-negative success codes. - assert!(check(vk::enums::Result::INCOMPLETE).is_ok()); - assert!(check(vk::enums::Result::SUBOPTIMAL).is_ok()); + assert!(check(vk::Result::INCOMPLETE).is_ok()); + assert!(check(vk::Result::SUBOPTIMAL).is_ok()); } #[test] fn check_extension_error_codes_return_err() { // Extension error codes (promoted to core) must be negative. - assert!(check(vk::enums::Result::ERROR_OUT_OF_POOL_MEMORY).is_err()); - assert!(check(vk::enums::Result::ERROR_SURFACE_LOST).is_err()); - assert!(check(vk::enums::Result::ERROR_VALIDATION_FAILED).is_err()); + assert!(check(vk::Result::ERROR_OUT_OF_POOL_MEMORY).is_err()); + assert!(check(vk::Result::ERROR_SURFACE_LOST).is_err()); + assert!(check(vk::Result::ERROR_VALIDATION_FAILED).is_err()); } #[test] @@ -184,7 +184,7 @@ mod tests { *data.add(2) = 30; } } - vk::enums::Result::SUCCESS + vk::Result::SUCCESS }); assert_eq!(result.expect("should succeed"), vec![10u32, 20, 30]); } @@ -193,7 +193,7 @@ mod tests { fn enumerate_two_call_returns_empty_on_zero_count() { let result = enumerate_two_call::(|count, _data| { unsafe { *count = 0 }; - vk::enums::Result::SUCCESS + vk::Result::SUCCESS }); assert!(result.expect("should succeed").is_empty()); } @@ -201,11 +201,8 @@ mod tests { #[test] fn enumerate_two_call_propagates_error() { let result = - enumerate_two_call::(|_count, _data| vk::enums::Result::ERROR_OUT_OF_HOST_MEMORY); - assert_eq!( - result.unwrap_err(), - vk::enums::Result::ERROR_OUT_OF_HOST_MEMORY - ); + enumerate_two_call::(|_count, _data| vk::Result::ERROR_OUT_OF_HOST_MEMORY); + assert_eq!(result.unwrap_err(), vk::Result::ERROR_OUT_OF_HOST_MEMORY); } #[test] diff --git a/vulkan-rust/src/generated/device_wrappers.rs b/vulkan-rust/src/generated/device_wrappers.rs index 1c4577a..ac4e321 100644 --- a/vulkan-rust/src/generated/device_wrappers.rs +++ b/vulkan-rust/src/generated/device_wrappers.rs @@ -1,11 +1,7 @@ #![allow(unused_imports)] #![allow(clippy::too_many_arguments)] use crate::error::{VkResult, check, enumerate_two_call, fill_two_call}; -use crate::vk::bitmasks::*; -use crate::vk::constants::*; -use crate::vk::enums::*; -use crate::vk::handles::*; -use crate::vk::structs::*; +use crate::vk::*; impl crate::Device { ///Wraps [`vkGetDeviceProcAddr`](https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceProcAddr.html). /** @@ -1444,17 +1440,16 @@ impl crate::Device { ///# let (_, instance) = vulkan_rust::test_helpers::create_test_instance().expect("test setup"); ///# let phys = unsafe { instance.enumerate_physical_devices() }.expect("no devices"); ///# let p = [1.0f32]; - ///# let qi = vulkan_rust::vk::structs::DeviceQueueCreateInfo::builder().queue_priorities(&p); + ///# let qi = vulkan_rust::vk::DeviceQueueCreateInfo::builder().queue_priorities(&p); ///# let qis = [*qi]; - ///# let di = vulkan_rust::vk::structs::DeviceCreateInfo::builder().queue_create_infos(&qis); + ///# let di = vulkan_rust::vk::DeviceCreateInfo::builder().queue_create_infos(&qis); ///# let device = unsafe { instance.create_device(phys[0], &di, None) }.expect("device creation"); - ///use vulkan_rust::vk::structs::*; - ///use vulkan_rust::vk::bitmasks::*; + ///use vulkan_rust::vk::*; /// ///let info = BufferCreateInfo::builder() /// .size(1024) /// .usage(BufferUsageFlagBits::VERTEX_BUFFER) - /// .sharing_mode(vulkan_rust::vk::enums::SharingMode::EXCLUSIVE); + /// .sharing_mode(vulkan_rust::vk::SharingMode::EXCLUSIVE); ///let buffer = unsafe { device.create_buffer(&info, None) } /// .expect("buffer creation failed"); #[doc = "// Use buffer..."] @@ -4204,7 +4199,7 @@ impl crate::Device { command_buffer: CommandBuffer, first_binding: u32, p_buffers: &[Buffer], - p_offsets: &u64, + p_offsets: &[u64], ) { let fp = self .commands() @@ -4216,7 +4211,7 @@ impl crate::Device { first_binding, p_buffers.len() as u32, p_buffers.as_ptr(), - p_offsets, + p_offsets.as_ptr(), ) }; } @@ -5955,7 +5950,7 @@ impl crate::Device { layout: PipelineLayout, stage_flags: ShaderStageFlags, offset: u32, - p_values: &[core::ffi::c_void], + p_values: &[u8], ) { let fp = self .commands() @@ -5968,7 +5963,7 @@ impl crate::Device { stage_flags, offset, p_values.len() as u32, - p_values.as_ptr(), + p_values.as_ptr().cast(), ) }; } @@ -8952,7 +8947,7 @@ impl crate::Device { pub unsafe fn set_hdr_metadata_ext( &self, p_swapchains: &[SwapchainKHR], - p_metadata: &HdrMetadataEXT, + p_metadata: &[HdrMetadataEXT], ) { let fp = self .commands() @@ -8963,7 +8958,7 @@ impl crate::Device { self.handle(), p_swapchains.len() as u32, p_swapchains.as_ptr(), - p_metadata, + p_metadata.as_ptr(), ) }; } @@ -10890,22 +10885,21 @@ impl crate::Device { command_buffer: CommandBuffer, first_binding: u32, p_buffers: &[Buffer], - p_offsets: &u64, - p_sizes: Option<&u64>, + p_offsets: &[u64], + p_sizes: &[u64], ) { let fp = self .commands() .cmd_bind_transform_feedback_buffers_ext .expect("vkCmdBindTransformFeedbackBuffersEXT not loaded"); - let p_sizes_ptr = p_sizes.map_or(core::ptr::null(), core::ptr::from_ref); unsafe { fp( command_buffer, first_binding, p_buffers.len() as u32, p_buffers.as_ptr(), - p_offsets, - p_sizes_ptr, + p_offsets.as_ptr(), + p_sizes.as_ptr(), ) }; } @@ -10939,21 +10933,19 @@ impl crate::Device { command_buffer: CommandBuffer, first_counter_buffer: u32, p_counter_buffers: &[Buffer], - p_counter_buffer_offsets: Option<&u64>, + p_counter_buffer_offsets: &[u64], ) { let fp = self .commands() .cmd_begin_transform_feedback_ext .expect("vkCmdBeginTransformFeedbackEXT not loaded"); - let p_counter_buffer_offsets_ptr = - p_counter_buffer_offsets.map_or(core::ptr::null(), core::ptr::from_ref); unsafe { fp( command_buffer, first_counter_buffer, p_counter_buffers.len() as u32, p_counter_buffers.as_ptr(), - p_counter_buffer_offsets_ptr, + p_counter_buffer_offsets.as_ptr(), ) }; } @@ -10981,21 +10973,19 @@ impl crate::Device { command_buffer: CommandBuffer, first_counter_buffer: u32, p_counter_buffers: &[Buffer], - p_counter_buffer_offsets: Option<&u64>, + p_counter_buffer_offsets: &[u64], ) { let fp = self .commands() .cmd_end_transform_feedback_ext .expect("vkCmdEndTransformFeedbackEXT not loaded"); - let p_counter_buffer_offsets_ptr = - p_counter_buffer_offsets.map_or(core::ptr::null(), core::ptr::from_ref); unsafe { fp( command_buffer, first_counter_buffer, p_counter_buffers.len() as u32, p_counter_buffers.as_ptr(), - p_counter_buffer_offsets_ptr, + p_counter_buffer_offsets.as_ptr(), ) }; } @@ -13918,8 +13908,8 @@ impl crate::Device { &self, command_buffer: CommandBuffer, p_infos: &[AccelerationStructureBuildGeometryInfoKHR], - p_indirect_device_addresses: &u64, - p_indirect_strides: *const u32, + p_indirect_device_addresses: &[u64], + p_indirect_strides: &[u32], pp_max_primitive_counts: *const *const u32, ) { let fp = self @@ -13931,8 +13921,8 @@ impl crate::Device { command_buffer, p_infos.len() as u32, p_infos.as_ptr(), - p_indirect_device_addresses, - p_indirect_strides, + p_indirect_device_addresses.as_ptr(), + p_indirect_strides.as_ptr(), pp_max_primitive_counts, ) }; @@ -14529,25 +14519,23 @@ impl crate::Device { command_buffer: CommandBuffer, first_binding: u32, p_buffers: &[Buffer], - p_offsets: &u64, - p_sizes: Option<&u64>, - p_strides: Option<&u64>, + p_offsets: &[u64], + p_sizes: &[u64], + p_strides: &[u64], ) { let fp = self .commands() .cmd_bind_vertex_buffers2 .expect("vkCmdBindVertexBuffers2 not loaded"); - let p_sizes_ptr = p_sizes.map_or(core::ptr::null(), core::ptr::from_ref); - let p_strides_ptr = p_strides.map_or(core::ptr::null(), core::ptr::from_ref); unsafe { fp( command_buffer, first_binding, p_buffers.len() as u32, p_buffers.as_ptr(), - p_offsets, - p_sizes_ptr, - p_strides_ptr, + p_offsets.as_ptr(), + p_sizes.as_ptr(), + p_strides.as_ptr(), ) }; } @@ -16660,7 +16648,7 @@ impl crate::Device { &self, command_buffer: CommandBuffer, p_events: &[Event], - p_dependency_infos: &DependencyInfo, + p_dependency_infos: &[DependencyInfo], ) { let fp = self .commands() @@ -16671,7 +16659,7 @@ impl crate::Device { command_buffer, p_events.len() as u32, p_events.as_ptr(), - p_dependency_infos, + p_dependency_infos.as_ptr(), ) }; } @@ -18119,7 +18107,7 @@ impl crate::Device { layout: PipelineLayout, first_set: u32, p_buffer_indices: &[u32], - p_offsets: &u64, + p_offsets: &[u64], ) { let fp = self .commands() @@ -18133,7 +18121,7 @@ impl crate::Device { first_set, p_buffer_indices.len() as u32, p_buffer_indices.as_ptr(), - p_offsets, + p_offsets.as_ptr(), ) }; } @@ -20314,19 +20302,18 @@ impl crate::Device { &self, command_buffer: CommandBuffer, p_stages: &[ShaderStageFlagBits], - p_shaders: Option<&ShaderEXT>, + p_shaders: &[ShaderEXT], ) { let fp = self .commands() .cmd_bind_shaders_ext .expect("vkCmdBindShadersEXT not loaded"); - let p_shaders_ptr = p_shaders.map_or(core::ptr::null(), core::ptr::from_ref); unsafe { fp( command_buffer, p_stages.len() as u32, p_stages.as_ptr(), - p_shaders_ptr, + p_shaders.as_ptr(), ) }; } @@ -22589,7 +22576,7 @@ impl crate::Device { pub unsafe fn write_sampler_descriptors_ext( &self, p_samplers: &[SamplerCreateInfo], - p_descriptors: &HostAddressRangeEXT, + p_descriptors: &[HostAddressRangeEXT], ) -> VkResult<()> { let fp = self .commands() @@ -22600,7 +22587,7 @@ impl crate::Device { self.handle(), p_samplers.len() as u32, p_samplers.as_ptr(), - p_descriptors, + p_descriptors.as_ptr(), ) }) } @@ -22631,7 +22618,7 @@ impl crate::Device { pub unsafe fn write_resource_descriptors_ext( &self, p_resources: &[ResourceDescriptorInfoEXT], - p_descriptors: &HostAddressRangeEXT, + p_descriptors: &[HostAddressRangeEXT], ) -> VkResult<()> { let fp = self .commands() @@ -22642,7 +22629,7 @@ impl crate::Device { self.handle(), p_resources.len() as u32, p_resources.as_ptr(), - p_descriptors, + p_descriptors.as_ptr(), ) }) } diff --git a/vulkan-rust/src/generated/entry_wrappers.rs b/vulkan-rust/src/generated/entry_wrappers.rs index 5c5295e..e46f040 100644 --- a/vulkan-rust/src/generated/entry_wrappers.rs +++ b/vulkan-rust/src/generated/entry_wrappers.rs @@ -1,11 +1,7 @@ #![allow(unused_imports)] #![allow(clippy::too_many_arguments)] use crate::error::{VkResult, check, enumerate_two_call, fill_two_call}; -use crate::vk::bitmasks::*; -use crate::vk::constants::*; -use crate::vk::enums::*; -use crate::vk::handles::*; -use crate::vk::structs::*; +use crate::vk::*; impl crate::Entry { ///Wraps [`vkGetExternalComputeQueueDataNV`](https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetExternalComputeQueueDataNV.html). /** diff --git a/vulkan-rust/src/generated/instance_wrappers.rs b/vulkan-rust/src/generated/instance_wrappers.rs index bf361e2..18fabbe 100644 --- a/vulkan-rust/src/generated/instance_wrappers.rs +++ b/vulkan-rust/src/generated/instance_wrappers.rs @@ -1,11 +1,7 @@ #![allow(unused_imports)] #![allow(clippy::too_many_arguments)] use crate::error::{VkResult, check, enumerate_two_call, fill_two_call}; -use crate::vk::bitmasks::*; -use crate::vk::constants::*; -use crate::vk::enums::*; -use crate::vk::handles::*; -use crate::vk::structs::*; +use crate::vk::*; impl crate::Instance { ///Wraps [`vkDestroyInstance`](https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyInstance.html). /** @@ -512,13 +508,16 @@ impl crate::Instance { pub unsafe fn enumerate_device_extension_properties( &self, physical_device: PhysicalDevice, - p_layer_name: *const core::ffi::c_char, + p_layer_name: Option<&core::ffi::CStr>, ) -> VkResult> { let fp = self .commands() .enumerate_device_extension_properties .expect("vkEnumerateDeviceExtensionProperties not loaded"); - enumerate_two_call(|count, data| unsafe { fp(physical_device, p_layer_name, count, data) }) + let p_layer_name_ptr = p_layer_name.map_or(core::ptr::null(), core::ffi::CStr::as_ptr); + enumerate_two_call(|count, data| unsafe { + fp(physical_device, p_layer_name_ptr, count, data) + }) } ///Wraps [`vkGetPhysicalDeviceSparseImageFormatProperties`](https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSparseImageFormatProperties.html). /** @@ -946,14 +945,14 @@ impl crate::Instance { physical_device: PhysicalDevice, queue_family_index: u32, surface: SurfaceKHR, - ) -> VkResult { + ) -> VkResult { let fp = self .commands() .get_physical_device_surface_support_khr .expect("vkGetPhysicalDeviceSurfaceSupportKHR not loaded"); let mut out = unsafe { core::mem::zeroed() }; check(unsafe { fp(physical_device, queue_family_index, surface, &mut out) })?; - Ok(out) + Ok(out != 0) } ///Wraps [`vkGetPhysicalDeviceSurfaceCapabilitiesKHR`](https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceCapabilitiesKHR.html). /** diff --git a/vulkan-rust/src/instance.rs b/vulkan-rust/src/instance.rs index 5a56d56..62c2ca5 100644 --- a/vulkan-rust/src/instance.rs +++ b/vulkan-rust/src/instance.rs @@ -4,7 +4,7 @@ use crate::device::Device; use crate::error::{VkResult, check}; use crate::loader::Loader; use crate::vk; -use vk::handles::Handle; +use vk::Handle; /// Wrapper around a `VkInstance` handle and its loaded command table. /// @@ -27,7 +27,7 @@ use vk::handles::Handle; /// # Examples /// /// ```no_run -/// use vulkan_rust::vk::structs::*; +/// use vulkan_rust::vk::*; /// /// # let (entry, instance) = vulkan_rust::test_helpers::create_test_instance().unwrap(); /// // Enumerate GPUs and query properties. @@ -39,7 +39,7 @@ use vk::handles::Handle; /// unsafe { instance.destroy_instance(None) }; /// ``` pub struct Instance { - handle: vk::handles::Instance, + handle: vk::Instance, commands: Box, get_device_proc_addr: vk::commands::PFN_vkGetDeviceProcAddr, _loader: Option>, @@ -60,7 +60,7 @@ impl Instance { /// - `get_device_proc_addr` must be the function used to load /// device-level commands later. pub(crate) unsafe fn load( - handle: vk::handles::Instance, + handle: vk::Instance, get_instance_proc_addr: vk::commands::PFN_vkGetInstanceProcAddr, get_device_proc_addr: vk::commands::PFN_vkGetDeviceProcAddr, loader: Option>, @@ -112,7 +112,7 @@ impl Instance { /// unsafe { instance.destroy_instance(None) }; /// ``` pub unsafe fn from_raw_parts( - handle: vk::handles::Instance, + handle: vk::Instance, get_instance_proc_addr: vk::commands::PFN_vkGetInstanceProcAddr, ) -> Self { let get_instance_proc_addr_fn = @@ -131,7 +131,7 @@ impl Instance { } /// Returns the raw `VkInstance` handle. - pub fn handle(&self) -> vk::handles::Instance { + pub fn handle(&self) -> vk::Instance { self.handle } @@ -154,7 +154,7 @@ impl Instance { /// # Examples /// /// ```no_run - /// # use vulkan_rust::vk::structs::*; + /// # use vulkan_rust::vk::*; /// # let (entry, instance) = vulkan_rust::test_helpers::create_test_instance().expect("test setup failed"); /// let physical_devices = unsafe { instance.enumerate_physical_devices() } /// .expect("no devices"); @@ -176,15 +176,15 @@ impl Instance { /// ``` pub unsafe fn create_device( &self, - physical_device: vk::handles::PhysicalDevice, - create_info: &vk::structs::DeviceCreateInfo, - allocator: Option<&vk::structs::AllocationCallbacks>, + physical_device: vk::PhysicalDevice, + create_info: &vk::DeviceCreateInfo, + allocator: Option<&vk::AllocationCallbacks>, ) -> VkResult { let fp = self .commands .create_device .expect("vkCreateDevice not loaded"); - let mut raw = vk::handles::Device::null(); + let mut raw = vk::Device::null(); // SAFETY: caller guarantees physical_device and create_info are valid. let result = unsafe { fp( @@ -205,17 +205,17 @@ impl Instance { mod tests { use super::*; use std::ffi::c_char; - use vk::handles::Handle; + use vk::Handle; - fn fake_handle() -> vk::handles::Instance { - vk::handles::Instance::from_raw(0xDEAD) + fn fake_handle() -> vk::Instance { + vk::Instance::from_raw(0xDEAD) } /// Stub `vkGetInstanceProcAddr` that returns null for all lookups. unsafe extern "system" fn mock_get_instance_proc_addr( - _instance: vk::handles::Instance, + _instance: vk::Instance, _name: *const c_char, - ) -> vk::structs::PFN_vkVoidFunction { + ) -> vk::PFN_vkVoidFunction { None } @@ -246,29 +246,25 @@ mod tests { /// A `vkGetInstanceProcAddr` that returns fake fps for key commands. unsafe extern "system" fn rich_instance_proc_addr( - _instance: vk::handles::Instance, + _instance: vk::Instance, name: *const c_char, - ) -> vk::structs::PFN_vkVoidFunction { + ) -> vk::PFN_vkVoidFunction { let name = unsafe { std::ffi::CStr::from_ptr(name) }; match name.to_bytes() { b"vkGetDeviceProcAddr" => Some(unsafe { std::mem::transmute::< - unsafe extern "system" fn( - vk::handles::Device, - *const c_char, - ) - -> vk::structs::PFN_vkVoidFunction, + unsafe extern "system" fn(vk::Device, *const c_char) -> vk::PFN_vkVoidFunction, unsafe extern "system" fn(), >(mock_device_proc_addr) }), b"vkCreateDevice" => Some(unsafe { std::mem::transmute::< unsafe extern "system" fn( - vk::handles::PhysicalDevice, - *const vk::structs::DeviceCreateInfo, - *const vk::structs::AllocationCallbacks, - *mut vk::handles::Device, - ) -> vk::enums::Result, + vk::PhysicalDevice, + *const vk::DeviceCreateInfo, + *const vk::AllocationCallbacks, + *mut vk::Device, + ) -> vk::Result, unsafe extern "system" fn(), >(mock_create_device) }), @@ -277,22 +273,22 @@ mod tests { } unsafe extern "system" fn mock_device_proc_addr( - _device: vk::handles::Device, + _device: vk::Device, _name: *const c_char, - ) -> vk::structs::PFN_vkVoidFunction { + ) -> vk::PFN_vkVoidFunction { None } unsafe extern "system" fn mock_create_device( - _physical_device: vk::handles::PhysicalDevice, - _p_create_info: *const vk::structs::DeviceCreateInfo, - _p_allocator: *const vk::structs::AllocationCallbacks, - p_device: *mut vk::handles::Device, - ) -> vk::enums::Result { + _physical_device: vk::PhysicalDevice, + _p_create_info: *const vk::DeviceCreateInfo, + _p_allocator: *const vk::AllocationCallbacks, + p_device: *mut vk::Device, + ) -> vk::Result { unsafe { - *p_device = std::mem::transmute::(0xBEEF_usize); + *p_device = std::mem::transmute::(0xBEEF_usize); } - vk::enums::Result::SUCCESS + vk::Result::SUCCESS } fn mock_instance() -> Instance { @@ -309,8 +305,8 @@ mod tests { #[test] fn create_device_succeeds_with_mock() { let instance = mock_instance(); - let physical_device = vk::handles::PhysicalDevice::from_raw(0xCAFE); - let create_info: vk::structs::DeviceCreateInfo = unsafe { std::mem::zeroed() }; + let physical_device = vk::PhysicalDevice::from_raw(0xCAFE); + let create_info: vk::DeviceCreateInfo = unsafe { std::mem::zeroed() }; let device = unsafe { instance.create_device(physical_device, &create_info, None) } .expect("create_device should succeed"); assert_eq!(device.handle().as_raw(), 0xBEEF); @@ -319,9 +315,9 @@ mod tests { #[test] fn create_device_with_allocator() { let instance = mock_instance(); - let physical_device = vk::handles::PhysicalDevice::from_raw(0xCAFE); - let create_info: vk::structs::DeviceCreateInfo = unsafe { std::mem::zeroed() }; - let allocator: vk::structs::AllocationCallbacks = unsafe { std::mem::zeroed() }; + let physical_device = vk::PhysicalDevice::from_raw(0xCAFE); + let create_info: vk::DeviceCreateInfo = unsafe { std::mem::zeroed() }; + let allocator: vk::AllocationCallbacks = unsafe { std::mem::zeroed() }; let device = unsafe { instance.create_device(physical_device, &create_info, Some(&allocator)) } .expect("create_device should succeed"); @@ -336,8 +332,8 @@ mod tests { unsafe { Instance::from_raw_parts(fake_handle(), Some(rich_instance_proc_addr)) }; assert_eq!(instance.handle().as_raw(), fake_handle().as_raw()); // Verify create_device works, proving get_device_proc_addr was resolved. - let physical_device = vk::handles::PhysicalDevice::from_raw(0xCAFE); - let create_info: vk::structs::DeviceCreateInfo = unsafe { std::mem::zeroed() }; + let physical_device = vk::PhysicalDevice::from_raw(0xCAFE); + let create_info: vk::DeviceCreateInfo = unsafe { std::mem::zeroed() }; let device = unsafe { instance.create_device(physical_device, &create_info, None) } .expect("create_device should succeed via from_raw_parts path"); assert_eq!(device.handle().as_raw(), 0xBEEF); @@ -369,29 +365,25 @@ mod tests { // -- Error-path mock for create_device ------------------------------------ unsafe extern "system" fn failing_instance_proc_addr( - _instance: vk::handles::Instance, + _instance: vk::Instance, name: *const c_char, - ) -> vk::structs::PFN_vkVoidFunction { + ) -> vk::PFN_vkVoidFunction { let name = unsafe { std::ffi::CStr::from_ptr(name) }; match name.to_bytes() { b"vkGetDeviceProcAddr" => Some(unsafe { std::mem::transmute::< - unsafe extern "system" fn( - vk::handles::Device, - *const c_char, - ) - -> vk::structs::PFN_vkVoidFunction, + unsafe extern "system" fn(vk::Device, *const c_char) -> vk::PFN_vkVoidFunction, unsafe extern "system" fn(), >(mock_device_proc_addr) }), b"vkCreateDevice" => Some(unsafe { std::mem::transmute::< unsafe extern "system" fn( - vk::handles::PhysicalDevice, - *const vk::structs::DeviceCreateInfo, - *const vk::structs::AllocationCallbacks, - *mut vk::handles::Device, - ) -> vk::enums::Result, + vk::PhysicalDevice, + *const vk::DeviceCreateInfo, + *const vk::AllocationCallbacks, + *mut vk::Device, + ) -> vk::Result, unsafe extern "system" fn(), >(failing_create_device) }), @@ -400,12 +392,12 @@ mod tests { } unsafe extern "system" fn failing_create_device( - _physical_device: vk::handles::PhysicalDevice, - _p_create_info: *const vk::structs::DeviceCreateInfo, - _p_allocator: *const vk::structs::AllocationCallbacks, - _p_device: *mut vk::handles::Device, - ) -> vk::enums::Result { - vk::enums::Result::ERROR_INITIALIZATION_FAILED + _physical_device: vk::PhysicalDevice, + _p_create_info: *const vk::DeviceCreateInfo, + _p_allocator: *const vk::AllocationCallbacks, + _p_device: *mut vk::Device, + ) -> vk::Result { + vk::Result::ERROR_INITIALIZATION_FAILED } #[test] @@ -454,70 +446,63 @@ mod tests { /// Mock enumerate_physical_devices: returns 2 fake physical devices. unsafe extern "system" fn mock_enumerate_physical_devices( - _instance: vk::handles::Instance, + _instance: vk::Instance, p_count: *mut u32, - p_devices: *mut vk::handles::PhysicalDevice, - ) -> vk::enums::Result { + p_devices: *mut vk::PhysicalDevice, + ) -> vk::Result { unsafe { *p_count = 2 }; if !p_devices.is_null() { unsafe { - *p_devices = vk::handles::PhysicalDevice::from_raw(0xAA); - *p_devices.add(1) = vk::handles::PhysicalDevice::from_raw(0xBB); + *p_devices = vk::PhysicalDevice::from_raw(0xAA); + *p_devices.add(1) = vk::PhysicalDevice::from_raw(0xBB); } } - vk::enums::Result::SUCCESS + vk::Result::SUCCESS } unsafe extern "system" fn mock_destroy_instance( - _instance: vk::handles::Instance, - _p_allocator: *const vk::structs::AllocationCallbacks, + _instance: vk::Instance, + _p_allocator: *const vk::AllocationCallbacks, ) { } /// Richer `vkGetInstanceProcAddr` that resolves core instance commands. unsafe extern "system" fn rich_instance_proc_addr_v2( - _instance: vk::handles::Instance, + _instance: vk::Instance, name: *const c_char, - ) -> vk::structs::PFN_vkVoidFunction { + ) -> vk::PFN_vkVoidFunction { let name = unsafe { std::ffi::CStr::from_ptr(name) }; match name.to_bytes() { b"vkGetDeviceProcAddr" => Some(unsafe { std::mem::transmute::< - unsafe extern "system" fn( - vk::handles::Device, - *const c_char, - ) - -> vk::structs::PFN_vkVoidFunction, + unsafe extern "system" fn(vk::Device, *const c_char) -> vk::PFN_vkVoidFunction, unsafe extern "system" fn(), >(mock_device_proc_addr) }), b"vkCreateDevice" => Some(unsafe { std::mem::transmute::< unsafe extern "system" fn( - vk::handles::PhysicalDevice, - *const vk::structs::DeviceCreateInfo, - *const vk::structs::AllocationCallbacks, - *mut vk::handles::Device, - ) -> vk::enums::Result, + vk::PhysicalDevice, + *const vk::DeviceCreateInfo, + *const vk::AllocationCallbacks, + *mut vk::Device, + ) -> vk::Result, unsafe extern "system" fn(), >(mock_create_device) }), b"vkEnumeratePhysicalDevices" => Some(unsafe { std::mem::transmute::< unsafe extern "system" fn( - vk::handles::Instance, + vk::Instance, *mut u32, - *mut vk::handles::PhysicalDevice, - ) -> vk::enums::Result, + *mut vk::PhysicalDevice, + ) -> vk::Result, unsafe extern "system" fn(), >(mock_enumerate_physical_devices) }), b"vkDestroyInstance" => Some(unsafe { std::mem::transmute::< - unsafe extern "system" fn( - vk::handles::Instance, - *const vk::structs::AllocationCallbacks, - ), + unsafe extern "system" fn(vk::Instance, *const vk::AllocationCallbacks), unsafe extern "system" fn(), >(mock_destroy_instance) }), @@ -561,13 +546,9 @@ mod tests { // then create_device uses it to load device commands. let instance = unsafe { Instance::from_raw_parts(fake_handle(), Some(rich_instance_proc_addr_v2)) }; - let create_info: vk::structs::DeviceCreateInfo = unsafe { std::mem::zeroed() }; + let create_info: vk::DeviceCreateInfo = unsafe { std::mem::zeroed() }; let device = unsafe { - instance.create_device( - vk::handles::PhysicalDevice::from_raw(0xAA), - &create_info, - None, - ) + instance.create_device(vk::PhysicalDevice::from_raw(0xAA), &create_info, None) } .expect("create_device should succeed"); assert_eq!(device.handle().as_raw(), 0xBEEF); @@ -583,11 +564,11 @@ mod tests { None, ) }; - let physical_device = vk::handles::PhysicalDevice::from_raw(0xCAFE); - let create_info: vk::structs::DeviceCreateInfo = unsafe { std::mem::zeroed() }; + let physical_device = vk::PhysicalDevice::from_raw(0xCAFE); + let create_info: vk::DeviceCreateInfo = unsafe { std::mem::zeroed() }; let result = unsafe { instance.create_device(physical_device, &create_info, None) }; match result { - Err(e) => assert_eq!(e, vk::enums::Result::ERROR_INITIALIZATION_FAILED), + Err(e) => assert_eq!(e, vk::Result::ERROR_INITIALIZATION_FAILED), Ok(_) => panic!("expected error, got Ok"), } } @@ -671,8 +652,8 @@ mod tests { let api_version_1_0 = crate::Version::new(1, 0, 0).to_raw(); - let app_info = vk::structs::ApplicationInfo { - s_type: vk::enums::StructureType::APPLICATION_INFO, + let app_info = vk::ApplicationInfo { + s_type: vk::StructureType::APPLICATION_INFO, p_next: std::ptr::null(), p_application_name: std::ptr::null(), application_version: 0, @@ -680,10 +661,10 @@ mod tests { engine_version: 0, api_version: api_version_1_0, }; - let create_info = vk::structs::InstanceCreateInfo { - s_type: vk::enums::StructureType::INSTANCE_CREATE_INFO, + let create_info = vk::InstanceCreateInfo { + s_type: vk::StructureType::INSTANCE_CREATE_INFO, p_next: std::ptr::null(), - flags: vk::bitmasks::InstanceCreateFlagBits::empty(), + flags: vk::InstanceCreateFlagBits::empty(), p_application_info: &app_info, enabled_layer_count: 0, pp_enabled_layer_names: std::ptr::null(), diff --git a/vulkan-rust/src/lib.rs b/vulkan-rust/src/lib.rs index 081bbcc..be339df 100644 --- a/vulkan-rust/src/lib.rs +++ b/vulkan-rust/src/lib.rs @@ -70,6 +70,7 @@ //! |------|---------|-------------| //! | `surface` | yes | Enables [`required_extensions`] and [`SurfaceError`] for window surface creation via [`raw-window-handle`](https://docs.rs/raw-window-handle). Disable with `default-features = false` for headless use. | +#[doc(inline)] pub use vulkan_rust_sys as vk; pub mod bytecode; diff --git a/vulkan-rust/src/surface.rs b/vulkan-rust/src/surface.rs index 7493fee..f006e70 100644 --- a/vulkan-rust/src/surface.rs +++ b/vulkan-rust/src/surface.rs @@ -11,7 +11,7 @@ use raw_window_handle::{HasDisplayHandle, HasWindowHandle, RawDisplayHandle, Raw use crate::error::check; use crate::instance::Instance; use crate::vk; -use vk::handles::Handle; +use vk::Handle; /// Error returned by surface creation. /// @@ -30,7 +30,7 @@ pub enum SurfaceError { /// `raw-window-handle` returned an error. HandleError(raw_window_handle::HandleError), /// Vulkan error from the surface creation call. - Vulkan(vk::enums::Result), + Vulkan(vk::Result), } impl fmt::Display for SurfaceError { @@ -53,8 +53,8 @@ impl From for SurfaceError { } } -impl From for SurfaceError { - fn from(e: vk::enums::Result) -> Self { +impl From for SurfaceError { + fn from(e: vk::Result) -> Self { Self::Vulkan(e) } } @@ -141,8 +141,8 @@ impl Instance { &self, display: &dyn HasDisplayHandle, window: &dyn HasWindowHandle, - allocator: Option<&vk::structs::AllocationCallbacks>, - ) -> Result { + allocator: Option<&vk::AllocationCallbacks>, + ) -> Result { let raw_display = display.display_handle()?.as_raw(); let raw_window = window.window_handle()?.as_raw(); let alloc_ptr = allocator.map_or(std::ptr::null(), |a| a as *const _); @@ -153,7 +153,7 @@ impl Instance { match (raw_display, raw_window) { #[cfg(target_os = "windows")] (RawDisplayHandle::Windows(_), RawWindowHandle::Win32(h)) => { - let info = vk::structs::Win32SurfaceCreateInfoKHR { + let info = vk::Win32SurfaceCreateInfoKHR { hinstance: h.hinstance.map_or(0, |v| v.get()), hwnd: h.hwnd.get(), ..Default::default() @@ -162,7 +162,7 @@ impl Instance { .commands() .create_win32_surface_khr .expect("VK_KHR_win32_surface not loaded"); - let mut surface = vk::handles::SurfaceKHR::null(); + let mut surface = vk::SurfaceKHR::null(); check(unsafe { fp(self.handle(), &info, alloc_ptr, &mut surface) })?; Ok(surface) } @@ -174,7 +174,7 @@ impl Instance { not(target_os = "ios"), ))] (RawDisplayHandle::Xlib(d), RawWindowHandle::Xlib(w)) => { - let info = vk::structs::XlibSurfaceCreateInfoKHR { + let info = vk::XlibSurfaceCreateInfoKHR { dpy: d.display.map_or(std::ptr::null_mut(), |p| p.as_ptr()), window: w.window, ..Default::default() @@ -183,7 +183,7 @@ impl Instance { .commands() .create_xlib_surface_khr .expect("VK_KHR_xlib_surface not loaded"); - let mut surface = vk::handles::SurfaceKHR::null(); + let mut surface = vk::SurfaceKHR::null(); check(unsafe { fp(self.handle(), &info, alloc_ptr, &mut surface) })?; Ok(surface) } @@ -195,7 +195,7 @@ impl Instance { not(target_os = "ios"), ))] (RawDisplayHandle::Xcb(d), RawWindowHandle::Xcb(w)) => { - let info = vk::structs::XcbSurfaceCreateInfoKHR { + let info = vk::XcbSurfaceCreateInfoKHR { connection: d.connection.map_or(std::ptr::null_mut(), |p| p.as_ptr()), window: w.window.get(), ..Default::default() @@ -204,7 +204,7 @@ impl Instance { .commands() .create_xcb_surface_khr .expect("VK_KHR_xcb_surface not loaded"); - let mut surface = vk::handles::SurfaceKHR::null(); + let mut surface = vk::SurfaceKHR::null(); check(unsafe { fp(self.handle(), &info, alloc_ptr, &mut surface) })?; Ok(surface) } @@ -216,7 +216,7 @@ impl Instance { not(target_os = "ios"), ))] (RawDisplayHandle::Wayland(d), RawWindowHandle::Wayland(w)) => { - let info = vk::structs::WaylandSurfaceCreateInfoKHR { + let info = vk::WaylandSurfaceCreateInfoKHR { display: d.display.as_ptr(), surface: w.surface.as_ptr(), ..Default::default() @@ -225,7 +225,7 @@ impl Instance { .commands() .create_wayland_surface_khr .expect("VK_KHR_wayland_surface not loaded"); - let mut surface = vk::handles::SurfaceKHR::null(); + let mut surface = vk::SurfaceKHR::null(); check(unsafe { fp(self.handle(), &info, alloc_ptr, &mut surface) })?; Ok(surface) } @@ -234,7 +234,7 @@ impl Instance { (RawDisplayHandle::AppKit(_), RawWindowHandle::AppKit(w)) => { // The caller's NSView must be backed by a CAMetalLayer // (typically set up by the windowing library). - let info = vk::structs::MetalSurfaceCreateInfoEXT { + let info = vk::MetalSurfaceCreateInfoEXT { p_layer: w.ns_view.as_ptr() as *const _, ..Default::default() }; @@ -242,14 +242,14 @@ impl Instance { .commands() .create_metal_surface_ext .expect("VK_EXT_metal_surface not loaded"); - let mut surface = vk::handles::SurfaceKHR::null(); + let mut surface = vk::SurfaceKHR::null(); check(unsafe { fp(self.handle(), &info, alloc_ptr, &mut surface) })?; Ok(surface) } #[cfg(target_os = "android")] (RawDisplayHandle::Android(_), RawWindowHandle::AndroidNdk(w)) => { - let info = vk::structs::AndroidSurfaceCreateInfoKHR { + let info = vk::AndroidSurfaceCreateInfoKHR { window: w.a_native_window.as_ptr(), ..Default::default() }; @@ -257,7 +257,7 @@ impl Instance { .commands() .create_android_surface_khr .expect("VK_KHR_android_surface not loaded"); - let mut surface = vk::handles::SurfaceKHR::null(); + let mut surface = vk::SurfaceKHR::null(); check(unsafe { fp(self.handle(), &info, alloc_ptr, &mut surface) })?; Ok(surface) } @@ -274,8 +274,8 @@ impl Instance { /// - The surface must have been created from this instance. pub unsafe fn destroy_surface( &self, - surface: vk::handles::SurfaceKHR, - allocator: Option<&vk::structs::AllocationCallbacks>, + surface: vk::SurfaceKHR, + allocator: Option<&vk::AllocationCallbacks>, ) { let fp = self .commands() @@ -327,7 +327,7 @@ mod tests { fn destroy_surface_panics_when_extension_not_loaded() { let instance = mock_instance(); unsafe { - instance.destroy_surface(vk::handles::SurfaceKHR::null(), None); + instance.destroy_surface(vk::SurfaceKHR::null(), None); } } @@ -342,7 +342,7 @@ mod tests { #[test] fn surface_error_display_vulkan() { - let err = SurfaceError::Vulkan(vk::enums::Result::ERROR_SURFACE_LOST); + let err = SurfaceError::Vulkan(vk::Result::ERROR_SURFACE_LOST); let msg = err.to_string(); assert!(msg.contains("Vulkan surface creation failed")); } @@ -363,7 +363,7 @@ mod tests { #[test] fn surface_error_from_vk_result() { - let vk_err = vk::enums::Result::ERROR_SURFACE_LOST; + let vk_err = vk::Result::ERROR_SURFACE_LOST; let se: SurfaceError = vk_err.into(); assert!(matches!(se, SurfaceError::Vulkan(_))); } @@ -372,15 +372,15 @@ mod tests { use std::ffi::c_char; unsafe extern "system" fn mock_get_instance_proc_addr( - _instance: vk::handles::Instance, + _instance: vk::Instance, _name: *const c_char, - ) -> vk::structs::PFN_vkVoidFunction { + ) -> vk::PFN_vkVoidFunction { None } unsafe { Instance::from_raw_parts( - vk::handles::Instance::from_raw(0xDEAD), + vk::Instance::from_raw(0xDEAD), Some(mock_get_instance_proc_addr), ) } @@ -406,56 +406,56 @@ mod tests { }; unsafe extern "system" fn mock_create_win32_surface( - _instance: vk::handles::Instance, - _p_create_info: *const vk::structs::Win32SurfaceCreateInfoKHR, - _p_allocator: *const vk::structs::AllocationCallbacks, - p_surface: *mut vk::handles::SurfaceKHR, - ) -> vk::enums::Result { - unsafe { *p_surface = vk::handles::SurfaceKHR::from_raw(0xEF01) }; - vk::enums::Result::SUCCESS + _instance: vk::Instance, + _p_create_info: *const vk::Win32SurfaceCreateInfoKHR, + _p_allocator: *const vk::AllocationCallbacks, + p_surface: *mut vk::SurfaceKHR, + ) -> vk::Result { + unsafe { *p_surface = vk::SurfaceKHR::from_raw(0xEF01) }; + vk::Result::SUCCESS } unsafe extern "system" fn failing_create_win32_surface( - _instance: vk::handles::Instance, - _p_create_info: *const vk::structs::Win32SurfaceCreateInfoKHR, - _p_allocator: *const vk::structs::AllocationCallbacks, - _p_surface: *mut vk::handles::SurfaceKHR, - ) -> vk::enums::Result { - vk::enums::Result::ERROR_INITIALIZATION_FAILED + _instance: vk::Instance, + _p_create_info: *const vk::Win32SurfaceCreateInfoKHR, + _p_allocator: *const vk::AllocationCallbacks, + _p_surface: *mut vk::SurfaceKHR, + ) -> vk::Result { + vk::Result::ERROR_INITIALIZATION_FAILED } unsafe extern "system" fn mock_destroy_surface( - instance: vk::handles::Instance, - surface: vk::handles::SurfaceKHR, - _p_allocator: *const vk::structs::AllocationCallbacks, + instance: vk::Instance, + surface: vk::SurfaceKHR, + _p_allocator: *const vk::AllocationCallbacks, ) { assert_eq!(instance.as_raw(), 0xDEAD, "wrong instance handle"); assert_eq!(surface.as_raw(), 0xABCD, "wrong surface handle"); } unsafe extern "system" fn surface_instance_proc_addr( - _instance: vk::handles::Instance, + _instance: vk::Instance, name: *const c_char, - ) -> vk::structs::PFN_vkVoidFunction { + ) -> vk::PFN_vkVoidFunction { let name = unsafe { CStr::from_ptr(name) }; match name.to_bytes() { b"vkCreateWin32SurfaceKHR" => Some(unsafe { std::mem::transmute::< unsafe extern "system" fn( - vk::handles::Instance, - *const vk::structs::Win32SurfaceCreateInfoKHR, - *const vk::structs::AllocationCallbacks, - *mut vk::handles::SurfaceKHR, - ) -> vk::enums::Result, + vk::Instance, + *const vk::Win32SurfaceCreateInfoKHR, + *const vk::AllocationCallbacks, + *mut vk::SurfaceKHR, + ) -> vk::Result, unsafe extern "system" fn(), >(mock_create_win32_surface) }), b"vkDestroySurfaceKHR" => Some(unsafe { std::mem::transmute::< unsafe extern "system" fn( - vk::handles::Instance, - vk::handles::SurfaceKHR, - *const vk::structs::AllocationCallbacks, + vk::Instance, + vk::SurfaceKHR, + *const vk::AllocationCallbacks, ), unsafe extern "system" fn(), >(mock_destroy_surface) @@ -465,19 +465,19 @@ mod tests { } unsafe extern "system" fn failing_surface_instance_proc_addr( - _instance: vk::handles::Instance, + _instance: vk::Instance, name: *const c_char, - ) -> vk::structs::PFN_vkVoidFunction { + ) -> vk::PFN_vkVoidFunction { let name = unsafe { CStr::from_ptr(name) }; match name.to_bytes() { b"vkCreateWin32SurfaceKHR" => Some(unsafe { std::mem::transmute::< unsafe extern "system" fn( - vk::handles::Instance, - *const vk::structs::Win32SurfaceCreateInfoKHR, - *const vk::structs::AllocationCallbacks, - *mut vk::handles::SurfaceKHR, - ) -> vk::enums::Result, + vk::Instance, + *const vk::Win32SurfaceCreateInfoKHR, + *const vk::AllocationCallbacks, + *mut vk::SurfaceKHR, + ) -> vk::Result, unsafe extern "system" fn(), >(failing_create_win32_surface) }), @@ -499,7 +499,7 @@ mod tests { fn surface_instance() -> Instance { unsafe { Instance::from_raw_parts( - vk::handles::Instance::from_raw(0xDEAD), + vk::Instance::from_raw(0xDEAD), Some(surface_instance_proc_addr), ) } @@ -520,7 +520,7 @@ mod tests { fn create_surface_win32_propagates_vulkan_error() { let instance = unsafe { Instance::from_raw_parts( - vk::handles::Instance::from_raw(0xDEAD), + vk::Instance::from_raw(0xDEAD), Some(failing_surface_instance_proc_addr), ) }; @@ -530,7 +530,7 @@ mod tests { let result = unsafe { instance.create_surface(&display, &window, None) }; match result { Err(SurfaceError::Vulkan(e)) => { - assert_eq!(e, vk::enums::Result::ERROR_INITIALIZATION_FAILED); + assert_eq!(e, vk::Result::ERROR_INITIALIZATION_FAILED); } other => panic!("expected SurfaceError::Vulkan, got {other:?}"), } @@ -539,7 +539,7 @@ mod tests { #[test] fn destroy_surface_calls_fp_with_correct_args() { let instance = surface_instance(); - let surface = vk::handles::SurfaceKHR::from_raw(0xABCD); + let surface = vk::SurfaceKHR::from_raw(0xABCD); // The mock asserts handle values internally. unsafe { instance.destroy_surface(surface, None) }; } diff --git a/vulkan-rust/src/test_helpers.rs b/vulkan-rust/src/test_helpers.rs index 882d4aa..231dfb7 100644 --- a/vulkan-rust/src/test_helpers.rs +++ b/vulkan-rust/src/test_helpers.rs @@ -28,7 +28,7 @@ pub fn create_test_entry() -> Result> { /// Returns an error if the Vulkan runtime is not available. pub fn create_test_instance() -> Result<(Entry, Instance), Box> { let entry = create_test_entry()?; - let create_info = vk::structs::InstanceCreateInfo::builder(); + let create_info = vk::InstanceCreateInfo::builder(); let instance = unsafe { entry.create_instance(&create_info, None) } .map_err(|e| -> Box { Box::new(crate::VkError(e)) })?; Ok((entry, instance)) @@ -51,11 +51,11 @@ pub fn create_test_device() -> Result<(Entry, Instance, Device), Box Box { Box::new(crate::VkError(e)) })?; diff --git a/vulkan-rust/tests/common/mod.rs b/vulkan-rust/tests/common/mod.rs index 53ee56f..e05aca5 100644 --- a/vulkan-rust/tests/common/mod.rs +++ b/vulkan-rust/tests/common/mod.rs @@ -7,8 +7,8 @@ pub fn create_entry() -> Entry { pub fn create_instance() -> (Entry, Instance) { let entry = create_entry(); - let app_info = vk::structs::ApplicationInfo { - s_type: vk::enums::StructureType::APPLICATION_INFO, + let app_info = vk::ApplicationInfo { + s_type: vk::StructureType::APPLICATION_INFO, p_next: std::ptr::null(), p_application_name: std::ptr::null(), application_version: 0, @@ -16,10 +16,10 @@ pub fn create_instance() -> (Entry, Instance) { engine_version: 0, api_version: vulkan_rust::Version::new(1, 0, 0).to_raw(), }; - let create_info = vk::structs::InstanceCreateInfo { - s_type: vk::enums::StructureType::INSTANCE_CREATE_INFO, + let create_info = vk::InstanceCreateInfo { + s_type: vk::StructureType::INSTANCE_CREATE_INFO, p_next: std::ptr::null(), - flags: vk::bitmasks::InstanceCreateFlagBits::empty(), + flags: vk::InstanceCreateFlagBits::empty(), p_application_info: &app_info, enabled_layer_count: 0, pp_enabled_layer_names: std::ptr::null(), diff --git a/vulkan-rust/tests/generated_wrappers_integration.rs b/vulkan-rust/tests/generated_wrappers_integration.rs index 3f31f3e..91488a6 100644 --- a/vulkan-rust/tests/generated_wrappers_integration.rs +++ b/vulkan-rust/tests/generated_wrappers_integration.rs @@ -8,14 +8,14 @@ mod common; -use vk::handles::Handle; +use vk::Handle; use vulkan_rust::{Entry, Instance, vk}; struct TestDevice { _entry: Entry, instance: Instance, device: vulkan_rust::Device, - physical_device: vk::handles::PhysicalDevice, + physical_device: vk::PhysicalDevice, queue_family: u32, } @@ -31,23 +31,20 @@ impl TestDevice { unsafe { instance.get_physical_device_queue_family_properties(physical_device) }; let queue_family = families .iter() - .position(|f| { - f.queue_flags - .contains(vk::bitmasks::QueueFlagBits::GRAPHICS) - }) + .position(|f| f.queue_flags.contains(vk::QueueFlagBits::GRAPHICS)) .expect("no graphics queue family") as u32; let queue_priority = 1.0f32; - let queue_create_info = vk::structs::DeviceQueueCreateInfo { - s_type: vk::enums::StructureType::DEVICE_QUEUE_CREATE_INFO, + let queue_create_info = vk::DeviceQueueCreateInfo { + s_type: vk::StructureType::DEVICE_QUEUE_CREATE_INFO, p_next: std::ptr::null(), - flags: vk::bitmasks::DeviceQueueCreateFlagBits::empty(), + flags: vk::DeviceQueueCreateFlagBits::empty(), queue_family_index: queue_family, queue_count: 1, p_queue_priorities: &queue_priority, }; - let device_create_info = vk::structs::DeviceCreateInfo { - s_type: vk::enums::StructureType::DEVICE_CREATE_INFO, + let device_create_info = vk::DeviceCreateInfo { + s_type: vk::StructureType::DEVICE_CREATE_INFO, p_next: std::ptr::null(), flags: 0, queue_create_info_count: 1, @@ -92,9 +89,8 @@ fn enumerate_device_extension_properties() { let devices = unsafe { instance.enumerate_physical_devices() } .expect("enumerate_physical_devices failed"); - let extensions = - unsafe { instance.enumerate_device_extension_properties(devices[0], std::ptr::null()) } - .expect("enumerate_device_extension_properties failed"); + let extensions = unsafe { instance.enumerate_device_extension_properties(devices[0], None) } + .expect("enumerate_device_extension_properties failed"); println!("Device extensions: {}", extensions.len()); assert!( @@ -152,13 +148,13 @@ fn get_physical_device_features() { fn create_and_destroy_buffer() { let t = TestDevice::new(); - let buffer_info = vk::structs::BufferCreateInfo { - s_type: vk::enums::StructureType::BUFFER_CREATE_INFO, + let buffer_info = vk::BufferCreateInfo { + s_type: vk::StructureType::BUFFER_CREATE_INFO, p_next: std::ptr::null(), - flags: vk::bitmasks::BufferCreateFlagBits::empty(), + flags: vk::BufferCreateFlagBits::empty(), size: 1024, - usage: vk::bitmasks::BufferUsageFlagBits::VERTEX_BUFFER, - sharing_mode: vk::enums::SharingMode::EXCLUSIVE, + usage: vk::BufferUsageFlagBits::VERTEX_BUFFER, + sharing_mode: vk::SharingMode::EXCLUSIVE, queue_family_index_count: 0, p_queue_family_indices: std::ptr::null(), }; @@ -175,13 +171,13 @@ fn create_and_destroy_buffer() { fn get_buffer_memory_requirements() { let t = TestDevice::new(); - let buffer_info = vk::structs::BufferCreateInfo { - s_type: vk::enums::StructureType::BUFFER_CREATE_INFO, + let buffer_info = vk::BufferCreateInfo { + s_type: vk::StructureType::BUFFER_CREATE_INFO, p_next: std::ptr::null(), - flags: vk::bitmasks::BufferCreateFlagBits::empty(), + flags: vk::BufferCreateFlagBits::empty(), size: 256, - usage: vk::bitmasks::BufferUsageFlagBits::UNIFORM_BUFFER, - sharing_mode: vk::enums::SharingMode::EXCLUSIVE, + usage: vk::BufferUsageFlagBits::UNIFORM_BUFFER, + sharing_mode: vk::SharingMode::EXCLUSIVE, queue_family_index_count: 0, p_queue_family_indices: std::ptr::null(), }; @@ -215,12 +211,12 @@ fn allocate_and_free_memory() { .find(|&i| { mem_props.memory_types[i as usize] .property_flags - .contains(vk::bitmasks::MemoryPropertyFlagBits::HOST_VISIBLE) + .contains(vk::MemoryPropertyFlagBits::HOST_VISIBLE) }) .expect("no host-visible memory type"); - let alloc_info = vk::structs::MemoryAllocateInfo { - s_type: vk::enums::StructureType::MEMORY_ALLOCATE_INFO, + let alloc_info = vk::MemoryAllocateInfo { + s_type: vk::StructureType::MEMORY_ALLOCATE_INFO, p_next: std::ptr::null(), allocation_size: 4096, memory_type_index, @@ -238,10 +234,10 @@ fn allocate_and_free_memory() { fn create_and_destroy_fence() { let t = TestDevice::new(); - let fence_info = vk::structs::FenceCreateInfo { - s_type: vk::enums::StructureType::FENCE_CREATE_INFO, + let fence_info = vk::FenceCreateInfo { + s_type: vk::StructureType::FENCE_CREATE_INFO, p_next: std::ptr::null(), - flags: vk::bitmasks::FenceCreateFlagBits::SIGNALED, + flags: vk::FenceCreateFlagBits::SIGNALED, }; let fence = unsafe { t.device.create_fence(&fence_info, None) }.expect("create_fence failed"); @@ -262,10 +258,10 @@ fn create_and_destroy_fence() { fn create_and_destroy_semaphore() { let t = TestDevice::new(); - let sem_info = vk::structs::SemaphoreCreateInfo { - s_type: vk::enums::StructureType::SEMAPHORE_CREATE_INFO, + let sem_info = vk::SemaphoreCreateInfo { + s_type: vk::StructureType::SEMAPHORE_CREATE_INFO, p_next: std::ptr::null(), - flags: vk::bitmasks::SemaphoreCreateFlagBits::empty(), + flags: vk::SemaphoreCreateFlagBits::empty(), }; let semaphore = @@ -281,24 +277,24 @@ fn create_command_pool_and_submit_empty_buffer() { let t = TestDevice::new(); // Create command pool. - let pool_info = vk::structs::CommandPoolCreateInfo { - s_type: vk::enums::StructureType::COMMAND_POOL_CREATE_INFO, + let pool_info = vk::CommandPoolCreateInfo { + s_type: vk::StructureType::COMMAND_POOL_CREATE_INFO, p_next: std::ptr::null(), - flags: vk::bitmasks::CommandPoolCreateFlagBits::RESET_COMMAND_BUFFER, + flags: vk::CommandPoolCreateFlagBits::RESET_COMMAND_BUFFER, queue_family_index: t.queue_family, }; let pool = unsafe { t.device.create_command_pool(&pool_info, None) } .expect("create_command_pool failed"); // Allocate command buffer (uses raw forward,count is inside the struct). - let alloc_info = vk::structs::CommandBufferAllocateInfo { - s_type: vk::enums::StructureType::COMMAND_BUFFER_ALLOCATE_INFO, + let alloc_info = vk::CommandBufferAllocateInfo { + s_type: vk::StructureType::COMMAND_BUFFER_ALLOCATE_INFO, p_next: std::ptr::null(), command_pool: pool, - level: vk::enums::CommandBufferLevel::PRIMARY, + level: vk::CommandBufferLevel::PRIMARY, command_buffer_count: 1, }; - let mut cmd_buf = vk::handles::CommandBuffer::null(); + let mut cmd_buf = vk::CommandBuffer::null(); unsafe { let fp = t .device @@ -315,10 +311,10 @@ fn create_command_pool_and_submit_empty_buffer() { assert!(!cmd_buf.is_null()); // Begin → End (empty command buffer). - let begin_info = vk::structs::CommandBufferBeginInfo { - s_type: vk::enums::StructureType::COMMAND_BUFFER_BEGIN_INFO, + let begin_info = vk::CommandBufferBeginInfo { + s_type: vk::StructureType::COMMAND_BUFFER_BEGIN_INFO, p_next: std::ptr::null(), - flags: vk::bitmasks::CommandBufferUsageFlagBits::ONE_TIME_SUBMIT, + flags: vk::CommandBufferUsageFlagBits::ONE_TIME_SUBMIT, p_inheritance_info: std::ptr::null(), }; unsafe { t.device.begin_command_buffer(cmd_buf, &begin_info) } @@ -327,8 +323,8 @@ fn create_command_pool_and_submit_empty_buffer() { // Submit. let queue = unsafe { t.device.get_device_queue(t.queue_family, 0) }; - let submit_info = vk::structs::SubmitInfo { - s_type: vk::enums::StructureType::SUBMIT_INFO, + let submit_info = vk::SubmitInfo { + s_type: vk::StructureType::SUBMIT_INFO, p_next: std::ptr::null(), wait_semaphore_count: 0, p_wait_semaphores: std::ptr::null(), @@ -339,10 +335,10 @@ fn create_command_pool_and_submit_empty_buffer() { p_signal_semaphores: std::ptr::null(), }; - let fence_info = vk::structs::FenceCreateInfo { - s_type: vk::enums::StructureType::FENCE_CREATE_INFO, + let fence_info = vk::FenceCreateInfo { + s_type: vk::StructureType::FENCE_CREATE_INFO, p_next: std::ptr::null(), - flags: vk::bitmasks::FenceCreateFlagBits::empty(), + flags: vk::FenceCreateFlagBits::empty(), }; let fence = unsafe { t.device.create_fence(&fence_info, None) }.expect("create_fence failed"); @@ -364,26 +360,26 @@ fn create_command_pool_and_submit_empty_buffer() { fn create_and_destroy_image() { let t = TestDevice::new(); - let image_info = vk::structs::ImageCreateInfo { - s_type: vk::enums::StructureType::IMAGE_CREATE_INFO, + let image_info = vk::ImageCreateInfo { + s_type: vk::StructureType::IMAGE_CREATE_INFO, p_next: std::ptr::null(), - flags: vk::bitmasks::ImageCreateFlagBits::empty(), - image_type: vk::enums::ImageType::_2D, - format: vk::enums::Format::R8G8B8A8_UNORM, - extent: vk::structs::Extent3D { + flags: vk::ImageCreateFlagBits::empty(), + image_type: vk::ImageType::_2D, + format: vk::Format::R8G8B8A8_UNORM, + extent: vk::Extent3D { width: 64, height: 64, depth: 1, }, mip_levels: 1, array_layers: 1, - samples: vk::bitmasks::SampleCountFlagBits::_1, - tiling: vk::enums::ImageTiling::OPTIMAL, - usage: vk::bitmasks::ImageUsageFlagBits::SAMPLED, - sharing_mode: vk::enums::SharingMode::EXCLUSIVE, + samples: vk::SampleCountFlagBits::_1, + tiling: vk::ImageTiling::OPTIMAL, + usage: vk::ImageUsageFlagBits::SAMPLED, + sharing_mode: vk::SharingMode::EXCLUSIVE, queue_family_index_count: 0, p_queue_family_indices: std::ptr::null(), - initial_layout: vk::enums::ImageLayout::UNDEFINED, + initial_layout: vk::ImageLayout::UNDEFINED, }; let image = unsafe { t.device.create_image(&image_info, None) }.expect("create_image failed"); @@ -403,24 +399,24 @@ fn create_and_destroy_image() { fn create_and_destroy_sampler() { let t = TestDevice::new(); - let sampler_info = vk::structs::SamplerCreateInfo { - s_type: vk::enums::StructureType::SAMPLER_CREATE_INFO, + let sampler_info = vk::SamplerCreateInfo { + s_type: vk::StructureType::SAMPLER_CREATE_INFO, p_next: std::ptr::null(), - flags: vk::bitmasks::SamplerCreateFlagBits::empty(), - mag_filter: vk::enums::Filter::LINEAR, - min_filter: vk::enums::Filter::LINEAR, - mipmap_mode: vk::enums::SamplerMipmapMode::LINEAR, - address_mode_u: vk::enums::SamplerAddressMode::REPEAT, - address_mode_v: vk::enums::SamplerAddressMode::REPEAT, - address_mode_w: vk::enums::SamplerAddressMode::REPEAT, + flags: vk::SamplerCreateFlagBits::empty(), + mag_filter: vk::Filter::LINEAR, + min_filter: vk::Filter::LINEAR, + mipmap_mode: vk::SamplerMipmapMode::LINEAR, + address_mode_u: vk::SamplerAddressMode::REPEAT, + address_mode_v: vk::SamplerAddressMode::REPEAT, + address_mode_w: vk::SamplerAddressMode::REPEAT, mip_lod_bias: 0.0, anisotropy_enable: 0, max_anisotropy: 1.0, compare_enable: 0, - compare_op: vk::enums::CompareOp::ALWAYS, + compare_op: vk::CompareOp::ALWAYS, min_lod: 0.0, max_lod: 0.0, - border_color: vk::enums::BorderColor::INT_OPAQUE_BLACK, + border_color: vk::BorderColor::INT_OPAQUE_BLACK, unnormalized_coordinates: 0, }; @@ -436,10 +432,10 @@ fn create_and_destroy_sampler() { fn create_and_destroy_pipeline_layout() { let t = TestDevice::new(); - let layout_info = vk::structs::PipelineLayoutCreateInfo { - s_type: vk::enums::StructureType::PIPELINE_LAYOUT_CREATE_INFO, + let layout_info = vk::PipelineLayoutCreateInfo { + s_type: vk::StructureType::PIPELINE_LAYOUT_CREATE_INFO, p_next: std::ptr::null(), - flags: vk::bitmasks::PipelineLayoutCreateFlagBits::empty(), + flags: vk::PipelineLayoutCreateFlagBits::empty(), set_layout_count: 0, p_set_layouts: std::ptr::null(), push_constant_range_count: 0, diff --git a/vulkan-rust/tests/instance_device_integration.rs b/vulkan-rust/tests/instance_device_integration.rs index a02d17a..b59c843 100644 --- a/vulkan-rust/tests/instance_device_integration.rs +++ b/vulkan-rust/tests/instance_device_integration.rs @@ -1,6 +1,6 @@ mod common; -use vk::handles::Handle; +use vk::Handle; use vulkan_rust::vk; #[test] @@ -72,23 +72,20 @@ fn full_lifecycle() { let families = unsafe { instance.get_physical_device_queue_family_properties(physical_device) }; let graphics_family = families .iter() - .position(|f| { - f.queue_flags - .contains(vk::bitmasks::QueueFlagBits::GRAPHICS) - }) + .position(|f| f.queue_flags.contains(vk::QueueFlagBits::GRAPHICS)) .expect("no graphics queue family") as u32; let queue_priority = 1.0f32; - let queue_create_info = vk::structs::DeviceQueueCreateInfo { - s_type: vk::enums::StructureType::DEVICE_QUEUE_CREATE_INFO, + let queue_create_info = vk::DeviceQueueCreateInfo { + s_type: vk::StructureType::DEVICE_QUEUE_CREATE_INFO, p_next: std::ptr::null(), - flags: vk::bitmasks::DeviceQueueCreateFlagBits::empty(), + flags: vk::DeviceQueueCreateFlagBits::empty(), queue_family_index: graphics_family, queue_count: 1, p_queue_priorities: &queue_priority, }; - let device_create_info = vk::structs::DeviceCreateInfo { - s_type: vk::enums::StructureType::DEVICE_CREATE_INFO, + let device_create_info = vk::DeviceCreateInfo { + s_type: vk::StructureType::DEVICE_CREATE_INFO, p_next: std::ptr::null(), flags: 0, queue_create_info_count: 1, diff --git a/vulkan-rust/tests/mock_wrapper_tests.rs b/vulkan-rust/tests/mock_wrapper_tests.rs index 671e380..393e795 100644 --- a/vulkan-rust/tests/mock_wrapper_tests.rs +++ b/vulkan-rust/tests/mock_wrapper_tests.rs @@ -16,7 +16,7 @@ static TEST_MUTEX: Mutex<()> = Mutex::new(()); use std::ffi::{CStr, c_char}; use std::sync::atomic::{AtomicBool, AtomicU32, Ordering}; -use vk::handles::Handle; +use vk::Handle; use vulkan_rust::vk; // --------------------------------------------------------------------------- @@ -39,41 +39,37 @@ fn reset_mocks() { /// Mock `vkGetDeviceProcAddr` that returns fake fps for specific commands. unsafe extern "system" fn mock_device_proc_addr( - _device: vk::handles::Device, + _device: vk::Device, name: *const c_char, -) -> vk::structs::PFN_vkVoidFunction { +) -> vk::PFN_vkVoidFunction { let name = unsafe { CStr::from_ptr(name) }; match name.to_bytes() { b"vkCreateFence" => Some(unsafe { std::mem::transmute::< unsafe extern "system" fn( - vk::handles::Device, - *const vk::structs::FenceCreateInfo, - *const vk::structs::AllocationCallbacks, - *mut vk::handles::Fence, - ) -> vk::enums::Result, + vk::Device, + *const vk::FenceCreateInfo, + *const vk::AllocationCallbacks, + *mut vk::Fence, + ) -> vk::Result, unsafe extern "system" fn(), >(mock_create_fence) }), b"vkDestroyFence" => Some(unsafe { std::mem::transmute::< - unsafe extern "system" fn( - vk::handles::Device, - vk::handles::Fence, - *const vk::structs::AllocationCallbacks, - ), + unsafe extern "system" fn(vk::Device, vk::Fence, *const vk::AllocationCallbacks), unsafe extern "system" fn(), >(mock_destroy_fence) }), b"vkDeviceWaitIdle" => Some(unsafe { std::mem::transmute::< - unsafe extern "system" fn(vk::handles::Device) -> vk::enums::Result, + unsafe extern "system" fn(vk::Device) -> vk::Result, unsafe extern "system" fn(), >(mock_device_wait_idle) }), b"vkCmdDraw" => Some(unsafe { std::mem::transmute::< - unsafe extern "system" fn(vk::handles::CommandBuffer, u32, u32, u32, u32), + unsafe extern "system" fn(vk::CommandBuffer, u32, u32, u32, u32), unsafe extern "system" fn(), >(mock_cmd_draw) }), @@ -84,7 +80,7 @@ unsafe extern "system" fn mock_device_proc_addr( fn mock_device() -> vulkan_rust::Device { unsafe { vulkan_rust::Device::from_raw_parts( - vk::handles::Device::from_raw(0xD001), + vk::Device::from_raw(0xD001), Some(mock_device_proc_addr), ) } @@ -96,24 +92,24 @@ fn mock_device() -> vulkan_rust::Device { /// Create pattern: writes output handle, returns SUCCESS. unsafe extern "system" fn mock_create_fence( - device: vk::handles::Device, - p_create_info: *const vk::structs::FenceCreateInfo, - _p_allocator: *const vk::structs::AllocationCallbacks, - p_fence: *mut vk::handles::Fence, -) -> vk::enums::Result { + device: vk::Device, + p_create_info: *const vk::FenceCreateInfo, + _p_allocator: *const vk::AllocationCallbacks, + p_fence: *mut vk::Fence, +) -> vk::Result { MOCK_CALLED.store(true, Ordering::SeqCst); assert_eq!(device.as_raw(), 0xD001, "wrong device handle"); assert!(!p_create_info.is_null(), "create_info must not be null"); assert!(!p_fence.is_null(), "output pointer must not be null"); - unsafe { *p_fence = vk::handles::Fence::from_raw(0xFE01) }; - vk::enums::Result::SUCCESS + unsafe { *p_fence = vk::Fence::from_raw(0xFE01) }; + vk::Result::SUCCESS } /// Destroy pattern: verifies handle and allocator forwarding. unsafe extern "system" fn mock_destroy_fence( - device: vk::handles::Device, - fence: vk::handles::Fence, - p_allocator: *const vk::structs::AllocationCallbacks, + device: vk::Device, + fence: vk::Fence, + p_allocator: *const vk::AllocationCallbacks, ) { MOCK_CALLED.store(true, Ordering::SeqCst); assert_eq!(device.as_raw(), 0xD001, "wrong device handle"); @@ -122,15 +118,15 @@ unsafe extern "system" fn mock_destroy_fence( } /// ResultOnly pattern: returns SUCCESS. -unsafe extern "system" fn mock_device_wait_idle(device: vk::handles::Device) -> vk::enums::Result { +unsafe extern "system" fn mock_device_wait_idle(device: vk::Device) -> vk::Result { MOCK_CALLED.store(true, Ordering::SeqCst); assert_eq!(device.as_raw(), 0xD001, "wrong device handle"); - vk::enums::Result::SUCCESS + vk::Result::SUCCESS } /// VoidForward pattern: captures arguments for verification. unsafe extern "system" fn mock_cmd_draw( - _command_buffer: vk::handles::CommandBuffer, + _command_buffer: vk::CommandBuffer, vertex_count: u32, instance_count: u32, _first_vertex: u32, @@ -147,36 +143,33 @@ unsafe extern "system" fn mock_cmd_draw( /// Mock `vkGetInstanceProcAddr` that returns fake fps for specific commands. unsafe extern "system" fn mock_instance_proc_addr( - _instance: vk::handles::Instance, + _instance: vk::Instance, name: *const c_char, -) -> vk::structs::PFN_vkVoidFunction { +) -> vk::PFN_vkVoidFunction { let name = unsafe { CStr::from_ptr(name) }; match name.to_bytes() { b"vkGetDeviceProcAddr" => Some(unsafe { std::mem::transmute::< - unsafe extern "system" fn( - vk::handles::Device, - *const c_char, - ) -> vk::structs::PFN_vkVoidFunction, + unsafe extern "system" fn(vk::Device, *const c_char) -> vk::PFN_vkVoidFunction, unsafe extern "system" fn(), >(null_device_proc_addr) }), b"vkEnumeratePhysicalDevices" => Some(unsafe { std::mem::transmute::< unsafe extern "system" fn( - vk::handles::Instance, + vk::Instance, *mut u32, - *mut vk::handles::PhysicalDevice, - ) -> vk::enums::Result, + *mut vk::PhysicalDevice, + ) -> vk::Result, unsafe extern "system" fn(), >(mock_enumerate_physical_devices) }), b"vkGetPhysicalDeviceQueueFamilyProperties" => Some(unsafe { std::mem::transmute::< unsafe extern "system" fn( - vk::handles::PhysicalDevice, + vk::PhysicalDevice, *mut u32, - *mut vk::structs::QueueFamilyProperties, + *mut vk::QueueFamilyProperties, ), unsafe extern "system" fn(), >(mock_get_physical_device_queue_family_properties) @@ -184,8 +177,8 @@ unsafe extern "system" fn mock_instance_proc_addr( b"vkGetPhysicalDeviceMemoryProperties" => Some(unsafe { std::mem::transmute::< unsafe extern "system" fn( - vk::handles::PhysicalDevice, - *mut vk::structs::PhysicalDeviceMemoryProperties, + vk::PhysicalDevice, + *mut vk::PhysicalDeviceMemoryProperties, ), unsafe extern "system" fn(), >(mock_get_physical_device_memory_properties) @@ -195,16 +188,16 @@ unsafe extern "system" fn mock_instance_proc_addr( } unsafe extern "system" fn null_device_proc_addr( - _device: vk::handles::Device, + _device: vk::Device, _name: *const c_char, -) -> vk::structs::PFN_vkVoidFunction { +) -> vk::PFN_vkVoidFunction { None } fn mock_instance() -> vulkan_rust::Instance { unsafe { vulkan_rust::Instance::from_raw_parts( - vk::handles::Instance::from_raw(0x1001_usize), + vk::Instance::from_raw(0x1001_usize), Some(mock_instance_proc_addr), ) } @@ -216,28 +209,28 @@ fn mock_instance() -> vulkan_rust::Instance { /// Enumerate pattern: two-call that returns 2 physical devices. unsafe extern "system" fn mock_enumerate_physical_devices( - _instance: vk::handles::Instance, + _instance: vk::Instance, p_count: *mut u32, - p_devices: *mut vk::handles::PhysicalDevice, -) -> vk::enums::Result { + p_devices: *mut vk::PhysicalDevice, +) -> vk::Result { MOCK_CALLED.store(true, Ordering::SeqCst); if p_devices.is_null() { unsafe { *p_count = 2 }; } else { unsafe { *p_count = 2; - *p_devices = vk::handles::PhysicalDevice::from_raw(0xAA01_usize); - *p_devices.add(1) = vk::handles::PhysicalDevice::from_raw(0xAA02_usize); + *p_devices = vk::PhysicalDevice::from_raw(0xAA01_usize); + *p_devices.add(1) = vk::PhysicalDevice::from_raw(0xAA02_usize); } } - vk::enums::Result::SUCCESS + vk::Result::SUCCESS } /// Fill pattern: two-call that returns 1 queue family. unsafe extern "system" fn mock_get_physical_device_queue_family_properties( - _physical_device: vk::handles::PhysicalDevice, + _physical_device: vk::PhysicalDevice, p_count: *mut u32, - p_properties: *mut vk::structs::QueueFamilyProperties, + p_properties: *mut vk::QueueFamilyProperties, ) { MOCK_CALLED.store(true, Ordering::SeqCst); if p_properties.is_null() { @@ -245,8 +238,8 @@ unsafe extern "system" fn mock_get_physical_device_queue_family_properties( } else { unsafe { *p_count = 1; - let mut props: vk::structs::QueueFamilyProperties = std::mem::zeroed(); - props.queue_flags = vk::bitmasks::QueueFlagBits::GRAPHICS; + let mut props: vk::QueueFamilyProperties = std::mem::zeroed(); + props.queue_flags = vk::QueueFlagBits::GRAPHICS; props.queue_count = 4; *p_properties = props; } @@ -255,12 +248,12 @@ unsafe extern "system" fn mock_get_physical_device_queue_family_properties( /// Query pattern: writes output struct directly. unsafe extern "system" fn mock_get_physical_device_memory_properties( - _physical_device: vk::handles::PhysicalDevice, - p_memory_properties: *mut vk::structs::PhysicalDeviceMemoryProperties, + _physical_device: vk::PhysicalDevice, + p_memory_properties: *mut vk::PhysicalDeviceMemoryProperties, ) { MOCK_CALLED.store(true, Ordering::SeqCst); unsafe { - let mut props: vk::structs::PhysicalDeviceMemoryProperties = std::mem::zeroed(); + let mut props: vk::PhysicalDeviceMemoryProperties = std::mem::zeroed(); props.memory_type_count = 3; props.memory_heap_count = 2; *p_memory_properties = props; @@ -280,10 +273,10 @@ fn pattern_create_returns_handle() { reset_mocks(); let device = mock_device(); - let fence_info = vk::structs::FenceCreateInfo { - s_type: vk::enums::StructureType::FENCE_CREATE_INFO, + let fence_info = vk::FenceCreateInfo { + s_type: vk::StructureType::FENCE_CREATE_INFO, p_next: std::ptr::null(), - flags: vk::bitmasks::FenceCreateFlagBits::empty(), + flags: vk::FenceCreateFlagBits::empty(), }; let fence = @@ -302,7 +295,7 @@ fn pattern_destroy_forwards_args() { reset_mocks(); let device = mock_device(); - let fence = vk::handles::Fence::from_raw(0xFE01); + let fence = vk::Fence::from_raw(0xFE01); unsafe { device.destroy_fence(fence, None) }; assert!(MOCK_CALLED.load(Ordering::SeqCst), "mock was not called"); @@ -331,7 +324,7 @@ fn pattern_fill_returns_populated_vec() { let _lock = TEST_MUTEX.lock().expect("TEST_MUTEX poisoned"); reset_mocks(); let instance = mock_instance(); - let physical_device = vk::handles::PhysicalDevice::from_raw(0xABCD); + let physical_device = vk::PhysicalDevice::from_raw(0xABCD); let families = unsafe { instance.get_physical_device_queue_family_properties(physical_device) }; @@ -341,7 +334,7 @@ fn pattern_fill_returns_populated_vec() { assert!( families[0] .queue_flags - .contains(vk::bitmasks::QueueFlagBits::GRAPHICS) + .contains(vk::QueueFlagBits::GRAPHICS) ); } @@ -352,7 +345,7 @@ fn pattern_query_returns_struct() { let _lock = TEST_MUTEX.lock().expect("TEST_MUTEX poisoned"); reset_mocks(); let instance = mock_instance(); - let physical_device = vk::handles::PhysicalDevice::from_raw(0xABCD); + let physical_device = vk::PhysicalDevice::from_raw(0xABCD); let mem_props = unsafe { instance.get_physical_device_memory_properties(physical_device) }; @@ -382,7 +375,7 @@ fn pattern_void_forward_passes_all_args() { let _lock = TEST_MUTEX.lock().expect("TEST_MUTEX poisoned"); reset_mocks(); let device = mock_device(); - let cmd_buf = vk::handles::CommandBuffer::from_raw(0xCB01); + let cmd_buf = vk::CommandBuffer::from_raw(0xCB01); unsafe { device.cmd_draw(cmd_buf, 36, 1, 0, 0) };