|
|
| AZ_CLASS_ALLOCATOR (ShaderResourceGroup, AZ::SystemAllocator, 0) |
| |
|
| AZ_RTTI (ShaderResourceGroup, "{6C1B42AA-51A9-482F-9203-6415CA9373B7}", Resource) |
| |
|
| AZ_RHI_MULTI_DEVICE_OBJECT_GETTER (ShaderResourceGroup) |
| |
| 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 |
| |
|
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 | Shutdown () override final |
| | Shuts down the resource by detaching it from its parent pool.
|
| |
|
| AZ_RTTI (Resource, "{613AED98-48FD-4453-98F8-6956D2133489}", MultiDeviceObject) |
| |
|
| AZ_RHI_MULTI_DEVICE_OBJECT_GETTER (Resource) |
| |
|
bool | IsAttachment () const |
| | Returns whether the resource is currently an attachment on a frame graph.
|
| |
| const ResourcePool * | GetPool () const |
| |
|
ResourcePool * | GetPool () |
| |
| uint32_t | GetVersion () const |
| |
|
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 |
| |
|
| AZ_RTTI (MultiDeviceObject, "{17D34F71-944C-4AF5-9823-627474C4C0A6}", Object) |
| |
|
bool | IsInitialized () const |
| | Returns whether the device object is initialized.
|
| |
| AZ_FORCE_INLINE bool | IsDeviceSet (int deviceIndex) const |
| |
| MultiDevice::DeviceMask | GetDeviceMask () 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.
|
| |
|
| template<typename T > |
| static AZ_FORCE_INLINE void | IterateDevices (MultiDevice::DeviceMask deviceMask, T callback) |
| |
|
Ptr< ImageView > | GetResourceView (const ImageViewDescriptor &imageViewDescriptor) const |
| | Returns view based on the descriptor and keeps a raw pointer in a local cache.
|
| |
|
Ptr< BufferView > | GetResourceView (const BufferViewDescriptor &bufferViewDescriptor) const |
| |
|
void | Init (MultiDevice::DeviceMask deviceMask) |
| | The derived class should call this method to assign the device.
|
| |
|
template<typename T > |
| AZ_FORCE_INLINE void | IterateDevices (T callback) |
| | Helper method that will iterate over all selected devices and call the provided callback.
|
| |
| template<typename T , typename U > |
| AZ_FORCE_INLINE decltype(auto) | IterateObjects (U callback) |
| |
|
template<typename T , typename U > |
| AZ_FORCE_INLINE decltype(auto) | IterateObjects (U callback) const |
| |
|
template<typename T > |
| AZ_FORCE_INLINE Ptr< T > | GetDeviceObject (int deviceIndex) const |
| |
|
void | add_ref () const |
| |
| void | release () const |
| |
|
AZStd::unordered_map< int, Ptr< DeviceObject > > | m_deviceObjects |
| | A map of all device-specific objects, indexed by the device index.
|
| |
|
AZStd::atomic_int | m_useCount = 0 |
| |
This class is a platform-independent base class for a multi-device shader resource group. It has a pointer to the multi-device resource group pool, if the user initialized the group onto a pool.