Trait vulkanalia::vk::NvRayTracingExtension
source · pub trait NvRayTracingExtension: DeviceV1_0 {
const METADATA: Extension = NV_RAY_TRACING_EXTENSION;
// Provided methods
unsafe fn bind_acceleration_structure_memory_nv(
&self,
bind_infos: &[impl Cast<Target = BindAccelerationStructureMemoryInfoNV>]
) -> VkResult<()> { ... }
unsafe fn cmd_build_acceleration_structure_nv(
&self,
command_buffer: CommandBuffer,
info: &AccelerationStructureInfoNV,
instance_data: Buffer,
instance_offset: DeviceSize,
update: bool,
dst: AccelerationStructureNV,
src: AccelerationStructureNV,
scratch: Buffer,
scratch_offset: DeviceSize
) { ... }
unsafe fn cmd_copy_acceleration_structure_nv(
&self,
command_buffer: CommandBuffer,
dst: AccelerationStructureNV,
src: AccelerationStructureNV,
mode: CopyAccelerationStructureModeKHR
) { ... }
unsafe fn cmd_trace_rays_nv(
&self,
command_buffer: CommandBuffer,
raygen_shader_binding_table_buffer: Buffer,
raygen_shader_binding_offset: DeviceSize,
miss_shader_binding_table_buffer: Buffer,
miss_shader_binding_offset: DeviceSize,
miss_shader_binding_stride: DeviceSize,
hit_shader_binding_table_buffer: Buffer,
hit_shader_binding_offset: DeviceSize,
hit_shader_binding_stride: DeviceSize,
callable_shader_binding_table_buffer: Buffer,
callable_shader_binding_offset: DeviceSize,
callable_shader_binding_stride: DeviceSize,
width: u32,
height: u32,
depth: u32
) { ... }
unsafe fn cmd_write_acceleration_structures_properties_nv(
&self,
command_buffer: CommandBuffer,
acceleration_structures: &[AccelerationStructureNV],
query_type: QueryType,
query_pool: QueryPool,
first_query: u32
) { ... }
unsafe fn compile_deferred_nv(
&self,
pipeline: Pipeline,
shader: u32
) -> VkResult<()> { ... }
unsafe fn create_acceleration_structure_nv(
&self,
create_info: &AccelerationStructureCreateInfoNV,
allocator: Option<&AllocationCallbacks>
) -> VkResult<AccelerationStructureNV> { ... }
unsafe fn create_ray_tracing_pipelines_nv(
&self,
pipeline_cache: PipelineCache,
create_infos: &[impl Cast<Target = RayTracingPipelineCreateInfoNV>],
allocator: Option<&AllocationCallbacks>
) -> VkSuccessResult<Vec<Pipeline>> { ... }
unsafe fn destroy_acceleration_structure_nv(
&self,
acceleration_structure: AccelerationStructureNV,
allocator: Option<&AllocationCallbacks>
) { ... }
unsafe fn get_acceleration_structure_handle_nv(
&self,
acceleration_structure: AccelerationStructureNV,
data: &mut [u8]
) -> VkResult<()> { ... }
unsafe fn get_acceleration_structure_memory_requirements_nv(
&self,
info: &AccelerationStructureMemoryRequirementsInfoNV
) -> MemoryRequirements2KHR { ... }
unsafe fn get_ray_tracing_shader_group_handles_nv(
&self,
pipeline: Pipeline,
first_group: u32,
group_count: u32,
data: &mut [u8]
) -> VkResult<()> { ... }
}
Expand description
Provided Associated Constants§
Provided Methods§
sourceunsafe fn bind_acceleration_structure_memory_nv(
&self,
bind_infos: &[impl Cast<Target = BindAccelerationStructureMemoryInfoNV>]
) -> VkResult<()>
unsafe fn bind_acceleration_structure_memory_nv( &self, bind_infos: &[impl Cast<Target = BindAccelerationStructureMemoryInfoNV>] ) -> VkResult<()>
sourceunsafe fn cmd_build_acceleration_structure_nv(
&self,
command_buffer: CommandBuffer,
info: &AccelerationStructureInfoNV,
instance_data: Buffer,
instance_offset: DeviceSize,
update: bool,
dst: AccelerationStructureNV,
src: AccelerationStructureNV,
scratch: Buffer,
scratch_offset: DeviceSize
)
unsafe fn cmd_build_acceleration_structure_nv( &self, command_buffer: CommandBuffer, info: &AccelerationStructureInfoNV, instance_data: Buffer, instance_offset: DeviceSize, update: bool, dst: AccelerationStructureNV, src: AccelerationStructureNV, scratch: Buffer, scratch_offset: DeviceSize )
sourceunsafe fn cmd_copy_acceleration_structure_nv(
&self,
command_buffer: CommandBuffer,
dst: AccelerationStructureNV,
src: AccelerationStructureNV,
mode: CopyAccelerationStructureModeKHR
)
unsafe fn cmd_copy_acceleration_structure_nv( &self, command_buffer: CommandBuffer, dst: AccelerationStructureNV, src: AccelerationStructureNV, mode: CopyAccelerationStructureModeKHR )
sourceunsafe fn cmd_trace_rays_nv(
&self,
command_buffer: CommandBuffer,
raygen_shader_binding_table_buffer: Buffer,
raygen_shader_binding_offset: DeviceSize,
miss_shader_binding_table_buffer: Buffer,
miss_shader_binding_offset: DeviceSize,
miss_shader_binding_stride: DeviceSize,
hit_shader_binding_table_buffer: Buffer,
hit_shader_binding_offset: DeviceSize,
hit_shader_binding_stride: DeviceSize,
callable_shader_binding_table_buffer: Buffer,
callable_shader_binding_offset: DeviceSize,
callable_shader_binding_stride: DeviceSize,
width: u32,
height: u32,
depth: u32
)
unsafe fn cmd_trace_rays_nv( &self, command_buffer: CommandBuffer, raygen_shader_binding_table_buffer: Buffer, raygen_shader_binding_offset: DeviceSize, miss_shader_binding_table_buffer: Buffer, miss_shader_binding_offset: DeviceSize, miss_shader_binding_stride: DeviceSize, hit_shader_binding_table_buffer: Buffer, hit_shader_binding_offset: DeviceSize, hit_shader_binding_stride: DeviceSize, callable_shader_binding_table_buffer: Buffer, callable_shader_binding_offset: DeviceSize, callable_shader_binding_stride: DeviceSize, width: u32, height: u32, depth: u32 )
sourceunsafe fn cmd_write_acceleration_structures_properties_nv(
&self,
command_buffer: CommandBuffer,
acceleration_structures: &[AccelerationStructureNV],
query_type: QueryType,
query_pool: QueryPool,
first_query: u32
)
unsafe fn cmd_write_acceleration_structures_properties_nv( &self, command_buffer: CommandBuffer, acceleration_structures: &[AccelerationStructureNV], query_type: QueryType, query_pool: QueryPool, first_query: u32 )
sourceunsafe fn create_acceleration_structure_nv(
&self,
create_info: &AccelerationStructureCreateInfoNV,
allocator: Option<&AllocationCallbacks>
) -> VkResult<AccelerationStructureNV>
unsafe fn create_acceleration_structure_nv( &self, create_info: &AccelerationStructureCreateInfoNV, allocator: Option<&AllocationCallbacks> ) -> VkResult<AccelerationStructureNV>
sourceunsafe fn create_ray_tracing_pipelines_nv(
&self,
pipeline_cache: PipelineCache,
create_infos: &[impl Cast<Target = RayTracingPipelineCreateInfoNV>],
allocator: Option<&AllocationCallbacks>
) -> VkSuccessResult<Vec<Pipeline>>
unsafe fn create_ray_tracing_pipelines_nv( &self, pipeline_cache: PipelineCache, create_infos: &[impl Cast<Target = RayTracingPipelineCreateInfoNV>], allocator: Option<&AllocationCallbacks> ) -> VkSuccessResult<Vec<Pipeline>>
sourceunsafe fn destroy_acceleration_structure_nv(
&self,
acceleration_structure: AccelerationStructureNV,
allocator: Option<&AllocationCallbacks>
)
unsafe fn destroy_acceleration_structure_nv( &self, acceleration_structure: AccelerationStructureNV, allocator: Option<&AllocationCallbacks> )
sourceunsafe fn get_acceleration_structure_handle_nv(
&self,
acceleration_structure: AccelerationStructureNV,
data: &mut [u8]
) -> VkResult<()>
unsafe fn get_acceleration_structure_handle_nv( &self, acceleration_structure: AccelerationStructureNV, data: &mut [u8] ) -> VkResult<()>
sourceunsafe fn get_acceleration_structure_memory_requirements_nv(
&self,
info: &AccelerationStructureMemoryRequirementsInfoNV
) -> MemoryRequirements2KHR
unsafe fn get_acceleration_structure_memory_requirements_nv( &self, info: &AccelerationStructureMemoryRequirementsInfoNV ) -> MemoryRequirements2KHR
Object Safety§
This trait is not object safe.