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

Flags used to configure Direct3D 12 memory heap properties. More...

#include <MemoryAllocatorD3D12.h>

Classes

struct  Bits

Public Types

enum  Enum : StorageType {
  Shared = 0x00000001 , DenyBuffers = 0x00000004 , AllowDisplay = 0x00000008 , SharedCrossAdapter = 0x00000020 ,
  DenyRenderTargetAndDepthStencilTextures = 0x00000040 , DenyNonRenderTargetAndDepthStencilTextures = 0x00000080 , HardwareProtected = 0x00000100 , AllowWriteWatch = 0x00000200 ,
  AllowShaderAtomics = 0x00000400 , CreateNotResident = 0x00000800 , CreateNotZeroed = 0x00001000 , ToolsUseManualWriteTracking = 0x00002000 ,
  AllowOnlyBuffers = 0x000000C0 , AllowOnlyNonDisplayableTextures = 0x000000D0 , AllowOnlyDisplayableTextures = 0x000000B0 , Default = 0U
}
using StorageType = xiiUInt32

Detailed Description

Flags used to configure Direct3D 12 memory heap properties.

Member Enumeration Documentation

◆ Enum

enum xiiD3D12MemoryHeapFlags::Enum : StorageType
Enumerator
Shared 

Heap can be shared between multiple devices (e.g., for cross-adapter sharing).

DenyBuffers 

Heap cannot be used for buffers (e.g., vertex/index buffers).

AllowDisplay 

Heap can be used for displayable resources (e.g., swap chain buffers).

SharedCrossAdapter 

Heap can be shared across multiple adapters (e.g., for multi-GPU setups).

DenyRenderTargetAndDepthStencilTextures 

Heap cannot be used for render target or depth stencil textures.

DenyNonRenderTargetAndDepthStencilTextures 

Heap cannot be used for non-render target and non-depth stencil textures (e.g., regular textures).

HardwareProtected 

Heap is hardware protected (e.g., for secure video decoding).

AllowWriteWatch 

Heap supports write-watch functionality for tracking modified memory pages.

AllowShaderAtomics 

Heap supports shader atomic operations (e.g., for UAVs with atomic counters).

CreateNotResident 

Heap is created in a non-resident state and must be made resident before use.

CreateNotZeroed 

Heap memory is not zero-initialized upon allocation (use with care to avoid uninitialized memory).

ToolsUseManualWriteTracking 

Heap is used by tools with manual write tracking; requires explicit synchronization for CPU writes.

AllowOnlyBuffers 

Heap can only be used for buffers (combination of DenyBuffers and DenyNonRenderTargetAndDepthStencilTextures).

AllowOnlyNonDisplayableTextures 

Heap can only be used for non-displayable textures (combination of DenyBuffers and AllowDisplay).

AllowOnlyDisplayableTextures 

Heap can only be used for displayable textures (combination of DenyBuffers and DenyNonRenderTargetAndDepthStencilTextures).

Default 

No special flags; heap can be used for any resource type.


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