Struct rafx_renderer::RenderFrameJob
source · pub struct RenderFrameJob {
pub thread_pool: Box<dyn RendererThreadPool>,
pub render_resources: Arc<RenderResources>,
pub prepared_render_graph: PreparedRenderGraph,
pub resource_context: ResourceContext,
pub frame_packets: Vec<Box<dyn RenderFeatureFramePacket>>,
pub render_registry: RenderRegistry,
pub device_context: RafxDeviceContext,
pub graphics_queue: RafxQueue,
pub render_views: Vec<RenderView>,
pub feature_plugins: Arc<Vec<Arc<dyn RenderFeaturePlugin>>>,
pub pipeline_plugin: Arc<dyn RendererPipelinePlugin>,
}
Expand description
The RenderFrameJob
is responsible for the prepare
and write
steps of the Renderer
pipeline.
This is created by Renderer::try_create_render_job
with the results of the extract
step.
Fields§
§thread_pool: Box<dyn RendererThreadPool>
§render_resources: Arc<RenderResources>
§prepared_render_graph: PreparedRenderGraph
§resource_context: ResourceContext
§frame_packets: Vec<Box<dyn RenderFeatureFramePacket>>
§render_registry: RenderRegistry
§device_context: RafxDeviceContext
§graphics_queue: RafxQueue
§render_views: Vec<RenderView>
§feature_plugins: Arc<Vec<Arc<dyn RenderFeaturePlugin>>>
§pipeline_plugin: Arc<dyn RendererPipelinePlugin>
Implementations§
source§impl RenderFrameJob
impl RenderFrameJob
pub fn render_async( self, presentable_frame: RafxPresentableFrame ) -> RenderFrameJobResult
pub fn prepare_render_object_instance_chunk<'prepare>( prepare_job: &Arc<dyn RenderFeaturePrepareJob<'prepare> + 'prepare>, chunk_index: usize, chunk_size: usize )
pub fn prepare_render_object_instance_all<'prepare>( prepare_job: &Arc<dyn RenderFeaturePrepareJob<'prepare> + 'prepare> )
pub fn prepare_render_object_instance_per_view_chunk<'prepare>( prepare_job: &Arc<dyn RenderFeaturePrepareJob<'prepare> + 'prepare>, view_packet: &dyn RenderFeatureViewPacket, view_submit_packet: &dyn RenderFeatureViewSubmitPacket, chunk_index: usize, chunk_size: usize )
pub fn prepare_render_object_instance_per_view_all<'prepare>( prepare_job: &Arc<dyn RenderFeaturePrepareJob<'prepare> + 'prepare>, view_packet: &dyn RenderFeatureViewPacket, view_submit_packet: &dyn RenderFeatureViewSubmitPacket )
pub fn create_submit_node_blocks_for_view<'prepare>( render_registry: &RenderRegistry, render_view_index: &RenderViewIndex, num_view_submit_nodes: &Vec<usize>, finished_prepare_jobs: &Vec<Arc<dyn RenderFeaturePrepareJob<'prepare> + 'prepare>> ) -> Vec<ViewPhaseSubmitNodeBlock>
Auto Trait Implementations§
impl !RefUnwindSafe for RenderFrameJob
impl Send for RenderFrameJob
impl !Sync for RenderFrameJob
impl Unpin for RenderFrameJob
impl !UnwindSafe for RenderFrameJob
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
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
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
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.