Nebula
Loading...
Searching...
No Matches
Frame::FrameScriptLoader Class Reference

#include <framescriptloader.h>

Static Public Member Functions

static Ptr< FrameScriptLoadFrameScript (const IO::URI &path)
 

Static Private Member Functions

static void ParseFrameScript (const Ptr< Frame::FrameScript > &script, JzonValue *node)
 Main parse function.
 
static void ParseTextureList (const Ptr< Frame::FrameScript > &script, JzonValue *node)
 Parse texture list.
 
static void ParseReadWriteBufferList (const Ptr< Frame::FrameScript > &script, JzonValue *node)
 Parse image read-write buffer list.
 
static FrameOpParseBlit (const Ptr< Frame::FrameScript > &script, JzonValue *node)
 Parse blit.
 
static FrameOpParseCopy (const Ptr< Frame::FrameScript > &script, JzonValue *node)
 Parse subpass copy.
 
static FrameOpParseResolve (const Ptr< Frame::FrameScript > &script, JzonValue *node)
 Parse resolve.
 
static FrameOpParseMipmap (const Ptr< Frame::FrameScript > &script, JzonValue *node)
 Parse subpass copy.
 
static FrameOpParseCompute (const Ptr< Frame::FrameScript > &script, JzonValue *node)
 Parse compute.
 
static FrameOpParsePlugin (const Ptr< Frame::FrameScript > &script, JzonValue *node)
 Parse plugin (custom code execution)
 
static FrameOpParseSubgraph (const Ptr< Frame::FrameScript > &script, JzonValue *node)
 Parse subgraph.
 
static FrameOpParseBarrier (const Ptr< Frame::FrameScript > &script, JzonValue *node)
 Parse barrier.
 
static FrameOpParseSwap (const Ptr< Frame::FrameScript > &script, JzonValue *node)
 Parse swap.
 
static FrameOpParsePresent (const Ptr< Frame::FrameScript > &script, JzonValue *node)
 Parse present.
 
static FrameOpParsePass (const Ptr< Frame::FrameScript > &script, JzonValue *node)
 Parse pass.
 
static void ParseSubmissionList (const Ptr< Frame::FrameScript > &script, JzonValue *node)
 Parse frame submission phase.
 
static void ParseAttachmentList (const Ptr< Frame::FrameScript > &script, CoreGraphics::PassCreateInfo &pass, Util::Array< Resources::ResourceName > &attachmentNames, JzonValue *node)
 Parse attachment list.
 
static void ParseSubpassDepthAttachment (Frame::FramePass *pass, CoreGraphics::Subpass &subpass, Util::Array< Resources::ResourceName > &attachmentNames, JzonValue *node)
 parse subpass depth attachment
 
static void ParseSubpassResolves (Frame::FramePass *pass, CoreGraphics::Subpass &subpass, Util::Array< Resources::ResourceName > &attachmentNames, JzonValue *node)
 parse subpass dependencies
 
static void ParseSubpassList (const Ptr< Frame::FrameScript > &script, CoreGraphics::PassCreateInfo &pass, Frame::FramePass *framePass, Util::Array< Resources::ResourceName > &attachmentNames, JzonValue *node)
 Parse subpass.
 
static void ParseSubpassDependencyList (Frame::FramePass *pass, CoreGraphics::Subpass &subpass, JzonValue *node)
 Parse subpass dependencies.
 
static void ParseSubpassAttachmentList (Frame::FramePass *pass, CoreGraphics::Subpass &subpass, Util::Array< Resources::ResourceName > &attachmentNames, JzonValue *node)
 Parse subpass dependencies.
 
static void ParseSubpassInputList (Frame::FramePass *pass, CoreGraphics::Subpass &subpass, Util::Array< Resources::ResourceName > &attachmentNames, JzonValue *node)
 Parse subpass inputs.
 
static void ParseSubpassPlugin (const Ptr< Frame::FrameScript > &script, Frame::FrameSubpass *subpass, JzonValue *node)
 Parse subpass algorithm.
 
static void ParseSubpassSubgraph (const Ptr< Frame::FrameScript > &script, Frame::FrameSubpass *subpass, JzonValue *node)
 Parse subpass subgraph.
 
static void ParseSubpassBatch (const Ptr< Frame::FrameScript > &script, Frame::FrameSubpass *subpass, JzonValue *node)
 Parse subpass batch.
 
static void ParseSubpassSortedBatch (const Ptr< Frame::FrameScript > &script, Frame::FrameSubpass *subpass, JzonValue *node)
 Parse subpass sorted batch.
 
static void ParseSubpassFullscreenEffect (const Ptr< Frame::FrameScript > &script, Frame::FrameSubpass *subpass, JzonValue *node)
 Parse subpass post effect.
 
