Struct asche::Device [−][src]
A Vulkan device.
Handles all resource creation. Command buffer and queue handling are handled by the Queue
.
Swapchain and framebuffer handling are handled by the Swapchain
.
Fields
device_type: PhysicalDeviceType
The type of the physical device.
resizable_bar_support: BarSupport
Shows if the device support access to the device memory using the base address register.
Implementations
impl Device
[src]
pub fn create_render_pass(
&self,
name: &str,
renderpass_info: RenderPassCreateInfo2Builder<'_>
) -> Result<RenderPass, AscheError>
[src]
&self,
name: &str,
renderpass_info: RenderPassCreateInfo2Builder<'_>
) -> Result<RenderPass, AscheError>
Creates a new render pass.
pub fn create_pipeline_layout(
&self,
name: &str,
pipeline_layout_info: PipelineLayoutCreateInfoBuilder<'_>
) -> Result<PipelineLayout, AscheError>
[src]
&self,
name: &str,
pipeline_layout_info: PipelineLayoutCreateInfoBuilder<'_>
) -> Result<PipelineLayout, AscheError>
Creates a new pipeline layout.
pub fn create_graphics_pipeline(
&self,
name: &str,
pipeline_info: GraphicsPipelineCreateInfoBuilder<'_>
) -> Result<GraphicsPipeline, AscheError>
[src]
&self,
name: &str,
pipeline_info: GraphicsPipelineCreateInfoBuilder<'_>
) -> Result<GraphicsPipeline, AscheError>
Creates a new graphics pipeline.
pub fn create_raytracing_pipeline(
&self,
name: &str,
deferred_operation: Option<DeferredOperationKHR>,
pipeline_info: RayTracingPipelineCreateInfoKHRBuilder<'_>
) -> Result<RayTracingPipeline, AscheError>
[src]
&self,
name: &str,
deferred_operation: Option<DeferredOperationKHR>,
pipeline_info: RayTracingPipelineCreateInfoKHRBuilder<'_>
) -> Result<RayTracingPipeline, AscheError>
Creates a new raytracing pipeline.
pub fn create_compute_pipeline(
&self,
name: &str,
pipeline_info: ComputePipelineCreateInfoBuilder<'_>
) -> Result<ComputePipeline, AscheError>
[src]
&self,
name: &str,
pipeline_info: ComputePipelineCreateInfoBuilder<'_>
) -> Result<ComputePipeline, AscheError>
Creates a new compute pipeline.
pub fn create_descriptor_pool(
&self,
descriptor: &DescriptorPoolDescriptor<'_>
) -> Result<DescriptorPool, AscheError>
[src]
&self,
descriptor: &DescriptorPoolDescriptor<'_>
) -> Result<DescriptorPool, AscheError>
Creates a descriptor pool.
pub fn create_descriptor_set_layout(
&self,
name: &str,
layout_info: DescriptorSetLayoutCreateInfoBuilder<'_>
) -> Result<DescriptorSetLayout, AscheError>
[src]
&self,
name: &str,
layout_info: DescriptorSetLayoutCreateInfoBuilder<'_>
) -> Result<DescriptorSetLayout, AscheError>
Creates a descriptor set layout.
pub fn create_shader_module(
&self,
name: &str,
shader_data: &[u8]
) -> Result<ShaderModule, AscheError>
[src]
&self,
name: &str,
shader_data: &[u8]
) -> Result<ShaderModule, AscheError>
Creates a new shader module using the provided SPIR-V code.
pub fn create_buffer(
&self,
descriptor: &BufferDescriptor<'_>
) -> Result<Buffer, AscheError>
[src]
&self,
descriptor: &BufferDescriptor<'_>
) -> Result<Buffer, AscheError>
Creates a new buffer.
pub fn create_buffer_view(
&self,
descriptor: &BufferViewDescriptor<'_>
) -> Result<BufferView, AscheError>
[src]
&self,
descriptor: &BufferViewDescriptor<'_>
) -> Result<BufferView, AscheError>
Creates a new buffer view.
pub fn create_image(
&self,
descriptor: &ImageDescriptor<'_>
) -> Result<Image, AscheError>
[src]
&self,
descriptor: &ImageDescriptor<'_>
) -> Result<Image, AscheError>
Creates a new image.
pub fn create_image_view(
&self,
descriptor: &ImageViewDescriptor<'_>
) -> Result<ImageView, AscheError>
[src]
&self,
descriptor: &ImageViewDescriptor<'_>
) -> Result<ImageView, AscheError>
Creates a new image.
pub fn create_sampler(
&self,
descriptor: &SamplerDescriptor<'_>
) -> Result<Sampler, AscheError>
[src]
&self,
descriptor: &SamplerDescriptor<'_>
) -> Result<Sampler, AscheError>
Creates a sampler.
pub fn create_fence(&self, name: &str) -> Result<Fence, AscheError>
[src]
Creates a fence.
pub fn create_binary_semaphore(
&self,
name: &str
) -> Result<BinarySemaphore, AscheError>
[src]
&self,
name: &str
) -> Result<BinarySemaphore, AscheError>
Creates a new binary semaphore.
pub fn create_timeline_semaphore(
&self,
name: &str,
initial_value: u64
) -> Result<TimelineSemaphore, AscheError>
[src]
&self,
name: &str,
initial_value: u64
) -> Result<TimelineSemaphore, AscheError>
Creates a new timeline semaphore.
pub fn create_query_pool(
&self,
name: &str,
query_pool_info: QueryPoolCreateInfoBuilder<'_>
) -> Result<QueryPool, AscheError>
[src]
&self,
name: &str,
query_pool_info: QueryPoolCreateInfoBuilder<'_>
) -> Result<QueryPool, AscheError>
Creates a new query pool.
pub fn flush_mapped_memory(
&self,
allocation: &Allocation
) -> Result<(), AscheError>
[src]
&self,
allocation: &Allocation
) -> Result<(), AscheError>
Flush mapped memory. Used for CPU->GPU transfers. Vulkan Manual Page
pub fn invalidate_mapped_memory(
&self,
allocation: &Allocation
) -> Result<(), AscheError>
[src]
&self,
allocation: &Allocation
) -> Result<(), AscheError>
Invalidate mapped memory. Used for GPU->CPU transfers. Vulkan Manual Page
pub fn ray_tracing_capture_replay_shader_group_handles(
&self,
pipeline: Pipeline,
first_group: u32,
group_count: u32,
data: &[u8]
) -> Result<(), AscheError>
[src]
&self,
pipeline: Pipeline,
first_group: u32,
group_count: u32,
data: &[u8]
) -> Result<(), AscheError>
Query ray tracing capture replay pipeline shader group handles. Vulkan Manual Page
pub fn ray_tracing_shader_group_handles(
&self,
pipeline: Pipeline,
first_group: u32,
group_count: u32,
data: &[u8]
) -> Result<(), AscheError>
[src]
&self,
pipeline: Pipeline,
first_group: u32,
group_count: u32,
data: &[u8]
) -> Result<(), AscheError>
Query ray tracing pipeline shader group handles. Vulkan Manual Page
pub fn ray_tracing_shader_group_stack_size(
&self,
pipeline: Pipeline,
group: u32,
group_shader: ShaderGroupShaderKHR
) -> u64
[src]
&self,
pipeline: Pipeline,
group: u32,
group_shader: ShaderGroupShaderKHR
) -> u64
Query ray tracing pipeline shader group shader stack size. Vulkan Manual Page
pub fn physical_device_properties(
&self,
properties: PhysicalDeviceProperties2Builder<'_>
) -> PhysicalDeviceProperties2
[src]
&self,
properties: PhysicalDeviceProperties2Builder<'_>
) -> PhysicalDeviceProperties2
Returns properties of a physical device. Vulkan Manual Page
pub fn create_deferred_operation(
&self,
name: &str
) -> Result<DeferredOperation, AscheError>
[src]
&self,
name: &str
) -> Result<DeferredOperation, AscheError>
Create a deferred operation handle. Vulkan Manual Page
pub fn build_acceleration_structures(
&self,
infos: &[AccelerationStructureBuildGeometryInfoKHRBuilder<'_>],
build_range_infos: &[AccelerationStructureBuildRangeInfoKHR]
) -> Result<(), AscheError>
[src]
&self,
infos: &[AccelerationStructureBuildGeometryInfoKHRBuilder<'_>],
build_range_infos: &[AccelerationStructureBuildRangeInfoKHR]
) -> Result<(), AscheError>
Build an acceleration structure on the host. Vulkan Manual Page
pub fn create_acceleration_structure(
&self,
name: &str,
create_info: &AccelerationStructureCreateInfoKHR
) -> Result<AccelerationStructure, AscheError>
[src]
&self,
name: &str,
create_info: &AccelerationStructureCreateInfoKHR
) -> Result<AccelerationStructure, AscheError>
Create a new acceleration structure object. Vulkan Manual Page
pub fn acceleration_structure_build_sizes(
&self,
build_type: AccelerationStructureBuildTypeKHR,
build_info: &AccelerationStructureBuildGeometryInfoKHR,
max_primitive_counts: &[u32]
) -> AccelerationStructureBuildSizesInfoKHR
[src]
&self,
build_type: AccelerationStructureBuildTypeKHR,
build_info: &AccelerationStructureBuildGeometryInfoKHR,
max_primitive_counts: &[u32]
) -> AccelerationStructureBuildSizesInfoKHR
Retrieve the required size for an acceleration structure. Vulkan Manual Page
pub fn device_acceleration_structure_compatibility(
&self,
version_info: &AccelerationStructureVersionInfoKHR,
compatibility: Option<AccelerationStructureCompatibilityKHR>
) -> AccelerationStructureCompatibilityKHR
[src]
&self,
version_info: &AccelerationStructureVersionInfoKHR,
compatibility: Option<AccelerationStructureCompatibilityKHR>
) -> AccelerationStructureCompatibilityKHR
Check if a serialized acceleration structure is compatible with the current device. Vulkan Manual Page
pub fn copy_acceleration_structure(
&self,
info: &CopyAccelerationStructureInfoKHRBuilder<'_>
) -> Result<(), AscheError>
[src]
&self,
info: &CopyAccelerationStructureInfoKHRBuilder<'_>
) -> Result<(), AscheError>
Copy an acceleration structure on the host. Vulkan Manual Page
pub fn copy_acceleration_structure_to_memory(
&self,
info: &CopyAccelerationStructureToMemoryInfoKHR
) -> Result<(), AscheError>
[src]
&self,
info: &CopyAccelerationStructureToMemoryInfoKHR
) -> Result<(), AscheError>
Serialize an acceleration structure on the host. Vulkan Manual Page
pub fn copy_memory_to_acceleration_structure(
&self,
info: &CopyMemoryToAccelerationStructureInfoKHR
) -> Result<(), AscheError>
[src]
&self,
info: &CopyMemoryToAccelerationStructureInfoKHR
) -> Result<(), AscheError>
Deserialize an acceleration structure on the host. Vulkan Manual Page
pub fn update_descriptor_sets(
&self,
descriptor_writes: &[WriteDescriptorSetBuilder<'_>],
descriptor_copies: &[CopyDescriptorSetBuilder<'_>]
)
[src]
&self,
descriptor_writes: &[WriteDescriptorSetBuilder<'_>],
descriptor_copies: &[CopyDescriptorSetBuilder<'_>]
)
Update the contents of a descriptor set object. Vulkan Manual Page
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Device
impl Send for Device
impl Sync for Device
impl Unpin for Device
impl UnwindSafe for Device
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
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.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,