#include <NullDescriptorManager.h>
Inherits AZ::RHI::DeviceObject.
Public Types | |
enum class | ImageTypes : uint32_t { ReadOnly1D , ReadOnly2D , ReadOnlyCube , ReadOnly3D , TextureBuffer , MultiSampleReadOnly2D , Count } |
Public Member Functions | |
AZ_DISABLE_COPY_MOVE (NullDescriptorManager) | |
void | Init (Device &device) |
Initialize the different image and buffer null descriptors. | |
void | Shutdown () override |
Release all resources. | |
const MemoryView & | GetNullImage (RHI::ShaderInputImageType imageType, bool isTextureBuffer=false) |
const MemoryView & | GetNullBuffer () |
const MemoryView & | GetNullImageBuffer () |
id< MTLSamplerState > | GetNullSampler () const |
id< MTLHeap > | GetNullDescriptorHeap () const |
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. | |
Device & | GetDevice () 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. | |
Additional Inherited Members | |
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 NullDescriptorManager creates dummy resources referenced in the shader. These include images, buffers and samplers. It is needed because the shaders may sample/read from a resource which is not bound by the rendering pipeline (for example if a FeatureProcessor is disabled). In those cases we bind dummy resources provided by htis class
|
overridevirtual |
Release all resources.
Reimplemented from AZ::RHI::DeviceObject.