|
|
| AZ_RTTI (ShadowmapPass, "FCBDDB8C-E565-4780-9E2E-B45F16203F77", Base) |
| |
|
| AZ_CLASS_ALLOCATOR (ShadowmapPass, SystemAllocator) |
| |
|
void | SetArraySlice (uint16_t arraySlice) |
| | This updates array slice for this shadowmap.
|
| |
|
void | SetClearEnabled (bool enabled) |
| | This enable/disable clearing of the image view.
|
| |
|
void | SetIsStatic (bool isStatic) |
| | Sets this shadow pass to only update its shadows when a mesh in view moves.
|
| |
|
void | SetCasterMovedBit (RHI::Handle< uint32_t > bit) |
| | Sets which bit to check to see if a caster in the view moved.
|
| |
|
void | ForceRenderNextFrame () |
| | When the shadow is static, this forces the shadow to still re-render next frame (due to the light moving for instance)
|
| |
|
void | SetViewportScissorFromImageSize (const RHI::Size &imageSize) |
| | This update viewport and scissor for this shadowmap from the given image size.
|
| |
|
void | SetViewportScissor (const RHI::Viewport &viewport, const RHI::Scissor &scissor) |
| | This updates viewport and scissor for this shadowmap.
|
| |
|
void | SetClearShadowDrawPacket (AZ::RHI::ConstPtr< AZ::RHI::DrawPacket > clearShadowDrawPacket) |
| | Sets the draw packet used for clearing a shadow viewport.
|
| |
|
| AZ_RTTI (RasterPass, "{16AF74ED-743C-4842-99F9-347D77BA7F2A}", RenderPass) |
| |
|
| AZ_CLASS_ALLOCATOR (RasterPass, SystemAllocator) |
| |
| RHI::DrawListTag | GetDrawListTag () const override |
| | Check if the pass has a DrawListTag. Pass' DrawListTag can be used to filter draw items.
|
| |
|
void | SetDrawListTag (Name drawListName) |
| |
|
void | SetPipelineStateDataIndex (uint32_t index) |
| |
|
ShaderResourceGroup * | GetShaderResourceGroup () |
| | Expose shader resource group.
|
| |
|
uint32_t | GetDrawItemCount () |
| |
|
| AZ_RTTI (RenderPass, "{9441D114-60FD-487B-B2B7-0FBBC8A96FC2}", Pass) |
| |
|
| AZ_CLASS_ALLOCATOR (RenderPass, SystemAllocator) |
| |
| RHI::RenderAttachmentConfiguration | GetRenderAttachmentConfiguration () |
| |
|
void | SetRenderAttachmentConfiguration (const RHI::RenderAttachmentConfiguration &configuration, const AZ::RHI::ScopeGroupId &subpassGroupId) |
| |
|
RHI::MultisampleState | GetMultisampleState () const |
| | Get MultisampleState of this pass from its output attachments.
|
| |
|
Data::Instance< ShaderResourceGroup > | GetShaderResourceGroup () |
| | Returns a pointer to the Pass ShaderResourceGroup.
|
| |
| ViewPtr | GetView () const |
| |
|
void | BindSrg (const RHI::ShaderResourceGroup *srg) |
| |
|
| AZ_RTTI (Pass, "{EA34FF66-631D-433B-B449-71F5647E7BB5}", AZStd::intrusive_base) |
| |
|
| AZ_CLASS_ALLOCATOR (Pass, SystemAllocator) |
| |
|
const Name & | GetName () const |
| | Returns the name of the pass (example: Bloom)
|
| |
|
const Name & | GetPathName () const |
| | Return the path name of the pass (example: Root.SwapChain.Bloom)
|
| |
|
uint32_t | GetTreeDepth () const |
| | Returns the depth of this pass in the tree hierarchy (Root depth is 0)
|
| |
|
uint32_t | GetParentChildIndex () const |
| | Returns the index in the parent's array of children that this pass occupies (used for sorting passes)
|
| |
|
uint32_t | GetInputCount () const |
| | Returns the number of input attachment bindings.
|
| |
|
uint32_t | GetInputOutputCount () const |
| | Returns the number of input/output attachment bindings.
|
| |
|
uint32_t | GetOutputCount () const |
| | Returns the number of output attachment bindings.
|
| |
| const PassTemplate * | GetPassTemplate () const |
| |
|
int | GetDeviceIndex () const |
| | Get the device index of this pass.
|
| |
|
bool | SetDeviceIndex (int deviceIndex) |
| | Set the device index of this pass (and potentially affects its child's)
|
| |
| void | SetEnabled (bool enabled) |
| |
| virtual bool | IsEnabled () const |
| |
|
bool | HasDrawListTag () const |
| |
|
bool | HasPipelineViewTag () const |
| |
|
bool | BindViewSrg () const |
| |
|
PassAttachmentBinding * | FindAttachmentBinding (const Name &slotName) |
| |
|
PassAttachmentBindingListView | GetAttachmentBindings () const |
| | Return the set of attachment bindings.
|
| |
|
ParentPass * | AsParent () |
| | Casts the pass to a parent pass if valid, else returns nullptr.
|
| |
|
const ParentPass * | AsParent () const |
| |
|
bool | IsRootPass () const |
| | Returns whether the pass is the root pass.
|
| |
|
PassTree * | GetPassTree () const |
| | Returns the PassTree from the pass's RenderPipeline (or nullptr if there isn't one)
|
| |
|
void | QueueForBuildAndInitialization () |
| | Queues the pass to have Build() and Initialize() called by the PassSystem on frame update.
|
| |
|
void | QueueForRemoval () |
| | Queues the pass to have RemoveFromParent() called by the PassSystem on frame update.
|
| |
|
void | QueueForInitialization () |
| | Queues the pass to have Initialize() called by the PassSystem on frame update.
|
| |
|
void | AddAttachmentBinding (PassAttachmentBinding attachmentBinding) |
| | Adds an attachment binding to the list of this Pass' attachment bindings.
|
| |
|
void | DeclareAttachmentsToFrameGraph (RHI::FrameGraphInterface frameGraph, PassSlotType slotType=PassSlotType::Uninitialized, RHI::ScopeAttachmentAccess accessMask=RHI::ScopeAttachmentAccess::ReadWrite) const |
| |
|
PassAttachmentBinding & | GetInputBinding (uint32_t index) |
| |
|
PassAttachmentBinding & | GetInputOutputBinding (uint32_t index) |
| |
|
PassAttachmentBinding & | GetOutputBinding (uint32_t index) |
| |
| void | AttachBufferToSlot (AZStd::string_view slot, Data::Instance< Buffer > buffer) |
| |
|
void | AttachBufferToSlot (const Name &slot, Data::Instance< Buffer > buffer) |
| |
|
void | AttachImageToSlot (const Name &slot, Data::Instance< AttachmentImage > image) |
| |
| virtual void | GetPipelineViewTags (PipelineViewTags &outTags) const |
| | Collect all different view tags from this pass.
|
| |
| virtual void | GetViewDrawListInfo (RHI::DrawListMask &outDrawListMask, PassesByDrawList &outPassesByDrawList, const PipelineViewTag &viewTag) const |
| | Adds this pass' DrawListTags to the outDrawListMask.
|
| |
|
virtual void | SortDrawList (RHI::DrawList &drawList) const |
| | Function used by views to sort draw lists. Can be overridden so passes can provide custom sort functionality.
|
| |
| virtual const PipelineViewTag & | GetPipelineViewTag () const |
| | Check if the pass is associated to a view. If pass has a pipeline view tag, the rpi view assigned to this view tag will have pass's draw list tag.
|
| |
| virtual void | SetRenderPipeline (RenderPipeline *pipeline) |
| | Set render pipeline this pass belongs to.
|
| |
|
RenderPipeline * | GetRenderPipeline () const |
| |
|
Scene * | GetScene () const |
| |
| virtual void | DebugPrint () const |
| | Prints the pass.
|
| |
|
TimestampResult | GetLatestTimestampResult () const |
| | Return the latest Timestamp result of this pass.
|
| |
|
PipelineStatisticsResult | GetLatestPipelineStatisticsResult () const |
| | Return the latest PipelineStatistic result of this pass.
|
| |
| virtual void | SetTimestampQueryEnabled (bool enable) |
| | Enables/Disables Timestamp queries for this pass.
|
| |
| virtual void | SetPipelineStatisticsQueryEnabled (bool enable) |
| | Enables/Disables PipelineStatistics queries for this pass.
|
| |
| bool | ReadbackAttachment (AZStd::shared_ptr< AttachmentReadback > readback, uint32_t readbackIndex, const Name &slotName, PassAttachmentReadbackOption option=PassAttachmentReadbackOption::Output, const RHI::ImageSubresourceRange *mipsRange=nullptr) |
| |
|
bool | IsTimestampQueryEnabled () const |
| | Returns whether the Timestamp queries is enabled/disabled for this pass.
|
| |
|
bool | IsPipelineStatisticsQueryEnabled () const |
| | Returns whether the PipelineStatistics queries is enabled/disabled for this pass.
|
| |
|
void | PrintIndent (AZStd::string &stringOutput, uint32_t indent) const |
| | Helper function to print spaces to indent the pass.
|
| |
|
void | PrintPassName (AZStd::string &stringOutput, uint32_t indent=0) const |
| | Prints the name of the pass.
|
| |
|
void | DebugPrintBinding (AZStd::string &stringOutput, const PassAttachmentBinding &binding) const |
| | Prints the attachment binding at the given index.
|
| |
|
void | DebugPrintBindingAndConnection (AZStd::string &stringOutput, uint8_t bindingIndex) const |
| | Prints the attachment binding at the given index and its connection.
|
| |
|
void | PrintErrors () const |
| | Prints the pass name and all the errors accumulated during build and setup.
|
| |
|
void | PrintWarnings () const |
| | Prints the pass name and all the warnings accumulated during build and setup.
|
| |
|
void | PrintMessages (const AZStd::vector< AZStd::string > &messages) const |
| | Helper function to print an array of messages (like errors or warnings) for a pass.
|
| |
|
void | PrintBindingsWithoutAttachments (uint32_t slotTypeMask) const |
| | Prints the pass and all the list of inputs and input/outputs that are missing an attachment.
|
| |
|
ParentPass * | GetParent () const |
| | Returns pointer to the parent pass.
|
| |
|
PassState | GetPassState () const |
| |
|
void | ChangeConnection (const Name &localSlot, const Name &passName, const Name &attachment, RenderPipeline *pipeline) |
| | Alter the connection of an Input or InputOutput attachment.
|
| |
|
void | ChangeConnection (const Name &localSlot, Pass *pass, const Name &attachment) |
| | Alter the connection of an Input or InputOutput attachment.
|
| |
|
virtual void | UpdateConnectedBindings () |
| |
|
void | UpdateConnectedInputBindings () |
| |
|
void | UpdateConnectedOutputBindings () |
| |
|
PassDescriptor | GetPassDescriptor () const |
| |
|
| ScopeProducer (const ScopeId &scopeId, int deviceIndex=MultiDevice::InvalidDeviceIndex) |
| |
|
const ScopeId & | GetScopeId () const |
| | Returns the scope id associated with this scope producer.
|
| |
|
const Scope * | GetScope () const |
| | Returns the scope associated with this scope producer.
|
| |
| virtual int | GetDeviceIndex () const |
| |
|
|
using | ChildPassIndex = RHI::Handle< uint32_t, class ChildPass > |
| |
|
| RasterPass (const PassDescriptor &descriptor) |
| |
| void | Validate (PassValidationResults &validationResults) override |
| |
| void | SetupFrameGraphDependencies (RHI::FrameGraphInterface frameGraph) override |
| |
| void | CompileResources (const RHI::FrameGraphCompileContext &context) override |
| |
|
void | UpdateDrawList () |
| |
|
void | LoadShaderResourceGroup () |
| |
|
| RenderPass (const PassDescriptor &descriptor) |
| |
|
bool | CanBecomeSubpass () const |
| | Can instances of this class be merged as subpasses?
|
| |
| bool | BuildSubpassLayout (RHI::RenderAttachmentLayoutBuilder::SubpassAttachmentLayoutBuilder &subpassLayoutBuilder) |
| |
|
void | BuildRenderAttachmentConfiguration () |
| |
| void | SetupFrameGraphDependencies (RHI::FrameGraphInterface frameGraph) override |
| |
| void | BuildCommandList (const RHI::FrameGraphExecuteContext &context) final |
| |
|
void | DeclarePassDependenciesToFrameGraph (RHI::FrameGraphInterface frameGraph) const |
| |
|
void | BindPassSrg (const RHI::FrameGraphCompileContext &context, Data::Instance< ShaderResourceGroup > &shaderResourceGroup) |
| |
|
void | CollectSrgs () |
| |
|
void | ResetSrgs () |
| |
|
void | SetSrgsForDraw (const RHI::FrameGraphExecuteContext &context) |
| |
|
void | SetSrgsForDispatch (const RHI::FrameGraphExecuteContext &context) |
| |
|
void | SetPipelineViewTag (const PipelineViewTag &viewTag) |
| |
|
void | AddScopeQueryToFrameGraph (RHI::FrameGraphInterface frameGraph) |
| |
|
const AZ::RHI::ScopeGroupId & | GetSubpassGroupId () const |
| |
|
| Pass (const PassDescriptor &descriptor) |
| |
|
void | ImportAttachments (RHI::FrameGraphAttachmentInterface attachmentDatabase) |
| |
|
Ptr< Pass > | FindAdjacentPass (const Name &passName) |
| |
|
const PassAttachmentBinding * | FindAttachmentBinding (const Name &slotName) const |
| |
|
Ptr< PassAttachment > | FindOwnedAttachment (const Name &attachmentName) const |
| |
|
Ptr< PassAttachment > | FindAttachment (const Name &slotName) const |
| |
|
const PassAttachmentBinding * | FindAdjacentBinding (const PassAttachmentRef &attachmentRef, const char *attachmentSourceTypeDebugName="attachment") |
| |
|
void | ProcessConnection (const PassConnection &connection, uint32_t slotTypeMask=0xFFFFFFFF) |
| |
|
void | LogError (AZStd::string &&message) |
| |
|
void | LogWarning (AZStd::string &&message) |
| |
|
void | Reset () |
| |
|
void | Build (bool calledFromPassSystem=false) |
| |
|
void | Initialize () |
| |
|
void | OnInitializationFinished () |
| |
|
void | OnBuildFinished () |
| |
|
void | FrameBegin (FramePrepareParams params) |
| |
|
void | FrameEnd () |
| |
|
void | UpdateReadbackAttachment (FramePrepareParams params, bool beforeAddScopes) |
| |
|
void | UpdateAttachmentCopy (FramePrepareParams params) |
| |
|
bool | UpdateImportedAttachmentImage (Ptr< PassAttachment > &attachment, RHI::ImageBindFlags bindFlags=RHI::ImageBindFlags::Color|RHI::ImageBindFlags::ShaderReadWrite, RHI::ImageAspectFlags aspectFlags=RHI::ImageAspectFlags::Color) |
| |
|
AZ::Name | GetSuperVariantName () const |
| |
|
void | ReplaceSubpassInputs (RHI::SubpassInputSupportType supportedTypes) |
| |
| | ScopeProducer () |
| |
|
void | SetHardwareQueueClass (HardwareQueueClass hardwareQueueClass) |
| | Sets the HardwareQueueClass on the scope.
|
| |
| void | SetScopeId (const ScopeId &scopeId) |
| |
| void | InitScope (const ScopeId &scopeId, HardwareQueueClass hardwareQueueClass=HardwareQueueClass::Graphics, int deviceIndex=MultiDevice::InvalidDeviceIndex) |
| |
|
RHI::DrawListTag | m_drawListTag |
| |
|
RHI::Handle | m_pipelineStateDataIndex |
| |
|
RHI::DrawListView | m_drawListView |
| |
|
RHI::DrawList | m_combinedDrawList |
| |
|
s32 | m_viewportAndScissorTargetOutputIndex = -1 |
| |
|
RHI::Scissor | m_scissorState |
| |
|
RHI::Viewport | m_viewportState |
| |
|
bool | m_overrideScissorSate = false |
| |
|
bool | m_overrideViewportState = false |
| |
|
uint32_t | m_drawItemCount = 0 |
| |
|
Data::Instance< ShaderResourceGroup > | m_shaderResourceGroup = nullptr |
| |
|
RHI::HardwareQueueClass | m_hardwareQueueClass = RHI::HardwareQueueClass::Graphics |
| |
|
const Name | PassNameThis {"This"} |
| |
|
const Name | PassNameParent {"Parent"} |
| |
|
const Name | PipelineKeyword {"Pipeline"} |
| |
|
const Name | PipelineGlobalKeyword {"PipelineGlobal"} |
| |
|
PassAttachmentBindingList | m_attachmentBindings |
| |
|
AZStd::vector< Ptr< PassAttachment > > | m_ownedAttachments |
| |
|
AZStd::vector< Pass * > | m_executeBeforePasses |
| |
|
AZStd::vector< Pass * > | m_executeAfterPasses |
| |
|
RenderPipeline * | m_pipeline = nullptr |
| |
|
AZStd::shared_ptr< const PassTemplate > | m_template = nullptr |
| |
|
PassRequest | m_request |
| |
|
ParentPass * | m_parent = nullptr |
| |
|
PipelineViewTag | m_viewTag |
| |
|
struct { | |
| |
|
union { | |
| |
|
struct { | |
| |
|
uint64_t m_createdByPassRequest: 1 | |
| |
|
uint64_t m_enabled: 1 | |
| |
|
uint64_t m_parentEnabled: 1 | |
| |
|
uint64_t m_alreadyCreatedChildren: 1 | |
| |
|
uint64_t m_createChildren: 1 | |
| |
|
uint64_t m_partOfHierarchy: 1 | |
| |
|
uint64_t m_hasDrawListTag: 1 | |
| |
|
uint64_t m_bindViewSrg: 1 | |
| |
|
uint64_t m_timestampQueryEnabled: 1 | |
| |
|
uint64_t m_pipelineStatisticsQueryEnabled: 1 | |
| |
|
uint64_t m_isPipelineRoot: 1 | |
| |
|
uint64_t m_containsGlobalReference: 1 | |
| |
|
uint64_t m_parentDeviceIndexCached: 1 | |
| |
|
uint64_t m_mergeChildrenAsSubpasses: 1 | |
| |
|
uint64_t m_canBecomeASubpass: 1 | |
| |
|
uint64_t m_hasSubpassInput: 1 | |
| |
|
uint64_t m_lastFrameEnabled: 1 | |
| |
| } | | |
| |
|
uint64_t m_allFlags = 0 | |
| |
| } | | |
| |
| } | m_flags | |
| |
|
AZStd::vector< AZStd::string > | m_errorMessages |
| |
|
AZStd::vector< AZStd::string > | m_warningMessages |
| |
|
uint32_t | m_errors = 0 |
| |
|
uint32_t | m_warnings = 0 |
| |
|
RHI::DrawListSortType | m_drawListSortType = RHI::DrawListSortType::KeyThenDepth |
| |
|
AZStd::shared_ptr< AttachmentReadback > | m_attachmentReadback |
| |
|
PassAttachmentReadbackOption | m_readbackOption = PassAttachmentReadbackOption::Input |
| |
|
AZStd::weak_ptr< ImageAttachmentCopy > | m_attachmentCopy |
| |
|
AZStd::shared_ptr< PassData > | m_passData = nullptr |
| | Optional data used during pass initialization.
|
| |
|
RHI::ScopeAttachmentStage | m_defaultShaderAttachmentStage = RHI::ScopeAttachmentStage::AnyGraphics |
| | Default RHI::ScopeAttachmentStage value for all pass attachments of usage RHI::ScopeAttachmentUsage::Shader.
|
| |
|
int | m_deviceIndex = AZ::RHI::MultiDevice::InvalidDeviceIndex |
| |
|
static const size_t | MessageLogLimit = 256 |
| |