Win32 API 日本語リファレンス
ホームGraphics.Direct3D12 › D3D12_RESOURCE_STATES

D3D12_RESOURCE_STATES

列挙型フラグ
基底型i4

メンバー 32

名前10進16進説明
D3D12_RESOURCE_STATE_COMMON00x0

アプリケーションでこの状態へ遷移させるのは、異なる種類のグラフィックスエンジンをまたいでリソースにアクセスする場合だけにしてください。

具体的には、(それ以前に DIRECT/COMPUTE で使用していた) リソースを COPY キューで使用する前、および (それ以前に COPY で使用していた) リソースを DIRECT/COMPUTE で使用する前に、リソースは COMMON 状態でなければなりません。この制限は、DIRECT キューと COMPUTE キューの間でデータにアクセスする場合には当てはまりません。

COMMON 状態は、暗黙的な状態遷移を利用することで、Copy キュー上のすべての用途に使用できます。詳細については、Multi-engine synchronization で "common" を参照してください。

さらに、CPU からのアクセスが有効となるためには、テクスチャは COMMON 状態でなければなりません (そもそもテクスチャが CPU から参照可能なヒープに作成されていることが前提です)。

D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER10x1サブリソースが頂点バッファーまたは定数バッファーとして GPU からアクセスされるときは、そのサブリソースはこの状態でなければなりません。これは読み取り専用の状態です。
D3D12_RESOURCE_STATE_INDEX_BUFFER20x2サブリソースがインデックスバッファーとして 3D パイプラインからアクセスされるときは、そのサブリソースはこの状態でなければなりません。これは読み取り専用の状態です。
D3D12_RESOURCE_STATE_RENDER_TARGET40x4

リソースはレンダーターゲットとして使用されます。サブリソースへのレンダリングを行うとき、または ID3D12GraphicsCommandList::ClearRenderTargetView でクリアするときは、そのサブリソースはこの状態でなければなりません。

これは書き込み専用の状態です。レンダーターゲットをシェーダーリソースとして読み取るには、リソースが D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE または D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE のいずれかの状態でなければなりません。

D3D12_RESOURCE_STATE_UNORDERED_ACCESS80x8リソースはアンオーダードアクセスに使用されます。サブリソースがアンオーダードアクセスビューを介して GPU からアクセスされるときは、そのサブリソースはこの状態でなければなりません。また、ID3D12GraphicsCommandList::ClearUnorderedAccessViewInt または ID3D12GraphicsCommandList::ClearUnorderedAccessViewFloat でクリアされるときも、サブリソースはこの状態でなければなりません。これは読み取り/書き込みの状態です。
D3D12_RESOURCE_STATE_DEPTH_WRITE160x10D3D12_RESOURCE_STATE_DEPTH_WRITE は、他の状態とは排他的な状態です。フラグ (D3D12_CLEAR_FLAGS を参照) が対象のサブリソースをクリアすべきことを示している場合の ID3D12GraphicsCommandList::ClearDepthStencilView (それ以外の場合、サブリソースの状態は影響しません)、または PSO で深度書き込みが有効になっている (D3D12_DEPTH_STENCIL_DESC を参照) 状態で書き込み可能な深度ステンシルビュー (D3D12_DSV_FLAGS を参照) として使用する場合に、この状態を使用します。
D3D12_RESOURCE_STATE_DEPTH_READ320x20DEPTH_READ は、他の状態と組み合わせることができる状態です。サブリソースが読み取り専用の深度ステンシルビューに含まれる場合、または D3D12_DEPTH_STENCIL_DESC の深度書き込みが無効になっている場合に使用します。他の読み取り状態 (たとえば D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE) と組み合わせることができ、それによってリソースを深度テストやステンシルテストに使用しつつ、同じ描画呼び出しの中でシェーダーからアクセスできます。描画呼び出しやクリアコマンドによって深度が書き込まれる場合にこの状態を使用するのは無効です。
D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE640x40リソースはピクセルシェーダー以外のシェーダーで使用されます。シェーダーリソースビューを介して (ピクセルシェーダーステージを除く) いずれかのステージから読み取られる前に、サブリソースはこの状態でなければなりません。D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE フラグも併せて設定されていれば、このフラグのままピクセルシェーダーでリソースを使用することもできます。これは読み取り専用の状態です。
D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE1280x80リソースはピクセルシェーダーで使用されます。シェーダーリソースビューを介してピクセルシェーダーから読み取られる前に、サブリソースはこの状態でなければなりません。これは読み取り専用の状態です。
D3D12_RESOURCE_STATE_STREAM_OUT2560x100リソースはストリーム出力で使用されます。サブリソースがストリーム出力ターゲットとして 3D パイプラインからアクセスされるときは、そのサブリソースはこの状態でなければなりません。これは書き込み専用の状態です。
D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT5120x200リソースは間接引数として使用されます。 サブリソースが間接描画メソッド ID3D12GraphicsCommandList::ExecuteIndirect に渡される引数バッファーとして使用されるときは、サブリソースはこの状態でなければなりません。 これは読み取り専用の状態です。
D3D12_RESOURCE_STATE_COPY_DEST10240x400リソースはコピー操作のコピー先として使用されます。 サブリソースがコピー操作または blt 操作のコピー先として使用されるときは、サブリソースはこの状態でなければなりません。 これは書き込み専用の状態です。
D3D12_RESOURCE_STATE_COPY_SOURCE20480x800リソースはコピー操作のコピー元として使用されます。 サブリソースがコピー操作または blt 操作のコピー元として使用されるときは、サブリソースはこの状態でなければなりません。 これは読み取り専用の状態です。
D3D12_RESOURCE_STATE_RESOLVE_DEST40960x1000リソースは resolve 操作の出力先として使用されます。
D3D12_RESOURCE_STATE_RESOLVE_SOURCE81920x2000リソースは resolve 操作のソースとして使用されます。
D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE41943040x400000

