[][src]Struct ash::vk::NvRayTracingFn

pub struct NvRayTracingFn {
    pub create_acceleration_structure_nv: extern "system" fn(device: Device, p_create_info: *const AccelerationStructureCreateInfoNV, p_allocator: *const AllocationCallbacks, p_acceleration_structure: *mut AccelerationStructureNV) -> Result,
    pub destroy_acceleration_structure_nv: extern "system" fn(device: Device, acceleration_structure: AccelerationStructureNV, p_allocator: *const AllocationCallbacks) -> c_void,
    pub get_acceleration_structure_memory_requirements_nv: extern "system" fn(device: Device, p_info: *const AccelerationStructureMemoryRequirementsInfoNV, p_memory_requirements: *mut MemoryRequirements2KHR) -> c_void,
    pub bind_acceleration_structure_memory_nv: extern "system" fn(device: Device, bind_info_count: u32, p_bind_infos: *const BindAccelerationStructureMemoryInfoNV) -> Result,
    pub cmd_build_acceleration_structure_nv: extern "system" fn(command_buffer: CommandBuffer, p_info: *const AccelerationStructureInfoNV, instance_data: Buffer, instance_offset: DeviceSize, update: Bool32, dst: AccelerationStructureNV, src: AccelerationStructureNV, scratch: Buffer, scratch_offset: DeviceSize) -> c_void,
    pub cmd_copy_acceleration_structure_nv: extern "system" fn(command_buffer: CommandBuffer, dst: AccelerationStructureNV, src: AccelerationStructureNV, mode: CopyAccelerationStructureModeNV) -> c_void,
    pub cmd_trace_rays_nv: extern "system" fn(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) -> c_void,
    pub create_ray_tracing_pipelines_nv: extern "system" fn(device: Device, pipeline_cache: PipelineCache, create_info_count: u32, p_create_infos: *const RayTracingPipelineCreateInfoNV, p_allocator: *const AllocationCallbacks, p_pipelines: *mut Pipeline) -> Result,
    pub get_ray_tracing_shader_group_handles_nv: extern "system" fn(device: Device, pipeline: Pipeline, first_group: u32, group_count: u32, data_size: usize, p_data: *mut c_void) -> Result,
    pub get_acceleration_structure_handle_nv: extern "system" fn(device: Device, acceleration_structure: AccelerationStructureNV, data_size: usize, p_data: *mut c_void) -> Result,
    pub cmd_write_acceleration_structures_properties_nv: extern "system" fn(command_buffer: CommandBuffer, acceleration_structure_count: u32, p_acceleration_structures: *const AccelerationStructureNV, query_type: QueryType, query_pool: QueryPool, first_query: u32) -> c_void,
    pub compile_deferred_nv: extern "system" fn(device: Device, pipeline: Pipeline, shader: u32) -> Result,
}

Fields

create_acceleration_structure_nv: extern "system" fn(device: Device, p_create_info: *const AccelerationStructureCreateInfoNV, p_allocator: *const AllocationCallbacks, p_acceleration_structure: *mut AccelerationStructureNV) -> Resultdestroy_acceleration_structure_nv: extern "system" fn(device: Device, acceleration_structure: AccelerationStructureNV, p_allocator: *const AllocationCallbacks) -> c_voidget_acceleration_structure_memory_requirements_nv: extern "system" fn(device: Device, p_info: *const AccelerationStructureMemoryRequirementsInfoNV, p_memory_requirements: *mut MemoryRequirements2KHR) -> c_voidbind_acceleration_structure_memory_nv: extern "system" fn(device: Device, bind_info_count: u32, p_bind_infos: *const BindAccelerationStructureMemoryInfoNV) -> Resultcmd_build_acceleration_structure_nv: extern "system" fn(command_buffer: CommandBuffer, p_info: *const AccelerationStructureInfoNV, instance_data: Buffer, instance_offset: DeviceSize, update: Bool32, dst: AccelerationStructureNV, src: AccelerationStructureNV, scratch: Buffer, scratch_offset: DeviceSize) -> c_voidcmd_copy_acceleration_structure_nv: extern "system" fn(command_buffer: CommandBuffer, dst: AccelerationStructureNV, src: AccelerationStructureNV, mode: CopyAccelerationStructureModeNV) -> c_voidcmd_trace_rays_nv: extern "system" fn(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) -> c_voidcreate_ray_tracing_pipelines_nv: extern "system" fn(device: Device, pipeline_cache: PipelineCache, create_info_count: u32, p_create_infos: *const RayTracingPipelineCreateInfoNV, p_allocator: *const AllocationCallbacks, p_pipelines: *mut Pipeline) -> Resultget_ray_tracing_shader_group_handles_nv: extern "system" fn(device: Device, pipeline: Pipeline, first_group: u32, group_count: u32, data_size: usize, p_data: *mut c_void) -> Resultget_acceleration_structure_handle_nv: extern "system" fn(device: Device, acceleration_structure: AccelerationStructureNV, data_size: usize, p_data: *mut c_void) -> Resultcmd_write_acceleration_structures_properties_nv: extern "system" fn(command_buffer: CommandBuffer, acceleration_structure_count: u32, p_acceleration_structures: *const AccelerationStructureNV, query_type: QueryType, query_pool: QueryPool, first_query: u32) -> c_voidcompile_deferred_nv: extern "system" fn(device: Device, pipeline: Pipeline, shader: u32) -> Result

Methods

impl NvRayTracingFn[src]

pub fn name() -> &'static CStr[src]

impl NvRayTracingFn[src]

pub fn load<F>(_f: F) -> Self where
    F: FnMut(&CStr) -> *const c_void
[src]

pub unsafe fn create_acceleration_structure_nv(
    &self,
    device: Device,
    p_create_info: *const AccelerationStructureCreateInfoNV,
    p_allocator: *const AllocationCallbacks,
    p_acceleration_structure: *mut AccelerationStructureNV
) -> Result
[src]

pub unsafe fn destroy_acceleration_structure_nv(
    &self,
    device: Device,
    acceleration_structure: AccelerationStructureNV,
    p_allocator: *const AllocationCallbacks
) -> c_void
[src]

pub unsafe fn get_acceleration_structure_memory_requirements_nv(
    &self,
    device: Device,
    p_info: *const AccelerationStructureMemoryRequirementsInfoNV,
    p_memory_requirements: *mut MemoryRequirements2KHR
) -> c_void
[src]

pub unsafe fn bind_acceleration_structure_memory_nv(
    &self,
    device: Device,
    bind_info_count: u32,
    p_bind_infos: *const BindAccelerationStructureMemoryInfoNV
) -> Result
[src]

pub unsafe fn cmd_build_acceleration_structure_nv(
    &self,
    command_buffer: CommandBuffer,
    p_info: *const AccelerationStructureInfoNV,
    instance_data: Buffer,
    instance_offset: DeviceSize,
    update: Bool32,
    dst: AccelerationStructureNV,
    src: AccelerationStructureNV,
    scratch: Buffer,
    scratch_offset: DeviceSize
) -> c_void
[src]

pub unsafe fn cmd_copy_acceleration_structure_nv(
    &self,
    command_buffer: CommandBuffer,
    dst: AccelerationStructureNV,
    src: AccelerationStructureNV,
    mode: CopyAccelerationStructureModeNV
) -> c_void
[src]

pub 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
) -> c_void
[src]

pub unsafe fn create_ray_tracing_pipelines_nv(
    &self,
    device: Device,
    pipeline_cache: PipelineCache,
    create_info_count: u32,
    p_create_infos: *const RayTracingPipelineCreateInfoNV,
    p_allocator: *const AllocationCallbacks,
    p_pipelines: *mut Pipeline
) -> Result
[src]

pub unsafe fn get_ray_tracing_shader_group_handles_nv(
    &self,
    device: Device,
    pipeline: Pipeline,
    first_group: u32,
    group_count: u32,
    data_size: usize,
    p_data: *mut c_void
) -> Result
[src]

pub unsafe fn get_acceleration_structure_handle_nv(
    &self,
    device: Device,
    acceleration_structure: AccelerationStructureNV,
    data_size: usize,
    p_data: *mut c_void
) -> Result
[src]

pub unsafe fn cmd_write_acceleration_structures_properties_nv(
    &self,
    command_buffer: CommandBuffer,
    acceleration_structure_count: u32,
    p_acceleration_structures: *const AccelerationStructureNV,
    query_type: QueryType,
    query_pool: QueryPool,
    first_query: u32
) -> c_void
[src]

pub unsafe fn compile_deferred_nv(
    &self,
    device: Device,
    pipeline: Pipeline,
    shader: u32
) -> Result
[src]

Trait Implementations

impl Sync for NvRayTracingFn[src]

impl Clone for NvRayTracingFn[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Send for NvRayTracingFn[src]

Auto Trait Implementations

impl Unpin for NvRayTracingFn

impl UnwindSafe for NvRayTracingFn

impl RefUnwindSafe for NvRayTracingFn

Blanket Implementations

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]