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::Null::SystemComponent Class Reference

Inherits AZ::Component, and AZ::RHI::Factory.

Public Member Functions

void Activate () override
 
void Deactivate () override
 
Name GetName () override
 Returns the name of the Factory.
 
RHI::APIType GetType () override
 Returns the APIType of the factory.
 
RHI::APIPriority GetDefaultPriority () override
 Returns the default priority of the factory in case there's no priorities set in the FactoryManager.
 
uint32_t GetAPIUniqueIndex () const override
 
bool SupportsXR () const override
 Returns true if the factory supports XR api.
 
RHI::PhysicalDeviceList EnumeratePhysicalDevices () override
 
RHI::Ptr< RHI::BufferCreateBuffer () override
 
RHI::Ptr< RHI::BufferPoolCreateBufferPool () override
 
RHI::Ptr< RHI::BufferViewCreateBufferView () override
 
RHI::Ptr< RHI::DeviceCreateDevice () override
 
RHI::Ptr< RHI::FenceCreateFence () override
 
RHI::Ptr< RHI::FrameGraphCompilerCreateFrameGraphCompiler () override
 
RHI::Ptr< RHI::FrameGraphExecuterCreateFrameGraphExecuter () override
 
RHI::Ptr< RHI::ImageCreateImage () override
 
RHI::Ptr< RHI::ImagePoolCreateImagePool () override
 
RHI::Ptr< RHI::ImageViewCreateImageView () override
 
RHI::Ptr< RHI::StreamingImagePoolCreateStreamingImagePool () override
 
RHI::Ptr< RHI::PipelineLibraryCreatePipelineLibrary () override
 
RHI::Ptr< RHI::PipelineStateCreatePipelineState () override
 
RHI::Ptr< RHI::ScopeCreateScope () override
 
RHI::Ptr< RHI::ShaderResourceGroupCreateShaderResourceGroup () override
 
RHI::Ptr< RHI::ShaderResourceGroupPoolCreateShaderResourceGroupPool () override
 
RHI::Ptr< RHI::SwapChainCreateSwapChain () override
 
RHI::Ptr< RHI::TransientAttachmentPoolCreateTransientAttachmentPool () override
 
RHI::Ptr< RHI::QueryPoolCreateQueryPool () override
 
RHI::Ptr< RHI::QueryCreateQuery () override
 
RHI::Ptr< RHI::IndirectBufferSignatureCreateIndirectBufferSignature () override
 
RHI::Ptr< RHI::IndirectBufferWriterCreateIndirectBufferWriter () override
 
RHI::Ptr< RHI::RayTracingBufferPoolsCreateRayTracingBufferPools () override
 
RHI::Ptr< RHI::RayTracingBlasCreateRayTracingBlas () override
 
RHI::Ptr< RHI::RayTracingTlasCreateRayTracingTlas () override
 
RHI::Ptr< RHI::RayTracingPipelineStateCreateRayTracingPipelineState () override
 
RHI::Ptr< RHI::RayTracingShaderTableCreateRayTracingShaderTable () override
 
- Public Member Functions inherited from AZ::RHI::Factory
 AZ_TYPE_INFO (Factory, "{2C0231FD-DD11-4154-A4F5-177181E26D8E}")
 
 AZ_DISABLE_COPY_MOVE (Factory)
 
virtual Name GetName ()=0
 Returns the name of the Factory.
 
virtual APIType GetType ()=0
 Returns the APIType of the factory.
 
virtual APIPriority GetDefaultPriority ()=0
 Returns the default priority of the factory in case there's no priorities set in the FactoryManager.
 
virtual bool SupportsXR () const =0
 Returns true if the factory supports XR api.
 
virtual uint32_t GetAPIUniqueIndex () const =0
 
virtual PhysicalDeviceList EnumeratePhysicalDevices ()=0
 
virtual Ptr< BufferCreateBuffer ()=0
 
virtual Ptr< BufferPoolCreateBufferPool ()=0
 
