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 Freeze for RenderFrameJob
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
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>
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.Source§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.Source§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.Source§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.