pub struct VulkanGfx(/* private fields */);
Implementations§
Source§impl VulkanGfx
impl VulkanGfx
pub fn downgrade(&self) -> VulkanGfxWeak
pub fn adapter_available_features(&self) -> &PhysicalDeviceFeatures
pub fn adapter_limits(&self) -> &VkPhysicalDeviceLimits
pub fn adapter_memory_properties(&self) -> &PhysicalDeviceMemoryProperties
pub fn surface_support( &self, surface: &(impl VkHandle<Handle = VkSurfaceKHR> + ?Sized), ) -> Result<bool>
pub fn surface_capabilities( &self, surface: &(impl VkHandle<Handle = VkSurfaceKHR> + ?Sized), ) -> Result<SurfaceCapabilities>
pub fn surface_formats( &self, surface: &(impl VkHandle<Handle = VkSurfaceKHR> + ?Sized), ) -> Result<Vec<SurfaceFormat>>
pub fn surface_present_modes( &self, surface: &(impl VkHandle<Handle = VkSurfaceKHR> + ?Sized), ) -> Result<Vec<PresentMode>>
pub fn device_local_memory_index(&self, index_mask: u32) -> Option<u32>
pub unsafe fn load_function<F: PFN>(&self) -> F
pub fn get_buffer_memory_requirements2_fn( &self, ) -> &PFN_vkGetBufferMemoryRequirements2KHR
pub fn get_image_memory_requirements2_fn( &self, ) -> &PFN_vkGetImageMemoryRequirements2KHR
pub fn bind_buffer_memory2_fn(&self) -> &PFN_vkBindBufferMemory2KHR
pub fn bind_image_memory2_fn(&self) -> &PFN_vkBindImageMemory2KHR
Trait Implementations§
Source§impl Device for VulkanGfx
impl Device for VulkanGfx
fn bind_buffer_memory2_khr_fn(&self) -> PFN_vkBindBufferMemory2KHR
fn bind_image_memory2_khr_fn(&self) -> PFN_vkBindImageMemory2KHR
fn get_buffer_memory_requirements_2_khr_fn( &self, ) -> PFN_vkGetBufferMemoryRequirements2KHR
fn get_image_memory_requirements_2_khr_fn( &self, ) -> PFN_vkGetImageMemoryRequirements2KHR
fn get_image_sparse_memory_requirements_2_khr_fn( &self, ) -> PFN_vkGetImageSparseMemoryRequirements2KHR
Source§fn queue<'s>(
&'s self,
family_index: u32,
queue_index: u32,
) -> QueueObject<&'s Self>
fn queue<'s>( &'s self, family_index: u32, queue_index: u32, ) -> QueueObject<&'s Self>
Get a queue handle from a device
Source§fn new_fence_raw(
&self,
info: &FenceCreateInfo<'_>,
allocation_callbacks: Option<&VkAllocationCallbacks>,
) -> Result<VkFence, VkResult>
fn new_fence_raw( &self, info: &FenceCreateInfo<'_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkFence, VkResult>
Create a new fence object Read more
Source§fn new_semaphore_raw(
&self,
info: &SemaphoreCreateInfo<'_>,
allocation_callbacks: Option<&VkAllocationCallbacks>,
) -> Result<VkSemaphore, VkResult>
fn new_semaphore_raw( &self, info: &SemaphoreCreateInfo<'_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkSemaphore, VkResult>
Create a new queue semaphore object Read more
Source§fn new_event_raw(
&self,
info: &EventCreateInfo,
allocation_callbacks: Option<&VkAllocationCallbacks>,
) -> Result<VkEvent, VkResult>
fn new_event_raw( &self, info: &EventCreateInfo, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkEvent, VkResult>
Create a new event object Read more
Source§fn allocate_memory(
&self,
info: &MemoryAllocateInfo<'_>,
allocation_callbacks: Option<&VkAllocationCallbacks>,
) -> Result<VkDeviceMemory, VkResult>
fn allocate_memory( &self, info: &MemoryAllocateInfo<'_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkDeviceMemory, VkResult>
Allocate device memory Read more
Source§fn new_buffer_raw(
&self,
info: &BufferCreateInfo<'_>,
allocation_callbacks: Option<&VkAllocationCallbacks>,
) -> Result<VkBuffer, VkResult>
fn new_buffer_raw( &self, info: &BufferCreateInfo<'_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkBuffer, VkResult>
Create a new buffer object Read more
Source§fn new_buffer_view_raw(
&self,
info: &BufferViewCreateInfo<'_>,
allocation_callbacks: Option<&VkAllocationCallbacks>,
) -> Result<VkBufferView, VkResult>
fn new_buffer_view_raw( &self, info: &BufferViewCreateInfo<'_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkBufferView, VkResult>
Create a new buffer view object Read more
Source§fn new_sampler_raw(
&self,
info: &SamplerCreateInfo,
allocation_callbacks: Option<&VkAllocationCallbacks>,
) -> Result<VkSampler, VkResult>
fn new_sampler_raw( &self, info: &SamplerCreateInfo, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkSampler, VkResult>
Create a new sampler object Read more
Source§fn new_image_raw(
&self,
info: &ImageCreateInfo<'_>,
allocation_callbacks: Option<&VkAllocationCallbacks>,
) -> Result<VkImage, VkResult>
fn new_image_raw( &self, info: &ImageCreateInfo<'_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkImage, VkResult>
Create a new image object Read more
Source§fn new_image_view_raw(
&self,
info: &ImageViewCreateInfo<'_>,
allocation_callbacks: Option<&VkAllocationCallbacks>,
) -> Result<VkImageView, VkResult>
fn new_image_view_raw( &self, info: &ImageViewCreateInfo<'_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkImageView, VkResult>
Create a new image view from an existing image Read more
Source§fn new_render_pass(
&self,
info: &RenderPassCreateInfo<'_>,
allocation_callbacks: Option<&VkAllocationCallbacks>,
) -> Result<VkRenderPass, VkResult>
fn new_render_pass( &self, info: &RenderPassCreateInfo<'_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkRenderPass, VkResult>
Create a new render pass object Read more
Source§fn new_framebuffer_raw(
&self,
info: &FramebufferCreateInfo<'_, '_>,
allocation_callbacks: Option<&VkAllocationCallbacks>,
) -> Result<VkFramebuffer, VkResult>
fn new_framebuffer_raw( &self, info: &FramebufferCreateInfo<'_, '_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkFramebuffer, VkResult>
Create a new framebuffer object Read more
Source§fn new_shader_module_raw(
&self,
info: &ShaderModuleCreateInfo<'_>,
allocation_callbacks: Option<&VkAllocationCallbacks>,
) -> Result<VkShaderModule, VkResult>
fn new_shader_module_raw( &self, info: &ShaderModuleCreateInfo<'_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkShaderModule, VkResult>
Creates a new shader module object Read more
Source§fn new_pipeline_cache_raw(
&self,
info: &PipelineCacheCreateInfo<'_>,
allocation_callbacks: Option<&VkAllocationCallbacks>,
) -> Result<VkPipelineCache, VkResult>
fn new_pipeline_cache_raw( &self, info: &PipelineCacheCreateInfo<'_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkPipelineCache, VkResult>
Create a new pipeline cache Read more
Source§fn new_pipeline_layout_raw(
&self,
info: &PipelineLayoutCreateInfo<'_>,
allocation_callbacks: Option<&VkAllocationCallbacks>,
) -> Result<VkPipelineLayout, VkResult>
fn new_pipeline_layout_raw( &self, info: &PipelineLayoutCreateInfo<'_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkPipelineLayout, VkResult>
Create a new pipeline layout object Read more
Source§unsafe fn new_graphics_pipelines_raw(
&self,
infos: &[GraphicsPipelineCreateInfo<'_>],
cache: Option<VkPipelineCache>,
allocation_callbacks: Option<&VkAllocationCallbacks>,
objects: &mut [VkPipeline],
) -> Result<(), VkResult>
unsafe fn new_graphics_pipelines_raw( &self, infos: &[GraphicsPipelineCreateInfo<'_>], cache: Option<VkPipelineCache>, allocation_callbacks: Option<&VkAllocationCallbacks>, objects: &mut [VkPipeline], ) -> Result<(), VkResult>
Create graphics pipelines Read more
Source§fn new_graphics_pipelines<'s>(
&'s self,
infos: &[GraphicsPipelineCreateInfo<'_>],
cache: Option<&impl PipelineCache>,
) -> Result<Vec<PipelineObject<&'s Self>>, VkResult>
fn new_graphics_pipelines<'s>( &'s self, infos: &[GraphicsPipelineCreateInfo<'_>], cache: Option<&impl PipelineCache>, ) -> Result<Vec<PipelineObject<&'s Self>>, VkResult>
Create graphics pipelines Read more
Source§fn new_graphics_pipeline_array<'s, const N: usize>(
&'s self,
infos: &[GraphicsPipelineCreateInfo<'_>; N],
cache: Option<&impl PipelineCache>,
) -> Result<[PipelineObject<&'s Self>; N], VkResult>
fn new_graphics_pipeline_array<'s, const N: usize>( &'s self, infos: &[GraphicsPipelineCreateInfo<'_>; N], cache: Option<&impl PipelineCache>, ) -> Result<[PipelineObject<&'s Self>; N], VkResult>
Create graphics pipelines Read more
Source§unsafe fn new_compute_pipelines_raw(
&self,
infos: &[ComputePipelineCreateInfo<'_>],
cache: Option<VkPipelineCache>,
allocation_callbacks: Option<&VkAllocationCallbacks>,
objects: &mut [VkPipeline],
) -> Result<(), VkResult>
unsafe fn new_compute_pipelines_raw( &self, infos: &[ComputePipelineCreateInfo<'_>], cache: Option<VkPipelineCache>, allocation_callbacks: Option<&VkAllocationCallbacks>, objects: &mut [VkPipeline], ) -> Result<(), VkResult>
Create compute pipelines Read more
Source§fn new_compute_pipelines<'s>(
&'s self,
infos: &[ComputePipelineCreateInfo<'_>],
cache: Option<&(impl PipelineCache + ?Sized)>,
) -> Result<Vec<PipelineObject<&'s Self>>, VkResult>
fn new_compute_pipelines<'s>( &'s self, infos: &[ComputePipelineCreateInfo<'_>], cache: Option<&(impl PipelineCache + ?Sized)>, ) -> Result<Vec<PipelineObject<&'s Self>>, VkResult>
Create compute pipelines Read more
Source§fn new_compute_pipeline_array<'s, const N: usize>(
&'s self,
infos: &[ComputePipelineCreateInfo<'_>; N],
cache: Option<&(impl PipelineCache + ?Sized)>,
) -> Result<[PipelineObject<&'s Self>; N], VkResult>
fn new_compute_pipeline_array<'s, const N: usize>( &'s self, infos: &[ComputePipelineCreateInfo<'_>; N], cache: Option<&(impl PipelineCache + ?Sized)>, ) -> Result<[PipelineObject<&'s Self>; N], VkResult>
Create compute pipelines Read more
Source§fn new_command_pool_raw(
&self,
info: &CommandPoolCreateInfo,
allocation_callbacks: Option<&VkAllocationCallbacks>,
) -> Result<VkCommandPool, VkResult>
fn new_command_pool_raw( &self, info: &CommandPoolCreateInfo, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkCommandPool, VkResult>
Create a new command pool object Read more
Source§fn new_query_pool_raw(
&self,
info: &QueryPoolCreateInfo,
allocation_callbacks: Option<&VkAllocationCallbacks>,
) -> Result<VkQueryPool, VkResult>
fn new_query_pool_raw( &self, info: &QueryPoolCreateInfo, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkQueryPool, VkResult>
Create a new query pool object Read more
Source§unsafe fn allocate_command_buffers<'s>(
&'s self,
info: &CommandBufferAllocateInfo<'_>,
sink: &mut [CommandBufferObject<&'s Self>],
) -> Result<(), VkResult>
unsafe fn allocate_command_buffers<'s>( &'s self, info: &CommandBufferAllocateInfo<'_>, sink: &mut [CommandBufferObject<&'s Self>], ) -> Result<(), VkResult>
Allocate command buffers from an existing command pool Read more
Source§unsafe fn allocate_command_buffers_alloc<'s>(
&'s self,
info: &CommandBufferAllocateInfo<'_>,
) -> Result<Vec<CommandBufferObject<&'s Self>>, VkResult>
unsafe fn allocate_command_buffers_alloc<'s>( &'s self, info: &CommandBufferAllocateInfo<'_>, ) -> Result<Vec<CommandBufferObject<&'s Self>>, VkResult>
Allocate command buffers from an existing command pool Read more
Source§unsafe fn allocate_command_buffer_array<'s, const N: usize>(
&'s self,
info: &CommandBufferFixedCountAllocateInfo<'_, N>,
) -> Result<[CommandBufferObject<&'s Self>; N], VkResult>
unsafe fn allocate_command_buffer_array<'s, const N: usize>( &'s self, info: &CommandBufferFixedCountAllocateInfo<'_, N>, ) -> Result<[CommandBufferObject<&'s Self>; N], VkResult>
Allocate command buffers from an existing command pool Read more
Source§unsafe fn invalidate_memory_range(
&self,
ranges: &[MappedMemoryRange<'_>],
) -> Result<(), VkResult>
unsafe fn invalidate_memory_range( &self, ranges: &[MappedMemoryRange<'_>], ) -> Result<(), VkResult>
Invalidate
MappedMemoryRange
s
Invalidating the memory range allows that device writes to the memory ranges
which have been made visible to the VK_ACCESS_HOST_WRITE_BIT
and VK_ACCESS_HOST_READ_BIT
are made visible to the host Read moreSource§unsafe fn flush_mapped_memory_ranges(
&self,
ranges: &[MappedMemoryRange<'_>],
) -> Result<(), VkResult>
unsafe fn flush_mapped_memory_ranges( &self, ranges: &[MappedMemoryRange<'_>], ) -> Result<(), VkResult>
Flush
MappedMemoryRange
s
Flushing the memory range allows that host writes to the memory ranges can
be made available to device access Read moreSource§unsafe fn update_descriptor_sets_raw(
&self,
writes: &[VkWriteDescriptorSet],
copies: &[VkCopyDescriptorSet],
)
unsafe fn update_descriptor_sets_raw( &self, writes: &[VkWriteDescriptorSet], copies: &[VkCopyDescriptorSet], )
Update the contents of descriptor set objects
Source§fn update_descriptor_sets(
&self,
writes: &[DescriptorSetWriteInfo<'_>],
copies: &[DescriptorSetCopyInfo],
)
fn update_descriptor_sets( &self, writes: &[DescriptorSetWriteInfo<'_>], copies: &[DescriptorSetCopyInfo], )
Update the contents of descriptor set objects
Source§unsafe fn get_image_sparse_memory_requirements2_count(
&self,
info: &ImageSparseMemoryRequirementsInfo2<'_>,
count_sink: &mut MaybeUninit<u32>,
sink_head_ptr: *mut VkSparseImageMemoryRequirements2KHR,
)
unsafe fn get_image_sparse_memory_requirements2_count( &self, info: &ImageSparseMemoryRequirementsInfo2<'_>, count_sink: &mut MaybeUninit<u32>, sink_head_ptr: *mut VkSparseImageMemoryRequirements2KHR, )
Query the memory requirements for a sparse image Read more
Source§unsafe fn bind_buffer_raw(
&self,
buffer: VkBuffer,
memory: VkDeviceMemory,
offset: u64,
) -> Result<(), VkResult>
unsafe fn bind_buffer_raw( &self, buffer: VkBuffer, memory: VkDeviceMemory, offset: u64, ) -> Result<(), VkResult>
Single binding for a buffer Read more
Source§unsafe fn bind_buffers_raw(
&self,
bounds: &[VkBindBufferMemoryInfoKHR],
) -> Result<(), VkResult>
unsafe fn bind_buffers_raw( &self, bounds: &[VkBindBufferMemoryInfoKHR], ) -> Result<(), VkResult>
Multiple Binding for Buffers
Source§unsafe fn bind_image_raw(
&self,
image: VkImage,
memory: VkDeviceMemory,
offset: u64,
) -> Result<(), VkResult>
unsafe fn bind_image_raw( &self, image: VkImage, memory: VkDeviceMemory, offset: u64, ) -> Result<(), VkResult>
Single binding for an image Read more
Source§unsafe fn bind_images_raw(
&self,
bounds: &[VkBindImageMemoryInfoKHR],
) -> Result<(), VkResult>
unsafe fn bind_images_raw( &self, bounds: &[VkBindImageMemoryInfoKHR], ) -> Result<(), VkResult>
Multiple Binding for Images
Source§fn wait_multiple_fences(
&self,
objects: &[VkHandleRef<'_, VkFence>],
wait_all: bool,
timeout: Option<u64>,
) -> Result<bool, VkResult>
fn wait_multiple_fences( &self, objects: &[VkHandleRef<'_, VkFence>], wait_all: bool, timeout: Option<u64>, ) -> Result<bool, VkResult>
Wait for one or more fences to become signaled, returns
Ok(true)
if operation is timed out Read moreSource§fn reset_multiple_fences(
&self,
objects: &[VkHandleRefMut<'_, VkFence>],
) -> Result<(), VkResult>
fn reset_multiple_fences( &self, objects: &[VkHandleRefMut<'_, VkFence>], ) -> Result<(), VkResult>
Resets one or more fence objects Read more
Source§fn new_swapchain_raw(
&self,
info: &SwapchainCreateInfo<'_, '_>,
allocation_callbacks: Option<&VkAllocationCallbacks>,
) -> Result<VkSwapchainKHR, VkResult>
fn new_swapchain_raw( &self, info: &SwapchainCreateInfo<'_, '_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkSwapchainKHR, VkResult>
Create a swapchain Read more
Source§impl InstanceChild for VulkanGfx
impl InstanceChild for VulkanGfx
type ConcreteInstance = VulkanGfxInstanceAccess
fn instance(&self) -> &Self::ConcreteInstance
Auto Trait Implementations§
impl Freeze for VulkanGfx
impl !RefUnwindSafe for VulkanGfx
impl !Send for VulkanGfx
impl !Sync for VulkanGfx
impl Unpin for VulkanGfx
impl !UnwindSafe for VulkanGfx
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more