Struct screen_13::driver::physical_device::RayTraceProperties
source · pub struct RayTraceProperties {
pub shader_group_handle_size: u32,
pub max_ray_recursion_depth: u32,
pub max_shader_group_stride: u32,
pub shader_group_base_alignment: u32,
pub shader_group_handle_capture_replay_size: u32,
pub max_ray_dispatch_invocation_count: u32,
pub shader_group_handle_alignment: u32,
pub max_ray_hit_attribute_size: u32,
}
Expand description
Properties of the physical device for ray tracing.
See
VkPhysicalDeviceRayTracingPipelinePropertiesKHR
manual page.
Fields§
§shader_group_handle_size: u32
The size in bytes of the shader header.
max_ray_recursion_depth: u32
The maximum number of levels of ray recursion allowed in a trace command.
max_shader_group_stride: u32
The maximum stride in bytes allowed between shader groups in the shader binding table.
shader_group_base_alignment: u32
The required alignment in bytes for the base of the shader binding table.
shader_group_handle_capture_replay_size: u32
The number of bytes for the information required to do capture and replay for shader group handles.
max_ray_dispatch_invocation_count: u32
The maximum number of ray generation shader invocations which may be produced by a single vkCmdTraceRaysIndirectKHR or vkCmdTraceRaysKHR command.
shader_group_handle_alignment: u32
The required alignment in bytes for each shader binding table entry.
The value must be a power of two.
max_ray_hit_attribute_size: u32
The maximum size in bytes for a ray attribute structure.
Trait Implementations§
source§impl Debug for RayTraceProperties
impl Debug for RayTraceProperties
source§impl From<PhysicalDeviceRayTracingPipelinePropertiesKHR> for RayTraceProperties
impl From<PhysicalDeviceRayTracingPipelinePropertiesKHR> for RayTraceProperties
source§fn from(props: PhysicalDeviceRayTracingPipelinePropertiesKHR) -> Self
fn from(props: PhysicalDeviceRayTracingPipelinePropertiesKHR) -> Self
Auto Trait Implementations§
impl Freeze for RayTraceProperties
impl RefUnwindSafe for RayTraceProperties
impl Send for RayTraceProperties
impl Sync for RayTraceProperties
impl Unpin for RayTraceProperties
impl UnwindSafe for RayTraceProperties
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
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.