バッファーがこの状態を初期状態として作成された場合、そのリソースがレイトレーシングアクセラレーション構造であり、ID3D12GraphicsCommandList4::BuildRaytracingAccelerationStructureID3D12GraphicsCommandList4::CopyRaytracingAccelerationStructure、または D3D12_SRV_DIMENSION_RAYTRACING_ACCELERATION_STRUCTURE ディメンションに対する ID3D12Device::CreateShaderResourceView で使用されることを示します。

メモ

D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE 状態で使用するリソースは、その状態で作成しなければならず、その後この状態から遷移させることはできません。また、この状態以外で作成されたリソースをこの状態へ遷移させることもできません。詳細については、GitHub 上の DirectX レイトレーシング (DXR) 機能仕様の Acceleration structure memory restrictions を参照してください。

D3D12_RESOURCE_STATE_SHADING_RATE_SOURCE167772160x1000000Windows 10 バージョン 1903 (10.0、ビルド 18362) 以降で、リソースが可変レートシェーディング (VRS) 用のスクリーン空間シェーディングレートイメージであることを示します。詳細については、Variable-rate shading (VRS) を参照してください。
D3D12_RESOURCE_STATE_RESERVED_INTERNAL_8000327680x8000
D3D12_RESOURCE_STATE_RESERVED_INTERNAL_4000163840x4000
D3D12_RESOURCE_STATE_RESERVED_INTERNAL_10000010485760x100000
D3D12_RESOURCE_STATE_RESERVED_INTERNAL_4000000010737418240x40000000
D3D12_RESOURCE_STATE_RESERVED_INTERNAL_80000000-21474836480x80000000
D3D12_RESOURCE_STATE_GENERIC_READ27550xAC3D3D12_RESOURCE_STATE_GENERIC_READ は、他の読み取り状態のビットを論理的な OR で組み合わせたものです。これはアップロードヒープに必要な開始状態です。D3D12_RESOURCE_STATE_GENERIC_READ への遷移は、早すぎるキャッシュのフラッシュやリソースレイアウトの変更 (たとえば圧縮/展開) を引き起こし、不要なパイプラインストールの原因となる可能性があるため、アプリケーションでは可能な限り避けてください。代わりに、実際に使用する状態にのみリソースを遷移させてください。
D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE1920xC0D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE | D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE と同等です。
D3D12_RESOURCE_STATE_PRESENT00x0D3D12_RESOURCE_STATE_COMMON と同義です。
D3D12_RESOURCE_STATE_PREDICATION5120x200リソースは Predication に使用されます。
D3D12_RESOURCE_STATE_VIDEO_DECODE_READ655360x10000リソースはデコード操作のソースとして使用されます。圧縮ビットストリームの読み取りや、デコード参照フレームからの読み取りなどが該当します。
D3D12_RESOURCE_STATE_VIDEO_DECODE_WRITE1310720x20000リソースはデコード操作の出力先として使用されます。この状態は、デコード出力とヒストグラムに使用されます。
D3D12_RESOURCE_STATE_VIDEO_PROCESS_READ2621440x40000リソースはビデオ処理中にビデオデータを読み取るために使用されます。つまり、ビデオエンコード (圧縮) などの処理操作におけるソースとしてリソースが使用されます。
D3D12_RESOURCE_STATE_VIDEO_PROCESS_WRITE5242880x80000リソースはビデオ処理中にビデオデータを書き込むために使用されます。つまり、ビデオエンコード (圧縮) などの処理操作における出力先としてリソースが使用されます。
D3D12_RESOURCE_STATE_VIDEO_ENCODE_READ20971520x200000リソースはエンコード操作のソースとして使用されます。この状態は、動き推定の入力および参照に使用されます。
D3D12_RESOURCE_STATE_VIDEO_ENCODE_WRITE83886080x800000このリソースはエンコード操作の出力先として使用されます。この状態は、動きベクトルヒープの resolve 操作における出力先テクスチャに使用されます。

