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§
Sourceconst TYPE: VkStructureType
const TYPE: VkStructureType
sType of this structure
Provided Methods§
Sourcefn try_from_generic(g: &GenericVulkanStructure) -> Option<&Self>where
Self: Sized,
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
impl<S: TypedVulkanStructure + ?Sized> TypedVulkanStructure for &mut S
const TYPE: VkStructureType = S::TYPE
Source§impl<S: TypedVulkanStructure + ?Sized> TypedVulkanStructure for Box<S>
impl<S: TypedVulkanStructure + ?Sized> TypedVulkanStructure for Box<S>
const TYPE: VkStructureType = S::TYPE
Implementors§
Source§impl TypedVulkanStructure for VkApplicationInfo
impl TypedVulkanStructure for VkApplicationInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_APPLICATION_INFO
Source§impl TypedVulkanStructure for VkBindBufferMemoryInfoKHR
Available on crate feature VK_KHR_bind_memory2 only.
impl TypedVulkanStructure for VkBindBufferMemoryInfoKHR
Available on crate feature
VK_KHR_bind_memory2 only.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.
impl TypedVulkanStructure for VkBindImageMemoryInfoKHR
Available on crate feature
VK_KHR_bind_memory2 only.const TYPE: VkStructureType = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR
Source§impl TypedVulkanStructure for VkBindSparseInfo
impl TypedVulkanStructure for VkBindSparseInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_BIND_SPARSE_INFO
Source§impl TypedVulkanStructure for VkBufferCreateInfo
impl TypedVulkanStructure for VkBufferCreateInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO
Source§impl TypedVulkanStructure for VkBufferMemoryBarrier2KHR
Available on crate feature VK_KHR_synchronization2 only.
impl TypedVulkanStructure for VkBufferMemoryBarrier2KHR
Available on crate feature
VK_KHR_synchronization2 only.const TYPE: VkStructureType = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR
Source§impl TypedVulkanStructure for VkBufferMemoryBarrier
impl TypedVulkanStructure for VkBufferMemoryBarrier
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER
Source§impl TypedVulkanStructure for VkBufferMemoryRequirementsInfo2KHR
Available on crate feature VK_KHR_get_memory_requirements2 only.
impl TypedVulkanStructure for VkBufferMemoryRequirementsInfo2KHR
Available on crate feature
VK_KHR_get_memory_requirements2 only.const TYPE: VkStructureType = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR
Source§impl TypedVulkanStructure for VkBufferViewCreateInfo
impl TypedVulkanStructure for VkBufferViewCreateInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO
Source§impl TypedVulkanStructure for VkCommandBufferAllocateInfo
impl TypedVulkanStructure for VkCommandBufferAllocateInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO
Source§impl TypedVulkanStructure for VkCommandBufferBeginInfo
impl TypedVulkanStructure for VkCommandBufferBeginInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO
Source§impl TypedVulkanStructure for VkCommandBufferInheritanceInfo
impl TypedVulkanStructure for VkCommandBufferInheritanceInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO
Source§impl TypedVulkanStructure for VkCommandBufferSubmitInfoKHR
Available on crate feature VK_KHR_synchronization2 only.
impl TypedVulkanStructure for VkCommandBufferSubmitInfoKHR
Available on crate feature
VK_KHR_synchronization2 only.const TYPE: VkStructureType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR
Source§impl TypedVulkanStructure for VkCommandPoolCreateInfo
impl TypedVulkanStructure for VkCommandPoolCreateInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO
Source§impl TypedVulkanStructure for VkComputePipelineCreateInfo
impl TypedVulkanStructure for VkComputePipelineCreateInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO
Source§impl TypedVulkanStructure for VkCopyDescriptorSet
impl TypedVulkanStructure for VkCopyDescriptorSet
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET
Source§impl TypedVulkanStructure for VkDependencyInfoKHR
Available on crate feature VK_KHR_synchronization2 only.
impl TypedVulkanStructure for VkDependencyInfoKHR
Available on crate feature
VK_KHR_synchronization2 only.const TYPE: VkStructureType = VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR
Source§impl TypedVulkanStructure for VkDescriptorPoolCreateInfo
impl TypedVulkanStructure for VkDescriptorPoolCreateInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO
Source§impl TypedVulkanStructure for VkDescriptorSetAllocateInfo
impl TypedVulkanStructure for VkDescriptorSetAllocateInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO
Source§impl TypedVulkanStructure for VkDescriptorSetLayoutCreateInfo
impl TypedVulkanStructure for VkDescriptorSetLayoutCreateInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO
Source§impl TypedVulkanStructure for VkDeviceCreateInfo
impl TypedVulkanStructure for VkDeviceCreateInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO
Source§impl TypedVulkanStructure for VkDeviceQueueCreateInfo
impl TypedVulkanStructure for VkDeviceQueueCreateInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO
Source§impl TypedVulkanStructure for VkEventCreateInfo
impl TypedVulkanStructure for VkEventCreateInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_EVENT_CREATE_INFO
Source§impl TypedVulkanStructure for VkFenceCreateInfo
impl TypedVulkanStructure for VkFenceCreateInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO
Source§impl TypedVulkanStructure for VkFramebufferCreateInfo
impl TypedVulkanStructure for VkFramebufferCreateInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO
Source§impl TypedVulkanStructure for VkGraphicsPipelineCreateInfo
impl TypedVulkanStructure for VkGraphicsPipelineCreateInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO
Source§impl TypedVulkanStructure for VkImageCreateInfo
impl TypedVulkanStructure for VkImageCreateInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO
Source§impl TypedVulkanStructure for VkImageMemoryBarrier2KHR
Available on crate feature VK_KHR_synchronization2 only.
impl TypedVulkanStructure for VkImageMemoryBarrier2KHR
Available on crate feature
VK_KHR_synchronization2 only.const TYPE: VkStructureType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR
Source§impl TypedVulkanStructure for VkImageMemoryBarrier
impl TypedVulkanStructure for VkImageMemoryBarrier
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER
Source§impl TypedVulkanStructure for VkImageMemoryRequirementsInfo2KHR
Available on crate feature VK_KHR_get_memory_requirements2 only.
impl TypedVulkanStructure for VkImageMemoryRequirementsInfo2KHR
Available on crate feature
VK_KHR_get_memory_requirements2 only.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.
impl TypedVulkanStructure for VkImageSparseMemoryRequirementsInfo2KHR
Available on crate feature
VK_KHR_get_memory_requirements2 only.const TYPE: VkStructureType = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR
Source§impl TypedVulkanStructure for VkImageViewCreateInfo
impl TypedVulkanStructure for VkImageViewCreateInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO
Source§impl TypedVulkanStructure for VkInstanceCreateInfo
impl TypedVulkanStructure for VkInstanceCreateInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO
Source§impl TypedVulkanStructure for VkMappedMemoryRange
impl TypedVulkanStructure for VkMappedMemoryRange
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE
Source§impl TypedVulkanStructure for VkMemoryAllocateInfo
impl TypedVulkanStructure for VkMemoryAllocateInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO
Source§impl TypedVulkanStructure for VkMemoryBarrier2KHR
Available on crate feature VK_KHR_synchronization2 only.
impl TypedVulkanStructure for VkMemoryBarrier2KHR
Available on crate feature
VK_KHR_synchronization2 only.const TYPE: VkStructureType = VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR
Source§impl TypedVulkanStructure for VkMemoryBarrier
impl TypedVulkanStructure for VkMemoryBarrier
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_MEMORY_BARRIER
Source§impl TypedVulkanStructure for VkMemoryDedicatedAllocateInfoKHR
Available on crate feature VK_KHR_dedicated_allocation only.
impl TypedVulkanStructure for VkMemoryDedicatedAllocateInfoKHR
Available on crate feature
VK_KHR_dedicated_allocation only.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.
impl TypedVulkanStructure for VkPhysicalDeviceFeatures2KHR
Available on crate feature
VK_KHR_get_physical_device_properties2 only.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.
impl TypedVulkanStructure for VkPhysicalDeviceImageFormatInfo2KHR
Available on crate feature
VK_KHR_get_physical_device_properties2 only.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.
impl TypedVulkanStructure for VkPhysicalDeviceSparseImageFormatInfo2KHR
Available on crate feature
VK_KHR_get_physical_device_properties2 only.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.
impl TypedVulkanStructure for VkPhysicalDeviceSynchronization2FeaturesKHR
Available on crate feature
VK_KHR_synchronization2 only.const TYPE: VkStructureType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR
Source§impl TypedVulkanStructure for VkPipelineCacheCreateInfo
impl TypedVulkanStructure for VkPipelineCacheCreateInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO
Source§impl TypedVulkanStructure for VkPipelineColorBlendStateCreateInfo
impl TypedVulkanStructure for VkPipelineColorBlendStateCreateInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO
Source§impl TypedVulkanStructure for VkPipelineDepthStencilStateCreateInfo
impl TypedVulkanStructure for VkPipelineDepthStencilStateCreateInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO
Source§impl TypedVulkanStructure for VkPipelineDynamicStateCreateInfo
impl TypedVulkanStructure for VkPipelineDynamicStateCreateInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO
Source§impl TypedVulkanStructure for VkPipelineInputAssemblyStateCreateInfo
impl TypedVulkanStructure for VkPipelineInputAssemblyStateCreateInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO
Source§impl TypedVulkanStructure for VkPipelineLayoutCreateInfo
impl TypedVulkanStructure for VkPipelineLayoutCreateInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO
Source§impl TypedVulkanStructure for VkPipelineMultisampleStateCreateInfo
impl TypedVulkanStructure for VkPipelineMultisampleStateCreateInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO
Source§impl TypedVulkanStructure for VkPipelineRasterizationStateCreateInfo
impl TypedVulkanStructure for VkPipelineRasterizationStateCreateInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO
Source§impl TypedVulkanStructure for VkPipelineShaderStageCreateInfo
impl TypedVulkanStructure for VkPipelineShaderStageCreateInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO
Source§impl TypedVulkanStructure for VkPipelineTessellationStateCreateInfo
impl TypedVulkanStructure for VkPipelineTessellationStateCreateInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO
Source§impl TypedVulkanStructure for VkPipelineVertexInputStateCreateInfo
impl TypedVulkanStructure for VkPipelineVertexInputStateCreateInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO
Source§impl TypedVulkanStructure for VkPipelineViewportStateCreateInfo
impl TypedVulkanStructure for VkPipelineViewportStateCreateInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO
Source§impl TypedVulkanStructure for VkPresentInfoKHR
Available on crate feature VK_KHR_swapchain only.
impl TypedVulkanStructure for VkPresentInfoKHR
Available on crate feature
VK_KHR_swapchain only.const TYPE: VkStructureType = VK_STRUCTURE_TYPE_PRESENT_INFO_KHR
Source§impl TypedVulkanStructure for VkQueryPoolCreateInfo
impl TypedVulkanStructure for VkQueryPoolCreateInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO
Source§impl TypedVulkanStructure for VkRenderPassBeginInfo
impl TypedVulkanStructure for VkRenderPassBeginInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO
Source§impl TypedVulkanStructure for VkRenderPassCreateInfo
impl TypedVulkanStructure for VkRenderPassCreateInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO
Source§impl TypedVulkanStructure for VkSamplerCreateInfo
impl TypedVulkanStructure for VkSamplerCreateInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO
Source§impl TypedVulkanStructure for VkSemaphoreCreateInfo
impl TypedVulkanStructure for VkSemaphoreCreateInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO
Source§impl TypedVulkanStructure for VkSemaphoreSubmitInfoKHR
Available on crate feature VK_KHR_synchronization2 only.
impl TypedVulkanStructure for VkSemaphoreSubmitInfoKHR
Available on crate feature
VK_KHR_synchronization2 only.const TYPE: VkStructureType = VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR
Source§impl TypedVulkanStructure for VkShaderModuleCreateInfo
impl TypedVulkanStructure for VkShaderModuleCreateInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO
Source§impl TypedVulkanStructure for VkSubmitInfo2KHR
Available on crate feature VK_KHR_synchronization2 only.
impl TypedVulkanStructure for VkSubmitInfo2KHR
Available on crate feature
VK_KHR_synchronization2 only.const TYPE: VkStructureType = VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR
Source§impl TypedVulkanStructure for VkSubmitInfo
impl TypedVulkanStructure for VkSubmitInfo
const TYPE: VkStructureType = VK_STRUCTURE_TYPE_SUBMIT_INFO
Source§impl TypedVulkanStructure for VkSwapchainCreateInfoKHR
Available on crate feature VK_KHR_swapchain only.
impl TypedVulkanStructure for VkSwapchainCreateInfoKHR
Available on crate feature
VK_KHR_swapchain only.