Struct asche::Device [−][src]
pub struct Device<LT: Lifetime> { /* 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
.
Implementations
The type of the physical device.
Shows if the device support access to the device memory using the base address register.
pub unsafe fn create_render_pass(
&self,
name: &str,
renderpass_info: RenderPassCreateInfo2Builder<'_>
) -> Result<RenderPass, AscheError>
pub unsafe fn create_render_pass(
&self,
name: &str,
renderpass_info: RenderPassCreateInfo2Builder<'_>
) -> Result<RenderPass, AscheError>
Creates a new render pass.
pub unsafe fn create_pipeline_layout(
&self,
name: &str,
pipeline_layout_info: PipelineLayoutCreateInfoBuilder<'_>
) -> Result<PipelineLayout, AscheError>
pub unsafe fn create_pipeline_layout(
&self,
name: &str,
pipeline_layout_info: PipelineLayoutCreateInfoBuilder<'_>
) -> Result<PipelineLayout, AscheError>
Creates a new pipeline layout.
pub unsafe fn create_graphics_pipeline(
&self,
name: &str,
pipeline_info: GraphicsPipelineCreateInfoBuilder<'_>
) -> Result<GraphicsPipeline, AscheError>
pub unsafe fn create_graphics_pipeline(
&self,
name: &str,
pipeline_info: GraphicsPipelineCreateInfoBuilder<'_>
) -> Result<GraphicsPipeline, AscheError>
Creates a new graphics pipeline.
pub unsafe fn create_raytracing_pipeline(
&self,
name: &str,
deferred_operation: Option<DeferredOperationKHR>,
pipeline_info: RayTracingPipelineCreateInfoKHRBuilder<'_>
) -> Result<RayTracingPipeline, AscheError>
pub unsafe fn create_raytracing_pipeline(
&self,
name: &str,
deferred_operation: Option<DeferredOperationKHR>,
pipeline_info: RayTracingPipelineCreateInfoKHRBuilder<'_>
) -> Result<RayTracingPipeline, AscheError>
Creates a new raytracing pipeline.
pub unsafe fn create_compute_pipeline(
&self,
name: &str,
pipeline_info: ComputePipelineCreateInfoBuilder<'_>
) -> Result<ComputePipeline, AscheError>
pub unsafe fn create_compute_pipeline(
&self,
name: &str,
pipeline_info: ComputePipelineCreateInfoBuilder<'_>
) -> Result<ComputePipeline, AscheError>
Creates a new compute pipeline.
pub unsafe fn create_descriptor_pool(
&self,
descriptor: &DescriptorPoolDescriptor<'_>
) -> Result<DescriptorPool, AscheError>
pub unsafe fn create_descriptor_pool(
&self,
descriptor: &DescriptorPoolDescriptor<'_>
) -> Result<DescriptorPool, AscheError>
Creates a descriptor pool.
pub unsafe fn create_descriptor_set_layout(
&self,
name: &str,
layout_info: DescriptorSetLayoutCreateInfoBuilder<'_>
) -> Result<DescriptorSetLayout, AscheError>
pub unsafe fn create_descriptor_set_layout(
&self,
name: &str,
layout_info: DescriptorSetLayoutCreateInfoBuilder<'_>
) -> Result<DescriptorSetLayout, AscheError>
Creates a descriptor set layout.
pub unsafe fn create_shader_module(
&self,
name: &str,
shader_data: &[u8]
) -> Result<ShaderModule, AscheError>
pub unsafe fn create_shader_module(
&self,
name: &str,
shader_data: &[u8]
) -> Result<ShaderModule, AscheError>
Creates a new shader module using the provided SPIR-V code.
pub unsafe fn create_buffer(
&self,
descriptor: &BufferDescriptor<'_, LT>
) -> Result<Buffer<LT>, AscheError>
pub unsafe fn create_buffer(
&self,
descriptor: &BufferDescriptor<'_, LT>
) -> Result<Buffer<LT>, AscheError>
Creates a new buffer.
pub unsafe fn create_buffer_view(
&self,
descriptor: &BufferViewDescriptor<'_, LT>
) -> Result<BufferView, AscheError>
pub unsafe fn create_buffer_view(
&self,
descriptor: &BufferViewDescriptor<'_, LT>
) -> Result<BufferView, AscheError>
Creates a new buffer view.
pub unsafe fn create_image(
&self,
descriptor: &ImageDescriptor<'_, LT>
) -> Result<Image<LT>, AscheError>
pub unsafe fn create_image(
&self,
descriptor: &ImageDescriptor<'_, LT>
) -> Result<Image<LT>, AscheError>
Creates a new image.
pub unsafe fn create_image_view(
&self,
descriptor: &ImageViewDescriptor<'_, LT>
) -> Result<ImageView, AscheError>
pub unsafe fn create_image_view(
&self,
descriptor: &ImageViewDescriptor<'_, LT>
) -> Result<ImageView, AscheError>
Creates a new image.
pub unsafe fn create_sampler(
&self,
descriptor: &SamplerDescriptor<'_>
) -> Result<Sampler, AscheError>
pub unsafe fn create_sampler(
&self,
descriptor: &SamplerDescriptor<'_>
) -> Result<Sampler, AscheError>
Creates a sampler.
Creates a fence.
pub unsafe fn create_binary_semaphore(
&self,
name: &str
) -> Result<BinarySemaphore, AscheError>
pub unsafe fn create_binary_semaphore(
&self,
name: &str
) -> Result<BinarySemaphore, AscheError>
Creates a new binary semaphore.
pub unsafe fn create_timeline_semaphore(
&self,
name: &str,
initial_value: u64
) -> Result<TimelineSemaphore, AscheError>
pub unsafe fn create_timeline_semaphore(
&self,
name: &str,
initial_value: u64
) -> Result<TimelineSemaphore, AscheError>
Creates a new timeline semaphore.
pub unsafe fn create_query_pool(
&self,
name: &str,
query_pool_info: QueryPoolCreateInfoBuilder<'_>
) -> Result<QueryPool, AscheError>
pub unsafe fn create_query_pool(
&self,
name: &str,
query_pool_info: QueryPoolCreateInfoBuilder<'_>
) -> Result<QueryPool, AscheError>
Creates a new query pool.
Query ray tracing capture replay pipeline shader group handles. Vulkan Manual Page
Query ray tracing pipeline shader group handles. Vulkan Manual Page
pub unsafe fn ray_tracing_shader_group_stack_size(
&self,
pipeline: Pipeline,
group: u32,
group_shader: ShaderGroupShaderKHR
) -> u64
pub unsafe fn ray_tracing_shader_group_stack_size(
&self,
pipeline: Pipeline,
group: u32,
group_shader: ShaderGroupShaderKHR
) -> u64
Query ray tracing pipeline shader group shader stack size. Vulkan Manual Page
pub unsafe fn physical_device_properties(
&self,
properties: PhysicalDeviceProperties2Builder<'_>
) -> PhysicalDeviceProperties2
pub unsafe fn physical_device_properties(
&self,
properties: PhysicalDeviceProperties2Builder<'_>
) -> PhysicalDeviceProperties2
Returns properties of a physical device. Vulkan Manual Page
pub unsafe fn create_deferred_operation(
&self,
name: &str
) -> Result<DeferredOperation, AscheError>
pub unsafe fn create_deferred_operation(
&self,
name: &str
) -> Result<DeferredOperation, AscheError>
Create a deferred operation handle. Vulkan Manual Page
pub unsafe fn build_acceleration_structures(
&self,
infos: &[AccelerationStructureBuildGeometryInfoKHRBuilder<'_>],
build_range_infos: &[AccelerationStructureBuildRangeInfoKHR]
) -> Result<(), AscheError>
pub unsafe fn build_acceleration_structures(
&self,
infos: &[AccelerationStructureBuildGeometryInfoKHRBuilder<'_>],
build_range_infos: &[AccelerationStructureBuildRangeInfoKHR]
) -> Result<(), AscheError>
Build an acceleration structure on the host. Vulkan Manual Page
pub unsafe fn create_acceleration_structure(
&self,
name: &str,
create_info: &AccelerationStructureCreateInfoKHR
) -> Result<AccelerationStructure, AscheError>
pub unsafe fn create_acceleration_structure(
&self,
name: &str,
create_info: &AccelerationStructureCreateInfoKHR
) -> Result<AccelerationStructure, AscheError>
Create a new acceleration structure object. Vulkan Manual Page
pub unsafe fn acceleration_structure_build_sizes(
&self,
build_type: AccelerationStructureBuildTypeKHR,
build_info: &AccelerationStructureBuildGeometryInfoKHR,
max_primitive_counts: &[u32]
) -> AccelerationStructureBuildSizesInfoKHR
pub unsafe fn acceleration_structure_build_sizes(
&self,
build_type: AccelerationStructureBuildTypeKHR,
build_info: &AccelerationStructureBuildGeometryInfoKHR,
max_primitive_counts: &[u32]
) -> AccelerationStructureBuildSizesInfoKHR
Retrieve the required size for an acceleration structure. Vulkan Manual Page
pub unsafe fn device_acceleration_structure_compatibility(
&self,
version_info: &AccelerationStructureVersionInfoKHR
) -> AccelerationStructureCompatibilityKHR
pub unsafe fn device_acceleration_structure_compatibility(
&self,
version_info: &AccelerationStructureVersionInfoKHR
) -> AccelerationStructureCompatibilityKHR
Check if a serialized acceleration structure is compatible with the current device. Vulkan Manual Page
pub unsafe fn copy_acceleration_structure(
&self,
info: &CopyAccelerationStructureInfoKHRBuilder<'_>
) -> Result<(), AscheError>
pub unsafe fn copy_acceleration_structure(
&self,
info: &CopyAccelerationStructureInfoKHRBuilder<'_>
) -> Result<(), AscheError>
Copy an acceleration structure on the host. Vulkan Manual Page
pub unsafe fn copy_acceleration_structure_to_memory(
&self,
info: &CopyAccelerationStructureToMemoryInfoKHR
) -> Result<(), AscheError>
pub unsafe fn copy_acceleration_structure_to_memory(
&self,
info: &CopyAccelerationStructureToMemoryInfoKHR
) -> Result<(), AscheError>
Serialize an acceleration structure on the host. Vulkan Manual Page
pub unsafe fn copy_memory_to_acceleration_structure(
&self,
info: &CopyMemoryToAccelerationStructureInfoKHR
) -> Result<(), AscheError>
pub unsafe fn copy_memory_to_acceleration_structure(
&self,
info: &CopyMemoryToAccelerationStructureInfoKHR
) -> Result<(), AscheError>
Deserialize an acceleration structure on the host. Vulkan Manual Page
pub unsafe fn update_descriptor_sets(
&self,
descriptor_writes: &[WriteDescriptorSetBuilder<'_>],
descriptor_copies: &[CopyDescriptorSetBuilder<'_>]
)
pub unsafe fn update_descriptor_sets(
&self,
descriptor_writes: &[WriteDescriptorSetBuilder<'_>],
descriptor_copies: &[CopyDescriptorSetBuilder<'_>]
)
Update the contents of a descriptor set object. Vulkan Manual Page
Wait for a device to become idle. Vulkan Manual Page