![]() |
XII Release 0.1.0
|
This describes the external memory description. More...
#include <Descriptors.h>
Public Member Functions | |
| XII_DECLARE_POD_TYPE () | |
Public Member Functions inherited from xiiHashableStruct< xiiGALExternalMemoryDescription > | |
| constexpr | xiiHashableStruct () noexcept |
| Default constructor. Initializes all bytes to zero. | |
| xiiHashableStruct (const xiiHashableStruct &other) noexcept | |
| Bitwise copy constructor. | |
| xiiHashableStruct & | operator= (const xiiHashableStruct &other) noexcept |
| Bitwise assignment operator. | |
| bool | operator== (const xiiHashableStruct &other) const noexcept |
| Compares equality via raw byte comparison. | |
| std::strong_ordering | operator<=> (const xiiHashableStruct &other) const noexcept |
| Compares ordering via raw byte comparison. | |
| xiiUInt32 | CalculateHash () const noexcept |
| Calculates a 32-bit hash from raw bytes of the struct. | |
| void | Clear () noexcept |
| Fills all bytes with zero. | |
| bool | IsZero () const noexcept |
| Returns true if all bytes are zero. | |
Public Attributes | |
| xiiBitflags< xiiGALExternalMemoryKind > | m_Type = xiiGALExternalMemoryKind::None |
| The type of external memory handle. | |
| xiiBitflags< xiiGALExternalMemoryFlags > | m_Flags = xiiGALExternalMemoryFlags::None |
| The usage flags for the external memory. | |
| xiiUInt64 | m_uiNativeHandle = 0U |
| Native external memory handle (e.g., HANDLE on Windows, file descriptor on Linux). | |
| xiiUInt64 | m_uiSize = 0U |
| Size of the external memory in bytes. | |
| xiiUInt64 | m_uiProcessId = 0U |
| Process ID of the process that created the external memory handle. This is used for cross-process memory sharing. | |
| xiiUInt32 | m_uiMemoryTypeIndex = 0U |
| Memory type index that is compatible with the external memory handle. This is used to ensure that the imported memory can be used with the graphics device. | |
| xiiUInt64 | m_uiNativeSemaphoreHandle = 0U |
| Native external semaphore handle (e.g., HANDLE on Windows, file descriptor on Linux). Used when importing semaphores for synchronization. | |
This describes the external memory description.
Used to import external memory handles into the graphics device. This is useful for interop scenarios where memory is shared between different APIs or processes.