Enum gfx_backend_empty::Backend [−][src]
pub enum Backend {}
Expand description
Dummy backend.
Trait Implementations
type PhysicalDevice = PhysicalDevice
type PhysicalDevice = PhysicalDevice
The corresponding physical device type for this backend.
The corresponding logical device type for this backend.
type QueueFamily = QueueFamily
type QueueFamily = QueueFamily
The corresponding queue family type for this backend.
The corresponding command queue type for this backend.
type CommandBuffer = CommandBuffer
type CommandBuffer = CommandBuffer
The corresponding command buffer type for this backend.
type Memory = Memory
type Memory = Memory
The corresponding memory type for this backend.
type CommandPool = CommandPool
type CommandPool = CommandPool
The corresponding command pool type for this backend.
type ShaderModule = ()
type ShaderModule = ()
The corresponding shader module type for this backend.
type RenderPass = ()
type RenderPass = ()
The corresponding render pass type for this backend.
type Framebuffer = ()
type Framebuffer = ()
The corresponding framebuffer type for this backend.
type Buffer = Buffer
type Buffer = Buffer
The corresponding buffer type for this backend.
type BufferView = ()
type BufferView = ()
The corresponding buffer view type for this backend.
type Image = Image
type Image = Image
The corresponding image type for this backend.
type ComputePipeline = ()
type ComputePipeline = ()
The corresponding compute pipeline type for this backend.
type GraphicsPipeline = ()
type GraphicsPipeline = ()
The corresponding graphics pipeline type for this backend.
type PipelineCache = ()
type PipelineCache = ()
The corresponding pipeline cache type for this backend.
type PipelineLayout = ()
type PipelineLayout = ()
The corresponding pipeline layout type for this backend.
type DescriptorSetLayout = DescriptorSetLayout
type DescriptorSetLayout = DescriptorSetLayout
The corresponding descriptor set layout type for this backend.
type DescriptorPool = DescriptorPool
type DescriptorPool = DescriptorPool
The corresponding descriptor pool type for this backend.
type DescriptorSet = DescriptorSet
type DescriptorSet = DescriptorSet
The corresponding descriptor set type for this backend.
type DisplayMode = ()
type DisplayMode = ()
The corresponding display mode type for this backend
unsafe fn begin(
&mut self,
_: CommandBufferFlags,
_: CommandBufferInheritanceInfo<'_, Backend>
)
unsafe fn begin(
&mut self,
_: CommandBufferFlags,
_: CommandBufferInheritanceInfo<'_, Backend>
)
Begins recording commands to a command buffer.
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: Iterator<Item = Barrier<'a, Backend>>,
unsafe fn pipeline_barrier<'a, T>(
&mut self,
_: Range<PipelineStage>,
_: Dependencies,
_: T
) where
T: Iterator<Item = Barrier<'a, Backend>>,
Inserts a synchronization dependency between pipeline stages in the command buffer. Read more
Fill a buffer with the given u32
value.
Copy data from the given slice into a buffer.
Clears an image to the given color/depth/stencil.
Takes an iterator of attachments and an iterator of rect’s, and clears the given rect’s for each attachment. Read more
“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
)
unsafe fn blit_image<T>(
&mut self,
_: &Image,
_: Layout,
_: &Image,
_: Layout,
_: Filter,
_: T
)
Copies regions from the source to destination image, applying scaling, filtering and potentially format conversion. Read more
Bind the index buffer view, making it the “current” one that draw commands will operate on. Read more
Bind the vertex buffer set, making it the “current” one that draw commands will operate on. Read more
Set the scissor rectangles for the rasterizer. Read more
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
Sets the stencil read mask.
Sets the stencil write mask.
Set the blend constant values dynamically.
Set the depth bounds test values dynamically.
Set the line width dynamically. Read more
Set the depth bias dynamically.
unsafe fn begin_render_pass<'a, T>(
&mut self,
_: &(),
_: &(),
_: Rect,
_: T,
_: SubpassContents
) where
T: Iterator<Item = RenderAttachmentInfo<'a, Backend>>,
unsafe fn begin_render_pass<'a, T>(
&mut self,
_: &(),
_: &(),
_: Rect,
_: T,
_: SubpassContents
) where
T: Iterator<Item = RenderAttachmentInfo<'a, Backend>>,
Begins recording commands for a render pass on the given framebuffer. Read more
Steps to the next subpass in the current render pass.
Finishes recording commands for the current a render pass.
Bind a graphics pipeline. Read more
unsafe fn bind_graphics_descriptor_sets<'a, I, J>(
&mut self,
_: &(),
_: usize,
_: I,
_: J
) where
I: Iterator<Item = &'a DescriptorSet>,
unsafe fn bind_graphics_descriptor_sets<'a, I, J>(
&mut self,
_: &(),
_: usize,
_: I,
_: J
) where
I: Iterator<Item = &'a DescriptorSet>,
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
Bind a compute pipeline. Read more
unsafe fn bind_compute_descriptor_sets<'a, I, J>(
&mut self,
_: &(),
_: usize,
_: I,
_: J
) where
I: Iterator<Item = &'a DescriptorSet>,
unsafe fn bind_compute_descriptor_sets<'a, I, J>(
&mut self,
_: &(),
_: usize,
_: I,
_: J
) where
I: Iterator<Item = &'a DescriptorSet>,
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
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
Works similarly to dispatch()
but reads parameters from the given
buffer during execution. Read more
Adds a command to copy regions from the source to destination buffer.
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
Copies regions from the source buffer to the destination image.
Copies regions from the source image to the destination buffer.
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>
)
unsafe fn draw_indexed(
&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
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
Like draw_indirect()
, this does indexed drawing a la draw_indexed()
but
reads the draw parameters out of the given buffer. Read more
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
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
Dispatches task_count
of threads. Similar to compute dispatch.
Indirect version of draw_mesh_tasks
. Analogous to draw_indirect
, but for mesh shaders.
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
Signals an event once all specified stages of the shader pipeline have completed.
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
J: Iterator<Item = Barrier<'a, Backend>>,
unsafe fn wait_events<'a, I, J>(&mut self, _: I, _: Range<PipelineStage>, _: J) where
J: Iterator<Item = Barrier<'a, Backend>>,
Waits at some shader stage(s) until all events have been signalled. Read more
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
Reset/clear the values in the given range of the query pool.
unsafe fn copy_query_pool_results(
&mut self,
_: &(),
_: Range<Id>,
_: &Buffer,
_: Offset,
_: Stride,
_: ResultFlags
)
unsafe fn copy_query_pool_results(
&mut self,
_: &(),
_: Range<Id>,
_: &Buffer,
_: Offset,
_: Stride,
_: ResultFlags
)
Copy query results into a buffer.
Requests a timestamp to be written.
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
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>(&mut self, _: T) where
T: Iterator<Item = &'a CommandBuffer>,
unsafe fn execute_commands<'a, T>(&mut self, _: T) where
T: Iterator<Item = &'a CommandBuffer>,
Execute the given secondary command buffers.
Debug mark the current spot in the command buffer.
Start a debug marker at the current place in the command buffer.
End the last started debug marker scope.
Begins recording a primary command buffer (that has no inheritance information). Read more
Allocate a single command buffer from the pool. Read more
Reset the command pool and the corresponding command buffers. Read more
Free command buffers allocated from this pool.
Allocate new command buffers from the pool. Read more
unsafe fn create_command_pool(
&self,
_: QueueFamilyId,
_: CommandPoolCreateFlags
) -> Result<CommandPool, OutOfMemory>
unsafe fn create_command_pool(
&self,
_: QueueFamilyId,
_: CommandPoolCreateFlags
) -> Result<CommandPool, OutOfMemory>
Create a new command pool for a given queue family. Read more
Destroy a command pool.
unsafe fn allocate_memory(
&self,
memory_type: MemoryTypeId,
size: u64
) -> Result<Memory, AllocationError>
unsafe fn allocate_memory(
&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
Is: Iterator<Item = SubpassDesc<'a>>,
unsafe fn create_render_pass<'a, Ia, Is, Id>(
&self,
_: Ia,
_: Is,
_: Id
) -> Result<(), OutOfMemory> where
Is: Iterator<Item = SubpassDesc<'a>>,
Create a render pass with the given attachments and subpasses. Read more
unsafe fn create_pipeline_layout<'a, Is, Ic>(
&self,
_: Is,
_: Ic
) -> Result<(), OutOfMemory> where
Is: Iterator<Item = &'a DescriptorSetLayout>,
unsafe fn create_pipeline_layout<'a, Is, Ic>(
&self,
_: Is,
_: Ic
) -> Result<(), OutOfMemory> where
Is: Iterator<Item = &'a DescriptorSetLayout>,
Create a new pipeline layout object. Read more
Create a pipeline cache object.
Retrieve data from pipeline cache object.
Destroy a pipeline cache object.
unsafe fn create_graphics_pipeline<'a>(
&self,
_: &GraphicsPipelineDesc<'a, Backend>,
_: Option<&()>
) -> Result<(), CreationError>
unsafe fn create_graphics_pipeline<'a>(
&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>
unsafe fn create_compute_pipeline<'a>(
&self,
_: &ComputePipelineDesc<'a, Backend>,
_: Option<&()>
) -> Result<(), CreationError>
Create a compute pipeline.
unsafe fn merge_pipeline_caches<'a, I>(
&self,
_: &mut (),
_: I
) -> Result<(), OutOfMemory> where
I: Iterator<Item = &'a ()>,
unsafe fn merge_pipeline_caches<'a, I>(
&self,
_: &mut (),
_: I
) -> Result<(), OutOfMemory> where
I: Iterator<Item = &'a ()>,
Merge a number of source pipeline caches into the target one.
Create a new framebuffer object. Read more
Create a new shader module object from the SPIR-V binary data. Read more
Create a new sampler object
unsafe fn create_buffer(
&self,
size: u64,
_: Usage,
_: SparseFlags
) -> Result<Buffer, CreationError>
unsafe fn create_buffer(
&self,
size: u64,
_: Usage,
_: SparseFlags
) -> Result<Buffer, CreationError>
Create a new buffer (unbound). Read more
Get memory requirements for the buffer
Bind memory to a buffer. Read more
unsafe fn create_buffer_view(
&self,
_: &Buffer,
_: Option<Format>,
_: SubRange
) -> Result<(), ViewCreationError>
unsafe fn create_buffer_view(
&self,
_: &Buffer,
_: Option<Format>,
_: SubRange
) -> Result<(), ViewCreationError>
Create a new buffer view object
unsafe fn create_image(
&self,
kind: Kind,
_: Level,
_: Format,
_: Tiling,
_: Usage,
_: SparseFlags,
_: ViewCapabilities
) -> Result<Image, CreationError>
unsafe fn create_image(
&self,
kind: Kind,
_: Level,
_: Format,
_: Tiling,
_: Usage,
_: SparseFlags,
_: ViewCapabilities
) -> Result<Image, CreationError>
Create a new image object
Get memory requirements for the Image
unsafe fn get_image_subresource_footprint(
&self,
_: &Image,
_: Subresource
) -> SubresourceFootprint
Bind device memory to an image object
unsafe fn create_image_view(
&self,
_: &Image,
_: ViewKind,
_: Format,
_: Swizzle,
_: Usage,
_: SubresourceRange
) -> Result<(), ViewCreationError>
unsafe fn create_image_view(
&self,
_: &Image,
_: ViewKind,
_: Format,
_: Swizzle,
_: Usage,
_: SubresourceRange
) -> Result<(), ViewCreationError>
Create an image view from an existing image
unsafe fn create_descriptor_pool<I>(
&self,
_: usize,
_: I,
_: DescriptorPoolCreateFlags
) -> Result<DescriptorPool, OutOfMemory>
unsafe fn create_descriptor_pool<I>(
&self,
_: usize,
_: I,
_: DescriptorPoolCreateFlags
) -> Result<DescriptorPool, OutOfMemory>
Create a descriptor pool. Read more
unsafe fn create_descriptor_set_layout<'a, I, J>(
&self,
_bindings: I,
_samplers: J
) -> Result<DescriptorSetLayout, OutOfMemory> where
J: Iterator<Item = &'a ()>,
unsafe fn create_descriptor_set_layout<'a, I, J>(
&self,
_bindings: I,
_samplers: J
) -> Result<DescriptorSetLayout, OutOfMemory> where
J: Iterator<Item = &'a ()>,
Create a descriptor set layout. Read more
unsafe fn write_descriptor_set<'a, I>(
&self,
_: DescriptorSetWrite<'a, Backend, I>
) where
I: Iterator<Item = Descriptor<'a, Backend>>,
unsafe fn write_descriptor_set<'a, I>(
&self,
_: DescriptorSetWrite<'a, Backend, I>
) where
I: Iterator<Item = Descriptor<'a, Backend>>,
Specifying the parameters of a descriptor set write operation.
Structure specifying a copy descriptor set operation.
Create a new semaphore object.
Create a new fence object. Read more
true for signaled, false for not ready
Create an event object.
Query the status of an event. Read more
Resets an event.
Create a new query pool object Read more
Destroy a query pool object
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
Map a memory object into application address space Read more
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: Iterator<Item = (&'a Memory, Segment)>,
unsafe fn flush_mapped_memory_ranges<'a, I>(
&self,
_: I
) -> Result<(), OutOfMemory> where
I: Iterator<Item = (&'a Memory, Segment)>,
Flush mapped memory ranges
unsafe fn invalidate_mapped_memory_ranges<'a, I>(
&self,
_: I
) -> Result<(), OutOfMemory> where
I: Iterator<Item = (&'a Memory, Segment)>,
unsafe fn invalidate_mapped_memory_ranges<'a, I>(
&self,
_: I
) -> Result<(), OutOfMemory> where
I: Iterator<Item = (&'a Memory, Segment)>,
Invalidate ranges of non-coherent memory from the host caches
Free device memory
Destroy a shader module module Read more
Destroys a render pass created by this device.
Destroy a pipeline layout object
Destroy a graphics pipeline. Read more
Destroy a compute pipeline. Read more
Destroy a framebuffer. Read more
Destroy a buffer. Read more
Destroy a buffer view object
Destroy an image. Read more
Destroy an image view object
Destroy a sampler object
Destroy a descriptor pool object Read more
Destroy a descriptor set layout object
Destroy a fence object
Destroy a semaphore object.
Destroy an event object.
Wait for all queues associated with this device to idle. Read more
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
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
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
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
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
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
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
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
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
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
Create, allocate and bind a buffer that can be exported. Read more
Import external memory as binded buffer and memory. Read more
unsafe fn create_allocate_external_image(
&self,
_external_memory_type: ExternalImageMemoryType,
_kind: Kind,
_num_levels: Level,
_format: Format,
_tiling: Tiling,
_usage: Usage,
_sparse: SparseFlags,
_view_caps: ViewCapabilities,
_type_mask: u32
) -> Result<(<Backend as Backend>::Image, <Backend as Backend>::Memory), ExternalResourceError>
unsafe fn create_allocate_external_image(
&self,
_external_memory_type: ExternalImageMemoryType,
_kind: Kind,
_num_levels: Level,
_format: Format,
_tiling: Tiling,
_usage: Usage,
_sparse: SparseFlags,
_view_caps: ViewCapabilities,
_type_mask: u32
) -> Result<(<Backend as Backend>::Image, <Backend as Backend>::Memory), ExternalResourceError>
Create, allocate and bind an image that can be exported. Read more
unsafe fn import_external_image(
&self,
_external_memory: ExternalImageMemory,
_kind: Kind,
_num_levels: Level,
_format: Format,
_tiling: Tiling,
_usage: Usage,
_sparse: SparseFlags,
_view_caps: ViewCapabilities,
_type_mask: u32
) -> Result<(<Backend as Backend>::Image, <Backend as Backend>::Memory), ExternalResourceError>
unsafe fn import_external_image(
&self,
_external_memory: ExternalImageMemory,
_kind: Kind,
_num_levels: Level,
_format: Format,
_tiling: Tiling,
_usage: Usage,
_sparse: SparseFlags,
_view_caps: ViewCapabilities,
_type_mask: u32
) -> Result<(<Backend as Backend>::Image, <Backend as Backend>::Memory), ExternalResourceError>
Import external memory as binded image and memory. Read more
unsafe fn export_memory(
&self,
_external_memory_type: ExternalMemoryType,
_memory: &<Backend as Backend>::Memory
) -> Result<PlatformMemory, ExternalMemoryExportError>
unsafe fn export_memory(
&self,
_external_memory_type: ExternalMemoryType,
_memory: &<Backend as Backend>::Memory
) -> Result<PlatformMemory, ExternalMemoryExportError>
Export memory as os type (Fd, Handle or Ptr) based on the requested external memory type. Read more
Retrieve the underlying drm format modifier from an image, if any. Read more
Resets a given fence to its original, unsignaled state.
Blocks until the given fence is signaled. Returns true if the fence was signaled before the timeout. Read more
unsafe fn set_display_power_state(
&self,
_display: &Display<Backend>,
_power_state: &PowerState
) -> Result<(), DisplayControlError>
unsafe fn set_display_power_state(
&self,
_display: &Display<Backend>,
_power_state: &PowerState
) -> Result<(), DisplayControlError>
Control the power state of the provided display
unsafe fn register_device_event(
&self,
_device_event: &DeviceEvent,
_fence: &mut <Backend as Backend>::Fence
) -> Result<(), DisplayControlError>
unsafe fn register_device_event(
&self,
_device_event: &DeviceEvent,
_fence: &mut <Backend as Backend>::Fence
) -> Result<(), DisplayControlError>
Register device event
unsafe fn register_display_event(
&self,
_display: &Display<Backend>,
_display_event: &DisplayEvent,
_fence: &mut <Backend as Backend>::Fence
) -> Result<(), DisplayControlError>
unsafe fn register_display_event(
&self,
_display: &Display<Backend>,
_display_event: &DisplayEvent,
_fence: &mut <Backend as Backend>::Fence
) -> Result<(), DisplayControlError>
Register display event
Starts frame capture.
Stops frame capture.
unsafe fn create_shader_module_from_naga(
&self,
shader: NagaShader
) -> Result<<B as Backend>::ShaderModule, (ShaderError, NagaShader)>
unsafe fn create_shader_module_from_naga(
&self,
shader: NagaShader
) -> Result<<B as Backend>::ShaderModule, (ShaderError, NagaShader)>
Create a new shader module from the naga
module.
Create a new instance. Read more
Return all available graphics adapters.
unsafe fn create_surface(
&self,
raw_window_handle: &impl HasRawWindowHandle
) -> Result<Surface, InitError>
unsafe fn create_surface(
&self,
raw_window_handle: &impl HasRawWindowHandle
) -> Result<Surface, InitError>
Destroy a surface, freeing the resources associated with it and releasing it from this graphics API. Read more
unsafe fn create_display_plane_surface(
&self,
_display_plane: &DisplayPlane<'_, Backend>,
_plane_stack_index: u32,
_transformation: SurfaceTransform,
_alpha: DisplayPlaneAlpha,
_image_extent: Extent2D
) -> Result<Surface, DisplayPlaneSurfaceError>
unsafe fn create_display_plane_surface(
&self,
_display_plane: &DisplayPlane<'_, Backend>,
_plane_stack_index: u32,
_transformation: SurfaceTransform,
_alpha: DisplayPlaneAlpha,
_image_extent: Extent2D
) -> Result<Surface, DisplayPlaneSurfaceError>
Create a new surface from a display plane. Read more
unsafe fn open(
&self,
families: &[(&QueueFamily, &[QueuePriority])],
_requested_features: Features
) -> Result<Gpu<Backend>, CreationError>
unsafe fn open(
&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
Fetch details for a particular format.
fn image_format_properties(
&self,
_: Format,
_dim: u8,
_: Tiling,
_: Usage,
_: ViewCapabilities
) -> Option<FormatProperties>
fn image_format_properties(
&self,
_: Format,
_dim: u8,
_: Tiling,
_: Usage,
_: ViewCapabilities
) -> Option<FormatProperties>
Fetch details for a particular image format.
Fetch details for the memory regions provided by the device.
fn external_buffer_properties(
&self,
_usage: Usage,
_sparse: SparseFlags,
_memory_type: ExternalMemoryType
) -> ExternalMemoryProperties
fn external_buffer_properties(
&self,
_usage: Usage,
_sparse: SparseFlags,
_memory_type: ExternalMemoryType
) -> ExternalMemoryProperties
Get external buffer properties. The parameters specify how the buffer is going to used. Read more
fn external_image_properties(
&self,
_format: Format,
_dimensions: u8,
_tiling: Tiling,
_usage: Usage,
_view_caps: ViewCapabilities,
_memory_type: ExternalMemoryType
) -> Result<ExternalMemoryProperties, ExternalImagePropertiesError>
fn external_image_properties(
&self,
_format: Format,
_dimensions: u8,
_tiling: Tiling,
_usage: Usage,
_view_caps: ViewCapabilities,
_memory_type: ExternalMemoryType
) -> Result<ExternalMemoryProperties, ExternalImagePropertiesError>
Get external image properties. The parameters specify how the image is going to used. Read more
Returns the features of this PhysicalDevice
. This usually depends on the graphics API being
used, as well as the actual platform underneath. Read more
Returns the properties of this PhysicalDevice
. Similarly to Features
, they
Enumerate active displays surface from display. Please notice that, even if a system has displays attached, they could be not returned because they are managed by some other components. This function only return the display that are available to be managed by the current application. Since, generally, while compositor are running they take the control of every display connected, it could be better to run the application directly from the tty to avoid the return of an empty list. Read more
Enumerate compatibles planes with the provided display. Read more
unsafe fn create_display_mode(
&self,
_display: &Display<Backend>,
_resolution: (u32, u32),
_refresh_rate: u32
) -> Result<DisplayMode<Backend>, DisplayModeError>
unsafe fn create_display_mode(
&self,
_display: &Display<Backend>,
_resolution: (u32, u32),
_refresh_rate: u32
) -> Result<DisplayMode<Backend>, DisplayModeError>
Create a new display mode from a display, a resolution, a refresh_rate and the plane index. If the builtin display modes does not satisfy the requirements, this function will try to create a new one. Read more
unsafe fn create_display_plane<'a>(
&self,
_display: &'a DisplayMode<Backend>,
_plane: &'a Plane
) -> Result<DisplayPlane<'a, Backend>, OutOfMemory>
unsafe fn create_display_plane<'a>(
&self,
_display: &'a DisplayMode<Backend>,
_plane: &'a Plane
) -> Result<DisplayPlane<'a, Backend>, OutOfMemory>
Create a display plane from a display, a resolution, a refresh_rate and a plane. If the builtin display modes does not satisfy the requirements, this function will try to create a new one. Read more
type SwapchainImage = SwapchainImage
type SwapchainImage = SwapchainImage
An opaque type wrapping the swapchain image.
unsafe fn configure_swapchain(
&mut self,
_: &Device,
_: SwapchainConfig
) -> Result<(), SwapchainError>
unsafe fn configure_swapchain(
&mut self,
_: &Device,
_: SwapchainConfig
) -> Result<(), SwapchainError>
Set up the swapchain associated with the surface to have the given format.
Remove the associated swapchain from this surface. Read more
unsafe fn acquire_image(
&mut self,
_: u64
) -> Result<(SwapchainImage, Option<Suboptimal>), AcquireError>
unsafe fn acquire_image(
&mut self,
_: u64
) -> Result<(SwapchainImage, Option<Suboptimal>), AcquireError>
Acquire a new swapchain image for rendering. Read more
Submit command buffers to queue for execution. Read more
unsafe fn present(
&mut self,
_surface: &mut Surface,
_image: SwapchainImage,
_wait_semaphore: Option<&mut ()>
) -> Result<Option<Suboptimal>, PresentError>
unsafe fn present(
&mut self,
_surface: &mut Surface,
_image: SwapchainImage,
_wait_semaphore: Option<&mut ()>
) -> Result<Option<Suboptimal>, PresentError>
Present a swapchain image directly to a surface, after waiting on wait_semaphore
. Read more
Wait for the queue to be idle.
The amount of nanoseconds that causes a timestamp query value to increment by one.
unsafe fn bind_sparse<'a, Iw, Is, Ibi, Ib, Iii, Io, Ii>(
&mut self,
_wait_semaphores: Iw,
_signal_semaphores: Is,
_buffer_memory_binds: Ib,
_image_opaque_memory_binds: Io,
_image_memory_binds: Ii,
_device: &<B as Backend>::Device,
_fence: Option<&<B as Backend>::Fence>
) where
Is: Iterator<Item = &'a <B as Backend>::Semaphore>,
Iw: Iterator<Item = &'a <B as Backend>::Semaphore>,
Ibi: Iterator<Item = &'a SparseBind<&'a <B as Backend>::Memory>>,
Ib: Iterator<Item = (&'a mut <B as Backend>::Buffer, Ibi)>,
Iii: Iterator<Item = &'a SparseImageBind<&'a <B as Backend>::Memory>>,
Io: Iterator<Item = (&'a mut <B as Backend>::Image, Ibi)>,
Ii: Iterator<Item = (&'a mut <B as Backend>::Image, Iii)>,
unsafe fn bind_sparse<'a, Iw, Is, Ibi, Ib, Iii, Io, Ii>(
&mut self,
_wait_semaphores: Iw,
_signal_semaphores: Is,
_buffer_memory_binds: Ib,
_image_opaque_memory_binds: Io,
_image_memory_binds: Ii,
_device: &<B as Backend>::Device,
_fence: Option<&<B as Backend>::Fence>
) where
Is: Iterator<Item = &'a <B as Backend>::Semaphore>,
Iw: Iterator<Item = &'a <B as Backend>::Semaphore>,
Ibi: Iterator<Item = &'a SparseBind<&'a <B as Backend>::Memory>>,
Ib: Iterator<Item = (&'a mut <B as Backend>::Buffer, Ibi)>,
Iii: Iterator<Item = &'a SparseImageBind<&'a <B as Backend>::Memory>>,
Io: Iterator<Item = (&'a mut <B as Backend>::Image, Ibi)>,
Ii: Iterator<Item = (&'a mut <B as Backend>::Image, Iii)>,
Sparse memory bind operation. Read more
Auto Trait Implementations
impl RefUnwindSafe for Backend
impl UnwindSafe for Backend
Blanket Implementations
Mutably borrows from an owned value. Read more