公式ドキュメント

リソースがどのように使用されているかという観点で、リソースの状態を指定する定数を定義します。

解説(Remarks)

この列挙型は、次のメソッドで使用されます。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

各言語での定義

列挙メンバーの定義。HSP タブは #define global(値は16進)。

typedef enum D3D12_RESOURCE_STATES : int {
    D3D12_RESOURCE_STATE_COMMON = 0,
    D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER = 1,
    D3D12_RESOURCE_STATE_INDEX_BUFFER = 2,
    D3D12_RESOURCE_STATE_RENDER_TARGET = 4,
    D3D12_RESOURCE_STATE_UNORDERED_ACCESS = 8,
    D3D12_RESOURCE_STATE_DEPTH_WRITE = 16,
    D3D12_RESOURCE_STATE_DEPTH_READ = 32,
    D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE = 64,
    D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE = 128,
    D3D12_RESOURCE_STATE_STREAM_OUT = 256,
    D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT = 512,
    D3D12_RESOURCE_STATE_COPY_DEST = 1024,
    D3D12_RESOURCE_STATE_COPY_SOURCE = 2048,
    D3D12_RESOURCE_STATE_RESOLVE_DEST = 4096,
    D3D12_RESOURCE_STATE_RESOLVE_SOURCE = 8192,
    D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE = 4194304,
    D3D12_RESOURCE_STATE_SHADING_RATE_SOURCE = 16777216,
    D3D12_RESOURCE_STATE_RESERVED_INTERNAL_8000 = 32768,
    D3D12_RESOURCE_STATE_RESERVED_INTERNAL_4000 = 16384,
    D3D12_RESOURCE_STATE_RESERVED_INTERNAL_100000 = 1048576,
    D3D12_RESOURCE_STATE_RESERVED_INTERNAL_40000000 = 1073741824,
    D3D12_RESOURCE_STATE_RESERVED_INTERNAL_80000000 = -2147483648,
    D3D12_RESOURCE_STATE_GENERIC_READ = 2755,
    D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE = 192,
    D3D12_RESOURCE_STATE_PRESENT = 0,
    D3D12_RESOURCE_STATE_PREDICATION = 512,
    D3D12_RESOURCE_STATE_VIDEO_DECODE_READ = 65536,
    D3D12_RESOURCE_STATE_VIDEO_DECODE_WRITE = 131072,
    D3D12_RESOURCE_STATE_VIDEO_PROCESS_READ = 262144,
    D3D12_RESOURCE_STATE_VIDEO_PROCESS_WRITE = 524288,
    D3D12_RESOURCE_STATE_VIDEO_ENCODE_READ = 2097152,
    D3D12_RESOURCE_STATE_VIDEO_ENCODE_WRITE = 8388608
} D3D12_RESOURCE_STATES;
[Flags]
public enum D3D12_RESOURCE_STATES : int
{
    D3D12_RESOURCE_STATE_COMMON = 0,
    D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER = 1,
    D3D12_RESOURCE_STATE_INDEX_BUFFER = 2,
    D3D12_RESOURCE_STATE_RENDER_TARGET = 4,
    D3D12_RESOURCE_STATE_UNORDERED_ACCESS = 8,
    D3D12_RESOURCE_STATE_DEPTH_WRITE = 16,
    D3D12_RESOURCE_STATE_DEPTH_READ = 32,
    D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE = 64,
    D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE = 128,
    D3D12_RESOURCE_STATE_STREAM_OUT = 256,
    D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT = 512,
    D3D12_RESOURCE_STATE_COPY_DEST = 1024,
    D3D12_RESOURCE_STATE_COPY_SOURCE = 2048,
    D3D12_RESOURCE_STATE_RESOLVE_DEST = 4096,
    D3D12_RESOURCE_STATE_RESOLVE_SOURCE = 8192,
    D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE = 4194304,
    D3D12_RESOURCE_STATE_SHADING_RATE_SOURCE = 16777216,
    D3D12_RESOURCE_STATE_RESERVED_INTERNAL_8000 = 32768,
    D3D12_RESOURCE_STATE_RESERVED_INTERNAL_4000 = 16384,
    D3D12_RESOURCE_STATE_RESERVED_INTERNAL_100000 = 1048576,
    D3D12_RESOURCE_STATE_RESERVED_INTERNAL_40000000 = 1073741824,
    D3D12_RESOURCE_STATE_RESERVED_INTERNAL_80000000 = -2147483648,
    D3D12_RESOURCE_STATE_GENERIC_READ = 2755,
    D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE = 192,
    D3D12_RESOURCE_STATE_PRESENT = 0,
    D3D12_RESOURCE_STATE_PREDICATION = 512,
    D3D12_RESOURCE_STATE_VIDEO_DECODE_READ = 65536,
    D3D12_RESOURCE_STATE_VIDEO_DECODE_WRITE = 131072,
    D3D12_RESOURCE_STATE_VIDEO_PROCESS_READ = 262144,
    D3D12_RESOURCE_STATE_VIDEO_PROCESS_WRITE = 524288,
    D3D12_RESOURCE_STATE_VIDEO_ENCODE_READ = 2097152,
    D3D12_RESOURCE_STATE_VIDEO_ENCODE_WRITE = 8388608,
}
<Flags>
Public Enum D3D12_RESOURCE_STATES As Integer
    D3D12_RESOURCE_STATE_COMMON = 0
    D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER = 1
    D3D12_RESOURCE_STATE_INDEX_BUFFER = 2
    D3D12_RESOURCE_STATE_RENDER_TARGET = 4
    D3D12_RESOURCE_STATE_UNORDERED_ACCESS = 8
    D3D12_RESOURCE_STATE_DEPTH_WRITE = 16
    D3D12_RESOURCE_STATE_DEPTH_READ = 32
    D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE = 64
    D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE = 128
    D3D12_RESOURCE_STATE_STREAM_OUT = 256
    D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT = 512
    D3D12_RESOURCE_STATE_COPY_DEST = 1024
    D3D12_RESOURCE_STATE_COPY_SOURCE = 2048
    D3D12_RESOURCE_STATE_RESOLVE_DEST = 4096
    D3D12_RESOURCE_STATE_RESOLVE_SOURCE = 8192
    D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE = 4194304
    D3D12_RESOURCE_STATE_SHADING_RATE_SOURCE = 16777216
    D3D12_RESOURCE_STATE_RESERVED_INTERNAL_8000 = 32768
    D3D12_RESOURCE_STATE_RESERVED_INTERNAL_4000 = 16384
    D3D12_RESOURCE_STATE_RESERVED_INTERNAL_100000 = 1048576
    D3D12_RESOURCE_STATE_RESERVED_INTERNAL_40000000 = 1073741824
    D3D12_RESOURCE_STATE_RESERVED_INTERNAL_80000000 = -2147483648
    D3D12_RESOURCE_STATE_GENERIC_READ = 2755
    D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE = 192
    D3D12_RESOURCE_STATE_PRESENT = 0
    D3D12_RESOURCE_STATE_PREDICATION = 512
    D3D12_RESOURCE_STATE_VIDEO_DECODE_READ = 65536
    D3D12_RESOURCE_STATE_VIDEO_DECODE_WRITE = 131072
    D3D12_RESOURCE_STATE_VIDEO_PROCESS_READ = 262144
    D3D12_RESOURCE_STATE_VIDEO_PROCESS_WRITE = 524288
    D3D12_RESOURCE_STATE_VIDEO_ENCODE_READ = 2097152
    D3D12_RESOURCE_STATE_VIDEO_ENCODE_WRITE = 8388608
