Inherits AZ::RHI::RHISystemInterface, and AZ::RHI::RHIMemoryStatisticsInterface.
Public Types | |
using | FrameGraphCallback = AZStd::function< void(RHI::FrameGraphBuilder &)> |
An external callback to build the frame graph. | |
Public Member Functions | |
ResultCode | InitDevices (int deviceCount=1) |
void | Init (RHI::Ptr< RHI::ShaderResourceGroupLayout > bindlessSrgLayout=nullptr) |
void | Shutdown () |
void | FrameUpdate (FrameGraphCallback frameGraphCallback) |
Invokes the frame scheduler. The provided callback is invoked prior to compilation of the graph. | |
bool | RegisterXRSystem (XRRenderingInterface *xrRenderingInterface) |
Register/Unregister xr system. | |
void | UnregisterXRSystem () |
void | SetNumActiveRenderPipelines (uint16_t numActiveRenderPipelines) |
Get/Set functions for the number of active pipelines in use in a frame. | |
uint16_t | GetNumActiveRenderPipelines () const override |
RHI::Device * | GetDevice (int deviceIndex=MultiDevice::DefaultDeviceIndex) override |
const RHI::Device * | GetDevice (int deviceIndex=MultiDevice::DefaultDeviceIndex) const override |
AZStd::optional< int > | AddVirtualDevice (int deviceIndexToVirtualize=MultiDevice::DefaultDeviceIndex) override |
Add a new virtual device (referencing the same physical device as an existing device marked by deviceIndexToVirtualize) | |
int | GetDeviceCount () override |
MultiDevice::DeviceMask | GetRayTracingSupport () override |
RHI::DrawListTagRegistry * | GetDrawListTagRegistry () override |
RHI::PipelineStateCache * | GetPipelineStateCache () override |
void | ModifyFrameSchedulerStatisticsFlags (RHI::FrameSchedulerStatisticsFlags statisticsFlags, bool enableFlags) override |
double | GetCpuFrameTime () const override |
const AZStd::unordered_map< int, TransientAttachmentPoolDescriptor > * | GetTransientAttachmentPoolDescriptor () const override |
ConstPtr< PlatformLimitsDescriptor > | GetPlatformLimitsDescriptor (int deviceIndex=MultiDevice::DefaultDeviceIndex) const override |
void | QueueRayTracingShaderTableForBuild (DeviceRayTracingShaderTable *rayTracingShaderTable) override |
XRRenderingInterface * | GetXRSystem () const override |
void | SetDrawListTagEnabledByDefault (DrawListTag drawListTag, bool enabled) override |
const AZStd::vector< DrawListTag > & | GetDrawListTagsDisabledByDefault () const override |
bool | GpuMarkersEnabled () const override |
bool | CanMergeSubpasses () const override |
Returns true is the RHI supports merging Subpasses. | |
AZStd::unordered_map< int, TransientAttachmentStatistics > | GetTransientAttachmentStatistics () const override |
const RHI::MemoryStatistics * | GetMemoryStatistics () const override |
void | WriteResourcePoolInfoToJson (const AZStd::vector< RHI::MemoryStatistics::Pool > &pools, rapidjson::Document &doc) const override |
AZ::Outcome< void, AZStd::string > | LoadResourcePoolInfoFromJson (AZStd::vector< RHI::MemoryStatistics::Pool > &pools, AZStd::vector< RHI::MemoryStatistics::Heap > &heaps, rapidjson::Document &doc, const AZStd::string &fileName) const override |
void | TriggerResourcePoolAllocInfoDump () const override |
![]() | |
AZ_RTTI (RHISystemInterface, "{B70BB184-D7D5-4C15-9C82-C9459F552F13}") | |
AZ_DISABLE_COPY_MOVE (RHISystemInterface) | |
![]() | |
AZ_RTTI (RHIMemoryStatisticsInterface, "{C3789EE2-7922-434D-AC19-8A2D80194C0E}") | |
AZ_DISABLE_COPY_MOVE (RHIMemoryStatisticsInterface) | |
Additional Inherited Members | |
![]() | |
static RHISystemInterface * | Get () |
![]() | |
static RHIMemoryStatisticsInterface * | Get () |
|
overridevirtual |
Add a new virtual device (referencing the same physical device as an existing device marked by deviceIndexToVirtualize)
Implements AZ::RHI::RHISystemInterface.
|
overridevirtual |
Returns true is the RHI supports merging Subpasses.
Implements AZ::RHI::RHISystemInterface.
|
overridevirtual |
Implements AZ::RHI::RHISystemInterface.
|
overridevirtual |
Implements AZ::RHI::RHISystemInterface.
|
overridevirtual |
Implements AZ::RHI::RHISystemInterface.
|
overridevirtual |
Implements AZ::RHI::RHISystemInterface.
|
overridevirtual |
Implements AZ::RHI::RHISystemInterface.
|
overridevirtual |
Implements AZ::RHI::RHISystemInterface.
|
overridevirtual |
Implements AZ::RHI::RHIMemoryStatisticsInterface.
|
overridevirtual |
Implements AZ::RHI::RHISystemInterface.
|
overridevirtual |
Implements AZ::RHI::RHISystemInterface.
|
overridevirtual |
Implements AZ::RHI::RHISystemInterface.
|
overridevirtual |
Implements AZ::RHI::RHISystemInterface.
|
overridevirtual |
Implements AZ::RHI::RHISystemInterface.
|
overridevirtual |
Implements AZ::RHI::RHIMemoryStatisticsInterface.
|
overridevirtual |
Implements AZ::RHI::RHISystemInterface.
|
overridevirtual |
Implements AZ::RHI::RHISystemInterface.
void AZ::RHI::RHISystem::Init | ( | RHI::Ptr< RHI::ShaderResourceGroupLayout > | bindlessSrgLayout = nullptr | ) |
This function initializes the rest of the RHI/RHI backend. bindlessSrgLayout in this case is layout associated with the bindless srg (Bindless.azsli).
ResultCode AZ::RHI::RHISystem::InitDevices | ( | int | deviceCount = 1 | ) |
This function just initializes the native devices and RHI::Device as a result. We can use these devices to then query for device capabilities.
|
overridevirtual |
Utility function to load previously captured pool statistics from json. The function clears the passed pools and heaps vectors.
Implements AZ::RHI::RHIMemoryStatisticsInterface.
|
overridevirtual |
Implements AZ::RHI::RHISystemInterface.
|
overridevirtual |
Implements AZ::RHI::RHISystemInterface.
|
overridevirtual |
Implements AZ::RHI::RHISystemInterface.
|
overridevirtual |
Utility function to write the current state of all resource pools to a json file Useful for programmatically triggered dumps.
Implements AZ::RHI::RHIMemoryStatisticsInterface.
|
overridevirtual |
Utility function to write the state of the provided pool statistics to json. The function assumes the pool data will not be modified while it is being converted.
Implements AZ::RHI::RHIMemoryStatisticsInterface.