XII Release 0.1.0
Loading...
Searching...
No Matches
xiiGALExternalMemoryDescription Struct Reference

This describes the external memory description. More...

#include <Descriptors.h>

Inheritance diagram for xiiGALExternalMemoryDescription:
[legend]

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.
 
xiiHashableStructoperator= (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< xiiGALExternalMemoryKindm_Type = xiiGALExternalMemoryKind::None
 The type of external memory handle.
 
xiiBitflags< xiiGALExternalMemoryFlagsm_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.
 

Detailed Description

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.


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