End Enum
import enum

class D3D12_RESOURCE_STATES(enum.IntFlag):
    D3D12_RESOURCE_STATE_COMMON = 0
    D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER = 1
    D3D12_RESOURCE_STATE_INDEX_BUFFER = 2
    D3D12_RESOURCE_STATE_RENDER_TARGET = 4
    D3D12_RESOURCE_STATE_UNORDERED_ACCESS = 8
    D3D12_RESOURCE_STATE_DEPTH_WRITE = 16
    D3D12_RESOURCE_STATE_DEPTH_READ = 32
    D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE = 64
    D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE = 128
    D3D12_RESOURCE_STATE_STREAM_OUT = 256
    D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT = 512
    D3D12_RESOURCE_STATE_COPY_DEST = 1024
    D3D12_RESOURCE_STATE_COPY_SOURCE = 2048
    D3D12_RESOURCE_STATE_RESOLVE_DEST = 4096
    D3D12_RESOURCE_STATE_RESOLVE_SOURCE = 8192
    D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE = 4194304
    D3D12_RESOURCE_STATE_SHADING_RATE_SOURCE = 16777216
    D3D12_RESOURCE_STATE_RESERVED_INTERNAL_8000 = 32768
    D3D12_RESOURCE_STATE_RESERVED_INTERNAL_4000 = 16384
    D3D12_RESOURCE_STATE_RESERVED_INTERNAL_100000 = 1048576
    D3D12_RESOURCE_STATE_RESERVED_INTERNAL_40000000 = 1073741824
    D3D12_RESOURCE_STATE_RESERVED_INTERNAL_80000000 = -2147483648
    D3D12_RESOURCE_STATE_GENERIC_READ = 2755
    D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE = 192
    D3D12_RESOURCE_STATE_PRESENT = 0
    D3D12_RESOURCE_STATE_PREDICATION = 512
    D3D12_RESOURCE_STATE_VIDEO_DECODE_READ = 65536
    D3D12_RESOURCE_STATE_VIDEO_DECODE_WRITE = 131072
    D3D12_RESOURCE_STATE_VIDEO_PROCESS_READ = 262144
    D3D12_RESOURCE_STATE_VIDEO_PROCESS_WRITE = 524288
    D3D12_RESOURCE_STATE_VIDEO_ENCODE_READ = 2097152
    D3D12_RESOURCE_STATE_VIDEO_ENCODE_WRITE = 8388608
