[−][src]Enum gfx_backend_empty::Backend
pub enum Backend {}
Dummy backend.
Trait Implementations
impl Backend for Backend
[src]
type Instance = Instance
The corresponding instance type for this backend.
type PhysicalDevice = PhysicalDevice
The corresponding physical device type for this backend.
type Device = Device
The corresponding logical device type for this backend.
type Surface = Surface
The corresponding surface type for this backend.
type QueueFamily = QueueFamily
The corresponding queue family type for this backend.
type CommandQueue = CommandQueue
The corresponding command queue type for this backend.
type CommandBuffer = CommandBuffer
The corresponding command buffer type for this backend.
type Memory = Memory
The corresponding memory type for this backend.
type CommandPool = CommandPool
The corresponding command pool type for this backend.
type ShaderModule = ()
The corresponding shader module type for this backend.
type RenderPass = ()
The corresponding render pass type for this backend.
type Framebuffer = ()
The corresponding framebuffer type for this backend.
type Buffer = Buffer
The corresponding buffer type for this backend.
type BufferView = ()
The corresponding buffer view type for this backend.
type Image = Image
The corresponding image type for this backend.
type ImageView = ()
The corresponding image view type for this backend.
type Sampler = ()
The corresponding sampler type for this backend.
type ComputePipeline = ()
The corresponding compute pipeline type for this backend.
type GraphicsPipeline = ()
The corresponding graphics pipeline type for this backend.
type PipelineCache = ()
The corresponding pipeline cache type for this backend.
type PipelineLayout = ()
The corresponding pipeline layout type for this backend.
type DescriptorSetLayout = DescriptorSetLayout
The corresponding descriptor set layout type for this backend.
type DescriptorPool = DescriptorPool
The corresponding descriptor pool type for this backend.
type DescriptorSet = DescriptorSet
The corresponding descriptor set type for this backend.
type Fence = ()
The corresponding fence type for this backend.
type Semaphore = ()
The corresponding semaphore type for this backend.
type Event = ()
The corresponding event type for this backend.
type QueryPool = ()
The corresponding query pool type for this backend.
impl Clone for Backend
[src][+]
fn clone(&self) -> Backend
[src][−]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src][−]
Performs copy-assignment from source
. Read more
impl CommandBuffer<Backend> for CommandBuffer
[src][+]
unsafe fn begin(
&mut self,
_: CommandBufferFlags,
_: CommandBufferInheritanceInfo<'_, Backend>
)
[src][−]
&mut self,
_: CommandBufferFlags,
_: CommandBufferInheritanceInfo<'_, Backend>
)
Begins recording commands to a command buffer.
unsafe fn finish(&mut self)
[src][−]
Finish recording commands to a command buffer.
unsafe fn reset(&mut self, _: bool)
[src][−]
Empties the command buffer, optionally releasing all resources from the commands that have been submitted. Read more
unsafe fn pipeline_barrier<'a, T>(
&mut self,
_: Range<PipelineStage>,
_: Dependencies,
_: T
) where
T: IntoIterator,
T::Item: Borrow<Barrier<'a, Backend>>,
[src][−]
&mut self,
_: Range<PipelineStage>,
_: Dependencies,
_: T
) where
T: IntoIterator,
T::Item: Borrow<Barrier<'a, Backend>>,
Inserts a synchronization dependency between pipeline stages in the command buffer. Read more
unsafe fn fill_buffer(&mut self, _: &Buffer, _: SubRange, _: u32)
[src][−]
Fill a buffer with the given u32
value.
unsafe fn update_buffer(&mut self, _: &Buffer, _: Offset, _: &[u8])
[src][−]
Copy data from the given slice into a buffer.
unsafe fn clear_image<T>(&mut self, _: &Image, _: Layout, _: ClearValue, _: T) where
T: IntoIterator,
T::Item: Borrow<SubresourceRange>,
[src][−]
T: IntoIterator,
T::Item: Borrow<SubresourceRange>,
Clears an image to the given color/depth/stencil.
unsafe fn clear_attachments<T, U>(&mut self, _: T, _: U) where
T: IntoIterator,
T::Item: Borrow<AttachmentClear>,
U: IntoIterator,
U::Item: Borrow<ClearRect>,
[src][−]
T: IntoIterator,
T::Item: Borrow<AttachmentClear>,
U: IntoIterator,
U::Item: Borrow<ClearRect>,
Takes an iterator of attachments and an iterator of rect's, and clears the given rect's for each attachment. Read more
unsafe fn resolve_image<T>(
&mut self,
_: &Image,
_: Layout,
_: &Image,
_: Layout,
_: T
) where
T: IntoIterator,
T::Item: Borrow<ImageResolve>,
[src][−]
&mut self,
_: &Image,
_: Layout,
_: &Image,
_: Layout,
_: T
) where
T: IntoIterator,
T::Item: Borrow<ImageResolve>,
"Resolves" a multisampled image, converting it into a non-multisampled image. Takes an iterator of regions to apply the resolution to. Read more
unsafe fn blit_image<T>(
&mut self,
_: &Image,
_: Layout,
_: &Image,
_: Layout,
_: Filter,
_: T
) where
T: IntoIterator,
T::Item: Borrow<ImageBlit>,
[src][−]
&mut self,
_: &Image,
_: Layout,
_: &Image,
_: Layout,
_: Filter,
_: T
) where
T: IntoIterator,
T::Item: Borrow<ImageBlit>,
Copies regions from the source to destination image, applying scaling, filtering and potentially format conversion. Read more
unsafe fn bind_index_buffer(&mut self, _: IndexBufferView<'_, Backend>)
[src][−]
Bind the index buffer view, making it the "current" one that draw commands will operate on. Read more
unsafe fn bind_vertex_buffers<I, T>(&mut self, _: u32, _: I) where
I: IntoIterator<Item = (T, SubRange)>,
T: Borrow<Buffer>,
[src][−]
I: IntoIterator<Item = (T, SubRange)>,
T: Borrow<Buffer>,
Bind the vertex buffer set, making it the "current" one that draw commands will operate on. Read more
unsafe fn set_viewports<T>(&mut self, _: u32, _: T) where
T: IntoIterator,
T::Item: Borrow<Viewport>,
[src][−]
T: IntoIterator,
T::Item: Borrow<Viewport>,
unsafe fn set_scissors<T>(&mut self, _: u32, _: T) where
T: IntoIterator,
T::Item: Borrow<Rect>,
[src][−]
T: IntoIterator,
T::Item: Borrow<Rect>,
Set the scissor rectangles for the rasterizer. Read more
unsafe fn set_stencil_reference(&mut self, _: Face, _: StencilValue)
[src][−]
Sets the stencil reference value for comparison operations and store operations. Will be used on the LHS of stencil compare ops and as store value when the store op is Reference. Read more
unsafe fn set_stencil_read_mask(&mut self, _: Face, _: StencilValue)
[src][−]
Sets the stencil read mask.
unsafe fn set_stencil_write_mask(&mut self, _: Face, _: StencilValue)
[src][−]
Sets the stencil write mask.
unsafe fn set_blend_constants(&mut self, _: ColorValue)
[src][−]
Set the blend constant values dynamically.
unsafe fn set_depth_bounds(&mut self, _: Range<f32>)
[src][−]
Set the depth bounds test values dynamically.
unsafe fn set_line_width(&mut self, _: f32)
[src][−]
Set the line width dynamically. Read more
unsafe fn set_depth_bias(&mut self, _: DepthBias)
[src][−]
Set the depth bias dynamically.
unsafe fn begin_render_pass<T>(
&mut self,
_: &(),
_: &(),
_: Rect,
_: T,
_: SubpassContents
) where
T: IntoIterator,
T::Item: Borrow<ClearValue>,
[src][−]
&mut self,
_: &(),
_: &(),
_: Rect,
_: T,
_: SubpassContents
) where
T: IntoIterator,
T::Item: Borrow<ClearValue>,
Begins recording commands for a render pass on the given framebuffer. Read more
unsafe fn next_subpass(&mut self, _: SubpassContents)
[src][−]
Steps to the next subpass in the current render pass.
unsafe fn end_render_pass(&mut self)
[src][−]
Finishes recording commands for the current a render pass.
unsafe fn bind_graphics_pipeline(&mut self, _: &())
[src][−]
Bind a graphics pipeline. Read more
unsafe fn bind_graphics_descriptor_sets<I, J>(
&mut self,
_: &(),
_: usize,
_: I,
_: J
) where
I: IntoIterator,
I::Item: Borrow<DescriptorSet>,
J: IntoIterator,
J::Item: Borrow<DescriptorSetOffset>,
[src][−]
&mut self,
_: &(),
_: usize,
_: I,
_: J
) where
I: IntoIterator,
I::Item: Borrow<DescriptorSet>,
J: IntoIterator,
J::Item: Borrow<DescriptorSetOffset>,
Takes an iterator of graphics DescriptorSet
's, and binds them to the command buffer.
first_set
is the index that the first descriptor is mapped to in the command buffer. Read more
unsafe fn bind_compute_pipeline(&mut self, _: &())
[src][−]
Bind a compute pipeline. Read more
unsafe fn bind_compute_descriptor_sets<I, J>(
&mut self,
_: &(),
_: usize,
_: I,
_: J
) where
I: IntoIterator,
I::Item: Borrow<DescriptorSet>,
J: IntoIterator,
J::Item: Borrow<DescriptorSetOffset>,
[src][−]
&mut self,
_: &(),
_: usize,
_: I,
_: J
) where
I: IntoIterator,
I::Item: Borrow<DescriptorSet>,
J: IntoIterator,
J::Item: Borrow<DescriptorSetOffset>,
Takes an iterator of compute DescriptorSet
's, and binds them to the command buffer,
first_set
is the index that the first descriptor is mapped to in the command buffer. Read more
unsafe fn dispatch(&mut self, _: WorkGroupCount)
[src][−]
Execute a workgroup in the compute pipeline. x
, y
and z
are the
number of local workgroups to dispatch along each "axis"; a total of x
y
z
local workgroups will be created. Read more
unsafe fn dispatch_indirect(&mut self, _: &Buffer, _: Offset)
[src][−]
Works similarly to dispatch()
but reads parameters from the given
buffer during execution. Read more
unsafe fn copy_buffer<T>(&mut self, _: &Buffer, _: &Buffer, _: T) where
T: IntoIterator,
T::Item: Borrow<BufferCopy>,
[src][−]
T: IntoIterator,
T::Item: Borrow<BufferCopy>,
Adds a command to copy regions from the source to destination buffer.
unsafe fn copy_image<T>(
&mut self,
_: &Image,
_: Layout,
_: &Image,
_: Layout,
_: T
) where
T: IntoIterator,
T::Item: Borrow<ImageCopy>,
[src][−]
&mut self,
_: &Image,
_: Layout,
_: &Image,
_: Layout,
_: T
) where
T: IntoIterator,
T::Item: Borrow<ImageCopy>,
Copies regions from the source to the destination images, which
have the given layouts. No format conversion is done; the source and destination
Layout
's must have the same sized image formats (such as Rgba8Unorm
and
R32
, both of which are 32 bits). Read more
unsafe fn copy_buffer_to_image<T>(
&mut self,
_: &Buffer,
_: &Image,
_: Layout,
_: T
) where
T: IntoIterator,
T::Item: Borrow<BufferImageCopy>,
[src][−]
&mut self,
_: &Buffer,
_: &Image,
_: Layout,
_: T
) where
T: IntoIterator,
T::Item: Borrow<BufferImageCopy>,
Copies regions from the source buffer to the destination image.
unsafe fn copy_image_to_buffer<T>(
&mut self,
_: &Image,
_: Layout,
_: &Buffer,
_: T
) where
T: IntoIterator,
T::Item: Borrow<BufferImageCopy>,
[src][−]
&mut self,
_: &Image,
_: Layout,
_: &Buffer,
_: T
) where
T: IntoIterator,
T::Item: Borrow<BufferImageCopy>,
Copies regions from the source image to the destination buffer.
unsafe fn draw(&mut self, _: Range<VertexCount>, _: Range<InstanceCount>)
[src][−]
Performs a non-indexed drawing operation, fetching vertex attributes
from the currently bound vertex buffers. It performs instanced
drawing, drawing instances.len()
times with an instanceIndex
starting with the start of the range. Read more
unsafe fn draw_indexed(
&mut self,
_: Range<IndexCount>,
_: VertexOffset,
_: Range<InstanceCount>
)
[src][−]
&mut self,
_: Range<IndexCount>,
_: VertexOffset,
_: Range<InstanceCount>
)
Performs indexed drawing, drawing the range of indices
given by the current index buffer and any bound vertex buffers.
base_vertex
specifies the vertex offset corresponding to index 0.
That is, the offset into the vertex buffer is (current_index + base_vertex)
Read more
unsafe fn draw_indirect(&mut self, _: &Buffer, _: Offset, _: DrawCount, _: u32)
[src][−]
Functions identically to draw()
, except the parameters are read
from the given buffer, starting at offset
and increasing stride
bytes with each successive draw. Performs draw_count
draws total.
draw_count
may be zero. Read more
unsafe fn draw_indexed_indirect(
&mut self,
_: &Buffer,
_: Offset,
_: DrawCount,
_: u32
)
[src][−]
&mut self,
_: &Buffer,
_: Offset,
_: DrawCount,
_: u32
)
Like draw_indirect()
, this does indexed drawing a la draw_indexed()
but
reads the draw parameters out of the given buffer. Read more
unsafe fn draw_indirect_count(
&mut self,
_: &Buffer,
_: Offset,
_: &Buffer,
_: Offset,
_: u32,
_: u32
)
[src][−]
&mut self,
_: &Buffer,
_: Offset,
_: &Buffer,
_: Offset,
_: u32,
_: u32
)
Functions identically to draw_indirect()
, except the amount of draw
calls are specified by the u32 in count_buffer
at count_buffer_offset
.
There is a limit of max_draw_count
invocations. Read more
unsafe fn draw_indexed_indirect_count(
&mut self,
_: &Buffer,
_: Offset,
_: &Buffer,
_: Offset,
_: u32,
_: u32
)
[src][−]
&mut self,
_: &Buffer,
_: Offset,
_: &Buffer,
_: Offset,
_: u32,
_: u32
)
Functions identically to draw_indexed_indirect()
, except the amount of draw
calls are specified by the u32 in count_buffer
at count_buffer_offset
.
There is a limit of max_draw_count
invocations. Read more
unsafe fn draw_mesh_tasks(&mut self, _: u32, _: u32)
[src][−]
Dispatches task_count
of threads. Similar to compute dispatch.
unsafe fn draw_mesh_tasks_indirect(
&mut self,
_: &Buffer,
_: Offset,
_: DrawCount,
_: u32
)
[src][−]
&mut self,
_: &Buffer,
_: Offset,
_: DrawCount,
_: u32
)
Indirect version of draw_mesh_tasks
. Analogous to draw_indirect
, but for mesh shaders.
unsafe fn draw_mesh_tasks_indirect_count(
&mut self,
_: &Buffer,
_: Offset,
_: &Buffer,
_: Offset,
_: u32,
_: u32
)
[src][−]
&mut self,
_: &Buffer,
_: Offset,
_: &Buffer,
_: Offset,
_: u32,
_: u32
)
Like draw_mesh_tasks_indirect
except that the draw count is read by
the device from a buffer during execution. The command will read an
unsigned 32-bit integer from count_buffer
located at count_buffer_offset
and use this as the draw count. Read more
unsafe fn set_event(&mut self, _: &(), _: PipelineStage)
[src][−]
Signals an event once all specified stages of the shader pipeline have completed.
unsafe fn reset_event(&mut self, _: &(), _: PipelineStage)
[src][−]
Resets an event once all specified stages of the shader pipeline have completed.
unsafe fn wait_events<'a, I, J>(&mut self, _: I, _: Range<PipelineStage>, _: J) where
I: IntoIterator,
I::Item: Borrow<()>,
J: IntoIterator,
J::Item: Borrow<Barrier<'a, Backend>>,
[src][−]
I: IntoIterator,
I::Item: Borrow<()>,
J: IntoIterator,
J::Item: Borrow<Barrier<'a, Backend>>,
Waits at some shader stage(s) until all events have been signalled. Read more
unsafe fn begin_query(&mut self, _: Query<'_, Backend>, _: ControlFlags)
[src][−]
Begins a query operation. Queries count operations or record timestamps resulting from commands that occur between the beginning and end of the query, and save the results to the query pool. Read more
unsafe fn end_query(&mut self, _: Query<'_, Backend>)
[src][−]
End a query.
unsafe fn reset_query_pool(&mut self, _: &(), _: Range<Id>)
[src][−]
Reset/clear the values in the given range of the query pool.
unsafe fn copy_query_pool_results(
&mut self,
_: &(),
_: Range<Id>,
_: &Buffer,
_: Offset,
_: Offset,
_: ResultFlags
)
[src][−]
&mut self,
_: &(),
_: Range<Id>,
_: &Buffer,
_: Offset,
_: Offset,
_: ResultFlags
)
Copy query results into a buffer.
unsafe fn write_timestamp(&mut self, _: PipelineStage, _: Query<'_, Backend>)
[src][−]
Requests a timestamp to be written.
unsafe fn push_graphics_constants(
&mut self,
_: &(),
_: ShaderStageFlags,
_: u32,
_: &[u32]
)
[src][−]
&mut self,
_: &(),
_: ShaderStageFlags,
_: u32,
_: &[u32]
)
Modify constant data in a graphics pipeline. Push constants are intended to modify data in a pipeline more quickly than a updating the values inside a descriptor set. Read more
unsafe fn push_compute_constants(&mut self, _: &(), _: u32, _: &[u32])
[src][−]
Modify constant data in a compute pipeline. Push constants are intended to modify data in a pipeline more quickly than a updating the values inside a descriptor set. Read more
unsafe fn execute_commands<'a, T, I>(&mut self, _: I) where
T: 'a + Borrow<CommandBuffer>,
I: IntoIterator<Item = &'a T>,
[src][−]
T: 'a + Borrow<CommandBuffer>,
I: IntoIterator<Item = &'a T>,
Execute the given secondary command buffers.
unsafe fn insert_debug_marker(&mut self, _: &str, _: u32)
[src][−]
Debug mark the current spot in the command buffer.
unsafe fn begin_debug_marker(&mut self, _: &str, _: u32)
[src][−]
Start a debug marker at the current place in the command buffer.
unsafe fn end_debug_marker(&mut self)
[src][−]
End the last started debug marker scope.
unsafe fn begin_primary(&mut self, flags: CommandBufferFlags)
[src][−]
Begins recording a primary command buffer (that has no inheritance information). Read more
impl CommandPool<Backend> for CommandPool
[src][+]
unsafe fn allocate_one(&mut self, level: Level) -> CommandBuffer
[src][−]
Allocate a single command buffer from the pool. Read more
unsafe fn reset(&mut self, _: bool)
[src][−]
Reset the command pool and the corresponding command buffers. Read more
unsafe fn free<I>(&mut self, _: I) where
I: IntoIterator<Item = CommandBuffer>,
[src][−]
I: IntoIterator<Item = CommandBuffer>,
Free command buffers allocated from this pool.
unsafe fn allocate<E>(&mut self, num: usize, level: Level, list: &mut E) where
E: Extend<<B as Backend>::CommandBuffer>,
[src][−]
E: Extend<<B as Backend>::CommandBuffer>,
Allocate new command buffers from the pool. Read more
impl CommandQueue<Backend> for CommandQueue
[src][+]
unsafe fn submit<'a, T, Ic, S, Iw, Is>(
&mut self,
_: Submission<Ic, Iw, Is>,
_: Option<&()>
) where
T: 'a + Borrow<CommandBuffer>,
Ic: IntoIterator<Item = &'a T>,
S: 'a + Borrow<()>,
Iw: IntoIterator<Item = (&'a S, PipelineStage)>,
Is: IntoIterator<Item = &'a S>,
[src][−]
&mut self,
_: Submission<Ic, Iw, Is>,
_: Option<&()>
) where
T: 'a + Borrow<CommandBuffer>,
Ic: IntoIterator<Item = &'a T>,
S: 'a + Borrow<()>,
Iw: IntoIterator<Item = (&'a S, PipelineStage)>,
Is: IntoIterator<Item = &'a S>,
Submit command buffers to queue for execution. Read more
unsafe fn present(
&mut self,
_surface: &mut Surface,
_image: (),
_wait_semaphore: Option<&()>
) -> Result<Option<Suboptimal>, PresentError>
[src][−]
&mut self,
_surface: &mut Surface,
_image: (),
_wait_semaphore: Option<&()>
) -> Result<Option<Suboptimal>, PresentError>
Present a swapchain image directly to a surface, after waiting on wait_semaphore
. Read more
fn wait_idle(&self) -> Result<(), OutOfMemory>
[src][−]
Wait for the queue to be idle.
unsafe fn submit_without_semaphores<'a, T, Ic>(
&mut self,
command_buffers: Ic,
fence: Option<&<B as Backend>::Fence>
) where
Ic: IntoIterator<Item = &'a T>,
T: 'a + Borrow<<B as Backend>::CommandBuffer>,
[src][−]
&mut self,
command_buffers: Ic,
fence: Option<&<B as Backend>::Fence>
) where
Ic: IntoIterator<Item = &'a T>,
T: 'a + Borrow<<B as Backend>::CommandBuffer>,
Simplified version of submit
that doesn't expect any semaphores.
impl Copy for Backend
[src]
impl Debug for Backend
[src][+]
fn fmt(&self, f: &mut Formatter<'_>) -> Result
[src][−]
Formats the value using the given formatter. Read more
impl Device<Backend> for Device
[src][+]
unsafe fn create_command_pool(
&self,
_: QueueFamilyId,
_: CommandPoolCreateFlags
) -> Result<CommandPool, OutOfMemory>
[src][−]
&self,
_: QueueFamilyId,
_: CommandPoolCreateFlags
) -> Result<CommandPool, OutOfMemory>
Create a new command pool for a given queue family. Read more
unsafe fn destroy_command_pool(&self, _: CommandPool)
[src][−]
Destroy a command pool.
unsafe fn allocate_memory(
&self,
memory_type: MemoryTypeId,
size: u64
) -> Result<Memory, AllocationError>
[src][−]
&self,
memory_type: MemoryTypeId,
size: u64
) -> Result<Memory, AllocationError>
Allocates a memory segment of a specified type. Read more
unsafe fn create_render_pass<'a, IA, IS, ID>(
&self,
_: IA,
_: IS,
_: ID
) -> Result<(), OutOfMemory> where
IA: IntoIterator,
IA::Item: Borrow<Attachment>,
IS: IntoIterator,
IS::Item: Borrow<SubpassDesc<'a>>,
ID: IntoIterator,
ID::Item: Borrow<SubpassDependency>,
[src][−]
&self,
_: IA,
_: IS,
_: ID
) -> Result<(), OutOfMemory> where
IA: IntoIterator,
IA::Item: Borrow<Attachment>,
IS: IntoIterator,
IS::Item: Borrow<SubpassDesc<'a>>,
ID: IntoIterator,
ID::Item: Borrow<SubpassDependency>,
Create a render pass with the given attachments and subpasses. Read more
unsafe fn create_pipeline_layout<IS, IR>(
&self,
_: IS,
_: IR
) -> Result<(), OutOfMemory> where
IS: IntoIterator,
IS::Item: Borrow<DescriptorSetLayout>,
IR: IntoIterator,
IR::Item: Borrow<(ShaderStageFlags, Range<u32>)>,
[src][−]
&self,
_: IS,
_: IR
) -> Result<(), OutOfMemory> where
IS: IntoIterator,
IS::Item: Borrow<DescriptorSetLayout>,
IR: IntoIterator,
IR::Item: Borrow<(ShaderStageFlags, Range<u32>)>,
Create a new pipeline layout object. Read more
unsafe fn create_pipeline_cache(
&self,
_data: Option<&[u8]>
) -> Result<(), OutOfMemory>
[src][−]
&self,
_data: Option<&[u8]>
) -> Result<(), OutOfMemory>
Create a pipeline cache object.
unsafe fn get_pipeline_cache_data(
&self,
_cache: &()
) -> Result<Vec<u8>, OutOfMemory>
[src][−]
&self,
_cache: &()
) -> Result<Vec<u8>, OutOfMemory>
Retrieve data from pipeline cache object.
unsafe fn destroy_pipeline_cache(&self, _: ())
[src][−]
Destroy a pipeline cache object.
unsafe fn create_graphics_pipeline<'a>(
&self,
_: &GraphicsPipelineDesc<'a, Backend>,
_: Option<&()>
) -> Result<(), CreationError>
[src][−]
&self,
_: &GraphicsPipelineDesc<'a, Backend>,
_: Option<&()>
) -> Result<(), CreationError>
Create a graphics pipeline. Read more
unsafe fn create_compute_pipeline<'a>(
&self,
_: &ComputePipelineDesc<'a, Backend>,
_: Option<&()>
) -> Result<(), CreationError>
[src][−]
&self,
_: &ComputePipelineDesc<'a, Backend>,
_: Option<&()>
) -> Result<(), CreationError>
Create a compute pipeline.
unsafe fn merge_pipeline_caches<I>(
&self,
_: &(),
_: I
) -> Result<(), OutOfMemory> where
I: IntoIterator,
I::Item: Borrow<()>,
[src][−]
&self,
_: &(),
_: I
) -> Result<(), OutOfMemory> where
I: IntoIterator,
I::Item: Borrow<()>,
Merge a number of source pipeline caches into the target one.
unsafe fn create_framebuffer<I>(
&self,
_: &(),
_: I,
_: Extent
) -> Result<(), OutOfMemory> where
I: IntoIterator,
I::Item: Borrow<()>,
[src][−]
&self,
_: &(),
_: I,
_: Extent
) -> Result<(), OutOfMemory> where
I: IntoIterator,
I::Item: Borrow<()>,
Create a new framebuffer object. Read more
unsafe fn create_shader_module(&self, _: &[u32]) -> Result<(), ShaderError>
[src][−]
Create a new shader module object from the SPIR-V binary data. Read more
unsafe fn create_sampler(&self, _: &SamplerDesc) -> Result<(), AllocationError>
[src][−]
Create a new sampler object
unsafe fn create_buffer(
&self,
size: u64,
_: Usage
) -> Result<Buffer, CreationError>
[src][−]
&self,
size: u64,
_: Usage
) -> Result<Buffer, CreationError>
Create a new buffer (unbound). Read more
unsafe fn get_buffer_requirements(&self, buffer: &Buffer) -> Requirements
[src][−]
Get memory requirements for the buffer
unsafe fn bind_buffer_memory(
&self,
_memory: &Memory,
_: u64,
_: &mut Buffer
) -> Result<(), BindError>
[src][−]
&self,
_memory: &Memory,
_: u64,
_: &mut Buffer
) -> Result<(), BindError>
Bind memory to a buffer. Read more
unsafe fn create_buffer_view(
&self,
_: &Buffer,
_: Option<Format>,
_: SubRange
) -> Result<(), ViewCreationError>
[src][−]
&self,
_: &Buffer,
_: Option<Format>,
_: SubRange
) -> Result<(), ViewCreationError>
Create a new buffer view object
unsafe fn create_image(
&self,
kind: Kind,
_: Level,
_: Format,
_: Tiling,
_: Usage,
_: ViewCapabilities
) -> Result<Image, CreationError>
[src][−]
&self,
kind: Kind,
_: Level,
_: Format,
_: Tiling,
_: Usage,
_: ViewCapabilities
) -> Result<Image, CreationError>
Create a new image object
unsafe fn get_image_requirements(&self, image: &Image) -> Requirements
[src][−]
Get memory requirements for the Image
unsafe fn get_image_subresource_footprint(
&self,
_: &Image,
_: Subresource
) -> SubresourceFootprint
[src][−]
&self,
_: &Image,
_: Subresource
) -> SubresourceFootprint
unsafe fn bind_image_memory(
&self,
_memory: &Memory,
_: u64,
_: &mut Image
) -> Result<(), BindError>
[src][−]
&self,
_memory: &Memory,
_: u64,
_: &mut Image
) -> Result<(), BindError>
Bind device memory to an image object
unsafe fn create_image_view(
&self,
_: &Image,
_: ViewKind,
_: Format,
_: Swizzle,
_: SubresourceRange
) -> Result<(), ViewCreationError>
[src][−]
&self,
_: &Image,
_: ViewKind,
_: Format,
_: Swizzle,
_: SubresourceRange
) -> Result<(), ViewCreationError>
Create an image view from an existing image
unsafe fn create_descriptor_pool<I>(
&self,
_: usize,
_: I,
_: DescriptorPoolCreateFlags
) -> Result<DescriptorPool, OutOfMemory> where
I: IntoIterator,
I::Item: Borrow<DescriptorRangeDesc>,
[src][−]
&self,
_: usize,
_: I,
_: DescriptorPoolCreateFlags
) -> Result<DescriptorPool, OutOfMemory> where
I: IntoIterator,
I::Item: Borrow<DescriptorRangeDesc>,
Create a descriptor pool. Read more
unsafe fn create_descriptor_set_layout<I, J>(
&self,
_bindings: I,
_samplers: J
) -> Result<DescriptorSetLayout, OutOfMemory> where
I: IntoIterator,
I::Item: Borrow<DescriptorSetLayoutBinding>,
J: IntoIterator,
J::Item: Borrow<()>,
[src][−]
&self,
_bindings: I,
_samplers: J
) -> Result<DescriptorSetLayout, OutOfMemory> where
I: IntoIterator,
I::Item: Borrow<DescriptorSetLayoutBinding>,
J: IntoIterator,
J::Item: Borrow<()>,
Create a descriptor set layout. Read more
unsafe fn write_descriptor_sets<'a, I, J>(&self, _: I) where
I: IntoIterator<Item = DescriptorSetWrite<'a, Backend, J>>,
J: IntoIterator,
J::Item: Borrow<Descriptor<'a, Backend>>,
[src][−]
I: IntoIterator<Item = DescriptorSetWrite<'a, Backend, J>>,
J: IntoIterator,
J::Item: Borrow<Descriptor<'a, Backend>>,
Specifying the parameters of a descriptor set write operation
unsafe fn copy_descriptor_sets<'a, I>(&self, _: I) where
I: IntoIterator,
I::Item: Borrow<DescriptorSetCopy<'a, Backend>>,
[src][−]
I: IntoIterator,
I::Item: Borrow<DescriptorSetCopy<'a, Backend>>,
Structure specifying a copy descriptor set operation
fn create_semaphore(&self) -> Result<(), OutOfMemory>
[src][−]
Create a new semaphore object.
fn create_fence(&self, _: bool) -> Result<(), OutOfMemory>
[src][−]
Create a new fence object. Read more
unsafe fn get_fence_status(&self, _: &()) -> Result<bool, DeviceLost>
[src][−]
true for signaled, false for not ready
fn create_event(&self) -> Result<(), OutOfMemory>
[src][−]
Create an event object.
unsafe fn get_event_status(&self, _: &()) -> Result<bool, OomOrDeviceLost>
[src][−]
Query the status of an event. Read more
unsafe fn set_event(&self, _: &()) -> Result<(), OutOfMemory>
[src][−]
Sets an event.
unsafe fn reset_event(&self, _: &()) -> Result<(), OutOfMemory>
[src][−]
Resets an event.
unsafe fn create_query_pool(&self, _: Type, _: u32) -> Result<(), CreationError>
[src][−]
Create a new query pool object Read more
unsafe fn destroy_query_pool(&self, _: ())
[src][−]
Destroy a query pool object
unsafe fn get_query_pool_results(
&self,
_: &(),
_: Range<Id>,
_: &mut [u8],
_: Offset,
_: ResultFlags
) -> Result<bool, OomOrDeviceLost>
[src][−]
&self,
_: &(),
_: Range<Id>,
_: &mut [u8],
_: Offset,
_: ResultFlags
) -> Result<bool, OomOrDeviceLost>
Get query pool results into the specified CPU memory.
Returns Ok(false)
if the results are not ready yet and neither of WAIT
or PARTIAL
flags are set. Read more
unsafe fn map_memory(
&self,
memory: &Memory,
segment: Segment
) -> Result<*mut u8, MapError>
[src][−]
&self,
memory: &Memory,
segment: Segment
) -> Result<*mut u8, MapError>
Map a memory object into application address space Read more
unsafe fn unmap_memory(&self, _memory: &Memory)
[src][−]
Unmap a memory object once host access to it is no longer needed by the application
unsafe fn flush_mapped_memory_ranges<'a, I>(
&self,
_: I
) -> Result<(), OutOfMemory> where
I: IntoIterator,
I::Item: Borrow<(&'a Memory, Segment)>,
[src][−]
&self,
_: I
) -> Result<(), OutOfMemory> where
I: IntoIterator,
I::Item: Borrow<(&'a Memory, Segment)>,
Flush mapped memory ranges
unsafe fn invalidate_mapped_memory_ranges<'a, I>(
&self,
_: I
) -> Result<(), OutOfMemory> where
I: IntoIterator,
I::Item: Borrow<(&'a Memory, Segment)>,
[src][−]
&self,
_: I
) -> Result<(), OutOfMemory> where
I: IntoIterator,
I::Item: Borrow<(&'a Memory, Segment)>,
Invalidate ranges of non-coherent memory from the host caches
unsafe fn free_memory(&self, _memory: Memory)
[src][−]
Free device memory
unsafe fn destroy_shader_module(&self, _: ())
[src][−]
Destroy a shader module module Read more
unsafe fn destroy_render_pass(&self, _: ())
[src][−]
Destroys a render pass created by this device.
unsafe fn destroy_pipeline_layout(&self, _: ())
[src][−]
Destroy a pipeline layout object
unsafe fn destroy_graphics_pipeline(&self, _: ())
[src][−]
Destroy a graphics pipeline. Read more
unsafe fn destroy_compute_pipeline(&self, _: ())
[src][−]
Destroy a compute pipeline. Read more
unsafe fn destroy_framebuffer(&self, _: ())
[src][−]
Destroy a framebuffer. Read more
unsafe fn destroy_buffer(&self, _: Buffer)
[src][−]
Destroy a buffer. Read more
unsafe fn destroy_buffer_view(&self, _: ())
[src][−]
Destroy a buffer view object
unsafe fn destroy_image(&self, _: Image)
[src][−]
Destroy an image. Read more
unsafe fn destroy_image_view(&self, _: ())
[src][−]
Destroy an image view object
unsafe fn destroy_sampler(&self, _: ())
[src][−]
Destroy a sampler object
unsafe fn destroy_descriptor_pool(&self, _: DescriptorPool)
[src][−]
Destroy a descriptor pool object Read more
unsafe fn destroy_descriptor_set_layout(&self, _: DescriptorSetLayout)
[src][−]
Destroy a descriptor set layout object
unsafe fn destroy_fence(&self, _: ())
[src][−]
Destroy a fence object
unsafe fn destroy_semaphore(&self, _: ())
[src][−]
Destroy a semaphore object.
unsafe fn destroy_event(&self, _: ())
[src][−]
Destroy an event object.
fn wait_idle(&self) -> Result<(), OutOfMemory>
[src][−]
Wait for all queues associated with this device to idle. Read more
unsafe fn set_image_name(&self, _: &mut Image, _: &str)
[src][−]
Associate a name with an image, for easier debugging in external tools or with validation layers that can print a friendly name when referring to objects in error messages Read more
unsafe fn set_buffer_name(&self, _: &mut Buffer, _: &str)
[src][−]
Associate a name with a buffer, for easier debugging in external tools or with validation layers that can print a friendly name when referring to objects in error messages Read more
unsafe fn set_command_buffer_name(&self, _: &mut CommandBuffer, _: &str)
[src][−]
Associate a name with a command buffer, for easier debugging in external tools or with validation layers that can print a friendly name when referring to objects in error messages Read more
unsafe fn set_semaphore_name(&self, _: &mut (), _: &str)
[src][−]
Associate a name with a semaphore, for easier debugging in external tools or with validation layers that can print a friendly name when referring to objects in error messages Read more
unsafe fn set_fence_name(&self, _: &mut (), _: &str)
[src][−]
Associate a name with a fence, for easier debugging in external tools or with validation layers that can print a friendly name when referring to objects in error messages Read more
unsafe fn set_framebuffer_name(&self, _: &mut (), _: &str)
[src][−]
Associate a name with a framebuffer, for easier debugging in external tools or with validation layers that can print a friendly name when referring to objects in error messages Read more
unsafe fn set_render_pass_name(&self, _: &mut (), _: &str)
[src][−]
Associate a name with a render pass, for easier debugging in external tools or with validation layers that can print a friendly name when referring to objects in error messages Read more
unsafe fn set_descriptor_set_name(&self, set: &mut DescriptorSet, name: &str)
[src][−]
Associate a name with a descriptor set, for easier debugging in external tools or with validation layers that can print a friendly name when referring to objects in error messages Read more
unsafe fn set_descriptor_set_layout_name(
&self,
layout: &mut DescriptorSetLayout,
name: &str
)
[src][−]
&self,
layout: &mut DescriptorSetLayout,
name: &str
)
Associate a name with a descriptor set layout, for easier debugging in external tools or with validation layers that can print a friendly name when referring to objects in error messages Read more
unsafe fn set_pipeline_layout_name(
&self,
_pipeline_layout: &mut (),
_name: &str
)
[src][−]
&self,
_pipeline_layout: &mut (),
_name: &str
)
Associate a name with a pipeline layout, for easier debugging in external tools or with validation layers that can print a friendly name when referring to objects in error messages Read more
unsafe fn set_compute_pipeline_name(
&self,
_compute_pipeline: &mut (),
_name: &str
)
[src][−]
&self,
_compute_pipeline: &mut (),
_name: &str
)
Associate a name with a compute pipeline, for easier debugging in external tools or with validation layers that can print a friendly name when referring to objects in error messages Read more
unsafe fn set_graphics_pipeline_name(
&self,
_graphics_pipeline: &mut (),
_name: &str
)
[src][−]
&self,
_graphics_pipeline: &mut (),
_name: &str
)
Associate a name with a graphics pipeline, for easier debugging in external tools or with validation layers that can print a friendly name when referring to objects in error messages Read more
unsafe fn reset_fence(&self, _: &()) -> Result<(), OutOfMemory>
[src][−]
Resets a given fence to its original, unsignaled state.
unsafe fn wait_for_fence(&self, _: &(), _: u64) -> Result<bool, OomOrDeviceLost>
[src][−]
Blocks until the given fence is signaled. Returns true if the fence was signaled before the timeout. Read more
unsafe fn create_graphics_pipelines<'a, I>(
&self,
descs: I,
cache: Option<&<B as Backend>::PipelineCache>
) -> Vec<Result<<B as Backend>::GraphicsPipeline, CreationError>> where
I: IntoIterator,
<I as IntoIterator>::Item: Borrow<GraphicsPipelineDesc<'a, B>>,
[src][−]
&self,
descs: I,
cache: Option<&<B as Backend>::PipelineCache>
) -> Vec<Result<<B as Backend>::GraphicsPipeline, CreationError>> where
I: IntoIterator,
<I as IntoIterator>::Item: Borrow<GraphicsPipelineDesc<'a, B>>,
Create multiple graphics pipelines.
unsafe fn create_compute_pipelines<'a, I>(
&self,
descs: I,
cache: Option<&<B as Backend>::PipelineCache>
) -> Vec<Result<<B as Backend>::ComputePipeline, CreationError>> where
I: IntoIterator,
<I as IntoIterator>::Item: Borrow<ComputePipelineDesc<'a, B>>,
[src][−]
&self,
descs: I,
cache: Option<&<B as Backend>::PipelineCache>
) -> Vec<Result<<B as Backend>::ComputePipeline, CreationError>> where
I: IntoIterator,
<I as IntoIterator>::Item: Borrow<ComputePipelineDesc<'a, B>>,
Create compute pipelines.
unsafe fn reset_fences<I>(&self, fences: I) -> Result<(), OutOfMemory> where
I: IntoIterator,
<I as IntoIterator>::Item: Borrow<<B as Backend>::Fence>,
<I as IntoIterator>::IntoIter: ExactSizeIterator,
[src][−]
I: IntoIterator,
<I as IntoIterator>::Item: Borrow<<B as Backend>::Fence>,
<I as IntoIterator>::IntoIter: ExactSizeIterator,
Resets multiple fences to their original states.
unsafe fn wait_for_fences<I>(
&self,
fences: I,
wait: WaitFor,
timeout_ns: u64
) -> Result<bool, OomOrDeviceLost> where
I: IntoIterator,
<I as IntoIterator>::Item: Borrow<<B as Backend>::Fence>,
<I as IntoIterator>::IntoIter: ExactSizeIterator,
[src][−]
&self,
fences: I,
wait: WaitFor,
timeout_ns: u64
) -> Result<bool, OomOrDeviceLost> where
I: IntoIterator,
<I as IntoIterator>::Item: Borrow<<B as Backend>::Fence>,
<I as IntoIterator>::IntoIter: ExactSizeIterator,
Blocks until all or one of the given fences are signaled. Returns true if fences were signaled before the timeout. Read more
impl Eq for Backend
[src]
impl Hash for Backend
[src][+]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src][−]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src][−]
H: Hasher,
impl Instance<Backend> for Instance
[src][+]
fn create(name: &str, version: u32) -> Result<Self, UnsupportedBackend>
[src][−]
Create a new instance. Read more
fn enumerate_adapters(&self) -> Vec<Adapter<Backend>>
[src][−]
Return all available graphics adapters.
unsafe fn create_surface(
&self,
raw_window_handle: &impl HasRawWindowHandle
) -> Result<Surface, InitError>
[src][−]
&self,
raw_window_handle: &impl HasRawWindowHandle
) -> Result<Surface, InitError>
unsafe fn destroy_surface(&self, _surface: Surface)
[src][−]
Destroy a surface, freeing the resources associated with it and releasing it from this graphics API. Read more
impl PartialEq<Backend> for Backend
[src][+]
fn eq(&self, other: &Backend) -> bool
[src][−]
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
#[must_use]fn ne(&self, other: &Rhs) -> bool
1.0.0[src][−]
This method tests for !=
.
impl PhysicalDevice<Backend> for PhysicalDevice
[src][+]
unsafe fn open(
&self,
families: &[(&QueueFamily, &[QueuePriority])],
_requested_features: Features
) -> Result<Gpu<Backend>, CreationError>
[src][−]
&self,
families: &[(&QueueFamily, &[QueuePriority])],
_requested_features: Features
) -> Result<Gpu<Backend>, CreationError>
Create a new logical device with the requested features.
If requested_features
is empty, then only
the core features are supported. Read more
fn format_properties(&self, _: Option<Format>) -> Properties
[src][−]
Fetch details for a particular format.
fn image_format_properties(
&self,
_: Format,
_dim: u8,
_: Tiling,
_: Usage,
_: ViewCapabilities
) -> Option<FormatProperties>
[src][−]
&self,
_: Format,
_dim: u8,
_: Tiling,
_: Usage,
_: ViewCapabilities
) -> Option<FormatProperties>
Fetch details for a particular image format.
fn memory_properties(&self) -> MemoryProperties
[src][−]
Fetch details for the memory regions provided by the device.
fn features(&self) -> Features
[src][−]
Returns the features of this PhysicalDevice
. This usually depends on the graphics API being
used. Read more
fn hints(&self) -> Hints
[src][−]
Returns the performance hints of this PhysicalDevice
.
fn limits(&self) -> Limits
[src][−]
Returns the resource limits of this PhysicalDevice
.
fn is_valid_cache(&self, _cache: &[u8]) -> bool
[src][−]
Check cache compatibility with the PhysicalDevice
.
impl PresentationSurface<Backend> for Surface
[src][+]
type SwapchainImage = ()
An opaque type wrapping the swapchain image.
unsafe fn configure_swapchain(
&mut self,
_: &Device,
_: SwapchainConfig
) -> Result<(), CreationError>
[src][−]
&mut self,
_: &Device,
_: SwapchainConfig
) -> Result<(), CreationError>
Set up the swapchain associated with the surface to have the given format.
unsafe fn unconfigure_swapchain(&mut self, _: &Device)
[src][−]
Remove the associated swapchain from this surface. Read more
unsafe fn acquire_image(
&mut self,
_: u64
) -> Result<((), Option<Suboptimal>), AcquireError>
[src][−]
&mut self,
_: u64
) -> Result<((), Option<Suboptimal>), AcquireError>
Acquire a new swapchain image for rendering. Read more
impl StructuralEq for Backend
[src]
impl StructuralPartialEq for Backend
[src]
impl Surface<Backend> for Surface
[src][+]
fn supports_queue_family(&self, _: &QueueFamily) -> bool
[src][−]
Check if the queue family supports presentation to this surface.
fn capabilities(&self, _: &PhysicalDevice) -> SurfaceCapabilities
[src][−]
Query surface capabilities for this physical device. Read more
fn supported_formats(&self, _: &PhysicalDevice) -> Option<Vec<Format>>
[src][−]
Query surface formats for this physical device. Read more
Auto Trait Implementations
impl RefUnwindSafe for Backend
impl Send for Backend
impl Sync for Backend
impl Unpin for Backend
impl UnwindSafe for Backend
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src][+]
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
[src][−]
Gets the TypeId
of self
. Read more
impl<T> Borrow<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
fn borrow(&self) -> &T
[src][−]
Immutably borrows from an owned value. Read more
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src][−]
Mutably borrows from an owned value. Read more
impl<T> From<T> for T
[src][+]
impl<T, U> Into<U> for T where
U: From<T>,
[src][+]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src][+]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src][−]
Creates owned data from borrowed data, usually by cloning. Read more
fn clone_into(&self, target: &mut T)
[src][−]
🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src][+]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src][−]
Performs the conversion.
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,