diff --git a/include/d3d12.idl b/include/d3d12.idl index 9cb546b57ee..42f33a06e40 100644 --- a/include/d3d12.idl +++ b/include/d3d12.idl @@ -88,6 +88,7 @@ typedef enum D3D12_SHADER_MIN_PRECISION_SUPPORT D3D12_SHADER_MIN_PRECISION_SUPPORT_10_BIT = 0x1, D3D12_SHADER_MIN_PRECISION_SUPPORT_16_BIT = 0x2, } D3D12_SHADER_MIN_PRECISION_SUPPORT; +cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_SHADER_MIN_PRECISION_SUPPORT);") typedef enum D3D12_TILED_RESOURCES_TIER { @@ -159,6 +160,7 @@ typedef enum D3D12_FORMAT_SUPPORT1 D3D12_FORMAT_SUPPORT1_VIDEO_PROCESSOR_INPUT = 0x20000000, D3D12_FORMAT_SUPPORT1_VIDEO_ENCODER = 0x40000000, } D3D12_FORMAT_SUPPORT1; +cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_FORMAT_SUPPORT1);") typedef enum D3D12_FORMAT_SUPPORT2 { @@ -175,6 +177,7 @@ typedef enum D3D12_FORMAT_SUPPORT2 D3D12_FORMAT_SUPPORT2_TILED = 0x00000200, D3D12_FORMAT_SUPPORT2_MULTIPLANE_OVERLAY = 0x00004000, } D3D12_FORMAT_SUPPORT2; +cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_FORMAT_SUPPORT2);") typedef enum D3D12_WRITEBUFFERIMMEDIATE_MODE { @@ -198,6 +201,7 @@ typedef enum D3D12_SHADER_CACHE_SUPPORT_FLAGS D3D12_SHADER_CACHE_SUPPORT_AUTOMATIC_INPROC_CACHE = 0x4, D3D12_SHADER_CACHE_SUPPORT_AUTOMATIC_DISK_CACHE = 0x8, } D3D12_SHADER_CACHE_SUPPORT_FLAGS; +cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_SHADER_CACHE_SUPPORT_FLAGS);") typedef enum D3D12_COMMAND_LIST_SUPPORT_FLAGS { @@ -210,6 +214,7 @@ typedef enum D3D12_COMMAND_LIST_SUPPORT_FLAGS D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_PROCESS = 0x20, D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_ENCODE = 0x40, } D3D12_COMMAND_LIST_SUPPORT_FLAGS; +cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_COMMAND_LIST_SUPPORT_FLAGS);") typedef enum D3D12_VIEW_INSTANCING_TIER { @@ -412,6 +417,7 @@ typedef enum D3D12_HEAP_FLAGS D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES = 0x44, D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES = 0x84, } D3D12_HEAP_FLAGS; +cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_HEAP_FLAGS);") typedef struct D3D12_HEAP_DESC { @@ -503,6 +509,12 @@ typedef enum D3D12_RESOURCE_STATES D3D12_RESOURCE_STATE_GENERIC_READ = 0x1 | 0x2 | 0x40 | 0x80 | 0x200 | 0x800, D3D12_RESOURCE_STATE_PRESENT = 0x0, D3D12_RESOURCE_STATE_PREDICATION = 0x200, + D3D12_RESOURCE_STATE_VIDEO_DECODE_READ = 0x10000, + D3D12_RESOURCE_STATE_VIDEO_DECODE_WRITE = 0x20000, + D3D12_RESOURCE_STATE_VIDEO_PROCESS_READ = 0x40000, + D3D12_RESOURCE_STATE_VIDEO_PROCESS_WRITE = 0x80000, + D3D12_RESOURCE_STATE_VIDEO_ENCODE_READ = 0x200000, + D3D12_RESOURCE_STATE_VIDEO_ENCODE_WRITE = 0x800000, } D3D12_RESOURCE_STATES; cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_RESOURCE_STATES);") @@ -519,6 +531,7 @@ typedef enum D3D12_RESOURCE_BARRIER_FLAGS D3D12_RESOURCE_BARRIER_FLAG_BEGIN_ONLY = 0x1, D3D12_RESOURCE_BARRIER_FLAG_END_ONLY = 0x2, } D3D12_RESOURCE_BARRIER_FLAGS; +cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_RESOURCE_BARRIER_FLAGS);") typedef struct D3D12_RESOURCE_TRANSITION_BARRIER { @@ -665,6 +678,7 @@ typedef enum D3D12_DESCRIPTOR_RANGE_FLAGS D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = 0x4, D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC = 0x8, } D3D12_DESCRIPTOR_RANGE_FLAGS; +cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_DESCRIPTOR_RANGE_FLAGS);") typedef struct D3D12_DESCRIPTOR_RANGE1 { @@ -708,6 +722,7 @@ typedef enum D3D12_ROOT_DESCRIPTOR_FLAGS D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = 0x4, D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC = 0x8, } D3D12_ROOT_DESCRIPTOR_FLAGS; +cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_ROOT_DESCRIPTOR_FLAGS);") typedef struct D3D12_ROOT_DESCRIPTOR1 { @@ -901,6 +916,7 @@ typedef enum D3D12_ROOT_SIGNATURE_FLAGS D3D12_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS = 0x20, D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT = 0x40, } D3D12_ROOT_SIGNATURE_FLAGS; +cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_ROOT_SIGNATURE_FLAGS);") typedef struct D3D12_ROOT_SIGNATURE_DESC { @@ -951,6 +967,7 @@ typedef enum D3D12_DESCRIPTOR_HEAP_FLAGS D3D12_DESCRIPTOR_HEAP_FLAG_NONE = 0x0, D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE = 0x1, } D3D12_DESCRIPTOR_HEAP_FLAGS; +cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_DESCRIPTOR_HEAP_FLAGS);") typedef struct D3D12_DESCRIPTOR_HEAP_DESC { @@ -988,6 +1005,7 @@ typedef enum D3D12_BUFFER_SRV_FLAGS D3D12_BUFFER_SRV_FLAG_NONE = 0x0, D3D12_BUFFER_SRV_FLAG_RAW = 0x1, } D3D12_BUFFER_SRV_FLAGS; +cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_BUFFER_SRV_FLAGS);") typedef enum D3D12_SHADER_COMPONENT_MAPPING { @@ -1123,6 +1141,7 @@ typedef enum D3D12_BUFFER_UAV_FLAGS D3D12_BUFFER_UAV_FLAG_NONE = 0x0, D3D12_BUFFER_UAV_FLAG_RAW = 0x1, } D3D12_BUFFER_UAV_FLAGS; +cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_BUFFER_UAV_FLAGS);") typedef struct D3D12_BUFFER_UAV { @@ -1569,6 +1588,7 @@ typedef enum D3D12_PIPELINE_STATE_FLAGS D3D12_PIPELINE_STATE_FLAG_NONE = 0x0, D3D12_PIPELINE_STATE_FLAG_DEBUG = 0x1, } D3D12_PIPELINE_STATE_FLAGS; +cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_PIPELINE_STATE_FLAGS);") typedef struct D3D12_GRAPHICS_PIPELINE_STATE_DESC { @@ -1624,6 +1644,7 @@ typedef enum D3D12_COMMAND_QUEUE_FLAGS D3D12_COMMAND_QUEUE_FLAG_NONE = 0x0, D3D12_COMMAND_QUEUE_FLAG_DISABLE_GPU_TIMEOUT = 0x1, } D3D12_COMMAND_QUEUE_FLAGS; +cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_COMMAND_QUEUE_FLAGS);") typedef struct D3D12_COMMAND_QUEUE_DESC { @@ -1907,6 +1928,7 @@ typedef enum D3D12_TILE_COPY_FLAGS D3D12_TILE_COPY_FLAG_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE = 0x2, D3D12_TILE_COPY_FLAG_SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER = 0x4, } D3D12_TILE_COPY_FLAGS; +cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_TILE_COPY_FLAGS);") typedef struct D3D12_INDEX_BUFFER_VIEW { @@ -2193,6 +2215,7 @@ typedef enum D3D12_TILE_MAPPING_FLAGS D3D12_TILE_MAPPING_FLAG_NONE = 0x0, D3D12_TILE_MAPPING_FLAG_NO_HAZARD = 0x1, } D3D12_TILE_MAPPING_FLAGS; +cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_TILE_MAPPING_FLAGS);") [ uuid(0ec870a6-5d7e-4c22-8cfc-5baae07616ed), @@ -2240,6 +2263,7 @@ typedef enum D3D12_FENCE_FLAGS D3D12_FENCE_FLAG_SHARED = 0x1, D3D12_FENCE_FLAG_SHARED_CROSS_ADAPTER = 0x2, } D3D12_FENCE_FLAGS; +cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_FENCE_FLAGS);") typedef enum D3D12_QUERY_HEAP_TYPE {