#include <MultiDevicePipelineLibrary.h>
Inherits AZ::RHI::MultiDeviceObject.
|
void | Init (MultiDevice::DeviceMask deviceMask) |
| The derived class should call this method to assign the device.
|
|
void | Shutdown () override |
| Clears the current bound device to null.
|
|
template<typename T > |
void | IterateDevices (T callback) |
| Helper method that will iterate over all selected devices and call the provided callback.
|
|
void | add_ref () const |
|
void | release () const |
|
AZStd::atomic_int | m_useCount = 0 |
|
MultiDevicePipelineLibrary is a multi-device class (representing a PipelineLibrary on multiple devices). It holds a map of device-specific PipelineLibrary objects, which can be addressed with a device index. The class is initialized with a device mask (1 bit per device), which initializes one PipelineLibrary for each bit set and stores them in a map. The API then forwards all calls to the all device-specific PipelineLibrary objects by iterating over them and forwarding the call. A device-specific PipelineLibrary can be accessed by calling GetDevicePipelineLibrary with the corresponding device index
◆ GetSerializedData()
ConstPtr< PipelineLibraryData > AZ::RHI::MultiDevicePipelineLibrary::GetSerializedData |
( |
int |
deviceIndex = RHI::MultiDevice::DefaultDeviceIndex | ) |
const |
|
inline |
Serializes the platform-specific data and returns it as a new PipelineLibraryData instance for a specific device
- Parameters
-
deviceIndex | Denotes from which device the serialized data should be retrieved |
◆ Init()
◆ IsMergeRequired()
virtual bool AZ::RHI::MultiDevicePipelineLibrary::IsMergeRequired |
( |
| ) |
const |
|
virtual |
Returns whether the current library need to be merged Returns true if any of the device-specific PipelineLibrary objects needs to be merged
◆ MergeInto()
ResultCode AZ::RHI::MultiDevicePipelineLibrary::MergeInto |
( |
AZStd::span< const MultiDevicePipelineLibrary *const > |
librariesToMerge | ) |
|
Forwards the call to all device-specific PipelineLibraries, for each device-specific PipelineLibrary, extracting the corresponding PipelineLibrary(ies) from librariesToMerge and passing them on.
- Parameters
-
librariesToMerge | A span of libraries to merge into this library |
The documentation for this class was generated from the following file:
- Gems/Atom/RHI/Code/Include/Atom/RHI/MultiDevicePipelineLibrary.h