Struct asche::Device [−][src]
pub struct Device { pub device_type: PhysicalDeviceType, pub resizable_bar_support: BarSupport, // some fields omitted }
Expand description
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
pub fn create_render_pass(
&self,
name: &str,
renderpass_info: RenderPassCreateInfo2Builder<'_>
) -> Result<RenderPass, AscheError>
[src]
pub fn create_render_pass(
&self,
name: &str,
renderpass_info: RenderPassCreateInfo2Builder<'_>
) -> Result<RenderPass, AscheError>
[src]Creates a new render pass.
pub fn create_pipeline_layout(
&self,
name: &str,
pipeline_layout_info: PipelineLayoutCreateInfoBuilder<'_>
) -> Result<PipelineLayout, AscheError>
[src]
pub fn create_pipeline_layout(
&self,
name: &str,
pipeline_layout_info: PipelineLayoutCreateInfoBuilder<'_>
) -> Result<PipelineLayout, AscheError>
[src]Creates a new pipeline layout.
pub fn create_graphics_pipeline(
&self,
name: &str,
pipeline_info: GraphicsPipelineCreateInfoBuilder<'_>
) -> Result<GraphicsPipeline, AscheError>
[src]
pub fn create_graphics_pipeline(
&self,
name: &str,
pipeline_info: GraphicsPipelineCreateInfoBuilder<'_>
) -> Result<GraphicsPipeline, AscheError>
[src]Creates a new graphics pipeline.
pub fn create_raytracing_pipeline(
&self,
name: &str,
deferred_operation: Option<DeferredOperationKHR>,
pipeline_info: RayTracingPipelineCreateInfoKHRBuilder<'_>
) -> Result<RayTracingPipeline, AscheError>
[src]
pub fn create_raytracing_pipeline(
&self,
name: &str,
deferred_operation: Option<DeferredOperationKHR>,
pipeline_info: RayTracingPipelineCreateInfoKHRBuilder<'_>
) -> Result<RayTracingPipeline, AscheError>
[src]Creates a new raytracing pipeline.
pub fn create_compute_pipeline(
&self,
name: &str,
pipeline_info: ComputePipelineCreateInfoBuilder<'_>
) -> Result<ComputePipeline, AscheError>
[src]
pub fn create_compute_pipeline(
&self,
name: &str,
pipeline_info: ComputePipelineCreateInfoBuilder<'_>
) -> Result<ComputePipeline, AscheError>
[src]Creates a new compute pipeline.
pub fn create_descriptor_pool(
&self,
descriptor: &DescriptorPoolDescriptor<'_>
) -> Result<DescriptorPool, AscheError>
[src]
pub fn create_descriptor_pool(
&self,
descriptor: &DescriptorPoolDescriptor<'_>
) -> Result<DescriptorPool, AscheError>
[src]Creates a descriptor pool.
pub fn create_descriptor_set_layout(
&self,
name: &str,
layout_info: DescriptorSetLayoutCreateInfoBuilder<'_>
) -> Result<DescriptorSetLayout, AscheError>
[src]
pub fn create_descriptor_set_layout(
&self,
name: &str,
layout_info: DescriptorSetLayoutCreateInfoBuilder<'_>
) -> Result<DescriptorSetLayout, AscheError>
[src]Creates a descriptor set layout.
pub fn create_shader_module(
&self,
name: &str,
shader_data: &[u8]
) -> Result<ShaderModule, AscheError>
[src]
pub fn create_shader_module(
&self,
name: &str,
shader_data: &[u8]
) -> Result<ShaderModule, AscheError>
[src]Creates a new shader module using the provided SPIR-V code.
Creates a new buffer.
pub fn create_buffer_view(
&self,
descriptor: &BufferViewDescriptor<'_>
) -> Result<BufferView, AscheError>
[src]
pub fn create_buffer_view(
&self,
descriptor: &BufferViewDescriptor<'_>
) -> Result<BufferView, AscheError>
[src]Creates a new buffer view.
Creates a new image.
pub fn create_image_view(
&self,
descriptor: &ImageViewDescriptor<'_>
) -> Result<ImageView, AscheError>
[src]
pub fn create_image_view(
&self,
descriptor: &ImageViewDescriptor<'_>
) -> Result<ImageView, AscheError>
[src]Creates a new image.
pub fn create_sampler(
&self,
descriptor: &SamplerDescriptor<'_>
) -> Result<Sampler, AscheError>
[src]
pub fn create_sampler(
&self,
descriptor: &SamplerDescriptor<'_>
) -> Result<Sampler, AscheError>
[src]Creates a sampler.
Creates a fence.
Creates a new binary semaphore.
pub fn create_timeline_semaphore(
&self,
name: &str,
initial_value: u64
) -> Result<TimelineSemaphore, AscheError>
[src]
pub fn create_timeline_semaphore(
&self,
name: &str,
initial_value: u64
) -> Result<TimelineSemaphore, AscheError>
[src]Creates a new timeline semaphore.
pub fn create_query_pool(
&self,
name: &str,
query_pool_info: QueryPoolCreateInfoBuilder<'_>
) -> Result<QueryPool, AscheError>
[src]
pub fn create_query_pool(
&self,
name: &str,
query_pool_info: QueryPoolCreateInfoBuilder<'_>
) -> Result<QueryPool, AscheError>
[src]Creates a new query pool.
Flush mapped memory. Used for CPU->GPU transfers. Vulkan Manual Page
Invalidate mapped memory. Used for GPU->CPU transfers. Vulkan Manual Page
Query ray tracing capture replay pipeline shader group handles. Vulkan Manual Page
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]
pub fn ray_tracing_shader_group_stack_size(
&self,
pipeline: Pipeline,
group: u32,
group_shader: ShaderGroupShaderKHR
) -> u64
[src]Query ray tracing pipeline shader group shader stack size. Vulkan Manual Page
pub fn physical_device_properties(
&self,
properties: PhysicalDeviceProperties2Builder<'_>
) -> PhysicalDeviceProperties2
[src]
pub fn physical_device_properties(
&self,
properties: PhysicalDeviceProperties2Builder<'_>
) -> PhysicalDeviceProperties2
[src]Returns properties of a physical device. Vulkan Manual Page
Create a deferred operation handle. Vulkan Manual Page
pub fn build_acceleration_structures(
&self,
infos: &[AccelerationStructureBuildGeometryInfoKHRBuilder<'_>],
build_range_infos: &[AccelerationStructureBuildRangeInfoKHR]
) -> Result<(), AscheError>
[src]
pub fn build_acceleration_structures(
&self,
infos: &[AccelerationStructureBuildGeometryInfoKHRBuilder<'_>],
build_range_infos: &[AccelerationStructureBuildRangeInfoKHR]
) -> Result<(), AscheError>
[src]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]
pub fn create_acceleration_structure(
&self,
name: &str,
create_info: &AccelerationStructureCreateInfoKHR
) -> Result<AccelerationStructure, AscheError>
[src]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]
pub fn acceleration_structure_build_sizes(
&self,
build_type: AccelerationStructureBuildTypeKHR,
build_info: &AccelerationStructureBuildGeometryInfoKHR,
max_primitive_counts: &[u32]
) -> AccelerationStructureBuildSizesInfoKHR
[src]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]
pub fn device_acceleration_structure_compatibility(
&self,
version_info: &AccelerationStructureVersionInfoKHR,
compatibility: Option<AccelerationStructureCompatibilityKHR>
) -> AccelerationStructureCompatibilityKHR
[src]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]
pub fn copy_acceleration_structure(
&self,
info: &CopyAccelerationStructureInfoKHRBuilder<'_>
) -> Result<(), AscheError>
[src]Copy an acceleration structure on the host. Vulkan Manual Page
pub fn copy_acceleration_structure_to_memory(
&self,
info: &CopyAccelerationStructureToMemoryInfoKHR
) -> Result<(), AscheError>
[src]
pub fn copy_acceleration_structure_to_memory(
&self,
info: &CopyAccelerationStructureToMemoryInfoKHR
) -> Result<(), AscheError>
[src]Serialize an acceleration structure on the host. Vulkan Manual Page
pub fn copy_memory_to_acceleration_structure(
&self,
info: &CopyMemoryToAccelerationStructureInfoKHR
) -> Result<(), AscheError>
[src]
pub fn copy_memory_to_acceleration_structure(
&self,
info: &CopyMemoryToAccelerationStructureInfoKHR
) -> Result<(), AscheError>
[src]Deserialize an acceleration structure on the host. Vulkan Manual Page
pub fn update_descriptor_sets(
&self,
descriptor_writes: &[WriteDescriptorSetBuilder<'_>],
descriptor_copies: &[CopyDescriptorSetBuilder<'_>]
)
[src]
pub fn update_descriptor_sets(
&self,
descriptor_writes: &[WriteDescriptorSetBuilder<'_>],
descriptor_copies: &[CopyDescriptorSetBuilder<'_>]
)
[src]Update the contents of a descriptor set object. Vulkan Manual Page
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Device
impl !UnwindSafe for Device