Struct screen_13::graph::PipelinePassRef
source · [−]pub struct PipelinePassRef<'a, T, P> where
T: Access,
P: SharedPointerKind + Send, { /* private fields */ }Implementations
sourceimpl<'a, T, P> PipelinePassRef<'a, T, P> where
T: Access,
P: SharedPointerKind + Send + 'static,
impl<'a, T, P> PipelinePassRef<'a, T, P> where
T: Access,
P: SharedPointerKind + Send + 'static,
pub fn access_descriptor<N>(
self,
descriptor: impl Into<Descriptor>,
node: N,
access: AccessType
) -> Self where
N: Information,
N: View<P>,
ViewType: From<<N as View<P>>::Information>,
<N as View<P>>::Information: From<<N as Information>::Info>,
<N as View<P>>::Subresource: From<<N as View<P>>::Information>,
pub fn access_descriptor_as<N>(
self,
descriptor: impl Into<Descriptor>,
node: N,
access: AccessType,
view_info: impl Into<N::Information>
) -> Self where
N: View<P>,
<N as View<P>>::Information: Into<ViewType>,
<N as View<P>>::Subresource: From<<N as View<P>>::Information>,
pub fn access_descriptor_subrange<N>(
self,
descriptor: impl Into<Descriptor>,
node: N,
access: AccessType,
view_info: impl Into<N::Information>,
subresource: impl Into<N::Subresource>
) -> Self where
N: View<P>,
<N as View<P>>::Information: Into<ViewType>,
pub fn access_node(
self,
node: impl Node<P> + Information,
access: AccessType
) -> Self
pub fn access_node_subrange<N>(
self,
node: N,
access: AccessType,
subresource: impl Into<N::Subresource>
) -> Self where
N: View<P>,
pub fn read_descriptor<N>(
self,
descriptor: impl Into<Descriptor>,
node: N
) -> Self where
N: Information,
N: View<P>,
ViewType: From<<N as View<P>>::Information>,
<N as View<P>>::Information: From<<N as Information>::Info>,
<N as View<P>>::Subresource: From<<N as View<P>>::Information>,
pub fn read_descriptor_as<N>(
self,
descriptor: impl Into<Descriptor>,
node: N,
view_info: impl Into<N::Information>
) -> Self where
N: View<P>,
<N as View<P>>::Information: Into<ViewType>,
<N as View<P>>::Subresource: From<<N as View<P>>::Information>,
pub fn read_descriptor_subrange<N>(
self,
descriptor: impl Into<Descriptor>,
node: N,
view_info: impl Into<N::Information>,
subresource: impl Into<N::Subresource>
) -> Self where
N: View<P>,
<N as View<P>>::Information: Into<ViewType>,
pub fn read_node(self, node: impl Node<P> + Information) -> Self
pub fn read_node_subrange<N>(
self,
node: N,
subresource: impl Into<N::Subresource>
) -> Self where
N: View<P>,
pub fn submit_pass(self) -> &'a mut RenderGraph<P>
pub fn write_descriptor<N>(
self,
descriptor: impl Into<Descriptor>,
node: N
) -> Self where
N: Information,
N: View<P>,
<N as View<P>>::Information: Into<ViewType>,
<N as View<P>>::Information: From<<N as Information>::Info>,
<N as View<P>>::Subresource: From<<N as View<P>>::Information>,
pub fn write_descriptor_as<N>(
self,
descriptor: impl Into<Descriptor>,
node: N,
view_info: impl Into<N::Information>
) -> Self where
N: View<P>,
<N as View<P>>::Information: Into<ViewType>,
<N as View<P>>::Subresource: From<<N as View<P>>::Information>,
pub fn write_descriptor_subrange<N>(
self,
descriptor: impl Into<Descriptor>,
node: N,
view_info: impl Into<N::Information>,
subresource: impl Into<N::Subresource>
) -> Self where
N: View<P>,
<N as View<P>>::Information: Into<ViewType>,
pub fn write_node(self, node: impl Node<P> + Information) -> Self
pub fn write_node_subrange<N>(
self,
node: N,
subresource: impl Into<N::Subresource>
) -> Self where
N: View<P>,
sourceimpl<'a, P> PipelinePassRef<'a, ComputePipeline<P>, P> where
P: SharedPointerKind + Send + 'static,
impl<'a, P> PipelinePassRef<'a, ComputePipeline<P>, P> where
P: SharedPointerKind + Send + 'static,
pub fn record_compute(
self,
func: impl FnOnce(Compute<'_, P>) + Send + 'static
) -> Self
sourceimpl<'a, P> PipelinePassRef<'a, GraphicPipeline<P>, P> where
P: SharedPointerKind + Send + 'static,
impl<'a, P> PipelinePassRef<'a, GraphicPipeline<P>, P> where
P: SharedPointerKind + Send + 'static,
sourcepub fn attach_color(
self,
attachment: AttachmentIndex,
image: impl Into<AnyImageNode<P>>
) -> Self
pub fn attach_color(
self,
attachment: AttachmentIndex,
image: impl Into<AnyImageNode<P>>
) -> Self
Specifies VK_ATTACHMENT_LOAD_OP_LOAD and VK_ATTACHMENT_STORE_OP_STORE for the render
pass attachment.
The image is
sourcepub fn attach_color_as(
self,
attachment: AttachmentIndex,
image: impl Into<AnyImageNode<P>>,
view_info: impl Into<ImageViewInfo>
) -> Self
pub fn attach_color_as(
self,
attachment: AttachmentIndex,
image: impl Into<AnyImageNode<P>>,
view_info: impl Into<ImageViewInfo>
) -> Self
Specifies VK_ATTACHMENT_LOAD_OP_LOAD and VK_ATTACHMENT_STORE_OP_STORE for the render
pass attachment.
sourcepub fn attach_depth_stencil(
self,
attachment: AttachmentIndex,
image: impl Into<AnyImageNode<P>>
) -> Self
pub fn attach_depth_stencil(
self,
attachment: AttachmentIndex,
image: impl Into<AnyImageNode<P>>
) -> Self
Specifies VK_ATTACHMENT_LOAD_OP_LOAD and VK_ATTACHMENT_STORE_OP_STORE for the render
pass attachment.
sourcepub fn attach_depth_stencil_as(
self,
attachment: AttachmentIndex,
image: impl Into<AnyImageNode<P>>,
image_view_info: impl Into<ImageViewInfo>
) -> Self
pub fn attach_depth_stencil_as(
self,
attachment: AttachmentIndex,
image: impl Into<AnyImageNode<P>>,
image_view_info: impl Into<ImageViewInfo>
) -> Self
Specifies VK_ATTACHMENT_LOAD_OP_LOAD and VK_ATTACHMENT_STORE_OP_STORE for the render
pass attachment.
sourcepub fn clear_color(self, attachment: AttachmentIndex) -> Self
pub fn clear_color(self, attachment: AttachmentIndex) -> Self
Clears the render pass attachment of any existing data.
sourcepub fn clear_color_value(
self,
attachment: AttachmentIndex,
color: impl Into<Color>
) -> Self
pub fn clear_color_value(
self,
attachment: AttachmentIndex,
color: impl Into<Color>
) -> Self
Clears the render pass attachment of any existing data.
sourcepub fn clear_depth_stencil(self, attachment: AttachmentIndex) -> Self
pub fn clear_depth_stencil(self, attachment: AttachmentIndex) -> Self
Clears the render pass attachment of any existing data.
sourcepub fn clear_depth_stencil_value(
self,
attachment: AttachmentIndex,
depth_value: f32,
stencil_value: u32
) -> Self
pub fn clear_depth_stencil_value(
self,
attachment: AttachmentIndex,
depth_value: f32,
stencil_value: u32
) -> Self
Clears the render pass attachment of any existing data.
sourcepub fn load_color(
self,
attachment: AttachmentIndex,
image: impl Into<AnyImageNode<P>>
) -> Self
pub fn load_color(
self,
attachment: AttachmentIndex,
image: impl Into<AnyImageNode<P>>
) -> Self
Specifies VK_ATTACHMENT_LOAD_OP_LOAD for the render pass attachment, and loads an image
into the framebuffer.
NOTE: Order matters, call load before resolve or store.
sourcepub fn load_color_as(
self,
attachment: AttachmentIndex,
image: impl Into<AnyImageNode<P>>,
image_view_info: impl Into<ImageViewInfo>
) -> Self
pub fn load_color_as(
self,
attachment: AttachmentIndex,
image: impl Into<AnyImageNode<P>>,
image_view_info: impl Into<ImageViewInfo>
) -> Self
Specifies VK_ATTACHMENT_LOAD_OP_LOAD for the render pass attachment, and loads an image
into the framebuffer.
NOTE: Order matters, call load before resolve or store.
sourcepub fn load_depth_stencil(
self,
attachment: AttachmentIndex,
image: impl Into<AnyImageNode<P>>
) -> Self
pub fn load_depth_stencil(
self,
attachment: AttachmentIndex,
image: impl Into<AnyImageNode<P>>
) -> Self
Specifies VK_ATTACHMENT_LOAD_OP_LOAD for the render pass attachment, and loads an image
into the framebuffer.
NOTE: Order matters, call load before resolve or store.
sourcepub fn load_depth_stencil_as(
self,
attachment: AttachmentIndex,
image: impl Into<AnyImageNode<P>>,
image_view_info: impl Into<ImageViewInfo>
) -> Self
pub fn load_depth_stencil_as(
self,
attachment: AttachmentIndex,
image: impl Into<AnyImageNode<P>>,
image_view_info: impl Into<ImageViewInfo>
) -> Self
Specifies VK_ATTACHMENT_LOAD_OP_LOAD for the render pass attachment, and loads an image
into the framebuffer.
NOTE: Order matters, call load before resolve or store.
sourcepub fn record_subpass(
self,
func: impl FnOnce(Draw<'_, P>) + Send + 'static
) -> Self
pub fn record_subpass(
self,
func: impl FnOnce(Draw<'_, P>) + Send + 'static
) -> Self
Append a graphic subpass onto the current pass of the parent render graph.
sourcepub fn resolve_color(
self,
attachment: AttachmentIndex,
image: impl Into<AnyImageNode<P>>
) -> Self
pub fn resolve_color(
self,
attachment: AttachmentIndex,
image: impl Into<AnyImageNode<P>>
) -> Self
Resolves a multisample framebuffer to a non-multisample image for the render pass attachment.
NOTE: Order matters, call resolve after load.
sourcepub fn resolve_color_as(
self,
attachment: AttachmentIndex,
image: impl Into<AnyImageNode<P>>,
image_view_info: impl Into<ImageViewInfo>
) -> Self
pub fn resolve_color_as(
self,
attachment: AttachmentIndex,
image: impl Into<AnyImageNode<P>>,
image_view_info: impl Into<ImageViewInfo>
) -> Self
Resolves a multisample framebuffer to a non-multisample image for the render pass attachment.
NOTE: Order matters, call resolve after load.
sourcepub fn resolve_depth_stencil(
self,
attachment: AttachmentIndex,
image: impl Into<AnyImageNode<P>>
) -> Self
pub fn resolve_depth_stencil(
self,
attachment: AttachmentIndex,
image: impl Into<AnyImageNode<P>>
) -> Self
Resolves a multisample framebuffer to a non-multisample image for the render pass attachment.
NOTE: Order matters, call resolve after load.
sourcepub fn resolve_depth_stencil_as(
self,
attachment: AttachmentIndex,
image: impl Into<AnyImageNode<P>>,
image_view_info: impl Into<ImageViewInfo>
) -> Self
pub fn resolve_depth_stencil_as(
self,
attachment: AttachmentIndex,
image: impl Into<AnyImageNode<P>>,
image_view_info: impl Into<ImageViewInfo>
) -> Self
Resolves a multisample framebuffer to a non-multisample image for the render pass attachment.
NOTE: Order matters, call resolve after load.
sourcepub fn set_depth_stencil(
&mut self,
depth_stencil: DepthStencilMode
) -> &mut Self
pub fn set_depth_stencil(
&mut self,
depth_stencil: DepthStencilMode
) -> &mut Self
Sets a particular depth/stencil mode.
The default depth/stencil mode is:
DepthStencilMode {
back: StencilMode::Noop,
front: StencilMode::Noop,
bounds_test: false,
depth_test: true,
depth_write: true,
stencil_test: false,
compare_op: vk::CompareOp::GREATER_OR_EQUAL,
min: OrderedFloat(0.0),
max: OrderedFloat(1.0),
}sourcepub fn set_render_area(
&mut self,
x: i32,
y: i32,
width: u32,
height: u32
) -> &mut Self
pub fn set_render_area(
&mut self,
x: i32,
y: i32,
width: u32,
height: u32
) -> &mut Self
Sets the [renderArea](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkRenderPassBeginInfo.html#_c_specification)
field when beginning a render pass.
NOTE: Setting this value will cause the viewport and scissor to be unset, which is not the default
behavior. When this value is set you should call set_viewport and set_scissor on the subpass.
If not set, this value defaults to the first loaded, resolved, or stored attachment dimensions and
sets the viewport and scissor to the same values, with a 0..1 depth if not specified by
set_depth_stencil.
sourcepub fn store_color(
self,
attachment: AttachmentIndex,
image: impl Into<AnyImageNode<P>>
) -> Self
pub fn store_color(
self,
attachment: AttachmentIndex,
image: impl Into<AnyImageNode<P>>
) -> Self
Specifies VK_ATTACHMENT_STORE_OP_STORE for the render pass attachment, and stores the
rendered pixels into an image.
NOTE: Order matters, call store after load.
sourcepub fn store_color_as(
self,
attachment: AttachmentIndex,
image: impl Into<AnyImageNode<P>>,
image_view_info: impl Into<ImageViewInfo>
) -> Self
pub fn store_color_as(
self,
attachment: AttachmentIndex,
image: impl Into<AnyImageNode<P>>,
image_view_info: impl Into<ImageViewInfo>
) -> Self
Specifies VK_ATTACHMENT_STORE_OP_STORE for the render pass attachment, and stores the
rendered pixels into an image.
NOTE: Order matters, call store after load.
sourcepub fn store_depth_stencil(
self,
attachment: AttachmentIndex,
image: impl Into<AnyImageNode<P>>
) -> Self
pub fn store_depth_stencil(
self,
attachment: AttachmentIndex,
image: impl Into<AnyImageNode<P>>
) -> Self
Specifies VK_ATTACHMENT_STORE_OP_STORE for the render pass attachment, and stores the
rendered pixels into an image.
NOTE: Order matters, call store after load.
sourcepub fn store_depth_stencil_as(
self,
attachment: AttachmentIndex,
image: impl Into<AnyImageNode<P>>,
image_view_info: impl Into<ImageViewInfo>
) -> Self
pub fn store_depth_stencil_as(
self,
attachment: AttachmentIndex,
image: impl Into<AnyImageNode<P>>,
image_view_info: impl Into<ImageViewInfo>
) -> Self
Specifies VK_ATTACHMENT_STORE_OP_STORE for the render pass attachment, and stores the
rendered pixels into an image.
NOTE: Order matters, call store after load.
sourceimpl<'a, P> PipelinePassRef<'a, RayTracePipeline<P>, P> where
P: SharedPointerKind + Send + 'static,
impl<'a, P> PipelinePassRef<'a, RayTracePipeline<P>, P> where
P: SharedPointerKind + Send + 'static,
pub fn record_ray_trace(
self,
func: impl FnOnce(RayTrace<'_, P>) + Send + 'static
) -> Self
Trait Implementations
sourceimpl<'a, P> Bind<PassRef<'a, P>, PipelinePassRef<'a, ComputePipeline<P>, P>, P> for &'a SharedPointer<ComputePipeline<P>, P> where
P: SharedPointerKind + Send + 'static,
impl<'a, P> Bind<PassRef<'a, P>, PipelinePassRef<'a, ComputePipeline<P>, P>, P> for &'a SharedPointer<ComputePipeline<P>, P> where
P: SharedPointerKind + Send + 'static,
fn bind(
self,
pass: PassRef<'a, P>
) -> PipelinePassRef<'_, ComputePipeline<P>, P>
sourceimpl<'a, P> Bind<PassRef<'a, P>, PipelinePassRef<'a, GraphicPipeline<P>, P>, P> for &'a SharedPointer<GraphicPipeline<P>, P> where
P: SharedPointerKind + Send + 'static,
impl<'a, P> Bind<PassRef<'a, P>, PipelinePassRef<'a, GraphicPipeline<P>, P>, P> for &'a SharedPointer<GraphicPipeline<P>, P> where
P: SharedPointerKind + Send + 'static,
fn bind(
self,
pass: PassRef<'a, P>
) -> PipelinePassRef<'_, GraphicPipeline<P>, P>
sourceimpl<'a, P> Bind<PassRef<'a, P>, PipelinePassRef<'a, RayTracePipeline<P>, P>, P> for &'a SharedPointer<RayTracePipeline<P>, P> where
P: SharedPointerKind + Send + 'static,
impl<'a, P> Bind<PassRef<'a, P>, PipelinePassRef<'a, RayTracePipeline<P>, P>, P> for &'a SharedPointer<RayTracePipeline<P>, P> where
P: SharedPointerKind + Send + 'static,
fn bind(
self,
pass: PassRef<'a, P>
) -> PipelinePassRef<'_, RayTracePipeline<P>, P>
Auto Trait Implementations
impl<'a, T, P> !RefUnwindSafe for PipelinePassRef<'a, T, P>
impl<'a, T, P> Send for PipelinePassRef<'a, T, P> where
T: Send,
impl<'a, T, P> !Sync for PipelinePassRef<'a, T, P>
impl<'a, T, P> Unpin for PipelinePassRef<'a, T, P> where
T: Unpin,
impl<'a, T, P> !UnwindSafe for PipelinePassRef<'a, T, P>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more