virtual Ptr< BufferViewCreateBufferView ()=0
 
virtual Ptr< DeviceCreateDevice ()=0
 
virtual Ptr< FenceCreateFence ()=0
 
virtual Ptr< FrameGraphCompilerCreateFrameGraphCompiler ()=0
 
virtual Ptr< FrameGraphExecuterCreateFrameGraphExecuter ()=0
 
virtual Ptr< ImageCreateImage ()=0
 
virtual Ptr< ImagePoolCreateImagePool ()=0
 
virtual Ptr< ImageViewCreateImageView ()=0
 
virtual Ptr< StreamingImagePoolCreateStreamingImagePool ()=0
 
virtual Ptr< PipelineStateCreatePipelineState ()=0
 
virtual Ptr< PipelineLibraryCreatePipelineLibrary ()=0
 
virtual Ptr< ScopeCreateScope ()=0
 
virtual Ptr< ShaderResourceGroupCreateShaderResourceGroup ()=0
 
virtual Ptr< ShaderResourceGroupPoolCreateShaderResourceGroupPool ()=0
 
virtual Ptr< SwapChainCreateSwapChain ()=0
 
virtual Ptr< TransientAttachmentPoolCreateTransientAttachmentPool ()=0
 
virtual Ptr< QueryPoolCreateQueryPool ()=0
 
virtual Ptr< QueryCreateQuery ()=0
 
virtual Ptr< IndirectBufferSignatureCreateIndirectBufferSignature ()=0
 
virtual Ptr< IndirectBufferWriterCreateIndirectBufferWriter ()=0
 
virtual Ptr< RayTracingBufferPoolsCreateRayTracingBufferPools ()=0
 
virtual Ptr< RayTracingBlasCreateRayTracingBlas ()=0
 
virtual Ptr< RayTracingTlasCreateRayTracingTlas ()=0
 
virtual Ptr< RayTracingPipelineStateCreateRayTracingPipelineState ()=0
 
virtual Ptr< RayTracingShaderTableCreateRayTracingShaderTable ()=0
 

Static Public Member Functions

static void GetProvidedServices (AZ::ComponentDescriptor::DependencyArrayType &provided)
 
static void GetRequiredServices (ComponentDescriptor::DependencyArrayType &required)
 
static void Reflect (AZ::ReflectContext *context)
 
- Static Public Member Functions inherited from AZ::RHI::Factory
static uint32_t GetComponentService ()
 Returns the component service name CRC used by the platform RHI system component.
 
static uint32_t GetManagerComponentService ()
 Returns the component service name CRC used by the Factory manager component.
 
static uint32_t GetPlatformService ()
 Returns the component service name CRC used by the platform RHI system component.
 
static void Register (Factory *instance)
 Registers the global factory instance.
 
static void Unregister (Factory *instance)
 Unregisters the global factory instance.
 
static bool IsReady ()
 Returns whether the factory is initialized and active in this module.
 
static FactoryGet ()
 Access the global factory instance.
 
static bool IsRenderDocModuleLoaded ()
 Returns true if RenderDoc dll is loaded.
 
static bool IsPixModuleLoaded ()
 Returns true if Pix dll is loaded.
 
static bool PixGpuEventsEnabled ()
 Returns true if Pix GPU events should be emitted.
 
static bool UsingWarpDevice ()
 Returns true if Warp is enabled.
 

Member Function Documentation

◆ CreateBuffer()

RHI::Ptr< RHI::Buffer > AZ::Null::SystemComponent::CreateBuffer ( )
overridevirtual

Factory Creation Methods:

Returns the platform-specific derived variant of the RHI type. All instances are created in an uninitialized state; the operation simply allocates the memory for the appropriate platform type and returns the pointer.

Implements AZ::RHI::Factory.

◆ CreateBufferPool()

RHI::Ptr< RHI::BufferPool > AZ::Null::SystemComponent::CreateBufferPool ( )
overridevirtual

Implements AZ::RHI::Factory.

◆ CreateBufferView()

