Open 3D Engine Atom Gem API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AZ::Metal::ShaderResourceGroup Class Referencefinal

Inherits AZ::RHI::ShaderResourceGroup.

Public Member Functions

 AZ_CLASS_ALLOCATOR (ShaderResourceGroup, AZ::SystemAllocator)
 
void SetImageView (const ImageView *imageView, const int index)
 
const ImageViewGetImageView (const int index) const
 
void UpdateCompiledDataIndex ()
 
const ArgumentBufferGetCompiledArgumentBuffer () const
 
void CollectUntrackedResources (const ShaderResourceGroupVisibility &srgResourcesVisInfo, ArgumentBuffer::ResourcesForCompute &untrackedResourceComputeRead, ArgumentBuffer::ResourcesForCompute &untrackedResourceComputeReadWrite) const
 
void CollectUntrackedResources (const ShaderResourceGroupVisibility &srgResourcesVisInfo, ArgumentBuffer::ResourcesPerStageForGraphics &untrackedResourcesRead, ArgumentBuffer::ResourcesPerStageForGraphics &untrackedResourcesReadWrite) const
 
bool IsNullHeapNeededForVertexStage (const ShaderResourceGroupVisibility &srgResourcesVisInfo) const
 
- Public Member Functions inherited from AZ::RHI::ShaderResourceGroup
 AZ_RTTI (ShaderResourceGroup, "{91B217A5-EFEC-46C5-82DA-B4C77931BC1A}", Resource)
 
void Compile (const ShaderResourceGroupData &shaderResourceGroupData, CompileMode compileMode=CompileMode::Async)
 
ShaderResourceGroupPoolGetPool ()
 Returns the shader resource group pool that this group is registered on.
 
const ShaderResourceGroupPoolGetPool () const
 
void ReportMemoryUsage (MemoryStatisticsBuilder &builder) const override
 
const ShaderResourceGroupDataGetData () 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.
 
- Public Member Functions inherited from AZ::RHI::Resource
 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 ResourcePoolGetPool () const
 
ResourcePoolGetPool ()
 
uint32_t GetVersion () const
 
virtual void ReportMemoryUsage (MemoryStatisticsBuilder &builder) const =0
 Reports memory usage of this image to the memory statistics builder.
 
const FrameAttachmentGetFrameAttachment () 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.
 
- Public Member Functions inherited from AZ::RHI::DeviceObject
 AZ_RTTI (DeviceObject, "{17D34F71-944C-4AF5-9823-627474C4C0A6}", Object)
 
bool IsInitialized () const
 Returns whether the device object is initialized.
 
DeviceGetDevice () const
 
- Public Member Functions inherited from AZ::RHI::Object
 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.
 

Static Public Member Functions

static RHI::Ptr< ShaderResourceGroupCreate ()
 

Friends

class ShaderResourceGroupPool
 

Additional Inherited Members

- Public Types inherited from AZ::RHI::ShaderResourceGroup
enum class  CompileMode : uint8_t { Async , Sync }
 Defines the compilation modes for an SRG.
 
- Protected Member Functions inherited from AZ::RHI::Resource
Ptr< ImageViewGetResourceView (const ImageViewDescriptor &imageViewDescriptor) const
 Returns view based on the descriptor.
 
Ptr< BufferViewGetResourceView (const BufferViewDescriptor &bufferViewDescriptor) const
 
- Protected Member Functions inherited from AZ::RHI::DeviceObject
void Init (Device &device)
 The derived class should call this method to assign the device.
 
void Shutdown () override
 Clears the current bound device to null.
 
- Protected Member Functions inherited from AZ::RHI::Object
void add_ref () const
 
void release () const
 
- Protected Attributes inherited from AZ::RHI::Object
AZStd::atomic_int m_useCount = 0
 

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