| 1 |
/* |
| 2 |
* Copyright 2016 Józef Kucia for CodeWeavers |
| 3 |
* |
| 4 |
* This library is free software; you can redistribute it and/or |
| 5 |
* modify it under the terms of the GNU Lesser General Public |
| 6 |
* License as published by the Free Software Foundation; either |
| 7 |
* version 2.1 of the License, or (at your option) any later version. |
| 8 |
* |
| 9 |
* This library is distributed in the hope that it will be useful, |
| 10 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 11 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| 12 |
* Lesser General Public License for more details. |
| 13 |
* |
| 14 |
* You should have received a copy of the GNU Lesser General Public |
| 15 |
* License along with this library; if not, write to the Free Software |
| 16 |
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA |
| 17 |
*/ |
| 18 |
|
| 19 |
import "oaidl.idl"; |
| 20 |
import "ocidl.idl"; |
| 21 |
import "dxgi.idl"; |
| 22 |
import "d3dcommon.idl"; |
| 23 |
|
| 24 |
cpp_quote("#ifndef _D3D12_CONSTANTS") |
| 25 |
cpp_quote("#define _D3D12_CONSTANTS") |
| 26 |
|
| 27 |
const UINT D3D12_CS_TGSM_REGISTER_COUNT = 8192; |
| 28 |
const UINT D3D12_MAX_ROOT_COST = 64; |
| 29 |
const UINT D3D12_VIEWPORT_BOUNDS_MAX = 32767; |
| 30 |
const UINT D3D12_VIEWPORT_BOUNDS_MIN = -32768; |
| 31 |
|
| 32 |
const UINT D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT = 15; |
| 33 |
|
| 34 |
const UINT D3D12_APPEND_ALIGNED_ELEMENT = 0xffffffff; |
| 35 |
cpp_quote("#define D3D12_DEFAULT_BLEND_FACTOR_ALPHA (1.0f)") |
| 36 |
cpp_quote("#define D3D12_DEFAULT_BLEND_FACTOR_BLUE (1.0f)") |
| 37 |
cpp_quote("#define D3D12_DEFAULT_BLEND_FACTOR_GREEN (1.0f)") |
| 38 |
cpp_quote("#define D3D12_DEFAULT_BLEND_FACTOR_RED (1.0f)") |
| 39 |
const UINT D3D12_DEFAULT_DEPTH_BIAS = 0; |
| 40 |
cpp_quote("#define D3D12_DEFAULT_DEPTH_BIAS_CLAMP (0.0f)") |
| 41 |
cpp_quote("#define D3D12_DEFAULT_SLOPE_SCALED_DEPTH_BIAS (0.0f)") |
| 42 |
const UINT D3D12_DEFAULT_STENCIL_READ_MASK = 0xff; |
| 43 |
const UINT D3D12_DEFAULT_STENCIL_WRITE_MASK = 0xff; |
| 44 |
const UINT D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND = 0xffffffff; |
| 45 |
cpp_quote("#define D3D12_FLOAT32_MAX (3.402823466e+38f)") |
| 46 |
const UINT D3D12_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT = 32; |
| 47 |
const UINT D3D12_UAV_SLOT_COUNT = 64; |
| 48 |
const UINT D3D12_REQ_CONSTANT_BUFFER_ELEMENT_COUNT = 4096; |
| 49 |
const UINT D3D12_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT = 4096; |
| 50 |
const UINT D3D12_REQ_MIP_LEVELS = 15; |
| 51 |
const UINT D3D12_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION = 2048; |
| 52 |
const UINT D3D12_REQ_TEXTURE1D_U_DIMENSION = 16384; |
| 53 |
const UINT D3D12_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION = 2048; |
| 54 |
const UINT D3D12_REQ_TEXTURE2D_U_OR_V_DIMENSION = 16384; |
| 55 |
const UINT D3D12_REQ_TEXTURE3D_U_V_OR_W_DIMENSION = 2048; |
| 56 |
const UINT D3D12_REQ_TEXTURECUBE_DIMENSION = 16384; |
| 57 |
const UINT D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES = 0xffffffff; |
| 58 |
const UINT D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT = 8; |
| 59 |
const UINT D3D12_SO_BUFFER_MAX_STRIDE_IN_BYTES = 2048; |
| 60 |
const UINT D3D12_SO_BUFFER_SLOT_COUNT = 4; |
| 61 |
const UINT D3D12_SO_DDI_REGISTER_INDEX_DENOTING_GAP = 0xffffffff; |
| 62 |
const UINT D3D12_SO_NO_RASTERIZED_STREAM = 0xffffffff; |
| 63 |
const UINT D3D12_SO_OUTPUT_COMPONENT_COUNT = 128; |
| 64 |
const UINT D3D12_SO_STREAM_COUNT = 4; |
| 65 |
const UINT D3D12_CONSTANT_BUFFER_DATA_PLACEMENT_ALIGNMENT = 256; |
| 66 |
const UINT D3D12_DEFAULT_MSAA_RESOURCE_PLACEMENT_ALIGNMENT = 4194304; |
| 67 |
const UINT D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT = 65536; |
| 68 |
const UINT D3D12_RAW_UAV_SRV_BYTE_ALIGNMENT = 16; |
| 69 |
const UINT D3D12_SMALL_MSAA_RESOURCE_PLACEMENT_ALIGNMENT = 65536; |
| 70 |
const UINT D3D12_SMALL_RESOURCE_PLACEMENT_ALIGNMENT = 4096; |
| 71 |
const UINT D3D12_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE = 4; |
| 72 |
const UINT D3D12_TEXTURE_DATA_PITCH_ALIGNMENT = 256; |
| 73 |
const UINT D3D12_TEXTURE_DATA_PLACEMENT_ALIGNMENT = 512; |
| 74 |
const UINT D3D12_UAV_COUNTER_PLACEMENT_ALIGNMENT = 4096; |
| 75 |
const UINT D3D12_VS_INPUT_REGISTER_COUNT = 32; |
| 76 |
const UINT D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE = 16; |
| 77 |
|
| 78 |
cpp_quote("#endif") |
| 79 |
|
| 80 |
const UINT D3D12_SHADER_COMPONENT_MAPPING_MASK = 0x7; |
| 81 |
const UINT D3D12_SHADER_COMPONENT_MAPPING_SHIFT = 3; |
| 82 |
const UINT D3D12_SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES |
| 83 |
= 1 << (D3D12_SHADER_COMPONENT_MAPPING_SHIFT * 4); |
| 84 |
|
| 85 |
typedef enum D3D12_SHADER_MIN_PRECISION_SUPPORT |
| 86 |
{ |
| 87 |
D3D12_SHADER_MIN_PRECISION_SUPPORT_NONE = 0x0, |
| 88 |
D3D12_SHADER_MIN_PRECISION_SUPPORT_10_BIT = 0x1, |
| 89 |
D3D12_SHADER_MIN_PRECISION_SUPPORT_16_BIT = 0x2, |
| 90 |
} D3D12_SHADER_MIN_PRECISION_SUPPORT; |
| 91 |
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_SHADER_MIN_PRECISION_SUPPORT);") |
| 92 |
|
| 93 |
typedef enum D3D12_TILED_RESOURCES_TIER |
| 94 |
{ |
| 95 |
D3D12_TILED_RESOURCES_TIER_NOT_SUPPORTED = 0, |
| 96 |
D3D12_TILED_RESOURCES_TIER_1 = 1, |
| 97 |
D3D12_TILED_RESOURCES_TIER_2 = 2, |
| 98 |
D3D12_TILED_RESOURCES_TIER_3 = 3, |
| 99 |
} D3D12_TILED_RESOURCES_TIER; |
| 100 |
|
| 101 |
typedef enum D3D12_RESOURCE_BINDING_TIER |
| 102 |
{ |
| 103 |
D3D12_RESOURCE_BINDING_TIER_1 = 1, |
| 104 |
D3D12_RESOURCE_BINDING_TIER_2 = 2, |
| 105 |
D3D12_RESOURCE_BINDING_TIER_3 = 3, |
| 106 |
} D3D12_RESOURCE_BINDING_TIER; |
| 107 |
|
| 108 |
typedef enum D3D12_CONSERVATIVE_RASTERIZATION_TIER |
| 109 |
{ |
| 110 |
D3D12_CONSERVATIVE_RASTERIZATION_TIER_NOT_SUPPORTED = 0, |
| 111 |
D3D12_CONSERVATIVE_RASTERIZATION_TIER_1 = 1, |
| 112 |
D3D12_CONSERVATIVE_RASTERIZATION_TIER_2 = 2, |
| 113 |
D3D12_CONSERVATIVE_RASTERIZATION_TIER_3 = 3, |
| 114 |
} D3D12_CONSERVATIVE_RASTERIZATION_TIER; |
| 115 |
|
| 116 |
typedef enum D3D12_CROSS_NODE_SHARING_TIER |
| 117 |
{ |
| 118 |
D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED = 0, |
| 119 |
D3D12_CROSS_NODE_SHARING_TIER_1_EMULATED = 1, |
| 120 |
D3D12_CROSS_NODE_SHARING_TIER_1 = 2, |
| 121 |
D3D12_CROSS_NODE_SHARING_TIER_2 = 3, |
| 122 |
} D3D12_CROSS_NODE_SHARING_TIER; |
| 123 |
|
| 124 |
typedef enum D3D12_RESOURCE_HEAP_TIER |
| 125 |
{ |
| 126 |
D3D12_RESOURCE_HEAP_TIER_1 = 1, |
| 127 |
D3D12_RESOURCE_HEAP_TIER_2 = 2, |
| 128 |
} D3D12_RESOURCE_HEAP_TIER; |
| 129 |
|
| 130 |
typedef enum D3D12_FORMAT_SUPPORT1 |
| 131 |
{ |
| 132 |
D3D12_FORMAT_SUPPORT1_NONE = 0x00000000, |
| 133 |
D3D12_FORMAT_SUPPORT1_BUFFER = 0x00000001, |
| 134 |
D3D12_FORMAT_SUPPORT1_IA_VERTEX_BUFFER = 0x00000002, |
| 135 |
D3D12_FORMAT_SUPPORT1_IA_INDEX_BUFFER = 0x00000004, |
| 136 |
D3D12_FORMAT_SUPPORT1_SO_BUFFER = 0x00000008, |
| 137 |
D3D12_FORMAT_SUPPORT1_TEXTURE1D = 0x00000010, |
| 138 |
D3D12_FORMAT_SUPPORT1_TEXTURE2D = 0x00000020, |
| 139 |
D3D12_FORMAT_SUPPORT1_TEXTURE3D = 0x00000040, |
| 140 |
D3D12_FORMAT_SUPPORT1_TEXTURECUBE = 0x00000080, |
| 141 |
D3D12_FORMAT_SUPPORT1_SHADER_LOAD = 0x00000100, |
| 142 |
D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE = 0x00000200, |
| 143 |
D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE_COMPARISON = 0x00000400, |
| 144 |
D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE_MONO_TEXT = 0x00000800, |
| 145 |
D3D12_FORMAT_SUPPORT1_MIP = 0x00001000, |
| 146 |
D3D12_FORMAT_SUPPORT1_RENDER_TARGET = 0x00004000, |
| 147 |
D3D12_FORMAT_SUPPORT1_BLENDABLE = 0x00008000, |
| 148 |
D3D12_FORMAT_SUPPORT1_DEPTH_STENCIL = 0x00010000, |
| 149 |
D3D12_FORMAT_SUPPORT1_MULTISAMPLE_RESOLVE = 0x00040000, |
| 150 |
D3D12_FORMAT_SUPPORT1_DISPLAY = 0x00080000, |
| 151 |
D3D12_FORMAT_SUPPORT1_CAST_WITHIN_BIT_LAYOUT = 0x00100000, |
| 152 |
D3D12_FORMAT_SUPPORT1_MULTISAMPLE_RENDERTARGET = 0x00200000, |
| 153 |
D3D12_FORMAT_SUPPORT1_MULTISAMPLE_LOAD = 0x00400000, |
| 154 |
D3D12_FORMAT_SUPPORT1_SHADER_GATHER = 0x00800000, |
| 155 |
D3D12_FORMAT_SUPPORT1_BACK_BUFFER_CAST = 0x01000000, |
| 156 |
D3D12_FORMAT_SUPPORT1_TYPED_UNORDERED_ACCESS_VIEW = 0x02000000, |
| 157 |
D3D12_FORMAT_SUPPORT1_SHADER_GATHER_COMPARISON = 0x04000000, |
| 158 |
D3D12_FORMAT_SUPPORT1_DECODER_OUTPUT = 0x08000000, |
| 159 |
D3D12_FORMAT_SUPPORT1_VIDEO_PROCESSOR_OUTPUT = 0x10000000, |
| 160 |
D3D12_FORMAT_SUPPORT1_VIDEO_PROCESSOR_INPUT = 0x20000000, |
| 161 |
D3D12_FORMAT_SUPPORT1_VIDEO_ENCODER = 0x40000000, |
| 162 |
} D3D12_FORMAT_SUPPORT1; |
| 163 |
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_FORMAT_SUPPORT1);") |
| 164 |
|
| 165 |
typedef enum D3D12_FORMAT_SUPPORT2 |
| 166 |
{ |
| 167 |
D3D12_FORMAT_SUPPORT2_NONE = 0x00000000, |
| 168 |
D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_ADD = 0x00000001, |
| 169 |
D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS = 0x00000002, |
| 170 |
D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE = 0x00000004, |
| 171 |
D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE = 0x00000008, |
| 172 |
D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX = 0x00000010, |
| 173 |
D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX = 0x00000020, |
| 174 |
D3D12_FORMAT_SUPPORT2_UAV_TYPED_LOAD = 0x00000040, |
| 175 |
D3D12_FORMAT_SUPPORT2_UAV_TYPED_STORE = 0x00000080, |
| 176 |
D3D12_FORMAT_SUPPORT2_OUTPUT_MERGER_LOGIC_OP = 0x00000100, |
| 177 |
D3D12_FORMAT_SUPPORT2_TILED = 0x00000200, |
| 178 |
D3D12_FORMAT_SUPPORT2_MULTIPLANE_OVERLAY = 0x00004000, |
| 179 |
} D3D12_FORMAT_SUPPORT2; |
| 180 |
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_FORMAT_SUPPORT2);") |
| 181 |
|
| 182 |
typedef enum D3D12_WRITEBUFFERIMMEDIATE_MODE |
| 183 |
{ |
| 184 |
D3D12_WRITEBUFFERIMMEDIATE_MODE_DEFAULT = 0x0, |
| 185 |
D3D12_WRITEBUFFERIMMEDIATE_MODE_MARKER_IN = 0x1, |
| 186 |
D3D12_WRITEBUFFERIMMEDIATE_MODE_MARKER_OUT = 0x2, |
| 187 |
} D3D12_WRITEBUFFERIMMEDIATE_MODE; |
| 188 |
|
| 189 |
typedef enum D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER |
| 190 |
{ |
| 191 |
D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_NOT_SUPPORTED = 0x0, |
| 192 |
D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_1 = 0x1, |
| 193 |
D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_2 = 0x2, |
| 194 |
} D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER; |
| 195 |
|
| 196 |
typedef enum D3D12_SHADER_CACHE_SUPPORT_FLAGS |
| 197 |
{ |
| 198 |
D3D12_SHADER_CACHE_SUPPORT_NONE = 0x0, |
| 199 |
D3D12_SHADER_CACHE_SUPPORT_SINGLE_PSO = 0x1, |
| 200 |
D3D12_SHADER_CACHE_SUPPORT_LIBRARY = 0x2, |
| 201 |
D3D12_SHADER_CACHE_SUPPORT_AUTOMATIC_INPROC_CACHE = 0x4, |
| 202 |
D3D12_SHADER_CACHE_SUPPORT_AUTOMATIC_DISK_CACHE = 0x8, |
| 203 |
} D3D12_SHADER_CACHE_SUPPORT_FLAGS; |
| 204 |
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_SHADER_CACHE_SUPPORT_FLAGS);") |
| 205 |
|
| 206 |
typedef enum D3D12_COMMAND_LIST_SUPPORT_FLAGS |
| 207 |
{ |
| 208 |
D3D12_COMMAND_LIST_SUPPORT_FLAG_NONE = 0x0, |
| 209 |
D3D12_COMMAND_LIST_SUPPORT_FLAG_DIRECT = 0x1, |
| 210 |
D3D12_COMMAND_LIST_SUPPORT_FLAG_BUNDLE = 0x2, |
| 211 |
D3D12_COMMAND_LIST_SUPPORT_FLAG_COMPUTE = 0x4, |
| 212 |
D3D12_COMMAND_LIST_SUPPORT_FLAG_COPY = 0x8, |
| 213 |
D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_DECODE = 0x10, |
| 214 |
D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_PROCESS = 0x20, |
| 215 |
D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_ENCODE = 0x40, |
| 216 |
} D3D12_COMMAND_LIST_SUPPORT_FLAGS; |
| 217 |
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_COMMAND_LIST_SUPPORT_FLAGS);") |
| 218 |
|
| 219 |
typedef enum D3D12_VIEW_INSTANCING_TIER |
| 220 |
{ |
| 221 |
D3D12_VIEW_INSTANCING_TIER_NOT_SUPPORTED = 0x0, |
| 222 |
D3D12_VIEW_INSTANCING_TIER_1 = 0x1, |
| 223 |
D3D12_VIEW_INSTANCING_TIER_2 = 0x2, |
| 224 |
D3D12_VIEW_INSTANCING_TIER_3 = 0x3, |
| 225 |
} D3D12_VIEW_INSTANCING_TIER; |
| 226 |
|
| 227 |
typedef enum D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER |
| 228 |
{ |
| 229 |
D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_0 = 0x0, |
| 230 |
D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_1 = 0x1, |
| 231 |
} D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER; |
| 232 |
|
| 233 |
typedef enum D3D12_HEAP_SERIALIZATION_TIER |
| 234 |
{ |
| 235 |
D3D12_HEAP_SERIALIZATION_TIER_0 = 0x0, |
| 236 |
D3D12_HEAP_SERIALIZATION_TIER_10 = 0xa, |
| 237 |
} D3D12_HEAP_SERIALIZATION_TIER; |
| 238 |
|
| 239 |
typedef enum D3D12_RENDER_PASS_TIER |
| 240 |
{ |
| 241 |
D3D12_RENDER_PASS_TIER_0 = 0x0, |
| 242 |
D3D12_RENDER_PASS_TIER_1 = 0x1, |
| 243 |
D3D12_RENDER_PASS_TIER_2 = 0x2, |
| 244 |
} D3D12_RENDER_PASS_TIER; |
| 245 |
|
| 246 |
typedef enum D3D12_RAYTRACING_TIER |
| 247 |
{ |
| 248 |
D3D12_RAYTRACING_TIER_NOT_SUPPORTED = 0x0, |
| 249 |
D3D12_RAYTRACING_TIER_1_0 = 0xa, |
| 250 |
} D3D12_RAYTRACING_TIER; |
| 251 |
|
| 252 |
interface ID3D12Fence; |
| 253 |
interface ID3D12RootSignature; |
| 254 |
interface ID3D12Heap; |
| 255 |
interface ID3D12DescriptorHeap; |
| 256 |
interface ID3D12Resource; |
| 257 |
interface ID3D12CommandAllocator; |
| 258 |
interface ID3D12GraphicsCommandList; |
| 259 |
interface ID3D12CommandQueue; |
| 260 |
interface ID3D12PipelineState; |
| 261 |
interface ID3D12Device; |
| 262 |
|
| 263 |
typedef RECT D3D12_RECT; |
| 264 |
|
| 265 |
typedef struct D3D12_BOX |
| 266 |
{ |
| 267 |
UINT left; |
| 268 |
UINT top; |
| 269 |
UINT front; |
| 270 |
UINT right; |
| 271 |
UINT bottom; |
| 272 |
UINT back; |
| 273 |
} D3D12_BOX; |
| 274 |
|
| 275 |
typedef struct D3D12_VIEWPORT |
| 276 |
{ |
| 277 |
FLOAT TopLeftX; |
| 278 |
FLOAT TopLeftY; |
| 279 |
FLOAT Width; |
| 280 |
FLOAT Height; |
| 281 |
FLOAT MinDepth; |
| 282 |
FLOAT MaxDepth; |
| 283 |
} D3D12_VIEWPORT; |
| 284 |
|
| 285 |
typedef struct D3D12_RANGE |
| 286 |
{ |
| 287 |
SIZE_T Begin; |
| 288 |
SIZE_T End; |
| 289 |
} D3D12_RANGE; |
| 290 |
|
| 291 |
typedef struct D3D12_RANGE_UINT64 |
| 292 |
{ |
| 293 |
UINT64 Begin; |
| 294 |
UINT64 End; |
| 295 |
} D3D12_RANGE_UINT64; |
| 296 |
|
| 297 |
typedef struct D3D12_SUBRESOURCE_RANGE_UINT64 |
| 298 |
{ |
| 299 |
UINT Subresource; |
| 300 |
D3D12_RANGE_UINT64 Range; |
| 301 |
} D3D12_SUBRESOURCE_RANGE_UINT64; |
| 302 |
|
| 303 |
typedef struct D3D12_RESOURCE_ALLOCATION_INFO |
| 304 |
{ |
| 305 |
UINT64 SizeInBytes; |
| 306 |
UINT64 Alignment; |
| 307 |
} D3D12_RESOURCE_ALLOCATION_INFO; |
| 308 |
|
| 309 |
typedef struct D3D12_DRAW_ARGUMENTS |
| 310 |
{ |
| 311 |
UINT VertexCountPerInstance; |
| 312 |
UINT InstanceCount; |
| 313 |
UINT StartVertexLocation; |
| 314 |
UINT StartInstanceLocation; |
| 315 |
} D3D12_DRAW_ARGUMENTS; |
| 316 |
|
| 317 |
typedef struct D3D12_DRAW_INDEXED_ARGUMENTS |
| 318 |
{ |
| 319 |
UINT IndexCountPerInstance; |
| 320 |
UINT InstanceCount; |
| 321 |
UINT StartIndexLocation; |
| 322 |
INT BaseVertexLocation; |
| 323 |
UINT StartInstanceLocation; |
| 324 |
} D3D12_DRAW_INDEXED_ARGUMENTS; |
| 325 |
|
| 326 |
typedef struct D3D12_DISPATCH_ARGUMENTS |
| 327 |
{ |
| 328 |
UINT ThreadGroupCountX; |
| 329 |
UINT ThreadGroupCountY; |
| 330 |
UINT ThreadGroupCountZ; |
| 331 |
} D3D12_DISPATCH_ARGUMENTS; |
| 332 |
|
| 333 |
typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS |
| 334 |
{ |
| 335 |
BOOL DoublePrecisionFloatShaderOps; |
| 336 |
BOOL OutputMergerLogicOp; |
| 337 |
D3D12_SHADER_MIN_PRECISION_SUPPORT MinPrecisionSupport; |
| 338 |
D3D12_TILED_RESOURCES_TIER TiledResourcesTier; |
| 339 |
D3D12_RESOURCE_BINDING_TIER ResourceBindingTier; |
| 340 |
BOOL PSSpecifiedStencilRefSupported; |
| 341 |
BOOL TypedUAVLoadAdditionalFormats; |
| 342 |
BOOL ROVsSupported; |
| 343 |
D3D12_CONSERVATIVE_RASTERIZATION_TIER ConservativeRasterizationTier; |
| 344 |
UINT MaxGPUVirtualAddressBitsPerResource; |
| 345 |
BOOL StandardSwizzle64KBSupported; |
| 346 |
D3D12_CROSS_NODE_SHARING_TIER CrossNodeSharingTier; |
| 347 |
BOOL CrossAdapterRowMajorTextureSupported; |
| 348 |
BOOL VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation; |
| 349 |
D3D12_RESOURCE_HEAP_TIER ResourceHeapTier; |
| 350 |
} D3D12_FEATURE_DATA_D3D12_OPTIONS; |
| 351 |
|
| 352 |
typedef struct D3D12_FEATURE_DATA_FORMAT_SUPPORT |
| 353 |
{ |
| 354 |
DXGI_FORMAT Format; |
| 355 |
D3D12_FORMAT_SUPPORT1 Support1; |
| 356 |
D3D12_FORMAT_SUPPORT2 Support2; |
| 357 |
} D3D12_FEATURE_DATA_FORMAT_SUPPORT; |
| 358 |
|
| 359 |
typedef enum D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS |
| 360 |
{ |
| 361 |
D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG_NONE = 0x00000000, |
| 362 |
D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG_TILED_RESOURCE = 0x00000001, |
| 363 |
} D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS; |
| 364 |
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS);") |
| 365 |
|
| 366 |
typedef struct D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS |
| 367 |
{ |
| 368 |
DXGI_FORMAT Format; |
| 369 |
UINT SampleCount; |
| 370 |
D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS Flags; |
| 371 |
UINT NumQualityLevels; |
| 372 |
} D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS; |
| 373 |
|
| 374 |
typedef enum D3D12_HEAP_TYPE |
| 375 |
{ |
| 376 |
D3D12_HEAP_TYPE_DEFAULT = 1, |
| 377 |
D3D12_HEAP_TYPE_UPLOAD = 2, |
| 378 |
D3D12_HEAP_TYPE_READBACK = 3, |
| 379 |
D3D12_HEAP_TYPE_CUSTOM = 4, |
| 380 |
} D3D12_HEAP_TYPE; |
| 381 |
|
| 382 |
typedef enum D3D12_CPU_PAGE_PROPERTY |
| 383 |
{ |
| 384 |
D3D12_CPU_PAGE_PROPERTY_UNKNOWN = 0, |
| 385 |
D3D12_CPU_PAGE_PROPERTY_NOT_AVAILABLE = 1, |
| 386 |
D3D12_CPU_PAGE_PROPERTY_WRITE_COMBINE = 2, |
| 387 |
D3D12_CPU_PAGE_PROPERTY_WRITE_BACK = 3, |
| 388 |
} D3D12_CPU_PAGE_PROPERTY; |
| 389 |
|
| 390 |
typedef enum D3D12_MEMORY_POOL |
| 391 |
{ |
| 392 |
D3D12_MEMORY_POOL_UNKNOWN = 0, |
| 393 |
D3D12_MEMORY_POOL_L0 = 1, |
| 394 |
D3D12_MEMORY_POOL_L1 = 2, |
| 395 |
} D3D12_MEMORY_POOL; |
| 396 |
|
| 397 |
typedef struct D3D12_HEAP_PROPERTIES |
| 398 |
{ |
| 399 |
D3D12_HEAP_TYPE Type; |
| 400 |
D3D12_CPU_PAGE_PROPERTY CPUPageProperty; |
| 401 |
D3D12_MEMORY_POOL MemoryPoolPreference; |
| 402 |
UINT CreationNodeMask; |
| 403 |
UINT VisibleNodeMask; |
| 404 |
} D3D12_HEAP_PROPERTIES; |
| 405 |
|
| 406 |
typedef enum D3D12_HEAP_FLAGS |
| 407 |
{ |
| 408 |
D3D12_HEAP_FLAG_NONE = 0x00, |
| 409 |
D3D12_HEAP_FLAG_SHARED = 0x01, |
| 410 |
D3D12_HEAP_FLAG_DENY_BUFFERS = 0x04, |
| 411 |
D3D12_HEAP_FLAG_ALLOW_DISPLAY = 0x08, |
| 412 |
D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER = 0x20, |
| 413 |
D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES = 0x40, |
| 414 |
D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES = 0x80, |
| 415 |
D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES = 0x00, |
| 416 |
D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS = 0xc0, |
| 417 |
D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES = 0x44, |
| 418 |
D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES = 0x84, |
| 419 |
} D3D12_HEAP_FLAGS; |
| 420 |
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_HEAP_FLAGS);") |
| 421 |
|
| 422 |
typedef struct D3D12_HEAP_DESC |
| 423 |
{ |
| 424 |
UINT64 SizeInBytes; |
| 425 |
D3D12_HEAP_PROPERTIES Properties; |
| 426 |
UINT64 Alignment; |
| 427 |
D3D12_HEAP_FLAGS Flags; |
| 428 |
} D3D12_HEAP_DESC; |
| 429 |
|
| 430 |
typedef struct D3D12_TILED_RESOURCE_COORDINATE |
| 431 |
{ |
| 432 |
UINT X; |
| 433 |
UINT Y; |
| 434 |
UINT Z; |
| 435 |
UINT Subresource; |
| 436 |
} D3D12_TILED_RESOURCE_COORDINATE; |
| 437 |
|
| 438 |
typedef struct D3D12_TILE_REGION_SIZE |
| 439 |
{ |
| 440 |
UINT NumTiles; |
| 441 |
BOOL UseBox; |
| 442 |
UINT Width; |
| 443 |
UINT16 Height; |
| 444 |
UINT16 Depth; |
| 445 |
} D3D12_TILE_REGION_SIZE; |
| 446 |
|
| 447 |
typedef struct D3D12_SUBRESOURCE_TILING |
| 448 |
{ |
| 449 |
UINT WidthInTiles; |
| 450 |
UINT16 HeightInTiles; |
| 451 |
UINT16 DepthInTiles; |
| 452 |
UINT StartTileIndexInOverallResource; |
| 453 |
} D3D12_SUBRESOURCE_TILING; |
| 454 |
|
| 455 |
typedef struct D3D12_TILE_SHAPE |
| 456 |
{ |
| 457 |
UINT WidthInTexels; |
| 458 |
UINT HeightInTexels; |
| 459 |
UINT DepthInTexels; |
| 460 |
} D3D12_TILE_SHAPE; |
| 461 |
|
| 462 |
typedef struct D3D12_SHADER_BYTECODE |
| 463 |
{ |
| 464 |
const void *pShaderBytecode; |
| 465 |
SIZE_T BytecodeLength; |
| 466 |
} D3D12_SHADER_BYTECODE; |
| 467 |
|
| 468 |
typedef struct D3D12_DEPTH_STENCIL_VALUE |
| 469 |
{ |
| 470 |
FLOAT Depth; |
| 471 |
UINT8 Stencil; |
| 472 |
} D3D12_DEPTH_STENCIL_VALUE; |
| 473 |
|
| 474 |
typedef struct D3D12_CLEAR_VALUE |
| 475 |
{ |
| 476 |
DXGI_FORMAT Format; |
| 477 |
union |
| 478 |
{ |
| 479 |
FLOAT Color[4]; |
| 480 |
D3D12_DEPTH_STENCIL_VALUE DepthStencil; |
| 481 |
}; |
| 482 |
} D3D12_CLEAR_VALUE; |
| 483 |
|
| 484 |
typedef struct D3D12_PACKED_MIP_INFO |
| 485 |
{ |
| 486 |
UINT8 NumStandardMips; |
| 487 |
UINT8 NumPackedMips; |
| 488 |
UINT NumTilesForPackedMips; |
| 489 |
UINT StartTileIndexInOverallResource; |
| 490 |
} D3D12_PACKED_MIP_INFO; |
| 491 |
|
| 492 |
typedef enum D3D12_RESOURCE_STATES |
| 493 |
{ |
| 494 |
D3D12_RESOURCE_STATE_COMMON = 0, |
| 495 |
D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER = 0x1, |
| 496 |
D3D12_RESOURCE_STATE_INDEX_BUFFER = 0x2, |
| 497 |
D3D12_RESOURCE_STATE_RENDER_TARGET = 0x4, |
| 498 |
D3D12_RESOURCE_STATE_UNORDERED_ACCESS = 0x8, |
| 499 |
D3D12_RESOURCE_STATE_DEPTH_WRITE = 0x10, |
| 500 |
D3D12_RESOURCE_STATE_DEPTH_READ = 0x20, |
| 501 |
D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE = 0x40, |
| 502 |
D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE = 0x80, |
| 503 |
D3D12_RESOURCE_STATE_STREAM_OUT = 0x100, |
| 504 |
D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT = 0x200, |
| 505 |
D3D12_RESOURCE_STATE_COPY_DEST = 0x400, |
| 506 |
D3D12_RESOURCE_STATE_COPY_SOURCE = 0x800, |
| 507 |
D3D12_RESOURCE_STATE_RESOLVE_DEST = 0x1000, |
| 508 |
D3D12_RESOURCE_STATE_RESOLVE_SOURCE = 0x2000, |
| 509 |
D3D12_RESOURCE_STATE_GENERIC_READ = 0x1 | 0x2 | 0x40 | 0x80 | 0x200 | 0x800, |
| 510 |
D3D12_RESOURCE_STATE_PRESENT = 0x0, |
| 511 |
D3D12_RESOURCE_STATE_PREDICATION = 0x200, |
| 512 |
D3D12_RESOURCE_STATE_VIDEO_DECODE_READ = 0x10000, |
| 513 |
D3D12_RESOURCE_STATE_VIDEO_DECODE_WRITE = 0x20000, |
| 514 |
D3D12_RESOURCE_STATE_VIDEO_PROCESS_READ = 0x40000, |
| 515 |
D3D12_RESOURCE_STATE_VIDEO_PROCESS_WRITE = 0x80000, |
| 516 |
D3D12_RESOURCE_STATE_VIDEO_ENCODE_READ = 0x200000, |
| 517 |
D3D12_RESOURCE_STATE_VIDEO_ENCODE_WRITE = 0x800000, |
| 518 |
} D3D12_RESOURCE_STATES; |
| 519 |
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_RESOURCE_STATES);") |
| 520 |
|
| 521 |
typedef enum D3D12_RESOURCE_BARRIER_TYPE |
| 522 |
{ |
| 523 |
D3D12_RESOURCE_BARRIER_TYPE_TRANSITION = 0, |
| 524 |
D3D12_RESOURCE_BARRIER_TYPE_ALIASING = 1, |
| 525 |
D3D12_RESOURCE_BARRIER_TYPE_UAV = 2, |
| 526 |
} D3D12_RESOURCE_BARRIER_TYPE; |
| 527 |
|
| 528 |
typedef enum D3D12_RESOURCE_BARRIER_FLAGS |
| 529 |
{ |
| 530 |
D3D12_RESOURCE_BARRIER_FLAG_NONE = 0x0, |
| 531 |
D3D12_RESOURCE_BARRIER_FLAG_BEGIN_ONLY = 0x1, |
| 532 |
D3D12_RESOURCE_BARRIER_FLAG_END_ONLY = 0x2, |
| 533 |
} D3D12_RESOURCE_BARRIER_FLAGS; |
| 534 |
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_RESOURCE_BARRIER_FLAGS);") |
| 535 |
|
| 536 |
typedef struct D3D12_RESOURCE_TRANSITION_BARRIER |
| 537 |
{ |
| 538 |
ID3D12Resource *pResource; |
| 539 |
UINT Subresource; |
| 540 |
D3D12_RESOURCE_STATES StateBefore; |
| 541 |
D3D12_RESOURCE_STATES StateAfter; |
| 542 |
} D3D12_RESOURCE_TRANSITION_BARRIER; |
| 543 |
|
| 544 |
typedef struct D3D12_RESOURCE_ALIASING_BARRIER_ALIASING |
| 545 |
{ |
| 546 |
ID3D12Resource *pResourceBefore; |
| 547 |
ID3D12Resource *pResourceAfter; |
| 548 |
} D3D12_RESOURCE_ALIASING_BARRIER; |
| 549 |
|
| 550 |
typedef struct D3D12_RESOURCE_UAV_BARRIER |
| 551 |
{ |
| 552 |
ID3D12Resource *pResource; |
| 553 |
} D3D12_RESOURCE_UAV_BARRIER; |
| 554 |
|
| 555 |
typedef struct D3D12_RESOURCE_BARRIER |
| 556 |
{ |
| 557 |
D3D12_RESOURCE_BARRIER_TYPE Type; |
| 558 |
D3D12_RESOURCE_BARRIER_FLAGS Flags; |
| 559 |
union |
| 560 |
{ |
| 561 |
D3D12_RESOURCE_TRANSITION_BARRIER Transition; |
| 562 |
D3D12_RESOURCE_ALIASING_BARRIER Aliasing; |
| 563 |
D3D12_RESOURCE_UAV_BARRIER UAV; |
| 564 |
}; |
| 565 |
} D3D12_RESOURCE_BARRIER; |
| 566 |
|
| 567 |
typedef enum D3D12_RESOURCE_DIMENSION |
| 568 |
{ |
| 569 |
D3D12_RESOURCE_DIMENSION_UNKNOWN = 0, |
| 570 |
D3D12_RESOURCE_DIMENSION_BUFFER = 1, |
| 571 |
D3D12_RESOURCE_DIMENSION_TEXTURE1D = 2, |
| 572 |
D3D12_RESOURCE_DIMENSION_TEXTURE2D = 3, |
| 573 |
D3D12_RESOURCE_DIMENSION_TEXTURE3D = 4, |
| 574 |
} D3D12_RESOURCE_DIMENSION; |
| 575 |
|
| 576 |
typedef enum D3D12_TEXTURE_LAYOUT |
| 577 |
{ |
| 578 |
D3D12_TEXTURE_LAYOUT_UNKNOWN = 0, |
| 579 |
D3D12_TEXTURE_LAYOUT_ROW_MAJOR = 1, |
| 580 |
D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE = 2, |
| 581 |
D3D12_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE = 3, |
| 582 |
} D3D12_TEXTURE_LAYOUT; |
| 583 |
|
| 584 |
typedef enum D3D12_RESOURCE_FLAGS |
| 585 |
{ |
| 586 |
D3D12_RESOURCE_FLAG_NONE = 0x0, |
| 587 |
D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET = 0x1, |
| 588 |
D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL = 0x2, |
| 589 |
D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS = 0x4, |
| 590 |
D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE = 0x8, |
| 591 |
D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER = 0x10, |
| 592 |
D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS = 0x20, |
| 593 |
} D3D12_RESOURCE_FLAGS; |
| 594 |
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_RESOURCE_FLAGS);") |
| 595 |
|
| 596 |
typedef struct D3D12_RESOURCE_DESC |
| 597 |
{ |
| 598 |
D3D12_RESOURCE_DIMENSION Dimension; |
| 599 |
UINT64 Alignment; |
| 600 |
UINT64 Width; |
| 601 |
UINT Height; |
| 602 |
UINT16 DepthOrArraySize; |
| 603 |
UINT16 MipLevels; |
| 604 |
DXGI_FORMAT Format; |
| 605 |
DXGI_SAMPLE_DESC SampleDesc; |
| 606 |
D3D12_TEXTURE_LAYOUT Layout; |
| 607 |
D3D12_RESOURCE_FLAGS Flags; |
| 608 |
} D3D12_RESOURCE_DESC; |
| 609 |
|
| 610 |
typedef enum D3D12_RESOLVE_MODE |
| 611 |
{ |
| 612 |
D3D12_RESOLVE_MODE_DECOMPRESS = 0, |
| 613 |
D3D12_RESOLVE_MODE_MIN = 1, |
| 614 |
D3D12_RESOLVE_MODE_MAX = 2, |
| 615 |
D3D12_RESOLVE_MODE_AVERAGE = 3, |
| 616 |
} D3D12_RESOLVE_MODE; |
| 617 |
|
| 618 |
typedef struct D3D12_SAMPLE_POSITION |
| 619 |
{ |
| 620 |
INT8 X; |
| 621 |
INT8 Y; |
| 622 |
} D3D12_SAMPLE_POSITION; |
| 623 |
|
| 624 |
typedef enum D3D12_TEXTURE_COPY_TYPE |
| 625 |
{ |
| 626 |
D3D12_TEXTURE_COPY_TYPE_SUBRESOURCE_INDEX = 0, |
| 627 |
D3D12_TEXTURE_COPY_TYPE_PLACED_FOOTPRINT = 1, |
| 628 |
} D3D12_TEXTURE_COPY_TYPE; |
| 629 |
|
| 630 |
typedef struct D3D12_SUBRESOURCE_FOOTPRINT |
| 631 |
{ |
| 632 |
DXGI_FORMAT Format; |
| 633 |
UINT Width; |
| 634 |
UINT Height; |
| 635 |
UINT Depth; |
| 636 |
UINT RowPitch; |
| 637 |
} D3D12_SUBRESOURCE_FOOTPRINT; |
| 638 |
|
| 639 |
typedef struct D3D12_PLACED_SUBRESOURCE_FOOTPRINT |
| 640 |
{ |
| 641 |
UINT64 Offset; |
| 642 |
D3D12_SUBRESOURCE_FOOTPRINT Footprint; |
| 643 |
} D3D12_PLACED_SUBRESOURCE_FOOTPRINT; |
| 644 |
|
| 645 |
typedef struct D3D12_TEXTURE_COPY_LOCATION |
| 646 |
{ |
| 647 |
ID3D12Resource *pResource; |
| 648 |
D3D12_TEXTURE_COPY_TYPE Type; |
| 649 |
union |
| 650 |
{ |
| 651 |
D3D12_PLACED_SUBRESOURCE_FOOTPRINT PlacedFootprint; |
| 652 |
UINT SubresourceIndex; |
| 653 |
}; |
| 654 |
} D3D12_TEXTURE_COPY_LOCATION; |
| 655 |
|
| 656 |
typedef enum D3D12_DESCRIPTOR_RANGE_TYPE |
| 657 |
{ |
| 658 |
D3D12_DESCRIPTOR_RANGE_TYPE_SRV = 0, |
| 659 |
D3D12_DESCRIPTOR_RANGE_TYPE_UAV = 1, |
| 660 |
D3D12_DESCRIPTOR_RANGE_TYPE_CBV = 2, |
| 661 |
D3D12_DESCRIPTOR_RANGE_TYPE_SAMPLER = 3, |
| 662 |
} D3D12_DESCRIPTOR_RANGE_TYPE; |
| 663 |
|
| 664 |
typedef struct D3D12_DESCRIPTOR_RANGE |
| 665 |
{ |
| 666 |
D3D12_DESCRIPTOR_RANGE_TYPE RangeType; |
| 667 |
UINT NumDescriptors; |
| 668 |
UINT BaseShaderRegister; |
| 669 |
UINT RegisterSpace; |
| 670 |
UINT OffsetInDescriptorsFromTableStart; |
| 671 |
} D3D12_DESCRIPTOR_RANGE; |
| 672 |
|
| 673 |
typedef enum D3D12_DESCRIPTOR_RANGE_FLAGS |
| 674 |
{ |
| 675 |
D3D12_DESCRIPTOR_RANGE_FLAG_NONE = 0x0, |
| 676 |
D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE = 0x1, |
| 677 |
D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE = 0x2, |
| 678 |
D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = 0x4, |
| 679 |
D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC = 0x8, |
| 680 |
} D3D12_DESCRIPTOR_RANGE_FLAGS; |
| 681 |
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_DESCRIPTOR_RANGE_FLAGS);") |
| 682 |
|
| 683 |
typedef struct D3D12_DESCRIPTOR_RANGE1 |
| 684 |
{ |
| 685 |
D3D12_DESCRIPTOR_RANGE_TYPE RangeType; |
| 686 |
UINT NumDescriptors; |
| 687 |
UINT BaseShaderRegister; |
| 688 |
UINT RegisterSpace; |
| 689 |
D3D12_DESCRIPTOR_RANGE_FLAGS Flags; |
| 690 |
UINT OffsetInDescriptorsFromTableStart; |
| 691 |
} D3D12_DESCRIPTOR_RANGE1; |
| 692 |
|
| 693 |
typedef struct D3D12_ROOT_DESCRIPTOR_TABLE |
| 694 |
{ |
| 695 |
UINT NumDescriptorRanges; |
| 696 |
const D3D12_DESCRIPTOR_RANGE *pDescriptorRanges; |
| 697 |
} D3D12_ROOT_DESCRIPTOR_TABLE; |
| 698 |
|
| 699 |
typedef struct D3D12_ROOT_DESCRIPTOR_TABLE1 |
| 700 |
{ |
| 701 |
UINT NumDescriptorRanges; |
| 702 |
const D3D12_DESCRIPTOR_RANGE1 *pDescriptorRanges; |
| 703 |
} D3D12_ROOT_DESCRIPTOR_TABLE1; |
| 704 |
|
| 705 |
typedef struct D3D12_ROOT_CONSTANTS |
| 706 |
{ |
| 707 |
UINT ShaderRegister; |
| 708 |
UINT RegisterSpace; |
| 709 |
UINT Num32BitValues; |
| 710 |
} D3D12_ROOT_CONSTANTS; |
| 711 |
|
| 712 |
typedef struct D3D12_ROOT_DESCRIPTOR |
| 713 |
{ |
| 714 |
UINT ShaderRegister; |
| 715 |
UINT RegisterSpace; |
| 716 |
} D3D12_ROOT_DESCRIPTOR; |
| 717 |
|
| 718 |
typedef enum D3D12_ROOT_DESCRIPTOR_FLAGS |
| 719 |
{ |
| 720 |
D3D12_ROOT_DESCRIPTOR_FLAG_NONE = 0x0, |
| 721 |
D3D12_ROOT_DESCRIPTOR_FLAG_DATA_VOLATILE = 0x2, |
| 722 |
D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = 0x4, |
| 723 |
D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC = 0x8, |
| 724 |
} D3D12_ROOT_DESCRIPTOR_FLAGS; |
| 725 |
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_ROOT_DESCRIPTOR_FLAGS);") |
| 726 |
|
| 727 |
typedef struct D3D12_ROOT_DESCRIPTOR1 |
| 728 |
{ |
| 729 |
UINT ShaderRegister; |
| 730 |
UINT RegisterSpace; |
| 731 |
D3D12_ROOT_DESCRIPTOR_FLAGS Flags; |
| 732 |
} D3D12_ROOT_DESCRIPTOR1; |
| 733 |
|
| 734 |
typedef enum D3D12_ROOT_PARAMETER_TYPE |
| 735 |
{ |
| 736 |
D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE = 0, |
| 737 |
D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS = 1, |
| 738 |
D3D12_ROOT_PARAMETER_TYPE_CBV = 2, |
| 739 |
D3D12_ROOT_PARAMETER_TYPE_SRV = 3, |
| 740 |
D3D12_ROOT_PARAMETER_TYPE_UAV = 4, |
| 741 |
} D3D12_ROOT_PARAMETER_TYPE; |
| 742 |
|
| 743 |
typedef enum D3D12_SHADER_VISIBILITY |
| 744 |
{ |
| 745 |
D3D12_SHADER_VISIBILITY_ALL = 0, |
| 746 |
D3D12_SHADER_VISIBILITY_VERTEX = 1, |
| 747 |
D3D12_SHADER_VISIBILITY_HULL = 2, |
| 748 |
D3D12_SHADER_VISIBILITY_DOMAIN = 3, |
| 749 |
D3D12_SHADER_VISIBILITY_GEOMETRY = 4, |
| 750 |
D3D12_SHADER_VISIBILITY_PIXEL = 5, |
| 751 |
} D3D12_SHADER_VISIBILITY; |
| 752 |
|
| 753 |
typedef struct D3D12_ROOT_PARAMETER |
| 754 |
{ |
| 755 |
D3D12_ROOT_PARAMETER_TYPE ParameterType; |
| 756 |
union |
| 757 |
{ |
| 758 |
D3D12_ROOT_DESCRIPTOR_TABLE DescriptorTable; |
| 759 |
D3D12_ROOT_CONSTANTS Constants; |
| 760 |
D3D12_ROOT_DESCRIPTOR Descriptor; |
| 761 |
}; |
| 762 |
D3D12_SHADER_VISIBILITY ShaderVisibility; |
| 763 |
} D3D12_ROOT_PARAMETER; |
| 764 |
|
| 765 |
typedef struct D3D12_ROOT_PARAMETER1 |
| 766 |
{ |
| 767 |
D3D12_ROOT_PARAMETER_TYPE ParameterType; |
| 768 |
union |
| 769 |
{ |
| 770 |
D3D12_ROOT_DESCRIPTOR_TABLE1 DescriptorTable; |
| 771 |
D3D12_ROOT_CONSTANTS Constants; |
| 772 |
D3D12_ROOT_DESCRIPTOR1 Descriptor; |
| 773 |
}; |
| 774 |
D3D12_SHADER_VISIBILITY ShaderVisibility; |
| 775 |
} D3D12_ROOT_PARAMETER1; |
| 776 |
|
| 777 |
typedef enum D3D12_STATIC_BORDER_COLOR |
| 778 |
{ |
| 779 |
D3D12_STATIC_BORDER_COLOR_TRANSPARENT_BLACK = 0, |
| 780 |
D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK = 1, |
| 781 |
D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE = 2, |
| 782 |
} D3D12_STATIC_BORDER_COLOR; |
| 783 |
|
| 784 |
typedef enum D3D12_FILTER |
| 785 |
{ |
| 786 |
D3D12_FILTER_MIN_MAG_MIP_POINT = 0x00, |
| 787 |
D3D12_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x01, |
| 788 |
D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x04, |
| 789 |
D3D12_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x05, |
| 790 |
D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10, |
| 791 |
D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11, |
| 792 |
D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14, |
| 793 |
D3D12_FILTER_MIN_MAG_MIP_LINEAR = 0x15, |
| 794 |
D3D12_FILTER_ANISOTROPIC = 0x55, |
| 795 |
D3D12_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80, |
| 796 |
D3D12_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81, |
| 797 |
D3D12_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84, |
| 798 |
D3D12_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85, |
| 799 |
D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90, |
| 800 |
D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91, |
| 801 |
D3D12_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94, |
| 802 |
D3D12_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95, |
| 803 |
D3D12_FILTER_COMPARISON_ANISOTROPIC = 0xd5, |
| 804 |
D3D12_FILTER_MINIMUM_MIN_MAG_MIP_POINT = 0x100, |
| 805 |
D3D12_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x101, |
| 806 |
D3D12_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x104, |
| 807 |
D3D12_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x105, |
| 808 |
D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x110, |
| 809 |
D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x111, |
| 810 |
D3D12_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x114, |
| 811 |
D3D12_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR = 0x115, |
| 812 |
D3D12_FILTER_MINIMUM_ANISOTROPIC = 0x155, |
| 813 |
D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_POINT = 0x180, |
| 814 |
D3D12_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x181, |
| 815 |
D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x184, |
| 816 |
D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x185, |
| 817 |
D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x190, |
| 818 |
D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x191, |
| 819 |
D3D12_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x194, |
| 820 |
D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR = 0x195, |
| 821 |
D3D12_FILTER_MAXIMUM_ANISOTROPIC = 0x1d5, |
| 822 |
} D3D12_FILTER; |
| 823 |
|
| 824 |
typedef enum D3D12_FILTER_TYPE |
| 825 |
{ |
| 826 |
D3D12_FILTER_TYPE_POINT = 0, |
| 827 |
D3D12_FILTER_TYPE_LINEAR = 1, |
| 828 |
} D3D12_FILTER_TYPE; |
| 829 |
|
| 830 |
const UINT D3D12_MIP_FILTER_SHIFT = 0; |
| 831 |
const UINT D3D12_MAG_FILTER_SHIFT = 2; |
| 832 |
const UINT D3D12_MIN_FILTER_SHIFT = 4; |
| 833 |
const UINT D3D12_FILTER_TYPE_MASK = 0x3; |
| 834 |
|
| 835 |
const UINT D3D12_ANISOTROPIC_FILTERING_BIT = 0x40; |
| 836 |
|
| 837 |
typedef enum D3D12_FILTER_REDUCTION_TYPE |
| 838 |
{ |
| 839 |
D3D12_FILTER_REDUCTION_TYPE_STANDARD = 0, |
| 840 |
D3D12_FILTER_REDUCTION_TYPE_COMPARISON = 1, |
| 841 |
D3D12_FILTER_REDUCTION_TYPE_MINIMUM = 2, |
| 842 |
D3D12_FILTER_REDUCTION_TYPE_MAXIMUM = 3, |
| 843 |
} D3D12_FILTER_REDUCTION_TYPE; |
| 844 |
|
| 845 |
const UINT D3D12_FILTER_REDUCTION_TYPE_MASK = 0x3; |
| 846 |
const UINT D3D12_FILTER_REDUCTION_TYPE_SHIFT = 7; |
| 847 |
|
| 848 |
cpp_quote("#define D3D12_DECODE_MAG_FILTER(filter) \\") |
| 849 |
cpp_quote(" ((D3D12_FILTER_TYPE)(((filter) >> D3D12_MAG_FILTER_SHIFT) & D3D12_FILTER_TYPE_MASK))") |
| 850 |
|
| 851 |
cpp_quote("#define D3D12_DECODE_MIN_FILTER(filter) \\") |
| 852 |
cpp_quote(" ((D3D12_FILTER_TYPE)(((filter) >> D3D12_MIN_FILTER_SHIFT) & D3D12_FILTER_TYPE_MASK))") |
| 853 |
|
| 854 |
cpp_quote("#define D3D12_DECODE_MIP_FILTER(filter) \\") |
| 855 |
cpp_quote(" ((D3D12_FILTER_TYPE)(((filter) >> D3D12_MIP_FILTER_SHIFT) & D3D12_FILTER_TYPE_MASK))") |
| 856 |
|
| 857 |
cpp_quote("#define D3D12_DECODE_IS_ANISOTROPIC_FILTER(filter) \\") |
| 858 |
cpp_quote(" (((filter) & D3D12_ANISOTROPIC_FILTERING_BIT) \\") |
| 859 |
cpp_quote(" && (D3D12_DECODE_MIN_FILTER(filter) == D3D12_FILTER_TYPE_LINEAR) \\") |
| 860 |
cpp_quote(" && (D3D12_DECODE_MAG_FILTER(filter) == D3D12_FILTER_TYPE_LINEAR) \\") |
| 861 |
cpp_quote(" && (D3D12_DECODE_MIP_FILTER(filter) == D3D12_FILTER_TYPE_LINEAR))") |
| 862 |
|
| 863 |
cpp_quote("#define D3D12_DECODE_FILTER_REDUCTION(filter) \\") |
| 864 |
cpp_quote(" ((D3D12_FILTER_REDUCTION_TYPE)(((filter) >> D3D12_FILTER_REDUCTION_TYPE_SHIFT) \\") |
| 865 |
cpp_quote(" & D3D12_FILTER_REDUCTION_TYPE_MASK))") |
| 866 |
|
| 867 |
cpp_quote("#define D3D12_DECODE_IS_COMPARISON_FILTER(filter) \\") |
| 868 |
cpp_quote(" (D3D12_DECODE_FILTER_REDUCTION(filter) == D3D12_FILTER_REDUCTION_TYPE_COMPARISON)") |
| 869 |
|
| 870 |
typedef enum D3D12_TEXTURE_ADDRESS_MODE |
| 871 |
{ |
| 872 |
D3D12_TEXTURE_ADDRESS_MODE_WRAP = 1, |
| 873 |
D3D12_TEXTURE_ADDRESS_MODE_MIRROR = 2, |
| 874 |
D3D12_TEXTURE_ADDRESS_MODE_CLAMP = 3, |
| 875 |
D3D12_TEXTURE_ADDRESS_MODE_BORDER = 4, |
| 876 |
D3D12_TEXTURE_ADDRESS_MODE_MIRROR_ONCE = 5, |
| 877 |
} D3D12_TEXTURE_ADDRESS_MODE; |
| 878 |
|
| 879 |
typedef enum D3D12_COMPARISON_FUNC |
| 880 |
{ |
| 881 |
D3D12_COMPARISON_FUNC_NEVER = 1, |
| 882 |
D3D12_COMPARISON_FUNC_LESS = 2, |
| 883 |
D3D12_COMPARISON_FUNC_EQUAL = 3, |
| 884 |
D3D12_COMPARISON_FUNC_LESS_EQUAL = 4, |
| 885 |
D3D12_COMPARISON_FUNC_GREATER = 5, |
| 886 |
D3D12_COMPARISON_FUNC_NOT_EQUAL = 6, |
| 887 |
D3D12_COMPARISON_FUNC_GREATER_EQUAL = 7, |
| 888 |
D3D12_COMPARISON_FUNC_ALWAYS = 8, |
| 889 |
} D3D12_COMPARISON_FUNC; |
| 890 |
|
| 891 |
typedef struct D3D12_STATIC_SAMPLER_DESC |
| 892 |
{ |
| 893 |
D3D12_FILTER Filter; |
| 894 |
D3D12_TEXTURE_ADDRESS_MODE AddressU; |
| 895 |
D3D12_TEXTURE_ADDRESS_MODE AddressV; |
| 896 |
D3D12_TEXTURE_ADDRESS_MODE AddressW; |
| 897 |
FLOAT MipLODBias; |
| 898 |
UINT MaxAnisotropy; |
| 899 |
D3D12_COMPARISON_FUNC ComparisonFunc; |
| 900 |
D3D12_STATIC_BORDER_COLOR BorderColor; |
| 901 |
FLOAT MinLOD; |
| 902 |
FLOAT MaxLOD; |
| 903 |
UINT ShaderRegister; |
| 904 |
UINT RegisterSpace; |
| 905 |
D3D12_SHADER_VISIBILITY ShaderVisibility; |
| 906 |
} D3D12_STATIC_SAMPLER_DESC; |
| 907 |
|
| 908 |
typedef enum D3D12_ROOT_SIGNATURE_FLAGS |
| 909 |
{ |
| 910 |
D3D12_ROOT_SIGNATURE_FLAG_NONE = 0x00, |
| 911 |
D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT = 0x01, |
| 912 |
D3D12_ROOT_SIGNATURE_FLAG_DENY_VERTEX_SHADER_ROOT_ACCESS = 0x02, |
| 913 |
D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS = 0x04, |
| 914 |
D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS = 0x08, |
| 915 |
D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS = 0x10, |
| 916 |
D3D12_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS = 0x20, |
| 917 |
D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT = 0x40, |
| 918 |
} D3D12_ROOT_SIGNATURE_FLAGS; |
| 919 |
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_ROOT_SIGNATURE_FLAGS);") |
| 920 |
|
| 921 |
typedef struct D3D12_ROOT_SIGNATURE_DESC |
| 922 |
{ |
| 923 |
UINT NumParameters; |
| 924 |
const D3D12_ROOT_PARAMETER *pParameters; |
| 925 |
UINT NumStaticSamplers; |
| 926 |
const D3D12_STATIC_SAMPLER_DESC *pStaticSamplers; |
| 927 |
D3D12_ROOT_SIGNATURE_FLAGS Flags; |
| 928 |
} D3D12_ROOT_SIGNATURE_DESC; |
| 929 |
|
| 930 |
typedef struct D3D12_ROOT_SIGNATURE_DESC1 |
| 931 |
{ |
| 932 |
UINT NumParameters; |
| 933 |
const D3D12_ROOT_PARAMETER1 *pParameters; |
| 934 |
UINT NumStaticSamplers; |
| 935 |
const D3D12_STATIC_SAMPLER_DESC *pStaticSamplers; |
| 936 |
D3D12_ROOT_SIGNATURE_FLAGS Flags; |
| 937 |
} D3D12_ROOT_SIGNATURE_DESC1; |
| 938 |
|
| 939 |
typedef enum D3D_ROOT_SIGNATURE_VERSION |
| 940 |
{ |
| 941 |
D3D_ROOT_SIGNATURE_VERSION_1 = 0x1, |
| 942 |
D3D_ROOT_SIGNATURE_VERSION_1_0 = 0x1, |
| 943 |
D3D_ROOT_SIGNATURE_VERSION_1_1 = 0x2, |
| 944 |
} D3D_ROOT_SIGNATURE_VERSION; |
| 945 |
|
| 946 |
typedef struct D3D12_VERSIONED_ROOT_SIGNATURE_DESC |
| 947 |
{ |
| 948 |
D3D_ROOT_SIGNATURE_VERSION Version; |
| 949 |
union |
| 950 |
{ |
| 951 |
D3D12_ROOT_SIGNATURE_DESC Desc_1_0; |
| 952 |
D3D12_ROOT_SIGNATURE_DESC1 Desc_1_1; |
| 953 |
}; |
| 954 |
} D3D12_VERSIONED_ROOT_SIGNATURE_DESC; |
| 955 |
|
| 956 |
typedef enum D3D12_DESCRIPTOR_HEAP_TYPE |
| 957 |
{ |
| 958 |
D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV, |
| 959 |
D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER, |
| 960 |
D3D12_DESCRIPTOR_HEAP_TYPE_RTV, |
| 961 |
D3D12_DESCRIPTOR_HEAP_TYPE_DSV, |
| 962 |
D3D12_DESCRIPTOR_HEAP_TYPE_NUM_TYPES, |
| 963 |
} D3D12_DESCRIPTOR_HEAP_TYPE; |
| 964 |
|
| 965 |
typedef enum D3D12_DESCRIPTOR_HEAP_FLAGS |
| 966 |
{ |
| 967 |
D3D12_DESCRIPTOR_HEAP_FLAG_NONE = 0x0, |
| 968 |
D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE = 0x1, |
| 969 |
} D3D12_DESCRIPTOR_HEAP_FLAGS; |
| 970 |
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_DESCRIPTOR_HEAP_FLAGS);") |
| 971 |
|
| 972 |
typedef struct D3D12_DESCRIPTOR_HEAP_DESC |
| 973 |
{ |
| 974 |
D3D12_DESCRIPTOR_HEAP_TYPE Type; |
| 975 |
UINT NumDescriptors; |
| 976 |
D3D12_DESCRIPTOR_HEAP_FLAGS Flags; |
| 977 |
UINT NodeMask; |
| 978 |
} D3D12_DESCRIPTOR_HEAP_DESC; |
| 979 |
|
| 980 |
typedef UINT64 D3D12_GPU_VIRTUAL_ADDRESS; |
| 981 |
|
| 982 |
typedef struct D3D12_CONSTANT_BUFFER_VIEW_DESC |
| 983 |
{ |
| 984 |
D3D12_GPU_VIRTUAL_ADDRESS BufferLocation; |
| 985 |
UINT SizeInBytes; |
| 986 |
} D3D12_CONSTANT_BUFFER_VIEW_DESC; |
| 987 |
|
| 988 |
typedef enum D3D12_SRV_DIMENSION |
| 989 |
{ |
| 990 |
D3D12_SRV_DIMENSION_UNKNOWN = 0, |
| 991 |
D3D12_SRV_DIMENSION_BUFFER = 1, |
| 992 |
D3D12_SRV_DIMENSION_TEXTURE1D = 2, |
| 993 |
D3D12_SRV_DIMENSION_TEXTURE1DARRAY = 3, |
| 994 |
D3D12_SRV_DIMENSION_TEXTURE2D = 4, |
| 995 |
D3D12_SRV_DIMENSION_TEXTURE2DARRAY = 5, |
| 996 |
D3D12_SRV_DIMENSION_TEXTURE2DMS = 6, |
| 997 |
D3D12_SRV_DIMENSION_TEXTURE2DMSARRAY = 7, |
| 998 |
D3D12_SRV_DIMENSION_TEXTURE3D = 8, |
| 999 |
D3D12_SRV_DIMENSION_TEXTURECUBE = 9, |
| 1000 |
D3D12_SRV_DIMENSION_TEXTURECUBEARRAY = 10, |
| 1001 |
} D3D12_SRV_DIMENSION; |
| 1002 |
|
| 1003 |
typedef enum D3D12_BUFFER_SRV_FLAGS |
| 1004 |
{ |
| 1005 |
D3D12_BUFFER_SRV_FLAG_NONE = 0x0, |
| 1006 |
D3D12_BUFFER_SRV_FLAG_RAW = 0x1, |
| 1007 |
} D3D12_BUFFER_SRV_FLAGS; |
| 1008 |
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_BUFFER_SRV_FLAGS);") |
| 1009 |
|
| 1010 |
typedef enum D3D12_SHADER_COMPONENT_MAPPING |
| 1011 |
{ |
| 1012 |
D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_0 = 0, |
| 1013 |
D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_1 = 1, |
| 1014 |
D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_2 = 2, |
| 1015 |
D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_3 = 3, |
| 1016 |
D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_0 = 4, |
| 1017 |
D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_1 = 5, |
| 1018 |
} D3D12_SHADER_COMPONENT_MAPPING; |
| 1019 |
|
| 1020 |
cpp_quote("#define D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING(x, y, z, w) \\") |
| 1021 |
cpp_quote(" (((x) & D3D12_SHADER_COMPONENT_MAPPING_MASK) \\") |
| 1022 |
cpp_quote(" | (((y) & D3D12_SHADER_COMPONENT_MAPPING_MASK) << D3D12_SHADER_COMPONENT_MAPPING_SHIFT) \\") |
| 1023 |
cpp_quote(" | (((z) & D3D12_SHADER_COMPONENT_MAPPING_MASK) << (D3D12_SHADER_COMPONENT_MAPPING_SHIFT * 2)) \\") |
| 1024 |
cpp_quote(" | (((w) & D3D12_SHADER_COMPONENT_MAPPING_MASK) << (D3D12_SHADER_COMPONENT_MAPPING_SHIFT * 3)) \\") |
| 1025 |
cpp_quote(" | D3D12_SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES)") |
| 1026 |
cpp_quote("#define D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING(0, 1, 2, 3)") |
| 1027 |
|
| 1028 |
cpp_quote("#define D3D12_DECODE_SHADER_4_COMPONENT_MAPPING(i, mapping) \\") |
| 1029 |
cpp_quote(" ((D3D12_SHADER_COMPONENT_MAPPING)(mapping >> (i * D3D12_SHADER_COMPONENT_MAPPING_SHIFT) \\") |
| 1030 |
cpp_quote(" & D3D12_SHADER_COMPONENT_MAPPING_MASK))") |
| 1031 |
|
| 1032 |
typedef struct D3D12_BUFFER_SRV |
| 1033 |
{ |
| 1034 |
UINT64 FirstElement; |
| 1035 |
UINT NumElements; |
| 1036 |
UINT StructureByteStride; |
| 1037 |
D3D12_BUFFER_SRV_FLAGS Flags; |
| 1038 |
} D3D12_BUFFER_SRV; |
| 1039 |
|
| 1040 |
typedef struct D3D12_TEX1D_SRV |
| 1041 |
{ |
| 1042 |
UINT MostDetailedMip; |
| 1043 |
UINT MipLevels; |
| 1044 |
FLOAT ResourceMinLODClamp; |
| 1045 |
} D3D12_TEX1D_SRV; |
| 1046 |
|
| 1047 |
typedef struct D3D12_TEX1D_ARRAY_SRV |
| 1048 |
{ |
| 1049 |
UINT MostDetailedMip; |
| 1050 |
UINT MipLevels; |
| 1051 |
UINT FirstArraySlice; |
| 1052 |
UINT ArraySize; |
| 1053 |
FLOAT ResourceMinLODClamp; |
| 1054 |
} D3D12_TEX1D_ARRAY_SRV; |
| 1055 |
|
| 1056 |
typedef struct D3D12_TEX2D_SRV |
| 1057 |
{ |
| 1058 |
UINT MostDetailedMip; |
| 1059 |
UINT MipLevels; |
| 1060 |
UINT PlaneSlice; |
| 1061 |
FLOAT ResourceMinLODClamp; |
| 1062 |
} D3D12_TEX2D_SRV; |
| 1063 |
|
| 1064 |
typedef struct D3D12_TEX2D_ARRAY_SRV |
| 1065 |
{ |
| 1066 |
UINT MostDetailedMip; |
| 1067 |
UINT MipLevels; |
| 1068 |
UINT FirstArraySlice; |
| 1069 |
UINT ArraySize; |
| 1070 |
UINT PlaneSlice; |
| 1071 |
FLOAT ResourceMinLODClamp; |
| 1072 |
} D3D12_TEX2D_ARRAY_SRV; |
| 1073 |
|
| 1074 |
typedef struct D3D12_TEX2DMS_SRV |
| 1075 |
{ |
| 1076 |
UINT UnusedField_NothingToDefine; |
| 1077 |
} D3D12_TEX2DMS_SRV; |
| 1078 |
|
| 1079 |
typedef struct D3D12_TEX2DMS_ARRAY_SRV |
| 1080 |
{ |
| 1081 |
UINT FirstArraySlice; |
| 1082 |
UINT ArraySize; |
| 1083 |
} D3D12_TEX2DMS_ARRAY_SRV; |
| 1084 |
|
| 1085 |
typedef struct D3D12_TEX3D_SRV |
| 1086 |
{ |
| 1087 |
UINT MostDetailedMip; |
| 1088 |
UINT MipLevels; |
| 1089 |
FLOAT ResourceMinLODClamp; |
| 1090 |
} D3D12_TEX3D_SRV; |
| 1091 |
|
| 1092 |
typedef struct D3D12_TEXCUBE_SRV |
| 1093 |
{ |
| 1094 |
UINT MostDetailedMip; |
| 1095 |
UINT MipLevels; |
| 1096 |
FLOAT ResourceMinLODClamp; |
| 1097 |
} D3D12_TEXCUBE_SRV; |
| 1098 |
|
| 1099 |
typedef struct D3D12_TEXCUBE_ARRAY_SRV |
| 1100 |
{ |
| 1101 |
UINT MostDetailedMip; |
| 1102 |
UINT MipLevels; |
| 1103 |
UINT First2DArrayFace; |
| 1104 |
UINT NumCubes; |
| 1105 |
FLOAT ResourceMinLODClamp; |
| 1106 |
} D3D12_TEXCUBE_ARRAY_SRV; |
| 1107 |
|
| 1108 |
typedef struct D3D12_SHADER_RESOURCE_VIEW_DESC |
| 1109 |
{ |
| 1110 |
DXGI_FORMAT Format; |
| 1111 |
D3D12_SRV_DIMENSION ViewDimension; |
| 1112 |
UINT Shader4ComponentMapping; |
| 1113 |
union |
| 1114 |
{ |
| 1115 |
D3D12_BUFFER_SRV Buffer; |
| 1116 |
D3D12_TEX1D_SRV Texture1D; |
| 1117 |
D3D12_TEX1D_ARRAY_SRV Texture1DArray; |
| 1118 |
D3D12_TEX2D_SRV Texture2D; |
| 1119 |
D3D12_TEX2D_ARRAY_SRV Texture2DArray; |
| 1120 |
D3D12_TEX2DMS_SRV Texture2DMS; |
| 1121 |
D3D12_TEX2DMS_ARRAY_SRV Texture2DMSArray; |
| 1122 |
D3D12_TEX3D_SRV Texture3D; |
| 1123 |
D3D12_TEXCUBE_SRV TextureCube; |
| 1124 |
D3D12_TEXCUBE_ARRAY_SRV TextureCubeArray; |
| 1125 |
}; |
| 1126 |
} D3D12_SHADER_RESOURCE_VIEW_DESC; |
| 1127 |
|
| 1128 |
typedef enum D3D12_UAV_DIMENSION |
| 1129 |
{ |
| 1130 |
D3D12_UAV_DIMENSION_UNKNOWN = 0, |
| 1131 |
D3D12_UAV_DIMENSION_BUFFER = 1, |
| 1132 |
D3D12_UAV_DIMENSION_TEXTURE1D = 2, |
| 1133 |
D3D12_UAV_DIMENSION_TEXTURE1DARRAY = 3, |
| 1134 |
D3D12_UAV_DIMENSION_TEXTURE2D = 4, |
| 1135 |
D3D12_UAV_DIMENSION_TEXTURE2DARRAY = 5, |
| 1136 |
D3D12_UAV_DIMENSION_TEXTURE3D = 8, |
| 1137 |
} D3D12_UAV_DIMENSION; |
| 1138 |
|
| 1139 |
typedef enum D3D12_BUFFER_UAV_FLAGS |
| 1140 |
{ |
| 1141 |
D3D12_BUFFER_UAV_FLAG_NONE = 0x0, |
| 1142 |
D3D12_BUFFER_UAV_FLAG_RAW = 0x1, |
| 1143 |
} D3D12_BUFFER_UAV_FLAGS; |
| 1144 |
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_BUFFER_UAV_FLAGS);") |
| 1145 |
|
| 1146 |
typedef struct D3D12_BUFFER_UAV |
| 1147 |
{ |
| 1148 |
UINT64 FirstElement; |
| 1149 |
UINT NumElements; |
| 1150 |
UINT StructureByteStride; |
| 1151 |
UINT64 CounterOffsetInBytes; |
| 1152 |
D3D12_BUFFER_UAV_FLAGS Flags; |
| 1153 |
} D3D12_BUFFER_UAV; |
| 1154 |
|
| 1155 |
typedef struct D3D12_TEX1D_UAV |
| 1156 |
{ |
| 1157 |
UINT MipSlice; |
| 1158 |
} D3D12_TEX1D_UAV; |
| 1159 |
|
| 1160 |
typedef struct D3D12_TEX1D_ARRAY_UAV |
| 1161 |
{ |
| 1162 |
UINT MipSlice; |
| 1163 |
UINT FirstArraySlice; |
| 1164 |
UINT ArraySize; |
| 1165 |
} D3D12_TEX1D_ARRAY_UAV; |
| 1166 |
|
| 1167 |
typedef struct D3D12_TEX2D_UAV |
| 1168 |
{ |
| 1169 |
UINT MipSlice; |
| 1170 |
UINT PlaneSlice; |
| 1171 |
} D3D12_TEX2D_UAV; |
| 1172 |
|
| 1173 |
typedef struct D3D12_TEX2D_ARRAY_UAV |
| 1174 |
{ |
| 1175 |
UINT MipSlice; |
| 1176 |
UINT FirstArraySlice; |
| 1177 |
UINT ArraySize; |
| 1178 |
UINT PlaneSlice; |
| 1179 |
} D3D12_TEX2D_ARRAY_UAV; |
| 1180 |
|
| 1181 |
typedef struct D3D12_TEX3D_UAV |
| 1182 |
{ |
| 1183 |
UINT MipSlice; |
| 1184 |
UINT FirstWSlice; |
| 1185 |
UINT WSize; |
| 1186 |
} D3D12_TEX3D_UAV; |
| 1187 |
|
| 1188 |
typedef struct D3D12_UNORDERED_ACCESS_VIEW_DESC |
| 1189 |
{ |
| 1190 |
DXGI_FORMAT Format; |
| 1191 |
D3D12_UAV_DIMENSION ViewDimension; |
| 1192 |
union |
| 1193 |
{ |
| 1194 |
D3D12_BUFFER_UAV Buffer; |
| 1195 |
D3D12_TEX1D_UAV Texture1D; |
| 1196 |
D3D12_TEX1D_ARRAY_UAV Texture1DArray; |
| 1197 |
D3D12_TEX2D_UAV Texture2D; |
| 1198 |
D3D12_TEX2D_ARRAY_UAV Texture2DArray; |
| 1199 |
D3D12_TEX3D_UAV Texture3D; |
| 1200 |
}; |
| 1201 |
} D3D12_UNORDERED_ACCESS_VIEW_DESC; |
| 1202 |
|
| 1203 |
typedef enum D3D12_RTV_DIMENSION |
| 1204 |
{ |
| 1205 |
D3D12_RTV_DIMENSION_UNKNOWN = 0, |
| 1206 |
D3D12_RTV_DIMENSION_BUFFER = 1, |
| 1207 |
D3D12_RTV_DIMENSION_TEXTURE1D = 2, |
| 1208 |
D3D12_RTV_DIMENSION_TEXTURE1DARRAY = 3, |
| 1209 |
D3D12_RTV_DIMENSION_TEXTURE2D = 4, |
| 1210 |
D3D12_RTV_DIMENSION_TEXTURE2DARRAY = 5, |
| 1211 |
D3D12_RTV_DIMENSION_TEXTURE2DMS = 6, |
| 1212 |
D3D12_RTV_DIMENSION_TEXTURE2DMSARRAY = 7, |
| 1213 |
D3D12_RTV_DIMENSION_TEXTURE3D = 8, |
| 1214 |
} D3D12_RTV_DIMENSION; |
| 1215 |
|
| 1216 |
typedef struct D3D12_BUFFER_RTV |
| 1217 |
{ |
| 1218 |
UINT64 FirstElement; |
| 1219 |
UINT NumElements; |
| 1220 |
} D3D12_BUFFER_RTV; |
| 1221 |
|
| 1222 |
typedef struct D3D12_TEX1D_RTV |
| 1223 |
{ |
| 1224 |
UINT MipSlice; |
| 1225 |
} D3D12_TEX1D_RTV; |
| 1226 |
|
| 1227 |
typedef struct D3D12_TEX1D_ARRAY_RTV |
| 1228 |
{ |
| 1229 |
UINT MipSlice; |
| 1230 |
UINT FirstArraySlice; |
| 1231 |
UINT ArraySize; |
| 1232 |
} D3D12_TEX1D_ARRAY_RTV; |
| 1233 |
|
| 1234 |
typedef struct D3D12_TEX2D_RTV |
| 1235 |
{ |
| 1236 |
UINT MipSlice; |
| 1237 |
UINT PlaneSlice; |
| 1238 |
} D3D12_TEX2D_RTV; |
| 1239 |
|
| 1240 |
typedef struct D3D12_TEX2D_ARRAY_RTV |
| 1241 |
{ |
| 1242 |
UINT MipSlice; |
| 1243 |
UINT FirstArraySlice; |
| 1244 |
UINT ArraySize; |
| 1245 |
UINT PlaneSlice; |
| 1246 |
} D3D12_TEX2D_ARRAY_RTV; |
| 1247 |
|
| 1248 |
typedef struct D3D12_TEX2DMS_RTV |
| 1249 |
{ |
| 1250 |
UINT UnusedField_NothingToDefine; |
| 1251 |
} D3D12_TEX2DMS_RTV; |
| 1252 |
|
| 1253 |
typedef struct D3D12_TEX2DMS_ARRAY_RTV |
| 1254 |
{ |
| 1255 |
UINT FirstArraySlice; |
| 1256 |
UINT ArraySize; |
| 1257 |
} D3D12_TEX2DMS_ARRAY_RTV; |
| 1258 |
|
| 1259 |
typedef struct D3D12_TEX3D_RTV |
| 1260 |
{ |
| 1261 |
UINT MipSlice; |
| 1262 |
UINT FirstWSlice; |
| 1263 |
UINT WSize; |
| 1264 |
} D3D12_TEX3D_RTV; |
| 1265 |
|
| 1266 |
typedef struct D3D12_RENDER_TARGET_VIEW_DESC |
| 1267 |
{ |
| 1268 |
DXGI_FORMAT Format; |
| 1269 |
D3D12_RTV_DIMENSION ViewDimension; |
| 1270 |
union |
| 1271 |
{ |
| 1272 |
D3D12_BUFFER_RTV Buffer; |
| 1273 |
D3D12_TEX1D_RTV Texture1D; |
| 1274 |
D3D12_TEX1D_ARRAY_RTV Texture1DArray; |
| 1275 |
D3D12_TEX2D_RTV Texture2D; |
| 1276 |
D3D12_TEX2D_ARRAY_RTV Texture2DArray; |
| 1277 |
D3D12_TEX2DMS_RTV Texture2DMS; |
| 1278 |
D3D12_TEX2DMS_ARRAY_RTV Texture2DMSArray; |
| 1279 |
D3D12_TEX3D_RTV Texture3D; |
| 1280 |
}; |
| 1281 |
} D3D12_RENDER_TARGET_VIEW_DESC; |
| 1282 |
|
| 1283 |
typedef enum D3D12_DSV_DIMENSION |
| 1284 |
{ |
| 1285 |
D3D12_DSV_DIMENSION_UNKNOWN = 0, |
| 1286 |
D3D12_DSV_DIMENSION_TEXTURE1D = 1, |
| 1287 |
D3D12_DSV_DIMENSION_TEXTURE1DARRAY = 2, |
| 1288 |
D3D12_DSV_DIMENSION_TEXTURE2D = 3, |
| 1289 |
D3D12_DSV_DIMENSION_TEXTURE2DARRAY = 4, |
| 1290 |
D3D12_DSV_DIMENSION_TEXTURE2DMS = 5, |
| 1291 |
D3D12_DSV_DIMENSION_TEXTURE2DMSARRAY = 6, |
| 1292 |
} D3D12_DSV_DIMENSION; |
| 1293 |
|
| 1294 |
typedef enum D3D12_DSV_FLAGS |
| 1295 |
{ |
| 1296 |
D3D12_DSV_FLAG_NONE = 0x0, |
| 1297 |
D3D12_DSV_FLAG_READ_ONLY_DEPTH = 0x1, |
| 1298 |
D3D12_DSV_FLAG_READ_ONLY_STENCIL = 0x2, |
| 1299 |
} D3D12_DSV_FLAGS; |
| 1300 |
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_DSV_FLAGS);") |
| 1301 |
|
| 1302 |
typedef struct D3D12_TEX1D_DSV |
| 1303 |
{ |
| 1304 |
UINT MipSlice; |
| 1305 |
} D3D12_TEX1D_DSV; |
| 1306 |
|
| 1307 |
typedef struct D3D12_TEX1D_ARRAY_DSV |
| 1308 |
{ |
| 1309 |
UINT MipSlice; |
| 1310 |
UINT FirstArraySlice; |
| 1311 |
UINT ArraySize; |
| 1312 |
} D3D12_TEX1D_ARRAY_DSV; |
| 1313 |
|
| 1314 |
typedef struct D3D12_TEX2D_DSV |
| 1315 |
{ |
| 1316 |
UINT MipSlice; |
| 1317 |
} D3D12_TEX2D_DSV; |
| 1318 |
|
| 1319 |
typedef struct D3D12_TEX2D_ARRAY_DSV |
| 1320 |
{ |
| 1321 |
UINT MipSlice; |
| 1322 |
UINT FirstArraySlice; |
| 1323 |
UINT ArraySize; |
| 1324 |
} D3D12_TEX2D_ARRAY_DSV; |
| 1325 |
|
| 1326 |
typedef struct D3D12_TEX2DMS_DSV |
| 1327 |
{ |
| 1328 |
UINT UnusedField_NothingToDefine; |
| 1329 |
} D3D12_TEX2DMS_DSV; |
| 1330 |
|
| 1331 |
typedef struct D3D12_TEX2DMS_ARRAY_DSV |
| 1332 |
{ |
| 1333 |
UINT FirstArraySlice; |
| 1334 |
UINT ArraySize; |
| 1335 |
} D3D12_TEX2DMS_ARRAY_DSV; |
| 1336 |
|
| 1337 |
typedef struct D3D12_DEPTH_STENCIL_VIEW_DESC |
| 1338 |
{ |
| 1339 |
DXGI_FORMAT Format; |
| 1340 |
D3D12_DSV_DIMENSION ViewDimension; |
| 1341 |
D3D12_DSV_FLAGS Flags; |
| 1342 |
union |
| 1343 |
{ |
| 1344 |
D3D12_TEX1D_DSV Texture1D; |
| 1345 |
D3D12_TEX1D_ARRAY_DSV Texture1DArray; |
| 1346 |
D3D12_TEX2D_DSV Texture2D; |
| 1347 |
D3D12_TEX2D_ARRAY_DSV Texture2DArray; |
| 1348 |
D3D12_TEX2DMS_DSV Texture2DMS; |
| 1349 |
D3D12_TEX2DMS_ARRAY_DSV Texture2DMSArray; |
| 1350 |
}; |
| 1351 |
} D3D12_DEPTH_STENCIL_VIEW_DESC; |
| 1352 |
|
| 1353 |
typedef struct D3D12_SAMPLER_DESC |
| 1354 |
{ |
| 1355 |
D3D12_FILTER Filter; |
| 1356 |
D3D12_TEXTURE_ADDRESS_MODE AddressU; |
| 1357 |
D3D12_TEXTURE_ADDRESS_MODE AddressV; |
| 1358 |
D3D12_TEXTURE_ADDRESS_MODE AddressW; |
| 1359 |
FLOAT MipLODBias; |
| 1360 |
UINT MaxAnisotropy; |
| 1361 |
D3D12_COMPARISON_FUNC ComparisonFunc; |
| 1362 |
FLOAT BorderColor[4]; |
| 1363 |
FLOAT MinLOD; |
| 1364 |
FLOAT MaxLOD; |
| 1365 |
} D3D12_SAMPLER_DESC; |
| 1366 |
|
| 1367 |
typedef struct D3D12_CPU_DESCRIPTOR_HANDLE |
| 1368 |
{ |
| 1369 |
SIZE_T ptr; |
| 1370 |
} D3D12_CPU_DESCRIPTOR_HANDLE; |
| 1371 |
|
| 1372 |
typedef struct D3D12_GPU_DESCRIPTOR_HANDLE |
| 1373 |
{ |
| 1374 |
UINT64 ptr; |
| 1375 |
} D3D12_GPU_DESCRIPTOR_HANDLE; |
| 1376 |
|
| 1377 |
typedef enum D3D12_STENCIL_OP |
| 1378 |
{ |
| 1379 |
D3D12_STENCIL_OP_KEEP = 1, |
| 1380 |
D3D12_STENCIL_OP_ZERO = 2, |
| 1381 |
D3D12_STENCIL_OP_REPLACE = 3, |
| 1382 |
D3D12_STENCIL_OP_INCR_SAT = 4, |
| 1383 |
D3D12_STENCIL_OP_DECR_SAT = 5, |
| 1384 |
D3D12_STENCIL_OP_INVERT = 6, |
| 1385 |
D3D12_STENCIL_OP_INCR = 7, |
| 1386 |
D3D12_STENCIL_OP_DECR = 8, |
| 1387 |
} D3D12_STENCIL_OP; |
| 1388 |
|
| 1389 |
typedef struct D3D12_DEPTH_STENCILOP_DESC |
| 1390 |
{ |
| 1391 |
D3D12_STENCIL_OP StencilFailOp; |
| 1392 |
D3D12_STENCIL_OP StencilDepthFailOp; |
| 1393 |
D3D12_STENCIL_OP StencilPassOp; |
| 1394 |
D3D12_COMPARISON_FUNC StencilFunc; |
| 1395 |
} D3D12_DEPTH_STENCILOP_DESC; |
| 1396 |
|
| 1397 |
typedef enum D3D12_DEPTH_WRITE_MASK |
| 1398 |
{ |
| 1399 |
D3D12_DEPTH_WRITE_MASK_ZERO = 0, |
| 1400 |
D3D12_DEPTH_WRITE_MASK_ALL = 1, |
| 1401 |
} D3D12_DEPTH_WRITE_MASK; |
| 1402 |
|
| 1403 |
typedef struct D3D12_DEPTH_STENCIL_DESC |
| 1404 |
{ |
| 1405 |
BOOL DepthEnable; |
| 1406 |
D3D12_DEPTH_WRITE_MASK DepthWriteMask; |
| 1407 |
D3D12_COMPARISON_FUNC DepthFunc; |
| 1408 |
BOOL StencilEnable; |
| 1409 |
UINT8 StencilReadMask; |
| 1410 |
UINT8 StencilWriteMask; |
| 1411 |
D3D12_DEPTH_STENCILOP_DESC FrontFace; |
| 1412 |
D3D12_DEPTH_STENCILOP_DESC BackFace; |
| 1413 |
} D3D12_DEPTH_STENCIL_DESC; |
| 1414 |
|
| 1415 |
typedef enum D3D12_BLEND |
| 1416 |
{ |
| 1417 |
D3D12_BLEND_ZERO = 1, |
| 1418 |
D3D12_BLEND_ONE = 2, |
| 1419 |
D3D12_BLEND_SRC_COLOR = 3, |
| 1420 |
D3D12_BLEND_INV_SRC_COLOR = 4, |
| 1421 |
D3D12_BLEND_SRC_ALPHA = 5, |
| 1422 |
D3D12_BLEND_INV_SRC_ALPHA = 6, |
| 1423 |
D3D12_BLEND_DEST_ALPHA = 7, |
| 1424 |
D3D12_BLEND_INV_DEST_ALPHA = 8, |
| 1425 |
D3D12_BLEND_DEST_COLOR = 9, |
| 1426 |
D3D12_BLEND_INV_DEST_COLOR = 10, |
| 1427 |
D3D12_BLEND_SRC_ALPHA_SAT = 11, |
| 1428 |
D3D12_BLEND_BLEND_FACTOR = 14, |
| 1429 |
D3D12_BLEND_INV_BLEND_FACTOR = 15, |
| 1430 |
D3D12_BLEND_SRC1_COLOR = 16, |
| 1431 |
D3D12_BLEND_INV_SRC1_COLOR = 17, |
| 1432 |
D3D12_BLEND_SRC1_ALPHA = 18, |
| 1433 |
D3D12_BLEND_INV_SRC1_ALPHA = 19, |
| 1434 |
} D3D12_BLEND; |
| 1435 |
|
| 1436 |
typedef enum D3D12_BLEND_OP |
| 1437 |
{ |
| 1438 |
D3D12_BLEND_OP_ADD = 1, |
| 1439 |
D3D12_BLEND_OP_SUBTRACT = 2, |
| 1440 |
D3D12_BLEND_OP_REV_SUBTRACT = 3, |
| 1441 |
D3D12_BLEND_OP_MIN = 4, |
| 1442 |
D3D12_BLEND_OP_MAX = 5, |
| 1443 |
} D3D12_BLEND_OP; |
| 1444 |
|
| 1445 |
typedef enum D3D12_LOGIC_OP |
| 1446 |
{ |
| 1447 |
D3D12_LOGIC_OP_CLEAR = 0, |
| 1448 |
D3D12_LOGIC_OP_SET = 1, |
| 1449 |
D3D12_LOGIC_OP_COPY = 2, |
| 1450 |
D3D12_LOGIC_OP_COPY_INVERTED = 3, |
| 1451 |
D3D12_LOGIC_OP_NOOP = 4, |
| 1452 |
} D3D12_LOGIC_OP; |
| 1453 |
|
| 1454 |
typedef enum D3D12_COLOR_WRITE_ENABLE |
| 1455 |
{ |
| 1456 |
D3D12_COLOR_WRITE_ENABLE_RED = 0x1, |
| 1457 |
D3D12_COLOR_WRITE_ENABLE_GREEN = 0x2, |
| 1458 |
D3D12_COLOR_WRITE_ENABLE_BLUE = 0x4, |
| 1459 |
D3D12_COLOR_WRITE_ENABLE_ALPHA = 0x8, |
| 1460 |
D3D12_COLOR_WRITE_ENABLE_ALL = (D3D12_COLOR_WRITE_ENABLE_RED |
| 1461 |
| D3D12_COLOR_WRITE_ENABLE_GREEN | D3D12_COLOR_WRITE_ENABLE_BLUE |
| 1462 |
| D3D12_COLOR_WRITE_ENABLE_ALPHA), |
| 1463 |
} D3D12_COLOR_WRITE_ENABLE; |
| 1464 |
|
| 1465 |
typedef struct D3D12_RENDER_TARGET_BLEND_DESC |
| 1466 |
{ |
| 1467 |
BOOL BlendEnable; |
| 1468 |
BOOL LogicOpEnable; |
| 1469 |
D3D12_BLEND SrcBlend; |
| 1470 |
D3D12_BLEND DestBlend; |
| 1471 |
D3D12_BLEND_OP BlendOp; |
| 1472 |
D3D12_BLEND SrcBlendAlpha; |
| 1473 |
D3D12_BLEND DestBlendAlpha; |
| 1474 |
D3D12_BLEND_OP BlendOpAlpha; |
| 1475 |
D3D12_LOGIC_OP LogicOp; |
| 1476 |
UINT8 RenderTargetWriteMask; |
| 1477 |
} D3D12_RENDER_TARGET_BLEND_DESC; |
| 1478 |
|
| 1479 |
typedef struct D3D12_BLEND_DESC |
| 1480 |
{ |
| 1481 |
BOOL AlphaToCoverageEnable; |
| 1482 |
BOOL IndependentBlendEnable; |
| 1483 |
D3D12_RENDER_TARGET_BLEND_DESC RenderTarget[D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT]; |
| 1484 |
} D3D12_BLEND_DESC; |
| 1485 |
|
| 1486 |
typedef enum D3D12_FILL_MODE |
| 1487 |
{ |
| 1488 |
D3D12_FILL_MODE_WIREFRAME = 2, |
| 1489 |
D3D12_FILL_MODE_SOLID = 3, |
| 1490 |
} D3D12_FILL_MODE; |
| 1491 |
|
| 1492 |
typedef enum D3D12_CULL_MODE |
| 1493 |
{ |
| 1494 |
D3D12_CULL_MODE_NONE = 1, |
| 1495 |
D3D12_CULL_MODE_FRONT = 2, |
| 1496 |
D3D12_CULL_MODE_BACK = 3, |
| 1497 |
} D3D12_CULL_MODE; |
| 1498 |
|
| 1499 |
typedef enum D3D12_CONSERVATIVE_RASTERIZATION_MODE |
| 1500 |
{ |
| 1501 |
D3D12_CONSERVATIVE_RASTERIZATION_MODE_OFF = 0, |
| 1502 |
D3D12_CONSERVATIVE_RASTERIZATION_MODE_ON = 1, |
| 1503 |
} D3D12_CONSERVATIVE_RASTERIZATION_MODE; |
| 1504 |
|
| 1505 |
typedef struct D3D12_RASTERIZER_DESC |
| 1506 |
{ |
| 1507 |
D3D12_FILL_MODE FillMode; |
| 1508 |
D3D12_CULL_MODE CullMode; |
| 1509 |
BOOL FrontCounterClockwise; |
| 1510 |
INT DepthBias; |
| 1511 |
FLOAT DepthBiasClamp; |
| 1512 |
FLOAT SlopeScaledDepthBias; |
| 1513 |
BOOL DepthClipEnable; |
| 1514 |
BOOL MultisampleEnable; |
| 1515 |
BOOL AntialiasedLineEnable; |
| 1516 |
UINT ForcedSampleCount; |
| 1517 |
D3D12_CONSERVATIVE_RASTERIZATION_MODE ConservativeRaster; |
| 1518 |
} D3D12_RASTERIZER_DESC; |
| 1519 |
|
| 1520 |
typedef struct D3D12_SO_DECLARATION_ENTRY |
| 1521 |
{ |
| 1522 |
UINT Stream; |
| 1523 |
const char *SemanticName; |
| 1524 |
UINT SemanticIndex; |
| 1525 |
BYTE StartComponent; |
| 1526 |
BYTE ComponentCount; |
| 1527 |
BYTE OutputSlot; |
| 1528 |
} D3D12_SO_DECLARATION_ENTRY; |
| 1529 |
|
| 1530 |
typedef struct D3D12_STREAM_OUTPUT_DESC |
| 1531 |
{ |
| 1532 |
const D3D12_SO_DECLARATION_ENTRY *pSODeclaration; |
| 1533 |
UINT NumEntries; |
| 1534 |
const UINT *pBufferStrides; |
| 1535 |
UINT NumStrides; |
| 1536 |
UINT RasterizedStream; |
| 1537 |
} D3D12_STREAM_OUTPUT_DESC; |
| 1538 |
|
| 1539 |
typedef enum D3D12_INPUT_CLASSIFICATION |
| 1540 |
{ |
| 1541 |
D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA = 0, |
| 1542 |
D3D12_INPUT_CLASSIFICATION_PER_INSTANCE_DATA = 1, |
| 1543 |
} D3D12_INPUT_CLASSIFICATION; |
| 1544 |
|
| 1545 |
typedef struct D3D12_INPUT_ELEMENT_DESC |
| 1546 |
{ |
| 1547 |
const char *SemanticName; |
| 1548 |
UINT SemanticIndex; |
| 1549 |
DXGI_FORMAT Format; |
| 1550 |
UINT InputSlot; |
| 1551 |
UINT AlignedByteOffset; |
| 1552 |
D3D12_INPUT_CLASSIFICATION InputSlotClass; |
| 1553 |
UINT InstanceDataStepRate; |
| 1554 |
} D3D12_INPUT_ELEMENT_DESC; |
| 1555 |
|
| 1556 |
typedef struct D3D12_INPUT_LAYOUT_DESC |
| 1557 |
{ |
| 1558 |
const D3D12_INPUT_ELEMENT_DESC *pInputElementDescs; |
| 1559 |
UINT NumElements; |
| 1560 |
} D3D12_INPUT_LAYOUT_DESC; |
| 1561 |
|
| 1562 |
typedef enum D3D12_INDEX_BUFFER_STRIP_CUT_VALUE |
| 1563 |
{ |
| 1564 |
D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_DISABLED = 0, |
| 1565 |
D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFF = 1, |
| 1566 |
D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFFFFFF = 2, |
| 1567 |
} D3D12_INDEX_BUFFER_STRIP_CUT_VALUE; |
| 1568 |
|
| 1569 |
typedef D3D_PRIMITIVE_TOPOLOGY D3D12_PRIMITIVE_TOPOLOGY; |
| 1570 |
|
| 1571 |
typedef enum D3D12_PRIMITIVE_TOPOLOGY_TYPE |
| 1572 |
{ |
| 1573 |
D3D12_PRIMITIVE_TOPOLOGY_TYPE_UNDEFINED = 0, |
| 1574 |
D3D12_PRIMITIVE_TOPOLOGY_TYPE_POINT = 1, |
| 1575 |
D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE = 2, |
| 1576 |
D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE = 3, |
| 1577 |
D3D12_PRIMITIVE_TOPOLOGY_TYPE_PATCH = 4, |
| 1578 |
} D3D12_PRIMITIVE_TOPOLOGY_TYPE; |
| 1579 |
|
| 1580 |
typedef struct D3D12_CACHED_PIPELINE_STATE |
| 1581 |
{ |
| 1582 |
const void *pCachedBlob; |
| 1583 |
SIZE_T CachedBlobSizeInBytes; |
| 1584 |
} D3D12_CACHED_PIPELINE_STATE; |
| 1585 |
|
| 1586 |
typedef enum D3D12_PIPELINE_STATE_FLAGS |
| 1587 |
{ |
| 1588 |
D3D12_PIPELINE_STATE_FLAG_NONE = 0x0, |
| 1589 |
D3D12_PIPELINE_STATE_FLAG_DEBUG = 0x1, |
| 1590 |
} D3D12_PIPELINE_STATE_FLAGS; |
| 1591 |
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_PIPELINE_STATE_FLAGS);") |
| 1592 |
|
| 1593 |
typedef struct D3D12_GRAPHICS_PIPELINE_STATE_DESC |
| 1594 |
{ |
| 1595 |
ID3D12RootSignature *pRootSignature; |
| 1596 |
D3D12_SHADER_BYTECODE VS; |
| 1597 |
D3D12_SHADER_BYTECODE PS; |
| 1598 |
D3D12_SHADER_BYTECODE DS; |
| 1599 |
D3D12_SHADER_BYTECODE HS; |
| 1600 |
D3D12_SHADER_BYTECODE GS; |
| 1601 |
D3D12_STREAM_OUTPUT_DESC StreamOutput; |
| 1602 |
D3D12_BLEND_DESC BlendState; |
| 1603 |
UINT SampleMask; |
| 1604 |
D3D12_RASTERIZER_DESC RasterizerState; |
| 1605 |
D3D12_DEPTH_STENCIL_DESC DepthStencilState; |
| 1606 |
D3D12_INPUT_LAYOUT_DESC InputLayout; |
| 1607 |
D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue; |
| 1608 |
D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType; |
| 1609 |
UINT NumRenderTargets; |
| 1610 |
DXGI_FORMAT RTVFormats[D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT]; |
| 1611 |
DXGI_FORMAT DSVFormat; |
| 1612 |
DXGI_SAMPLE_DESC SampleDesc; |
| 1613 |
UINT NodeMask; |
| 1614 |
D3D12_CACHED_PIPELINE_STATE CachedPSO; |
| 1615 |
D3D12_PIPELINE_STATE_FLAGS Flags; |
| 1616 |
} D3D12_GRAPHICS_PIPELINE_STATE_DESC; |
| 1617 |
|
| 1618 |
typedef struct D3D12_COMPUTE_PIPELINE_STATE_DESC |
| 1619 |
{ |
| 1620 |
ID3D12RootSignature *pRootSignature; |
| 1621 |
D3D12_SHADER_BYTECODE CS; |
| 1622 |
UINT NodeMask; |
| 1623 |
D3D12_CACHED_PIPELINE_STATE CachedPSO; |
| 1624 |
D3D12_PIPELINE_STATE_FLAGS Flags; |
| 1625 |
} D3D12_COMPUTE_PIPELINE_STATE_DESC; |
| 1626 |
|
| 1627 |
typedef enum D3D12_COMMAND_LIST_TYPE |
| 1628 |
{ |
| 1629 |
D3D12_COMMAND_LIST_TYPE_DIRECT = 0, |
| 1630 |
D3D12_COMMAND_LIST_TYPE_BUNDLE = 1, |
| 1631 |
D3D12_COMMAND_LIST_TYPE_COMPUTE = 2, |
| 1632 |
D3D12_COMMAND_LIST_TYPE_COPY = 3, |
| 1633 |
} D3D12_COMMAND_LIST_TYPE; |
| 1634 |
|
| 1635 |
typedef enum D3D12_COMMAND_QUEUE_PRIORITY |
| 1636 |
{ |
| 1637 |
D3D12_COMMAND_QUEUE_PRIORITY_NORMAL = 0, |
| 1638 |
D3D12_COMMAND_QUEUE_PRIORITY_HIGH = 100, |
| 1639 |
D3D12_COMMAND_QUEUE_PRIORITY_GLOBAL_REALTIME = 10000, |
| 1640 |
} D3D12_COMMAND_QUEUE_PRIORITY; |
| 1641 |
|
| 1642 |
typedef enum D3D12_COMMAND_QUEUE_FLAGS |
| 1643 |
{ |
| 1644 |
D3D12_COMMAND_QUEUE_FLAG_NONE = 0x0, |
| 1645 |
D3D12_COMMAND_QUEUE_FLAG_DISABLE_GPU_TIMEOUT = 0x1, |
| 1646 |
} D3D12_COMMAND_QUEUE_FLAGS; |
| 1647 |
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_COMMAND_QUEUE_FLAGS);") |
| 1648 |
|
| 1649 |
typedef struct D3D12_COMMAND_QUEUE_DESC |
| 1650 |
{ |
| 1651 |
D3D12_COMMAND_LIST_TYPE Type; |
| 1652 |
INT Priority; |
| 1653 |
D3D12_COMMAND_QUEUE_FLAGS Flags; |
| 1654 |
UINT NodeMask; |
| 1655 |
} D3D12_COMMAND_QUEUE_DESC; |
| 1656 |
|
| 1657 |
typedef struct D3D12_FEATURE_DATA_ARCHITECTURE |
| 1658 |
{ |
| 1659 |
UINT NodeIndex; |
| 1660 |
BOOL TileBasedRenderer; |
| 1661 |
BOOL UMA; |
| 1662 |
BOOL CacheCoherentUMA; |
| 1663 |
} D3D12_FEATURE_DATA_ARCHITECTURE; |
| 1664 |
|
| 1665 |
typedef struct D3D12_FEATURE_DATA_FORMAT_INFO |
| 1666 |
{ |
| 1667 |
DXGI_FORMAT Format; |
| 1668 |
UINT8 PlaneCount; |
| 1669 |
} D3D12_FEATURE_DATA_FORMAT_INFO; |
| 1670 |
|
| 1671 |
typedef struct D3D12_FEATURE_DATA_FEATURE_LEVELS |
| 1672 |
{ |
| 1673 |
UINT NumFeatureLevels; |
| 1674 |
const D3D_FEATURE_LEVEL *pFeatureLevelsRequested; |
| 1675 |
D3D_FEATURE_LEVEL MaxSupportedFeatureLevel; |
| 1676 |
} D3D12_FEATURE_DATA_FEATURE_LEVELS; |
| 1677 |
|
| 1678 |
typedef struct D3D12_FEATURE_DATA_ROOT_SIGNATURE |
| 1679 |
{ |
| 1680 |
D3D_ROOT_SIGNATURE_VERSION HighestVersion; |
| 1681 |
} D3D12_FEATURE_DATA_ROOT_SIGNATURE; |
| 1682 |
|
| 1683 |
typedef struct D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT |
| 1684 |
{ |
| 1685 |
UINT MaxGPUVirtualAddressBitsPerResource; |
| 1686 |
UINT MaxGPUVirtualAddressBitsPerProcess; |
| 1687 |
} D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT; |
| 1688 |
|
| 1689 |
typedef enum D3D_SHADER_MODEL |
| 1690 |
{ |
| 1691 |
D3D_SHADER_MODEL_5_1 = 0x51, |
| 1692 |
D3D_SHADER_MODEL_6_0 = 0x60, |
| 1693 |
} D3D_SHADER_MODEL; |
| 1694 |
|
| 1695 |
typedef struct D3D12_FEATURE_DATA_SHADER_MODEL |
| 1696 |
{ |
| 1697 |
D3D_SHADER_MODEL HighestShaderModel; |
| 1698 |
} D3D12_FEATURE_DATA_SHADER_MODEL; |
| 1699 |
|
| 1700 |
typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS1 |
| 1701 |
{ |
| 1702 |
BOOL WaveOps; |
| 1703 |
UINT WaveLaneCountMin; |
| 1704 |
UINT WaveLaneCountMax; |
| 1705 |
UINT TotalLaneCount; |
| 1706 |
BOOL ExpandedComputeResourceStates; |
| 1707 |
BOOL Int64ShaderOps; |
| 1708 |
} D3D12_FEATURE_DATA_D3D12_OPTIONS1; |
| 1709 |
|
| 1710 |
typedef struct D3D12_FEATURE_DATA_ARCHITECTURE1 |
| 1711 |
{ |
| 1712 |
UINT NodeIndex; |
| 1713 |
BOOL TileBasedRenderer; |
| 1714 |
BOOL UMA; |
| 1715 |
BOOL CacheCoherentUMA; |
| 1716 |
BOOL IsolatedMMU; |
| 1717 |
} D3D12_FEATURE_DATA_ARCHITECTURE1; |
| 1718 |
|
| 1719 |
typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS2 |
| 1720 |
{ |
| 1721 |
BOOL DepthBoundsTestSupported; |
| 1722 |
D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER ProgrammableSamplePositionsTier; |
| 1723 |
} D3D12_FEATURE_DATA_D3D12_OPTIONS2; |
| 1724 |
|
| 1725 |
typedef struct D3D12_FEATURE_DATA_SHADER_CACHE |
| 1726 |
{ |
| 1727 |
D3D12_SHADER_CACHE_SUPPORT_FLAGS SupportFlags; |
| 1728 |
} D3D12_FEATURE_DATA_SHADER_CACHE; |
| 1729 |
|
| 1730 |
typedef struct D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY |
| 1731 |
{ |
| 1732 |
D3D12_COMMAND_LIST_TYPE CommandListType; |
| 1733 |
UINT Priority; |
| 1734 |
BOOL PriorityForTypeIsSupported; |
| 1735 |
} D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY; |
| 1736 |
|
| 1737 |
typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS3 |
| 1738 |
{ |
| 1739 |
BOOL CopyQueueTimestampQueriesSupported; |
| 1740 |
BOOL CastingFullyTypedFormatSupported; |
| 1741 |
D3D12_COMMAND_LIST_SUPPORT_FLAGS WriteBufferImmediateSupportFlags; |
| 1742 |
D3D12_VIEW_INSTANCING_TIER ViewInstancingTier; |
| 1743 |
BOOL BarycentricsSupported; |
| 1744 |
} D3D12_FEATURE_DATA_D3D12_OPTIONS3; |
| 1745 |
|
| 1746 |
typedef struct D3D12_FEATURE_DATA_EXISTING_HEAPS |
| 1747 |
{ |
| 1748 |
BOOL Supported; |
| 1749 |
} D3D12_FEATURE_DATA_EXISTING_HEAPS; |
| 1750 |
|
| 1751 |
typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS4 |
| 1752 |
{ |
| 1753 |
BOOL MSAA64KBAlignedTextureSupported; |
| 1754 |
D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER SharedResourceCompatibilityTier; |
| 1755 |
BOOL Native16BitShaderOpsSupported; |
| 1756 |
} D3D12_FEATURE_DATA_D3D12_OPTIONS4; |
| 1757 |
|
| 1758 |
typedef struct D3D12_FEATURE_DATA_SERIALIZATION |
| 1759 |
{ |
| 1760 |
UINT NodeIndex; |
| 1761 |
D3D12_HEAP_SERIALIZATION_TIER HeapSerializationTier; |
| 1762 |
} D3D12_FEATURE_DATA_SERIALIZATION; |
| 1763 |
|
| 1764 |
typedef struct D3D12_FEATURE_DATA_CROSS_NODE |
| 1765 |
{ |
| 1766 |
D3D12_CROSS_NODE_SHARING_TIER SharingTier; |
| 1767 |
BOOL AtomicShaderInstructions; |
| 1768 |
} D3D12_FEATURE_DATA_CROSS_NODE; |
| 1769 |
|
| 1770 |
typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS5 |
| 1771 |
{ |
| 1772 |
BOOL SRVOnlyTiledResourceTier3; |
| 1773 |
D3D12_RENDER_PASS_TIER RenderPassesTier; |
| 1774 |
D3D12_RAYTRACING_TIER RaytracingTier; |
| 1775 |
} D3D12_FEATURE_DATA_D3D12_OPTIONS5; |
| 1776 |
|
| 1777 |
typedef enum D3D12_FEATURE |
| 1778 |
{ |
| 1779 |
D3D12_FEATURE_D3D12_OPTIONS = 0, |
| 1780 |
D3D12_FEATURE_ARCHITECTURE = 1, |
| 1781 |
D3D12_FEATURE_FEATURE_LEVELS = 2, |
| 1782 |
D3D12_FEATURE_FORMAT_SUPPORT = 3, |
| 1783 |
D3D12_FEATURE_MULTISAMPLE_QUALITY_LEVELS = 4, |
| 1784 |
D3D12_FEATURE_FORMAT_INFO = 5, |
| 1785 |
D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT = 6, |
| 1786 |
D3D12_FEATURE_SHADER_MODEL = 7, |
| 1787 |
D3D12_FEATURE_D3D12_OPTIONS1 = 8, |
| 1788 |
D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_SUPPORT = 10, |
| 1789 |
D3D12_FEATURE_ROOT_SIGNATURE = 12, |
| 1790 |
D3D12_FEATURE_ARCHITECTURE1 = 16, |
| 1791 |
D3D12_FEATURE_D3D12_OPTIONS2 = 18, |
| 1792 |
D3D12_FEATURE_SHADER_CACHE = 19, |
| 1793 |
D3D12_FEATURE_COMMAND_QUEUE_PRIORITY = 20, |
| 1794 |
D3D12_FEATURE_D3D12_OPTIONS3 = 21, |
| 1795 |
D3D12_FEATURE_EXISTING_HEAPS = 22, |
| 1796 |
D3D12_FEATURE_D3D12_OPTIONS4 = 23, |
| 1797 |
D3D12_FEATURE_SERIALIZATION = 24, |
| 1798 |
D3D12_FEATURE_CROSS_NODE = 25, |
| 1799 |
D3D12_FEATURE_D3D12_OPTIONS5 = 27, |
| 1800 |
D3D12_FEATURE_D3D12_OPTIONS6 = 30, |
| 1801 |
D3D12_FEATURE_QUERY_META_COMMAND = 31, |
| 1802 |
D3D12_FEATURE_D3D12_OPTIONS7 = 32, |
| 1803 |
D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPE_COUNT = 33, |
| 1804 |
D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPES = 34, |
| 1805 |
} D3D12_FEATURE; |
| 1806 |
|
| 1807 |
typedef struct D3D12_MEMCPY_DEST |
| 1808 |
{ |
| 1809 |
void *pData; |
| 1810 |
SIZE_T RowPitch; |
| 1811 |
SIZE_T SlicePitch; |
| 1812 |
} D3D12_MEMCPY_DEST; |
| 1813 |
|
| 1814 |
typedef struct D3D12_SUBRESOURCE_DATA |
| 1815 |
{ |
| 1816 |
const void *pData; |
| 1817 |
LONG_PTR RowPitch; |
| 1818 |
LONG_PTR SlicePitch; |
| 1819 |
} D3D12_SUBRESOURCE_DATA; |
| 1820 |
|
| 1821 |
typedef enum D3D12_MULTIPLE_FENCE_WAIT_FLAGS |
| 1822 |
{ |
| 1823 |
D3D12_MULTIPLE_FENCE_WAIT_FLAG_NONE = 0x0, |
| 1824 |
D3D12_MULTIPLE_FENCE_WAIT_FLAG_ANY = 0x1, |
| 1825 |
D3D12_MULTIPLE_FENCE_WAIT_FLAG_ALL = 0x0, |
| 1826 |
} D3D12_MULTIPLE_FENCE_WAIT_FLAGS; |
| 1827 |
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_MULTIPLE_FENCE_WAIT_FLAGS);") |
| 1828 |
|
| 1829 |
typedef enum D3D12_RESIDENCY_PRIORITY |
| 1830 |
{ |
| 1831 |
D3D12_RESIDENCY_PRIORITY_MINIMUM = 0x28000000, |
| 1832 |
D3D12_RESIDENCY_PRIORITY_LOW = 0x50000000, |
| 1833 |
D3D12_RESIDENCY_PRIORITY_NORMAL = 0x78000000, |
| 1834 |
D3D12_RESIDENCY_PRIORITY_HIGH = 0xa0010000, |
| 1835 |
D3D12_RESIDENCY_PRIORITY_MAXIMUM = 0xc8000000, |
| 1836 |
} D3D12_RESIDENCY_PRIORITY; |
| 1837 |
|
| 1838 |
typedef struct D3D12_WRITEBUFFERIMMEDIATE_PARAMETER |
| 1839 |
{ |
| 1840 |
D3D12_GPU_VIRTUAL_ADDRESS Dest; |
| 1841 |
UINT32 Value; |
| 1842 |
} D3D12_WRITEBUFFERIMMEDIATE_PARAMETER; |
| 1843 |
|
| 1844 |
[ |
| 1845 |
uuid(c4fec28f-7966-4e95-9f94-f431cb56c3b8), |
| 1846 |
object, |
| 1847 |
local, |
| 1848 |
pointer_default(unique) |
| 1849 |
] |
| 1850 |
interface ID3D12Object : IUnknown |
| 1851 |
{ |
| 1852 |
HRESULT GetPrivateData(REFGUID guid, UINT *data_size, void *data); |
| 1853 |
HRESULT SetPrivateData(REFGUID guid, UINT data_size, const void *data); |
| 1854 |
HRESULT SetPrivateDataInterface(REFGUID guid, const IUnknown *data); |
| 1855 |
HRESULT SetName(const WCHAR *name); |
| 1856 |
} |
| 1857 |
|
| 1858 |
[ |
| 1859 |
uuid(905db94b-a00c-4140-9df5-2b64ca9ea357), |
| 1860 |
object, |
| 1861 |
local, |
| 1862 |
pointer_default(unique) |
| 1863 |
] |
| 1864 |
interface ID3D12DeviceChild : ID3D12Object |
| 1865 |
{ |
| 1866 |
HRESULT GetDevice(REFIID riid, void **device); |
| 1867 |
} |
| 1868 |
|
| 1869 |
[ |
| 1870 |
uuid(63ee58fb-1268-4835-86da-f008ce62f0d6), |
| 1871 |
object, |
| 1872 |
local, |
| 1873 |
pointer_default(unique) |
| 1874 |
] |
| 1875 |
interface ID3D12Pageable : ID3D12DeviceChild |
| 1876 |
{ |
| 1877 |
} |
| 1878 |
|
| 1879 |
[ |
| 1880 |
uuid(6b3b2502-6e51-45b3-90ee-9884265e8df3), |
| 1881 |
object, |
| 1882 |
local, |
| 1883 |
pointer_default(unique) |
| 1884 |
] |
| 1885 |
interface ID3D12Heap : ID3D12Pageable |
| 1886 |
{ |
| 1887 |
D3D12_HEAP_DESC GetDesc(); |
| 1888 |
} |
| 1889 |
|
| 1890 |
[ |
| 1891 |
uuid(696442be-a72e-4059-bc79-5b5c98040fad), |
| 1892 |
object, |
| 1893 |
local, |
| 1894 |
pointer_default(unique) |
| 1895 |
] |
| 1896 |
interface ID3D12Resource : ID3D12Pageable |
| 1897 |
{ |
| 1898 |
HRESULT Map(UINT sub_resource, const D3D12_RANGE *read_range, void **data); |
| 1899 |
void Unmap(UINT sub_resource, const D3D12_RANGE *written_range); |
| 1900 |
|
| 1901 |
D3D12_RESOURCE_DESC GetDesc(); |
| 1902 |
|
| 1903 |
D3D12_GPU_VIRTUAL_ADDRESS GetGPUVirtualAddress(); |
| 1904 |
|
| 1905 |
HRESULT WriteToSubresource(UINT dst_sub_resource, const D3D12_BOX *dst_box, |
| 1906 |
const void *src_data, UINT src_row_pitch, UINT src_slice_pitch); |
| 1907 |
HRESULT ReadFromSubresource(void *dst_data, UINT dst_row_pitch, UINT dst_slice_pitch, |
| 1908 |
UINT src_sub_resource, const D3D12_BOX *src_box); |
| 1909 |
|
| 1910 |
HRESULT GetHeapProperties(D3D12_HEAP_PROPERTIES *heap_properties, D3D12_HEAP_FLAGS *flags); |
| 1911 |
} |
| 1912 |
|
| 1913 |
[ |
| 1914 |
uuid(7116d91c-e7e4-47ce-b8c6-ec8168f437e5), |
| 1915 |
object, |
| 1916 |
local, |
| 1917 |
pointer_default(unique) |
| 1918 |
] |
| 1919 |
interface ID3D12CommandList : ID3D12DeviceChild |
| 1920 |
{ |
| 1921 |
D3D12_COMMAND_LIST_TYPE GetType(); |
| 1922 |
} |
| 1923 |
|
| 1924 |
typedef enum D3D12_TILE_COPY_FLAGS |
| 1925 |
{ |
| 1926 |
D3D12_TILE_COPY_FLAG_NONE = 0x0, |
| 1927 |
D3D12_TILE_COPY_FLAG_NO_HAZARD = 0x1, |
| 1928 |
D3D12_TILE_COPY_FLAG_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE = 0x2, |
| 1929 |
D3D12_TILE_COPY_FLAG_SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER = 0x4, |
| 1930 |
} D3D12_TILE_COPY_FLAGS; |
| 1931 |
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_TILE_COPY_FLAGS);") |
| 1932 |
|
| 1933 |
typedef struct D3D12_INDEX_BUFFER_VIEW |
| 1934 |
{ |
| 1935 |
D3D12_GPU_VIRTUAL_ADDRESS BufferLocation; |
| 1936 |
UINT SizeInBytes; |
| 1937 |
DXGI_FORMAT Format; |
| 1938 |
} D3D12_INDEX_BUFFER_VIEW; |
| 1939 |
|
| 1940 |
typedef struct D3D12_VERTEX_BUFFER_VIEW |
| 1941 |
{ |
| 1942 |
D3D12_GPU_VIRTUAL_ADDRESS BufferLocation; |
| 1943 |
UINT SizeInBytes; |
| 1944 |
UINT StrideInBytes; |
| 1945 |
} D3D12_VERTEX_BUFFER_VIEW; |
| 1946 |
|
| 1947 |
typedef struct D3D12_STREAM_OUTPUT_BUFFER_VIEW |
| 1948 |
{ |
| 1949 |
D3D12_GPU_VIRTUAL_ADDRESS BufferLocation; |
| 1950 |
UINT64 SizeInBytes; |
| 1951 |
D3D12_GPU_VIRTUAL_ADDRESS BufferFilledSizeLocation; |
| 1952 |
} D3D12_STREAM_OUTPUT_BUFFER_VIEW; |
| 1953 |
|
| 1954 |
typedef enum D3D12_CLEAR_FLAGS |
| 1955 |
{ |
| 1956 |
D3D12_CLEAR_FLAG_DEPTH = 0x1, |
| 1957 |
D3D12_CLEAR_FLAG_STENCIL = 0x2, |
| 1958 |
} D3D12_CLEAR_FLAGS; |
| 1959 |
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_CLEAR_FLAGS);") |
| 1960 |
|
| 1961 |
typedef struct D3D12_DISCARD_REGION |
| 1962 |
{ |
| 1963 |
UINT NumRects; |
| 1964 |
const D3D12_RECT *pRects; |
| 1965 |
UINT FirstSubresource; |
| 1966 |
UINT NumSubresources; |
| 1967 |
} D3D12_DISCARD_REGION; |
| 1968 |
|
| 1969 |
typedef enum D3D12_QUERY_TYPE |
| 1970 |
{ |
| 1971 |
D3D12_QUERY_TYPE_OCCLUSION = 0, |
| 1972 |
D3D12_QUERY_TYPE_BINARY_OCCLUSION = 1, |
| 1973 |
D3D12_QUERY_TYPE_TIMESTAMP = 2, |
| 1974 |
D3D12_QUERY_TYPE_PIPELINE_STATISTICS = 3, |
| 1975 |
D3D12_QUERY_TYPE_SO_STATISTICS_STREAM0 = 4, |
| 1976 |
D3D12_QUERY_TYPE_SO_STATISTICS_STREAM1 = 5, |
| 1977 |
D3D12_QUERY_TYPE_SO_STATISTICS_STREAM2 = 6, |
| 1978 |
D3D12_QUERY_TYPE_SO_STATISTICS_STREAM3 = 7, |
| 1979 |
} D3D12_QUERY_TYPE; |
| 1980 |
|
| 1981 |
typedef struct D3D12_QUERY_DATA_PIPELINE_STATISTICS |
| 1982 |
{ |
| 1983 |
UINT64 IAVertices; |
| 1984 |
UINT64 IAPrimitives; |
| 1985 |
UINT64 VSInvocations; |
| 1986 |
UINT64 GSInvocations; |
| 1987 |
UINT64 GSPrimitives; |
| 1988 |
UINT64 CInvocations; |
| 1989 |
UINT64 CPrimitives; |
| 1990 |
UINT64 PSInvocations; |
| 1991 |
UINT64 HSInvocations; |
| 1992 |
UINT64 DSInvocations; |
| 1993 |
UINT64 CSInvocations; |
| 1994 |
} D3D12_QUERY_DATA_PIPELINE_STATISTICS; |
| 1995 |
|
| 1996 |
typedef struct D3D12_QUERY_DATA_SO_STATISTICS |
| 1997 |
{ |
| 1998 |
UINT64 NumPrimitivesWritten; |
| 1999 |
UINT64 PrimitivesStorageNeeded; |
| 2000 |
} D3D12_QUERY_DATA_SO_STATISTICS; |
| 2001 |
|
| 2002 |
typedef enum D3D12_PREDICATION_OP |
| 2003 |
{ |
| 2004 |
D3D12_PREDICATION_OP_EQUAL_ZERO = 0, |
| 2005 |
D3D12_PREDICATION_OP_NOT_EQUAL_ZERO = 1, |
| 2006 |
} D3D12_PREDICATION_OP; |
| 2007 |
|
| 2008 |
[ |
| 2009 |
uuid(8efb471d-616c-4f49-90f7-127bb763fa51), |
| 2010 |
object, |
| 2011 |
local, |
| 2012 |
pointer_default(unique) |
| 2013 |
] |
| 2014 |
interface ID3D12DescriptorHeap : ID3D12Pageable |
| 2015 |
{ |
| 2016 |
D3D12_DESCRIPTOR_HEAP_DESC GetDesc(); |
| 2017 |
|
| 2018 |
D3D12_CPU_DESCRIPTOR_HANDLE GetCPUDescriptorHandleForHeapStart(); |
| 2019 |
D3D12_GPU_DESCRIPTOR_HANDLE GetGPUDescriptorHandleForHeapStart(); |
| 2020 |
} |
| 2021 |
|
| 2022 |
[ |
| 2023 |
uuid(0d9658ae-ed45-469e-a61d-970ec583cab4), |
| 2024 |
object, |
| 2025 |
local, |
| 2026 |
pointer_default(unique) |
| 2027 |
] |
| 2028 |
interface ID3D12QueryHeap : ID3D12Pageable |
| 2029 |
{ |
| 2030 |
} |
| 2031 |
|
| 2032 |
[ |
| 2033 |
uuid(c36a797c-ec80-4f0a-8985-a7b2475082d1), |
| 2034 |
object, |
| 2035 |
local, |
| 2036 |
pointer_default(unique) |
| 2037 |
] |
| 2038 |
interface ID3D12CommandSignature : ID3D12Pageable |
| 2039 |
{ |
| 2040 |
} |
| 2041 |
|
| 2042 |
[ |
| 2043 |
uuid(5b160d0f-ac1b-4185-8ba8-b3ae42a5a455), |
| 2044 |
object, |
| 2045 |
local, |
| 2046 |
pointer_default(unique) |
| 2047 |
] |
| 2048 |
interface ID3D12GraphicsCommandList : ID3D12CommandList |
| 2049 |
{ |
| 2050 |
HRESULT Close(); |
| 2051 |
|
| 2052 |
HRESULT Reset(ID3D12CommandAllocator *allocator, ID3D12PipelineState *initial_state); |
| 2053 |
|
| 2054 |
HRESULT ClearState(ID3D12PipelineState *pipeline_state); |
| 2055 |
|
| 2056 |
void DrawInstanced(UINT vertex_count_per_instance, UINT instance_count, |
| 2057 |
UINT start_vertex_location, UINT start_instance_location); |
| 2058 |
void DrawIndexedInstanced(UINT index_count_per_instance, UINT instance_count, |
| 2059 |
UINT start_vertex_location, INT base_vertex_location, UINT start_instance_location); |
| 2060 |
|
| 2061 |
void Dispatch(UINT x, UINT u, UINT z); |
| 2062 |
|
| 2063 |
void CopyBufferRegion(ID3D12Resource *dst_buffer, UINT64 dst_offset, |
| 2064 |
ID3D12Resource *src_buffer, UINT64 src_offset, UINT64 byte_count); |
| 2065 |
void CopyTextureRegion(const D3D12_TEXTURE_COPY_LOCATION *dst, |
| 2066 |
UINT dst_x, UINT dst_y, UINT dst_z, |
| 2067 |
const D3D12_TEXTURE_COPY_LOCATION *src, const D3D12_BOX *src_box); |
| 2068 |
void CopyResource(ID3D12Resource *dst_resource, ID3D12Resource *src_resource); |
| 2069 |
|
| 2070 |
void CopyTiles(ID3D12Resource *tiled_resource, |
| 2071 |
const D3D12_TILED_RESOURCE_COORDINATE *tile_region_start_coordinate, |
| 2072 |
const D3D12_TILE_REGION_SIZE *tile_region_size, |
| 2073 |
ID3D12Resource *buffer, |
| 2074 |
UINT64 buffer_offset, |
| 2075 |
D3D12_TILE_COPY_FLAGS flags); |
| 2076 |
|
| 2077 |
void ResolveSubresource(ID3D12Resource *dst_resource, UINT dst_sub_resource, |
| 2078 |
ID3D12Resource *src_resource, UINT src_sub_resource, |
| 2079 |
DXGI_FORMAT format); |
| 2080 |
|
| 2081 |
void IASetPrimitiveTopology(D3D12_PRIMITIVE_TOPOLOGY primitive_topology); |
| 2082 |
|
| 2083 |
void RSSetViewports(UINT viewport_count, const D3D12_VIEWPORT *viewports); |
| 2084 |
void RSSetScissorRects(UINT rect_count, const D3D12_RECT *rects); |
| 2085 |
|
| 2086 |
void OMSetBlendFactor(const FLOAT blend_factor[4]); |
| 2087 |
void OMSetStencilRef(UINT stencil_ref); |
| 2088 |
|
| 2089 |
void SetPipelineState(ID3D12PipelineState *pipeline_state); |
| 2090 |
|
| 2091 |
void ResourceBarrier(UINT barrier_count, const D3D12_RESOURCE_BARRIER *barriers); |
| 2092 |
|
| 2093 |
void ExecuteBundle(ID3D12GraphicsCommandList *command_list); |
| 2094 |
|
| 2095 |
void SetDescriptorHeaps(UINT heap_count, ID3D12DescriptorHeap * const *heaps); |
| 2096 |
|
| 2097 |
void SetComputeRootSignature(ID3D12RootSignature *root_signature); |
| 2098 |
void SetGraphicsRootSignature(ID3D12RootSignature *root_signature); |
| 2099 |
|
| 2100 |
void SetComputeRootDescriptorTable(UINT root_parameter_index, D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor); |
| 2101 |
void SetGraphicsRootDescriptorTable(UINT root_parameter_index, D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor); |
| 2102 |
|
| 2103 |
void SetComputeRoot32BitConstant(UINT root_parameter_index, UINT data, UINT dst_offset); |
| 2104 |
void SetGraphicsRoot32BitConstant(UINT root_parameter_index, UINT data, UINT dst_offset); |
| 2105 |
|
| 2106 |
void SetComputeRoot32BitConstants(UINT root_parameter_index, UINT constant_count, const void *data, |
| 2107 |
UINT dst_offset); |
| 2108 |
void SetGraphicsRoot32BitConstants(UINT root_parameter_index, UINT constant_count, const void *data, |
| 2109 |
UINT dst_offset); |
| 2110 |
|
| 2111 |
void SetComputeRootConstantBufferView(UINT root_parameter_index, D3D12_GPU_VIRTUAL_ADDRESS address); |
| 2112 |
void SetGraphicsRootConstantBufferView(UINT root_parameter_index, D3D12_GPU_VIRTUAL_ADDRESS address); |
| 2113 |
|
| 2114 |
void SetComputeRootShaderResourceView(UINT root_parameter_index, D3D12_GPU_VIRTUAL_ADDRESS address); |
| 2115 |
void SetGraphicsRootShaderResourceView(UINT root_parameter_index, D3D12_GPU_VIRTUAL_ADDRESS address); |
| 2116 |
|
| 2117 |
void SetComputeRootUnorderedAccessView(UINT root_parameter_index, D3D12_GPU_VIRTUAL_ADDRESS address); |
| 2118 |
void SetGraphicsRootUnorderedAccessView(UINT root_parameter_index, D3D12_GPU_VIRTUAL_ADDRESS address); |
| 2119 |
|
| 2120 |
void IASetIndexBuffer(const D3D12_INDEX_BUFFER_VIEW *view); |
| 2121 |
void IASetVertexBuffers(UINT start_slot, UINT view_count, const D3D12_VERTEX_BUFFER_VIEW *views); |
| 2122 |
|
| 2123 |
void SOSetTargets(UINT start_slot, UINT view_count, const D3D12_STREAM_OUTPUT_BUFFER_VIEW *views); |
| 2124 |
|
| 2125 |
void OMSetRenderTargets(UINT render_target_descriptor_count, |
| 2126 |
const D3D12_CPU_DESCRIPTOR_HANDLE *render_target_descriptors, |
| 2127 |
BOOL single_descriptor_handle, |
| 2128 |
const D3D12_CPU_DESCRIPTOR_HANDLE *depth_stencil_descriptor); |
| 2129 |
|
| 2130 |
void ClearDepthStencilView(D3D12_CPU_DESCRIPTOR_HANDLE dsv, D3D12_CLEAR_FLAGS flags, |
| 2131 |
FLOAT depth, UINT8 stencil, UINT rect_count, const D3D12_RECT *rects); |
| 2132 |
void ClearRenderTargetView(D3D12_CPU_DESCRIPTOR_HANDLE rtv, const FLOAT color[4], |
| 2133 |
UINT rect_count, const D3D12_RECT *rects); |
| 2134 |
void ClearUnorderedAccessViewUint(D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle, |
| 2135 |
D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle, ID3D12Resource *resource, const UINT values[4], |
| 2136 |
UINT rect_count, const D3D12_RECT *rects); |
| 2137 |
void ClearUnorderedAccessViewFloat(D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle, |
| 2138 |
D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle, ID3D12Resource *resource, const float values[4], |
| 2139 |
UINT rect_count, const D3D12_RECT *rects); |
| 2140 |
|
| 2141 |
void DiscardResource(ID3D12Resource *resource, const D3D12_DISCARD_REGION *region); |
| 2142 |
|
| 2143 |
void BeginQuery(ID3D12QueryHeap *heap, D3D12_QUERY_TYPE type, UINT index); |
| 2144 |
void EndQuery(ID3D12QueryHeap *heap, D3D12_QUERY_TYPE type, UINT index); |
| 2145 |
void ResolveQueryData(ID3D12QueryHeap *heap, D3D12_QUERY_TYPE type, |
| 2146 |
UINT start_index, UINT query_count, |
| 2147 |
ID3D12Resource *dst_buffer, UINT64 aligned_dst_buffer_offset); |
| 2148 |
|
| 2149 |
void SetPredication(ID3D12Resource *buffer, UINT64 aligned_buffer_offset, |
| 2150 |
D3D12_PREDICATION_OP operation); |
| 2151 |
|
| 2152 |
void SetMarker(UINT metadata, const void *data, UINT size); |
| 2153 |
void BeginEvent(UINT metadata, const void *data, UINT size); |
| 2154 |
void EndEvent(); |
| 2155 |
|
| 2156 |
void ExecuteIndirect(ID3D12CommandSignature *command_signature, |
| 2157 |
UINT max_command_count, ID3D12Resource *arg_buffer, UINT64 arg_buffer_offset, |
| 2158 |
ID3D12Resource *count_buffer, UINT64 count_buffer_offset); |
| 2159 |
} |
| 2160 |
|
| 2161 |
[ |
| 2162 |
uuid(553103fb-1fe7-4557-bb38-946d7d0e7ca7), |
| 2163 |
object, |
| 2164 |
local, |
| 2165 |
pointer_default(unique) |
| 2166 |
] |
| 2167 |
interface ID3D12GraphicsCommandList1 : ID3D12GraphicsCommandList |
| 2168 |
{ |
| 2169 |
void AtomicCopyBufferUINT(ID3D12Resource *dst_buffer, UINT64 dst_offset, |
| 2170 |
ID3D12Resource *src_buffer, UINT64 src_offset, |
| 2171 |
UINT dependent_resource_count, ID3D12Resource * const *dependent_resources, |
| 2172 |
const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges); |
| 2173 |
|
| 2174 |
void AtomicCopyBufferUINT64(ID3D12Resource *dst_buffer, UINT64 dst_offset, |
| 2175 |
ID3D12Resource *src_buffer, UINT64 src_offset, |
| 2176 |
UINT dependent_resource_count, ID3D12Resource * const *dependent_resources, |
| 2177 |
const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges); |
| 2178 |
|
| 2179 |
void OMSetDepthBounds(FLOAT min, FLOAT max); |
| 2180 |
|
| 2181 |
void SetSamplePositions(UINT sample_count, UINT pixel_count, |
| 2182 |
D3D12_SAMPLE_POSITION *sample_positions); |
| 2183 |
|
| 2184 |
void ResolveSubresourceRegion(ID3D12Resource *dst_resource, |
| 2185 |
UINT dst_sub_resource_idx, UINT dst_x, UINT dst_y, |
| 2186 |
ID3D12Resource *src_resource, UINT src_sub_resource_idx, |
| 2187 |
D3D12_RECT *src_rect, DXGI_FORMAT format, D3D12_RESOLVE_MODE mode); |
| 2188 |
|
| 2189 |
void SetViewInstanceMask(UINT mask); |
| 2190 |
} |
| 2191 |
|
| 2192 |
[ |
| 2193 |
uuid(38c3e585-ff17-412c-9150-4fc6f9d72a28), |
| 2194 |
object, |
| 2195 |
local, |
| 2196 |
pointer_default(unique) |
| 2197 |
] |
| 2198 |
interface ID3D12GraphicsCommandList2 : ID3D12GraphicsCommandList1 |
| 2199 |
{ |
| 2200 |
void WriteBufferImmediate(UINT count, |
| 2201 |
const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *parameters, |
| 2202 |
const D3D12_WRITEBUFFERIMMEDIATE_MODE *modes); |
| 2203 |
} |
| 2204 |
|
| 2205 |
typedef enum D3D12_TILE_RANGE_FLAGS |
| 2206 |
{ |
| 2207 |
D3D12_TILE_RANGE_FLAG_NONE = 0x0, |
| 2208 |
D3D12_TILE_RANGE_FLAG_NULL = 0x1, |
| 2209 |
D3D12_TILE_RANGE_FLAG_SKIP = 0x2, |
| 2210 |
D3D12_TILE_RANGE_FLAG_REUSE_SINGLE_TILE = 0x4 |
| 2211 |
} D3D12_TILE_RANGE_FLAGS; |
| 2212 |
|
| 2213 |
typedef enum D3D12_TILE_MAPPING_FLAGS |
| 2214 |
{ |
| 2215 |
D3D12_TILE_MAPPING_FLAG_NONE = 0x0, |
| 2216 |
D3D12_TILE_MAPPING_FLAG_NO_HAZARD = 0x1, |
| 2217 |
} D3D12_TILE_MAPPING_FLAGS; |
| 2218 |
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_TILE_MAPPING_FLAGS);") |
| 2219 |
|
| 2220 |
[ |
| 2221 |
uuid(0ec870a6-5d7e-4c22-8cfc-5baae07616ed), |
| 2222 |
object, |
| 2223 |
local, |
| 2224 |
pointer_default(unique) |
| 2225 |
] |
| 2226 |
interface ID3D12CommandQueue : ID3D12Pageable |
| 2227 |
{ |
| 2228 |
void UpdateTileMappings(ID3D12Resource *resource, UINT region_count, |
| 2229 |
const D3D12_TILED_RESOURCE_COORDINATE *region_start_coordinates, |
| 2230 |
const D3D12_TILE_REGION_SIZE *region_sizes, |
| 2231 |
UINT range_count, |
| 2232 |
const D3D12_TILE_RANGE_FLAGS *range_flags, |
| 2233 |
UINT *heap_range_offsets, |
| 2234 |
UINT *range_tile_counts, |
| 2235 |
D3D12_TILE_MAPPING_FLAGS flags); |
| 2236 |
|
| 2237 |
void CopyTileMappings(ID3D12Resource *dst_resource, |
| 2238 |
const D3D12_TILED_RESOURCE_COORDINATE *dst_region_start_coordinate, |
| 2239 |
ID3D12Resource *src_resource, |
| 2240 |
const D3D12_TILED_RESOURCE_COORDINATE *src_region_start_coordinate, |
| 2241 |
const D3D12_TILE_REGION_SIZE *region_size, |
| 2242 |
D3D12_TILE_MAPPING_FLAGS flags); |
| 2243 |
|
| 2244 |
void ExecuteCommandLists(UINT command_list_count, |
| 2245 |
ID3D12CommandList * const * command_lists); |
| 2246 |
|
| 2247 |
void SetMarker(UINT metadata, const void *data, UINT size); |
| 2248 |
void BeginEvent(UINT metadata, const void *data, UINT size); |
| 2249 |
void EndEvent(); |
| 2250 |
|
| 2251 |
HRESULT Signal(ID3D12Fence *fence, UINT64 value); |
| 2252 |
HRESULT Wait(ID3D12Fence *fence, UINT64 value); |
| 2253 |
|
| 2254 |
HRESULT GetTimestampFrequency(UINT64 *frequency); |
| 2255 |
HRESULT GetClockCalibration(UINT64 *gpu_timestamp, UINT64 *cpu_timestamp); |
| 2256 |
|
| 2257 |
D3D12_COMMAND_QUEUE_DESC GetDesc(); |
| 2258 |
} |
| 2259 |
|
| 2260 |
typedef enum D3D12_FENCE_FLAGS |
| 2261 |
{ |
| 2262 |
D3D12_FENCE_FLAG_NONE = 0x0, |
| 2263 |
D3D12_FENCE_FLAG_SHARED = 0x1, |
| 2264 |
D3D12_FENCE_FLAG_SHARED_CROSS_ADAPTER = 0x2, |
| 2265 |
} D3D12_FENCE_FLAGS; |
| 2266 |
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_FENCE_FLAGS);") |
| 2267 |
|
| 2268 |
typedef enum D3D12_QUERY_HEAP_TYPE |
| 2269 |
{ |
| 2270 |
D3D12_QUERY_HEAP_TYPE_OCCLUSION = 0, |
| 2271 |
D3D12_QUERY_HEAP_TYPE_TIMESTAMP = 1, |
| 2272 |
D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS = 2, |
| 2273 |
D3D12_QUERY_HEAP_TYPE_SO_STATISTICS = 3, |
| 2274 |
} D3D12_QUERY_HEAP_TYPE; |
| 2275 |
|
| 2276 |
typedef struct D3D12_QUERY_HEAP_DESC |
| 2277 |
{ |
| 2278 |
D3D12_QUERY_HEAP_TYPE Type; |
| 2279 |
UINT Count; |
| 2280 |
UINT NodeMask; |
| 2281 |
} D3D12_QUERY_HEAP_DESC; |
| 2282 |
|
| 2283 |
typedef enum D3D12_INDIRECT_ARGUMENT_TYPE |
| 2284 |
{ |
| 2285 |
D3D12_INDIRECT_ARGUMENT_TYPE_DRAW, |
| 2286 |
D3D12_INDIRECT_ARGUMENT_TYPE_DRAW_INDEXED, |
| 2287 |
D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH, |
| 2288 |
D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW, |
| 2289 |
D3D12_INDIRECT_ARGUMENT_TYPE_INDEX_BUFFER_VIEW, |
| 2290 |
D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT, |
| 2291 |
D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW, |
| 2292 |
D3D12_INDIRECT_ARGUMENT_TYPE_SHADER_RESOURCE_VIEW, |
| 2293 |
D3D12_INDIRECT_ARGUMENT_TYPE_UNORDERED_ACCESS_VIEW, |
| 2294 |
} D3D12_INDIRECT_ARGUMENT_TYPE; |
| 2295 |
|
| 2296 |
typedef struct D3D12_INDIRECT_ARGUMENT_DESC |
| 2297 |
{ |
| 2298 |
D3D12_INDIRECT_ARGUMENT_TYPE Type; |
| 2299 |
union |
| 2300 |
{ |
| 2301 |
struct |
| 2302 |
{ |
| 2303 |
UINT Slot; |
| 2304 |
} VertexBuffer; |
| 2305 |
struct |
| 2306 |
{ |
| 2307 |
UINT RootParameterIndex; |
| 2308 |
UINT DestOffsetIn32BitValues; |
| 2309 |
UINT Num32BitValuesToSet; |
| 2310 |
} Constant; |
| 2311 |
struct |
| 2312 |
{ |
| 2313 |
UINT RootParameterIndex; |
| 2314 |
} ConstantBufferView; |
| 2315 |
struct |
| 2316 |
{ |
| 2317 |
UINT RootParameterIndex; |
| 2318 |
} ShaderResourceView; |
| 2319 |
struct |
| 2320 |
{ |
| 2321 |
UINT RootParameterIndex; |
| 2322 |
} UnorderedAccessView; |
| 2323 |
}; |
| 2324 |
} D3D12_INDIRECT_ARGUMENT_DESC; |
| 2325 |
|
| 2326 |
typedef struct D3D12_COMMAND_SIGNATURE_DESC |
| 2327 |
{ |
| 2328 |
UINT ByteStride; |
| 2329 |
UINT NumArgumentDescs; |
| 2330 |
const D3D12_INDIRECT_ARGUMENT_DESC *pArgumentDescs; |
| 2331 |
UINT NodeMask; |
| 2332 |
} D3D12_COMMAND_SIGNATURE_DESC; |
| 2333 |
|
| 2334 |
[ |
| 2335 |
uuid(c54a6b66-72df-4ee8-8be5-a946a1429214), |
| 2336 |
object, |
| 2337 |
local, |
| 2338 |
pointer_default(unique) |
| 2339 |
] |
| 2340 |
interface ID3D12RootSignature : ID3D12DeviceChild |
| 2341 |
{ |
| 2342 |
} |
| 2343 |
|
| 2344 |
[ |
| 2345 |
uuid(765a30f3-f624-4c6f-a828-ace948622445), |
| 2346 |
object, |
| 2347 |
local, |
| 2348 |
pointer_default(unique) |
| 2349 |
] |
| 2350 |
interface ID3D12PipelineState : ID3D12Pageable |
| 2351 |
{ |
| 2352 |
HRESULT GetCachedBlob(ID3DBlob **blob); |
| 2353 |
} |
| 2354 |
|
| 2355 |
[ |
| 2356 |
uuid(0a753dcf-c4d8-4b91-adf6-be5a60d95a76), |
| 2357 |
object, |
| 2358 |
local, |
| 2359 |
pointer_default(unique) |
| 2360 |
] |
| 2361 |
interface ID3D12Fence : ID3D12Pageable |
| 2362 |
{ |
| 2363 |
UINT64 GetCompletedValue(); |
| 2364 |
HRESULT SetEventOnCompletion(UINT64 value, HANDLE event); |
| 2365 |
HRESULT Signal(UINT64 value); |
| 2366 |
} |
| 2367 |
|
| 2368 |
[ |
| 2369 |
uuid(6102dee4-af59-4b09-b999-b44d73f09b24), |
| 2370 |
object, |
| 2371 |
local, |
| 2372 |
pointer_default(unique) |
| 2373 |
] |
| 2374 |
interface ID3D12CommandAllocator : ID3D12Pageable |
| 2375 |
{ |
| 2376 |
HRESULT Reset(); |
| 2377 |
} |
| 2378 |
|
| 2379 |
[ |
| 2380 |
uuid(189819f1-1db6-4b57-be54-1821339b85f7), |
| 2381 |
object, |
| 2382 |
local, |
| 2383 |
pointer_default(unique) |
| 2384 |
] |
| 2385 |
interface ID3D12Device : ID3D12Object |
| 2386 |
{ |
| 2387 |
UINT GetNodeCount(); |
| 2388 |
|
| 2389 |
HRESULT CreateCommandQueue(const D3D12_COMMAND_QUEUE_DESC *desc, |
| 2390 |
REFIID riid, void **command_queue); |
| 2391 |
HRESULT CreateCommandAllocator(D3D12_COMMAND_LIST_TYPE type, |
| 2392 |
REFIID riid, void **command_allocator); |
| 2393 |
HRESULT CreateGraphicsPipelineState(const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc, |
| 2394 |
REFIID riid, void **pipeline_state); |
| 2395 |
HRESULT CreateComputePipelineState(const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc, |
| 2396 |
REFIID riid, void **pipeline_state); |
| 2397 |
HRESULT CreateCommandList(UINT node_mask, |
| 2398 |
D3D12_COMMAND_LIST_TYPE type, |
| 2399 |
ID3D12CommandAllocator *command_allocator, |
| 2400 |
ID3D12PipelineState *initial_pipeline_state, |
| 2401 |
REFIID riid, void **command_list); |
| 2402 |
|
| 2403 |
HRESULT CheckFeatureSupport(D3D12_FEATURE feature, |
| 2404 |
void *feature_data, UINT feature_data_size); |
| 2405 |
|
| 2406 |
HRESULT CreateDescriptorHeap(const D3D12_DESCRIPTOR_HEAP_DESC *desc, |
| 2407 |
REFIID riid, void **descriptor_heap); |
| 2408 |
UINT GetDescriptorHandleIncrementSize(D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type); |
| 2409 |
|
| 2410 |
HRESULT CreateRootSignature(UINT node_mask, |
| 2411 |
const void *bytecode, SIZE_T bytecode_length, |
| 2412 |
REFIID riid, void **root_signature); |
| 2413 |
|
| 2414 |
void CreateConstantBufferView(const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc, |
| 2415 |
D3D12_CPU_DESCRIPTOR_HANDLE descriptor); |
| 2416 |
void CreateShaderResourceView(ID3D12Resource *resource, |
| 2417 |
const D3D12_SHADER_RESOURCE_VIEW_DESC *desc, |
| 2418 |
D3D12_CPU_DESCRIPTOR_HANDLE descriptor); |
| 2419 |
void CreateUnorderedAccessView(ID3D12Resource *resource, ID3D12Resource *counter_resource, |
| 2420 |
const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc, |
| 2421 |
D3D12_CPU_DESCRIPTOR_HANDLE descriptor); |
| 2422 |
void CreateRenderTargetView(ID3D12Resource *resource, |
| 2423 |
const D3D12_RENDER_TARGET_VIEW_DESC *desc, |
| 2424 |
D3D12_CPU_DESCRIPTOR_HANDLE descriptor); |
| 2425 |
void CreateDepthStencilView(ID3D12Resource *resource, |
| 2426 |
const D3D12_DEPTH_STENCIL_VIEW_DESC *desc, |
| 2427 |
D3D12_CPU_DESCRIPTOR_HANDLE descriptor); |
| 2428 |
void CreateSampler(const D3D12_SAMPLER_DESC *desc, |
| 2429 |
D3D12_CPU_DESCRIPTOR_HANDLE descriptor); |
| 2430 |
|
| 2431 |
void CopyDescriptors(UINT dst_descriptor_range_count, |
| 2432 |
const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets, |
| 2433 |
const UINT *dst_descriptor_range_sizes, |
| 2434 |
UINT src_descriptor_range_count, |
| 2435 |
const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets, |
| 2436 |
const UINT *src_descriptor_range_sizes, |
| 2437 |
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type); |
| 2438 |
void CopyDescriptorsSimple(UINT descriptor_count, |
| 2439 |
const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset, |
| 2440 |
const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset, |
| 2441 |
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type); |
| 2442 |
|
| 2443 |
D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo(UINT visible_mask, |
| 2444 |
UINT reource_desc_count, const D3D12_RESOURCE_DESC *resource_descs); |
| 2445 |
|
| 2446 |
D3D12_HEAP_PROPERTIES GetCustomHeapProperties(UINT node_mask, |
| 2447 |
D3D12_HEAP_TYPE heap_type); |
| 2448 |
|
| 2449 |
HRESULT CreateCommittedResource(const D3D12_HEAP_PROPERTIES *heap_properties, D3D12_HEAP_FLAGS heap_flags, |
| 2450 |
const D3D12_RESOURCE_DESC *desc, D3D12_RESOURCE_STATES initial_state, |
| 2451 |
const D3D12_CLEAR_VALUE *optimized_clear_value, |
| 2452 |
REFIID riid, void **resource); |
| 2453 |
|
| 2454 |
HRESULT CreateHeap(const D3D12_HEAP_DESC *desc, REFIID riid, void **heap); |
| 2455 |
|
| 2456 |
HRESULT CreatePlacedResource(ID3D12Heap *heap, UINT64 heap_offset, |
| 2457 |
const D3D12_RESOURCE_DESC *desc, D3D12_RESOURCE_STATES initial_state, |
| 2458 |
const D3D12_CLEAR_VALUE *optimized_clear_value, |
| 2459 |
REFIID riid, void **resource); |
| 2460 |
HRESULT CreateReservedResource(const D3D12_RESOURCE_DESC *desc, D3D12_RESOURCE_STATES initial_state, |
| 2461 |
const D3D12_CLEAR_VALUE *optimized_clear_value, |
| 2462 |
REFIID riid, void **resource); |
| 2463 |
|
| 2464 |
HRESULT CreateSharedHandle(ID3D12DeviceChild *object, |
| 2465 |
const SECURITY_ATTRIBUTES *attributes, DWORD access, |
| 2466 |
const WCHAR *name, HANDLE *handle); |
| 2467 |
HRESULT OpenSharedHandle(HANDLE handle, |
| 2468 |
REFIID riid, void **object); |
| 2469 |
HRESULT OpenSharedHandleByName(const WCHAR *name, DWORD access, HANDLE *handle); |
| 2470 |
|
| 2471 |
HRESULT MakeResident(UINT object_count, ID3D12Pageable * const *objects); |
| 2472 |
HRESULT Evict(UINT object_count, ID3D12Pageable * const *objects); |
| 2473 |
|
| 2474 |
HRESULT CreateFence(UINT64 initial_value, D3D12_FENCE_FLAGS flags, REFIID riid, void **fence); |
| 2475 |
|
| 2476 |
HRESULT GetDeviceRemovedReason(); |
| 2477 |
|
| 2478 |
void GetCopyableFootprints(const D3D12_RESOURCE_DESC *desc, |
| 2479 |
UINT first_sub_resource, |
| 2480 |
UINT sub_resource_count, |
| 2481 |
UINT64 base_offset, |
| 2482 |
D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts, |
| 2483 |
UINT *row_count, |
| 2484 |
UINT64 *row_size, |
| 2485 |
UINT64 *total_bytes); |
| 2486 |
|
| 2487 |
HRESULT CreateQueryHeap(const D3D12_QUERY_HEAP_DESC *desc, |
| 2488 |
REFIID riid, void **heap); |
| 2489 |
|
| 2490 |
HRESULT SetStablePowerState(BOOL enable); |
| 2491 |
|
| 2492 |
HRESULT CreateCommandSignature(const D3D12_COMMAND_SIGNATURE_DESC *desc, |
| 2493 |
ID3D12RootSignature *root_signature, |
| 2494 |
REFIID riid, void **command_signature); |
| 2495 |
|
| 2496 |
void GetResourceTiling(ID3D12Resource *resource, |
| 2497 |
UINT *total_tile_count, |
| 2498 |
D3D12_PACKED_MIP_INFO *packed_mip_info, |
| 2499 |
D3D12_TILE_SHAPE *standard_tile_shape, |
| 2500 |
UINT *sub_resource_tiling_count, |
| 2501 |
UINT first_sub_resource_tiling, |
| 2502 |
D3D12_SUBRESOURCE_TILING *sub_resource_tilings); |
| 2503 |
|
| 2504 |
LUID GetAdapterLuid(); |
| 2505 |
} |
| 2506 |
|
| 2507 |
[ |
| 2508 |
uuid(77acce80-638e-4e65-8895-c1f23386863e), |
| 2509 |
object, |
| 2510 |
local, |
| 2511 |
pointer_default(unique) |
| 2512 |
] |
| 2513 |
interface ID3D12Device1 : ID3D12Device |
| 2514 |
{ |
| 2515 |
HRESULT CreatePipelineLibrary(const void *blob, SIZE_T blob_size, REFIID iid, void **lib); |
| 2516 |
|
| 2517 |
HRESULT SetEventOnMultipleFenceCompletion(ID3D12Fence * const *fences, |
| 2518 |
const UINT64 *values, UINT fence_count, D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags, HANDLE event); |
| 2519 |
|
| 2520 |
HRESULT SetResidencyPriority(UINT object_count, ID3D12Pageable * const *objects, |
| 2521 |
const D3D12_RESIDENCY_PRIORITY *priorities); |
| 2522 |
} |
| 2523 |
|
| 2524 |
[ |
| 2525 |
uuid(34ab647b-3cc8-46ac-841b-c0965645c046), |
| 2526 |
object, |
| 2527 |
local, |
| 2528 |
pointer_default(unique) |
| 2529 |
] |
| 2530 |
interface ID3D12RootSignatureDeserializer : IUnknown |
| 2531 |
{ |
| 2532 |
const D3D12_ROOT_SIGNATURE_DESC *GetRootSignatureDesc(); |
| 2533 |
} |
| 2534 |
|
| 2535 |
[ |
| 2536 |
uuid(7f91ce67-090c-4bb7-b78e-ed8ff2e31da0), |
| 2537 |
object, |
| 2538 |
local, |
| 2539 |
pointer_default(unique) |
| 2540 |
] |
| 2541 |
interface ID3D12VersionedRootSignatureDeserializer : IUnknown |
| 2542 |
{ |
| 2543 |
HRESULT GetRootSignatureDescAtVersion(D3D_ROOT_SIGNATURE_VERSION version, |
| 2544 |
const D3D12_VERSIONED_ROOT_SIGNATURE_DESC **desc); |
| 2545 |
|
| 2546 |
const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *GetUnconvertedRootSignatureDesc(); |
| 2547 |
}; |
| 2548 |
|
| 2549 |
[local] HRESULT __stdcall D3D12CreateRootSignatureDeserializer( |
| 2550 |
const void *data, SIZE_T data_size, REFIID iid, void **deserializer); |
| 2551 |
|
| 2552 |
typedef HRESULT (__stdcall *PFN_D3D12_CREATE_VERSIONED_ROOT_SIGNATURE_DESERIALIZER)( |
| 2553 |
const void *data, SIZE_T data_size, REFIID iid, void **deserializer); |
| 2554 |
|
| 2555 |
[local] HRESULT __stdcall D3D12CreateVersionedRootSignatureDeserializer( |
| 2556 |
const void *data, SIZE_T data_size, REFIID iid, void **deserializer); |
| 2557 |
|
| 2558 |
[local] HRESULT __stdcall D3D12SerializeRootSignature( |
| 2559 |
const D3D12_ROOT_SIGNATURE_DESC *root_signature_desc, |
| 2560 |
D3D_ROOT_SIGNATURE_VERSION version, ID3DBlob **blob, ID3DBlob **error_blob); |
| 2561 |
|
| 2562 |
typedef HRESULT (__stdcall *PFN_D3D12_SERIALIZE_VERSIONED_ROOT_SIGNATURE)( |
| 2563 |
const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *desc, ID3DBlob **blob, ID3DBlob **error_blob); |
| 2564 |
|
| 2565 |
[local] HRESULT __stdcall D3D12SerializeVersionedRootSignature( |
| 2566 |
const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *root_signature_desc, |
| 2567 |
ID3DBlob **blob, ID3DBlob **error_blob); |
| 2568 |
|
| 2569 |
typedef HRESULT (__stdcall *PFN_D3D12_CREATE_DEVICE)(IUnknown *adapter, |
| 2570 |
D3D_FEATURE_LEVEL minimum_feature_level, REFIID iid, void **device); |
| 2571 |
|
| 2572 |
[local] HRESULT __stdcall D3D12CreateDevice(IUnknown *adapter, |
| 2573 |
D3D_FEATURE_LEVEL minimum_feature_level, REFIID iid, void **device); |
| 2574 |
|
| 2575 |
typedef HRESULT (__stdcall *PFN_D3D12_GET_DEBUG_INTERFACE)(REFIID iid, void **debug); |
| 2576 |
|
| 2577 |
[local] HRESULT __stdcall D3D12GetDebugInterface(REFIID iid, void **debug); |
| 2578 |
|
| 2579 |
[local] HRESULT __stdcall D3D12EnableExperimentalFeatures(UINT feature_count, |
| 2580 |
const IID *iids, void *configurations, UINT *configurations_sizes); |