static void ParseShaderState (const Ptr< Frame::FrameScript > &script, JzonValue *node, CoreGraphics::ShaderId &shd, CoreGraphics::ResourceTableId &table, Util::Dictionary< Util::StringAtom, CoreGraphics::BufferId > &constantBuffers, Util::Array< Util::Tuple< IndexT, CoreGraphics::BufferId, CoreGraphics::TextureId > > &textures)
 Helper to parse shader state.
 
static void ParseShaderVariables (const Ptr< Frame::FrameScript > &script, const CoreGraphics::ShaderId &shd, CoreGraphics::ResourceTableId &table, Util::Dictionary< Util::StringAtom, CoreGraphics::BufferId > &constantBuffers, Util::Array< Util::Tuple< IndexT, CoreGraphics::BufferId, CoreGraphics::TextureId > > &textures, JzonValue *node)
 Helper to parse shader variables.
 
static void ParseResourceDependencies (const Ptr< Frame::FrameScript > &script, Frame::FrameOp *op, JzonValue *node)
 Helper to parse resources.
 

Static Private Attributes

static Frame::FrameSubmissionLastSubmission [2] = {nullptr, nullptr}
 

Member Function Documentation

◆ LoadFrameScript()

Ptr< Frame::FrameScript > Frame::FrameScriptLoader::LoadFrameScript ( const IO::URI & path)
static

◆ ParseAttachmentList()

void Frame::FrameScriptLoader::ParseAttachmentList ( const Ptr< Frame::FrameScript > & script,
CoreGraphics::PassCreateInfo & pass,
Util::Array< Resources::ResourceName > & attachmentNames,
JzonValue * node )
staticprivate

Parse attachment list.

◆ ParseBarrier()

FrameOp * Frame::FrameScriptLoader::ParseBarrier ( const Ptr< Frame::FrameScript > & script,
JzonValue * node )
staticprivate

Parse barrier.

◆ ParseBlit()

FrameOp * Frame::FrameScriptLoader::ParseBlit ( const Ptr< Frame::FrameScript > & script,
JzonValue * node )
staticprivate

Parse blit.

◆ ParseCompute()

FrameOp * Frame::FrameScriptLoader::ParseCompute ( const Ptr< Frame::FrameScript > & script,
JzonValue * node )
staticprivate

Parse compute.

◆ ParseCopy()

FrameOp * Frame::FrameScriptLoader::ParseCopy ( const Ptr< Frame::FrameScript > & script,
JzonValue * node )
staticprivate

Parse subpass copy.

◆ ParseFrameScript()

void Frame::FrameScriptLoader::ParseFrameScript ( const Ptr< Frame::FrameScript > & script,
JzonValue * node )
staticprivate

Main parse function.

◆ ParseMipmap()

FrameOp * Frame::FrameScriptLoader::ParseMipmap ( const Ptr< Frame::FrameScript > & script,
JzonValue * node )
staticprivate

Parse subpass copy.

◆ ParsePass()

FrameOp * Frame::FrameScriptLoader::ParsePass ( const Ptr< Frame::FrameScript > & script,
JzonValue * node )
staticprivate

Parse pass.

◆ ParsePlugin()

FrameOp * Frame::FrameScriptLoader::ParsePlugin ( const Ptr< Frame::FrameScript > & script,
JzonValue * node )
staticprivate

Parse plugin (custom code execution)

◆ ParsePresent()

FrameOp * Frame::FrameScriptLoader::ParsePresent ( const Ptr< Frame::FrameScript > & script,
JzonValue * node )
staticprivate

Parse present.

◆ ParseReadWriteBufferList()

void Frame::FrameScriptLoader::ParseReadWriteBufferList ( const Ptr< Frame::FrameScript > & script,
JzonValue * node )
staticprivate

Parse image read-write buffer list.

◆ ParseResolve()

FrameOp * Frame::FrameScriptLoader::ParseResolve ( const Ptr< Frame::FrameScript > & script,
JzonValue * node )
staticprivate

Parse resolve.

◆ ParseResourceDependencies()

void Frame::FrameScriptLoader::ParseResourceDependencies ( const Ptr< Frame::FrameScript > & script,
Frame::FrameOp * op,
JzonValue * node )
staticprivate

Helper to parse resources.

◆ ParseShaderState()

void Frame::FrameScriptLoader::ParseShaderState ( const Ptr< Frame::FrameScript > & script,
JzonValue * node,
CoreGraphics::ShaderId & shd,
CoreGraphics::ResourceTableId & table,
Util::Dictionary< Util::StringAtom, CoreGraphics::BufferId > & constantBuffers,
Util::Array< Util::Tuple< IndexT, CoreGraphics::BufferId, CoreGraphics::TextureId > > & textures )
staticprivate

Helper to parse shader state.

◆ ParseShaderVariables()

void Frame::FrameScriptLoader::ParseShaderVariables ( const Ptr< Frame::FrameScript > & script,
const CoreGraphics::ShaderId & shd,
CoreGraphics::ResourceTableId & table,
Util::Dictionary< Util::StringAtom, CoreGraphics::BufferId > & constantBuffers,
Util::Array< Util::Tuple< IndexT, CoreGraphics::BufferId, CoreGraphics::TextureId > > & textures,
JzonValue * node )
staticprivate

Helper to parse shader variables.

◆ ParseSubgraph()

FrameOp * Frame::FrameScriptLoader::ParseSubgraph ( const Ptr< Frame::FrameScript > & script,
JzonValue * node )
staticprivate

Parse subgraph.

◆ ParseSubmissionList()

void Frame::FrameScriptLoader::ParseSubmissionList ( const Ptr< Frame::FrameScript > & script,
JzonValue * node )
staticprivate

Parse frame submission phase.

◆ ParseSubpassAttachmentList()

void Frame::FrameScriptLoader::ParseSubpassAttachmentList ( Frame::FramePass * pass,
CoreGraphics::Subpass & subpass,
Util::Array< Resources::ResourceName > & attachmentNames,
JzonValue * node )
staticprivate

Parse subpass dependencies.

Extend to use attachment names.

◆ ParseSubpassBatch()

void Frame::FrameScriptLoader::ParseSubpassBatch ( const Ptr< Frame::FrameScript > & script,
Frame::FrameSubpass * subpass,
JzonValue * node )
staticprivate

Parse subpass batch.

◆ ParseSubpassDependencyList()

void Frame::FrameScriptLoader::ParseSubpassDependencyList ( Frame::FramePass * pass,
CoreGraphics::Subpass & subpass,
JzonValue * node )
staticprivate

Parse subpass dependencies.

Extend to use subpass names.

◆ ParseSubpassDepthAttachment()

void Frame::FrameScriptLoader::ParseSubpassDepthAttachment ( Frame::FramePass * pass,
CoreGraphics::Subpass & subpass,
Util::Array< Resources::ResourceName > & attachmentNames,
JzonValue * node )
staticprivate

parse subpass depth attachment

◆ ParseSubpassFullscreenEffect()

void Frame::FrameScriptLoader::ParseSubpassFullscreenEffect ( const Ptr< Frame::FrameScript > & script,
Frame::FrameSubpass * subpass,
JzonValue * node )
staticprivate

Parse subpass post effect.

◆ ParseSubpassInputList()

void Frame::FrameScriptLoader::ParseSubpassInputList ( Frame::FramePass * pass,
CoreGraphics::Subpass & subpass,
Util::Array< Resources::ResourceName > & attachmentNames,
JzonValue * node )
staticprivate

Parse subpass inputs.

◆ ParseSubpassList()

void Frame::FrameScriptLoader::ParseSubpassList ( const Ptr< Frame::FrameScript > & script,
CoreGraphics::PassCreateInfo & pass,
Frame::FramePass * framePass,
Util::Array< Resources::ResourceName > & attachmentNames,
JzonValue * node )
staticprivate

Parse subpass.

◆ ParseSubpassPlugin()

void Frame::FrameScriptLoader::ParseSubpassPlugin ( const Ptr< Frame::FrameScript > & script,
Frame::FrameSubpass * subpass,
JzonValue * node )
staticprivate

Parse subpass algorithm.

◆ ParseSubpassResolves()

void Frame::FrameScriptLoader::ParseSubpassResolves ( Frame::FramePass * pass,
CoreGraphics::Subpass & subpass,
Util::Array< Resources::ResourceName > & attachmentNames,
JzonValue * node )
staticprivate

parse subpass dependencies

◆ ParseSubpassSortedBatch()

void Frame::FrameScriptLoader::ParseSubpassSortedBatch ( const Ptr< Frame::FrameScript > & script,
Frame::FrameSubpass * subpass,
JzonValue * node )
staticprivate

Parse subpass sorted batch.

◆ ParseSubpassSubgraph()

void Frame::FrameScriptLoader::ParseSubpassSubgraph ( const Ptr< Frame::FrameScript > & script,
Frame::FrameSubpass * subpass,
JzonValue * node )
staticprivate

Parse subpass subgraph.

◆ ParseSwap()

FrameOp * Frame::FrameScriptLoader::ParseSwap ( const Ptr< Frame::FrameScript > & script,
JzonValue * node )
staticprivate

Parse swap.

◆ ParseTextureList()

void Frame::FrameScriptLoader::ParseTextureList ( const Ptr< Frame::FrameScript > & script,
JzonValue * node )
staticprivate

Parse texture list.

Member Data Documentation

◆ LastSubmission

Frame::FrameSubmission * Frame::FrameScriptLoader::LastSubmission = {nullptr, nullptr}
staticprivate

The documentation for this class was generated from the following files: