D3D12_HEAP_FLAGS
列挙型フラグメンバー 17
| 名前 | 10進 | 16進 | 説明 |
|---|---|---|---|
| D3D12_HEAP_FLAG_NONE | 0 | 0x0 | オプションを指定しません。 |
| D3D12_HEAP_FLAG_SHARED | 1 | 0x1 | ヒープは共有されます。共有ヒープ を参照してください。 |
| D3D12_HEAP_FLAG_DENY_BUFFERS | 4 | 0x4 | ヒープにバッファーを格納することは許可されません。 |
| D3D12_HEAP_FLAG_ALLOW_DISPLAY | 8 | 0x8 | ヒープにスワップ チェーン サーフェスを格納することが許可されます。 |
| D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER | 32 | 0x20 | ヒープはアダプター間でリソースを共有することが許可されます。共有ヒープ を参照してください。保護されたセッションは、アダプター間で共有されるリソースと混在させることはできません。 |
| D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES | 64 | 0x40 | ヒープにレンダー ターゲット (RT) テクスチャや深度ステンシル (DS) テクスチャを格納することは許可されません。 |
| D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES | 128 | 0x80 | D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET または D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL のいずれかが指定されていない限り、ヒープに D3D12_RESOURCE_DIMENSION_TEXTURE1D、D3D12_RESOURCE_DIMENSION_TEXTURE2D、または D3D12_RESOURCE_DIMENSION_TEXTURE3D のリソースを格納することは許可されません。D3D12_RESOURCE_DIMENSION および D3D12_RESOURCE_FLAGS を参照してください。 |
| D3D12_HEAP_FLAG_HARDWARE_PROTECTED | 256 | 0x100 | サポートされていません。使用しないでください。 |
| D3D12_HEAP_FLAG_ALLOW_WRITE_WATCH | 512 | 0x200 | ヒープは MEM_WRITE_WATCH 機能をサポートします。これにより、システムはコミット済みメモリ領域内で書き込みが行われたページを追跡します。このフラグは D3D12_HEAP_TYPE_DEFAULT フラグまたは D3D12_CPU_PAGE_PROPERTY_UNKNOWN フラグと組み合わせることはできません。ツールがこの機能を利用できなくなるため、アプリケーションが自らこのフラグを使用することは推奨されません。 |
| D3D12_HEAP_FLAG_ALLOW_SHADER_ATOMICS | 1024 | 0x400 | メモリを参照できるコンポーネントから見て、このヒープのメモリ上でアトミック操作がアトミックになることを保証します。 次のいずれかの条件に該当する場合、このフラグを指定したヒープの作成は失敗します。
なお、このフラグを持つヒープは、システムによっては限られたリソースとなる場合があります。 |
| D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT | 2048 | 0x800 | ヒープは非常駐 (non-resident) の状態で作成され、ID3D12Device::MakeResident または ID3D12Device3::EnqueueMakeResident を使用して常駐させる必要があります。 既定では、ヒープ作成の最終ステップはヒープを常駐させることですが、このフラグはそのステップを省略し、いつ常駐させるかをアプリケーションが決定できるようにします。 |
| D3D12_HEAP_FLAG_CREATE_NOT_ZEROED | 4096 | 0x1000 | 作成されたヒープを OS がゼロクリアしないことを許可します。既定では、コミット済みリソースおよびヒープは作成時にほぼ必ずゼロクリアされます。このフラグにより、一部のシナリオではその処理を省略できます。ただし、省略されることが保証されるわけではありません。たとえば、他のプロセスから割り当てられるメモリは、データ保護とプロセス分離のために依然としてゼロクリアされる必要があります。これによりヒープ作成のオーバーヘッドを削減できます。 |
| D3D12_HEAP_FLAG_TOOLS_USE_MANUAL_WRITE_TRACKING | 8192 | 0x2000 | |
| D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES | 0 | 0x0 | ヒープにすべての種類のバッファーおよびテクスチャを格納することが許可されます。これはエイリアスです。詳細については、解説セクションの「エイリアス」を参照してください。 |
| D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS | 192 | 0xC0 | ヒープにはバッファーのみを格納できます。これはエイリアスです。詳細については、解説セクションの「エイリアス」を参照してください。 |
| D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES | 68 | 0x44 | ヒープには RT でも DS でもないテクスチャのみを格納できます。これはエイリアスです。詳細については、解説セクションの「エイリアス」を参照してください。 |
| D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES | 132 | 0x84 | ヒープには RT テクスチャまたは DS テクスチャのみを格納できます。これはエイリアスです。詳細については、解説セクションの「エイリアス」を参照してください。 |
公式ドキュメント
ヒープにテクスチャを格納できるかどうか、リソースをアダプター間で共有するかどうかなど、ヒープのオプションを指定します。
解説(Remarks)
この列挙型は次の API 項目で使用されます。
次のヒープ フラグは ID3D12Device::CreateHeap で使用する必要がありますが、ID3D12Device::CreateCommittedResource によって作成される暗黙のヒープでは自動的に設定されます。ヒープ ティア 1 のみをサポートするアダプターでは、次の 3 つのフラグのうち 2 つを設定しなければなりません。
| 値 | 説明 |
|---|---|
| D3D12_HEAP_FLAG_DENY_BUFFERS | ヒープに D3D12_RESOURCE_DIMENSION_BUFFER (D3D12_RESOURCE_DIMENSION 列挙型の定数) のリソースを格納することは許可されません。 |
| D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES | ヒープに D3D12_RESOURCE_DIMENSION_TEXTURE1D、 D3D12_RESOURCE_DIMENSION_TEXTURE2D、または D3D12_RESOURCE_DIMENSION_TEXTURE3D のリソースを D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET または D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL と共に格納することは許可されません。 (後者の 2 つは D3D12_RESOURCE_FLAGS 列挙型の定数です。) |
| D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES | D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET と D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL のいずれも指定されていない限り、ヒープに D3D12_RESOURCE_DIMENSION_TEXTURE1D、 D3D12_RESOURCE_DIMENSION_TEXTURE2D、または D3D12_RESOURCE_DIMENSION_TEXTURE3D のリソースを格納することは許可されません。 |
エイリアス
ヒープ ティア 2 以上をサポートするアダプターでは、上記のフラグをいずれも設定しないことも許可されます。 どのリソースがサポートされるかだけを考えたいアプリケーションのために、これらのフラグのエイリアスが用意されています。次のエイリアスが存在するため、ビット操作を行う際は注意してください。
- D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES = 0 であり、ヒープ ティア 2 以上でのみサポートされます。
- D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS = D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES | D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES
- D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES = D3D12_HEAP_FLAG_DENY_BUFFERS | D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES
- D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES = D3D12_HEAP_FLAG_DENY_BUFFERS | D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES
表示可能なヒープ
表示可能なヒープは、モニターへのスキャンアウトを可能にするために、通常はプレゼンテーション用としてスワップ チェーンによって作成されます。表示可能なヒープは、D3D12_HEAP_FLAGS 列挙型の D3D12_HEAP_FLAG_ALLOW_DISPLAY メンバーで指定します。
アプリケーションはスワップ チェーン以外で表示可能なヒープを作成できますが、それを使って実際にプレゼントすることはできません。 このフラグは CreateHeap ではサポートされておらず、D3D12_HEAP_TYPE_DEFAULT を指定した CreateCommittedResource でのみ使用できます。
表示可能なヒープで作成されるリソースには、D3D12_RESOURCE_DESC に対する追加の制限が適用されます。
- フォーマットはデバイスでサポートされているだけでなく、スキャンアウトでもサポートされている必要があります。D3D12_FORMAT_SUPPORT1 の D3D12_FORMAT_SUPPORT1_DISPLAY メンバーの使用方法を参照してください。
- Dimension は D3D12_RESOURCE_DIMENSION_TEXTURE2D でなければなりません。
- Alignment は 0 でなければなりません。
- ArraySize は 1 または 2 のいずれかです。
- MipLevels は 1 でなければなりません。
- SampleDesc は Count が 1、Quality が 0 に設定されていなければなりません。
- Layout は D3D12_TEXTURE_LAYOUT_UNKNOWN でなければなりません。
- D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL および D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER は無効な フラグです。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
各言語での定義
列挙メンバーの定義。HSP タブは #define global(値は16進)。
typedef enum D3D12_HEAP_FLAGS : int {
D3D12_HEAP_FLAG_NONE = 0,
D3D12_HEAP_FLAG_SHARED = 1,
D3D12_HEAP_FLAG_DENY_BUFFERS = 4,
D3D12_HEAP_FLAG_ALLOW_DISPLAY = 8,
D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER = 32,
D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES = 64,
D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES = 128,
D3D12_HEAP_FLAG_HARDWARE_PROTECTED = 256,
D3D12_HEAP_FLAG_ALLOW_WRITE_WATCH = 512,
D3D12_HEAP_FLAG_ALLOW_SHADER_ATOMICS = 1024,
D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT = 2048,
D3D12_HEAP_FLAG_CREATE_NOT_ZEROED = 4096,
D3D12_HEAP_FLAG_TOOLS_USE_MANUAL_WRITE_TRACKING = 8192,
D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES = 0,
D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS = 192,
D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES = 68,
D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES = 132
} D3D12_HEAP_FLAGS;[Flags]
public enum D3D12_HEAP_FLAGS : int
{
D3D12_HEAP_FLAG_NONE = 0,
D3D12_HEAP_FLAG_SHARED = 1,
D3D12_HEAP_FLAG_DENY_BUFFERS = 4,
D3D12_HEAP_FLAG_ALLOW_DISPLAY = 8,
D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER = 32,
D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES = 64,
D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES = 128,
D3D12_HEAP_FLAG_HARDWARE_PROTECTED = 256,
D3D12_HEAP_FLAG_ALLOW_WRITE_WATCH = 512,
D3D12_HEAP_FLAG_ALLOW_SHADER_ATOMICS = 1024,
D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT = 2048,
D3D12_HEAP_FLAG_CREATE_NOT_ZEROED = 4096,
D3D12_HEAP_FLAG_TOOLS_USE_MANUAL_WRITE_TRACKING = 8192,
D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES = 0,
D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS = 192,
D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES = 68,
D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES = 132,
}<Flags>
Public Enum D3D12_HEAP_FLAGS As Integer
D3D12_HEAP_FLAG_NONE = 0
D3D12_HEAP_FLAG_SHARED = 1
D3D12_HEAP_FLAG_DENY_BUFFERS = 4
D3D12_HEAP_FLAG_ALLOW_DISPLAY = 8
D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER = 32
D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES = 64
D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES = 128
D3D12_HEAP_FLAG_HARDWARE_PROTECTED = 256
D3D12_HEAP_FLAG_ALLOW_WRITE_WATCH = 512
D3D12_HEAP_FLAG_ALLOW_SHADER_ATOMICS = 1024
D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT = 2048
D3D12_HEAP_FLAG_CREATE_NOT_ZEROED = 4096
D3D12_HEAP_FLAG_TOOLS_USE_MANUAL_WRITE_TRACKING = 8192
D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES = 0
D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS = 192
D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES = 68
D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES = 132
End Enumimport enum
class D3D12_HEAP_FLAGS(enum.IntFlag):
D3D12_HEAP_FLAG_NONE = 0
D3D12_HEAP_FLAG_SHARED = 1
D3D12_HEAP_FLAG_DENY_BUFFERS = 4
D3D12_HEAP_FLAG_ALLOW_DISPLAY = 8
D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER = 32
D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES = 64
D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES = 128
D3D12_HEAP_FLAG_HARDWARE_PROTECTED = 256
D3D12_HEAP_FLAG_ALLOW_WRITE_WATCH = 512
D3D12_HEAP_FLAG_ALLOW_SHADER_ATOMICS = 1024
D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT = 2048
D3D12_HEAP_FLAG_CREATE_NOT_ZEROED = 4096
D3D12_HEAP_FLAG_TOOLS_USE_MANUAL_WRITE_TRACKING = 8192
D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES = 0
D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS = 192
D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES = 68
D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES = 132// D3D12_HEAP_FLAGS (flags)
pub const D3D12_HEAP_FLAG_NONE: i32 = 0;
pub const D3D12_HEAP_FLAG_SHARED: i32 = 1;
pub const D3D12_HEAP_FLAG_DENY_BUFFERS: i32 = 4;
pub const D3D12_HEAP_FLAG_ALLOW_DISPLAY: i32 = 8;
pub const D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER: i32 = 32;
pub const D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES: i32 = 64;
pub const D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES: i32 = 128;
pub const D3D12_HEAP_FLAG_HARDWARE_PROTECTED: i32 = 256;
pub const D3D12_HEAP_FLAG_ALLOW_WRITE_WATCH: i32 = 512;
pub const D3D12_HEAP_FLAG_ALLOW_SHADER_ATOMICS: i32 = 1024;
pub const D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT: i32 = 2048;
pub const D3D12_HEAP_FLAG_CREATE_NOT_ZEROED: i32 = 4096;
pub const D3D12_HEAP_FLAG_TOOLS_USE_MANUAL_WRITE_TRACKING: i32 = 8192;
pub const D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES: i32 = 0;
pub const D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS: i32 = 192;
pub const D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES: i32 = 68;
pub const D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES: i32 = 132;// D3D12_HEAP_FLAGS
const (
D3D12_HEAP_FLAG_NONE int32 = 0
D3D12_HEAP_FLAG_SHARED int32 = 1
D3D12_HEAP_FLAG_DENY_BUFFERS int32 = 4
D3D12_HEAP_FLAG_ALLOW_DISPLAY int32 = 8
D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER int32 = 32
D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES int32 = 64
D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES int32 = 128
D3D12_HEAP_FLAG_HARDWARE_PROTECTED int32 = 256
D3D12_HEAP_FLAG_ALLOW_WRITE_WATCH int32 = 512
D3D12_HEAP_FLAG_ALLOW_SHADER_ATOMICS int32 = 1024
D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT int32 = 2048
D3D12_HEAP_FLAG_CREATE_NOT_ZEROED int32 = 4096
D3D12_HEAP_FLAG_TOOLS_USE_MANUAL_WRITE_TRACKING int32 = 8192
D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES int32 = 0
D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS int32 = 192
D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES int32 = 68
D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES int32 = 132
)const
D3D12_HEAP_FLAG_NONE = 0;
D3D12_HEAP_FLAG_SHARED = 1;
D3D12_HEAP_FLAG_DENY_BUFFERS = 4;
D3D12_HEAP_FLAG_ALLOW_DISPLAY = 8;
D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER = 32;
D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES = 64;
D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES = 128;
D3D12_HEAP_FLAG_HARDWARE_PROTECTED = 256;
D3D12_HEAP_FLAG_ALLOW_WRITE_WATCH = 512;
D3D12_HEAP_FLAG_ALLOW_SHADER_ATOMICS = 1024;
D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT = 2048;
D3D12_HEAP_FLAG_CREATE_NOT_ZEROED = 4096;
D3D12_HEAP_FLAG_TOOLS_USE_MANUAL_WRITE_TRACKING = 8192;
D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES = 0;
D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS = 192;
D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES = 68;
D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES = 132;// D3D12_HEAP_FLAGS
pub const D3D12_HEAP_FLAG_NONE: i32 = 0;
pub const D3D12_HEAP_FLAG_SHARED: i32 = 1;
pub const D3D12_HEAP_FLAG_DENY_BUFFERS: i32 = 4;
pub const D3D12_HEAP_FLAG_ALLOW_DISPLAY: i32 = 8;
pub const D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER: i32 = 32;
pub const D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES: i32 = 64;
pub const D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES: i32 = 128;
pub const D3D12_HEAP_FLAG_HARDWARE_PROTECTED: i32 = 256;
pub const D3D12_HEAP_FLAG_ALLOW_WRITE_WATCH: i32 = 512;
pub const D3D12_HEAP_FLAG_ALLOW_SHADER_ATOMICS: i32 = 1024;
pub const D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT: i32 = 2048;
pub const D3D12_HEAP_FLAG_CREATE_NOT_ZEROED: i32 = 4096;
pub const D3D12_HEAP_FLAG_TOOLS_USE_MANUAL_WRITE_TRACKING: i32 = 8192;
pub const D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES: i32 = 0;
pub const D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS: i32 = 192;
pub const D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES: i32 = 68;
pub const D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES: i32 = 132;const
D3D12_HEAP_FLAG_NONE* = 0
D3D12_HEAP_FLAG_SHARED* = 1
D3D12_HEAP_FLAG_DENY_BUFFERS* = 4
D3D12_HEAP_FLAG_ALLOW_DISPLAY* = 8
D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER* = 32
D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES* = 64
D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES* = 128
D3D12_HEAP_FLAG_HARDWARE_PROTECTED* = 256
D3D12_HEAP_FLAG_ALLOW_WRITE_WATCH* = 512
D3D12_HEAP_FLAG_ALLOW_SHADER_ATOMICS* = 1024
D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT* = 2048
D3D12_HEAP_FLAG_CREATE_NOT_ZEROED* = 4096
D3D12_HEAP_FLAG_TOOLS_USE_MANUAL_WRITE_TRACKING* = 8192
D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES* = 0
D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS* = 192
D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES* = 68
D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES* = 132enum D3D12_HEAP_FLAGS : int {
D3D12_HEAP_FLAG_NONE = 0,
D3D12_HEAP_FLAG_SHARED = 1,
D3D12_HEAP_FLAG_DENY_BUFFERS = 4,
D3D12_HEAP_FLAG_ALLOW_DISPLAY = 8,
D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER = 32,
D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES = 64,
D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES = 128,
D3D12_HEAP_FLAG_HARDWARE_PROTECTED = 256,
D3D12_HEAP_FLAG_ALLOW_WRITE_WATCH = 512,
D3D12_HEAP_FLAG_ALLOW_SHADER_ATOMICS = 1024,
D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT = 2048,
D3D12_HEAP_FLAG_CREATE_NOT_ZEROED = 4096,
D3D12_HEAP_FLAG_TOOLS_USE_MANUAL_WRITE_TRACKING = 8192,
D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES = 0,
D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS = 192,
D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES = 68,
D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES = 132,
}#define global D3D12_HEAP_FLAG_NONE 0x0
#define global D3D12_HEAP_FLAG_SHARED 0x1
#define global D3D12_HEAP_FLAG_DENY_BUFFERS 0x4
#define global D3D12_HEAP_FLAG_ALLOW_DISPLAY 0x8
#define global D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER 0x20
#define global D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES 0x40
#define global D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES 0x80
#define global D3D12_HEAP_FLAG_HARDWARE_PROTECTED 0x100
#define global D3D12_HEAP_FLAG_ALLOW_WRITE_WATCH 0x200
#define global D3D12_HEAP_FLAG_ALLOW_SHADER_ATOMICS 0x400
#define global D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT 0x800
#define global D3D12_HEAP_FLAG_CREATE_NOT_ZEROED 0x1000
#define global D3D12_HEAP_FLAG_TOOLS_USE_MANUAL_WRITE_TRACKING 0x2000
#define global D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES 0x0
#define global D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS 0xC0
#define global D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES 0x44
#define global D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES 0x84
; ※フラグ列挙型。ビットORで組み合わせ可(例: FOO|BAR)。