// D3D12_RESOURCE_STATES (flags)
pub const D3D12_RESOURCE_STATE_COMMON: i32 = 0;
pub const D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER: i32 = 1;
pub const D3D12_RESOURCE_STATE_INDEX_BUFFER: i32 = 2;
pub const D3D12_RESOURCE_STATE_RENDER_TARGET: i32 = 4;
pub const D3D12_RESOURCE_STATE_UNORDERED_ACCESS: i32 = 8;
pub const D3D12_RESOURCE_STATE_DEPTH_WRITE: i32 = 16;
pub const D3D12_RESOURCE_STATE_DEPTH_READ: i32 = 32;
pub const D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE: i32 = 64;
pub const D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE: i32 = 128;
pub const D3D12_RESOURCE_STATE_STREAM_OUT: i32 = 256;
pub const D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT: i32 = 512;
pub const D3D12_RESOURCE_STATE_COPY_DEST: i32 = 1024;
pub const D3D12_RESOURCE_STATE_COPY_SOURCE: i32 = 2048;
pub const D3D12_RESOURCE_STATE_RESOLVE_DEST: i32 = 4096;
pub const D3D12_RESOURCE_STATE_RESOLVE_SOURCE: i32 = 8192;
pub const D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE: i32 = 4194304;
pub const D3D12_RESOURCE_STATE_SHADING_RATE_SOURCE: i32 = 16777216;
pub const D3D12_RESOURCE_STATE_RESERVED_INTERNAL_8000: i32 = 32768;
pub const D3D12_RESOURCE_STATE_RESERVED_INTERNAL_4000: i32 = 16384;
pub const D3D12_RESOURCE_STATE_RESERVED_INTERNAL_100000: i32 = 1048576;
pub const D3D12_RESOURCE_STATE_RESERVED_INTERNAL_40000000: i32 = 1073741824;
pub const D3D12_RESOURCE_STATE_RESERVED_INTERNAL_80000000: i32 = -2147483648;
pub const D3D12_RESOURCE_STATE_GENERIC_READ: i32 = 2755;
pub const D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE: i32 = 192;
pub const D3D12_RESOURCE_STATE_PRESENT: i32 = 0;
pub const D3D12_RESOURCE_STATE_PREDICATION: i32 = 512;
pub const D3D12_RESOURCE_STATE_VIDEO_DECODE_READ: i32 = 65536;
pub const D3D12_RESOURCE_STATE_VIDEO_DECODE_WRITE: i32 = 131072;
pub const D3D12_RESOURCE_STATE_VIDEO_PROCESS_READ: i32 = 262144;
pub const D3D12_RESOURCE_STATE_VIDEO_PROCESS_WRITE: i32 = 524288;
pub const D3D12_RESOURCE_STATE_VIDEO_ENCODE_READ: i32 = 2097152;
pub const D3D12_RESOURCE_STATE_VIDEO_ENCODE_WRITE: i32 = 8388608;
// D3D12_RESOURCE_STATES
const (
	D3D12_RESOURCE_STATE_COMMON int32 = 0
	D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER int32 = 1
	D3D12_RESOURCE_STATE_INDEX_BUFFER int32 = 2
	D3D12_RESOURCE_STATE_RENDER_TARGET int32 = 4
	D3D12_RESOURCE_STATE_UNORDERED_ACCESS int32 = 8
	D3D12_RESOURCE_STATE_DEPTH_WRITE int32 = 16
	D3D12_RESOURCE_STATE_DEPTH_READ int32 = 32
	D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE int32 = 64
	D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE int32 = 128
	D3D12_RESOURCE_STATE_STREAM_OUT int32 = 256
	D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT int32 = 512
	D3D12_RESOURCE_STATE_COPY_DEST int32 = 1024
	D3D12_RESOURCE_STATE_COPY_SOURCE int32 = 2048
	D3D12_RESOURCE_STATE_RESOLVE_DEST int32 = 4096
	D3D12_RESOURCE_STATE_RESOLVE_SOURCE int32 = 8192
	D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE int32 = 4194304
	D3D12_RESOURCE_STATE_SHADING_RATE_SOURCE int32 = 16777216
	D3D12_RESOURCE_STATE_RESERVED_INTERNAL_8000 int32 = 32768
	D3D12_RESOURCE_STATE_RESERVED_INTERNAL_4000 int32 = 16384
	D3D12_RESOURCE_STATE_RESERVED_INTERNAL_100000 int32 = 1048576
	D3D12_RESOURCE_STATE_RESERVED_INTERNAL_40000000 int32 = 1073741824
	D3D12_RESOURCE_STATE_RESERVED_INTERNAL_80000000 int32 = -2147483648
	D3D12_RESOURCE_STATE_GENERIC_READ int32 = 2755
	D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE int32 = 192
	D3D12_RESOURCE_STATE_PRESENT int32 = 0
	D3D12_RESOURCE_STATE_PREDICATION int32 = 512
	D3D12_RESOURCE_STATE_VIDEO_DECODE_READ int32 = 65536
	D3D12_RESOURCE_STATE_VIDEO_DECODE_WRITE int32 = 131072
	D3D12_RESOURCE_STATE_VIDEO_PROCESS_READ int32 = 262144
	D3D12_RESOURCE_STATE_VIDEO_PROCESS_WRITE int32 = 524288
	D3D12_RESOURCE_STATE_VIDEO_ENCODE_READ int32 = 2097152
	D3D12_RESOURCE_STATE_VIDEO_ENCODE_WRITE int32 = 8388608
)
const
  D3D12_RESOURCE_STATE_COMMON = 0;
  D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER = 1;
  D3D12_RESOURCE_STATE_INDEX_BUFFER = 2;
  D3D12_RESOURCE_STATE_RENDER_TARGET = 4;
  D3D12_RESOURCE_STATE_UNORDERED_ACCESS = 8;
  D3D12_RESOURCE_STATE_DEPTH_WRITE = 16;
  D3D12_RESOURCE_STATE_DEPTH_READ = 32;
  D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE = 64;
  D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE = 128;
  D3D12_RESOURCE_STATE_STREAM_OUT = 256;
  D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT = 512;
  D3D12_RESOURCE_STATE_COPY_DEST = 1024;
  D3D12_RESOURCE_STATE_COPY_SOURCE = 2048;
  D3D12_RESOURCE_STATE_RESOLVE_DEST = 4096;
  D3D12_RESOURCE_STATE_RESOLVE_SOURCE = 8192;
  D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE = 4194304;
  D3D12_RESOURCE_STATE_SHADING_RATE_SOURCE = 16777216;
  D3D12_RESOURCE_STATE_RESERVED_INTERNAL_8000 = 32768;
  D3D12_RESOURCE_STATE_RESERVED_INTERNAL_4000 = 16384;
  D3D12_RESOURCE_STATE_RESERVED_INTERNAL_100000 = 1048576;
  D3D12_RESOURCE_STATE_RESERVED_INTERNAL_40000000 = 1073741824;
  D3D12_RESOURCE_STATE_RESERVED_INTERNAL_80000000 = -2147483648;
  D3D12_RESOURCE_STATE_GENERIC_READ = 2755;
  D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE = 192;
  D3D12_RESOURCE_STATE_PRESENT = 0;
  D3D12_RESOURCE_STATE_PREDICATION = 512;
  D3D12_RESOURCE_STATE_VIDEO_DECODE_READ = 65536;
  D3D12_RESOURCE_STATE_VIDEO_DECODE_WRITE = 131072;
  D3D12_RESOURCE_STATE_VIDEO_PROCESS_READ = 262144;
  D3D12_RESOURCE_STATE_VIDEO_PROCESS_WRITE = 524288;
  D3D12_RESOURCE_STATE_VIDEO_ENCODE_READ = 2097152;
  D3D12_RESOURCE_STATE_VIDEO_ENCODE_WRITE = 8388608;
// D3D12_RESOURCE_STATES
pub const D3D12_RESOURCE_STATE_COMMON: i32 = 0;
pub const D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER: i32 = 1;
pub const D3D12_RESOURCE_STATE_INDEX_BUFFER: i32 = 2;
pub const D3D12_RESOURCE_STATE_RENDER_TARGET: i32 = 4;
pub const D3D12_RESOURCE_STATE_UNORDERED_ACCESS: i32 = 8;
pub const D3D12_RESOURCE_STATE_DEPTH_WRITE: i32 = 16;
pub const D3D12_RESOURCE_STATE_DEPTH_READ: i32 = 32;
pub const D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE: i32 = 64;
pub const D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE: i32 = 128;
pub const D3D12_RESOURCE_STATE_STREAM_OUT: i32 = 256;
pub const D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT: i32 = 512;
pub const D3D12_RESOURCE_STATE_COPY_DEST: i32 = 1024;
pub const D3D12_RESOURCE_STATE_COPY_SOURCE: i32 = 2048;
pub const D3D12_RESOURCE_STATE_RESOLVE_DEST: i32 = 4096;
pub const D3D12_RESOURCE_STATE_RESOLVE_SOURCE: i32 = 8192;
pub const D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE: i32 = 4194304;
pub const D3D12_RESOURCE_STATE_SHADING_RATE_SOURCE: i32 = 16777216;
pub const D3D12_RESOURCE_STATE_RESERVED_INTERNAL_8000: i32 = 32768;
pub const D3D12_RESOURCE_STATE_RESERVED_INTERNAL_4000: i32 = 16384;
pub const D3D12_RESOURCE_STATE_RESERVED_INTERNAL_100000: i32 = 1048576;
pub const D3D12_RESOURCE_STATE_RESERVED_INTERNAL_40000000: i32 = 1073741824;
pub const D3D12_RESOURCE_STATE_RESERVED_INTERNAL_80000000: i32 = -2147483648;
pub const D3D12_RESOURCE_STATE_GENERIC_READ: i32 = 2755;
pub const D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE: i32 = 192;
pub const D3D12_RESOURCE_STATE_PRESENT: i32 = 0;
pub const D3D12_RESOURCE_STATE_PREDICATION: i32 = 512;
pub const D3D12_RESOURCE_STATE_VIDEO_DECODE_READ: i32 = 65536;
pub const D3D12_RESOURCE_STATE_VIDEO_DECODE_WRITE: i32 = 131072;
pub const D3D12_RESOURCE_STATE_VIDEO_PROCESS_READ: i32 = 262144;
pub const D3D12_RESOURCE_STATE_VIDEO_PROCESS_WRITE: i32 = 524288;
pub const D3D12_RESOURCE_STATE_VIDEO_ENCODE_READ: i32 = 2097152;
pub const D3D12_RESOURCE_STATE_VIDEO_ENCODE_WRITE: i32 = 8388608;
const
  D3D12_RESOURCE_STATE_COMMON* = 0
  D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER* = 1
  D3D12_RESOURCE_STATE_INDEX_BUFFER* = 2
  D3D12_RESOURCE_STATE_RENDER_TARGET* = 4
  D3D12_RESOURCE_STATE_UNORDERED_ACCESS* = 8
  D3D12_RESOURCE_STATE_DEPTH_WRITE* = 16
  D3D12_RESOURCE_STATE_DEPTH_READ* = 32
  D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE* = 64
  D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE* = 128
  D3D12_RESOURCE_STATE_STREAM_OUT* = 256
  D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT* = 512
  D3D12_RESOURCE_STATE_COPY_DEST* = 1024
  D3D12_RESOURCE_STATE_COPY_SOURCE* = 2048
  D3D12_RESOURCE_STATE_RESOLVE_DEST* = 4096
  D3D12_RESOURCE_STATE_RESOLVE_SOURCE* = 8192
  D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE* = 4194304
  D3D12_RESOURCE_STATE_SHADING_RATE_SOURCE* = 16777216
  D3D12_RESOURCE_STATE_RESERVED_INTERNAL_8000* = 32768
  D3D12_RESOURCE_STATE_RESERVED_INTERNAL_4000* = 16384
  D3D12_RESOURCE_STATE_RESERVED_INTERNAL_100000* = 1048576
  D3D12_RESOURCE_STATE_RESERVED_INTERNAL_40000000* = 1073741824
  D3D12_RESOURCE_STATE_RESERVED_INTERNAL_80000000* = -2147483648
  D3D12_RESOURCE_STATE_GENERIC_READ* = 2755
  D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE* = 192
  D3D12_RESOURCE_STATE_PRESENT* = 0
  D3D12_RESOURCE_STATE_PREDICATION* = 512
  D3D12_RESOURCE_STATE_VIDEO_DECODE_READ* = 65536
  D3D12_RESOURCE_STATE_VIDEO_DECODE_WRITE* = 131072
  D3D12_RESOURCE_STATE_VIDEO_PROCESS_READ* = 262144
  D3D12_RESOURCE_STATE_VIDEO_PROCESS_WRITE* = 524288
  D3D12_RESOURCE_STATE_VIDEO_ENCODE_READ* = 2097152
  D3D12_RESOURCE_STATE_VIDEO_ENCODE_WRITE* = 8388608