RHI::Ptr< RHI::BufferView > AZ::Null::SystemComponent::CreateBufferView ( )
overridevirtual

Implements AZ::RHI::Factory.

◆ CreateDevice()

RHI::Ptr< RHI::Device > AZ::Null::SystemComponent::CreateDevice ( )
overridevirtual

Implements AZ::RHI::Factory.

◆ CreateFence()

RHI::Ptr< RHI::Fence > AZ::Null::SystemComponent::CreateFence ( )
overridevirtual

Implements AZ::RHI::Factory.

◆ CreateFrameGraphCompiler()

RHI::Ptr< RHI::FrameGraphCompiler > AZ::Null::SystemComponent::CreateFrameGraphCompiler ( )
overridevirtual

Implements AZ::RHI::Factory.

◆ CreateFrameGraphExecuter()

RHI::Ptr< RHI::FrameGraphExecuter > AZ::Null::SystemComponent::CreateFrameGraphExecuter ( )
overridevirtual

Implements AZ::RHI::Factory.

◆ CreateImage()

RHI::Ptr< RHI::Image > AZ::Null::SystemComponent::CreateImage ( )
overridevirtual

Implements AZ::RHI::Factory.

◆ CreateImagePool()

RHI::Ptr< RHI::ImagePool > AZ::Null::SystemComponent::CreateImagePool ( )
overridevirtual

Implements AZ::RHI::Factory.

◆ CreateImageView()

RHI::Ptr< RHI::ImageView > AZ::Null::SystemComponent::CreateImageView ( )
overridevirtual

Implements AZ::RHI::Factory.

◆ CreateIndirectBufferSignature()

RHI::Ptr< RHI::IndirectBufferSignature > AZ::Null::SystemComponent::CreateIndirectBufferSignature ( )
overridevirtual

Implements AZ::RHI::Factory.

◆ CreateIndirectBufferWriter()

RHI::Ptr< RHI::IndirectBufferWriter > AZ::Null::SystemComponent::CreateIndirectBufferWriter ( )
overridevirtual

Implements AZ::RHI::Factory.

◆ CreatePipelineLibrary()

RHI::Ptr< RHI::PipelineLibrary > AZ::Null::SystemComponent::CreatePipelineLibrary ( )
overridevirtual

Implements AZ::RHI::Factory.

◆ CreatePipelineState()

RHI::Ptr< RHI::PipelineState > AZ::Null::SystemComponent::CreatePipelineState ( )
overridevirtual

Implements AZ::RHI::Factory.

◆ CreateQuery()

RHI::Ptr< RHI::Query > AZ::Null::SystemComponent::CreateQuery ( )
overridevirtual

Implements AZ::RHI::Factory.

◆ CreateQueryPool()

RHI::Ptr< RHI::QueryPool > AZ::Null::SystemComponent::CreateQueryPool ( )
overridevirtual

Implements AZ::RHI::Factory.

◆ CreateRayTracingBlas()

RHI::Ptr< RHI::RayTracingBlas > AZ::Null::SystemComponent::CreateRayTracingBlas ( )
overridevirtual

Implements AZ::RHI::Factory.

◆ CreateRayTracingBufferPools()

RHI::Ptr< RHI::RayTracingBufferPools > AZ::Null::SystemComponent::CreateRayTracingBufferPools ( )
overridevirtual

Implements AZ::RHI::Factory.

◆ CreateRayTracingPipelineState()

RHI::Ptr< RHI::RayTracingPipelineState > AZ::Null::SystemComponent::CreateRayTracingPipelineState ( )
overridevirtual

Implements AZ::RHI::Factory.

◆ CreateRayTracingShaderTable()

RHI::Ptr< RHI::RayTracingShaderTable > AZ::Null::SystemComponent::CreateRayTracingShaderTable ( )
overridevirtual

Implements AZ::RHI::Factory.

◆ CreateRayTracingTlas()

RHI::Ptr< RHI::RayTracingTlas > AZ::Null::SystemComponent::CreateRayTracingTlas ( )
overridevirtual

