pub struct RayTracingPipeline { /* private fields */ }
Implementations§
Source§impl RayTracingPipeline
impl RayTracingPipeline
pub fn new(instance: &Instance, device: &Device) -> Self
pub unsafe fn get_properties( instance: &Instance, pdevice: PhysicalDevice, ) -> PhysicalDeviceRayTracingPipelinePropertiesKHR
Sourcepub unsafe fn cmd_trace_rays(
&self,
command_buffer: CommandBuffer,
raygen_shader_binding_tables: &StridedDeviceAddressRegionKHR,
miss_shader_binding_tables: &StridedDeviceAddressRegionKHR,
hit_shader_binding_tables: &StridedDeviceAddressRegionKHR,
callable_shader_binding_tables: &StridedDeviceAddressRegionKHR,
width: u32,
height: u32,
depth: u32,
)
pub unsafe fn cmd_trace_rays( &self, command_buffer: CommandBuffer, raygen_shader_binding_tables: &StridedDeviceAddressRegionKHR, miss_shader_binding_tables: &StridedDeviceAddressRegionKHR, hit_shader_binding_tables: &StridedDeviceAddressRegionKHR, callable_shader_binding_tables: &StridedDeviceAddressRegionKHR, width: u32, height: u32, depth: u32, )
Sourcepub unsafe fn create_ray_tracing_pipelines(
&self,
deferred_operation: DeferredOperationKHR,
pipeline_cache: PipelineCache,
create_info: &[RayTracingPipelineCreateInfoKHR],
allocation_callbacks: Option<&AllocationCallbacks>,
) -> VkResult<Vec<Pipeline>>
pub unsafe fn create_ray_tracing_pipelines( &self, deferred_operation: DeferredOperationKHR, pipeline_cache: PipelineCache, create_info: &[RayTracingPipelineCreateInfoKHR], allocation_callbacks: Option<&AllocationCallbacks>, ) -> VkResult<Vec<Pipeline>>
Sourcepub unsafe fn get_ray_tracing_shader_group_handles(
&self,
pipeline: Pipeline,
first_group: u32,
group_count: u32,
data_size: usize,
) -> VkResult<Vec<u8>>
pub unsafe fn get_ray_tracing_shader_group_handles( &self, pipeline: Pipeline, first_group: u32, group_count: u32, data_size: usize, ) -> VkResult<Vec<u8>>
Sourcepub unsafe fn get_ray_tracing_capture_replay_shader_group_handles(
&self,
pipeline: Pipeline,
first_group: u32,
group_count: u32,
data_size: usize,
) -> VkResult<Vec<u8>>
pub unsafe fn get_ray_tracing_capture_replay_shader_group_handles( &self, pipeline: Pipeline, first_group: u32, group_count: u32, data_size: usize, ) -> VkResult<Vec<u8>>
Sourcepub unsafe fn cmd_trace_rays_indirect(
&self,
command_buffer: CommandBuffer,
raygen_shader_binding_table: &[StridedDeviceAddressRegionKHR],
miss_shader_binding_table: &[StridedDeviceAddressRegionKHR],
hit_shader_binding_table: &[StridedDeviceAddressRegionKHR],
callable_shader_binding_table: &[StridedDeviceAddressRegionKHR],
indirect_device_address: DeviceAddress,
)
pub unsafe fn cmd_trace_rays_indirect( &self, command_buffer: CommandBuffer, raygen_shader_binding_table: &[StridedDeviceAddressRegionKHR], miss_shader_binding_table: &[StridedDeviceAddressRegionKHR], hit_shader_binding_table: &[StridedDeviceAddressRegionKHR], callable_shader_binding_table: &[StridedDeviceAddressRegionKHR], indirect_device_address: DeviceAddress, )
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkCmdTraceRaysIndirectKHR.html
indirect_device_address
is a buffer device address which is a pointer to a vk::TraceRaysIndirectCommandKHR
structure containing the trace ray parameters.
Sourcepub unsafe fn get_ray_tracing_shader_group_stack_size(
&self,
pipeline: Pipeline,
group: u32,
group_shader: ShaderGroupShaderKHR,
) -> DeviceSize
pub unsafe fn get_ray_tracing_shader_group_stack_size( &self, pipeline: Pipeline, group: u32, group_shader: ShaderGroupShaderKHR, ) -> DeviceSize
Sourcepub unsafe fn cmd_set_ray_tracing_pipeline_stack_size(
&self,
command_buffer: CommandBuffer,
pipeline_stack_size: u32,
)
pub unsafe fn cmd_set_ray_tracing_pipeline_stack_size( &self, command_buffer: CommandBuffer, pipeline_stack_size: u32, )
pub const fn name() -> &'static CStr
pub fn fp(&self) -> &KhrRayTracingPipelineFn
pub fn device(&self) -> Device
Trait Implementations§
Source§impl Clone for RayTracingPipeline
impl Clone for RayTracingPipeline
Source§fn clone(&self) -> RayTracingPipeline
fn clone(&self) -> RayTracingPipeline
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations§
impl Freeze for RayTracingPipeline
impl RefUnwindSafe for RayTracingPipeline
impl Send for RayTracingPipeline
impl Sync for RayTracingPipeline
impl Unpin for RayTracingPipeline
impl UnwindSafe for RayTracingPipeline
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)