enum D3D12_RESOURCE_STATES : int {
    D3D12_RESOURCE_STATE_COMMON = 0,
    D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER = 1,
    D3D12_RESOURCE_STATE_INDEX_BUFFER = 2,
    D3D12_RESOURCE_STATE_RENDER_TARGET = 4,
    D3D12_RESOURCE_STATE_UNORDERED_ACCESS = 8,
    D3D12_RESOURCE_STATE_DEPTH_WRITE = 16,
    D3D12_RESOURCE_STATE_DEPTH_READ = 32,
    D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE = 64,
    D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE = 128,
    D3D12_RESOURCE_STATE_STREAM_OUT = 256,
    D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT = 512,
    D3D12_RESOURCE_STATE_COPY_DEST = 1024,
    D3D12_RESOURCE_STATE_COPY_SOURCE = 2048,
    D3D12_RESOURCE_STATE_RESOLVE_DEST = 4096,
    D3D12_RESOURCE_STATE_RESOLVE_SOURCE = 8192,
    D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE = 4194304,
    D3D12_RESOURCE_STATE_SHADING_RATE_SOURCE = 16777216,
    D3D12_RESOURCE_STATE_RESERVED_INTERNAL_8000 = 32768,
    D3D12_RESOURCE_STATE_RESERVED_INTERNAL_4000 = 16384,
    D3D12_RESOURCE_STATE_RESERVED_INTERNAL_100000 = 1048576,
    D3D12_RESOURCE_STATE_RESERVED_INTERNAL_40000000 = 1073741824,
    D3D12_RESOURCE_STATE_RESERVED_INTERNAL_80000000 = -2147483648,
    D3D12_RESOURCE_STATE_GENERIC_READ = 2755,
    D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE = 192,
    D3D12_RESOURCE_STATE_PRESENT = 0,
    D3D12_RESOURCE_STATE_PREDICATION = 512,
    D3D12_RESOURCE_STATE_VIDEO_DECODE_READ = 65536,
    D3D12_RESOURCE_STATE_VIDEO_DECODE_WRITE = 131072,
    D3D12_RESOURCE_STATE_VIDEO_PROCESS_READ = 262144,
    D3D12_RESOURCE_STATE_VIDEO_PROCESS_WRITE = 524288,
    D3D12_RESOURCE_STATE_VIDEO_ENCODE_READ = 2097152,
    D3D12_RESOURCE_STATE_VIDEO_ENCODE_WRITE = 8388608,
}
#define global D3D12_RESOURCE_STATE_COMMON                            0x0
#define global D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER        0x1
#define global D3D12_RESOURCE_STATE_INDEX_BUFFER                      0x2
#define global D3D12_RESOURCE_STATE_RENDER_TARGET                     0x4
#define global D3D12_RESOURCE_STATE_UNORDERED_ACCESS                  0x8
#define global D3D12_RESOURCE_STATE_DEPTH_WRITE                       0x10
#define global D3D12_RESOURCE_STATE_DEPTH_READ                        0x20
#define global D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE         0x40
#define global D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE             0x80
#define global D3D12_RESOURCE_STATE_STREAM_OUT                        0x100
#define global D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT                 0x200
#define global D3D12_RESOURCE_STATE_COPY_DEST                         0x400
#define global D3D12_RESOURCE_STATE_COPY_SOURCE                       0x800
#define global D3D12_RESOURCE_STATE_RESOLVE_DEST                      0x1000
#define global D3D12_RESOURCE_STATE_RESOLVE_SOURCE                    0x2000
#define global D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE 0x400000
#define global D3D12_RESOURCE_STATE_SHADING_RATE_SOURCE               0x1000000
#define global D3D12_RESOURCE_STATE_RESERVED_INTERNAL_8000            0x8000
#define global D3D12_RESOURCE_STATE_RESERVED_INTERNAL_4000            0x4000
#define global D3D12_RESOURCE_STATE_RESERVED_INTERNAL_100000          0x100000
#define global D3D12_RESOURCE_STATE_RESERVED_INTERNAL_40000000        0x40000000
#define global D3D12_RESOURCE_STATE_RESERVED_INTERNAL_80000000        0x80000000
#define global D3D12_RESOURCE_STATE_GENERIC_READ                      0xAC3
#define global D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE               0xC0
#define global D3D12_RESOURCE_STATE_PRESENT                           0x0
#define global D3D12_RESOURCE_STATE_PREDICATION                       0x200
#define global D3D12_RESOURCE_STATE_VIDEO_DECODE_READ                 0x10000
#define global D3D12_RESOURCE_STATE_VIDEO_DECODE_WRITE                0x20000
#define global D3D12_RESOURCE_STATE_VIDEO_PROCESS_READ                0x40000
#define global D3D12_RESOURCE_STATE_VIDEO_PROCESS_WRITE               0x80000
#define global D3D12_RESOURCE_STATE_VIDEO_ENCODE_READ                 0x200000
#define global D3D12_RESOURCE_STATE_VIDEO_ENCODE_WRITE                0x800000
; ※フラグ列挙型。ビットORで組み合わせ可(例: FOO|BAR)。