Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*-------------------------------------------------------------------------------------
- *
- * Copyright (c) Microsoft Corporation
- *
- *-------------------------------------------------------------------------------------*/
- /* this ALWAYS GENERATED file contains the definitions for the interfaces */
- /* File created by MIDL compiler version 8.00.0611 */
- /* verify that the <rpcndr.h> version is high enough to compile this file*/
- #ifndef __REQUIRED_RPCNDR_H_VERSION__
- #define __REQUIRED_RPCNDR_H_VERSION__ 500
- #endif
- /* verify that the <rpcsal.h> version is high enough to compile this file*/
- #ifndef __REQUIRED_RPCSAL_H_VERSION__
- #define __REQUIRED_RPCSAL_H_VERSION__ 100
- #endif
- #include "rpc.h"
- #include "rpcndr.h"
- #ifndef __RPCNDR_H_VERSION__
- #error this stub requires an updated version of <rpcndr.h>
- #endif /* __RPCNDR_H_VERSION__ */
- #ifndef COM_NO_WINDOWS_H
- #include "windows.h"
- #include "ole2.h"
- #endif /*COM_NO_WINDOWS_H*/
- #ifndef __d3d12_h__
- #define __d3d12_h__
- #if defined(_MSC_VER) && (_MSC_VER >= 1020)
- #pragma once
- #endif
- /* Forward Declarations */
- #ifndef __ID3D12Object_FWD_DEFINED__
- #define __ID3D12Object_FWD_DEFINED__
- typedef interface ID3D12Object ID3D12Object;
- #endif /* __ID3D12Object_FWD_DEFINED__ */
- #ifndef __ID3D12DeviceChild_FWD_DEFINED__
- #define __ID3D12DeviceChild_FWD_DEFINED__
- typedef interface ID3D12DeviceChild ID3D12DeviceChild;
- #endif /* __ID3D12DeviceChild_FWD_DEFINED__ */
- #ifndef __ID3D12RootSignature_FWD_DEFINED__
- #define __ID3D12RootSignature_FWD_DEFINED__
- typedef interface ID3D12RootSignature ID3D12RootSignature;
- #endif /* __ID3D12RootSignature_FWD_DEFINED__ */
- #ifndef __ID3D12RootSignatureDeserializer_FWD_DEFINED__
- #define __ID3D12RootSignatureDeserializer_FWD_DEFINED__
- typedef interface ID3D12RootSignatureDeserializer ID3D12RootSignatureDeserializer;
- #endif /* __ID3D12RootSignatureDeserializer_FWD_DEFINED__ */
- #ifndef __ID3D12Pageable_FWD_DEFINED__
- #define __ID3D12Pageable_FWD_DEFINED__
- typedef interface ID3D12Pageable ID3D12Pageable;
- #endif /* __ID3D12Pageable_FWD_DEFINED__ */
- #ifndef __ID3D12Heap_FWD_DEFINED__
- #define __ID3D12Heap_FWD_DEFINED__
- typedef interface ID3D12Heap ID3D12Heap;
- #endif /* __ID3D12Heap_FWD_DEFINED__ */
- #ifndef __ID3D12Resource_FWD_DEFINED__
- #define __ID3D12Resource_FWD_DEFINED__
- typedef interface ID3D12Resource ID3D12Resource;
- #endif /* __ID3D12Resource_FWD_DEFINED__ */
- #ifndef __ID3D12CommandAllocator_FWD_DEFINED__
- #define __ID3D12CommandAllocator_FWD_DEFINED__
- typedef interface ID3D12CommandAllocator ID3D12CommandAllocator;
- #endif /* __ID3D12CommandAllocator_FWD_DEFINED__ */
- #ifndef __ID3D12Fence_FWD_DEFINED__
- #define __ID3D12Fence_FWD_DEFINED__
- typedef interface ID3D12Fence ID3D12Fence;
- #endif /* __ID3D12Fence_FWD_DEFINED__ */
- #ifndef __ID3D12PipelineState_FWD_DEFINED__
- #define __ID3D12PipelineState_FWD_DEFINED__
- typedef interface ID3D12PipelineState ID3D12PipelineState;
- #endif /* __ID3D12PipelineState_FWD_DEFINED__ */
- #ifndef __ID3D12DescriptorHeap_FWD_DEFINED__
- #define __ID3D12DescriptorHeap_FWD_DEFINED__
- typedef interface ID3D12DescriptorHeap ID3D12DescriptorHeap;
- #endif /* __ID3D12DescriptorHeap_FWD_DEFINED__ */
- #ifndef __ID3D12QueryHeap_FWD_DEFINED__
- #define __ID3D12QueryHeap_FWD_DEFINED__
- typedef interface ID3D12QueryHeap ID3D12QueryHeap;
- #endif /* __ID3D12QueryHeap_FWD_DEFINED__ */
- #ifndef __ID3D12CommandSignature_FWD_DEFINED__
- #define __ID3D12CommandSignature_FWD_DEFINED__
- typedef interface ID3D12CommandSignature ID3D12CommandSignature;
- #endif /* __ID3D12CommandSignature_FWD_DEFINED__ */
- #ifndef __ID3D12CommandList_FWD_DEFINED__
- #define __ID3D12CommandList_FWD_DEFINED__
- typedef interface ID3D12CommandList ID3D12CommandList;
- #endif /* __ID3D12CommandList_FWD_DEFINED__ */
- #ifndef __ID3D12GraphicsCommandList_FWD_DEFINED__
- #define __ID3D12GraphicsCommandList_FWD_DEFINED__
- typedef interface ID3D12GraphicsCommandList ID3D12GraphicsCommandList;
- #endif /* __ID3D12GraphicsCommandList_FWD_DEFINED__ */
- #ifndef __ID3D12CommandQueue_FWD_DEFINED__
- #define __ID3D12CommandQueue_FWD_DEFINED__
- typedef interface ID3D12CommandQueue ID3D12CommandQueue;
- #endif /* __ID3D12CommandQueue_FWD_DEFINED__ */
- #ifndef __ID3D12Device_FWD_DEFINED__
- #define __ID3D12Device_FWD_DEFINED__
- typedef interface ID3D12Device ID3D12Device;
- #endif /* __ID3D12Device_FWD_DEFINED__ */
- /* header files for imported files */
- #include "oaidl.h"
- #include "ocidl.h"
- #include "dxgi.h"
- #include "d3dcommon.h"
- #ifdef __cplusplus
- extern "C"{
- #endif
- /* interface __MIDL_itf_d3d12_0000_0000 */
- /* [local] */
- #include <winapifamily.h>
- #pragma region App Family
- #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
- #ifndef _D3D12_CONSTANTS
- #define _D3D12_CONSTANTS
- #define D3D12_16BIT_INDEX_STRIP_CUT_VALUE ( 0xffff )
- #define D3D12_32BIT_INDEX_STRIP_CUT_VALUE ( 0xffffffff )
- #define D3D12_8BIT_INDEX_STRIP_CUT_VALUE ( 0xff )
- #define D3D12_APPEND_ALIGNED_ELEMENT ( 0xffffffff )
- #define D3D12_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT ( 9 )
- #define D3D12_CLIP_OR_CULL_DISTANCE_COUNT ( 8 )
- #define D3D12_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT ( 2 )
- #define D3D12_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT ( 14 )
- #define D3D12_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS ( 4 )
- #define D3D12_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT ( 15 )
- #define D3D12_COMMONSHADER_CONSTANT_BUFFER_PARTIAL_UPDATE_EXTENTS_BYTE_ALIGNMENT ( 16 )
- #define D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS ( 4 )
- #define D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT ( 15 )
- #define D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST ( 1 )
- #define D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS ( 1 )
- #define D3D12_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT ( 64 )
- #define D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS ( 4 )
- #define D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT ( 1 )
- #define D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST ( 1 )
- #define D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS ( 1 )
- #define D3D12_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS ( 1 )
- #define D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT ( 128 )
- #define D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST ( 1 )
- #define D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS ( 1 )
- #define D3D12_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT ( 128 )
- #define D3D12_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS ( 1 )
- #define D3D12_COMMONSHADER_SAMPLER_REGISTER_COUNT ( 16 )
- #define D3D12_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST ( 1 )
- #define D3D12_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS ( 1 )
- #define D3D12_COMMONSHADER_SAMPLER_SLOT_COUNT ( 16 )
- #define D3D12_COMMONSHADER_SUBROUTINE_NESTING_LIMIT ( 32 )
- #define D3D12_COMMONSHADER_TEMP_REGISTER_COMPONENTS ( 4 )
- #define D3D12_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_COMMONSHADER_TEMP_REGISTER_COUNT ( 4096 )
- #define D3D12_COMMONSHADER_TEMP_REGISTER_READS_PER_INST ( 3 )
- #define D3D12_COMMONSHADER_TEMP_REGISTER_READ_PORTS ( 3 )
- #define D3D12_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX ( 10 )
- #define D3D12_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN ( -10 )
- #define D3D12_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE ( -8 )
- #define D3D12_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE ( 7 )
- #define D3D12_CONSTANT_BUFFER_DATA_PLACEMENT_ALIGNMENT ( 256 )
- #define D3D12_CS_4_X_BUCKET00_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 256 )
- #define D3D12_CS_4_X_BUCKET00_MAX_NUM_THREADS_PER_GROUP ( 64 )
- #define D3D12_CS_4_X_BUCKET01_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 240 )
- #define D3D12_CS_4_X_BUCKET01_MAX_NUM_THREADS_PER_GROUP ( 68 )
- #define D3D12_CS_4_X_BUCKET02_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 224 )
- #define D3D12_CS_4_X_BUCKET02_MAX_NUM_THREADS_PER_GROUP ( 72 )
- #define D3D12_CS_4_X_BUCKET03_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 208 )
- #define D3D12_CS_4_X_BUCKET03_MAX_NUM_THREADS_PER_GROUP ( 76 )
- #define D3D12_CS_4_X_BUCKET04_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 192 )
- #define D3D12_CS_4_X_BUCKET04_MAX_NUM_THREADS_PER_GROUP ( 84 )
- #define D3D12_CS_4_X_BUCKET05_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 176 )
- #define D3D12_CS_4_X_BUCKET05_MAX_NUM_THREADS_PER_GROUP ( 92 )
- #define D3D12_CS_4_X_BUCKET06_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 160 )
- #define D3D12_CS_4_X_BUCKET06_MAX_NUM_THREADS_PER_GROUP ( 100 )
- #define D3D12_CS_4_X_BUCKET07_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 144 )
- #define D3D12_CS_4_X_BUCKET07_MAX_NUM_THREADS_PER_GROUP ( 112 )
- #define D3D12_CS_4_X_BUCKET08_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 128 )
- #define D3D12_CS_4_X_BUCKET08_MAX_NUM_THREADS_PER_GROUP ( 128 )
- #define D3D12_CS_4_X_BUCKET09_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 112 )
- #define D3D12_CS_4_X_BUCKET09_MAX_NUM_THREADS_PER_GROUP ( 144 )
- #define D3D12_CS_4_X_BUCKET10_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 96 )
- #define D3D12_CS_4_X_BUCKET10_MAX_NUM_THREADS_PER_GROUP ( 168 )
- #define D3D12_CS_4_X_BUCKET11_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 80 )
- #define D3D12_CS_4_X_BUCKET11_MAX_NUM_THREADS_PER_GROUP ( 204 )
- #define D3D12_CS_4_X_BUCKET12_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 64 )
- #define D3D12_CS_4_X_BUCKET12_MAX_NUM_THREADS_PER_GROUP ( 256 )
- #define D3D12_CS_4_X_BUCKET13_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 48 )
- #define D3D12_CS_4_X_BUCKET13_MAX_NUM_THREADS_PER_GROUP ( 340 )
- #define D3D12_CS_4_X_BUCKET14_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 32 )
- #define D3D12_CS_4_X_BUCKET14_MAX_NUM_THREADS_PER_GROUP ( 512 )
- #define D3D12_CS_4_X_BUCKET15_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 16 )
- #define D3D12_CS_4_X_BUCKET15_MAX_NUM_THREADS_PER_GROUP ( 768 )
- #define D3D12_CS_4_X_DISPATCH_MAX_THREAD_GROUPS_IN_Z_DIMENSION ( 1 )
- #define D3D12_CS_4_X_RAW_UAV_BYTE_ALIGNMENT ( 256 )
- #define D3D12_CS_4_X_THREAD_GROUP_MAX_THREADS_PER_GROUP ( 768 )
- #define D3D12_CS_4_X_THREAD_GROUP_MAX_X ( 768 )
- #define D3D12_CS_4_X_THREAD_GROUP_MAX_Y ( 768 )
- #define D3D12_CS_4_X_UAV_REGISTER_COUNT ( 1 )
- #define D3D12_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION ( 65535 )
- #define D3D12_CS_TGSM_REGISTER_COUNT ( 8192 )
- #define D3D12_CS_TGSM_REGISTER_READS_PER_INST ( 1 )
- #define D3D12_CS_TGSM_RESOURCE_REGISTER_COMPONENTS ( 1 )
- #define D3D12_CS_TGSM_RESOURCE_REGISTER_READ_PORTS ( 1 )
- #define D3D12_CS_THREADGROUPID_REGISTER_COMPONENTS ( 3 )
- #define D3D12_CS_THREADGROUPID_REGISTER_COUNT ( 1 )
- #define D3D12_CS_THREADIDINGROUPFLATTENED_REGISTER_COMPONENTS ( 1 )
- #define D3D12_CS_THREADIDINGROUPFLATTENED_REGISTER_COUNT ( 1 )
- #define D3D12_CS_THREADIDINGROUP_REGISTER_COMPONENTS ( 3 )
- #define D3D12_CS_THREADIDINGROUP_REGISTER_COUNT ( 1 )
- #define D3D12_CS_THREADID_REGISTER_COMPONENTS ( 3 )
- #define D3D12_CS_THREADID_REGISTER_COUNT ( 1 )
- #define D3D12_CS_THREAD_GROUP_MAX_THREADS_PER_GROUP ( 1024 )
- #define D3D12_CS_THREAD_GROUP_MAX_X ( 1024 )
- #define D3D12_CS_THREAD_GROUP_MAX_Y ( 1024 )
- #define D3D12_CS_THREAD_GROUP_MAX_Z ( 64 )
- #define D3D12_CS_THREAD_GROUP_MIN_X ( 1 )
- #define D3D12_CS_THREAD_GROUP_MIN_Y ( 1 )
- #define D3D12_CS_THREAD_GROUP_MIN_Z ( 1 )
- #define D3D12_CS_THREAD_LOCAL_TEMP_REGISTER_POOL ( 16384 )
- #define D3D12_DEFAULT_BLEND_FACTOR_ALPHA ( 1.0f )
- #define D3D12_DEFAULT_BLEND_FACTOR_BLUE ( 1.0f )
- #define D3D12_DEFAULT_BLEND_FACTOR_GREEN ( 1.0f )
- #define D3D12_DEFAULT_BLEND_FACTOR_RED ( 1.0f )
- #define D3D12_DEFAULT_BORDER_COLOR_COMPONENT ( 0.0f )
- #define D3D12_DEFAULT_DEPTH_BIAS ( 0 )
- #define D3D12_DEFAULT_DEPTH_BIAS_CLAMP ( 0.0f )
- #define D3D12_DEFAULT_MAX_ANISOTROPY ( 16 )
- #define D3D12_DEFAULT_MIP_LOD_BIAS ( 0.0f )
- #define D3D12_DEFAULT_MSAA_RESOURCE_PLACEMENT_ALIGNMENT ( 4194304 )
- #define D3D12_DEFAULT_RENDER_TARGET_ARRAY_INDEX ( 0 )
- #define D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT ( 65536 )
- #define D3D12_DEFAULT_SAMPLE_MASK ( 0xffffffff )
- #define D3D12_DEFAULT_SCISSOR_ENDX ( 0 )
- #define D3D12_DEFAULT_SCISSOR_ENDY ( 0 )
- #define D3D12_DEFAULT_SCISSOR_STARTX ( 0 )
- #define D3D12_DEFAULT_SCISSOR_STARTY ( 0 )
- #define D3D12_DEFAULT_SLOPE_SCALED_DEPTH_BIAS ( 0.0f )
- #define D3D12_DEFAULT_STENCIL_READ_MASK ( 0xff )
- #define D3D12_DEFAULT_STENCIL_REFERENCE ( 0 )
- #define D3D12_DEFAULT_STENCIL_WRITE_MASK ( 0xff )
- #define D3D12_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX ( 0 )
- #define D3D12_DEFAULT_VIEWPORT_HEIGHT ( 0 )
- #define D3D12_DEFAULT_VIEWPORT_MAX_DEPTH ( 0.0f )
- #define D3D12_DEFAULT_VIEWPORT_MIN_DEPTH ( 0.0f )
- #define D3D12_DEFAULT_VIEWPORT_TOPLEFTX ( 0 )
- #define D3D12_DEFAULT_VIEWPORT_TOPLEFTY ( 0 )
- #define D3D12_DEFAULT_VIEWPORT_WIDTH ( 0 )
- #define D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND ( 0xffffffff )
- #define D3D12_DRIVER_RESERVED_REGISTER_SPACE_VALUES_END ( 0xfffffff7 )
- #define D3D12_DRIVER_RESERVED_REGISTER_SPACE_VALUES_START ( 0xfffffff0 )
- #define D3D12_DS_INPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS ( 3968 )
- #define D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENTS ( 4 )
- #define D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COUNT ( 32 )
- #define D3D12_DS_INPUT_CONTROL_POINT_REGISTER_READS_PER_INST ( 2 )
- #define D3D12_DS_INPUT_CONTROL_POINT_REGISTER_READ_PORTS ( 1 )
- #define D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENTS ( 3 )
- #define D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COUNT ( 1 )
- #define D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_READS_PER_INST ( 2 )
- #define D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_READ_PORTS ( 1 )
- #define D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENTS ( 4 )
- #define D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COUNT ( 32 )
- #define D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST ( 2 )
- #define D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_READ_PORTS ( 1 )
- #define D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS ( 1 )
- #define D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COUNT ( 1 )
- #define D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST ( 2 )
- #define D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS ( 1 )
- #define D3D12_DS_OUTPUT_REGISTER_COMPONENTS ( 4 )
- #define D3D12_DS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_DS_OUTPUT_REGISTER_COUNT ( 32 )
- #define D3D12_FLOAT16_FUSED_TOLERANCE_IN_ULP ( 0.6 )
- #define D3D12_FLOAT32_MAX ( 3.402823466e+38f )
- #define D3D12_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP ( 0.6f )
- #define D3D12_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR ( 2.4f )
- #define D3D12_FLOAT_TO_SRGB_EXPONENT_NUMERATOR ( 1.0f )
- #define D3D12_FLOAT_TO_SRGB_OFFSET ( 0.055f )
- #define D3D12_FLOAT_TO_SRGB_SCALE_1 ( 12.92f )
- #define D3D12_FLOAT_TO_SRGB_SCALE_2 ( 1.055f )
- #define D3D12_FLOAT_TO_SRGB_THRESHOLD ( 0.0031308f )
- #define D3D12_FTOI_INSTRUCTION_MAX_INPUT ( 2147483647.999f )
- #define D3D12_FTOI_INSTRUCTION_MIN_INPUT ( -2147483648.999f )
- #define D3D12_FTOU_INSTRUCTION_MAX_INPUT ( 4294967295.999f )
- #define D3D12_FTOU_INSTRUCTION_MIN_INPUT ( 0.0f )
- #define D3D12_GS_INPUT_INSTANCE_ID_READS_PER_INST ( 2 )
- #define D3D12_GS_INPUT_INSTANCE_ID_READ_PORTS ( 1 )
- #define D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENTS ( 1 )
- #define D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COUNT ( 1 )
- #define D3D12_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS ( 1 )
- #define D3D12_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_GS_INPUT_PRIM_CONST_REGISTER_COUNT ( 1 )
- #define D3D12_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST ( 2 )
- #define D3D12_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS ( 1 )
- #define D3D12_GS_INPUT_REGISTER_COMPONENTS ( 4 )
- #define D3D12_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_GS_INPUT_REGISTER_COUNT ( 32 )
- #define D3D12_GS_INPUT_REGISTER_READS_PER_INST ( 2 )
- #define D3D12_GS_INPUT_REGISTER_READ_PORTS ( 1 )
- #define D3D12_GS_INPUT_REGISTER_VERTICES ( 32 )
- #define D3D12_GS_MAX_INSTANCE_COUNT ( 32 )
- #define D3D12_GS_MAX_OUTPUT_VERTEX_COUNT_ACROSS_INSTANCES ( 1024 )
- #define D3D12_GS_OUTPUT_ELEMENTS ( 32 )
- #define D3D12_GS_OUTPUT_REGISTER_COMPONENTS ( 4 )
- #define D3D12_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_GS_OUTPUT_REGISTER_COUNT ( 32 )
- #define D3D12_HS_CONTROL_POINT_PHASE_INPUT_REGISTER_COUNT ( 32 )
- #define D3D12_HS_CONTROL_POINT_PHASE_OUTPUT_REGISTER_COUNT ( 32 )
- #define D3D12_HS_CONTROL_POINT_REGISTER_COMPONENTS ( 4 )
- #define D3D12_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_HS_CONTROL_POINT_REGISTER_READS_PER_INST ( 2 )
- #define D3D12_HS_CONTROL_POINT_REGISTER_READ_PORTS ( 1 )
- #define D3D12_HS_FORK_PHASE_INSTANCE_COUNT_UPPER_BOUND ( 0xffffffff )
- #define D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENTS ( 1 )
- #define D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COUNT ( 1 )
- #define D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READS_PER_INST ( 2 )
- #define D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READ_PORTS ( 1 )
- #define D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENTS ( 1 )
- #define D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COUNT ( 1 )
- #define D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READS_PER_INST ( 2 )
- #define D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READ_PORTS ( 1 )
- #define D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS ( 1 )
- #define D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COUNT ( 1 )
- #define D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST ( 2 )
- #define D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS ( 1 )
- #define D3D12_HS_JOIN_PHASE_INSTANCE_COUNT_UPPER_BOUND ( 0xffffffff )
- #define D3D12_HS_MAXTESSFACTOR_LOWER_BOUND ( 1.0f )
- #define D3D12_HS_MAXTESSFACTOR_UPPER_BOUND ( 64.0f )
- #define D3D12_HS_OUTPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS ( 3968 )
- #define D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENTS ( 1 )
- #define D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COUNT ( 1 )
- #define D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READS_PER_INST ( 2 )
- #define D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READ_PORTS ( 1 )
- #define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENTS ( 4 )
- #define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COUNT ( 32 )
- #define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST ( 2 )
- #define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READ_PORTS ( 1 )
- #define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_SCALAR_COMPONENTS ( 128 )
- #define D3D12_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES ( 0 )
- #define D3D12_IA_DEFAULT_PRIMITIVE_TOPOLOGY ( 0 )
- #define D3D12_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES ( 0 )
- #define D3D12_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT ( 1 )
- #define D3D12_IA_INSTANCE_ID_BIT_COUNT ( 32 )
- #define D3D12_IA_INTEGER_ARITHMETIC_BIT_COUNT ( 32 )
- #define D3D12_IA_PATCH_MAX_CONTROL_POINT_COUNT ( 32 )
- #define D3D12_IA_PRIMITIVE_ID_BIT_COUNT ( 32 )
- #define D3D12_IA_VERTEX_ID_BIT_COUNT ( 32 )
- #define D3D12_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT ( 32 )
- #define D3D12_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS ( 128 )
- #define D3D12_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT ( 32 )
- #define D3D12_INTEGER_DIVIDE_BY_ZERO_QUOTIENT ( 0xffffffff )
- #define D3D12_INTEGER_DIVIDE_BY_ZERO_REMAINDER ( 0xffffffff )
- #define D3D12_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL ( 0xffffffff )
- #define D3D12_KEEP_UNORDERED_ACCESS_VIEWS ( 0xffffffff )
- #define D3D12_LINEAR_GAMMA ( 1.0f )
- #define D3D12_MAJOR_VERSION ( 12 )
- #define D3D12_MAX_BORDER_COLOR_COMPONENT ( 1.0f )
- #define D3D12_MAX_DEPTH ( 1.0f )
- #define D3D12_MAX_LIVE_STATIC_SAMPLERS ( 2032 )
- #define D3D12_MAX_MAXANISOTROPY ( 16 )
- #define D3D12_MAX_MULTISAMPLE_SAMPLE_COUNT ( 32 )
- #define D3D12_MAX_POSITION_VALUE ( 3.402823466e+34f )
- #define D3D12_MAX_ROOT_COST ( 64 )
- #define D3D12_MAX_TEXTURE_DIMENSION_2_TO_EXP ( 17 )
- #define D3D12_MINOR_VERSION ( 0 )
- #define D3D12_MIN_BORDER_COLOR_COMPONENT ( 0.0f )
- #define D3D12_MIN_DEPTH ( 0.0f )
- #define D3D12_MIN_MAXANISOTROPY ( 0 )
- #define D3D12_MIP_LOD_BIAS_MAX ( 15.99f )
- #define D3D12_MIP_LOD_BIAS_MIN ( -16.0f )
- #define D3D12_MIP_LOD_FRACTIONAL_BIT_COUNT ( 8 )
- #define D3D12_MIP_LOD_RANGE_BIT_COUNT ( 8 )
- #define D3D12_MULTISAMPLE_ANTIALIAS_LINE_WIDTH ( 1.4f )
- #define D3D12_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT ( 0 )
- #define D3D12_OS_RESERVED_REGISTER_SPACE_VALUES_END ( 0xffffffff )
- #define D3D12_OS_RESERVED_REGISTER_SPACE_VALUES_START ( 0xfffffff8 )
- #define D3D12_PACKED_TILE ( 0xffffffff )
- #define D3D12_PIXEL_ADDRESS_RANGE_BIT_COUNT ( 15 )
- #define D3D12_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT ( 16 )
- #define D3D12_PS_CS_UAV_REGISTER_COMPONENTS ( 1 )
- #define D3D12_PS_CS_UAV_REGISTER_COUNT ( 8 )
- #define D3D12_PS_CS_UAV_REGISTER_READS_PER_INST ( 1 )
- #define D3D12_PS_CS_UAV_REGISTER_READ_PORTS ( 1 )
- #define D3D12_PS_FRONTFACING_DEFAULT_VALUE ( 0xffffffff )
- #define D3D12_PS_FRONTFACING_FALSE_VALUE ( 0 )
- #define D3D12_PS_FRONTFACING_TRUE_VALUE ( 0xffffffff )
- #define D3D12_PS_INPUT_REGISTER_COMPONENTS ( 4 )
- #define D3D12_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_PS_INPUT_REGISTER_COUNT ( 32 )
- #define D3D12_PS_INPUT_REGISTER_READS_PER_INST ( 2 )
- #define D3D12_PS_INPUT_REGISTER_READ_PORTS ( 1 )
- #define D3D12_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT ( 0.0f )
- #define D3D12_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS ( 1 )
- #define D3D12_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_PS_OUTPUT_DEPTH_REGISTER_COUNT ( 1 )
- #define D3D12_PS_OUTPUT_MASK_REGISTER_COMPONENTS ( 1 )
- #define D3D12_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_PS_OUTPUT_MASK_REGISTER_COUNT ( 1 )
- #define D3D12_PS_OUTPUT_REGISTER_COMPONENTS ( 4 )
- #define D3D12_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_PS_OUTPUT_REGISTER_COUNT ( 8 )
- #define D3D12_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT ( 0.5f )
- #define D3D12_RAW_UAV_SRV_BYTE_ALIGNMENT ( 16 )
- #define D3D12_REQ_BLEND_OBJECT_COUNT_PER_DEVICE ( 4096 )
- #define D3D12_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP ( 27 )
- #define D3D12_REQ_CONSTANT_BUFFER_ELEMENT_COUNT ( 4096 )
- #define D3D12_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE ( 4096 )
- #define D3D12_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP ( 32 )
- #define D3D12_REQ_DRAW_VERTEX_COUNT_2_TO_EXP ( 32 )
- #define D3D12_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION ( 16384 )
- #define D3D12_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT ( 1024 )
- #define D3D12_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT ( 4096 )
- #define D3D12_REQ_MAXANISOTROPY ( 16 )
- #define D3D12_REQ_MIP_LEVELS ( 15 )
- #define D3D12_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES ( 2048 )
- #define D3D12_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE ( 4096 )
- #define D3D12_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH ( 16384 )
- #define D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM ( 128 )
- #define D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM ( 0.25f )
- #define D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_C_TERM ( 2048 )
- #define D3D12_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP ( 20 )
- #define D3D12_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE ( 4096 )
- #define D3D12_REQ_SUBRESOURCES ( 30720 )
- #define D3D12_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION ( 2048 )
- #define D3D12_REQ_TEXTURE1D_U_DIMENSION ( 16384 )
- #define D3D12_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION ( 2048 )
- #define D3D12_REQ_TEXTURE2D_U_OR_V_DIMENSION ( 16384 )
- #define D3D12_REQ_TEXTURE3D_U_V_OR_W_DIMENSION ( 2048 )
- #define D3D12_REQ_TEXTURECUBE_DIMENSION ( 16384 )
- #define D3D12_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL ( 0 )
- #define D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES ( 0xffffffff )
- #define D3D12_SHADER_MAJOR_VERSION ( 5 )
- #define D3D12_SHADER_MAX_INSTANCES ( 65535 )
- #define D3D12_SHADER_MAX_INTERFACES ( 253 )
- #define D3D12_SHADER_MAX_INTERFACE_CALL_SITES ( 4096 )
- #define D3D12_SHADER_MAX_TYPES ( 65535 )
- #define D3D12_SHADER_MINOR_VERSION ( 1 )
- #define D3D12_SHIFT_INSTRUCTION_PAD_VALUE ( 0 )
- #define D3D12_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT ( 5 )
- #define D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT ( 8 )
- #define D3D12_SMALL_MSAA_RESOURCE_PLACEMENT_ALIGNMENT ( 65536 )
- #define D3D12_SMALL_RESOURCE_PLACEMENT_ALIGNMENT ( 4096 )
- #define D3D12_SO_BUFFER_MAX_STRIDE_IN_BYTES ( 2048 )
- #define D3D12_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES ( 512 )
- #define D3D12_SO_BUFFER_SLOT_COUNT ( 4 )
- #define D3D12_SO_DDI_REGISTER_INDEX_DENOTING_GAP ( 0xffffffff )
- #define D3D12_SO_NO_RASTERIZED_STREAM ( 0xffffffff )
- #define D3D12_SO_OUTPUT_COMPONENT_COUNT ( 128 )
- #define D3D12_SO_STREAM_COUNT ( 4 )
- #define D3D12_SPEC_DATE_DAY ( 14 )
- #define D3D12_SPEC_DATE_MONTH ( 11 )
- #define D3D12_SPEC_DATE_YEAR ( 2014 )
- #define D3D12_SPEC_VERSION ( 1.16 )
- #define D3D12_SRGB_GAMMA ( 2.2f )
- #define D3D12_SRGB_TO_FLOAT_DENOMINATOR_1 ( 12.92f )
- #define D3D12_SRGB_TO_FLOAT_DENOMINATOR_2 ( 1.055f )
- #define D3D12_SRGB_TO_FLOAT_EXPONENT ( 2.4f )
- #define D3D12_SRGB_TO_FLOAT_OFFSET ( 0.055f )
- #define D3D12_SRGB_TO_FLOAT_THRESHOLD ( 0.04045f )
- #define D3D12_SRGB_TO_FLOAT_TOLERANCE_IN_ULP ( 0.5f )
- #define D3D12_STANDARD_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_STANDARD_COMPONENT_BIT_COUNT_DOUBLED ( 64 )
- #define D3D12_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE ( 4 )
- #define D3D12_STANDARD_PIXEL_COMPONENT_COUNT ( 128 )
- #define D3D12_STANDARD_PIXEL_ELEMENT_COUNT ( 32 )
- #define D3D12_STANDARD_VECTOR_SIZE ( 4 )
- #define D3D12_STANDARD_VERTEX_ELEMENT_COUNT ( 32 )
- #define D3D12_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT ( 64 )
- #define D3D12_SUBPIXEL_FRACTIONAL_BIT_COUNT ( 8 )
- #define D3D12_SUBTEXEL_FRACTIONAL_BIT_COUNT ( 8 )
- #define D3D12_SYSTEM_RESERVED_REGISTER_SPACE_VALUES_END ( 0xffffffff )
- #define D3D12_SYSTEM_RESERVED_REGISTER_SPACE_VALUES_START ( 0xfffffff0 )
- #define D3D12_TESSELLATOR_MAX_EVEN_TESSELLATION_FACTOR ( 64 )
- #define D3D12_TESSELLATOR_MAX_ISOLINE_DENSITY_TESSELLATION_FACTOR ( 64 )
- #define D3D12_TESSELLATOR_MAX_ODD_TESSELLATION_FACTOR ( 63 )
- #define D3D12_TESSELLATOR_MAX_TESSELLATION_FACTOR ( 64 )
- #define D3D12_TESSELLATOR_MIN_EVEN_TESSELLATION_FACTOR ( 2 )
- #define D3D12_TESSELLATOR_MIN_ISOLINE_DENSITY_TESSELLATION_FACTOR ( 1 )
- #define D3D12_TESSELLATOR_MIN_ODD_TESSELLATION_FACTOR ( 1 )
- #define D3D12_TEXEL_ADDRESS_RANGE_BIT_COUNT ( 16 )
- #define D3D12_TEXTURE_DATA_PITCH_ALIGNMENT ( 256 )
- #define D3D12_TEXTURE_DATA_PLACEMENT_ALIGNMENT ( 512 )
- #define D3D12_TILED_RESOURCE_TILE_SIZE_IN_BYTES ( 65536 )
- #define D3D12_UAV_SLOT_COUNT ( 64 )
- #define D3D12_UNBOUND_MEMORY_ACCESS_RESULT ( 0 )
- #define D3D12_VIEWPORT_AND_SCISSORRECT_MAX_INDEX ( 15 )
- #define D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE ( 16 )
- #define D3D12_VIEWPORT_BOUNDS_MAX ( 32767 )
- #define D3D12_VIEWPORT_BOUNDS_MIN ( -32768 )
- #define D3D12_VS_INPUT_REGISTER_COMPONENTS ( 4 )
- #define D3D12_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_VS_INPUT_REGISTER_COUNT ( 32 )
- #define D3D12_VS_INPUT_REGISTER_READS_PER_INST ( 2 )
- #define D3D12_VS_INPUT_REGISTER_READ_PORTS ( 1 )
- #define D3D12_VS_OUTPUT_REGISTER_COMPONENTS ( 4 )
- #define D3D12_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
- #define D3D12_VS_OUTPUT_REGISTER_COUNT ( 32 )
- #define D3D12_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT ( 10 )
- #define D3D12_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP ( 25 )
- #define D3D12_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP ( 25 )
- #endif
- typedef UINT64 D3D12_GPU_VIRTUAL_ADDRESS;
- typedef
- enum D3D12_COMMAND_LIST_TYPE
- {
- D3D12_COMMAND_LIST_TYPE_DIRECT = 0,
- D3D12_COMMAND_LIST_TYPE_BUNDLE = 1,
- D3D12_COMMAND_LIST_TYPE_COMPUTE = 2,
- D3D12_COMMAND_LIST_TYPE_COPY = 3
- } D3D12_COMMAND_LIST_TYPE;
- typedef
- enum D3D12_COMMAND_QUEUE_FLAG
- {
- D3D12_COMMAND_QUEUE_NONE = 0,
- D3D12_COMMAND_QUEUE_DISABLE_GPU_TIMEOUT = 0x1
- } D3D12_COMMAND_QUEUE_FLAG;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMMAND_QUEUE_FLAG );
- typedef struct D3D12_COMMAND_QUEUE_DESC
- {
- D3D12_COMMAND_LIST_TYPE Type;
- INT Priority;
- D3D12_COMMAND_QUEUE_FLAG Flags;
- UINT NodeMask;
- } D3D12_COMMAND_QUEUE_DESC;
- typedef
- enum D3D12_PRIMITIVE_TOPOLOGY_TYPE
- {
- D3D12_PRIMITIVE_TOPOLOGY_TYPE_UNDEFINED = 0,
- D3D12_PRIMITIVE_TOPOLOGY_TYPE_POINT = 1,
- D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE = 2,
- D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE = 3,
- D3D12_PRIMITIVE_TOPOLOGY_TYPE_PATCH = 4
- } D3D12_PRIMITIVE_TOPOLOGY_TYPE;
- #if !defined( D3D12_NO_HELPERS ) && defined( __cplusplus )
- }
- struct CD3D12_DEFAULT {};
- extern const DECLSPEC_SELECTANY CD3D12_DEFAULT D3D12_DEFAULT;
- extern "C"{
- #endif
- typedef
- enum D3D12_INPUT_CLASSIFICATION
- {
- D3D12_INPUT_PER_VERTEX_DATA = 0,
- D3D12_INPUT_PER_INSTANCE_DATA = 1
- } D3D12_INPUT_CLASSIFICATION;
- typedef struct D3D12_INPUT_ELEMENT_DESC
- {
- LPCSTR SemanticName;
- UINT SemanticIndex;
- DXGI_FORMAT Format;
- UINT InputSlot;
- UINT AlignedByteOffset;
- D3D12_INPUT_CLASSIFICATION InputSlotClass;
- UINT InstanceDataStepRate;
- } D3D12_INPUT_ELEMENT_DESC;
- typedef
- enum D3D12_FILL_MODE
- {
- D3D12_FILL_WIREFRAME = 2,
- D3D12_FILL_SOLID = 3
- } D3D12_FILL_MODE;
- typedef D3D_PRIMITIVE_TOPOLOGY D3D12_PRIMITIVE_TOPOLOGY;
- typedef D3D_PRIMITIVE D3D12_PRIMITIVE;
- typedef
- enum D3D12_CULL_MODE
- {
- D3D12_CULL_NONE = 1,
- D3D12_CULL_FRONT = 2,
- D3D12_CULL_BACK = 3
- } D3D12_CULL_MODE;
- typedef struct D3D12_SO_DECLARATION_ENTRY
- {
- UINT Stream;
- LPCSTR SemanticName;
- UINT SemanticIndex;
- BYTE StartComponent;
- BYTE ComponentCount;
- BYTE OutputSlot;
- } D3D12_SO_DECLARATION_ENTRY;
- typedef struct D3D12_VIEWPORT
- {
- FLOAT TopLeftX;
- FLOAT TopLeftY;
- FLOAT Width;
- FLOAT Height;
- FLOAT MinDepth;
- FLOAT MaxDepth;
- } D3D12_VIEWPORT;
- typedef
- enum D3D12_OFFER_RESOURCE_PRIORITY
- {
- D3D12_OFFER_RESOURCE_PRIORITY_LOW = 1,
- D3D12_OFFER_RESOURCE_PRIORITY_NORMAL = ( D3D12_OFFER_RESOURCE_PRIORITY_LOW + 1 ) ,
- D3D12_OFFER_RESOURCE_PRIORITY_HIGH = ( D3D12_OFFER_RESOURCE_PRIORITY_NORMAL + 1 )
- } D3D12_OFFER_RESOURCE_PRIORITY;
- #if !defined( D3D12_NO_HELPERS ) && defined( __cplusplus )
- }
- inline bool operator==( const D3D12_VIEWPORT& l, const D3D12_VIEWPORT& r )
- {
- return l.TopLeftX == r.TopLeftX && l.TopLeftY == r.TopLeftY && l.Width == r.Width &&
- l.Height == r.Height && l.MinDepth == r.MinDepth && l.MaxDepth == r.MaxDepth;
- }
- inline bool operator!=( const D3D12_VIEWPORT& l, const D3D12_VIEWPORT& r )
- { return !( l == r ); }
- extern "C"{
- #endif
- typedef RECT D3D12_RECT;
- #if !defined( D3D12_NO_HELPERS ) && defined( __cplusplus )
- }
- struct CD3D12_RECT : public D3D12_RECT
- {
- CD3D12_RECT()
- {}
- explicit CD3D12_RECT( const D3D12_RECT& o ) :
- D3D12_RECT( o )
- {}
- explicit CD3D12_RECT(
- LONG Left,
- LONG Top,
- LONG Right,
- LONG Bottom )
- {
- left = Left;
- top = Top;
- right = Right;
- bottom = Bottom;
- }
- ~CD3D12_RECT() {}
- operator const D3D12_RECT&() const { return *this; }
- };
- extern "C"{
- #endif
- typedef struct D3D12_BOX
- {
- UINT left;
- UINT top;
- UINT front;
- UINT right;
- UINT bottom;
- UINT back;
- } D3D12_BOX;
- #if !defined( D3D12_NO_HELPERS ) && defined( __cplusplus )
- }
- struct CD3D12_BOX : public D3D12_BOX
- {
- CD3D12_BOX()
- {}
- explicit CD3D12_BOX( const D3D12_BOX& o ) :
- D3D12_BOX( o )
- {}
- explicit CD3D12_BOX(
- LONG Left,
- LONG Right )
- {
- left = Left;
- top = 0;
- front = 0;
- right = Right;
- bottom = 1;
- back = 1;
- }
- explicit CD3D12_BOX(
- LONG Left,
- LONG Top,
- LONG Right,
- LONG Bottom )
- {
- left = Left;
- top = Top;
- front = 0;
- right = Right;
- bottom = Bottom;
- back = 1;
- }
- explicit CD3D12_BOX(
- LONG Left,
- LONG Top,
- LONG Front,
- LONG Right,
- LONG Bottom,
- LONG Back )
- {
- left = Left;
- top = Top;
- front = Front;
- right = Right;
- bottom = Bottom;
- back = Back;
- }
- ~CD3D12_BOX() {}
- operator const D3D12_BOX&() const { return *this; }
- };
- inline bool operator==( const D3D12_BOX& l, const D3D12_BOX& r )
- {
- return l.left == r.left && l.top == r.top && l.front == r.front &&
- l.right == r.right && l.bottom == r.bottom && l.back == r.back;
- }
- inline bool operator!=( const D3D12_BOX& l, const D3D12_BOX& r )
- { return !( l == r ); }
- extern "C"{
- #endif
- typedef
- enum D3D12_COMPARISON_FUNC
- {
- D3D12_COMPARISON_NEVER = 1,
- D3D12_COMPARISON_LESS = 2,
- D3D12_COMPARISON_EQUAL = 3,
- D3D12_COMPARISON_LESS_EQUAL = 4,
- D3D12_COMPARISON_GREATER = 5,
- D3D12_COMPARISON_NOT_EQUAL = 6,
- D3D12_COMPARISON_GREATER_EQUAL = 7,
- D3D12_COMPARISON_ALWAYS = 8
- } D3D12_COMPARISON_FUNC;
- typedef
- enum D3D12_DEPTH_WRITE_MASK
- {
- D3D12_DEPTH_WRITE_MASK_ZERO = 0,
- D3D12_DEPTH_WRITE_MASK_ALL = 1
- } D3D12_DEPTH_WRITE_MASK;
- typedef
- enum D3D12_STENCIL_OP
- {
- D3D12_STENCIL_OP_KEEP = 1,
- D3D12_STENCIL_OP_ZERO = 2,
- D3D12_STENCIL_OP_REPLACE = 3,
- D3D12_STENCIL_OP_INCR_SAT = 4,
- D3D12_STENCIL_OP_DECR_SAT = 5,
- D3D12_STENCIL_OP_INVERT = 6,
- D3D12_STENCIL_OP_INCR = 7,
- D3D12_STENCIL_OP_DECR = 8
- } D3D12_STENCIL_OP;
- typedef struct D3D12_DEPTH_STENCILOP_DESC
- {
- D3D12_STENCIL_OP StencilFailOp;
- D3D12_STENCIL_OP StencilDepthFailOp;
- D3D12_STENCIL_OP StencilPassOp;
- D3D12_COMPARISON_FUNC StencilFunc;
- } D3D12_DEPTH_STENCILOP_DESC;
- typedef struct D3D12_DEPTH_STENCIL_DESC
- {
- BOOL DepthEnable;
- D3D12_DEPTH_WRITE_MASK DepthWriteMask;
- D3D12_COMPARISON_FUNC DepthFunc;
- BOOL StencilEnable;
- UINT8 StencilReadMask;
- UINT8 StencilWriteMask;
- D3D12_DEPTH_STENCILOP_DESC FrontFace;
- D3D12_DEPTH_STENCILOP_DESC BackFace;
- } D3D12_DEPTH_STENCIL_DESC;
- #if !defined( D3D12_NO_HELPERS ) && defined( __cplusplus )
- }
- struct CD3D12_DEPTH_STENCIL_DESC : public D3D12_DEPTH_STENCIL_DESC
- {
- CD3D12_DEPTH_STENCIL_DESC()
- {}
- explicit CD3D12_DEPTH_STENCIL_DESC( const D3D12_DEPTH_STENCIL_DESC& o ) :
- D3D12_DEPTH_STENCIL_DESC( o )
- {}
- explicit CD3D12_DEPTH_STENCIL_DESC( CD3D12_DEFAULT )
- {
- DepthEnable = TRUE;
- DepthWriteMask = D3D12_DEPTH_WRITE_MASK_ALL;
- DepthFunc = D3D12_COMPARISON_LESS;
- StencilEnable = FALSE;
- StencilReadMask = D3D12_DEFAULT_STENCIL_READ_MASK;
- StencilWriteMask = D3D12_DEFAULT_STENCIL_WRITE_MASK;
- const D3D12_DEPTH_STENCILOP_DESC defaultStencilOp =
- { D3D12_STENCIL_OP_KEEP, D3D12_STENCIL_OP_KEEP, D3D12_STENCIL_OP_KEEP, D3D12_COMPARISON_ALWAYS };
- FrontFace = defaultStencilOp;
- BackFace = defaultStencilOp;
- }
- explicit CD3D12_DEPTH_STENCIL_DESC(
- BOOL depthEnable,
- D3D12_DEPTH_WRITE_MASK depthWriteMask,
- D3D12_COMPARISON_FUNC depthFunc,
- BOOL stencilEnable,
- UINT8 stencilReadMask,
- UINT8 stencilWriteMask,
- D3D12_STENCIL_OP frontStencilFailOp,
- D3D12_STENCIL_OP frontStencilDepthFailOp,
- D3D12_STENCIL_OP frontStencilPassOp,
- D3D12_COMPARISON_FUNC frontStencilFunc,
- D3D12_STENCIL_OP backStencilFailOp,
- D3D12_STENCIL_OP backStencilDepthFailOp,
- D3D12_STENCIL_OP backStencilPassOp,
- D3D12_COMPARISON_FUNC backStencilFunc )
- {
- DepthEnable = depthEnable;
- DepthWriteMask = depthWriteMask;
- DepthFunc = depthFunc;
- StencilEnable = stencilEnable;
- StencilReadMask = stencilReadMask;
- StencilWriteMask = stencilWriteMask;
- FrontFace.StencilFailOp = frontStencilFailOp;
- FrontFace.StencilDepthFailOp = frontStencilDepthFailOp;
- FrontFace.StencilPassOp = frontStencilPassOp;
- FrontFace.StencilFunc = frontStencilFunc;
- BackFace.StencilFailOp = backStencilFailOp;
- BackFace.StencilDepthFailOp = backStencilDepthFailOp;
- BackFace.StencilPassOp = backStencilPassOp;
- BackFace.StencilFunc = backStencilFunc;
- }
- ~CD3D12_DEPTH_STENCIL_DESC() {}
- operator const D3D12_DEPTH_STENCIL_DESC&() const { return *this; }
- };
- extern "C"{
- #endif
- typedef
- enum D3D12_BLEND
- {
- D3D12_BLEND_ZERO = 1,
- D3D12_BLEND_ONE = 2,
- D3D12_BLEND_SRC_COLOR = 3,
- D3D12_BLEND_INV_SRC_COLOR = 4,
- D3D12_BLEND_SRC_ALPHA = 5,
- D3D12_BLEND_INV_SRC_ALPHA = 6,
- D3D12_BLEND_DEST_ALPHA = 7,
- D3D12_BLEND_INV_DEST_ALPHA = 8,
- D3D12_BLEND_DEST_COLOR = 9,
- D3D12_BLEND_INV_DEST_COLOR = 10,
- D3D12_BLEND_SRC_ALPHA_SAT = 11,
- D3D12_BLEND_BLEND_FACTOR = 14,
- D3D12_BLEND_INV_BLEND_FACTOR = 15,
- D3D12_BLEND_SRC1_COLOR = 16,
- D3D12_BLEND_INV_SRC1_COLOR = 17,
- D3D12_BLEND_SRC1_ALPHA = 18,
- D3D12_BLEND_INV_SRC1_ALPHA = 19
- } D3D12_BLEND;
- typedef
- enum D3D12_BLEND_OP
- {
- D3D12_BLEND_OP_ADD = 1,
- D3D12_BLEND_OP_SUBTRACT = 2,
- D3D12_BLEND_OP_REV_SUBTRACT = 3,
- D3D12_BLEND_OP_MIN = 4,
- D3D12_BLEND_OP_MAX = 5
- } D3D12_BLEND_OP;
- typedef
- enum D3D12_COLOR_WRITE_ENABLE
- {
- D3D12_COLOR_WRITE_ENABLE_RED = 1,
- D3D12_COLOR_WRITE_ENABLE_GREEN = 2,
- D3D12_COLOR_WRITE_ENABLE_BLUE = 4,
- D3D12_COLOR_WRITE_ENABLE_ALPHA = 8,
- D3D12_COLOR_WRITE_ENABLE_ALL = ( ( ( D3D12_COLOR_WRITE_ENABLE_RED | D3D12_COLOR_WRITE_ENABLE_GREEN ) | D3D12_COLOR_WRITE_ENABLE_BLUE ) | D3D12_COLOR_WRITE_ENABLE_ALPHA )
- } D3D12_COLOR_WRITE_ENABLE;
- typedef
- enum D3D12_LOGIC_OP
- {
- D3D12_LOGIC_OP_CLEAR = 0,
- D3D12_LOGIC_OP_SET = ( D3D12_LOGIC_OP_CLEAR + 1 ) ,
- D3D12_LOGIC_OP_COPY = ( D3D12_LOGIC_OP_SET + 1 ) ,
- D3D12_LOGIC_OP_COPY_INVERTED = ( D3D12_LOGIC_OP_COPY + 1 ) ,
- D3D12_LOGIC_OP_NOOP = ( D3D12_LOGIC_OP_COPY_INVERTED + 1 ) ,
- D3D12_LOGIC_OP_INVERT = ( D3D12_LOGIC_OP_NOOP + 1 ) ,
- D3D12_LOGIC_OP_AND = ( D3D12_LOGIC_OP_INVERT + 1 ) ,
- D3D12_LOGIC_OP_NAND = ( D3D12_LOGIC_OP_AND + 1 ) ,
- D3D12_LOGIC_OP_OR = ( D3D12_LOGIC_OP_NAND + 1 ) ,
- D3D12_LOGIC_OP_NOR = ( D3D12_LOGIC_OP_OR + 1 ) ,
- D3D12_LOGIC_OP_XOR = ( D3D12_LOGIC_OP_NOR + 1 ) ,
- D3D12_LOGIC_OP_EQUIV = ( D3D12_LOGIC_OP_XOR + 1 ) ,
- D3D12_LOGIC_OP_AND_REVERSE = ( D3D12_LOGIC_OP_EQUIV + 1 ) ,
- D3D12_LOGIC_OP_AND_INVERTED = ( D3D12_LOGIC_OP_AND_REVERSE + 1 ) ,
- D3D12_LOGIC_OP_OR_REVERSE = ( D3D12_LOGIC_OP_AND_INVERTED + 1 ) ,
- D3D12_LOGIC_OP_OR_INVERTED = ( D3D12_LOGIC_OP_OR_REVERSE + 1 )
- } D3D12_LOGIC_OP;
- typedef struct D3D12_RENDER_TARGET_BLEND_DESC
- {
- BOOL BlendEnable;
- BOOL LogicOpEnable;
- D3D12_BLEND SrcBlend;
- D3D12_BLEND DestBlend;
- D3D12_BLEND_OP BlendOp;
- D3D12_BLEND SrcBlendAlpha;
- D3D12_BLEND DestBlendAlpha;
- D3D12_BLEND_OP BlendOpAlpha;
- D3D12_LOGIC_OP LogicOp;
- UINT8 RenderTargetWriteMask;
- } D3D12_RENDER_TARGET_BLEND_DESC;
- typedef struct D3D12_BLEND_DESC
- {
- BOOL AlphaToCoverageEnable;
- BOOL IndependentBlendEnable;
- D3D12_RENDER_TARGET_BLEND_DESC RenderTarget[ 8 ];
- } D3D12_BLEND_DESC;
- /* Note, the array size for RenderTarget[] above is D3D12_SIMULTANEOUS_RENDERTARGET_COUNT.
- IDL processing/generation of this header replaces the define; this comment is merely explaining what happened. */
- #if !defined( D3D12_NO_HELPERS ) && defined( __cplusplus )
- }
- struct CD3D12_BLEND_DESC : public D3D12_BLEND_DESC
- {
- CD3D12_BLEND_DESC()
- {}
- explicit CD3D12_BLEND_DESC( const D3D12_BLEND_DESC& o ) :
- D3D12_BLEND_DESC( o )
- {}
- explicit CD3D12_BLEND_DESC( CD3D12_DEFAULT )
- {
- AlphaToCoverageEnable = FALSE;
- IndependentBlendEnable = FALSE;
- const D3D12_RENDER_TARGET_BLEND_DESC defaultRenderTargetBlendDesc =
- {
- FALSE,FALSE,
- D3D12_BLEND_ONE, D3D12_BLEND_ZERO, D3D12_BLEND_OP_ADD,
- D3D12_BLEND_ONE, D3D12_BLEND_ZERO, D3D12_BLEND_OP_ADD,
- D3D12_LOGIC_OP_NOOP,
- D3D12_COLOR_WRITE_ENABLE_ALL,
- };
- for (UINT i = 0; i < D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT; ++i)
- RenderTarget[ i ] = defaultRenderTargetBlendDesc;
- }
- ~CD3D12_BLEND_DESC() {}
- operator const D3D12_BLEND_DESC&() const { return *this; }
- };
- extern "C"{
- #endif
- typedef
- enum D3D12_CONSERVATIVE_RASTERIZATION_MODE
- {
- D3D12_CONSERVATIVE_RASTERIZATION_MODE_OFF = 0,
- D3D12_CONSERVATIVE_RASTERIZATION_MODE_ON = 1
- } D3D12_CONSERVATIVE_RASTERIZATION_MODE;
- typedef struct D3D12_RASTERIZER_DESC
- {
- D3D12_FILL_MODE FillMode;
- D3D12_CULL_MODE CullMode;
- BOOL FrontCounterClockwise;
- INT DepthBias;
- FLOAT DepthBiasClamp;
- FLOAT SlopeScaledDepthBias;
- BOOL DepthClipEnable;
- BOOL MultisampleEnable;
- BOOL AntialiasedLineEnable;
- UINT ForcedSampleCount;
- D3D12_CONSERVATIVE_RASTERIZATION_MODE ConservativeRaster;
- } D3D12_RASTERIZER_DESC;
- #if !defined( D3D12_NO_HELPERS ) && defined( __cplusplus )
- }
- struct CD3D12_RASTERIZER_DESC : public D3D12_RASTERIZER_DESC
- {
- CD3D12_RASTERIZER_DESC()
- {}
- explicit CD3D12_RASTERIZER_DESC( const D3D12_RASTERIZER_DESC& o ) :
- D3D12_RASTERIZER_DESC( o )
- {}
- explicit CD3D12_RASTERIZER_DESC( CD3D12_DEFAULT )
- {
- FillMode = D3D12_FILL_SOLID;
- CullMode = D3D12_CULL_BACK;
- FrontCounterClockwise = FALSE;
- DepthBias = D3D12_DEFAULT_DEPTH_BIAS;
- DepthBiasClamp = D3D12_DEFAULT_DEPTH_BIAS_CLAMP;
- SlopeScaledDepthBias = D3D12_DEFAULT_SLOPE_SCALED_DEPTH_BIAS;
- DepthClipEnable = TRUE;
- MultisampleEnable = FALSE;
- AntialiasedLineEnable = FALSE;
- ForcedSampleCount = 0;
- ConservativeRaster = D3D12_CONSERVATIVE_RASTERIZATION_MODE_OFF;
- }
- explicit CD3D12_RASTERIZER_DESC(
- D3D12_FILL_MODE fillMode,
- D3D12_CULL_MODE cullMode,
- BOOL frontCounterClockwise,
- INT depthBias,
- FLOAT depthBiasClamp,
- FLOAT slopeScaledDepthBias,
- BOOL depthClipEnable,
- BOOL multisampleEnable,
- BOOL antialiasedLineEnable,
- UINT forcedSampleCount,
- D3D12_CONSERVATIVE_RASTERIZATION_MODE conservativeRaster)
- {
- FillMode = fillMode;
- CullMode = cullMode;
- FrontCounterClockwise = frontCounterClockwise;
- DepthBias = depthBias;
- DepthBiasClamp = depthBiasClamp;
- SlopeScaledDepthBias = slopeScaledDepthBias;
- DepthClipEnable = depthClipEnable;
- MultisampleEnable = multisampleEnable;
- AntialiasedLineEnable = antialiasedLineEnable;
- ForcedSampleCount = forcedSampleCount;
- ConservativeRaster = conservativeRaster;
- }
- ~CD3D12_RASTERIZER_DESC() {}
- operator const D3D12_RASTERIZER_DESC&() const { return *this; }
- };
- extern "C"{
- #endif
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0000_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0000_v0_0_s_ifspec;
- #ifndef __ID3D12Object_INTERFACE_DEFINED__
- #define __ID3D12Object_INTERFACE_DEFINED__
- /* interface ID3D12Object */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12Object;
- #if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("c4fec28f-7966-4e95-9f94-f431cb56c3b8")
- ID3D12Object : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetPrivateData(
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData) = 0;
- virtual HRESULT STDMETHODCALLTYPE SetPrivateData(
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData) = 0;
- virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface(
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData) = 0;
- virtual HRESULT STDMETHODCALLTYPE SetName(
- _In_z_ LPCWSTR Name) = 0;
- };
- #else /* C style interface */
- typedef struct ID3D12ObjectVtbl
- {
- BEGIN_INTERFACE
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Object * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Object * This);
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Object * This);
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Object * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Object * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Object * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Object * This,
- _In_z_ LPCWSTR Name);
- END_INTERFACE
- } ID3D12ObjectVtbl;
- interface ID3D12Object
- {
- CONST_VTBL struct ID3D12ObjectVtbl *lpVtbl;
- };
- #ifdef COBJMACROS
- #define ID3D12Object_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12Object_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12Object_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12Object_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12Object_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12Object_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12Object_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12Object_INTERFACE_DEFINED__ */
- #ifndef __ID3D12DeviceChild_INTERFACE_DEFINED__
- #define __ID3D12DeviceChild_INTERFACE_DEFINED__
- /* interface ID3D12DeviceChild */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12DeviceChild;
- #if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("905db94b-a00c-4140-9df5-2b64ca9ea357")
- ID3D12DeviceChild : public ID3D12Object
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetDevice(
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice) = 0;
- };
- #else /* C style interface */
- typedef struct ID3D12DeviceChildVtbl
- {
- BEGIN_INTERFACE
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12DeviceChild * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12DeviceChild * This);
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12DeviceChild * This);
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12DeviceChild * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12DeviceChild * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12DeviceChild * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12DeviceChild * This,
- _In_z_ LPCWSTR Name);
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12DeviceChild * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
- END_INTERFACE
- } ID3D12DeviceChildVtbl;
- interface ID3D12DeviceChild
- {
- CONST_VTBL struct ID3D12DeviceChildVtbl *lpVtbl;
- };
- #ifdef COBJMACROS
- #define ID3D12DeviceChild_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12DeviceChild_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12DeviceChild_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12DeviceChild_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12DeviceChild_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12DeviceChild_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12DeviceChild_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12DeviceChild_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12DeviceChild_INTERFACE_DEFINED__ */
- #ifndef __ID3D12RootSignature_INTERFACE_DEFINED__
- #define __ID3D12RootSignature_INTERFACE_DEFINED__
- /* interface ID3D12RootSignature */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12RootSignature;
- #if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("c54a6b66-72df-4ee8-8be5-a946a1429214")
- ID3D12RootSignature : public ID3D12DeviceChild
- {
- public:
- };
- #else /* C style interface */
- typedef struct ID3D12RootSignatureVtbl
- {
- BEGIN_INTERFACE
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12RootSignature * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12RootSignature * This);
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12RootSignature * This);
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12RootSignature * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12RootSignature * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12RootSignature * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12RootSignature * This,
- _In_z_ LPCWSTR Name);
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12RootSignature * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
- END_INTERFACE
- } ID3D12RootSignatureVtbl;
- interface ID3D12RootSignature
- {
- CONST_VTBL struct ID3D12RootSignatureVtbl *lpVtbl;
- };
- #ifdef COBJMACROS
- #define ID3D12RootSignature_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12RootSignature_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12RootSignature_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12RootSignature_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12RootSignature_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12RootSignature_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12RootSignature_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12RootSignature_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12RootSignature_INTERFACE_DEFINED__ */
- /* interface __MIDL_itf_d3d12_0000_0001 */
- /* [local] */
- typedef struct D3D12_SHADER_BYTECODE
- {
- _Field_size_bytes_full_(BytecodeLength) const void *pShaderBytecode;
- SIZE_T BytecodeLength;
- } D3D12_SHADER_BYTECODE;
- typedef struct D3D12_STREAM_OUTPUT_DESC
- {
- _Field_size_full_(NumEntries) const D3D12_SO_DECLARATION_ENTRY *pSODeclaration;
- UINT NumEntries;
- _Field_size_full_(NumStrides) const UINT *pBufferStrides;
- UINT NumStrides;
- UINT RasterizedStream;
- } D3D12_STREAM_OUTPUT_DESC;
- typedef struct D3D12_INPUT_LAYOUT_DESC
- {
- _Field_size_full_(NumElements) const D3D12_INPUT_ELEMENT_DESC *pInputElementDescs;
- UINT NumElements;
- } D3D12_INPUT_LAYOUT_DESC;
- typedef
- enum D3D12_INDEX_BUFFER_PROPERTIES
- {
- D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_DISABLED = 0,
- D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFF = 1,
- D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFFFFFF = 2
- } D3D12_INDEX_BUFFER_PROPERTIES;
- typedef struct D3D12_CACHED_PIPELINE_STATE
- {
- const void *pCachedBlob;
- SIZE_T CachedBlobSizeInBytes;
- } D3D12_CACHED_PIPELINE_STATE;
- typedef struct D3D12_GRAPHICS_PIPELINE_STATE_DESC
- {
- ID3D12RootSignature *pRootSignature;
- D3D12_SHADER_BYTECODE VS;
- D3D12_SHADER_BYTECODE PS;
- D3D12_SHADER_BYTECODE DS;
- D3D12_SHADER_BYTECODE HS;
- D3D12_SHADER_BYTECODE GS;
- D3D12_STREAM_OUTPUT_DESC StreamOutput;
- D3D12_BLEND_DESC BlendState;
- UINT SampleMask;
- D3D12_RASTERIZER_DESC RasterizerState;
- D3D12_DEPTH_STENCIL_DESC DepthStencilState;
- D3D12_INPUT_LAYOUT_DESC InputLayout;
- D3D12_INDEX_BUFFER_PROPERTIES IndexBufferProperties;
- D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType;
- UINT NumRenderTargets;
- DXGI_FORMAT RTVFormats[ 8 ];
- DXGI_FORMAT DSVFormat;
- DXGI_SAMPLE_DESC SampleDesc;
- UINT NodeMask;
- D3D12_CACHED_PIPELINE_STATE CachedPSO;
- } D3D12_GRAPHICS_PIPELINE_STATE_DESC;
- typedef struct D3D12_COMPUTE_PIPELINE_STATE_DESC
- {
- ID3D12RootSignature *pRootSignature;
- D3D12_SHADER_BYTECODE CS;
- UINT NodeMask;
- D3D12_CACHED_PIPELINE_STATE CachedPSO;
- } D3D12_COMPUTE_PIPELINE_STATE_DESC;
- typedef
- enum D3D12_FEATURE
- {
- D3D12_FEATURE_D3D12_OPTIONS = 0,
- D3D12_FEATURE_ARCHITECTURE = ( D3D12_FEATURE_D3D12_OPTIONS + 1 ) ,
- D3D12_FEATURE_FEATURE_LEVELS = ( D3D12_FEATURE_ARCHITECTURE + 1 ) ,
- D3D12_FEATURE_FORMAT_SUPPORT = ( D3D12_FEATURE_FEATURE_LEVELS + 1 ) ,
- D3D12_FEATURE_MULTISAMPLE_QUALITY_LEVELS = ( D3D12_FEATURE_FORMAT_SUPPORT + 1 )
- } D3D12_FEATURE;
- typedef
- enum D3D12_SHADER_MIN_PRECISION_SUPPORT
- {
- D3D12_SHADER_MIN_PRECISION_NONE = 0,
- D3D12_SHADER_MIN_PRECISION_10_BIT = 0x1,
- D3D12_SHADER_MIN_PRECISION_16_BIT = 0x2
- } D3D12_SHADER_MIN_PRECISION_SUPPORT;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_SHADER_MIN_PRECISION_SUPPORT );
- typedef
- enum D3D12_TILED_RESOURCES_TIER
- {
- D3D12_TILED_RESOURCES_NOT_SUPPORTED = 0,
- D3D12_TILED_RESOURCES_TIER_1 = 1,
- D3D12_TILED_RESOURCES_TIER_2 = 2,
- D3D12_TILED_RESOURCES_TIER_3 = 3
- } D3D12_TILED_RESOURCES_TIER;
- typedef
- enum D3D12_RESOURCE_BINDING_TIER
- {
- D3D12_RESOURCE_BINDING_TIER_1 = 1,
- D3D12_RESOURCE_BINDING_TIER_2 = 2,
- D3D12_RESOURCE_BINDING_TIER_3 = 3
- } D3D12_RESOURCE_BINDING_TIER;
- typedef
- enum D3D12_CONSERVATIVE_RASTERIZATION_TIER
- {
- D3D12_CONSERVATIVE_RASTERIZATION_NOT_SUPPORTED = 0,
- D3D12_CONSERVATIVE_RASTERIZATION_TIER_1 = 1,
- D3D12_CONSERVATIVE_RASTERIZATION_TIER_2 = 2,
- D3D12_CONSERVATIVE_RASTERIZATION_TIER_3 = 3
- } D3D12_CONSERVATIVE_RASTERIZATION_TIER;
- typedef
- enum D3D12_ASTC_PROFILE
- {
- D3D12_ASTC_PROFILE_NOT_SUPPORTED = 0,
- D3D12_ASTC_PROFILE_LDR = 1,
- D3D12_ASTC_PROFILE_HDR = 2,
- D3D12_ASTC_PROFILE_FULL = 3
- } D3D12_ASTC_PROFILE;
- typedef
- enum D3D12_FORMAT_SUPPORT1
- {
- D3D12_FORMAT_SUPPORT1_NONE = 0,
- D3D12_FORMAT_SUPPORT1_BUFFER = 0x1,
- D3D12_FORMAT_SUPPORT1_IA_VERTEX_BUFFER = 0x2,
- D3D12_FORMAT_SUPPORT1_IA_INDEX_BUFFER = 0x4,
- D3D12_FORMAT_SUPPORT1_SO_BUFFER = 0x8,
- D3D12_FORMAT_SUPPORT1_TEXTURE1D = 0x10,
- D3D12_FORMAT_SUPPORT1_TEXTURE2D = 0x20,
- D3D12_FORMAT_SUPPORT1_TEXTURE3D = 0x40,
- D3D12_FORMAT_SUPPORT1_TEXTURECUBE = 0x80,
- D3D12_FORMAT_SUPPORT1_SHADER_LOAD = 0x100,
- D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE = 0x200,
- D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE_COMPARISON = 0x400,
- D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE_MONO_TEXT = 0x800,
- D3D12_FORMAT_SUPPORT1_MIP = 0x1000,
- D3D12_FORMAT_SUPPORT1_RENDER_TARGET = 0x4000,
- D3D12_FORMAT_SUPPORT1_BLENDABLE = 0x8000,
- D3D12_FORMAT_SUPPORT1_DEPTH_STENCIL = 0x10000,
- D3D12_FORMAT_SUPPORT1_MULTISAMPLE_RESOLVE = 0x40000,
- D3D12_FORMAT_SUPPORT1_DISPLAY = 0x80000,
- D3D12_FORMAT_SUPPORT1_CAST_WITHIN_BIT_LAYOUT = 0x100000,
- D3D12_FORMAT_SUPPORT1_MULTISAMPLE_RENDERTARGET = 0x200000,
- D3D12_FORMAT_SUPPORT1_MULTISAMPLE_LOAD = 0x400000,
- D3D12_FORMAT_SUPPORT1_SHADER_GATHER = 0x800000,
- D3D12_FORMAT_SUPPORT1_BACK_BUFFER_CAST = 0x1000000,
- D3D12_FORMAT_SUPPORT1_TYPED_UNORDERED_ACCESS_VIEW = 0x2000000,
- D3D12_FORMAT_SUPPORT1_SHADER_GATHER_COMPARISON = 0x4000000,
- D3D12_FORMAT_SUPPORT1_DECODER_OUTPUT = 0x8000000,
- D3D12_FORMAT_SUPPORT1_VIDEO_PROCESSOR_OUTPUT = 0x10000000,
- D3D12_FORMAT_SUPPORT1_VIDEO_PROCESSOR_INPUT = 0x20000000,
- D3D12_FORMAT_SUPPORT1_VIDEO_ENCODER = 0x40000000
- } D3D12_FORMAT_SUPPORT1;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_FORMAT_SUPPORT1 );
- typedef
- enum D3D12_FORMAT_SUPPORT2
- {
- D3D12_FORMAT_SUPPORT2_NONE = 0,
- D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_ADD = 0x1,
- D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS = 0x2,
- D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE = 0x4,
- D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE = 0x8,
- D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX = 0x10,
- D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX = 0x20,
- D3D12_FORMAT_SUPPORT2_UAV_TYPED_LOAD = 0x40,
- D3D12_FORMAT_SUPPORT2_UAV_TYPED_STORE = 0x80,
- D3D12_FORMAT_SUPPORT2_OUTPUT_MERGER_LOGIC_OP = 0x100,
- D3D12_FORMAT_SUPPORT2_TILED = 0x200,
- D3D12_FORMAT_SUPPORT2_SHAREABLE = 0x400,
- D3D12_FORMAT_SUPPORT2_MULTIPLANE_OVERLAY = 0x4000
- } D3D12_FORMAT_SUPPORT2;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_FORMAT_SUPPORT2 );
- typedef
- enum D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG
- {
- D3D12_MULTISAMPLE_QUALITY_LEVELS_NONE = 0,
- D3D12_MULTISAMPLE_QUALITY_LEVELS_TILED_RESOURCE = 0x1
- } D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG );
- typedef
- enum D3D12_CROSS_NODE_SHARING_TIER
- {
- D3D12_CROSS_NODE_SHARING_NOT_SUPPORTED = 0,
- D3D12_CROSS_NODE_SHARING_TIER_1_EMULATED = 1,
- D3D12_CROSS_NODE_SHARING_TIER_1 = 2,
- D3D12_CROSS_NODE_SHARING_TIER_2 = 3
- } D3D12_CROSS_NODE_SHARING_TIER;
- typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS
- {
- _Out_ BOOL DoublePrecisionFloatShaderOps;
- _Out_ BOOL OutputMergerLogicOp;
- _Out_ D3D12_SHADER_MIN_PRECISION_SUPPORT MinPrecisionSupport;
- _Out_ D3D12_TILED_RESOURCES_TIER TiledResourcesTier;
- _Out_ D3D12_RESOURCE_BINDING_TIER ResourceBindingTier;
- _Out_ BOOL PSSpecifiedStencilRefSupported;
- _Out_ BOOL TypedUAVLoadAdditionalFormats;
- _Out_ BOOL ROVsSupported;
- _Out_ D3D12_CONSERVATIVE_RASTERIZATION_TIER ConservativeRasterizationTier;
- _Out_ UINT MaxGPUVirtualAddressBitsPerResource;
- _Out_ BOOL StandardSwizzle64KBSupported;
- _Out_ D3D12_ASTC_PROFILE ASTCProfile;
- _Out_ D3D12_CROSS_NODE_SHARING_TIER CrossNodeSharingTier;
- _Out_ BOOL CrossAdapterRowMajorTextureSupported;
- } D3D12_FEATURE_DATA_D3D12_OPTIONS;
- typedef struct D3D12_FEATURE_DATA_ARCHITECTURE
- {
- _In_ UINT NodeIndex;
- _Out_ BOOL TileBasedRenderer;
- _Out_ BOOL UMA;
- _Out_ BOOL CacheCoherentUMA;
- } D3D12_FEATURE_DATA_ARCHITECTURE;
- typedef struct D3D12_FEATURE_DATA_FEATURE_LEVELS
- {
- _In_ UINT NumFeatureLevels;
- _In_reads_(NumFeatureLevels) const D3D_FEATURE_LEVEL *pFeatureLevelsRequested;
- _Out_ D3D_FEATURE_LEVEL MaxSupportedFeatureLevel;
- } D3D12_FEATURE_DATA_FEATURE_LEVELS;
- typedef struct D3D12_FEATURE_DATA_FORMAT_SUPPORT
- {
- _In_ DXGI_FORMAT Format;
- _Out_ D3D12_FORMAT_SUPPORT1 Support1;
- _Out_ D3D12_FORMAT_SUPPORT2 Support2;
- } D3D12_FEATURE_DATA_FORMAT_SUPPORT;
- typedef struct D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS
- {
- _In_ DXGI_FORMAT Format;
- _In_ UINT SampleCount;
- _In_ D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG Flags;
- _Out_ UINT NumQualityLevels;
- } D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS;
- typedef struct D3D12_RESOURCE_ALLOCATION_INFO
- {
- UINT64 Size;
- UINT64 Alignment;
- } D3D12_RESOURCE_ALLOCATION_INFO;
- #if !defined( D3D12_NO_HELPERS ) && defined( __cplusplus )
- }
- struct CD3D12_RESOURCE_ALLOCATION_INFO : public D3D12_RESOURCE_ALLOCATION_INFO
- {
- CD3D12_RESOURCE_ALLOCATION_INFO()
- {}
- CD3D12_RESOURCE_ALLOCATION_INFO(
- UINT64 size,
- UINT64 alignment )
- {
- Size = size;
- Alignment = alignment;
- }
- operator const D3D12_RESOURCE_ALLOCATION_INFO&() const { return *this; }
- };
- extern "C"{
- #endif
- typedef
- enum D3D12_HEAP_TYPE
- {
- D3D12_HEAP_TYPE_DEFAULT = 1,
- D3D12_HEAP_TYPE_UPLOAD = 2,
- D3D12_HEAP_TYPE_READBACK = 3,
- D3D12_HEAP_TYPE_CUSTOM = 4
- } D3D12_HEAP_TYPE;
- typedef
- enum D3D12_CPU_PAGE_PROPERTIES
- {
- D3D12_CPU_PAGE_UNKNOWN = 0,
- D3D12_CPU_PAGE_NOT_AVAILABLE = 1,
- D3D12_CPU_PAGE_WRITE_COMBINE = 2,
- D3D12_CPU_PAGE_WRITE_BACK = 3
- } D3D12_CPU_PAGE_PROPERTIES;
- typedef
- enum D3D12_MEMORY_POOL
- {
- D3D12_MEMORY_POOL_UNKNOWN = 0,
- D3D12_MEMORY_POOL_L0 = 1,
- D3D12_MEMORY_POOL_L1 = 2
- } D3D12_MEMORY_POOL;
- typedef struct D3D12_HEAP_PROPERTIES
- {
- D3D12_HEAP_TYPE Type;
- D3D12_CPU_PAGE_PROPERTIES CPUPageProperties;
- D3D12_MEMORY_POOL MemoryPoolPreference;
- UINT CreationNodeMask;
- UINT VisibleNodeMask;
- } D3D12_HEAP_PROPERTIES;
- #if !defined( D3D12_NO_HELPERS ) && defined( __cplusplus )
- }
- struct CD3D12_HEAP_PROPERTIES : public D3D12_HEAP_PROPERTIES
- {
- CD3D12_HEAP_PROPERTIES()
- {}
- CD3D12_HEAP_PROPERTIES(
- D3D12_CPU_PAGE_PROPERTIES cpuPageProperties,
- D3D12_MEMORY_POOL memoryPoolPreference,
- UINT creationNodeMask = 1,
- UINT nodeMask = 1 )
- {
- Type = D3D12_HEAP_TYPE_CUSTOM;
- CPUPageProperties = cpuPageProperties;
- MemoryPoolPreference = memoryPoolPreference;
- CreationNodeMask = creationNodeMask;
- VisibleNodeMask = nodeMask;
- }
- explicit CD3D12_HEAP_PROPERTIES(
- D3D12_HEAP_TYPE type,
- UINT creationNodeMask = 1,
- UINT nodeMask = 1 )
- {
- Type = type;
- CPUPageProperties = D3D12_CPU_PAGE_UNKNOWN;
- MemoryPoolPreference = D3D12_MEMORY_POOL_UNKNOWN;
- CreationNodeMask = creationNodeMask;
- VisibleNodeMask = nodeMask;
- }
- operator const D3D12_HEAP_PROPERTIES&() const { return *this; }
- bool IsCPUAccessible() const
- {
- return Type == D3D12_HEAP_TYPE_UPLOAD || Type == D3D12_HEAP_TYPE_READBACK || (Type == D3D12_HEAP_TYPE_CUSTOM &&
- (CPUPageProperties == D3D12_CPU_PAGE_WRITE_COMBINE || CPUPageProperties == D3D12_CPU_PAGE_WRITE_BACK));
- }
- };
- inline bool operator==( const D3D12_HEAP_PROPERTIES& l, const D3D12_HEAP_PROPERTIES& r )
- {
- return l.Type == r.Type && l.CPUPageProperties == r.CPUPageProperties &&
- l.MemoryPoolPreference == r.MemoryPoolPreference &&
- l.CreationNodeMask == r.CreationNodeMask &&
- l.VisibleNodeMask == r.VisibleNodeMask;
- }
- inline bool operator!=( const D3D12_HEAP_PROPERTIES& l, const D3D12_HEAP_PROPERTIES& r )
- { return !( l == r ); }
- extern "C"{
- #endif
- typedef
- enum D3D12_HEAP_MISC_FLAG
- {
- D3D12_HEAP_MISC_NONE = 0,
- D3D12_HEAP_MISC_SHARED = 0x1,
- D3D12_HEAP_MISC_DENY_TEXTURES = 0x2,
- D3D12_HEAP_MISC_DENY_BUFFERS = 0x4,
- D3D12_HEAP_MISC_SHARED_CROSS_ADAPTER = 0x20
- } D3D12_HEAP_MISC_FLAG;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_HEAP_MISC_FLAG );
- typedef struct D3D12_HEAP_DESC
- {
- UINT64 Size;
- D3D12_HEAP_PROPERTIES Properties;
- UINT64 Alignment;
- D3D12_HEAP_MISC_FLAG MiscFlags;
- } D3D12_HEAP_DESC;
- #if !defined( D3D12_NO_HELPERS ) && defined( __cplusplus )
- }
- struct CD3D12_HEAP_DESC : public D3D12_HEAP_DESC
- {
- CD3D12_HEAP_DESC()
- {}
- CD3D12_HEAP_DESC(
- UINT64 size,
- D3D12_HEAP_PROPERTIES properties,
- UINT64 alignment = 0,
- D3D12_HEAP_MISC_FLAG miscFlags = D3D12_HEAP_MISC_NONE )
- {
- Size = size;
- Properties = properties;
- Alignment = alignment;
- MiscFlags = miscFlags;
- }
- CD3D12_HEAP_DESC(
- UINT64 size,
- D3D12_HEAP_TYPE type,
- UINT64 alignment = 0,
- D3D12_HEAP_MISC_FLAG miscFlags = D3D12_HEAP_MISC_NONE )
- {
- Size = size;
- Properties = CD3D12_HEAP_PROPERTIES( type );
- Alignment = alignment;
- MiscFlags = miscFlags;
- }
- CD3D12_HEAP_DESC(
- UINT64 size,
- D3D12_CPU_PAGE_PROPERTIES cpuPageProperties,
- D3D12_MEMORY_POOL memoryPoolPreference,
- UINT64 alignment = 0,
- D3D12_HEAP_MISC_FLAG miscFlags = D3D12_HEAP_MISC_NONE )
- {
- Size = size;
- Properties = CD3D12_HEAP_PROPERTIES( cpuPageProperties, memoryPoolPreference );
- Alignment = alignment;
- MiscFlags = miscFlags;
- }
- CD3D12_HEAP_DESC(
- const D3D12_RESOURCE_ALLOCATION_INFO& resAllocInfo,
- D3D12_HEAP_PROPERTIES properties,
- D3D12_HEAP_MISC_FLAG miscFlags = D3D12_HEAP_MISC_NONE )
- {
- Size = resAllocInfo.Size;
- Properties = properties;
- Alignment = resAllocInfo.Alignment;
- MiscFlags = miscFlags;
- }
- CD3D12_HEAP_DESC(
- const D3D12_RESOURCE_ALLOCATION_INFO& resAllocInfo,
- D3D12_HEAP_TYPE type,
- D3D12_HEAP_MISC_FLAG miscFlags = D3D12_HEAP_MISC_NONE )
- {
- Size = resAllocInfo.Size;
- Properties = CD3D12_HEAP_PROPERTIES( type );
- Alignment = resAllocInfo.Alignment;
- MiscFlags = miscFlags;
- }
- CD3D12_HEAP_DESC(
- const D3D12_RESOURCE_ALLOCATION_INFO& resAllocInfo,
- D3D12_CPU_PAGE_PROPERTIES cpuPageProperties,
- D3D12_MEMORY_POOL memoryPoolPreference,
- D3D12_HEAP_MISC_FLAG miscFlags = D3D12_HEAP_MISC_NONE )
- {
- Size = resAllocInfo.Size;
- Properties = CD3D12_HEAP_PROPERTIES( cpuPageProperties, memoryPoolPreference );
- Alignment = resAllocInfo.Alignment;
- MiscFlags = miscFlags;
- }
- operator const D3D12_HEAP_DESC&() const { return *this; }
- bool IsCPUAccessible() const
- { return static_cast< const CD3D12_HEAP_PROPERTIES* >( &Properties )->IsCPUAccessible(); }
- };
- extern "C"{
- #endif
- typedef
- enum D3D12_RESOURCE_DIMENSION
- {
- D3D12_RESOURCE_DIMENSION_UNKNOWN = 0,
- D3D12_RESOURCE_DIMENSION_BUFFER = 1,
- D3D12_RESOURCE_DIMENSION_TEXTURE_1D = 2,
- D3D12_RESOURCE_DIMENSION_TEXTURE_2D = 3,
- D3D12_RESOURCE_DIMENSION_TEXTURE_3D = 4
- } D3D12_RESOURCE_DIMENSION;
- typedef
- enum D3D12_TEXTURE_LAYOUT
- {
- D3D12_TEXTURE_LAYOUT_UNKNOWN = 0,
- D3D12_TEXTURE_LAYOUT_ROW_MAJOR = 1,
- D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE = 2,
- D3D12_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE = 3
- } D3D12_TEXTURE_LAYOUT;
- typedef
- enum D3D12_RESOURCE_MISC_FLAG
- {
- D3D12_RESOURCE_MISC_NONE = 0,
- D3D12_RESOURCE_MISC_ALLOW_RENDER_TARGET = 0x1,
- D3D12_RESOURCE_MISC_ALLOW_DEPTH_STENCIL = 0x2,
- D3D12_RESOURCE_MISC_ALLOW_UNORDERED_ACCESS = 0x4,
- D3D12_RESOURCE_MISC_DENY_SHADER_RESOURCE = 0x8,
- D3D12_RESOURCE_MISC_DENY_COMPRESSION_DATA = 0x10
- } D3D12_RESOURCE_MISC_FLAG;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_RESOURCE_MISC_FLAG );
- typedef struct D3D12_RESOURCE_DESC
- {
- D3D12_RESOURCE_DIMENSION Dimension;
- UINT64 Alignment;
- UINT64 Width;
- UINT Height;
- UINT16 DepthOrArraySize;
- UINT16 MipLevels;
- DXGI_FORMAT Format;
- DXGI_SAMPLE_DESC SampleDesc;
- D3D12_TEXTURE_LAYOUT Layout;
- D3D12_RESOURCE_MISC_FLAG MiscFlags;
- } D3D12_RESOURCE_DESC;
- #if !defined( D3D12_NO_HELPERS ) && defined( __cplusplus )
- }
- inline bool D3D12IsLayoutOpaque( D3D12_TEXTURE_LAYOUT Layout )
- { return Layout == D3D12_TEXTURE_LAYOUT_UNKNOWN || Layout == D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE; }
- struct CD3D12_RESOURCE_DESC : public D3D12_RESOURCE_DESC
- {
- CD3D12_RESOURCE_DESC()
- {}
- explicit CD3D12_RESOURCE_DESC( const D3D12_RESOURCE_DESC& o ) :
- D3D12_RESOURCE_DESC( o )
- {}
- CD3D12_RESOURCE_DESC(
- D3D12_RESOURCE_DIMENSION dimension,
- UINT64 alignment,
- UINT64 width,
- UINT height,
- UINT16 depthOrArraySize,
- UINT16 mipLevels,
- DXGI_FORMAT format,
- UINT sampleCount,
- UINT sampleQuality,
- D3D12_TEXTURE_LAYOUT layout,
- D3D12_RESOURCE_MISC_FLAG miscFlags )
- {
- Dimension = dimension;
- Alignment = alignment;
- Width = width;
- Height = height;
- DepthOrArraySize = depthOrArraySize;
- MipLevels = mipLevels;
- Format = format;
- SampleDesc.Count = sampleCount;
- SampleDesc.Quality = sampleQuality;
- Layout = layout;
- MiscFlags = miscFlags;
- }
- static CD3D12_RESOURCE_DESC Buffer(
- const D3D12_RESOURCE_ALLOCATION_INFO& resAllocInfo,
- D3D12_RESOURCE_MISC_FLAG miscFlags = D3D12_RESOURCE_MISC_NONE )
- {
- return CD3D12_RESOURCE_DESC( D3D12_RESOURCE_DIMENSION_BUFFER, resAllocInfo.Alignment, resAllocInfo.Size,
- 1, 1, 1, DXGI_FORMAT_UNKNOWN, 1, 0, D3D12_TEXTURE_LAYOUT_ROW_MAJOR, miscFlags );
- }
- static CD3D12_RESOURCE_DESC Buffer(
- UINT64 width,
- D3D12_RESOURCE_MISC_FLAG miscFlags = D3D12_RESOURCE_MISC_NONE,
- UINT64 alignment = 0 )
- {
- return CD3D12_RESOURCE_DESC( D3D12_RESOURCE_DIMENSION_BUFFER, alignment, width, 1, 1, 1,
- DXGI_FORMAT_UNKNOWN, 1, 0, D3D12_TEXTURE_LAYOUT_ROW_MAJOR, miscFlags );
- }
- static CD3D12_RESOURCE_DESC Tex1D(
- DXGI_FORMAT format,
- UINT64 width,
- UINT16 arraySize = 1,
- UINT16 mipLevels = 0,
- D3D12_RESOURCE_MISC_FLAG miscFlags = D3D12_RESOURCE_MISC_NONE,
- D3D12_TEXTURE_LAYOUT layout = D3D12_TEXTURE_LAYOUT_UNKNOWN,
- UINT64 alignment = 0 )
- {
- return CD3D12_RESOURCE_DESC( D3D12_RESOURCE_DIMENSION_TEXTURE_1D, alignment, width, 1, arraySize,
- mipLevels, format, 1, 0, layout, miscFlags );
- }
- static CD3D12_RESOURCE_DESC Tex2D(
- DXGI_FORMAT format,
- UINT64 width,
- UINT height,
- UINT16 arraySize = 1,
- UINT16 mipLevels = 0,
- UINT sampleCount = 1,
- UINT sampleQuality = 0,
- D3D12_RESOURCE_MISC_FLAG miscFlags = D3D12_RESOURCE_MISC_NONE,
- D3D12_TEXTURE_LAYOUT layout = D3D12_TEXTURE_LAYOUT_UNKNOWN,
- UINT64 alignment = 0 )
- {
- return CD3D12_RESOURCE_DESC( D3D12_RESOURCE_DIMENSION_TEXTURE_2D, alignment, width, height, arraySize,
- mipLevels, format, sampleCount, sampleQuality, layout, miscFlags );
- }
- static CD3D12_RESOURCE_DESC Tex3D(
- DXGI_FORMAT format,
- UINT64 width,
- UINT height,
- UINT16 depth,
- UINT16 mipLevels = 0,
- D3D12_RESOURCE_MISC_FLAG miscFlags = D3D12_RESOURCE_MISC_NONE,
- D3D12_TEXTURE_LAYOUT layout = D3D12_TEXTURE_LAYOUT_UNKNOWN,
- UINT64 alignment = 0 )
- {
- return CD3D12_RESOURCE_DESC( D3D12_RESOURCE_DIMENSION_TEXTURE_3D, alignment, width, height, depth,
- mipLevels, format, 1, 0, layout, miscFlags );
- }
- UINT16 Depth() const
- { return (Dimension == D3D12_RESOURCE_DIMENSION_TEXTURE_3D ? DepthOrArraySize : 1); }
- UINT16 ArraySize() const
- { return (Dimension != D3D12_RESOURCE_DIMENSION_TEXTURE_3D ? DepthOrArraySize : 1); }
- operator const D3D12_RESOURCE_DESC&() const { return *this; }
- };
- extern "C"{
- #endif
- typedef struct D3D12_DEPTH_STENCIL_VALUE
- {
- FLOAT Depth;
- UINT8 Stencil;
- } D3D12_DEPTH_STENCIL_VALUE;
- typedef struct D3D12_CLEAR_VALUE
- {
- DXGI_FORMAT Format;
- union
- {
- FLOAT Color[ 4 ];
- D3D12_DEPTH_STENCIL_VALUE DepthStencil;
- } ;
- } D3D12_CLEAR_VALUE;
- #if !defined( D3D12_NO_HELPERS ) && defined( __cplusplus )
- }
- struct CD3D12_CLEAR_VALUE : public D3D12_CLEAR_VALUE
- {
- CD3D12_CLEAR_VALUE()
- {}
- CD3D12_CLEAR_VALUE(
- DXGI_FORMAT format,
- const FLOAT color[4] )
- {
- Format = format;
- memcpy( Color, color, sizeof( Color ) );
- }
- CD3D12_CLEAR_VALUE(
- DXGI_FORMAT format,
- FLOAT depth,
- UINT8 stencil )
- {
- Format = format;
- /* Use memcpy to preserve NAN values */
- memcpy( &DepthStencil.Depth, &depth, sizeof( depth ) );
- DepthStencil.Stencil = stencil;
- }
- operator const D3D12_CLEAR_VALUE&() const { return *this; }
- };
- extern "C"{
- #endif
- typedef struct D3D12_RANGE
- {
- SIZE_T Begin;
- SIZE_T End;
- } D3D12_RANGE;
- #if !defined( D3D12_NO_HELPERS ) && defined( __cplusplus )
- }
- struct CD3D12_RANGE : public D3D12_RANGE
- {
- CD3D12_RANGE()
- {}
- CD3D12_RANGE(
- SIZE_T begin,
- SIZE_T end )
- {
- Begin = begin;
- End = end;
- }
- operator const D3D12_RANGE&() const { return *this; }
- };
- extern "C"{
- #endif
- typedef struct D3D12_SUBRESOURCE_INFO
- {
- UINT64 Offset;
- UINT RowPitch;
- UINT DepthPitch;
- } D3D12_SUBRESOURCE_INFO;
- typedef struct D3D12_TILED_RESOURCE_COORDINATE
- {
- UINT X;
- UINT Y;
- UINT Z;
- UINT Subresource;
- } D3D12_TILED_RESOURCE_COORDINATE;
- #if !defined( D3D12_NO_HELPERS ) && defined( __cplusplus )
- }
- struct CD3D12_TILED_RESOURCE_COORDINATE : public D3D12_TILED_RESOURCE_COORDINATE
- {
- CD3D12_TILED_RESOURCE_COORDINATE()
- {}
- CD3D12_TILED_RESOURCE_COORDINATE(
- UINT x,
- UINT y,
- UINT z,
- UINT subresource )
- {
- X = x;
- Y = y;
- Z = z;
- Subresource = subresource;
- }
- operator const D3D12_TILED_RESOURCE_COORDINATE&() const { return *this; }
- };
- extern "C"{
- #endif
- typedef struct D3D12_TILE_REGION_SIZE
- {
- UINT NumTiles;
- BOOL UseBox;
- UINT Width;
- UINT16 Height;
- UINT16 Depth;
- } D3D12_TILE_REGION_SIZE;
- #if !defined( D3D12_NO_HELPERS ) && defined( __cplusplus )
- }
- struct CD3D12_TILE_REGION_SIZE : public D3D12_TILE_REGION_SIZE
- {
- CD3D12_TILE_REGION_SIZE()
- {}
- CD3D12_TILE_REGION_SIZE(
- UINT numTiles,
- BOOL useBox,
- UINT width,
- UINT16 height,
- UINT16 depth )
- {
- NumTiles = numTiles;
- UseBox = useBox;
- Width = width;
- Height = height;
- Depth = depth;
- }
- operator const D3D12_TILE_REGION_SIZE&() const { return *this; }
- };
- extern "C"{
- #endif
- typedef
- enum D3D12_TILE_RANGE_FLAG
- {
- D3D12_TILE_RANGE_NONE = 0,
- D3D12_TILE_RANGE_NULL = 1,
- D3D12_TILE_RANGE_SKIP = 2,
- D3D12_TILE_RANGE_REUSE_SINGLE_TILE = 4
- } D3D12_TILE_RANGE_FLAG;
- typedef struct D3D12_SUBRESOURCE_TILING
- {
- UINT WidthInTiles;
- UINT16 HeightInTiles;
- UINT16 DepthInTiles;
- UINT StartTileIndexInOverallResource;
- } D3D12_SUBRESOURCE_TILING;
- #if !defined( D3D12_NO_HELPERS ) && defined( __cplusplus )
- }
- struct CD3D12_SUBRESOURCE_TILING : public D3D12_SUBRESOURCE_TILING
- {
- CD3D12_SUBRESOURCE_TILING()
- {}
- CD3D12_SUBRESOURCE_TILING(
- UINT widthInTiles,
- UINT16 heightInTiles,
- UINT16 depthInTiles,
- UINT startTileIndexInOverallResource )
- {
- WidthInTiles = widthInTiles;
- HeightInTiles = heightInTiles;
- DepthInTiles = depthInTiles;
- StartTileIndexInOverallResource = startTileIndexInOverallResource;
- }
- operator const D3D12_SUBRESOURCE_TILING&() const { return *this; }
- };
- extern "C"{
- #endif
- typedef struct D3D12_TILE_SHAPE
- {
- UINT WidthInTexels;
- UINT HeightInTexels;
- UINT DepthInTexels;
- } D3D12_TILE_SHAPE;
- #if !defined( D3D12_NO_HELPERS ) && defined( __cplusplus )
- }
- struct CD3D12_TILE_SHAPE : public D3D12_TILE_SHAPE
- {
- CD3D12_TILE_SHAPE()
- {}
- CD3D12_TILE_SHAPE(
- UINT widthInTexels,
- UINT heightInTexels,
- UINT depthInTexels )
- {
- WidthInTexels = widthInTexels;
- HeightInTexels = heightInTexels;
- DepthInTexels = depthInTexels;
- }
- operator const D3D12_TILE_SHAPE&() const { return *this; }
- };
- extern "C"{
- #endif
- typedef struct D3D12_PACKED_MIP_DESC
- {
- UINT8 NumStandardMips;
- UINT8 NumPackedMips;
- UINT NumTilesForPackedMips;
- UINT StartTileIndexInOverallResource;
- } D3D12_PACKED_MIP_DESC;
- #if !defined( D3D12_NO_HELPERS ) && defined( __cplusplus )
- }
- struct CD3D12_PACKED_MIP_DESC : public D3D12_PACKED_MIP_DESC
- {
- CD3D12_PACKED_MIP_DESC()
- {}
- CD3D12_PACKED_MIP_DESC(
- UINT8 numStandardMips,
- UINT8 numPackedMips,
- UINT numTilesForPackedMips,
- UINT startTileIndexInOverallResource )
- {
- NumStandardMips = numStandardMips;
- NumPackedMips = numPackedMips;
- NumTilesForPackedMips = numTilesForPackedMips;
- StartTileIndexInOverallResource = startTileIndexInOverallResource;
- }
- operator const D3D12_PACKED_MIP_DESC&() const { return *this; }
- };
- extern "C"{
- #endif
- typedef
- enum D3D12_TILE_MAPPING_FLAG
- {
- D3D12_TILE_MAPPING_NONE = 0,
- D3D12_TILE_MAPPING_NO_HAZARD = 0x1
- } D3D12_TILE_MAPPING_FLAG;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_TILE_MAPPING_FLAG );
- typedef
- enum D3D12_TILE_COPY_FLAG
- {
- D3D12_TILE_COPY_NONE = 0,
- D3D12_TILE_COPY_NO_HAZARD = 0x1,
- D3D12_TILE_COPY_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE = 0x2,
- D3D12_TILE_COPY_SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER = 0x4
- } D3D12_TILE_COPY_FLAG;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_TILE_COPY_FLAG );
- typedef
- enum D3D12_RESOURCE_USAGE
- {
- D3D12_RESOURCE_USAGE_NO_ACCESS = 0x1,
- D3D12_RESOURCE_USAGE_DEFAULT_READ = 0x2,
- D3D12_RESOURCE_USAGE_RENDER_TARGET = 0x4,
- D3D12_RESOURCE_USAGE_UNORDERED_ACCESS = 0x8,
- D3D12_RESOURCE_USAGE_DEPTH = 0x10,
- D3D12_RESOURCE_USAGE_NON_PIXEL_SHADER_RESOURCE = 0x20,
- D3D12_RESOURCE_USAGE_PIXEL_SHADER_RESOURCE = 0x40,
- D3D12_RESOURCE_USAGE_STREAM_OUT = 0x80,
- D3D12_RESOURCE_USAGE_INDIRECT_ARGUMENT = 0x100,
- D3D12_RESOURCE_USAGE_COPY_DEST = 0x400,
- D3D12_RESOURCE_USAGE_COPY_SOURCE = 0x800,
- D3D12_RESOURCE_USAGE_RESOLVE_DEST = 0x1000,
- D3D12_RESOURCE_USAGE_RESOLVE_SOURCE = 0x2000,
- D3D12_RESOURCE_USAGE_GENERIC_READ = ( ( ( ( D3D12_RESOURCE_USAGE_DEFAULT_READ | D3D12_RESOURCE_USAGE_COPY_SOURCE ) | D3D12_RESOURCE_USAGE_NON_PIXEL_SHADER_RESOURCE ) | D3D12_RESOURCE_USAGE_PIXEL_SHADER_RESOURCE ) | D3D12_RESOURCE_USAGE_INDIRECT_ARGUMENT ) ,
- D3D12_RESOURCE_USAGE_PRESENT = D3D12_RESOURCE_USAGE_COPY_SOURCE,
- D3D12_RESOURCE_USAGE_INITIAL = 0
- } D3D12_RESOURCE_USAGE;
- typedef
- enum D3D12_RESOURCE_BARRIER_TYPE
- {
- D3D12_RESOURCE_BARRIER_TYPE_TRANSITION = 0,
- D3D12_RESOURCE_BARRIER_TYPE_ALIASING = ( D3D12_RESOURCE_BARRIER_TYPE_TRANSITION + 1 ) ,
- D3D12_RESOURCE_BARRIER_TYPE_UAV = ( D3D12_RESOURCE_BARRIER_TYPE_ALIASING + 1 )
- } D3D12_RESOURCE_BARRIER_TYPE;
- typedef
- enum D3D12_RESOURCE_TRANSITION_BARRIER_FLAGS
- {
- D3D12_RESOURCE_TRANSITION_BARRIER_NONE = 0,
- D3D12_RESOURCE_TRANSITION_BARRIER_DEPTH_ONLY = 0x1,
- D3D12_RESOURCE_TRANSITION_BARRIER_STENCIL_ONLY = 0x2
- } D3D12_RESOURCE_TRANSITION_BARRIER_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_RESOURCE_TRANSITION_BARRIER_FLAGS );
- typedef struct D3D12_RESOURCE_TRANSITION_BARRIER_DESC
- {
- ID3D12Resource *pResource;
- UINT Subresource;
- UINT StateBefore;
- UINT StateAfter;
- D3D12_RESOURCE_TRANSITION_BARRIER_FLAGS Flags;
- } D3D12_RESOURCE_TRANSITION_BARRIER_DESC;
- typedef struct D3D12_RESOURCE_ALIASING_BARRIER_DESC
- {
- ID3D12Resource *pResourceBefore;
- ID3D12Resource *pResourceAfter;
- } D3D12_RESOURCE_ALIASING_BARRIER_DESC;
- typedef struct D3D12_RESOURCE_UAV_BARRIER_DESC
- {
- ID3D12Resource *pResource;
- } D3D12_RESOURCE_UAV_BARRIER_DESC;
- typedef struct D3D12_RESOURCE_BARRIER_DESC
- {
- D3D12_RESOURCE_BARRIER_TYPE Type;
- union
- {
- D3D12_RESOURCE_TRANSITION_BARRIER_DESC Transition;
- D3D12_RESOURCE_ALIASING_BARRIER_DESC Aliasing;
- D3D12_RESOURCE_UAV_BARRIER_DESC UAV;
- } ;
- } D3D12_RESOURCE_BARRIER_DESC;
- typedef struct D3D12_PITCHED_SUBRESOURCE_DESC
- {
- DXGI_FORMAT Format;
- UINT Width;
- UINT Height;
- UINT Depth;
- UINT RowPitch;
- } D3D12_PITCHED_SUBRESOURCE_DESC;
- #if !defined( D3D12_NO_HELPERS ) && defined( __cplusplus )
- }
- struct CD3D12_PITCHED_SUBRESOURCE_DESC : public D3D12_PITCHED_SUBRESOURCE_DESC
- {
- CD3D12_PITCHED_SUBRESOURCE_DESC()
- {}
- CD3D12_PITCHED_SUBRESOURCE_DESC(
- DXGI_FORMAT format,
- UINT width,
- UINT height,
- UINT depth,
- UINT rowPitch )
- {
- Format = format;
- Width = width;
- Height = height;
- Depth = depth;
- RowPitch = rowPitch;
- }
- explicit CD3D12_PITCHED_SUBRESOURCE_DESC(
- const D3D12_RESOURCE_DESC& resDesc,
- UINT rowPitch )
- {
- Format = resDesc.Format;
- Width = UINT( resDesc.Width );
- Height = resDesc.Height;
- Depth = (resDesc.Dimension == D3D12_RESOURCE_DIMENSION_TEXTURE_3D ? resDesc.DepthOrArraySize : 1);
- RowPitch = rowPitch;
- }
- operator const D3D12_PITCHED_SUBRESOURCE_DESC&() const { return *this; }
- };
- extern "C"{
- #endif
- typedef struct D3D12_PLACED_PITCHED_SUBRESOURCE_DESC
- {
- UINT64 Offset;
- D3D12_PITCHED_SUBRESOURCE_DESC Placement;
- } D3D12_PLACED_PITCHED_SUBRESOURCE_DESC;
- typedef
- enum D3D12_SUBRESOURCE_VIEW_TYPE
- {
- D3D12_SUBRESOURCE_VIEW_SELECT_SUBRESOURCE = 0,
- D3D12_SUBRESOURCE_VIEW_PLACED_PITCHED_SUBRESOURCE = 1
- } D3D12_SUBRESOURCE_VIEW_TYPE;
- typedef struct D3D12_TEXTURE_COPY_LOCATION
- {
- ID3D12Resource *pResource;
- D3D12_SUBRESOURCE_VIEW_TYPE Type;
- union
- {
- D3D12_PLACED_PITCHED_SUBRESOURCE_DESC PlacedTexture;
- UINT Subresource;
- } ;
- } D3D12_TEXTURE_COPY_LOCATION;
- #if !defined( D3D12_NO_HELPERS ) && defined( __cplusplus )
- }
- struct CD3D12_TEXTURE_COPY_LOCATION : public D3D12_TEXTURE_COPY_LOCATION
- {
- CD3D12_TEXTURE_COPY_LOCATION() { }
- CD3D12_TEXTURE_COPY_LOCATION(ID3D12Resource* pRes) { pResource = pRes; }
- CD3D12_TEXTURE_COPY_LOCATION(ID3D12Resource* pRes, D3D12_PLACED_PITCHED_SUBRESOURCE_DESC const& Placement)
- {
- pResource = pRes;
- Type = D3D12_SUBRESOURCE_VIEW_PLACED_PITCHED_SUBRESOURCE;
- PlacedTexture = Placement;
- }
- CD3D12_TEXTURE_COPY_LOCATION(ID3D12Resource* pRes, UINT Sub)
- {
- pResource = pRes;
- Type = D3D12_SUBRESOURCE_VIEW_SELECT_SUBRESOURCE;
- Subresource = Sub;
- }
- };
- extern "C"{
- #endif
- typedef
- enum D3D12_COPY_FLAGS
- {
- D3D12_COPY_NONE = 0,
- D3D12_COPY_NO_OVERWRITE = 0x1,
- D3D12_COPY_DISCARD = 0x2
- } D3D12_COPY_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_COPY_FLAGS );
- typedef
- enum D3D12_SHADER_COMPONENT_MAPPING
- {
- D3D12_SHADER_COMPONENT_FROM_MEMORY_COMPONENT_0 = 0,
- D3D12_SHADER_COMPONENT_FROM_MEMORY_COMPONENT_1 = 1,
- D3D12_SHADER_COMPONENT_FROM_MEMORY_COMPONENT_2 = 2,
- D3D12_SHADER_COMPONENT_FROM_MEMORY_COMPONENT_3 = 3,
- D3D12_SHADER_COMPONENT_FORCE_VALUE_0 = 4,
- D3D12_SHADER_COMPONENT_FORCE_VALUE_1 = 5
- } D3D12_SHADER_COMPONENT_MAPPING;
- #define D3D12_SHADER_COMPONENT_MAPPING_MASK 0x7
- #define D3D12_SHADER_COMPONENT_MAPPING_SHIFT 3
- #define D3D12_SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES (1<<(D3D12_SHADER_COMPONENT_MAPPING_SHIFT*4))
- #define D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING(Src0,Src1,Src2,Src3) ((((Src0)&D3D12_SHADER_COMPONENT_MAPPING_MASK)| \
- (((Src1)&D3D12_SHADER_COMPONENT_MAPPING_MASK)<<D3D12_SHADER_COMPONENT_MAPPING_SHIFT)| \
- (((Src2)&D3D12_SHADER_COMPONENT_MAPPING_MASK)<<(D3D12_SHADER_COMPONENT_MAPPING_SHIFT*2))| \
- (((Src3)&D3D12_SHADER_COMPONENT_MAPPING_MASK)<<(D3D12_SHADER_COMPONENT_MAPPING_SHIFT*3))| \
- D3D12_SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES))
- #define D3D12_DECODE_SHADER_4_COMPONENT_MAPPING(ComponentToExtract,Mapping) ((D3D12_SHADER_COMPONENT_MAPPING)(Mapping >> (D3D12_SHADER_COMPONENT_MAPPING_SHIFT*ComponentToExtract) & D3D12_SHADER_COMPONENT_MAPPING_MASK))
- #define D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING(0,1,2,3)
- typedef
- enum D3D12_BUFFER_SRV_FLAG
- {
- D3D12_BUFFER_SRV_FLAG_NONE = 0,
- D3D12_BUFFER_SRV_FLAG_RAW = 0x1
- } D3D12_BUFFER_SRV_FLAG;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_BUFFER_SRV_FLAG );
- typedef struct D3D12_BUFFER_SRV
- {
- UINT64 FirstElement;
- UINT NumElements;
- UINT StructureByteStride;
- D3D12_BUFFER_SRV_FLAG Flags;
- } D3D12_BUFFER_SRV;
- typedef struct D3D12_TEX1D_SRV
- {
- UINT MostDetailedMip;
- UINT MipLevels;
- FLOAT ResourceMinLODClamp;
- } D3D12_TEX1D_SRV;
- typedef struct D3D12_TEX1D_ARRAY_SRV
- {
- UINT MostDetailedMip;
- UINT MipLevels;
- UINT FirstArraySlice;
- UINT ArraySize;
- FLOAT ResourceMinLODClamp;
- } D3D12_TEX1D_ARRAY_SRV;
- typedef struct D3D12_TEX2D_SRV
- {
- UINT MostDetailedMip;
- UINT MipLevels;
- UINT PlaneSlice;
- FLOAT ResourceMinLODClamp;
- } D3D12_TEX2D_SRV;
- typedef struct D3D12_TEX2D_ARRAY_SRV
- {
- UINT MostDetailedMip;
- UINT MipLevels;
- UINT FirstArraySlice;
- UINT ArraySize;
- UINT PlaneSlice;
- FLOAT ResourceMinLODClamp;
- } D3D12_TEX2D_ARRAY_SRV;
- typedef struct D3D12_TEX3D_SRV
- {
- UINT MostDetailedMip;
- UINT MipLevels;
- FLOAT ResourceMinLODClamp;
- } D3D12_TEX3D_SRV;
- typedef struct D3D12_TEXCUBE_SRV
- {
- UINT MostDetailedMip;
- UINT MipLevels;
- FLOAT ResourceMinLODClamp;
- } D3D12_TEXCUBE_SRV;
- typedef struct D3D12_TEXCUBE_ARRAY_SRV
- {
- UINT MostDetailedMip;
- UINT MipLevels;
- UINT First2DArrayFace;
- UINT NumCubes;
- FLOAT ResourceMinLODClamp;
- } D3D12_TEXCUBE_ARRAY_SRV;
- typedef struct D3D12_TEX2DMS_SRV
- {
- UINT UnusedField_NothingToDefine;
- } D3D12_TEX2DMS_SRV;
- typedef struct D3D12_TEX2DMS_ARRAY_SRV
- {
- UINT FirstArraySlice;
- UINT ArraySize;
- } D3D12_TEX2DMS_ARRAY_SRV;
- typedef
- enum D3D12_SRV_DIMENSION
- {
- D3D12_SRV_DIMENSION_UNKNOWN = 0,
- D3D12_SRV_DIMENSION_BUFFER = 1,
- D3D12_SRV_DIMENSION_TEXTURE1D = 2,
- D3D12_SRV_DIMENSION_TEXTURE1DARRAY = 3,
- D3D12_SRV_DIMENSION_TEXTURE2D = 4,
- D3D12_SRV_DIMENSION_TEXTURE2DARRAY = 5,
- D3D12_SRV_DIMENSION_TEXTURE2DMS = 6,
- D3D12_SRV_DIMENSION_TEXTURE2DMSARRAY = 7,
- D3D12_SRV_DIMENSION_TEXTURE3D = 8,
- D3D12_SRV_DIMENSION_TEXTURECUBE = 9,
- D3D12_SRV_DIMENSION_TEXTURECUBEARRAY = 10
- } D3D12_SRV_DIMENSION;
- typedef struct D3D12_SHADER_RESOURCE_VIEW_DESC
- {
- DXGI_FORMAT Format;
- D3D12_SRV_DIMENSION ViewDimension;
- UINT Shader4ComponentMapping;
- union
- {
- D3D12_BUFFER_SRV Buffer;
- D3D12_TEX1D_SRV Texture1D;
- D3D12_TEX1D_ARRAY_SRV Texture1DArray;
- D3D12_TEX2D_SRV Texture2D;
- D3D12_TEX2D_ARRAY_SRV Texture2DArray;
- D3D12_TEX2DMS_SRV Texture2DMS;
- D3D12_TEX2DMS_ARRAY_SRV Texture2DMSArray;
- D3D12_TEX3D_SRV Texture3D;
- D3D12_TEXCUBE_SRV TextureCube;
- D3D12_TEXCUBE_ARRAY_SRV TextureCubeArray;
- } ;
- } D3D12_SHADER_RESOURCE_VIEW_DESC;
- typedef struct D3D12_CONSTANT_BUFFER_VIEW_DESC
- {
- D3D12_GPU_VIRTUAL_ADDRESS BufferLocation;
- UINT SizeInBytes;
- } D3D12_CONSTANT_BUFFER_VIEW_DESC;
- typedef
- enum D3D12_FILTER
- {
- D3D12_FILTER_MIN_MAG_MIP_POINT = 0,
- D3D12_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x1,
- D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x4,
- D3D12_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x5,
- D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10,
- D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11,
- D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14,
- D3D12_FILTER_MIN_MAG_MIP_LINEAR = 0x15,
- D3D12_FILTER_ANISOTROPIC = 0x55,
- D3D12_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80,
- D3D12_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81,
- D3D12_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84,
- D3D12_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85,
- D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90,
- D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91,
- D3D12_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94,
- D3D12_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95,
- D3D12_FILTER_COMPARISON_ANISOTROPIC = 0xd5,
- D3D12_FILTER_MINIMUM_MIN_MAG_MIP_POINT = 0x100,
- D3D12_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x101,
- D3D12_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x104,
- D3D12_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x105,
- D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x110,
- D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x111,
- D3D12_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x114,
- D3D12_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR = 0x115,
- D3D12_FILTER_MINIMUM_ANISOTROPIC = 0x155,
- D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_POINT = 0x180,
- D3D12_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x181,
- D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x184,
- D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x185,
- D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x190,
- D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x191,
- D3D12_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x194,
- D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR = 0x195,
- D3D12_FILTER_MAXIMUM_ANISOTROPIC = 0x1d5
- } D3D12_FILTER;
- typedef
- enum D3D12_FILTER_TYPE
- {
- D3D12_FILTER_TYPE_POINT = 0,
- D3D12_FILTER_TYPE_LINEAR = 1
- } D3D12_FILTER_TYPE;
- typedef
- enum D3D12_FILTER_REDUCTION_TYPE
- {
- D3D12_FILTER_REDUCTION_TYPE_STANDARD = 0,
- D3D12_FILTER_REDUCTION_TYPE_COMPARISON = 1,
- D3D12_FILTER_REDUCTION_TYPE_MINIMUM = 2,
- D3D12_FILTER_REDUCTION_TYPE_MAXIMUM = 3
- } D3D12_FILTER_REDUCTION_TYPE;
- #define D3D12_FILTER_REDUCTION_TYPE_MASK ( 0x3 )
- #define D3D12_FILTER_REDUCTION_TYPE_SHIFT ( 7 )
- #define D3D12_FILTER_TYPE_MASK ( 0x3 )
- #define D3D12_MIN_FILTER_SHIFT ( 4 )
- #define D3D12_MAG_FILTER_SHIFT ( 2 )
- #define D3D12_MIP_FILTER_SHIFT ( 0 )
- #define D3D12_ANISOTROPIC_FILTERING_BIT ( 0x40 )
- #define D3D12_ENCODE_BASIC_FILTER( min, mag, mip, reduction ) \
- ( ( D3D12_FILTER ) ( \
- ( ( ( min ) & D3D12_FILTER_TYPE_MASK ) << D3D12_MIN_FILTER_SHIFT ) | \
- ( ( ( mag ) & D3D12_FILTER_TYPE_MASK ) << D3D12_MAG_FILTER_SHIFT ) | \
- ( ( ( mip ) & D3D12_FILTER_TYPE_MASK ) << D3D12_MIP_FILTER_SHIFT ) | \
- ( ( ( reduction ) & D3D12_FILTER_REDUCTION_TYPE_MASK ) << D3D12_FILTER_REDUCTION_TYPE_SHIFT ) ) )
- #define D3D12_ENCODE_ANISOTROPIC_FILTER( reduction ) \
- ( ( D3D12_FILTER ) ( \
- D3D12_ANISOTROPIC_FILTERING_BIT | \
- D3D12_ENCODE_BASIC_FILTER( D3D12_FILTER_TYPE_LINEAR, \
- D3D12_FILTER_TYPE_LINEAR, \
- D3D12_FILTER_TYPE_LINEAR, \
- reduction ) ) )
- #define D3D12_DECODE_MIN_FILTER( D3D12Filter ) \
- ( ( D3D12_FILTER_TYPE ) \
- ( ( ( D3D12Filter ) >> D3D12_MIN_FILTER_SHIFT ) & D3D12_FILTER_TYPE_MASK ) )
- #define D3D12_DECODE_MAG_FILTER( D3D12Filter ) \
- ( ( D3D12_FILTER_TYPE ) \
- ( ( ( D3D12Filter ) >> D3D12_MAG_FILTER_SHIFT ) & D3D12_FILTER_TYPE_MASK ) )
- #define D3D12_DECODE_MIP_FILTER( D3D12Filter ) \
- ( ( D3D12_FILTER_TYPE ) \
- ( ( ( D3D12Filter ) >> D3D12_MIP_FILTER_SHIFT ) & D3D12_FILTER_TYPE_MASK ) )
- #define D3D12_DECODE_FILTER_REDUCTION( D3D12Filter ) \
- ( ( D3D12_FILTER_REDUCTION_TYPE ) \
- ( ( ( D3D12Filter ) >> D3D12_FILTER_REDUCTION_TYPE_SHIFT ) & D3D12_FILTER_REDUCTION_TYPE_MASK ) )
- #define D3D12_DECODE_IS_COMPARISON_FILTER( D3D12Filter ) \
- ( D3D12_DECODE_FILTER_REDUCTION( D3D12Filter ) == D3D12_FILTER_REDUCTION_TYPE_COMPARISON )
- #define D3D12_DECODE_IS_ANISOTROPIC_FILTER( D3D12Filter ) \
- ( ( ( D3D12Filter ) & D3D12_ANISOTROPIC_FILTERING_BIT ) && \
- ( D3D12_FILTER_TYPE_LINEAR == D3D12_DECODE_MIN_FILTER( D3D12Filter ) ) && \
- ( D3D12_FILTER_TYPE_LINEAR == D3D12_DECODE_MAG_FILTER( D3D12Filter ) ) && \
- ( D3D12_FILTER_TYPE_LINEAR == D3D12_DECODE_MIP_FILTER( D3D12Filter ) ) )
- typedef
- enum D3D12_TEXTURE_ADDRESS_MODE
- {
- D3D12_TEXTURE_ADDRESS_WRAP = 1,
- D3D12_TEXTURE_ADDRESS_MIRROR = 2,
- D3D12_TEXTURE_ADDRESS_CLAMP = 3,
- D3D12_TEXTURE_ADDRESS_BORDER = 4,
- D3D12_TEXTURE_ADDRESS_MIRROR_ONCE = 5
- } D3D12_TEXTURE_ADDRESS_MODE;
- typedef struct D3D12_SAMPLER_DESC
- {
- D3D12_FILTER Filter;
- D3D12_TEXTURE_ADDRESS_MODE AddressU;
- D3D12_TEXTURE_ADDRESS_MODE AddressV;
- D3D12_TEXTURE_ADDRESS_MODE AddressW;
- FLOAT MipLODBias;
- UINT MaxAnisotropy;
- D3D12_COMPARISON_FUNC ComparisonFunc;
- FLOAT BorderColor[ 4 ];
- FLOAT MinLOD;
- FLOAT MaxLOD;
- } D3D12_SAMPLER_DESC;
- typedef
- enum D3D12_BUFFER_UAV_FLAG
- {
- D3D12_BUFFER_UAV_FLAG_NONE = 0,
- D3D12_BUFFER_UAV_FLAG_RAW = 0x1
- } D3D12_BUFFER_UAV_FLAG;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_BUFFER_UAV_FLAG );
- typedef struct D3D12_BUFFER_UAV
- {
- UINT64 FirstElement;
- UINT NumElements;
- UINT StructureByteStride;
- UINT64 CounterOffsetInBytes;
- D3D12_BUFFER_UAV_FLAG Flags;
- } D3D12_BUFFER_UAV;
- typedef struct D3D12_TEX1D_UAV
- {
- UINT MipSlice;
- } D3D12_TEX1D_UAV;
- typedef struct D3D12_TEX1D_ARRAY_UAV
- {
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
- } D3D12_TEX1D_ARRAY_UAV;
- typedef struct D3D12_TEX2D_UAV
- {
- UINT MipSlice;
- UINT PlaneSlice;
- } D3D12_TEX2D_UAV;
- typedef struct D3D12_TEX2D_ARRAY_UAV
- {
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
- UINT PlaneSlice;
- } D3D12_TEX2D_ARRAY_UAV;
- typedef struct D3D12_TEX3D_UAV
- {
- UINT MipSlice;
- UINT FirstWSlice;
- UINT WSize;
- } D3D12_TEX3D_UAV;
- typedef
- enum D3D12_UAV_DIMENSION
- {
- D3D12_UAV_DIMENSION_UNKNOWN = 0,
- D3D12_UAV_DIMENSION_BUFFER = 1,
- D3D12_UAV_DIMENSION_TEXTURE1D = 2,
- D3D12_UAV_DIMENSION_TEXTURE1DARRAY = 3,
- D3D12_UAV_DIMENSION_TEXTURE2D = 4,
- D3D12_UAV_DIMENSION_TEXTURE2DARRAY = 5,
- D3D12_UAV_DIMENSION_TEXTURE3D = 8
- } D3D12_UAV_DIMENSION;
- typedef struct D3D12_UNORDERED_ACCESS_VIEW_DESC
- {
- DXGI_FORMAT Format;
- D3D12_UAV_DIMENSION ViewDimension;
- union
- {
- D3D12_BUFFER_UAV Buffer;
- D3D12_TEX1D_UAV Texture1D;
- D3D12_TEX1D_ARRAY_UAV Texture1DArray;
- D3D12_TEX2D_UAV Texture2D;
- D3D12_TEX2D_ARRAY_UAV Texture2DArray;
- D3D12_TEX3D_UAV Texture3D;
- } ;
- } D3D12_UNORDERED_ACCESS_VIEW_DESC;
- typedef struct D3D12_BUFFER_RTV
- {
- UINT64 FirstElement;
- UINT NumElements;
- } D3D12_BUFFER_RTV;
- typedef struct D3D12_TEX1D_RTV
- {
- UINT MipSlice;
- } D3D12_TEX1D_RTV;
- typedef struct D3D12_TEX1D_ARRAY_RTV
- {
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
- } D3D12_TEX1D_ARRAY_RTV;
- typedef struct D3D12_TEX2D_RTV
- {
- UINT MipSlice;
- UINT PlaneSlice;
- } D3D12_TEX2D_RTV;
- typedef struct D3D12_TEX2DMS_RTV
- {
- UINT UnusedField_NothingToDefine;
- } D3D12_TEX2DMS_RTV;
- typedef struct D3D12_TEX2D_ARRAY_RTV
- {
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
- UINT PlaneSlice;
- } D3D12_TEX2D_ARRAY_RTV;
- typedef struct D3D12_TEX2DMS_ARRAY_RTV
- {
- UINT FirstArraySlice;
- UINT ArraySize;
- } D3D12_TEX2DMS_ARRAY_RTV;
- typedef struct D3D12_TEX3D_RTV
- {
- UINT MipSlice;
- UINT FirstWSlice;
- UINT WSize;
- } D3D12_TEX3D_RTV;
- typedef
- enum D3D12_RTV_DIMENSION
- {
- D3D12_RTV_DIMENSION_UNKNOWN = 0,
- D3D12_RTV_DIMENSION_BUFFER = 1,
- D3D12_RTV_DIMENSION_TEXTURE1D = 2,
- D3D12_RTV_DIMENSION_TEXTURE1DARRAY = 3,
- D3D12_RTV_DIMENSION_TEXTURE2D = 4,
- D3D12_RTV_DIMENSION_TEXTURE2DARRAY = 5,
- D3D12_RTV_DIMENSION_TEXTURE2DMS = 6,
- D3D12_RTV_DIMENSION_TEXTURE2DMSARRAY = 7,
- D3D12_RTV_DIMENSION_TEXTURE3D = 8
- } D3D12_RTV_DIMENSION;
- typedef struct D3D12_RENDER_TARGET_VIEW_DESC
- {
- DXGI_FORMAT Format;
- D3D12_RTV_DIMENSION ViewDimension;
- union
- {
- D3D12_BUFFER_RTV Buffer;
- D3D12_TEX1D_RTV Texture1D;
- D3D12_TEX1D_ARRAY_RTV Texture1DArray;
- D3D12_TEX2D_RTV Texture2D;
- D3D12_TEX2D_ARRAY_RTV Texture2DArray;
- D3D12_TEX2DMS_RTV Texture2DMS;
- D3D12_TEX2DMS_ARRAY_RTV Texture2DMSArray;
- D3D12_TEX3D_RTV Texture3D;
- } ;
- } D3D12_RENDER_TARGET_VIEW_DESC;
- typedef struct D3D12_TEX1D_DSV
- {
- UINT MipSlice;
- } D3D12_TEX1D_DSV;
- typedef struct D3D12_TEX1D_ARRAY_DSV
- {
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
- } D3D12_TEX1D_ARRAY_DSV;
- typedef struct D3D12_TEX2D_DSV
- {
- UINT MipSlice;
- } D3D12_TEX2D_DSV;
- typedef struct D3D12_TEX2D_ARRAY_DSV
- {
- UINT MipSlice;
- UINT FirstArraySlice;
- UINT ArraySize;
- } D3D12_TEX2D_ARRAY_DSV;
- typedef struct D3D12_TEX2DMS_DSV
- {
- UINT UnusedField_NothingToDefine;
- } D3D12_TEX2DMS_DSV;
- typedef struct D3D12_TEX2DMS_ARRAY_DSV
- {
- UINT FirstArraySlice;
- UINT ArraySize;
- } D3D12_TEX2DMS_ARRAY_DSV;
- typedef
- enum D3D12_DSV_FLAG
- {
- D3D12_DSV_NONE = 0L,
- D3D12_DSV_READ_ONLY_DEPTH = 0x1L,
- D3D12_DSV_READ_ONLY_STENCIL = 0x2L
- } D3D12_DSV_FLAG;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_DSV_FLAG );
- typedef
- enum D3D12_DSV_DIMENSION
- {
- D3D12_DSV_DIMENSION_UNKNOWN = 0,
- D3D12_DSV_DIMENSION_TEXTURE1D = 1,
- D3D12_DSV_DIMENSION_TEXTURE1DARRAY = 2,
- D3D12_DSV_DIMENSION_TEXTURE2D = 3,
- D3D12_DSV_DIMENSION_TEXTURE2DARRAY = 4,
- D3D12_DSV_DIMENSION_TEXTURE2DMS = 5,
- D3D12_DSV_DIMENSION_TEXTURE2DMSARRAY = 6
- } D3D12_DSV_DIMENSION;
- typedef struct D3D12_DEPTH_STENCIL_VIEW_DESC
- {
- DXGI_FORMAT Format;
- D3D12_DSV_DIMENSION ViewDimension;
- D3D12_DSV_FLAG Flags;
- union
- {
- D3D12_TEX1D_DSV Texture1D;
- D3D12_TEX1D_ARRAY_DSV Texture1DArray;
- D3D12_TEX2D_DSV Texture2D;
- D3D12_TEX2D_ARRAY_DSV Texture2DArray;
- D3D12_TEX2DMS_DSV Texture2DMS;
- D3D12_TEX2DMS_ARRAY_DSV Texture2DMSArray;
- } ;
- } D3D12_DEPTH_STENCIL_VIEW_DESC;
- typedef
- enum D3D12_CLEAR_FLAG
- {
- D3D12_CLEAR_DEPTH = 0x1L,
- D3D12_CLEAR_STENCIL = 0x2L
- } D3D12_CLEAR_FLAG;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_CLEAR_FLAG );
- typedef
- enum D3D12_FENCE_MISC_FLAG
- {
- D3D12_FENCE_MISC_NONE = 0,
- D3D12_FENCE_MISC_SHARED = 0x1,
- D3D12_FENCE_MISC_SHARED_CROSS_ADAPTER = 0x2
- } D3D12_FENCE_MISC_FLAG;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_FENCE_MISC_FLAG );
- typedef
- enum D3D12_CREATE_DEVICE_FLAG
- {
- D3D12_CREATE_DEVICE_NONE = 0,
- D3D12_CREATE_DEVICE_DEBUG = 0x1,
- D3D12_CREATE_DEVICE_SHADER_DEBUGGING = 0x2,
- D3D12_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY = 0x4
- } D3D12_CREATE_DEVICE_FLAG;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_CREATE_DEVICE_FLAG );
- typedef
- enum D3D12_DESCRIPTOR_HEAP_TYPE
- {
- D3D12_CBV_SRV_UAV_DESCRIPTOR_HEAP = 0,
- D3D12_SAMPLER_DESCRIPTOR_HEAP = ( D3D12_CBV_SRV_UAV_DESCRIPTOR_HEAP + 1 ) ,
- D3D12_RTV_DESCRIPTOR_HEAP = ( D3D12_SAMPLER_DESCRIPTOR_HEAP + 1 ) ,
- D3D12_DSV_DESCRIPTOR_HEAP = ( D3D12_RTV_DESCRIPTOR_HEAP + 1 ) ,
- D3D12_NUM_DESCRIPTOR_HEAP_TYPES = ( D3D12_DSV_DESCRIPTOR_HEAP + 1 )
- } D3D12_DESCRIPTOR_HEAP_TYPE;
- typedef
- enum D3D12_DESCRIPTOR_HEAP_FLAGS
- {
- D3D12_DESCRIPTOR_HEAP_NONE = 0,
- D3D12_DESCRIPTOR_HEAP_SHADER_VISIBLE = 0x1
- } D3D12_DESCRIPTOR_HEAP_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_DESCRIPTOR_HEAP_FLAGS );
- typedef struct D3D12_DESCRIPTOR_HEAP_DESC
- {
- D3D12_DESCRIPTOR_HEAP_TYPE Type;
- UINT NumDescriptors;
- D3D12_DESCRIPTOR_HEAP_FLAGS Flags;
- UINT NodeMask;
- } D3D12_DESCRIPTOR_HEAP_DESC;
- typedef
- enum D3D12_DESCRIPTOR_RANGE_TYPE
- {
- D3D12_DESCRIPTOR_RANGE_SRV = 0,
- D3D12_DESCRIPTOR_RANGE_UAV = ( D3D12_DESCRIPTOR_RANGE_SRV + 1 ) ,
- D3D12_DESCRIPTOR_RANGE_CBV = ( D3D12_DESCRIPTOR_RANGE_UAV + 1 ) ,
- D3D12_DESCRIPTOR_RANGE_SAMPLER = ( D3D12_DESCRIPTOR_RANGE_CBV + 1 )
- } D3D12_DESCRIPTOR_RANGE_TYPE;
- #if defined( __cplusplus )
- }
- typedef struct D3D12_DESCRIPTOR_RANGE
- {
- D3D12_DESCRIPTOR_RANGE_TYPE RangeType;
- UINT NumDescriptors;
- UINT BaseShaderRegister;
- UINT RegisterSpace;
- UINT OffsetInDescriptorsFromTableStart;
- void Init(
- D3D12_DESCRIPTOR_RANGE_TYPE rangeType,
- UINT numDescriptors,
- UINT baseShaderRegister,
- UINT registerSpace = 0,
- UINT offsetInDescriptorsFromTableStart =
- D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND)
- {
- RangeType = rangeType;
- NumDescriptors = numDescriptors;
- BaseShaderRegister = baseShaderRegister;
- RegisterSpace = registerSpace;
- OffsetInDescriptorsFromTableStart = offsetInDescriptorsFromTableStart;
- }
- } D3D12_DESCRIPTOR_RANGE;
- extern "C"{
- #else
- typedef struct D3D12_DESCRIPTOR_RANGE
- {
- D3D12_DESCRIPTOR_RANGE_TYPE RangeType;
- UINT NumDescriptors;
- UINT BaseShaderRegister;
- UINT RegisterSpace;
- UINT OffsetInDescriptorsFromTableStart;
- } D3D12_DESCRIPTOR_RANGE;
- #endif
- #if defined( __cplusplus )
- }
- typedef struct D3D12_ROOT_DESCRIPTOR_TABLE
- {
- UINT NumDescriptorRanges;
- const D3D12_DESCRIPTOR_RANGE* pDescriptorRanges;
- void Init(
- UINT numDescriptorRanges,
- const D3D12_DESCRIPTOR_RANGE* _pDescriptorRanges)
- {
- NumDescriptorRanges = numDescriptorRanges;
- pDescriptorRanges = _pDescriptorRanges;
- }
- } D3D12_ROOT_DESCRIPTOR_TABLE;
- extern "C"{
- #else
- typedef struct D3D12_ROOT_DESCRIPTOR_TABLE
- {
- UINT NumDescriptorRanges;
- const D3D12_DESCRIPTOR_RANGE *pDescriptorRanges;
- } D3D12_ROOT_DESCRIPTOR_TABLE;
- #endif
- #if defined( __cplusplus )
- }
- typedef struct D3D12_ROOT_CONSTANTS
- {
- UINT ShaderRegister;
- UINT RegisterSpace;
- UINT Num32BitValues;
- void Init(
- UINT num32BitValues,
- UINT shaderRegister,
- UINT registerSpace = 0)
- {
- Num32BitValues = num32BitValues;
- ShaderRegister = shaderRegister;
- RegisterSpace = registerSpace;
- }
- } D3D12_ROOT_CONSTANTS;
- extern "C"{
- #else
- typedef struct D3D12_ROOT_CONSTANTS
- {
- UINT ShaderRegister;
- UINT RegisterSpace;
- UINT Num32BitValues;
- } D3D12_ROOT_CONSTANTS;
- #endif
- #if defined( __cplusplus )
- }
- typedef struct D3D12_ROOT_DESCRIPTOR
- {
- UINT ShaderRegister;
- UINT RegisterSpace;
- void Init(
- UINT shaderRegister,
- UINT registerSpace = 0)
- {
- ShaderRegister = shaderRegister;
- RegisterSpace = registerSpace;
- }
- } D3D12_ROOT_DESCRIPTOR;
- extern "C"{
- #else
- typedef struct D3D12_ROOT_DESCRIPTOR
- {
- UINT ShaderRegister;
- UINT RegisterSpace;
- } D3D12_ROOT_DESCRIPTOR;
- #endif
- typedef
- enum D3D12_SHADER_VISIBILITY
- {
- D3D12_SHADER_VISIBILITY_ALL = 0,
- D3D12_SHADER_VISIBILITY_VERTEX = 1,
- D3D12_SHADER_VISIBILITY_HULL = 2,
- D3D12_SHADER_VISIBILITY_DOMAIN = 3,
- D3D12_SHADER_VISIBILITY_GEOMETRY = 4,
- D3D12_SHADER_VISIBILITY_PIXEL = 5
- } D3D12_SHADER_VISIBILITY;
- typedef
- enum D3D12_ROOT_PARAMETER_TYPE
- {
- D3D12_ROOT_PARAMETER_DESCRIPTOR_TABLE = 0,
- D3D12_ROOT_PARAMETER_32BIT_CONSTANTS = ( D3D12_ROOT_PARAMETER_DESCRIPTOR_TABLE + 1 ) ,
- D3D12_ROOT_PARAMETER_CBV = ( D3D12_ROOT_PARAMETER_32BIT_CONSTANTS + 1 ) ,
- D3D12_ROOT_PARAMETER_SRV = ( D3D12_ROOT_PARAMETER_CBV + 1 ) ,
- D3D12_ROOT_PARAMETER_UAV = ( D3D12_ROOT_PARAMETER_SRV + 1 )
- } D3D12_ROOT_PARAMETER_TYPE;
- #if defined( __cplusplus )
- }
- typedef struct D3D12_ROOT_PARAMETER
- {
- D3D12_ROOT_PARAMETER_TYPE ParameterType;
- union
- {
- D3D12_ROOT_DESCRIPTOR_TABLE DescriptorTable;
- D3D12_ROOT_CONSTANTS Constants;
- D3D12_ROOT_DESCRIPTOR Descriptor;
- };
- D3D12_SHADER_VISIBILITY ShaderVisibility;
- void InitAsDescriptorTable(
- UINT numDescriptorRanges,
- const D3D12_DESCRIPTOR_RANGE* pDescriptorRanges,
- D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL)
- {
- ParameterType = D3D12_ROOT_PARAMETER_DESCRIPTOR_TABLE;
- ShaderVisibility = visibility;
- DescriptorTable.Init(numDescriptorRanges, pDescriptorRanges);
- }
- void InitAsConstants(
- UINT num32BitValues,
- UINT shaderRegister,
- UINT registerSpace = 0,
- D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL)
- {
- ParameterType = D3D12_ROOT_PARAMETER_32BIT_CONSTANTS;
- ShaderVisibility = visibility;
- Constants.Init(num32BitValues, shaderRegister, registerSpace);
- }
- void InitAsConstantBufferView(
- UINT shaderRegister,
- UINT registerSpace = 0,
- D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL)
- {
- ParameterType = D3D12_ROOT_PARAMETER_CBV;
- ShaderVisibility = visibility;
- Descriptor.Init(shaderRegister, registerSpace);
- }
- void InitAsShaderResourceView(
- UINT shaderRegister,
- UINT registerSpace = 0,
- D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL)
- {
- ParameterType = D3D12_ROOT_PARAMETER_SRV;
- ShaderVisibility = visibility;
- Descriptor.Init(shaderRegister, registerSpace);
- }
- void InitAsUnorderedAccessView(
- UINT shaderRegister,
- UINT registerSpace = 0,
- D3D12_SHADER_VISIBILITY visibility = D3D12_SHADER_VISIBILITY_ALL)
- {
- ParameterType = D3D12_ROOT_PARAMETER_UAV;
- ShaderVisibility = visibility;
- Descriptor.Init(shaderRegister, registerSpace);
- }
- } D3D12_ROOT_PARAMETER;
- extern "C"{
- #else
- typedef struct D3D12_ROOT_PARAMETER
- {
- D3D12_ROOT_PARAMETER_TYPE ParameterType;
- union
- {
- D3D12_ROOT_DESCRIPTOR_TABLE DescriptorTable;
- D3D12_ROOT_CONSTANTS Constants;
- D3D12_ROOT_DESCRIPTOR Descriptor;
- } ;
- D3D12_SHADER_VISIBILITY ShaderVisibility;
- } D3D12_ROOT_PARAMETER;
- #endif
- typedef
- enum D3D12_ROOT_SIGNATURE_FLAGS
- {
- D3D12_ROOT_SIGNATURE_NONE = 0,
- D3D12_ROOT_SIGNATURE_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT = 0x1,
- D3D12_ROOT_SIGNATURE_DENY_VERTEX_SHADER_ROOT_ACCESS = 0x2,
- D3D12_ROOT_SIGNATURE_DENY_HULL_SHADER_ROOT_ACCESS = 0x4,
- D3D12_ROOT_SIGNATURE_DENY_DOMAIN_SHADER_ROOT_ACCESS = 0x8,
- D3D12_ROOT_SIGNATURE_DENY_GEOMETRY_SHADER_ROOT_ACCESS = 0x10,
- D3D12_ROOT_SIGNATURE_DENY_PIXEL_SHADER_ROOT_ACCESS = 0x20,
- D3D12_ROOT_SIGNATURE_ALLOW_STREAM_OUTPUT = 0x40
- } D3D12_ROOT_SIGNATURE_FLAGS;
- DEFINE_ENUM_FLAG_OPERATORS( D3D12_ROOT_SIGNATURE_FLAGS );
- typedef
- enum D3D12_STATIC_BORDER_COLOR
- {
- D3D12_STATIC_BORDER_COLOR_TRANSPARENT_BLACK = 0,
- D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK = ( D3D12_STATIC_BORDER_COLOR_TRANSPARENT_BLACK + 1 ) ,
- D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE = ( D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK + 1 )
- } D3D12_STATIC_BORDER_COLOR;
- #if defined( __cplusplus )
- }
- typedef struct D3D12_STATIC_SAMPLER
- {
- D3D12_FILTER Filter;
- D3D12_TEXTURE_ADDRESS_MODE AddressU;
- D3D12_TEXTURE_ADDRESS_MODE AddressV;
- D3D12_TEXTURE_ADDRESS_MODE AddressW;
- FLOAT MipLODBias;
- UINT MaxAnisotropy;
- D3D12_COMPARISON_FUNC ComparisonFunc;
- D3D12_STATIC_BORDER_COLOR BorderColor;
- FLOAT MinLOD;
- FLOAT MaxLOD;
- UINT ShaderRegister;
- UINT RegisterSpace;
- D3D12_SHADER_VISIBILITY ShaderVisibility;
- // Initialize struct
- void Init(
- UINT shaderRegister,
- D3D12_FILTER filter = D3D12_FILTER_ANISOTROPIC,
- D3D12_TEXTURE_ADDRESS_MODE addressU = D3D12_TEXTURE_ADDRESS_WRAP,
- D3D12_TEXTURE_ADDRESS_MODE addressV = D3D12_TEXTURE_ADDRESS_WRAP,
- D3D12_TEXTURE_ADDRESS_MODE addressW = D3D12_TEXTURE_ADDRESS_WRAP,
- FLOAT mipLODBias = 0,
- UINT maxAnisotropy = 16,
- D3D12_COMPARISON_FUNC comparisonFunc = D3D12_COMPARISON_LESS_EQUAL,
- D3D12_STATIC_BORDER_COLOR borderColor = D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE,
- FLOAT minLOD = 0.f,
- FLOAT maxLOD = D3D12_FLOAT32_MAX,
- D3D12_SHADER_VISIBILITY shaderVisibility = D3D12_SHADER_VISIBILITY_ALL,
- UINT registerSpace = 0)
- {
- ShaderRegister = shaderRegister;
- Filter = filter;
- AddressU = addressU;
- AddressV = addressV;
- AddressW = addressW;
- MipLODBias = mipLODBias;
- MaxAnisotropy = maxAnisotropy;
- ComparisonFunc = comparisonFunc;
- BorderColor = borderColor;
- MinLOD = minLOD;
- MaxLOD = maxLOD;
- ShaderVisibility = shaderVisibility;
- RegisterSpace = registerSpace;
- }
- D3D12_STATIC_SAMPLER(
- UINT shaderRegister = 0,
- D3D12_FILTER filter = D3D12_FILTER_ANISOTROPIC,
- D3D12_TEXTURE_ADDRESS_MODE addressU = D3D12_TEXTURE_ADDRESS_WRAP,
- D3D12_TEXTURE_ADDRESS_MODE addressV = D3D12_TEXTURE_ADDRESS_WRAP,
- D3D12_TEXTURE_ADDRESS_MODE addressW = D3D12_TEXTURE_ADDRESS_WRAP,
- FLOAT mipLODBias = 0,
- UINT maxAnisotropy = 16,
- D3D12_COMPARISON_FUNC comparisonFunc = D3D12_COMPARISON_LESS_EQUAL,
- D3D12_STATIC_BORDER_COLOR borderColor = D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE,
- FLOAT minLOD = 0.f,
- FLOAT maxLOD = D3D12_FLOAT32_MAX,
- D3D12_SHADER_VISIBILITY shaderVisibility = D3D12_SHADER_VISIBILITY_ALL,
- UINT registerSpace = 0)
- {
- Init(shaderRegister,filter,addressU,addressV,addressW,mipLODBias,
- maxAnisotropy,comparisonFunc,borderColor,minLOD,maxLOD,shaderVisibility,registerSpace);
- }
- } D3D12_STATIC_SAMPLER;
- extern "C"{
- #else
- typedef struct D3D12_STATIC_SAMPLER
- {
- D3D12_FILTER Filter;
- D3D12_TEXTURE_ADDRESS_MODE AddressU;
- D3D12_TEXTURE_ADDRESS_MODE AddressV;
- D3D12_TEXTURE_ADDRESS_MODE AddressW;
- FLOAT MipLODBias;
- UINT MaxAnisotropy;
- D3D12_COMPARISON_FUNC ComparisonFunc;
- D3D12_STATIC_BORDER_COLOR BorderColor;
- FLOAT MinLOD;
- FLOAT MaxLOD;
- UINT ShaderRegister;
- UINT RegisterSpace;
- D3D12_SHADER_VISIBILITY ShaderVisibility;
- } D3D12_STATIC_SAMPLER;
- #endif
- #if defined( __cplusplus )
- }
- typedef struct D3D12_ROOT_SIGNATURE
- {
- UINT NumParameters;
- const D3D12_ROOT_PARAMETER* pParameters;
- UINT NumStaticSamplers;
- const D3D12_STATIC_SAMPLER* pStaticSamplers;
- D3D12_ROOT_SIGNATURE_FLAGS Flags;
- // Initialize struct
- void Init(
- UINT numParameters,
- const D3D12_ROOT_PARAMETER* _pParameters,
- UINT numStaticSamplers = 0,
- const D3D12_STATIC_SAMPLER* _pStaticSamplers = NULL,
- D3D12_ROOT_SIGNATURE_FLAGS flags = D3D12_ROOT_SIGNATURE_NONE)
- {
- NumParameters = numParameters;
- pParameters = _pParameters;
- NumStaticSamplers = numStaticSamplers;
- pStaticSamplers = _pStaticSamplers;
- Flags = flags;
- }
- D3D12_ROOT_SIGNATURE() { Init(0,NULL,0,NULL,D3D12_ROOT_SIGNATURE_NONE);}
- D3D12_ROOT_SIGNATURE(
- UINT numParameters,
- const D3D12_ROOT_PARAMETER* _pParameters,
- UINT numStaticSamplers = 0,
- const D3D12_STATIC_SAMPLER* _pStaticSamplers = NULL,
- D3D12_ROOT_SIGNATURE_FLAGS flags = D3D12_ROOT_SIGNATURE_NONE)
- {
- Init(numParameters, _pParameters, numStaticSamplers, _pStaticSamplers, flags);
- }
- } D3D12_ROOT_SIGNATURE;
- extern "C"{
- #else
- typedef struct D3D12_ROOT_SIGNATURE
- {
- UINT NumParameters;
- const D3D12_ROOT_PARAMETER *pParameters;
- UINT NumStaticSamplers;
- const D3D12_STATIC_SAMPLER *pStaticSamplers;
- D3D12_ROOT_SIGNATURE_FLAGS Flags;
- } D3D12_ROOT_SIGNATURE;
- #endif
- typedef
- enum D3D_ROOT_SIGNATURE_VERSION
- {
- D3D_ROOT_SIGNATURE_V1 = 0x1
- } D3D_ROOT_SIGNATURE_VERSION;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0001_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0001_v0_0_s_ifspec;
- #ifndef __ID3D12RootSignatureDeserializer_INTERFACE_DEFINED__
- #define __ID3D12RootSignatureDeserializer_INTERFACE_DEFINED__
- /* interface ID3D12RootSignatureDeserializer */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12RootSignatureDeserializer;
- #if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("34AB647B-3CC8-46AC-841B-C0965645C046")
- ID3D12RootSignatureDeserializer : public IUnknown
- {
- public:
- virtual const D3D12_ROOT_SIGNATURE *STDMETHODCALLTYPE GetRootSignature( void) = 0;
- };
- #else /* C style interface */
- typedef struct ID3D12RootSignatureDeserializerVtbl
- {
- BEGIN_INTERFACE
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12RootSignatureDeserializer * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12RootSignatureDeserializer * This);
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12RootSignatureDeserializer * This);
- const D3D12_ROOT_SIGNATURE *( STDMETHODCALLTYPE *GetRootSignature )(
- ID3D12RootSignatureDeserializer * This);
- END_INTERFACE
- } ID3D12RootSignatureDeserializerVtbl;
- interface ID3D12RootSignatureDeserializer
- {
- CONST_VTBL struct ID3D12RootSignatureDeserializerVtbl *lpVtbl;
- };
- #ifdef COBJMACROS
- #define ID3D12RootSignatureDeserializer_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12RootSignatureDeserializer_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12RootSignatureDeserializer_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12RootSignatureDeserializer_GetRootSignature(This) \
- ( (This)->lpVtbl -> GetRootSignature(This) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12RootSignatureDeserializer_INTERFACE_DEFINED__ */
- /* interface __MIDL_itf_d3d12_0000_0002 */
- /* [local] */
- typedef HRESULT (WINAPI* PFN_D3D12_SERIALIZE_ROOT_SIGNATURE)(
- _In_ const D3D12_ROOT_SIGNATURE* pRootSignature,
- _In_ D3D_ROOT_SIGNATURE_VERSION Version,
- _Out_ ID3DBlob** ppBlob,
- _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);
- HRESULT WINAPI D3D12SerializeRootSignature(
- _In_ const D3D12_ROOT_SIGNATURE* pRootSignature,
- _In_ D3D_ROOT_SIGNATURE_VERSION Version,
- _Out_ ID3DBlob** ppBlob,
- _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);
- typedef HRESULT (WINAPI* PFN_D3D12_CREATE_ROOT_SIGNATURE_DESERIALIZER)(
- _In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData,
- _In_ SIZE_T SrcDataSizeInBytes,
- _In_ REFIID pRootSignatureDeserializerInterface,
- _Out_ void** ppRootSignatureDeserializer);
- HRESULT WINAPI D3D12CreateRootSignatureDeserializer(
- _In_reads_bytes_(SrcDataSizeInBytes) LPCVOID pSrcData,
- _In_ SIZE_T SrcDataSizeInBytes,
- _In_ REFIID pRootSignatureDeserializerInterface,
- _Out_ void** ppRootSignatureDeserializer);
- #if defined( __cplusplus )
- }
- typedef struct D3D12_CPU_DESCRIPTOR_HANDLE
- {
- SIZE_T ptr;
- D3D12_CPU_DESCRIPTOR_HANDLE MakeOffsetted(INT offsetInDecriptors, UINT descriptorIncrementSize) const
- {
- D3D12_CPU_DESCRIPTOR_HANDLE offsetted;
- offsetted.ptr = ptr + offsetInDecriptors * descriptorIncrementSize;
- return offsetted;
- }
- D3D12_CPU_DESCRIPTOR_HANDLE MakeOffsetted(INT offsetScaledByIncrementSize) const
- {
- D3D12_CPU_DESCRIPTOR_HANDLE offsetted;
- offsetted.ptr = ptr + offsetScaledByIncrementSize;
- return offsetted;
- }
- D3D12_CPU_DESCRIPTOR_HANDLE& Offset(INT offsetInDecriptors, UINT descriptorIncrementSize)
- {
- ptr += offsetInDecriptors * descriptorIncrementSize;
- return *this;
- }
- D3D12_CPU_DESCRIPTOR_HANDLE& Offset(INT offsetScaledByIncrementSize)
- {
- ptr += offsetScaledByIncrementSize;
- return *this;
- }
- } D3D12_CPU_DESCRIPTOR_HANDLE;
- extern "C"{
- #else
- typedef struct D3D12_CPU_DESCRIPTOR_HANDLE
- {
- SIZE_T ptr;
- } D3D12_CPU_DESCRIPTOR_HANDLE;
- #endif
- #if defined( __cplusplus )
- }
- typedef struct D3D12_GPU_DESCRIPTOR_HANDLE
- {
- UINT64 ptr;
- D3D12_GPU_DESCRIPTOR_HANDLE MakeOffsetted(INT offsetInDecriptors, UINT descriptorIncrementSize) const
- {
- D3D12_GPU_DESCRIPTOR_HANDLE offsetted;
- offsetted.ptr = ptr + offsetInDecriptors * descriptorIncrementSize;
- return offsetted;
- }
- D3D12_GPU_DESCRIPTOR_HANDLE MakeOffsetted(INT offsetScaledByIncrementSize) const
- {
- D3D12_GPU_DESCRIPTOR_HANDLE offsetted;
- offsetted.ptr = ptr + offsetScaledByIncrementSize;
- return offsetted;
- }
- D3D12_GPU_DESCRIPTOR_HANDLE& Offset(INT offsetInDecriptors, UINT descriptorIncrementSize)
- {
- ptr += offsetInDecriptors * descriptorIncrementSize;
- return *this;
- }
- D3D12_GPU_DESCRIPTOR_HANDLE& Offset(INT offsetScaledByIncrementSize)
- {
- ptr += offsetScaledByIncrementSize;
- return *this;
- }
- } D3D12_GPU_DESCRIPTOR_HANDLE;
- extern "C"{
- #else
- typedef struct D3D12_GPU_DESCRIPTOR_HANDLE
- {
- UINT64 ptr;
- } D3D12_GPU_DESCRIPTOR_HANDLE;
- #endif
- // If rects are supplied in D3D12_DISCARD_RESOURCE_DESC, below, the resource
- // must have 2D subresources with all specified subresources the same dimension.
- typedef struct D3D12_DISCARD_RESOURCE_DESC
- {
- _In_reads_(NumRects) const D3D12_RECT *pRects;
- UINT NumRects;
- UINT FirstSubresource;
- UINT NumSubresources;
- } D3D12_DISCARD_RESOURCE_DESC;
- typedef
- enum D3D12_QUERY_HEAP_TYPE
- {
- D3D12_QUERY_HEAP_TYPE_OCCLUSION = 0,
- D3D12_QUERY_HEAP_TYPE_TIMESTAMP = 1,
- D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS = 2,
- D3D12_QUERY_HEAP_TYPE_SO_STATISTICS = 3
- } D3D12_QUERY_HEAP_TYPE;
- typedef struct D3D12_QUERY_HEAP_DESC
- {
- D3D12_QUERY_HEAP_TYPE Type;
- UINT Count;
- UINT NodeMask;
- } D3D12_QUERY_HEAP_DESC;
- typedef
- enum D3D12_QUERY_TYPE
- {
- D3D12_QUERY_TYPE_OCCLUSION = 0,
- D3D12_QUERY_TYPE_BINARY_OCCLUSION = 1,
- D3D12_QUERY_TYPE_TIMESTAMP = 2,
- D3D12_QUERY_TYPE_PIPELINE_STATISTICS = 3,
- D3D12_QUERY_TYPE_SO_STATISTICS_STREAM0 = 4,
- D3D12_QUERY_TYPE_SO_STATISTICS_STREAM1 = 5,
- D3D12_QUERY_TYPE_SO_STATISTICS_STREAM2 = 6,
- D3D12_QUERY_TYPE_SO_STATISTICS_STREAM3 = 7
- } D3D12_QUERY_TYPE;
- typedef
- enum D3D12_PREDICATION_OP
- {
- D3D12_PREDICATION_OP_EQUAL_ZERO = 0,
- D3D12_PREDICATION_OP_NOT_EQUAL_ZERO = 1
- } D3D12_PREDICATION_OP;
- typedef struct D3D12_QUERY_DATA_PIPELINE_STATISTICS
- {
- UINT64 IAVertices;
- UINT64 IAPrimitives;
- UINT64 VSInvocations;
- UINT64 GSInvocations;
- UINT64 GSPrimitives;
- UINT64 CInvocations;
- UINT64 CPrimitives;
- UINT64 PSInvocations;
- UINT64 HSInvocations;
- UINT64 DSInvocations;
- UINT64 CSInvocations;
- } D3D12_QUERY_DATA_PIPELINE_STATISTICS;
- typedef struct D3D12_QUERY_DATA_SO_STATISTICS
- {
- UINT64 NumPrimitivesWritten;
- UINT64 PrimitivesStorageNeeded;
- } D3D12_QUERY_DATA_SO_STATISTICS;
- typedef struct D3D12_STREAM_OUTPUT_BUFFER_VIEW
- {
- D3D12_GPU_VIRTUAL_ADDRESS BufferLocation;
- UINT64 SizeInBytes;
- D3D12_GPU_VIRTUAL_ADDRESS BufferFilledSizeLocation;
- } D3D12_STREAM_OUTPUT_BUFFER_VIEW;
- typedef struct D3D12_DRAW_ARGUMENTS
- {
- UINT VertexCountPerInstance;
- UINT InstanceCount;
- UINT StartVertexLocation;
- UINT StartInstanceLocation;
- } D3D12_DRAW_ARGUMENTS;
- typedef struct D3D12_DRAW_INDEXED_ARGUMENTS
- {
- UINT IndexCountPerInstance;
- UINT InstanceCount;
- UINT StartIndexLocation;
- INT BaseVertexLocation;
- UINT StartInstanceLocation;
- } D3D12_DRAW_INDEXED_ARGUMENTS;
- typedef struct D3D12_DISPATCH_ARGUMENTS
- {
- UINT ThreadGroupCountX;
- UINT ThreadGroupCountY;
- UINT ThreadGroupCountZ;
- } D3D12_DISPATCH_ARGUMENTS;
- typedef struct D3D12_VERTEX_BUFFER_VIEW
- {
- D3D12_GPU_VIRTUAL_ADDRESS BufferLocation;
- UINT SizeInBytes;
- UINT StrideInBytes;
- } D3D12_VERTEX_BUFFER_VIEW;
- typedef struct D3D12_INDEX_BUFFER_VIEW
- {
- D3D12_GPU_VIRTUAL_ADDRESS BufferLocation;
- UINT SizeInBytes;
- DXGI_FORMAT Format;
- } D3D12_INDEX_BUFFER_VIEW;
- typedef
- enum D3D12_INDIRECT_PARAMETER_TYPE
- {
- D3D12_INDIRECT_PARAMETER_DRAW = 0,
- D3D12_INDIRECT_PARAMETER_DRAW_INDEXED = ( D3D12_INDIRECT_PARAMETER_DRAW + 1 ) ,
- D3D12_INDIRECT_PARAMETER_DISPATCH = ( D3D12_INDIRECT_PARAMETER_DRAW_INDEXED + 1 ) ,
- D3D12_INDIRECT_PARAMETER_VERTEX_BUFFER_VIEW = ( D3D12_INDIRECT_PARAMETER_DISPATCH + 1 ) ,
- D3D12_INDIRECT_PARAMETER_INDEX_BUFFER_VIEW = ( D3D12_INDIRECT_PARAMETER_VERTEX_BUFFER_VIEW + 1 ) ,
- D3D12_INDIRECT_PARAMETER_CONSTANT = ( D3D12_INDIRECT_PARAMETER_INDEX_BUFFER_VIEW + 1 ) ,
- D3D12_INDIRECT_PARAMETER_CONSTANT_BUFFER_VIEW = ( D3D12_INDIRECT_PARAMETER_CONSTANT + 1 ) ,
- D3D12_INDIRECT_PARAMETER_SHADER_RESOURCE_VIEW = ( D3D12_INDIRECT_PARAMETER_CONSTANT_BUFFER_VIEW + 1 ) ,
- D3D12_INDIRECT_PARAMETER_UNORDERED_ACCESS_VIEW = ( D3D12_INDIRECT_PARAMETER_SHADER_RESOURCE_VIEW + 1 )
- } D3D12_INDIRECT_PARAMETER_TYPE;
- typedef struct D3D12_INDIRECT_PARAMETER
- {
- D3D12_INDIRECT_PARAMETER_TYPE Type;
- union
- {
- struct
- {
- UINT Slot;
- } VertexBuffer;
- struct
- {
- UINT RootParameterIndex;
- UINT DestOffsetIn32BitValues;
- UINT Num32BitValuesToSet;
- } Constant;
- struct
- {
- UINT RootParameterIndex;
- } ConstantBufferView;
- struct
- {
- UINT RootParameterIndex;
- } ShaderResourceView;
- struct
- {
- UINT RootParameterIndex;
- } UnorderedAccessView;
- } ;
- } D3D12_INDIRECT_PARAMETER;
- typedef struct D3D12_COMMAND_SIGNATURE
- {
- UINT ByteStride;
- UINT ParameterCount;
- const D3D12_INDIRECT_PARAMETER *pParameters;
- UINT NodeMask;
- } D3D12_COMMAND_SIGNATURE;
- #define D3D12_SDK_VERSION ( 18 )
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0002_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0002_v0_0_s_ifspec;
- #ifndef __ID3D12Pageable_INTERFACE_DEFINED__
- #define __ID3D12Pageable_INTERFACE_DEFINED__
- /* interface ID3D12Pageable */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12Pageable;
- #if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("63ee58fb-1268-4835-86da-f008ce62f0d6")
- ID3D12Pageable : public ID3D12DeviceChild
- {
- public:
- };
- #else /* C style interface */
- typedef struct ID3D12PageableVtbl
- {
- BEGIN_INTERFACE
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Pageable * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Pageable * This);
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Pageable * This);
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Pageable * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Pageable * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Pageable * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Pageable * This,
- _In_z_ LPCWSTR Name);
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12Pageable * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
- END_INTERFACE
- } ID3D12PageableVtbl;
- interface ID3D12Pageable
- {
- CONST_VTBL struct ID3D12PageableVtbl *lpVtbl;
- };
- #ifdef COBJMACROS
- #define ID3D12Pageable_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12Pageable_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12Pageable_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12Pageable_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12Pageable_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12Pageable_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12Pageable_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12Pageable_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12Pageable_INTERFACE_DEFINED__ */
- #ifndef __ID3D12Heap_INTERFACE_DEFINED__
- #define __ID3D12Heap_INTERFACE_DEFINED__
- /* interface ID3D12Heap */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12Heap;
- #if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("6b3b2502-6e51-45b3-90ee-9884265e8df3")
- ID3D12Heap : public ID3D12Pageable
- {
- public:
- virtual D3D12_HEAP_DESC STDMETHODCALLTYPE GetDesc( void) = 0;
- };
- #else /* C style interface */
- typedef struct ID3D12HeapVtbl
- {
- BEGIN_INTERFACE
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Heap * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Heap * This);
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Heap * This);
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Heap * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Heap * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Heap * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Heap * This,
- _In_z_ LPCWSTR Name);
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12Heap * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
- D3D12_HEAP_DESC ( STDMETHODCALLTYPE *GetDesc )(
- ID3D12Heap * This);
- END_INTERFACE
- } ID3D12HeapVtbl;
- interface ID3D12Heap
- {
- CONST_VTBL struct ID3D12HeapVtbl *lpVtbl;
- };
- #ifdef COBJMACROS
- #define ID3D12Heap_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12Heap_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12Heap_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12Heap_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12Heap_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12Heap_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12Heap_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12Heap_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #define ID3D12Heap_GetDesc(This) \
- ( (This)->lpVtbl -> GetDesc(This) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12Heap_INTERFACE_DEFINED__ */
- #ifndef __ID3D12Resource_INTERFACE_DEFINED__
- #define __ID3D12Resource_INTERFACE_DEFINED__
- /* interface ID3D12Resource */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12Resource;
- #if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("696442be-a72e-4059-bc79-5b5c98040fad")
- ID3D12Resource : public ID3D12Pageable
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE Map(
- UINT Subresource,
- _In_opt_ const D3D12_RANGE *pReadRange,
- _Outptr_opt_result_bytebuffer_(_Inexpressible_("Dependent on resource")) void **ppData) = 0;
- virtual void STDMETHODCALLTYPE Unmap(
- UINT Subresource,
- _In_opt_ const D3D12_RANGE *pWrittenRange) = 0;
- virtual D3D12_RESOURCE_DESC STDMETHODCALLTYPE GetDesc( void) = 0;
- virtual D3D12_GPU_VIRTUAL_ADDRESS STDMETHODCALLTYPE GetGPUVirtualAddress( void) = 0;
- virtual HRESULT STDMETHODCALLTYPE WriteToSubresource(
- UINT DstSubresource,
- _In_opt_ const D3D12_BOX *pDstBox,
- _In_ const void *pSrcData,
- UINT SrcRowPitch,
- UINT SrcDepthPitch) = 0;
- virtual HRESULT STDMETHODCALLTYPE ReadFromSubresource(
- _Out_ void *pDstData,
- UINT DstRowPitch,
- UINT DstDepthPitch,
- UINT SrcSubresource,
- _In_opt_ const D3D12_BOX *pSrcBox) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetHeapProperties(
- _Out_opt_ D3D12_HEAP_PROPERTIES *pHeapProperties,
- _Out_opt_ D3D12_HEAP_MISC_FLAG *pHeapFlags) = 0;
- };
- #else /* C style interface */
- typedef struct ID3D12ResourceVtbl
- {
- BEGIN_INTERFACE
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Resource * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Resource * This);
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Resource * This);
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Resource * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Resource * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Resource * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Resource * This,
- _In_z_ LPCWSTR Name);
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12Resource * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
- HRESULT ( STDMETHODCALLTYPE *Map )(
- ID3D12Resource * This,
- UINT Subresource,
- _In_opt_ const D3D12_RANGE *pReadRange,
- _Outptr_opt_result_bytebuffer_(_Inexpressible_("Dependent on resource")) void **ppData);
- void ( STDMETHODCALLTYPE *Unmap )(
- ID3D12Resource * This,
- UINT Subresource,
- _In_opt_ const D3D12_RANGE *pWrittenRange);
- D3D12_RESOURCE_DESC ( STDMETHODCALLTYPE *GetDesc )(
- ID3D12Resource * This);
- D3D12_GPU_VIRTUAL_ADDRESS ( STDMETHODCALLTYPE *GetGPUVirtualAddress )(
- ID3D12Resource * This);
- HRESULT ( STDMETHODCALLTYPE *WriteToSubresource )(
- ID3D12Resource * This,
- UINT DstSubresource,
- _In_opt_ const D3D12_BOX *pDstBox,
- _In_ const void *pSrcData,
- UINT SrcRowPitch,
- UINT SrcDepthPitch);
- HRESULT ( STDMETHODCALLTYPE *ReadFromSubresource )(
- ID3D12Resource * This,
- _Out_ void *pDstData,
- UINT DstRowPitch,
- UINT DstDepthPitch,
- UINT SrcSubresource,
- _In_opt_ const D3D12_BOX *pSrcBox);
- HRESULT ( STDMETHODCALLTYPE *GetHeapProperties )(
- ID3D12Resource * This,
- _Out_opt_ D3D12_HEAP_PROPERTIES *pHeapProperties,
- _Out_opt_ D3D12_HEAP_MISC_FLAG *pHeapFlags);
- END_INTERFACE
- } ID3D12ResourceVtbl;
- interface ID3D12Resource
- {
- CONST_VTBL struct ID3D12ResourceVtbl *lpVtbl;
- };
- #ifdef COBJMACROS
- #define ID3D12Resource_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12Resource_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12Resource_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12Resource_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12Resource_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12Resource_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12Resource_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12Resource_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #define ID3D12Resource_Map(This,Subresource,pReadRange,ppData) \
- ( (This)->lpVtbl -> Map(This,Subresource,pReadRange,ppData) )
- #define ID3D12Resource_Unmap(This,Subresource,pWrittenRange) \
- ( (This)->lpVtbl -> Unmap(This,Subresource,pWrittenRange) )
- #define ID3D12Resource_GetDesc(This) \
- ( (This)->lpVtbl -> GetDesc(This) )
- #define ID3D12Resource_GetGPUVirtualAddress(This) \
- ( (This)->lpVtbl -> GetGPUVirtualAddress(This) )
- #define ID3D12Resource_WriteToSubresource(This,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) \
- ( (This)->lpVtbl -> WriteToSubresource(This,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) )
- #define ID3D12Resource_ReadFromSubresource(This,pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) \
- ( (This)->lpVtbl -> ReadFromSubresource(This,pDstData,DstRowPitch,DstDepthPitch,SrcSubresource,pSrcBox) )
- #define ID3D12Resource_GetHeapProperties(This,pHeapProperties,pHeapFlags) \
- ( (This)->lpVtbl -> GetHeapProperties(This,pHeapProperties,pHeapFlags) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12Resource_INTERFACE_DEFINED__ */
- #ifndef __ID3D12CommandAllocator_INTERFACE_DEFINED__
- #define __ID3D12CommandAllocator_INTERFACE_DEFINED__
- /* interface ID3D12CommandAllocator */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12CommandAllocator;
- #if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("6102dee4-af59-4b09-b999-b44d73f09b24")
- ID3D12CommandAllocator : public ID3D12Pageable
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
- };
- #else /* C style interface */
- typedef struct ID3D12CommandAllocatorVtbl
- {
- BEGIN_INTERFACE
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12CommandAllocator * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12CommandAllocator * This);
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12CommandAllocator * This);
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12CommandAllocator * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12CommandAllocator * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12CommandAllocator * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12CommandAllocator * This,
- _In_z_ LPCWSTR Name);
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12CommandAllocator * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ID3D12CommandAllocator * This);
- END_INTERFACE
- } ID3D12CommandAllocatorVtbl;
- interface ID3D12CommandAllocator
- {
- CONST_VTBL struct ID3D12CommandAllocatorVtbl *lpVtbl;
- };
- #ifdef COBJMACROS
- #define ID3D12CommandAllocator_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12CommandAllocator_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12CommandAllocator_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12CommandAllocator_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12CommandAllocator_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12CommandAllocator_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12CommandAllocator_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12CommandAllocator_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #define ID3D12CommandAllocator_Reset(This) \
- ( (This)->lpVtbl -> Reset(This) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12CommandAllocator_INTERFACE_DEFINED__ */
- #ifndef __ID3D12Fence_INTERFACE_DEFINED__
- #define __ID3D12Fence_INTERFACE_DEFINED__
- /* interface ID3D12Fence */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12Fence;
- #if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("0a753dcf-c4d8-4b91-adf6-be5a60d95a76")
- ID3D12Fence : public ID3D12Pageable
- {
- public:
- virtual UINT64 STDMETHODCALLTYPE GetCompletedValue( void) = 0;
- virtual HRESULT STDMETHODCALLTYPE SetEventOnCompletion(
- UINT64 Value,
- HANDLE hEvent) = 0;
- virtual HRESULT STDMETHODCALLTYPE Signal(
- UINT64 Value) = 0;
- };
- #else /* C style interface */
- typedef struct ID3D12FenceVtbl
- {
- BEGIN_INTERFACE
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Fence * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Fence * This);
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Fence * This);
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Fence * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Fence * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Fence * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Fence * This,
- _In_z_ LPCWSTR Name);
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12Fence * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
- UINT64 ( STDMETHODCALLTYPE *GetCompletedValue )(
- ID3D12Fence * This);
- HRESULT ( STDMETHODCALLTYPE *SetEventOnCompletion )(
- ID3D12Fence * This,
- UINT64 Value,
- HANDLE hEvent);
- HRESULT ( STDMETHODCALLTYPE *Signal )(
- ID3D12Fence * This,
- UINT64 Value);
- END_INTERFACE
- } ID3D12FenceVtbl;
- interface ID3D12Fence
- {
- CONST_VTBL struct ID3D12FenceVtbl *lpVtbl;
- };
- #ifdef COBJMACROS
- #define ID3D12Fence_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12Fence_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12Fence_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12Fence_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12Fence_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12Fence_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12Fence_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12Fence_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #define ID3D12Fence_GetCompletedValue(This) \
- ( (This)->lpVtbl -> GetCompletedValue(This) )
- #define ID3D12Fence_SetEventOnCompletion(This,Value,hEvent) \
- ( (This)->lpVtbl -> SetEventOnCompletion(This,Value,hEvent) )
- #define ID3D12Fence_Signal(This,Value) \
- ( (This)->lpVtbl -> Signal(This,Value) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12Fence_INTERFACE_DEFINED__ */
- #ifndef __ID3D12PipelineState_INTERFACE_DEFINED__
- #define __ID3D12PipelineState_INTERFACE_DEFINED__
- /* interface ID3D12PipelineState */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12PipelineState;
- #if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("765a30f3-f624-4c6f-a828-ace948622445")
- ID3D12PipelineState : public ID3D12Pageable
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE GetCachedBlob(
- _COM_Outptr_ ID3DBlob **ppBlob) = 0;
- };
- #else /* C style interface */
- typedef struct ID3D12PipelineStateVtbl
- {
- BEGIN_INTERFACE
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12PipelineState * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12PipelineState * This);
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12PipelineState * This);
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12PipelineState * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12PipelineState * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12PipelineState * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12PipelineState * This,
- _In_z_ LPCWSTR Name);
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12PipelineState * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
- HRESULT ( STDMETHODCALLTYPE *GetCachedBlob )(
- ID3D12PipelineState * This,
- _COM_Outptr_ ID3DBlob **ppBlob);
- END_INTERFACE
- } ID3D12PipelineStateVtbl;
- interface ID3D12PipelineState
- {
- CONST_VTBL struct ID3D12PipelineStateVtbl *lpVtbl;
- };
- #ifdef COBJMACROS
- #define ID3D12PipelineState_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12PipelineState_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12PipelineState_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12PipelineState_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12PipelineState_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12PipelineState_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12PipelineState_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12PipelineState_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #define ID3D12PipelineState_GetCachedBlob(This,ppBlob) \
- ( (This)->lpVtbl -> GetCachedBlob(This,ppBlob) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12PipelineState_INTERFACE_DEFINED__ */
- #ifndef __ID3D12DescriptorHeap_INTERFACE_DEFINED__
- #define __ID3D12DescriptorHeap_INTERFACE_DEFINED__
- /* interface ID3D12DescriptorHeap */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12DescriptorHeap;
- #if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("8efb471d-616c-4f49-90f7-127bb763fa51")
- ID3D12DescriptorHeap : public ID3D12Pageable
- {
- public:
- virtual D3D12_DESCRIPTOR_HEAP_DESC STDMETHODCALLTYPE GetDesc( void) = 0;
- virtual D3D12_CPU_DESCRIPTOR_HANDLE STDMETHODCALLTYPE GetCPUDescriptorHandleForHeapStart( void) = 0;
- virtual D3D12_GPU_DESCRIPTOR_HANDLE STDMETHODCALLTYPE GetGPUDescriptorHandleForHeapStart( void) = 0;
- };
- #else /* C style interface */
- typedef struct ID3D12DescriptorHeapVtbl
- {
- BEGIN_INTERFACE
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12DescriptorHeap * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12DescriptorHeap * This);
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12DescriptorHeap * This);
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12DescriptorHeap * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12DescriptorHeap * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12DescriptorHeap * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12DescriptorHeap * This,
- _In_z_ LPCWSTR Name);
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12DescriptorHeap * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
- D3D12_DESCRIPTOR_HEAP_DESC ( STDMETHODCALLTYPE *GetDesc )(
- ID3D12DescriptorHeap * This);
- D3D12_CPU_DESCRIPTOR_HANDLE ( STDMETHODCALLTYPE *GetCPUDescriptorHandleForHeapStart )(
- ID3D12DescriptorHeap * This);
- D3D12_GPU_DESCRIPTOR_HANDLE ( STDMETHODCALLTYPE *GetGPUDescriptorHandleForHeapStart )(
- ID3D12DescriptorHeap * This);
- END_INTERFACE
- } ID3D12DescriptorHeapVtbl;
- interface ID3D12DescriptorHeap
- {
- CONST_VTBL struct ID3D12DescriptorHeapVtbl *lpVtbl;
- };
- #ifdef COBJMACROS
- #define ID3D12DescriptorHeap_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12DescriptorHeap_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12DescriptorHeap_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12DescriptorHeap_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12DescriptorHeap_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12DescriptorHeap_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12DescriptorHeap_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12DescriptorHeap_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #define ID3D12DescriptorHeap_GetDesc(This) \
- ( (This)->lpVtbl -> GetDesc(This) )
- #define ID3D12DescriptorHeap_GetCPUDescriptorHandleForHeapStart(This) \
- ( (This)->lpVtbl -> GetCPUDescriptorHandleForHeapStart(This) )
- #define ID3D12DescriptorHeap_GetGPUDescriptorHandleForHeapStart(This) \
- ( (This)->lpVtbl -> GetGPUDescriptorHandleForHeapStart(This) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12DescriptorHeap_INTERFACE_DEFINED__ */
- #ifndef __ID3D12QueryHeap_INTERFACE_DEFINED__
- #define __ID3D12QueryHeap_INTERFACE_DEFINED__
- /* interface ID3D12QueryHeap */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12QueryHeap;
- #if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("0d9658ae-ed45-469e-a61d-970ec583cab4")
- ID3D12QueryHeap : public ID3D12Pageable
- {
- public:
- };
- #else /* C style interface */
- typedef struct ID3D12QueryHeapVtbl
- {
- BEGIN_INTERFACE
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12QueryHeap * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12QueryHeap * This);
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12QueryHeap * This);
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12QueryHeap * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12QueryHeap * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12QueryHeap * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12QueryHeap * This,
- _In_z_ LPCWSTR Name);
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12QueryHeap * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
- END_INTERFACE
- } ID3D12QueryHeapVtbl;
- interface ID3D12QueryHeap
- {
- CONST_VTBL struct ID3D12QueryHeapVtbl *lpVtbl;
- };
- #ifdef COBJMACROS
- #define ID3D12QueryHeap_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12QueryHeap_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12QueryHeap_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12QueryHeap_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12QueryHeap_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12QueryHeap_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12QueryHeap_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12QueryHeap_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12QueryHeap_INTERFACE_DEFINED__ */
- #ifndef __ID3D12CommandSignature_INTERFACE_DEFINED__
- #define __ID3D12CommandSignature_INTERFACE_DEFINED__
- /* interface ID3D12CommandSignature */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12CommandSignature;
- #if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("c36a797c-ec80-4f0a-8985-a7b2475082d1")
- ID3D12CommandSignature : public ID3D12Pageable
- {
- public:
- };
- #else /* C style interface */
- typedef struct ID3D12CommandSignatureVtbl
- {
- BEGIN_INTERFACE
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12CommandSignature * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12CommandSignature * This);
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12CommandSignature * This);
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12CommandSignature * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12CommandSignature * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12CommandSignature * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12CommandSignature * This,
- _In_z_ LPCWSTR Name);
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12CommandSignature * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
- END_INTERFACE
- } ID3D12CommandSignatureVtbl;
- interface ID3D12CommandSignature
- {
- CONST_VTBL struct ID3D12CommandSignatureVtbl *lpVtbl;
- };
- #ifdef COBJMACROS
- #define ID3D12CommandSignature_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12CommandSignature_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12CommandSignature_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12CommandSignature_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12CommandSignature_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12CommandSignature_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12CommandSignature_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12CommandSignature_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12CommandSignature_INTERFACE_DEFINED__ */
- #ifndef __ID3D12CommandList_INTERFACE_DEFINED__
- #define __ID3D12CommandList_INTERFACE_DEFINED__
- /* interface ID3D12CommandList */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12CommandList;
- #if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("7116d91c-e7e4-47ce-b8c6-ec8168f437e5")
- ID3D12CommandList : public ID3D12DeviceChild
- {
- public:
- virtual D3D12_COMMAND_LIST_TYPE STDMETHODCALLTYPE GetType( void) = 0;
- };
- #else /* C style interface */
- typedef struct ID3D12CommandListVtbl
- {
- BEGIN_INTERFACE
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12CommandList * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12CommandList * This);
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12CommandList * This);
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12CommandList * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12CommandList * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12CommandList * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12CommandList * This,
- _In_z_ LPCWSTR Name);
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12CommandList * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
- D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
- ID3D12CommandList * This);
- END_INTERFACE
- } ID3D12CommandListVtbl;
- interface ID3D12CommandList
- {
- CONST_VTBL struct ID3D12CommandListVtbl *lpVtbl;
- };
- #ifdef COBJMACROS
- #define ID3D12CommandList_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12CommandList_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12CommandList_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12CommandList_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12CommandList_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12CommandList_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12CommandList_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12CommandList_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #define ID3D12CommandList_GetType(This) \
- ( (This)->lpVtbl -> GetType(This) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12CommandList_INTERFACE_DEFINED__ */
- #ifndef __ID3D12GraphicsCommandList_INTERFACE_DEFINED__
- #define __ID3D12GraphicsCommandList_INTERFACE_DEFINED__
- /* interface ID3D12GraphicsCommandList */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12GraphicsCommandList;
- #if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("d60db31f-ef2c-4914-bcd8-2507f293c83a")
- ID3D12GraphicsCommandList : public ID3D12CommandList
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
- virtual HRESULT STDMETHODCALLTYPE Reset(
- _In_ ID3D12CommandAllocator *pAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState) = 0;
- virtual void STDMETHODCALLTYPE ClearState(
- _In_opt_ ID3D12PipelineState *pPipelineState) = 0;
- virtual void STDMETHODCALLTYPE DrawInstanced(
- _In_ UINT VertexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartVertexLocation,
- _In_ UINT StartInstanceLocation) = 0;
- virtual void STDMETHODCALLTYPE DrawIndexedInstanced(
- _In_ UINT IndexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartIndexLocation,
- _In_ INT BaseVertexLocation,
- _In_ UINT StartInstanceLocation) = 0;
- virtual void STDMETHODCALLTYPE Dispatch(
- _In_ UINT ThreadGroupCountX,
- _In_ UINT ThreadGroupCountY,
- _In_ UINT ThreadGroupCountZ) = 0;
- virtual void STDMETHODCALLTYPE CopyBufferRegion(
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT64 NumBytes,
- D3D12_COPY_FLAGS CopyFlags) = 0;
- virtual void STDMETHODCALLTYPE CopyTextureRegion(
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst,
- UINT DstX,
- UINT DstY,
- UINT DstZ,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
- _In_opt_ const D3D12_BOX *pSrcBox,
- D3D12_COPY_FLAGS CopyFlags) = 0;
- virtual void STDMETHODCALLTYPE CopyResource(
- _In_ ID3D12Resource *pDstResource,
- _In_ ID3D12Resource *pSrcResource) = 0;
- virtual void STDMETHODCALLTYPE CopyTiles(
- _In_ ID3D12Resource *pTiledResource,
- _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
- _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
- _In_ ID3D12Resource *pBuffer,
- UINT64 BufferStartOffsetInBytes,
- D3D12_TILE_COPY_FLAG Flags) = 0;
- virtual void STDMETHODCALLTYPE ResolveSubresource(
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_ DXGI_FORMAT Format) = 0;
- virtual void STDMETHODCALLTYPE IASetPrimitiveTopology(
- _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology) = 0;
- virtual void STDMETHODCALLTYPE RSSetViewports(
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT Count,
- _In_reads_( Count) const D3D12_VIEWPORT *pViewports) = 0;
- virtual void STDMETHODCALLTYPE RSSetScissorRects(
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT Count,
- _In_reads_( Count) const D3D12_RECT *pRects) = 0;
- virtual void STDMETHODCALLTYPE OMSetBlendFactor(
- _In_opt_ const FLOAT BlendFactor[ 4 ]) = 0;
- virtual void STDMETHODCALLTYPE OMSetStencilRef(
- _In_ UINT StencilRef) = 0;
- virtual void STDMETHODCALLTYPE SetPipelineState(
- _In_ ID3D12PipelineState *pPipelineState) = 0;
- virtual void STDMETHODCALLTYPE ResourceBarrier(
- _In_ UINT Count,
- _In_reads_(Count) const D3D12_RESOURCE_BARRIER_DESC *pDesc) = 0;
- virtual void STDMETHODCALLTYPE ExecuteBundle(
- _In_ ID3D12GraphicsCommandList *pCommandList) = 0;
- virtual void STDMETHODCALLTYPE SetDescriptorHeaps(
- _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap **pDescriptorHeaps,
- _In_ UINT NumDescriptorHeaps) = 0;
- virtual void STDMETHODCALLTYPE SetComputeRootSignature(
- _In_ ID3D12RootSignature *pRootSignature) = 0;
- virtual void STDMETHODCALLTYPE SetGraphicsRootSignature(
- _In_ ID3D12RootSignature *pRootSignature) = 0;
- virtual void STDMETHODCALLTYPE SetComputeRootDescriptorTable(
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor) = 0;
- virtual void STDMETHODCALLTYPE SetGraphicsRootDescriptorTable(
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor) = 0;
- virtual void STDMETHODCALLTYPE SetComputeRoot32BitConstant(
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues) = 0;
- virtual void STDMETHODCALLTYPE SetGraphicsRoot32BitConstant(
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues) = 0;
- virtual void STDMETHODCALLTYPE SetComputeRoot32BitConstants(
- _In_ UINT RootParameterIndex,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues,
- _In_ UINT Num32BitValuesToSet) = 0;
- virtual void STDMETHODCALLTYPE SetGraphicsRoot32BitConstants(
- _In_ UINT RootParameterIndex,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues,
- _In_ UINT Num32BitValuesToSet) = 0;
- virtual void STDMETHODCALLTYPE SetComputeRootConstantBufferView(
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
- virtual void STDMETHODCALLTYPE SetGraphicsRootConstantBufferView(
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
- virtual void STDMETHODCALLTYPE SetComputeRootShaderResourceView(
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
- virtual void STDMETHODCALLTYPE SetGraphicsRootShaderResourceView(
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
- virtual void STDMETHODCALLTYPE SetComputeRootUnorderedAccessView(
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
- virtual void STDMETHODCALLTYPE SetGraphicsRootUnorderedAccessView(
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
- virtual void STDMETHODCALLTYPE SetIndexBuffer(
- _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pDesc) = 0;
- virtual void STDMETHODCALLTYPE SetVertexBuffers(
- _In_ UINT StartSlot,
- _In_reads_opt_(NumBuffers) const D3D12_VERTEX_BUFFER_VIEW *pDesc,
- _In_ UINT NumBuffers) = 0;
- virtual void STDMETHODCALLTYPE SetStreamOutputBuffers(
- _In_ UINT StartSlot,
- _In_reads_opt_(NumBuffers) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pDesc,
- _In_ UINT NumBuffers) = 0;
- virtual void STDMETHODCALLTYPE SetRenderTargets(
- _In_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
- _In_ BOOL RTsSingleHandleToDescriptorRange,
- _In_ UINT NumRenderTargetDescriptors,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor) = 0;
- virtual void STDMETHODCALLTYPE ClearDepthStencilView(
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
- _In_ D3D12_CLEAR_FLAG ClearFlags,
- _In_ FLOAT Depth,
- _In_ UINT8 Stencil,
- _In_reads_(NumRects) const D3D12_RECT *pRect,
- _In_ UINT NumRects) = 0;
- virtual void STDMETHODCALLTYPE ClearRenderTargetView(
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
- _In_ const FLOAT ColorRGBA[ 4 ],
- _In_reads_(NumRects) const D3D12_RECT *pRects,
- _In_ UINT NumRects) = 0;
- virtual void STDMETHODCALLTYPE ClearUnorderedAccessViewUint(
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const UINT Values[ 4 ],
- _In_reads_(NumRects) const D3D12_RECT *pRects,
- _In_ UINT NumRects) = 0;
- virtual void STDMETHODCALLTYPE ClearUnorderedAccessViewFloat(
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const FLOAT Values[ 4 ],
- _In_reads_(NumRects) const D3D12_RECT *pRects,
- _In_ UINT NumRects) = 0;
- virtual void STDMETHODCALLTYPE DiscardResource(
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_RESOURCE_DESC *pDesc) = 0;
- virtual void STDMETHODCALLTYPE BeginQuery(
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ UINT Index,
- _In_ D3D12_QUERY_TYPE Type) = 0;
- virtual void STDMETHODCALLTYPE EndQuery(
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ UINT Index,
- _In_ D3D12_QUERY_TYPE Type) = 0;
- virtual void STDMETHODCALLTYPE ResolveQueryData(
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT StartElement,
- _In_ UINT ElementCount,
- _In_ ID3D12Resource *pDestinationBuffer,
- _In_ UINT64 AlignedDestinationBufferOffset) = 0;
- virtual void STDMETHODCALLTYPE SetPredication(
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation) = 0;
- virtual INT STDMETHODCALLTYPE PIXBeginEvent(
- _In_z_ LPCWSTR Name) = 0;
- virtual INT STDMETHODCALLTYPE PIXEndEvent( void) = 0;
- virtual void STDMETHODCALLTYPE PIXSetMarker(
- _In_z_ LPCWSTR Name) = 0;
- virtual BOOL STDMETHODCALLTYPE PIXGetStatus( void) = 0;
- virtual void STDMETHODCALLTYPE SetMarkerInt(
- _In_ LPCWSTR pLabel,
- INT Data) = 0;
- virtual void STDMETHODCALLTYPE BeginEventInt(
- _In_ LPCWSTR pLabel,
- INT Data) = 0;
- virtual void STDMETHODCALLTYPE EndEvent( void) = 0;
- virtual void STDMETHODCALLTYPE ExecuteIndirect(
- _In_ ID3D12CommandSignature *pCommandSignature,
- _In_ UINT MaxCommandCount,
- _In_ ID3D12Resource *pArgumentBuffer,
- _In_ UINT64 ArgumentBufferOffset,
- _In_opt_ ID3D12Resource *pCountBuffer,
- _In_ UINT64 CountBufferOffset) = 0;
- };
- #else /* C style interface */
- typedef struct ID3D12GraphicsCommandListVtbl
- {
- BEGIN_INTERFACE
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12GraphicsCommandList * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12GraphicsCommandList * This);
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12GraphicsCommandList * This);
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12GraphicsCommandList * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12GraphicsCommandList * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12GraphicsCommandList * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12GraphicsCommandList * This,
- _In_z_ LPCWSTR Name);
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12GraphicsCommandList * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
- D3D12_COMMAND_LIST_TYPE ( STDMETHODCALLTYPE *GetType )(
- ID3D12GraphicsCommandList * This);
- HRESULT ( STDMETHODCALLTYPE *Close )(
- ID3D12GraphicsCommandList * This);
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12CommandAllocator *pAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState);
- void ( STDMETHODCALLTYPE *ClearState )(
- ID3D12GraphicsCommandList * This,
- _In_opt_ ID3D12PipelineState *pPipelineState);
- void ( STDMETHODCALLTYPE *DrawInstanced )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT VertexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartVertexLocation,
- _In_ UINT StartInstanceLocation);
- void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT IndexCountPerInstance,
- _In_ UINT InstanceCount,
- _In_ UINT StartIndexLocation,
- _In_ INT BaseVertexLocation,
- _In_ UINT StartInstanceLocation);
- void ( STDMETHODCALLTYPE *Dispatch )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT ThreadGroupCountX,
- _In_ UINT ThreadGroupCountY,
- _In_ UINT ThreadGroupCountZ);
- void ( STDMETHODCALLTYPE *CopyBufferRegion )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12Resource *pDstBuffer,
- UINT64 DstOffset,
- _In_ ID3D12Resource *pSrcBuffer,
- UINT64 SrcOffset,
- UINT64 NumBytes,
- D3D12_COPY_FLAGS CopyFlags);
- void ( STDMETHODCALLTYPE *CopyTextureRegion )(
- ID3D12GraphicsCommandList * This,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst,
- UINT DstX,
- UINT DstY,
- UINT DstZ,
- _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
- _In_opt_ const D3D12_BOX *pSrcBox,
- D3D12_COPY_FLAGS CopyFlags);
- void ( STDMETHODCALLTYPE *CopyResource )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ ID3D12Resource *pSrcResource);
- void ( STDMETHODCALLTYPE *CopyTiles )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12Resource *pTiledResource,
- _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
- _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
- _In_ ID3D12Resource *pBuffer,
- UINT64 BufferStartOffsetInBytes,
- D3D12_TILE_COPY_FLAG Flags);
- void ( STDMETHODCALLTYPE *ResolveSubresource )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ UINT DstSubresource,
- _In_ ID3D12Resource *pSrcResource,
- _In_ UINT SrcSubresource,
- _In_ DXGI_FORMAT Format);
- void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
- ID3D12GraphicsCommandList * This,
- _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology);
- void ( STDMETHODCALLTYPE *RSSetViewports )(
- ID3D12GraphicsCommandList * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT Count,
- _In_reads_( Count) const D3D12_VIEWPORT *pViewports);
- void ( STDMETHODCALLTYPE *RSSetScissorRects )(
- ID3D12GraphicsCommandList * This,
- _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT Count,
- _In_reads_( Count) const D3D12_RECT *pRects);
- void ( STDMETHODCALLTYPE *OMSetBlendFactor )(
- ID3D12GraphicsCommandList * This,
- _In_opt_ const FLOAT BlendFactor[ 4 ]);
- void ( STDMETHODCALLTYPE *OMSetStencilRef )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT StencilRef);
- void ( STDMETHODCALLTYPE *SetPipelineState )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12PipelineState *pPipelineState);
- void ( STDMETHODCALLTYPE *ResourceBarrier )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT Count,
- _In_reads_(Count) const D3D12_RESOURCE_BARRIER_DESC *pDesc);
- void ( STDMETHODCALLTYPE *ExecuteBundle )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12GraphicsCommandList *pCommandList);
- void ( STDMETHODCALLTYPE *SetDescriptorHeaps )(
- ID3D12GraphicsCommandList * This,
- _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap **pDescriptorHeaps,
- _In_ UINT NumDescriptorHeaps);
- void ( STDMETHODCALLTYPE *SetComputeRootSignature )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12RootSignature *pRootSignature);
- void ( STDMETHODCALLTYPE *SetGraphicsRootSignature )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12RootSignature *pRootSignature);
- void ( STDMETHODCALLTYPE *SetComputeRootDescriptorTable )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
- void ( STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstant )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ UINT SrcData,
- _In_ UINT DestOffsetIn32BitValues);
- void ( STDMETHODCALLTYPE *SetComputeRoot32BitConstants )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues,
- _In_ UINT Num32BitValuesToSet);
- void ( STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_reads_(Num32BitValuesToSet*sizeof(UINT)) const void *pSrcData,
- _In_ UINT DestOffsetIn32BitValues,
- _In_ UINT Num32BitValuesToSet);
- void ( STDMETHODCALLTYPE *SetComputeRootConstantBufferView )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
- void ( STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
- void ( STDMETHODCALLTYPE *SetComputeRootShaderResourceView )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
- void ( STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
- void ( STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
- void ( STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT RootParameterIndex,
- _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
- void ( STDMETHODCALLTYPE *SetIndexBuffer )(
- ID3D12GraphicsCommandList * This,
- _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pDesc);
- void ( STDMETHODCALLTYPE *SetVertexBuffers )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT StartSlot,
- _In_reads_opt_(NumBuffers) const D3D12_VERTEX_BUFFER_VIEW *pDesc,
- _In_ UINT NumBuffers);
- void ( STDMETHODCALLTYPE *SetStreamOutputBuffers )(
- ID3D12GraphicsCommandList * This,
- _In_ UINT StartSlot,
- _In_reads_opt_(NumBuffers) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pDesc,
- _In_ UINT NumBuffers);
- void ( STDMETHODCALLTYPE *SetRenderTargets )(
- ID3D12GraphicsCommandList * This,
- _In_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
- _In_ BOOL RTsSingleHandleToDescriptorRange,
- _In_ UINT NumRenderTargetDescriptors,
- _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor);
- void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
- ID3D12GraphicsCommandList * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
- _In_ D3D12_CLEAR_FLAG ClearFlags,
- _In_ FLOAT Depth,
- _In_ UINT8 Stencil,
- _In_reads_(NumRects) const D3D12_RECT *pRect,
- _In_ UINT NumRects);
- void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
- ID3D12GraphicsCommandList * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
- _In_ const FLOAT ColorRGBA[ 4 ],
- _In_reads_(NumRects) const D3D12_RECT *pRects,
- _In_ UINT NumRects);
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )(
- ID3D12GraphicsCommandList * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const UINT Values[ 4 ],
- _In_reads_(NumRects) const D3D12_RECT *pRects,
- _In_ UINT NumRects);
- void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )(
- ID3D12GraphicsCommandList * This,
- _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
- _In_ ID3D12Resource *pResource,
- _In_ const FLOAT Values[ 4 ],
- _In_reads_(NumRects) const D3D12_RECT *pRects,
- _In_ UINT NumRects);
- void ( STDMETHODCALLTYPE *DiscardResource )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DISCARD_RESOURCE_DESC *pDesc);
- void ( STDMETHODCALLTYPE *BeginQuery )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ UINT Index,
- _In_ D3D12_QUERY_TYPE Type);
- void ( STDMETHODCALLTYPE *EndQuery )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ UINT Index,
- _In_ D3D12_QUERY_TYPE Type);
- void ( STDMETHODCALLTYPE *ResolveQueryData )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12QueryHeap *pQueryHeap,
- _In_ D3D12_QUERY_TYPE Type,
- _In_ UINT StartElement,
- _In_ UINT ElementCount,
- _In_ ID3D12Resource *pDestinationBuffer,
- _In_ UINT64 AlignedDestinationBufferOffset);
- void ( STDMETHODCALLTYPE *SetPredication )(
- ID3D12GraphicsCommandList * This,
- _In_opt_ ID3D12Resource *pBuffer,
- _In_ UINT64 AlignedBufferOffset,
- _In_ D3D12_PREDICATION_OP Operation);
- INT ( STDMETHODCALLTYPE *PIXBeginEvent )(
- ID3D12GraphicsCommandList * This,
- _In_z_ LPCWSTR Name);
- INT ( STDMETHODCALLTYPE *PIXEndEvent )(
- ID3D12GraphicsCommandList * This);
- void ( STDMETHODCALLTYPE *PIXSetMarker )(
- ID3D12GraphicsCommandList * This,
- _In_z_ LPCWSTR Name);
- BOOL ( STDMETHODCALLTYPE *PIXGetStatus )(
- ID3D12GraphicsCommandList * This);
- void ( STDMETHODCALLTYPE *SetMarkerInt )(
- ID3D12GraphicsCommandList * This,
- _In_ LPCWSTR pLabel,
- INT Data);
- void ( STDMETHODCALLTYPE *BeginEventInt )(
- ID3D12GraphicsCommandList * This,
- _In_ LPCWSTR pLabel,
- INT Data);
- void ( STDMETHODCALLTYPE *EndEvent )(
- ID3D12GraphicsCommandList * This);
- void ( STDMETHODCALLTYPE *ExecuteIndirect )(
- ID3D12GraphicsCommandList * This,
- _In_ ID3D12CommandSignature *pCommandSignature,
- _In_ UINT MaxCommandCount,
- _In_ ID3D12Resource *pArgumentBuffer,
- _In_ UINT64 ArgumentBufferOffset,
- _In_opt_ ID3D12Resource *pCountBuffer,
- _In_ UINT64 CountBufferOffset);
- END_INTERFACE
- } ID3D12GraphicsCommandListVtbl;
- interface ID3D12GraphicsCommandList
- {
- CONST_VTBL struct ID3D12GraphicsCommandListVtbl *lpVtbl;
- };
- #ifdef COBJMACROS
- #define ID3D12GraphicsCommandList_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12GraphicsCommandList_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12GraphicsCommandList_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12GraphicsCommandList_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12GraphicsCommandList_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12GraphicsCommandList_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12GraphicsCommandList_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12GraphicsCommandList_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #define ID3D12GraphicsCommandList_GetType(This) \
- ( (This)->lpVtbl -> GetType(This) )
- #define ID3D12GraphicsCommandList_Close(This) \
- ( (This)->lpVtbl -> Close(This) )
- #define ID3D12GraphicsCommandList_Reset(This,pAllocator,pInitialState) \
- ( (This)->lpVtbl -> Reset(This,pAllocator,pInitialState) )
- #define ID3D12GraphicsCommandList_ClearState(This,pPipelineState) \
- ( (This)->lpVtbl -> ClearState(This,pPipelineState) )
- #define ID3D12GraphicsCommandList_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
- #define ID3D12GraphicsCommandList_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
- ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
- #define ID3D12GraphicsCommandList_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) \
- ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) )
- #define ID3D12GraphicsCommandList_CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes,CopyFlags) \
- ( (This)->lpVtbl -> CopyBufferRegion(This,pDstBuffer,DstOffset,pSrcBuffer,SrcOffset,NumBytes,CopyFlags) )
- #define ID3D12GraphicsCommandList_CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox,CopyFlags) \
- ( (This)->lpVtbl -> CopyTextureRegion(This,pDst,DstX,DstY,DstZ,pSrc,pSrcBox,CopyFlags) )
- #define ID3D12GraphicsCommandList_CopyResource(This,pDstResource,pSrcResource) \
- ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
- #define ID3D12GraphicsCommandList_CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) \
- ( (This)->lpVtbl -> CopyTiles(This,pTiledResource,pTileRegionStartCoordinate,pTileRegionSize,pBuffer,BufferStartOffsetInBytes,Flags) )
- #define ID3D12GraphicsCommandList_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
- ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
- #define ID3D12GraphicsCommandList_IASetPrimitiveTopology(This,PrimitiveTopology) \
- ( (This)->lpVtbl -> IASetPrimitiveTopology(This,PrimitiveTopology) )
- #define ID3D12GraphicsCommandList_RSSetViewports(This,Count,pViewports) \
- ( (This)->lpVtbl -> RSSetViewports(This,Count,pViewports) )
- #define ID3D12GraphicsCommandList_RSSetScissorRects(This,Count,pRects) \
- ( (This)->lpVtbl -> RSSetScissorRects(This,Count,pRects) )
- #define ID3D12GraphicsCommandList_OMSetBlendFactor(This,BlendFactor) \
- ( (This)->lpVtbl -> OMSetBlendFactor(This,BlendFactor) )
- #define ID3D12GraphicsCommandList_OMSetStencilRef(This,StencilRef) \
- ( (This)->lpVtbl -> OMSetStencilRef(This,StencilRef) )
- #define ID3D12GraphicsCommandList_SetPipelineState(This,pPipelineState) \
- ( (This)->lpVtbl -> SetPipelineState(This,pPipelineState) )
- #define ID3D12GraphicsCommandList_ResourceBarrier(This,Count,pDesc) \
- ( (This)->lpVtbl -> ResourceBarrier(This,Count,pDesc) )
- #define ID3D12GraphicsCommandList_ExecuteBundle(This,pCommandList) \
- ( (This)->lpVtbl -> ExecuteBundle(This,pCommandList) )
- #define ID3D12GraphicsCommandList_SetDescriptorHeaps(This,pDescriptorHeaps,NumDescriptorHeaps) \
- ( (This)->lpVtbl -> SetDescriptorHeaps(This,pDescriptorHeaps,NumDescriptorHeaps) )
- #define ID3D12GraphicsCommandList_SetComputeRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetComputeRootSignature(This,pRootSignature) )
- #define ID3D12GraphicsCommandList_SetGraphicsRootSignature(This,pRootSignature) \
- ( (This)->lpVtbl -> SetGraphicsRootSignature(This,pRootSignature) )
- #define ID3D12GraphicsCommandList_SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetComputeRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
- #define ID3D12GraphicsCommandList_SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) \
- ( (This)->lpVtbl -> SetGraphicsRootDescriptorTable(This,RootParameterIndex,BaseDescriptor) )
- #define ID3D12GraphicsCommandList_SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstant(This,RootParameterIndex,SrcData,DestOffsetIn32BitValues) )
- #define ID3D12GraphicsCommandList_SetComputeRoot32BitConstants(This,RootParameterIndex,pSrcData,DestOffsetIn32BitValues,Num32BitValuesToSet) \
- ( (This)->lpVtbl -> SetComputeRoot32BitConstants(This,RootParameterIndex,pSrcData,DestOffsetIn32BitValues,Num32BitValuesToSet) )
- #define ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstants(This,RootParameterIndex,pSrcData,DestOffsetIn32BitValues,Num32BitValuesToSet) \
- ( (This)->lpVtbl -> SetGraphicsRoot32BitConstants(This,RootParameterIndex,pSrcData,DestOffsetIn32BitValues,Num32BitValuesToSet) )
- #define ID3D12GraphicsCommandList_SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList_SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootConstantBufferView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList_SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList_SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootShaderResourceView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList_SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetComputeRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList_SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) \
- ( (This)->lpVtbl -> SetGraphicsRootUnorderedAccessView(This,RootParameterIndex,BufferLocation) )
- #define ID3D12GraphicsCommandList_SetIndexBuffer(This,pDesc) \
- ( (This)->lpVtbl -> SetIndexBuffer(This,pDesc) )
- #define ID3D12GraphicsCommandList_SetVertexBuffers(This,StartSlot,pDesc,NumBuffers) \
- ( (This)->lpVtbl -> SetVertexBuffers(This,StartSlot,pDesc,NumBuffers) )
- #define ID3D12GraphicsCommandList_SetStreamOutputBuffers(This,StartSlot,pDesc,NumBuffers) \
- ( (This)->lpVtbl -> SetStreamOutputBuffers(This,StartSlot,pDesc,NumBuffers) )
- #define ID3D12GraphicsCommandList_SetRenderTargets(This,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,NumRenderTargetDescriptors,pDepthStencilDescriptor) \
- ( (This)->lpVtbl -> SetRenderTargets(This,pRenderTargetDescriptors,RTsSingleHandleToDescriptorRange,NumRenderTargetDescriptors,pDepthStencilDescriptor) )
- #define ID3D12GraphicsCommandList_ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,pRect,NumRects) \
- ( (This)->lpVtbl -> ClearDepthStencilView(This,DepthStencilView,ClearFlags,Depth,Stencil,pRect,NumRects) )
- #define ID3D12GraphicsCommandList_ClearRenderTargetView(This,RenderTargetView,ColorRGBA,pRects,NumRects) \
- ( (This)->lpVtbl -> ClearRenderTargetView(This,RenderTargetView,ColorRGBA,pRects,NumRects) )
- #define ID3D12GraphicsCommandList_ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,pRects,NumRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,pRects,NumRects) )
- #define ID3D12GraphicsCommandList_ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,pRects,NumRects) \
- ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,ViewGPUHandleInCurrentHeap,ViewCPUHandle,pResource,Values,pRects,NumRects) )
- #define ID3D12GraphicsCommandList_DiscardResource(This,pResource,pDesc) \
- ( (This)->lpVtbl -> DiscardResource(This,pResource,pDesc) )
- #define ID3D12GraphicsCommandList_BeginQuery(This,pQueryHeap,Index,Type) \
- ( (This)->lpVtbl -> BeginQuery(This,pQueryHeap,Index,Type) )
- #define ID3D12GraphicsCommandList_EndQuery(This,pQueryHeap,Index,Type) \
- ( (This)->lpVtbl -> EndQuery(This,pQueryHeap,Index,Type) )
- #define ID3D12GraphicsCommandList_ResolveQueryData(This,pQueryHeap,Type,StartElement,ElementCount,pDestinationBuffer,AlignedDestinationBufferOffset) \
- ( (This)->lpVtbl -> ResolveQueryData(This,pQueryHeap,Type,StartElement,ElementCount,pDestinationBuffer,AlignedDestinationBufferOffset) )
- #define ID3D12GraphicsCommandList_SetPredication(This,pBuffer,AlignedBufferOffset,Operation) \
- ( (This)->lpVtbl -> SetPredication(This,pBuffer,AlignedBufferOffset,Operation) )
- #define ID3D12GraphicsCommandList_PIXBeginEvent(This,Name) \
- ( (This)->lpVtbl -> PIXBeginEvent(This,Name) )
- #define ID3D12GraphicsCommandList_PIXEndEvent(This) \
- ( (This)->lpVtbl -> PIXEndEvent(This) )
- #define ID3D12GraphicsCommandList_PIXSetMarker(This,Name) \
- ( (This)->lpVtbl -> PIXSetMarker(This,Name) )
- #define ID3D12GraphicsCommandList_PIXGetStatus(This) \
- ( (This)->lpVtbl -> PIXGetStatus(This) )
- #define ID3D12GraphicsCommandList_SetMarkerInt(This,pLabel,Data) \
- ( (This)->lpVtbl -> SetMarkerInt(This,pLabel,Data) )
- #define ID3D12GraphicsCommandList_BeginEventInt(This,pLabel,Data) \
- ( (This)->lpVtbl -> BeginEventInt(This,pLabel,Data) )
- #define ID3D12GraphicsCommandList_EndEvent(This) \
- ( (This)->lpVtbl -> EndEvent(This) )
- #define ID3D12GraphicsCommandList_ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) \
- ( (This)->lpVtbl -> ExecuteIndirect(This,pCommandSignature,MaxCommandCount,pArgumentBuffer,ArgumentBufferOffset,pCountBuffer,CountBufferOffset) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12GraphicsCommandList_INTERFACE_DEFINED__ */
- #ifndef __ID3D12CommandQueue_INTERFACE_DEFINED__
- #define __ID3D12CommandQueue_INTERFACE_DEFINED__
- /* interface ID3D12CommandQueue */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12CommandQueue;
- #if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("c93c8c3d-bf95-441a-b0cd-56ea3c3287f1")
- ID3D12CommandQueue : public ID3D12Pageable
- {
- public:
- virtual void STDMETHODCALLTYPE UpdateTileMappings(
- _In_ ID3D12Resource *pResource,
- UINT NumResourceRegions,
- _In_reads_opt_(NumResourceRegions) const D3D12_TILED_RESOURCE_COORDINATE *pResourceRegionStartCoordinates,
- _In_reads_opt_(NumResourceRegions) const D3D12_TILE_REGION_SIZE *pResourceRegionSizes,
- _In_opt_ ID3D12Heap *pHeap,
- UINT NumRanges,
- _In_reads_opt_(NumRanges) const D3D12_TILE_RANGE_FLAG *pRangeFlags,
- _In_reads_opt_(NumRanges) const UINT *pHeapRangeStartOffsets,
- _In_reads_opt_(NumRanges) const UINT *pRangeTileCounts,
- D3D12_TILE_MAPPING_FLAG Flags) = 0;
- virtual void STDMETHODCALLTYPE CopyTileMappings(
- _In_ ID3D12Resource *pDstResource,
- _In_ const D3D12_TILED_RESOURCE_COORDINATE *pDstRegionStartCoordinate,
- _In_ ID3D12Resource *pSrcResource,
- _In_ const D3D12_TILED_RESOURCE_COORDINATE *pSrcRegionStartCoordinate,
- _In_ const D3D12_TILE_REGION_SIZE *pRegionSize,
- D3D12_TILE_MAPPING_FLAG Flags) = 0;
- virtual void STDMETHODCALLTYPE ExecuteCommandLists(
- _In_ UINT Count,
- _In_reads_(Count) ID3D12CommandList *const *ppCommandLists) = 0;
- virtual INT STDMETHODCALLTYPE PIXBeginEvent(
- _In_z_ LPCWSTR Name) = 0;
- virtual INT STDMETHODCALLTYPE PIXEndEvent( void) = 0;
- virtual void STDMETHODCALLTYPE PIXSetMarker(
- _In_z_ LPCWSTR Name) = 0;
- virtual BOOL STDMETHODCALLTYPE PIXGetStatus( void) = 0;
- virtual HRESULT STDMETHODCALLTYPE Signal(
- ID3D12Fence *pFence,
- UINT64 Value) = 0;
- virtual HRESULT STDMETHODCALLTYPE Wait(
- ID3D12Fence *pFence,
- UINT64 Value) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetTimestampFrequency(
- _Out_ UINT64 *pFrequency) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetClockCalibration(
- _Out_ UINT64 *pGpuTimestamp,
- _Out_ UINT64 *pCpuTimestamp) = 0;
- virtual D3D12_COMMAND_QUEUE_DESC STDMETHODCALLTYPE GetDesc( void) = 0;
- };
- #else /* C style interface */
- typedef struct ID3D12CommandQueueVtbl
- {
- BEGIN_INTERFACE
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12CommandQueue * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12CommandQueue * This);
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12CommandQueue * This);
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12CommandQueue * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12CommandQueue * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12CommandQueue * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12CommandQueue * This,
- _In_z_ LPCWSTR Name);
- HRESULT ( STDMETHODCALLTYPE *GetDevice )(
- ID3D12CommandQueue * This,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvDevice);
- void ( STDMETHODCALLTYPE *UpdateTileMappings )(
- ID3D12CommandQueue * This,
- _In_ ID3D12Resource *pResource,
- UINT NumResourceRegions,
- _In_reads_opt_(NumResourceRegions) const D3D12_TILED_RESOURCE_COORDINATE *pResourceRegionStartCoordinates,
- _In_reads_opt_(NumResourceRegions) const D3D12_TILE_REGION_SIZE *pResourceRegionSizes,
- _In_opt_ ID3D12Heap *pHeap,
- UINT NumRanges,
- _In_reads_opt_(NumRanges) const D3D12_TILE_RANGE_FLAG *pRangeFlags,
- _In_reads_opt_(NumRanges) const UINT *pHeapRangeStartOffsets,
- _In_reads_opt_(NumRanges) const UINT *pRangeTileCounts,
- D3D12_TILE_MAPPING_FLAG Flags);
- void ( STDMETHODCALLTYPE *CopyTileMappings )(
- ID3D12CommandQueue * This,
- _In_ ID3D12Resource *pDstResource,
- _In_ const D3D12_TILED_RESOURCE_COORDINATE *pDstRegionStartCoordinate,
- _In_ ID3D12Resource *pSrcResource,
- _In_ const D3D12_TILED_RESOURCE_COORDINATE *pSrcRegionStartCoordinate,
- _In_ const D3D12_TILE_REGION_SIZE *pRegionSize,
- D3D12_TILE_MAPPING_FLAG Flags);
- void ( STDMETHODCALLTYPE *ExecuteCommandLists )(
- ID3D12CommandQueue * This,
- _In_ UINT Count,
- _In_reads_(Count) ID3D12CommandList *const *ppCommandLists);
- INT ( STDMETHODCALLTYPE *PIXBeginEvent )(
- ID3D12CommandQueue * This,
- _In_z_ LPCWSTR Name);
- INT ( STDMETHODCALLTYPE *PIXEndEvent )(
- ID3D12CommandQueue * This);
- void ( STDMETHODCALLTYPE *PIXSetMarker )(
- ID3D12CommandQueue * This,
- _In_z_ LPCWSTR Name);
- BOOL ( STDMETHODCALLTYPE *PIXGetStatus )(
- ID3D12CommandQueue * This);
- HRESULT ( STDMETHODCALLTYPE *Signal )(
- ID3D12CommandQueue * This,
- ID3D12Fence *pFence,
- UINT64 Value);
- HRESULT ( STDMETHODCALLTYPE *Wait )(
- ID3D12CommandQueue * This,
- ID3D12Fence *pFence,
- UINT64 Value);
- HRESULT ( STDMETHODCALLTYPE *GetTimestampFrequency )(
- ID3D12CommandQueue * This,
- _Out_ UINT64 *pFrequency);
- HRESULT ( STDMETHODCALLTYPE *GetClockCalibration )(
- ID3D12CommandQueue * This,
- _Out_ UINT64 *pGpuTimestamp,
- _Out_ UINT64 *pCpuTimestamp);
- D3D12_COMMAND_QUEUE_DESC ( STDMETHODCALLTYPE *GetDesc )(
- ID3D12CommandQueue * This);
- END_INTERFACE
- } ID3D12CommandQueueVtbl;
- interface ID3D12CommandQueue
- {
- CONST_VTBL struct ID3D12CommandQueueVtbl *lpVtbl;
- };
- #ifdef COBJMACROS
- #define ID3D12CommandQueue_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12CommandQueue_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12CommandQueue_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12CommandQueue_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12CommandQueue_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12CommandQueue_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12CommandQueue_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12CommandQueue_GetDevice(This,riid,ppvDevice) \
- ( (This)->lpVtbl -> GetDevice(This,riid,ppvDevice) )
- #define ID3D12CommandQueue_UpdateTileMappings(This,pResource,NumResourceRegions,pResourceRegionStartCoordinates,pResourceRegionSizes,pHeap,NumRanges,pRangeFlags,pHeapRangeStartOffsets,pRangeTileCounts,Flags) \
- ( (This)->lpVtbl -> UpdateTileMappings(This,pResource,NumResourceRegions,pResourceRegionStartCoordinates,pResourceRegionSizes,pHeap,NumRanges,pRangeFlags,pHeapRangeStartOffsets,pRangeTileCounts,Flags) )
- #define ID3D12CommandQueue_CopyTileMappings(This,pDstResource,pDstRegionStartCoordinate,pSrcResource,pSrcRegionStartCoordinate,pRegionSize,Flags) \
- ( (This)->lpVtbl -> CopyTileMappings(This,pDstResource,pDstRegionStartCoordinate,pSrcResource,pSrcRegionStartCoordinate,pRegionSize,Flags) )
- #define ID3D12CommandQueue_ExecuteCommandLists(This,Count,ppCommandLists) \
- ( (This)->lpVtbl -> ExecuteCommandLists(This,Count,ppCommandLists) )
- #define ID3D12CommandQueue_PIXBeginEvent(This,Name) \
- ( (This)->lpVtbl -> PIXBeginEvent(This,Name) )
- #define ID3D12CommandQueue_PIXEndEvent(This) \
- ( (This)->lpVtbl -> PIXEndEvent(This) )
- #define ID3D12CommandQueue_PIXSetMarker(This,Name) \
- ( (This)->lpVtbl -> PIXSetMarker(This,Name) )
- #define ID3D12CommandQueue_PIXGetStatus(This) \
- ( (This)->lpVtbl -> PIXGetStatus(This) )
- #define ID3D12CommandQueue_Signal(This,pFence,Value) \
- ( (This)->lpVtbl -> Signal(This,pFence,Value) )
- #define ID3D12CommandQueue_Wait(This,pFence,Value) \
- ( (This)->lpVtbl -> Wait(This,pFence,Value) )
- #define ID3D12CommandQueue_GetTimestampFrequency(This,pFrequency) \
- ( (This)->lpVtbl -> GetTimestampFrequency(This,pFrequency) )
- #define ID3D12CommandQueue_GetClockCalibration(This,pGpuTimestamp,pCpuTimestamp) \
- ( (This)->lpVtbl -> GetClockCalibration(This,pGpuTimestamp,pCpuTimestamp) )
- #define ID3D12CommandQueue_GetDesc(This) \
- ( (This)->lpVtbl -> GetDesc(This) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12CommandQueue_INTERFACE_DEFINED__ */
- #ifndef __ID3D12Device_INTERFACE_DEFINED__
- #define __ID3D12Device_INTERFACE_DEFINED__
- /* interface ID3D12Device */
- /* [unique][local][object][uuid] */
- EXTERN_C const IID IID_ID3D12Device;
- #if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("d0a3ba20-b46d-468b-911b-071fe10e0bcd")
- ID3D12Device : public ID3D12Object
- {
- public:
- virtual UINT STDMETHODCALLTYPE GetNodeCount( void) = 0;
- virtual HRESULT STDMETHODCALLTYPE CreateCommandQueue(
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue) = 0;
- virtual HRESULT STDMETHODCALLTYPE CreateCommandAllocator(
- _In_ D3D12_COMMAND_LIST_TYPE type,
- REFIID riid,
- _COM_Outptr_ void **ppCommandAllocator) = 0;
- virtual HRESULT STDMETHODCALLTYPE CreateGraphicsPipelineState(
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState) = 0;
- virtual HRESULT STDMETHODCALLTYPE CreateComputePipelineState(
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState) = 0;
- virtual HRESULT STDMETHODCALLTYPE CreateCommandList(
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ ID3D12CommandAllocator *pCommandAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList) = 0;
- virtual HRESULT STDMETHODCALLTYPE CheckFeatureSupport(
- D3D12_FEATURE Feature,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize) = 0;
- virtual HRESULT STDMETHODCALLTYPE CreateDescriptorHeap(
- _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap) = 0;
- virtual UINT STDMETHODCALLTYPE GetDescriptorHandleIncrementSize(
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType) = 0;
- virtual HRESULT STDMETHODCALLTYPE CreateRootSignature(
- _In_ UINT nodeMask,
- _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
- _In_ SIZE_T blobLengthInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppvRootSignature) = 0;
- virtual void STDMETHODCALLTYPE CreateConstantBufferView(
- _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
- virtual void STDMETHODCALLTYPE CreateShaderResourceView(
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
- virtual void STDMETHODCALLTYPE CreateUnorderedAccessView(
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ ID3D12Resource *pCounterResource,
- _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
- virtual void STDMETHODCALLTYPE CreateRenderTargetView(
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
- virtual void STDMETHODCALLTYPE CreateDepthStencilView(
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
- virtual void STDMETHODCALLTYPE CreateSampler(
- _In_ const D3D12_SAMPLER_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
- virtual void STDMETHODCALLTYPE CopyDescriptors(
- _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
- _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
- _In_ UINT NumDestDescriptorRanges,
- _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
- _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
- _In_ UINT NumSrcDescriptorRanges,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType) = 0;
- virtual void STDMETHODCALLTYPE CopyDescriptorsSimple(
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
- _In_ UINT NumDescriptors,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType) = 0;
- virtual D3D12_RESOURCE_ALLOCATION_INFO STDMETHODCALLTYPE GetResourceAllocationInfo(
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs) = 0;
- virtual D3D12_HEAP_PROPERTIES STDMETHODCALLTYPE GetCustomHeapProperties(
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType) = 0;
- virtual HRESULT STDMETHODCALLTYPE CreateCommittedResource(
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_MISC_FLAG HeapMiscFlags,
- _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
- D3D12_RESOURCE_USAGE InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource) = 0;
- virtual HRESULT STDMETHODCALLTYPE CreateHeap(
- _In_ const D3D12_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap) = 0;
- virtual HRESULT STDMETHODCALLTYPE CreatePlacedResource(
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_USAGE InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource) = 0;
- virtual HRESULT STDMETHODCALLTYPE CreateReservedResource(
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_USAGE InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource) = 0;
- virtual HRESULT STDMETHODCALLTYPE CreateSharedHandle(
- _In_ ID3D12DeviceChild *pObject,
- _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
- DWORD Access,
- _In_opt_ LPCWSTR Name,
- _Out_ HANDLE *pHandle) = 0;
- virtual HRESULT STDMETHODCALLTYPE OpenSharedHandle(
- _In_ HANDLE NTHandle,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvObj) = 0;
- virtual HRESULT STDMETHODCALLTYPE OpenSharedHandleByName(
- _In_ LPCWSTR Name,
- DWORD Access,
- /* [annotation][out] */
- _Out_ HANDLE *pNTHandle) = 0;
- virtual HRESULT STDMETHODCALLTYPE MakeResident(
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects) = 0;
- virtual HRESULT STDMETHODCALLTYPE Evict(
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects) = 0;
- virtual HRESULT STDMETHODCALLTYPE CreateFence(
- UINT64 InitialValue,
- D3D12_FENCE_MISC_FLAG Flags,
- REFIID riid,
- _COM_Outptr_ void **ppFence) = 0;
- virtual D3D12_CREATE_DEVICE_FLAG STDMETHODCALLTYPE GetCreateDeviceFlags( void) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetDeviceRemovedReason( void) = 0;
- virtual void STDMETHODCALLTYPE GetCopyableLayout(
- _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_PITCHED_SUBRESOURCE_DESC *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes) = 0;
- virtual HRESULT STDMETHODCALLTYPE CreateQueryHeap(
- _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap) = 0;
- virtual HRESULT STDMETHODCALLTYPE SetStablePowerState(
- BOOL Enable) = 0;
- virtual HRESULT STDMETHODCALLTYPE CreateCommandSignature(
- _In_ const D3D12_COMMAND_SIGNATURE *pDesc,
- _In_opt_ ID3D12RootSignature *pRootSignature,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvCommandSignature) = 0;
- virtual HRESULT STDMETHODCALLTYPE OfferResources(
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- D3D12_OFFER_RESOURCE_PRIORITY Priority) = 0;
- virtual HRESULT STDMETHODCALLTYPE ReclaimResources(
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _Out_writes_(NumObjects) BOOL *pDiscarded) = 0;
- virtual void STDMETHODCALLTYPE GetResourceTiling(
- _In_ ID3D12Resource *pTiledResource,
- _Out_opt_ UINT *pNumTilesForEntireResource,
- _Out_opt_ D3D12_PACKED_MIP_DESC *pPackedMipDesc,
- _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
- _Inout_opt_ UINT *pNumSubresourceTilings,
- _In_ UINT FirstSubresourceTilingToGet,
- _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips) = 0;
- virtual LUID STDMETHODCALLTYPE GetAdapterLuid( void) = 0;
- };
- #else /* C style interface */
- typedef struct ID3D12DeviceVtbl
- {
- BEGIN_INTERFACE
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ID3D12Device * This,
- REFIID riid,
- _COM_Outptr_ void **ppvObject);
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ID3D12Device * This);
- ULONG ( STDMETHODCALLTYPE *Release )(
- ID3D12Device * This);
- HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
- ID3D12Device * This,
- _In_ REFGUID guid,
- _Inout_ UINT *pDataSize,
- _Out_writes_bytes_opt_( *pDataSize ) void *pData);
- HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
- ID3D12Device * This,
- _In_ REFGUID guid,
- _In_ UINT DataSize,
- _In_reads_bytes_opt_( DataSize ) const void *pData);
- HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
- ID3D12Device * This,
- _In_ REFGUID guid,
- _In_opt_ const IUnknown *pData);
- HRESULT ( STDMETHODCALLTYPE *SetName )(
- ID3D12Device * This,
- _In_z_ LPCWSTR Name);
- UINT ( STDMETHODCALLTYPE *GetNodeCount )(
- ID3D12Device * This);
- HRESULT ( STDMETHODCALLTYPE *CreateCommandQueue )(
- ID3D12Device * This,
- _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppCommandQueue);
- HRESULT ( STDMETHODCALLTYPE *CreateCommandAllocator )(
- ID3D12Device * This,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- REFIID riid,
- _COM_Outptr_ void **ppCommandAllocator);
- HRESULT ( STDMETHODCALLTYPE *CreateGraphicsPipelineState )(
- ID3D12Device * This,
- _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
- HRESULT ( STDMETHODCALLTYPE *CreateComputePipelineState )(
- ID3D12Device * This,
- _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_ void **ppPipelineState);
- HRESULT ( STDMETHODCALLTYPE *CreateCommandList )(
- ID3D12Device * This,
- _In_ UINT nodeMask,
- _In_ D3D12_COMMAND_LIST_TYPE type,
- _In_ ID3D12CommandAllocator *pCommandAllocator,
- _In_opt_ ID3D12PipelineState *pInitialState,
- REFIID riid,
- _COM_Outptr_ void **ppCommandList);
- HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
- ID3D12Device * This,
- D3D12_FEATURE Feature,
- _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
- UINT FeatureSupportDataSize);
- HRESULT ( STDMETHODCALLTYPE *CreateDescriptorHeap )(
- ID3D12Device * This,
- _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
- REFIID riid,
- _COM_Outptr_ void **ppvHeap);
- UINT ( STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize )(
- ID3D12Device * This,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
- HRESULT ( STDMETHODCALLTYPE *CreateRootSignature )(
- ID3D12Device * This,
- _In_ UINT nodeMask,
- _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
- _In_ SIZE_T blobLengthInBytes,
- REFIID riid,
- _COM_Outptr_ void **ppvRootSignature);
- void ( STDMETHODCALLTYPE *CreateConstantBufferView )(
- ID3D12Device * This,
- _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
- void ( STDMETHODCALLTYPE *CreateShaderResourceView )(
- ID3D12Device * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
- void ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
- ID3D12Device * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ ID3D12Resource *pCounterResource,
- _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
- void ( STDMETHODCALLTYPE *CreateRenderTargetView )(
- ID3D12Device * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
- void ( STDMETHODCALLTYPE *CreateDepthStencilView )(
- ID3D12Device * This,
- _In_opt_ ID3D12Resource *pResource,
- _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
- void ( STDMETHODCALLTYPE *CreateSampler )(
- ID3D12Device * This,
- _In_ const D3D12_SAMPLER_DESC *pDesc,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
- void ( STDMETHODCALLTYPE *CopyDescriptors )(
- ID3D12Device * This,
- _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
- _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
- _In_ UINT NumDestDescriptorRanges,
- _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
- _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
- _In_ UINT NumSrcDescriptorRanges,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
- void ( STDMETHODCALLTYPE *CopyDescriptorsSimple )(
- ID3D12Device * This,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
- _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
- _In_ UINT NumDescriptors,
- _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
- D3D12_RESOURCE_ALLOCATION_INFO ( STDMETHODCALLTYPE *GetResourceAllocationInfo )(
- ID3D12Device * This,
- _In_ UINT visibleMask,
- _In_ UINT numResourceDescs,
- _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
- D3D12_HEAP_PROPERTIES ( STDMETHODCALLTYPE *GetCustomHeapProperties )(
- ID3D12Device * This,
- _In_ UINT nodeMask,
- D3D12_HEAP_TYPE heapType);
- HRESULT ( STDMETHODCALLTYPE *CreateCommittedResource )(
- ID3D12Device * This,
- _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
- D3D12_HEAP_MISC_FLAG HeapMiscFlags,
- _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
- D3D12_RESOURCE_USAGE InitialResourceState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riidResource,
- _COM_Outptr_opt_ void **ppvResource);
- HRESULT ( STDMETHODCALLTYPE *CreateHeap )(
- ID3D12Device * This,
- _In_ const D3D12_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
- HRESULT ( STDMETHODCALLTYPE *CreatePlacedResource )(
- ID3D12Device * This,
- _In_ ID3D12Heap *pHeap,
- UINT64 HeapOffset,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_USAGE InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
- HRESULT ( STDMETHODCALLTYPE *CreateReservedResource )(
- ID3D12Device * This,
- _In_ const D3D12_RESOURCE_DESC *pDesc,
- D3D12_RESOURCE_USAGE InitialState,
- _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvResource);
- HRESULT ( STDMETHODCALLTYPE *CreateSharedHandle )(
- ID3D12Device * This,
- _In_ ID3D12DeviceChild *pObject,
- _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
- DWORD Access,
- _In_opt_ LPCWSTR Name,
- _Out_ HANDLE *pHandle);
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandle )(
- ID3D12Device * This,
- _In_ HANDLE NTHandle,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvObj);
- HRESULT ( STDMETHODCALLTYPE *OpenSharedHandleByName )(
- ID3D12Device * This,
- _In_ LPCWSTR Name,
- DWORD Access,
- /* [annotation][out] */
- _Out_ HANDLE *pNTHandle);
- HRESULT ( STDMETHODCALLTYPE *MakeResident )(
- ID3D12Device * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
- HRESULT ( STDMETHODCALLTYPE *Evict )(
- ID3D12Device * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
- HRESULT ( STDMETHODCALLTYPE *CreateFence )(
- ID3D12Device * This,
- UINT64 InitialValue,
- D3D12_FENCE_MISC_FLAG Flags,
- REFIID riid,
- _COM_Outptr_ void **ppFence);
- D3D12_CREATE_DEVICE_FLAG ( STDMETHODCALLTYPE *GetCreateDeviceFlags )(
- ID3D12Device * This);
- HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
- ID3D12Device * This);
- void ( STDMETHODCALLTYPE *GetCopyableLayout )(
- ID3D12Device * This,
- _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 BaseOffset,
- _Out_writes_opt_(NumSubresources) D3D12_PLACED_PITCHED_SUBRESOURCE_DESC *pLayouts,
- _Out_writes_opt_(NumSubresources) UINT *pNumRows,
- _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
- _Out_opt_ UINT64 *pTotalBytes);
- HRESULT ( STDMETHODCALLTYPE *CreateQueryHeap )(
- ID3D12Device * This,
- _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvHeap);
- HRESULT ( STDMETHODCALLTYPE *SetStablePowerState )(
- ID3D12Device * This,
- BOOL Enable);
- HRESULT ( STDMETHODCALLTYPE *CreateCommandSignature )(
- ID3D12Device * This,
- _In_ const D3D12_COMMAND_SIGNATURE *pDesc,
- _In_opt_ ID3D12RootSignature *pRootSignature,
- REFIID riid,
- _COM_Outptr_opt_ void **ppvCommandSignature);
- HRESULT ( STDMETHODCALLTYPE *OfferResources )(
- ID3D12Device * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- D3D12_OFFER_RESOURCE_PRIORITY Priority);
- HRESULT ( STDMETHODCALLTYPE *ReclaimResources )(
- ID3D12Device * This,
- UINT NumObjects,
- _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects,
- _Out_writes_(NumObjects) BOOL *pDiscarded);
- void ( STDMETHODCALLTYPE *GetResourceTiling )(
- ID3D12Device * This,
- _In_ ID3D12Resource *pTiledResource,
- _Out_opt_ UINT *pNumTilesForEntireResource,
- _Out_opt_ D3D12_PACKED_MIP_DESC *pPackedMipDesc,
- _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
- _Inout_opt_ UINT *pNumSubresourceTilings,
- _In_ UINT FirstSubresourceTilingToGet,
- _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
- LUID ( STDMETHODCALLTYPE *GetAdapterLuid )(
- ID3D12Device * This);
- END_INTERFACE
- } ID3D12DeviceVtbl;
- interface ID3D12Device
- {
- CONST_VTBL struct ID3D12DeviceVtbl *lpVtbl;
- };
- #ifdef COBJMACROS
- #define ID3D12Device_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
- #define ID3D12Device_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
- #define ID3D12Device_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
- #define ID3D12Device_GetPrivateData(This,guid,pDataSize,pData) \
- ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
- #define ID3D12Device_SetPrivateData(This,guid,DataSize,pData) \
- ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
- #define ID3D12Device_SetPrivateDataInterface(This,guid,pData) \
- ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
- #define ID3D12Device_SetName(This,Name) \
- ( (This)->lpVtbl -> SetName(This,Name) )
- #define ID3D12Device_GetNodeCount(This) \
- ( (This)->lpVtbl -> GetNodeCount(This) )
- #define ID3D12Device_CreateCommandQueue(This,pDesc,riid,ppCommandQueue) \
- ( (This)->lpVtbl -> CreateCommandQueue(This,pDesc,riid,ppCommandQueue) )
- #define ID3D12Device_CreateCommandAllocator(This,type,riid,ppCommandAllocator) \
- ( (This)->lpVtbl -> CreateCommandAllocator(This,type,riid,ppCommandAllocator) )
- #define ID3D12Device_CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateGraphicsPipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device_CreateComputePipelineState(This,pDesc,riid,ppPipelineState) \
- ( (This)->lpVtbl -> CreateComputePipelineState(This,pDesc,riid,ppPipelineState) )
- #define ID3D12Device_CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) \
- ( (This)->lpVtbl -> CreateCommandList(This,nodeMask,type,pCommandAllocator,pInitialState,riid,ppCommandList) )
- #define ID3D12Device_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) \
- ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) )
- #define ID3D12Device_CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateDescriptorHeap(This,pDescriptorHeapDesc,riid,ppvHeap) )
- #define ID3D12Device_GetDescriptorHandleIncrementSize(This,DescriptorHeapType) \
- ( (This)->lpVtbl -> GetDescriptorHandleIncrementSize(This,DescriptorHeapType) )
- #define ID3D12Device_CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) \
- ( (This)->lpVtbl -> CreateRootSignature(This,nodeMask,pBlobWithRootSignature,blobLengthInBytes,riid,ppvRootSignature) )
- #define ID3D12Device_CreateConstantBufferView(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateConstantBufferView(This,pDesc,DestDescriptor) )
- #define ID3D12Device_CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device_CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pCounterResource,pDesc,DestDescriptor) )
- #define ID3D12Device_CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device_CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,DestDescriptor) )
- #define ID3D12Device_CreateSampler(This,pDesc,DestDescriptor) \
- ( (This)->lpVtbl -> CreateSampler(This,pDesc,DestDescriptor) )
- #define ID3D12Device_CopyDescriptors(This,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumDestDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,NumSrcDescriptorRanges,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptors(This,pDestDescriptorRangeStarts,pDestDescriptorRangeSizes,NumDestDescriptorRanges,pSrcDescriptorRangeStarts,pSrcDescriptorRangeSizes,NumSrcDescriptorRanges,DescriptorHeapsType) )
- #define ID3D12Device_CopyDescriptorsSimple(This,DestDescriptorRangeStart,SrcDescriptorRangeStart,NumDescriptors,DescriptorHeapsType) \
- ( (This)->lpVtbl -> CopyDescriptorsSimple(This,DestDescriptorRangeStart,SrcDescriptorRangeStart,NumDescriptors,DescriptorHeapsType) )
- #define ID3D12Device_GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) \
- ( (This)->lpVtbl -> GetResourceAllocationInfo(This,visibleMask,numResourceDescs,pResourceDescs) )
- #define ID3D12Device_GetCustomHeapProperties(This,nodeMask,heapType) \
- ( (This)->lpVtbl -> GetCustomHeapProperties(This,nodeMask,heapType) )
- #define ID3D12Device_CreateCommittedResource(This,pHeapProperties,HeapMiscFlags,pResourceDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) \
- ( (This)->lpVtbl -> CreateCommittedResource(This,pHeapProperties,HeapMiscFlags,pResourceDesc,InitialResourceState,pOptimizedClearValue,riidResource,ppvResource) )
- #define ID3D12Device_CreateHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateHeap(This,pDesc,riid,ppvHeap) )
- #define ID3D12Device_CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreatePlacedResource(This,pHeap,HeapOffset,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
- #define ID3D12Device_CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) \
- ( (This)->lpVtbl -> CreateReservedResource(This,pDesc,InitialState,pOptimizedClearValue,riid,ppvResource) )
- #define ID3D12Device_CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) \
- ( (This)->lpVtbl -> CreateSharedHandle(This,pObject,pAttributes,Access,Name,pHandle) )
- #define ID3D12Device_OpenSharedHandle(This,NTHandle,riid,ppvObj) \
- ( (This)->lpVtbl -> OpenSharedHandle(This,NTHandle,riid,ppvObj) )
- #define ID3D12Device_OpenSharedHandleByName(This,Name,Access,pNTHandle) \
- ( (This)->lpVtbl -> OpenSharedHandleByName(This,Name,Access,pNTHandle) )
- #define ID3D12Device_MakeResident(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> MakeResident(This,NumObjects,ppObjects) )
- #define ID3D12Device_Evict(This,NumObjects,ppObjects) \
- ( (This)->lpVtbl -> Evict(This,NumObjects,ppObjects) )
- #define ID3D12Device_CreateFence(This,InitialValue,Flags,riid,ppFence) \
- ( (This)->lpVtbl -> CreateFence(This,InitialValue,Flags,riid,ppFence) )
- #define ID3D12Device_GetCreateDeviceFlags(This) \
- ( (This)->lpVtbl -> GetCreateDeviceFlags(This) )
- #define ID3D12Device_GetDeviceRemovedReason(This) \
- ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
- #define ID3D12Device_GetCopyableLayout(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) \
- ( (This)->lpVtbl -> GetCopyableLayout(This,pResourceDesc,FirstSubresource,NumSubresources,BaseOffset,pLayouts,pNumRows,pRowSizeInBytes,pTotalBytes) )
- #define ID3D12Device_CreateQueryHeap(This,pDesc,riid,ppvHeap) \
- ( (This)->lpVtbl -> CreateQueryHeap(This,pDesc,riid,ppvHeap) )
- #define ID3D12Device_SetStablePowerState(This,Enable) \
- ( (This)->lpVtbl -> SetStablePowerState(This,Enable) )
- #define ID3D12Device_CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) \
- ( (This)->lpVtbl -> CreateCommandSignature(This,pDesc,pRootSignature,riid,ppvCommandSignature) )
- #define ID3D12Device_OfferResources(This,NumObjects,ppObjects,Priority) \
- ( (This)->lpVtbl -> OfferResources(This,NumObjects,ppObjects,Priority) )
- #define ID3D12Device_ReclaimResources(This,NumObjects,ppObjects,pDiscarded) \
- ( (This)->lpVtbl -> ReclaimResources(This,NumObjects,ppObjects,pDiscarded) )
- #define ID3D12Device_GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) \
- ( (This)->lpVtbl -> GetResourceTiling(This,pTiledResource,pNumTilesForEntireResource,pPackedMipDesc,pStandardTileShapeForNonPackedMips,pNumSubresourceTilings,FirstSubresourceTilingToGet,pSubresourceTilingsForNonPackedMips) )
- #define ID3D12Device_GetAdapterLuid(This) \
- ( (This)->lpVtbl -> GetAdapterLuid(This) )
- #endif /* COBJMACROS */
- #endif /* C style interface */
- #endif /* __ID3D12Device_INTERFACE_DEFINED__ */
- /* interface __MIDL_itf_d3d12_0000_0017 */
- /* [local] */
- typedef struct D3D12_SUBRESOURCE_DATA
- {
- const void *pData;
- LONG_PTR RowPitch;
- LONG_PTR SlicePitch;
- } D3D12_SUBRESOURCE_DATA;
- typedef struct D3D12_MEMCPY_DEST
- {
- void *pData;
- SIZE_T RowPitch;
- SIZE_T SlicePitch;
- } D3D12_MEMCPY_DEST;
- #if !defined( D3D12_NO_HELPERS ) && defined( __cplusplus )
- }
- // Row-by-row memcpy
- inline void MemcpySubresource(
- const D3D12_MEMCPY_DEST* pDest,
- const D3D12_SUBRESOURCE_DATA* pSrc,
- SIZE_T RowSizeInBytes,
- UINT NumRows,
- UINT NumSlices)
- {
- for (UINT z = 0; z < NumSlices; ++z)
- {
- BYTE* pDestSlice = reinterpret_cast<BYTE*>(pDest->pData) + pDest->SlicePitch * z;
- const BYTE* pSrcSlice = reinterpret_cast<const BYTE*>(pSrc->pData) + pSrc->SlicePitch * z;
- for (UINT y = 0; y < NumRows; ++y)
- {
- memcpy(pDestSlice + pDest->RowPitch * y,
- pSrcSlice + pSrc->RowPitch * y,
- RowSizeInBytes);
- }
- }
- }
- // Returns required size of a buffer to be used for data upload
- inline UINT64 GetRequiredIntermediateSize(
- _In_ ID3D12Resource* pDestinationResource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources)
- {
- D3D12_RESOURCE_DESC Desc = pDestinationResource->GetDesc();
- UINT64 RequiredSize = 0;
- ID3D12Device* pDevice;
- pDestinationResource->GetDevice(__uuidof(*pDevice), reinterpret_cast<void**>(&pDevice));
- pDevice->GetCopyableLayout(&Desc, FirstSubresource, NumSubresources, 0, nullptr, nullptr, nullptr, &RequiredSize);
- pDevice->Release();
- return RequiredSize;
- }
- // All arrays must be populated (e.g. by calling GetCopyableLayout)
- inline UINT64 UpdateSubresources(
- _In_ ID3D12GraphicsCommandList* pCmdList,
- _In_ ID3D12Resource* pDestinationResource,
- _In_ ID3D12Resource* pIntermediate,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- UINT64 RequiredSize,
- _In_reads_(NumSubresources) const D3D12_PLACED_PITCHED_SUBRESOURCE_DESC* pLayouts,
- _In_reads_(NumSubresources) const UINT* pNumRows,
- _In_reads_(NumSubresources) const UINT64* pRowSizesInBytes,
- _In_reads_(NumSubresources) const D3D12_SUBRESOURCE_DATA* pSrcData)
- {
- // Minor validation
- D3D12_RESOURCE_DESC IntermediateDesc = pIntermediate->GetDesc();
- D3D12_RESOURCE_DESC DestinationDesc = pDestinationResource->GetDesc();
- if (IntermediateDesc.Dimension != D3D12_RESOURCE_DIMENSION_BUFFER ||
- IntermediateDesc.Width < RequiredSize + pLayouts[0].Offset ||
- RequiredSize > (SIZE_T)-1 ||
- (DestinationDesc.Dimension == D3D12_RESOURCE_DIMENSION_BUFFER &&
- (FirstSubresource != 0 || NumSubresources != 1)))
- {
- return 0;
- }
- BYTE* pData;
- HRESULT hr = pIntermediate->Map(0, NULL, reinterpret_cast<void**>(&pData));
- if (FAILED(hr))
- {
- return 0;
- }
- for (UINT i = 0; i < NumSubresources; ++i)
- {
- if (pRowSizesInBytes[i] > (SIZE_T)-1) return 0;
- D3D12_MEMCPY_DEST DestData = { pData + pLayouts[i].Offset, pLayouts[i].Placement.RowPitch, pLayouts[i].Placement.RowPitch * pNumRows[i] };
- MemcpySubresource(&DestData, &pSrcData[i], (SIZE_T)pRowSizesInBytes[i], pNumRows[i], pLayouts[i].Placement.Depth);
- }
- pIntermediate->Unmap(0, NULL);
- if (DestinationDesc.Dimension == D3D12_RESOURCE_DIMENSION_BUFFER)
- {
- CD3D12_BOX SrcBox( UINT( pLayouts[0].Offset ), UINT( pLayouts[0].Offset + pLayouts[0].Placement.Width ) );
- pCmdList->CopyBufferRegion(
- pDestinationResource, 0, pIntermediate, pLayouts[0].Offset, pLayouts[0].Placement.Width, D3D12_COPY_NO_OVERWRITE);
- }
- else
- {
- for (UINT i = 0; i < NumSubresources; ++i)
- {
- CD3D12_TEXTURE_COPY_LOCATION Dst(pDestinationResource, i + FirstSubresource);
- CD3D12_TEXTURE_COPY_LOCATION Src(pIntermediate, pLayouts[i]);
- pCmdList->CopyTextureRegion(&Dst, 0, 0, 0, &Src, nullptr, D3D12_COPY_NO_OVERWRITE);
- }
- }
- return RequiredSize;
- }
- // Heap-allocating UpdateSubresources implementation
- inline UINT64 UpdateSubresources(
- _In_ ID3D12GraphicsCommandList* pCmdList,
- _In_ ID3D12Resource* pDestinationResource,
- _In_ ID3D12Resource* pIntermediate,
- UINT64 IntermediateOffset,
- _In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
- _In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources,
- _In_reads_(NumSubresources) D3D12_SUBRESOURCE_DATA* pSrcData)
- {
- UINT64 RequiredSize = 0;
- D3D12_PLACED_PITCHED_SUBRESOURCE_DESC* pLayouts = new D3D12_PLACED_PITCHED_SUBRESOURCE_DESC[NumSubresources];
- UINT* pNumRows = new UINT[NumSubresources];
- UINT64* pRowSizesInBytes = new UINT64[NumSubresources];
- D3D12_RESOURCE_DESC Desc = pDestinationResource->GetDesc();
- ID3D12Device* pDevice;
- pDestinationResource->GetDevice(__uuidof(*pDevice), reinterpret_cast<void**>(&pDevice));
- pDevice->GetCopyableLayout(&Desc, FirstSubresource, NumSubresources, IntermediateOffset, pLayouts, pNumRows, pRowSizesInBytes, &RequiredSize);
- pDevice->Release();
- UINT64 Result = UpdateSubresources(pCmdList, pDestinationResource, pIntermediate, FirstSubresource, NumSubresources, RequiredSize, pLayouts, pNumRows, pRowSizesInBytes, pSrcData);
- delete[] pLayouts;
- delete[] pNumRows;
- delete[] pRowSizesInBytes;
- return Result;
- }
- // Stack-allocating UpdateSubresources implementation
- template <UINT MaxSubresources>
- inline UINT64 UpdateSubresources(
- _In_ ID3D12GraphicsCommandList* pCmdList,
- _In_ ID3D12Resource* pDestinationResource,
- _In_ ID3D12Resource* pIntermediate,
- UINT64 IntermediateOffset,
- _In_range_(0, MaxSubresources) UINT FirstSubresource,
- _In_range_(1, MaxSubresources - FirstSubresource) UINT NumSubresources,
- _In_reads_(NumSubresources) D3D12_SUBRESOURCE_DATA* pSrcData)
- {
- UINT64 RequiredSize = 0;
- D3D12_PLACED_PITCHED_SUBRESOURCE_DESC Layouts[MaxSubresources];
- UINT NumRows[MaxSubresources];
- UINT64 RowSizesInBytes[MaxSubresources];
- D3D12_RESOURCE_DESC Desc = pDestinationResource->GetDesc();
- ID3D12Device* pDevice;
- pDestinationResource->GetDevice(__uuidof(*pDevice), reinterpret_cast<void**>(&pDevice));
- pDevice->GetCopyableLayout(&Desc, FirstSubresource, NumSubresources, IntermediateOffset, Layouts, NumRows, RowSizesInBytes, &RequiredSize);
- pDevice->Release();
- return UpdateSubresources(pCmdList, pDestinationResource, pIntermediate, FirstSubresource, NumSubresources, RequiredSize, Layouts, NumRows, RowSizesInBytes, pSrcData);
- }
- extern "C"{
- #endif
- #if !defined( D3D12_IGNORE_SDK_LAYERS )
- #include "d3d12sdklayers.h"
- #endif
- ///////////////////////////////////////////////////////////////////////////
- // D3D12CreateDevice
- // ------------------
- //
- // pAdapter
- // If NULL, D3D12CreateDevice will choose the primary adapter and
- // create a new instance from a temporarily created IDXGIFactory.
- // If non-NULL, D3D12CreateDevice will use the provided adapter.
- // DriverType
- // Specifies the driver type to be created: hardware or WARP
- // Flags
- // Combinations of D3D12_CREATE_DEVICE_FLAG bits.
- // MinimumFeatureLevel
- // The minimum feature level required for successful device creation.
- // SDKVersion
- // SDK version. Use the D3D12_SDK_VERSION macro.
- // riid
- // The interface IID of the device to be returned. Expected: ID3D12Device.
- // ppDevice
- // Pointer to returned interface. May be NULL.
- // pFeatureLevel
- // Pointer to returned feature level. May be NULL.
- //
- // Return Values
- // Any of those documented for
- // CreateDXGIFactory1
- // IDXGIFactory::EnumAdapters
- // D3D12CreateDevice
- //
- ///////////////////////////////////////////////////////////////////////////
- typedef HRESULT (WINAPI* PFN_D3D12_CREATE_DEVICE)( _In_opt_ IDXGIAdapter*,
- D3D_DRIVER_TYPE, D3D12_CREATE_DEVICE_FLAG,
- D3D_FEATURE_LEVEL,
- UINT, _In_ REFIID, _COM_Outptr_opt_ void** );
- HRESULT WINAPI D3D12CreateDevice(
- _In_opt_ IDXGIAdapter* pAdapter,
- D3D_DRIVER_TYPE DriverType,
- D3D12_CREATE_DEVICE_FLAG Flags,
- D3D_FEATURE_LEVEL MinimumFeatureLevel,
- UINT SDKVersion,
- _In_ REFIID riid, // Expected: ID3D12Device
- _COM_Outptr_opt_ void** ppDevice );
- #if !defined( D3D12_NO_HELPERS ) && defined( __cplusplus )
- inline ID3D12CommandList * const * CommandListCast(ID3D12GraphicsCommandList * const * pp)
- {
- // This cast is useful for passing strongly typed command list pointers into
- // ExecuteCommandLists.
- // This cast is valid as long as the const-ness is respected. D3D12 APIs do
- // respect the const-ness of their arguments.
- return reinterpret_cast<ID3D12CommandList * const *>(pp);
- }
- #endif
- #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
- #pragma endregion
- DEFINE_GUID(IID_ID3D12Object,0xc4fec28f,0x7966,0x4e95,0x9f,0x94,0xf4,0x31,0xcb,0x56,0xc3,0xb8);
- DEFINE_GUID(IID_ID3D12DeviceChild,0x905db94b,0xa00c,0x4140,0x9d,0xf5,0x2b,0x64,0xca,0x9e,0xa3,0x57);
- DEFINE_GUID(IID_ID3D12RootSignature,0xc54a6b66,0x72df,0x4ee8,0x8b,0xe5,0xa9,0x46,0xa1,0x42,0x92,0x14);
- DEFINE_GUID(IID_ID3D12RootSignatureDeserializer,0x34AB647B,0x3CC8,0x46AC,0x84,0x1B,0xC0,0x96,0x56,0x45,0xC0,0x46);
- DEFINE_GUID(IID_ID3D12Pageable,0x63ee58fb,0x1268,0x4835,0x86,0xda,0xf0,0x08,0xce,0x62,0xf0,0xd6);
- DEFINE_GUID(IID_ID3D12Heap,0x6b3b2502,0x6e51,0x45b3,0x90,0xee,0x98,0x84,0x26,0x5e,0x8d,0xf3);
- DEFINE_GUID(IID_ID3D12Resource,0x696442be,0xa72e,0x4059,0xbc,0x79,0x5b,0x5c,0x98,0x04,0x0f,0xad);
- DEFINE_GUID(IID_ID3D12CommandAllocator,0x6102dee4,0xaf59,0x4b09,0xb9,0x99,0xb4,0x4d,0x73,0xf0,0x9b,0x24);
- DEFINE_GUID(IID_ID3D12Fence,0x0a753dcf,0xc4d8,0x4b91,0xad,0xf6,0xbe,0x5a,0x60,0xd9,0x5a,0x76);
- DEFINE_GUID(IID_ID3D12PipelineState,0x765a30f3,0xf624,0x4c6f,0xa8,0x28,0xac,0xe9,0x48,0x62,0x24,0x45);
- DEFINE_GUID(IID_ID3D12DescriptorHeap,0x8efb471d,0x616c,0x4f49,0x90,0xf7,0x12,0x7b,0xb7,0x63,0xfa,0x51);
- DEFINE_GUID(IID_ID3D12QueryHeap,0x0d9658ae,0xed45,0x469e,0xa6,0x1d,0x97,0x0e,0xc5,0x83,0xca,0xb4);
- DEFINE_GUID(IID_ID3D12CommandSignature,0xc36a797c,0xec80,0x4f0a,0x89,0x85,0xa7,0xb2,0x47,0x50,0x82,0xd1);
- DEFINE_GUID(IID_ID3D12CommandList,0x7116d91c,0xe7e4,0x47ce,0xb8,0xc6,0xec,0x81,0x68,0xf4,0x37,0xe5);
- DEFINE_GUID(IID_ID3D12GraphicsCommandList,0xd60db31f,0xef2c,0x4914,0xbc,0xd8,0x25,0x07,0xf2,0x93,0xc8,0x3a);
- DEFINE_GUID(IID_ID3D12CommandQueue,0xc93c8c3d,0xbf95,0x441a,0xb0,0xcd,0x56,0xea,0x3c,0x32,0x87,0xf1);
- DEFINE_GUID(IID_ID3D12Device,0xd0a3ba20,0xb46d,0x468b,0x91,0x1b,0x07,0x1f,0xe1,0x0e,0x0b,0xcd);
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0017_v0_0_c_ifspec;
- extern RPC_IF_HANDLE __MIDL_itf_d3d12_0000_0017_v0_0_s_ifspec;
- /* Additional Prototypes for ALL interfaces */
- /* end of Additional Prototypes */
- #ifdef __cplusplus
- }
- #endif
- #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement