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

#include <framesubpassbatch.h>

Inherits Frame::FrameOp.

Classes

struct  CompiledImpl
 

Public Member Functions

 FrameSubpassBatch ()
 constructor
 
virtual ~FrameSubpassBatch ()
 destructor
 
FrameOp::CompiledAllocCompiled (Memory::ArenaAllocator< BIG_CHUNK > &allocator)
 allocate instance of compiled
 
- Public Member Functions inherited from Frame::FrameOp
 FrameOp ()
 constructor
 
virtual ~FrameOp ()
 destructor
 
virtual void Discard ()
 discard operation
 
void SetName (const Util::StringAtom &name)
 set name
 
const Util::StringAtomGetName () const
 get name
 
void SetEnabled (bool b)
 set if operation should be enabled
 
const bool GetEnabled () const
 get if operation is enabled
 
void AddChild (FrameOp *op)
 add child operation
 
const Util::Array< Frame::FrameOp * > & GetChildren ()
 get children
 
virtual void OnWindowResized ()
 handle display resizing
 

Static Public Member Functions

static void DrawBatch (const CoreGraphics::CmdBufferId cmdBuf, CoreGraphics::BatchGroup::Code batch, const Graphics::GraphicsEntityId id, const IndexT bufferIndex)
 Do the actual drawing.
 
static void DrawBatch (const CoreGraphics::CmdBufferId cmdBuf, CoreGraphics::BatchGroup::Code batch, const Graphics::GraphicsEntityId id, const SizeT numInstances, const IndexT baseInstance, const IndexT bufferIndex)
 Do the actual drawing, but with duplicate instances.
 

Public Attributes

CoreGraphics::BatchGroup::Code batch
 
- Public Attributes inherited from Frame::FrameOp
CoreGraphics::BarrierDomain domain
 
CoreGraphics::QueueType queue
 
Util::Dictionary< CoreGraphics::TextureId, Util::Tuple< Util::StringAtom, CoreGraphics::PipelineStage, CoreGraphics::TextureSubresourceInfo > > textureDeps
 
Util::Dictionary< CoreGraphics::BufferId, Util::Tuple< Util::StringAtom, CoreGraphics::PipelineStage, CoreGraphics::BufferSubresourceInfo > > bufferDeps
 
Util::Dictionary< const CoreGraphics::TextureId *, Util::Tuple< Util::StringAtom, CoreGraphics::PipelineStage, CoreGraphics::TextureSubresourceInfo > > textureDepRefs
 
Util::Dictionary< const CoreGraphics::BufferId *, Util::Tuple< Util::StringAtom, CoreGraphics::PipelineStage, CoreGraphics::BufferSubresourceInfo > > bufferDepRefs
 

Additional Inherited Members

- Protected Member Functions inherited from Frame::FrameOp
virtual void Build (const BuildContext &ctx)
 build operation
 
void SetupSynchronization (Memory::ArenaAllocator< BIG_CHUNK > &allocator, Util::Array< CoreGraphics::EventId > &events, Util::Array< CoreGraphics::BarrierId > &barriers, Util::Dictionary< CoreGraphics::BufferId, Util::Array< BufferDependency > > &buffers, Util::Dictionary< CoreGraphics::TextureId, Util::Array< TextureDependency > > &textures)
 setup synchronization
 
- Static Protected Member Functions inherited from Frame::FrameOp
static void AnalyzeAndSetupTextureBarriers (struct FrameOp::Compiled *op, CoreGraphics::TextureId tex, const Util::StringAtom &textureName, DependencyIntent readOrWrite, CoreGraphics::PipelineStage stage, CoreGraphics::BarrierDomain domain, const CoreGraphics::TextureSubresourceInfo &subres, CoreGraphics::QueueType fromQueue, Util::Dictionary< Util::Tuple< CoreGraphics::PipelineStage, CoreGraphics::PipelineStage >, CoreGraphics::BarrierCreateInfo > &barriers, Util::Dictionary< Util::Tuple< CoreGraphics::PipelineStage, CoreGraphics::PipelineStage >, CoreGraphics::EventCreateInfo > &waitEvents, Util::Dictionary< Util::Tuple< CoreGraphics::PipelineStage, CoreGraphics::PipelineStage >, struct FrameOp::Compiled * > &signalEvents, Util::Array< FrameOp::TextureDependency > &renderTextureDependencies)
 Analyze and setup barriers if needed.
 
static void AnalyzeAndSetupBufferBarriers (struct FrameOp::Compiled *op, CoreGraphics::BufferId buf, const Util::StringAtom &bufferName, DependencyIntent readOrWrite, CoreGraphics::PipelineStage stage, CoreGraphics::BarrierDomain domain, const CoreGraphics::BufferSubresourceInfo &subres, CoreGraphics::QueueType fromQueue, Util::Dictionary< Util::Tuple< CoreGraphics::PipelineStage, CoreGraphics::PipelineStage >, CoreGraphics::BarrierCreateInfo > &barriers, Util::Dictionary< Util::Tuple< CoreGraphics::PipelineStage, CoreGraphics::PipelineStage >, CoreGraphics::EventCreateInfo > &waitEvents, Util::Dictionary< Util::Tuple< CoreGraphics::PipelineStage, CoreGraphics::PipelineStage >, struct FrameOp::Compiled * > &signalEvents, Util::Array< FrameOp::BufferDependency > &bufferDependencies)
 
- Protected Attributes inherited from Frame::FrameOp
Util::Array< FrameOp * > children
 
Util::Dictionary< Util::StringAtom, FrameOp * > childrenByName
 
Compiledcompiled
 
Util::StringAtom name
 
IndexT index
 
bool enabled
 

Constructor & Destructor Documentation

◆ FrameSubpassBatch()

Frame::FrameSubpassBatch::FrameSubpassBatch ( )

constructor

◆ ~FrameSubpassBatch()

Frame::FrameSubpassBatch::~FrameSubpassBatch ( )
virtual

destructor

Member Function Documentation

◆ AllocCompiled()

FrameOp::Compiled * Frame::FrameSubpassBatch::AllocCompiled ( Memory::ArenaAllocator< BIG_CHUNK > & allocator)
virtual

allocate instance of compiled

Implements Frame::FrameOp.

◆ DrawBatch() [1/2]

void Frame::FrameSubpassBatch::DrawBatch ( const CoreGraphics::CmdBufferId cmdBuf,
CoreGraphics::BatchGroup::Code batch,
const Graphics::GraphicsEntityId id,
const IndexT bufferIndex )
static

Do the actual drawing.

◆ DrawBatch() [2/2]

void Frame::FrameSubpassBatch::DrawBatch ( const CoreGraphics::CmdBufferId cmdBuf,
CoreGraphics::BatchGroup::Code batch,
const Graphics::GraphicsEntityId id,
const SizeT numInstances,
const IndexT baseInstance,
const IndexT bufferIndex )
static

Do the actual drawing, but with duplicate instances.

Member Data Documentation

◆ batch

CoreGraphics::BatchGroup::Code Frame::FrameSubpassBatch::batch

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