|
| AZ_CLASS_ALLOCATOR (MergedShaderResourceGroup, AZ::SystemAllocator) |
|
| AZ_RTTI (MergedShaderResourceGroup, "{5A98B01F-E5AC-4648-B307-08371FD8AA56}", Base) |
|
bool | NeedsCompile () const |
| Returns if the MergedShaderResourceGroup needs to be compiled (copy compile data from original SRGs) before it can be used.
|
|
void | Compile () |
| Compile the MergedShaderResourceGroup synchronously using the compiled data of the ShaderResourceGroups instances.
|
|
| AZ_CLASS_ALLOCATOR (ShaderResourceGroup, AZ::SystemAllocator) |
|
| AZ_RTTI (ShaderResourceGroup, "DB59214E-57B4-4F7B-B273-CB5210826A57", Base) |
|
void | UpdateCompiledDataIndex (uint64_t frameIteration) |
|
const DescriptorSet & | GetCompiledData () const |
|
uint32_t | GetCompileDataIndex () const |
|
uint64_t | GetLastCompileFrameIteration () const |
|
| AZ_RTTI (ShaderResourceGroup, "{91B217A5-EFEC-46C5-82DA-B4C77931BC1A}", Resource) |
|
void | Compile (const ShaderResourceGroupData &shaderResourceGroupData, CompileMode compileMode=CompileMode::Async) |
|
ShaderResourceGroupPool * | GetPool () |
| Returns the shader resource group pool that this group is registered on.
|
|
const ShaderResourceGroupPool * | GetPool () const |
|
void | ReportMemoryUsage (MemoryStatisticsBuilder &builder) const override |
|
const ShaderResourceGroupData & | GetData () const |
| Returns the data currently bound on the shader resource group.
|
|
uint32_t | GetBindingSlot () const |
| Returns the binding slot specified by the layout associated to this shader resource group.
|
|
bool | IsQueuedForCompile () const |
| Returns whether the group is currently queued for compilation.
|
|
void | DisableCompilationForAllResourceTypes () |
| Resets the update mask after m_updateMaskResetLatency number of compiles.
|
|
bool | IsAnyResourceTypeUpdated () const |
| Returns true if any of the resource type has been enabled for compilation.
|
|
bool | IsResourceTypeEnabledForCompilation (uint32_t resourceTypeMask) const |
| Returns true if a specific resource type has been enabled for compilation.
|
|
void | EnableRhiResourceTypeCompilation (const ShaderResourceGroupData::ResourceTypeMask resourceTypeMask) |
| Update the m_rhiUpdateMask for a given resource type which will ensure we will compile that type for the current frame.
|
|
void | ResetResourceTypeIteration (const ShaderResourceGroupData::ResourceType resourceType) |
|
HashValue64 | GetViewHash (const AZ::Name &viewName) |
| Return the view hash stored within m_viewHash.
|
|
void | UpdateViewHash (const AZ::Name &viewName, const HashValue64 viewHash) |
| Update the view hash within m_viewHash.
|
|
| AZ_RTTI (Resource, "{9D02CDAC-80EB-4B77-8E62-849AC6E69206}", DeviceObject) |
|
bool | IsAttachment () const |
| Returns whether the resource is currently an attachment on a frame graph.
|
|
void | Shutdown () override final |
| Shuts down the buffer by detaching it from its parent pool.
|
|
const ResourcePool * | GetPool () const |
|
ResourcePool * | GetPool () |
|
uint32_t | GetVersion () const |
|
virtual void | ReportMemoryUsage (MemoryStatisticsBuilder &builder) const =0 |
| Reports memory usage of this image to the memory statistics builder.
|
|
const FrameAttachment * | GetFrameAttachment () const |
| Returns the frame attachment associated with this image (if it exists).
|
|
void | InvalidateViews () |
|
bool | IsInResourceCache (const ImageViewDescriptor &imageViewDescriptor) |
| Returns true if the ResourceView is in the cache.
|
|
bool | IsInResourceCache (const BufferViewDescriptor &bufferViewDescriptor) |
|
void | EraseResourceView (ResourceView *resourceView) const |
| Removes the provided ResourceView from the cache.
|
|
| AZ_RTTI (DeviceObject, "{17D34F71-944C-4AF5-9823-627474C4C0A6}", Object) |
|
bool | IsInitialized () const |
| Returns whether the device object is initialized.
|
|
Device & | GetDevice () const |
|
| AZ_RTTI (Object, "{E43378F1-2331-4173-94B8-990ED20E6003}") |
|
void | SetName (const Name &name) |
| Sets the name of the object.
|
|
const Name & | GetName () const |
| Returns the name set on the object by SetName.
|
|
uint32_t | use_count () |
| Returns the current use count of the object.
|
|
Represents a group of ShaderResourceGroups that were merged together due to device limitations. At submit time (the moment that we know all SRGs being used), a MergedShaderResourceGroup is created and the compiled data from the ShaderResourceGroups is copied (compiled) to the MergedShaderResourceGroup. This process is automatic and it happens transparent to the user. MergedShaderResourceGroup are cached in the MergedShaderResourceGroupPool so they can be reused as much as possible.