include: Update D3D12 headers

Signed-off-by: Joshua Ashton <joshua@froggi.es>
This commit is contained in:
Joshua Ashton 2020-11-25 14:20:05 +00:00 committed by Hans-Kristian Arntzen
parent 1ce5ea8073
commit fcb4764228
1 changed files with 259 additions and 2 deletions

View File

@ -168,6 +168,7 @@ typedef enum D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER
{ {
D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_0 = 0, D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_0 = 0,
D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_1 = 1, D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_1 = 1,
D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_2 = 2,
} D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER; } D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER;
typedef enum D3D12_HEAP_SERIALIZATION_TIER typedef enum D3D12_HEAP_SERIALIZATION_TIER
@ -187,6 +188,7 @@ typedef enum D3D12_RAYTRACING_TIER
{ {
D3D12_RAYTRACING_TIER_NOT_SUPPORTED = 0, D3D12_RAYTRACING_TIER_NOT_SUPPORTED = 0,
D3D12_RAYTRACING_TIER_1_0 = 10, D3D12_RAYTRACING_TIER_1_0 = 10,
D3D12_RAYTRACING_TIER_1_1 = 11,
} D3D12_RAYTRACING_TIER; } D3D12_RAYTRACING_TIER;
typedef enum D3D12_VARIABLE_SHADING_RATE_TIER typedef enum D3D12_VARIABLE_SHADING_RATE_TIER
@ -196,6 +198,19 @@ typedef enum D3D12_VARIABLE_SHADING_RATE_TIER
D3D12_VARIABLE_SHADING_RATE_TIER_2 = 2, D3D12_VARIABLE_SHADING_RATE_TIER_2 = 2,
} D3D12_VARIABLE_SHADING_RATE_TIER; } D3D12_VARIABLE_SHADING_RATE_TIER;
typedef enum D3D12_MESH_SHADER_TIER
{
D3D12_MESH_SHADER_TIER_NOT_SUPPORTED = 0,
D3D12_MESH_SHADER_TIER_1 = 10,
} D3D12_MESH_SHADER_TIER;
typedef enum D3D12_SAMPLER_FEEDBACK_TIER
{
D3D12_SAMPLER_FEEDBACK_TIER_NOT_SUPPORTED = 0,
D3D12_SAMPLER_FEEDBACK_TIER_0_9 = 90,
D3D12_SAMPLER_FEEDBACK_TIER_1_0 = 100,
} D3D12_SAMPLER_FEEDBACK_TIER;
typedef enum D3D12_COMMAND_LIST_SUPPORT_FLAGS typedef enum D3D12_COMMAND_LIST_SUPPORT_FLAGS
{ {
D3D12_COMMAND_LIST_SUPPORT_FLAG_NONE = 0x0, D3D12_COMMAND_LIST_SUPPORT_FLAG_NONE = 0x0,
@ -205,6 +220,7 @@ typedef enum D3D12_COMMAND_LIST_SUPPORT_FLAGS
D3D12_COMMAND_LIST_SUPPORT_FLAG_COPY = 0x8, D3D12_COMMAND_LIST_SUPPORT_FLAG_COPY = 0x8,
D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_DECODE = 0x10, D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_DECODE = 0x10,
D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_PROCESS = 0x20, D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_PROCESS = 0x20,
D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_ENCODE = 0x40,
} D3D12_COMMAND_LIST_SUPPORT_FLAGS; } D3D12_COMMAND_LIST_SUPPORT_FLAGS;
typedef enum D3D12_FORMAT_SUPPORT1 typedef enum D3D12_FORMAT_SUPPORT1
@ -255,6 +271,7 @@ typedef enum D3D12_FORMAT_SUPPORT2
D3D12_FORMAT_SUPPORT2_OUTPUT_MERGER_LOGIC_OP = 0x00000100, D3D12_FORMAT_SUPPORT2_OUTPUT_MERGER_LOGIC_OP = 0x00000100,
D3D12_FORMAT_SUPPORT2_TILED = 0x00000200, D3D12_FORMAT_SUPPORT2_TILED = 0x00000200,
D3D12_FORMAT_SUPPORT2_MULTIPLANE_OVERLAY = 0x00004000, D3D12_FORMAT_SUPPORT2_MULTIPLANE_OVERLAY = 0x00004000,
D3D12_FORMAT_SUPPORT2_SAMPLER_FEEDBACK = 0x00008000,
} D3D12_FORMAT_SUPPORT2; } D3D12_FORMAT_SUPPORT2;
typedef enum D3D12_WRITEBUFFERIMMEDIATE_MODE typedef enum D3D12_WRITEBUFFERIMMEDIATE_MODE
@ -315,6 +332,13 @@ typedef struct D3D12_SUBRESOURCE_RANGE_UINT64
D3D12_RANGE_UINT64 Range; D3D12_RANGE_UINT64 Range;
} D3D12_SUBRESOURCE_RANGE_UINT64; } D3D12_SUBRESOURCE_RANGE_UINT64;
typedef struct D3D12_SUBRESOURCE_INFO
{
UINT64 Offset;
UINT RowPitch;
UINT DepthPitch;
} D3D12_SUBRESOURCE_INFO;
typedef struct D3D12_RESOURCE_ALLOCATION_INFO typedef struct D3D12_RESOURCE_ALLOCATION_INFO
{ {
UINT64 SizeInBytes; UINT64 SizeInBytes;
@ -419,6 +443,12 @@ typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS6
BOOL BackgroundProcessingSupported; BOOL BackgroundProcessingSupported;
} D3D12_FEATURE_DATA_D3D12_OPTIONS6; } D3D12_FEATURE_DATA_D3D12_OPTIONS6;
typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS7
{
D3D12_MESH_SHADER_TIER MeshShaderTier;
D3D12_SAMPLER_FEEDBACK_TIER SamplerFeedbackTier;
} D3D12_FEATURE_DATA_D3D12_OPTIONS7;
typedef struct D3D12_FEATURE_DATA_FORMAT_SUPPORT typedef struct D3D12_FEATURE_DATA_FORMAT_SUPPORT
{ {
DXGI_FORMAT Format; DXGI_FORMAT Format;
@ -508,6 +538,11 @@ typedef enum D3D12_HEAP_FLAGS
D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER = 0x20, D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER = 0x20,
D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES = 0x40, D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES = 0x40,
D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES = 0x80, D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES = 0x80,
D3D12_HEAP_FLAG_HARDWARE_PROTECTED = 0x100,
D3D12_HEAP_FLAG_ALLOW_WRITE_WATCH = 0x200,
D3D12_HEAP_FLAG_ALLOW_SHADER_ATOMICS = 0x400,
D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT = 0x800,
D3D12_HEAP_FLAG_CREATE_NOT_ZEROED = 0x1000,
D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES = 0x00, D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES = 0x00,
D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS = 0xc0, D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS = 0xc0,
D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES = 0x44, D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES = 0x44,
@ -704,12 +739,36 @@ typedef struct D3D12_RESOURCE_DESC
D3D12_RESOURCE_FLAGS Flags; D3D12_RESOURCE_FLAGS Flags;
} D3D12_RESOURCE_DESC; } D3D12_RESOURCE_DESC;
typedef struct D3D12_MIP_REGION
{
UINT Width;
UINT Height;
UINT Depth;
} D3D12_MIP_REGION;
typedef struct D3D12_RESOURCE_DESC1
{
D3D12_RESOURCE_DIMENSION Dimension;
UINT64 Alignment;
UINT64 Width;
UINT Height;
UINT16 DepthOrArraySize;
UINT16 MipLevels;
DXGI_FORMAT Format;
DXGI_SAMPLE_DESC SampleDesc;
D3D12_TEXTURE_LAYOUT Layout;
D3D12_RESOURCE_FLAGS Flags;
D3D12_MIP_REGION SamplerFeedbackMipRegion;
} D3D12_RESOURCE_DESC1;
typedef enum D3D12_RESOLVE_MODE typedef enum D3D12_RESOLVE_MODE
{ {
D3D12_RESOLVE_MODE_DECOMPRESS = 0, D3D12_RESOLVE_MODE_DECOMPRESS = 0,
D3D12_RESOLVE_MODE_MIN = 1, D3D12_RESOLVE_MODE_MIN = 1,
D3D12_RESOLVE_MODE_MAX = 2, D3D12_RESOLVE_MODE_MAX = 2,
D3D12_RESOLVE_MODE_AVERAGE = 3, D3D12_RESOLVE_MODE_AVERAGE = 3,
D3D12_RESOLVE_MODE_ENCODE_SAMPLER_FEEDBACK = 4,
D3D12_RESOLVE_MODE_DECODE_SAMPLER_FEEDBACK = 5,
} D3D12_RESOLVE_MODE; } D3D12_RESOLVE_MODE;
typedef struct D3D12_SAMPLE_POSITION typedef struct D3D12_SAMPLE_POSITION
@ -863,6 +922,8 @@ typedef enum D3D12_SHADER_VISIBILITY
D3D12_SHADER_VISIBILITY_DOMAIN = 3, D3D12_SHADER_VISIBILITY_DOMAIN = 3,
D3D12_SHADER_VISIBILITY_GEOMETRY = 4, D3D12_SHADER_VISIBILITY_GEOMETRY = 4,
D3D12_SHADER_VISIBILITY_PIXEL = 5, D3D12_SHADER_VISIBILITY_PIXEL = 5,
D3D12_SHADER_VISIBILITY_AMPLIFICATION = 6,
D3D12_SHADER_VISIBILITY_MESH = 7,
} D3D12_SHADER_VISIBILITY; } D3D12_SHADER_VISIBILITY;
typedef struct D3D12_ROOT_PARAMETER typedef struct D3D12_ROOT_PARAMETER
@ -1031,6 +1092,8 @@ typedef enum D3D12_ROOT_SIGNATURE_FLAGS
D3D12_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS = 0x20, D3D12_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS = 0x20,
D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT = 0x40, D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT = 0x40,
D3D12_ROOT_SIGNATURE_FLAG_LOCAL_ROOT_SIGNATURE = 0x80, D3D12_ROOT_SIGNATURE_FLAG_LOCAL_ROOT_SIGNATURE = 0x80,
D3D12_ROOT_SIGNATURE_FLAG_DENY_AMPLIFICATION_SHADER_ROOT_ACCESS = 0x100,
D3D12_ROOT_SIGNATURE_FLAG_DENY_MESH_SHADER_ROOT_ACCESS = 0x200,
} D3D12_ROOT_SIGNATURE_FLAGS; } D3D12_ROOT_SIGNATURE_FLAGS;
typedef struct D3D12_ROOT_SIGNATURE_DESC typedef struct D3D12_ROOT_SIGNATURE_DESC
@ -1780,6 +1843,7 @@ typedef enum D3D12_COMMAND_LIST_TYPE
D3D12_COMMAND_LIST_TYPE_COPY = 3, D3D12_COMMAND_LIST_TYPE_COPY = 3,
D3D12_COMMAND_LIST_TYPE_VIDEO_DECODE = 4, D3D12_COMMAND_LIST_TYPE_VIDEO_DECODE = 4,
D3D12_COMMAND_LIST_TYPE_VIDEO_PROVESS = 5, D3D12_COMMAND_LIST_TYPE_VIDEO_PROVESS = 5,
D3D12_COMMAND_LIST_TYPE_VIDEO_ENCODE = 6,
} D3D12_COMMAND_LIST_TYPE; } D3D12_COMMAND_LIST_TYPE;
typedef enum D3D12_COMMAND_QUEUE_PRIORITY typedef enum D3D12_COMMAND_QUEUE_PRIORITY
@ -1873,6 +1937,8 @@ typedef enum D3D_SHADER_MODEL
D3D_SHADER_MODEL_6_2 = 0x62, D3D_SHADER_MODEL_6_2 = 0x62,
D3D_SHADER_MODEL_6_3 = 0x63, D3D_SHADER_MODEL_6_3 = 0x63,
D3D_SHADER_MODEL_6_4 = 0x64, D3D_SHADER_MODEL_6_4 = 0x64,
D3D_SHADER_MODEL_6_5 = 0x65,
D3D_SHADER_MODEL_6_6 = 0x66,
} D3D_SHADER_MODEL; } D3D_SHADER_MODEL;
typedef struct D3D12_FEATURE_DATA_SHADER_MODEL typedef struct D3D12_FEATURE_DATA_SHADER_MODEL
@ -1905,6 +1971,9 @@ typedef enum D3D12_FEATURE
D3D12_FEATURE_D3D12_OPTIONS5 = 27, D3D12_FEATURE_D3D12_OPTIONS5 = 27,
D3D12_FEATURE_D3D12_OPTIONS6 = 30, D3D12_FEATURE_D3D12_OPTIONS6 = 30,
D3D12_FEATURE_QUERY_META_COMMAND = 31, D3D12_FEATURE_QUERY_META_COMMAND = 31,
D3D12_FEATURE_D3D12_OPTIONS7 = 32,
D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPE_COUNT = 33,
D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPES = 34,
} D3D12_FEATURE; } D3D12_FEATURE;
typedef struct D3D12_MEMCPY_DEST typedef struct D3D12_MEMCPY_DEST
@ -2217,6 +2286,37 @@ interface ID3D12ProtectedResourceSession : ID3D12ProtectedSession
D3D12_PROTECTED_RESOURCE_SESSION_DESC GetDesc(); D3D12_PROTECTED_RESOURCE_SESSION_DESC GetDesc();
} }
typedef struct D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT
{
UINT NodeIndex;
UINT Count;
} D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT;
typedef struct D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES
{
UINT NodeIndex;
UINT Count;
GUID *pTypes;
} D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES;
typedef struct D3D12_PROTECTED_RESOURCE_SESSION_DESC1
{
UINT NodeMask;
D3D12_PROTECTED_RESOURCE_SESSION_FLAGS Flags;
GUID ProtectionType;
} D3D12_PROTECTED_RESOURCE_SESSION_DESC1;
[
uuid(D6F12DD6-76FB-406E-8961-4296EEFC0409),
object,
local,
pointer_default(unique)
]
interface ID3D12ProtectedResourceSession1 : ID3D12ProtectedResourceSession
{
D3D12_PROTECTED_RESOURCE_SESSION_DESC1 GetDesc1();
}
typedef enum D3D12_PIPELINE_STATE_SUBOBJECT_TYPE typedef enum D3D12_PIPELINE_STATE_SUBOBJECT_TYPE
{ {
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_ROOT_SIGNATURE = 0, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_ROOT_SIGNATURE = 0,
@ -2242,7 +2342,9 @@ typedef enum D3D12_PIPELINE_STATE_SUBOBJECT_TYPE
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_FLAGS = 20, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_FLAGS = 20,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1 = 21, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1 = 21,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VIEW_INSTANCING = 22, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VIEW_INSTANCING = 22,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MAX_VALID = 23, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_AS = 24,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MS = 25,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MAX_VALID = 26,
} D3D12_PIPELINE_STATE_SUBOBJECT_TYPE; } D3D12_PIPELINE_STATE_SUBOBJECT_TYPE;
typedef struct D3D12_PIPELINE_STATE_STREAM_DESC typedef struct D3D12_PIPELINE_STATE_STREAM_DESC
@ -2399,6 +2501,8 @@ typedef enum D3D12_STATE_SUBOBJECT_TYPE
D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_SHADER_CONFIG = 9, D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_SHADER_CONFIG = 9,
D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG = 10, D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG = 10,
D3D12_STATE_SUBOBJECT_TYPE_HIT_GROUP = 11, D3D12_STATE_SUBOBJECT_TYPE_HIT_GROUP = 11,
D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG1 = 12,
D3D12_STATE_SUBOBJECT_TYPE_MAX_VALID = 13,
} D3D12_STATE_SUBOBJECT_TYPE; } D3D12_STATE_SUBOBJECT_TYPE;
typedef struct D3D12_STATE_SUBOBJECT typedef struct D3D12_STATE_SUBOBJECT
@ -2412,6 +2516,7 @@ typedef enum D3D12_STATE_OBJECT_FLAGS
D3D12_STATE_OBJECT_FLAG_NONE = 0, D3D12_STATE_OBJECT_FLAG_NONE = 0,
D3D12_STATE_OBJECT_FLAG_ALLOW_LOCAL_DEPENDENCIES_ON_EXTERNAL_DEFINITIONS = 0x1, D3D12_STATE_OBJECT_FLAG_ALLOW_LOCAL_DEPENDENCIES_ON_EXTERNAL_DEFINITIONS = 0x1,
D3D12_STATE_OBJECT_FLAG_ALLOW_EXTERNAL_DEPENDENCIES_ON_LOCAL_DEFINITIONS = 0x2, D3D12_STATE_OBJECT_FLAG_ALLOW_EXTERNAL_DEPENDENCIES_ON_LOCAL_DEFINITIONS = 0x2,
D3D12_STATE_OBJECT_FLAG_ALLOW_STATE_OBJECT_ADDITIONS = 0x4,
} D3D12_STATE_OBJECT_FLAGS; } D3D12_STATE_OBJECT_FLAGS;
typedef struct D3D12_STATE_OBJECT_CONFIG typedef struct D3D12_STATE_OBJECT_CONFIG
@ -2467,6 +2572,13 @@ typedef struct D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION
LPCWSTR *pExports; LPCWSTR *pExports;
} D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION; } D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION;
typedef struct D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION
{
LPCWSTR SubobjectToAssociate;
UINT NumExports;
LPCWSTR *pExports;
} D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION;
typedef enum D3D12_HIT_GROUP_TYPE typedef enum D3D12_HIT_GROUP_TYPE
{ {
D3D12_HIT_GROUP_TYPE_TRIANGLES = 0, D3D12_HIT_GROUP_TYPE_TRIANGLES = 0,
@ -2488,6 +2600,19 @@ typedef struct D3D12_RAYTRACING_SHADER_CONFIG
UINT MaxAttributeSizeInBytes; UINT MaxAttributeSizeInBytes;
} D3D12_RAYTRACING_SHADER_CONFIG; } D3D12_RAYTRACING_SHADER_CONFIG;
typedef enum D3D12_RAYTRACING_PIPELINE_FLAGS
{
D3D12_RAYTRACING_PIPELINE_FLAG_NONE = 0x0,
D3D12_RAYTRACING_PIPELINE_FLAG_SKIP_TRIANGLES = 0x100,
D3D12_RAYTRACING_PIPELINE_FLAG_SKIP_PROCEDURAL_PRIMITIVES = 0x200,
} D3D12_RAYTRACING_PIPELINE_FLAGS;
typedef struct D3D12_RAYTRACING_PIPELINE_CONFIG1
{
UINT MaxTraceRecursionDepth;
D3D12_RAYTRACING_PIPELINE_FLAGS Flags;
} D3D12_RAYTRACING_PIPELINE_CONFIG1;
typedef struct D3D12_RAYTRACING_PIPELINE_CONFIG typedef struct D3D12_RAYTRACING_PIPELINE_CONFIG
{ {
UINT MaxTraceRecursionDepth; UINT MaxTraceRecursionDepth;
@ -2736,6 +2861,8 @@ typedef enum D3D12_RAY_FLAGS
D3D12_RAY_FLAG_CULL_FRONT_FACING_TRIANGLES = 0x20, D3D12_RAY_FLAG_CULL_FRONT_FACING_TRIANGLES = 0x20,
D3D12_RAY_FLAG_CULL_OPAQUE = 0x40, D3D12_RAY_FLAG_CULL_OPAQUE = 0x40,
D3D12_RAY_FLAG_CULL_NON_OPAQUE = 0x80, D3D12_RAY_FLAG_CULL_NON_OPAQUE = 0x80,
D3D12_RAY_FLAG_SKIP_TRIANGLES = 0x100,
D3D12_RAY_FLAG_SKIP_PROCEDURAL_PRIMITIVES = 0x200,
} D3D12_RAY_FLAGS; } D3D12_RAY_FLAGS;
typedef enum D3D12_HIT_KIND typedef enum D3D12_HIT_KIND
@ -2812,6 +2939,9 @@ typedef enum D3D12_AUTO_BREADCRUMB_OP
D3D12_AUTO_BREADCRUMB_OP_ESTIMATEMOTION = 37, D3D12_AUTO_BREADCRUMB_OP_ESTIMATEMOTION = 37,
D3D12_AUTO_BREADCRUMB_OP_RESOLVEMOTIONVECTORHEAP = 38, D3D12_AUTO_BREADCRUMB_OP_RESOLVEMOTIONVECTORHEAP = 38,
D3D12_AUTO_BREADCRUMB_OP_SETPIPELINESTATE1 = 39, D3D12_AUTO_BREADCRUMB_OP_SETPIPELINESTATE1 = 39,
D3D12_AUTO_BREADCRUMB_OP_INITIALIZEEXTENSIONCOMMAND = 40,
D3D12_AUTO_BREADCRUMB_OP_EXECUTEEXTENSIONCOMMAND = 41,
D3D12_AUTO_BREADCRUMB_OP_DISPATCHMESH = 42,
} D3D12_AUTO_BREADCRUMB_OP; } D3D12_AUTO_BREADCRUMB_OP;
typedef struct D3D12_AUTO_BREADCRUMB_NODE typedef struct D3D12_AUTO_BREADCRUMB_NODE
@ -2828,9 +2958,33 @@ typedef struct D3D12_AUTO_BREADCRUMB_NODE
struct D3D12_AUTO_BREADCRUMB_NODE *pNext; struct D3D12_AUTO_BREADCRUMB_NODE *pNext;
} D3D12_AUTO_BREADCRUMB_NODE; } D3D12_AUTO_BREADCRUMB_NODE;
typedef struct D3D12_DRED_BREADCRUMB_CONTEXT
{
UINT BreadcrumbIndex;
const wchar_t *pContextString;
} D3D12_DRED_BREADCRUMB_CONTEXT;
typedef struct D3D12_AUTO_BREADCRUMB_NODE1
{
const char *pCommandListDebugNameA;
const wchar_t *pCommandListDebugNameW;
const char *pCommandQueueDebugNameA;
const wchar_t *pCommandQueueDebugNameW;
ID3D12GraphicsCommandList *pCommandList;
ID3D12CommandQueue *pCommandQueue;
UINT BreadcrumbCount;
const UINT *pLastBreadcrumbValue;
const D3D12_AUTO_BREADCRUMB_OP *pCommandHistory;
const struct D3D12_AUTO_BREADCRUMB_NODE1 *pNext;
UINT BreadcrumbContextsCount;
D3D12_DRED_BREADCRUMB_CONTEXT *pBreadcrumbContexts;
} D3D12_AUTO_BREADCRUMB_NODE1;
typedef enum D3D12_DRED_VERSION typedef enum D3D12_DRED_VERSION
{ {
D3D12_DRED_VERSION_1_0 = 1, D3D12_DRED_VERSION_1_0 = 1,
D3D12_DRED_VERSION_1_1 = 2,
D3D12_DRED_VERSION_1_2 = 3,
} D3D12_DRED_VERSION; } D3D12_DRED_VERSION;
typedef enum D3D12_DRED_FLAGS typedef enum D3D12_DRED_FLAGS
@ -2840,12 +2994,105 @@ typedef enum D3D12_DRED_FLAGS
D3D12_DRED_FLAG_AUTOBREADCRUMBS = 0x2, D3D12_DRED_FLAG_AUTOBREADCRUMBS = 0x2,
} D3D12_DRED_FLAGS; } D3D12_DRED_FLAGS;
typedef enum D3D12_DRED_ENABLEMENT
{
D3D12_DRED_ENABLEMENT_SYSTEM_CONTROLLED = 0,
D3D12_DRED_ENABLEMENT_FORCED_OFF = 1,
D3D12_DRED_ENABLEMENT_FORCED_ON = 2,
} D3D12_DRED_ENABLEMENT;
typedef struct D3D12_DEVICE_REMOVED_EXTENDED_DATA typedef struct D3D12_DEVICE_REMOVED_EXTENDED_DATA
{ {
D3D12_DRED_FLAGS FLags; D3D12_DRED_FLAGS FLags;
D3D12_AUTO_BREADCRUMB_NODE *pHeadAutoBreadcrumbNode; D3D12_AUTO_BREADCRUMB_NODE *pHeadAutoBreadcrumbNode;
} D3D12_DEVICE_REMOVED_EXTENDED_DATA; } D3D12_DEVICE_REMOVED_EXTENDED_DATA;
typedef enum D3D12_DRED_ALLOCATION_TYPE
{
D3D12_DRED_ALLOCATION_TYPE_COMMAND_QUEUE = 19,
D3D12_DRED_ALLOCATION_TYPE_COMMAND_ALLOCATOR = 20,
D3D12_DRED_ALLOCATION_TYPE_PIPELINE_STATE = 21,
D3D12_DRED_ALLOCATION_TYPE_COMMAND_LIST = 22,
D3D12_DRED_ALLOCATION_TYPE_FENCE = 23,
D3D12_DRED_ALLOCATION_TYPE_DESCRIPTOR_HEAP = 24,
D3D12_DRED_ALLOCATION_TYPE_HEAP = 25,
D3D12_DRED_ALLOCATION_TYPE_QUERY_HEAP = 27,
D3D12_DRED_ALLOCATION_TYPE_COMMAND_SIGNATURE = 28,
D3D12_DRED_ALLOCATION_TYPE_PIPELINE_LIBRARY = 29,
D3D12_DRED_ALLOCATION_TYPE_VIDEO_DECODER = 30,
D3D12_DRED_ALLOCATION_TYPE_VIDEO_PROCESSOR = 32,
D3D12_DRED_ALLOCATION_TYPE_RESOURCE = 34,
D3D12_DRED_ALLOCATION_TYPE_PASS = 35,
D3D12_DRED_ALLOCATION_TYPE_CRYPTOSESSION = 36,
D3D12_DRED_ALLOCATION_TYPE_CRYPTOSESSIONPOLICY = 37,
D3D12_DRED_ALLOCATION_TYPE_PROTECTEDRESOURCESESSION = 38,
D3D12_DRED_ALLOCATION_TYPE_VIDEO_DECODER_HEAP = 39,
D3D12_DRED_ALLOCATION_TYPE_COMMAND_POOL = 40,
D3D12_DRED_ALLOCATION_TYPE_COMMAND_RECORDER = 41,
D3D12_DRED_ALLOCATION_TYPE_STATE_OBJECT = 42,
D3D12_DRED_ALLOCATION_TYPE_METACOMMAND = 43,
D3D12_DRED_ALLOCATION_TYPE_SCHEDULINGGROUP = 44,
D3D12_DRED_ALLOCATION_TYPE_VIDEO_MOTION_ESTIMATOR = 45,
D3D12_DRED_ALLOCATION_TYPE_VIDEO_MOTION_VECTOR_HEAP = 46,
D3D12_DRED_ALLOCATION_TYPE_VIDEO_EXTENSION_COMMAND = 47,
D3D12_DRED_ALLOCATION_TYPE_INVALID = 0xffffffff,
} D3D12_DRED_ALLOCATION_TYPE;
typedef struct D3D12_DRED_ALLOCATION_NODE
{
const char *ObjectNameA;
const wchar_t *ObjectNameW;
D3D12_DRED_ALLOCATION_TYPE AllocationType;
const struct D3D12_DRED_ALLOCATION_NODE *pNext;
} D3D12_DRED_ALLOCATION_NODE;
typedef struct D3D12_DRED_ALLOCATION_NODE1
{
const char *ObjectNameA;
const wchar_t *ObjectNameW;
D3D12_DRED_ALLOCATION_TYPE AllocationType;
const struct D3D12_DRED_ALLOCATION_NODE1 *pNext;
const IUnknown *pObject;
} D3D12_DRED_ALLOCATION_NODE1;
typedef struct D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT
{
const D3D12_AUTO_BREADCRUMB_NODE *pHeadAutoBreadcrumbNode;
} D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT;
typedef struct D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1
{
const D3D12_AUTO_BREADCRUMB_NODE1 *pHeadAutoBreadcrumbNode;
} D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1;
typedef struct D3D12_DRED_PAGE_FAULT_OUTPUT
{
D3D12_GPU_VIRTUAL_ADDRESS PageFaultVA;
const D3D12_DRED_ALLOCATION_NODE *pHeadExistingAllocationNode;
const D3D12_DRED_ALLOCATION_NODE *pHeadRecentFreedAllocationNode;
} D3D12_DRED_PAGE_FAULT_OUTPUT;
typedef struct D3D12_DRED_PAGE_FAULT_OUTPUT1
{
D3D12_GPU_VIRTUAL_ADDRESS PageFaultVA;
const D3D12_DRED_ALLOCATION_NODE1 *pHeadExistingAllocationNode;
const D3D12_DRED_ALLOCATION_NODE1 *pHeadRecentFreedAllocationNode;
} D3D12_DRED_PAGE_FAULT_OUTPUT1;
typedef struct D3D12_DEVICE_REMOVED_EXTENDED_DATA1
{
HRESULT DeviceRemovedReason;
D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT AutoBreadcrumbsOutput;
D3D12_DRED_PAGE_FAULT_OUTPUT PageFaultOutput;
} D3D12_DEVICE_REMOVED_EXTENDED_DATA1;
typedef struct D3D12_DEVICE_REMOVED_EXTENDED_DATA2
{
HRESULT DeviceRemovedReason;
D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 AutoBreadcrumbsOutput;
D3D12_DRED_PAGE_FAULT_OUTPUT1 PageFaultOutput;
} D3D12_DEVICE_REMOVED_EXTENDED_DATA2;
typedef struct D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA typedef struct D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA
{ {
D3D12_DRED_VERSION Version; D3D12_DRED_VERSION Version;
@ -2987,6 +3234,13 @@ typedef struct D3D12_RENDER_PASS_DEPTH_STENCIL_DESC
D3D12_RENDER_PASS_ENDING_ACCESS StencilEndingAccess; D3D12_RENDER_PASS_ENDING_ACCESS StencilEndingAccess;
} D3D12_RENDER_PASS_DEPTH_STENCIL_DESC; } D3D12_RENDER_PASS_DEPTH_STENCIL_DESC;
typedef struct D3D12_DISPATCH_MESH_ARGUMENTS
{
UINT ThreadGroupCountX;
UINT ThreadGroupCountY;
UINT ThreadGroupCountZ;
} D3D12_DISPATCH_MESH_ARGUMENTS;
[ [
uuid(dbb84c27-36ce-4fc9-b801-f048c46ac570), uuid(dbb84c27-36ce-4fc9-b801-f048c46ac570),
object, object,
@ -3290,6 +3544,7 @@ typedef enum D3D12_FENCE_FLAGS
D3D12_FENCE_FLAG_NONE = 0x0, D3D12_FENCE_FLAG_NONE = 0x0,
D3D12_FENCE_FLAG_SHARED = 0x1, D3D12_FENCE_FLAG_SHARED = 0x1,
D3D12_FENCE_FLAG_SHARED_CROSS_ADAPTER = 0x2, D3D12_FENCE_FLAG_SHARED_CROSS_ADAPTER = 0x2,
D3D12_FENCE_FLAG_NON_MONITORED = 0x4,
} D3D12_FENCE_FLAGS; } D3D12_FENCE_FLAGS;
typedef enum D3D12_QUERY_HEAP_TYPE typedef enum D3D12_QUERY_HEAP_TYPE
@ -3326,6 +3581,8 @@ typedef enum D3D12_INDIRECT_ARGUMENT_TYPE
D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW, D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW,
D3D12_INDIRECT_ARGUMENT_TYPE_SHADER_RESOURCE_VIEW, D3D12_INDIRECT_ARGUMENT_TYPE_SHADER_RESOURCE_VIEW,
D3D12_INDIRECT_ARGUMENT_TYPE_UNORDERED_ACCESS_VIEW, D3D12_INDIRECT_ARGUMENT_TYPE_UNORDERED_ACCESS_VIEW,
D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_RAYS,
D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_MESH,
} D3D12_INDIRECT_ARGUMENT_TYPE; } D3D12_INDIRECT_ARGUMENT_TYPE;
typedef struct D3D12_INDIRECT_ARGUMENT_DESC typedef struct D3D12_INDIRECT_ARGUMENT_DESC