Implements AZ::RHI::Factory.

◆ CreateScope()

RHI::Ptr< RHI::Scope > AZ::Null::SystemComponent::CreateScope ( )
overridevirtual

Implements AZ::RHI::Factory.

◆ CreateShaderResourceGroup()

RHI::Ptr< RHI::ShaderResourceGroup > AZ::Null::SystemComponent::CreateShaderResourceGroup ( )
overridevirtual

Implements AZ::RHI::Factory.

◆ CreateShaderResourceGroupPool()

RHI::Ptr< RHI::ShaderResourceGroupPool > AZ::Null::SystemComponent::CreateShaderResourceGroupPool ( )
overridevirtual

Implements AZ::RHI::Factory.

◆ CreateStreamingImagePool()

RHI::Ptr< RHI::StreamingImagePool > AZ::Null::SystemComponent::CreateStreamingImagePool ( )
overridevirtual

Implements AZ::RHI::Factory.

◆ CreateSwapChain()

RHI::Ptr< RHI::SwapChain > AZ::Null::SystemComponent::CreateSwapChain ( )
overridevirtual

Implements AZ::RHI::Factory.

◆ CreateTransientAttachmentPool()

RHI::Ptr< RHI::TransientAttachmentPool > AZ::Null::SystemComponent::CreateTransientAttachmentPool ( )
overridevirtual

Implements AZ::RHI::Factory.

◆ EnumeratePhysicalDevices()

RHI::PhysicalDeviceList AZ::Null::SystemComponent::EnumeratePhysicalDevices ( )
overridevirtual

Collects the set of physical devices on the system and returns a list of them. Physical devices represent the hardware attached to the system. Physical devices can be grouped into nodes for linked setups (e.g. SLI / Crossfire). They can also represent software reference implementations. Check the PhysicalDeviceType on the descriptor to inspect this information.

Implements AZ::RHI::Factory.

◆ GetAPIUniqueIndex()

uint32_t AZ::Null::SystemComponent::GetAPIUniqueIndex ( ) const
inlineoverridevirtual

Purpose: The API Unique Index will be encoded in the 2 Most Significant Bits of a ShaderVariantAsset ProductSubId (a 32bits integer). Returns a number in the range [0..3]. In theory any given AssetBuilderSdk::PlatformInfo can support several RHI::APITypes. In reality "pc" only supports DX12 & Vulkan. "ios" supports only Metal. "mac" supports only Metal. "android" supports only Vulkan. So, for all practical purposes, a single PlatformInfo won't support more than 2 ShaderPlatformInterfaces, but for the sake of hedging our bets into the future We assume no more than 4 ShaderPlatformInterfaces will ever be supported for any given PlatformInfo. REMARK: It is the responsibility of the Factory subclass to return a unique number between 0...3. For example DX12 can return 0, while Vulkan should return 1 (Satisfies "pc", "android" and "linux"). Metal can return 0 because it is the only ShaderPlatformInterface for "ios", "mac" and "appletv". See AZ::RHI::Limits::APIType::PerPlatformApiUniqueIndexMax.

Implements AZ::RHI::Factory.

◆ GetDefaultPriority()

RHI::APIPriority AZ::Null::SystemComponent::GetDefaultPriority ( )
overridevirtual

Returns the default priority of the factory in case there's no priorities set in the FactoryManager.

Implements AZ::RHI::Factory.

◆ GetName()

Name AZ::Null::SystemComponent::GetName ( )
overridevirtual

Returns the name of the Factory.

Implements AZ::RHI::Factory.

◆ GetType()

RHI::APIType AZ::Null::SystemComponent::GetType ( )
overridevirtual

Returns the APIType of the factory.

Implements AZ::RHI::Factory.

◆ SupportsXR()

bool AZ::Null::SystemComponent::SupportsXR ( ) const
overridevirtual

Returns true if the factory supports XR api.

Implements AZ::RHI::Factory.


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