Skip to main content

TypedVulkanStructure

Trait TypedVulkanStructure 

Source
pub trait TypedVulkanStructure: VulkanStructure {
    const TYPE: VkStructureType;

    // Provided method
    fn try_from_generic(g: &GenericVulkanStructure) -> Option<&Self>
       where Self: Sized { ... }
}
Expand description

Trait for Vulkan structures that have a known [crate::vk::VkStructureType] at compile time.

Required Associated Constants§

Source

const TYPE: VkStructureType

sType of this structure

Provided Methods§

Source

fn try_from_generic(g: &GenericVulkanStructure) -> Option<&Self>
where Self: Sized,

Cast structure ref only if sType matches

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<S: TypedVulkanStructure + ?Sized> TypedVulkanStructure for &mut S

Source§

const TYPE: VkStructureType = S::TYPE

Source§

impl<S: TypedVulkanStructure + ?Sized> TypedVulkanStructure for Box<S>

Source§

const TYPE: VkStructureType = S::TYPE

Implementors§

Source§

impl TypedVulkanStructure for VkApplicationInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_APPLICATION_INFO

Source§

impl TypedVulkanStructure for VkBindBufferMemoryInfoKHR

Available on crate feature VK_KHR_bind_memory2 only.
Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR

Source§

impl TypedVulkanStructure for VkBindImageMemoryInfoKHR

Available on crate feature VK_KHR_bind_memory2 only.
Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR

Source§

impl TypedVulkanStructure for VkBindSparseInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_BIND_SPARSE_INFO

Source§

impl TypedVulkanStructure for VkBufferCreateInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO

Source§

impl TypedVulkanStructure for VkBufferMemoryBarrier2KHR

Available on crate feature VK_KHR_synchronization2 only.
Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR

Source§

impl TypedVulkanStructure for VkBufferMemoryBarrier

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER

Source§

impl TypedVulkanStructure for VkBufferMemoryRequirementsInfo2KHR

Available on crate feature VK_KHR_get_memory_requirements2 only.
Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR

Source§

impl TypedVulkanStructure for VkBufferViewCreateInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO

Source§

impl TypedVulkanStructure for VkCommandBufferAllocateInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO

Source§

impl TypedVulkanStructure for VkCommandBufferBeginInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO

Source§

impl TypedVulkanStructure for VkCommandBufferInheritanceInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO

Source§

impl TypedVulkanStructure for VkCommandBufferSubmitInfoKHR

Available on crate feature VK_KHR_synchronization2 only.
Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR

Source§

impl TypedVulkanStructure for VkCommandPoolCreateInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO

Source§

impl TypedVulkanStructure for VkComputePipelineCreateInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO

Source§

impl TypedVulkanStructure for VkCopyDescriptorSet

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET

Source§

impl TypedVulkanStructure for VkDependencyInfoKHR

Available on crate feature VK_KHR_synchronization2 only.
Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR

Source§

impl TypedVulkanStructure for VkDescriptorPoolCreateInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO

Source§

impl TypedVulkanStructure for VkDescriptorSetAllocateInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO

Source§

impl TypedVulkanStructure for VkDescriptorSetLayoutCreateInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO

Source§

impl TypedVulkanStructure for VkDeviceCreateInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO

Source§

impl TypedVulkanStructure for VkDeviceQueueCreateInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO

Source§

impl TypedVulkanStructure for VkEventCreateInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_EVENT_CREATE_INFO

Source§

impl TypedVulkanStructure for VkFenceCreateInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO

Source§

impl TypedVulkanStructure for VkFramebufferCreateInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO

Source§

impl TypedVulkanStructure for VkGraphicsPipelineCreateInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO

Source§

impl TypedVulkanStructure for VkImageCreateInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO

Source§

impl TypedVulkanStructure for VkImageMemoryBarrier2KHR

Available on crate feature VK_KHR_synchronization2 only.
Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR

Source§

impl TypedVulkanStructure for VkImageMemoryBarrier

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER

Source§

impl TypedVulkanStructure for VkImageMemoryRequirementsInfo2KHR

Available on crate feature VK_KHR_get_memory_requirements2 only.
Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR

Source§

impl TypedVulkanStructure for VkImageSparseMemoryRequirementsInfo2KHR

Available on crate feature VK_KHR_get_memory_requirements2 only.
Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR

Source§

impl TypedVulkanStructure for VkImageViewCreateInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO

Source§

impl TypedVulkanStructure for VkInstanceCreateInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO

Source§

impl TypedVulkanStructure for VkMappedMemoryRange

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE

Source§

impl TypedVulkanStructure for VkMemoryAllocateInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO

Source§

impl TypedVulkanStructure for VkMemoryBarrier2KHR

Available on crate feature VK_KHR_synchronization2 only.
Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR

Source§

impl TypedVulkanStructure for VkMemoryBarrier

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_MEMORY_BARRIER

Source§

impl TypedVulkanStructure for VkMemoryDedicatedAllocateInfoKHR

Available on crate feature VK_KHR_dedicated_allocation only.
Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR

Source§

impl TypedVulkanStructure for VkPhysicalDeviceFeatures2KHR

Available on crate feature VK_KHR_get_physical_device_properties2 only.
Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR

Source§

impl TypedVulkanStructure for VkPhysicalDeviceImageFormatInfo2KHR

Available on crate feature VK_KHR_get_physical_device_properties2 only.
Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR

Source§

impl TypedVulkanStructure for VkPhysicalDeviceSparseImageFormatInfo2KHR

Available on crate feature VK_KHR_get_physical_device_properties2 only.
Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR

Source§

impl TypedVulkanStructure for VkPhysicalDeviceSynchronization2FeaturesKHR

Available on crate feature VK_KHR_synchronization2 only.
Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR

Source§

impl TypedVulkanStructure for VkPipelineCacheCreateInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO

Source§

impl TypedVulkanStructure for VkPipelineColorBlendStateCreateInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO

Source§

impl TypedVulkanStructure for VkPipelineDepthStencilStateCreateInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO

Source§

impl TypedVulkanStructure for VkPipelineDynamicStateCreateInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO

Source§

impl TypedVulkanStructure for VkPipelineInputAssemblyStateCreateInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO

Source§

impl TypedVulkanStructure for VkPipelineLayoutCreateInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO

Source§

impl TypedVulkanStructure for VkPipelineMultisampleStateCreateInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO

Source§

impl TypedVulkanStructure for VkPipelineRasterizationStateCreateInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO

Source§

impl TypedVulkanStructure for VkPipelineShaderStageCreateInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO

Source§

impl TypedVulkanStructure for VkPipelineTessellationStateCreateInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO

Source§

impl TypedVulkanStructure for VkPipelineVertexInputStateCreateInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO

Source§

impl TypedVulkanStructure for VkPipelineViewportStateCreateInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO

Source§

impl TypedVulkanStructure for VkPresentInfoKHR

Available on crate feature VK_KHR_swapchain only.
Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_PRESENT_INFO_KHR

Source§

impl TypedVulkanStructure for VkQueryPoolCreateInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO

Source§

impl TypedVulkanStructure for VkRenderPassBeginInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO

Source§

impl TypedVulkanStructure for VkRenderPassCreateInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO

Source§

impl TypedVulkanStructure for VkSamplerCreateInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO

Source§

impl TypedVulkanStructure for VkSemaphoreCreateInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO

Source§

impl TypedVulkanStructure for VkSemaphoreSubmitInfoKHR

Available on crate feature VK_KHR_synchronization2 only.
Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR

Source§

impl TypedVulkanStructure for VkShaderModuleCreateInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO

Source§

impl TypedVulkanStructure for VkSubmitInfo2KHR

Available on crate feature VK_KHR_synchronization2 only.
Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR

Source§

impl TypedVulkanStructure for VkSubmitInfo

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_SUBMIT_INFO

Source§

impl TypedVulkanStructure for VkSwapchainCreateInfoKHR

Available on crate feature VK_KHR_swapchain only.
Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR

Source§

impl TypedVulkanStructure for VkWriteDescriptorSet

Source§

const TYPE: VkStructureType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET