Struct screen_13::driver::ray_trace::RayTracePipelineInfo
source · #[non_exhaustive]pub struct RayTracePipelineInfo {
pub bindless_descriptor_count: u32,
pub dynamic_stack_size: bool,
pub max_ray_recursion_depth: u32,
}
Expand description
Information used to create a RayTracePipeline
instance.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.bindless_descriptor_count: u32
The number of descriptors to allocate for a given binding when using bindless (unbounded) syntax.
The default is 8192
.
§Examples
Basic usage (GLSL):
#version 460 core
#extension GL_EXT_nonuniform_qualifier : require
layout(set = 0, binding = 0, rgba8) readonly uniform image2D my_binding[];
void main()
{
// my_binding will have space for 8,192 images by default
}
dynamic_stack_size: bool
Allow setting the stack size dynamically for a ray trace pipeline.
When set, you must manually set the stack size during ray trace passes using
RayTrace::set_stack_size
.
max_ray_recursion_depth: u32
The maximum recursion depth of shaders executed by this pipeline.
The default is 16
.
Implementations§
source§impl RayTracePipelineInfo
impl RayTracePipelineInfo
sourcepub fn to_builder(self) -> RayTracePipelineInfoBuilder
pub fn to_builder(self) -> RayTracePipelineInfoBuilder
Converts a RayTracePipelineInfo
into a RayTracePipelineInfoBuilder
.
Trait Implementations§
source§impl Clone for RayTracePipelineInfo
impl Clone for RayTracePipelineInfo
source§fn clone(&self) -> RayTracePipelineInfo
fn clone(&self) -> RayTracePipelineInfo
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 moresource§impl Debug for RayTracePipelineInfo
impl Debug for RayTracePipelineInfo
source§impl Default for RayTracePipelineInfo
impl Default for RayTracePipelineInfo
source§impl From<RayTracePipelineInfoBuilder> for RayTracePipelineInfo
impl From<RayTracePipelineInfoBuilder> for RayTracePipelineInfo
source§fn from(info: RayTracePipelineInfoBuilder) -> Self
fn from(info: RayTracePipelineInfoBuilder) -> Self
Converts to this type from the input type.
source§impl Hash for RayTracePipelineInfo
impl Hash for RayTracePipelineInfo
source§impl PartialEq for RayTracePipelineInfo
impl PartialEq for RayTracePipelineInfo
source§fn eq(&self, other: &RayTracePipelineInfo) -> bool
fn eq(&self, other: &RayTracePipelineInfo) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl Copy for RayTracePipelineInfo
impl Eq for RayTracePipelineInfo
impl StructuralPartialEq for RayTracePipelineInfo
Auto Trait Implementations§
impl Freeze for RayTracePipelineInfo
impl RefUnwindSafe for RayTracePipelineInfo
impl Send for RayTracePipelineInfo
impl Sync for RayTracePipelineInfo
impl Unpin for RayTracePipelineInfo
impl UnwindSafe for RayTracePipelineInfo
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: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
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
)source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)